Currently the runtime agent writes blobs through the daemon's separate blob channel connection. Add a PutBlob frame type on the existing runtime-agent sync socket so:
- Only one persistent connection per agent (we already have it for sync + requests)
- Remove the separate blob channel's handshake path
- Simplifies kernel-launch blob-store permissions
Current frame types in crates/notebook-doc/src/frame_types.rs: 0x00 AutomergeSync, 0x01 Request, 0x02 Response, 0x03 Broadcast, 0x04 Presence, 0x05 RuntimeStateSync, 0x06 PoolStateSync. Add 0x07 PutBlob or similar.
Wire shape
| 4 bytes length | 1 byte type (0x07) | 32 bytes hash | rest is blob bytes |
Or make the payload JSON-prefixed so we can extend (hash, content_type, size) cleanly.
Related
Currently the runtime agent writes blobs through the daemon's separate blob channel connection. Add a PutBlob frame type on the existing runtime-agent sync socket so:
Current frame types in
crates/notebook-doc/src/frame_types.rs: 0x00 AutomergeSync, 0x01 Request, 0x02 Response, 0x03 Broadcast, 0x04 Presence, 0x05 RuntimeStateSync, 0x06 PoolStateSync. Add0x07 PutBlobor similar.Wire shape
Or make the payload JSON-prefixed so we can extend (hash, content_type, size) cleanly.
Related
contributing/protocol.mdfor where this documents