@meistrari/remy-cli 1.26.0-rc.0 → 1.26.0-rc.1

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.
Files changed (3) hide show
  1. package/README.md +26 -2
  2. package/dist/remy.js +27014 -26499
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -84,7 +84,7 @@ Your messages and Remy's render as Markdown: headings, bold, italic, strikethrou
84
84
 
85
85
  **Open links:** Ctrl+click an HTTP or HTTPS link in the conversation, including Markdown links and expanded activity links. Ordinary clicks and drag-to-copy keep their existing behavior. Terminals may reserve that gesture or use their own modifier for hyperlinks; `/links` or `Ctrl+L` provides a keyboard alternative. Select with arrows or `j`/`k`, press `Enter` to open the browser, or `c` to copy the complete URL. Browser opening uses the machine running Remy.
86
86
 
87
- **Download files:** `/files` or `Ctrl+F` opens a session file picker, newest first, containing Remy’s published artifacts and attachments sent by everyone in that session, with author/source labels. Repeated updates to an artifact appear once, using its newest title and URL. Select with arrows or `j`/`k`; `Enter` (or `d`) downloads to `~/Downloads`, creating that directory if needed. Remy shows progress and the full saved path. Existing files are preserved: another `report.txt` becomes `report (1).txt`. Press `o` for the Web preview or `c` to copy its URL; previews use your browser sign-in. Tela Pages open their canonical URL instead of downloading. The picker also works in closed sessions. `Esc` cancels an unfinished download and returns to the conversation with your draft intact, without stopping Remy. Errors stay visible for an explicit retry, which requests fresh download authorization. Files are saved without executing or extracting them. This picker covers published files and message attachments; embedded tool-output media remains available through **View event in Web**.
87
+ **Download files:** `/files` or `Ctrl+F` opens a session file picker, newest first, containing Remy’s published artifacts and attachments sent by everyone in that session, with author/source labels. Repeated updates to an artifact appear once, using its newest title and URL. Select with arrows or `j`/`k`; `Enter` (or `d`) downloads to `~/Downloads`, creating that directory if needed. Remy shows progress and the full saved path. Existing files are preserved: another `report.txt` becomes `report (1).txt`. Press `v` to open the selected item in Remy Viewer. Press `o` for the Web preview or `c` to copy its URL; previews use your browser sign-in. Tela Pages open their canonical URL instead of downloading. The picker also works in closed sessions. `Esc` cancels an unfinished download and returns to the conversation with your draft intact, without stopping Remy. Errors stay visible for an explicit retry, which requests fresh download authorization. Files are saved without executing or extracting them. This picker covers published files and message attachments; embedded tool-output media remains available through **View event in Web**.
88
88
 
89
89
  System observations appear as **system notifications** with the system actor, source, and a generic JSON data view. Remy preserves unknown actor IDs and notification formats rather than treating them as user messages or commands. Once the runtime accepts a notification, retained history can associate it with the known Remy turn that it started or joined without adding a synthetic prompt. The retained timeline keeps a turn-starting observation before that turn's start and a joined observation after the active turn's start, at the observation's original event position. Delivery is at-least-once, so an uncertain retry can produce additional distinct turns or repeat effects in an active turn; Remy preserves every observed turn rather than presenting the association as proof of exactly-once execution. The CLI has no control for creating notifications.
90
90
 
@@ -114,7 +114,9 @@ Drag to select visible text in any Remy view; Remy copies it to the local clipbo
114
114
  | `/sessions` | Return to the dashboard. |
115
115
  | `/new` | Start another new-session flow. |
116
116
  | `/logout` | Sign out of Remy after confirmation. |
117
- | `/files` / `Ctrl+F` | Browse and download session artifacts and everyone’s attachments. |
117
+ | `/files` / `Ctrl+F` | Browse and download session artifacts and everyone’s attachments; `v` opens the selection in Remy Viewer. |
118
+ | `/viewer` | Open the current session artifact list in Remy Viewer. |
119
+ | `/desktop` | Select Desktop in Remy Viewer; connecting remains explicit. |
118
120
  | `/changes` / `/workspace` | Browse read-only workspace changes or repository files and diffs. |
119
121
  | `/context` | Review or remove staged workspace context before sending. |
120
122
  | `/mcps` | Inspect session MCP attachments and available offerings; add or toggle optional attachments on open sessions. |
@@ -135,6 +137,27 @@ Drag to select visible text in any Remy view; Remy copies it to the local clipbo
135
137
 
136
138
  </details>
137
139
 
140
+ ## Visual companion
141
+
142
+ Remy Viewer is a separate app for macOS 13+ on Apple Silicon. It shows published artifacts, message attachments, Tela Pages, and Desktop beside your terminal; the conversation stays in Remy. Native/signing acceptance is required before a release is distributed. Use the signed arm64 DMG or ZIP from a validated viewer release, read its minimum compatible CLI version, and copy **Remy Viewer.app** to `~/Applications` or `/Applications`. The viewer bundles its runtime; Bun remains a CLI requirement only.
143
+
144
+ ```bash
145
+ remy viewer <session-id>
146
+ remy viewer <session-id> --artifact <artifact-id>
147
+ remy viewer <session-id> --attachment <attachment-id>
148
+ remy viewer <session-id> --desktop
149
+ ```
150
+
151
+ Selection flags are mutually exclusive. `--json` emits one `{ "viewer": ... }` acknowledgment/failure result and exits; it does not turn the viewer into an unattended API or bypass a graphical session. `/viewer`, `/desktop`, and `v` in `/files` provide the same handoff from an attached session. An explicit launch focuses the window; later publications update the list without changing your selection. Closing the launching CLI leaves the viewer usable. Closing viewer tabs/windows or quitting never stops, cancels, or completes the remote session.
152
+
153
+ Run `remy login` first when requested; browser-based identity approval remains necessary. The viewer shares coordinated CLI credentials without a second token store. Quit it before switching configuration/token path contexts. Logout or account/configuration changes clear its content and streams; local logout is not remote token revocation.
154
+
155
+ Desktop needs an explicit **Connect** and uses direct WebRTC, with no TURN relay. Restricted networks may prevent connection; selecting Desktop does not wake a paused sandbox. Embedded tool-output media and repository Changes/Files remain in their existing terminal/Web surfaces.
156
+
157
+ If the app is missing or cannot be verified, install a trusted release and compatible CLI. For version errors, update both; for `context-conflict`, quit the viewer; for `login-required`, sign in again. Timeout or invalid-reply errors ask for an explicit retry. Launch failure preserves your terminal draft/session and never silently installs software or opens a browser.
158
+
159
+ Viewer updates are manual: **Cmd+Q**, replace the app with the new signed release, then relaunch. `remy update` updates the CLI only. Replacing a running viewer is unsupported, and upgrades do not migrate shared token files. To uninstall, quit and remove the app; downloads and CLI credentials remain separate.
160
+
138
161
  ## Commands for direct or scripted use
139
162
 
140
163
  The interactive dashboard is the recommended path. Use these commands when a script needs Remy, or when you already know exactly what to open or create.
@@ -255,6 +278,7 @@ remy whoami
255
278
  remy update
256
279
  remy --version | -v
257
280
  remy dashboard
281
+ remy viewer <session-id> [--artifact <artifact-id> | --attachment <attachment-id> | --desktop] [--json]
258
282
  remy new [--repository <owner/name> ... --installation <id> --model <name> --reasoning-effort <low|medium|high|xhigh> --attach <path> ... --mcp <offering-id> ... --no-tui --json] <prompt>
259
283
  remy --session <session-id> [--queue --model <name> --reasoning-effort <low|medium|high|xhigh> --no-tui --json] [prompt]
260
284
  remy session open <session-id>