summaryrefslogtreecommitdiffstats
path: root/docs/MESHBAY_DESIGN.md
diff options
context:
space:
mode:
authorChristophe Besson <cbesson@gmail.com>2026-10-15 01:12:16 +0200
committerChristophe Besson <cbesson@gmail.com>2026-10-15 01:12:16 +0200
commit382fcc5f675f9942350013780335315757c245c5 (patch)
treea24ed8732c6d3971b071ed6af3c399d6142b79f4 /docs/MESHBAY_DESIGN.md
parent6f68bb6c1970e26de1f66c073ea5d7fecd21840d (diff)
downloadmeshbay-382fcc5f675f9942350013780335315757c245c5.tar.gz
feat(cli): rm, and Delete in the interactive mode
rm deletes files, resolved as get resolves paths and patterns, with the node's rule (design §5.4): the uploading account's devices, or the node's operator account. The whole run is checked against the index first (the entry's uploader_id, the role the join result gives this key): a file outside the rule, or a folder, refuses it before anything is asked or sent. Then one confirmation, or --yes. The node's challenge is checked against what was asked before it is signed. In the interactive mode, Delete on the right pane does the same, asked once per batch. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'docs/MESHBAY_DESIGN.md')
-rw-r--r--docs/MESHBAY_DESIGN.md10
1 files changed, 8 insertions, 2 deletions
diff --git a/docs/MESHBAY_DESIGN.md b/docs/MESHBAY_DESIGN.md
index c5a0847..b579b7b 100644
--- a/docs/MESHBAY_DESIGN.md
+++ b/docs/MESHBAY_DESIGN.md
@@ -3012,7 +3012,7 @@ MSE string) fed to a source buffer, with the node holding one slot per viewer.
`meshbay-cli` (`packages/meshbay-cli`) is a member's groups and files from a
terminal: `login`, `logout`, `groups`, `invitations`, `join`, `decline`,
-`leave`, `ls`, `get`, `put`, `devices`, `trust`, `browser-access`, and with no
+`leave`, `ls`, `get`, `put`, `rm`, `devices`, `trust`, `browser-access`, and with no
argument an interactive two-pane view (Textual) over the same library. It is not an
operator tool — a node is administered through `meshbay-node` and its loopback
API (§6.7) — and it does not stream, play or chat: those belong to an engine
@@ -3042,6 +3042,12 @@ code goes to the node the link names and to no other. `leave`, like
`decline` and `devices revoke`, asks first on a terminal and refuses without
`--yes` where there is none.
+**Deleting** (`rm`) is `file_delete` signed with the machine's key on the node
+(§5.4): the node accepts the uploading account's devices and the operator's.
+The client checks the same rule against the index first (`uploader_id`, and the
+`role` the join result gives its key) and refuses the whole run, before asking
+anything, when one file falls outside it.
+
**Browser access is the application's setting, kept per machine** (§3.7):
`browser-access on` leaves a copy of the identity sealed under `M` on each node
it opens a group on, when the node holds none or an outdated one; `off`
@@ -4582,7 +4588,7 @@ and download stages, account recovery, the Windows port through packaging, and
the Android client — the shell, native keys, downloads and uploads, casting,
and notifications while it is closed, fetched or pushed (§11.3) — and the
command-line client: groups, joining and leaving them, listing, downloads and
-uploads with resume, device linking and approval, browser access, and an
+uploads with resume, deleting, device linking and approval, browser access, and an
interactive two-pane view (§8.6).
The packages install: a machine has been taken from the built artefacts to a