zed.proto

  1syntax = "proto3";
  2package zed.messages;
  3
  4import "ai.proto";
  5import "app.proto";
  6import "buffer.proto";
  7import "call.proto";
  8import "channel.proto";
  9import "core.proto";
 10import "debugger.proto";
 11import "git.proto";
 12import "lsp.proto";
 13import "notification.proto";
 14import "task.proto";
 15import "toolchain.proto";
 16import "worktree.proto";
 17
 18// Looking for a number? Search "// current max"
 19
 20message Envelope {
 21    uint32 id = 1;
 22    optional uint32 responding_to = 2;
 23    optional PeerId original_sender_id = 3;
 24    optional uint32 ack_id = 266;
 25
 26    oneof payload {
 27        Hello hello = 4;
 28        Ack ack = 5;
 29        Error error = 6;
 30        Ping ping = 7;
 31        Test test = 8;
 32        EndStream end_stream = 165;
 33
 34        CreateRoom create_room = 9;
 35        CreateRoomResponse create_room_response = 10;
 36        JoinRoom join_room = 11;
 37        JoinRoomResponse join_room_response = 12;
 38        RejoinRoom rejoin_room = 13;
 39        RejoinRoomResponse rejoin_room_response = 14;
 40        LeaveRoom leave_room = 15;
 41        Call call = 16;
 42        IncomingCall incoming_call = 17;
 43        CallCanceled call_canceled = 18;
 44        CancelCall cancel_call = 19;
 45        DeclineCall decline_call = 20;
 46        UpdateParticipantLocation update_participant_location = 21;
 47        RoomUpdated room_updated = 22;
 48
 49        ShareProject share_project = 23;
 50        ShareProjectResponse share_project_response = 24;
 51        UnshareProject unshare_project = 25;
 52        JoinProject join_project = 26;
 53        JoinProjectResponse join_project_response = 27;
 54        LeaveProject leave_project = 28;
 55        AddProjectCollaborator add_project_collaborator = 29;
 56        UpdateProjectCollaborator update_project_collaborator = 30;
 57        RemoveProjectCollaborator remove_project_collaborator = 31;
 58
 59        GetDefinition get_definition = 32;
 60        GetDefinitionResponse get_definition_response = 33;
 61        GetDeclaration get_declaration = 237;
 62        GetDeclarationResponse get_declaration_response = 238;
 63        GetTypeDefinition get_type_definition = 34;
 64        GetTypeDefinitionResponse get_type_definition_response = 35;
 65
 66        GetReferences get_references = 36;
 67        GetReferencesResponse get_references_response = 37;
 68        GetDocumentHighlights get_document_highlights = 38;
 69        GetDocumentHighlightsResponse get_document_highlights_response = 39;
 70        GetProjectSymbols get_project_symbols = 40;
 71        GetProjectSymbolsResponse get_project_symbols_response = 41;
 72        OpenBufferForSymbol open_buffer_for_symbol = 42;
 73        OpenBufferForSymbolResponse open_buffer_for_symbol_response = 43;
 74
 75        UpdateProject update_project = 44;
 76        UpdateWorktree update_worktree = 45;
 77
 78        CreateProjectEntry create_project_entry = 46;
 79        RenameProjectEntry rename_project_entry = 47;
 80        CopyProjectEntry copy_project_entry = 48;
 81        DeleteProjectEntry delete_project_entry = 49;
 82        ProjectEntryResponse project_entry_response = 50;
 83        ExpandProjectEntry expand_project_entry = 51;
 84        ExpandProjectEntryResponse expand_project_entry_response = 52;
 85        ExpandAllForProjectEntry expand_all_for_project_entry = 291;
 86        ExpandAllForProjectEntryResponse expand_all_for_project_entry_response = 292;
 87        UpdateDiagnosticSummary update_diagnostic_summary = 53;
 88        StartLanguageServer start_language_server = 54;
 89        UpdateLanguageServer update_language_server = 55;
 90
 91        OpenBufferById open_buffer_by_id = 56;
 92        OpenBufferByPath open_buffer_by_path = 57;
 93        OpenBufferResponse open_buffer_response = 58;
 94        CreateBufferForPeer create_buffer_for_peer = 59;
 95        UpdateBuffer update_buffer = 60;
 96        UpdateBufferFile update_buffer_file = 61;
 97        SaveBuffer save_buffer = 62;
 98        BufferSaved buffer_saved = 63;
 99        BufferReloaded buffer_reloaded = 64;
100        ReloadBuffers reload_buffers = 65;
101        ReloadBuffersResponse reload_buffers_response = 66;
102        SynchronizeBuffers synchronize_buffers = 67;
103        SynchronizeBuffersResponse synchronize_buffers_response = 68;
104        FormatBuffers format_buffers = 69;
105        FormatBuffersResponse format_buffers_response = 70;
106        GetCompletions get_completions = 71;
107        GetCompletionsResponse get_completions_response = 72;
108        ResolveCompletionDocumentation resolve_completion_documentation = 73;
109        ResolveCompletionDocumentationResponse resolve_completion_documentation_response = 74;
110        ApplyCompletionAdditionalEdits apply_completion_additional_edits = 75;
111        ApplyCompletionAdditionalEditsResponse apply_completion_additional_edits_response = 76;
112        GetCodeActions get_code_actions = 77;
113        GetCodeActionsResponse get_code_actions_response = 78;
114        GetHover get_hover = 79;
115        GetHoverResponse get_hover_response = 80;
116        ApplyCodeAction apply_code_action = 81;
117        ApplyCodeActionResponse apply_code_action_response = 82;
118        PrepareRename prepare_rename = 83;
119        PrepareRenameResponse prepare_rename_response = 84;
120        PerformRename perform_rename = 85;
121        PerformRenameResponse perform_rename_response = 86;
122
123        UpdateContacts update_contacts = 89;
124        UpdateInviteInfo update_invite_info = 90;
125        ShowContacts show_contacts = 91;
126
127        GetUsers get_users = 92;
128        FuzzySearchUsers fuzzy_search_users = 93;
129        UsersResponse users_response = 94;
130        RequestContact request_contact = 95;
131        RespondToContactRequest respond_to_contact_request = 96;
132        RemoveContact remove_contact = 97;
133
134        Follow follow = 98;
135        FollowResponse follow_response = 99;
136        UpdateFollowers update_followers = 100;
137        Unfollow unfollow = 101;
138        UpdateDiffBases update_diff_bases = 104;
139
140        OnTypeFormatting on_type_formatting = 105;
141        OnTypeFormattingResponse on_type_formatting_response = 106;
142
143        UpdateWorktreeSettings update_worktree_settings = 107;
144
145        InlayHints inlay_hints = 108;
146        InlayHintsResponse inlay_hints_response = 109;
147        ResolveInlayHint resolve_inlay_hint = 110;
148        ResolveInlayHintResponse resolve_inlay_hint_response = 111;
149        RefreshInlayHints refresh_inlay_hints = 112;
150
151        CreateChannel create_channel = 113;
152        CreateChannelResponse create_channel_response = 114;
153        InviteChannelMember invite_channel_member = 115;
154        RemoveChannelMember remove_channel_member = 116;
155        RespondToChannelInvite respond_to_channel_invite = 117;
156        UpdateChannels update_channels = 118;
157        JoinChannel join_channel = 119;
158        DeleteChannel delete_channel = 120;
159        GetChannelMembers get_channel_members = 121;
160        GetChannelMembersResponse get_channel_members_response = 122;
161        SetChannelMemberRole set_channel_member_role = 123;
162        RenameChannel rename_channel = 124;
163        RenameChannelResponse rename_channel_response = 125;
164        SubscribeToChannels subscribe_to_channels = 207;
165
166        JoinChannelBuffer join_channel_buffer = 126;
167        JoinChannelBufferResponse join_channel_buffer_response = 127;
168        UpdateChannelBuffer update_channel_buffer = 128;
169        LeaveChannelBuffer leave_channel_buffer = 129;
170        UpdateChannelBufferCollaborators update_channel_buffer_collaborators = 130;
171        RejoinChannelBuffers rejoin_channel_buffers = 131;
172        RejoinChannelBuffersResponse rejoin_channel_buffers_response = 132;
173        AckBufferOperation ack_buffer_operation = 133;
174
175        JoinChannelChat join_channel_chat = 134;
176        JoinChannelChatResponse join_channel_chat_response = 135;
177        LeaveChannelChat leave_channel_chat = 136;
178        SendChannelMessage send_channel_message = 137;
179        SendChannelMessageResponse send_channel_message_response = 138;
180        ChannelMessageSent channel_message_sent = 139;
181        GetChannelMessages get_channel_messages = 140;
182        GetChannelMessagesResponse get_channel_messages_response = 141;
183        RemoveChannelMessage remove_channel_message = 142;
184        AckChannelMessage ack_channel_message = 143;
185        GetChannelMessagesById get_channel_messages_by_id = 144;
186
187        MoveChannel move_channel = 147;
188        ReorderChannel reorder_channel = 349;
189        SetChannelVisibility set_channel_visibility = 148;
190
191        AddNotification add_notification = 149;
192        GetNotifications get_notifications = 150;
193        GetNotificationsResponse get_notifications_response = 151;
194        DeleteNotification delete_notification = 152;
195        MarkNotificationRead mark_notification_read = 153;
196        LspExtExpandMacro lsp_ext_expand_macro = 154;
197        LspExtExpandMacroResponse lsp_ext_expand_macro_response = 155;
198        SetRoomParticipantRole set_room_participant_role = 156;
199
200        UpdateUserChannels update_user_channels = 157;
201
202        GetImplementation get_implementation = 162;
203        GetImplementationResponse get_implementation_response = 163;
204
205        UpdateChannelMessage update_channel_message = 170;
206        ChannelMessageUpdate channel_message_update = 171;
207
208        BlameBuffer blame_buffer = 172;
209        BlameBufferResponse blame_buffer_response = 173;
210
211        UpdateNotification update_notification = 174;
212
213        MultiLspQuery multi_lsp_query = 175;
214        MultiLspQueryResponse multi_lsp_query_response = 176;
215        RestartLanguageServers restart_language_servers = 208;
216
217        RejoinRemoteProjects rejoin_remote_projects = 186;
218        RejoinRemoteProjectsResponse rejoin_remote_projects_response = 187;
219
220        OpenNewBuffer open_new_buffer = 196;
221
222        GetSupermavenApiKey get_supermaven_api_key = 198;
223        GetSupermavenApiKeyResponse get_supermaven_api_key_response = 199;
224
225        TaskContextForLocation task_context_for_location = 203;
226        TaskContext task_context = 204;
227
228        LinkedEditingRange linked_editing_range = 209;
229        LinkedEditingRangeResponse linked_editing_range_response = 210;
230
231        AdvertiseContexts advertise_contexts = 211;
232        OpenContext open_context = 212;
233        OpenContextResponse open_context_response = 213;
234        CreateContext create_context = 232;
235        CreateContextResponse create_context_response = 233;
236        UpdateContext update_context = 214;
237        SynchronizeContexts synchronize_contexts = 215;
238        SynchronizeContextsResponse synchronize_contexts_response = 216;
239
240        GetSignatureHelp get_signature_help = 217;
241        GetSignatureHelpResponse get_signature_help_response = 218;
242
243        ListRemoteDirectory list_remote_directory = 219;
244        ListRemoteDirectoryResponse list_remote_directory_response = 220;
245        AddWorktree add_worktree = 222;
246        AddWorktreeResponse add_worktree_response = 223;
247
248        LspExtSwitchSourceHeader lsp_ext_switch_source_header = 241;
249        LspExtSwitchSourceHeaderResponse lsp_ext_switch_source_header_response = 242;
250
251        FindSearchCandidates find_search_candidates = 243;
252        FindSearchCandidatesResponse find_search_candidates_response = 244;
253
254        CloseBuffer close_buffer = 245;
255
256        ShutdownRemoteServer shutdown_remote_server = 257;
257
258        RemoveWorktree remove_worktree = 258;
259
260        LanguageServerLog language_server_log = 260;
261
262        Toast toast = 261;
263        HideToast hide_toast = 262;
264
265        OpenServerSettings open_server_settings = 263;
266
267        GetPermalinkToLine get_permalink_to_line = 264;
268        GetPermalinkToLineResponse get_permalink_to_line_response = 265;
269
270        FlushBufferedMessages flush_buffered_messages = 267;
271
272        LanguageServerPromptRequest language_server_prompt_request = 268;
273        LanguageServerPromptResponse language_server_prompt_response = 269;
274
275        GitBranchesResponse git_branches_response = 271;
276
277        UpdateGitBranch update_git_branch = 272;
278
279        ListToolchains list_toolchains = 273;
280        ListToolchainsResponse list_toolchains_response = 274;
281        ActivateToolchain activate_toolchain = 275;
282        ActiveToolchain active_toolchain = 276;
283        ActiveToolchainResponse active_toolchain_response = 277;
284
285        GetPathMetadata get_path_metadata = 278;
286        GetPathMetadataResponse get_path_metadata_response = 279;
287
288        CancelLanguageServerWork cancel_language_server_work = 282;
289
290        LspExtOpenDocs lsp_ext_open_docs = 283;
291        LspExtOpenDocsResponse lsp_ext_open_docs_response = 284;
292
293        SyncExtensions sync_extensions = 285;
294        SyncExtensionsResponse sync_extensions_response = 286;
295        InstallExtension install_extension = 287;
296
297        OpenUnstagedDiff open_unstaged_diff = 288;
298        OpenUnstagedDiffResponse open_unstaged_diff_response = 289;
299
300        RegisterBufferWithLanguageServers register_buffer_with_language_servers = 290;
301
302        Stage stage = 293;
303        Unstage unstage = 294;
304        Commit commit = 295;
305        OpenCommitMessageBuffer open_commit_message_buffer = 296;
306
307        OpenUncommittedDiff open_uncommitted_diff = 297;
308        OpenUncommittedDiffResponse open_uncommitted_diff_response = 298;
309
310        SetIndexText set_index_text = 299;
311
312        GitShow git_show = 300;
313        GitReset git_reset = 301;
314        GitCommitDetails git_commit_details = 302;
315        GitCheckoutFiles git_checkout_files = 303;
316
317        Push push = 304;
318        Fetch fetch = 305;
319        GetRemotes get_remotes = 306;
320        GetRemotesResponse get_remotes_response = 307;
321        Pull pull = 308;
322
323        ApplyCodeActionKind apply_code_action_kind = 309;
324        ApplyCodeActionKindResponse apply_code_action_kind_response = 310;
325
326        RemoteMessageResponse remote_message_response = 311;
327
328        GitGetBranches git_get_branches = 312;
329        GitCreateBranch git_create_branch = 313;
330        GitChangeBranch git_change_branch = 314;
331
332        CheckForPushedCommits check_for_pushed_commits = 315;
333        CheckForPushedCommitsResponse check_for_pushed_commits_response = 316;
334
335        AskPassRequest ask_pass_request = 317;
336        AskPassResponse ask_pass_response = 318;
337
338        GitDiff git_diff = 319;
339        GitDiffResponse git_diff_response = 320;
340        GitInit git_init = 321;
341
342        CodeLens code_lens = 322;
343        GetCodeLens get_code_lens = 323;
344        GetCodeLensResponse get_code_lens_response = 324;
345        RefreshCodeLens refresh_code_lens = 325;
346
347        ToggleBreakpoint toggle_breakpoint = 326;
348        BreakpointsForFile breakpoints_for_file = 327;
349
350        UpdateRepository update_repository = 328;
351        RemoveRepository remove_repository = 329;
352
353        GetDocumentSymbols get_document_symbols = 330;
354        GetDocumentSymbolsResponse get_document_symbols_response = 331;
355
356        LoadCommitDiff load_commit_diff = 334;
357        LoadCommitDiffResponse load_commit_diff_response = 335;
358
359        StopLanguageServers stop_language_servers = 336;
360
361        LspExtRunnables lsp_ext_runnables = 337;
362        LspExtRunnablesResponse lsp_ext_runnables_response = 338;
363
364        GetDebugAdapterBinary get_debug_adapter_binary = 339;
365        DebugAdapterBinary debug_adapter_binary = 340;
366        RunDebugLocators run_debug_locators = 341;
367        DebugRequest debug_request = 342;
368
369        LspExtGoToParentModule lsp_ext_go_to_parent_module = 343;
370        LspExtGoToParentModuleResponse lsp_ext_go_to_parent_module_response = 344;
371        LspExtCancelFlycheck lsp_ext_cancel_flycheck = 345;
372        LspExtRunFlycheck lsp_ext_run_flycheck = 346;
373        LspExtClearFlycheck lsp_ext_clear_flycheck = 347;
374
375        LogToDebugConsole log_to_debug_console = 348;
376
377        GetDocumentDiagnostics get_document_diagnostics = 350;
378        GetDocumentDiagnosticsResponse get_document_diagnostics_response = 351;
379        PullWorkspaceDiagnostics pull_workspace_diagnostics = 352;
380
381        GetDocumentColor get_document_color = 353;
382        GetDocumentColorResponse get_document_color_response = 354;
383        GetColorPresentation get_color_presentation = 355;
384        GetColorPresentationResponse get_color_presentation_response = 356;
385
386        Stash stash = 357;
387        StashPop stash_pop = 358;
388
389        GetDefaultBranch get_default_branch = 359;
390        GetDefaultBranchResponse get_default_branch_response = 360;
391
392        GetCrashFiles get_crash_files = 361;
393        GetCrashFilesResponse get_crash_files_response = 362;
394
395        GitClone git_clone = 363;
396        GitCloneResponse git_clone_response = 364;
397
398        LspQuery lsp_query = 365;
399        LspQueryResponse lsp_query_response = 366;
400        ToggleLspLogs toggle_lsp_logs = 367;
401
402        UpdateUserSettings update_user_settings = 368;
403
404        GetProcesses get_processes = 369;
405        GetProcessesResponse get_processes_response = 370;
406
407        ResolveToolchain resolve_toolchain = 371;
408        ResolveToolchainResponse resolve_toolchain_response = 372;
409
410        GetAgentServerCommand get_agent_server_command = 373;
411        AgentServerCommand agent_server_command = 374;
412
413        ExternalAgentsUpdated external_agents_updated = 375;
414
415        ExternalAgentLoadingStatusUpdated external_agent_loading_status_updated = 376;
416        NewExternalAgentVersionAvailable new_external_agent_version_available = 377; // current max
417    }
418
419    reserved 87 to 88;
420    reserved 102 to 103;
421    reserved 158 to 161;
422    reserved 164;
423    reserved 166 to 169;
424    reserved 177 to 185;
425    reserved 188;
426    reserved 189 to 192;
427    reserved 193 to 195;
428    reserved 197;
429    reserved 200 to 202;
430    reserved 205 to 206;
431    reserved 221;
432    reserved 224 to 229;
433    reserved 230 to 231;
434    reserved 234 to 236;
435    reserved 239 to 240;
436    reserved 246;
437    reserved 247 to 254;
438    reserved 255 to 256;
439    reserved 259;
440    reserved 270;
441    reserved 280 to 281;
442    reserved 332 to 333;
443}
444
445message Hello {
446    PeerId peer_id = 1;
447}
448
449message Ping {}
450
451message Ack {}
452
453message Error {
454    string message = 1;
455    ErrorCode code = 2;
456    repeated string tags = 3;
457}
458
459enum ErrorCode {
460    Internal = 0;
461    NoSuchChannel = 1;
462    Disconnected = 2;
463    SignedOut = 3;
464    UpgradeRequired = 4;
465    Forbidden = 5;
466    NeedsCla = 7;
467    NotARootChannel = 8;
468    BadPublicNesting = 9;
469    CircularNesting = 10;
470    WrongMoveTarget = 11;
471    UnsharedItem = 12;
472    NoSuchProject = 13;
473    DevServerProjectPathDoesNotExist = 16;
474    RemoteUpgradeRequired = 17;
475    RateLimitExceeded = 18;
476    CommitFailed = 19;
477    reserved 6;
478    reserved 14 to 15;
479}
480
481message EndStream {}
482
483message Test {
484    uint64 id = 1;
485}
486
487message FlushBufferedMessages {}
488
489message FlushBufferedMessagesResponse {}