@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.
- package/dist/cli.js +1038 -758
- package/dist/scopes-map.json +1 -1
- package/dist/skills/dr-cli/reference/admin.md +23 -0
- package/dist/skills/dr-cli/reference/safety.md +4 -1
- package/package.json +1 -1
package/dist/scopes-map.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 1,
|
|
3
|
-
"cliVersion": "1.6.
|
|
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.
|
|
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
|