- permission-presets: register the permissions unit synchronously before the existing-session sweep, so a remount reads folded knob state instead of treating every session as fresh; add a regression test for that path - sandbox-policy/terminal-bash: mount the projection registry in the 5 pwsh terminal tests, the sdk-minimal bundle, and the e2b fixture composition; declare the new package dependency in both manifests - plan-mode: restore .strict() on the plan unit state schema and drop the deleted foldPlanMode from the bilingual READMEs - session-title/session-projection: sync bilingual READMEs to the mandatory projection seam and re-record translation pairing - docs: turnBoundary reader contract, subagent schema comment, token-meter import comment, sandbox-policy module docstring
description, kind
| description | kind |
|---|---|
| Package map for the persistent terminal capability family: the owner-scoped ctx.terminals service, the shell backend that starts interactive bash or pwsh, and the six model-facing tools. | package-group |
terminal/ — persistent PTY capability family
English | 中文
Summary
The terminal/ group gives agents persistent, owner-scoped terminal sessions: shell and REPL state — cwd, exported variables, activated environments, running interactive children — survives across tool calls. Three packages cover the family: terminal/ provides the owner-scoped session service behind ctx.terminals (sessions get opaque ids, and every operation stays fenced to the owning agent); terminal-bash/ starts an interactive bash or pwsh shell under the shared sandbox policy; and tool-terminal/ exposes six model-facing tools with bounded results. A terminal complements the one-shot bash and filesystem tools: use it when work needs interactive stdin or cross-call state. Sessions are process-local and do not survive a harness restart.
Table of Contents
Packages
The family is one session service, one shell backend, and one set of model-facing tools. Each child README owns the full contract; the subsystem reference owns the shared vocabulary and the generated service surface.
| Package | Role | ctx key |
|---|---|---|
terminal/ |
Session service: owner-scoped sessions with opaque ids, exact-owner fencing, and awaited cleanup | ctx.terminals |
terminal-bash/ |
Shell backend: interactive bash or pwsh under the shared sandbox policy, with readiness detection and bounded output | registers a backend on ctx.terminals |
tool-terminal/ |
Six model-facing tools with owner isolation and optional background sends | registers on ctx.tools |
Related documentation
Start with the subsystem reference for the shared types and the service surface, then the Agent Note for the design rationale and deferred boundaries.
- Terminal subsystem reference — ids, backend and session contracts, send readiness, bounded reads, and the generated
ctx.terminalsAPI. - Persistent PTY Agent Note — the design decision, alternatives, and deferred work.
- Capability seams — the Service Definition / Service Provider / Consumer split this family follows.
Dev Note
Working context for maintainers — click to expand
None.