Interactive Remote Shell for the device detail page — first slice of a Datto-style Agent Browser toolbox.
- Agent: real PTY-backed interactive shell (creack/pty on Linux/macOS, ConPTY on Windows), replacing the old one-shot-command-per-message stub in
shell.go. - Dashboard: new "Remote Shell" button + xterm.js terminal modal on the device detail page.
- Reuses the existing session relay (WebSocket Durable Object, per-session auth, command-queue dial-out) end to end — no new backend routes or migrations.