sandbox-agent/frontend/packages/inspector
Nathan Flurry ac0a22cd07 feat: add PTY/terminal session support to Process Manager API
Add Docker-style terminal support with -t (TTY) and -i (interactive) flags:

Backend (Rust):
- Add portable-pty dependency for PTY allocation on Unix
- Extend StartProcessRequest with tty, interactive, and terminalSize options
- Add PTY process spawning with TERM=xterm-256color
- Add WebSocket endpoint for bidirectional terminal I/O
- Add terminal resize endpoint (POST /process/:id/resize)
- Add terminal input endpoint (POST /process/:id/input)
- Support base64-encoded binary input
- Process info now includes tty, interactive, and terminalSize fields
- Terminal output is logged to combined.log for persistence

Frontend (Inspector UI):
- Add @xterm/xterm and addons for terminal rendering
- Create Terminal component with xterm.js integration
- Add tabbed view (Terminal/Logs) for PTY processes
- Terminal auto-connects via WebSocket when process is expanded
- Support terminal resize with ResizeObserver
- Show PTY badge on processes with TTY enabled
- Graceful handling of process exit and disconnection

API:
- GET /v1/process/:id/terminal - WebSocket for terminal I/O
- POST /v1/process/:id/resize - Resize terminal (cols, rows)
- POST /v1/process/:id/input - Write data to terminal

WebSocket protocol:
- type: 'data' - Terminal output (server -> client)
- type: 'input' - Terminal input (client -> server)
- type: 'resize' - Resize request (client -> server)
- type: 'exit' - Process exited (server -> client)
- type: 'error' - Error message (server -> client)
2026-01-30 13:13:16 -08:00
..
public chore(site): favicon change 2026-01-28 19:17:05 -08:00
src feat: add PTY/terminal session support to Process Manager API 2026-01-30 13:13:16 -08:00
Dockerfile fix: serve inspector assets under /ui/ path 2026-01-27 23:17:36 -08:00
index.html chore(inspect): changed logo and removed text 2026-01-28 19:02:42 -08:00
package.json feat: add PTY/terminal session support to Process Manager API 2026-01-30 13:13:16 -08:00
tsconfig.json feat: add release pipeline for crates.io and npm publishing 2026-01-25 14:11:39 -08:00
tsconfig.node.json feat: add release pipeline for crates.io and npm publishing 2026-01-25 14:11:39 -08:00
vite.config.ts feat: add mock server mode for UI testing 2026-01-27 03:42:41 -08:00