syntax = "proto3";

package exa.codeium_common_pb;

import "buf/validate/validate.proto";
import "google/protobuf/duration.proto";
import "google/protobuf/timestamp.proto";

option go_package = "github.com/Exafunction/Exafunction/exa/codeium_common_pb";

message CompletionsRequest {
    CompletionConfiguration configuration = 1;
    string prompt = 2;
    string context_prompt = 21;
    string uid = 25;
    repeated PromptElementRange prompt_element_ranges = 8;
    repeated PromptElementKindInfo prompt_element_kind_infos = 9;
    uint64 prompt_latency_ms = 11;
    repeated PromptStageLatency prompt_stage_latencies = 12;
    uint64 num_tokenized_bytes = 20;
    string editor_language = 3;
    Language language = 4;
    string absolute_path_uri_for_telemetry = 5;
    string relative_path_for_telemetry = 6;
    string workspace_uri_for_telemetry = 13;
    string experiment_features_json = 7;
    string experiment_variant_json = 19;
    Model model = 10;
    bool has_line_suffix = 14;
    bool should_inline_fim = 15;
    Repository repository = 16;
    string model_tag = 17;
    repeated string experiment_tags = 18;
    string eval_suffix = 22;
    repeated PromptAnnotationRange prompt_annotation_ranges = 23;
    bool supports_packed_streaming_completion_maps = 24;
}

message CompletionConfiguration {
    uint64 num_completions = 1;
    uint64 max_tokens = 2;
    uint64 max_newlines = 3;
    double min_log_probability = 4;
    double temperature = 5;
    double first_temperature = 6;
    uint64 top_k = 7;
    double top_p = 8;
    repeated string stop_patterns = 9;
    uint64 seed = 10;
    double fim_eot_prob_threshold = 11;
    bool use_fim_eot_threshold = 12;
    bool do_not_score_stop_tokens = 13;
    bool sqrt_len_normalized_log_prob_score = 14;
    bool last_message_is_partial = 15;
    bool return_logprob = 16;
    string service_tier = 17;
}

message PromptElementRange {
    PromptElementKind kind = 1;
    uint64 byte_offset_start = 2;
    uint64 byte_offset_end = 3;
    uint64 token_offset_start = 4;
    uint64 token_offset_end = 5;
}

message ActionPointer {
    string cortex_plan_id = 1;
    string code_plan_id = 2;
    int32 action_index = 3;
}

message PromptAnnotationRange {
    PromptAnnotationKind kind = 1;
    uint64 byte_offset_start = 2;
    uint64 byte_offset_end = 3;
    string suffix = 4;
}

message ExperimentWithVariant {
    ExperimentKey key = 1 [deprecated = true];
    string key_string = 5;
    bool disabled = 6;
    ExperimentSource source = 7;
    
    oneof payload {
        string string = 2;
        string json = 3;
        string csv = 4;
    }
}

message ExperimentConfig {
    repeated ExperimentWithVariant experiments = 6;
    repeated ExperimentKey force_enable_experiments = 1;
    repeated ExperimentKey force_disable_experiments = 2;
    repeated ExperimentWithVariant force_enable_experiments_with_variants = 3;
    repeated string force_enable_experiment_strings = 4;
    repeated string force_disable_experiment_strings = 5;
    bool dev_mode = 7;
}

message ExperimentLanguageServerVersionPayload {
    string sha = 1;
    string crc32c_linux_x64 = 2;
    string crc32c_linux_arm = 3;
    string crc32c_macos_x64 = 4;
    string crc32c_macos_arm = 5;
    string crc32c_windows_x64 = 6;
}

message ExperimentModelConfigPayload {
    string model_name = 1;
    string context_check_model_name = 2;
}

message ExperimentMiddleModeTokenPayload {
    string mode_token = 1;
}

message ExperimentMultilineModelThresholdPayload {
    float threshold = 1;
}

message ExperimentSentryPayload {
    double sample_rate = 2;
    map<string, double> procedure_to_sample_rate = 3;
    map<string, double> error_match_to_sample_rate = 5;
    
    reserved 1, 4;
    
    reserved "dsn_to_sample_rate", "ignore";
}

message TeamOrganizationalControls {
    string team_id = 1;
    repeated string cascade_model_labels = 2;
    repeated string command_model_labels = 3;
    google.protobuf.Timestamp created_at = 4;
    google.protobuf.Timestamp updated_at = 5;
    repeated string extension_model_labels = 6;
    repeated APIProvider allowed_api_providers = 8;
    repeated string cli_model_labels = 9;
    
    reserved 7;
}

message ExperimentProfilingTelemetrySampleRatePayload {
    map<string, double> memory_usage_to_sample_rate = 1;
}

message ModelOrAlias {
    oneof choice {
        Model model = 1 [deprecated = true];
        ModelAlias alias = 2;
        string model_uid = 3;
    }
}

message PromptElementKindInfo {
    PromptElementKind kind = 1;
    ExperimentKey experiment_key = 2;
    bool enabled = 3;
    uint64 num_considered = 4;
    uint64 num_included = 5;
}

message PromptElementInclusionMetadata {
    bool included = 1;
    PromptElementExclusionReason exclusion_reason = 2;
}

message PromptStageLatency {
    string name = 1;
    uint64 latency_ms = 2;
}

message CompletionResponse {
    repeated Completion completions = 1;
    uint64 max_tokens = 2;
    double temperature = 3;
    uint64 top_k = 4;
    double top_p = 5;
    repeated string stop_patterns = 6;
    uint64 prompt_length = 7;
    string prompt_id = 8;
    string model_tag = 10;
    
    oneof _completion_profile {
        CompletionProfile completion_profile = 11;
    }
    
    reserved 9;
    
    reserved "runner_completion_latency";
}

message Completion {
    string completion_id = 1;
    string request_uid = 17;
    string text = 2;
    string stop = 4;
    double score = 5;
    repeated uint64 tokens = 6;
    repeated string decoded_tokens = 7;
    repeated double probabilities = 8;
    repeated double adjusted_probabilities = 9;
    repeated double logprobs = 16;
    uint64 generated_length = 10;
    StopReason stop_reason = 12;
    repeated FilterReason filter_reasons = 13;
    string original_text = 14;
    repeated ChatToolCall tool_calls = 15;
    
    reserved 3, 11;
    
    reserved "prefix", "entropy";
}

message StreamingCompletionInfo {
    repeated string completion_ids = 1;
    uint64 max_tokens = 2;
    double temperature = 3;
    uint64 top_k = 4;
    double top_p = 5;
    repeated string stop_patterns = 6;
    uint64 prompt_length = 7;
    string prompt_id = 9;
    string model_tag = 8;
    CompletionsRequest completions_request = 10;
    StreamingEvalSuffixInfo eval_suffix_info = 11;
}

message SingleModelCompletionProfile {
    double total_prefill_pass_time = 1;
    double avg_prefill_pass_time = 2;
    uint64 num_prefill_passes = 3;
    double total_spec_copy_pass_time = 7;
    double avg_spec_copy_pass_time = 8;
    uint64 num_spec_copy_passes = 9;
    double total_generation_pass_time = 4;
    double avg_generation_pass_time = 5;
    uint64 num_generation_passes = 6;
    double total_model_time = 10;
}

message CompletionProfile {
    SingleModelCompletionProfile model_profile = 1;
    double time_to_first_prefill_pass = 3;
    double time_to_first_token = 4;
    double total_completion_time = 5;
    
    oneof _draft_model_profile {
        SingleModelCompletionProfile draft_model_profile = 2;
    }
    
    oneof _model_usage {
        ModelUsageStats model_usage = 6;
    }
}

message StreamingCompletion {
    bytes decoded_token = 1;
    uint64 token = 2;
    double probability = 3;
    double adjusted_probability = 4;
    double logprob = 9;
    bool completion_finished = 5;
    string stop = 6;
    StopReason stop_reason = 7;
    map<uint32, AttributionStatus> attribution_statuses = 8;
}

message StreamingCompletionMap {
    map<int32, StreamingCompletion> completions = 1;
}

message PackedStreamingCompletionMaps {
    repeated StreamingCompletionMap completion_maps = 1;
}

message StreamingEvalSuffixInfo {
    repeated float per_token_log_likelihoods = 1;
    bool is_greedy = 2;
}

message StreamingCompletionResponse {
    oneof payload {
        StreamingCompletionInfo completion_info = 1;
        StreamingCompletionMap completion_map = 2;
        PackedStreamingCompletionMaps packed_completion_maps = 4;
    }
    
    oneof _completion_profile {
        CompletionProfile completion_profile = 5;
    }
    
    reserved 3;
    
    reserved "eval_suffix_info";
}

message CompletionLatencyInfo {
    uint64 api_server_latency_ms = 1;
    uint64 language_server_latency_ms = 2;
    uint64 network_latency_ms = 3;
    uint64 api_server_first_byte_latency_ms = 4;
    uint64 language_server_first_byte_latency_ms = 5;
    uint64 network_first_byte_latency_ms = 6;
    uint64 api_server_first_line_latency_ms = 7;
    uint64 language_server_first_line_latency_ms = 8;
    uint64 network_first_line_latency_ms = 9;
}

message CompletionWithLatencyInfo {
    Completion completion = 1;
    CompletionLatencyInfo latency_info = 2;
}

message EmbeddingsRequest {
    repeated string prompts = 1;
    EmbeddingPriority priority = 2;
    EmbeddingPrefix prefix = 3;
    Model model = 4;
}

message Embedding {
    repeated float values = 1;
}

message EmbeddingResponse {
    repeated Embedding embeddings = 1;
    bool prompts_exceeded_context_length = 2;
}

message RewardsRequest {
    string prefix = 2;
    repeated string items = 3;
    bool has_instruct_tokens = 4;
}

message RewardsResponse {
    repeated float values = 1;
    bool prompts_exceeded_context_length = 2;
}

message Metadata {
    string ide_name = 1;
    string ide_version = 7;
    string ide_type = 28;
    string extension_name = 12;
    string extension_version = 2;
    string api_key = 3;
    string locale = 4;
    string os = 5;
    string hardware = 8;
    bool disable_telemetry = 6;
    string session_id = 10;
    google.protobuf.Timestamp ls_timestamp = 16;
    uint64 request_id = 9;
    string source_address = 11;
    string user_agent = 13;
    string url = 14;
    AuthSource auth_source = 15;
    string extension_path = 17;
    string user_id = 20;
    string user_jwt = 21;
    string force_team_id = 22;
    string device_fingerprint = 24;
    string trigger_id = 25;
    string plan_name = 26;
    string id = 27;
    string impersonate_tier = 29;
    
    reserved 19, 23;
    
    reserved "ip_address", "windsurf_version";
}

message EditorOptions {
    uint64 tab_size = 1;
    bool insert_spaces = 2;
    bool disable_autocomplete_in_comments = 3;
}

message ErrorTrace {
    string error_id = 1;
    int64 timestamp_unix_ms = 2;
    string stacktrace = 3;
    bool recovered = 4;
}

message Event {
    EventType event_type = 1;
    string event_json = 2;
    int64 timestamp_unix_ms = 3;
}

message SearchResultRecord {
    string search_id = 1;
    string result_id = 2;
    string absolute_path = 3;
    repeated WorkspacePath workspace_paths = 4;
    string text = 5;
    EmbeddingMetadata embedding_metadata = 6;
    float similarity_score = 7;
    int64 num_results_in_cluster = 8;
    string representative_path = 9;
    float mean_similarity_score = 10;
    SearchResultType search_result_type = 11;
}

message WorkspacePath {
    string workspace_migrate_me_to_uri = 1 [deprecated = true];
    string workspace_uri = 3;
    string relative_path = 2;
}

message EmbeddingMetadata {
    string node_name = 1;
    uint32 start_line = 2;
    uint32 end_line = 3;
    EmbedType embed_type = 4;
}

message MockResponseData {
    repeated Completion completions = 1;
}

message WorkspaceIndexData {
    string workspace_uri_for_telemetry = 1;
    google.protobuf.Timestamp indexing_start = 2;
    google.protobuf.Timestamp indexing_end = 3;
    google.protobuf.Duration embedding_duration = 4;
    int64 num_files_total = 5;
    int64 num_files_to_embed = 6;
    int64 num_nodes_total = 7;
    int64 num_nodes_to_embed = 8;
    int64 num_tokens = 9;
    int64 num_high_priority_nodes_to_embed = 10;
    string error = 11;
}

message WorkspaceStats {
    string workspace = 3;
    map<int32, int64> num_files = 1;
    map<int32, int64> num_bytes = 2;
    bool initial_scan_completed = 4;
}

message PartialIndexMetadata {
    uint32 num_total_files = 1;
    uint32 num_indexed_files = 2;
    google.protobuf.Timestamp cutoff_timestamp = 3;
}

message FunctionInfo {
    string raw_source = 1;
    string clean_function = 2;
    string docstring = 3;
    string node_name = 4;
    string params = 5;
    int32 definition_line = 6;
    int32 start_line = 7;
    int32 end_line = 8;
    int32 start_col = 9;
    int32 end_col = 10;
    string leading_whitespace = 11;
    Language language = 12;
    int32 body_start_line = 13;
    int32 body_start_col = 14;
}

message ClassInfo {
    string raw_source = 1;
    int32 start_line = 2;
    int32 end_line = 3;
    int32 start_col = 4;
    int32 end_col = 5;
    string leading_whitespace = 6;
    repeated string fields_and_constructors = 7;
    string docstring = 8;
    string node_name = 9;
    repeated FunctionInfo methods = 10;
    repeated string node_lineage = 11;
    bool is_exported = 12;
    Language language = 13;
    int32 definition_line = 14;
}

message TeamsFeaturesMetadata {
    bool is_active = 1;
    string stripe_subscription_id = 2;
    bool has_access = 3;
}

message PromoStatus {
    bool is_active = 1;
    google.protobuf.Timestamp end_date = 2;
    string label = 3;
}

message FastStatus {
    bool is_active = 1;
    string tooltip = 2;
}

message ClientModelConfig {
    string label = 1;
    ModelOrAlias model_or_alias = 2;
    string model_uid = 22;
    float credit_multiplier = 3;
    ModelPricingType pricing_type = 13;
    bool disabled = 4;
    bool supports_images = 5;
    bool supports_legacy = 6;
    bool is_premium = 7;
    string beta_warning_message = 8;
    bool is_beta = 9;
    ModelProvider provider = 10;
    bool is_recommended = 11;
    repeated TeamsTier allowed_tiers = 12;
    APIProvider api_provider = 14;
    bool is_new = 15;
    bool partial_rollout = 16;
    float rollout_fraction = 17;
    int32 max_tokens = 18;
    PromoStatus promo_status = 19;
    bool is_capacity_limited = 20;
    FastStatus fast_status = 21;
    ModelInfo model_info = 23;
    ModelCostTier model_cost_tier = 24;
    ArenaTier arena_tier = 25;
}

message DefaultOverrideModelConfig {
    ModelOrAlias model_or_alias_deprecated = 1 [deprecated = true];
    string model_uid = 3;
    string version_id = 2;
}

message ClientModelSort {
    string name = 1;
    repeated ClientModelGroup groups = 2;
}

message ClientModelGroup {
    string group_name = 1;
    repeated string model_labels = 2;
}

message CascadeModelConfigData {
    repeated ClientModelConfig client_model_configs = 1;
    repeated ClientModelSort client_model_sorts = 2;
    
    oneof _default_override_model_config {
        DefaultOverrideModelConfig default_override_model_config = 3;
    }
}

message AllowedModelConfig {
    ModelOrAlias model_or_alias = 1;
    float credit_multiplier = 2;
}

message PlanInfo {
    TeamsTier teams_tier = 1;
    string plan_name = 2;
    bool has_autocomplete_fast_mode = 3;
    bool allow_sticky_premium_models = 4;
    bool has_forge_access = 5;
    bool disable_code_snippet_telemetry = 11;
    bool allow_premium_command_models = 15;
    bool has_tab_to_jump = 23;
    int64 max_num_premium_chat_messages = 6;
    int64 max_num_chat_input_tokens = 7;
    int64 max_custom_chat_instruction_characters = 8;
    int64 max_num_pinned_context_items = 9;
    int64 max_local_index_size = 10;
    int32 max_unclaimed_sites = 26 [deprecated = true];
    int32 monthly_prompt_credits = 12;
    int32 monthly_flow_credits = 13;
    int32 monthly_flex_credit_purchase_amount = 14;
    bool is_teams = 17;
    bool is_enterprise = 16;
    bool has_paid_features = 32;
    bool can_buy_more_credits = 18;
    bool cascade_web_search_enabled = 19;
    bool can_customize_app_icon = 20;
    bool cascade_can_auto_run_commands = 22;
    bool can_generate_commit_messages = 25;
    bool knowledge_base_enabled = 27;
    repeated AllowedModelConfig cascade_allowed_models_config = 21 [deprecated = true];
    TeamConfig default_team_config = 24;
    bool can_share_conversations = 28;
    bool can_allow_cascade_in_background = 29;
    map<int32, TeamsFeaturesMetadata> default_team_features = 30;
    bool browser_enabled = 31;
}

message TopUpStatus {
    TransactionStatus top_up_transaction_status = 1;
    bool top_up_enabled = 2;
    int32 monthly_top_up_amount = 3;
    int32 top_up_spent = 4;
    int32 top_up_increment = 5;
    bool top_up_criteria_met = 6;
}

message PlanStatus {
    PlanInfo plan_info = 1;
    google.protobuf.Timestamp plan_start = 2;
    google.protobuf.Timestamp plan_end = 3;
    int32 available_prompt_credits = 8;
    int32 available_flow_credits = 9;
    int32 available_flex_credits = 4;
    int32 used_flex_credits = 7;
    int32 used_flow_credits = 5;
    int32 used_prompt_credits = 6;
    TopUpStatus top_up_status = 10;
    bool was_reduced_by_orphaned_usage = 11;
}

message UserStatus {
    bool pro = 1;
    bool disable_telemetry = 2;
    string name = 3;
    bool ignore_chat_telemetry_setting = 4;
    string team_id = 5;
    UserTeamStatus team_status = 6;
    string email = 7;
    repeated UserFeatures user_features = 9;
    repeated TeamsFeatures teams_features = 8;
    TeamsTier teams_tier = 10;
    repeated Permission permissions = 11;
    PlanStatus plan_status = 13;
    bool has_used_windsurf = 31;
    int64 user_used_prompt_credits = 28;
    int64 user_used_flow_credits = 29;
    bool has_fingerprint_set = 30;
    TeamConfig team_config = 32;
    CascadeModelConfigData cascade_model_config_data = 33;
    google.protobuf.Timestamp windsurf_pro_trial_end_time = 34;
    int64 max_num_premium_chat_messages = 35;
    
    reserved 12;
    
    reserved "plan_info";
}

message ScmWorkspaceInfo {
    oneof info {
        PerforceDepotInfo perforce_info = 1;
        GitRepoInfo git_info = 2;
    }
}

message PerforceDepotInfo {
    string depot_name = 1;
    string version_alias = 2;
    string base_p4d_url = 3;
}

message GitRepoInfo {
    string name = 1;
    string owner = 2;
    string repo_name = 5;
    string commit = 3;
    string version_alias = 4;
    ScmProvider scm_provider = 6;
    string base_git_url = 7;
}

message CodeContextItem {
    string absolute_path_migrate_me_to_uri = 1 [deprecated = true];
    string absolute_uri = 16;
    repeated WorkspacePath workspace_paths = 2;
    string node_name = 3;
    repeated string node_lineage = 4;
    uint32 start_line = 5;
    uint32 start_col = 12;
    uint32 end_line = 6;
    uint32 end_col = 13;
    CodeContextType context_type = 7;
    Language language = 10;
    map<string, SnippetWithWordCount> snippet_by_type = 11;
    GitRepoInfo repo_info = 14;
    bytes file_content_hash = 15;
    
    reserved 8, 9;
    
    reserved "code_snippet", "code_signature";
}

message SnippetWithWordCount {
    string snippet = 1;
    map<string, WordCount> word_count_by_splitter = 2;
}

message WordCount {
    map<string, int64> word_count_map = 1;
}

message Repository {
    string computed_name = 1;
    string git_origin_url = 2;
    string git_upstream_url = 3;
    string reported_name = 4;
    string model_name = 5;
    string submodule_url = 6;
    string submodule_path = 7;
}

message CaptureFileRequestData {
    Metadata metadata = 1;
    string prompt_id = 2;
    string file_path = 3;
    string original_file_content = 4;
    string completion_text = 5;
    uint64 start_offset = 6;
    uint64 end_offset = 7;
    uint64 cursor_line = 8;
    uint64 cursor_column = 9;
}

message CompletionStatistics {
    uint32 num_acceptances = 1;
    uint32 num_rejections = 2;
    uint32 num_lines_accepted = 3;
    uint32 num_bytes_accepted = 4;
    uint32 num_users = 5;
    uint32 active_developer_days = 6;
    uint32 active_developer_hours = 7;
}

message CompletionByDateEntry {
    google.protobuf.Timestamp timestamp = 1;
    CompletionStatistics completion_statistics = 2;
}

message CompletionByLanguageEntry {
    Language language = 1;
    CompletionStatistics completion_statistics = 2;
}

message ChatStats {
    uint64 chats_sent = 1;
    uint32 active_developer_days = 15;
    
    reserved 2 to 14;
}

message ChatStatsByDateEntry {
    google.protobuf.Timestamp timestamp = 1;
    ChatStats chat_stats = 2;
}

message ChatStatsByModelEntry {
    Model model_id = 1;
    ChatStats chat_stats = 2;
}

message CommandStats {
    uint64 num_commands = 1;
    uint64 num_commands_accepted = 2;
    uint64 num_commands_rejected = 3;
    uint64 num_edits = 4;
    uint64 num_generations = 5;
    uint64 loc_added = 6;
    uint64 loc_removed = 7;
    uint64 bytes_added = 8;
    uint64 bytes_removed = 9;
    uint64 loc_selected = 10;
    uint64 bytes_selected = 11;
    map<string, uint64> num_commands_by_source = 12;
}

message CommandStatsByDateEntry {
    google.protobuf.Timestamp timestamp = 1;
    CommandStats command_stats = 2;
}

message UserTableStats {
    string name = 1;
    string email = 2;
    google.protobuf.Timestamp last_update_time = 3;
    string api_key = 4;
    bool disable_codeium = 5;
    uint32 active_days = 6;
    string role = 7;
    google.protobuf.Timestamp signup_time = 8;
    google.protobuf.Timestamp last_autocomplete_usage_time = 9;
    google.protobuf.Timestamp last_chat_usage_time = 10;
    google.protobuf.Timestamp last_command_usage_time = 11;
    int64 prompt_credits_used = 12;
}

message CascadeNUXState {
    CascadeNUXEvent event = 1;
    google.protobuf.Timestamp timestamp = 2;
}

message UserNUXState {
    UserNUXEvent event = 1;
    google.protobuf.Timestamp timestamp = 2;
}

message ConversationBrainConfig {
    PlanMode plan_mode = 1;
}

message FeatureUsageData {
    bool has_used = 1;
}

message CascadeNUXConfig {
    uint32 uid = 1;
    CascadeNUXLocation location = 2;
    CascadeNUXTrigger trigger = 3;
    string analytics_event_name = 4;
    string main_text = 5;
    string on_hover_explanation = 6;
    string learn_more_url = 7;
    int32 priority = 8;
    CascadeNUXEvent old_nux_event = 9;
    CascadeNUXIcon icon = 10;
    bool requires_idle_cascade = 11;
}

message UserSettings {
    bool open_most_recent_chat_conversation = 1;
    Model last_selected_model = 2;
    ThemePreference theme_preference = 3;
    ExtensionPanelTab extension_panel_tab = 4;
    FontSize font_size = 5;
    RememberLastModelSelection remember_last_model_selection = 7;
    AutocompleteSpeed autocomplete_speed = 6;
    string last_selected_model_name = 8;
    repeated CascadeNUXState cascade_nux_states = 11;
    map<uint32, bool> seen_nux_uids = 60;
    repeated string cascade_allowed_commands_prefix = 14 [deprecated = true];
    repeated string cascade_denied_commands_prefix = 15 [deprecated = true];
    repeated string cascade_allowed_commands = 85;
    repeated string cascade_denied_commands = 86;
    repeated UserNUXState user_nux_states = 17;
    bool cascade_web_search_disabled = 18 [deprecated = true];
    bool disable_autocomplete = 19 [deprecated = true];
    bool disable_supercomplete = 20 [deprecated = true];
    bool disable_selection_popup = 21;
    bool disable_explain_problem_inlay_hint = 22;
    bool disable_inlay_hint_shortcuts = 23 [deprecated = true];
    bool disable_open_cascade_on_reload = 24;
    bool disable_auto_open_edited_files = 25;
    bool disable_tab_to_jump = 26 [deprecated = true];
    CascadeCommandsAutoExecution cascade_auto_execution_policy = 27;
    bool explain_and_fix_in_current_conversation = 29;
    bool allow_cascade_access_gitignore_files = 31;
    bool disable_cascade_auto_fix_lints = 32;
    bool disable_cascade_browser_previews = 33;
    bool detect_proxy = 34;
    bool disable_tab_to_import = 35;
    bool use_clipboard_for_completions = 36;
    bool disable_highlight_after_accept = 37;
    string last_selected_new_convo_tab = 38;
    bool disable_auto_generate_memories = 39;
    bool enable_sounds_for_special_events = 40 [deprecated = true];
    bool enable_tab_sounds = 41 [deprecated = true];
    bool allow_cascade_in_background = 42 [deprecated = true];
    TabToJump tab_to_jump = 43;
    CascadeWebSearchTool cascade_web_search = 44;
    bool enable_terminal_completion = 45;
    bool is_snoozed = 55;
    bool enable_command_cascade_mode = 49;
    map<string, FeatureUsageData> feature_usage_data = 47;
    bool disable_cascade_in_background = 48;
    repeated string custom_workspace = 50;
    map<string, ConversationBrainConfig> conversation_brain_configs = 51 [deprecated = true];
    PlanMode global_plan_mode_preference = 54;
    repeated ClientModelConfig cached_cascade_model_configs = 52;
    repeated ClientModelSort cached_cascade_model_sorts = 53;
    AutoContinueOnMaxGeneratorInvocations auto_continue_on_max_generator_invocations = 59;
    repeated string recently_used_cascade_models = 61;
    repeated string cascade_dismissed_suggestion_workspaces = 62;
    AnnotationsConfig annotations_config = 63;
    bool enable_automatic_screenshot = 64;
    BrowserExperimentalFeaturesConfig browser_experimental_features_config = 66;
    CommandPopupAutocomplete command_popup_autocomplete = 67;
    bool enable_instant_context_agent = 77;
    bool disable_instant_context_agent = 78;
    bool enable_cascade_completion_notifications = 81;
    bool enable_cascade_always_notify_on_finish = 82;
    CompletionMode completion_mode = 83;
    bool enable_inlay_hint_shortcuts = 84;
    repeated string cascade_user_allowed_web_origins = 88;
    repeated string cascade_removed_default_web_origins = 89;
    CascadeWebRequestsAutoExecution cascade_web_requests_auto_execution_policy = 90;
    repeated string last_specific_arena_model_uids = 93;
    
    oneof _last_selected_cascade_model_deprecated {
        Model last_selected_cascade_model_deprecated = 9 [deprecated = true];
    }
    
    oneof _last_selected_cascade_model_or_alias_deprecated {
        ModelOrAlias last_selected_cascade_model_or_alias_deprecated = 30 [deprecated = true];
    }
    
    oneof _last_selected_cascade_model_uid {
        string last_selected_cascade_model_uid = 91;
    }
    
    oneof _cascade_planner_mode {
        ConversationalPlannerMode cascade_planner_mode = 13;
    }
    
    oneof _last_model_override {
        Model last_model_override = 46 [deprecated = true];
    }
    
    oneof _last_model_default_override_version_id {
        string last_model_default_override_version_id = 58;
    }
    
    oneof _cascade_model_explicitly_set {
        bool cascade_model_explicitly_set = 87;
    }
    
    oneof _last_selected_cascade_id {
        string last_selected_cascade_id = 28 [deprecated = true];
    }
    
    oneof _last_selected_smart_friend_model_deprecated {
        Model last_selected_smart_friend_model_deprecated = 79 [deprecated = true];
    }
    
    oneof _last_selected_smart_friend_model_uid {
        string last_selected_smart_friend_model_uid = 92;
    }
    
    reserved 10, 12, 16, 56, 57, 65, 68, 69, 70, 71, 72, 73, 74, 75, 76, 80;
    
    reserved "cascade_tools_enabled", "cascade_read_only_mode", "enable_model_based_auto_execution", "cascade_run_extension_code", "cascade_run_extension_code_auto_run", "cascade_input_autocomplete", "claude_code_append_system_prompt", "claude_code_cli_path", "claude_code_system_prompt", "claude_code_max_turns", "claude_code_mcp_config", "claude_code_mode", "claude_code_directories", "claude_code_system_prompt_append", "claude_code_model", "disable_superflow";
}

message ModelFeatures {
    bool supports_context_tokens = 2;
    bool requires_instruct_tags = 3;
    bool requires_fim_context = 4;
    bool requires_context_snippet_prefix = 5;
    bool requires_context_relevance_tags = 6;
    bool requires_llama3_tokens = 7;
    bool zero_shot_capable = 8;
    bool requires_autocomplete_as_command = 9 [deprecated = true];
    bool supports_cursor_aware_supercomplete = 10;
    bool supports_images = 11;
    bool supports_image_captions = 20;
    bool supports_tool_calls = 12;
    bool supports_parallel_tool_calls = 21;
    bool supports_cumulative_context = 13;
    bool tab_jump_print_line_range = 14;
    bool supports_thinking = 15;
    bool interleave_thinking = 24;
    bool preserve_thinking = 25;
    bool supports_estimate_token_counter = 17;
    bool add_cursor_to_find_replace_target = 18;
    bool supports_tab_jump_use_whole_document = 19;
    bool requires_supercomplete_clean = 22;
    bool tab_route_to_modal = 23;
    bool supports_rejection_context = 26;
    
    reserved 1, 16;
    
    reserved "supports_middle_mode", "supports_estimate_tokenizer";
}

message ExternalModel {
    bool is_internal = 1;
    Model model_id = 2;
    string model_name = 3;
    string base_url = 4;
    string api_key = 5;
    string access_key = 6;
    string secret_access_key = 7;
    string region = 8;
    string project_id = 9;
    uint32 id = 10;
    int32 max_completion_tokens = 11;
    int32 max_input_tokens = 12;
}

message ModelInfo {
    Model model_id = 1 [deprecated = true];
    string model_uid = 17;
    bool is_internal = 2;
    ModelType model_type = 3;
    int32 max_tokens = 4;
    string tokenizer_type = 5;
    ModelFeatures model_features = 6;
    APIProvider api_provider = 7;
    string model_name = 8;
    bool supports_context = 9;
    int32 embed_dim = 10;
    string base_url = 11;
    string chat_model_name = 12;
    int32 max_output_tokens = 13;
    PromptTemplaterType prompt_templater_type = 14;
    ToolFormatterType tool_formatter_type = 15;
    string inference_server_url = 18;
    ArenaTier arena_tier = 19;
    repeated string harness_uids = 20;
}

message ApiProviderRoutingConfig {
    map<string, ApiProviderConfigMap> model_map = 1;
}

message ApiProviderConfigMap {
    map<string, ApiProviderConfig> provider_map = 1;
}

message ApiProviderConfig {
    uint32 weight = 1;
    uint32 cache_ttl_minutes = 2;
}

message ShadowTrafficConfig {
    map<string, ShadowTargetList> model_map = 1;
}

message ShadowTargetList {
    repeated ShadowTarget targets = 1;
}

message ShadowTarget {
    string provider = 1;
    string model = 2;
    string model_name = 3;
}

message ModelConfig {
    ModelInfo generation_model = 1;
    ModelInfo context_check_model = 2;
}

message ModelStatusInfo {
    Model model = 1 [deprecated = true];
    string model_uid = 4;
    string message = 2;
    ModelStatus status = 3;
}

message CompletionExample {
    string uid = 1;
    string completion_id = 2;
    string file_path = 3;
    string short_prefix = 4;
    string completion_text = 5;
    string short_suffix = 6;
}

message CompletionExampleWithMetadata {
    CompletionExample example = 1;
    string name = 2;
    google.protobuf.Timestamp time = 4;
    
    reserved 3;
}

message CciWithSubrange {
    CodeContextItem cci = 1;
    ContextSubrange subrange = 2;
}

message ContextSubrange {
    ContextSnippetType snippet_type = 1;
    int64 start_offset = 2;
    int64 end_offset = 3;
}

message PathScopeItem {
    string absolute_path_migrate_me_to_uri = 1 [deprecated = true];
    string absolute_uri = 5;
    map<string, string> workspace_relative_paths_migrate_me_to_workspace_uris = 2 [deprecated = true];
    map<string, string> workspace_uris_to_relative_paths = 6;
    uint32 num_files = 3;
    uint64 num_bytes = 4;
}

message FileLineRange {
    string absolute_uri = 1;
    uint32 start_line = 2;
    uint32 end_line = 3;
}

message FileRangeContent {
    string content = 1;
    FileLineRange source = 2;
}

message TextBlock {
    string content = 1;
    
    oneof identifier {
        FileLineRange file_line_range = 2;
        string label = 3;
    }
}

message RepositoryScopeItem {
    GitRepoInfo repo_info = 1;
}

message RepositoryPathScopeItem {
    GitRepoInfo repo_info = 1;
    string relative_path = 2;
    bool is_dir = 3;
}

message KnowledgeBaseScopeItem {
    string document_id = 1;
    IndexChoice index = 7;
    DocumentType document_type = 8;
    string display_name = 3;
    string description = 4;
    string display_source = 5;
    string url = 6;
    
    reserved 2;
}

message ConsoleLogLine {
    string timestamp_str = 1;
    string type = 2;
    string output = 3;
    string console_message_location = 4;
}

message ConsoleLogScopeItem {
    repeated ConsoleLogLine lines = 1;
    string server_address = 2;
}

message DOMElementScopeItem {
    string tag_name = 1;
    string outer_html = 2;
    string id = 3;
    string react_component_name = 4;
    FileLineRange file_line_range = 5;
}

message DOMTree {
    DOMNode root = 1;
    message DOMNode {
        repeated DOMNode children = 1;
        string tag_name = 2;
        string id = 3;
        repeated string class_names = 4;
        string text_content = 5;
        BoundingBox bbox = 6;
        string aria_label = 7;
        string title = 8;
        string alt = 9;
        string placeholder = 10;
        string href = 11;
    }
    
    uint32 num_nodes = 2;
    
    message BoundingBox {
        float x = 1;
        float y = 2;
        float width = 3;
        float height = 4;
    }
}

message RecipeScopeItem {
    string recipe_id = 1;
    string title = 2;
    string description = 3;
    string system_prompt = 4;
    
    oneof _uri {
        string uri = 5;
    }
    
    oneof _execution_mode {
        CascadeCommandsAutoExecution execution_mode = 6;
    }
}

message CodeMapScopeItem {
    string title = 1;
    string content = 2;
    string description = 3;
    
    oneof _location {
        string location = 4;
    }
}

message RuleScopeItem {
    string rule_path = 1;
    string rule_name = 2;
    string description = 3;
}

message SkillScopeItem {
    string skill_name = 1;
    string description = 2;
    int32 resource_count = 4;
    string base_dir = 5;
    string content = 6;
    
    oneof _uri {
        string uri = 3;
    }
}

message PlanFileScopeItem {
    string plan_path = 1;
    string title = 2;
    string description = 3;
    bool request_implementation = 4;
}

message McpPromptScopeItem {
    string server_name = 1;
    string prompt_name = 2;
    map<string, string> arguments = 3;
    string resolved_content = 4;
}

message McpResourceItem {
    string uri = 1;
    string name = 2;
    string server_name = 5;
    
    oneof _description {
        string description = 3;
    }
    
    oneof _mime_type {
        string mime_type = 4;
    }
}

message BrowserPageScopeItem {
    string url = 1;
    string title = 2;
    string visible_text_content = 3;
    string page_id = 4;
}

message BrowserCodeBlockScopeItem {
    string url = 1;
    string title = 2;
    string code_content = 3;
    Language language = 4;
    string page_id = 6;
    
    oneof _context_text {
        string context_text = 5;
    }
}

message BrowserTextScopeItem {
    string url = 1;
    string visible_text = 2;
    string page_id = 3;
}

message ConversationScopeItem {
    string id = 1;
    string title = 2;
    google.protobuf.Timestamp last_modified_time = 3;
}

message UserActivityScopeItem {
    string id = 1;
    string branch = 2;
    bool current = 3;
}

message TerminalScopeItem {
    string process_id = 1;
    string name = 2;
    string last_command = 3;
    string content = 4;
}

message GithubPullRequestItem {
    string url = 1;
    string title = 2;
    string owner = 3;
    string number = 4;
}

message GitCommitData {
    string sha = 1;
    string short_sha = 2;
    string subject = 3;
    string author = 4;
    google.protobuf.Timestamp timestamp = 5;
    int32 insertions = 6;
    int32 deletions = 7;
}

message GitDiffData {
    string branch_name = 1;
    string base_branch = 2;
    string merge_base_sha = 3;
    int32 files_changed = 4;
    int32 insertions = 5;
    int32 deletions = 6;
    string branch_head_sha = 7;
}

message GitWorkingChangesData {
    int32 staged_count = 1;
    int32 unstaged_count = 2;
    int32 untracked_count = 3;
}

message GitScopeItem {
    string repo_root_uri = 1;
    string repo_display_name = 6;
    string formatted_content = 5;
    
    oneof git_data {
        GitCommitData commit = 2;
        GitDiffData diff = 3;
        GitWorkingChangesData working_changes = 4;
    }
}

message ContextScopeItem {
    oneof scope_item {
        PathScopeItem file = 1;
        PathScopeItem directory = 2;
        RepositoryScopeItem repository = 3;
        CodeContextItem code_context = 4;
        CciWithSubrange cci_with_subrange = 6;
        RepositoryPathScopeItem repository_path = 7;
        KnowledgeBaseScopeItem slack = 8;
        KnowledgeBaseScopeItem github = 9;
        FileLineRange file_line_range = 10;
        TextBlock text_block = 11;
        KnowledgeBaseScopeItem jira = 12;
        KnowledgeBaseScopeItem google_drive = 13;
        ConsoleLogScopeItem console_log = 14;
        DOMElementScopeItem dom_element = 15;
        RecipeScopeItem recipe = 16;
        KnowledgeBaseScopeItem knowledge = 17;
        RuleScopeItem rule = 18;
        McpResourceItem mcp_resource = 19;
        BrowserPageScopeItem browser_page = 20;
        BrowserCodeBlockScopeItem browser_code_block = 21;
        BrowserTextScopeItem browser_text = 22;
        ConversationScopeItem conversation = 23;
        UserActivityScopeItem user_activity = 24;
        TerminalScopeItem terminal = 25;
        GithubPullRequestItem github_pull_request = 26;
        CodeMapScopeItem code_map = 27;
        McpPromptScopeItem mcp_prompt = 28;
        SkillScopeItem skill = 29;
        PlanFileScopeItem plan_file = 30;
        GitScopeItem git = 31;
    }
}

message ContextScope {
    repeated ContextScopeItem items = 1;
}

message NodeExecutionRecord {
    string node_name = 1;
    google.protobuf.Timestamp start_time = 2;
    google.protobuf.Timestamp end_time = 3;
    bytes graph_state_json = 5;
    uint64 graph_state_json_num_bytes = 6;
    GraphExecutionState subgraph_execution = 4;
}

message GraphExecutionState {
    NodeExecutionRecord current = 1;
    repeated NodeExecutionRecord history = 2;
}

message Guideline {
    repeated GuidelineItem items = 1;
}

message GuidelineItem {
    string guideline = 1;
}

message ChatNodeConfig {
    Model model = 1;
    uint32 max_input_tokens = 2;
    float temperature = 3;
    uint32 max_output_tokens = 4;
    bool order_snippets_by_file = 5;
}

message MQueryConfig {
    bool should_batch_ccis = 1;
    int64 max_tokens_per_subrange = 2;
    int64 num_parser_workers = 3;
    int64 num_workers_per_distributed_scorer = 4;
    bool verbose = 5;
    repeated string ignore_extensions = 6;
    repeated string ignore_directory_stubs = 7;
    uint32 min_token_space_for_context = 8;
    uint32 max_target_files = 9;
    uint32 top_cci_count = 10;
}

message CompletionDelta {
    string delta_text = 1;
    uint32 delta_tokens = 2;
    StopReason stop_reason = 3;
    ModelUsageStats usage = 4;
    repeated ChatToolCall delta_tool_calls = 5;
    string delta_thinking = 6;
    string delta_signature = 7;
    bool thinking_redacted = 8;
    string output_id = 9;
    string thinking_id = 10 [deprecated = true];
    bytes gemini_thought_signature = 11 [deprecated = true];
    string delta_signature_type = 12;
}

message CompletionDeltaMap {
    map<int32, CompletionDelta> deltas = 1;
    string prompt = 2;
    CompletionProfile completion_profile = 3;
}

message ChatCompletionInfo {
    string prompt = 1;
    string inference_address = 2;
}

message ChatToolCall {
    string id = 1;
    string name = 2;
    string arguments_json = 3;
    string invalid_json_str = 4;
    string invalid_json_err = 5;
}

message Status {
    StatusLevel level = 1;
    string message = 2;
}

message DocumentPosition {
    uint64 row = 1;
    uint64 col = 2;
}

message Range {
    uint64 start_offset = 1;
    uint64 end_offset = 2;
    DocumentPosition start_position = 3;
    DocumentPosition end_position = 4;
}

message Document {
    string absolute_path_migrate_me_to_uri = 1 [deprecated = true];
    string absolute_uri = 12;
    string relative_path_migrate_me_to_workspace_uri = 2 [deprecated = true];
    string workspace_uri = 13;
    string text = 3;
    string editor_language = 4;
    Language language = 5;
    uint64 cursor_offset = 6;
    DocumentPosition cursor_position = 8;
    string line_ending = 7;
    Range visible_range = 9;
    bool is_cutoff_start = 10;
    bool is_cutoff_end = 11;
    int32 lines_cutoff_start = 14;
    int32 lines_cutoff_end = 15;
    google.protobuf.Timestamp timestamp = 16;
    bool is_dirty = 17;
    bool is_notebook = 19;
    google.protobuf.Timestamp last_access_time = 21;
    repeated Range selections = 22;
    
    oneof _hash {
        uint64 hash = 23;
    }
    
    reserved 18, 20;
}

message PromptComponents {
    Document document = 1;
    repeated Document other_documents = 2;
    repeated CodeContextItem code_context_items = 3;
}

message TextOrScopeItem {
    oneof chunk {
        string text = 1;
        ContextScopeItem item = 2;
    }
}

message PinnedContextConfig {
    string match_repo_name = 1;
    string match_path = 2;
    repeated PinnedContext pinned_contexts = 3;
}

message PinnedContext {
    oneof context_item {
        RepositoryPath repository_path = 1;
    }
}

message RepositoryPath {
    string remote_repo_name = 1;
    string version = 2;
    string relative_path = 3;
}

message DefaultPinnedContextConfig {
    repeated PinnedContextConfig pinned_context_configs = 1;
}

message Rule {
    string id = 1;
    string prompt = 2;
}

message RuleViolation {
    string id = 1;
    Rule rule = 2;
    int32 start_line = 3;
    int32 end_line = 4;
}

message LanguageServerDiagnostics {
    repeated string logs = 1;
}

message IndexerStats {
    IndexerDbStats database = 1;
}

message IndexerDbStats {
    oneof backend {
        LocalSqliteFaissDbStats local_sqlite_faiss = 1;
        PostgresDbStats postgres = 2;
    }
}

message LocalSqliteFaissDbStats {
    repeated FaissStateStats faiss_state_stats = 1;
    int64 total_item_count = 2;
    bool quantized = 3;
}

message FaissStateStats {
    EmbeddingSource embedding_source = 1;
    string workspace = 2;
    int64 item_count = 3;
}

message PostgresDbStats {
    
}

message LastUpdateRecord {
    google.protobuf.Timestamp time = 1;
    LastUpdateType type = 2;
}

message ModelUsageStats {
    Model model_deprecated = 1 [deprecated = true];
    string model_uid = 9;
    uint64 input_tokens = 2;
    uint64 output_tokens = 3;
    uint64 cache_write_tokens = 4;
    uint64 cache_read_tokens = 5;
    APIProvider api_provider = 6;
    string message_id = 7;
    map<string, string> response_header = 8;
}

message SuperCompleteFilterReason {
    string reason = 1;
}

message DiagnosticFix {
    string id = 1;
    string title = 2;
}

message CodeDiagnostic {
    Range range = 1;
    string message = 2;
    string severity = 3;
    string source = 4;
    string uri = 5;
    Language language = 7;
    int64 score = 8;
    repeated DiagnosticFix fixes = 9;
    
    oneof _id {
        string id = 6;
    }
}

message IntellisenseSuggestion {
    Range range = 1;
    string text = 2;
    string label = 3;
    string label_detail = 4;
    string description = 5;
    string detail = 6;
    string documentation = 7;
    string kind = 8;
    bool selected = 9;
}

message DocumentLinesElement {
    DocumentQuery document_query = 1;
    repeated CodeContextItem overlapped_code_context_items = 2;
    uint32 first_element_suffix_overlap = 3;
    uint32 last_element_prefix_overlap = 4;
}

message DocumentQuery {
    string text = 1;
    int32 cursor_offset = 2;
    uint32 start_line = 3;
    uint32 end_line = 4;
    bool use_character_position = 5;
}

message DocumentOutlineElement {
    oneof element {
        CodeContextItem code_context_item = 1;
        DocumentLinesElement document_lines_element = 2;
        string text = 3;
    }
}

message DocumentOutline {
    repeated DocumentOutlineElement elements = 1;
    int64 start_index = 2;
}

message ProductEvent {
    string event_name = 1;
    string api_key = 2;
    string installation_id = 3;
    string ide_name = 4;
    string os = 5;
    string codeium_version = 6;
    string ide_version = 7;
    uint64 duration_ms = 8;
    map<string, string> extra = 9;
}

message CodebaseCluster {
    string id = 5;
    string name = 1;
    string description = 2;
    string codebase_root_uri = 6;
    repeated string file_names = 3;
    repeated string commit_messages = 4;
    repeated string commit_sha = 7;
    repeated string commit_descriptions = 8;
    repeated string file_descriptions = 9;
    string intent = 10;
}

message CodebaseClusterList {
    repeated CodebaseCluster clusters = 1;
}

message KnowledgeBaseChunk {
    int32 position = 2;
    
    oneof chunk_type {
        string text = 1;
        MarkdownChunk markdown_chunk = 3;
    }
}

message KnowledgeBaseItem {
    string document_id = 1;
    string url = 3;
    string title = 4;
    google.protobuf.Timestamp timestamp = 5;
    repeated KnowledgeBaseChunk chunks = 6;
    string summary = 7;
    ImageData image = 8;
    DOMTree dom_tree = 9;
    string text = 2 [deprecated = true];
}

message KnowledgeBaseItemWithMetadata {
    KnowledgeBaseItem knowledge_base_item = 1;
    float score = 2;
    string index_name = 3;
    string document_source_name = 4;
}

message KnowledgeBaseGroup {
    string description = 1;
    KnowledgeBaseItemWithMetadata item = 2;
    repeated KnowledgeBaseGroup children = 3;
}

message ImageData {
    string base64_data = 1;
    string mime_type = 2;
    string caption = 3;
}

message TextData {
    string text = 1;
    string mime_type = 2;
}

message MarkdownChunk {
    repeated MarkdownHeader headers = 1;
    message MarkdownHeader {
        MarkdownNodeType type = 1;
        string text = 2;
    }
    
    string text = 2;
}

message TerminalShellCommandHeader {
    Metadata metadata = 7;
    string terminal_id = 1;
    string command_line = 3;
    string cwd = 4;
    google.protobuf.Timestamp start_time = 5;
    TerminalShellCommandSource source = 6;
    
    reserved 2;
    
    reserved "shell_pid";
}

message TerminalShellCommandData {
    bytes raw_data = 1;
}

message TerminalShellCommandTrailer {
    google.protobuf.Timestamp end_time = 2;
    
    oneof _exit_code {
        int32 exit_code = 1;
    }
    
    oneof _full_output {
        string full_output = 3;
    }
    
    oneof _ansi_output {
        string ansi_output = 4;
    }
}

message TerminalShellCommandStreamChunk {
    oneof value {
        TerminalShellCommandHeader header = 1;
        TerminalShellCommandData data = 2;
        TerminalShellCommandTrailer trailer = 3;
    }
}

message TerminalShellCommand {
    string id = 10;
    string command_line = 2;
    string cwd = 3;
    bytes output = 4;
    google.protobuf.Timestamp start_time = 6;
    google.protobuf.Timestamp end_time = 7;
    google.protobuf.Timestamp last_updated_time = 11;
    TerminalShellCommandStatus status = 8;
    TerminalShellCommandSource source = 9;
    
    oneof _exit_code {
        int32 exit_code = 5;
    }
    
    reserved 1;
    
    reserved "shell_pid";
}

message TerminalCommandData {
    string terminal_id = 1;
    string platform = 2;
    string cwd = 3;
    string shell_name = 4;
}

message WindsurfProject {
    string windsurf_project_id = 1;
    string auth_uid = 2;
    DeploymentProvider deployment_provider = 3;
    string provider_project_id = 4;
    string project_name = 5;
    google.protobuf.Timestamp created_at = 6;
    google.protobuf.Timestamp updated_at = 7;
    string domain = 8;
    string subdomain_name = 9;
    google.protobuf.Timestamp expires_at = 10;
    google.protobuf.Timestamp claimed_at = 11;
    google.protobuf.Timestamp deprovisioned_at = 12;
    string provider_team_id = 14;
    string project_url = 13;
}

message WindsurfDeployment {
    string windsurf_deployment_id = 1;
    string auth_uid = 2;
    DeploymentProvider deployment_provider = 3;
    string provider_deployment_id = 14;
    string windsurf_project_id = 19;
    string project_id = 4;
    string project_name = 5;
    string workspace_path = 6;
    google.protobuf.Timestamp created_at = 7;
    google.protobuf.Timestamp updated_at = 8;
    string domain = 16;
    string subdomain_name = 17;
    string provider_team_id = 20;
    google.protobuf.Timestamp expires_at = 11;
    string deployment_url = 12;
    google.protobuf.Timestamp claimed_at = 15;
    google.protobuf.Timestamp deprovisioned_at = 13;
    string build_status_url = 9;
    string project_url = 10;
}

message DeployTarget {
    DeploymentProvider deployment_provider = 1;
    bool is_sandbox = 2;
    string provider_team_id = 3;
    string provider_team_slug = 4;
    string domain = 5;
}

message WebDocsOption {
    string label = 1;
    repeated string synonyms = 4;
    bool is_featured = 5;
    
    oneof value {
        string docs_url = 2;
        string docs_search_domain = 3;
    }
}

message CustomProviderSettings {
    string custom_api_server_endpoint = 1;
    repeated ClientModelConfig cascade_model_configs = 2;
    repeated ClientModelConfig command_model_configs = 3;
    Model fallback_model = 4;
}

message TeamConfig {
    string team_id = 1;
    int32 user_prompt_credit_cap = 2;
    int32 user_flow_credit_cap = 3;
    bool auto_provision_cascade_seat = 4;
    bool allow_mcp_servers = 5;
    bool allow_auto_run_commands = 7;
    bool allow_custom_recipes = 8;
    int32 max_unclaimed_sites = 9;
    bool allow_app_deployments = 10;
    bool allow_sandbox_app_deployments = 19;
    bool allow_teams_app_deployments = 20;
    int32 max_new_sites_per_day = 11;
    bool allow_github_reviews = 12;
    bool allow_github_description_edits = 13;
    string pull_request_review_guidelines = 14;
    string pull_request_description_guidelines = 16;
    bool disable_tool_calls = 15;
    bool allow_individual_level_analytics = 17;
    bool allow_attribution = 22;
    repeated McpServerConfig allowed_mcp_servers = 23;
    bool allow_github_auto_reviews = 24;
    bool allow_browser_experimental_features = 25;
    bool disable_tool_call_execution_outside_workspace = 26;
    bool allow_vibe_and_replace = 27;
    bool disable_deepwiki = 28;
    CustomProviderSettings custom_provider_settings = 29;
    int32 user_add_on_credit_cap = 30;
    bool disable_codemaps = 31;
    string allow_codemap_sharing = 32;
    bool disable_fast_context = 33;
    bool disable_lifeguard = 34;
    repeated string allowed_ip_ranges = 35;
    CascadeCommandsAutoExecution max_cascade_auto_execution_level = 37;
    repeated string terminal_allow_list = 39;
    repeated string terminal_deny_list = 40;
    
    oneof _allow_conversation_sharing {
        bool allow_conversation_sharing = 18;
    }
    
    oneof _pull_request_review_rate_limit {
        int32 pull_request_review_rate_limit = 21;
    }
    
    oneof _cascade_web_search_enabled {
        bool cascade_web_search_enabled = 38;
    }
}

message WebAppDeploymentConfig {
    string project_id = 1;
    string framework = 2;
}

message McpServerTemplate {
    string title = 1;
    string id = 2;
    string link = 3;
    string description = 4;
    map<string, McpServerCommand> commands = 5;
}

message McpServerCommand {
    McpCommandTemplate template = 1;
    repeated McpCommandVariable variables = 2;
}

message McpCommandTemplate {
    string command = 1;
    repeated string args = 2;
    map<string, string> env = 3;
}

message McpCommandVariable {
    string name = 1;
    string title = 2;
    string description = 3;
    string link = 4;
}

message McpServerConfig {
    string server_id = 1;
    
    oneof configuration {
        McpLocalServer local = 2;
        McpRemoteServer remote = 3;
    }
}

message McpLocalServer {
    string command = 1;
    repeated string args = 2;
    map<string, string> env = 3;
}

message McpRemoteServer {
    string type = 1;
    string url = 2;
    map<string, string> headers = 3;
}

message UnleashContext {
    string user_id = 1;
    string session_id = 2;
    map<string, string> properties = 3;
}

message BrowserPageMetadata {
    string url = 1;
    string page_id = 2;
    string page_title = 3;
    uint32 viewport_width = 4;
    uint32 viewport_height = 5;
    string favicon_url = 6;
    google.protobuf.Timestamp last_visited_time = 7;
}

message BrowserClickInteraction {
    uint32 viewport_scroll_x = 1;
    uint32 viewport_scroll_y = 2;
    uint32 click_x = 3;
    uint32 click_y = 4;
    string target_element_tag_name = 5;
    string target_element_x_path = 6;
}

message BrowserScrollInteraction {
    uint32 viewport_scroll_x = 1;
    uint32 viewport_scroll_y = 2;
}

message BrowserInteraction {
    google.protobuf.Timestamp timestamp = 1;
    BrowserPageMetadata page_metadata = 2;
    
    oneof interaction {
        BrowserClickInteraction click = 3;
        BrowserScrollInteraction scroll = 4;
    }
}

message MetricsRecord {
    string name = 1;
    float value = 2;
    map<string, string> details = 3;
    bool lower_better = 4;
    bool is_bool = 5;
    string error = 6;
    string trajectory_id = 7;
}

message ModelNotification {
    Model model = 1 [deprecated = true];
    string model_uid = 3;
    string message = 2;
}

message ModelNotificationExperimentPayload {
    repeated ModelNotification model_notifications = 1;
}

message LspReference {
    string uri = 1;
    Range range = 2;
    
    oneof _snippet {
        string snippet = 3;
    }
}

message CascadeModelHeaderWarningExperimentPayload {
    string text = 1;
    string tooltip_text = 2;
}

message CodeAnnotation {
    string id = 1;
    string uri = 2;
    uint32 line = 3;
    string content = 4;
    google.protobuf.Timestamp created_at = 5;
}

message CodeAnnotationsState {
    repeated CodeAnnotation annotations = 1;
}

message TrajectoryDescription {
    oneof description {
        string cascade_conversation_title = 1;
        string mainline_branch_name = 2;
    }
}

message ThirdPartyWebSearchConfig {
    ThirdPartyWebSearchProvider provider = 1;
    ThirdPartyWebSearchModel model = 2;
}

message GRPCStatus {
    int32 code = 1;
    string message = 2;
}

message CascadeDataMetadata {
    string ide_version = 1;
}

message LifeguardModeConfig {
    bool enabled = 1;
    Model model = 2;
    string model_display_name = 3;
    string agent_version = 4;
}

message LifeguardConfig {
    map<string, LifeguardModeConfig> modes = 1;
}

enum ProviderSource {
    PROVIDER_SOURCE_UNSPECIFIED = 0;
    PROVIDER_SOURCE_AUTOCOMPLETE = 1;
    PROVIDER_SOURCE_CHAT = 2;
    PROVIDER_SOURCE_COMMAND_GENERATE = 4;
    PROVIDER_SOURCE_COMMAND_EDIT = 5;
    PROVIDER_SOURCE_SUPERCOMPLETE = 6;
    PROVIDER_SOURCE_COMMAND_PLAN = 7;
    PROVIDER_SOURCE_QUERY = 8;
    PROVIDER_SOURCE_FAST_APPLY = 9;
    PROVIDER_SOURCE_COMMAND_TERMINAL = 10;
    PROVIDER_SOURCE_TAB_JUMP = 11;
    PROVIDER_SOURCE_CASCADE = 12;
}

enum PromptElementKind {
    PROMPT_ELEMENT_KIND_UNSPECIFIED = 0;
    PROMPT_ELEMENT_KIND_FILE_MARKER = 2;
    PROMPT_ELEMENT_KIND_OTHER_DOCUMENT = 4;
    PROMPT_ELEMENT_KIND_BEFORE_CURSOR = 5;
    PROMPT_ELEMENT_KIND_AFTER_CURSOR = 7;
    PROMPT_ELEMENT_KIND_FIM = 8;
    PROMPT_ELEMENT_KIND_SOT = 9;
    PROMPT_ELEMENT_KIND_EOT = 10;
    PROMPT_ELEMENT_KIND_CODE_CONTEXT_ITEM = 13;
    PROMPT_ELEMENT_KIND_INSTRUCTION = 14;
    PROMPT_ELEMENT_KIND_SELECTION = 15;
    PROMPT_ELEMENT_KIND_TRAJECTORY_STEP = 16;
    PROMPT_ELEMENT_KIND_ACTIVE_DOCUMENT = 17;
    PROMPT_ELEMENT_KIND_CACHED_MESSAGE = 18;
}

enum PromptAnnotationKind {
    PROMPT_ANNOTATION_KIND_UNSPECIFIED = 0;
    PROMPT_ANNOTATION_KIND_COPY = 1;
    PROMPT_ANNOTATION_KIND_PROMPT_CACHE = 2;
}

enum ExperimentKey {
    UNSPECIFIED = 0;
    USE_INTERNAL_CHAT_MODEL = 36;
    RECORD_FILES = 47;
    NO_SAMPLER_EARLY_STOP = 48;
    CM_MEMORY_TELEMETRY = 53;
    LANGUAGE_SERVER_VERSION = 55;
    LANGUAGE_SERVER_AUTO_RELOAD = 56;
    ONLY_MULTILINE = 60;
    USE_AUTOCOMPLETE_MODEL = 64;
    USE_ATTRIBUTION_FOR_INDIVIDUAL_TIER = 68;
    CHAT_MODEL_CONFIG = 78;
    COMMAND_MODEL_CONFIG = 79;
    MIN_IDE_VERSION = 81;
    API_SERVER_VERBOSE_ERRORS = 84;
    DEFAULT_ENABLE_SEARCH = 86;
    COLLECT_ONBOARDING_EVENTS = 87;
    COLLECT_EXAMPLE_COMPLETIONS = 88;
    USE_MULTILINE_MODEL = 89;
    ATTRIBUTION_KILL_SWITCH = 92;
    FAST_MULTILINE = 94;
    SINGLE_COMPLETION = 95;
    STOP_FIRST_NON_WHITESPACE_LINE = 96;
    CORTEX_CONFIG = 102;
    MODEL_CHAT_11121_VARIANTS = 103;
    INCLUDE_PROMPT_COMPONENTS = 105;
    NON_TEAMS_KILL_SWITCH = 106;
    PERSIST_CODE_TRACKER = 108;
    CHAT_COMPLETION_TOKENS_SOFT_LIMIT = 114;
    CHAT_TOKENS_SOFT_LIMIT = 115;
    DISABLE_COMPLETIONS_CACHE = 118;
    LLAMA3_405B_KILL_SWITCH = 119;
    USE_COMMAND_DOCSTRING_GENERATION = 121;
    ENABLE_SUPERCOMPLETE = 123;
    SENTRY = 136;
    FAST_SINGLELINE = 144;
    R2_LANGUAGE_SERVER_DOWNLOAD = 147;
    SPLIT_MODEL = 152;
    WINDSURF_SENTRY_SAMPLE_RATE = 198;
    API_SERVER_CUTOFF = 158;
    FAST_SPEED_KILL_SWITCH = 159;
    PREDICTIVE_MULTILINE = 160;
    SUPERCOMPLETE_FILTER_REVERT = 125;
    SUPERCOMPLETE_FILTER_PREFIX_MATCH = 126;
    SUPERCOMPLETE_FILTER_SCORE_THRESHOLD = 127;
    SUPERCOMPLETE_FILTER_INSERTION_CAP = 128;
    SUPERCOMPLETE_FILTER_DELETION_CAP = 133;
    SUPERCOMPLETE_FILTER_WHITESPACE_ONLY = 156;
    SUPERCOMPLETE_FILTER_NO_OP = 170;
    SUPERCOMPLETE_FILTER_SUFFIX_MATCH = 176;
    SUPERCOMPLETE_FILTER_PREVIOUSLY_SHOWN = 182;
    SUPERCOMPLETE_MIN_SCORE = 129;
    SUPERCOMPLETE_MAX_INSERTIONS = 130;
    SUPERCOMPLETE_LINE_RADIUS = 131;
    SUPERCOMPLETE_MAX_DELETIONS = 132;
    SUPERCOMPLETE_RECENT_STEPS_DURATION = 138;
    SUPERCOMPLETE_MAX_TRAJECTORY_STEPS = 154;
    SUPERCOMPLETE_MAX_TRAJECTORY_STEP_SIZE = 203;
    SUPERCOMPLETE_DISABLE_TYPING_CACHE = 231;
    SUPERCOMPLETE_ALWAYS_USE_CACHE_ON_EQUAL_STATE = 293;
    SUPERCOMPLETE_CACHE_ON_PARENT_ID_KILL_SWITCH = 297;
    SUPERCOMPLETE_PRUNE_RESPONSE = 140;
    SUPERCOMPLETE_PRUNE_MAX_INSERT_DELETE_LINE_DELTA = 141;
    SUPERCOMPLETE_MODEL_CONFIG = 145;
    SUPERCOMPLETE_ON_TAB = 151;
    SUPERCOMPLETE_INLINE_PURE_DELETE = 171;
    SUPERCOMPLETE_INLINE_RICH_GHOST_TEXT_INSERTIONS = 218;
    MODEL_CHAT_19821_VARIANTS = 308;
    SUPERCOMPLETE_MAX_CONCURRENT_REQUESTS = 284;
    COMMAND_PROMPT_CACHE_CONFIG = 255;
    CUMULATIVE_PROMPT_CONFIG = 256;
    CUMULATIVE_PROMPT_CASCADE_CONFIG = 279;
    TAB_JUMP_CUMULATIVE_PROMPT_CONFIG = 301;
    COMPLETION_SPEED_SUPERCOMPLETE_CACHE = 207;
    COMPLETION_SPEED_PREDICTIVE_SUPERCOMPLETE = 208;
    COMPLETION_SPEED_TAB_JUMP_CACHE = 209;
    COMPLETION_SPEED_PREDICTIVE_TAB_JUMP = 210;
    COMPLETION_SPEED_BLOCK_TAB_JUMP_ON_PREDICTIVE_SUPERCOMPLETE = 294;
    JETBRAINS_ENABLE_ONBOARDING = 137;
    ENABLE_AUTOCOMPLETE_DURING_INTELLISENSE = 146;
    COMMAND_BOX_ON_TOP = 155;
    CONTEXT_ACTIVE_DOCUMENT_FRACTION = 149;
    CONTEXT_FORCE_LOCAL_CONTEXT = 178;
    CROSS_SELL_EXTENSION_DOWNLOAD_WINDSURF = 220;
    MODEL_LLAMA_3_1_70B_INSTRUCT_LONG_CONTEXT_VARIANTS = 295;
    USE_AUTOCOMPLETE_MODEL_SERVER_SIDE = 163;
    SUPERCOMPLETE_NO_CONTEXT = 165;
    SUPERCOMPLETE_NO_ACTIVE_NODE = 166;
    TAB_JUMP_ENABLED = 168;
    TAB_JUMP_ACCEPT_ENABLED = 169;
    TAB_JUMP_LINE_RADIUS = 177;
    TAB_JUMP_MIN_FILTER_RADIUS = 197;
    TAB_JUMP_ON_ACCEPT_ONLY = 205;
    TAB_JUMP_FILTER_IN_SELECTION = 215;
    TAB_JUMP_MODEL_CONFIG = 237;
    TAB_JUMP_FILTER_NO_OP = 238;
    TAB_JUMP_FILTER_REVERT = 239;
    TAB_JUMP_FILTER_SCORE_THRESHOLD = 240;
    TAB_JUMP_FILTER_WHITESPACE_ONLY = 241;
    TAB_JUMP_FILTER_INSERTION_CAP = 242;
    TAB_JUMP_FILTER_DELETION_CAP = 243;
    TAB_JUMP_PRUNE_RESPONSE = 260;
    TAB_JUMP_PRUNE_MAX_INSERT_DELETE_LINE_DELTA = 261;
    TAB_JUMP_STOP_TOKEN_MIDSTREAM = 317;
    VIEWED_FILE_TRACKER_CONFIG = 211;
    SNAPSHOT_TO_STEP_OPTIONS_OVERRIDE = 305;
    STREAMING_EXTERNAL_COMMAND = 172;
    USE_SPECIAL_EDIT_CODE_BLOCK = 179;
    ENABLE_SUGGESTED_RESPONSES = 187;
    CASCADE_BASE_MODEL_ID = 190;
    CASCADE_PLAN_BASED_CONFIG_OVERRIDE = 266;
    CASCADE_GLOBAL_CONFIG_OVERRIDE = 212;
    CASCADE_BACKGROUND_RESEARCH_CONFIG_OVERRIDE = 193;
    CASCADE_ENFORCE_QUOTA = 204;
    CASCADE_ENABLE_AUTOMATED_MEMORIES = 224;
    CASCADE_MEMORY_CONFIG_OVERRIDE = 314;
    CASCADE_USE_REPLACE_CONTENT_EDIT_TOOL = 228;
    CASCADE_VIEW_FILE_TOOL_CONFIG_OVERRIDE = 258;
    CASCADE_USE_EXPERIMENT_CHECKPOINTER = 247;
    CASCADE_ENABLE_CUSTOM_RECIPES = 236;
    CASCADE_ENABLE_MCP_TOOLS = 245;
    CASCADE_AUTO_FIX_LINTS = 275;
    USE_ANTHROPIC_TOKEN_EFFICIENT_TOOLS_BETA = 296;
    CASCADE_USER_MEMORIES_IN_SYS_PROMPT = 289;
    CASCADE_ENABLE_PROXY_WEB_SERVER = 290;
    COLLAPSE_ASSISTANT_MESSAGES = 312;
    CASCADE_DEFAULT_MODEL_OVERRIDE = 321;
    ENABLE_SMART_COPY = 181;
    ENABLE_COMMIT_MESSAGE_GENERATION = 185 [deprecated = true];
    SKIP_CONSISTENCY_MANAGER = 194;
    FIREWORKS_ON_DEMAND_DEPLOYMENT = 276;
    API_SERVER_CLIENT_USE_HTTP_2 = 202;
    AUTOCOMPLETE_DEFAULT_DEBOUNCE_MS = 213;
    AUTOCOMPLETE_FAST_DEBOUNCE_MS = 214;
    PROFILING_TELEMETRY_SAMPLE_RATE = 219;
    STREAM_USER_SHELL_COMMANDS = 225;
    API_SERVER_PROMPT_CACHE_REPLICAS = 307;
    API_SERVER_ENABLE_MORE_LOGGING = 272;
    COMMAND_INJECT_USER_MEMORIES = 233;
    AUTOCOMPLETE_HIDDEN_ERROR_REGEX = 234;
    DISABLE_IDE_COMPLETIONS_DEBOUNCE = 278;
    ENABLE_QUICK_ACTIONS = 250;
    QUICK_ACTIONS_WHITELIST_REGEX = 251;
    CASCADE_NEW_MODELS_NUX = 259 [deprecated = true];
    CASCADE_NEW_WAVE_2_MODELS_NUX = 270 [deprecated = true];
    SUPERCOMPLETE_FAST_DEBOUNCE = 262;
    SUPERCOMPLETE_REGULAR_DEBOUNCE = 263;
    XML_TOOL_PARSING_MODELS = 268;
    SUPERCOMPLETE_DONT_FILTER_MID_STREAMED = 269;
    ANNOYANCE_MANAGER_MAX_NAVIGATION_RENDERS = 285;
    ANNOYANCE_MANAGER_INLINE_PREVENTION_THRESHOLD_MS = 286;
    ANNOYANCE_MANAGER_INLINE_PREVENTION_MAX_INTENTIONAL_REJECTIONS = 287;
    ANNOYANCE_MANAGER_INLINE_PREVENTION_MAX_AUTO_REJECTIONS = 288;
    USE_CUSTOM_CHARACTER_DIFF = 292;
    FORCE_NON_OPTIMIZED_DIFF = 298;
    CASCADE_WEB_APP_DEPLOYMENTS_ENABLED = 300;
    CASCADE_RECIPES_AT_MENTION_VISIBILITY = 316;
    IMPLICIT_USES_CLIPBOARD = 310;
    DISABLE_SUPERCOMPLETE_PCW = 303;
    BLOCK_TAB_ON_SHOWN_AUTOCOMPLETE = 304;
    CASCADE_WEB_SEARCH_NUX = 311;
    MODEL_NOTIFICATIONS = 319;
    MODEL_SELECTOR_NUX_COPY = 320;
    CASCADE_TOOL_CALL_PRICING_NUX = 322;
    CASCADE_PLUGINS_TAB = 323;
    WAVE_8_RULES_ENABLED = 324;
    WAVE_8_KNOWLEDGE_ENABLED = 325;
    CASCADE_ONBOARDING = 326;
    CASCADE_ONBOARDING_REVERT = 327;
    CASCADE_WINDSURF_BROWSER_TOOLS_ENABLED = 328;
    CASCADE_MODEL_HEADER_WARNING = 329;
    TEST_ONLY = 999;
}

enum ExperimentSource {
    EXPERIMENT_SOURCE_UNSPECIFIED = 0;
    EXPERIMENT_SOURCE_EXTENSION = 1;
    EXPERIMENT_SOURCE_LANGUAGE_SERVER = 2;
    EXPERIMENT_SOURCE_API_SERVER = 3;
}

enum ModelAlias {
    MODEL_ALIAS_UNSPECIFIED = 0;
    MODEL_ALIAS_CASCADE_BASE = 1;
    MODEL_ALIAS_VISTA = 3;
    MODEL_ALIAS_SHAMU = 4;
    MODEL_ALIAS_SWE_1 = 5;
    MODEL_ALIAS_SWE_1_LITE = 6;
    MODEL_ALIAS_AUTO = 7;
}

enum Model {
    MODEL_UNSPECIFIED = 0;
    MODEL_EMBED_6591 = 20;
    MODEL_8341 = 33;
    MODEL_8528 = 42;
    MODEL_9024 = 41;
    MODEL_14602 = 112;
    MODEL_15133 = 115;
    MODEL_15302 = 119;
    MODEL_15335 = 121;
    MODEL_15336 = 122;
    MODEL_15931 = 167;
    MODEL_QUERY_9905 = 48;
    MODEL_QUERY_11791 = 66;
    MODEL_CHAT_11120 = 57;
    MODEL_CHAT_11121 = 58;
    MODEL_CHAT_12119 = 70;
    MODEL_CHAT_12121 = 69;
    MODEL_CHAT_12437 = 74;
    MODEL_CHAT_12491 = 76;
    MODEL_CHAT_12623 = 78;
    MODEL_CHAT_12950 = 79;
    MODEL_CHAT_12968 = 101;
    MODEL_CHAT_13404 = 102;
    MODEL_CHAT_13566 = 103;
    MODEL_CHAT_13930 = 108;
    MODEL_CHAT_14255 = 110;
    MODEL_CHAT_14256 = 111;
    MODEL_CHAT_14942 = 114;
    MODEL_CHAT_15305 = 120;
    MODEL_CHAT_15600 = 123;
    MODEL_CHAT_16801 = 124;
    MODEL_CHAT_16718 = 175;
    MODEL_CHAT_15729 = 168;
    MODEL_CHAT_16579 = 173;
    MODEL_CHAT_16579_CRUSOE = 174;
    MODEL_CHAT_18805 = 181;
    MODEL_CHAT_18468 = 210;
    MODEL_CHAT_19484 = 233;
    MODEL_CHAT_20706 = 235;
    MODEL_CHAT_21779 = 245;
    MODEL_CHAT_19040 = 211;
    MODEL_CHAT_19820 = 229;
    MODEL_CHAT_19821 = 230;
    MODEL_CHAT_19821_CRUSOE = 244;
    MODEL_CHAT_23310 = 269;
    MODEL_CHAT_28580 = 330;
    MODEL_CHAT_28581 = 331;
    MODEL_CHAT_28582 = 332;
    MODEL_CHAT_28583 = 333;
    MODEL_CHAT_28584 = 334;
    MODEL_CHAT_19822 = 231;
    MODEL_CHAT_22798 = 255;
    MODEL_CHAT_22799 = 256;
    MODEL_CHAT_22800 = 257;
    MODEL_CHAT_23151 = 267;
    MODEL_CHAT_23152 = 268;
    MODEL_TAB_ARMADILLO = 500;
    MODEL_TAB_BASE_1 = 501;
    MODEL_TAB_EXPERIMENTAL_1 = 502;
    MODEL_TAB_EXPERIMENTAL_2 = 503;
    MODEL_TAB_EXPERIMENTAL_3 = 504;
    MODEL_TAB_EXPERIMENTAL_4 = 505;
    MODEL_TAB_EXPERIMENTAL_5 = 506;
    MODEL_TAB_EXPERIMENTAL_6 = 507;
    MODEL_TAB_EXPERIMENTAL_7 = 508;
    MODEL_TAB_EXPERIMENTAL_8 = 509;
    MODEL_TAB_EXPERIMENTAL_9 = 510;
    MODEL_TAB_EXPERIMENTAL_10 = 511;
    MODEL_CASCADE_22893 = 270;
    MODEL_CASCADE_20064 = 225;
    MODEL_CASCADE_20065 = 236;
    MODEL_CASCADE_20066 = 237;
    MODEL_CASCADE_20067 = 238;
    MODEL_CASCADE_20068 = 239;
    MODEL_CASCADE_20069 = 240;
    MODEL_CASCADE_20070 = 250;
    MODEL_CASCADE_20071 = 251;
    MODEL_CASCADE_20072 = 252;
    MODEL_CASCADE_20073 = 253;
    MODEL_CASCADE_20074 = 254;
    MODEL_CASCADE_20075 = 307;
    MODEL_CASCADE_20076 = 308;
    MODEL_CASCADE_20077 = 309;
    MODEL_CASCADE_20078 = 310;
    MODEL_CASCADE_20079 = 311;
    MODEL_CASCADE_20080 = 297;
    MODEL_CASCADE_20081 = 298;
    MODEL_CASCADE_20082 = 299;
    MODEL_CASCADE_20083 = 300;
    MODEL_CASCADE_20084 = 301;
    MODEL_CASCADE_20085 = 302;
    MODEL_CASCADE_20086 = 303;
    MODEL_CASCADE_20087 = 304;
    MODEL_CASCADE_20088 = 305;
    MODEL_CASCADE_20089 = 306;
    MODEL_DEEPSEEK_V3_INTERNAL = 247;
    MODEL_DEEPSEEK_V3_0324_INTERNAL = 248;
    MODEL_DEEPSEEK_R1_INTERNAL = 249;
    MODEL_ANTHROPIC_WINDSURF_RESEARCH = 241;
    MODEL_ANTHROPIC_WINDSURF_RESEARCH_THINKING = 242 [deprecated = true];
    MODEL_DRAFT_11408 = 65;
    MODEL_DRAFT_CHAT_11883 = 67;
    MODEL_DRAFT_CHAT_12196 = 72;
    MODEL_DRAFT_CHAT_12413 = 73;
    MODEL_DRAFT_CHAT_13175 = 104;
    MODEL_DRAFT_CHAT_19823 = 232;
    MODEL_DRAFT_CHAT_20707 = 243;
    MODEL_DRAFT_CHAT_22801 = 258;
    MODEL_DRAFT_CHAT_23508 = 273;
    MODEL_DRAFT_CASCADE_23672 = 274;
    MODEL_CHAT_3_5_TURBO = 28;
    MODEL_CHAT_GPT_4 = 30;
    MODEL_CHAT_GPT_4_1106_PREVIEW = 37;
    MODEL_TEXT_EMBEDDING_OPENAI_ADA = 91;
    MODEL_TEXT_EMBEDDING_OPENAI_3_SMALL = 163;
    MODEL_TEXT_EMBEDDING_OPENAI_3_LARGE = 164;
    MODEL_CHAT_GPT_4O_2024_05_13 = 71;
    MODEL_CHAT_GPT_4O_2024_08_06 = 109;
    MODEL_CHAT_GPT_4O_MINI_2024_07_18 = 113;
    MODEL_CHAT_GPT_4_1_2025_04_14 = 259;
    MODEL_CHAT_GPT_4_1_MINI_2025_04_14 = 260;
    MODEL_CHAT_GPT_4_1_NANO_2025_04_14 = 261;
    MODEL_CHAT_O1_PREVIEW = 117 [deprecated = true];
    MODEL_CHAT_O1_MINI = 118 [deprecated = true];
    MODEL_CHAT_O1 = 170 [deprecated = true];
    MODEL_CHAT_O3_MINI = 207;
    MODEL_CHAT_O3_MINI_LOW = 213;
    MODEL_CHAT_O3_MINI_HIGH = 214;
    MODEL_CHAT_O3 = 218;
    MODEL_CHAT_O3_LOW = 262;
    MODEL_CHAT_O3_HIGH = 263;
    MODEL_CHAT_O4_MINI = 264;
    MODEL_CHAT_O4_MINI_LOW = 265;
    MODEL_CHAT_O4_MINI_HIGH = 266;
    MODEL_CHAT_GPT_4_5 = 228 [deprecated = true];
    MODEL_CODEX_MINI_LATEST = 287;
    MODEL_CODEX_MINI_LATEST_LOW = 288;
    MODEL_CODEX_MINI_LATEST_HIGH = 289;
    MODEL_O3_PRO_2025_06_10 = 294;
    MODEL_O3_PRO_2025_06_10_LOW = 295;
    MODEL_O3_PRO_2025_06_10_HIGH = 296;
    MODEL_GPT_OSS_120B = 326;
    MODEL_GPT_5_NANO = 337;
    MODEL_CHAT_GPT_5_MINIMAL = 338;
    MODEL_CHAT_GPT_5_LOW = 339;
    MODEL_CHAT_GPT_5 = 340;
    MODEL_CHAT_GPT_5_HIGH = 341;
    MODEL_CHAT_GPT_5_CODEX = 346;
    MODEL_GPT_5_1_CODEX_MINI_LOW = 385;
    MODEL_GPT_5_1_CODEX_MINI_MEDIUM = 386;
    MODEL_GPT_5_1_CODEX_MINI_HIGH = 387;
    MODEL_GPT_5_1_CODEX_LOW = 388;
    MODEL_GPT_5_1_CODEX_MEDIUM = 389;
    MODEL_GPT_5_1_CODEX_HIGH = 390;
    MODEL_GPT_5_1_CODEX_MAX_LOW = 395;
    MODEL_GPT_5_1_CODEX_MAX_MEDIUM = 396;
    MODEL_GPT_5_1_CODEX_MAX_HIGH = 397;
    MODEL_GOOGLE_GEMINI_1_0_PRO = 61 [deprecated = true];
    MODEL_GOOGLE_GEMINI_1_5_PRO = 62 [deprecated = true];
    MODEL_GOOGLE_GEMINI_EXP_1206 = 183 [deprecated = true];
    MODEL_GOOGLE_GEMINI_2_0_FLASH = 184;
    MODEL_GOOGLE_GEMINI_2_5_PRO = 246;
    MODEL_GOOGLE_GEMINI_2_5_FLASH_PREVIEW_04_17 = 272 [deprecated = true];
    MODEL_GOOGLE_GEMINI_2_5_FLASH_PREVIEW_05_20 = 275 [deprecated = true];
    MODEL_GOOGLE_GEMINI_2_5_FLASH_PREVIEW_05_20_THINKING = 276 [deprecated = true];
    MODEL_GOOGLE_GEMINI_2_5_FLASH = 312;
    MODEL_GOOGLE_GEMINI_2_5_FLASH_THINKING = 313;
    MODEL_GOOGLE_GEMINI_2_5_FLASH_LITE = 343;
    MODEL_GOOGLE_GEMINI_3_0_PRO_LOW = 378;
    MODEL_GOOGLE_GEMINI_3_0_PRO_HIGH = 379;
    MODEL_GOOGLE_GEMINI_3_0_PRO_MINIMAL = 411;
    MODEL_GOOGLE_GEMINI_3_0_PRO_MEDIUM = 412;
    MODEL_GOOGLE_GEMINI_3_0_FLASH_MINIMAL = 413;
    MODEL_GOOGLE_GEMINI_3_0_FLASH_LOW = 414;
    MODEL_GOOGLE_GEMINI_3_0_FLASH_MEDIUM = 415;
    MODEL_GOOGLE_GEMINI_3_0_FLASH_HIGH = 416;
    MODEL_CLAUDE_3_OPUS_20240229 = 63;
    MODEL_CLAUDE_3_SONNET_20240229 = 64;
    MODEL_CLAUDE_3_HAIKU_20240307 = 172;
    MODEL_CLAUDE_3_5_HAIKU_20241022 = 171;
    MODEL_CLAUDE_3_5_SONNET_20240620 = 80;
    MODEL_CLAUDE_3_5_SONNET_20241022 = 166;
    MODEL_CLAUDE_3_7_SONNET_20250219 = 226;
    MODEL_CLAUDE_3_7_SONNET_20250219_THINKING = 227;
    MODEL_CLAUDE_3_5_SONNET_BYOK = 284;
    MODEL_CLAUDE_3_7_SONNET_BYOK = 285;
    MODEL_CLAUDE_3_7_SONNET_OPEN_ROUTER_BYOK = 319;
    MODEL_CLAUDE_3_7_SONNET_THINKING_BYOK = 286;
    MODEL_CLAUDE_3_7_SONNET_THINKING_OPEN_ROUTER_BYOK = 320;
    MODEL_CLAUDE_4_OPUS_BYOK = 277;
    MODEL_CLAUDE_4_OPUS_THINKING_BYOK = 278;
    MODEL_CLAUDE_4_OPUS = 290;
    MODEL_CLAUDE_4_OPUS_THINKING = 291;
    MODEL_CLAUDE_4_SONNET_BYOK = 279;
    MODEL_CLAUDE_4_SONNET_OPEN_ROUTER_BYOK = 321;
    MODEL_CLAUDE_4_SONNET_THINKING_BYOK = 280;
    MODEL_CLAUDE_4_SONNET_THINKING_OPEN_ROUTER_BYOK = 322;
    MODEL_CLAUDE_4_SONNET = 281;
    MODEL_CLAUDE_4_SONNET_THINKING = 282;
    MODEL_CLAUDE_4_1_OPUS = 328;
    MODEL_CLAUDE_4_1_OPUS_THINKING = 329;
    MODEL_CLAUDE_4_5_SONNET = 353;
    MODEL_CLAUDE_4_5_SONNET_THINKING = 354;
    MODEL_CLAUDE_4_5_SONNET_1M = 370;
    MODEL_CLAUDE_4_5_SONNET_THINKING_1M = 371;
    MODEL_CLAUDE_4_5_OPUS = 391;
    MODEL_CLAUDE_4_5_OPUS_THINKING = 392;
    MODEL_CLAUDE_4_SONNET_DATABRICKS = 292 [deprecated = true];
    MODEL_CLAUDE_4_SONNET_THINKING_DATABRICKS = 293 [deprecated = true];
    MODEL_TOGETHERAI_TEXT_EMBEDDING_M2_BERT = 81 [deprecated = true];
    MODEL_TOGETHERAI_LLAMA_3_1_8B_INSTRUCT = 165 [deprecated = true];
    MODEL_HUGGING_FACE_TEXT_EMBEDDING_M2_BERT = 82 [deprecated = true];
    MODEL_HUGGING_FACE_TEXT_EMBEDDING_UAE_CODE = 83 [deprecated = true];
    MODEL_HUGGING_FACE_TEXT_EMBEDDING_BGE = 84 [deprecated = true];
    MODEL_HUGGING_FACE_TEXT_EMBEDDING_BLADE = 85 [deprecated = true];
    MODEL_HUGGING_FACE_TEXT_EMBEDDING_ARCTIC_LARGE = 86 [deprecated = true];
    MODEL_HUGGING_FACE_TEXT_EMBEDDING_E5_BASE = 87 [deprecated = true];
    MODEL_HUGGING_FACE_TEXT_EMBEDDING_MXBAI = 88 [deprecated = true];
    MODEL_LLAMA_3_1_8B_INSTRUCT = 106;
    MODEL_LLAMA_3_1_70B_INSTRUCT = 107;
    MODEL_LLAMA_3_1_405B_INSTRUCT = 105;
    MODEL_LLAMA_3_3_70B_INSTRUCT = 208;
    MODEL_LLAMA_3_3_70B_INSTRUCT_R1 = 209;
    MODEL_LLAMA_3_1_70B_INSTRUCT_LONG_CONTEXT = 116;
    MODEL_LLAMA_3_1_8B_HERMES_3 = 176 [deprecated = true];
    MODEL_LLAMA_3_1_70B_HERMES_3 = 177 [deprecated = true];
    MODEL_QWEN_2_5_7B_INSTRUCT = 178;
    MODEL_QWEN_2_5_32B_INSTRUCT = 179;
    MODEL_QWEN_2_5_72B_INSTRUCT = 180;
    MODEL_QWEN_2_5_32B_INSTRUCT_R1 = 224;
    MODEL_QWEN_3_235B_INSTRUCT = 324;
    MODEL_QWEN_3_CODER_480B_INSTRUCT = 325;
    MODEL_QWEN_3_CODER_480B_INSTRUCT_FAST = 327;
    MODEL_GLM_4_5 = 342;
    MODEL_GLM_4_5_FAST = 352;
    MODEL_GLM_4_6 = 356;
    MODEL_GLM_4_6_FAST = 357;
    MODEL_GLM_4_7 = 417;
    MODEL_GLM_4_7_FAST = 418;
    MODEL_SWE_1_5 = 359;
    MODEL_SWE_1_5_REDIRECT = 361;
    MODEL_SWE_1_5_THINKING = 369;
    MODEL_SWE_1_5_SLOW = 377;
    MODEL_SWE_1_6 = 420;
    MODEL_SWE_1_6_FAST = 421;
    MODEL_CODEMAP_SMALL = 358;
    MODEL_CODEMAP_MEDIUM = 360;
    MODEL_CODEMAP_SMART = 362;
    MODEL_COGNITION_INSTANT_CONTEXT = 355;
    MODEL_LLAMA_FT_DEEPWIKI_ARTICLE = 335;
    MODEL_LLAMA_FT_DEEPWIKI_HOVER = 336;
    MODEL_LLAMA_FT_LIFEGUARD = 398;
    MODEL_COGNITION_LIFEGUARD = 410;
    MODEL_NOMIC_TEXT_EMBEDDING_V1 = 89 [deprecated = true];
    MODEL_NOMIC_TEXT_EMBEDDING_V1_5 = 90 [deprecated = true];
    MODEL_MISTRAL_7B = 77;
    MODEL_SALESFORCE_EMBEDDING_2R = 99;
    MODEL_CUSTOM_VLLM = 182;
    MODEL_TEI_BGE_M3 = 92 [deprecated = true];
    MODEL_TEI_NOMIC_EMBED_TEXT_V1 = 93 [deprecated = true];
    MODEL_TEI_INTFLOAT_E5_LARGE_INSTRUCT = 94 [deprecated = true];
    MODEL_TEI_SNOWFLAKE_ARCTIC_EMBED_L = 95 [deprecated = true];
    MODEL_TEI_UAE_CODE_LARGE_V1 = 96 [deprecated = true];
    MODEL_TEI_B1ADE = 97 [deprecated = true];
    MODEL_TEI_WHEREISAI_UAE_LARGE_V1 = 98 [deprecated = true];
    MODEL_TEI_WHEREISAI_UAE_CODE_LARGE_V1 = 100 [deprecated = true];
    MODEL_OPENAI_COMPATIBLE = 200 [deprecated = true];
    MODEL_ANTHROPIC_COMPATIBLE = 201 [deprecated = true];
    MODEL_VERTEX_COMPATIBLE = 202 [deprecated = true];
    MODEL_BEDROCK_COMPATIBLE = 203 [deprecated = true];
    MODEL_AZURE_COMPATIBLE = 204 [deprecated = true];
    MODEL_DEEPSEEK_V3 = 205;
    MODEL_DEEPSEEK_R1 = 206;
    MODEL_DEEPSEEK_R1_SLOW = 215;
    MODEL_DEEPSEEK_R1_FAST = 216;
    MODEL_KIMI_K2 = 323;
    MODEL_MINIMAX_M2 = 368;
    MODEL_MINIMAX_M2_1 = 419;
    MODEL_DEEPSEEK_V3_2 = 409;
    MODEL_KIMI_K2_THINKING = 394;
    MODEL_CUSTOM_OPEN_ROUTER = 185;
    MODEL_XAI_GROK_2 = 212;
    MODEL_XAI_GROK_3 = 217;
    MODEL_XAI_GROK_3_MINI_REASONING = 234;
    MODEL_XAI_GROK_CODE_FAST = 345;
    MODEL_PRIVATE_1 = 219;
    MODEL_PRIVATE_2 = 220;
    MODEL_PRIVATE_3 = 221;
    MODEL_PRIVATE_4 = 222;
    MODEL_PRIVATE_5 = 223;
    MODEL_PRIVATE_6 = 314;
    MODEL_PRIVATE_7 = 315;
    MODEL_PRIVATE_8 = 316;
    MODEL_PRIVATE_9 = 317;
    MODEL_PRIVATE_10 = 318;
    MODEL_PRIVATE_11 = 347;
    MODEL_PRIVATE_12 = 348;
    MODEL_PRIVATE_13 = 349;
    MODEL_PRIVATE_14 = 350;
    MODEL_PRIVATE_15 = 351;
    MODEL_PRIVATE_16 = 363;
    MODEL_PRIVATE_17 = 364;
    MODEL_PRIVATE_18 = 365;
    MODEL_PRIVATE_19 = 366;
    MODEL_PRIVATE_20 = 367;
    MODEL_PRIVATE_21 = 372;
    MODEL_PRIVATE_22 = 373;
    MODEL_PRIVATE_23 = 374;
    MODEL_PRIVATE_24 = 375;
    MODEL_PRIVATE_25 = 376;
    MODEL_PRIVATE_26 = 380;
    MODEL_PRIVATE_27 = 381;
    MODEL_PRIVATE_28 = 382;
    MODEL_PRIVATE_29 = 383;
    MODEL_PRIVATE_30 = 384;
    MODEL_GPT_5_2_NONE = 399;
    MODEL_GPT_5_2_LOW = 400;
    MODEL_GPT_5_2_MEDIUM = 401;
    MODEL_GPT_5_2_HIGH = 402;
    MODEL_GPT_5_2_XHIGH = 403;
    MODEL_GPT_5_2_NONE_PRIORITY = 404;
    MODEL_GPT_5_2_LOW_PRIORITY = 405;
    MODEL_GPT_5_2_MEDIUM_PRIORITY = 406;
    MODEL_GPT_5_2_HIGH_PRIORITY = 407;
    MODEL_GPT_5_2_XHIGH_PRIORITY = 408;
    MODEL_GPT_5_2_CODEX_LOW = 422;
    MODEL_GPT_5_2_CODEX_MEDIUM = 423;
    MODEL_GPT_5_2_CODEX_HIGH = 424;
    MODEL_GPT_5_2_CODEX_XHIGH = 425;
    MODEL_GPT_5_2_CODEX_LOW_PRIORITY = 426;
    MODEL_GPT_5_2_CODEX_MEDIUM_PRIORITY = 427;
    MODEL_GPT_5_2_CODEX_HIGH_PRIORITY = 428;
    MODEL_GPT_5_2_CODEX_XHIGH_PRIORITY = 429;
    MODEL_SGLANG_ROLLOUT = 600;
}

enum DeepWikiModelType {
    DEEP_WIKI_MODEL_TYPE_UNSPECIFIED = 0;
    DEEP_WIKI_MODEL_TYPE_CAPACITY_FALLBACK = 1;
    DEEP_WIKI_MODEL_TYPE_LITE_FREE = 2;
    DEEP_WIKI_MODEL_TYPE_LITE_PAID = 3;
    DEEP_WIKI_MODEL_TYPE_PREMIUM = 4;
}

enum PromptElementExclusionReason {
    EXCLUSION_UNSPECIFIED = 0;
    EXCLUSION_ELEMENT_KIND_DISABLED = 1;
    EXCLUSION_ELEMENT_MISSING_DEPENDENCY = 2;
    EXCLUSION_TOKEN_BUDGET = 3;
    EXCLUSION_ACTIVE_SOURCE_OVERLAP = 4;
}

enum StopReason {
    STOP_REASON_UNSPECIFIED = 0;
    STOP_REASON_INCOMPLETE = 1;
    STOP_REASON_STOP_PATTERN = 2;
    STOP_REASON_MAX_TOKENS = 3;
    STOP_REASON_MIN_LOG_PROB = 4;
    STOP_REASON_MAX_NEWLINES = 5;
    STOP_REASON_EXIT_SCOPE = 6;
    STOP_REASON_NONFINITE_LOGIT_OR_PROB = 7;
    STOP_REASON_FIRST_NON_WHITESPACE_LINE = 8;
    STOP_REASON_PARTIAL = 9;
    STOP_REASON_FUNCTION_CALL = 10;
    STOP_REASON_CONTENT_FILTER = 11;
    STOP_REASON_NON_INSERTION = 12;
    STOP_REASON_ERROR = 13;
}

enum FilterReason {
    FILTER_REASON_NONE = 0;
    FILTER_REASON_INCOMPLETE = 1;
    FILTER_REASON_EMPTY = 2;
    FILTER_REASON_REPETITIVE = 3;
    FILTER_REASON_DUPLICATE = 4;
    FILTER_REASON_LONG_LINE = 5;
    FILTER_REASON_COMPLETIONS_CUTOFF = 6;
    FILTER_REASON_ATTRIBUTION = 7;
    FILTER_REASON_NON_MATCHING = 8;
    FILTER_REASON_NON_INSERTION = 9;
}

enum AttributionStatus {
    ATTRIBUTION_STATUS_UNSPECIFIED = 0;
    ATTRIBUTION_STATUS_NEW_CODE = 1;
    ATTRIBUTION_STATUS_NO_LICENSE = 2;
    ATTRIBUTION_STATUS_NONPERMISSIVE = 3;
    ATTRIBUTION_STATUS_PERMISSIVE = 4;
    ATTRIBUTION_STATUS_PERMISSIVE_BLOCKED = 5;
}

enum EmbeddingPriority {
    EMBEDDING_PRIORITY_UNSPECIFIED = 0;
    EMBEDDING_PRIORITY_HIGH = 1;
    EMBEDDING_PRIORITY_LOW = 2;
}

enum EmbeddingPrefix {
    EMBEDDING_PREFIX_UNSPECIFIED = 0;
    EMBEDDING_PREFIX_NOMIC_DOCUMENT = 1;
    EMBEDDING_PREFIX_NOMIC_SEARCH = 2;
    EMBEDDING_PREFIX_NOMIC_CLASSIFICATION = 3;
    EMBEDDING_PREFIX_NOMIC_CLUSTERING = 4;
}

enum EmbeddingSource {
    EMBEDDING_SOURCE_UNSPECIFIED = 0;
    EMBEDDING_SOURCE_CODE_CONTEXT_ITEM = 1;
    EMBEDDING_SOURCE_COMMIT_INTENT = 2;
}

enum AuthSource {
    AUTH_SOURCE_CODEIUM = 0;
    AUTH_SOURCE_DEEPNOTE = 1;
    AUTH_SOURCE_CODESANDBOX = 2 [deprecated = true];
    AUTH_SOURCE_STACKBLITZ = 3;
    AUTH_SOURCE_VALTOWN = 4;
    AUTH_SOURCE_HEX = 5;
    AUTH_SOURCE_ZAPIER = 6 [deprecated = true];
    AUTH_SOURCE_SUPERBLOCKS = 7;
    AUTH_SOURCE_EMBARCADERO = 8;
}

enum EventType {
    EVENT_TYPE_UNSPECIFIED = 0;
    EVENT_TYPE_ENABLE_CODEIUM = 1;
    EVENT_TYPE_DISABLE_CODEIUM = 2;
    EVENT_TYPE_SHOW_PREVIOUS_COMPLETION = 3;
    EVENT_TYPE_SHOW_NEXT_COMPLETION = 4;
    EVENT_TYPE_COPILOT_STATUS = 5;
    EVENT_TYPE_COMPLETION_SUPPRESSED = 6;
    EVENT_TYPE_MEMORY_STATS = 8;
    EVENT_TYPE_LOCAL_CONTEXT_RELEVANCE_CHECK = 9;
    EVENT_TYPE_ACTIVE_EDITOR_CHANGED = 10;
    EVENT_TYPE_SHOW_PREVIOUS_CORTEX_STEP = 11;
    EVENT_TYPE_SHOW_NEXT_CORTEX_STEP = 12;
    EVENT_TYPE_INDEXER_STATS = 13;
    EVENT_TYPE_SYSTEM_METRICS_TELEMETRY = 14;
}

enum SearchResultType {
    SEARCH_RESULT_TYPE_UNSPECIFIED = 0;
    SEARCH_RESULT_TYPE_CLUSTER = 1;
    SEARCH_RESULT_TYPE_EXACT = 2;
}

enum EmbedType {
    EMBED_TYPE_UNSPECIFIED = 0;
    EMBED_TYPE_RAW_SOURCE = 1;
    EMBED_TYPE_DOCSTRING = 2;
    EMBED_TYPE_FUNCTION = 3;
    EMBED_TYPE_NODEPATH = 4;
    EMBED_TYPE_DECLARATION = 5;
    EMBED_TYPE_NAIVE_CHUNK = 6;
    EMBED_TYPE_SIGNATURE = 7;
}

enum CompletionSource {
    COMPLETION_SOURCE_UNSPECIFIED = 0;
    COMPLETION_SOURCE_TYPING_AS_SUGGESTED = 1;
    COMPLETION_SOURCE_CACHE = 2;
    COMPLETION_SOURCE_NETWORK = 3;
}

enum CompletionType {
    COMPLETION_TYPE_UNSPECIFIED = 0;
    COMPLETION_TYPE_SINGLE = 1;
    COMPLETION_TYPE_MULTI = 2;
    COMPLETION_TYPE_INLINE_FIM = 3;
    COMPLETION_TYPE_CASCADE = 4;
}

enum Language {
    LANGUAGE_UNSPECIFIED = 0;
    LANGUAGE_C = 1;
    LANGUAGE_CLOJURE = 2;
    LANGUAGE_COFFEESCRIPT = 3;
    LANGUAGE_CPP = 4;
    LANGUAGE_CSHARP = 5;
    LANGUAGE_CSS = 6;
    LANGUAGE_CUDACPP = 7;
    LANGUAGE_DOCKERFILE = 8;
    LANGUAGE_GO = 9;
    LANGUAGE_GROOVY = 10;
    LANGUAGE_HANDLEBARS = 11;
    LANGUAGE_HASKELL = 12;
    LANGUAGE_HCL = 13;
    LANGUAGE_HTML = 14;
    LANGUAGE_INI = 15;
    LANGUAGE_JAVA = 16;
    LANGUAGE_JAVASCRIPT = 17;
    LANGUAGE_JSON = 18;
    LANGUAGE_JULIA = 19;
    LANGUAGE_KOTLIN = 20;
    LANGUAGE_LATEX = 21;
    LANGUAGE_LESS = 22;
    LANGUAGE_LUA = 23;
    LANGUAGE_MAKEFILE = 24;
    LANGUAGE_MARKDOWN = 25;
    LANGUAGE_OBJECTIVEC = 26;
    LANGUAGE_OBJECTIVECPP = 27;
    LANGUAGE_PERL = 28;
    LANGUAGE_PHP = 29;
    LANGUAGE_PLAINTEXT = 30;
    LANGUAGE_PROTOBUF = 31;
    LANGUAGE_PBTXT = 32;
    LANGUAGE_PYTHON = 33;
    LANGUAGE_R = 34;
    LANGUAGE_RUBY = 35;
    LANGUAGE_RUST = 36;
    LANGUAGE_SASS = 37;
    LANGUAGE_SCALA = 38;
    LANGUAGE_SCSS = 39;
    LANGUAGE_SHELL = 40;
    LANGUAGE_SQL = 41;
    LANGUAGE_STARLARK = 42;
    LANGUAGE_SWIFT = 43;
    LANGUAGE_TSX = 44;
    LANGUAGE_TYPESCRIPT = 45;
    LANGUAGE_VISUALBASIC = 46;
    LANGUAGE_VUE = 47;
    LANGUAGE_XML = 48;
    LANGUAGE_XSL = 49;
    LANGUAGE_YAML = 50;
    LANGUAGE_SVELTE = 51;
    LANGUAGE_TOML = 52;
    LANGUAGE_DART = 53;
    LANGUAGE_RST = 54;
    LANGUAGE_OCAML = 55;
    LANGUAGE_CMAKE = 56;
    LANGUAGE_PASCAL = 57;
    LANGUAGE_ELIXIR = 58;
    LANGUAGE_FSHARP = 59;
    LANGUAGE_LISP = 60;
    LANGUAGE_MATLAB = 61;
    LANGUAGE_POWERSHELL = 62;
    LANGUAGE_SOLIDITY = 63;
    LANGUAGE_ADA = 64;
    LANGUAGE_OCAML_INTERFACE = 65;
    LANGUAGE_TREE_SITTER_QUERY = 66;
    LANGUAGE_APL = 67;
    LANGUAGE_ASSEMBLY = 68;
    LANGUAGE_COBOL = 69;
    LANGUAGE_CRYSTAL = 70;
    LANGUAGE_EMACS_LISP = 71;
    LANGUAGE_ERLANG = 72;
    LANGUAGE_FORTRAN = 73;
    LANGUAGE_FREEFORM = 74;
    LANGUAGE_GRADLE = 75;
    LANGUAGE_HACK = 76;
    LANGUAGE_MAVEN = 77;
    LANGUAGE_M68KASSEMBLY = 78;
    LANGUAGE_SAS = 79;
    LANGUAGE_UNIXASSEMBLY = 80;
    LANGUAGE_VBA = 81;
    LANGUAGE_VIMSCRIPT = 82;
    LANGUAGE_WEBASSEMBLY = 83;
    LANGUAGE_BLADE = 84;
    LANGUAGE_ASTRO = 85;
    LANGUAGE_MUMPS = 86;
    LANGUAGE_GDSCRIPT = 87;
    LANGUAGE_NIM = 88;
    LANGUAGE_PROLOG = 89;
    LANGUAGE_MARKDOWN_INLINE = 90;
    LANGUAGE_APEX = 91;
    LANGUAGE_JUPYTER_NOTEBOOK = 92;
}

enum ChatMessageSource {
    CHAT_MESSAGE_SOURCE_UNSPECIFIED = 0;
    CHAT_MESSAGE_SOURCE_USER = 1;
    CHAT_MESSAGE_SOURCE_SYSTEM = 2;
    CHAT_MESSAGE_SOURCE_UNKNOWN = 3;
    CHAT_MESSAGE_SOURCE_TOOL = 4;
    CHAT_MESSAGE_SOURCE_SYSTEM_PROMPT = 5;
}

enum UserTeamStatus {
    USER_TEAM_STATUS_UNSPECIFIED = 0;
    USER_TEAM_STATUS_PENDING = 1;
    USER_TEAM_STATUS_APPROVED = 2;
    USER_TEAM_STATUS_REJECTED = 3;
}

enum TeamsFeatures {
    TEAMS_FEATURES_UNSPECIFIED = 0;
    TEAMS_FEATURES_SSO = 1;
    TEAMS_FEATURES_ATTRIBUTION = 2;
    TEAMS_FEATURES_PHI = 3;
    TEAMS_FEATURES_CORTEX = 4;
    TEAMS_FEATURES_OPENAI_DISABLED = 5;
    TEAMS_FEATURES_REMOTE_INDEXING_DISABLED = 6;
    TEAMS_FEATURES_API_KEY_ENABLED = 7;
}

enum UserFeatures {
    USER_FEATURES_UNSPECIFIED = 0;
    USER_FEATURES_CORTEX = 1;
    USER_FEATURES_CORTEX_TEST = 2;
}

enum Permission {
    PERMISSION_UNSPECIFIED = 0;
    PERMISSION_ATTRIBUTION_READ = 1;
    PERMISSION_ANALYTICS_READ = 2;
    PERMISSION_LICENSE_READ = 3;
    PERMISSION_TEAM_USER_READ = 4;
    PERMISSION_TEAM_USER_UPDATE = 5;
    PERMISSION_TEAM_USER_DELETE = 6;
    PERMISSION_TEAM_USER_INVITE = 17;
    PERMISSION_INDEXING_READ = 7;
    PERMISSION_INDEXING_CREATE = 8;
    PERMISSION_INDEXING_UPDATE = 9;
    PERMISSION_INDEXING_DELETE = 10;
    PERMISSION_INDEXING_MANAGEMENT = 27;
    PERMISSION_FINETUNING_READ = 19;
    PERMISSION_FINETUNING_CREATE = 20;
    PERMISSION_FINETUNING_UPDATE = 21;
    PERMISSION_FINETUNING_DELETE = 22;
    PERMISSION_SSO_READ = 11;
    PERMISSION_SSO_WRITE = 12;
    PERMISSION_SERVICE_KEY_READ = 13;
    PERMISSION_SERVICE_KEY_CREATE = 14;
    PERMISSION_SERVICE_KEY_UPDATE = 28;
    PERMISSION_SERVICE_KEY_DELETE = 15;
    PERMISSION_ROLE_READ = 23;
    PERMISSION_ROLE_CREATE = 24;
    PERMISSION_ROLE_UPDATE = 25;
    PERMISSION_ROLE_DELETE = 26;
    PERMISSION_BILLING_READ = 16;
    PERMISSION_BILLING_WRITE = 18;
    PERMISSION_EXTERNAL_CHAT_UPDATE = 29;
    PERMISSION_TEAM_SETTINGS_READ = 30;
    PERMISSION_TEAM_SETTINGS_UPDATE = 31;
}

enum TeamsTier {
    TEAMS_TIER_UNSPECIFIED = 0;
    TEAMS_TIER_TEAMS = 1;
    TEAMS_TIER_PRO = 2;
    TEAMS_TIER_TRIAL = 9;
    TEAMS_TIER_ENTERPRISE_SAAS = 3;
    TEAMS_TIER_HYBRID = 4;
    TEAMS_TIER_ENTERPRISE_SELF_HOSTED = 5;
    TEAMS_TIER_ENTERPRISE_SELF_SERVE = 10;
    TEAMS_TIER_DEVIN_ENTERPRISE = 12;
    TEAMS_TIER_WAITLIST_PRO = 6 [deprecated = true];
    TEAMS_TIER_TEAMS_ULTIMATE = 7;
    TEAMS_TIER_PRO_ULTIMATE = 8 [deprecated = true];
    TEAMS_TIER_ENTERPRISE_SAAS_POOLED = 11 [deprecated = true];
}

enum ModelProvider {
    MODEL_PROVIDER_UNSPECIFIED = 0;
    MODEL_PROVIDER_WINDSURF = 1;
    MODEL_PROVIDER_OPENAI = 2;
    MODEL_PROVIDER_ANTHROPIC = 3;
    MODEL_PROVIDER_GOOGLE = 4;
    MODEL_PROVIDER_XAI = 5;
    MODEL_PROVIDER_DEEPSEEK = 6;
    MODEL_PROVIDER_MOONSHOT = 7;
    MODEL_PROVIDER_QWEN = 8;
}

enum ModelPricingType {
    MODEL_PRICING_TYPE_UNSPECIFIED = 0;
    MODEL_PRICING_TYPE_STATIC_CREDIT = 1;
    MODEL_PRICING_TYPE_API = 2;
    MODEL_PRICING_TYPE_BYOK = 3;
    MODEL_PRICING_TYPE_DEVIN_ENTERPRISE = 4;
}

enum ModelCostTier {
    MODEL_COST_TIER_UNSPECIFIED = 0;
    MODEL_COST_TIER_LOW = 1;
    MODEL_COST_TIER_MEDIUM = 2;
    MODEL_COST_TIER_HIGH = 3;
}

enum TransactionStatus {
    TRANSACTION_STATUS_UNSPECIFIED = 0;
    TRANSACTION_STATUS_SUCCEEDED = 1;
    TRANSACTION_STATUS_PROCESSING = 2;
    TRANSACTION_STATUS_FAILED = 3;
    TRANSACTION_STATUS_NO_ACTIVE = 4;
}

enum ScmProvider {
    SCM_PROVIDER_UNSPECIFIED = 0;
    SCM_PROVIDER_GITHUB = 1;
    SCM_PROVIDER_GITLAB = 2;
    SCM_PROVIDER_BITBUCKET = 3;
    SCM_PROVIDER_AZURE_DEVOPS = 4;
}

enum ScmType {
    SCM_TYPE_UNSPECIFIED = 0;
    SCM_TYPE_GIT = 1;
    SCM_TYPE_PERFORCE = 2;
}

enum CodeContextType {
    CODE_CONTEXT_TYPE_UNSPECIFIED = 0;
    CODE_CONTEXT_TYPE_FUNCTION = 1;
    CODE_CONTEXT_TYPE_CLASS = 2;
    CODE_CONTEXT_TYPE_IMPORT = 3;
    CODE_CONTEXT_TYPE_NAIVE_LINECHUNK = 4;
    CODE_CONTEXT_TYPE_REFERENCE_FUNCTION = 5;
    CODE_CONTEXT_TYPE_REFERENCE_CLASS = 6;
    CODE_CONTEXT_TYPE_FILE = 7;
    CODE_CONTEXT_TYPE_TERMINAL = 8;
    CODE_CONTEXT_TYPE_DIRECTORY = 9;
}

enum CodeContextSource {
    CODE_CONTEXT_SOURCE_UNSPECIFIED = 0;
    CODE_CONTEXT_SOURCE_OPEN_DOCS = 1;
    CODE_CONTEXT_SOURCE_SEARCH_RESULT = 2;
    CODE_CONTEXT_SOURCE_IMPORT = 3;
    CODE_CONTEXT_SOURCE_LOCAL_DIRECTORY = 4;
    CODE_CONTEXT_SOURCE_LAST_ACTIVE_DOC = 5;
    CODE_CONTEXT_SOURCE_ORACLE_ITEMS = 6;
    CODE_CONTEXT_SOURCE_PINNED_CONTEXT = 7;
    CODE_CONTEXT_SOURCE_RESEARCH_STATE = 8;
    CODE_CONTEXT_SOURCE_GROUND_TRUTH_PLAN_EDIT = 9;
    CODE_CONTEXT_SOURCE_COMMIT_GRAPH = 10;
}

enum ContextSnippetType {
    CONTEXT_SNIPPET_TYPE_UNSPECIFIED = 0;
    CONTEXT_SNIPPET_TYPE_RAW_SOURCE = 1;
    CONTEXT_SNIPPET_TYPE_SIGNATURE = 2;
    CONTEXT_SNIPPET_TYPE_NODEPATH = 3;
}

enum CommitIntentType {
    COMMIT_INTENT_TYPE_UNSPECIFIED = 0;
    COMMIT_INTENT_TYPE_COMMIT_MESSAGE = 1;
}

enum GpuType {
    GPU_TYPE_UNSPECIFIED = 0;
    GPU_TYPE_L4 = 1;
    GPU_TYPE_T4 = 2;
    GPU_TYPE_A10 = 3;
    GPU_TYPE_A100 = 4;
    GPU_TYPE_V100 = 5;
    GPU_TYPE_A5000 = 6;
}

enum ContextInclusionType {
    CONTEXT_INCLUSION_TYPE_UNSPECIFIED = 0;
    CONTEXT_INCLUSION_TYPE_INCLUDE = 1;
    CONTEXT_INCLUSION_TYPE_EXCLUDE = 2;
}

enum ThemePreference {
    THEME_PREFERENCE_UNSPECIFIED = 0;
    THEME_PREFERENCE_AUTO = 1;
    THEME_PREFERENCE_LIGHT = 2;
    THEME_PREFERENCE_DARK = 3;
}

enum FontSize {
    FONT_SIZE_UNSPECIFIED = 0;
    FONT_SIZE_SMALL = 1;
    FONT_SIZE_DEFAULT = 2;
    FONT_SIZE_LARGE = 3;
}

enum AutocompleteSpeed {
    AUTOCOMPLETE_SPEED_UNSPECIFIED = 0;
    AUTOCOMPLETE_SPEED_SLOW = 1;
    AUTOCOMPLETE_SPEED_DEFAULT = 2;
    AUTOCOMPLETE_SPEED_FAST = 3;
}

enum CascadeCommandsAutoExecution {
    CASCADE_COMMANDS_AUTO_EXECUTION_UNSPECIFIED = 0;
    CASCADE_COMMANDS_AUTO_EXECUTION_OFF = 1;
    CASCADE_COMMANDS_AUTO_EXECUTION_AUTO = 2;
    CASCADE_COMMANDS_AUTO_EXECUTION_EAGER = 3;
    CASCADE_COMMANDS_AUTO_EXECUTION_DISABLED = 4;
}

enum CascadeWebRequestsAutoExecution {
    CASCADE_WEB_REQUESTS_AUTO_EXECUTION_UNSPECIFIED = 0;
    CASCADE_WEB_REQUESTS_AUTO_EXECUTION_DISABLED = 1;
    CASCADE_WEB_REQUESTS_AUTO_EXECUTION_ALLOWLIST = 2;
    CASCADE_WEB_REQUESTS_AUTO_EXECUTION_TURBO = 3;
}

enum ExtensionPanelTab {
    EXTENSION_PANEL_TAB_UNSPECIFIED = 0;
    EXTENSION_PANEL_TAB_CHAT = 1;
    EXTENSION_PANEL_TAB_PROFILE = 2;
    EXTENSION_PANEL_TAB_BRAIN = 4;
    EXTENSION_PANEL_TAB_COMMAND = 5;
    EXTENSION_PANEL_TAB_CORTEX = 6;
    EXTENSION_PANEL_TAB_DEBUG = 7;
}

enum RememberLastModelSelection {
    REMEMBER_LAST_MODEL_SELECTION_UNSPECIFIED = 0;
    REMEMBER_LAST_MODEL_SELECTION_ENABLED = 1;
    REMEMBER_LAST_MODEL_SELECTION_DISABLED = 2;
}

enum CascadeNUXEvent {
    CASCADE_NUX_EVENT_UNSPECIFIED = 0;
    CASCADE_NUX_EVENT_DIFF_OVERVIEW = 1;
    CASCADE_NUX_EVENT_WEB_SEARCH = 2;
    CASCADE_NUX_EVENT_NEW_MODELS_WAVE2 = 3;
    CASCADE_NUX_EVENT_TOOL_CALL = 4;
    CASCADE_NUX_EVENT_MODEL_SELECTOR_NUX = 5;
    CASCADE_NUX_EVENT_TOOL_CALL_PRICING_NUX = 6;
    CASCADE_NUX_EVENT_WRITE_CHAT_MODE = 7;
    CASCADE_NUX_EVENT_REVERT_STEP = 8;
    CASCADE_NUX_EVENT_RULES = 9;
    CASCADE_NUX_EVENT_WEB_MENTION = 10;
    CASCADE_NUX_EVENT_BACKGROUND_CASCADE = 11;
    CASCADE_NUX_EVENT_ANTHROPIC_API_PRICING = 12;
    CASCADE_NUX_EVENT_PLAN_MODE = 13;
    CASCADE_NUX_EVENT_OPEN_BROWSER_URL = 14;
}

enum UserNUXEvent {
    USER_NUX_EVENT_UNSPECIFIED = 0;
    USER_NUX_EVENT_DISMISS_WINDSURF_CROSS_SELL = 1;
}

enum ConversationalPlannerMode {
    CONVERSATIONAL_PLANNER_MODE_UNSPECIFIED = 0;
    CONVERSATIONAL_PLANNER_MODE_DEFAULT = 1;
    CONVERSATIONAL_PLANNER_MODE_READ_ONLY = 2;
    CONVERSATIONAL_PLANNER_MODE_NO_TOOL = 3;
    CONVERSATIONAL_PLANNER_MODE_EXPLORE = 4 [deprecated = true];
    CONVERSATIONAL_PLANNER_MODE_PLANNING = 5;
    CONVERSATIONAL_PLANNER_MODE_AUTO = 6;
}

enum TabToJump {
    TAB_TO_JUMP_UNSPECIFIED = 0;
    TAB_TO_JUMP_ENABLED = 1;
    TAB_TO_JUMP_DISABLED = 2;
}

enum CascadeWebSearchTool {
    CASCADE_WEB_SEARCH_TOOL_UNSPECIFIED = 0;
    CASCADE_WEB_SEARCH_TOOL_ENABLED = 1;
    CASCADE_WEB_SEARCH_TOOL_DISABLED = 2;
}

enum CommandPopupAutocomplete {
    COMMAND_POPUP_AUTOCOMPLETE_UNSPECIFIED = 0;
    COMMAND_POPUP_AUTOCOMPLETE_ENABLED = 1;
    COMMAND_POPUP_AUTOCOMPLETE_DISABLED = 2;
}

enum FeatureUsageType {
    FEATURE_USAGE_TYPE_UNSPECIFIED = 0;
    FEATURE_USAGE_TYPE_CASCADE_BROWSER = 1;
    FEATURE_USAGE_TYPE_CASCADE_WEB_AT_MENTION = 2;
    FEATURE_USAGE_TYPE_CASCADE_REVERT_TO_STEP = 3;
    FEATURE_USAGE_TYPE_CASCADE_CLICK_MODEL_SELECTOR = 4;
    FEATURE_USAGE_TYPE_CASCADE_MESSAGE_FEEDBACK = 5;
}

enum PlanMode {
    PLAN_MODE_UNSPECIFIED = 0;
    PLAN_MODE_ON = 1;
    PLAN_MODE_OFF = 2;
}

enum AutoContinueOnMaxGeneratorInvocations {
    AUTO_CONTINUE_ON_MAX_GENERATOR_INVOCATIONS_UNSPECIFIED = 0;
    AUTO_CONTINUE_ON_MAX_GENERATOR_INVOCATIONS_ENABLED = 1;
    AUTO_CONTINUE_ON_MAX_GENERATOR_INVOCATIONS_DISABLED = 2;
}

enum CascadeNUXLocation {
    CASCADE_NUX_LOCATION_UNSPECIFIED = 0;
    CASCADE_NUX_LOCATION_CASCADE_INPUT = 1;
    CASCADE_NUX_LOCATION_MODEL_SELECTOR = 2;
    CASCADE_NUX_LOCATION_RULES_TAB = 4;
    CASCADE_NUX_LOCATION_REVERT_STEP = 6;
    CASCADE_NUX_LOCATION_PLAN_MODE = 7;
    CASCADE_NUX_LOCATION_WRITE_CHAT_MODE = 8;
    CASCADE_NUX_LOCATION_TOOLBAR = 9;
}

enum CascadeNUXIcon {
    CASCADE_NUX_ICON_UNSPECIFIED = 0;
    CASCADE_NUX_ICON_WEB_SEARCH = 1;
    CASCADE_NUX_ICON_WINDSURF_BROWSER = 2;
}

enum CascadeNUXTrigger {
    CASCADE_NUX_TRIGGER_UNSPECIFIED = 0;
    CASCADE_NUX_TRIGGER_PRODUCED_CODE_DIFF = 1;
    CASCADE_NUX_TRIGGER_OPEN_BROWSER_URL = 3;
    CASCADE_NUX_TRIGGER_WEB_SEARCH = 4;
}

enum AnnotationsConfig {
    ANNOTATIONS_CONFIG_UNSPECIFIED = 0;
    ANNOTATIONS_CONFIG_ENABLED = 1;
    ANNOTATIONS_CONFIG_DISABLED = 2;
}

enum BrowserExperimentalFeaturesConfig {
    BROWSER_EXPERIMENTAL_FEATURES_CONFIG_UNSPECIFIED = 0;
    BROWSER_EXPERIMENTAL_FEATURES_CONFIG_ENABLED = 1;
    BROWSER_EXPERIMENTAL_FEATURES_CONFIG_DISABLED = 2;
}

enum CompletionMode {
    COMPLETION_MODE_UNSPECIFIED = 0;
    COMPLETION_MODE_SUPERCOMPLETE = 1;
    COMPLETION_MODE_AUTOCOMPLETE = 2;
    COMPLETION_MODE_OFF = 3;
}

enum ModelType {
    MODEL_TYPE_UNSPECIFIED = 0;
    MODEL_TYPE_COMPLETION = 1;
    MODEL_TYPE_CHAT = 2;
    MODEL_TYPE_EMBED = 3;
    MODEL_TYPE_QUERY = 4;
}

enum ArenaTier {
    ARENA_TIER_UNSPECIFIED = 0;
    ARENA_TIER_FAST = 1;
    ARENA_TIER_SMART = 2;
}

enum APIProvider {
    API_PROVIDER_UNSPECIFIED = 0;
    API_PROVIDER_INTERNAL = 1;
    API_PROVIDER_OPENAI = 2;
    API_PROVIDER_GOOGLE_VERTEX = 3;
    API_PROVIDER_ANTHROPIC = 4;
    API_PROVIDER_VLLM = 5;
    API_PROVIDER_TOGETHER_AI = 6;
    API_PROVIDER_HUGGING_FACE = 7 [deprecated = true];
    API_PROVIDER_NOMIC = 8 [deprecated = true];
    API_PROVIDER_TEI = 9 [deprecated = true];
    API_PROVIDER_OPENAI_COMPATIBLE_EXTERNAL = 10;
    API_PROVIDER_ANTHROPIC_COMPATIBLE_EXTERNAL = 11;
    API_PROVIDER_VERTEX_COMPATIBLE_EXTERNAL = 12;
    API_PROVIDER_BEDROCK_COMPATIBLE_EXTERNAL = 13;
    API_PROVIDER_AZURE_COMPATIBLE_EXTERNAL = 14;
    API_PROVIDER_ANTHROPIC_BEDROCK = 15 [deprecated = true];
    API_PROVIDER_FIREWORKS = 16;
    API_PROVIDER_OPEN_ROUTER = 17;
    API_PROVIDER_XAI = 18;
    API_PROVIDER_ANTHROPIC_BYOK = 20;
    API_PROVIDER_CEREBRAS = 21;
    API_PROVIDER_XAI_BYOK = 22;
    API_PROVIDER_GEMINI_OPENAI = 23;
    API_PROVIDER_GOOGLE_GEMINI = 24;
    API_PROVIDER_GOOGLE_GENAI_VERTEX = 25;
    API_PROVIDER_ANTHROPIC_VERTEX = 26 [deprecated = true];
    API_PROVIDER_DATABRICKS = 27;
    API_PROVIDER_OPEN_ROUTER_BYOK = 28;
    API_PROVIDER_ANTHROPIC_DEVIN = 29;
    API_PROVIDER_FIREWORKS_DEVIN = 30;
    API_PROVIDER_GROQ = 31;
    API_PROVIDER_OPENAI_DEVIN = 32;
    API_PROVIDER_LLAMA_FT_DEEPWIKI = 33;
    API_PROVIDER_XAI_INTERNAL = 34;
    API_PROVIDER_FLOODGATE = 36;
    API_PROVIDER_ANTHROPIC_BEDROCK_US = 37;
    API_PROVIDER_ANTHROPIC_BEDROCK_GLOBAL = 38;
    API_PROVIDER_MODAL = 40;
    API_PROVIDER_GOOGLE_GEMINI_DEVIN = 41;
    API_PROVIDER_FIREWORKS_COGNITION = 42;
    API_PROVIDER_GOOGLE_GENAI_VERTEX_GLOBAL = 43;
    API_PROVIDER_ANTHROPIC_VERTEX_US = 44;
    API_PROVIDER_ANTHROPIC_VERTEX_EU = 45;
    API_PROVIDER_ANTHROPIC_VERTEX_GLOBAL = 46;
    API_PROVIDER_FIREWORKS_COGNITION_INTERNAL = 47;
    API_PROVIDER_SGLANG = 60;
    API_PROVIDER_AZURE_OPENAI_FEDERATED = 61;
}

enum ModelStatus {
    MODEL_STATUS_UNSPECIFIED = 0;
    MODEL_STATUS_INFO = 1;
    MODEL_STATUS_WARNING = 2;
}

enum CodeSource {
    CODE_SOURCE_UNSPECIFIED = 0;
    CODE_SOURCE_BASE = 1;
    CODE_SOURCE_CODEIUM = 2;
    CODE_SOURCE_USER = 3;
    CODE_SOURCE_USER_LARGE = 4;
    CODE_SOURCE_UNKNOWN = 5;
}

enum DocumentType {
    DOCUMENT_TYPE_UNSPECIFIED = 0;
    DOCUMENT_TYPE_SLACK_MESSAGE = 1;
    DOCUMENT_TYPE_SLACK_CHANNEL = 2;
    DOCUMENT_TYPE_GITHUB_ISSUE = 3;
    DOCUMENT_TYPE_GITHUB_ISSUE_COMMENT = 4;
    DOCUMENT_TYPE_GITHUB_REPO = 8;
    DOCUMENT_TYPE_GOOGLE_DRIVE_FILE = 5;
    DOCUMENT_TYPE_GOOGLE_DRIVE_FOLDER = 6;
    DOCUMENT_TYPE_JIRA_ISSUE = 7;
    DOCUMENT_TYPE_CCI = 9;
}

enum ContextScopeType {
    CONTEXT_SCOPE_TYPE_UNSPECIFIED = 0;
    CONTEXT_SCOPE_TYPE_FILE = 1;
    CONTEXT_SCOPE_TYPE_DIRECTORY = 2;
    CONTEXT_SCOPE_TYPE_REPOSITORY = 3;
    CONTEXT_SCOPE_TYPE_CODE_CONTEXT = 4;
    CONTEXT_SCOPE_TYPE_CCI_WITH_SUBRANGE = 5;
    CONTEXT_SCOPE_TYPE_REPOSITORY_PATH = 6;
    CONTEXT_SCOPE_TYPE_SLACK = 7;
    CONTEXT_SCOPE_TYPE_GITHUB = 8;
    CONTEXT_SCOPE_TYPE_FILE_LINE_RANGE = 9;
    CONTEXT_SCOPE_TYPE_TEXT_BLOCK = 10;
    CONTEXT_SCOPE_TYPE_JIRA = 11;
    CONTEXT_SCOPE_TYPE_GOOGLE_DRIVE = 12;
    CONTEXT_SCOPE_TYPE_CONSOLE_LOG = 13;
    CONTEXT_SCOPE_TYPE_DOM_ELEMENT = 14;
    CONTEXT_SCOPE_TYPE_RECIPE = 15;
    CONTEXT_SCOPE_TYPE_KNOWLEDGE = 16;
    CONTEXT_SCOPE_TYPE_RULE = 17;
    CONTEXT_SCOPE_TYPE_MCP_RESOURCE = 18;
    CONTEXT_SCOPE_TYPE_BROWSER_PAGE = 19;
    CONTEXT_SCOPE_TYPE_BROWSER_CODE_BLOCK = 20;
    CONTEXT_SCOPE_TYPE_BROWSER_TEXT = 21;
    CONTEXT_SCOPE_TYPE_CONVERSATION = 22;
    CONTEXT_SCOPE_TYPE_USER_ACTIVITY = 23;
    CONTEXT_SCOPE_TYPE_TERMINAL = 24;
    CONTEXT_SCOPE_TYPE_GITHUB_PULL_REQUEST = 25;
    CONTEXT_SCOPE_TYPE_CODE_MAP = 26;
    CONTEXT_SCOPE_TYPE_MCP_PROMPT = 27;
    CONTEXT_SCOPE_TYPE_SKILL = 28;
    CONTEXT_SCOPE_TYPE_PLAN_FILE = 29;
    CONTEXT_SCOPE_TYPE_GIT = 30;
}

enum CommandRequestSource {
    COMMAND_REQUEST_SOURCE_UNSPECIFIED = 0;
    COMMAND_REQUEST_SOURCE_DEFAULT = 1;
    COMMAND_REQUEST_SOURCE_FUNCTION_CODE_LENS = 2;
    COMMAND_REQUEST_SOURCE_CLASS_CODE_LENS = 3;
    COMMAND_REQUEST_SOURCE_RIGHT_CLICK_REFACTOR = 4;
    COMMAND_REQUEST_SOURCE_SELECTION_HINT_CODE_LENS = 5;
    COMMAND_REQUEST_SOURCE_LINE_HINT_CODE_LENS = 6;
    COMMAND_REQUEST_SOURCE_PLAN = 7;
    COMMAND_REQUEST_SOURCE_FOLLOWUP = 8;
    COMMAND_REQUEST_SOURCE_PASTE_AND_TRANSLATE = 9;
    COMMAND_REQUEST_SOURCE_SUPERCOMPLETE = 10;
    COMMAND_REQUEST_SOURCE_FUNCTION_DOCSTRING = 11;
    COMMAND_REQUEST_SOURCE_FAST_APPLY = 12;
    COMMAND_REQUEST_SOURCE_TERMINAL = 13;
    COMMAND_REQUEST_SOURCE_TAB_JUMP = 14;
}

enum StatusLevel {
    STATUS_LEVEL_UNSPECIFIED = 0;
    STATUS_LEVEL_ERROR = 1;
    STATUS_LEVEL_WARNING = 2;
    STATUS_LEVEL_INFO = 3;
    STATUS_LEVEL_DEBUG = 4;
}

enum CortexErrorCategory {
    CORTEX_ERROR_CATEGORY_UNSPECIFIED = 0;
    CORTEX_ERROR_CATEGORY_OVERALL = 1;
    CORTEX_ERROR_CATEGORY_ACTION_PREPARE = 2;
    CORTEX_ERROR_CATEGORY_ACTION_APPLY = 3;
}

enum LastUpdateType {
    LAST_UPDATE_TYPE_UNSPECIFIED = 0;
    LAST_UPDATE_TYPE_OVERALL = 1;
    LAST_UPDATE_TYPE_LAST_AUTOCOMPLETE_USAGE_TIME = 2;
    LAST_UPDATE_TYPE_LAST_CHAT_USAGE_TIME = 3;
    LAST_UPDATE_TYPE_LAST_COMMAND_USAGE_TIME = 4;
}

enum OnboardingActionType {
    ONBOARDING_ACTION_TYPE_UNSPECIFIED = 0;
    ONBOARDING_ACTION_TYPE_AUTOCOMPLETE = 1;
    ONBOARDING_ACTION_TYPE_COMMAND = 2;
    ONBOARDING_ACTION_TYPE_CHAT = 3;
}

enum SupercompleteTriggerCondition {
    SUPERCOMPLETE_TRIGGER_CONDITION_UNSPECIFIED = 0;
    SUPERCOMPLETE_TRIGGER_CONDITION_AUTOCOMPLETE_ACCEPT = 1;
    SUPERCOMPLETE_TRIGGER_CONDITION_CURSOR_LINE_NAVIGATION = 2;
    SUPERCOMPLETE_TRIGGER_CONDITION_TYPING = 3;
    SUPERCOMPLETE_TRIGGER_CONDITION_FORCED = 4;
    SUPERCOMPLETE_TRIGGER_CONDITION_TAB_JUMP_ACCEPT = 5;
    SUPERCOMPLETE_TRIGGER_CONDITION_SUPERCOMPLETE_ACCEPT = 6;
    SUPERCOMPLETE_TRIGGER_CONDITION_TAB_JUMP_PREDICTIVE = 7;
    SUPERCOMPLETE_TRIGGER_CONDITION_AUTOCOMPLETE_PREDICTIVE = 8;
    SUPERCOMPLETE_TRIGGER_CONDITION_SUPERCOMPLETE_PREDICTIVE = 9;
    SUPERCOMPLETE_TRIGGER_CONDITION_TAB_JUMP_EDIT = 10;
}

enum ProductEventType {
    EVENT_UNSPECIFIED = 0;
    WINDSURF_EDITOR_READY = 251;
    WINDSURF_EXTENSION_START = 253;
    WINDSURF_EXTENSION_ACTIVATED = 32;
    LS_DOWNLOAD_START = 1;
    LS_DOWNLOAD_COMPLETE = 2;
    LS_DOWNLOAD_FAILURE = 5;
    LS_BINARY_STARTUP = 250;
    LS_STARTUP = 3;
    LS_FAILURE = 4;
    AUTOCOMPLETE_ACCEPTED = 6;
    AUTOCOMPLETE_ONE_WORD_ACCEPTED = 7;
    CHAT_MESSAGE_SENT = 8;
    CHAT_MENTION_INSERT = 13;
    CHAT_MENTION_MENU_OPEN = 19;
    CHAT_OPEN_SETTINGS = 14;
    CHAT_OPEN_CONTEXT_SETTINGS = 15;
    CHAT_WITH_CODEBASE = 16;
    CHAT_NEW_CONVERSATION = 17;
    CHAT_CHANGE_MODEL = 18;
    CHAT_TOGGLE_FOCUS_INSERT_TEXT = 34;
    FUNCTION_REFACTOR = 28;
    EXPLAIN_CODE_BLOCK = 29;
    FUNCTION_ADD_DOCSTRING = 30;
    EXPLAIN_PROBLEM = 31;
    COMMAND_BOX_OPENED = 9;
    COMMAND_SUBMITTED = 10;
    COMMAND_ACCEPTED = 11;
    COMMAND_REJECTED = 12;
    WS_ONBOARDING_LANDING_PAGE_OPENED = 20;
    WS_ONBOARDING_SETUP_PAGE_OPENED = 21;
    WS_ONBOARDING_KEYBINDINGS_PAGE_OPENED = 22;
    WS_ONBOARDING_MIGRATION_SCOPE_PAGE_OPENED = 23;
    WS_ONBOARDING_IMPORT_PAGE_OPENED = 24;
    WS_ONBOARDING_AUTH_PAGE_OPENED = 25;
    WS_ONBOARDING_AUTH_MANUAL_PAGE_OPENED = 26;
    WS_ONBOARDING_CHOOSE_THEME_PAGE_OPENED = 35;
    WS_ONBOARDING_COMPLETED = 27;
    WS_SKIPPED_ONBOARDING = 69;
    WS_SETTINGS_PAGE_OPEN = 72;
    WS_SETTINGS_PAGE_OPEN_WITH_SETTING_FOCUS = 73;
    EMPTY_WORKSPACE_PAGE_OPENED = 209;
    EMPTY_WORKSPACE_PAGE_RECENT_FOLDERS_CLICKED = 210;
    EMPTY_WORKSPACE_PAGE_OPEN_FOLDER_CLICKED = 211;
    EMPTY_WORKSPACE_PAGE_GENERATE_PROJECT_CLICKED = 212;
    PROVIDE_FEEDBACK = 33;
    CASCADE_MESSAGE_SENT = 36;
    WS_OPEN_CASCADE_MEMORIES_PANEL = 38 [deprecated = true];
    PROVIDE_MESSAGE_FEEDBACK = 41;
    CASCADE_MEMORY_DELETED = 42;
    CASCADE_STEP_COMPLETED = 43;
    ACKNOWLEDGE_CASCADE_CODE_EDIT = 44;
    CASCADE_WEB_TOOLS_OPEN_READ_URL_MARKDOWN = 45;
    CASCADE_WEB_TOOLS_OPEN_CHUNK_MARKDOWN = 46;
    CASCADE_MCP_SERVER_INIT = 64;
    CASCADE_KNOWLEDGE_BASE_ITEM_OPENED = 113;
    CASCADE_VIEW_LOADED = 119;
    CASCADE_CONTEXT_SCOPE_ITEM_ATTACHED = 173;
    CASCADE_CLICK_EVENT = 65;
    CASCADE_IMPRESSION_EVENT = 67;
    OPEN_CHANGELOG = 37;
    CURSOR_DETECTED = 39;
    VSCODE_DETECTED = 40;
    JETBRAINS_DETECTED = 153;
    CROSS_SELL_EXTENSION_DOWNLOAD_WINDSURF_CLICK = 47;
    CROSS_SELL_EXTENSION_DOWNLOAD_WINDSURF_NUDGE_IMPRESSION = 48;
    WS_PROBLEMS_TAB_SEND_ALL_TO_CASCADE = 49;
    WS_PROBLEMS_TAB_SEND_ALL_IN_FILE_TO_CASCADE = 50;
    WS_CASCADE_BAR_FILE_NAV = 51 [deprecated = true];
    WS_CASCADE_BAR_HUNK_NAV = 52;
    WS_CASCADE_BAR_ACCEPT_FILE = 53;
    WS_CASCADE_BAR_REJECT_FILE = 54;
    WS_CUSTOM_APP_ICON_MODAL_OPEN = 55;
    WS_CUSTOM_APP_ICON_SELECT_CLASSIC = 56;
    WS_CUSTOM_APP_ICON_SELECT_CLASSIC_LIGHT = 57;
    WS_CUSTOM_APP_ICON_SELECT_RETRO = 58;
    WS_CUSTOM_APP_ICON_SELECT_BLUEPRINT = 59;
    WS_CUSTOM_APP_ICON_SELECT_HAND_DRAWN = 60;
    WS_CUSTOM_APP_ICON_SELECT_SUNSET = 61;
    WS_CUSTOM_APP_ICON_SELECT_VALENTINE = 66;
    WS_CUSTOM_APP_ICON_SELECT_PIXEL_SURF = 82;
    ENTERED_MCP_TOOLBAR_TAB = 63;
    CLICKED_TO_CONFIGURE_MCP = 62;
    WS_SETTINGS_UPDATED = 68;
    BROWSER_PREVIEW_DOM_ELEMENT = 70;
    BROWSER_PREVIEW_CONSOLE_OUTPUT = 71;
    WS_SETTINGS_CHANGED_BY_USER = 74;
    WS_GENERATE_COMMIT_MESSAGE_CLICKED = 75;
    WS_GENERATE_COMMIT_MESSAGE_ERRORED = 76;
    WS_CLICKED_COMMIT_FROM_SCM_PANEL = 77;
    WS_CANCELED_GENERATE_COMMIT_MESSAGE = 79;
    USING_DEV_EXTENSION = 78;
    WS_APP_DEPLOYMENT_CREATE_PROJECT = 80;
    WS_APP_DEPLOYMENT_DEPLOY_PROJECT = 81;
    CASCADE_OPEN_ACTIVE_CONVERSATION_DROPDOWN = 114;
    CASCADE_SELECT_ACTIVE_CONVERSATION_ON_DROPDOWN = 115;
    CASCADE_NAVIGATE_ACTIVE_CONVERSATION_ON_DROPDOWN = 122;
    CASCADE_SNOOZE_CONVERSATION_ON_DROPDOWN = 123;
    CASCADE_TOGGLE_NOTIFICATION_ON_DROPDOWN = 124;
    CASCADE_SELECT_NOTIFICATION_ON_DROPDOWN = 125;
    CASCADE_NAVIGATE_NOTIFICATION_ON_DROPDOWN = 126;
    CASCADE_DISMISS_NOTIFICATION_ON_DROPDOWN = 127;
    CASCADE_TRAJECTORY_SHARE_COPY_LINK = 137;
    CASCADE_TRAJECTORY_SHARE_CREATE_LINK = 138;
    CASCADE_CUSTOMIZATIONS_TAB_CHANGE = 139;
    CASCADE_WORKFLOW_OPEN = 140;
    CASCADE_NEW_WORKFLOW_CLICKED = 141;
    CASCADE_NEW_GLOBAL_WORKFLOW_CLICKED = 184;
    CASCADE_WORKFLOW_REFRESH_CLICKED = 142;
    CASCADE_RULE_OPEN = 143;
    CASCADE_NEW_RULE_CLICKED = 144;
    CASCADE_NEW_GLOBAL_RULE_CLICKED = 145;
    CASCADE_RULE_REFRESH_CLICKED = 146;
    CASCADE_IMPORT_RULES_FROM_CURSOR_CLICKED = 147;
    WS_IMPORT_CURSOR_RULES_COMMAND_PALETTE = 152;
    CASCADE_CHANGES_ACCEPT_ALL = 83;
    CASCADE_CHANGES_REJECT_ALL = 84;
    CASCADE_MEMORIES_EDIT = 85;
    CASCADE_MEMORIES_VIEW = 86;
    KEYBOARD_SHORTCUT = 136;
    CASCADE_INSERT_AT_MENTION = 87;
    CASCADE_ERROR_STEP = 120;
    CASCADE_SUGGESTED_RESPONSES_SUGGESTION_CLICKED = 121;
    CASCADE_PLUGIN_PANEL_OPENED = 128;
    CASCADE_PLUGIN_PAGE_OPENED = 129;
    CASCADE_PLUGIN_INSTALLED = 130;
    CASCADE_PLUGIN_DISABLED = 131;
    CASCADE_PLUGIN_ENABLED = 132;
    CASCADE_PLUGIN_INSTALLATION_ERROR = 133;
    CASCADE_PLUGIN_TOOL_ENABLED = 134;
    CASCADE_PLUGIN_TOOL_DISABLED = 135;
    WEBSITE_NOT_FOUND_PAGE = 88;
    WEBSITE_AUTH_REDIRECT_LONG_WAIT = 89;
    WEBSITE_AUTH_REDIRECT_ERROR = 90;
    WEBSITE_AUTH_REDIRECT_SUCCESS = 112;
    WEBSITE_PAGE_VISIT = 175;
    WEBSITE_SIGNUP_INFO = 176;
    WEBSITE_START_PLAN_CHECKOUT = 177;
    WEBSITE_START_UPDATE_PAYMENT = 202;
    WEBSITE_START_VIEW_INVOICES = 203;
    WEBSITE_UNIVERSITY_LECTURE_VIEW = 214;
    WEBSITE_DISALLOW_ENTERPRISE_LOGIN = 224;
    WEBSITE_SSO_LOGIN_REDIRECT = 225;
    WEBSITE_ATTEMPT_TO_LOGIN = 226;
    WEBSITE_SUCCESSFUL_LOGIN = 227;
    WEBSITE_FAILED_LOGIN = 228;
    JB_OPEN_PLAN_INFO = 91;
    JB_SNOOZE_PLUGIN = 92 [deprecated = true];
    JB_TOGGLE_PLUGIN_STATUS = 93 [deprecated = true];
    JB_SWITCH_CHANNEL = 94;
    JB_OPEN_SETTINGS = 95;
    JB_PLUGIN_LOG_IN = 96;
    JB_PLUGIN_LOG_OUT = 97;
    JB_OPEN_QUICK_REFERENCE = 98;
    JB_EDIT_KEYBOARD_SHORTCUTS = 99;
    JB_CASCADE_BAR_CASCADE_ICON = 100;
    JB_CASCADE_BAR_FILE_NAV = 101;
    JB_CASCADE_BAR_HUNK_NAV = 102;
    JB_CASCADE_BAR_ACCEPT_FILE = 103;
    JB_CASCADE_BAR_REJECT_FILE = 104;
    JB_INLAY_HUNK_ACCEPT = 105;
    JB_INLAY_HUNK_REJECT = 106;
    JB_DIFF_RE_RENDER = 107;
    JB_ONBOARDING_OPENED = 108;
    JB_ONBOARDING_COMPLETED = 109;
    JB_ONBOARDING_SKIPPED = 110;
    JB_ONBOARDING_LEARN_MORE = 111;
    JB_DIFF_RESOLUTION_ERRORED = 116;
    JB_ACKNOWLEDGE_CODE_EDIT_ERRORED = 117;
    JB_OPEN_SETTINGS_NOTIFICATION = 118;
    JB_MCP_ADD_SERVER = 148;
    JB_MCP_SAVE_CONFIG = 149;
    JB_MCP_EXPAND_TOOLS = 150;
    JB_DISABLE_AUTOGEN_MEMORY = 151;
    JB_TOGGLE_AUTOCOMPLETE = 154;
    JB_LOGIN_MANUAL_AUTH_TOKEN = 174;
    JB_AUTO_UPDATED = 179;
    JB_DRAG_DROP_FILE = 182;
    JB_AUTO_OPEN_CHAT_WINDOW = 183;
    WS_TERMINAL_INTEGRATION_FORCE_EXIT = 155;
    KNOWLEDGE_BASE_ITEM_CREATED = 156;
    KNOWLEDGE_BASE_ITEM_EDITED = 157;
    KNOWLEDGE_BASE_ITEM_DELETED = 158;
    KNOWLEDGE_BASE_ITEM_READ = 159;
    KNOWLEDGE_BASE_CONNECTION_CREATE = 160;
    KNOWLEDGE_BASE_CONNECTION_REMOVE = 161;
    TEAM_CONFIG_TOGGLE_AUTO_RUN_COMMANDS = 162;
    TEAM_CONFIG_TOGGLE_MCP_SERVERS = 163;
    TEAM_CONFIG_TOGGLE_APP_DEPLOYMENTS = 164;
    TEAM_CONFIG_TOGGLE_SANDBOX_APP_DEPLOYMENTS = 165;
    TEAM_CONFIG_TOGGLE_TEAMS_APP_DEPLOYMENTS = 166;
    TEAM_CONFIG_TOGGLE_GITHUB_REVIEWS = 167;
    TEAM_CONFIG_TOGGLE_GITHUB_DESCRIPTION_EDITS = 168;
    TEAM_CONFIG_TOGGLE_PR_REVIEW_GUIDELINES = 169;
    TEAM_CONFIG_TOGGLE_PR_DESCRIPTION_GUIDELINES = 170;
    TEAM_CONFIG_TOGGLE_INDIVIDUAL_LEVEL_ANALYTICS = 171;
    TEAM_CONFIG_TOGGLE_CONVERSATION_SHARING = 172;
    TEAM_CONFIG_UPDATE_MCP_SERVERS = 178;
    TEAM_CONFIG_TOGGLE_GITHUB_AUTO_REVIEWS = 207;
    TEAM_CONFIG_UPDATE_TOP_UP_SETTINGS = 213;
    BROWSER_OPEN = 180;
    CASCADE_WEB_TOOLS_OPEN_BROWSER_MARKDOWN = 181;
    BROWSER_PAGE_LOAD_SUCCESS = 206;
    BROWSER_TOOLBAR_INSERT_PAGE_MENTION = 208;
    BROWSER_INSERT_TEXT_CONTENT = 215;
    BROWSER_INSERT_SCREENSHOT = 216;
    BROWSER_INSERT_CODE_BLOCK = 217;
    BROWSER_INSERT_LOG_BLOCK = 218;
    BROWSER_INSERT_CONSOLE_OUTPUT = 219;
    BROWSER_INSERT_DOM_ELEMENT = 220;
    SUPERCOMPLETE_REQUEST_STARTED = 195;
    SUPERCOMPLETE_CACHE_HIT = 196;
    SUPERCOMPLETE_ERROR_GETTING_RESPONSE = 197;
    SUPERCOMPLETE_NO_RESPONSE = 185;
    SUPERCOMPLETE_REQUEST_SUCCEEDED = 186;
    SUPERCOMPLETE_FILTERED = 187;
    TAB_JUMP_REQUEST_STARTED = 188;
    TAB_JUMP_CACHE_HIT = 189;
    TAB_JUMP_ERROR_GETTING_RESPONSE = 190;
    TAB_JUMP_NO_RESPONSE = 191;
    TAB_JUMP_PROCESSING_COMPLETE = 192;
    TAB_JUMP_FILTERED = 193;
    TAB_JUMP_ERROR_UI_RENDERED = 194;
    AUTO_CASCADE_PR_TITLE_GENERATED = 198;
    AUTO_CASCADE_PR_DESCRIPTION_GENERATED = 199;
    AUTO_CASCADE_PR_REVIEW_REQUESTED = 200;
    AUTO_CASCADE_PR_REVIEW_GENERATED = 201;
    AUTO_CASCADE_GITHUB_CONNECTION_ADDED = 204;
    AUTO_CASCADE_GITHUB_CONNECTION_REMOVED = 205;
    AUTOCOMPLETE_CHAT_NO_RESPONSE = 221;
    AUTOCOMPLETE_CHAT_ERROR_GETTING_RESPONSE = 222;
    AUTOCOMPLETE_CHAT_REQUEST_ACCEPTED = 223;
}

enum IndexChoice {
    INDEX_CHOICE_UNSPECIFIED = 0;
    INDEX_CHOICE_GITHUB_BASE = 1;
    INDEX_CHOICE_SLACK_BASE = 2;
    INDEX_CHOICE_SLACK_AGGREGATE = 3 [deprecated = true];
    INDEX_CHOICE_GOOGLE_DRIVE_BASE = 4;
    INDEX_CHOICE_JIRA_BASE = 5;
    INDEX_CHOICE_SCM = 6;
}

enum MarkdownNodeType {
    MARKDOWN_NODE_TYPE_UNSPECIFIED = 0;
    MARKDOWN_NODE_TYPE_HEADER_1 = 1;
    MARKDOWN_NODE_TYPE_HEADER_2 = 2;
    MARKDOWN_NODE_TYPE_HEADER_3 = 3;
    MARKDOWN_NODE_TYPE_HEADER_4 = 4;
    MARKDOWN_NODE_TYPE_HEADER_5 = 5;
    MARKDOWN_NODE_TYPE_HEADER_6 = 6;
}

enum TerminalShellCommandSource {
    TERMINAL_SHELL_COMMAND_SOURCE_UNSPECIFIED = 0;
    TERMINAL_SHELL_COMMAND_SOURCE_USER = 1;
    TERMINAL_SHELL_COMMAND_SOURCE_CASCADE = 2;
}

enum TerminalShellCommandStatus {
    TERMINAL_SHELL_COMMAND_STATUS_UNSPECIFIED = 0;
    TERMINAL_SHELL_COMMAND_STATUS_RUNNING = 1;
    TERMINAL_SHELL_COMMAND_STATUS_COMPLETED = 2;
}

enum DeploymentBuildStatus {
    DEPLOYMENT_BUILD_STATUS_UNSPECIFIED = 0;
    DEPLOYMENT_BUILD_STATUS_QUEUED = 1;
    DEPLOYMENT_BUILD_STATUS_INITIALIZING = 2;
    DEPLOYMENT_BUILD_STATUS_BUILDING = 3;
    DEPLOYMENT_BUILD_STATUS_ERROR = 4;
    DEPLOYMENT_BUILD_STATUS_READY = 5;
    DEPLOYMENT_BUILD_STATUS_CANCELED = 6;
}

enum DeploymentProvider {
    DEPLOYMENT_PROVIDER_UNSPECIFIED = 0;
    DEPLOYMENT_PROVIDER_VERCEL = 1;
    DEPLOYMENT_PROVIDER_NETLIFY = 2;
    DEPLOYMENT_PROVIDER_CLOUDFLARE = 3;
}

enum ValidationStatus {
    VALIDATION_STATUS_UNSPECIFIED = 0;
    VALIDATION_STATUS_AVAILABLE = 1;
    VALIDATION_STATUS_IN_USE = 2;
    VALIDATION_STATUS_TAKEN = 3;
    VALIDATION_STATUS_INVALID = 4;
}

enum PromptTemplaterType {
    PROMPT_TEMPLATER_TYPE_UNSPECIFIED = 0;
    PROMPT_TEMPLATER_TYPE_LLAMA_2 = 1;
    PROMPT_TEMPLATER_TYPE_LLAMA_3 = 2;
    PROMPT_TEMPLATER_TYPE_CHATML = 3;
    PROMPT_TEMPLATER_TYPE_CHAT_TRANSCRIPT = 4;
    PROMPT_TEMPLATER_TYPE_DEEPSEEK_V2 = 5;
    PROMPT_TEMPLATER_TYPE_DEEPSEEK_V3 = 6;
    PROMPT_TEMPLATER_TYPE_KIMI = 7;
}

enum ToolFormatterType {
    TOOL_FORMATTER_TYPE_UNSPECIFIED = 0;
    TOOL_FORMATTER_TYPE_LLAMA_3 = 1;
    TOOL_FORMATTER_TYPE_HERMES = 2;
    TOOL_FORMATTER_TYPE_XML = 3;
    TOOL_FORMATTER_TYPE_CHAT_TRANSCRIPT = 4;
    TOOL_FORMATTER_TYPE_KIMI = 5;
    TOOL_FORMATTER_TYPE_QWENCODER = 6;
    TOOL_FORMATTER_TYPE_SUPERCOMPLETE = 7;
}

enum BrowserInstallationStatus {
    BROWSER_INSTALLATION_STATUS_UNSPECIFIED = 0;
    BROWSER_INSTALLATION_STATUS_NOT_INSTALLED = 1;
    BROWSER_INSTALLATION_STATUS_IN_PROGRESS = 2;
    BROWSER_INSTALLATION_STATUS_COMPLETE = 3;
    BROWSER_INSTALLATION_STATUS_ERROR = 4;
}

enum TrajectoryType {
    TRAJECTORY_TYPE_UNSPECIFIED = 0;
    TRAJECTORY_TYPE_CASCADE = 1;
    TRAJECTORY_TYPE_MAINLINE_TRAJECTORY = 2;
}

enum RefreshCustomizationType {
    REFRESH_CUSTOMIZATION_TYPE_UNSPECIFIED = 0;
    REFRESH_CUSTOMIZATION_TYPE_RULE = 1;
    REFRESH_CUSTOMIZATION_TYPE_WORKFLOW = 2;
    REFRESH_CUSTOMIZATION_TYPE_USER_MEMORY = 3;
    REFRESH_CUSTOMIZATION_TYPE_SKILL = 4;
    REFRESH_CUSTOMIZATION_TYPE_PLAN = 5;
    REFRESH_CUSTOMIZATION_TYPE_MCP = 6;
}

enum ThirdPartyWebSearchProvider {
    THIRD_PARTY_WEB_SEARCH_PROVIDER_UNSPECIFIED = 0;
    THIRD_PARTY_WEB_SEARCH_PROVIDER_OPENAI = 1;
}

enum ThirdPartyWebSearchModel {
    THIRD_PARTY_WEB_SEARCH_MODEL_UNSPECIFIED = 0;
    THIRD_PARTY_WEB_SEARCH_MODEL_O3 = 1;
    THIRD_PARTY_WEB_SEARCH_MODEL_GPT_4_1 = 2;
    THIRD_PARTY_WEB_SEARCH_MODEL_O4_MINI = 3;
}
