diff --git a/spec/agent.md b/spec/agent.md index 6ec9b1b72..02f93314b 100644 --- a/spec/agent.md +++ b/spec/agent.md @@ -64,7 +64,7 @@ sequenceDiagram participant R as SMP Router - App->>API: sendMessage(connId, body) + App->>API: sendMessage
(connId, body) API->>St: agentRatchetEncryptHeader
(advance ratchet, store
encrypt key + pending message) API->>DW: signal doWork (TMVar) API->>App: return msgId @@ -99,16 +99,16 @@ sequenceDiagram participant B as Bob (joiner) A->>AA: createConnection - AA->>SMP: NEW (Alice's receive queue) + AA->>SMP: NEW
(Alice's receive queue) SMP->>AA: queue ID + keys AA->>A: invitation URI
(queue address + DH keys) Note over A,B: invitation passed out-of-band
(QR code, link) - B->>AB: joinConnection(invitation) + B->>AB: joinConnection
(invitation) AB->>AB: initSndRatchet
(PQ X3DH key agreement) AB->>SMP: SKEY (sender auth on
Alice's queue) - AB->>SMP: NEW (Bob's receive queue) + AB->>SMP: NEW
(Bob's receive queue) SMP->>AB: queue ID AB->>SMP: SEND confirmation to
Alice's queue (Bob's queue
address + ratchet keys) @@ -172,7 +172,7 @@ sequenceDiagram SA->>SMP: description in A_MSG SMP->>RA: description in MSG - RA->>R: xftpReceiveFile(description) + RA->>R: xftpReceiveFile
(description) R->>RS: store RcvFile + chunks loop each chunk (parallel per server) @@ -181,5 +181,5 @@ sequenceDiagram end R->>R: stream chunks through
stateful decrypt (key + nonce),
verify auth tag at end - R->>RA: RFDONE (decrypted file path) + R->>RA: RFDONE
(decrypted file path) ```