@runalabs/rill-cli 0.1.19 → 0.1.21
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 +42 -8
- package/dist/cli.js +898 -141
- package/dist/rill-chrome-extension.zip +0 -0
- package/package.json +5 -4
package/README.md
CHANGED
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
# @runalabs/rill-cli
|
|
2
2
|
|
|
3
|
+
## Runtime security requirement
|
|
4
|
+
|
|
5
|
+
Use Node.js **24.22.1 LTS or newer on a patched release line**. The minimum
|
|
6
|
+
supported versions are **22.23.4**, **24.22.1**, and **26.12.1**; Node 23, Node 25,
|
|
7
|
+
and prerelease builds are not supported. These releases address the October 2026
|
|
8
|
+
[eMudhra certificate compromise](https://emudhra.we-have-a-problem.com/).
|
|
9
|
+
|
|
10
|
+
Rill 0.1.20 checks Node before command actions, authentication, or telemetry.
|
|
11
|
+
An unsupported runtime receives `unsupported_node_version` and an upgrade step.
|
|
12
|
+
`rill doctor` reports that failure without contacting the API or reading saved
|
|
13
|
+
credentials. `rill --help` and `rill --version` remain available.
|
|
14
|
+
|
|
15
|
+
The CLI uses your installed Node and Chrome/Chromium. Updating Rill alone does
|
|
16
|
+
not replace their certificate stores. Keep Chrome/Chromium updated, and restart
|
|
17
|
+
long-running recorder processes after saving active recordings when updating
|
|
18
|
+
their runtimes. Doctor's browser version check confirms availability, not that
|
|
19
|
+
every certificate revocation is enforced. Rill does not disable TLS validation
|
|
20
|
+
or accept a custom CA workaround in place of the patched Node requirement.
|
|
21
|
+
|
|
3
22
|
Record a browser flow, keep its video and runtime evidence together, and return an inspectable share link. Use Rill to reproduce a bug, verify a change, or hand a browser run to another developer or agent.
|
|
4
23
|
|
|
5
24
|
Rill starts a local Chromium recorder. Your browser tool drives the returned CDP endpoint; Rill captures the selected page and uploads the result when you stop.
|
|
@@ -8,7 +27,7 @@ Rill starts a local Chromium recorder. Your browser tool drives the returned CDP
|
|
|
8
27
|
|
|
9
28
|
## Cloud agent runs
|
|
10
29
|
|
|
11
|
-
Invited workspaces can supply a URL and prompt. Cloud runs need Node.js
|
|
30
|
+
Invited workspaces can supply a URL and prompt. Cloud runs need a patched Node.js version listed above and a Rill login; Chrome and ffmpeg run on Rill's server.
|
|
12
31
|
|
|
13
32
|
```sh
|
|
14
33
|
rill record https://example.com -p "Open pricing and describe the plans."
|
|
@@ -29,7 +48,7 @@ Check `node --version`, `node -p "process.platform"`, and `rill --version` befor
|
|
|
29
48
|
|
|
30
49
|
If the CLI is missing, check npm with `npm ping --fetch-timeout=5000 --fetch-retries=0` before installation. See the [canonical skill](https://userill.dev/skill.md) for the bounded Rill connectivity check and Windows Terminal fallback. Report blocked network access instead of repeating installation attempts.
|
|
31
50
|
|
|
32
|
-
Browser recording runs on macOS, Linux, and Windows. Install Node.js
|
|
51
|
+
Browser recording runs on macOS, Linux, and Windows. Install a patched Node.js version listed above and up-to-date Google Chrome or Chromium. Rill encodes recordings remotely by default; local FFmpeg is optional. Chrome stays on your machine and can access localhost. Raw frames upload after recording stops.
|
|
33
52
|
|
|
34
53
|
Then install the scoped package:
|
|
35
54
|
|
|
@@ -68,18 +87,33 @@ The default API is `https://userill.dev`. `RILL_API_URL` changes it; the global
|
|
|
68
87
|
## First recording
|
|
69
88
|
|
|
70
89
|
```sh
|
|
71
|
-
rill
|
|
72
|
-
#
|
|
73
|
-
|
|
90
|
+
rill browser connect
|
|
91
|
+
# Open the connection link in Chrome, then choose your app tab in Rill.
|
|
92
|
+
rill --human record start --title "Checkout verification"
|
|
93
|
+
# Perform the steps yourself in that tab; see the agent-operated example below.
|
|
74
94
|
rill record stop <recording-id>
|
|
75
95
|
rill inspect https://userill.dev/s/<share-secret>
|
|
76
96
|
```
|
|
77
97
|
|
|
78
|
-
Start returns `recordingId`, `
|
|
98
|
+
Start returns `recordingId`, `browserAttachment`, `status`, `bodyCaptureEnabled`, and `maxDurationSeconds`. A managed or direct CDP recording also returns `cdpUrl`. Stop finalizes capture, uploads frames and diagnostics for remote encoding, and waits for playback. Confirm `status: "ready"` and a non-null `shareUrl` before returning the evidence link. Local capture finishing does not establish remote readiness.
|
|
79
99
|
|
|
80
100
|
New browser recordings include a visible cursor and click pulses by default. In Rill Settings → Cursor appearance, workspace members can turn them off or choose an accent color. The CLI reads this preference when starting a recording; it is baked into the video and does not change existing recordings. Use an updated CLI and recorder daemon to capture the overlay.
|
|
81
101
|
|
|
82
|
-
###
|
|
102
|
+
### Record the browser you already use
|
|
103
|
+
|
|
104
|
+
This branch includes a private Chrome pilot; build the CLI from this checkout. The CLI packages its matching extension download. Install it once, run `rill browser connect`, open the returned link in Chrome and click **Connect Chrome**. Rill opens beside your page. Switch to your website and click **Connect this tab**. HTTP and HTTPS sites are supported, including localhost. Setup is remembered and multiple takes reuse the approved tab.
|
|
105
|
+
|
|
106
|
+
`record start` keeps its normal managed-browser behavior and does not require an extension. Choose `--browser existing` to record the tab connected through Rill for Chrome; that explicit mode fails with connection guidance when no tab is selected. Capture does not click, type, evaluate scripts, intercept navigation, or change the viewport. Sign-in state stays in Chrome; site credentials are never extracted or exported. Request bodies and headers are not captured. Console text is bounded and heuristically redacted; visible page content remains in the video.
|
|
107
|
+
|
|
108
|
+
For an agent-operated recording, first establish that its existing controller is on the selected target. Inspect `rill --json browser status` and match the returned Chrome tab/target ID with the controller's own selected tab. Then use `rill record start --browser existing --operator agent --controller-target <target-id>`. This matches target identity; it does not certify that an arbitrary agent can drive the browser. If the host cannot expose that identity or control the tab, explain the limitation and offer human operation instead. Rill supplies capture rather than a second controller.
|
|
109
|
+
|
|
110
|
+
Capture starts only after a frame has been saved. Stopping leaves the tab connected for the next take. A lost connection saves the captured part and marks interruption; upload retry reuses those bytes. New tabs/popups are outside capture and produce a coverage note. DevTools or tab closure can interrupt capture. Inactivity disconnects tab access after an hour; device setup remains saved. Use `rill browser disconnect` to end access. Chrome can still require its own permissions.
|
|
111
|
+
|
|
112
|
+
Choose a fresh browser explicitly with `rill record start --browser new --url <url>`. Local encoding is available on that managed/CDP path; the Chrome pilot uses remote encoding. Existing CLI limits, workspace access, recording lifecycle, recovery, and player still apply. Native extension/controller coexistence and provider playback must be verified separately from protocol tests.
|
|
113
|
+
|
|
114
|
+
### Connect Playwright to an explicitly created browser
|
|
115
|
+
|
|
116
|
+
Use `rill record start --browser new --url <url>` only when the task calls for a fresh browser and your controller supports its connection.
|
|
83
117
|
|
|
84
118
|
Start also returns `browserAttachment` with the CDP endpoint, protocol, Playwright method, and attachment instructions. Browser tools must explicitly support attaching to that endpoint; Rill does not automatically expose its browser to every tool.
|
|
85
119
|
|
|
@@ -235,7 +269,7 @@ Explicit `--json` or `--pretty` takes precedence over `--human`. Use `--pretty`
|
|
|
235
269
|
rill whoami
|
|
236
270
|
rill whoami --json
|
|
237
271
|
rill --human doctor
|
|
238
|
-
rill --human record start --url https://example.com --title "Smoke test" --headed
|
|
272
|
+
rill --human record start --browser new --url https://example.com --title "Smoke test" --headed
|
|
239
273
|
rill --human record stop <recording-id>
|
|
240
274
|
rill --human record status <recording-id>
|
|
241
275
|
```
|