@namzu/sdk 30.2.0 → 31.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 +556 -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 +75 -10
- 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/interface.d.ts +18 -7
- package/dist/types/provider/interface.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 +143 -9
- package/src/types/plugin/index.ts +7 -5
- package/src/types/provider/chat.ts +35 -4
- package/src/types/provider/interface.ts +22 -7
- 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
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { SpanStatusCode } from '@opentelemetry/api';
|
|
2
|
-
import { isProviderRequestError } from '../../provider/errors.js';
|
|
2
|
+
import { isCallerAbortError, isProviderRequestError } from '../../provider/errors.js';
|
|
3
3
|
import { GENAI, NAMZU } from '../../telemetry/attributes.js';
|
|
4
4
|
import { explainError } from '../../types/errors/catalog.js';
|
|
5
5
|
import { toPlatformError } from '../../types/errors/index.js';
|
|
@@ -80,6 +80,17 @@ export class ResultAssembler {
|
|
|
80
80
|
}
|
|
81
81
|
async *handleError(err, rootSpan) {
|
|
82
82
|
const { runMgr, planManager, log, emitEvent, drainPending } = this.config;
|
|
83
|
+
if (isCallerAbortError(err, this.config.signal)) {
|
|
84
|
+
// Cancellation may happen before the iteration loop owns control —
|
|
85
|
+
// project preparation, a run-start hook and a pre-model hook all sit
|
|
86
|
+
// outside its catch. The loop already settles its own aborts, but an
|
|
87
|
+
// abort escaping one of these boundaries reached the outer catch and
|
|
88
|
+
// was historically rewritten as a run failure. Preserve the caller's
|
|
89
|
+
// control-flow verdict and let the normal terminal-event path report it.
|
|
90
|
+
runMgr.markCancelled();
|
|
91
|
+
yield* this.completeRun(rootSpan);
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
83
94
|
const errorMessage = toErrorMessage(err);
|
|
84
95
|
// The classifier at the provider boundary already walked the cause
|
|
85
96
|
// chain over status, errno and `Retry-After`, so a fully-populated
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"result.js","sourceRoot":"","sources":["../../../src/runtime/query/result.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAG9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"result.js","sourceRoot":"","sources":["../../../src/runtime/query/result.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resume-pending.d.ts","sourceRoot":"","sources":["../../../src/runtime/query/resume-pending.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAA;AACtE,OAAO,KAAK,EACX,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACnB,MAAM,2BAA2B,CAAA;AAClC,OAAO,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AACvF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AAC3E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AACpF,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAGnD;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,iBAAiB;IACjC;;;;OAIG;IACH,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAA;IACnC,iEAAiE;IACjE,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAA;IACpC,kDAAkD;IAClD,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAA;IACzC,mDAAmD;IACnD,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAA;IACjC;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,CAAA;CACjC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAChC,UAAU,EAAE,mBAAmB,EAC/B,QAAQ,EAAE,kBAAkB,EAC5B,GAAG,EAAE,MAAM,GACT,iBAAiB,GAAG,IAAI,CAyD1B;AAgED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,eAAe,CAC9B,UAAU,EAAE,mBAAmB,EAC/B,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,EACvC,GAAG,EAAE,MAAM,GACT,iBAAiB,GAAG,IAAI,CAwB1B;AAED;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CACvC,IAAI,EAAE,iBAAiB,EACvB,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,YAAY,EACtB,KAAK,CAAC,EAAE,gBAAgB,GACtB,OAAO,CAAC,IAAI,CAAC,CAMf;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,qBAAqB,CAC1C,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,SAAS,QAAQ,EAAE,EAC9B,GAAG,EAAE,MAAM,GACT,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC,CAsB5D;AA+ED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,GAAG,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"resume-pending.d.ts","sourceRoot":"","sources":["../../../src/runtime/query/resume-pending.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAA;AACtE,OAAO,KAAK,EACX,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACnB,MAAM,2BAA2B,CAAA;AAClC,OAAO,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AACvF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AAC3E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AACpF,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAGnD;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,iBAAiB;IACjC;;;;OAIG;IACH,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAA;IACnC,iEAAiE;IACjE,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAA;IACpC,kDAAkD;IAClD,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAA;IACzC,mDAAmD;IACnD,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAA;IACjC;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,CAAA;CACjC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAChC,UAAU,EAAE,mBAAmB,EAC/B,QAAQ,EAAE,kBAAkB,EAC5B,GAAG,EAAE,MAAM,GACT,iBAAiB,GAAG,IAAI,CAyD1B;AAgED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,eAAe,CAC9B,UAAU,EAAE,mBAAmB,EAC/B,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,EACvC,GAAG,EAAE,MAAM,GACT,iBAAiB,GAAG,IAAI,CAwB1B;AAED;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CACvC,IAAI,EAAE,iBAAiB,EACvB,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,YAAY,EACtB,KAAK,CAAC,EAAE,gBAAgB,GACtB,OAAO,CAAC,IAAI,CAAC,CAMf;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,qBAAqB,CAC1C,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,SAAS,QAAQ,EAAE,EAC9B,GAAG,EAAE,MAAM,GACT,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC,CAsB5D;AA+ED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,GAAG,QAAQ,EAAE,CAE5E"}
|
|
@@ -35,7 +35,7 @@ export function planPendingResume(checkpoint, decision, log) {
|
|
|
35
35
|
});
|
|
36
36
|
return null;
|
|
37
37
|
}
|
|
38
|
-
const assistant =
|
|
38
|
+
const assistant = lastUnansweredBatch(checkpoint.messages)?.assistant;
|
|
39
39
|
if (!assistant?.toolCalls || assistant.toolCalls.length === 0) {
|
|
40
40
|
log.warn('Checkpoint records a tool_review park but has no unanswered tool calls', {
|
|
41
41
|
'namzu.checkpoint.id': checkpoint.id,
|
|
@@ -83,7 +83,7 @@ export function planPendingResume(checkpoint, decision, log) {
|
|
|
83
83
|
* on.
|
|
84
84
|
*/
|
|
85
85
|
function planQuestionResume(checkpoint, decision, questionId, log) {
|
|
86
|
-
const assistant =
|
|
86
|
+
const assistant = lastUnansweredBatch(checkpoint.messages)?.assistant;
|
|
87
87
|
if (!assistant?.toolCalls || assistant.toolCalls.length === 0) {
|
|
88
88
|
log.warn('Checkpoint records a question park but has no unanswered tool calls', {
|
|
89
89
|
'namzu.checkpoint.id': checkpoint.id,
|
|
@@ -141,7 +141,7 @@ function planQuestionResume(checkpoint, decision, questionId, log) {
|
|
|
141
141
|
* probe still applies to them.
|
|
142
142
|
*/
|
|
143
143
|
export function planCrashResume(checkpoint, completed, log) {
|
|
144
|
-
const assistant =
|
|
144
|
+
const assistant = lastUnansweredBatch(checkpoint.messages)?.assistant;
|
|
145
145
|
const calls = assistant?.toolCalls;
|
|
146
146
|
if (!assistant || !calls || calls.length === 0)
|
|
147
147
|
return null;
|
|
@@ -290,22 +290,9 @@ function synthesizeResponse(assistant) {
|
|
|
290
290
|
* result is in the history and needs no recovery.
|
|
291
291
|
*/
|
|
292
292
|
export function unansweredToolCalls(messages) {
|
|
293
|
-
|
|
294
|
-
if (!assistant?.toolCalls)
|
|
295
|
-
return [];
|
|
296
|
-
const answered = new Set();
|
|
297
|
-
for (const msg of messages) {
|
|
298
|
-
if (msg.role === 'tool' && msg.toolCallId)
|
|
299
|
-
answered.add(msg.toolCallId);
|
|
300
|
-
}
|
|
301
|
-
return assistant.toolCalls.filter((tc) => !answered.has(tc.id));
|
|
293
|
+
return lastUnansweredBatch(messages)?.unanswered ?? [];
|
|
302
294
|
}
|
|
303
|
-
function
|
|
304
|
-
const answered = new Set();
|
|
305
|
-
for (const msg of messages) {
|
|
306
|
-
if (msg.role === 'tool' && msg.toolCallId)
|
|
307
|
-
answered.add(msg.toolCallId);
|
|
308
|
-
}
|
|
295
|
+
function lastUnansweredBatch(messages) {
|
|
309
296
|
for (let i = messages.length - 1; i >= 0; i--) {
|
|
310
297
|
const msg = messages[i];
|
|
311
298
|
if (msg?.role !== 'assistant')
|
|
@@ -314,8 +301,20 @@ function lastAssistantWithUnansweredCalls(messages) {
|
|
|
314
301
|
const calls = assistant.toolCalls;
|
|
315
302
|
if (!calls || calls.length === 0)
|
|
316
303
|
continue;
|
|
317
|
-
|
|
318
|
-
|
|
304
|
+
// Only the contiguous result run immediately after this assistant owns
|
|
305
|
+
// its calls. A future/displaced result cannot prove the call completed;
|
|
306
|
+
// treating it as one would skip both crash recovery and the conservative
|
|
307
|
+
// synthetic outcome that prevents a blind side-effect retry.
|
|
308
|
+
const answered = new Set();
|
|
309
|
+
for (let resultIndex = i + 1; resultIndex < messages.length; resultIndex++) {
|
|
310
|
+
const result = messages[resultIndex];
|
|
311
|
+
if (result?.role !== 'tool')
|
|
312
|
+
break;
|
|
313
|
+
answered.add(result.toolCallId);
|
|
314
|
+
}
|
|
315
|
+
const unanswered = calls.filter((call) => !answered.has(call.id));
|
|
316
|
+
if (unanswered.length > 0)
|
|
317
|
+
return { assistant, unanswered };
|
|
319
318
|
return null;
|
|
320
319
|
}
|
|
321
320
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resume-pending.js","sourceRoot":"","sources":["../../../src/runtime/query/resume-pending.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAoChD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,iBAAiB,CAChC,UAA+B,EAC/B,QAA4B,EAC5B,GAAW;IAEX,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAA;IAClC,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAA;IAEzB,qEAAqE;IACrE,uEAAuE;IACvE,uEAAuE;IACvE,sEAAsE;IACtE,uEAAuE;IACvE,mEAAmE;IACnE,mEAAmE;IACnE,gDAAgD;IAChD,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;QAC9C,OAAO,kBAAkB,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;IAC1F,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QAC5C,GAAG,CAAC,IAAI,CAAC,+EAA+E,EAAE;YACzF,qBAAqB,EAAE,UAAU,CAAC,EAAE;YACpC,4BAA4B,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI;YAClD,wBAAwB,EAAE,QAAQ,CAAC,MAAM;SACzC,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,MAAM,SAAS,GAAG,
|
|
1
|
+
{"version":3,"file":"resume-pending.js","sourceRoot":"","sources":["../../../src/runtime/query/resume-pending.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resume-run.d.ts","sourceRoot":"","sources":["../../../src/runtime/query/resume-run.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resume-run.d.ts","sourceRoot":"","sources":["../../../src/runtime/query/resume-run.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAA;AACxF,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAA;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAA;AACrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AACjE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,EAAE,KAAK,WAAW,EAAqC,MAAM,YAAY,CAAA;AAChF,OAAO,EAAE,KAAK,aAAa,EAAwB,MAAM,gBAAgB,CAAA;AAEzE;;;;;;;;GAQG;AACH,MAAM,MAAM,aAAa,GACtB;IAAE,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAA;CAAE,GAC7D;IACA,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAA;IACvB,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAA;IACpC,uCAAuC;IACvC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAA;IACjC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAA;CACvB,GACD;IACA,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAA;IACtB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAA;IACjB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAA;IACxB;;;;;;;;OAQG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,cAAc,CAAA;CAC/B,CAAA;AAEJ;;;;;;GAMG;AACH,MAAM,WAAW,eAChB,SAAQ,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,OAAO,GAAG,sBAAsB,CAAC;IACxE,sDAAsD;IACtD,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAA;IAC7B,2EAA2E;IAC3E,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAA;IAEzC;;;;;;OAMG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,YAAY,CAAA;IAClC;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAA;IAEhD;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAA;CACpC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,aAAa,CAAC,CAyE/E"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { NamzuError } from '../../types/errors/index.js';
|
|
2
|
+
import { drainQueryWithSelectedResumeState } from './index.js';
|
|
3
|
+
import { loadSelectedRunState } from './run-state.js';
|
|
3
4
|
/**
|
|
4
5
|
* Continue a run that a different process started.
|
|
5
6
|
*
|
|
@@ -23,21 +24,32 @@ import { loadRunState } from './run-state.js';
|
|
|
23
24
|
*/
|
|
24
25
|
export async function resumeRun(params) {
|
|
25
26
|
const { scope, checkpointStore, checkpointId, pendingDecision, claimFence, listener, onEventReplay, ...rest } = params;
|
|
26
|
-
const
|
|
27
|
-
|
|
27
|
+
const selected = await loadSelectedRunState(checkpointStore, scope, checkpointId);
|
|
28
|
+
const state = selected?.state;
|
|
29
|
+
if (!state?.checkpointId || !selected)
|
|
28
30
|
return { resumed: false, reason: 'no-checkpoint' };
|
|
31
|
+
assertResumeRequestAttribution(params, state);
|
|
29
32
|
// A park is outstanding until it is answered. `resolvedAt` is what marks
|
|
30
33
|
// an answered one, so a checkpoint that carries a resolved decision is an
|
|
31
34
|
// ordinary resume, not a question waiting on anybody.
|
|
32
35
|
const outstanding = state.pending && !state.pending.resolvedAt ? state.pending : undefined;
|
|
33
36
|
if (outstanding && !pendingDecision) {
|
|
34
|
-
return {
|
|
37
|
+
return {
|
|
38
|
+
resumed: false,
|
|
39
|
+
reason: 'awaiting-decision',
|
|
40
|
+
pending: outstanding,
|
|
41
|
+
state,
|
|
42
|
+
};
|
|
35
43
|
}
|
|
36
44
|
let replay;
|
|
37
|
-
const run = await
|
|
45
|
+
const run = await drainQueryWithSelectedResumeState({
|
|
38
46
|
...rest,
|
|
39
47
|
messages: [],
|
|
40
48
|
runId: state.runId,
|
|
49
|
+
sessionId: state.sessionId,
|
|
50
|
+
topicId: state.topicId,
|
|
51
|
+
projectId: state.projectId,
|
|
52
|
+
tenantId: state.tenantId,
|
|
41
53
|
// Forwarded, and it is not cosmetic: the run store nests a sub-run's
|
|
42
54
|
// evidence under `<parent>/children/<run>`, so resuming a sub-run
|
|
43
55
|
// without this binds `<base>/<run>` instead — a second, empty
|
|
@@ -51,9 +63,43 @@ export async function resumeRun(params) {
|
|
|
51
63
|
...(pendingDecision ? { pendingDecision } : {}),
|
|
52
64
|
onEventReplay: (verdict) => {
|
|
53
65
|
replay = verdict;
|
|
54
|
-
onEventReplay?.(verdict);
|
|
66
|
+
return onEventReplay?.(verdict);
|
|
55
67
|
},
|
|
68
|
+
}, {
|
|
69
|
+
...state,
|
|
70
|
+
checkpointId: state.checkpointId,
|
|
71
|
+
...(selected.checkpoint.traceContext
|
|
72
|
+
? { traceContext: selected.checkpoint.traceContext }
|
|
73
|
+
: {}),
|
|
56
74
|
}, listener);
|
|
57
|
-
return {
|
|
75
|
+
return {
|
|
76
|
+
resumed: true,
|
|
77
|
+
run,
|
|
78
|
+
state,
|
|
79
|
+
...(replay !== undefined ? { replay } : {}),
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
function assertResumeRequestAttribution(params, state) {
|
|
83
|
+
const mismatchedFields = [];
|
|
84
|
+
if (params.scope.runId !== state.runId)
|
|
85
|
+
mismatchedFields.push('runId');
|
|
86
|
+
if (params.sessionId !== state.sessionId)
|
|
87
|
+
mismatchedFields.push('sessionId');
|
|
88
|
+
if (params.topicId !== state.topicId)
|
|
89
|
+
mismatchedFields.push('topicId');
|
|
90
|
+
if (params.projectId !== state.projectId)
|
|
91
|
+
mismatchedFields.push('projectId');
|
|
92
|
+
if (params.tenantId !== state.tenantId)
|
|
93
|
+
mismatchedFields.push('tenantId');
|
|
94
|
+
if (params.parentRunId !== undefined && params.parentRunId !== state.parentRunId) {
|
|
95
|
+
mismatchedFields.push('parentRunId');
|
|
96
|
+
}
|
|
97
|
+
if (mismatchedFields.length === 0)
|
|
98
|
+
return;
|
|
99
|
+
throw new NamzuError({
|
|
100
|
+
code: 'invalid_config',
|
|
101
|
+
message: 'The resume request attribution does not match the checkpoint scope selected for this run.',
|
|
102
|
+
details: { fields: mismatchedFields },
|
|
103
|
+
});
|
|
58
104
|
}
|
|
59
105
|
//# sourceMappingURL=resume-run.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resume-run.js","sourceRoot":"","sources":["../../../src/runtime/query/resume-run.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resume-run.js","sourceRoot":"","sources":["../../../src/runtime/query/resume-run.ts"],"names":[],"mappings":"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"}
|
|
@@ -49,4 +49,9 @@ export declare function captureRunState(runMgr: RunPersistence, scope: RunStateS
|
|
|
49
49
|
* it is outstanding when set with no `resolvedAt`.
|
|
50
50
|
*/
|
|
51
51
|
export declare function loadRunState(store: CheckpointStore, scope: RunStateScope, checkpointId?: CheckpointId): Promise<RunState | null>;
|
|
52
|
+
/** @internal The exact checkpoint selected together with its public run-state projection. */
|
|
53
|
+
export declare function loadSelectedRunState(store: CheckpointStore, scope: RunStateScope, checkpointId?: CheckpointId): Promise<{
|
|
54
|
+
readonly state: RunState;
|
|
55
|
+
readonly checkpoint: IterationCheckpoint;
|
|
56
|
+
} | null>;
|
|
52
57
|
//# sourceMappingURL=run-state.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-state.d.ts","sourceRoot":"","sources":["../../../src/runtime/query/run-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAA;AACtE,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAClF,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAA;AAC9F,OAAO,EAAqB,KAAK,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAC3E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAGzD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,aAAc,SAAQ,kBAAkB;IACxD,OAAO,EAAE,OAAO,CAAA;CAChB;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC9B,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE,aAAa,EACpB,KAAK,CAAC,EAAE;IACP,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAA;CACvC,GACC,QAAQ,CA2BV;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,YAAY,CACjC,KAAK,EAAE,eAAe,EACtB,KAAK,EAAE,aAAa,EACpB,YAAY,CAAC,EAAE,YAAY,GACzB,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"run-state.d.ts","sourceRoot":"","sources":["../../../src/runtime/query/run-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAA;AACtE,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAClF,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAA;AAC9F,OAAO,EAAqB,KAAK,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAC3E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAGzD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,aAAc,SAAQ,kBAAkB;IACxD,OAAO,EAAE,OAAO,CAAA;CAChB;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC9B,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE,aAAa,EACpB,KAAK,CAAC,EAAE;IACP,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAA;CACvC,GACC,QAAQ,CA2BV;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,YAAY,CACjC,KAAK,EAAE,eAAe,EACtB,KAAK,EAAE,aAAa,EACpB,YAAY,CAAC,EAAE,YAAY,GACzB,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAE1B;AAED,6FAA6F;AAC7F,wBAAsB,oBAAoB,CACzC,KAAK,EAAE,eAAe,EACtB,KAAK,EAAE,aAAa,EACpB,YAAY,CAAC,EAAE,YAAY,GACzB,OAAO,CAAC;IAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAA;CAAE,GAAG,IAAI,CAAC,CA2BxF"}
|
|
@@ -55,12 +55,16 @@ export function captureRunState(runMgr, scope, extra) {
|
|
|
55
55
|
* it is outstanding when set with no `resolvedAt`.
|
|
56
56
|
*/
|
|
57
57
|
export async function loadRunState(store, scope, checkpointId) {
|
|
58
|
+
return (await loadSelectedRunState(store, scope, checkpointId))?.state ?? null;
|
|
59
|
+
}
|
|
60
|
+
/** @internal The exact checkpoint selected together with its public run-state projection. */
|
|
61
|
+
export async function loadSelectedRunState(store, scope, checkpointId) {
|
|
58
62
|
const checkpoint = checkpointId
|
|
59
63
|
? await store.readCheckpoint(scope, checkpointId)
|
|
60
64
|
: ((await findPendingCheckpoint(store, scope)) ?? (await newest(store, scope)));
|
|
61
65
|
if (!checkpoint)
|
|
62
66
|
return null;
|
|
63
|
-
|
|
67
|
+
const state = {
|
|
64
68
|
version: RUN_STATE_VERSION,
|
|
65
69
|
runId: checkpoint.runId,
|
|
66
70
|
sessionId: scope.sessionId,
|
|
@@ -79,6 +83,7 @@ export async function loadRunState(store, scope, checkpointId) {
|
|
|
79
83
|
...(checkpoint.pending ? { pending: checkpoint.pending } : {}),
|
|
80
84
|
capturedAt: Date.now(),
|
|
81
85
|
};
|
|
86
|
+
return { state, checkpoint };
|
|
82
87
|
}
|
|
83
88
|
async function newest(store, scope) {
|
|
84
89
|
const all = await store.listCheckpoints(scope);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-state.js","sourceRoot":"","sources":["../../../src/runtime/query/run-state.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAiB,MAAM,0BAA0B,CAAA;AAE3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAiBvD;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAC9B,MAAsB,EACtB,KAAoB,EACpB,KAGC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAA;IACnC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;IAEnC,OAAO;QACN,OAAO,EAAE,iBAAiB;QAC1B,KAAK,EAAE,MAAM,CAAC,EAAE;QAChB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3E,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjF,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC1C,UAAU,EAAE,EAAE,GAAG,MAAM,CAAC,UAAU,EAAE;QACpC,QAAQ,EAAE,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE;QAChC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,SAAS;QACT,SAAS,EAAE,KAAK,EAAE,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;QACrD,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE;KACtB,CAAA;AACF,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CACjC,KAAsB,EACtB,KAAoB,EACpB,YAA2B;IAE3B,MAAM,UAAU,GAAG,YAAY;QAC9B,CAAC,CAAC,MAAM,KAAK,CAAC,cAAc,CAAC,KAAK,EAAE,YAAY,CAAC;QACjD,CAAC,CAAC,CAAC,CAAC,MAAM,qBAAqB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;IAEhF,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAA;IAE5B,
|
|
1
|
+
{"version":3,"file":"run-state.js","sourceRoot":"","sources":["../../../src/runtime/query/run-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import type { Sandbox, SandboxCreateConfig, SandboxProvider } from '../../types/sandbox/index.js';
|
|
2
|
+
/** A sandbox release gets thirty seconds before the run stops waiting for it. */
|
|
3
|
+
export declare const DEFAULT_SANDBOX_TEARDOWN_TIMEOUT_MS = 30000;
|
|
4
|
+
export declare function resolveSandboxTeardownTimeoutMs(value: number | undefined): number;
|
|
5
|
+
export type SandboxTeardownResult = {
|
|
6
|
+
readonly kind: 'destroyed';
|
|
7
|
+
} | {
|
|
8
|
+
readonly kind: 'failed';
|
|
9
|
+
readonly error: unknown;
|
|
10
|
+
} | {
|
|
11
|
+
readonly kind: 'timed_out';
|
|
12
|
+
readonly error: Error;
|
|
13
|
+
};
|
|
14
|
+
export type SandboxAcquisitionResult = {
|
|
15
|
+
readonly kind: 'created';
|
|
16
|
+
readonly sandbox: Sandbox;
|
|
17
|
+
} | {
|
|
18
|
+
readonly kind: 'cancelled';
|
|
19
|
+
readonly createPending: boolean;
|
|
20
|
+
} | {
|
|
21
|
+
readonly kind: 'timed_out';
|
|
22
|
+
readonly createPending: boolean;
|
|
23
|
+
readonly error: Error;
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Release a sandbox under a fresh owner.
|
|
27
|
+
*
|
|
28
|
+
* The run signal is deliberately not an input: cleanup normally begins because
|
|
29
|
+
* that signal is already aborted. A private signal gives the implementation a
|
|
30
|
+
* chance to stop its transport at the teardown deadline, while the independent
|
|
31
|
+
* race keeps a third-party implementation that ignores it from pinning the run.
|
|
32
|
+
*/
|
|
33
|
+
export declare function teardownSandbox(sandbox: Sandbox, timeoutMs: number): Promise<SandboxTeardownResult>;
|
|
34
|
+
/**
|
|
35
|
+
* Acquire a sandbox without allowing foreign setup to outlive run authority.
|
|
36
|
+
*
|
|
37
|
+
* Cancellation or the run timeout settles this function even when a provider
|
|
38
|
+
* ignores the signal.
|
|
39
|
+
* A handle that arrives later is never published and is released exactly once.
|
|
40
|
+
* This proves host/run liveness and cleanup of every handle the provider
|
|
41
|
+
* returns. It cannot prove that a remote service did not commit an allocation
|
|
42
|
+
* behind a response that never disclosed its identity; that requires a
|
|
43
|
+
* provider-owned reconciliation key or fleet reaper.
|
|
44
|
+
*/
|
|
45
|
+
export declare function acquireSandbox(options: {
|
|
46
|
+
readonly provider: SandboxProvider;
|
|
47
|
+
readonly config: Omit<SandboxCreateConfig, 'signal'>;
|
|
48
|
+
readonly signal: AbortSignal;
|
|
49
|
+
/** Remaining wall-clock owned by the run, not a second sandbox budget. */
|
|
50
|
+
readonly timeoutMs: number;
|
|
51
|
+
readonly teardownTimeoutMs: number;
|
|
52
|
+
readonly onLateTeardown?: (result: SandboxTeardownResult) => void;
|
|
53
|
+
}): Promise<SandboxAcquisitionResult>;
|
|
54
|
+
//# sourceMappingURL=sandbox-lifecycle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sandbox-lifecycle.d.ts","sourceRoot":"","sources":["../../../src/runtime/query/sandbox-lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAIjG,iFAAiF;AACjF,eAAO,MAAM,mCAAmC,QAAS,CAAA;AAEzD,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAQjF;AAED,MAAM,MAAM,qBAAqB,GAC9B;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;CAAE,GAC9B;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GACpD;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAAA;AAExD,MAAM,MAAM,wBAAwB,GACjC;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GACvD;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAA;CAAE,GAC/D;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAAA;AA6BzF;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACpC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,MAAM,GACf,OAAO,CAAC,qBAAqB,CAAC,CA6BhC;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE;IAC7C,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAA;IAClC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAA;IACpD,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;IAC5B,0EAA0E;IAC1E,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAA;IAClC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,qBAAqB,KAAK,IAAI,CAAA;CACjE,GAAG,OAAO,CAAC,wBAAwB,CAAC,CA8FpC"}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
const MAX_TIMER_DELAY_MS = 2_147_483_647;
|
|
2
|
+
/** A sandbox release gets thirty seconds before the run stops waiting for it. */
|
|
3
|
+
export const DEFAULT_SANDBOX_TEARDOWN_TIMEOUT_MS = 30_000;
|
|
4
|
+
export function resolveSandboxTeardownTimeoutMs(value) {
|
|
5
|
+
const resolved = value ?? DEFAULT_SANDBOX_TEARDOWN_TIMEOUT_MS;
|
|
6
|
+
if (!Number.isInteger(resolved) || resolved < 0 || resolved > MAX_TIMER_DELAY_MS) {
|
|
7
|
+
throw new RangeError(`sandboxTeardownTimeoutMs must be an integer from 0 to ${MAX_TIMER_DELAY_MS}; received ${String(resolved)}`);
|
|
8
|
+
}
|
|
9
|
+
return resolved;
|
|
10
|
+
}
|
|
11
|
+
function teardownTimeoutError(timeoutMs) {
|
|
12
|
+
const error = new Error(`Sandbox teardown timed out after ${timeoutMs}ms`);
|
|
13
|
+
error.name = 'TimeoutError';
|
|
14
|
+
return error;
|
|
15
|
+
}
|
|
16
|
+
function acquisitionTimeoutError(timeoutMs) {
|
|
17
|
+
const error = new Error(`Sandbox creation exceeded the remaining run timeout after ${timeoutMs}ms`);
|
|
18
|
+
error.name = 'TimeoutError';
|
|
19
|
+
return error;
|
|
20
|
+
}
|
|
21
|
+
function notifyLateTeardown(notify, result) {
|
|
22
|
+
try {
|
|
23
|
+
notify?.(result);
|
|
24
|
+
}
|
|
25
|
+
catch {
|
|
26
|
+
// An observer is not the teardown owner. The sandbox has already settled,
|
|
27
|
+
// and an operational log callback must not turn cancellation into an
|
|
28
|
+
// unhandled rejection or retract its result.
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Release a sandbox under a fresh owner.
|
|
33
|
+
*
|
|
34
|
+
* The run signal is deliberately not an input: cleanup normally begins because
|
|
35
|
+
* that signal is already aborted. A private signal gives the implementation a
|
|
36
|
+
* chance to stop its transport at the teardown deadline, while the independent
|
|
37
|
+
* race keeps a third-party implementation that ignores it from pinning the run.
|
|
38
|
+
*/
|
|
39
|
+
export async function teardownSandbox(sandbox, timeoutMs) {
|
|
40
|
+
const controller = new AbortController();
|
|
41
|
+
const operation = Promise.resolve()
|
|
42
|
+
.then(() => sandbox.destroy({ signal: controller.signal }))
|
|
43
|
+
.then(() => ({ kind: 'destroyed' }), (error) => ({ kind: 'failed', error }));
|
|
44
|
+
if (timeoutMs === 0)
|
|
45
|
+
return await operation;
|
|
46
|
+
let timer;
|
|
47
|
+
let timedOut;
|
|
48
|
+
const deadline = new Promise((resolve) => {
|
|
49
|
+
timer = setTimeout(() => {
|
|
50
|
+
timedOut = teardownTimeoutError(timeoutMs);
|
|
51
|
+
controller.abort(timedOut);
|
|
52
|
+
resolve({ kind: 'timed_out', error: timedOut });
|
|
53
|
+
}, timeoutMs);
|
|
54
|
+
});
|
|
55
|
+
try {
|
|
56
|
+
const result = await Promise.race([operation, deadline]);
|
|
57
|
+
// A destroy implementation may synchronously translate our abort into a
|
|
58
|
+
// generic AbortError. The deadline remains the cause that won.
|
|
59
|
+
return timedOut ? { kind: 'timed_out', error: timedOut } : result;
|
|
60
|
+
}
|
|
61
|
+
finally {
|
|
62
|
+
if (timer !== undefined)
|
|
63
|
+
clearTimeout(timer);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Acquire a sandbox without allowing foreign setup to outlive run authority.
|
|
68
|
+
*
|
|
69
|
+
* Cancellation or the run timeout settles this function even when a provider
|
|
70
|
+
* ignores the signal.
|
|
71
|
+
* A handle that arrives later is never published and is released exactly once.
|
|
72
|
+
* This proves host/run liveness and cleanup of every handle the provider
|
|
73
|
+
* returns. It cannot prove that a remote service did not commit an allocation
|
|
74
|
+
* behind a response that never disclosed its identity; that requires a
|
|
75
|
+
* provider-owned reconciliation key or fleet reaper.
|
|
76
|
+
*/
|
|
77
|
+
export async function acquireSandbox(options) {
|
|
78
|
+
const { provider, signal: runSignal } = options;
|
|
79
|
+
if (runSignal.aborted)
|
|
80
|
+
return { kind: 'cancelled', createPending: false };
|
|
81
|
+
if (options.timeoutMs <= 0) {
|
|
82
|
+
return {
|
|
83
|
+
kind: 'timed_out',
|
|
84
|
+
createPending: false,
|
|
85
|
+
error: acquisitionTimeoutError(options.timeoutMs),
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
const operationController = new AbortController();
|
|
89
|
+
const signal = operationController.signal;
|
|
90
|
+
let timeoutError;
|
|
91
|
+
let timer;
|
|
92
|
+
let onAbort;
|
|
93
|
+
const aborted = new Promise((resolve) => {
|
|
94
|
+
onAbort = () => {
|
|
95
|
+
operationController.abort(runSignal.reason);
|
|
96
|
+
resolve({ kind: 'cancelled' });
|
|
97
|
+
};
|
|
98
|
+
runSignal.addEventListener('abort', onAbort, { once: true });
|
|
99
|
+
});
|
|
100
|
+
const timedOut = new Promise((resolve) => {
|
|
101
|
+
timer = setTimeout(() => {
|
|
102
|
+
timeoutError = acquisitionTimeoutError(options.timeoutMs);
|
|
103
|
+
operationController.abort(timeoutError);
|
|
104
|
+
resolve({ kind: 'timed_out', error: timeoutError });
|
|
105
|
+
}, options.timeoutMs);
|
|
106
|
+
});
|
|
107
|
+
// Authority may be withdrawn between the first check and listener
|
|
108
|
+
// installation. Refuse before the provider gets a chance to allocate.
|
|
109
|
+
if (runSignal.aborted) {
|
|
110
|
+
runSignal.removeEventListener('abort', onAbort);
|
|
111
|
+
if (timer !== undefined)
|
|
112
|
+
clearTimeout(timer);
|
|
113
|
+
return { kind: 'cancelled', createPending: false };
|
|
114
|
+
}
|
|
115
|
+
let settled;
|
|
116
|
+
try {
|
|
117
|
+
settled = Promise.resolve(provider.create({ ...options.config, signal })).then((sandbox) => ({ kind: 'created', sandbox }), (error) => ({ kind: 'failed', error }));
|
|
118
|
+
}
|
|
119
|
+
catch (error) {
|
|
120
|
+
runSignal.removeEventListener('abort', onAbort);
|
|
121
|
+
if (timer !== undefined)
|
|
122
|
+
clearTimeout(timer);
|
|
123
|
+
throw error;
|
|
124
|
+
}
|
|
125
|
+
try {
|
|
126
|
+
const winner = await Promise.race([settled, aborted, timedOut]);
|
|
127
|
+
if (winner.kind === 'failed') {
|
|
128
|
+
// A provider may translate our timeout abort into a generic AbortError
|
|
129
|
+
// before the deadline promise's continuation runs. The timeout remains
|
|
130
|
+
// the first cause and must not be misreported as a provider failure.
|
|
131
|
+
if (timeoutError) {
|
|
132
|
+
return { kind: 'timed_out', createPending: false, error: timeoutError };
|
|
133
|
+
}
|
|
134
|
+
throw winner.error;
|
|
135
|
+
}
|
|
136
|
+
if (winner.kind === 'created') {
|
|
137
|
+
// The provider promise can settle, queue this continuation, and then
|
|
138
|
+
// lose authority in another queued microtask. Publication is a separate
|
|
139
|
+
// boundary from settlement, so fence it independently.
|
|
140
|
+
if (!signal.aborted)
|
|
141
|
+
return winner;
|
|
142
|
+
const result = await teardownSandbox(winner.sandbox, options.teardownTimeoutMs);
|
|
143
|
+
notifyLateTeardown(options.onLateTeardown, result);
|
|
144
|
+
return timeoutError
|
|
145
|
+
? { kind: 'timed_out', createPending: false, error: timeoutError }
|
|
146
|
+
: { kind: 'cancelled', createPending: false };
|
|
147
|
+
}
|
|
148
|
+
// Keep the losing setup promise observed. A late handle is cleanup work,
|
|
149
|
+
// not a capability the stopped run may publish; a late rejection has
|
|
150
|
+
// nobody left to notify and is deliberately consumed.
|
|
151
|
+
void settled.then(async (late) => {
|
|
152
|
+
if (late.kind !== 'created')
|
|
153
|
+
return;
|
|
154
|
+
const result = await teardownSandbox(late.sandbox, options.teardownTimeoutMs);
|
|
155
|
+
notifyLateTeardown(options.onLateTeardown, result);
|
|
156
|
+
});
|
|
157
|
+
return winner.kind === 'timed_out'
|
|
158
|
+
? { kind: 'timed_out', createPending: true, error: winner.error }
|
|
159
|
+
: { kind: 'cancelled', createPending: true };
|
|
160
|
+
}
|
|
161
|
+
finally {
|
|
162
|
+
runSignal.removeEventListener('abort', onAbort);
|
|
163
|
+
if (timer !== undefined)
|
|
164
|
+
clearTimeout(timer);
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
//# sourceMappingURL=sandbox-lifecycle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sandbox-lifecycle.js","sourceRoot":"","sources":["../../../src/runtime/query/sandbox-lifecycle.ts"],"names":[],"mappings":"AAEA,MAAM,kBAAkB,GAAG,aAAa,CAAA;AAExC,iFAAiF;AACjF,MAAM,CAAC,MAAM,mCAAmC,GAAG,MAAM,CAAA;AAEzD,MAAM,UAAU,+BAA+B,CAAC,KAAyB;IACxE,MAAM,QAAQ,GAAG,KAAK,IAAI,mCAAmC,CAAA;IAC7D,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC,IAAI,QAAQ,GAAG,kBAAkB,EAAE,CAAC;QAClF,MAAM,IAAI,UAAU,CACnB,yDAAyD,kBAAkB,cAAc,MAAM,CAAC,QAAQ,CAAC,EAAE,CAC3G,CAAA;IACF,CAAC;IACD,OAAO,QAAQ,CAAA;AAChB,CAAC;AAYD,SAAS,oBAAoB,CAAC,SAAiB;IAC9C,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,oCAAoC,SAAS,IAAI,CAAC,CAAA;IAC1E,KAAK,CAAC,IAAI,GAAG,cAAc,CAAA;IAC3B,OAAO,KAAK,CAAA;AACb,CAAC;AAED,SAAS,uBAAuB,CAAC,SAAiB;IACjD,MAAM,KAAK,GAAG,IAAI,KAAK,CACtB,6DAA6D,SAAS,IAAI,CAC1E,CAAA;IACD,KAAK,CAAC,IAAI,GAAG,cAAc,CAAA;IAC3B,OAAO,KAAK,CAAA;AACb,CAAC;AAED,SAAS,kBAAkB,CAC1B,MAA6D,EAC7D,MAA6B;IAE7B,IAAI,CAAC;QACJ,MAAM,EAAE,CAAC,MAAM,CAAC,CAAA;IACjB,CAAC;IAAC,MAAM,CAAC;QACR,0EAA0E;QAC1E,qEAAqE;QACrE,6CAA6C;IAC9C,CAAC;AACF,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACpC,OAAgB,EAChB,SAAiB;IAEjB,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;IACxC,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,EAAE;SACjC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;SAC1D,IAAI,CACJ,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,EAC7B,CAAC,KAAc,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAC/C,CAAA;IAEF,IAAI,SAAS,KAAK,CAAC;QAAE,OAAO,MAAM,SAAS,CAAA;IAE3C,IAAI,KAAgD,CAAA;IACpD,IAAI,QAA2B,CAAA;IAC/B,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAwB,CAAC,OAAO,EAAE,EAAE;QAC/D,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YACvB,QAAQ,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAA;YAC1C,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;YAC1B,OAAO,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;QAChD,CAAC,EAAE,SAAS,CAAC,CAAA;IACd,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAA;QACxD,wEAAwE;QACxE,+DAA+D;QAC/D,OAAO,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAA;IAClE,CAAC;YAAS,CAAC;QACV,IAAI,KAAK,KAAK,SAAS;YAAE,YAAY,CAAC,KAAK,CAAC,CAAA;IAC7C,CAAC;AACF,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAQpC;IACA,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAA;IAC/C,IAAI,SAAS,CAAC,OAAO;QAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,KAAK,EAAE,CAAA;IACzE,IAAI,OAAO,CAAC,SAAS,IAAI,CAAC,EAAE,CAAC;QAC5B,OAAO;YACN,IAAI,EAAE,WAAW;YACjB,aAAa,EAAE,KAAK;YACpB,KAAK,EAAE,uBAAuB,CAAC,OAAO,CAAC,SAAS,CAAC;SACjD,CAAA;IACF,CAAC;IAED,MAAM,mBAAmB,GAAG,IAAI,eAAe,EAAE,CAAA;IACjD,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAA;IACzC,IAAI,YAA+B,CAAA;IACnC,IAAI,KAAgD,CAAA;IAEpD,IAAI,OAAoB,CAAA;IACxB,MAAM,OAAO,GAAG,IAAI,OAAO,CAAiC,CAAC,OAAO,EAAE,EAAE;QACvE,OAAO,GAAG,GAAG,EAAE;YACd,mBAAmB,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;YAC3C,OAAO,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAA;QAC/B,CAAC,CAAA;QACD,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;IAC7D,CAAC,CAAC,CAAA;IACF,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAwD,CAAC,OAAO,EAAE,EAAE;QAC/F,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YACvB,YAAY,GAAG,uBAAuB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;YACzD,mBAAmB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;YACvC,OAAO,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAA;QACpD,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;IACtB,CAAC,CAAC,CAAA;IAEF,kEAAkE;IAClE,sEAAsE;IACtE,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;QACvB,SAAS,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAC/C,IAAI,KAAK,KAAK,SAAS;YAAE,YAAY,CAAC,KAAK,CAAC,CAAA;QAC5C,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,KAAK,EAAE,CAAA;IACnD,CAAC;IAKD,IAAI,OAAyB,CAAA;IAC7B,IAAI,CAAC;QACJ,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAC7E,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,SAAkB,EAAE,OAAO,EAAE,CAAC,EACpD,CAAC,KAAc,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAiB,EAAE,KAAK,EAAE,CAAC,CACxD,CAAA;IACF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,SAAS,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAC/C,IAAI,KAAK,KAAK,SAAS;YAAE,YAAY,CAAC,KAAK,CAAC,CAAA;QAC5C,MAAM,KAAK,CAAA;IACZ,CAAC;IAED,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAA;QAC/D,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC9B,uEAAuE;YACvE,uEAAuE;YACvE,qEAAqE;YACrE,IAAI,YAAY,EAAE,CAAC;gBAClB,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,CAAA;YACxE,CAAC;YACD,MAAM,MAAM,CAAC,KAAK,CAAA;QACnB,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC/B,qEAAqE;YACrE,wEAAwE;YACxE,uDAAuD;YACvD,IAAI,CAAC,MAAM,CAAC,OAAO;gBAAE,OAAO,MAAM,CAAA;YAClC,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAA;YAC/E,kBAAkB,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,CAAA;YAClD,OAAO,YAAY;gBAClB,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE;gBAClE,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,KAAK,EAAE,CAAA;QAC/C,CAAC;QAED,yEAAyE;QACzE,qEAAqE;QACrE,sDAAsD;QACtD,KAAK,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YAChC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;gBAAE,OAAM;YACnC,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAA;YAC7E,kBAAkB,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,CAAA;QACnD,CAAC,CAAC,CAAA;QACF,OAAO,MAAM,CAAC,IAAI,KAAK,WAAW;YACjC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE;YACjE,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,IAAI,EAAE,CAAA;IAC9C,CAAC;YAAS,CAAC;QACV,SAAS,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAC/C,IAAI,KAAK,KAAK,SAAS;YAAE,YAAY,CAAC,KAAK,CAAC,CAAA;IAC7C,CAAC;AACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isolation.d.ts","sourceRoot":"","sources":["../../src/sandbox/isolation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,kBAAkB,EAClB,uBAAuB,EACvB,sBAAsB,EACtB,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"isolation.d.ts","sourceRoot":"","sources":["../../src/sandbox/isolation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,kBAAkB,EAClB,uBAAuB,EACvB,sBAAsB,EACtB,MAAM,2BAA2B,CAAA;AAiClC,wBAAgB,WAAW,CAAC,WAAW,EAAE,kBAAkB,GAAG,sBAAsB,CAMnF;AAED,gFAAgF;AAChF,wBAAgB,gBAAgB,CAC/B,WAAW,EAAE,kBAAkB,EAC/B,QAAQ,EAAE,SAAS,uBAAuB,EAAE,GAC1C,uBAAuB,EAAE,CAK3B;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC9B,WAAW,EAAE,kBAAkB,EAC/B,QAAQ,EAAE,SAAS,uBAAuB,EAAE,GAC1C,IAAI,CAON;AAED,0DAA0D;AAC1D,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,kBAAkB,GAAG,MAAM,CAIzE"}
|
|
@@ -13,8 +13,17 @@ import { SANDBOX_ISOLATION_CONTROLS } from '../types/sandbox/index.js';
|
|
|
13
13
|
* still sees the whole host filesystem — a private mount table is not
|
|
14
14
|
* confinement. Claiming otherwise here would reintroduce the exact defect
|
|
15
15
|
* this table exists to end.
|
|
16
|
+
*
|
|
17
|
+
* `linux-bwrap` is the tier that does remount, and so is the first on this
|
|
18
|
+
* platform that may claim `filesystem`. It builds a fresh mount table
|
|
19
|
+
* containing the sandbox root read-write, the system paths a binary needs
|
|
20
|
+
* read-only, and nothing else — the host filesystem is not merely
|
|
21
|
+
* unwritable, it is not present. Verified by `spawn-confinement.proc-test.ts`
|
|
22
|
+
* against a real spawn rather than asserted here, because this table is a
|
|
23
|
+
* claim and that test is what makes it one worth reading.
|
|
16
24
|
*/
|
|
17
25
|
const ISOLATION_BY_ENVIRONMENT = {
|
|
26
|
+
'linux-bwrap': { filesystem: true, network: true, process: true },
|
|
18
27
|
'macos-seatbelt': { filesystem: true, network: true, process: true },
|
|
19
28
|
'linux-namespace': { filesystem: false, network: true, process: true },
|
|
20
29
|
basic: { filesystem: false, network: false, process: false },
|