@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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isolation.js","sourceRoot":"","sources":["../../src/sandbox/isolation.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAA;AAEtE
|
|
1
|
+
{"version":3,"file":"isolation.js","sourceRoot":"","sources":["../../src/sandbox/isolation.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAA;AAEtE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,wBAAwB,GAAiE;IAC9F,aAAa,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;IACjE,gBAAgB,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;IACpE,iBAAiB,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;IACtE,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE;CAC5D,CAAA;AAED,MAAM,UAAU,WAAW,CAAC,WAA+B;IAC1D,MAAM,MAAM,GAAG,wBAAwB,CAAC,WAAW,CAAC,CAAA;IACpD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,gCAAgC,WAAW,EAAE,CAAC,CAAA;IAC/D,CAAC;IACD,OAAO,MAAM,CAAA;AACd,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,gBAAgB,CAC/B,WAA+B,EAC/B,QAA4C;IAE5C,MAAM,MAAM,GAAG,WAAW,CAAC,WAAW,CAAC,CAAA;IACvC,OAAO,0BAA0B,CAAC,MAAM,CACvC,CAAC,OAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAC3D,CAAA;AACF,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAC9B,WAA+B,EAC/B,QAA4C;IAE5C,MAAM,OAAO,GAAG,gBAAgB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;IACvD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAM;IAEhC,MAAM,IAAI,KAAK,CACd,wBAAwB,WAAW,oBAAoB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,uDAAuD,iBAAiB,CAAC,WAAW,CAAC,4GAA4G,CAC1Q,CAAA;AACF,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,iBAAiB,CAAC,WAA+B;IAChE,MAAM,MAAM,GAAG,WAAW,CAAC,WAAW,CAAC,CAAA;IACvC,MAAM,QAAQ,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAA;IAChF,OAAO,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC/D,CAAC"}
|
|
@@ -1,6 +1,23 @@
|
|
|
1
1
|
import type { Sandbox, SandboxCreateConfig, SandboxEnvironment, SandboxIsolationControl, SandboxProvider } from '../../types/sandbox/index.js';
|
|
2
2
|
import type { Logger } from '../../utils/logger.js';
|
|
3
|
-
import {
|
|
3
|
+
import type { PtyLoader } from '../terminal.js';
|
|
4
|
+
interface SpawnProbeObservation {
|
|
5
|
+
readonly error?: unknown;
|
|
6
|
+
readonly status: number | null;
|
|
7
|
+
readonly signal: NodeJS.Signals | null;
|
|
8
|
+
readonly stdout: string | null;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* A wrapper is usable only when the same direct-spawn shape as a real command
|
|
12
|
+
* can execute and carry its output back through a pipe.
|
|
13
|
+
*
|
|
14
|
+
* Checking only the exit status is insufficient: a host policy can let a
|
|
15
|
+
* shell launch a namespace helper while refusing or partially virtualising a
|
|
16
|
+
* direct `spawn()` of that helper. In that state the old shell-string probe
|
|
17
|
+
* selected the tier, but production commands returned exit zero with empty
|
|
18
|
+
* output. Treat a spawn error, signal, or damaged pipe as an unavailable tier.
|
|
19
|
+
*/
|
|
20
|
+
export declare function acceptsSandboxSpawnProbe(observation: SpawnProbeObservation): boolean;
|
|
4
21
|
/**
|
|
5
22
|
* One output stream, accumulated under a byte cap that it reports hitting.
|
|
6
23
|
*
|
|
@@ -22,6 +39,8 @@ export declare class CappedStream {
|
|
|
22
39
|
}
|
|
23
40
|
export interface LimitedSpawnRequest {
|
|
24
41
|
readonly environment: SandboxEnvironment;
|
|
42
|
+
/** Canonical outer wrapper selected and probed by the provider. */
|
|
43
|
+
readonly wrapperCommand?: string;
|
|
25
44
|
readonly command: string;
|
|
26
45
|
readonly args: readonly string[];
|
|
27
46
|
readonly rootDir: string;
|
|
@@ -42,6 +61,34 @@ export declare function buildLimitedSpawn(request: LimitedSpawnRequest): {
|
|
|
42
61
|
spawnCommand: string;
|
|
43
62
|
spawnArgs: string[];
|
|
44
63
|
};
|
|
64
|
+
/**
|
|
65
|
+
* Build a macOS seatbelt (SBPL) profile for sandbox isolation.
|
|
66
|
+
*
|
|
67
|
+
* Key principle: (deny default) + explicit allows. Network always denied.
|
|
68
|
+
*/
|
|
69
|
+
/**
|
|
70
|
+
* A mount table containing the sandbox and the system paths a binary needs,
|
|
71
|
+
* and nothing else.
|
|
72
|
+
*
|
|
73
|
+
* The difference from the namespace tier is the whole point: that one unshares
|
|
74
|
+
* a mount table and keeps the host's contents in it, so the child sees
|
|
75
|
+
* everything and this file reports `filesystem: false` for it. Here each path
|
|
76
|
+
* is bound in deliberately, so a path nobody listed is not unreadable — it is
|
|
77
|
+
* absent. `ls /home` fails with ENOENT rather than EACCES, which is the
|
|
78
|
+
* behaviour a caller relying on `filesystem` isolation is entitled to.
|
|
79
|
+
*
|
|
80
|
+
* `--unshare-all` covers the network and process controls in the same call, so
|
|
81
|
+
* all three rows of this tier's isolation report come from one spawn rather
|
|
82
|
+
* than from three mechanisms that could drift apart.
|
|
83
|
+
*
|
|
84
|
+
* The system paths are bound READ-ONLY and only when present: a distribution
|
|
85
|
+
* with a merged `/usr` has no real `/lib`, and binding a path that does not
|
|
86
|
+
* exist is a hard failure rather than a no-op. `/proc` and `/dev` get their
|
|
87
|
+
* own fresh instances instead of a bind, so the child cannot read the host's
|
|
88
|
+
* process table through them — a bound `/proc` would hand back the process
|
|
89
|
+
* isolation the same flag just removed.
|
|
90
|
+
*/
|
|
91
|
+
export declare function buildBwrapArgs(sandboxRoot: string): string[];
|
|
45
92
|
export interface LocalSandboxProviderOptions {
|
|
46
93
|
/**
|
|
47
94
|
* Controls this run relies on. Construction throws when the detected
|
|
@@ -50,11 +97,13 @@ export interface LocalSandboxProviderOptions {
|
|
|
50
97
|
*/
|
|
51
98
|
readonly requireIsolation?: readonly SandboxIsolationControl[];
|
|
52
99
|
/**
|
|
53
|
-
*
|
|
100
|
+
* Legacy test injection for the local backend's former terminal method.
|
|
54
101
|
*
|
|
55
|
-
*
|
|
56
|
-
*
|
|
57
|
-
*
|
|
102
|
+
* @deprecated The local backend cannot preserve its selected isolation
|
|
103
|
+
* tier or own the complete terminal process tree, so it no longer exposes
|
|
104
|
+
* `Sandbox.openTerminal`. Supplying this option now throws. Use the
|
|
105
|
+
* host-scoped terminal helpers directly only when unconfined execution is
|
|
106
|
+
* intentional, or provide a backend that owns confinement and teardown.
|
|
58
107
|
*/
|
|
59
108
|
readonly ptyLoader?: PtyLoader;
|
|
60
109
|
}
|
|
@@ -63,8 +112,9 @@ export declare class LocalSandboxProvider implements SandboxProvider {
|
|
|
63
112
|
readonly name = "Local Sandbox";
|
|
64
113
|
readonly environment: SandboxEnvironment;
|
|
65
114
|
private readonly log;
|
|
66
|
-
private readonly
|
|
115
|
+
private readonly wrapperCommand;
|
|
67
116
|
constructor(log: Logger, options?: LocalSandboxProviderOptions);
|
|
68
117
|
create(config?: SandboxCreateConfig): Promise<Sandbox>;
|
|
69
118
|
}
|
|
119
|
+
export {};
|
|
70
120
|
//# sourceMappingURL=local.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local.d.ts","sourceRoot":"","sources":["../../../src/sandbox/provider/local.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EACX,OAAO,EACP,mBAAmB,
|
|
1
|
+
{"version":3,"file":"local.d.ts","sourceRoot":"","sources":["../../../src/sandbox/provider/local.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EACX,OAAO,EACP,mBAAmB,EAEnB,kBAAkB,EAIlB,uBAAuB,EACvB,eAAe,EAEf,MAAM,8BAA8B,CAAA;AAErC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAOnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AA2B/C,UAAU,qBAAqB;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAA;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CAC9B;AAED;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,qBAAqB,GAAG,OAAO,CAOpF;AAuCD;;;;;;;;GAQG;AACH,qBAAa,YAAY;IAIZ,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAHrC,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,KAAK,CAAI;gBAEY,QAAQ,EAAE,MAAM;IAE7C,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAOzB,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,4CAA4C;IAC5C,IAAI,SAAS,IAAI,OAAO,CAEvB;CACD;AAED,MAAM,WAAW,mBAAmB;IACnC,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAA;IACxC,mEAAmE;IACnE,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAA;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAC9B;AAgBD;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,mBAAmB,GAAG;IAChE,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,EAAE,CAAA;CACnB,CAmDA;AA6DD;;;;GAIG;AACH;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAwD5D;AA+XD,MAAM,WAAW,2BAA2B;IAC3C;;;;OAIG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,uBAAuB,EAAE,CAAA;IAC9D;;;;;;;;OAQG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAA;CAC9B;AAED,qBAAa,oBAAqB,YAAW,eAAe;IAC3D,QAAQ,CAAC,EAAE,WAAU;IACrB,QAAQ,CAAC,IAAI,mBAAkB;IAC/B,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAA;IAExC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAoB;gBAEvC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,2BAAgC;IAkC5D,MAAM,CAAC,MAAM,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;CA0B5D"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { realpathSync } from 'node:fs';
|
|
1
|
+
import { spawn, spawnSync } from 'node:child_process';
|
|
2
|
+
import { constants, accessSync, existsSync, realpathSync } from 'node:fs';
|
|
3
3
|
import { readFile as fsReadFile, writeFile as fsWriteFile, mkdir, readdir, rename, rm, stat, } from 'node:fs/promises';
|
|
4
4
|
import { tmpdir } from 'node:os';
|
|
5
5
|
import { dirname, isAbsolute, join, relative, resolve } from 'node:path';
|
|
@@ -11,8 +11,8 @@ import { SANDBOX_DEFAULT_TIMEOUT_MS, SANDBOX_KILL_GRACE_MS, SANDBOX_MAX_OUTPUT_B
|
|
|
11
11
|
// every bug the original's comment was written to record.
|
|
12
12
|
import { killTree } from '../../process/kill-tree.js';
|
|
13
13
|
import { generateSandboxId } from '../../utils/id.js';
|
|
14
|
+
import { WINDOWS_CORE_ENV_KEYS, applyEnvironmentOverrides, pickEnvironmentEntries, } from '../../utils/process-environment.js';
|
|
14
15
|
import { assertIsolation, describeIsolation } from '../isolation.js';
|
|
15
|
-
import { loadPty, openTerminalWith, } from '../terminal.js';
|
|
16
16
|
// ---------------------------------------------------------------------------
|
|
17
17
|
// Path safety
|
|
18
18
|
// ---------------------------------------------------------------------------
|
|
@@ -32,6 +32,54 @@ function assertInsideSandbox(sandboxRoot, targetPath) {
|
|
|
32
32
|
* tests the isolation that will actually be applied, not a weaker subset.
|
|
33
33
|
*/
|
|
34
34
|
const LINUX_UNSHARE_FLAGS = ['--mount', '--pid', '--fork', '--map-root-user', '--net'];
|
|
35
|
+
const SPAWN_PROBE_SENTINEL = 'namzu-sandbox-spawn-probe';
|
|
36
|
+
/**
|
|
37
|
+
* A wrapper is usable only when the same direct-spawn shape as a real command
|
|
38
|
+
* can execute and carry its output back through a pipe.
|
|
39
|
+
*
|
|
40
|
+
* Checking only the exit status is insufficient: a host policy can let a
|
|
41
|
+
* shell launch a namespace helper while refusing or partially virtualising a
|
|
42
|
+
* direct `spawn()` of that helper. In that state the old shell-string probe
|
|
43
|
+
* selected the tier, but production commands returned exit zero with empty
|
|
44
|
+
* output. Treat a spawn error, signal, or damaged pipe as an unavailable tier.
|
|
45
|
+
*/
|
|
46
|
+
export function acceptsSandboxSpawnProbe(observation) {
|
|
47
|
+
return (observation.error === undefined &&
|
|
48
|
+
observation.status === 0 &&
|
|
49
|
+
observation.signal === null &&
|
|
50
|
+
observation.stdout === SPAWN_PROBE_SENTINEL);
|
|
51
|
+
}
|
|
52
|
+
function probeSandboxSpawn(command, wrapperArgs) {
|
|
53
|
+
const observation = spawnSync(command, [
|
|
54
|
+
...wrapperArgs,
|
|
55
|
+
'--',
|
|
56
|
+
process.execPath,
|
|
57
|
+
'-e',
|
|
58
|
+
`process.stdout.write(${JSON.stringify(SPAWN_PROBE_SENTINEL)})`,
|
|
59
|
+
], {
|
|
60
|
+
encoding: 'utf8',
|
|
61
|
+
timeout: 5_000,
|
|
62
|
+
});
|
|
63
|
+
return acceptsSandboxSpawnProbe(observation);
|
|
64
|
+
}
|
|
65
|
+
const TRUSTED_WRAPPER_CANDIDATES = {
|
|
66
|
+
bwrap: ['/usr/bin/bwrap', '/bin/bwrap', '/usr/sbin/bwrap'],
|
|
67
|
+
unshare: ['/usr/bin/unshare', '/bin/unshare', '/usr/sbin/unshare'],
|
|
68
|
+
'sandbox-exec': ['/usr/bin/sandbox-exec'],
|
|
69
|
+
};
|
|
70
|
+
function resolveTrustedWrapper(name) {
|
|
71
|
+
for (const candidate of TRUSTED_WRAPPER_CANDIDATES[name]) {
|
|
72
|
+
try {
|
|
73
|
+
accessSync(candidate, constants.X_OK);
|
|
74
|
+
return realpathSync(candidate);
|
|
75
|
+
}
|
|
76
|
+
catch {
|
|
77
|
+
// Try the next fixed system location. Caller-controlled PATH is not
|
|
78
|
+
// part of wrapper discovery because it is also configurable per run.
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
return undefined;
|
|
82
|
+
}
|
|
35
83
|
/**
|
|
36
84
|
* One output stream, accumulated under a byte cap that it reports hitting.
|
|
37
85
|
*
|
|
@@ -62,6 +110,12 @@ export class CappedStream {
|
|
|
62
110
|
return this.bytes > this.capBytes;
|
|
63
111
|
}
|
|
64
112
|
}
|
|
113
|
+
function requiredWrapper(request) {
|
|
114
|
+
if (request.wrapperCommand === undefined || !isAbsolute(request.wrapperCommand)) {
|
|
115
|
+
throw new Error(`Sandbox environment ${request.environment} requires the absolute wrapper path that was probed`);
|
|
116
|
+
}
|
|
117
|
+
return request.wrapperCommand;
|
|
118
|
+
}
|
|
65
119
|
/** Single-quote for a shell, escaping any quote already inside. */
|
|
66
120
|
function shellQuote(value) {
|
|
67
121
|
return `'${value.replace(/'/g, "'\\''")}'`;
|
|
@@ -95,14 +149,19 @@ export function buildLimitedSpawn(request) {
|
|
|
95
149
|
]
|
|
96
150
|
: [command, ...args];
|
|
97
151
|
switch (environment) {
|
|
152
|
+
case 'linux-bwrap':
|
|
153
|
+
return {
|
|
154
|
+
spawnCommand: requiredWrapper(request),
|
|
155
|
+
spawnArgs: [...buildBwrapArgs(rootDir), '--', ...inner],
|
|
156
|
+
};
|
|
98
157
|
case 'linux-namespace':
|
|
99
158
|
return {
|
|
100
|
-
spawnCommand:
|
|
159
|
+
spawnCommand: requiredWrapper(request),
|
|
101
160
|
spawnArgs: [...LINUX_UNSHARE_FLAGS, '--', ...inner],
|
|
102
161
|
};
|
|
103
162
|
case 'macos-seatbelt':
|
|
104
163
|
return {
|
|
105
|
-
spawnCommand:
|
|
164
|
+
spawnCommand: requiredWrapper(request),
|
|
106
165
|
spawnArgs: ['-p', buildSeatbeltProfile(rootDir), '--', ...inner],
|
|
107
166
|
};
|
|
108
167
|
case 'basic': {
|
|
@@ -118,31 +177,27 @@ export function buildLimitedSpawn(request) {
|
|
|
118
177
|
function detectEnvironment() {
|
|
119
178
|
const { platform } = process;
|
|
120
179
|
if (platform === 'linux') {
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
stdio: 'ignore',
|
|
129
|
-
});
|
|
130
|
-
return 'linux-namespace';
|
|
180
|
+
// Probe the direct child-process boundary used in production, including
|
|
181
|
+
// its stdout pipe. A shell-string probe is a different capability on
|
|
182
|
+
// hosts that mediate namespace helpers and can claim a tier production
|
|
183
|
+
// cannot actually drive.
|
|
184
|
+
const bwrap = resolveTrustedWrapper('bwrap');
|
|
185
|
+
if (bwrap !== undefined && probeSandboxSpawn(bwrap, buildBwrapArgs(tmpdir()))) {
|
|
186
|
+
return { environment: 'linux-bwrap', wrapperCommand: bwrap };
|
|
131
187
|
}
|
|
132
|
-
|
|
133
|
-
|
|
188
|
+
const unshare = resolveTrustedWrapper('unshare');
|
|
189
|
+
if (unshare !== undefined && probeSandboxSpawn(unshare, LINUX_UNSHARE_FLAGS)) {
|
|
190
|
+
return { environment: 'linux-namespace', wrapperCommand: unshare };
|
|
134
191
|
}
|
|
135
192
|
}
|
|
136
193
|
if (platform === 'darwin') {
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
catch {
|
|
142
|
-
// sandbox-exec not available
|
|
194
|
+
const seatbelt = resolveTrustedWrapper('sandbox-exec');
|
|
195
|
+
if (seatbelt !== undefined &&
|
|
196
|
+
probeSandboxSpawn(seatbelt, ['-p', buildSeatbeltProfile(tmpdir())])) {
|
|
197
|
+
return { environment: 'macos-seatbelt', wrapperCommand: seatbelt };
|
|
143
198
|
}
|
|
144
199
|
}
|
|
145
|
-
return 'basic';
|
|
200
|
+
return { environment: 'basic' };
|
|
146
201
|
}
|
|
147
202
|
// ---------------------------------------------------------------------------
|
|
148
203
|
// Seatbelt profile
|
|
@@ -170,6 +225,84 @@ function canonicalizePath(p) {
|
|
|
170
225
|
*
|
|
171
226
|
* Key principle: (deny default) + explicit allows. Network always denied.
|
|
172
227
|
*/
|
|
228
|
+
/**
|
|
229
|
+
* A mount table containing the sandbox and the system paths a binary needs,
|
|
230
|
+
* and nothing else.
|
|
231
|
+
*
|
|
232
|
+
* The difference from the namespace tier is the whole point: that one unshares
|
|
233
|
+
* a mount table and keeps the host's contents in it, so the child sees
|
|
234
|
+
* everything and this file reports `filesystem: false` for it. Here each path
|
|
235
|
+
* is bound in deliberately, so a path nobody listed is not unreadable — it is
|
|
236
|
+
* absent. `ls /home` fails with ENOENT rather than EACCES, which is the
|
|
237
|
+
* behaviour a caller relying on `filesystem` isolation is entitled to.
|
|
238
|
+
*
|
|
239
|
+
* `--unshare-all` covers the network and process controls in the same call, so
|
|
240
|
+
* all three rows of this tier's isolation report come from one spawn rather
|
|
241
|
+
* than from three mechanisms that could drift apart.
|
|
242
|
+
*
|
|
243
|
+
* The system paths are bound READ-ONLY and only when present: a distribution
|
|
244
|
+
* with a merged `/usr` has no real `/lib`, and binding a path that does not
|
|
245
|
+
* exist is a hard failure rather than a no-op. `/proc` and `/dev` get their
|
|
246
|
+
* own fresh instances instead of a bind, so the child cannot read the host's
|
|
247
|
+
* process table through them — a bound `/proc` would hand back the process
|
|
248
|
+
* isolation the same flag just removed.
|
|
249
|
+
*/
|
|
250
|
+
export function buildBwrapArgs(sandboxRoot) {
|
|
251
|
+
const root = canonicalizePath(sandboxRoot);
|
|
252
|
+
const args = [
|
|
253
|
+
'--unshare-all',
|
|
254
|
+
// The child dies with the parent rather than outliving a killed run.
|
|
255
|
+
// Without it an escaped grandchild keeps the mount namespace alive and
|
|
256
|
+
// the sandbox's temporary root cannot be removed.
|
|
257
|
+
'--die-with-parent',
|
|
258
|
+
'--new-session',
|
|
259
|
+
];
|
|
260
|
+
for (const path of BWRAP_SYSTEM_PATHS) {
|
|
261
|
+
if (existsSync(path))
|
|
262
|
+
args.push('--ro-bind', path, path);
|
|
263
|
+
}
|
|
264
|
+
// The runtime this process is running under, when it lives outside those.
|
|
265
|
+
//
|
|
266
|
+
// Found by the tier breaking four existing tests the moment it worked: they
|
|
267
|
+
// spawn `node` inside the sandbox, and a Node installed under a home
|
|
268
|
+
// directory — a tarball, a version manager, anything but the distribution's
|
|
269
|
+
// package — is simply not there once the host filesystem is gone. The
|
|
270
|
+
// failure reads as `execvp: No such file or directory`, which sounds like a
|
|
271
|
+
// broken test rather than a sandbox doing its job.
|
|
272
|
+
//
|
|
273
|
+
// The PREFIX rather than the `bin` directory: `bin` alone is enough to run
|
|
274
|
+
// `node`, but `npm` and `npx` resolve their own code through `../lib`, and a
|
|
275
|
+
// model that runs one of those is not doing anything unusual.
|
|
276
|
+
//
|
|
277
|
+
// Read-only, and skipped when a system path already covers it, so a
|
|
278
|
+
// distribution-packaged runtime adds no second bind.
|
|
279
|
+
const interpreterPrefix = dirname(dirname(canonicalizePath(process.execPath)));
|
|
280
|
+
const alreadyCovered = BWRAP_SYSTEM_PATHS.some((path) => interpreterPrefix === path || interpreterPrefix.startsWith(`${path}/`));
|
|
281
|
+
if (!alreadyCovered && existsSync(interpreterPrefix)) {
|
|
282
|
+
args.push('--ro-bind', interpreterPrefix, interpreterPrefix);
|
|
283
|
+
}
|
|
284
|
+
args.push('--proc', '/proc', '--dev', '/dev',
|
|
285
|
+
// A private /tmp, because the sandbox root is where writes belong and a
|
|
286
|
+
// shared /tmp is a channel between runs.
|
|
287
|
+
'--tmpfs', '/tmp', '--bind', root, root, '--chdir', root);
|
|
288
|
+
return args;
|
|
289
|
+
}
|
|
290
|
+
/**
|
|
291
|
+
* Read-only host paths a spawned binary needs to run at all.
|
|
292
|
+
*
|
|
293
|
+
* Bound rather than assumed: `/etc` carries the resolver and user database a
|
|
294
|
+
* shell reads on startup, and omitting it produces failures that look like the
|
|
295
|
+
* command is broken rather than like the sandbox is doing its job.
|
|
296
|
+
*/
|
|
297
|
+
const BWRAP_SYSTEM_PATHS = [
|
|
298
|
+
'/usr',
|
|
299
|
+
'/bin',
|
|
300
|
+
'/sbin',
|
|
301
|
+
'/lib',
|
|
302
|
+
'/lib64',
|
|
303
|
+
'/etc',
|
|
304
|
+
'/opt',
|
|
305
|
+
];
|
|
173
306
|
function buildSeatbeltProfile(sandboxRoot) {
|
|
174
307
|
const root = canonicalizePath(sandboxRoot);
|
|
175
308
|
return [
|
|
@@ -242,25 +375,19 @@ function buildSeatbeltProfile(sandboxRoot) {
|
|
|
242
375
|
// Environment building
|
|
243
376
|
// ---------------------------------------------------------------------------
|
|
244
377
|
function buildSafeEnv(configEnv, optsEnv) {
|
|
245
|
-
const
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
}
|
|
252
|
-
if (configEnv) {
|
|
253
|
-
Object.assign(env, configEnv);
|
|
254
|
-
}
|
|
255
|
-
if (optsEnv) {
|
|
256
|
-
Object.assign(env, optsEnv);
|
|
257
|
-
}
|
|
378
|
+
const allowed = process.platform === 'win32'
|
|
379
|
+
? [...SANDBOX_SAFE_ENV_KEYS, ...WINDOWS_CORE_ENV_KEYS]
|
|
380
|
+
: SANDBOX_SAFE_ENV_KEYS;
|
|
381
|
+
const env = pickEnvironmentEntries(allowed);
|
|
382
|
+
applyEnvironmentOverrides(env, configEnv);
|
|
383
|
+
applyEnvironmentOverrides(env, optsEnv);
|
|
258
384
|
return env;
|
|
259
385
|
}
|
|
260
386
|
// ---------------------------------------------------------------------------
|
|
261
387
|
// LocalSandbox
|
|
262
388
|
// ---------------------------------------------------------------------------
|
|
263
389
|
class LocalSandbox {
|
|
390
|
+
wrapperCommand;
|
|
264
391
|
id;
|
|
265
392
|
rootDir;
|
|
266
393
|
environment;
|
|
@@ -270,14 +397,8 @@ class LocalSandbox {
|
|
|
270
397
|
get status() {
|
|
271
398
|
return this._status;
|
|
272
399
|
}
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
* build — the refusal path and the session wiring are both worth
|
|
276
|
-
* covering, and neither should require compiling C++ on CI.
|
|
277
|
-
*/
|
|
278
|
-
ptyLoader;
|
|
279
|
-
constructor(id, rootDir, environment, config, log, ptyLoader) {
|
|
280
|
-
this.ptyLoader = ptyLoader;
|
|
400
|
+
constructor(id, rootDir, environment, wrapperCommand, config, log) {
|
|
401
|
+
this.wrapperCommand = wrapperCommand;
|
|
281
402
|
this.id = id;
|
|
282
403
|
this.rootDir = rootDir;
|
|
283
404
|
this.environment = environment;
|
|
@@ -330,32 +451,6 @@ class LocalSandbox {
|
|
|
330
451
|
}
|
|
331
452
|
}
|
|
332
453
|
}
|
|
333
|
-
/**
|
|
334
|
-
* A real pseudo-terminal, or a refusal that says what to install.
|
|
335
|
-
*
|
|
336
|
-
* Deliberately NOT confined the way `exec` is. `exec` wraps every
|
|
337
|
-
* command in this class's isolation tiers (`unshare …`,
|
|
338
|
-
* `sandbox-exec …`); a terminal is an interactive session a human is
|
|
339
|
-
* driving, and wrapping it would put the tier's own shell between the
|
|
340
|
-
* operator's keystrokes and the program. So this runs inside the
|
|
341
|
-
* sandbox's ROOT DIRECTORY and nothing more — which is stated here
|
|
342
|
-
* because a caller reading "sandbox" would otherwise assume the tier
|
|
343
|
-
* applies, and it is exactly the assumption that makes a boundary
|
|
344
|
-
* imaginary.
|
|
345
|
-
*
|
|
346
|
-
* A host that needs the tier runs its interactive program through
|
|
347
|
-
* `exec` and accepts that it is not a terminal, or supplies a backend
|
|
348
|
-
* whose terminals are confined by construction — a container's `exec`,
|
|
349
|
-
* for instance, where the confinement is the container and not a
|
|
350
|
-
* wrapper.
|
|
351
|
-
*/
|
|
352
|
-
async openTerminal(options) {
|
|
353
|
-
if (this._status === 'destroyed') {
|
|
354
|
-
throw new Error(`Sandbox ${this.id} is destroyed`);
|
|
355
|
-
}
|
|
356
|
-
const pty = await loadPty(this.ptyLoader);
|
|
357
|
-
return openTerminalWith(pty, options, { shell: '/bin/sh', cwd: this.rootDir });
|
|
358
|
-
}
|
|
359
454
|
async writeFile(path, content) {
|
|
360
455
|
if (this._status === 'destroyed') {
|
|
361
456
|
throw new Error(`Sandbox ${this.id} is destroyed`);
|
|
@@ -406,7 +501,7 @@ class LocalSandbox {
|
|
|
406
501
|
}
|
|
407
502
|
return entries;
|
|
408
503
|
}
|
|
409
|
-
async destroy() {
|
|
504
|
+
async destroy(_options) {
|
|
410
505
|
if (this._status === 'destroyed') {
|
|
411
506
|
return;
|
|
412
507
|
}
|
|
@@ -420,6 +515,7 @@ class LocalSandbox {
|
|
|
420
515
|
buildSpawnArgs(command, args) {
|
|
421
516
|
return buildLimitedSpawn({
|
|
422
517
|
environment: this.environment,
|
|
518
|
+
...(this.wrapperCommand !== undefined ? { wrapperCommand: this.wrapperCommand } : {}),
|
|
423
519
|
command,
|
|
424
520
|
args,
|
|
425
521
|
rootDir: this.rootDir,
|
|
@@ -504,10 +600,14 @@ export class LocalSandboxProvider {
|
|
|
504
600
|
name = 'Local Sandbox';
|
|
505
601
|
environment;
|
|
506
602
|
log;
|
|
507
|
-
|
|
603
|
+
wrapperCommand;
|
|
508
604
|
constructor(log, options = {}) {
|
|
509
|
-
|
|
510
|
-
|
|
605
|
+
if (options.ptyLoader !== undefined) {
|
|
606
|
+
throw new Error('LocalSandboxProvider no longer accepts ptyLoader because its terminal could not preserve the selected isolation tier or sandbox teardown ownership. Use the host-scoped terminal helpers only for intentional host execution, or provide a confined terminal backend.');
|
|
607
|
+
}
|
|
608
|
+
const detected = detectEnvironment();
|
|
609
|
+
this.environment = detected.environment;
|
|
610
|
+
this.wrapperCommand = 'wrapperCommand' in detected ? detected.wrapperCommand : undefined;
|
|
511
611
|
this.log = log.child({ [SCOPE_ATTRIBUTE]: 'sandbox/provider/local' });
|
|
512
612
|
assertIsolation(this.environment, options.requireIsolation ?? []);
|
|
513
613
|
const enforced = describeIsolation(this.environment);
|
|
@@ -532,15 +632,20 @@ export class LocalSandboxProvider {
|
|
|
532
632
|
}
|
|
533
633
|
}
|
|
534
634
|
async create(config) {
|
|
635
|
+
config?.signal?.throwIfAborted();
|
|
535
636
|
const id = generateSandboxId();
|
|
536
637
|
// mkdtemp is in node:fs/promises but requires an async import-style usage.
|
|
537
638
|
// We use the same pattern: create a unique dir under os.tmpdir().
|
|
538
639
|
const { mkdtemp } = await import('node:fs/promises');
|
|
539
640
|
const rawDir = await mkdtemp(join(tmpdir(), SANDBOX_TEMP_DIR_PREFIX));
|
|
641
|
+
if (config?.signal?.aborted) {
|
|
642
|
+
await rm(rawDir, { recursive: true, force: true });
|
|
643
|
+
throw config.signal.reason;
|
|
644
|
+
}
|
|
540
645
|
// Canonicalize — macOS symlinks like /var → /private/var must be resolved
|
|
541
646
|
const rootDir = canonicalizePath(rawDir);
|
|
542
647
|
this.log.info('Creating sandbox', { 'namzu.sandbox.id': id, 'namzu.sandbox.root_dir': rootDir });
|
|
543
|
-
return new LocalSandbox(id, rootDir, this.environment, config ?? {}, this.log
|
|
648
|
+
return new LocalSandbox(id, rootDir, this.environment, this.wrapperCommand, config ?? {}, this.log);
|
|
544
649
|
}
|
|
545
650
|
}
|
|
546
651
|
//# sourceMappingURL=local.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local.js","sourceRoot":"","sources":["../../../src/sandbox/provider/local.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"local.js","sourceRoot":"","sources":["../../../src/sandbox/provider/local.ts"],"names":[],"mappings":"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"}
|
|
@@ -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,13 +18,19 @@
|
|
|
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
|
export interface TerminalSize {
|
|
23
29
|
readonly cols: number;
|
|
24
30
|
readonly rows: number;
|
|
25
31
|
}
|
|
26
32
|
export interface OpenTerminalOptions {
|
|
27
|
-
/** The program to run. Defaults to the
|
|
33
|
+
/** The program to run. Defaults to the caller-supplied shell. */
|
|
28
34
|
readonly command?: string;
|
|
29
35
|
readonly args?: readonly string[];
|
|
30
36
|
readonly cwd?: string;
|
|
@@ -57,7 +63,7 @@ export interface TerminalSession {
|
|
|
57
63
|
exitCode: number;
|
|
58
64
|
signal?: number;
|
|
59
65
|
}>;
|
|
60
|
-
/**
|
|
66
|
+
/** Ask the backing binding to stop its top-level terminal process. */
|
|
61
67
|
kill(signal?: string): void;
|
|
62
68
|
}
|
|
63
69
|
/** A terminal asked for where none can be provided. */
|
|
@@ -117,11 +123,13 @@ export type PtyLoader = () => Promise<PtyModule>;
|
|
|
117
123
|
*/
|
|
118
124
|
export declare function loadPty(loader?: PtyLoader): Promise<PtyModule>;
|
|
119
125
|
/**
|
|
120
|
-
* Open a terminal, given a loaded binding.
|
|
126
|
+
* Open a host terminal, given a loaded binding.
|
|
121
127
|
*
|
|
122
128
|
* Separated from `loadPty` so the refusal and the session are testable
|
|
123
129
|
* apart: one is about a missing dependency, the other about wiring a
|
|
124
|
-
* process that exists.
|
|
130
|
+
* process that exists. This helper does not add confinement or descendant
|
|
131
|
+
* cleanup; those belong to the backend that supplies its argv and owns the
|
|
132
|
+
* returned session.
|
|
125
133
|
*/
|
|
126
134
|
export declare function openTerminalWith(pty: PtyModule, options: OpenTerminalOptions, defaults: {
|
|
127
135
|
readonly shell: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal.d.ts","sourceRoot":"","sources":["../../src/sandbox/terminal.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"terminal.d.ts","sourceRoot":"","sources":["../../src/sandbox/terminal.ts"],"names":[],"mappings":"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"}
|