Files
deepseek-harness/packages/ssh
sjw1231 8f798da97d fix(tool-fs): leave sandbox decisions to providers and bound patch diffs
Drop the preflight sandbox fence. It derived writable roots in the local
process, so under the SSH provider it threw on remote additionalWritableRoots
and compared remote targets against local temp roots; write and edit never
fenced in the tool layer. The provider now refuses a denied operation at
commit, and a commit whose first operation failed without any change rejects
like a preflight refusal so the sandbox escalation path keeps its error code.

Classify FS_ABORTED as unknown: a cancelled remote request rejects while the
provider may still be writing, so no stat comparison can settle it. Document
that a cancelled call receives the registry's abort result like every tool.

Store no diff for creations, matching write, and bound the move source basis
by diffBasisMaxBytes so persisted metadata never holds whole files;
FsMoveOutcome.sourceBefore becomes nullable. Omit deletions from the call
preview and from result diffs without a basis instead of rendering them as
empty creations, and count distinct files in the preview title.

Reject a NUL byte beyond the read sampling window in preflight, name targets
by display path in atomic-write diagnostics, align the apply_patch guidance
with the edit wording and mention delete and move, read the stopped flag and
applied diffs tool-agnostically in the client models, skip the permission-bit
snapshot under root, list fs/delete-intent in the tool catalog, and refresh
the fs-patch description, group README, fs-sandbox summary, and ui-tool README.
2026-10-21 17:21:01 +08:00
..
2026-10-17 15:10:31 +08:00
2026-10-17 15:10:31 +08:00

description, kind
description kind
The POSIX SSH provider family: shared connection, remote filesystem, managed subprocesses and file-effect sandbox. package-group

ssh/ — POSIX remote execution providers

English | 中文

Summary

This family runs files, ordinary processes, terminals and sandbox enforcement on one POSIX SSH host while the Harness stays local. A shared OpenSSH connection and installed helper support the existing filesystem, subprocess and sandbox interfaces. Use it in headless or custom profiles whose consumers honor provider-owned paths.

Table of Contents

Packages

Package Responsibility Service
ssh Connection, helper identity and transport lifecycle ctx.ssh
ssh-helper-runtime Private Node-free executable distribution —
fs-ssh Remote file identity, reads and guarded atomic mutations ctx.fs
subprocess-ssh Executable lookup, processes, control streams and terminals ctx.subprocess
sandbox-ssh Remote file-effect confinement and enforcement facts ctx.sandbox

Dev Note

Working context for maintainers — click to expand

Remote capability implementations retain the shared asynchronous terminal and cancellation interfaces. Local path access must never be inferred from a remote path string.