deepseek-harness/packages/bash
Huanqi Cao 8c6179d69d feat(pwsh): add the pwsh-local executor and the pwsh tool
Windows-native execution foundation: PwshLocalExecutor implements the bash
executor seam over ctx.subprocess (pwsh -NoLogo -NoProfile -NonInteractive
-Command, one argv element, no quoting layer; resolvePwshPath probes
PowerShell 7 / PATH / Windows PowerShell 5.1 as a pure function), and
tool-pwsh is the minimal PowerShell-dialect model-facing tool over ctx.bash
(foreground only, managed DSH_* env, timeout/signal/exit markers, terminal
and generic presenters). Both packages carry full suites (real pwsh,
self-skipping without it) at per-file 100% coverage; vitest's Windows
exclusion narrows from packages/bash/* to the bash-requiring packages so the
pwsh suites run natively on Windows too. The CLI gains the workspace deps
and tsconfig projects without mounting either plugin; the Windows-default
roadmap is recorded as a proposed Agent Note.
2026-08-01 18:48:17 +08:00
..
bash docs(i18n): record proofread README pairs 2026-07-29 15:30:44 +08:00
bash-local docs(i18n): standardize reviewed README headings 2026-07-29 20:16:45 +08:00
bash-sandbox fix(review): align runtime-context diagnostics and docs 2026-07-31 15:19:59 +08:00
pwsh-local feat(pwsh): add the pwsh-local executor and the pwsh tool 2026-08-01 18:48:17 +08:00
tool-bash refactor(sandbox-policy): remove capability family registries 2026-07-31 13:49:41 +08:00
tool-pwsh feat(pwsh): add the pwsh-local executor and the pwsh tool 2026-08-01 18:48:17 +08:00
README.i18n.yaml docs(i18n): record proofread README pairs 2026-07-29 15:30:44 +08:00
README.md Merge branch 'worktree-tasks-service-seam' into worktree-process-service-seam 2026-07-26 20:55:58 +08:00
README.zh.md docs(i18n): proofread README translations 1-20 2026-07-29 15:29:24 +08:00

bash/ — bash capability family

English | 中文

The canonical three-package capability seam (see capability seams): an abstract executor interface, concrete implementations, and the model-facing tool that consumes it. All product packages.

Package Role ctx key
bash/ Abstract bash executor seam (interface + vocabulary; sandbox result facts carry the sandbox/ seam's mode/enforcement vocabulary, and the managed-env/output vocabulary is re-exported from the subprocess/ seam) ctx.bash
bash-local/ Local BashExecutor implementation over the subprocess/ service (command defaulting, deadlines, terminal env, background-read merge) (registers ctx.bash)
bash-sandbox/ Sandbox-consuming BashExecutor (wraps every command argv via ctx.sandbox, stamps denial/enforcement facts; extends bash-local's mechanics) (registers ctx.bash)
tool-bash/ Model-facing bash schema; background processes register with the generic tasks/ runtime (registers on ctx.tools)

The interface lives at bash/bash/. bash-sandbox replacing bash-local without touching the interface or the tool is the split doing exactly what it exists for — a leaf cordis.yml picks one executor entry, plus a ctx.sandbox provider entry for the confined one (see the acp-agent example's default composition).