Files
deepseek-harness/packages/shell
Tianyi Cui 4f3a47d792 fix(terminal-bash): handle terminal protocol replies
Unix PowerShell emits cursor-position requests while PSReadLine starts and
redraws prompts. The subprocess PTY is only a transport, so those requests
went unanswered. Startup could then accept the dsh> literal echoed from its
setup source as a rendered prompt, and later sends were lost or clipped.

Feed raw PTY output into a zero-scrollback @xterm/headless state machine and
write generated replies through the provider-owned terminal handle. Drain
replies before caller input, repeat foreground inspection when terminal
activity races the sample, and retain send ownership until parser and reply
work quiesce. Coalesce raw chunks behind one active parser write so large
Windows output cannot create thousands of queued parse callbacks.

Publish pwsh only from backend stdin_read evidence and start one timeoutMs
deadline before the complete startup retry loop, so inferred-idle follow-ups
cannot reset the bound. Dispose the emulator when the
terminal or cleanup fails. Document the fail-loud ConstrainedLanguage path
and add focused coverage for split queries, reply ordering, foreground
resampling, failure containment, batching, timeout, and disposal.
2026-08-23 19:24:50 +08:00
..
2026-08-21 19:48:58 +08:00
2026-08-21 19:48:58 +08:00
2026-08-21 19:48:58 +08:00
2026-08-21 19:48:58 +08:00
2026-08-21 19:48:58 +08:00
2026-08-21 19:48:58 +08:00
2026-08-21 19:48:58 +08:00

shell/ — bash capability family

English | 中文

The capability family spans the canonical executor seam, its implementations, the shared shell environment, and the model-facing tools. All are product packages.

Package Role ctx key
shell/ Defines the executor contract shared by Service Providers and Consumers. ctx.shell
bash-local/ Executes commands through the local subprocess service. (registers ctx.shell)
bash-sandbox/ Applies the configured sandbox backend before local execution. (registers ctx.shell)
pwsh-local/ Executes PowerShell commands with Windows-specific process behavior. (registers ctx.shell)
shell-env/ Provides the managed DSH_* environment shared by shell tools. ctx.shellEnv
tool-bash/ Exposes Bash execution and background-job integration to the model. (registers on ctx.tools)
tool-pwsh/ Exposes PowerShell execution to the model. (registers on ctx.tools)

A leaf cordis.yml selects one executor implementation and the model-facing tools it needs. A sandboxed composition also selects a ctx.sandbox provider; the ACP example shows one complete wiring.

The subsystem reference — request/spec vocabulary, results, background processes, the service, and events — is docs/subsystems/shell.md.