Files
deepseek-harness/packages/subprocess
sjw1231 4ef46e21b1 feat(subprocess): add SubprocessError and make Win32Error a HarnessError
The subprocess Service Definition exports SubprocessError with a closed
SUBPROCESS_* code list, rebases SubprocessExecutableNotFoundError on it
with the same name, and adds subprocessSpawnFailure() so consumers that
report a spawn rejection classify ENOENT and other platform errors with
the original as cause. subprocess-local codes empty argv, Windows Job
runner failures, runner IPC failures, and an unloadable node-pty, and
names its pre-aborted spawn error AbortError so the tool registry
classifies it as cancellation.

Win32Error now extends HarnessError with code WIN32_ERROR, keeping its
name, api, and win32Code fields.

Refs #7869
2026-11-06 16:29:31 +08:00
..

description, kind
description kind
The subprocess group map: the shared child-process service and its local host provider, for users and maintainers navigating the group. package-group

subprocess/ — subprocess capability family

English | 中文

Summary

Every child process and terminal session the harness runs — bash commands, language servers, persistent shells, and out-of-process subagent backends — is started, observed, and terminated through one shared service (ctx.subprocess), with a local provider running them on the host machine. It is not a standalone product feature: the consuming capability seams decide what each process means, and command semantics, deadlines, and model-facing presentation stay with them. The group provides executable lookup, bounded output capture with spill recovery, provider-managed process ranges with disclosed weaker fallbacks, and a scrubbed starting environment for every child.

Table of Contents


Packages

Package Role ctx key
subprocess Defines the child-process service: executable lookup, managed process spawns, and real terminal sessions ctx.subprocess
subprocess-local Runs host processes and terminals with native managed ranges where supported and explicit weaker fallbacks elsewhere registers on ctx.subprocess
win32-process Owns shared Win32 bindings for sandbox and ordinary process creation, stdio, Job assignment, polling, waits, and handle cleanup library — no ctx key

The service keeps process lifetime across consumer reloads; consumers own what a process means (a bash command, a language server) and every default that shapes one.



Dev Note

Working context for maintainers — click to expand

None.