aboutsummaryrefslogtreecommitdiffstats
path: root/packages/meshbay-common/src/meshbay_common/protocol.py
diff options
context:
space:
mode:
Diffstat (limited to 'packages/meshbay-common/src/meshbay_common/protocol.py')
-rw-r--r--packages/meshbay-common/src/meshbay_common/protocol.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/packages/meshbay-common/src/meshbay_common/protocol.py b/packages/meshbay-common/src/meshbay_common/protocol.py
index cc5324a..e092353 100644
--- a/packages/meshbay-common/src/meshbay_common/protocol.py
+++ b/packages/meshbay-common/src/meshbay_common/protocol.py
@@ -241,6 +241,14 @@ class MNP:
ROOT_EJECT_ACK = "root_eject_ack"
ROOT_PLUG = "root_plug" # operator → node: re-enable an ejected root
ROOT_PLUG_ACK = "root_plug_ack"
+ # Member → node: who is in this group and which device keys they hold, with
+ # the countersignature that admitted each one. Distinct from ROSTER_READ
+ # below, which is the operator's view of the whole node: this is scoped to
+ # one group and answers any member of it, because the point is that a member
+ # verifies another member's device *for themselves* rather than trusting the
+ # node's `sender_id` (Tier 2, docs/desktop-client-v1.md §4.8).
+ GROUP_ROSTER_REQ = "group_roster_req"
+ GROUP_ROSTER_RESP = "group_roster_resp"
ROSTER_READ = "roster_read" # operator → node: list pinned identities + members
ROSTER_READ_ACK = "roster_read_ack"
DENYLIST_READ = "denylist_read" # operator → node: show denylist entries