@runalabs/rill-cli 0.1.10 → 0.1.12
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 +30 -7
- package/dist/cli.js +508 -318
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -148,7 +148,8 @@ Use `rill --help` or `<command> --help` for supported flags.
|
|
|
148
148
|
| `rill doctor` | Check prerequisites, API compatibility, and authentication. |
|
|
149
149
|
| `rill record start [options]` | Start a managed or attached browser recording. |
|
|
150
150
|
| `rill record stop <recording-id>` | Finalize and upload; supports `--no-wait` and `--no-feedback`. |
|
|
151
|
-
| `rill record status <recording-id>` | Read
|
|
151
|
+
| `rill record status <recording-id>` | Read the remote encoding job first; otherwise check local capture state with a remote fallback. |
|
|
152
|
+
| `rill record retry <recording-id>` | Resume a retained remote capture or retry a failed encode; supports `--no-wait`. |
|
|
152
153
|
| `rill record cancel <recording-id>` | Abandon a run created by this credential and release its remote quota reservation. |
|
|
153
154
|
| `rill upload <video-file>` | Upload video-only evidence; supports `--title` and `--no-wait`. |
|
|
154
155
|
| `rill inspect <share-url>` | Read bounded context without login. |
|
|
@@ -185,14 +186,15 @@ Check the exit status first, then structured fields. Known codes include `authen
|
|
|
185
186
|
|
|
186
187
|
- **Doctor fails:** read the failed check's recovery field. Correct the credential, API connectivity, or executable path before recording.
|
|
187
188
|
- **Quota exceeded:** inspect `error.details.quota.type` and `blockingRecordingId` when present. Check the blocking recording; cancel only an abandoned run. Review storage and daily allowance in Billing.
|
|
188
|
-
- **
|
|
189
|
+
- **Remote upload interrupted or encoding failed:** keep the recording ID and local capture files. Run `rill record status <recording-id>`, then `rill record retry <recording-id>` with the original credential before capture expiry. Retry resumes accepted chunks or requeues the encode without repeating browser actions. A `ready` result needs a share URL before you return it as evidence.
|
|
189
190
|
- **Duration limit reached:** local capture finalizes automatically, but `record stop` is still needed to upload.
|
|
190
|
-
- **
|
|
191
|
+
- **Terminal closed:** after upload acceptance, the server finishes independently; retrieve the result with `record status`. Before acceptance, retry from the original machine while its captured frames remain available.
|
|
192
|
+
- **Local session missing:** `record status` checks for a remote encoding job before falling back to local or remote recording state. `drafts list` locates local directories, which may be incomplete. There is no `drafts resume` command.
|
|
191
193
|
- **Share cannot be inspected:** open the complete URL in a browser; ask the owner for a current link if needed.
|
|
192
194
|
|
|
193
195
|
A failed local startup automatically attempts to cancel the remote reservation it just created. `record cancel` changes remote state and does not stop the local browser; finish local capture before abandoning the remote reservation.
|
|
194
196
|
|
|
195
|
-
|
|
197
|
+
For `--encoding local`, when finalized artifacts survive, retain `recording.webm` and `diagnostics-v1.ndjson.gz` in the recording's draft directory. `rill upload <path-to-recording.webm>` is a video-only fallback: it creates a new recording and does not restore the original diagnostics. Successful stop with readiness removes that run's local artifact directory.
|
|
196
198
|
|
|
197
199
|
`drafts purge` deletes local draft directories older than 24 hours by modification time, without a confirmation prompt. Recover needed evidence before purging.
|
|
198
200
|
|
|
@@ -203,7 +205,7 @@ When finalized artifacts survive, retain `recording.webm` and `diagnostics-v1.nd
|
|
|
203
205
|
| `RILL_TOKEN` | Agent credential; overrides the keychain. |
|
|
204
206
|
| `RILL_API_URL` | API origin; defaults to `https://userill.dev`. Global `--api-url` takes precedence. |
|
|
205
207
|
| `RILL_CHROME_PATH` | Chrome or Chromium executable path. |
|
|
206
|
-
| `RILL_FFMPEG` |
|
|
208
|
+
| `RILL_FFMPEG` | FFmpeg executable for `--encoding local`; defaults to `ffmpeg` on `PATH`. |
|
|
207
209
|
| `RILL_HOME` | Recorder state directory; defaults to `~/.rill`. |
|
|
208
210
|
| `RILL_SOCKET` | Recorder socket; defaults to `recorder.sock` inside `RILL_HOME`. |
|
|
209
211
|
| `RILL_TEMP` | Artifact root; defaults to `rill-recordings` inside the system temporary directory. |
|
|
@@ -264,8 +266,29 @@ Use `--json` for a machine-readable result (`--pretty` also enables JSON formatt
|
|
|
264
266
|
Provider token usage is retained internally and omitted from customer output.
|
|
265
267
|
`rill run status <run-id>` and `rill run cancel <run-id>` support the same output options.
|
|
266
268
|
|
|
267
|
-
|
|
269
|
+
## Remote encoding
|
|
268
270
|
|
|
269
271
|
Since 0.1.10, `record start` uses remote encoding by default. Chrome stays local, including access to localhost; FFmpeg is required only for `record start --encoding local`. For local encoding, install FFmpeg with `brew install ffmpeg` on macOS or `sudo apt install ffmpeg` on Debian/Ubuntu, then run `doctor --encoding local`. Remote encoding adds no charge and consumes no cloud-run credits; existing recording allowances still apply. Captures are limited to ten minutes and 1 GiB of raw frames, with three pending jobs per workspace. Busy recordings can reach the byte limit sooner.
|
|
270
272
|
|
|
271
|
-
`record stop` uploads frames and waits for playback. `record stop ID --no-wait` returns after upload acceptance; processing continues if the terminal closes. Use `record status ID` to retrieve progress and the share link, or `record retry ID` to resume an interrupted upload or retry encoding without repeating browser actions.
|
|
273
|
+
`record stop` uploads frames and waits for playback. `record stop ID --no-wait` returns after upload acceptance; processing continues if the terminal closes. Use `record status ID` to retrieve progress and the share link, or `record retry ID` to resume an interrupted upload or retry encoding without repeating browser actions. Raw captures are removed after successful publication. Recoverable captures expire after 24 hours: local retention starts at capture start, server retention at upload initialization. Keep the original credential and local files until upload acceptance; `expiresAt` reports the server deadline once a job exists.
|
|
274
|
+
|
|
275
|
+
```sh
|
|
276
|
+
rill record stop <recording-id> --no-wait
|
|
277
|
+
rill record status <recording-id>
|
|
278
|
+
# If upload or encoding failed, retry the same recording:
|
|
279
|
+
rill record retry <recording-id>
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
Progress runs through `uploading` → `queued` → `encoding` → `processing` → `ready`. Waiting for capacity is normal; do not repeat the browser journey merely because a job is queued. Long or busy recordings can take several minutes to upload and encode.
|
|
283
|
+
|
|
284
|
+
### Anonymous local recordings and account connection
|
|
285
|
+
|
|
286
|
+
`rill record start` can begin without sign-in when the server supports anonymous access. The CLI stores the identity in the OS credential store and uses local encoding. Anonymous access includes three successful recordings, at most five minutes and 250 MB each; each recording and its unlisted share link expires seven days after creation. Failed uploads do not consume the successful-recording allowance. Source and service rate limits also apply.
|
|
287
|
+
|
|
288
|
+
Run `rill connect --email you@example.com` to authorize account access or keep your anonymous recordings. Open the displayed link, sign in, and enter the code yourself. Approval allows creation and reading of your existing and new recordings for 90 days, with automatic renewal of one-hour access tokens. Revoke the connection in Rill's Credentials page to stop access and renewal. Deletion and changes to existing sharing settings are not included.
|
|
289
|
+
|
|
290
|
+
Use `rill record list` to list accessible recordings and `rill inspect <recording-id>` for private recording details. `rill inspect <share-url>` continues to work without account access. The existing `rill login` and `RILL_TOKEN` flows remain supported. Local credential storage requires macOS Keychain or Linux Secret Service.
|
|
291
|
+
|
|
292
|
+
### Check the connected account
|
|
293
|
+
|
|
294
|
+
Run `rill whoami` (or `rill --pretty whoami`) to verify your current identity. JSON output includes status, account email when available, workspace, scopes, and access expiry. It uses RILL_TOKEN when set, otherwise the saved OS credential. Existing access can renew automatically; it never creates an identity or opens an approval flow. Missing credentials return `not_connected` and exit 1. Invalid or revoked credentials return an error.
|