@namzu/sdk 30.2.0 → 31.1.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 +562 -0
- package/README.md +43 -2
- package/dist/advisory/executor.d.ts +2 -1
- package/dist/advisory/executor.d.ts.map +1 -1
- package/dist/advisory/executor.js +4 -1
- package/dist/advisory/executor.js.map +1 -1
- package/dist/agents/ReactiveAgent.d.ts.map +1 -1
- package/dist/agents/ReactiveAgent.js +12 -0
- package/dist/agents/ReactiveAgent.js.map +1 -1
- package/dist/agents/RouterAgent.d.ts.map +1 -1
- package/dist/agents/RouterAgent.js +21 -3
- package/dist/agents/RouterAgent.js.map +1 -1
- package/dist/agents/SupervisorAgent.d.ts.map +1 -1
- package/dist/agents/SupervisorAgent.js +34 -11
- package/dist/agents/SupervisorAgent.js.map +1 -1
- package/dist/agents/runAgent.d.ts +12 -0
- package/dist/agents/runAgent.d.ts.map +1 -1
- package/dist/agents/runAgent.js +26 -2
- package/dist/agents/runAgent.js.map +1 -1
- package/dist/authorization/command-line.d.ts +81 -0
- package/dist/authorization/command-line.d.ts.map +1 -0
- package/dist/authorization/command-line.js +347 -0
- package/dist/authorization/command-line.js.map +1 -0
- package/dist/authorization/rules.d.ts.map +1 -1
- package/dist/authorization/rules.js +22 -1
- package/dist/authorization/rules.js.map +1 -1
- package/dist/bridge/a2a/client.d.ts +23 -5
- package/dist/bridge/a2a/client.d.ts.map +1 -1
- package/dist/bridge/a2a/client.js +320 -73
- package/dist/bridge/a2a/client.js.map +1 -1
- package/dist/bridge/a2a/mapper.d.ts.map +1 -1
- package/dist/bridge/a2a/mapper.js +4 -0
- package/dist/bridge/a2a/mapper.js.map +1 -1
- package/dist/bridge/acp/server.d.ts +13 -1
- package/dist/bridge/acp/server.d.ts.map +1 -1
- package/dist/bridge/acp/server.js +150 -44
- package/dist/bridge/acp/server.js.map +1 -1
- package/dist/bridge/mcp/connector/adapter.d.ts +3 -2
- package/dist/bridge/mcp/connector/adapter.d.ts.map +1 -1
- package/dist/bridge/mcp/connector/adapter.js +17 -21
- 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 +3 -0
- package/dist/bridge/sse/mapper.js.map +1 -1
- package/dist/compaction/dangling.d.ts +29 -2
- package/dist/compaction/dangling.d.ts.map +1 -1
- package/dist/compaction/dangling.js +172 -35
- package/dist/compaction/dangling.js.map +1 -1
- package/dist/compaction/index.d.ts +3 -2
- package/dist/compaction/index.d.ts.map +1 -1
- package/dist/compaction/index.js +1 -1
- package/dist/compaction/index.js.map +1 -1
- package/dist/compaction/manual.d.ts +11 -1
- package/dist/compaction/manual.d.ts.map +1 -1
- package/dist/compaction/manual.js +89 -14
- package/dist/compaction/manual.js.map +1 -1
- package/dist/compaction/plan.d.ts +19 -6
- package/dist/compaction/plan.d.ts.map +1 -1
- package/dist/compaction/plan.js +18 -4
- package/dist/compaction/plan.js.map +1 -1
- package/dist/compaction/retention.d.ts +10 -7
- package/dist/compaction/retention.d.ts.map +1 -1
- package/dist/compaction/retention.js +26 -8
- package/dist/compaction/retention.js.map +1 -1
- package/dist/compaction/summary.d.ts +4 -4
- package/dist/compaction/summary.js +4 -4
- package/dist/compaction/verifier.d.ts +19 -1
- package/dist/compaction/verifier.d.ts.map +1 -1
- package/dist/compaction/verifier.js +20 -1
- package/dist/compaction/verifier.js.map +1 -1
- package/dist/config/runtime.d.ts +6 -6
- package/dist/connector/BaseConnector.d.ts +6 -4
- package/dist/connector/BaseConnector.d.ts.map +1 -1
- package/dist/connector/BaseConnector.js +8 -2
- package/dist/connector/BaseConnector.js.map +1 -1
- package/dist/connector/builtins/http.d.ts +16 -4
- package/dist/connector/builtins/http.d.ts.map +1 -1
- package/dist/connector/builtins/http.js +177 -44
- package/dist/connector/builtins/http.js.map +1 -1
- package/dist/connector/builtins/webhook.d.ts +15 -4
- package/dist/connector/builtins/webhook.d.ts.map +1 -1
- package/dist/connector/builtins/webhook.js +165 -45
- package/dist/connector/builtins/webhook.js.map +1 -1
- package/dist/connector/execution-contract.d.ts +11 -0
- package/dist/connector/execution-contract.d.ts.map +1 -0
- package/dist/connector/execution-contract.js +14 -0
- package/dist/connector/execution-contract.js.map +1 -0
- package/dist/connector/http-operation.d.ts +48 -0
- package/dist/connector/http-operation.d.ts.map +1 -0
- package/dist/connector/http-operation.js +205 -0
- package/dist/connector/http-operation.js.map +1 -0
- package/dist/connector/mcp/adapter.d.ts.map +1 -1
- package/dist/connector/mcp/adapter.js +8 -3
- package/dist/connector/mcp/adapter.js.map +1 -1
- package/dist/connector/mcp/client.d.ts +14 -8
- package/dist/connector/mcp/client.d.ts.map +1 -1
- package/dist/connector/mcp/client.js +160 -44
- package/dist/connector/mcp/client.js.map +1 -1
- package/dist/connector/mcp/http-sse.d.ts +8 -2
- package/dist/connector/mcp/http-sse.d.ts.map +1 -1
- package/dist/connector/mcp/http-sse.js +70 -17
- package/dist/connector/mcp/http-sse.js.map +1 -1
- package/dist/connector/mcp/prompt-adapter.d.ts.map +1 -1
- package/dist/connector/mcp/prompt-adapter.js +9 -2
- package/dist/connector/mcp/prompt-adapter.js.map +1 -1
- package/dist/connector/mcp/stdio.d.ts +2 -2
- package/dist/connector/mcp/stdio.d.ts.map +1 -1
- package/dist/connector/mcp/stdio.js +14 -50
- package/dist/connector/mcp/stdio.js.map +1 -1
- package/dist/connector/mcp/streamable-http.d.ts +7 -2
- package/dist/connector/mcp/streamable-http.d.ts.map +1 -1
- package/dist/connector/mcp/streamable-http.js +66 -18
- package/dist/connector/mcp/streamable-http.js.map +1 -1
- package/dist/connector/tools/adapter.d.ts +2 -2
- package/dist/connector/tools/adapter.d.ts.map +1 -1
- package/dist/connector/tools/adapter.js +23 -14
- package/dist/connector/tools/adapter.js.map +1 -1
- package/dist/connector/tools/definitions.d.ts.map +1 -1
- package/dist/connector/tools/definitions.js +5 -2
- package/dist/connector/tools/definitions.js.map +1 -1
- package/dist/connector/tools/result.d.ts +4 -0
- package/dist/connector/tools/result.d.ts.map +1 -0
- package/dist/connector/tools/result.js +20 -0
- package/dist/connector/tools/result.js.map +1 -0
- package/dist/connector/web/guarded-fetch.d.ts +4 -2
- package/dist/connector/web/guarded-fetch.d.ts.map +1 -1
- package/dist/connector/web/guarded-fetch.js +157 -43
- package/dist/connector/web/guarded-fetch.js.map +1 -1
- package/dist/constants/sandbox/index.d.ts +3 -2
- package/dist/constants/sandbox/index.d.ts.map +1 -1
- package/dist/constants/sandbox/index.js +3 -2
- package/dist/constants/sandbox/index.js.map +1 -1
- package/dist/contracts/api.d.ts +2 -0
- package/dist/contracts/api.d.ts.map +1 -1
- package/dist/contracts/schemas.d.ts +38 -12
- package/dist/contracts/schemas.d.ts.map +1 -1
- package/dist/contracts/schemas.js +7 -0
- package/dist/contracts/schemas.js.map +1 -1
- package/dist/directory/derive-supervisor.d.ts.map +1 -1
- package/dist/directory/derive-supervisor.js +8 -0
- package/dist/directory/derive-supervisor.js.map +1 -1
- package/dist/directory/derive.d.ts.map +1 -1
- package/dist/directory/derive.js +8 -0
- package/dist/directory/derive.js.map +1 -1
- package/dist/directory/load.d.ts.map +1 -1
- package/dist/directory/load.js +2 -0
- package/dist/directory/load.js.map +1 -1
- package/dist/directory/types.d.ts +4 -0
- package/dist/directory/types.d.ts.map +1 -1
- package/dist/eval/experiment.d.ts +10 -10
- package/dist/eval/experiment.d.ts.map +1 -1
- package/dist/eval/experiment.js +121 -91
- package/dist/eval/experiment.js.map +1 -1
- package/dist/eval/judge.d.ts +6 -0
- package/dist/eval/judge.d.ts.map +1 -1
- package/dist/eval/judge.js +7 -2
- package/dist/eval/judge.js.map +1 -1
- package/dist/eval/types.d.ts +7 -1
- package/dist/eval/types.d.ts.map +1 -1
- package/dist/manager/agent/lifecycle.d.ts +12 -10
- package/dist/manager/agent/lifecycle.d.ts.map +1 -1
- package/dist/manager/agent/lifecycle.js +16 -3
- package/dist/manager/agent/lifecycle.js.map +1 -1
- package/dist/manager/connector/environment.d.ts +2 -2
- package/dist/manager/connector/environment.d.ts.map +1 -1
- package/dist/manager/connector/environment.js +2 -2
- package/dist/manager/connector/environment.js.map +1 -1
- package/dist/manager/connector/lifecycle.d.ts +10 -2
- package/dist/manager/connector/lifecycle.d.ts.map +1 -1
- package/dist/manager/connector/lifecycle.js +273 -24
- package/dist/manager/connector/lifecycle.js.map +1 -1
- package/dist/manager/connector/tenant.d.ts +5 -4
- package/dist/manager/connector/tenant.d.ts.map +1 -1
- package/dist/manager/connector/tenant.js +47 -22
- package/dist/manager/connector/tenant.js.map +1 -1
- package/dist/manager/goal/activation.d.ts +23 -0
- package/dist/manager/goal/activation.d.ts.map +1 -0
- package/dist/manager/goal/activation.js +41 -0
- package/dist/manager/goal/activation.js.map +1 -0
- package/dist/manager/index.d.ts +3 -2
- package/dist/manager/index.d.ts.map +1 -1
- package/dist/manager/index.js.map +1 -1
- package/dist/manager/run/persistence.d.ts +2 -0
- package/dist/manager/run/persistence.d.ts.map +1 -1
- package/dist/manager/run/persistence.js +5 -1
- package/dist/manager/run/persistence.js.map +1 -1
- package/dist/manager/topic/dependency.d.ts +24 -0
- package/dist/manager/topic/dependency.d.ts.map +1 -0
- package/dist/manager/topic/dependency.js +13 -0
- package/dist/manager/topic/dependency.js.map +1 -0
- package/dist/manager/topic/lifecycle.d.ts +9 -21
- package/dist/manager/topic/lifecycle.d.ts.map +1 -1
- package/dist/manager/topic/lifecycle.js +17 -29
- package/dist/manager/topic/lifecycle.js.map +1 -1
- package/dist/plugin/index.d.ts +1 -0
- package/dist/plugin/index.d.ts.map +1 -1
- package/dist/plugin/index.js.map +1 -1
- package/dist/plugin/lifecycle.d.ts +15 -0
- package/dist/plugin/lifecycle.d.ts.map +1 -1
- package/dist/plugin/lifecycle.js +144 -38
- package/dist/plugin/lifecycle.js.map +1 -1
- package/dist/plugin/loader.d.ts +3 -3
- package/dist/plugin/loader.d.ts.map +1 -1
- package/dist/plugin/loader.js +58 -12
- package/dist/plugin/loader.js.map +1 -1
- package/dist/provider/collect-chat-completion.d.ts.map +1 -1
- package/dist/provider/collect-chat-completion.js +4 -0
- package/dist/provider/collect-chat-completion.js.map +1 -1
- package/dist/provider/fallback.d.ts +3 -1
- package/dist/provider/fallback.d.ts.map +1 -1
- package/dist/provider/fallback.js +62 -10
- package/dist/provider/fallback.js.map +1 -1
- package/dist/provider/idle-timeout.d.ts +4 -0
- package/dist/provider/idle-timeout.d.ts.map +1 -1
- package/dist/provider/idle-timeout.js +131 -15
- package/dist/provider/idle-timeout.js.map +1 -1
- package/dist/provider/index.d.ts +2 -0
- package/dist/provider/index.d.ts.map +1 -1
- package/dist/provider/index.js +1 -0
- package/dist/provider/index.js.map +1 -1
- package/dist/provider/instrumentation.d.ts.map +1 -1
- package/dist/provider/instrumentation.js +1 -0
- package/dist/provider/instrumentation.js.map +1 -1
- package/dist/provider/retry.d.ts.map +1 -1
- package/dist/provider/retry.js +13 -1
- package/dist/provider/retry.js.map +1 -1
- package/dist/public-runtime.d.ts +57 -24
- package/dist/public-runtime.d.ts.map +1 -1
- package/dist/public-runtime.js +42 -35
- package/dist/public-runtime.js.map +1 -1
- package/dist/public-tools.d.ts +1 -0
- package/dist/public-tools.d.ts.map +1 -1
- package/dist/public-tools.js +5 -0
- package/dist/public-tools.js.map +1 -1
- package/dist/public-types.d.ts +33 -12
- package/dist/public-types.d.ts.map +1 -1
- package/dist/rag/embedding.d.ts +8 -3
- package/dist/rag/embedding.d.ts.map +1 -1
- package/dist/rag/embedding.js +120 -9
- package/dist/rag/embedding.js.map +1 -1
- package/dist/rag/index.d.ts +1 -1
- package/dist/rag/index.d.ts.map +1 -1
- package/dist/rag/index.js +1 -1
- package/dist/rag/index.js.map +1 -1
- package/dist/rag/ingestion.d.ts +2 -2
- package/dist/rag/ingestion.d.ts.map +1 -1
- package/dist/rag/ingestion.js +15 -3
- package/dist/rag/ingestion.js.map +1 -1
- package/dist/rag/knowledge-base.d.ts +3 -3
- package/dist/rag/knowledge-base.d.ts.map +1 -1
- package/dist/rag/knowledge-base.js +8 -4
- package/dist/rag/knowledge-base.js.map +1 -1
- package/dist/rag/operation.d.ts +10 -0
- package/dist/rag/operation.d.ts.map +1 -0
- package/dist/rag/operation.js +26 -0
- package/dist/rag/operation.js.map +1 -0
- package/dist/rag/rag-tool.d.ts.map +1 -1
- package/dist/rag/rag-tool.js +6 -3
- package/dist/rag/rag-tool.js.map +1 -1
- package/dist/rag/retriever.d.ts +2 -2
- package/dist/rag/retriever.d.ts.map +1 -1
- package/dist/rag/retriever.js +31 -15
- package/dist/rag/retriever.js.map +1 -1
- package/dist/rag/vector-store.d.ts +3 -3
- package/dist/rag/vector-store.d.ts.map +1 -1
- package/dist/rag/vector-store.js +4 -2
- package/dist/rag/vector-store.js.map +1 -1
- package/dist/registry/command/kernel-commands.d.ts +16 -4
- package/dist/registry/command/kernel-commands.d.ts.map +1 -1
- package/dist/registry/command/kernel-commands.js +171 -0
- package/dist/registry/command/kernel-commands.js.map +1 -1
- package/dist/run/reporter.d.ts.map +1 -1
- package/dist/run/reporter.js +9 -0
- package/dist/run/reporter.js.map +1 -1
- package/dist/run-query/index.d.ts +15 -1
- package/dist/run-query/index.d.ts.map +1 -1
- package/dist/run-query/index.js +69 -15
- package/dist/run-query/index.js.map +1 -1
- package/dist/runtime/query/context.d.ts.map +1 -1
- package/dist/runtime/query/context.js +10 -3
- package/dist/runtime/query/context.js.map +1 -1
- package/dist/runtime/query/executor.d.ts +3 -0
- package/dist/runtime/query/executor.d.ts.map +1 -1
- package/dist/runtime/query/executor.js +80 -18
- package/dist/runtime/query/executor.js.map +1 -1
- package/dist/runtime/query/guard.d.ts +9 -0
- package/dist/runtime/query/guard.d.ts.map +1 -1
- package/dist/runtime/query/guard.js +11 -0
- package/dist/runtime/query/guard.js.map +1 -1
- package/dist/runtime/query/index.d.ts +30 -1
- package/dist/runtime/query/index.d.ts.map +1 -1
- package/dist/runtime/query/index.js +548 -95
- package/dist/runtime/query/index.js.map +1 -1
- package/dist/runtime/query/iteration/index.d.ts.map +1 -1
- package/dist/runtime/query/iteration/index.js +74 -14
- package/dist/runtime/query/iteration/index.js.map +1 -1
- package/dist/runtime/query/iteration/phases/compaction.d.ts.map +1 -1
- package/dist/runtime/query/iteration/phases/compaction.js +94 -53
- package/dist/runtime/query/iteration/phases/compaction.js.map +1 -1
- package/dist/runtime/query/iteration/phases/context.d.ts +3 -0
- package/dist/runtime/query/iteration/phases/context.d.ts.map +1 -1
- package/dist/runtime/query/iteration/phases/context.js.map +1 -1
- package/dist/runtime/query/iteration/phases/tool-review.d.ts.map +1 -1
- package/dist/runtime/query/iteration/phases/tool-review.js +21 -0
- package/dist/runtime/query/iteration/phases/tool-review.js.map +1 -1
- package/dist/runtime/query/iteration/stream-turn.d.ts.map +1 -1
- package/dist/runtime/query/iteration/stream-turn.js +4 -0
- package/dist/runtime/query/iteration/stream-turn.js.map +1 -1
- package/dist/runtime/query/project-instructions.d.ts +69 -0
- package/dist/runtime/query/project-instructions.d.ts.map +1 -0
- package/dist/runtime/query/project-instructions.js +137 -0
- package/dist/runtime/query/project-instructions.js.map +1 -0
- package/dist/runtime/query/request-rich-content.d.ts +22 -0
- package/dist/runtime/query/request-rich-content.d.ts.map +1 -0
- package/dist/runtime/query/request-rich-content.js +122 -0
- package/dist/runtime/query/request-rich-content.js.map +1 -0
- package/dist/runtime/query/result.d.ts.map +1 -1
- package/dist/runtime/query/result.js +12 -1
- 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 -20
- package/dist/runtime/query/resume-pending.js.map +1 -1
- package/dist/runtime/query/resume-run.d.ts.map +1 -1
- package/dist/runtime/query/resume-run.js +54 -8
- package/dist/runtime/query/resume-run.js.map +1 -1
- package/dist/runtime/query/run-state.d.ts +5 -0
- package/dist/runtime/query/run-state.d.ts.map +1 -1
- package/dist/runtime/query/run-state.js +6 -1
- package/dist/runtime/query/run-state.js.map +1 -1
- package/dist/runtime/query/sandbox-lifecycle.d.ts +54 -0
- package/dist/runtime/query/sandbox-lifecycle.d.ts.map +1 -0
- package/dist/runtime/query/sandbox-lifecycle.js +167 -0
- package/dist/runtime/query/sandbox-lifecycle.js.map +1 -0
- package/dist/sandbox/isolation.d.ts.map +1 -1
- package/dist/sandbox/isolation.js +9 -0
- package/dist/sandbox/isolation.js.map +1 -1
- package/dist/sandbox/provider/local.d.ts +56 -6
- package/dist/sandbox/provider/local.d.ts.map +1 -1
- package/dist/sandbox/provider/local.js +181 -76
- package/dist/sandbox/provider/local.js.map +1 -1
- package/dist/sandbox/terminal.d.ts +13 -5
- package/dist/sandbox/terminal.d.ts.map +1 -1
- package/dist/sandbox/terminal.js +11 -3
- package/dist/sandbox/terminal.js.map +1 -1
- package/dist/session/errors.d.ts +28 -29
- package/dist/session/errors.d.ts.map +1 -1
- package/dist/session/errors.js +28 -29
- package/dist/session/errors.js.map +1 -1
- package/dist/session/handoff/broadcast.d.ts +5 -8
- package/dist/session/handoff/broadcast.d.ts.map +1 -1
- package/dist/session/handoff/broadcast.js +16 -6
- package/dist/session/handoff/broadcast.js.map +1 -1
- package/dist/session/handoff/single.d.ts +5 -8
- package/dist/session/handoff/single.d.ts.map +1 -1
- package/dist/session/handoff/single.js +7 -4
- package/dist/session/handoff/single.js.map +1 -1
- package/dist/store/attachment/index.d.ts +11 -3
- package/dist/store/attachment/index.d.ts.map +1 -1
- package/dist/store/attachment/index.js +49 -4
- package/dist/store/attachment/index.js.map +1 -1
- package/dist/store/feedback/conformance.d.ts.map +1 -1
- package/dist/store/feedback/conformance.js +32 -0
- package/dist/store/feedback/conformance.js.map +1 -1
- package/dist/store/feedback/disk.d.ts +8 -6
- package/dist/store/feedback/disk.d.ts.map +1 -1
- package/dist/store/feedback/disk.js +111 -76
- package/dist/store/feedback/disk.js.map +1 -1
- package/dist/store/goal/index.d.ts +111 -0
- package/dist/store/goal/index.d.ts.map +1 -0
- package/dist/store/goal/index.js +436 -0
- package/dist/store/goal/index.js.map +1 -0
- package/dist/store/index.d.ts +1 -1
- package/dist/store/index.d.ts.map +1 -1
- package/dist/store/index.js +1 -1
- package/dist/store/index.js.map +1 -1
- package/dist/store/kv/revision-record-store.d.ts +70 -0
- package/dist/store/kv/revision-record-store.d.ts.map +1 -0
- package/dist/store/kv/revision-record-store.js +290 -0
- package/dist/store/kv/revision-record-store.js.map +1 -0
- package/dist/store/memory/disk.d.ts +9 -7
- package/dist/store/memory/disk.d.ts.map +1 -1
- package/dist/store/memory/disk.js +256 -98
- package/dist/store/memory/disk.js.map +1 -1
- package/dist/store/run/disk.d.ts +10 -2
- package/dist/store/run/disk.d.ts.map +1 -1
- package/dist/store/run/disk.js +70 -4
- package/dist/store/run/disk.js.map +1 -1
- package/dist/store/run/memory.d.ts +4 -2
- package/dist/store/run/memory.d.ts.map +1 -1
- package/dist/store/run/memory.js +15 -1
- package/dist/store/run/memory.js.map +1 -1
- package/dist/store/session/disk.d.ts +9 -0
- package/dist/store/session/disk.d.ts.map +1 -1
- package/dist/store/session/disk.js +57 -5
- package/dist/store/session/disk.js.map +1 -1
- package/dist/store/session/memory.d.ts +1 -0
- package/dist/store/session/memory.d.ts.map +1 -1
- package/dist/store/session/memory.js +14 -0
- package/dist/store/session/memory.js.map +1 -1
- package/dist/store/topic/memory.d.ts +1 -2
- package/dist/store/topic/memory.d.ts.map +1 -1
- package/dist/store/topic/memory.js +4 -5
- package/dist/store/topic/memory.js.map +1 -1
- package/dist/store/topic/objective.d.ts +8 -4
- package/dist/store/topic/objective.d.ts.map +1 -1
- package/dist/store/topic/objective.js +185 -100
- package/dist/store/topic/objective.js.map +1 -1
- package/dist/store/topic/state.d.ts +1 -2
- package/dist/store/topic/state.d.ts.map +1 -1
- package/dist/store/topic/state.js +50 -62
- package/dist/store/topic/state.js.map +1 -1
- package/dist/tools/builtins/bash.d.ts.map +1 -1
- package/dist/tools/builtins/bash.js +20 -0
- package/dist/tools/builtins/bash.js.map +1 -1
- package/dist/tools/builtins/computer-use.d.ts +9 -1
- package/dist/tools/builtins/computer-use.d.ts.map +1 -1
- package/dist/tools/builtins/computer-use.js.map +1 -1
- package/dist/tools/builtins/content-fingerprint.d.ts +8 -7
- package/dist/tools/builtins/content-fingerprint.d.ts.map +1 -1
- package/dist/tools/builtins/content-fingerprint.js +9 -10
- package/dist/tools/builtins/content-fingerprint.js.map +1 -1
- package/dist/tools/builtins/edit.d.ts +6 -1
- package/dist/tools/builtins/edit.d.ts.map +1 -1
- package/dist/tools/builtins/edit.js +166 -27
- package/dist/tools/builtins/edit.js.map +1 -1
- package/dist/tools/builtins/write-file.d.ts.map +1 -1
- package/dist/tools/builtins/write-file.js +45 -19
- package/dist/tools/builtins/write-file.js.map +1 -1
- package/dist/tools/command-arguments.d.ts +43 -0
- package/dist/tools/command-arguments.d.ts.map +1 -0
- package/dist/tools/command-arguments.js +52 -0
- package/dist/tools/command-arguments.js.map +1 -0
- package/dist/tools/coordinator/index.d.ts +2 -0
- package/dist/tools/coordinator/index.d.ts.map +1 -1
- package/dist/tools/coordinator/index.js +3 -1
- package/dist/tools/coordinator/index.js.map +1 -1
- package/dist/tools/defineTool.d.ts +10 -0
- package/dist/tools/defineTool.d.ts.map +1 -1
- package/dist/tools/defineTool.js +1 -0
- package/dist/tools/defineTool.js.map +1 -1
- package/dist/tools/env-scrub.d.ts +7 -5
- package/dist/tools/env-scrub.d.ts.map +1 -1
- package/dist/tools/env-scrub.js +7 -5
- package/dist/tools/env-scrub.js.map +1 -1
- package/dist/tools/goal/index.d.ts +20 -0
- package/dist/tools/goal/index.d.ts.map +1 -0
- package/dist/tools/goal/index.js +104 -0
- package/dist/tools/goal/index.js.map +1 -0
- package/dist/tools/memory/index.d.ts +16 -0
- package/dist/tools/memory/index.d.ts.map +1 -1
- package/dist/tools/memory/index.js +6 -2
- package/dist/tools/memory/index.js.map +1 -1
- package/dist/tools/memory/search.d.ts +4 -1
- package/dist/tools/memory/search.d.ts.map +1 -1
- package/dist/tools/memory/search.js +10 -2
- package/dist/tools/memory/search.js.map +1 -1
- package/dist/types/agent/base.d.ts +11 -3
- package/dist/types/agent/base.d.ts.map +1 -1
- package/dist/types/agent/factory.d.ts +2 -0
- package/dist/types/agent/factory.d.ts.map +1 -1
- package/dist/types/agent/reactive.d.ts +2 -0
- package/dist/types/agent/reactive.d.ts.map +1 -1
- package/dist/types/agent/supervisor.d.ts +6 -0
- package/dist/types/agent/supervisor.d.ts.map +1 -1
- package/dist/types/agent/task.d.ts +6 -2
- package/dist/types/agent/task.d.ts.map +1 -1
- package/dist/types/connector/core.d.ts +13 -8
- package/dist/types/connector/core.d.ts.map +1 -1
- package/dist/types/connector/definition.d.ts +37 -18
- package/dist/types/connector/definition.d.ts.map +1 -1
- package/dist/types/connector/http.d.ts +6 -0
- package/dist/types/connector/http.d.ts.map +1 -1
- package/dist/types/connector/mcp.d.ts +24 -6
- package/dist/types/connector/mcp.d.ts.map +1 -1
- package/dist/types/connector/tenant.d.ts +17 -7
- package/dist/types/connector/tenant.d.ts.map +1 -1
- package/dist/types/connector/webhook.d.ts +6 -0
- package/dist/types/connector/webhook.d.ts.map +1 -1
- package/dist/types/goal/index.d.ts +46 -0
- package/dist/types/goal/index.d.ts.map +1 -0
- package/dist/types/goal/index.js +2 -0
- package/dist/types/goal/index.js.map +1 -0
- package/dist/types/ids/index.d.ts +2 -0
- package/dist/types/ids/index.d.ts.map +1 -1
- package/dist/types/ids/index.js.map +1 -1
- package/dist/types/message/index.d.ts +79 -13
- package/dist/types/message/index.d.ts.map +1 -1
- package/dist/types/message/index.js +49 -3
- package/dist/types/message/index.js.map +1 -1
- package/dist/types/plugin/index.d.ts +7 -5
- package/dist/types/plugin/index.d.ts.map +1 -1
- package/dist/types/plugin/index.js.map +1 -1
- package/dist/types/provider/chat.d.ts +27 -4
- package/dist/types/provider/chat.d.ts.map +1 -1
- package/dist/types/provider/index.d.ts +1 -1
- package/dist/types/provider/index.d.ts.map +1 -1
- package/dist/types/provider/interface.d.ts +18 -7
- package/dist/types/provider/interface.d.ts.map +1 -1
- package/dist/types/provider/model.d.ts +12 -0
- package/dist/types/provider/model.d.ts.map +1 -1
- package/dist/types/provider/stream.d.ts +6 -0
- package/dist/types/provider/stream.d.ts.map +1 -1
- package/dist/types/rag/embedding.d.ts +15 -2
- package/dist/types/rag/embedding.d.ts.map +1 -1
- package/dist/types/rag/ingestion.d.ts +2 -2
- package/dist/types/rag/ingestion.d.ts.map +1 -1
- package/dist/types/rag/knowledge-base.d.ts +3 -3
- package/dist/types/rag/knowledge-base.d.ts.map +1 -1
- package/dist/types/rag/retrieval.d.ts +2 -2
- package/dist/types/rag/retrieval.d.ts.map +1 -1
- package/dist/types/rag/scope.d.ts +4 -0
- package/dist/types/rag/scope.d.ts.map +1 -1
- package/dist/types/rag/vector.d.ts +5 -2
- package/dist/types/rag/vector.d.ts.map +1 -1
- package/dist/types/run/config.d.ts +20 -0
- package/dist/types/run/config.d.ts.map +1 -1
- package/dist/types/run/events.d.ts +25 -1
- package/dist/types/run/events.d.ts.map +1 -1
- package/dist/types/run/events.js.map +1 -1
- package/dist/types/run/metadata.d.ts +2 -0
- package/dist/types/run/metadata.d.ts.map +1 -1
- package/dist/types/run/step.d.ts +2 -6
- package/dist/types/run/step.d.ts.map +1 -1
- package/dist/types/run/step.js.map +1 -1
- package/dist/types/run/store.d.ts +55 -2
- package/dist/types/run/store.d.ts.map +1 -1
- package/dist/types/sandbox/index.d.ts +47 -6
- package/dist/types/sandbox/index.d.ts.map +1 -1
- package/dist/types/sandbox/index.js +23 -10
- package/dist/types/sandbox/index.js.map +1 -1
- package/dist/types/session/store.d.ts +13 -0
- package/dist/types/session/store.d.ts.map +1 -1
- package/dist/types/tool/index.d.ts +33 -11
- package/dist/types/tool/index.d.ts.map +1 -1
- package/dist/types/tool/index.js.map +1 -1
- package/dist/types/topic/entity.d.ts +3 -4
- package/dist/types/topic/entity.d.ts.map +1 -1
- package/dist/types/topic/store.d.ts +3 -3
- package/dist/utils/id.d.ts +3 -1
- package/dist/utils/id.d.ts.map +1 -1
- package/dist/utils/id.js +4 -0
- package/dist/utils/id.js.map +1 -1
- package/dist/utils/process-environment.d.ts +26 -0
- package/dist/utils/process-environment.d.ts.map +1 -0
- package/dist/utils/process-environment.js +78 -0
- package/dist/utils/process-environment.js.map +1 -0
- package/dist/vault/InMemoryCredentialVault.d.ts +2 -0
- package/dist/vault/InMemoryCredentialVault.d.ts.map +1 -1
- package/dist/vault/InMemoryCredentialVault.js +24 -4
- package/dist/vault/InMemoryCredentialVault.js.map +1 -1
- package/dist/vault/instrumentation.d.ts.map +1 -1
- package/dist/vault/instrumentation.js +15 -0
- package/dist/vault/instrumentation.js.map +1 -1
- package/package.json +1 -1
- package/src/advisory/executor.ts +4 -1
- package/src/agents/ReactiveAgent.ts +12 -0
- package/src/agents/RouterAgent.ts +25 -3
- package/src/agents/SupervisorAgent.ts +33 -11
- package/src/agents/runAgent.ts +38 -2
- package/src/authorization/command-line.ts +390 -0
- package/src/authorization/rules.ts +22 -1
- package/src/bridge/a2a/client.ts +384 -97
- package/src/bridge/a2a/mapper.ts +5 -0
- package/src/bridge/acp/server.ts +184 -42
- package/src/bridge/mcp/connector/adapter.ts +28 -20
- package/src/bridge/sse/mapper.ts +3 -0
- package/src/compaction/dangling.ts +203 -38
- package/src/compaction/index.ts +9 -2
- package/src/compaction/manual.ts +125 -18
- package/src/compaction/plan.ts +42 -11
- package/src/compaction/retention.ts +23 -8
- package/src/compaction/summary.ts +4 -4
- package/src/compaction/verifier.ts +66 -0
- package/src/connector/BaseConnector.ts +19 -4
- package/src/connector/builtins/http.ts +236 -46
- package/src/connector/builtins/webhook.ts +207 -47
- package/src/connector/execution-contract.ts +27 -0
- package/src/connector/http-operation.ts +238 -0
- package/src/connector/mcp/adapter.ts +8 -3
- package/src/connector/mcp/client.ts +207 -58
- package/src/connector/mcp/http-sse.ts +91 -23
- package/src/connector/mcp/prompt-adapter.ts +8 -2
- package/src/connector/mcp/stdio.ts +21 -46
- package/src/connector/mcp/streamable-http.ts +86 -22
- package/src/connector/tools/adapter.ts +23 -14
- package/src/connector/tools/definitions.ts +5 -2
- package/src/connector/tools/result.ts +21 -0
- package/src/connector/web/guarded-fetch.ts +188 -48
- package/src/constants/sandbox/index.ts +3 -2
- package/src/contracts/api.ts +2 -0
- package/src/contracts/schemas.ts +7 -0
- package/src/directory/derive-supervisor.ts +8 -0
- package/src/directory/derive.ts +8 -0
- package/src/directory/load.ts +2 -0
- package/src/directory/types.ts +4 -0
- package/src/eval/experiment.ts +160 -111
- package/src/eval/judge.ts +13 -2
- package/src/eval/types.ts +7 -1
- package/src/manager/agent/lifecycle.ts +28 -12
- package/src/manager/connector/environment.ts +3 -1
- package/src/manager/connector/lifecycle.ts +364 -24
- package/src/manager/connector/tenant.ts +56 -23
- package/src/manager/goal/activation.ts +52 -0
- package/src/manager/index.ts +10 -2
- package/src/manager/run/persistence.ts +6 -1
- package/src/manager/topic/dependency.ts +39 -0
- package/src/manager/topic/lifecycle.ts +19 -31
- package/src/plugin/index.ts +1 -0
- package/src/plugin/lifecycle.ts +180 -39
- package/src/plugin/loader.ts +70 -13
- package/src/provider/collect-chat-completion.ts +3 -0
- package/src/provider/fallback.ts +79 -11
- package/src/provider/idle-timeout.ts +143 -17
- package/src/provider/index.ts +2 -0
- package/src/provider/instrumentation.ts +1 -0
- package/src/provider/retry.ts +16 -1
- package/src/public-runtime.ts +190 -32
- package/src/public-tools.ts +5 -0
- package/src/public-types.ts +85 -11
- package/src/rag/embedding.ts +147 -19
- package/src/rag/index.ts +1 -1
- package/src/rag/ingestion.ts +16 -2
- package/src/rag/knowledge-base.ts +13 -4
- package/src/rag/operation.ts +28 -0
- package/src/rag/rag-tool.ts +6 -3
- package/src/rag/retriever.ts +62 -11
- package/src/rag/vector-store.ts +8 -2
- package/src/registry/command/kernel-commands.ts +223 -4
- package/src/run/reporter.ts +10 -0
- package/src/run-query/index.ts +84 -15
- package/src/runtime/query/context.ts +13 -3
- package/src/runtime/query/executor.ts +90 -17
- package/src/runtime/query/guard.ts +12 -0
- package/src/runtime/query/index.ts +652 -103
- package/src/runtime/query/iteration/index.ts +89 -13
- package/src/runtime/query/iteration/phases/compaction.ts +120 -55
- package/src/runtime/query/iteration/phases/context.ts +4 -0
- package/src/runtime/query/iteration/phases/tool-review.ts +28 -0
- package/src/runtime/query/iteration/stream-turn.ts +3 -0
- package/src/runtime/query/project-instructions.ts +212 -0
- package/src/runtime/query/request-rich-content.ts +153 -0
- package/src/runtime/query/result.ts +12 -1
- package/src/runtime/query/resume-pending.ts +20 -18
- package/src/runtime/query/resume-run.ts +52 -8
- package/src/runtime/query/run-state.ts +11 -1
- package/src/runtime/query/sandbox-lifecycle.ts +210 -0
- package/src/sandbox/isolation.ts +9 -0
- package/src/sandbox/provider/local.ts +255 -90
- package/src/sandbox/terminal.ts +13 -5
- package/src/session/errors.ts +68 -42
- package/src/session/handoff/broadcast.ts +20 -14
- package/src/session/handoff/single.ts +14 -13
- package/src/store/attachment/index.ts +65 -3
- package/src/store/feedback/conformance.ts +39 -0
- package/src/store/feedback/disk.ts +128 -82
- package/src/store/goal/index.ts +594 -0
- package/src/store/index.ts +1 -1
- package/src/store/kv/revision-record-store.ts +346 -0
- package/src/store/memory/disk.ts +288 -113
- package/src/store/run/disk.ts +96 -5
- package/src/store/run/memory.ts +22 -2
- package/src/store/session/disk.ts +93 -6
- package/src/store/session/memory.ts +22 -0
- package/src/store/topic/memory.ts +4 -5
- package/src/store/topic/objective.ts +215 -100
- package/src/store/topic/state.ts +100 -63
- package/src/tools/builtins/bash.ts +21 -0
- package/src/tools/builtins/computer-use.ts +9 -1
- package/src/tools/builtins/content-fingerprint.ts +9 -12
- package/src/tools/builtins/edit.ts +190 -27
- package/src/tools/builtins/write-file.ts +55 -19
- package/src/tools/command-arguments.ts +54 -0
- package/src/tools/coordinator/index.ts +4 -1
- package/src/tools/defineTool.ts +11 -0
- package/src/tools/env-scrub.ts +7 -5
- package/src/tools/goal/index.ts +129 -0
- package/src/tools/memory/index.ts +26 -3
- package/src/tools/memory/search.ts +20 -3
- package/src/types/agent/base.ts +12 -3
- package/src/types/agent/factory.ts +2 -0
- package/src/types/agent/reactive.ts +2 -0
- package/src/types/agent/supervisor.ts +6 -0
- package/src/types/agent/task.ts +6 -2
- package/src/types/connector/core.ts +13 -8
- package/src/types/connector/definition.ts +54 -20
- package/src/types/connector/http.ts +7 -0
- package/src/types/connector/mcp.ts +27 -6
- package/src/types/connector/tenant.ts +21 -7
- package/src/types/connector/webhook.ts +7 -0
- package/src/types/goal/index.ts +50 -0
- package/src/types/ids/index.ts +2 -0
- package/src/types/message/index.ts +147 -12
- package/src/types/plugin/index.ts +7 -5
- package/src/types/provider/chat.ts +35 -4
- package/src/types/provider/index.ts +1 -1
- package/src/types/provider/interface.ts +22 -7
- package/src/types/provider/model.ts +13 -0
- package/src/types/provider/stream.ts +6 -0
- package/src/types/rag/embedding.ts +16 -2
- package/src/types/rag/ingestion.ts +2 -1
- package/src/types/rag/knowledge-base.ts +7 -3
- package/src/types/rag/retrieval.ts +2 -1
- package/src/types/rag/scope.ts +5 -0
- package/src/types/rag/vector.ts +5 -2
- package/src/types/run/config.ts +20 -0
- package/src/types/run/events.ts +28 -3
- package/src/types/run/metadata.ts +2 -0
- package/src/types/run/step.ts +2 -7
- package/src/types/run/store.ts +60 -2
- package/src/types/sandbox/index.ts +57 -14
- package/src/types/session/store.ts +18 -0
- package/src/types/tool/index.ts +33 -11
- package/src/types/topic/entity.ts +3 -4
- package/src/types/topic/store.ts +3 -3
- package/src/utils/id.ts +6 -0
- package/src/utils/process-environment.ts +101 -0
- package/src/vault/InMemoryCredentialVault.ts +29 -4
- package/src/vault/instrumentation.ts +24 -0
package/dist/sandbox/terminal.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* A real terminal
|
|
2
|
+
* A real host pseudo-terminal, or nothing.
|
|
3
3
|
*
|
|
4
4
|
* `exec` runs a command and hands back what it printed. That is the whole
|
|
5
5
|
* shape of it, and a large class of work does not fit: an interactive
|
|
@@ -18,6 +18,12 @@
|
|
|
18
18
|
* why. That is the same rule `Sandbox.setNetworkPolicy` states for itself:
|
|
19
19
|
* a capability accepted and not applied is worse than one never offered,
|
|
20
20
|
* because the caller stops looking.
|
|
21
|
+
*
|
|
22
|
+
* Nothing in this module creates a sandbox or owns a complete descendant
|
|
23
|
+
* process tree. `openTerminalWith` starts exactly the program, arguments and
|
|
24
|
+
* working directory it is handed through the supplied binding. A sandbox or
|
|
25
|
+
* durable terminal backend must wrap that argv under its own confinement and
|
|
26
|
+
* make teardown await every process it owns before using this primitive.
|
|
21
27
|
*/
|
|
22
28
|
/** A terminal asked for where none can be provided. */
|
|
23
29
|
export class TerminalUnavailableError extends Error {
|
|
@@ -70,11 +76,13 @@ export async function loadPty(loader) {
|
|
|
70
76
|
}
|
|
71
77
|
}
|
|
72
78
|
/**
|
|
73
|
-
* Open a terminal, given a loaded binding.
|
|
79
|
+
* Open a host terminal, given a loaded binding.
|
|
74
80
|
*
|
|
75
81
|
* Separated from `loadPty` so the refusal and the session are testable
|
|
76
82
|
* apart: one is about a missing dependency, the other about wiring a
|
|
77
|
-
* process that exists.
|
|
83
|
+
* process that exists. This helper does not add confinement or descendant
|
|
84
|
+
* cleanup; those belong to the backend that supplies its argv and owns the
|
|
85
|
+
* returned session.
|
|
78
86
|
*/
|
|
79
87
|
export function openTerminalWith(pty, options, defaults) {
|
|
80
88
|
const listeners = new Set();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal.js","sourceRoot":"","sources":["../../src/sandbox/terminal.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"terminal.js","sourceRoot":"","sources":["../../src/sandbox/terminal.ts"],"names":[],"mappings":"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"}
|
package/dist/session/errors.d.ts
CHANGED
|
@@ -83,20 +83,19 @@ export declare class WorkspaceBackendError extends Error {
|
|
|
83
83
|
});
|
|
84
84
|
}
|
|
85
85
|
/**
|
|
86
|
-
* Raised by {@link import('../types/
|
|
87
|
-
* when the supplied
|
|
88
|
-
*
|
|
89
|
-
*
|
|
90
|
-
* handoff CAS pattern (§6.1).
|
|
86
|
+
* Raised by {@link import('../types/topic/store.js').TopicStore.updateTopic}
|
|
87
|
+
* when the supplied Topic owner version does not match the persisted record.
|
|
88
|
+
* The caller re-reads the Topic, reapplies its intended mutation, and retries.
|
|
89
|
+
* Mirrors the Session handoff CAS pattern (§6.1).
|
|
91
90
|
*/
|
|
92
|
-
export declare class
|
|
91
|
+
export declare class StaleTopicError extends Error {
|
|
93
92
|
readonly details: {
|
|
94
|
-
|
|
93
|
+
topicId: TopicId;
|
|
95
94
|
expectedVersion: number;
|
|
96
95
|
actualVersion: number;
|
|
97
96
|
};
|
|
98
97
|
constructor(details: {
|
|
99
|
-
|
|
98
|
+
topicId: TopicId;
|
|
100
99
|
expectedVersion: number;
|
|
101
100
|
actualVersion: number;
|
|
102
101
|
});
|
|
@@ -104,8 +103,8 @@ export declare class StaleThreadError extends Error {
|
|
|
104
103
|
/**
|
|
105
104
|
* Raised when a Session write names a version the store no longer has.
|
|
106
105
|
*
|
|
107
|
-
* The sibling of {@link
|
|
108
|
-
*
|
|
106
|
+
* The sibling of {@link StaleTopicError}, and it arrived much later: Topic had
|
|
107
|
+
* a working compare-and-set from the start while `Session.ownerVersion`
|
|
109
108
|
* was documented as a CAS counter that nothing enforced. Two concurrent
|
|
110
109
|
* handoffs could both pass, both provision a worktree, and one silently erase
|
|
111
110
|
* the other.
|
|
@@ -127,44 +126,44 @@ export declare class StaleSessionError extends Error {
|
|
|
127
126
|
});
|
|
128
127
|
}
|
|
129
128
|
/**
|
|
130
|
-
* Raised by the spawn path (and any caller that enforces the open-
|
|
131
|
-
* precondition) when a
|
|
132
|
-
*
|
|
133
|
-
*
|
|
129
|
+
* Raised by the spawn path (and any caller that enforces the open-Topic
|
|
130
|
+
* precondition) when a Topic is archived and a mutation requires it to be
|
|
131
|
+
* open. Convention #5: deny-by-default — archival is a hard read-only
|
|
132
|
+
* boundary.
|
|
134
133
|
*/
|
|
135
|
-
export declare class
|
|
134
|
+
export declare class TopicArchivedError extends Error {
|
|
136
135
|
readonly details: {
|
|
137
|
-
|
|
136
|
+
topicId: TopicId;
|
|
138
137
|
op: string;
|
|
139
138
|
};
|
|
140
139
|
constructor(details: {
|
|
141
|
-
|
|
140
|
+
topicId: TopicId;
|
|
142
141
|
op: string;
|
|
143
142
|
});
|
|
144
143
|
}
|
|
145
144
|
/**
|
|
146
145
|
* Raised by {@link import('../manager/topic/lifecycle.js').TopicManager.archive}
|
|
147
|
-
* and `.delete` when the
|
|
146
|
+
* and `.delete` when the Topic's session-presence precondition is violated:
|
|
148
147
|
*
|
|
149
|
-
* - `op: 'archive'` — at least one Session under the
|
|
148
|
+
* - `op: 'archive'` — at least one Session under the Topic is in a
|
|
150
149
|
* non-terminal state (`active | locked | awaiting_hitl | awaiting_merge`).
|
|
151
150
|
* The caller must first quiesce those sessions (let them reach `idle`,
|
|
152
|
-
* `failed`, or `archived`) before flipping the
|
|
153
|
-
* - `op: 'delete'` — the
|
|
151
|
+
* `failed`, or `archived`) before flipping the Topic to archived.
|
|
152
|
+
* - `op: 'delete'` — the Topic still has at least one attached Session.
|
|
154
153
|
* Callers must either archive + tombstone those sessions (`deleteSession`)
|
|
155
|
-
* before calling `
|
|
154
|
+
* before calling `deleteTopic`, or accept that deletion is not yet safe.
|
|
156
155
|
*
|
|
157
|
-
* `blockingSessions` carries the first {@link
|
|
156
|
+
* `blockingSessions` carries the first {@link TOPIC_NOT_EMPTY_SAMPLE_LIMIT}
|
|
158
157
|
* offenders with their current status so operator tooling can surface an
|
|
159
|
-
* actionable list without unbounded error payloads on large
|
|
158
|
+
* actionable list without unbounded error payloads on large topics.
|
|
160
159
|
* `totalBlockingSessions` holds the full count even when the sample is
|
|
161
160
|
* truncated. Convention #5: deny-by-default — no implicit cascade, no silent
|
|
162
161
|
* no-op.
|
|
163
162
|
*/
|
|
164
|
-
export declare const
|
|
165
|
-
export declare class
|
|
163
|
+
export declare const TOPIC_NOT_EMPTY_SAMPLE_LIMIT = 50;
|
|
164
|
+
export declare class TopicNotEmptyError extends Error {
|
|
166
165
|
readonly details: {
|
|
167
|
-
|
|
166
|
+
topicId: TopicId;
|
|
168
167
|
tenantId: TenantId;
|
|
169
168
|
op: 'archive' | 'delete';
|
|
170
169
|
blockingSessions: ReadonlyArray<{
|
|
@@ -174,7 +173,7 @@ export declare class ThreadNotEmptyError extends Error {
|
|
|
174
173
|
totalBlockingSessions: number;
|
|
175
174
|
};
|
|
176
175
|
constructor(details: {
|
|
177
|
-
|
|
176
|
+
topicId: TopicId;
|
|
178
177
|
tenantId: TenantId;
|
|
179
178
|
op: 'archive' | 'delete';
|
|
180
179
|
blockingSessions: ReadonlyArray<{
|
|
@@ -187,7 +186,7 @@ export declare class ThreadNotEmptyError extends Error {
|
|
|
187
186
|
/**
|
|
188
187
|
* Raised when an ingress path is asked to attach work to an archived Project.
|
|
189
188
|
*
|
|
190
|
-
* The sibling of {@link
|
|
189
|
+
* The sibling of {@link TopicArchivedError}, on the level that survives. A
|
|
191
190
|
* closed workspace is a decision by its owner, and the paths that create
|
|
192
191
|
* sessions have to be able to see it — otherwise "archived" is a word in a
|
|
193
192
|
* listing rather than a state of the system.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/session/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AACjE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAEjE;;;;;GAKG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;IAC9C,QAAQ,CAAC,OAAO,EAAE;QACjB,SAAS,EAAE,QAAQ,CAAA;QACnB,QAAQ,EAAE,MAAM,CAAA;KAChB,CAAA;gBAEW,OAAO,EAAE;QAAE,SAAS,EAAE,QAAQ,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE;CAK9D;AAED;;;;GAIG;AACH;;;;;;;;;;;GAWG;AACH,qBAAa,yBAA0B,SAAQ,KAAK;IAGvC,QAAQ,CAAC,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,SAAS,CAAA;KAAE;IAFhF,SAAkB,IAAI,+BAA8B;gBAE/B,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,SAAS,CAAA;KAAE;CAKhF;AAED,qBAAa,kBAAmB,SAAQ,KAAK;IAC5C,QAAQ,CAAC,OAAO,EAAE;QACjB,SAAS,EAAE,SAAS,CAAA;QACpB,SAAS,EAAE,SAAS,SAAS,EAAE,CAAA;KAC/B,CAAA;gBAEW,OAAO,EAAE;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/session/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/session/errors.js
CHANGED
|
@@ -68,25 +68,24 @@ export class WorkspaceBackendError extends Error {
|
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
/**
|
|
71
|
-
* Raised by {@link import('../types/
|
|
72
|
-
* when the supplied
|
|
73
|
-
*
|
|
74
|
-
*
|
|
75
|
-
* handoff CAS pattern (§6.1).
|
|
71
|
+
* Raised by {@link import('../types/topic/store.js').TopicStore.updateTopic}
|
|
72
|
+
* when the supplied Topic owner version does not match the persisted record.
|
|
73
|
+
* The caller re-reads the Topic, reapplies its intended mutation, and retries.
|
|
74
|
+
* Mirrors the Session handoff CAS pattern (§6.1).
|
|
76
75
|
*/
|
|
77
|
-
export class
|
|
76
|
+
export class StaleTopicError extends Error {
|
|
78
77
|
details;
|
|
79
78
|
constructor(details) {
|
|
80
|
-
super(`Stale
|
|
81
|
-
this.name = '
|
|
79
|
+
super(`Stale Topic ${details.topicId}: expected ownerVersion=${details.expectedVersion}, actual=${details.actualVersion}`);
|
|
80
|
+
this.name = 'StaleTopicError';
|
|
82
81
|
this.details = details;
|
|
83
82
|
}
|
|
84
83
|
}
|
|
85
84
|
/**
|
|
86
85
|
* Raised when a Session write names a version the store no longer has.
|
|
87
86
|
*
|
|
88
|
-
* The sibling of {@link
|
|
89
|
-
*
|
|
87
|
+
* The sibling of {@link StaleTopicError}, and it arrived much later: Topic had
|
|
88
|
+
* a working compare-and-set from the start while `Session.ownerVersion`
|
|
90
89
|
* was documented as a CAS counter that nothing enforced. Two concurrent
|
|
91
90
|
* handoffs could both pass, both provision a worktree, and one silently erase
|
|
92
91
|
* the other.
|
|
@@ -104,51 +103,51 @@ export class StaleSessionError extends Error {
|
|
|
104
103
|
}
|
|
105
104
|
}
|
|
106
105
|
/**
|
|
107
|
-
* Raised by the spawn path (and any caller that enforces the open-
|
|
108
|
-
* precondition) when a
|
|
109
|
-
*
|
|
110
|
-
*
|
|
106
|
+
* Raised by the spawn path (and any caller that enforces the open-Topic
|
|
107
|
+
* precondition) when a Topic is archived and a mutation requires it to be
|
|
108
|
+
* open. Convention #5: deny-by-default — archival is a hard read-only
|
|
109
|
+
* boundary.
|
|
111
110
|
*/
|
|
112
|
-
export class
|
|
111
|
+
export class TopicArchivedError extends Error {
|
|
113
112
|
details;
|
|
114
113
|
constructor(details) {
|
|
115
|
-
super(`
|
|
116
|
-
this.name = '
|
|
114
|
+
super(`Topic ${details.topicId} is archived; operation '${details.op}' rejected`);
|
|
115
|
+
this.name = 'TopicArchivedError';
|
|
117
116
|
this.details = details;
|
|
118
117
|
}
|
|
119
118
|
}
|
|
120
119
|
/**
|
|
121
120
|
* Raised by {@link import('../manager/topic/lifecycle.js').TopicManager.archive}
|
|
122
|
-
* and `.delete` when the
|
|
121
|
+
* and `.delete` when the Topic's session-presence precondition is violated:
|
|
123
122
|
*
|
|
124
|
-
* - `op: 'archive'` — at least one Session under the
|
|
123
|
+
* - `op: 'archive'` — at least one Session under the Topic is in a
|
|
125
124
|
* non-terminal state (`active | locked | awaiting_hitl | awaiting_merge`).
|
|
126
125
|
* The caller must first quiesce those sessions (let them reach `idle`,
|
|
127
|
-
* `failed`, or `archived`) before flipping the
|
|
128
|
-
* - `op: 'delete'` — the
|
|
126
|
+
* `failed`, or `archived`) before flipping the Topic to archived.
|
|
127
|
+
* - `op: 'delete'` — the Topic still has at least one attached Session.
|
|
129
128
|
* Callers must either archive + tombstone those sessions (`deleteSession`)
|
|
130
|
-
* before calling `
|
|
129
|
+
* before calling `deleteTopic`, or accept that deletion is not yet safe.
|
|
131
130
|
*
|
|
132
|
-
* `blockingSessions` carries the first {@link
|
|
131
|
+
* `blockingSessions` carries the first {@link TOPIC_NOT_EMPTY_SAMPLE_LIMIT}
|
|
133
132
|
* offenders with their current status so operator tooling can surface an
|
|
134
|
-
* actionable list without unbounded error payloads on large
|
|
133
|
+
* actionable list without unbounded error payloads on large topics.
|
|
135
134
|
* `totalBlockingSessions` holds the full count even when the sample is
|
|
136
135
|
* truncated. Convention #5: deny-by-default — no implicit cascade, no silent
|
|
137
136
|
* no-op.
|
|
138
137
|
*/
|
|
139
|
-
export const
|
|
140
|
-
export class
|
|
138
|
+
export const TOPIC_NOT_EMPTY_SAMPLE_LIMIT = 50;
|
|
139
|
+
export class TopicNotEmptyError extends Error {
|
|
141
140
|
details;
|
|
142
141
|
constructor(details) {
|
|
143
|
-
super(`
|
|
144
|
-
this.name = '
|
|
142
|
+
super(`Topic ${details.topicId} ${details.op} blocked: ${details.totalBlockingSessions} session(s) still attached`);
|
|
143
|
+
this.name = 'TopicNotEmptyError';
|
|
145
144
|
this.details = details;
|
|
146
145
|
}
|
|
147
146
|
}
|
|
148
147
|
/**
|
|
149
148
|
* Raised when an ingress path is asked to attach work to an archived Project.
|
|
150
149
|
*
|
|
151
|
-
* The sibling of {@link
|
|
150
|
+
* The sibling of {@link TopicArchivedError}, on the level that survives. A
|
|
152
151
|
* closed workspace is a decision by its owner, and the paths that create
|
|
153
152
|
* sessions have to be able to see it — otherwise "archived" is a word in a
|
|
154
153
|
* listing rather than a state of the system.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/session/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH;;;;;GAKG;AACH,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IACrC,OAAO,CAGf;IAED,YAAY,OAAkD;QAC7D,KAAK,CAAC,+BAA+B,OAAO,CAAC,SAAS,aAAa,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAA;QACtF,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAA;QAClC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACvB,CAAC;CACD;AAED;;;;GAIG;AACH;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IAG9B;IAFH,IAAI,GAAG,2BAA2B,CAAA;IAEpD,YAAqB,OAA2D;QAC/E,KAAK,CACJ,gCAAgC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,iBAAiB,mFAAmF,CACjK,CAAA;QAHmB,YAAO,GAAP,OAAO,CAAoD;IAIhF,CAAC;CACD;AAED,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IACnC,OAAO,CAGf;IAED,YAAY,
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/session/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
* source → idle
|
|
21
21
|
* ```
|
|
22
22
|
*/
|
|
23
|
-
import type
|
|
23
|
+
import { type TopicManagerDependency } from '../../manager/topic/dependency.js';
|
|
24
24
|
import type { TenantId } from '../../types/ids/index.js';
|
|
25
25
|
import type { SessionStore } from '../../types/session/store.js';
|
|
26
26
|
import type { WorkspaceBackendRegistry } from '../workspace/registry.js';
|
|
@@ -28,7 +28,7 @@ import type { HandoffAssignment, HandoffOutcome } from './assignment.js';
|
|
|
28
28
|
import type { CapacityValidator } from './capacity.js';
|
|
29
29
|
import type { HandoffEventSink } from './events.js';
|
|
30
30
|
import type { RunStatusResolver } from './single.js';
|
|
31
|
-
|
|
31
|
+
interface BroadcastHandoffBaseDeps {
|
|
32
32
|
store: SessionStore;
|
|
33
33
|
workspaceRegistry: WorkspaceBackendRegistry;
|
|
34
34
|
capacity: CapacityValidator;
|
|
@@ -38,13 +38,9 @@ export interface BroadcastHandoffDeps {
|
|
|
38
38
|
* that used to stand in here reported every session unblocked.
|
|
39
39
|
*/
|
|
40
40
|
runStatus: RunStatusResolver;
|
|
41
|
-
/**
|
|
42
|
-
* Gate every recipient-session creation on the Thread being `'open'`.
|
|
43
|
-
* Added in Phase 2.6; checked once per broadcast (all recipients share
|
|
44
|
-
* a threadId by the fan-out invariant validated above).
|
|
45
|
-
*/
|
|
46
|
-
threadManager: TopicManager;
|
|
47
41
|
}
|
|
42
|
+
/** Dependencies for a multi-recipient handoff. */
|
|
43
|
+
export type BroadcastHandoffDeps = BroadcastHandoffBaseDeps & TopicManagerDependency;
|
|
48
44
|
/**
|
|
49
45
|
* Executes a broadcast fan-out. All assignments MUST share the same
|
|
50
46
|
* `sourceSessionId`, `expectedOwnerVersion`, `broadcastId`, and `projectId`.
|
|
@@ -55,4 +51,5 @@ export interface BroadcastHandoffDeps {
|
|
|
55
51
|
* the underlying error propagates after `onBroadcastRollback` is emitted.
|
|
56
52
|
*/
|
|
57
53
|
export declare function executeBroadcastHandoff(deps: BroadcastHandoffDeps, assignments: readonly HandoffAssignment[], tenantId: TenantId): Promise<readonly HandoffOutcome[]>;
|
|
54
|
+
export {};
|
|
58
55
|
//# sourceMappingURL=broadcast.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"broadcast.d.ts","sourceRoot":"","sources":["../../../src/session/handoff/broadcast.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"broadcast.d.ts","sourceRoot":"","sources":["../../../src/session/handoff/broadcast.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,OAAO,EAAE,KAAK,sBAAsB,EAAuB,MAAM,mCAAmC,CAAA;AACpG,OAAO,KAAK,EAAa,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAGnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAIhE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAA;AACxE,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AACxE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAGpD,UAAU,wBAAwB;IACjC,KAAK,EAAE,YAAY,CAAA;IACnB,iBAAiB,EAAE,wBAAwB,CAAA;IAC3C,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,MAAM,EAAE,gBAAgB,CAAA;IACxB;;;OAGG;IACH,SAAS,EAAE,iBAAiB,CAAA;CAC5B;AAED,kDAAkD;AAClD,MAAM,MAAM,oBAAoB,GAAG,wBAAwB,GAAG,sBAAsB,CAAA;AAgBpF;;;;;;;;GAQG;AACH,wBAAsB,uBAAuB,CAC5C,IAAI,EAAE,oBAAoB,EAC1B,WAAW,EAAE,SAAS,iBAAiB,EAAE,EACzC,QAAQ,EAAE,QAAQ,GAChB,OAAO,CAAC,SAAS,cAAc,EAAE,CAAC,CAgPpC"}
|
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
* ```
|
|
22
22
|
*/
|
|
23
23
|
import { requireOpenProject } from '../../manager/project/lifecycle.js';
|
|
24
|
+
import { resolveTopicManager } from '../../manager/topic/dependency.js';
|
|
24
25
|
import { TenantIsolationError } from '../errors.js';
|
|
25
26
|
import { HandoffLockRejected, HandoffVersionConflict } from './version.js';
|
|
26
27
|
/**
|
|
@@ -86,11 +87,11 @@ export async function executeBroadcastHandoff(deps, assignments, tenantId) {
|
|
|
86
87
|
}
|
|
87
88
|
seen.add(key);
|
|
88
89
|
}
|
|
89
|
-
//
|
|
90
|
-
// archived
|
|
90
|
+
// Topic archive gate (Phase 2.6) — runs BEFORE source load/capacity so an
|
|
91
|
+
// archived Topic fails fastest with `TopicArchivedError`. All assignments
|
|
91
92
|
// share `topicId` by the shape validation above. Runs BEFORE the CAS
|
|
92
93
|
// lock so a denied fan-out leaves the source session untouched.
|
|
93
|
-
await deps.
|
|
94
|
+
await resolveTopicManager(deps).requireOpen(first.topicId, tenantId);
|
|
94
95
|
// 3. Load source + tenant check.
|
|
95
96
|
const source = await deps.store.getSession(first.sourceSessionId, tenantId);
|
|
96
97
|
if (!source) {
|
|
@@ -123,7 +124,10 @@ export async function executeBroadcastHandoff(deps, assignments, tenantId) {
|
|
|
123
124
|
const runResolver = deps.runStatus;
|
|
124
125
|
const blocking = await runResolver.blockingRun(source.id, tenantId);
|
|
125
126
|
if (blocking) {
|
|
126
|
-
throw new HandoffLockRejected({
|
|
127
|
+
throw new HandoffLockRejected({
|
|
128
|
+
sessionId: source.id,
|
|
129
|
+
reason: blocking.reason,
|
|
130
|
+
});
|
|
127
131
|
}
|
|
128
132
|
// 6. Capacity — width + depth. Width covers N new children in one shot
|
|
129
133
|
// (§6.5); depth covers `source.depth + 1 ≤ maxDepth`. The same read is
|
|
@@ -143,7 +147,11 @@ export async function executeBroadcastHandoff(deps, assignments, tenantId) {
|
|
|
143
147
|
// the lock at the version it read left the locked window invisible, so a
|
|
144
148
|
// second broadcast holding the same snapshot passed the check above and
|
|
145
149
|
// fanned out over a session that was already locked.
|
|
146
|
-
const locked = {
|
|
150
|
+
const locked = {
|
|
151
|
+
...source,
|
|
152
|
+
status: 'locked',
|
|
153
|
+
ownerVersion: source.ownerVersion + 1,
|
|
154
|
+
};
|
|
147
155
|
await deps.store.updateSession(locked, tenantId, first.expectedOwnerVersion);
|
|
148
156
|
emit(deps.events.onLocked, { sessionId: source.id, at: new Date() });
|
|
149
157
|
// 8. Fan-out provisioning. Track per-recipient partial state so rollback
|
|
@@ -165,7 +173,9 @@ export async function executeBroadcastHandoff(deps, assignments, tenantId) {
|
|
|
165
173
|
createdSubSessionId: null,
|
|
166
174
|
};
|
|
167
175
|
partials.push(partial);
|
|
168
|
-
partial.workspace = await driver.create({
|
|
176
|
+
partial.workspace = await driver.create({
|
|
177
|
+
label: `broadcast-${assignment.id}`,
|
|
178
|
+
});
|
|
169
179
|
worktreesProvisioned += 1;
|
|
170
180
|
const childSession = await deps.store.createSession({
|
|
171
181
|
topicId: source.topicId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"broadcast.js","sourceRoot":"","sources":["../../../src/session/handoff/broadcast.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAA;
|
|
1
|
+
{"version":3,"file":"broadcast.js","sourceRoot":"","sources":["../../../src/session/handoff/broadcast.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
* appended `previousActors` + bumped `ownerVersion`.
|
|
20
20
|
* 9. Emit `onCommitted` with the new version.
|
|
21
21
|
*/
|
|
22
|
-
import type
|
|
22
|
+
import { type TopicManagerDependency } from '../../manager/topic/dependency.js';
|
|
23
23
|
import type { SessionId, TenantId } from '../../types/ids/index.js';
|
|
24
24
|
import type { SessionStore } from '../../types/session/store.js';
|
|
25
25
|
import type { WorkspaceBackendRegistry } from '../workspace/registry.js';
|
|
@@ -43,7 +43,7 @@ export interface RunStatusResolver {
|
|
|
43
43
|
reason: 'active_run' | 'pending_hitl' | 'pending_subsession';
|
|
44
44
|
} | null>;
|
|
45
45
|
}
|
|
46
|
-
|
|
46
|
+
interface SingleHandoffBaseDeps {
|
|
47
47
|
store: SessionStore;
|
|
48
48
|
workspaceRegistry: WorkspaceBackendRegistry;
|
|
49
49
|
capacity: CapacityValidator;
|
|
@@ -55,13 +55,9 @@ export interface SingleHandoffDeps {
|
|
|
55
55
|
* fail dressed as a check that ran.
|
|
56
56
|
*/
|
|
57
57
|
runStatus: RunStatusResolver;
|
|
58
|
-
/**
|
|
59
|
-
* Gate the recipient-session creation on the Topic being `'open'`.
|
|
60
|
-
* Added in Phase 2.6 to mirror spawn — a handoff into an archived
|
|
61
|
-
* Topic would otherwise undermine `TopicManager.archive`.
|
|
62
|
-
*/
|
|
63
|
-
threadManager: TopicManager;
|
|
64
58
|
}
|
|
59
|
+
/** Dependencies for a single-recipient handoff. */
|
|
60
|
+
export type SingleHandoffDeps = SingleHandoffBaseDeps & TopicManagerDependency;
|
|
65
61
|
/**
|
|
66
62
|
* Executes a single-recipient handoff against `deps.store`. Throws
|
|
67
63
|
* {@link HandoffLockRejected}, {@link HandoffVersionConflict},
|
|
@@ -70,4 +66,5 @@ export interface SingleHandoffDeps {
|
|
|
70
66
|
* {@link WorkspaceBackendError} after the compensating revert.
|
|
71
67
|
*/
|
|
72
68
|
export declare function executeSingleHandoff(deps: SingleHandoffDeps, assignment: HandoffAssignment, tenantId: TenantId): Promise<HandoffOutcome>;
|
|
69
|
+
export {};
|
|
73
70
|
//# sourceMappingURL=single.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"single.d.ts","sourceRoot":"","sources":["../../../src/session/handoff/single.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"single.d.ts","sourceRoot":"","sources":["../../../src/session/handoff/single.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,EAAE,KAAK,sBAAsB,EAAuB,MAAM,mCAAmC,CAAA;AACpG,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAEnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAIhE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAA;AACxE,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AACxE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAGnD;;;;;;;GAOG;AACH,MAAM,WAAW,iBAAiB;IACjC;;;OAGG;IACH,WAAW,CACV,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,GAChB,OAAO,CAAC;QACV,MAAM,EAAE,YAAY,GAAG,cAAc,GAAG,oBAAoB,CAAA;KAC5D,GAAG,IAAI,CAAC,CAAA;CACT;AAED,UAAU,qBAAqB;IAC9B,KAAK,EAAE,YAAY,CAAA;IACnB,iBAAiB,EAAE,wBAAwB,CAAA;IAC3C,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,MAAM,EAAE,gBAAgB,CAAA;IACxB;;;;;OAKG;IACH,SAAS,EAAE,iBAAiB,CAAA;CAC5B;AAED,mDAAmD;AACnD,MAAM,MAAM,iBAAiB,GAAG,qBAAqB,GAAG,sBAAsB,CAAA;AAE9E;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CACzC,IAAI,EAAE,iBAAiB,EACvB,UAAU,EAAE,iBAAiB,EAC7B,QAAQ,EAAE,QAAQ,GAChB,OAAO,CAAC,cAAc,CAAC,CAuKzB"}
|
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
* 9. Emit `onCommitted` with the new version.
|
|
21
21
|
*/
|
|
22
22
|
import { requireOpenProject } from '../../manager/project/lifecycle.js';
|
|
23
|
+
import { resolveTopicManager } from '../../manager/topic/dependency.js';
|
|
23
24
|
import { TenantIsolationError } from '../errors.js';
|
|
24
25
|
import { HandoffLockRejected, HandoffVersionConflict } from './version.js';
|
|
25
26
|
/**
|
|
@@ -36,11 +37,11 @@ export async function executeSingleHandoff(deps, assignment, tenantId) {
|
|
|
36
37
|
resource: `handoff-assignment(${assignment.id})`,
|
|
37
38
|
});
|
|
38
39
|
}
|
|
39
|
-
//
|
|
40
|
-
// fails fastest with `
|
|
40
|
+
// Topic archive gate (Phase 2.6) — runs FIRST so an archived Topic
|
|
41
|
+
// fails fastest with `TopicArchivedError` rather than a lock rejection or
|
|
41
42
|
// capacity error. Checked BEFORE the CAS lock so a denied handoff leaves
|
|
42
43
|
// the source session untouched.
|
|
43
|
-
await deps.
|
|
44
|
+
await resolveTopicManager(deps).requireOpen(assignment.topicId, tenantId);
|
|
44
45
|
// 1. Load source session + tenant check.
|
|
45
46
|
const source = await deps.store.getSession(assignment.sourceSessionId, tenantId);
|
|
46
47
|
if (!source) {
|
|
@@ -118,7 +119,9 @@ export async function executeSingleHandoff(deps, assignment, tenantId) {
|
|
|
118
119
|
let createdSessionId = null;
|
|
119
120
|
try {
|
|
120
121
|
const driver = deps.workspaceRegistry.get('git-worktree');
|
|
121
|
-
provisionedWorkspace = await driver.create({
|
|
122
|
+
provisionedWorkspace = await driver.create({
|
|
123
|
+
label: `handoff-${assignment.id}`,
|
|
124
|
+
});
|
|
122
125
|
const recipientSession = await deps.store.createSession({
|
|
123
126
|
topicId: source.topicId,
|
|
124
127
|
projectId: source.projectId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"single.js","sourceRoot":"","sources":["../../../src/session/handoff/single.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAA;
|
|
1
|
+
{"version":3,"file":"single.js","sourceRoot":"","sources":["../../../src/session/handoff/single.ts"],"names":[],"mappings":"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"}
|
|
@@ -47,6 +47,14 @@ export interface StoredBytes {
|
|
|
47
47
|
readonly data: string;
|
|
48
48
|
readonly mediaType: string;
|
|
49
49
|
}
|
|
50
|
+
/** Authority owned by the public operation resolving stored bytes. */
|
|
51
|
+
export interface AttachmentOperationOptions {
|
|
52
|
+
/**
|
|
53
|
+
* A pre-aborted signal starts no store work. Implementations should use it
|
|
54
|
+
* to stop their own I/O; the SDK also stops awaiting a store that ignores it.
|
|
55
|
+
*/
|
|
56
|
+
readonly signal?: AbortSignal;
|
|
57
|
+
}
|
|
50
58
|
export interface AttachmentStore {
|
|
51
59
|
/**
|
|
52
60
|
* Take bytes, return a ref.
|
|
@@ -56,7 +64,7 @@ export interface AttachmentStore {
|
|
|
56
64
|
*/
|
|
57
65
|
put(bytes: StoredBytes): Promise<string>;
|
|
58
66
|
/** `undefined` for a ref this store does not hold. */
|
|
59
|
-
get(ref: string): Promise<StoredBytes | undefined>;
|
|
67
|
+
get(ref: string, options?: AttachmentOperationOptions): Promise<StoredBytes | undefined>;
|
|
60
68
|
}
|
|
61
69
|
/** A reference nothing could resolve. */
|
|
62
70
|
export declare class AttachmentNotFoundError extends Error {
|
|
@@ -99,7 +107,7 @@ export declare const isStoredAttachment: (attachment: MessageAttachment) => atta
|
|
|
99
107
|
* why — the worst available outcome, and the reason none of these three
|
|
100
108
|
* branches returns the message unchanged.
|
|
101
109
|
*/
|
|
102
|
-
export declare function resolveAttachment(attachment: MessageAttachment, store: AttachmentStore | undefined): Promise<MessageAttachment>;
|
|
110
|
+
export declare function resolveAttachment(attachment: MessageAttachment, store: AttachmentStore | undefined, options?: AttachmentOperationOptions): Promise<MessageAttachment>;
|
|
103
111
|
/**
|
|
104
112
|
* Resolve every stored attachment on every message.
|
|
105
113
|
*
|
|
@@ -107,5 +115,5 @@ export declare function resolveAttachment(attachment: MessageAttachment, store:
|
|
|
107
115
|
* one scan and no allocation — and so a caller cannot tell resolved
|
|
108
116
|
* messages from unresolved ones by identity and get it wrong.
|
|
109
117
|
*/
|
|
110
|
-
export declare function resolveAttachments(messages: readonly Message[], store: AttachmentStore | undefined): Promise<readonly Message[]>;
|
|
118
|
+
export declare function resolveAttachments(messages: readonly Message[], store: AttachmentStore | undefined, options?: AttachmentOperationOptions): Promise<readonly Message[]>;
|
|
111
119
|
//# sourceMappingURL=index.d.ts.map
|