8c1e8d9890
Every release member now declares publishConfig.access: public, so the scope no longer mixes levels: the 221 packages/*/* and apps/* manifests join the vendored framework and the native packages. check-workspace-constraints drops the per-sequence expectation and holds every release member to public, which is what stops a member from drifting back. Access is a property of the package, not of a version: the dsh packages already published as restricted become world-readable at their next publication.
terminal/ — persistent PTY capability family
English | 中文
PTY stands for Pseudo-Terminal(伪终端). This capability provides persistent, owner-scoped terminal sessions for workflows that require state across tool calls or interactive stdin. PTY complements the one-shot bash and filesystem tools; it does not replace their stronger per-operation contracts.
| Package | Role | ctx key |
|---|---|---|
pty (@deepseek-ai/dsh-terminal) |
Backend registry, branded ids, exact-Agent ownership, session operations, and awaited cleanup | ctx.terminals |
terminal-bash (@deepseek-ai/dsh-terminal-bash) |
Shell backend over ctx.subprocess.spawnTerminal: readiness detection, bounded terminal state, sandbox policy, and session operations |
registers on ctx.terminals |
tool-terminal (@deepseek-ai/dsh-tool-terminal) |
Six model-facing tools and generic task integration for background sends | registers on ctx.tools |
The design and deferred boundaries live in the persistent PTY Agent Note.
The subsystem reference — ids, backend/session contracts, send readiness, bounded reads — is docs/subsystems/terminal.md; design and deferred boundaries in the persistent PTY Agent Note.