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.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/packages/meshbay-common/src/meshbay_common/protocol.py b/packages/meshbay-common/src/meshbay_common/protocol.py
index f4cd497..8ad36e6 100644
--- a/packages/meshbay-common/src/meshbay_common/protocol.py
+++ b/packages/meshbay-common/src/meshbay_common/protocol.py
@@ -141,6 +141,16 @@ class MNP:
KEYPAIR_BUNDLE_RESP = "keypair_bundle_resp" # node → client: encrypted keypair bundle
# carries `bundle_enc_recovery` too when the node has one stored
KEYPAIR_BUNDLE_DELETE = "keypair_bundle_delete" # client → node: withdraw own backup
+ # Per-account blobs the node holds and cannot read — playlists (MNP 3.1,
+ # docs/playlists.md §8.1). `kind` is "playlists" (the manifest) or
+ # "playlist:<uuid>" (one playlist's tracks); `blob_enc` is msgpack `bin`,
+ # not base64, because these run to hundreds of kilobytes.
+ USER_BLOB_STORE = "user_blob_store" # client → node: write one blob
+ USER_BLOB_FETCH = "user_blob_fetch" # client → node: read one blob
+ USER_BLOB_LIST = "user_blob_list" # client → node: which kinds, at what rev
+ USER_BLOB_DELETE = "user_blob_delete" # client → node: drop one blob
+ USER_BLOB_RESP = "user_blob_resp" # node → client: one blob, or null
+ USER_BLOB_LIST_RESP = "user_blob_list_resp" # node → client: kinds and revs only
JOIN_REQUEST = "join_request" # client → node: pair/recognise this identity
JOIN_RESULT = "join_result" # node → client: outcome + wrapped GEK
INVITE_CREATE = "invite_create" # operator → node: issue a pairing code