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