fix(sandbox): honor explicit bind mounts over workspace defaults

Co-authored-by: tasaankaeris <tasaankaeris@users.noreply.github.com>
This commit is contained in:
Peter Steinberger
2026-02-22 20:31:40 +01:00
parent eefbf3dc5a
commit 6f895eb831
6 changed files with 126 additions and 7 deletions

View File

@@ -102,4 +102,24 @@ describe("resolveSandboxFsPathWithMounts", () => {
}),
).toThrow(/Path escapes sandbox root/);
});
it("prefers custom bind mounts over default workspace mount at /workspace", () => {
const sandbox = createSandbox({
docker: {
...createSandbox().docker,
binds: ["/tmp/override:/workspace:ro"],
},
});
const mounts = buildSandboxFsMounts(sandbox);
const resolved = resolveSandboxFsPathWithMounts({
filePath: "/workspace/docs/AGENTS.md",
cwd: sandbox.workspaceDir,
defaultWorkspaceRoot: sandbox.workspaceDir,
defaultContainerRoot: sandbox.containerWorkdir,
mounts,
});
expect(resolved.hostPath).toBe(path.join(path.resolve("/tmp/override"), "docs", "AGENTS.md"));
expect(resolved.writable).toBe(false);
});
});