Nathan Flurry
1d1069d6fb
feat(inspector): replace xterm.js with ghostty-web
...
- Replace @xterm/xterm, @xterm/addon-fit, and @xterm/addon-web-links with ghostty-web
- Update Terminal component to use ghostty-web API:
- Add async WASM initialization via init()
- Use FitAddon with observeResize() for auto-fitting
- Use onResize callback for terminal resize events
- ghostty-web is API-compatible with xterm.js but uses Ghostty's WASM-compiled VT100 parser
- Benefits:
- Better rendering of complex scripts (Devanagari, Arabic)
- XTPUSHSGR/XTPOPSGR support
- Same battle-tested code as native Ghostty app
Ref: https://github.com/coder/ghostty-web
2026-01-30 13:26:09 -08:00
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
db0268b88f
feat: add timestamps to process logs and inspector UI
...
Backend changes:
- Add timestamps to log lines: [2026-01-30T12:32:45.123Z] <line>
- stdout.log and stderr.log get timestamps per line
- combined.log includes [stdout]/[stderr] prefix after timestamp
- Add strip_timestamps query param to GET /process/{id}/logs
- Use time crate with RFC3339 format for timestamps
Frontend changes:
- Add Processes tab to inspector debug panel
- Show list of processes with status badges (running/stopped/killed)
- Click to expand and view logs
- Log viewer options:
- Select stream: combined, stdout, stderr
- Toggle strip_timestamps
- Refresh logs button
- Action buttons: stop (SIGTERM), kill (SIGKILL), delete
- Auto-refresh process list every 5 seconds
2026-01-30 12:43:51 -08:00
Nathan Flurry
0ae99e97d5
docs: link to CORS docs in inspector connect screen ( #37 )
2026-01-29 23:59:23 -08:00
Nathan Flurry
82ac0b3880
chore: update skill install command to use rivet-dev/skills ( #20 )
...
* chore: update skill install command to use rivet-dev/skills
* chore: improve skill structure per skill-creator guidelines
* chore: add bug report section and simplify description
* chore: add Discord link to bug report section
2026-01-29 06:04:07 -08:00
Nicholas Kissel
828b0bddf4
chore(site): content changes ( #18 )
2026-01-28 22:34:06 -08:00
Nicholas Kissel
975bbd949c
chore(site): favicon change
2026-01-28 19:17:05 -08:00
Nicholas Kissel
f3964a4ca0
chore(inspect): changed logo and removed text
2026-01-28 19:02:42 -08:00
Nicholas Kissel
f4184a3bbc
chore(site): links and styling
2026-01-28 17:15:27 -08:00
Nicholas Kissel
65513f9086
chore(site): updated graph and wording
2026-01-28 16:54:05 -08:00
Nathan Flurry
fc0a8fce15
feat(website): add inspector section with debugger screenshot ( #11 )
2026-01-28 05:14:30 -08:00
Nathan Flurry
8acb2bb078
feat: enable inspector CORS by default
...
- Enable CORS for https://inspect.sandboxagent.dev by default
- Add --no-inspector-cors flag to opt out
- Additional --cors-allow-origin flags are now cumulative with inspector
- Inspector now tries current origin first before localhost:2468 fallback
2026-01-28 05:12:16 -08:00
Nathan Flurry
08d299a3ef
docs: documentation overhaul and universal schema reference ( #10 )
...
* remove website .astro
* fix default origin
* docs: comprehensive documentation overhaul
- Add quickstart with multi-platform examples (E2B, Daytona, Docker, local)
- Add environment variables setup with platform-specific tabs
- Add Python SDK page (coming soon)
- Add local deployment guide
- Update E2B/Daytona/Docker guides with TypeScript examples
- Configure OpenAPI auto-generation for API reference
- Add CORS configuration guide
- Update manage-sessions with Rivet Actors examples
- Fix SDK method names and URLs throughout
- Add icons to main documentation pages
- Remove outdated universal-api and http-api pages
* docs: add universal schema and agent compatibility docs
- Create universal-schema.mdx with full event/item schema reference
- Create agent-compatibility.mdx mirroring README feature matrix
- Rename glossary.md to universal-schema.mdx
- Update CLAUDE.md with sync requirements for new docs
- Add links in README to building-chat-ui, manage-sessions, universal-schema
- Fix CLI docs link (rivet.dev -> sandboxagent.dev)
* docs: add inspector page and daytona network limits warning
2026-01-28 05:07:15 -08:00
Nathan Flurry
0bbe92b344
wip examples and content
2026-01-28 02:56:22 -08:00
Nicholas Kissel
f53945ef87
chore(site): links and image updates
2026-01-28 02:16:37 -08:00
Nathan Flurry
745c64149e
chore: website
2026-01-28 01:44:19 -08:00
Nathan Flurry
d1cbd20b83
feat(inspector): add local network access support for HTTPS to HTTP connections
2026-01-28 01:37:56 -08:00
Nathan Flurry
6aa591bd91
chore: sync workspace changes
2026-01-28 01:13:50 -08:00
Nathan Flurry
0ef3b998bb
fix: default inspector endpoint to localhost:2468
2026-01-27 23:28:31 -08:00
Nathan Flurry
eee56bada5
fix: serve inspector assets under /ui/ path
2026-01-27 23:17:36 -08:00
Nathan Flurry
30c4ad6b39
chore: update landing and inspector content
2026-01-27 22:29:35 -08:00
Nathan Flurry
50b5289e47
feat: show mock agent hint bubble in empty state
2026-01-27 21:32:56 -08:00
Nathan Flurry
02c9201bda
fix: add dropdown spacing, use friendly agent names in session list
2026-01-27 21:09:23 -08:00
Nathan Flurry
e00b6f5d5f
feat: add thinking indicator for in-progress items
2026-01-27 21:04:30 -08:00
Nathan Flurry
962512a0db
feat: add end session button to chat header
2026-01-27 21:03:33 -08:00
Nathan Flurry
307ee0c57b
fix: align sidebar dropdown to extend right instead of left
2026-01-27 20:56:01 -08:00
Nathan Flurry
c595cb43dd
fix: add fallback copy method for non-secure contexts
2026-01-27 20:51:39 -08:00
Nathan Flurry
5b2660cd6e
fix: prevent dropdown clipping in empty state
2026-01-27 20:50:24 -08:00
Nathan Flurry
d30ddc24f2
fix: remove copy icon, reduce padding, reposition badges in dropdown
2026-01-27 20:42:45 -08:00
Nathan Flurry
6f6a5ba04d
fix: make agent badges subtle, position next to name, widen dropdown
2026-01-27 20:40:02 -08:00
Nathan Flurry
c498aeba28
feat: show installed badge and version in agent dropdown menus
2026-01-27 20:34:10 -08:00
Nathan Flurry
f2c060903f
feat: add copy button to events tab to copy all events as JSON
2026-01-27 20:31:38 -08:00
Nathan Flurry
7950c93f06
fix: stop SSE/polling streams when switching sessions
2026-01-27 20:14:35 -08:00
Nathan Flurry
9a249de840
fix: add missing sharedProcess property to emptyCapabilities
2026-01-27 19:54:42 -08:00
Nathan Flurry
19f561de52
refactor: move agent version from setup row to session header
2026-01-27 19:53:37 -08:00
Nathan Flurry
308d7f279c
test: update snapshots and test gating
2026-01-27 19:49:03 -08:00
Nathan Flurry
f05389307a
fix: use tsup instead of tsc for SDK build in inspector Dockerfile
2026-01-27 19:29:15 -08:00
Nathan Flurry
f67b6fc4b1
wip inspector
2026-01-27 19:26:13 -08:00
Nathan Flurry
34d4f3693e
feat: add turn streaming and inspector updates
2026-01-27 06:18:43 -08:00
Nathan Flurry
bf58891edf
chore: sync workspace changes
2026-01-27 05:06:33 -08:00
Nathan Flurry
d24f983e2c
feat: add mock server mode for UI testing
2026-01-27 03:42:41 -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
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
52f0188517
fix: make Create Session button compact width
2026-01-25 13:27:06 -08:00
Nathan Flurry
7df4702936
feat: add Dockerfile for web frontend with Caddy
2026-01-25 13:26:06 -08:00
Nathan Flurry
0b76ec9f3e
fix: remove disconnected indicator, add button spacing and min-width
2026-01-25 13:24:12 -08:00
Nathan Flurry
2e47f9cf8d
feat: add Create Session button to empty state, move refresh to header
2026-01-25 13:23:05 -08:00
Nathan Flurry
241bea6eb9
refactor: events tab first, rename to Request Log, newest events first
2026-01-25 04:21:12 -08:00