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 |
|
Nathan Flurry
|
d85f55a75b
|
fix: add version to workspace dependencies for crates.io publishing
|
2026-01-27 20:42:26 -08:00 |
|
Nathan Flurry
|
b49776145b
|
fix: add docker-setup action, runtime Dockerfile, and align release workflow
- Add .github/actions/docker-setup composite action (from rivet)
- Add docker/runtime/Dockerfile for Docker image builds
- Update release.yaml to match rivet patterns:
- Use corepack enable instead of pnpm/action-setup
- Add reuse_engine_version input
- Add Docker job with Depot runners
- Use --no-frozen-lockfile for pnpm install
- Add id-token permission for setup job
|
2026-01-27 19:29:54 -08:00 |
|
Nathan Flurry
|
f5d1a6383d
|
feat: sync universal schema and sdk updates
|
2026-01-27 02:52:25 -08:00 |
|
Nathan Flurry
|
4083baa1c1
|
chore: sync workspace changes
|
2026-01-26 22:29:10 -08:00 |
|
Nathan Flurry
|
011ca27287
|
feat: expand api snapshots and schema tooling
|
2026-01-26 00:13:17 -08:00 |
|
Nathan Flurry
|
71ab40388c
|
refactor: rename engine/ to server/
|
2026-01-25 14:14:58 -08:00 |
|
Nathan Flurry
|
016024c04b
|
feat: add release pipeline for crates.io and npm publishing
- Add --check, --publish-crates, --publish-npm-sdk, --publish-npm-cli flags to release script
- Create CI workflow with pre-release checks (cargo fmt, clippy, test, tsc)
- Update release workflow to run checks, build binaries, and publish packages
- Add @sandbox-agent/cli npm package with platform-specific binaries (esbuild pattern)
- Configure TypeScript SDK for npm publishing (exports, files, types)
- Add crates.io metadata to Cargo.toml (repository, description)
- Rename @sandbox-agent/web to @sandbox-agent/inspector
|
2026-01-25 14:11:39 -08:00 |
|
Nathan Flurry
|
a49ea094f3
|
refactor: rename sandbox-daemon to sandbox-agent
|
2026-01-25 02:30:12 -08:00 |
|
Nathan Flurry
|
f92ecd9b9a
|
chore: sync workspace changes
|
2026-01-25 01:57:16 -08:00 |
|