deepseek-harness/examples/tui-agent/tests
Tianyi Cui 0d6bfd8856 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
..
fixtures refactor(process): split the process manager out of the bash executor 2026-07-26 06:59:01 +08:00
snapshots fix(plan): make direct exit discoverable 2026-07-23 21:34:40 +08:00
pty-harness.ts refactor(cli): unify the arg grammar — one program, --config flag, real web subcommand 2026-07-25 15:47:55 +08:00
tui-keyless-smoke.e2e.ts refactor(cli): unify the arg grammar — one program, --config flag, real web subcommand 2026-07-25 15:47:55 +08:00
tui.snapshot.ts refactor(process): split the process manager out of the bash executor 2026-07-26 06:59:01 +08:00