Parent: #8506
Related completed work: #6563
Related open FFI work: #6562
Problem
The full OpenCode target exercises more than basic PTY spawn. It uses PTYs for interactive sessions and process APIs for shell tools, language servers, formatters, signals, cancellation, and streaming output. OpenCode has both bun-pty and @lydell/node-pty backends.
The goal is one native Perry PTY/process implementation exposed through the compatible import shapes, with bun-pty also becoming available through the generic FFI work where appropriate.
Scope
- PTY spawn, write, resize, data, exit, kill, cwd, env, and terminal dimensions
- Unix PTY and Windows ConPTY lifecycle
- child-process stdio pipes, backpressure, exit/error ordering, signals, cwd/env, and cancellation
- long-running LSP process lifecycle and formatter timeout behavior
- no N-API or JavaScript-runtime fallback
Acceptance
Parent: #8506
Related completed work: #6563
Related open FFI work: #6562
Problem
The full OpenCode target exercises more than basic PTY spawn. It uses PTYs for interactive sessions and process APIs for shell tools, language servers, formatters, signals, cancellation, and streaming output. OpenCode has both
bun-ptyand@lydell/node-ptybackends.The goal is one native Perry PTY/process implementation exposed through the compatible import shapes, with
bun-ptyalso becoming available through the generic FFI work where appropriate.Scope
Acceptance