share-worktree.uml

 1@startuml
 2
 3participant "Zed App" as app
 4participant "Zed HTTP server" as server
 5participant "Zed RPC server" as rpc_server
 6
 7app -> server: POST worktrees\n(user id, access token)
 8server -> app: OK\n(worktree id, RPC server address)
 9
10app -> rpc_server: Connect to the given RPC server address
11app -> rpc_server: **Auth**\n(user id, access token)
12rnote over rpc_server: Load access token hashes for user.\nVerify that one matches the given access token.
13rpc_server -> app: **AuthResponse**\n(credentials valid)
14
15app -> rpc_server: **ShareWorktree**\n(worktree_id, file paths, file digests)
16rnote over rpc_server: Load existing files.\nIdentify which are needed.
17rpc_server -> app: **ShareWorktreeResponse**\n(needed path indices)
18
19@enduml