Files
deepseek-harness/packages/ssh
winewill cfa84ed4e3 fix(subprocess-local): contain spill file failures instead of killing the host
OutputCollector.spillAll ran openSync/writeSync inside the stream 'data'
listener with no containment. When the private per-process spill directory
had been removed by a temporary-file cleaner, the first overflowing chunk
threw ENOENT from Pipe.onStreamRead, became an uncaught exception in the
Desktop Host, and the Electron shell reported it as a fatal failure.

Spilling is best-effort by contract (spillPath is optional; a failed final
close already withholds it). Every filesystem failure while opening or
appending the spill file now discards the spill, reports once through the
owner's logger, and leaves in-memory collection untouched. Spill inputs move
into one SpillOptions object with the reporter, so tail-only collectors no
longer pass an empty directory; prepareManagedProcessBinding is the explicit
resolve step for the directory and reporter defaults, and the runtime and
SSH helper supply their plugin loggers.

Tests cover ENOENT on open (removed directory), ENOTDIR on open, and ENOSPC
on append after the file exists, asserting the tail stays byte-exact, the
spill file is withdrawn, and the reporter fires once.
2026-09-22 12:40:07 +08:00
..
2026-09-22 11:59:16 +08:00
2026-09-22 11:59:16 +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
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.