@edgehero/pi-dispatch-sandbox-gateway 0.0.0-stage → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,3 +1,36 @@
1
- # Temporary Holding Version
1
+ # pi-dispatch sandbox gateway
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ An optional browser terminal for an existing sandbox of [pi-dispatch](https://github.com/edgehero/pi-dispatch#readme), which runs the pi
4
+ coding agent for you in the background. You do not need this package to use pi-dispatch. Install it on the sandbox's host, then enable it
5
+ with protected configuration. It is off until explicitly started:
6
+
7
+ ```sh
8
+ npm install -g @edgehero/pi-dispatch-sandbox-gateway
9
+ pi-dispatch-sandbox-gateway --config /absolute/path/sandbox-gateway.json
10
+ ```
11
+
12
+ Use the existing runtime account and an explicit Docker or rootless Podman socket. The gateway attaches only to an
13
+ already running, registered sandbox. It cannot create a container, choose an image, start another shell or end the
14
+ sandbox. Open in Terminal and the command-copy route remain available.
15
+
16
+ The browser workspace uses exact-pinned xterm.js and Dockview for up to four terminal tabs with split panes.
17
+ Adding a terminal selects another existing shell through fresh console authorization. Moving a pane preserves its
18
+ connection; closing it detaches only that pane. Run context and the return link follow the selected terminal.
19
+
20
+ A writing operator may enable read-only watching for up to three other attachments. It is off by default per
21
+ terminal, with a persistent named roster and individual Remove controls. Each watcher verifies their own operator
22
+ token. Watch attachments have no runtime input stream or resize capability, receive only new output at the
23
+ driver's dimensions, and end on driver/consent/session loss. Stop watching leaves the driver and shell running.
24
+
25
+ The gateway needs its own hostname, separate from the console, and HTTPS for public access. Another port on the same
26
+ hostname does not isolate cookies. Each browser opening requires the original console tab and operator session,
27
+ fresh same-token verification, a cookie-bound one-use grant and current authorization. Closing the browser detaches
28
+ and keeps the shell; the console's confirmed End action remains separate. Phones use the native terminal command.
29
+
30
+ The package contains its executable and self-hosted terminal assets. It requires Node 22.19 or newer. No repository
31
+ checkout, browser build tool, provider key, forge credential or console token file belongs in the gateway deployment.
32
+
33
+ See the complete [configuration and operator reference](https://github.com/edgehero/pi-dispatch/blob/main/docs/sandbox-gateway.md)
34
+ and the [accepted security boundaries](https://github.com/edgehero/pi-dispatch/blob/main/SECURITY.md#the-sandbox-browser-gateway).
35
+ The runtime socket retains its full authority if the gateway is compromised; the attach-only interface does not
36
+ reduce the socket's permissions.