diff options
| author | Christophe Besson <cbesson@gmail.com> | 2026-09-25 01:30:47 +0200 |
|---|---|---|
| committer | Christophe Besson <cbesson@gmail.com> | 2026-09-25 01:30:47 +0200 |
| commit | 762233772162a05be67432aa551a430b939250de (patch) | |
| tree | 311a2f72fef30fec6017313c55ed5beefcf0237e /docs/MESHBAY_NODE_PROTOCOL.md | |
| parent | 320620a18399eb43c4d9056e9fe4c3ffac8fcfd4 (diff) | |
| download | meshbay-762233772162a05be67432aa551a430b939250de.tar.gz | |
refactor(node): split ops.py into the ops package
Each section of ops.py becomes a module of meshbay_node/ops/ (core,
node_toml, members, chat, groups, roots, files, settings, apps), cut as
text; ops/__init__.py keeps the docstring and re-exports every name, so
`ops.<name>` is unchanged for every caller. Logger name unchanged.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'docs/MESHBAY_NODE_PROTOCOL.md')
| -rw-r--r-- | docs/MESHBAY_NODE_PROTOCOL.md | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/docs/MESHBAY_NODE_PROTOCOL.md b/docs/MESHBAY_NODE_PROTOCOL.md index e11f2a6..2206971 100644 --- a/docs/MESHBAY_NODE_PROTOCOL.md +++ b/docs/MESHBAY_NODE_PROTOCOL.md @@ -1044,7 +1044,7 @@ effect immediately. | | verify vs roster operator keys | | (file_delete also accepts the | | uploader's recorded key) - | | execute via ops.py + | | execute via ops |<- <op>_ack {op-specific fields} --------------| | | | some acks are ALSO broadcast to every peer in the group @@ -1134,7 +1134,7 @@ A second family of operator messages is **not** signed: `node_status`, `roster_r by `is_node_admin()` — the authenticated session's `user_id` equals the account the node records as its own operator (`node_user_id`), computed from the node's own state and never from a hub claim. Three of them only read; the other three run through the -same `ops.py` entry points as the CLI and the loopback admin API. The distinction from +same `ops` entry points as the CLI and the loopback admin API. The distinction from the signed table above is deliberate but worth stating plainly: a signed op proves possession of an operator *key*, while these prove only that the session belongs to the operator's *account*, which the handshake already established. @@ -1159,7 +1159,7 @@ Rules that hold across the table: ### 10.5 One implementation, several front doors The loopback admin API, the CLI and the signed MNP handlers are three thin adapters -over the same functions in `meshbay_node/ops.py`. Those functions take the daemon +over the same functions in `meshbay_node/ops/`. Those functions take the daemon state, raise `OpError`, and know nothing about HTTP. One operation with two implementations means two authorization checks, and the weaker @@ -2346,7 +2346,7 @@ meshbay-node/ transport/webrtc_server.py the reference implementation of M transport/wire.py the one index encoder transfers.py leases, queues, caps, leaseless reads uploads.py partial uploads and orphaned .part files - roster.py, ops.py, daemon.py roster, operations, group contexts + roster.py, ops/, daemon.py roster, operations, group contexts meshbay-hub/ api/signaling.py SDP relay limits static/transport.js the client half of every exchange above |