@fugood/bricks-cli 2.26.0-beta.2 → 2.26.0-beta.20

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
@@ -217,14 +217,21 @@ bricks app bind <app-id> [-b device-ids] [-u device-ids]
217
217
  bricks app bind <app-id> [-b device-ids] [-u device-ids] [--dry-run] [-j|--json]
218
218
 
219
219
  # Trigger automation
220
- bricks app trigger <app-id> <test-id> [--play|--stop] [--setup-at-launch]
220
+ bricks app trigger <app-id> <test-id> [--play|--stop] [--setup-at-launch] [-g match-group]
221
+
222
+ # Application Control pages (Runtime Editor, Canvas Control, Device Control):
223
+ # issue a page token and print the URL of each page (needs an OAuth login: `bricks auth login`);
224
+ # --no-token prints the sign-in URLs only and works with any login
225
+ bricks app control-page <app-id> -t <short-edit,canvas-control,device-control,device-control-create-only> [--token-name name] [--expires-in days] [-e KEY=VALUE] [--no-token] [--dry-run] [-j|--json]
226
+ # The printed URL is <controller>/<page>.html?workspace_secret=…&application_id=…; set BRICKS_CONTROLLER_URL to override the controller origin.
221
227
 
222
228
  # Preview a release without publishing
223
229
  bricks app release <app-id> -c <config-path-or-json> [-n name] [--version version] [--changelogs text] [--dry-run] [-j|--json]
224
230
 
225
231
  # Diagnose a config: schema validation + semantic lint rules
226
232
  # (data-update-race, redundant-rect-overlay, off-grid-frame, out-of-bounds-frame,
227
- # wait-async-no-op, missing-result-param, unused-data-node, z-order-cover)
233
+ # wait-async-no-op, missing-result-param, unused-data-node, z-order-cover,
234
+ # expression-global-variable, mapping-outside-items)
228
235
  # Accepts a local file path or a remote application id.
229
236
  bricks app doctor <app-id-or-path> [-c|--composed] [--strict] [--only codes] [--ignore codes] [-j|--json]
230
237
  ```
@@ -278,6 +285,32 @@ bricks group refresh <group-id> [--dry-run] [-j|--json]
278
285
  bricks group monitor <group-id> [-i interval-seconds]
279
286
  ```
280
287
 
288
+ ### Blueprints
289
+
290
+ A Blueprint is a workspace-level map of a site: its applications, modules, devices, Data Bank
291
+ properties and Media Flow boxes as nodes, with role cards and the edges between them. The CLI
292
+ reads Blueprints; edit them in CTOR. These commands need the `query_blueprint` token permission.
293
+
294
+ ```bash
295
+ # List blueprints (name, node count, revision, Orchestrator run state)
296
+ bricks blueprint list [-k keyword] [-j|--json]
297
+
298
+ # Resolve a blueprint name or ID
299
+ bricks blueprint resolve <query> [-l limit] [-j|--json]
300
+
301
+ # Get blueprint details (overview, counts, run state, referenced entities with no node)
302
+ bricks blueprint get <blueprint-id> [-j|--json]
303
+
304
+ # Nodes with authored edges and edges derived from the workspace (bindings, used modules, ...)
305
+ bricks blueprint graph <blueprint-id> [-j|--json]
306
+
307
+ # Nodes grouped by kind; removed or moved entities are flagged as missing
308
+ bricks blueprint members <blueprint-id> [-j|--json]
309
+
310
+ # Print the projection text that the Blueprint Orchestrator gets as its context
311
+ bricks blueprint projection <blueprint-id>
312
+ ```
313
+
281
314
  ### Media Flow
282
315
 
283
316
  Media Flow commands require:
@@ -345,6 +378,9 @@ Notes:
345
378
  - When no `-v/--value-file` is given, `set` keeps the current value (useful to change only tags or the definition).
346
379
  - `-v` parses the input as JSON and falls back to a plain string (`-v '{"a":1}'` → object, `-v hello` → string).
347
380
  - Revoking the auto-provisioned `manager` / `used-by-device` keys rotates them instead of deleting them.
381
+ - Space key values come back masked (last 4 characters) unless the login may read them: the
382
+ workspace owner, a role with `update-workspace`, or a token with the `manage_devtools` scope.
383
+ A key the login creates is always returned in full, and a masked key revokes by its full value.
348
384
  - The Data Bank endpoint is derived from the configured BRICKS endpoint
349
385
  (prod → `bank.bricks.tools`, beta → `bank-beta.bricks.tools`, dev → `localhost:8080`).
350
386
  - Environment overrides for CI / custom setups: `BRICKS_BANK_SPACENAME` + `BRICKS_BANK_SPACEKEY`
@@ -353,6 +389,16 @@ Notes:
353
389
  it in the buttress `state.json`, so that server's local functions can use `context.bank`
354
390
  (`--revoke` removes it; re-running rotates the key).
355
391
 
392
+ ### Buttress binding and device authentication
393
+
394
+ `bricks buttress bind` pairs the server with the current workspace **and automatically
395
+ provisions a workspace-scoped DevTools token** in its permission-restricted `state.json`.
396
+ After restarting Buttress, agents with `local_devices = true` use it for matching-workspace
397
+ devices without passing credentials through model arguments. Normal bind/status output
398
+ hides the token; `--print` emits the complete secret state for remote provisioning.
399
+ Rebind and restart to renew an expired token (default lifetime: 30 days). Rebinding does
400
+ not revoke older tokens. Automatic device authentication assumes a trusted LAN.
401
+
356
402
  ### Interactive Mode
357
403
 
358
404
  ```bash