@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
|
@@ -20,13 +20,24 @@
|
|
|
20
20
|
* Constructor takes `rootDir`; migration to the canonical `.namzu/projects/`
|
|
21
21
|
* path lives in Phase 7 of the overall roadmap.
|
|
22
22
|
*/
|
|
23
|
-
import { appendFile, mkdir, readFile,
|
|
23
|
+
import { appendFile, mkdir, readFile, rm } from 'node:fs/promises';
|
|
24
24
|
import { join } from 'node:path';
|
|
25
|
-
import { StaleProjectError, StaleSessionError, TenantIsolationError } from '../../session/errors.js';
|
|
25
|
+
import { ProjectRootPathTakenError, StaleProjectError, StaleSessionError, TenantIsolationError, } from '../../session/errors.js';
|
|
26
26
|
import { SessionAlreadySummarizedError } from '../../session/summary/errors.js';
|
|
27
|
-
import { atomicWriteFile } from '../../utils/atomic-write.js';
|
|
28
27
|
import { generateMessageId, generateProjectId, generateSessionId, generateSubSessionId, } from '../../utils/id.js';
|
|
28
|
+
import { DiskRecordStore } from '../kv/record-store.js';
|
|
29
|
+
// and directly, for the append-only `messages.jsonl` path
|
|
30
|
+
// alone: each line there is a whole record carrying its own stamp, because a
|
|
31
|
+
// log is written by many builds over its lifetime and its lines can
|
|
32
|
+
// legitimately differ in version. Every RECORD read and write goes through
|
|
33
|
+
// `records` above instead.
|
|
34
|
+
// `migrate` and `stamp` are imported directly for the append-only
|
|
35
|
+
// `messages.jsonl` path ALONE: each line there is a whole record carrying
|
|
36
|
+
// its own stamp, because a log is written by many builds over its lifetime
|
|
37
|
+
// and its lines can legitimately differ in version. Every RECORD read and
|
|
38
|
+
// write goes through the `records` primitive below instead.
|
|
29
39
|
import { defineSchema, migrate, stamp } from '../schema.js';
|
|
40
|
+
import { canonicalizePath, rootPathIndexKey } from './canonical-path.js';
|
|
30
41
|
import { getAncestry, getChildren, orderChildren } from './linkage.js';
|
|
31
42
|
/**
|
|
32
43
|
* This store's on-disk format, versioned as a unit — which is how a
|
|
@@ -36,7 +47,78 @@ import { getAncestry, getChildren, orderChildren } from './linkage.js';
|
|
|
36
47
|
* Bump `current` and add the migration for the step you are leaving when
|
|
37
48
|
* the shape changes.
|
|
38
49
|
*/
|
|
39
|
-
const SCHEMA = defineSchema({
|
|
50
|
+
const SCHEMA = defineSchema({
|
|
51
|
+
kind: 'session-store',
|
|
52
|
+
current: 3,
|
|
53
|
+
migrations: {
|
|
54
|
+
1: migrateSessionStoreThreadIdToTopicId,
|
|
55
|
+
2: migrateSessionStoreTopicIdPrefix,
|
|
56
|
+
},
|
|
57
|
+
});
|
|
58
|
+
/**
|
|
59
|
+
* Read, write and list, through the one implementation.
|
|
60
|
+
*
|
|
61
|
+
* This file carried its own `readJson`, its own `atomicWriteJson` and
|
|
62
|
+
* thirteen `readdir` scans — the same twenty lines four stores each kept a
|
|
63
|
+
* private copy of. The properties are not obvious ones (a missing file is
|
|
64
|
+
* an empty read, a record from a NEWER build is refused rather than read
|
|
65
|
+
* partially and written back with the difference gone, a listing needs a
|
|
66
|
+
* stable order), and every one fixed here had to be remembered into the
|
|
67
|
+
* other three.
|
|
68
|
+
*
|
|
69
|
+
* Deliberately NOT converted: the append-only session event log and
|
|
70
|
+
* `messages.jsonl`. Those are log-shaped, not record-shaped — each line is
|
|
71
|
+
* a whole record and append IS the write-safety primitive — so forcing them
|
|
72
|
+
* through a record store would be a worse fit than the duplication it
|
|
73
|
+
* removes.
|
|
74
|
+
*/
|
|
75
|
+
const records = new DiskRecordStore(SCHEMA);
|
|
76
|
+
/**
|
|
77
|
+
* v2 → v3: NZ-TOPIC-04 narrows the Topic id prefix from `thd_` to `top_`.
|
|
78
|
+
* The FIELD is already `topicId` (the v1→v2 step above handled that); this
|
|
79
|
+
* step rewrites only the VALUE, and only when it still carries the old
|
|
80
|
+
* prefix — a record already at v3, or one that just arrived here via the
|
|
81
|
+
* v1→v2 step in the same `migrate()` call, has `topicId` starting `top_`
|
|
82
|
+
* (or `thd_`, freshly renamed from `threadId` — this step runs on it next
|
|
83
|
+
* in the same pass) either way, and the check below is what makes running
|
|
84
|
+
* it on an already-correct value a same-object no-op rather than a
|
|
85
|
+
* needless copy. Same one-function-runs-over-every-kind shape as its
|
|
86
|
+
* v1→v2 sibling: only `PersistedSession.topicId` is ever `thd_`-prefixed,
|
|
87
|
+
* so every other kind this schema stamps (project.json, subsession.json,
|
|
88
|
+
* summary.json, each messages.jsonl line) has no `topicId` key and comes
|
|
89
|
+
* back untouched.
|
|
90
|
+
*/
|
|
91
|
+
export function migrateSessionStoreTopicIdPrefix(record) {
|
|
92
|
+
const topicId = record.topicId;
|
|
93
|
+
if (typeof topicId !== 'string' || !topicId.startsWith('thd_'))
|
|
94
|
+
return record;
|
|
95
|
+
return { ...record, topicId: `top_${topicId.slice('thd_'.length)}` };
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* v1 → v2: the FK field `session.json` carries to its owning Topic was
|
|
99
|
+
* spelled `threadId`. NZ-TOPIC-01 renamed the layer, not the field
|
|
100
|
+
* (comment on `types/topic/store.ts`); NZ-TOPIC-03 is that rename landing,
|
|
101
|
+
* with this as its data migration.
|
|
102
|
+
*
|
|
103
|
+
* One migration function runs over every kind this schema stamps —
|
|
104
|
+
* project.json, session.json, subsession.json, summary.json, and each
|
|
105
|
+
* `messages.jsonl` line — via the single shared `readJson` / `migrate`
|
|
106
|
+
* call. Only `PersistedSession` ever carried `threadId`; an unconditional
|
|
107
|
+
* rewrite here would stamp `topicId: undefined` onto the other three kinds
|
|
108
|
+
* and onto every message line ever written. Exported, not module-private,
|
|
109
|
+
* so that guarantee is unit-testable directly against the function rather
|
|
110
|
+
* than only observable through whichever deserializer happens to forward
|
|
111
|
+
* an extra field today (most of them don't — they map named fields, which
|
|
112
|
+
* is exactly why a stray key here would otherwise go unnoticed). NOT part
|
|
113
|
+
* of the package's public surface: `store/session/index.ts` re-exports
|
|
114
|
+
* `DiskSessionStore` by explicit name only, no wildcard.
|
|
115
|
+
*/
|
|
116
|
+
export function migrateSessionStoreThreadIdToTopicId(record) {
|
|
117
|
+
if (!('threadId' in record))
|
|
118
|
+
return record;
|
|
119
|
+
const { threadId, ...rest } = record;
|
|
120
|
+
return { ...rest, topicId: threadId };
|
|
121
|
+
}
|
|
40
122
|
/**
|
|
41
123
|
* Non-terminal statuses from which {@link DiskSessionStore.recordSummary}
|
|
42
124
|
* flips the owning session to `'idle'` as part of the atomic materialize +
|
|
@@ -63,6 +145,13 @@ export class DiskSessionStore {
|
|
|
63
145
|
resource: `project(name=${params.name})`,
|
|
64
146
|
});
|
|
65
147
|
}
|
|
148
|
+
const rootPath = params.rootPath === undefined ? undefined : await canonicalizePath(params.rootPath);
|
|
149
|
+
if (rootPath !== undefined) {
|
|
150
|
+
const existing = await this.findProjectByRootPath(rootPath, tenantId);
|
|
151
|
+
if (existing) {
|
|
152
|
+
throw new ProjectRootPathTakenError({ rootPath, existingProjectId: existing.id });
|
|
153
|
+
}
|
|
154
|
+
}
|
|
66
155
|
const now = new Date();
|
|
67
156
|
const project = {
|
|
68
157
|
id: generateProjectId(),
|
|
@@ -75,18 +164,46 @@ export class DiskSessionStore {
|
|
|
75
164
|
},
|
|
76
165
|
status: 'open',
|
|
77
166
|
ownerVersion: 0,
|
|
167
|
+
...(rootPath !== undefined ? { rootPath } : {}),
|
|
78
168
|
createdAt: now,
|
|
79
169
|
updatedAt: now,
|
|
80
170
|
};
|
|
81
171
|
const dir = join(this.rootDir, 'projects', project.id);
|
|
82
172
|
await mkdir(dir, { recursive: true });
|
|
83
|
-
await
|
|
173
|
+
await records.write(join(dir, 'project.json'), serializeProject(project));
|
|
84
174
|
this.projectIndex.set(project.id, { projectId: project.id, path: dir });
|
|
175
|
+
if (rootPath !== undefined)
|
|
176
|
+
await this.writeRootPathIndex(rootPath, tenantId, project.id);
|
|
85
177
|
return project;
|
|
86
178
|
}
|
|
179
|
+
/**
|
|
180
|
+
* Reads ONE index file. Not a scan of `projects/*` — that opens every
|
|
181
|
+
* `project.json` on the machine to answer a question about one
|
|
182
|
+
* directory, and gets slower with every project a host has ever made.
|
|
183
|
+
*/
|
|
184
|
+
async findProjectByRootPath(rootPath, tenantId) {
|
|
185
|
+
const canonical = await canonicalizePath(rootPath);
|
|
186
|
+
const index = await records.read(this.rootPathIndexPath());
|
|
187
|
+
// Tenant is part of the KEY, not a filter applied after the lookup.
|
|
188
|
+
// Two tenants may bind projects to the same path on a shared machine,
|
|
189
|
+
// and a path-only key would hand one of them the other's project.
|
|
190
|
+
const projectId = index?.[rootPathIndexKey(canonical, tenantId)];
|
|
191
|
+
if (!projectId)
|
|
192
|
+
return null;
|
|
193
|
+
return await this.getProject(projectId, tenantId);
|
|
194
|
+
}
|
|
195
|
+
rootPathIndexPath() {
|
|
196
|
+
return join(this.rootDir, 'projects', 'root-path-index.json');
|
|
197
|
+
}
|
|
198
|
+
async writeRootPathIndex(rootPath, tenantId, projectId) {
|
|
199
|
+
const path = this.rootPathIndexPath();
|
|
200
|
+
const index = (await records.read(path)) ?? {};
|
|
201
|
+
index[rootPathIndexKey(rootPath, tenantId)] = projectId;
|
|
202
|
+
await records.write(path, index);
|
|
203
|
+
}
|
|
87
204
|
async getProject(projectId, tenantId) {
|
|
88
205
|
const dir = this.projectDir(projectId);
|
|
89
|
-
const raw = await
|
|
206
|
+
const raw = await records.read(join(dir, 'project.json'));
|
|
90
207
|
if (!raw)
|
|
91
208
|
return null;
|
|
92
209
|
this.assertTenant(raw.tenantId, tenantId, `project(${projectId})`);
|
|
@@ -111,7 +228,7 @@ export class DiskSessionStore {
|
|
|
111
228
|
},
|
|
112
229
|
updatedAt: new Date(),
|
|
113
230
|
};
|
|
114
|
-
await
|
|
231
|
+
await records.write(join(this.projectDir(projectId), 'project.json'), serializeProject(project));
|
|
115
232
|
return project;
|
|
116
233
|
}
|
|
117
234
|
async setProjectStatus(projectId, status, tenantId, expectedOwnerVersion) {
|
|
@@ -132,7 +249,7 @@ export class DiskSessionStore {
|
|
|
132
249
|
ownerVersion: existing.ownerVersion + 1,
|
|
133
250
|
updatedAt: new Date(),
|
|
134
251
|
};
|
|
135
|
-
await
|
|
252
|
+
await records.write(join(this.projectDir(projectId), 'project.json'), serializeProject(project));
|
|
136
253
|
return project;
|
|
137
254
|
}
|
|
138
255
|
async listProjects(tenantId) {
|
|
@@ -142,16 +259,10 @@ export class DiskSessionStore {
|
|
|
142
259
|
// process — which for a store whose whole point is durability is the
|
|
143
260
|
// wrong answer.
|
|
144
261
|
const projectsRoot = join(this.rootDir, 'projects');
|
|
145
|
-
|
|
146
|
-
try {
|
|
147
|
-
entries = await readdir(projectsRoot);
|
|
148
|
-
}
|
|
149
|
-
catch {
|
|
150
|
-
return [];
|
|
151
|
-
}
|
|
262
|
+
const entries = await records.scanNames(projectsRoot, '');
|
|
152
263
|
const found = [];
|
|
153
264
|
for (const entry of entries) {
|
|
154
|
-
const raw = await
|
|
265
|
+
const raw = await records.read(join(projectsRoot, entry, 'project.json'));
|
|
155
266
|
if (!raw)
|
|
156
267
|
continue;
|
|
157
268
|
// Another tenant's project is absent, not an error — a listing is a
|
|
@@ -176,7 +287,7 @@ export class DiskSessionStore {
|
|
|
176
287
|
const now = new Date();
|
|
177
288
|
const session = {
|
|
178
289
|
id: generateSessionId(),
|
|
179
|
-
|
|
290
|
+
topicId: params.topicId,
|
|
180
291
|
projectId: params.projectId,
|
|
181
292
|
tenantId,
|
|
182
293
|
status: 'idle',
|
|
@@ -189,7 +300,7 @@ export class DiskSessionStore {
|
|
|
189
300
|
};
|
|
190
301
|
const dir = join(this.projectDir(params.projectId), 'sessions', session.id);
|
|
191
302
|
await mkdir(dir, { recursive: true });
|
|
192
|
-
await
|
|
303
|
+
await records.write(join(dir, 'session.json'), serializeSession(session));
|
|
193
304
|
this.sessionIndex.set(session.id, {
|
|
194
305
|
sessionId: session.id,
|
|
195
306
|
projectId: params.projectId,
|
|
@@ -201,58 +312,49 @@ export class DiskSessionStore {
|
|
|
201
312
|
const located = await this.locateSession(sessionId);
|
|
202
313
|
if (!located)
|
|
203
314
|
return null;
|
|
204
|
-
const raw = await
|
|
315
|
+
const raw = await records.read(join(located.path, 'session.json'));
|
|
205
316
|
if (!raw)
|
|
206
317
|
return null;
|
|
207
318
|
this.assertTenant(raw.tenantId, tenantId, `session(${sessionId})`);
|
|
208
319
|
return deserializeSession(raw);
|
|
209
320
|
}
|
|
210
|
-
async
|
|
321
|
+
async listSessionsByTopic(topicId, tenantId) {
|
|
211
322
|
// Walk projects/*/sessions/* and filter on the persisted record. Sessions
|
|
212
|
-
// don't live under a
|
|
213
|
-
// denormalized `
|
|
214
|
-
//
|
|
323
|
+
// don't live under a topic-scoped path in the current layout — the
|
|
324
|
+
// denormalized `topicId` on every session.json is the authority.
|
|
325
|
+
//
|
|
326
|
+
// This used to say "matches DiskThreadStore.listThreads in scan
|
|
327
|
+
// semantics" — that class is gone (NZ-TOPIC-02, ses_020: zero production
|
|
328
|
+
// callers, never public, no tests). This function's own scan doesn't
|
|
329
|
+
// change; the comparison just isn't holding anything up anymore, so it's
|
|
330
|
+
// removed rather than left pointing at a deleted file. Renamed from
|
|
331
|
+
// `listSessions` alongside the field it reads (NZ-TOPIC-03).
|
|
215
332
|
//
|
|
216
333
|
// Cost: O(all sessions across all projects in the root) per call. The
|
|
217
334
|
// MVP disk store prioritizes simplicity over index freshness, matching
|
|
218
335
|
// `buildLinkageView` / `locateSession` which use the same pattern. A
|
|
219
|
-
// production driver would maintain a
|
|
336
|
+
// production driver would maintain a topicId → sessionIds secondary
|
|
220
337
|
// index populated on createSession / deleteSession. Acceptable for
|
|
221
|
-
//
|
|
338
|
+
// TopicManager archive/delete today because those operations are
|
|
222
339
|
// admin-initiated and infrequent.
|
|
223
340
|
const projectsDir = join(this.rootDir, 'projects');
|
|
224
|
-
|
|
225
|
-
try {
|
|
226
|
-
projectDirs = await readdir(projectsDir);
|
|
227
|
-
}
|
|
228
|
-
catch (err) {
|
|
229
|
-
const code = err.code;
|
|
230
|
-
if (code === 'ENOENT')
|
|
231
|
-
return [];
|
|
232
|
-
throw err;
|
|
233
|
-
}
|
|
341
|
+
const projectDirs = await records.scanNames(projectsDir, '');
|
|
234
342
|
const results = [];
|
|
235
343
|
for (const rawProject of projectDirs) {
|
|
236
344
|
if (!rawProject.startsWith('prj_'))
|
|
237
345
|
continue;
|
|
238
346
|
const sessionsRoot = join(projectsDir, rawProject, 'sessions');
|
|
239
|
-
|
|
240
|
-
try {
|
|
241
|
-
sessionDirs = await readdir(sessionsRoot);
|
|
242
|
-
}
|
|
243
|
-
catch {
|
|
244
|
-
continue;
|
|
245
|
-
}
|
|
347
|
+
const sessionDirs = await records.scanNames(sessionsRoot, '');
|
|
246
348
|
for (const rawSessionId of sessionDirs) {
|
|
247
349
|
if (!rawSessionId.startsWith('ses_'))
|
|
248
350
|
continue;
|
|
249
351
|
const path = join(sessionsRoot, rawSessionId);
|
|
250
|
-
const raw = await
|
|
352
|
+
const raw = await records.read(join(path, 'session.json'));
|
|
251
353
|
if (!raw)
|
|
252
354
|
continue;
|
|
253
355
|
if (raw.tenantId !== tenantId)
|
|
254
356
|
continue;
|
|
255
|
-
if (raw.
|
|
357
|
+
if (raw.topicId !== topicId)
|
|
256
358
|
continue;
|
|
257
359
|
results.push(deserializeSession(raw));
|
|
258
360
|
this.sessionIndex.set(raw.id, {
|
|
@@ -267,26 +369,17 @@ export class DiskSessionStore {
|
|
|
267
369
|
}
|
|
268
370
|
async listSessionsByProject(projectId, tenantId) {
|
|
269
371
|
// One directory, not the whole root: sessions live under their project,
|
|
270
|
-
// so this is the cheap direction. `
|
|
271
|
-
// project precisely because `
|
|
272
|
-
// rather than expressed in the layout.
|
|
372
|
+
// so this is the cheap direction. `listSessionsByTopic` has to scan
|
|
373
|
+
// every project precisely because `topicId` is denormalised onto the
|
|
374
|
+
// record rather than expressed in the layout.
|
|
273
375
|
const sessionsRoot = join(this.projectDir(projectId), 'sessions');
|
|
274
|
-
|
|
275
|
-
try {
|
|
276
|
-
sessionDirs = await readdir(sessionsRoot);
|
|
277
|
-
}
|
|
278
|
-
catch (err) {
|
|
279
|
-
const code = err.code;
|
|
280
|
-
if (code === 'ENOENT')
|
|
281
|
-
return [];
|
|
282
|
-
throw err;
|
|
283
|
-
}
|
|
376
|
+
const sessionDirs = await records.scanNames(sessionsRoot, '');
|
|
284
377
|
const results = [];
|
|
285
378
|
for (const rawSessionId of sessionDirs) {
|
|
286
379
|
if (!rawSessionId.startsWith('ses_'))
|
|
287
380
|
continue;
|
|
288
381
|
const path = join(sessionsRoot, rawSessionId);
|
|
289
|
-
const raw = await
|
|
382
|
+
const raw = await records.read(join(path, 'session.json'));
|
|
290
383
|
if (!raw)
|
|
291
384
|
continue;
|
|
292
385
|
if (raw.tenantId !== tenantId)
|
|
@@ -308,7 +401,7 @@ export class DiskSessionStore {
|
|
|
308
401
|
resource: `session(${session.id}) payload`,
|
|
309
402
|
});
|
|
310
403
|
}
|
|
311
|
-
const existing = await
|
|
404
|
+
const existing = await records.read(join(located.path, 'session.json'));
|
|
312
405
|
if (existing) {
|
|
313
406
|
this.assertTenant(existing.tenantId, tenantId, `session(${session.id})`);
|
|
314
407
|
}
|
|
@@ -326,13 +419,13 @@ export class DiskSessionStore {
|
|
|
326
419
|
});
|
|
327
420
|
}
|
|
328
421
|
const updated = { ...session, updatedAt: new Date() };
|
|
329
|
-
await
|
|
422
|
+
await records.write(join(located.path, 'session.json'), serializeSession(updated));
|
|
330
423
|
}
|
|
331
424
|
async deleteSession(sessionId, tenantId) {
|
|
332
425
|
const located = await this.locateSession(sessionId);
|
|
333
426
|
if (!located)
|
|
334
427
|
return; // Idempotent: missing = no-op.
|
|
335
|
-
const existing = await
|
|
428
|
+
const existing = await records.read(join(located.path, 'session.json'));
|
|
336
429
|
if (!existing)
|
|
337
430
|
return;
|
|
338
431
|
this.assertTenant(existing.tenantId, tenantId, `session(${sessionId})`);
|
|
@@ -341,15 +434,7 @@ export class DiskSessionStore {
|
|
|
341
434
|
// We check BOTH directions (this session as parent, or as child) to
|
|
342
435
|
// match the in-memory semantics.
|
|
343
436
|
const subsDir = join(located.path, 'subsessions');
|
|
344
|
-
|
|
345
|
-
try {
|
|
346
|
-
subEntries = await readdir(subsDir);
|
|
347
|
-
}
|
|
348
|
-
catch (err) {
|
|
349
|
-
const code = err.code;
|
|
350
|
-
if (code !== 'ENOENT')
|
|
351
|
-
throw err;
|
|
352
|
-
}
|
|
437
|
+
const subEntries = await records.scanNames(subsDir, '');
|
|
353
438
|
if (subEntries.some((e) => e.startsWith('sub_'))) {
|
|
354
439
|
throw new Error(`Session ${sessionId} has attached sub-sessions; delete them before deleting the session`);
|
|
355
440
|
}
|
|
@@ -359,43 +444,21 @@ export class DiskSessionStore {
|
|
|
359
444
|
// deleteSubSession + deleteSession call on the child (no orphans at
|
|
360
445
|
// steady state).
|
|
361
446
|
const projectsDir = join(this.rootDir, 'projects');
|
|
362
|
-
|
|
363
|
-
try {
|
|
364
|
-
projectDirs = await readdir(projectsDir);
|
|
365
|
-
}
|
|
366
|
-
catch (err) {
|
|
367
|
-
const code = err.code;
|
|
368
|
-
if (code === 'ENOENT')
|
|
369
|
-
projectDirs = [];
|
|
370
|
-
else
|
|
371
|
-
throw err;
|
|
372
|
-
}
|
|
447
|
+
const projectDirs = await records.scanNames(projectsDir, '');
|
|
373
448
|
for (const rawProject of projectDirs) {
|
|
374
449
|
if (!rawProject.startsWith('prj_'))
|
|
375
450
|
continue;
|
|
376
451
|
const sessionsRoot = join(projectsDir, rawProject, 'sessions');
|
|
377
|
-
|
|
378
|
-
try {
|
|
379
|
-
siblingSessions = await readdir(sessionsRoot);
|
|
380
|
-
}
|
|
381
|
-
catch {
|
|
382
|
-
continue;
|
|
383
|
-
}
|
|
452
|
+
const siblingSessions = await records.scanNames(sessionsRoot, '');
|
|
384
453
|
for (const rawSib of siblingSessions) {
|
|
385
454
|
if (!rawSib.startsWith('ses_'))
|
|
386
455
|
continue;
|
|
387
456
|
const sibSubsDir = join(sessionsRoot, rawSib, 'subsessions');
|
|
388
|
-
|
|
389
|
-
try {
|
|
390
|
-
sibSubs = await readdir(sibSubsDir);
|
|
391
|
-
}
|
|
392
|
-
catch {
|
|
393
|
-
continue;
|
|
394
|
-
}
|
|
457
|
+
const sibSubs = await records.scanNames(sibSubsDir, '');
|
|
395
458
|
for (const rawSub of sibSubs) {
|
|
396
459
|
if (!rawSub.startsWith('sub_'))
|
|
397
460
|
continue;
|
|
398
|
-
const subRaw = await
|
|
461
|
+
const subRaw = await records.read(join(sibSubsDir, rawSub, 'subsession.json'));
|
|
399
462
|
if (!subRaw)
|
|
400
463
|
continue;
|
|
401
464
|
if (subRaw.childSessionId === sessionId || subRaw.parentSessionId === sessionId) {
|
|
@@ -437,7 +500,7 @@ export class DiskSessionStore {
|
|
|
437
500
|
};
|
|
438
501
|
const dir = join(parentLoc.path, 'subsessions', subSession.id);
|
|
439
502
|
await mkdir(dir, { recursive: true });
|
|
440
|
-
await
|
|
503
|
+
await records.write(join(dir, 'subsession.json'), serializeSubSession(subSession, tenantId));
|
|
441
504
|
this.subSessionIndex.set(subSession.id, {
|
|
442
505
|
subSessionId: subSession.id,
|
|
443
506
|
sessionId: params.parentSessionId,
|
|
@@ -450,7 +513,7 @@ export class DiskSessionStore {
|
|
|
450
513
|
const located = await this.locateSubSession(subSessionId);
|
|
451
514
|
if (!located)
|
|
452
515
|
return null;
|
|
453
|
-
const raw = await
|
|
516
|
+
const raw = await records.read(join(located.path, 'subsession.json'));
|
|
454
517
|
if (!raw)
|
|
455
518
|
return null;
|
|
456
519
|
this.assertTenant(raw.tenantId, tenantId, `sub-session(${subSessionId})`);
|
|
@@ -461,18 +524,18 @@ export class DiskSessionStore {
|
|
|
461
524
|
if (!located) {
|
|
462
525
|
throw new Error(`SubSession ${subSession.id} not found`);
|
|
463
526
|
}
|
|
464
|
-
const existing = await
|
|
527
|
+
const existing = await records.read(join(located.path, 'subsession.json'));
|
|
465
528
|
if (existing) {
|
|
466
529
|
this.assertTenant(existing.tenantId, tenantId, `sub-session(${subSession.id})`);
|
|
467
530
|
}
|
|
468
531
|
const updated = { ...subSession, updatedAt: new Date() };
|
|
469
|
-
await
|
|
532
|
+
await records.write(join(located.path, 'subsession.json'), serializeSubSession(updated, tenantId));
|
|
470
533
|
}
|
|
471
534
|
async deleteSubSession(subSessionId, tenantId) {
|
|
472
535
|
const located = await this.locateSubSession(subSessionId);
|
|
473
536
|
if (!located)
|
|
474
537
|
return; // Idempotent: missing = no-op.
|
|
475
|
-
const existing = await
|
|
538
|
+
const existing = await records.read(join(located.path, 'subsession.json'));
|
|
476
539
|
if (!existing) {
|
|
477
540
|
// Record vanished between locate + read — treat as already deleted.
|
|
478
541
|
this.subSessionIndex.delete(subSessionId);
|
|
@@ -487,7 +550,7 @@ export class DiskSessionStore {
|
|
|
487
550
|
const located = await this.locateSession(sessionId);
|
|
488
551
|
if (!located)
|
|
489
552
|
throw new Error(`Session ${sessionId} not found`);
|
|
490
|
-
const session = await
|
|
553
|
+
const session = await records.read(join(located.path, 'session.json'));
|
|
491
554
|
if (!session)
|
|
492
555
|
throw new Error(`Session ${sessionId} not found on disk`);
|
|
493
556
|
this.assertTenant(session.tenantId, tenantId, `session(${sessionId})`);
|
|
@@ -513,7 +576,7 @@ export class DiskSessionStore {
|
|
|
513
576
|
const located = await this.locateSession(sessionId);
|
|
514
577
|
if (!located)
|
|
515
578
|
return [];
|
|
516
|
-
const session = await
|
|
579
|
+
const session = await records.read(join(located.path, 'session.json'));
|
|
517
580
|
if (!session)
|
|
518
581
|
return [];
|
|
519
582
|
this.assertTenant(session.tenantId, tenantId, `session(${sessionId})`);
|
|
@@ -591,13 +654,13 @@ export class DiskSessionStore {
|
|
|
591
654
|
if (!located) {
|
|
592
655
|
throw new Error(`Session ${summary.sessionRef} not found`);
|
|
593
656
|
}
|
|
594
|
-
const sessionRaw = await
|
|
657
|
+
const sessionRaw = await records.read(join(located.path, 'session.json'));
|
|
595
658
|
if (!sessionRaw) {
|
|
596
659
|
throw new Error(`Session ${summary.sessionRef} not found on disk`);
|
|
597
660
|
}
|
|
598
661
|
this.assertTenant(sessionRaw.tenantId, tenantId, `session(${summary.sessionRef})`);
|
|
599
662
|
const summaryPath = join(located.path, 'summary.json');
|
|
600
|
-
const existingRaw = await
|
|
663
|
+
const existingRaw = await records.read(summaryPath);
|
|
601
664
|
if (existingRaw) {
|
|
602
665
|
this.assertTenant(existingRaw.tenantId, tenantId, `summary(${existingRaw.id})`);
|
|
603
666
|
if (existingRaw.id !== summary.id) {
|
|
@@ -611,7 +674,7 @@ export class DiskSessionStore {
|
|
|
611
674
|
}
|
|
612
675
|
else {
|
|
613
676
|
// Step 1: persist summary.
|
|
614
|
-
await
|
|
677
|
+
await records.write(summaryPath, serializeSummary(summary));
|
|
615
678
|
}
|
|
616
679
|
// Step 2: flip session status atomically if still non-terminal.
|
|
617
680
|
if (SUMMARY_TERMINAL_FLIP_STATUSES.has(sessionRaw.status)) {
|
|
@@ -620,14 +683,14 @@ export class DiskSessionStore {
|
|
|
620
683
|
status: 'idle',
|
|
621
684
|
updatedAt: new Date().toISOString(),
|
|
622
685
|
};
|
|
623
|
-
await
|
|
686
|
+
await records.write(join(located.path, 'session.json'), flipped);
|
|
624
687
|
}
|
|
625
688
|
}
|
|
626
689
|
async getSummary(sessionId, tenantId) {
|
|
627
690
|
const located = await this.locateSession(sessionId);
|
|
628
691
|
if (!located)
|
|
629
692
|
return null;
|
|
630
|
-
const raw = await
|
|
693
|
+
const raw = await records.read(join(located.path, 'summary.json'));
|
|
631
694
|
if (!raw)
|
|
632
695
|
return null;
|
|
633
696
|
this.assertTenant(raw.tenantId, tenantId, `summary(${raw.id})`);
|
|
@@ -652,28 +715,15 @@ export class DiskSessionStore {
|
|
|
652
715
|
if (cached)
|
|
653
716
|
return cached;
|
|
654
717
|
const projectsDir = join(this.rootDir, 'projects');
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
}
|
|
659
|
-
catch (err) {
|
|
660
|
-
const code = err.code;
|
|
661
|
-
if (code === 'ENOENT')
|
|
662
|
-
return null;
|
|
663
|
-
throw err;
|
|
664
|
-
}
|
|
718
|
+
// ENOENT lists as empty; the loop below then falls through to the
|
|
719
|
+
// same `return null` the old catch took directly.
|
|
720
|
+
const projectDirs = await records.scanNames(projectsDir, '');
|
|
665
721
|
for (const rawId of projectDirs) {
|
|
666
722
|
if (!rawId.startsWith('prj_'))
|
|
667
723
|
continue;
|
|
668
724
|
const projectId = rawId;
|
|
669
725
|
const sessionsRoot = join(projectsDir, projectId, 'sessions');
|
|
670
|
-
|
|
671
|
-
try {
|
|
672
|
-
sessionDirs = await readdir(sessionsRoot);
|
|
673
|
-
}
|
|
674
|
-
catch {
|
|
675
|
-
continue;
|
|
676
|
-
}
|
|
726
|
+
const sessionDirs = await records.scanNames(sessionsRoot, '');
|
|
677
727
|
for (const rawSessionId of sessionDirs) {
|
|
678
728
|
if (!rawSessionId.startsWith('ses_'))
|
|
679
729
|
continue;
|
|
@@ -695,40 +745,21 @@ export class DiskSessionStore {
|
|
|
695
745
|
if (cached)
|
|
696
746
|
return cached;
|
|
697
747
|
const projectsDir = join(this.rootDir, 'projects');
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
}
|
|
702
|
-
catch (err) {
|
|
703
|
-
const code = err.code;
|
|
704
|
-
if (code === 'ENOENT')
|
|
705
|
-
return null;
|
|
706
|
-
throw err;
|
|
707
|
-
}
|
|
748
|
+
// ENOENT lists as empty; the loop below then falls through to the
|
|
749
|
+
// same `return null` the old catch took directly.
|
|
750
|
+
const projectDirs = await records.scanNames(projectsDir, '');
|
|
708
751
|
for (const rawProject of projectDirs) {
|
|
709
752
|
if (!rawProject.startsWith('prj_'))
|
|
710
753
|
continue;
|
|
711
754
|
const projectId = rawProject;
|
|
712
755
|
const sessionsRoot = join(projectsDir, projectId, 'sessions');
|
|
713
|
-
|
|
714
|
-
try {
|
|
715
|
-
sessionDirs = await readdir(sessionsRoot);
|
|
716
|
-
}
|
|
717
|
-
catch {
|
|
718
|
-
continue;
|
|
719
|
-
}
|
|
756
|
+
const sessionDirs = await records.scanNames(sessionsRoot, '');
|
|
720
757
|
for (const rawSession of sessionDirs) {
|
|
721
758
|
if (!rawSession.startsWith('ses_'))
|
|
722
759
|
continue;
|
|
723
760
|
const sessionId = rawSession;
|
|
724
761
|
const subsDir = join(sessionsRoot, sessionId, 'subsessions');
|
|
725
|
-
|
|
726
|
-
try {
|
|
727
|
-
subDirs = await readdir(subsDir);
|
|
728
|
-
}
|
|
729
|
-
catch {
|
|
730
|
-
continue;
|
|
731
|
-
}
|
|
762
|
+
const subDirs = await records.scanNames(subsDir, '');
|
|
732
763
|
for (const rawSub of subDirs) {
|
|
733
764
|
if (rawSub === subSessionId) {
|
|
734
765
|
const entry = {
|
|
@@ -750,40 +781,21 @@ export class DiskSessionStore {
|
|
|
750
781
|
// Acceptable for an MVP disk store; a production impl would cache.
|
|
751
782
|
const allSubs = [];
|
|
752
783
|
const projectsDir = join(this.rootDir, 'projects');
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
}
|
|
757
|
-
catch (err) {
|
|
758
|
-
const code = err.code;
|
|
759
|
-
if (code === 'ENOENT')
|
|
760
|
-
return emptyLinkageView();
|
|
761
|
-
throw err;
|
|
762
|
-
}
|
|
784
|
+
// ENOENT lists as empty, and a view over no sub-sessions IS the empty
|
|
785
|
+
// view the old catch returned directly.
|
|
786
|
+
const projectDirs = await records.scanNames(projectsDir, '');
|
|
763
787
|
for (const rawProject of projectDirs) {
|
|
764
788
|
if (!rawProject.startsWith('prj_'))
|
|
765
789
|
continue;
|
|
766
790
|
const sessionsRoot = join(projectsDir, rawProject, 'sessions');
|
|
767
|
-
|
|
768
|
-
try {
|
|
769
|
-
sessionDirs = await readdir(sessionsRoot);
|
|
770
|
-
}
|
|
771
|
-
catch {
|
|
772
|
-
continue;
|
|
773
|
-
}
|
|
791
|
+
const sessionDirs = await records.scanNames(sessionsRoot, '');
|
|
774
792
|
for (const rawSession of sessionDirs) {
|
|
775
793
|
if (!rawSession.startsWith('ses_'))
|
|
776
794
|
continue;
|
|
777
795
|
const subsRoot = join(sessionsRoot, rawSession, 'subsessions');
|
|
778
|
-
|
|
779
|
-
try {
|
|
780
|
-
subDirs = await readdir(subsRoot);
|
|
781
|
-
}
|
|
782
|
-
catch {
|
|
783
|
-
continue;
|
|
784
|
-
}
|
|
796
|
+
const subDirs = await records.scanNames(subsRoot, '');
|
|
785
797
|
for (const rawSub of subDirs) {
|
|
786
|
-
const raw = await
|
|
798
|
+
const raw = await records.read(join(subsRoot, rawSub, 'subsession.json'));
|
|
787
799
|
if (!raw)
|
|
788
800
|
continue;
|
|
789
801
|
if (raw.tenantId !== tenantId)
|
|
@@ -798,12 +810,6 @@ export class DiskSessionStore {
|
|
|
798
810
|
};
|
|
799
811
|
}
|
|
800
812
|
}
|
|
801
|
-
function emptyLinkageView() {
|
|
802
|
-
return {
|
|
803
|
-
findChildSubSessions: () => [],
|
|
804
|
-
findParentSubSession: () => null,
|
|
805
|
-
};
|
|
806
|
-
}
|
|
807
813
|
// Serialization helpers -----------------------------------------------------
|
|
808
814
|
function serializeProject(p) {
|
|
809
815
|
return {
|
|
@@ -813,6 +819,7 @@ function serializeProject(p) {
|
|
|
813
819
|
config: p.config,
|
|
814
820
|
status: p.status,
|
|
815
821
|
ownerVersion: p.ownerVersion,
|
|
822
|
+
...(p.rootPath !== undefined ? { rootPath: p.rootPath } : {}),
|
|
816
823
|
createdAt: p.createdAt.toISOString(),
|
|
817
824
|
updatedAt: p.updatedAt.toISOString(),
|
|
818
825
|
};
|
|
@@ -824,11 +831,12 @@ function deserializeProject(p) {
|
|
|
824
831
|
name: p.name,
|
|
825
832
|
config: p.config,
|
|
826
833
|
// A project.json written before these fields existed reads as an open
|
|
827
|
-
//
|
|
834
|
+
// project at version 0, which is what it was. Leaving `ownerVersion`
|
|
828
835
|
// undefined would be worse than a wrong default: every compare-and-set
|
|
829
836
|
// against it would fail, so an existing store could never be closed.
|
|
830
837
|
status: p.status ?? 'open',
|
|
831
838
|
ownerVersion: p.ownerVersion ?? 0,
|
|
839
|
+
...(p.rootPath !== undefined ? { rootPath: p.rootPath } : {}),
|
|
832
840
|
createdAt: new Date(p.createdAt),
|
|
833
841
|
updatedAt: new Date(p.updatedAt),
|
|
834
842
|
};
|
|
@@ -836,7 +844,7 @@ function deserializeProject(p) {
|
|
|
836
844
|
function serializeSession(s) {
|
|
837
845
|
return {
|
|
838
846
|
id: s.id,
|
|
839
|
-
|
|
847
|
+
topicId: s.topicId,
|
|
840
848
|
projectId: s.projectId,
|
|
841
849
|
tenantId: s.tenantId,
|
|
842
850
|
status: s.status,
|
|
@@ -851,7 +859,7 @@ function serializeSession(s) {
|
|
|
851
859
|
function deserializeSession(s) {
|
|
852
860
|
return {
|
|
853
861
|
id: s.id,
|
|
854
|
-
|
|
862
|
+
topicId: s.topicId,
|
|
855
863
|
projectId: s.projectId,
|
|
856
864
|
tenantId: s.tenantId,
|
|
857
865
|
status: s.status,
|
|
@@ -935,26 +943,4 @@ function deserializeSummary(s) {
|
|
|
935
943
|
materializedBy: 'kernel',
|
|
936
944
|
};
|
|
937
945
|
}
|
|
938
|
-
// FS helpers -----------------------------------------------------------------
|
|
939
|
-
async function readJson(path) {
|
|
940
|
-
try {
|
|
941
|
-
const raw = await readFile(path, 'utf-8');
|
|
942
|
-
// Through the schema rather than a bare cast: a record from an older
|
|
943
|
-
// build is brought forward, and one from a NEWER build is refused
|
|
944
|
-
// instead of read partially and written back with the difference
|
|
945
|
-
// gone.
|
|
946
|
-
return migrate(SCHEMA, JSON.parse(raw));
|
|
947
|
-
}
|
|
948
|
-
catch (err) {
|
|
949
|
-
const code = err.code;
|
|
950
|
-
if (code === 'ENOENT')
|
|
951
|
-
return null;
|
|
952
|
-
throw err;
|
|
953
|
-
}
|
|
954
|
-
}
|
|
955
|
-
async function atomicWriteJson(filePath, value) {
|
|
956
|
-
// Through the shared writer: the sidecar name has to be private to this
|
|
957
|
-
// write, and a fixed `.tmp` is shared by every writer of the record.
|
|
958
|
-
await atomicWriteFile(filePath, JSON.stringify(stamp(SCHEMA, value), null, 2));
|
|
959
|
-
}
|
|
960
946
|
//# sourceMappingURL=disk.js.map
|