You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 3dbc4e0
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: plugins/screenrig/cli/README.md
+15-22Lines changed: 15 additions & 22 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -50,7 +50,7 @@ Use `screenrig help --all` for the complete command inventory, or
50
50
immediate children. Add `--json` for structured command paths, positional arguments,
51
51
option choices and defaults, relationships, and examples;
52
52
help runs without configuration or authentication. Command-specific options follow
53
-
that command, for example `screenrig screen update ID --name Lobby --expect-rev 1`.
53
+
that command, for example `screenrig screen update ID --name Lobby`.
54
54
Global options such as `--json` may appear before or after the command. Use
55
55
`--name=VALUE` for a value starting with a dash, and `--` before option-like file
56
56
names. Duplicate options are rejected.
@@ -137,8 +137,7 @@ is still online and limits how many offers each screen receives.
137
137
`app upload` and `app update` return the same JSON data paths with or without
138
138
`--no-wait`: `data.application` contains the accepted application `id`,
139
139
`release_id`, and `operation_id`; `data.pack` contains `sha256` and `file_count`.
140
-
The accepted response does not include an application revision. Read `app show`
141
-
for the current revision before an update.
140
+
The accepted response does not include an application revision. Updates need no prior read. For an optional revision guard, read `app show` and pass `--expect-rev`.
142
141
143
142
`data.operation` contains the observed completed operation when waiting. With
144
143
`--no-wait` it is `null`: upload acceptance does not establish operation state
@@ -192,7 +191,7 @@ group/action, never request payloads. Fingerprints include the origin, credentia
192
191
body, and revision. Changed requests receive different keys. A completed command
193
192
clears its pending state; application acceptance followed by a failed processing
194
193
wait retains it so retrying does not create another application. Definite
195
-
refusals still require reconciliation; revision checks remain in force.
194
+
refusals still require reconciliation; explicit revision checks remain in force.
196
195
197
196
Automatic replay stops after 23 hours, before the server's 24-hour replay window
198
197
ends. Inspect the resource before explicitly supplying a new `--idempotency-key`
@@ -256,7 +255,7 @@ For ready images and videos, prepare a full-screen playlist in playback order:
Inspect the document and preview before publishing. `playlist init` accepts ordered
@@ -288,19 +287,15 @@ are pinned to the supplied release and use timed advancement, without controller
288
287
privileges. Edit the document for application-controlled advancement.
289
288
290
289
With `--screen-id`, the result includes `screen_id`, `screen_revision`, and a
291
-
`publish.argv` array containing the output path and observed revision. It also
290
+
`publish.argv` array containing the output path and optional revision guard. It also
292
291
returns `preview.argv`. These arrays preserve the selected config/API and paths
293
-
with spaces; execute preview, inspect it, then use the publish arguments. A later
294
-
screen change still produces a revision conflict. Target metadata stays outside
292
+
with spaces; execute preview, inspect it, then use the publish arguments. Add `--expect-rev` explicitly to guard against later screen changes. Target metadata stays outside
295
293
the playlist file. Override canvas dimensions with both `--target-width` and
296
294
`--target-height`; these also work without `--screen-id` (no publish arguments).
297
-
Unknown or multiple reported surfaces require explicit dimensions. Output files
298
-
must not already exist.
295
+
Unknown or multiple reported surfaces require explicit dimensions. Output files are exclusive by default; use `--overwrite` to replace an existing authoring file atomically. Parent directories are created automatically. URL and release-ID inputs with explicit dimensions work without login.
299
296
300
-
`screen publish <screen-id> <file>` creates a new playlist, assigns it using the
301
-
expected **screen** revision, and reads back the assignment. It does not update an
302
-
existing playlist by name. A name collision requires a different name or an
303
-
explicit `playlist update`. Its JSON result reports `playlist_id`,
297
+
`screen publish <screen-id> <file>` creates a new playlist, assigns it with an optional **screen** revision guard, and reads back the assignment. It does not update an
298
+
existing playlist by name. Display names may repeat; use the playlist ID for an explicit `playlist update`. Its JSON result reports `playlist_id`,
304
299
`playlist_revision`, `screen_id`, `screen_revision`, `assignment_verified`, and
305
300
`playback_verified`. Assignment verification does not prove playback; request and
306
301
inspect a screenshot and relevant playback evidence separately.
@@ -322,12 +317,11 @@ To edit an existing playlist:
322
317
323
318
```sh
324
319
screenrig playlist show pl_EXISTING --output lobby.json
`playlist show --output` writes the editable `{name, pages}` document and returns
329
-
its path, `playlist_id`, and source `revision` on stdout. Use that returned revision
330
-
for the update. It preserves dynamic selectors, schedules, motion, and pinned
324
+
its path, `playlist_id`, and source `revision` on stdout. Optionally pass that revision with `--expect-rev` to guard the update. It preserves dynamic selectors, schedules, motion, and pinned
331
325
application releases, removing server-derived media and timing fields. Comments
332
326
remain separate. Plain `playlist show` is an inspection response; `--editable`
333
327
without `--output` returns `data.document`, `data.playlist_id`, and `data.revision`.
The CLI preserves the other primitives and playlist settings. Every screen
352
345
assigned to this shared playlist receives the new pin; archived screens retain
353
346
it for later use. A changed replacement, playlist revision, or observed screen
354
347
impact requires a fresh preview and review. Screen assignments can change after
355
-
the snapshot; the server atomically checks only the playlist revision. Release
348
+
the snapshot; the server checks the playlist revision atomically only when `--expect-rev` is supplied. Release
356
349
availability and ownership are validated by the server on apply. After writing,
357
350
verify screen manifest revisions and playback. Existing pins stay unchanged
358
351
until the replacement is applied.
359
352
360
353
Playlist validate, create, update, preview, and screen publish accept `-` as their
361
354
input file to read stdin. JSON envelopes are never written into authored files.
362
355
`--expect-rev` is the preferred revision spelling; `--if-match` remains a compatible
363
-
alias. Supply only one. The HTTP revision contract is unchanged.
356
+
alias. Supply only one. Omit the flag to write the current resource without a revision precondition. A supplied stale revision still returns `revision_conflict`.
364
357
365
358
Generation accepts either `--prompt TEXT` or `--prompt-file FILE`, including
366
359
`--prompt-file -` for stdin. The file is the complete prompt, with no trimming;
Copy file name to clipboardExpand all lines: plugins/screenrig/cli/assets/playlist-write.schema.json
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,5 @@
1
1
{
2
-
"$comment": "Generated by screenrig-protocol-gen from api/openapi.yaml; sha256=6370115f975eef2fe1cfd31b6c05df55938e800e51f21697d1c8de9d009dfd89. Shape validation only; run canonical playlist-write-semantics.ts next. Reference resolution and DNS remain server checks.",
2
+
"$comment": "Generated by screenrig-protocol-gen from api/openapi.yaml; sha256=0b3d50daa0155690822dedb58db295982e3b33e84389f22ffa463093b48b1e60. Shape validation only; run canonical playlist-write-semantics.ts next. Reference resolution and DNS remain server checks.",
3
3
"$defs": {
4
4
"CanvasBackground": {
5
5
"description": "Solid canonical uppercase #RRGGBBAA, or a top-to-bottom linear gradient.",
0 commit comments