syntax = "proto3";

package exa.codeium_common_pb;

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

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;

  reserved 3;
  reserved "PROVIDER_SOURCE_SUPERCOMPLETE_CHAT";
}

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;

  reserved 1;
  reserved 3;
  reserved 6;
  reserved 11;
  reserved 12;
  reserved "PROMPT_ELEMENT_KIND_LANGUAGE_MARKER", "PROMPT_ELEMENT_KIND_SIBLING_FUNCTION", "PROMPT_ELEMENT_KIND_FILE_SEPARATOR", "PROMPT_ELEMENT_KIND_SEARCH_RESULT", "PROMPT_ELEMENT_KIND_TOP_OF_DOC";
}

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_MODEL_CONFIG_LOW = 330;
  SUPERCOMPLETE_MODEL_CONFIG_HIGH = 331;
  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_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;

  reserved 236;
  reserved 1 to 35;
  reserved 37 to 43;
  reserved 44;
  reserved 45;
  reserved 46;
  reserved 49;
  reserved 50;
  reserved 51;
  reserved 52;
  reserved 57;
  reserved 58;
  reserved 59;
  reserved 61;
  reserved 62;
  reserved 63;
  reserved 65;
  reserved 66;
  reserved 67;
  reserved 69;
  reserved 70;
  reserved 71;
  reserved 72;
  reserved 73;
  reserved 74;
  reserved 75;
  reserved 76;
  reserved 77;
  reserved 80;
  reserved 82;
  reserved 83;
  reserved 85;
  reserved 90;
  reserved 91;
  reserved 93;
  reserved 98;
  reserved 99;
  reserved 100;
  reserved 101;
  reserved 104;
  reserved 107;
  reserved 110;
  reserved 111;
  reserved 112;
  reserved 113;
  reserved 116;
  reserved 120;
  reserved 122;
  reserved 124;
  reserved 134;
  reserved 135;
  reserved 139;
  reserved 142;
  reserved 143;
  reserved 150;
  reserved 157;
  reserved 161;
  reserved 162;
  reserved 167;
  reserved 173;
  reserved 174;
  reserved 175;
  reserved 180;
  reserved 183;
  reserved 184;
  reserved 186;
  reserved 188;
  reserved 189;
  reserved 195;
  reserved 196;
  reserved 199;
  reserved 200;
  reserved 206;
  reserved 216;
  reserved 217;
  reserved 221;
  reserved 222;
  reserved 223;
  reserved 226;
  reserved 227;
  reserved 229;
  reserved 230;
  reserved 232;
  reserved 235;
  reserved 244;
  reserved 246;
  reserved 248;
  reserved 252;
  reserved 253;
  reserved 254;
  reserved 257;
  reserved 264;
  reserved 265;
  reserved 267;
  reserved 274;
  reserved 277;
  reserved 280;
  reserved 281;
  reserved 282;
  reserved 291;
  reserved 299;
  reserved 302;
  reserved 306;
  reserved 313;
  reserved 315;
  reserved 318;
  reserved "FILE_MARKER", "USE_MODEL_3356", "SAMPLING_CHANGE_1", "SCORING_CHANGE_1", "SCORING_CHANGE_2", "DONT_PRUNE_MULTILINE_OVERLAP", "USE_FIM_EOT_THRESHOLD", "DO_NOT_SCORE_STOP_TOKENS", "SQRT_LEN_NORM_LOG_PROB_SCORE", "USE_MODEL_3554", "USE_MODEL_3554_DC", "SIBLING_FUNCTIONS", "USE_FIM", "HIGHER_TEMPERATURE", "USE_MODEL_4300", "USE_MODEL_4531", "USE_MODEL_4861", "SEARCH_CONDITIONED_GENERATION", "USE_MODEL_5202", "USE_MODEL_5439", "USE_MODEL_5519", "INLINE_FIM", "INCLUDE_TOP_OF_DOC", "VSCODE_USE_GRPC_PROTOCOL", "XBATCHER_FALLBACK", "LOWER_P", "USE_MODEL_5305", "USE_MODEL_5476", "USE_INFERENCE_SERVER_COMPLETIONS", "USE_MODEL_6282", "CONTEXT_FOR_AUTOCOMPLETE", "USE_MODEL_6569", "CONTEXT_FOR_CHAT", "REORDER_CONTEXT_PROMPT", "REGULARLY_UPLOAD_MEMORY_STATS", "USE_MODEL_7747", "USE_MODEL_7725", "USE_GPT_4_COMMAND", "RANGE_TRACKING", "PRUNE_BAD_INLINE_FIM", "LIMIT_PREFIX", "USE_REMOTE_EMBEDDING", "USE_CHAT_INSTRUCT_COMPLETION", "PING_API_SERVER", "SORT_EOM_FIRST", "USE_MODEL_7158", "USE_MODEL_8276", "USE_MODEL_7468", "USE_MODEL_8523", "INTENT_FILTER", "STREAMING_COMPLETIONS", "STREAMING_COMPLETIONS_CUTOFF", "SWITCH_LINE_TYPE", "USE_MODEL_9589", "JUPYTER_FORMAT", "USE_MODEL_8615", "USE_MODEL_8684", "USE_MODEL_8251", "USE_MODEL_8341", "USE_MODEL_10880", "MODEL_CHAT_10546_VARIANTS", "INTENT_INFERENCE", "MODEL_12471_TOKENS", "USE_MQUERY_SCORER", "USE_QUANTIZED_FAISS_INDEX", "MULTILINE_MODEL_THRESHOLD", "USE_SUPERCOMPLETE_MODEL", "USE_INFERENCE_API_SERVER", "CASCADE_WEB_TOOLS_READ_URLS", "CASCADE_USE_SUBAGENT_CHECKPOINTER", "USE_OPENAI_INTERFACE_CLIENT", "TAB_JUMP_PRINT_LINE_RANGE", "CASCADE_FREE_CONFIG_OVERRIDE", "CASCADE_PREMIUM_CONFIG_OVERRIDE", "USE_GCP_API_SERVER_FOR_PREMIUM_CHAT", "USE_OPENAI_OFFICIAL_CLIENT", "ESTIMATE_TOKENIZER_KILL_SWITCH", "ENABLE_SHELL_COMMAND_TRAJECTORY", "ENABLE_RUN_COMMAND", "CASCADE_WEB_SEARCH_ENABLED", "CASCADE_ENABLE_IDE_TERMINAL_EXECUTION", "IMPLICIT_PLAN", "RUN_RESEARCH_STATE_PROVIDER", "USE_IMPLICIT_TRAJECTORY", "OPEN_UNIVERSITY_ON_STARTUP", "SUPERCOMPLETE_USE_CURRENT_LINE", "API_SERVER_LIVENESS_PROBE";
}

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 [deprecated = true];
  MODEL_GOOGLE_GEMINI_3_0_PRO_MEDIUM = 412 [deprecated = true];
  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;

  reserved 512 to 599;
  reserved 1;
  reserved 2;
  reserved 3;
  reserved 4;
  reserved 5;
  reserved 6;
  reserved 7;
  reserved 8;
  reserved 9;
  reserved 10;
  reserved 11;
  reserved 12;
  reserved 13;
  reserved 15;
  reserved 16;
  reserved 17;
  reserved 18;
  reserved 19;
  reserved 21;
  reserved 22;
  reserved 23;
  reserved 24;
  reserved 25;
  reserved 26;
  reserved 27;
  reserved 29;
  reserved 31;
  reserved 32;
  reserved 34;
  reserved 35;
  reserved 36;
  reserved 38;
  reserved 39;
  reserved 40;
  reserved 43;
  reserved 44;
  reserved 46;
  reserved 47;
  reserved 49;
  reserved 50;
  reserved 51;
  reserved 52;
  reserved 53;
  reserved 54;
  reserved 55;
  reserved 56;
  reserved 59;
  reserved 60;
  reserved 68;
  reserved 75;
  reserved 344;
  reserved 393;
  reserved 800;
  reserved "MODEL_INIT_MULTI", "MODEL_3356", "MODEL_INIT_MONO", "MODEL_3554", "MODEL_3554_DC", "MODEL_3669", "MODEL_4300", "MODEL_4531", "MODEL_5349", "MODEL_5519", "MODEL_5305", "MODEL_4861", "MODEL_5476", "MODEL_5202", "MODEL_CHAT", "MODEL_6569", "MODEL_7747", "MODEL_7725", "MODEL_CHAT_7829", "MODEL_QUERY_9210", "MODEL_6282", "MODEL_6592", "MODEL_7158", "MODEL_QUERY_9491", "MODEL_CHAT_10777", "MODEL_7468", "MODEL_8276", "MODEL_8523", "MODEL_8615", "MODEL_8684", "MODEL_9133", "MODEL_9589", "MODEL_CHAT_6612", "MODEL_CHAT_7066", "MODEL_CHAT_7984", "MODEL_CHAT_10202", "MODEL_8251", "MODEL_10880", "MODEL_11206", "MODEL_REWARD_9236", "MODEL_CHAT_9439", "MODEL_CHAT_9453", "MODEL_CHAT_10546", "MODEL_CHAT_10821", "MODEL_CHAT_12042", "MODEL_CHAT_GPT_3_5_TURBO_1106", "MODEL_CHAT_GPT_3_5_TURBO_16K_0613", "MODEL_CHAT_GPT_3_5_TURBO_0125", "MODEL_CHAT_GPT_4_TURBO_2024_04_09", "MODEL_12471", "MODEL_CHAT_11012", "MODEL_LLAMA_3_1_70B_INSTRUCT_32K_CONTEXT", "MODEL_ROUTING_GROUP_DEEP_WIKI", "MODEL_CLAUDE_CODE";
}

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;

  reserved 7;
  reserved "EVENT_TYPE_INTENT_MODEL_RUN";
}

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 CliAccessOverride {
  CLI_ACCESS_OVERRIDE_UNSPECIFIED = 0;
  CLI_ACCESS_OVERRIDE_ENABLED = 1;
  CLI_ACCESS_OVERRIDE_DISABLED = 2;
}

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_DEVIN_TEAMS = 14;
  TEAMS_TIER_DEVIN_TEAMS_V2 = 15;
  TEAMS_TIER_DEVIN_PRO = 16;
  TEAMS_TIER_DEVIN_MAX = 17;
  TEAMS_TIER_MAX = 18;
  TEAMS_TIER_DEVIN_FREE = 19;
  TEAMS_TIER_DEVIN_TRIAL = 20;
  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;
  MODEL_PROVIDER_ZAI = 9;
  MODEL_PROVIDER_MINIMAX = 10;
}

enum BillingStrategy {
  BILLING_STRATEGY_UNSPECIFIED = 0;
  BILLING_STRATEGY_CREDITS = 1;
  BILLING_STRATEGY_QUOTA = 2;
  BILLING_STRATEGY_ACU = 3;
}

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_ACU_TOKEN = 4;
  MODEL_PRICING_TYPE_ACU_CREDIT = 5;
}

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

enum ModelDimensionKind {
  MODEL_DIMENSION_KIND_UNSPECIFIED = 0;
  MODEL_DIMENSION_KIND_COST = 1;
  MODEL_DIMENSION_KIND_COST_FUZZY = 2;
}

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

enum GracePeriodStatus {
  GRACE_PERIOD_STATUS_UNSPECIFIED = 0;
  GRACE_PERIOD_STATUS_NONE = 1;
  GRACE_PERIOD_STATUS_ACTIVE = 2;
  GRACE_PERIOD_STATUS_EXPIRED = 3;
}

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;

  reserved 3;
  reserved "EXTENSION_PANEL_TAB_PLAN";
}

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;

  reserved 3;
  reserved 5;
}

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;

  reserved 2;
}

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 SupercompleteAggression {
  SUPERCOMPLETE_AGGRESSION_UNSPECIFIED = 0;
  SUPERCOMPLETE_AGGRESSION_LOW = 1;
  SUPERCOMPLETE_AGGRESSION_MEDIUM = 2;
  SUPERCOMPLETE_AGGRESSION_HIGH = 3;
}

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

enum DisplayOption {
  DISPLAY_OPTION_UNSPECIFIED = 0;
  DISPLAY_OPTION_ARENA = 1;
  DISPLAY_OPTION_BATTLE_GROUP_ONLY = 2;
  DISPLAY_OPTION_MODEL_ROUTER = 3;
  DISPLAY_OPTION_QUICK_REVIEW = 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 [deprecated = true];
  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_ANTHROPIC_DATABRICKS = 48;
  API_PROVIDER_GEMINI_DATABRICKS = 49;
  API_PROVIDER_MIMIC = 50;
  API_PROVIDER_ANTHROPIC_NON_ZDR = 51;
  API_PROVIDER_ANTHROPIC_DEVIN_NON_ZDR = 52;
  API_PROVIDER_DATA_RETENTION_WORKSPACE_ANTHROPIC = 53;
  API_PROVIDER_SGLANG = 60;
  API_PROVIDER_AZURE_OPENAI_FEDERATED = 61;

  reserved 35;
  reserved 39;
  reserved 19;
}

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;

  reserved 15;
  reserved 16;
}

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 SandboxEnforcementMode {
  SANDBOX_ENFORCEMENT_MODE_UNSPECIFIED = 0;
  SANDBOX_ENFORCEMENT_MODE_OPTIONAL = 1;
  SANDBOX_ENFORCEMENT_MODE_REQUIRED = 2;
}

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;
}

message CompletionsRequest {
  .exa.codeium_common_pb.CompletionConfiguration configuration = 1;
  string prompt = 2;
  string context_prompt = 21;
  string uid = 25;
  repeated .exa.codeium_common_pb.PromptElementRange prompt_element_ranges = 8;
  repeated .exa.codeium_common_pb.PromptElementKindInfo prompt_element_kind_infos = 9;
  uint64 prompt_latency_ms = 11;
  repeated .exa.codeium_common_pb.PromptStageLatency prompt_stage_latencies = 12;
  uint64 num_tokenized_bytes = 20;
  string editor_language = 3;
  .exa.codeium_common_pb.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;
  .exa.codeium_common_pb.Model model = 10;
  bool has_line_suffix = 14;
  bool should_inline_fim = 15;
  .exa.codeium_common_pb.Repository repository = 16;
  string model_tag = 17;
  repeated string experiment_tags = 18;
  string eval_suffix = 22;
  repeated .exa.codeium_common_pb.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 {
  .exa.codeium_common_pb.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 {
  .exa.codeium_common_pb.PromptAnnotationKind kind = 1;
  uint64 byte_offset_start = 2;
  uint64 byte_offset_end = 3;
  string suffix = 4;
}

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

message ExperimentConfig {
  repeated .exa.codeium_common_pb.ExperimentWithVariant experiments = 6;
  repeated .exa.codeium_common_pb.ExperimentKey force_enable_experiments = 1;
  repeated .exa.codeium_common_pb.ExperimentKey force_disable_experiments = 2;
  repeated .exa.codeium_common_pb.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 {
  reserved 1;
  reserved 4;
  reserved "dsn_to_sample_rate", "ignore";

  double sample_rate = 2;
  map<string, double> procedure_to_sample_rate = 3;
  map<string, double> error_match_to_sample_rate = 5;
}

message TeamOrganizationalControls {
  reserved 7;

  enum ModelFilterMode {
    MODEL_FILTER_MODE_UNSPECIFIED = 0;
    MODEL_FILTER_MODE_BY_MODEL = 1;
    MODEL_FILTER_MODE_BY_PROVIDER = 2;
  }

  enum AdaptiveSetting {
    ADAPTIVE_SETTING_UNSPECIFIED = 0;
    ADAPTIVE_SETTING_ENABLED = 1;
    ADAPTIVE_SETTING_DISABLED = 2;
  }

  enum CyberVerificationEnabled {
    CYBER_VERIFICATION_ENABLED_UNSPECIFIED = 0;
    CYBER_VERIFICATION_ENABLED_ON = 1;
    CYBER_VERIFICATION_ENABLED_OFF = 2;
  }

  enum QuickReviewSetting {
    QUICK_REVIEW_SETTING_UNSPECIFIED = 0;
    QUICK_REVIEW_SETTING_ENABLED = 1;
    QUICK_REVIEW_SETTING_DISABLED = 2;
  }

  enum AnthropicCyberRetentionSetting {
    ANTHROPIC_CYBER_RETENTION_SETTING_UNSPECIFIED = 0;
    ANTHROPIC_CYBER_RETENTION_SETTING_ENABLED = 1;
    ANTHROPIC_CYBER_RETENTION_SETTING_DISABLED = 2;
  }

  string team_id = 1;
  repeated string cascade_model_labels = 2 [deprecated = true];
  repeated string command_model_labels = 3 [deprecated = true];
  .google.protobuf.Timestamp created_at = 4;
  .google.protobuf.Timestamp updated_at = 5;
  repeated string extension_model_labels = 6;
  repeated .exa.codeium_common_pb.APIProvider allowed_api_providers = 8;
  repeated string cli_model_labels = 9 [deprecated = true];
  repeated .exa.codeium_common_pb.ModelProvider allowed_model_providers = 10;
  repeated string cascade_model_uids = 11;
  repeated string command_model_uids = 12;
  repeated string cli_model_uids = 13;
  .exa.codeium_common_pb.TeamOrganizationalControls.ModelFilterMode model_filter_mode = 14;
  .exa.codeium_common_pb.TeamOrganizationalControls.AdaptiveSetting adaptive_setting = 15;
  string anthropic_profile_id = 16;
  string anthropic_cyber_verification_status = 17;
  .exa.codeium_common_pb.TeamOrganizationalControls.CyberVerificationEnabled anthropic_cyber_verification_enabled = 18;
  repeated string blocked_model_tags = 19;
  .exa.codeium_common_pb.TeamOrganizationalControls.QuickReviewSetting quick_review_setting = 20;
  .exa.codeium_common_pb.TeamOrganizationalControls.AnthropicCyberRetentionSetting anthropic_cyber_retention_setting = 21;
}

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

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

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

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

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

message CompletionResponse {
  reserved 9;
  reserved "runner_completion_latency";

  repeated .exa.codeium_common_pb.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;
  optional .exa.codeium_common_pb.CompletionProfile completion_profile = 11;
}

message Completion {
  reserved 3;
  reserved 11;
  reserved "prefix", "entropy";

  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;
  .exa.codeium_common_pb.StopReason stop_reason = 12;
  repeated .exa.codeium_common_pb.FilterReason filter_reasons = 13;
  string original_text = 14;
  repeated .exa.codeium_common_pb.ChatToolCall tool_calls = 15;
}

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;
  .exa.codeium_common_pb.CompletionsRequest completions_request = 10;
  .exa.codeium_common_pb.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 {
  .exa.codeium_common_pb.SingleModelCompletionProfile model_profile = 1;
  optional .exa.codeium_common_pb.SingleModelCompletionProfile draft_model_profile = 2;
  double time_to_first_prefill_pass = 3;
  double time_to_first_token = 4;
  double total_completion_time = 5;
  optional .exa.codeium_common_pb.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;
  .exa.codeium_common_pb.StopReason stop_reason = 7;
  map<uint32, .exa.codeium_common_pb.AttributionStatus> attribution_statuses = 8;
}

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

message PackedStreamingCompletionMaps {
  repeated .exa.codeium_common_pb.StreamingCompletionMap completion_maps = 1;
}

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

message StreamingCompletionResponse {
  reserved 3;
  reserved "eval_suffix_info";

  oneof payload {
    .exa.codeium_common_pb.StreamingCompletionInfo completion_info = 1;
    .exa.codeium_common_pb.StreamingCompletionMap completion_map = 2;
    .exa.codeium_common_pb.PackedStreamingCompletionMaps packed_completion_maps = 4;
  }
  optional .exa.codeium_common_pb.CompletionProfile completion_profile = 5;
}

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 {
  .exa.codeium_common_pb.Completion completion = 1;
  .exa.codeium_common_pb.CompletionLatencyInfo latency_info = 2;
}

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

message Embedding {
  repeated float values = 1;
}

message EmbeddingResponse {
  repeated .exa.codeium_common_pb.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 {
  reserved 19;
  reserved 23;
  reserved "ip_address", "windsurf_version";

  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;
  .exa.codeium_common_pb.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;
  repeated .exa.codeium_common_pb.DisplayOption supported_model_displays = 30;
  string f = 31;
  string team_id = 32;
}

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 {
  .exa.codeium_common_pb.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 .exa.codeium_common_pb.WorkspacePath workspace_paths = 4;
  string text = 5;
  .exa.codeium_common_pb.EmbeddingMetadata embedding_metadata = 6;
  float similarity_score = 7;
  int64 num_results_in_cluster = 8;
  string representative_path = 9;
  float mean_similarity_score = 10;
  .exa.codeium_common_pb.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;
  .exa.codeium_common_pb.EmbedType embed_type = 4;
}

message MockResponseData {
  repeated .exa.codeium_common_pb.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;
  .exa.codeium_common_pb.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 .exa.codeium_common_pb.FunctionInfo methods = 10;
  repeated string node_lineage = 11;
  bool is_exported = 12;
  .exa.codeium_common_pb.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 ArenaConfig {
  reserved 1;
  reserved "arena_tier";

  float tokens_per_second = 2;
}

message ModelDimension {
  string label = 1;
  float value = 2;
  string denominator = 3;
  float min_range = 4;
  float max_range = 5;
  .exa.codeium_common_pb.ModelDimensionKind kind = 6;
  optional string info = 7;
}

message ModelDisabledReason {
  string short_reason = 1;
  optional string description = 2;
  optional string link = 3;
}

message ClientModelConfig {
  reserved 25;
  reserved 26;
  reserved 28;
  reserved "arena_tier", "tokens_per_second";

  string label = 1;
  .exa.codeium_common_pb.ModelOrAlias model_or_alias = 2;
  string model_uid = 22;
  float credit_multiplier = 3;
  .exa.codeium_common_pb.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;
  .exa.codeium_common_pb.ModelProvider provider = 10;
  bool is_recommended = 11;
  repeated .exa.codeium_common_pb.TeamsTier allowed_tiers = 12;
  .exa.codeium_common_pb.APIProvider api_provider = 14;
  bool is_new = 15;
  bool partial_rollout = 16;
  float rollout_fraction = 17;
  int32 max_tokens = 18;
  .exa.codeium_common_pb.PromoStatus promo_status = 19;
  bool is_capacity_limited = 20;
  .exa.codeium_common_pb.FastStatus fast_status = 21;
  .exa.codeium_common_pb.ModelInfo model_info = 23;
  .exa.codeium_common_pb.ModelCostTier model_cost_tier = 24;
  optional string description = 27;
  optional string smart_friend_model_uid = 29;
  .exa.codeium_common_pb.ModelFamilyMetadata model_family_metadata = 30;
  bool is_default_model_in_family = 31;
  repeated .exa.codeium_common_pb.ModelDimension model_dimensions = 32;
  optional .exa.codeium_common_pb.ModelDisabledReason disabled_reason = 33;
}

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

message ClientModelSort {
  string name = 1;
  repeated .exa.codeium_common_pb.ClientModelGroup groups = 2;
  optional string display_metric = 3;
}

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

message CascadeModelConfigData {
  repeated .exa.codeium_common_pb.ClientModelConfig client_model_configs = 1;
  repeated .exa.codeium_common_pb.ClientModelSort client_model_sorts = 2;
  optional .exa.codeium_common_pb.DefaultOverrideModelConfig default_override_model_config = 3;
  float arena_mode_cost_fast = 4;
  float arena_mode_cost_smart = 5;
}

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

message PlanInfo {
  .exa.codeium_common_pb.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 .exa.codeium_common_pb.AllowedModelConfig cascade_allowed_models_config = 21 [deprecated = true];
  .exa.codeium_common_pb.TeamConfig default_team_config = 24;
  bool can_share_conversations = 28;
  bool can_allow_cascade_in_background = 29;
  map<int32, .exa.codeium_common_pb.TeamsFeaturesMetadata> default_team_features = 30;
  bool browser_enabled = 31;
  .exa.codeium_common_pb.DevinPlanInfo devin_info = 33;
  bool is_devin = 34;
  .exa.codeium_common_pb.BillingStrategy billing_strategy = 35;
  bool hide_daily_quota = 36;
  bool hide_weekly_quota = 37;
}

message DevinPlanInfo {
  bool can_use_cascade = 1;
  bool can_use_cli = 2;
  bool is_admin = 3;
  string org_id = 4;
  string webapp_host = 5;
  optional bool devin_review_enabled = 6;
  string api_url = 7;
  string account_display_name = 8;
}

message TopUpStatus {
  .exa.codeium_common_pb.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 {
  .exa.codeium_common_pb.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;
  .exa.codeium_common_pb.TopUpStatus top_up_status = 10;
  bool was_reduced_by_orphaned_usage = 11;
  .exa.codeium_common_pb.GracePeriodStatus grace_period_status = 12;
  .google.protobuf.Timestamp grace_period_end = 13;
  int32 daily_quota_remaining_percent = 14;
  int32 weekly_quota_remaining_percent = 15;
  int64 overage_balance_micros = 16;
  int64 daily_quota_reset_at_unix = 17;
  int64 weekly_quota_reset_at_unix = 18;
}

message UserStatus {
  reserved 12;
  reserved "plan_info";

  bool pro = 1;
  bool disable_telemetry = 2;
  string name = 3;
  bool ignore_chat_telemetry_setting = 4;
  string team_id = 5;
  .exa.codeium_common_pb.UserTeamStatus team_status = 6;
  string email = 7;
  repeated .exa.codeium_common_pb.UserFeatures user_features = 9;
  repeated .exa.codeium_common_pb.TeamsFeatures teams_features = 8;
  .exa.codeium_common_pb.TeamsTier teams_tier = 10;
  repeated .exa.codeium_common_pb.Permission permissions = 11;
  .exa.codeium_common_pb.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;
  .exa.codeium_common_pb.TeamConfig team_config = 32;
  .exa.codeium_common_pb.CascadeModelConfigData cascade_model_config_data = 33;
  .google.protobuf.Timestamp windsurf_pro_trial_end_time = 34;
  int64 max_num_premium_chat_messages = 35;
  string user_id = 36;
}

message ScmWorkspaceInfo {
  oneof info {
    .exa.codeium_common_pb.PerforceDepotInfo perforce_info = 1;
    .exa.codeium_common_pb.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;
  .exa.codeium_common_pb.ScmProvider scm_provider = 6;
  string base_git_url = 7;
}

message CodeContextItem {
  reserved 8;
  reserved 9;
  reserved "code_snippet", "code_signature";

  string absolute_path_migrate_me_to_uri = 1 [deprecated = true];
  string absolute_uri = 16;
  repeated .exa.codeium_common_pb.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;
  .exa.codeium_common_pb.CodeContextType context_type = 7;
  .exa.codeium_common_pb.Language language = 10;
  map<string, .exa.codeium_common_pb.SnippetWithWordCount> snippet_by_type = 11;
  .exa.codeium_common_pb.GitRepoInfo repo_info = 14;
  bytes file_content_hash = 15;
}

message SnippetWithWordCount {
  string snippet = 1;
  map<string, .exa.codeium_common_pb.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 {
  .exa.codeium_common_pb.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;
  .exa.codeium_common_pb.CompletionStatistics completion_statistics = 2;
}

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

message ChatStats {
  reserved 2 to 14;

  uint64 chats_sent = 1;
  uint32 active_developer_days = 15;
}

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

message ChatStatsByModelEntry {
  .exa.codeium_common_pb.Model model_id = 1;
  .exa.codeium_common_pb.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;
  .exa.codeium_common_pb.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;
  .exa.codeium_common_pb.UserTeamStatus team_status = 13;
  int64 tabs_generated = 14;
  int64 cascade_messages = 15;
  int64 unique_cascade_tabs = 16;
  repeated string ides_used = 17;
  double acus_used = 18;
}

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

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

message ConversationBrainConfig {
  .exa.codeium_common_pb.PlanMode plan_mode = 1;
}

message FeatureUsageData {
  bool has_used = 1;
}

message CascadeNUXConfig {
  uint32 uid = 1;
  .exa.codeium_common_pb.CascadeNUXLocation location = 2;
  .exa.codeium_common_pb.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;
  .exa.codeium_common_pb.CascadeNUXEvent old_nux_event = 9;
  .exa.codeium_common_pb.CascadeNUXIcon icon = 10;
  bool requires_idle_cascade = 11;
}

message UserSettings {
  reserved 10;
  reserved 12;
  reserved 16;
  reserved 56;
  reserved 57;
  reserved 65;
  reserved 68;
  reserved 69;
  reserved 70;
  reserved 71;
  reserved 72;
  reserved 73;
  reserved 74;
  reserved 75;
  reserved 76;
  reserved 80;
  reserved 96;
  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", "last_arena_mode_category";

  bool open_most_recent_chat_conversation = 1;
  .exa.codeium_common_pb.Model last_selected_model = 2;
  .exa.codeium_common_pb.ThemePreference theme_preference = 3;
  .exa.codeium_common_pb.ExtensionPanelTab extension_panel_tab = 4;
  .exa.codeium_common_pb.FontSize font_size = 5;
  .exa.codeium_common_pb.RememberLastModelSelection remember_last_model_selection = 7;
  .exa.codeium_common_pb.AutocompleteSpeed autocomplete_speed = 6;
  string last_selected_model_name = 8;
  repeated .exa.codeium_common_pb.CascadeNUXState cascade_nux_states = 11;
  map<uint32, bool> seen_nux_uids = 60;
  optional .exa.codeium_common_pb.Model last_selected_cascade_model_deprecated = 9 [deprecated = true];
  optional .exa.codeium_common_pb.ModelOrAlias last_selected_cascade_model_or_alias_deprecated = 30 [deprecated = true];
  optional string last_selected_cascade_model_uid_deprecated = 91 [deprecated = true];
  optional .exa.codeium_common_pb.ConversationalPlannerMode cascade_planner_mode_deprecated = 13 [deprecated = true];
  optional .exa.codeium_common_pb.Model last_model_override = 46 [deprecated = true];
  optional string last_model_default_override_version_id = 58;
  optional bool cascade_model_explicitly_set = 87;
  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 .exa.codeium_common_pb.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];
  .exa.codeium_common_pb.CascadeCommandsAutoExecution cascade_auto_execution_policy = 27;
  optional string last_selected_cascade_id = 28 [deprecated = true];
  bool explain_and_fix_in_current_conversation = 29;
  bool allow_cascade_access_gitignore_files_deprecated = 31 [deprecated = true];
  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];
  .exa.codeium_common_pb.TabToJump tab_to_jump = 43;
  .exa.codeium_common_pb.CascadeWebSearchTool cascade_web_search = 44;
  bool enable_terminal_completion = 45;
  bool is_snoozed = 55;
  bool enable_command_cascade_mode = 49;
  map<string, .exa.codeium_common_pb.FeatureUsageData> feature_usage_data = 47;
  bool disable_cascade_in_background = 48;
  repeated string custom_workspace = 50;
  map<string, .exa.codeium_common_pb.ConversationBrainConfig> conversation_brain_configs = 51 [deprecated = true];
  .exa.codeium_common_pb.PlanMode global_plan_mode_preference = 54;
  repeated .exa.codeium_common_pb.ClientModelConfig cached_cascade_model_configs = 52;
  repeated .exa.codeium_common_pb.ClientModelSort cached_cascade_model_sorts = 53;
  .exa.codeium_common_pb.AutoContinueOnMaxGeneratorInvocations auto_continue_on_max_generator_invocations_deprecated = 59 [deprecated = true];
  repeated string recently_used_cascade_models_deprecated = 61 [deprecated = true];
  repeated string cascade_dismissed_suggestion_workspaces = 62;
  .exa.codeium_common_pb.AnnotationsConfig annotations_config = 63;
  bool enable_automatic_screenshot = 64;
  .exa.codeium_common_pb.BrowserExperimentalFeaturesConfig browser_experimental_features_config = 66;
  .exa.codeium_common_pb.CommandPopupAutocomplete command_popup_autocomplete = 67;
  bool enable_instant_context_agent = 77;
  bool disable_instant_context_agent = 78;
  optional .exa.codeium_common_pb.Model last_selected_smart_friend_model_deprecated = 79 [deprecated = true];
  optional string last_selected_smart_friend_model_uid_deprecated = 92 [deprecated = true];
  bool enable_cascade_completion_notifications = 81;
  bool enable_cascade_always_notify_on_finish = 82;
  .exa.codeium_common_pb.CompletionMode completion_mode_deprecated = 83 [deprecated = true];
  .exa.codeium_common_pb.SupercompleteAggression supercomplete_aggression = 97;
  bool enable_inlay_hint_shortcuts = 84;
  repeated string cascade_user_allowed_web_origins = 88;
  repeated string cascade_removed_default_web_origins = 89;
  .exa.codeium_common_pb.CascadeWebRequestsAutoExecution cascade_web_requests_auto_execution_policy = 90;
  repeated string last_specific_arena_model_uids = 93;
  bool arena_always_open_fullscreen = 94;
  optional bool last_arena_mode_enabled = 95;
  map<string, string> model_group_variant_preferences = 98;
  repeated string pinned_cascade_model_uids_deprecated = 99 [deprecated = true];
}

message ModelFeatures {
  reserved 1;
  reserved 16;
  reserved "supports_middle_mode", "supports_estimate_tokenizer";

  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;
}

message ExternalModel {
  bool is_internal = 1;
  .exa.codeium_common_pb.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 OpenAIInferenceConfig {
  string reasoning_effort = 1;
  string service_tier = 2;
  bool extended_prompt_cache_retention = 3;
}

message GoogleInferenceConfig {
  string reasoning_effort = 1;
}

message AnthropicInferenceConfig {
  bool thinking = 1;
  string effort = 2;
  bool fast_mode = 3;
  bool context_1m = 4;
}

message InferenceConfig {
  oneof config {
    .exa.codeium_common_pb.OpenAIInferenceConfig openai = 1;
    .exa.codeium_common_pb.GoogleInferenceConfig google = 2;
    .exa.codeium_common_pb.AnthropicInferenceConfig anthropic = 3;
  }
}

message ModelInfo {
  reserved 19;
  reserved "arena_tier";

  .exa.codeium_common_pb.Model model_id = 1 [deprecated = true];
  string model_uid = 17;
  bool is_internal = 2;
  .exa.codeium_common_pb.ModelType model_type = 3;
  int32 max_tokens = 4;
  string tokenizer_type = 5;
  .exa.codeium_common_pb.ModelFeatures model_features = 6;
  .exa.codeium_common_pb.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;
  .exa.codeium_common_pb.PromptTemplaterType prompt_templater_type = 14;
  .exa.codeium_common_pb.ToolFormatterType tool_formatter_type = 15;
  string inference_server_url = 18;
  repeated string harness_uids = 20;
  optional .exa.codeium_common_pb.ArenaConfig arena_config = 21;
  .exa.codeium_common_pb.DisplayOption display_option = 22;
  string model_family_uid = 23;
  .exa.codeium_common_pb.InferenceConfig inference_config = 24;
  bool is_model_router = 25;
}

message ModelFamilyMetadataValue {
  int32 order = 1;
  string name = 2;
}

message ModelFamilyMetadataEntry {
  string key = 1;
  .exa.codeium_common_pb.ModelFamilyMetadataValue value = 2;
}

message ModelFamilyMetadata {
  string model_family_label = 1;
  repeated .exa.codeium_common_pb.ModelFamilyMetadataEntry entries = 2;
  bool is_default_model_in_family = 3;
}

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

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

message ApiProviderConfig {
  uint32 weight = 1;
  uint32 cache_ttl_minutes = 2;
  string model_name = 3;
}

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

message ShadowTargetList {
  repeated .exa.codeium_common_pb.ShadowTarget targets = 1;
}

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

message ModelConfig {
  .exa.codeium_common_pb.ModelInfo generation_model = 1;
  .exa.codeium_common_pb.ModelInfo context_check_model = 2;
}

message ModelStatusInfo {
  .exa.codeium_common_pb.Model model = 1 [deprecated = true];
  string model_uid = 4;
  string message = 2;
  .exa.codeium_common_pb.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 {
  reserved 3;

  .exa.codeium_common_pb.CompletionExample example = 1;
  string name = 2;
  .google.protobuf.Timestamp time = 4;
}

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

message ContextSubrange {
  .exa.codeium_common_pb.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;
  .exa.codeium_common_pb.FileLineRange source = 2;
}

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

message RepositoryScopeItem {
  .exa.codeium_common_pb.GitRepoInfo repo_info = 1;
}

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

message KnowledgeBaseScopeItem {
  reserved 2;

  string document_id = 1;
  .exa.codeium_common_pb.IndexChoice index = 7;
  .exa.codeium_common_pb.DocumentType document_type = 8;
  string display_name = 3;
  string description = 4;
  string display_source = 5;
  string url = 6;
}

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

message ConsoleLogScopeItem {
  repeated .exa.codeium_common_pb.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;
  .exa.codeium_common_pb.FileLineRange file_line_range = 5;
}

message DOMTree {
  message BoundingBox {
    float x = 1;
    float y = 2;
    float width = 3;
    float height = 4;
  }

  message DOMNode {
    repeated .exa.codeium_common_pb.DOMTree.DOMNode children = 1;
    string tag_name = 2;
    string id = 3;
    repeated string class_names = 4;
    string text_content = 5;
    .exa.codeium_common_pb.DOMTree.BoundingBox bbox = 6;
    string aria_label = 7;
    string title = 8;
    string alt = 9;
    string placeholder = 10;
    string href = 11;
  }

  .exa.codeium_common_pb.DOMTree.DOMNode root = 1;
  uint32 num_nodes = 2;
}

message RecipeScopeItem {
  string recipe_id = 1;
  string title = 2;
  string description = 3;
  string system_prompt = 4;
  optional string uri = 5;
  optional .exa.codeium_common_pb.CascadeCommandsAutoExecution execution_mode = 6;
}

message CodeMapScopeItem {
  string title = 1;
  string content = 2;
  string description = 3;
  optional 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;
  optional string uri = 3;
  int32 resource_count = 4;
  string base_dir = 5;
  string content = 6;
}

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;
  optional string description = 3;
  optional string mime_type = 4;
  string server_name = 5;
}

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;
  .exa.codeium_common_pb.Language language = 4;
  optional string context_text = 5;
  string page_id = 6;
}

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;
  string summary = 4;
}

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;
  oneof git_data {
    .exa.codeium_common_pb.GitCommitData commit = 2;
    .exa.codeium_common_pb.GitDiffData diff = 3;
    .exa.codeium_common_pb.GitWorkingChangesData working_changes = 4;
  }
  string formatted_content = 5;
}

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

message ContextScope {
  repeated .exa.codeium_common_pb.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;
  .exa.codeium_common_pb.GraphExecutionState subgraph_execution = 4;
}

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

message Guideline {
  repeated .exa.codeium_common_pb.GuidelineItem items = 1;
}

message GuidelineItem {
  string guideline = 1;
}

message ChatNodeConfig {
  .exa.codeium_common_pb.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;
  .exa.codeium_common_pb.StopReason stop_reason = 3;
  .exa.codeium_common_pb.ModelUsageStats usage = 4;
  repeated .exa.codeium_common_pb.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;
  string phase = 13;
}

message CompletionDeltaMap {
  map<int32, .exa.codeium_common_pb.CompletionDelta> deltas = 1;
  string prompt = 2;
  .exa.codeium_common_pb.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;
  bool is_custom_tool_call = 6;
}

message IdeStatus {
  .exa.codeium_common_pb.StatusLevel level = 1;
  string message = 2;
}

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

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

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

message Document {
  reserved 18;
  reserved 20;

  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;
  .exa.codeium_common_pb.Language language = 5;
  uint64 cursor_offset = 6;
  .exa.codeium_common_pb.DocumentPosition cursor_position = 8;
  string line_ending = 7;
  .exa.codeium_common_pb.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 .exa.codeium_common_pb.Range selections = 22;
  optional uint64 hash = 23;
}

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

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

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

message PinnedContext {
  oneof context_item {
    .exa.codeium_common_pb.RepositoryPath repository_path = 1;
  }
}

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

message DefaultPinnedContextConfig {
  repeated .exa.codeium_common_pb.PinnedContextConfig pinned_context_configs = 1;
}

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

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

message LanguageServerDiagnostics {
  repeated string logs = 1;
  bytes goroutine_profile = 2;
}

message IndexerStats {
  .exa.codeium_common_pb.IndexerDbStats database = 1;
}

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

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

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

message PostgresDbStats {
}

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

message LastUpdateRecordList {
  repeated .exa.codeium_common_pb.LastUpdateRecord records = 1;
}

message ModelUsageStats {
  .exa.codeium_common_pb.Model model_deprecated = 1 [deprecated = true];
  string model_uid = 9;
  string billing_model_uid = 10;
  string requested_model_uid = 11;
  uint64 input_tokens = 2;
  uint64 output_tokens = 3;
  uint64 cache_write_tokens = 4;
  uint64 cache_read_tokens = 5;
  .exa.codeium_common_pb.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 {
  .exa.codeium_common_pb.Range range = 1;
  string message = 2;
  string severity = 3;
  string source = 4;
  string uri = 5;
  optional string id = 6;
  .exa.codeium_common_pb.Language language = 7;
  int64 score = 8;
  repeated .exa.codeium_common_pb.DiagnosticFix fixes = 9;
}

message IntellisenseSuggestion {
  .exa.codeium_common_pb.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 {
  .exa.codeium_common_pb.DocumentQuery document_query = 1;
  repeated .exa.codeium_common_pb.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 {
    .exa.codeium_common_pb.CodeContextItem code_context_item = 1;
    .exa.codeium_common_pb.DocumentLinesElement document_lines_element = 2;
    string text = 3;
  }
}

message DocumentOutline {
  repeated .exa.codeium_common_pb.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 .exa.codeium_common_pb.CodebaseCluster clusters = 1;
}

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

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

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

message KnowledgeBaseGroup {
  string description = 1;
  .exa.codeium_common_pb.KnowledgeBaseItemWithMetadata item = 2;
  repeated .exa.codeium_common_pb.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 {
  message MarkdownHeader {
    .exa.codeium_common_pb.MarkdownNodeType type = 1;
    string text = 2;
  }

  repeated .exa.codeium_common_pb.MarkdownChunk.MarkdownHeader headers = 1;
  string text = 2;
}

message TerminalShellCommandHeader {
  reserved 2;
  reserved "shell_pid";

  .exa.codeium_common_pb.Metadata metadata = 7;
  string terminal_id = 1;
  string command_line = 3;
  string cwd = 4;
  .google.protobuf.Timestamp start_time = 5;
  .exa.codeium_common_pb.TerminalShellCommandSource source = 6;
}

message TerminalShellCommandData {
  bytes raw_data = 1;
}

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

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

message TerminalShellCommand {
  reserved 1;
  reserved "shell_pid";

  string id = 10;
  string command_line = 2;
  string cwd = 3;
  bytes output = 4;
  optional int32 exit_code = 5;
  .google.protobuf.Timestamp start_time = 6;
  .google.protobuf.Timestamp end_time = 7;
  .google.protobuf.Timestamp last_updated_time = 11;
  .exa.codeium_common_pb.TerminalShellCommandStatus status = 8;
  .exa.codeium_common_pb.TerminalShellCommandSource source = 9;
}

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;
  .exa.codeium_common_pb.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;
  .exa.codeium_common_pb.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 {
  .exa.codeium_common_pb.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;
  oneof value {
    string docs_url = 2;
    string docs_search_domain = 3;
  }
  repeated string synonyms = 4;
  bool is_featured = 5;
}

message TeamConfig {
  reserved 8;
  reserved 29;
  reserved 48;
  reserved 52;
  reserved 53;
  reserved 54;
  reserved "custom_provider_settings";

  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;
  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;
  optional bool allow_conversation_sharing = 18;
  optional int32 pull_request_review_rate_limit = 21;
  bool allow_attribution = 22;
  repeated .exa.codeium_common_pb.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;
  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;
  .exa.codeium_common_pb.CascadeCommandsAutoExecution max_cascade_auto_execution_level = 37;
  optional bool cascade_web_search_enabled = 38;
  repeated string terminal_allow_list = 39;
  repeated string terminal_deny_list = 40;
  repeated string cli_permissions_allow = 41;
  repeated string cli_permissions_deny = 42;
  repeated string cli_permissions_ask = 43;
  string default_model_uid = 44;
  bool allow_arena_mode = 45;
  string cascade_hooks_json = 46;
  bool allow_bundling_devin_cli = 47;
  repeated string mcp_registry_urls = 49;
  bool enforce_mcp_registry = 60;
  bool cli_default_disabled = 50;
  string acp_registry_config = 51;
  .exa.codeium_common_pb.SandboxEnforcementMode sandbox_enforcement_mode = 55;
  repeated string sandbox_allowed_domains = 56;
  repeated string sandbox_denied_domains = 57;
  bool devin_terminal_acp_enabled = 58;
  bool devin_cloud_acp_enabled = 59;
  bool user_configured_banner_enabled = 61;
  string user_configured_banner_label = 62;
  string user_configured_banner_color = 63;
  bool disable_cascade = 64;
  string extension_policy = 65;
  optional int32 api_key_expiration_days = 66;
  bool disable_plugins = 67;
}

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

message McpServerConfig {
  string server_id = 1;
  oneof configuration {
    .exa.codeium_common_pb.McpLocalServer local = 2;
    .exa.codeium_common_pb.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;
  .exa.codeium_common_pb.BrowserPageMetadata page_metadata = 2;
  oneof interaction {
    .exa.codeium_common_pb.BrowserClickInteraction click = 3;
    .exa.codeium_common_pb.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 {
  .exa.codeium_common_pb.Model model = 1 [deprecated = true];
  string model_uid = 3;
  string message = 2;
}

message ModelNotificationExperimentPayload {
  repeated .exa.codeium_common_pb.ModelNotification model_notifications = 1;
}

message LspReference {
  string uri = 1;
  .exa.codeium_common_pb.Range range = 2;
  optional 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 .exa.codeium_common_pb.CodeAnnotation annotations = 1;
}

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

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

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

message CascadeDataMetadata {
  string ide_version = 1;
}

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

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

message ResponseDimensionGroup {
  string title = 1;
  repeated .exa.codeium_common_pb.ResponseDimension dimensions = 2;
}

message ResponseDimension {
  reserved 1;
  reserved "label";

  oneof dimension {
    .exa.codeium_common_pb.ResponseDimensionCopyableCode copyable_code = 2;
    .exa.codeium_common_pb.ResponseDimensionMetric metric = 3;
    .exa.codeium_common_pb.ResponseDimensionCumulativeMetric cumulative_metric = 4;
  }
  string uid = 5;
}

message ResponseDimensionCopyableCode {
  string label = 1;
  string value = 2;
}

message ResponseDimensionMetric {
  string label = 1;
  string value = 2;
}

message ResponseDimensionCumulativeMetric {
  string label = 1;
  float value = 2;
  string tail = 3;
  string plural_tail = 4;
  string prefix = 5;
}
