Files
deepseek-harness/packages/pty
imccyu 97eb14a007 build(release): make the release set publishable under the private scope
Every package under packages/, apps/, and vendor/ drops "private": true and
declares publishConfig.access "restricted": the repository now states which
packages it publishes instead of deciding it at publish time. Each one also
declares its repository and directory, which is how a consumer of a private
package reaches its source.

The Landlock packages move to restricted with them. They have never been
published, so nothing anonymous depends on them today, and the whole
@deepseek-ai scope stays private.

The workspace constraint that required every package to be private now applies
to non-members only, and asserts the publishable trio on each release member.
2026-08-11 00:09:31 +08:00
..

pty/ — 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-pty) Backend registry, branded ids, exact-Agent ownership, session operations, and awaited cleanup ctx.pty
pty-local (@deepseek-ai/dsh-pty-local) Shell backend over ctx.subprocess.spawnTerminal: readiness detection, bounded terminal state, sandbox policy, and session operations registers on ctx.pty
tool-pty (@deepseek-ai/dsh-tool-pty) 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/pty.md; design and deferred boundaries in the persistent PTY Agent Note.