@datarails-ai/dr-cli 1.6.112 → 1.6.113

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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 1,
3
- "cliVersion": "1.6.112",
3
+ "cliVersion": "1.6.113",
4
4
  "_contract": "Resolve a command path through `aliases` (canonical prefix + alias segment -> canonical path) before any lookup. A path listed in `pendingCommands`, or whose first segment is a key of `pending`, is UNDECIDED, not unrestricted: fail closed or skip it, and never read a path's absence from `commands` as 'no requirement'. An entry carrying `denied` is UNAVAILABLE to any AGENT-SCOPED credential — one whose `scopes` claim carries at least one `resource:action` entry; a claim that is absent, empty, capability-only or wholly unparseable is UNRESTRICTED, and this mark does not apply to it — whatever else that entry says: it is not a ceiling and it is not always-available, its `denied.reason` says why and `denied.until` names the ticket that lifts it, and the absence of `requires` on it must NEVER be read as 'no requirement'. Only an entry in `commands` with an empty `requires` means always-available.",
5
5
  "commands": {
6
6
  "login": {
@@ -661,6 +661,29 @@ is `export delete`.
661
661
  - `devices request-logs <id>…`, `devices download-logs`,
662
662
  `devices command-delete <cmd_id>` (two-step confirm-token flow).
663
663
 
664
+ **Clearing a backed-up sync-service queue: delete it as one batch, never one id
665
+ at a time.** `devices command-delete` takes several ids
666
+ (`command-delete 101 102 103`), or the machine's whole WAITING queue with
667
+ `--machine <machine_id> --all-queued`. Add `--data-query <id>` to clear only one
668
+ filebox's commands. Either way it is one plan, one token and, on prod, **one**
669
+ word gate for the whole set (Tier A, `badge-command-batch|delete`). The plan
670
+ lists every command (action, status, data query, update time), and that list is
671
+ the blast-radius check. With explicit ids the token is bound to the exact id
672
+ set. With `--all-queued` the plan saves the exact list it showed to a local
673
+ plan file and prints its confirm command with `--plan <plan id>`. The token is
674
+ bound to that plan, and the confirm deletes exactly those commands, never one
675
+ the plan did not list. Commands queued after the plan are left alone, so a
676
+ device that keeps queueing work does not block the confirm. Paste the printed
677
+ confirm command as is, on the same computer and within the 10-minute token
678
+ life; a confirm without `--plan` is refused, and a plan is spent once its
679
+ confirm runs. Plans are kept in the per-user config directory, next to the
680
+ confirm secret. Every planned command gets a DELETE; one the device has already
681
+ run answers 404, is reported as "already gone" and does not fail the run.
682
+ With explicit ids a 404 counts as a failure, because it may be a mistyped id.
683
+ `--machine` with explicit ids only adds each command's details to the plan.
684
+ `devices commands <machine_id>` lists the same WAITING backlog `--all-queued`
685
+ targets.
686
+
664
687
  ## Feature flags (IT)
665
688
 
666
689
  - `features list`, `features groups list`, `features groups get`,
@@ -66,7 +66,10 @@ user names `import` and confirms the loss of hits/thumbs analytics and the id
66
66
  reassignment. Never reach for it on your own initiative. `error-enrichments
67
67
  delete` takes several ids at once and spends **one** word gate on the whole
68
68
  batch, so the plan output — which lists every targeted rule with its hits and
69
- feedback — is the blast-radius check; read it per-rule, not as a count. Batch
69
+ feedback — is the blast-radius check; read it per-rule, not as a count.
70
+ `devices command-delete` works the same way. It takes several ids, or
71
+ `--machine <machine_id> --all-queued` for a device's whole WAITING queue, with
72
+ one word gate for the whole set. The plan lists every command it will delete. Batch
70
73
  writes (`create`/`update`/`delete` with several targets) run sequentially and
71
74
  keep going after a per-item failure, then exit non-zero: the per-item summary
72
75
  table, not the exit code, is what says which ids actually landed. The two pushes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@datarails-ai/dr-cli",
3
- "version": "1.6.112",
3
+ "version": "1.6.113",
4
4
  "description": "Datarails CLI",
5
5
  "type": "module",
6
6
  "engines": {