- Injected HTTPUpstream service into LanguageServerService - Implemented real upstream API requests via callUpstreamAPI() - Added SSE streaming response handler for streaming messages - Complete error handling and structured logging - Support for masquerading headers (User-Agent, Authorization) - Request/response body marshaling and streaming - Thread-safe session management with metadata storage Core implementation: - LanguageServerService now depends on HTTPUpstream for all HTTP operations - HTTP requests sent to configured Anthropic API endpoint - SSE event parsing and forwarding to clients via update channels - Proper context and timeout handling for streaming operations Phase 1 Status: 95% complete - Upstream API integration: ✅ DONE - Wire dependency injection: ⏳ TODO - Masquerading layer: ⏳ TODO (Phase 2) Next steps: 1. Add Wire provider for LanguageServerService 2. Register HTTP routes in application startup 3. Implement device fingerprinting and token refresh 4. End-to-end testing with real Anthropic API Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
585 lines
18 KiB
Protocol Buffer
585 lines
18 KiB
Protocol Buffer
syntax = "proto3";
|
|
package exa.extension_server_pb;
|
|
|
|
option go_package = "github.com/user/antigravity-client/gen/exa/extension_server_pb";
|
|
|
|
import "exa/codeium_common_pb/codeium_common.proto";
|
|
import "exa/gemini_coder/proto/trajectory.proto";
|
|
import "exa/jetski_cortex_pb/jetski_cortex.proto";
|
|
import "exa/language_server_pb/language_server.proto";
|
|
import "exa/unified_state_sync_pb/unified_state_sync.proto";
|
|
|
|
enum ActiveEditorType {
|
|
ACTIVE_EDITOR_TYPE_UNSPECIFIED = 0;
|
|
ACTIVE_EDITOR_TYPE_TEXT_EDITOR = 1;
|
|
ACTIVE_EDITOR_TYPE_TERMINAL = 2;
|
|
}
|
|
|
|
enum SoundType {
|
|
SOUND_TYPE_UNSPECIFIED = 0;
|
|
SOUND_TYPE_CASCADE_DONE = 1;
|
|
}
|
|
|
|
enum EditNotebookOperation {
|
|
EDIT_NOTEBOOK_OPERATION_UNSPECIFIED = 0;
|
|
EDIT_NOTEBOOK_OPERATION_INSERT_AFTER = 1;
|
|
EDIT_NOTEBOOK_OPERATION_INSERT_BEFORE = 2;
|
|
EDIT_NOTEBOOK_OPERATION_REPLACE_CELLS = 3;
|
|
EDIT_NOTEBOOK_OPERATION_DELETE_CELLS = 4;
|
|
EDIT_NOTEBOOK_OPERATION_OVERWRITE_NOTEBOOK = 5;
|
|
}
|
|
|
|
message IsAgentManagerEnabledRequest {
|
|
}
|
|
|
|
message IsAgentManagerEnabledResponse {
|
|
bool enabled = 1;
|
|
}
|
|
|
|
message ConversationPickerRequest {
|
|
exa.jetski_cortex_pb.CascadeTrajectorySummaries summaries = 1;
|
|
string current_cascade_id = 2;
|
|
string current_workspace_normalized_path = 3;
|
|
string current_workspace_uri = 4;
|
|
}
|
|
|
|
message ConversationPickerResponse {
|
|
optional string chat_message = 1;
|
|
optional string selected_cascade_id = 2;
|
|
repeated string deleted_cascade_ids = 3;
|
|
}
|
|
|
|
message StartAudioRecordingRequest {
|
|
}
|
|
|
|
message EndAudioRecordingRequest {
|
|
}
|
|
|
|
message EndAudioRecordingResponse {
|
|
string transcription = 1;
|
|
}
|
|
|
|
message StartAudioRecordingResponse {
|
|
}
|
|
|
|
message GetCurrentAudioRecordingRequest {
|
|
}
|
|
|
|
message GetCurrentAudioRecordingResponse {
|
|
float average_volume = 2;
|
|
}
|
|
|
|
message LanguageServerStartedRequest {
|
|
int32 https_port = 1;
|
|
int32 lsp_port = 2;
|
|
string csrf_token = 4;
|
|
int32 http_port = 5;
|
|
}
|
|
|
|
message LanguageServerStartedResponse {
|
|
}
|
|
|
|
message OpenSettingRequest {
|
|
string setting_id = 1;
|
|
}
|
|
|
|
message OpenSettingResponse {
|
|
}
|
|
|
|
message OpenFilePointerRequest {
|
|
string file_uri = 1;
|
|
int32 start_line = 2;
|
|
int32 start_col = 3;
|
|
int32 end_line = 4;
|
|
int32 end_col = 5;
|
|
bool is_cascade_diff = 6;
|
|
}
|
|
|
|
message OpenFilePointerResponse {
|
|
}
|
|
|
|
message InsertCodeAtCursorRequest {
|
|
string text = 1;
|
|
exa.extension_server_pb.ActiveEditorType editor_type = 2;
|
|
}
|
|
|
|
message InsertCodeAtCursorResponse {
|
|
}
|
|
|
|
message EventMetadataRecord {
|
|
string key = 1;
|
|
string value = 2;
|
|
}
|
|
|
|
message LogEventRequest {
|
|
exa.codeium_common_pb.ProductEventType event = 1;
|
|
string event_string = 3;
|
|
repeated exa.extension_server_pb.EventMetadataRecord metadata = 2;
|
|
}
|
|
|
|
message LogEventResponse {
|
|
}
|
|
|
|
message CheckTerminalShellSupportRequest {
|
|
}
|
|
|
|
message CheckTerminalShellSupportResponse {
|
|
bool has_shell_integration = 1;
|
|
string shell_name = 2;
|
|
string shell_path = 3;
|
|
}
|
|
|
|
message ExecuteCommandRequest {
|
|
string command_line = 5;
|
|
string cwd = 3;
|
|
string terminal_id = 4;
|
|
bool sandbox_override = 6;
|
|
optional string conversation_id = 7;
|
|
}
|
|
|
|
message ShowTerminalRequest {
|
|
string terminal_id = 1;
|
|
}
|
|
|
|
message ShowTerminalResponse {
|
|
}
|
|
|
|
message OpenVirtualFileRequest {
|
|
string text = 1;
|
|
bool show_markdown_preview = 2;
|
|
}
|
|
|
|
message OpenVirtualFileResponse {
|
|
}
|
|
|
|
message SaveDocumentRequest {
|
|
string uri = 1;
|
|
optional string conversation_id = 2;
|
|
}
|
|
|
|
message SaveDocumentResponse {
|
|
}
|
|
|
|
message ReadTerminalRequest {
|
|
string process_id = 1;
|
|
optional string conversation_id = 2;
|
|
}
|
|
|
|
message ReadTerminalResponse {
|
|
string contents = 1;
|
|
}
|
|
|
|
message OpenTerminalRequest {
|
|
string process_id = 1;
|
|
}
|
|
|
|
message OpenTerminalResponse {
|
|
}
|
|
|
|
message SendTerminalInputRequest {
|
|
string terminal_id = 1;
|
|
string input = 2;
|
|
optional string conversation_id = 3;
|
|
}
|
|
|
|
message SendTerminalInputResponse {
|
|
bool success = 1;
|
|
optional string error = 2;
|
|
}
|
|
|
|
message TerminateCommandRequest {
|
|
string terminal_id = 1;
|
|
optional string conversation_id = 2;
|
|
}
|
|
|
|
message TerminateCommandResponse {
|
|
}
|
|
|
|
message GetLintErrorsRequest {
|
|
message AwaitNewLintsConfig {
|
|
string acknowledger_id = 1;
|
|
int32 timeout_ms = 2;
|
|
int32 grace_period_ms = 3;
|
|
bool include_saved = 4;
|
|
}
|
|
optional exa.extension_server_pb.GetLintErrorsRequest.AwaitNewLintsConfig await_new_lints_config = 1;
|
|
optional string conversation_id = 5;
|
|
}
|
|
|
|
message GetLintErrorsResponse {
|
|
repeated exa.codeium_common_pb.CodeDiagnostic lint_errors = 1;
|
|
repeated exa.codeium_common_pb.CodeDiagnostic persistent_lint_errors = 2;
|
|
}
|
|
|
|
message OpenDiffZonesRequest {
|
|
string cascade_id = 1;
|
|
repeated exa.language_server_pb.ValidationState validation_states = 2;
|
|
bool write_new_state = 3;
|
|
repeated uint32 step_indices = 4;
|
|
optional string trace_id = 5;
|
|
}
|
|
|
|
message OpenDiffZonesResponse {
|
|
}
|
|
|
|
message OpenExternalUrlRequest {
|
|
string url = 1;
|
|
bool use_ide_browser = 2;
|
|
}
|
|
|
|
message OpenExternalUrlResponse {
|
|
}
|
|
|
|
message HandleAsyncPostMessageRequest {
|
|
string message_type = 1;
|
|
string message_content = 2;
|
|
}
|
|
|
|
message HandleAsyncPostMessageResponse {
|
|
string response_content = 1;
|
|
}
|
|
|
|
message PlaySoundRequest {
|
|
exa.extension_server_pb.SoundType sound_type = 1;
|
|
}
|
|
|
|
message PlaySoundResponse {
|
|
}
|
|
|
|
message OpenAntigravityRulesFileRequest {
|
|
bool is_workspace_rules = 1;
|
|
}
|
|
|
|
message OpenAntigravityRulesFileResponse {
|
|
}
|
|
|
|
message OpenPluginPageRequest {
|
|
string plugin_id = 4;
|
|
}
|
|
|
|
message OpenPluginPageResponse {
|
|
}
|
|
|
|
message OpenPluginConfigModalRequest {
|
|
string plugin_id = 3;
|
|
}
|
|
|
|
message OpenPluginConfigModalResponse {
|
|
}
|
|
|
|
message TerminalResearchResultRequest {
|
|
gemini_coder.Step last_step = 1;
|
|
}
|
|
|
|
message TerminalResearchResultResponse {
|
|
}
|
|
|
|
message OpenConfigurePluginsPageRequest {
|
|
}
|
|
|
|
message OpenConfigurePluginsPageResponse {
|
|
}
|
|
|
|
message WriteCascadeEditRequest {
|
|
string uri = 1;
|
|
string target_content = 2;
|
|
}
|
|
|
|
message WriteCascadeEditResponse {
|
|
}
|
|
|
|
message EditNotebookRequest {
|
|
message Cell {
|
|
string kind = 1;
|
|
string content = 2;
|
|
}
|
|
string absolute_path_uri = 1;
|
|
exa.extension_server_pb.EditNotebookOperation operation = 2;
|
|
string anchor_cell_id = 3;
|
|
int32 anchor_cell_index = 4;
|
|
repeated exa.extension_server_pb.EditNotebookRequest.Cell cells = 5;
|
|
int32 delete_count = 6;
|
|
}
|
|
|
|
message EditNotebookResponse {
|
|
message ModifiedCell {
|
|
string cell_id = 1;
|
|
string kind = 2;
|
|
string content = 3;
|
|
int32 index = 4;
|
|
}
|
|
repeated exa.extension_server_pb.EditNotebookResponse.ModifiedCell modified_cells = 1;
|
|
int32 total_cell_count = 2;
|
|
}
|
|
|
|
message ReadNotebookRequest {
|
|
string absolute_path_uri = 1;
|
|
repeated int32 cell_indices = 2;
|
|
repeated string cell_ids = 3;
|
|
}
|
|
|
|
message ReadNotebookResponse {
|
|
string flattened_content = 1;
|
|
int32 read_cell_count = 2;
|
|
}
|
|
|
|
message ExecuteNotebookRequest {
|
|
string absolute_path_uri = 1;
|
|
repeated string cell_ids = 2;
|
|
repeated int32 cell_indices = 3;
|
|
bool stop_on_error = 4;
|
|
bool restart_kernel = 5;
|
|
}
|
|
|
|
message ExecuteNotebookResponse {
|
|
enum CellStatus {
|
|
CELL_STATUS_UNSPECIFIED = 0;
|
|
CELL_STATUS_SUCCESS = 1;
|
|
CELL_STATUS_FAILURE = 2;
|
|
}
|
|
enum ExecutionStatus {
|
|
EXECUTION_STATUS_UNSPECIFIED = 0;
|
|
EXECUTION_STATUS_SUCCESS = 1;
|
|
EXECUTION_STATUS_FAILURE = 2;
|
|
EXECUTION_STATUS_PARTIAL_SUCCESS = 3;
|
|
}
|
|
message CellOutput {
|
|
string cell_id = 1;
|
|
int32 cell_index = 2;
|
|
exa.extension_server_pb.ExecuteNotebookResponse.CellStatus status = 3;
|
|
string output_text = 4;
|
|
bool output_text_truncated = 5;
|
|
bool generated_images = 6;
|
|
string error_trace = 7;
|
|
}
|
|
exa.extension_server_pb.ExecuteNotebookResponse.ExecutionStatus status = 1;
|
|
int32 executed_cells_count = 2;
|
|
repeated exa.extension_server_pb.ExecuteNotebookResponse.CellOutput cell_outputs = 3;
|
|
string error_trace = 4;
|
|
}
|
|
|
|
message OpenConversationWorkspaceQuickPickRequest {
|
|
string cascade_id = 1;
|
|
repeated string workspace_uris = 2;
|
|
}
|
|
|
|
message OpenConversationWorkspaceQuickPickResponse {
|
|
bool open_in_current_window = 1;
|
|
}
|
|
|
|
message FindAllReferencesRequest {
|
|
string file_uri = 1;
|
|
string symbol = 2;
|
|
uint32 line = 3;
|
|
uint32 occurrence_index = 4;
|
|
}
|
|
|
|
message FindAllReferencesResponse {
|
|
repeated exa.codeium_common_pb.LspReference references = 1;
|
|
}
|
|
|
|
message GetDefinitionRequest {
|
|
repeated exa.extension_server_pb.GetDefinitionRequestItem request = 1;
|
|
}
|
|
|
|
message GetDefinitionRequestItem {
|
|
string file_uri = 1;
|
|
exa.codeium_common_pb.DocumentPosition position = 2;
|
|
string line_content = 3;
|
|
}
|
|
|
|
message GetDefinitionResponse {
|
|
repeated exa.extension_server_pb.GetDefinitionResponseItem response = 1;
|
|
}
|
|
|
|
message GetDefinitionResponseItem {
|
|
repeated exa.codeium_common_pb.LspReference definitions = 1;
|
|
optional exa.codeium_common_pb.GRPCStatus status = 2;
|
|
}
|
|
|
|
message HandleProposeCodeExtensionVerificationRequest {
|
|
gemini_coder.Step step = 1;
|
|
}
|
|
|
|
message HandleProposeCodeExtensionVerificationResponse {
|
|
}
|
|
|
|
message UpdateCascadeTrajectorySummariesRequest {
|
|
exa.jetski_cortex_pb.CascadeTrajectorySummaries summaries = 1;
|
|
}
|
|
|
|
message UpdateCascadeTrajectorySummariesResponse {
|
|
}
|
|
|
|
message RunExtensionCodeRequest {
|
|
string code = 1;
|
|
}
|
|
|
|
message RunExtensionCodeResponse {
|
|
string output = 1;
|
|
}
|
|
|
|
message UpdateDetailedViewWithCascadeInputRequest {
|
|
exa.language_server_pb.HandleStreamingCommandRequest request = 1;
|
|
exa.language_server_pb.HandleStreamingCommandResponse response = 2;
|
|
}
|
|
|
|
message UpdateDetailedViewWithCascadeInputResponse {
|
|
}
|
|
|
|
message GetSecretValueRequest {
|
|
string key = 1;
|
|
}
|
|
|
|
message GetSecretValueResponse {
|
|
string value = 1;
|
|
}
|
|
|
|
message StoreSecretValueRequest {
|
|
string key = 1;
|
|
string value = 2;
|
|
}
|
|
|
|
message StoreSecretValueResponse {
|
|
}
|
|
|
|
message GetBrowserOnboardingPortRequest {
|
|
}
|
|
|
|
message GetBrowserOnboardingPortResponse {
|
|
uint32 port = 1;
|
|
}
|
|
|
|
message GetChromeDevtoolsMcpUrlRequest {
|
|
}
|
|
|
|
message GetChromeDevtoolsMcpUrlResponse {
|
|
string url = 1;
|
|
}
|
|
|
|
message FocusManagerWindow {
|
|
optional string cascade_id = 1;
|
|
}
|
|
|
|
message FocusEditorWindow {
|
|
optional string cascade_id = 1;
|
|
}
|
|
|
|
message FocusIDEWindowRequest {
|
|
oneof window_type {
|
|
exa.extension_server_pb.FocusEditorWindow editor = 1;
|
|
exa.extension_server_pb.FocusManagerWindow manager = 2;
|
|
}
|
|
}
|
|
|
|
message FocusIDEWindowResponse {
|
|
}
|
|
|
|
message LaunchBrowserRequest {
|
|
string extension_path = 1;
|
|
bool launch_in_foreground = 2;
|
|
}
|
|
|
|
message LaunchBrowserResponse {
|
|
string cdp_address = 1;
|
|
}
|
|
|
|
message RestartUserStatusUpdaterRequest {
|
|
}
|
|
|
|
message RestartUserStatusUpdaterResponse {
|
|
}
|
|
|
|
message RecordErrorRequest {
|
|
exa.codeium_common_pb.ErrorTrace error_trace = 1;
|
|
}
|
|
|
|
message RecordErrorResponse {
|
|
}
|
|
|
|
message SubscribeToUnifiedStateSyncTopicRequest {
|
|
string topic = 1;
|
|
}
|
|
|
|
message UnifiedStateSyncUpdate {
|
|
oneof update_type {
|
|
exa.unified_state_sync_pb.Topic initial_state = 1;
|
|
exa.unified_state_sync_pb.AppliedUpdate applied_update = 2;
|
|
}
|
|
}
|
|
|
|
message PushUnifiedStateSyncUpdateRequest {
|
|
exa.unified_state_sync_pb.UpdateRequest update = 1;
|
|
}
|
|
|
|
message PushUnifiedStateSyncUpdateResponse {
|
|
}
|
|
|
|
message BroadcastConversationDeletionRequest {
|
|
string deleted_cascade_id = 1;
|
|
}
|
|
|
|
message BroadcastConversationDeletionResponse {
|
|
}
|
|
|
|
message HeartbeatRequest {
|
|
}
|
|
|
|
message HeartbeatResponse {
|
|
}
|
|
|
|
service ExtensionServerService {
|
|
rpc LanguageServerStarted(exa.extension_server_pb.LanguageServerStartedRequest) returns (exa.extension_server_pb.LanguageServerStartedResponse);
|
|
rpc OpenSetting(exa.extension_server_pb.OpenSettingRequest) returns (exa.extension_server_pb.OpenSettingResponse);
|
|
rpc OpenFilePointer(exa.extension_server_pb.OpenFilePointerRequest) returns (exa.extension_server_pb.OpenFilePointerResponse);
|
|
rpc InsertCodeAtCursor(exa.extension_server_pb.InsertCodeAtCursorRequest) returns (exa.extension_server_pb.InsertCodeAtCursorResponse);
|
|
rpc LogEvent(exa.extension_server_pb.LogEventRequest) returns (exa.extension_server_pb.LogEventResponse);
|
|
rpc CheckTerminalShellSupport(exa.extension_server_pb.CheckTerminalShellSupportRequest) returns (exa.extension_server_pb.CheckTerminalShellSupportResponse);
|
|
rpc ExecuteCommand(exa.extension_server_pb.ExecuteCommandRequest) returns (stream exa.codeium_common_pb.TerminalShellCommandStreamChunk);
|
|
rpc ShowTerminal(exa.extension_server_pb.ShowTerminalRequest) returns (exa.extension_server_pb.ShowTerminalResponse);
|
|
rpc SendTerminalInput(exa.extension_server_pb.SendTerminalInputRequest) returns (exa.extension_server_pb.SendTerminalInputResponse);
|
|
rpc TerminateCommand(exa.extension_server_pb.TerminateCommandRequest) returns (exa.extension_server_pb.TerminateCommandResponse);
|
|
rpc OpenVirtualFile(exa.extension_server_pb.OpenVirtualFileRequest) returns (exa.extension_server_pb.OpenVirtualFileResponse);
|
|
rpc SaveDocument(exa.extension_server_pb.SaveDocumentRequest) returns (exa.extension_server_pb.SaveDocumentResponse);
|
|
rpc ReadTerminal(exa.extension_server_pb.ReadTerminalRequest) returns (exa.extension_server_pb.ReadTerminalResponse);
|
|
rpc OpenTerminal(exa.extension_server_pb.OpenTerminalRequest) returns (exa.extension_server_pb.OpenTerminalResponse);
|
|
rpc GetLintErrors(exa.extension_server_pb.GetLintErrorsRequest) returns (exa.extension_server_pb.GetLintErrorsResponse);
|
|
rpc OpenDiffZones(exa.extension_server_pb.OpenDiffZonesRequest) returns (exa.extension_server_pb.OpenDiffZonesResponse);
|
|
rpc OpenExternalUrl(exa.extension_server_pb.OpenExternalUrlRequest) returns (exa.extension_server_pb.OpenExternalUrlResponse);
|
|
rpc HandleAsyncPostMessage(exa.extension_server_pb.HandleAsyncPostMessageRequest) returns (exa.extension_server_pb.HandleAsyncPostMessageResponse);
|
|
rpc PlaySound(exa.extension_server_pb.PlaySoundRequest) returns (exa.extension_server_pb.PlaySoundResponse);
|
|
rpc OpenAntigravityRulesFile(exa.extension_server_pb.OpenAntigravityRulesFileRequest) returns (exa.extension_server_pb.OpenAntigravityRulesFileResponse);
|
|
rpc OpenPluginPage(exa.extension_server_pb.OpenPluginPageRequest) returns (exa.extension_server_pb.OpenPluginPageResponse);
|
|
rpc OpenPluginConfigModal(exa.extension_server_pb.OpenPluginConfigModalRequest) returns (exa.extension_server_pb.OpenPluginConfigModalResponse);
|
|
rpc OpenConfigurePluginsPage(exa.extension_server_pb.OpenConfigurePluginsPageRequest) returns (exa.extension_server_pb.OpenConfigurePluginsPageResponse);
|
|
rpc OpenConversationWorkspaceQuickPick(exa.extension_server_pb.OpenConversationWorkspaceQuickPickRequest) returns (exa.extension_server_pb.OpenConversationWorkspaceQuickPickResponse);
|
|
rpc FindAllReferences(exa.extension_server_pb.FindAllReferencesRequest) returns (exa.extension_server_pb.FindAllReferencesResponse);
|
|
rpc GetDefinition(exa.extension_server_pb.GetDefinitionRequest) returns (exa.extension_server_pb.GetDefinitionResponse);
|
|
rpc TerminalResearchResult(exa.extension_server_pb.TerminalResearchResultRequest) returns (exa.extension_server_pb.TerminalResearchResultResponse);
|
|
rpc WriteCascadeEdit(exa.extension_server_pb.WriteCascadeEditRequest) returns (exa.extension_server_pb.WriteCascadeEditResponse);
|
|
rpc EditNotebook(exa.extension_server_pb.EditNotebookRequest) returns (exa.extension_server_pb.EditNotebookResponse);
|
|
rpc ReadNotebook(exa.extension_server_pb.ReadNotebookRequest) returns (exa.extension_server_pb.ReadNotebookResponse);
|
|
rpc ExecuteNotebook(exa.extension_server_pb.ExecuteNotebookRequest) returns (exa.extension_server_pb.ExecuteNotebookResponse);
|
|
rpc StartAudioRecording(exa.extension_server_pb.StartAudioRecordingRequest) returns (exa.extension_server_pb.StartAudioRecordingResponse);
|
|
rpc EndAudioRecording(exa.extension_server_pb.EndAudioRecordingRequest) returns (exa.extension_server_pb.EndAudioRecordingResponse);
|
|
rpc GetCurrentAudioRecording(exa.extension_server_pb.GetCurrentAudioRecordingRequest) returns (exa.extension_server_pb.GetCurrentAudioRecordingResponse);
|
|
rpc HandleProposeCodeExtensionVerification(exa.extension_server_pb.HandleProposeCodeExtensionVerificationRequest) returns (exa.extension_server_pb.HandleProposeCodeExtensionVerificationResponse);
|
|
rpc UpdateCascadeTrajectorySummaries(exa.extension_server_pb.UpdateCascadeTrajectorySummariesRequest) returns (exa.extension_server_pb.UpdateCascadeTrajectorySummariesResponse);
|
|
rpc RunExtensionCode(exa.extension_server_pb.RunExtensionCodeRequest) returns (exa.extension_server_pb.RunExtensionCodeResponse);
|
|
rpc UpdateDetailedViewWithCascadeInput(exa.extension_server_pb.UpdateDetailedViewWithCascadeInputRequest) returns (exa.extension_server_pb.UpdateDetailedViewWithCascadeInputResponse);
|
|
rpc GetSecretValue(exa.extension_server_pb.GetSecretValueRequest) returns (exa.extension_server_pb.GetSecretValueResponse);
|
|
rpc StoreSecretValue(exa.extension_server_pb.StoreSecretValueRequest) returns (exa.extension_server_pb.StoreSecretValueResponse);
|
|
rpc LaunchBrowser(exa.extension_server_pb.LaunchBrowserRequest) returns (exa.extension_server_pb.LaunchBrowserResponse);
|
|
rpc RestartUserStatusUpdater(exa.extension_server_pb.RestartUserStatusUpdaterRequest) returns (exa.extension_server_pb.RestartUserStatusUpdaterResponse);
|
|
rpc ShowConversationPicker(exa.extension_server_pb.ConversationPickerRequest) returns (exa.extension_server_pb.ConversationPickerResponse);
|
|
rpc GetBrowserOnboardingPort(exa.extension_server_pb.GetBrowserOnboardingPortRequest) returns (exa.extension_server_pb.GetBrowserOnboardingPortResponse);
|
|
rpc GetChromeDevtoolsMcpUrl(exa.extension_server_pb.GetChromeDevtoolsMcpUrlRequest) returns (exa.extension_server_pb.GetChromeDevtoolsMcpUrlResponse);
|
|
rpc FocusIDEWindow(exa.extension_server_pb.FocusIDEWindowRequest) returns (exa.extension_server_pb.FocusIDEWindowResponse);
|
|
rpc SmartFocusConversation(exa.language_server_pb.SmartFocusConversationRequest) returns (exa.language_server_pb.SmartFocusConversationResponse);
|
|
rpc IsAgentManagerEnabled(exa.extension_server_pb.IsAgentManagerEnabledRequest) returns (exa.extension_server_pb.IsAgentManagerEnabledResponse);
|
|
rpc RecordError(exa.extension_server_pb.RecordErrorRequest) returns (exa.extension_server_pb.RecordErrorResponse);
|
|
rpc SubscribeToUnifiedStateSyncTopic(exa.extension_server_pb.SubscribeToUnifiedStateSyncTopicRequest) returns (stream exa.extension_server_pb.UnifiedStateSyncUpdate);
|
|
rpc PushUnifiedStateSyncUpdate(exa.extension_server_pb.PushUnifiedStateSyncUpdateRequest) returns (exa.extension_server_pb.PushUnifiedStateSyncUpdateResponse);
|
|
rpc BroadcastConversationDeletion(exa.extension_server_pb.BroadcastConversationDeletionRequest) returns (exa.extension_server_pb.BroadcastConversationDeletionResponse);
|
|
rpc Heartbeat(exa.extension_server_pb.HeartbeatRequest) returns (exa.extension_server_pb.HeartbeatResponse);
|
|
} |