2026-07-09 16:05:44 +08:00
{
"name" : "@deepseek-ai/dsh-bash-sandbox" ,
"description" : "Sandbox-consuming implementation of the DeepSeek Harness bash executor seam (confines every command via ctx.sandbox, reports denial/enforcement result facts)" ,
"version" : "0.0.1" ,
"private" : true ,
"type" : "module" ,
"main" : "lib/index.js" ,
"types" : "lib/types/index.d.ts" ,
"exports" : {
"." : {
"types" : "./lib/types/index.d.ts" ,
"default" : "./lib/index.js"
} ,
2026-07-19 22:13:50 +08:00
"./invariant" : {
"types" : "./lib/types/invariant.d.ts" ,
"default" : "./lib/invariant.js"
} ,
2026-07-09 16:05:44 +08:00
"./src/*" : "./src/*" ,
"./package.json" : "./package.json"
} ,
"files" : [
"lib/index.js" ,
2026-07-19 22:13:50 +08:00
"lib/invariant.js" ,
2026-07-09 16:05:44 +08:00
"lib/types/**/*.d.ts" ,
"lib/types/**/*.d.ts.map" ,
"src"
] ,
"license" : "BSD-3-Clause" ,
"peerDependencies" : {
"@deepseek-ai/dsh-bash" : "^0.0.1" ,
"@deepseek-ai/dsh-bash-local" : "^0.0.1" ,
2026-07-19 22:13:50 +08:00
"@deepseek-ai/dsh-invariants" : "^0.0.1" ,
2026-07-09 16:05:44 +08:00
"@deepseek-ai/dsh-sandbox" : "^0.0.1" ,
feat(sandbox): cross-family file sandbox — one policy home, sandboxed fs provider, fs escalation parity
Extend SandboxMode enforcement from bash to the filesystem tools, the sandbox
RFC's deferred cross-family phase.
- dsh-sandbox-policy (new, ctx.sandboxPolicy): the single home for the
deployment default mode + workspaceRoot and the per-session override event,
renamed bash/sandbox-mode -> sandbox/mode and moved here with its fold/setter.
Decouples the bash seam from dsh-session.
- dsh-fs-sandbox (new): SandboxedFileSystem extends LocalFileSystem and fences
write/edit by the per-call mode (read-only denies, workspace-write contains to
the workspace + temp roots via the shared writableRoots, danger passes
through); reads pass through. Structured FS_SANDBOX_DENIED; in-lock parent
re-canonicalization. A policy fence in trusted code, not a kernel boundary.
- dsh-sandbox: the shared escalation kit (writableRoots, the strictly-wider
ladder, denial/hint markers, approveEscalation) both tool families use;
approveEscalation takes a structural approver so dsh-sandbox gains no
approval/agent dependency, and both tools stay duplication-free.
- tool-fs: write/edit advertise sandbox_permissions/justification under a
confining ctx.fs, map FS_SANDBOX_DENIED to the shared [sandbox: ...] marker,
and resolve the same one-approved-wider retry.
- examples/acp-agent: composes sandbox-policy + fs-sandbox, drops the gating
that disabled the fs stack under confined modes.
RFC docs/rfc/implemented/feature/2026-07-14-cross-family-fs-sandbox.md; the old
sandbox RFC's In-process/deferred/FAQ sections updated to shipped fact.
2026-07-14 20:05:57 +08:00
"@deepseek-ai/dsh-sandbox-policy" : "^0.0.1" ,
2026-07-15 11:28:45 +08:00
"cordis" : "^4.0.0-rc.7"
2026-07-09 16:05:44 +08:00
} ,
"devDependencies" : {
"@deepseek-ai/dsh-bash" : "workspace:^" ,
"@deepseek-ai/dsh-bash-local" : "workspace:^" ,
2026-07-19 22:13:50 +08:00
"@deepseek-ai/dsh-invariants" : "workspace:^" ,
refactor(process): split the process manager out of the bash executor
New process/ capability family: @deepseek-ai/dsh-process owns ctx.processes —
abstract ProcessManager.spawn(spec) over a fully-explicit ProcessSpawnSpec —
plus the shared DSH_* managed-environment and CollectedOutput vocabulary;
@deepseek-ai/dsh-process-local carries the former bash-local run.ts plumbing
(detached groups, tail-keep spill-backed output, credential scrub, kill
escalation, kill-and-join disposal) with no config of its own.
dsh-bash-local becomes a consumer: it keeps command defaulting, the fused
deadline timedOut/aborted classification, the model-friendly terminal env
(now merged through the ordinary env channel), and the [stderr]-marked
background read merge, and spawns through ctx.processes. Background-process
lifetime moves to the manager, so an executor reload no longer kills live
background work; a background spawn failure is injected once into the read
path instead of being buffered as fake stderr. dsh-bash re-exports the moved
vocabulary so bash consumers keep one import root; dsh-bash-sandbox only
redeclares the inherited inject.
Every composition loading a bash executor now loads dsh-process-local (CLI,
examples, python bundled runtime, create-sdk bash feature, inline test
configs).
2026-07-26 06:59:01 +08:00
"@deepseek-ai/dsh-process-local" : "workspace:^" ,
2026-07-09 16:05:44 +08:00
"@deepseek-ai/dsh-sandbox" : "workspace:^" ,
"@deepseek-ai/dsh-sandbox-local" : "workspace:^" ,
feat(sandbox): cross-family file sandbox — one policy home, sandboxed fs provider, fs escalation parity
Extend SandboxMode enforcement from bash to the filesystem tools, the sandbox
RFC's deferred cross-family phase.
- dsh-sandbox-policy (new, ctx.sandboxPolicy): the single home for the
deployment default mode + workspaceRoot and the per-session override event,
renamed bash/sandbox-mode -> sandbox/mode and moved here with its fold/setter.
Decouples the bash seam from dsh-session.
- dsh-fs-sandbox (new): SandboxedFileSystem extends LocalFileSystem and fences
write/edit by the per-call mode (read-only denies, workspace-write contains to
the workspace + temp roots via the shared writableRoots, danger passes
through); reads pass through. Structured FS_SANDBOX_DENIED; in-lock parent
re-canonicalization. A policy fence in trusted code, not a kernel boundary.
- dsh-sandbox: the shared escalation kit (writableRoots, the strictly-wider
ladder, denial/hint markers, approveEscalation) both tool families use;
approveEscalation takes a structural approver so dsh-sandbox gains no
approval/agent dependency, and both tools stay duplication-free.
- tool-fs: write/edit advertise sandbox_permissions/justification under a
confining ctx.fs, map FS_SANDBOX_DENIED to the shared [sandbox: ...] marker,
and resolve the same one-approved-wider retry.
- examples/acp-agent: composes sandbox-policy + fs-sandbox, drops the gating
that disabled the fs stack under confined modes.
RFC docs/rfc/implemented/feature/2026-07-14-cross-family-fs-sandbox.md; the old
sandbox RFC's In-process/deferred/FAQ sections updated to shipped fact.
2026-07-14 20:05:57 +08:00
"@deepseek-ai/dsh-sandbox-policy" : "workspace:^" ,
2026-07-19 22:13:50 +08:00
"cordis" : "^4.0.0-rc.7" ,
"node-addon-landlock-run" : "0.0.0-test.0"
2026-07-09 16:05:44 +08:00
}
}