Skip to content

runtime: complete PTY and child-process behavior for full OpenCode shell, LSP, and formatter paths #8512

Description

@proggeramlug

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew capability or improvementparityCompatibility gap with Node.js, ECMAScript, or the supported ecosystem

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions