From 42dd0445eabb3796b2e250848296c0dced297910 Mon Sep 17 00:00:00 2001 From: Dan Fallon Date: Sun, 8 Feb 2026 15:17:32 -0600 Subject: [PATCH] initial commit of protos from go language server extracted protos from language server using a modified version of protodump here: https://github.com/DanInProgress/protodump lacks scripting or version meta, current as of Feb 8, 2026 --- lsp_protos/buf/validate/validate.proto | 417 ++ lsp_protos/cel/expr/checked.proto | 119 + lsp_protos/cel/expr/eval.proto | 45 + lsp_protos/cel/expr/explain.proto | 22 + lsp_protos/cel/expr/syntax.proto | 129 + lsp_protos/cel/expr/value.proto | 48 + .../connectext/grpc/status/v1/status.proto | 22 + lsp_protos/errorspb/errors.proto | 59 + lsp_protos/errorspb/hintdetail.proto | 10 + lsp_protos/errorspb/markers.proto | 13 + lsp_protos/errorspb/tags.proto | 15 + lsp_protos/errorspb/testing.proto | 9 + lsp_protos/exa/analytics_pb/analytics.proto | 191 + lsp_protos/exa/api_server_pb/api_server.proto | 2367 ++++++++++ lsp_protos/exa/auth_pb/auth.proto | 22 + .../auto_cascade_common.proto | 87 + .../browser_preview_pb/browser_preview.proto | 35 + .../exa/bug_checker_pb/bug_checker.proto | 25 + .../cascade_plugins_pb/cascade_plugins.proto | 130 + .../chat_client_server.proto | 58 + lsp_protos/exa/chat_pb/chat.proto | 445 ++ .../code_edit/code_edit_pb/code_edit.proto | 192 + .../codeium_common_pb/codeium_common.proto | 3908 +++++++++++++++++ .../context_module_pb/context_module.proto | 177 + lsp_protos/exa/cortex_pb/cortex.proto | 3262 ++++++++++++++ lsp_protos/exa/dev_pb/dev.proto | 29 + .../exa/diff_action_pb/diff_action.proto | 75 + .../eval/pr_eval/datasets_pb/datasets.proto | 107 + lsp_protos/exa/eval_pb/eval.proto | 1341 ++++++ .../extension_server.proto | 502 +++ .../file_system_provider.proto | 81 + lsp_protos/exa/index_pb/index.proto | 472 ++ .../knowledge_base_pb/knowledge_base.proto | 147 + .../language_server_pb/language_server.proto | 2365 ++++++++++ .../model_management.proto | 190 + .../opensearch_clients.proto | 496 +++ .../product_analytics.proto | 50 + lsp_protos/exa/prompt_pb/prompt.proto | 103 + .../reactive_component.proto | 109 + .../seat_management_pb/seat_management.proto | 2238 ++++++++++ lsp_protos/exa/tokenizer_pb/tokenizer.proto | 40 + lsp_protos/exa/trainer_pb/config.proto | 644 +++ .../language_data_pb/language_data.proto | 15 + .../user_analytics_pb/user_analytics.proto | 520 +++ .../prometheus/client_model/go/metrics.proto | 104 + .../appengine/internal/base/api_base.proto | 33 + .../internal/datastore/datastore_v3.proto | 490 +++ .../appengine/internal/log/log_service.proto | 142 + .../internal/remote_api/remote_api.proto | 47 + .../internal/urlfetch/urlfetch_service.proto | 67 + .../api/expr/v1alpha1/checked.proto | 119 + .../googleapis/api/expr/v1alpha1/eval.proto | 39 + .../api/expr/v1alpha1/explain.proto | 22 + .../googleapis/api/expr/v1alpha1/syntax.proto | 137 + .../googleapis/api/expr/v1alpha1/value.proto | 48 + .../googleapis/rpc/status/status.proto | 19 + lsp_protos/google/protobuf/any.proto | 16 + lsp_protos/google/protobuf/cpp_features.proto | 19 + lsp_protos/google/protobuf/descriptor.proto | 429 ++ lsp_protos/google/protobuf/duration.proto | 17 + lsp_protos/google/protobuf/empty.proto | 15 + lsp_protos/google/protobuf/go_features.proto | 28 + lsp_protos/google/protobuf/struct.proto | 40 + lsp_protos/google/protobuf/timestamp.proto | 17 + lsp_protos/google/protobuf/wrappers.proto | 48 + lsp_protos/grpc/binlog/v1/binarylog.proto | 90 + 66 files changed, 23317 insertions(+) create mode 100755 lsp_protos/buf/validate/validate.proto create mode 100755 lsp_protos/cel/expr/checked.proto create mode 100755 lsp_protos/cel/expr/eval.proto create mode 100755 lsp_protos/cel/expr/explain.proto create mode 100755 lsp_protos/cel/expr/syntax.proto create mode 100755 lsp_protos/cel/expr/value.proto create mode 100755 lsp_protos/connectrpc.com/connect/internal/gen/connectext/grpc/status/v1/status.proto create mode 100755 lsp_protos/errorspb/errors.proto create mode 100755 lsp_protos/errorspb/hintdetail.proto create mode 100755 lsp_protos/errorspb/markers.proto create mode 100755 lsp_protos/errorspb/tags.proto create mode 100755 lsp_protos/errorspb/testing.proto create mode 100755 lsp_protos/exa/analytics_pb/analytics.proto create mode 100755 lsp_protos/exa/api_server_pb/api_server.proto create mode 100755 lsp_protos/exa/auth_pb/auth.proto create mode 100755 lsp_protos/exa/auto_cascade_common_pb/auto_cascade_common.proto create mode 100755 lsp_protos/exa/browser_preview_pb/browser_preview.proto create mode 100755 lsp_protos/exa/bug_checker_pb/bug_checker.proto create mode 100755 lsp_protos/exa/cascade_plugins_pb/cascade_plugins.proto create mode 100755 lsp_protos/exa/chat_client_server_pb/chat_client_server.proto create mode 100755 lsp_protos/exa/chat_pb/chat.proto create mode 100755 lsp_protos/exa/code_edit/code_edit_pb/code_edit.proto create mode 100755 lsp_protos/exa/codeium_common_pb/codeium_common.proto create mode 100755 lsp_protos/exa/context_module_pb/context_module.proto create mode 100755 lsp_protos/exa/cortex_pb/cortex.proto create mode 100755 lsp_protos/exa/dev_pb/dev.proto create mode 100755 lsp_protos/exa/diff_action_pb/diff_action.proto create mode 100755 lsp_protos/exa/eval/pr_eval/datasets_pb/datasets.proto create mode 100755 lsp_protos/exa/eval_pb/eval.proto create mode 100755 lsp_protos/exa/extension_server_pb/extension_server.proto create mode 100755 lsp_protos/exa/file_system_provider_pb/file_system_provider.proto create mode 100755 lsp_protos/exa/index_pb/index.proto create mode 100755 lsp_protos/exa/knowledge_base_pb/knowledge_base.proto create mode 100755 lsp_protos/exa/language_server_pb/language_server.proto create mode 100755 lsp_protos/exa/model_management_pb/model_management.proto create mode 100755 lsp_protos/exa/opensearch_clients_pb/opensearch_clients.proto create mode 100755 lsp_protos/exa/product_analytics_pb/product_analytics.proto create mode 100755 lsp_protos/exa/prompt_pb/prompt.proto create mode 100755 lsp_protos/exa/reactive_component_pb/reactive_component.proto create mode 100755 lsp_protos/exa/seat_management_pb/seat_management.proto create mode 100755 lsp_protos/exa/tokenizer_pb/tokenizer.proto create mode 100755 lsp_protos/exa/trainer_pb/config.proto create mode 100755 lsp_protos/exa/tree_sitter/language_data_pb/language_data.proto create mode 100755 lsp_protos/exa/user_analytics_pb/user_analytics.proto create mode 100755 lsp_protos/github.com/prometheus/client_model/go/metrics.proto create mode 100755 lsp_protos/google.golang.org/appengine/internal/base/api_base.proto create mode 100755 lsp_protos/google.golang.org/appengine/internal/datastore/datastore_v3.proto create mode 100755 lsp_protos/google.golang.org/appengine/internal/log/log_service.proto create mode 100755 lsp_protos/google.golang.org/appengine/internal/remote_api/remote_api.proto create mode 100755 lsp_protos/google.golang.org/appengine/internal/urlfetch/urlfetch_service.proto create mode 100755 lsp_protos/google.golang.org/genproto/googleapis/api/expr/v1alpha1/checked.proto create mode 100755 lsp_protos/google.golang.org/genproto/googleapis/api/expr/v1alpha1/eval.proto create mode 100755 lsp_protos/google.golang.org/genproto/googleapis/api/expr/v1alpha1/explain.proto create mode 100755 lsp_protos/google.golang.org/genproto/googleapis/api/expr/v1alpha1/syntax.proto create mode 100755 lsp_protos/google.golang.org/genproto/googleapis/api/expr/v1alpha1/value.proto create mode 100755 lsp_protos/google.golang.org/genproto/googleapis/rpc/status/status.proto create mode 100755 lsp_protos/google/protobuf/any.proto create mode 100755 lsp_protos/google/protobuf/cpp_features.proto create mode 100755 lsp_protos/google/protobuf/descriptor.proto create mode 100755 lsp_protos/google/protobuf/duration.proto create mode 100755 lsp_protos/google/protobuf/empty.proto create mode 100755 lsp_protos/google/protobuf/go_features.proto create mode 100755 lsp_protos/google/protobuf/struct.proto create mode 100755 lsp_protos/google/protobuf/timestamp.proto create mode 100755 lsp_protos/google/protobuf/wrappers.proto create mode 100755 lsp_protos/grpc/binlog/v1/binarylog.proto diff --git a/lsp_protos/buf/validate/validate.proto b/lsp_protos/buf/validate/validate.proto new file mode 100755 index 0000000..b7c0641 --- /dev/null +++ b/lsp_protos/buf/validate/validate.proto @@ -0,0 +1,417 @@ +syntax = "proto2"; + +package buf.validate; + +option java_package = "build.buf.validate"; +option java_outer_classname = "ValidateProto"; +option java_multiple_files = true; +option go_package = "buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go/buf/validate"; + +import "google/protobuf/descriptor.proto"; +import "google/protobuf/duration.proto"; +import "google/protobuf/timestamp.proto"; + +message Rule { + optional string id = 1; + optional string message = 2; + optional string expression = 3; +} + +message MessageRules { + optional bool disabled = 1; + repeated .buf.validate.Rule cel = 3; +} + +message OneofRules { + optional bool required = 1; +} + +message FieldRules { + reserved "skipped"; + reserved "ignore_empty"; + reserved 24; + reserved 26; + repeated .buf.validate.Rule cel = 23; + optional bool required = 25; + optional .buf.validate.Ignore ignore = 27; + oneof type { + .buf.validate.FloatRules float = 1; + .buf.validate.DoubleRules double = 2; + .buf.validate.Int32Rules int32 = 3; + .buf.validate.Int64Rules int64 = 4; + .buf.validate.UInt32Rules uint32 = 5; + .buf.validate.UInt64Rules uint64 = 6; + .buf.validate.SInt32Rules sint32 = 7; + .buf.validate.SInt64Rules sint64 = 8; + .buf.validate.Fixed32Rules fixed32 = 9; + .buf.validate.Fixed64Rules fixed64 = 10; + .buf.validate.SFixed32Rules sfixed32 = 11; + .buf.validate.SFixed64Rules sfixed64 = 12; + .buf.validate.BoolRules bool = 13; + .buf.validate.StringRules string = 14; + .buf.validate.BytesRules bytes = 15; + .buf.validate.EnumRules enum = 16; + .buf.validate.RepeatedRules repeated = 18; + .buf.validate.MapRules map = 19; + .buf.validate.AnyRules any = 20; + .buf.validate.DurationRules duration = 21; + .buf.validate.TimestampRules timestamp = 22; + } +} + +message PredefinedRules { + reserved "skippedignore_empty"; + reserved 24; + reserved 26; + repeated .buf.validate.Rule cel = 1; +} + +message FloatRules { + optional float const = 1; + repeated float in = 6; + repeated float not_in = 7; + optional bool finite = 8; + repeated float example = 9; + oneof less_than { + float lt = 2; + float lte = 3; + } + oneof greater_than { + float gt = 4; + float gte = 5; + } +} + +message DoubleRules { + optional double const = 1; + repeated double in = 6; + repeated double not_in = 7; + optional bool finite = 8; + repeated double example = 9; + oneof less_than { + double lt = 2; + double lte = 3; + } + oneof greater_than { + double gt = 4; + double gte = 5; + } +} + +message Int32Rules { + optional int32 const = 1; + repeated int32 in = 6; + repeated int32 not_in = 7; + repeated int32 example = 8; + oneof less_than { + int32 lt = 2; + int32 lte = 3; + } + oneof greater_than { + int32 gt = 4; + int32 gte = 5; + } +} + +message Int64Rules { + optional int64 const = 1; + repeated int64 in = 6; + repeated int64 not_in = 7; + repeated int64 example = 9; + oneof less_than { + int64 lt = 2; + int64 lte = 3; + } + oneof greater_than { + int64 gt = 4; + int64 gte = 5; + } +} + +message UInt32Rules { + optional uint32 const = 1; + repeated uint32 in = 6; + repeated uint32 not_in = 7; + repeated uint32 example = 8; + oneof less_than { + uint32 lt = 2; + uint32 lte = 3; + } + oneof greater_than { + uint32 gt = 4; + uint32 gte = 5; + } +} + +message UInt64Rules { + optional uint64 const = 1; + repeated uint64 in = 6; + repeated uint64 not_in = 7; + repeated uint64 example = 8; + oneof less_than { + uint64 lt = 2; + uint64 lte = 3; + } + oneof greater_than { + uint64 gt = 4; + uint64 gte = 5; + } +} + +message SInt32Rules { + optional sint32 const = 1; + repeated sint32 in = 6; + repeated sint32 not_in = 7; + repeated sint32 example = 8; + oneof less_than { + sint32 lt = 2; + sint32 lte = 3; + } + oneof greater_than { + sint32 gt = 4; + sint32 gte = 5; + } +} + +message SInt64Rules { + optional sint64 const = 1; + repeated sint64 in = 6; + repeated sint64 not_in = 7; + repeated sint64 example = 8; + oneof less_than { + sint64 lt = 2; + sint64 lte = 3; + } + oneof greater_than { + sint64 gt = 4; + sint64 gte = 5; + } +} + +message Fixed32Rules { + optional fixed32 const = 1; + repeated fixed32 in = 6; + repeated fixed32 not_in = 7; + repeated fixed32 example = 8; + oneof less_than { + fixed32 lt = 2; + fixed32 lte = 3; + } + oneof greater_than { + fixed32 gt = 4; + fixed32 gte = 5; + } +} + +message Fixed64Rules { + optional fixed64 const = 1; + repeated fixed64 in = 6; + repeated fixed64 not_in = 7; + repeated fixed64 example = 8; + oneof less_than { + fixed64 lt = 2; + fixed64 lte = 3; + } + oneof greater_than { + fixed64 gt = 4; + fixed64 gte = 5; + } +} + +message SFixed32Rules { + optional sfixed32 const = 1; + repeated sfixed32 in = 6; + repeated sfixed32 not_in = 7; + repeated sfixed32 example = 8; + oneof less_than { + sfixed32 lt = 2; + sfixed32 lte = 3; + } + oneof greater_than { + sfixed32 gt = 4; + sfixed32 gte = 5; + } +} + +message SFixed64Rules { + optional sfixed64 const = 1; + repeated sfixed64 in = 6; + repeated sfixed64 not_in = 7; + repeated sfixed64 example = 8; + oneof less_than { + sfixed64 lt = 2; + sfixed64 lte = 3; + } + oneof greater_than { + sfixed64 gt = 4; + sfixed64 gte = 5; + } +} + +message BoolRules { + optional bool const = 1; + repeated bool example = 2; +} + +message StringRules { + optional string const = 1; + optional uint64 len = 19; + optional uint64 min_len = 2; + optional uint64 max_len = 3; + optional uint64 len_bytes = 20; + optional uint64 min_bytes = 4; + optional uint64 max_bytes = 5; + optional string pattern = 6; + optional string prefix = 7; + optional string suffix = 8; + optional string contains = 9; + optional string not_contains = 23; + repeated string in = 10; + repeated string not_in = 11; + optional bool strict = 25; + repeated string example = 34; + oneof well_known { + bool email = 12; + bool hostname = 13; + bool ip = 14; + bool ipv4 = 15; + bool ipv6 = 16; + bool uri = 17; + bool uri_ref = 18; + bool address = 21; + bool uuid = 22; + bool tuuid = 33; + bool ip_with_prefixlen = 26; + bool ipv4_with_prefixlen = 27; + bool ipv6_with_prefixlen = 28; + bool ip_prefix = 29; + bool ipv4_prefix = 30; + bool ipv6_prefix = 31; + bool host_and_port = 32; + .buf.validate.KnownRegex well_known_regex = 24; + } +} + +message BytesRules { + optional bytes const = 1; + optional uint64 len = 13; + optional uint64 min_len = 2; + optional uint64 max_len = 3; + optional string pattern = 4; + optional bytes prefix = 5; + optional bytes suffix = 6; + optional bytes contains = 7; + repeated bytes in = 8; + repeated bytes not_in = 9; + repeated bytes example = 14; + oneof well_known { + bool ip = 10; + bool ipv4 = 11; + bool ipv6 = 12; + } +} + +message EnumRules { + optional int32 const = 1; + optional bool defined_only = 2; + repeated int32 in = 3; + repeated int32 not_in = 4; + repeated int32 example = 5; +} + +message RepeatedRules { + optional uint64 min_items = 1; + optional uint64 max_items = 2; + optional bool unique = 3; + optional .buf.validate.FieldRules items = 4; +} + +message MapRules { + optional uint64 min_pairs = 1; + optional uint64 max_pairs = 2; + optional .buf.validate.FieldRules keys = 4; + optional .buf.validate.FieldRules values = 5; +} + +message AnyRules { + repeated string in = 2; + repeated string not_in = 3; +} + +message DurationRules { + optional .google.protobuf.Duration const = 2; + repeated .google.protobuf.Duration in = 7; + repeated .google.protobuf.Duration not_in = 8; + repeated .google.protobuf.Duration example = 9; + oneof less_than { + .google.protobuf.Duration lt = 3; + .google.protobuf.Duration lte = 4; + } + oneof greater_than { + .google.protobuf.Duration gt = 5; + .google.protobuf.Duration gte = 6; + } +} + +message TimestampRules { + optional .google.protobuf.Timestamp const = 2; + optional .google.protobuf.Duration within = 9; + repeated .google.protobuf.Timestamp example = 10; + oneof less_than { + .google.protobuf.Timestamp lt = 3; + .google.protobuf.Timestamp lte = 4; + bool lt_now = 7; + } + oneof greater_than { + .google.protobuf.Timestamp gt = 5; + .google.protobuf.Timestamp gte = 6; + bool gt_now = 8; + } +} + +message Violations { + repeated .buf.validate.Violation violations = 1; +} + +message Violation { + reserved "field_path"; + reserved 1; + optional .buf.validate.FieldPath field = 5; + optional .buf.validate.FieldPath rule = 6; + optional string rule_id = 2; + optional string message = 3; + optional bool for_key = 4; +} + +message FieldPath { + repeated .buf.validate.FieldPathElement elements = 1; +} + +message FieldPathElement { + optional int32 field_number = 1; + optional string field_name = 2; + optional .google.protobuf.FieldDescriptorProto.Type field_type = 3; + optional .google.protobuf.FieldDescriptorProto.Type key_type = 4; + optional .google.protobuf.FieldDescriptorProto.Type value_type = 5; + oneof subscript { + uint64 index = 6; + bool bool_key = 7; + int64 int_key = 8; + uint64 uint_key = 9; + string string_key = 10; + } +} + +enum Ignore { + IGNORE_UNSPECIFIED = 0; + IGNORE_IF_UNPOPULATED = 1; + IGNORE_IF_DEFAULT_VALUE = 2; + IGNORE_ALWAYS = 3; +} + +enum KnownRegex { + KNOWN_REGEX_UNSPECIFIED = 0; + KNOWN_REGEX_HTTP_HEADER_NAME = 1; + KNOWN_REGEX_HTTP_HEADER_VALUE = 2; +} + diff --git a/lsp_protos/cel/expr/checked.proto b/lsp_protos/cel/expr/checked.proto new file mode 100755 index 0000000..56e4ffb --- /dev/null +++ b/lsp_protos/cel/expr/checked.proto @@ -0,0 +1,119 @@ +syntax = "proto3"; + +package cel.expr; + +option java_package = "dev.cel.expr"; +option java_outer_classname = "DeclProto"; +option java_multiple_files = true; +option go_package = "cel.dev/expr"; +option cc_enable_arenas = true; + +import "cel/expr/syntax.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/struct.proto"; + +message CheckedExpr { + message ReferenceMapEntry { + int64 key = 1; + .cel.expr.Reference value = 2; + } + + message TypeMapEntry { + int64 key = 1; + .cel.expr.Type value = 2; + } + + repeated .cel.expr.CheckedExpr.ReferenceMapEntry reference_map = 2; + repeated .cel.expr.CheckedExpr.TypeMapEntry type_map = 3; + .cel.expr.SourceInfo source_info = 5; + string expr_version = 6; + .cel.expr.Expr expr = 4; +} + +message Type { + message ListType { + .cel.expr.Type elem_type = 1; + } + + message MapType { + .cel.expr.Type key_type = 1; + .cel.expr.Type value_type = 2; + } + + message FunctionType { + .cel.expr.Type result_type = 1; + repeated .cel.expr.Type arg_types = 2; + } + + message AbstractType { + string name = 1; + repeated .cel.expr.Type parameter_types = 2; + } + + enum PrimitiveType { + PRIMITIVE_TYPE_UNSPECIFIED = 0; + BOOL = 1; + INT64 = 2; + UINT64 = 3; + DOUBLE = 4; + STRING = 5; + BYTES = 6; + } + + enum WellKnownType { + WELL_KNOWN_TYPE_UNSPECIFIED = 0; + ANY = 1; + TIMESTAMP = 2; + DURATION = 3; + } + + oneof type_kind { + .google.protobuf.Empty dyn = 1; + .google.protobuf.NullValue null = 2; + .cel.expr.Type.PrimitiveType primitive = 3; + .cel.expr.Type.PrimitiveType wrapper = 4; + .cel.expr.Type.WellKnownType well_known = 5; + .cel.expr.Type.ListType list_type = 6; + .cel.expr.Type.MapType map_type = 7; + .cel.expr.Type.FunctionType function = 8; + string message_type = 9; + string type_param = 10; + .cel.expr.Type type = 11; + .google.protobuf.Empty error = 12; + .cel.expr.Type.AbstractType abstract_type = 14; + } +} + +message Decl { + message IdentDecl { + .cel.expr.Type type = 1; + .cel.expr.Constant value = 2; + string doc = 3; + } + + message FunctionDecl { + message Overload { + string overload_id = 1; + repeated .cel.expr.Type params = 2; + repeated string type_params = 3; + .cel.expr.Type result_type = 4; + bool is_instance_function = 5; + string doc = 6; + } + + repeated .cel.expr.Decl.FunctionDecl.Overload overloads = 1; + } + + string name = 1; + oneof decl_kind { + .cel.expr.Decl.IdentDecl ident = 2; + .cel.expr.Decl.FunctionDecl function = 3; + } +} + +message Reference { + string name = 1; + repeated string overload_id = 3; + .cel.expr.Constant value = 4; +} + diff --git a/lsp_protos/cel/expr/eval.proto b/lsp_protos/cel/expr/eval.proto new file mode 100755 index 0000000..dc965dd --- /dev/null +++ b/lsp_protos/cel/expr/eval.proto @@ -0,0 +1,45 @@ +syntax = "proto3"; + +package cel.expr; + +option java_package = "dev.cel.expr"; +option java_outer_classname = "EvalProto"; +option java_multiple_files = true; +option go_package = "cel.dev/expr"; +option cc_enable_arenas = true; + +import "google/protobuf/any.proto"; +import "cel/expr/value.proto"; + +message EvalState { + message Result { + int64 expr = 1; + int64 value = 2; + } + + repeated .cel.expr.ExprValue values = 1; + repeated .cel.expr.EvalState.Result results = 3; +} + +message ExprValue { + oneof kind { + .cel.expr.Value value = 1; + .cel.expr.ErrorSet error = 2; + .cel.expr.UnknownSet unknown = 3; + } +} + +message ErrorSet { + repeated .cel.expr.Status errors = 1; +} + +message Status { + int32 code = 1; + string message = 2; + repeated .google.protobuf.Any details = 3; +} + +message UnknownSet { + repeated int64 exprs = 1; +} + diff --git a/lsp_protos/cel/expr/explain.proto b/lsp_protos/cel/expr/explain.proto new file mode 100755 index 0000000..1db38e5 --- /dev/null +++ b/lsp_protos/cel/expr/explain.proto @@ -0,0 +1,22 @@ +syntax = "proto3"; + +package cel.expr; + +option java_package = "dev.cel.expr"; +option java_outer_classname = "ExplainProto"; +option java_multiple_files = true; +option go_package = "cel.dev/expr"; +option cc_enable_arenas = true; + +import "cel/expr/value.proto"; + +message Explain { + message ExprStep { + int64 id = 1; + int32 value_index = 2; + } + + repeated .cel.expr.Value values = 1; + repeated .cel.expr.Explain.ExprStep expr_steps = 2; +} + diff --git a/lsp_protos/cel/expr/syntax.proto b/lsp_protos/cel/expr/syntax.proto new file mode 100755 index 0000000..f7fd9ec --- /dev/null +++ b/lsp_protos/cel/expr/syntax.proto @@ -0,0 +1,129 @@ +syntax = "proto3"; + +package cel.expr; + +option java_package = "dev.cel.expr"; +option java_outer_classname = "SyntaxProto"; +option java_multiple_files = true; +option go_package = "cel.dev/expr"; +option cc_enable_arenas = true; + +import "google/protobuf/duration.proto"; +import "google/protobuf/struct.proto"; +import "google/protobuf/timestamp.proto"; + +message ParsedExpr { + .cel.expr.Expr expr = 2; + .cel.expr.SourceInfo source_info = 3; +} + +message Expr { + message Ident { + string name = 1; + } + + message Select { + .cel.expr.Expr operand = 1; + string field = 2; + bool test_only = 3; + } + + message Call { + .cel.expr.Expr target = 1; + string function = 2; + repeated .cel.expr.Expr args = 3; + } + + message CreateList { + repeated .cel.expr.Expr elements = 1; + repeated int32 optional_indices = 2; + } + + message CreateStruct { + message Entry { + int64 id = 1; + .cel.expr.Expr value = 4; + bool optional_entry = 5; + oneof key_kind { + string field_key = 2; + .cel.expr.Expr map_key = 3; + } + } + + string message_name = 1; + repeated .cel.expr.Expr.CreateStruct.Entry entries = 2; + } + + message Comprehension { + string iter_var = 1; + .cel.expr.Expr iter_range = 2; + string accu_var = 3; + .cel.expr.Expr accu_init = 4; + .cel.expr.Expr loop_condition = 5; + .cel.expr.Expr loop_step = 6; + .cel.expr.Expr result = 7; + } + + int64 id = 2; + oneof expr_kind { + .cel.expr.Constant const_expr = 3; + .cel.expr.Expr.Ident ident_expr = 4; + .cel.expr.Expr.Select select_expr = 5; + .cel.expr.Expr.Call call_expr = 6; + .cel.expr.Expr.CreateList list_expr = 7; + .cel.expr.Expr.CreateStruct struct_expr = 8; + .cel.expr.Expr.Comprehension comprehension_expr = 9; + } +} + +message Constant { + oneof constant_kind { + .google.protobuf.NullValue null_value = 1; + bool bool_value = 2; + int64 int64_value = 3; + uint64 uint64_value = 4; + double double_value = 5; + string string_value = 6; + bytes bytes_value = 7; + .google.protobuf.Duration duration_value = 8; + .google.protobuf.Timestamp timestamp_value = 9; + } +} + +message SourceInfo { + message PositionsEntry { + int64 key = 1; + int32 value = 2; + } + + message MacroCallsEntry { + int64 key = 1; + .cel.expr.Expr value = 2; + } + + message Extension { + message Version { + int64 major = 1; + int64 minor = 2; + } + + enum Component { + COMPONENT_UNSPECIFIED = 0; + COMPONENT_PARSER = 1; + COMPONENT_TYPE_CHECKER = 2; + COMPONENT_RUNTIME = 3; + } + + string id = 1; + repeated .cel.expr.SourceInfo.Extension.Component affected_components = 2; + .cel.expr.SourceInfo.Extension.Version version = 3; + } + + string syntax_version = 1; + string location = 2; + repeated int32 line_offsets = 3; + repeated .cel.expr.SourceInfo.PositionsEntry positions = 4; + repeated .cel.expr.SourceInfo.MacroCallsEntry macro_calls = 5; + repeated .cel.expr.SourceInfo.Extension extensions = 6; +} + diff --git a/lsp_protos/cel/expr/value.proto b/lsp_protos/cel/expr/value.proto new file mode 100755 index 0000000..7bbf035 --- /dev/null +++ b/lsp_protos/cel/expr/value.proto @@ -0,0 +1,48 @@ +syntax = "proto3"; + +package cel.expr; + +option java_package = "dev.cel.expr"; +option java_outer_classname = "ValueProto"; +option java_multiple_files = true; +option go_package = "cel.dev/expr"; +option cc_enable_arenas = true; + +import "google/protobuf/any.proto"; +import "google/protobuf/struct.proto"; + +message Value { + oneof kind { + .google.protobuf.NullValue null_value = 1; + bool bool_value = 2; + int64 int64_value = 3; + uint64 uint64_value = 4; + double double_value = 5; + string string_value = 6; + bytes bytes_value = 7; + .cel.expr.EnumValue enum_value = 9; + .google.protobuf.Any object_value = 10; + .cel.expr.MapValue map_value = 11; + .cel.expr.ListValue list_value = 12; + string type_value = 15; + } +} + +message EnumValue { + string type = 1; + int32 value = 2; +} + +message ListValue { + repeated .cel.expr.Value values = 1; +} + +message MapValue { + message Entry { + .cel.expr.Value key = 1; + .cel.expr.Value value = 2; + } + + repeated .cel.expr.MapValue.Entry entries = 1; +} + diff --git a/lsp_protos/connectrpc.com/connect/internal/gen/connectext/grpc/status/v1/status.proto b/lsp_protos/connectrpc.com/connect/internal/gen/connectext/grpc/status/v1/status.proto new file mode 100755 index 0000000..5e3071f --- /dev/null +++ b/lsp_protos/connectrpc.com/connect/internal/gen/connectext/grpc/status/v1/status.proto @@ -0,0 +1,22 @@ +syntax = "proto3"; + +package grpc.status.v1; + +option java_package = "com.grpc.status.v1"; +option java_outer_classname = "StatusProto"; +option java_multiple_files = true; +option go_package = "connectrpc.com/connect/internal/gen/connectext/grpc/status/v1;statusv1"; +option objc_class_prefix = "GSX"; +option csharp_namespace = "Grpc.Status.V1"; +option php_namespace = "Grpc\\Status\\V1"; +option php_metadata_namespace = "Grpc\\Status\\V1\\GPBMetadata"; +option ruby_package = "Grpc::Status::V1"; + +import "google/protobuf/any.proto"; + +message Status { + int32 code = 1; + string message = 2; + repeated .google.protobuf.Any details = 3; +} + diff --git a/lsp_protos/errorspb/errors.proto b/lsp_protos/errorspb/errors.proto new file mode 100755 index 0000000..72075e3 --- /dev/null +++ b/lsp_protos/errorspb/errors.proto @@ -0,0 +1,59 @@ +syntax = "proto3"; + +package cockroach.errorspb; + +option go_package = "github.com/cockroachdb/errors/errorspb"; + +import "google/protobuf/any.proto"; + +message EncodedError { + oneof error { + .cockroach.errorspb.EncodedErrorLeaf leaf = 1; + .cockroach.errorspb.EncodedWrapper wrapper = 2; + } +} + +message EncodedErrorLeaf { + string message = 1; + .cockroach.errorspb.EncodedErrorDetails details = 2; + repeated .cockroach.errorspb.EncodedError multierror_causes = 3; +} + +message EncodedErrorDetails { + string original_type_name = 1; + .cockroach.errorspb.ErrorTypeMark error_type_mark = 2; + repeated string reportable_payload = 3; + .google.protobuf.Any full_details = 4; +} + +message EncodedWrapper { + .cockroach.errorspb.EncodedError cause = 1; + string message = 2; + .cockroach.errorspb.EncodedErrorDetails details = 3; + .cockroach.errorspb.MessageType message_type = 4; +} + +message ErrorTypeMark { + string family_name = 1; + string extension = 2; +} + +message StringsPayload { + repeated string details = 1; +} + +message ErrnoPayload { + int64 orig_errno = 1; + string arch = 2; + bool is_permission = 3; + bool is_exist = 4; + bool is_not_exist = 5; + bool is_timeout = 6; + bool is_temporary = 7; +} + +enum MessageType { + PREFIX = 0; + FULL_MESSAGE = 1; +} + diff --git a/lsp_protos/errorspb/hintdetail.proto b/lsp_protos/errorspb/hintdetail.proto new file mode 100755 index 0000000..25db96f --- /dev/null +++ b/lsp_protos/errorspb/hintdetail.proto @@ -0,0 +1,10 @@ +syntax = "proto3"; + +package cockroach.errorspb; + +option go_package = "github.com/cockroachdb/errors/errorspb"; + +message StringPayload { + string msg = 1; +} + diff --git a/lsp_protos/errorspb/markers.proto b/lsp_protos/errorspb/markers.proto new file mode 100755 index 0000000..d9f6334 --- /dev/null +++ b/lsp_protos/errorspb/markers.proto @@ -0,0 +1,13 @@ +syntax = "proto3"; + +package cockroach.errorspb; + +option go_package = "github.com/cockroachdb/errors/errorspb"; + +import "errorspb/errors.proto"; + +message MarkPayload { + string msg = 1; + repeated .cockroach.errorspb.ErrorTypeMark types = 2; +} + diff --git a/lsp_protos/errorspb/tags.proto b/lsp_protos/errorspb/tags.proto new file mode 100755 index 0000000..6ce7644 --- /dev/null +++ b/lsp_protos/errorspb/tags.proto @@ -0,0 +1,15 @@ +syntax = "proto3"; + +package cockroach.errorspb; + +option go_package = "github.com/cockroachdb/errors/errorspb"; + +message TagsPayload { + repeated .cockroach.errorspb.TagPayload tags = 1; +} + +message TagPayload { + string tag = 1; + string value = 2; +} + diff --git a/lsp_protos/errorspb/testing.proto b/lsp_protos/errorspb/testing.proto new file mode 100755 index 0000000..f3704d5 --- /dev/null +++ b/lsp_protos/errorspb/testing.proto @@ -0,0 +1,9 @@ +syntax = "proto3"; + +package cockroach.errorspb; + +option go_package = "github.com/cockroachdb/errors/errorspb"; + +message TestError { +} + diff --git a/lsp_protos/exa/analytics_pb/analytics.proto b/lsp_protos/exa/analytics_pb/analytics.proto new file mode 100755 index 0000000..68a6ac7 --- /dev/null +++ b/lsp_protos/exa/analytics_pb/analytics.proto @@ -0,0 +1,191 @@ +syntax = "proto3"; + +package exa.analytics_pb; + +option go_package = "github.com/Exafunction/Exafunction/exa/analytics_pb"; + +import "buf/validate/validate.proto"; +import "exa/codeium_common_pb/codeium_common.proto"; +import "exa/context_module_pb/context_module.proto"; +import "exa/cortex_pb/cortex.proto"; +import "exa/prompt_pb/prompt.proto"; +import "google/protobuf/timestamp.proto"; + +service AnalyticsService { + rpc RecordCommandUsage (.exa.analytics_pb.RecordCommandUsageRequest) returns (.exa.analytics_pb.RecordCommandUsageResponse) {} + rpc RecordCompletions (.exa.analytics_pb.RecordCompletionsRequest) returns (.exa.analytics_pb.RecordCompletionsResponse) {} + rpc RecordContextToPrompt (.exa.analytics_pb.RecordContextToPromptRequest) returns (.exa.analytics_pb.RecordContextToPromptResponse) {} + rpc RecordCortexTrajectory (.exa.analytics_pb.RecordCortexTrajectoryRequest) returns (.exa.analytics_pb.RecordCortexTrajectoryResponse) {} + rpc RecordCortexTrajectoryStep (.exa.analytics_pb.RecordCortexTrajectoryStepRequest) returns (.exa.analytics_pb.RecordCortexTrajectoryStepResponse) {} + rpc RecordTabTrajectoryStep (.exa.analytics_pb.RecordTabTrajectoryStepRequest) returns (.exa.analytics_pb.RecordTabTrajectoryStepResponse) {} + rpc BatchRecordPrompts (.exa.analytics_pb.BatchRecordPromptsRequest) returns (.exa.analytics_pb.BatchRecordPromptsResponse) {} + rpc BatchRecordCompletions (.exa.analytics_pb.BatchRecordCompletionsRequest) returns (.exa.analytics_pb.BatchRecordCompletionsResponse) {} +} + +message RecordCommandUsageRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string command = 2; + string selection = 3; + .exa.codeium_common_pb.CommandRequestSource request_source = 4; + string prompt_id = 5; + string completion_id = 6; + string completion = 7; + string prompt = 8; + .exa.codeium_common_pb.Model requested_model_id = 9; + .exa.codeium_common_pb.StopReason stop_reason = 10; + .exa.codeium_common_pb.Language language = 11; + .exa.codeium_common_pb.ProviderSource provider_source = 12; + .exa.prompt_pb.UnifiedPromptComponents command_prompt_components = 13; + .exa.cortex_pb.CortexTrajectoryReference cortex_trajectory_reference = 14; + .exa.codeium_common_pb.SuperCompleteFilterReason super_complete_filter_reason = 15; + .exa.codeium_common_pb.SupercompleteTriggerCondition supercomplete_trigger_condition = 17; + repeated .exa.codeium_common_pb.PromptStageLatency prompt_stage_latencies = 16; + .exa.codeium_common_pb.CompletionProfile completion_profile = 18; + int32 char_insertions = 19; + int32 char_deletions = 20; + repeated string trajectory_step_oids = 21; +} + +message RecordCommandUsageResponse { +} + +message BatchRecordPromptsRequest { + repeated .exa.analytics_pb.RecordPromptRequest prompts = 1; +} + +message BatchRecordPromptsResponse { +} + +message RecordPromptRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + .exa.codeium_common_pb.CompletionsRequest request = 2; + string prompt_id = 3; + .google.protobuf.Timestamp timestamp = 4; + string ip = 5; + string inference_address = 6; + .exa.codeium_common_pb.ProviderSource provider_source = 7; + string api_server_address = 8; + .exa.codeium_common_pb.Model firstline_model = 9; + .exa.codeium_common_pb.PromptComponents prompt_components = 10; + bool is_server_side_prompt = 11; + .exa.prompt_pb.UnifiedPromptComponents unified_prompt_components = 12; + .exa.cortex_pb.CortexTrajectoryReference cortex_trajectory_reference = 13; +} + +message RecordCompletionsRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + repeated .exa.codeium_common_pb.CompletionWithLatencyInfo completions_with_latency_info = 2; + string prompt_id = 3; + uint64 prompt_length = 4; + .exa.codeium_common_pb.ProviderSource provider_source = 5; + string relative_path = 6; + .exa.codeium_common_pb.Repository repository = 7; + string model_tag = 8; + .google.protobuf.Timestamp timestamp = 9; +} + +message RecordCompletionsResponse { +} + +message BatchRecordCompletionsRequest { + repeated .exa.analytics_pb.RecordCompletionsRequest completions = 1; +} + +message BatchRecordCompletionsResponse { +} + +message RecordContextToPromptRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + .exa.context_module_pb.ContextUseCase prompt_user = 2; + string chat_message_id = 3; + repeated .exa.context_module_pb.RetrievedCodeContextItemMetadata retrieved_code_context_item_metadata = 4; + uint64 latency_ms = 5; + .google.protobuf.Timestamp timestamp = 6; + .exa.cortex_pb.CortexWorkflowState cortex_state = 7; + string prompt_id = 8; +} + +message RecordContextToPromptResponse { +} + +message RecordCortexTrajectoryRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string trajectory_id = 2; + string cascade_id = 5; + .exa.cortex_pb.CortexTrajectoryType trajectory_type = 3; + .exa.cortex_pb.CortexTrajectorySource trajectory_source = 7; + repeated .exa.cortex_pb.CortexTrajectoryReference parents = 4; + .exa.cortex_pb.CortexTrajectoryMetadata trajectory_metadata = 6; + optional string arena_id = 8; +} + +message RecordCortexTrajectoryResponse { +} + +message RecordCortexTrajectoryStepRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + .exa.cortex_pb.CortexTrajectoryStep step = 2; + .exa.cortex_pb.CortexTrajectoryReference reference = 3; + .exa.cortex_pb.AcknowledgementType acknowledgement_type = 4; +} + +message RecordCortexTrajectoryStepResponse { +} + +message RecordTabTrajectoryStepRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + .exa.cortex_pb.CortexTrajectoryStep step = 2; + .exa.cortex_pb.CortexTrajectoryReference reference = 3; + string oid = 4; + repeated .exa.analytics_pb.TabTrajectoryStepEntry steps = 5; +} + +message TabTrajectoryStepEntry { + .exa.cortex_pb.CortexTrajectoryStep step = 1; + .exa.cortex_pb.CortexTrajectoryReference reference = 2; + string oid = 3; +} + +message RecordTabTrajectoryStepResponse { + bool uploaded = 1; + repeated string uploaded_oids = 2; +} + +message RecordArenaModeTrajectoryDetailsRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string arena_id = 2; + string cascade_id = 3; + string trajectory_id = 4; + uint32 step_index = 5; + .exa.cortex_pb.CortexStepType step_type = 6; + .exa.cortex_pb.AcknowledgementType acknowledgement_type = 7; + .exa.codeium_common_pb.Model model = 8; + string label = 9; + .exa.codeium_common_pb.ModelProvider model_provider = 10; +} + +message RecordArenaModeTrajectoryDetailsResponse { +} + +message RecordRawCompletionRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string trajectory_id = 2; + string cascade_id = 3; + int32 step_index = 4; + string model_name = 5; + string raw_prompt = 6; + string raw_response = 7; + int64 latency = 8; + string error = 9; + .google.protobuf.Timestamp timestamp = 10; + string prompt_id = 11; + .exa.codeium_common_pb.ProviderSource provider_source = 12; +} + +message BatchRecordRawCompletionsRequest { + repeated .exa.analytics_pb.RecordRawCompletionRequest records = 1; +} + +message BatchRecordRawCompletionsResponse { +} + diff --git a/lsp_protos/exa/api_server_pb/api_server.proto b/lsp_protos/exa/api_server_pb/api_server.proto new file mode 100755 index 0000000..6d4c10c --- /dev/null +++ b/lsp_protos/exa/api_server_pb/api_server.proto @@ -0,0 +1,2367 @@ +syntax = "proto3"; + +package exa.api_server_pb; + +option go_package = "github.com/Exafunction/Exafunction/exa/api_server_pb"; + +import "buf/validate/validate.proto"; +import "exa/analytics_pb/analytics.proto"; +import "exa/bug_checker_pb/bug_checker.proto"; +import "exa/chat_pb/chat.proto"; +import "exa/codeium_common_pb/codeium_common.proto"; +import "exa/context_module_pb/context_module.proto"; +import "exa/cortex_pb/cortex.proto"; +import "exa/prompt_pb/prompt.proto"; +import "google/protobuf/timestamp.proto"; + +service ApiServerService { + rpc GetDevstralStream (.exa.api_server_pb.GetDevstralStreamRequest) returns (stream .exa.api_server_pb.GetDevstralStreamResponse) {} + rpc GetCompletions (.exa.api_server_pb.GetCompletionsRequest) returns (.exa.api_server_pb.GetCompletionsResponse) {} + rpc GetStreamingCompletions (.exa.api_server_pb.GetStreamingCompletionsRequest) returns (stream .exa.api_server_pb.GetStreamingCompletionsResponse) {} + rpc CancelCompletions (.exa.api_server_pb.CancelCompletionsRequest) returns (.exa.api_server_pb.CancelCompletionsResponse) {} + rpc GetChatCompletions (.exa.api_server_pb.GetChatCompletionsRequest) returns (.exa.api_server_pb.GetChatCompletionsResponse) {} + rpc GetStreamingExternalChatCompletions (.exa.api_server_pb.GetChatCompletionsRequest) returns (stream .exa.api_server_pb.GetStreamingExternalChatCompletionsResponse) {} + rpc GetEmbeddings (.exa.api_server_pb.GetEmbeddingsRequest) returns (.exa.api_server_pb.GetEmbeddingsResponse) {} + rpc GetChatMessage (.exa.api_server_pb.GetChatMessageRequest) returns (stream .exa.api_server_pb.GetChatMessageResponse) {} + rpc UpdateArenaConverge (.exa.api_server_pb.UpdateArenaConvergeRequest) returns (.exa.api_server_pb.UpdateArenaConvergeResponse) {} + rpc AssignArenaModel (.exa.api_server_pb.AssignArenaModelRequest) returns (.exa.api_server_pb.AssignArenaModelResponse) {} + rpc GetStreamingModelAPITextCompletion (.exa.api_server_pb.GetStreamingModelAPITextCompletionRequest) returns (stream .exa.api_server_pb.GetStreamingModelAPITextCompletionResponse) {} + rpc GetDeepWiki (.exa.api_server_pb.GetDeepWikiRequest) returns (stream .exa.api_server_pb.GetDeepWikiResponse) {} + rpc GetTab (.exa.api_server_pb.GetTabRequest) returns (stream .exa.api_server_pb.GetTabResponse) {} + rpc CheckChatCapacity (.exa.api_server_pb.CheckChatCapacityRequest) returns (.exa.api_server_pb.CheckChatCapacityResponse) {} + rpc CheckUserMessageRateLimit (.exa.api_server_pb.CheckUserMessageRateLimitRequest) returns (.exa.api_server_pb.CheckUserMessageRateLimitResponse) {} + rpc GetTeamOrganizationalControls (.exa.api_server_pb.GetTeamOrganizationalControlsRequest) returns (.exa.api_server_pb.GetTeamOrganizationalControlsResponse) {} + rpc GetTeamOrganizationalControlsForSite (.exa.api_server_pb.GetTeamOrganizationalControlsForSiteRequest) returns (.exa.api_server_pb.GetTeamOrganizationalControlsForSiteResponse) {} + rpc UpsertTeamOrganizationalControls (.exa.api_server_pb.UpsertTeamOrganizationalControlsRequest) returns (.exa.api_server_pb.UpsertTeamOrganizationalControlsResponse) {} + rpc UpsertTeamOrganizationalControlsForSite (.exa.api_server_pb.UpsertTeamOrganizationalControlsForSiteRequest) returns (.exa.api_server_pb.UpsertTeamOrganizationalControlsForSiteResponse) {} + rpc DeleteTeamOrganizationalControls (.exa.api_server_pb.DeleteTeamOrganizationalControlsRequest) returns (.exa.api_server_pb.DeleteTeamOrganizationalControlsResponse) {} + rpc GetMQuery (.exa.api_server_pb.GetMQueryRequest) returns (.exa.api_server_pb.GetMQueryResponse) {} + rpc ProvideFeedback (.exa.api_server_pb.ProvideFeedbackRequest) returns (.exa.api_server_pb.ProvideFeedbackResponse) {} + rpc UploadErrorTraces (.exa.api_server_pb.UploadErrorTracesRequest) returns (.exa.api_server_pb.UploadErrorTracesResponse) {} + rpc RecordOpportunities (.exa.api_server_pb.RecordOpportunitiesRequest) returns (.exa.api_server_pb.RecordOpportunitiesResponse) {} + rpc RecordCodeTrackerUpdates (.exa.api_server_pb.RecordCodeTrackerUpdatesRequest) returns (.exa.api_server_pb.RecordCodeTrackerUpdatesResponse) {} + rpc RecordCompletionExample (.exa.api_server_pb.RecordCompletionExampleRequest) returns (.exa.api_server_pb.RecordCompletionExampleResponse) {} + rpc GetCompletionExamples (.exa.api_server_pb.GetCompletionExamplesRequest) returns (.exa.api_server_pb.GetCompletionExamplesResponse) {} + rpc RecordCompletions (.exa.analytics_pb.RecordCompletionsRequest) returns (.exa.analytics_pb.RecordCompletionsResponse) {} + rpc RecordAsyncTelemetry (.exa.api_server_pb.RecordAsyncTelemetryRequest) returns (.exa.api_server_pb.RecordAsyncTelemetryResponse) {} + rpc RecordAutoCascadeTelemetry (.exa.api_server_pb.RecordAutoCascadeTelemetryRequest) returns (.exa.api_server_pb.RecordAutoCascadeTelemetryResponse) {} + rpc RecordWindsurfReviewsTelemetry (.exa.api_server_pb.RecordWindsurfReviewsTelemetryRequest) returns (.exa.api_server_pb.RecordWindsurfReviewsTelemetryResponse) {} + rpc RecordWindsurfReviewEvent (.exa.api_server_pb.RecordWindsurfReviewEventRequest) returns (.exa.api_server_pb.RecordWindsurfReviewEventResponse) {} + rpc RecordChat (.exa.api_server_pb.RecordChatRequest) returns (.exa.api_server_pb.RecordChatResponse) {} + rpc RecordChatFeedback (.exa.api_server_pb.RecordChatFeedbackRequest) returns (.exa.api_server_pb.RecordChatFeedbackResponse) {} + rpc RecordChatPanelSession (.exa.api_server_pb.RecordChatPanelSessionRequest) returns (.exa.api_server_pb.RecordChatPanelSessionResponse) {} + rpc RecordContextRefresh (.exa.api_server_pb.RecordContextRefreshRequest) returns (.exa.api_server_pb.RecordContextRefreshResponse) {} + rpc RecordContextToPrompt (.exa.analytics_pb.RecordContextToPromptRequest) returns (.exa.analytics_pb.RecordContextToPromptResponse) {} + rpc RecordEvent (.exa.api_server_pb.RecordEventRequest) returns (.exa.api_server_pb.RecordEventResponse) {} + rpc RecordSearch (.exa.api_server_pb.RecordSearchRequest) returns (.exa.api_server_pb.RecordSearchResponse) {} + rpc RecordSearchResults (.exa.api_server_pb.RecordSearchResultsRequest) returns (.exa.api_server_pb.RecordSearchResultsResponse) {} + rpc RecordSearchDocOpen (.exa.api_server_pb.RecordSearchDocOpenRequest) returns (.exa.api_server_pb.RecordSearchDocOpenResponse) {} + rpc RecordSearchResultsView (.exa.api_server_pb.RecordSearchResultsViewRequest) returns (.exa.api_server_pb.RecordSearchResultsViewResponse) {} + rpc RecordDebounce (.exa.api_server_pb.RecordDebounceRequest) returns (.exa.api_server_pb.RecordDebounceResponse) {} + rpc CaptureCode (.exa.api_server_pb.CaptureCodeRequest) returns (.exa.api_server_pb.CaptureCodeResponse) {} + rpc CaptureFile (.exa.api_server_pb.CaptureFileRequest) returns (.exa.api_server_pb.CaptureFileResponse) {} + rpc RecordPinnedContext (.exa.api_server_pb.RecordPinnedContextRequest) returns (.exa.api_server_pb.RecordPinnedContextResponse) {} + rpc RecordCommandUsage (.exa.analytics_pb.RecordCommandUsageRequest) returns (.exa.analytics_pb.RecordCommandUsageResponse) {} + rpc RecordChatModelNodeRun (.exa.api_server_pb.RecordChatModelNodeRunRequest) returns (.exa.api_server_pb.RecordChatModelNodeRunResponse) {} + rpc RecordMQuery (.exa.api_server_pb.RecordMQueryRequest) returns (.exa.api_server_pb.RecordMQueryResponse) {} + rpc RecordCortexStep (.exa.api_server_pb.RecordCortexStepRequest) returns (.exa.api_server_pb.RecordCortexStepResponse) {} + rpc RecordCommitMessageGeneration (.exa.api_server_pb.RecordCommitMessageGenerationRequest) returns (.exa.api_server_pb.RecordCommitMessageGenerationResponse) {} + rpc RecordCommitMessageSave (.exa.api_server_pb.RecordCommitMessageSaveRequest) returns (.exa.api_server_pb.RecordCommitMessageSaveResponse) {} + rpc RecordGitTelemetry (.exa.api_server_pb.RecordGitTelemetryRequest) returns (.exa.api_server_pb.RecordGitTelemetryResponse) {} + rpc RecordProfilingData (stream .exa.api_server_pb.RecordProfilingDataRequest) returns (.exa.api_server_pb.RecordProfilingDataResponse) {} + rpc RecordReadUrlContent (.exa.api_server_pb.RecordReadUrlContentRequest) returns (.exa.api_server_pb.RecordReadUrlContentResponse) {} + rpc RecordNewCortexPlan (.exa.api_server_pb.RecordNewCortexPlanRequest) returns (.exa.api_server_pb.RecordNewCortexPlanResponse) {} + rpc RecordCortexCodingPlan (.exa.api_server_pb.RecordCortexCodingPlanRequest) returns (.exa.api_server_pb.RecordCortexCodingPlanResponse) {} + rpc RecordCortexCodingStep (.exa.api_server_pb.RecordCortexCodingStepRequest) returns (.exa.api_server_pb.RecordCortexCodingStepResponse) {} + rpc RecordCortexCodingStepFeedback (.exa.api_server_pb.RecordCortexCodingStepFeedbackRequest) returns (.exa.api_server_pb.RecordCortexCodingStepFeedbackResponse) {} + rpc RecordCortexFeedback (.exa.api_server_pb.RecordCortexFeedbackRequest) returns (.exa.api_server_pb.RecordCortexFeedbackResponse) {} + rpc RecordCortexError (.exa.api_server_pb.RecordCortexErrorRequest) returns (.exa.api_server_pb.RecordCortexErrorResponse) {} + rpc RecordCortexTrajectory (.exa.analytics_pb.RecordCortexTrajectoryRequest) returns (.exa.analytics_pb.RecordCortexTrajectoryResponse) {} + rpc RecordCortexTrajectoryStep (.exa.analytics_pb.RecordCortexTrajectoryStepRequest) returns (.exa.analytics_pb.RecordCortexTrajectoryStepResponse) {} + rpc RecordCortexGeneratorMetadata (.exa.api_server_pb.RecordCortexGeneratorMetadataRequest) returns (.exa.api_server_pb.RecordCortexGeneratorMetadataResponse) {} + rpc RecordCortexExecutionMetadata (.exa.api_server_pb.RecordCortexExecutionMetadataRequest) returns (.exa.api_server_pb.RecordCortexExecutionMetadataResponse) {} + rpc RecordStateInitializationData (.exa.api_server_pb.RecordStateInitializationDataRequest) returns (.exa.api_server_pb.RecordStateInitializationDataResponse) {} + rpc GetDefaultWorkflowTemplates (.exa.api_server_pb.GetDefaultWorkflowTemplatesRequest) returns (.exa.api_server_pb.GetDefaultWorkflowTemplatesResponse) {} + rpc RecordArenaModeTrajectoryDetails (.exa.analytics_pb.RecordArenaModeTrajectoryDetailsRequest) returns (.exa.analytics_pb.RecordArenaModeTrajectoryDetailsResponse) {} + rpc BatchRecordPrompts (.exa.analytics_pb.BatchRecordPromptsRequest) returns (.exa.analytics_pb.BatchRecordPromptsResponse) {} + rpc BatchRecordCompletions (.exa.analytics_pb.BatchRecordCompletionsRequest) returns (.exa.analytics_pb.BatchRecordCompletionsResponse) {} + rpc BatchRecordUserLastUpdateTimes (.exa.api_server_pb.BatchRecordUserLastUpdateTimesRequest) returns (.exa.api_server_pb.BatchRecordUserLastUpdateTimesResponse) {} + rpc BatchRecordChatRequestRecords (.exa.api_server_pb.BatchRecordChatRequestRecordsRequest) returns (.exa.api_server_pb.BatchRecordChatRequestRecordsResponse) {} + rpc BatchRecordRawCompletions (.exa.analytics_pb.BatchRecordRawCompletionsRequest) returns (.exa.analytics_pb.BatchRecordRawCompletionsResponse) {} + rpc RegisterExternalUser (.exa.api_server_pb.RegisterExternalUserRequest) returns (.exa.api_server_pb.RegisterExternalUserResponse) {} + rpc DeleteExternalUser (.exa.api_server_pb.DeleteExternalUserRequest) returns (.exa.api_server_pb.DeleteExternalUserResponse) {} + rpc Ping (.exa.api_server_pb.PingRequest) returns (.exa.api_server_pb.PingResponse) {} + rpc Subscribe (.exa.api_server_pb.SubscribeRequest) returns (.exa.api_server_pb.SubscribeResponse) {} + rpc ValidateEmail (.exa.api_server_pb.ValidateEmailRequest) returns (.exa.api_server_pb.ValidateEmailResponse) {} + rpc ValidateRegistrationCode (.exa.api_server_pb.ValidateRegistrationCodeRequest) returns (.exa.api_server_pb.ValidateRegistrationCodeResponse) {} + rpc JoinWaitlist (.exa.api_server_pb.JoinWaitlistRequest) returns (.exa.api_server_pb.JoinWaitlistResponse) {} + rpc ContactForm (.exa.api_server_pb.ContactFormRequest) returns (.exa.api_server_pb.ContactFormResponse) {} + rpc GetExtensionStats (.exa.api_server_pb.GetExtensionStatsRequest) returns (.exa.api_server_pb.GetExtensionStatsResponse) {} + rpc SubscribeToBlog (.exa.api_server_pb.SubscribeToBlogRequest) returns (.exa.api_server_pb.SubscribeToBlogResponse) {} + rpc UnsubscribeFromEmails (.exa.api_server_pb.UnsubscribeFromEmailsRequest) returns (.exa.api_server_pb.UnsubscribeFromEmailsResponse) {} + rpc SendReferralEmail (.exa.api_server_pb.SendReferralEmailRequest) returns (.exa.api_server_pb.SendReferralEmailResponse) {} + rpc AccountOwnershipNotificationVerification (.exa.api_server_pb.AccountOwnershipNotificationVerificationRequest) returns (.exa.api_server_pb.AccountOwnershipNotificationVerificationResponse) {} + rpc AccountOwnershipNotificationDismiss (.exa.api_server_pb.AccountOwnershipNotificationDismissRequest) returns (.exa.api_server_pb.AccountOwnershipNotificationDismissResponse) {} + rpc RunCodeAlignment (.exa.api_server_pb.RunCodeAlignmentRequest) returns (.exa.api_server_pb.RunCodeAlignmentResponse) {} + rpc GenerateSyntheticRule (.exa.api_server_pb.GenerateSyntheticRuleRequest) returns (.exa.api_server_pb.GenerateSyntheticRuleResponse) {} + rpc GetUserAllowlist (.exa.api_server_pb.GetUserAllowlistRequest) returns (.exa.api_server_pb.GetUserAllowlistResponse) {} + rpc InsertAllowlist (.exa.api_server_pb.InsertAllowlistRequest) returns (.exa.api_server_pb.InsertAllowlistResponse) {} + rpc DeleteAllowlist (.exa.api_server_pb.DeleteAllowlistRequest) returns (.exa.api_server_pb.DeleteAllowlistResponse) {} + rpc GetAllowlist (.exa.api_server_pb.GetAllowlistRequest) returns (.exa.api_server_pb.GetAllowlistResponse) {} + rpc RegisterHybridDeployment (.exa.api_server_pb.RegisterHybridDeploymentRequest) returns (.exa.api_server_pb.RegisterHybridDeploymentResponse) {} + rpc CreateHybridDeploymentInternal (.exa.api_server_pb.CreateHybridDeploymentInternalRequest) returns (.exa.api_server_pb.CreateHybridDeploymentInternalResponse) {} + rpc RemoveHybridDeploymentInternal (.exa.api_server_pb.RemoveHybridDeploymentInternalRequest) returns (.exa.api_server_pb.RemoveHybridDeploymentInternalResponse) {} + rpc GetHybridDeploymentsInternal (.exa.api_server_pb.GetHybridDeploymentsInternalRequest) returns (.exa.api_server_pb.GetHybridDeploymentsInternalResponse) {} + rpc CheckHybridDeploymentStatus (.exa.api_server_pb.CheckHybridDeploymentStatusRequest) returns (.exa.api_server_pb.CheckHybridDeploymentStatusResponse) {} + rpc LogCompletionsHybrid (.exa.api_server_pb.LogCompletionsHybridRequest) returns (.exa.api_server_pb.LogCompletionsHybridResponse) {} + rpc LogFeedbackHybrid (.exa.api_server_pb.LogFeedbackHybridRequest) returns (.exa.api_server_pb.LogFeedbackHybridResponse) {} + rpc LogChatHybrid (.exa.api_server_pb.LogChatHybridRequest) returns (.exa.api_server_pb.LogChatHybridResponse) {} + rpc LogCascadeSessionHybrid (.exa.api_server_pb.LogCascadeSessionHybridRequest) returns (.exa.api_server_pb.LogCascadeSessionHybridResponse) {} + rpc LogCascadePromptHybrid (.exa.api_server_pb.LogCascadePromptHybridRequest) returns (.exa.api_server_pb.LogCascadePromptHybridResponse) {} + rpc GetStatus (.exa.api_server_pb.GetStatusRequest) returns (.exa.api_server_pb.GetStatusResponse) {} + rpc GetConfig (.exa.api_server_pb.GetConfigRequest) returns (.exa.api_server_pb.GetConfigResponse) {} + rpc GetCascadeModelConfigs (.exa.api_server_pb.GetCascadeModelConfigsRequest) returns (.exa.api_server_pb.GetCascadeModelConfigsResponse) {} + rpc GetCascadeModelConfigsForSite (.exa.api_server_pb.GetCascadeModelConfigsForSiteRequest) returns (.exa.api_server_pb.GetCascadeModelConfigsForSiteResponse) {} + rpc GetCommandModelConfigs (.exa.api_server_pb.GetCommandModelConfigsRequest) returns (.exa.api_server_pb.GetCommandModelConfigsResponse) {} + rpc GetCommandModelConfigsForSite (.exa.api_server_pb.GetCommandModelConfigsForSiteRequest) returns (.exa.api_server_pb.GetCommandModelConfigsForSiteResponse) {} + rpc GetCliModelConfigs (.exa.api_server_pb.GetCliModelConfigsRequest) returns (.exa.api_server_pb.GetCliModelConfigsResponse) {} + rpc GetCliModelConfigsForSite (.exa.api_server_pb.GetCliModelConfigsForSiteRequest) returns (.exa.api_server_pb.GetCliModelConfigsForSiteResponse) {} + rpc GetMcpServerTemplates (.exa.api_server_pb.GetMcpServerTemplatesRequest) returns (.exa.api_server_pb.GetMcpServerTemplatesResponse) {} + rpc RecordTrajectorySegmentAnalytics (.exa.api_server_pb.RecordTrajectorySegmentAnalyticsRequest) returns (.exa.api_server_pb.RecordTrajectorySegmentAnalyticsResponse) {} + rpc RecordTrajectorySegmentEvents (.exa.api_server_pb.RecordTrajectorySegmentEventsRequest) returns (.exa.api_server_pb.RecordTrajectorySegmentEventsResponse) {} + rpc SupportsRemoteIndexing (.exa.api_server_pb.SupportsRemoteIndexingRequest) returns (.exa.api_server_pb.SupportsRemoteIndexingResponse) {} + rpc GetModelStatuses (.exa.api_server_pb.GetModelStatusesRequest) returns (.exa.api_server_pb.GetModelStatusesResponse) {} + rpc GetDeploymentConfig (.exa.api_server_pb.GetDeploymentConfigRequest) returns (.exa.api_server_pb.GetDeploymentConfigResponse) {} + rpc UpsertDeploymentConfig (.exa.api_server_pb.UpsertDeploymentConfigRequest) returns (.exa.api_server_pb.UpsertDeploymentConfigResponse) {} + rpc RecordCascadeUsage (.exa.api_server_pb.RecordCascadeUsageRequest) returns (.exa.api_server_pb.RecordCascadeUsageResponse) {} + rpc ApplyTrajectoryHeuristics (.exa.api_server_pb.ApplyTrajectoryHeuristicsRequest) returns (.exa.api_server_pb.ApplyTrajectoryHeuristicsResponse) {} + rpc GetWebSearchResults (.exa.api_server_pb.GetWebSearchResultsRequest) returns (.exa.api_server_pb.GetWebSearchResultsResponse) {} + rpc GetWebDocsOptions (.exa.api_server_pb.GetWebDocsOptionsRequest) returns (.exa.api_server_pb.GetWebDocsOptionsResponse) {} + rpc GetWebSearchRedirect (.exa.api_server_pb.GetWebSearchRedirectRequest) returns (.exa.api_server_pb.GetWebSearchRedirectResponse) {} + rpc ShareCodeMap (.exa.api_server_pb.ShareCodeMapRequest) returns (.exa.api_server_pb.ShareCodeMapResponse) {} + rpc GetCodeMap (.exa.api_server_pb.GetCodeMapRequest) returns (.exa.api_server_pb.GetCodeMapResponse) {} + rpc GetCodeMapMetadata (.exa.api_server_pb.GetCodeMapMetadataRequest) returns (.exa.api_server_pb.GetCodeMapMetadataResponse) {} + rpc GetSharedCodeMap (.exa.api_server_pb.GetSharedCodeMapRequest) returns (.exa.api_server_pb.GetSharedCodeMapResponse) {} + rpc UpdateCodeMapSharingMode (.exa.api_server_pb.UpdateCodeMapSharingModeRequest) returns (.exa.api_server_pb.UpdateCodeMapSharingModeResponse) {} + rpc ListUserSharedCodeMaps (.exa.api_server_pb.ListUserSharedCodeMapsRequest) returns (.exa.api_server_pb.ListUserSharedCodeMapsResponse) {} + rpc DeleteSharedCodeMap (.exa.api_server_pb.DeleteSharedCodeMapRequest) returns (.exa.api_server_pb.DeleteSharedCodeMapResponse) {} + rpc QueryImageForPixel (.exa.api_server_pb.QueryImageForPixelRequest) returns (.exa.api_server_pb.QueryImageForPixelResponse) {} + rpc GetWindsurfJSAvailableDeployTargets (.exa.api_server_pb.GetWindsurfJSAvailableDeployTargetsRequest) returns (.exa.api_server_pb.GetWindsurfJSAvailableDeployTargetsResponse) {} + rpc ValidateWindsurfJSAppProjectName (.exa.api_server_pb.ValidateWindsurfJSAppProjectNameRequest) returns (.exa.api_server_pb.ValidateWindsurfJSAppProjectNameResponse) {} + rpc CreateWindsurfJSApp (.exa.api_server_pb.CreateWindsurfJSAppRequest) returns (.exa.api_server_pb.CreateWindsurfJSAppResponse) {} + rpc DeployWindsurfJSApp (stream .exa.api_server_pb.DeployWindsurfJSAppRequest) returns (.exa.api_server_pb.DeployWindsurfJSAppResponse) {} + rpc DeleteWindsurfJSApp (.exa.api_server_pb.DeleteWindsurfJSAppRequest) returns (.exa.api_server_pb.DeleteWindsurfJSAppResponse) {} + rpc GetWindsurfJSAppDeploymentClaimStatus (.exa.api_server_pb.GetWindsurfJSAppDeploymentClaimStatusRequest) returns (.exa.api_server_pb.GetWindsurfJSAppDeploymentClaimStatusResponse) {} + rpc GetWindsurfJSAppDeploymentsByProjectId (.exa.api_server_pb.GetWindsurfJSAppDeploymentsByProjectIdRequest) returns (.exa.api_server_pb.GetWindsurfJSAppDeploymentsByProjectIdResponse) {} + rpc GetWindsurfJSApps (.exa.api_server_pb.GetWindsurfJSAppsRequest) returns (.exa.api_server_pb.GetWindsurfJSAppsResponse) {} + rpc GetWindsurfJSAppDeploymentStatusesByProjectId (.exa.api_server_pb.GetWindsurfJSAppDeploymentStatusesByProjectIdRequest) returns (.exa.api_server_pb.GetWindsurfJSAppDeploymentStatusesByProjectIdResponse) {} + rpc GetWindsurfJSAppDeployment (.exa.api_server_pb.GetWindsurfJSAppDeploymentRequest) returns (.exa.api_server_pb.GetWindsurfJSAppDeploymentResponse) {} + rpc GetDeploymentProviderProjectNameByProjectId (.exa.api_server_pb.GetDeploymentProviderProjectNameByProjectIdRequest) returns (.exa.api_server_pb.GetDeploymentProviderProjectNameByProjectIdResponse) {} + rpc GetWindsurfJSDeployTargetByProjectId (.exa.api_server_pb.GetWindsurfJSDeployTargetByProjectIdRequest) returns (.exa.api_server_pb.GetWindsurfJSDeployTargetByProjectIdResponse) {} + rpc GetTranscription (.exa.api_server_pb.GetTranscriptionRequest) returns (.exa.api_server_pb.GetTranscriptionResponse) {} + rpc RegisterOidcProvider (.exa.api_server_pb.RegisterOidcProviderRequest) returns (.exa.api_server_pb.RegisterOidcProviderResponse) {} + rpc UpdateOidcProvider (.exa.api_server_pb.UpdateOidcProviderRequest) returns (.exa.api_server_pb.UpdateOidcProviderResponse) {} + rpc GetTeamOidcProviders (.exa.api_server_pb.GetTeamOidcProvidersRequest) returns (.exa.api_server_pb.GetTeamOidcProvidersResponse) {} + rpc GetAllOidcProviders (.exa.api_server_pb.GetAllOidcProvidersRequest) returns (.exa.api_server_pb.GetAllOidcProvidersResponse) {} + rpc FindTeamByEmail (.exa.api_server_pb.FindTeamByEmailRequest) returns (.exa.api_server_pb.FindTeamByEmailResponse) {} + rpc DeleteOidcProvider (.exa.api_server_pb.DeleteOidcProviderRequest) returns (.exa.api_server_pb.DeleteOidcProviderResponse) {} + rpc GetOidcAuthorizationUrl (.exa.api_server_pb.GetOidcAuthorizationUrlRequest) returns (.exa.api_server_pb.GetOidcAuthorizationUrlResponse) {} + rpc ExchangeOidcCode (.exa.api_server_pb.ExchangeOidcCodeRequest) returns (.exa.api_server_pb.ExchangeOidcCodeResponse) {} + rpc RefreshOidcToken (.exa.api_server_pb.RefreshOidcTokenRequest) returns (.exa.api_server_pb.RefreshOidcTokenResponse) {} + rpc GetSupabaseSecret (.exa.api_server_pb.GetSupabaseSecretRequest) returns (.exa.api_server_pb.GetSupabaseSecretResponse) {} + rpc GetSSOProviders (.exa.api_server_pb.GetSSOProvidersRequest) returns (.exa.api_server_pb.GetSSOProvidersResponse) {} + rpc CreateTrajectoryShareStream (stream .exa.api_server_pb.CreateTrajectoryShareStreamRequest) returns (.exa.api_server_pb.CreateTrajectoryShareStreamResponse) {} + rpc FetchTrajectoryShare (.exa.api_server_pb.FetchTrajectoryShareRequest) returns (.exa.api_server_pb.FetchTrajectoryShareResponse) {} + rpc DeleteTrajectoryShare (.exa.api_server_pb.DeleteTrajectoryShareRequest) returns (.exa.api_server_pb.DeleteTrajectoryShareResponse) {} + rpc FetchTrajectoryShareByUser (.exa.api_server_pb.FetchTrajectoryShareByUserRequest) returns (.exa.api_server_pb.FetchTrajectoryShareByUserResponse) {} + rpc IsConversationSharingBlocked (.exa.api_server_pb.IsConversationSharingBlockedRequest) returns (.exa.api_server_pb.IsConversationSharingBlockedResponse) {} + rpc GetExternalModel (.exa.api_server_pb.GetExternalModelRequest) returns (.exa.api_server_pb.GetExternalModelResponse) {} + rpc GetExternalModelsGroup (.exa.api_server_pb.GetExternalModelsGroupRequest) returns (.exa.api_server_pb.GetExternalModelsGroupResponse) {} + rpc CreateExternalModels (.exa.api_server_pb.CreateExternalModelsRequest) returns (.exa.api_server_pb.CreateExternalModelsResponse) {} + rpc DeleteExternalModels (.exa.api_server_pb.DeleteExternalModelsRequest) returns (.exa.api_server_pb.DeleteExternalModelsResponse) {} + rpc UpdateExternalModels (.exa.api_server_pb.UpdateExternalModelsRequest) returns (.exa.api_server_pb.UpdateExternalModelsResponse) {} + rpc UpdateExternalModelsGroup (.exa.api_server_pb.UpdateExternalModelsGroupRequest) returns (.exa.api_server_pb.UpdateExternalModelsGroupResponse) {} + rpc CheckBugs (.exa.api_server_pb.CheckBugsRequest) returns (.exa.api_server_pb.CheckBugsResponse) {} + rpc GetLifeguardConfig (.exa.api_server_pb.GetLifeguardConfigRequest) returns (.exa.api_server_pb.GetLifeguardConfigResponse) {} + rpc SubmitBugReport (.exa.api_server_pb.SubmitBugReportRequest) returns (.exa.api_server_pb.SubmitBugReportResponse) {} + rpc AcceptBug (.exa.api_server_pb.AcceptBugRequest) returns (.exa.api_server_pb.AcceptBugResponse) {} + rpc RejectBug (.exa.api_server_pb.RejectBugRequest) returns (.exa.api_server_pb.RejectBugResponse) {} +} + +message UpdateArenaConvergeRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string trajectory_id = 2; +} + +message UpdateArenaConvergeResponse { +} + +message AssignArenaModelRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string arena_id = 2; + repeated string cascade_ids = 4; + .exa.codeium_common_pb.ArenaTier arena_tier = 3; + string model_router_uid = 5; +} + +message ArenaModelAssignment { + string cascade_id = 1; + string arena_assignment_jwt = 2; + string model_uid = 3; + string harness_uid = 4; +} + +message AssignArenaModelResponse { + repeated .exa.api_server_pb.ArenaModelAssignment assignments = 1; +} + +message GetTranscriptionRequest { + message LatencyInfoEntry { + string key = 1; + uint64 value = 2; + } + + .exa.codeium_common_pb.Metadata metadata = 1; + bytes audio_data = 2; + string prompt = 3; + repeated .exa.api_server_pb.GetTranscriptionRequest.LatencyInfoEntry latency_info = 4; +} + +message GetTranscriptionResponse { + string transcribed_text = 2; +} + +message RecordNewCortexPlanRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string cortex_id = 2; + .exa.cortex_pb.CortexRequestSource request_source = 6; + string plan_goal = 3; + repeated string input_files = 4; + repeated string input_directories = 5; +} + +message RecordNewCortexPlanResponse { +} + +message RecordCortexErrorRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string cortex_id = 2; + string error = 3; + string error_detail = 4; + .exa.codeium_common_pb.CortexErrorCategory category = 5; + string category_id = 6; + string test = 7; +} + +message RecordCortexErrorResponse { +} + +message RecordCortexCodingPlanRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string coding_plan_id = 2; + string cortex_id = 3; + string coding_plan_goal = 4; + .exa.codeium_common_pb.ChatNodeConfig model_config = 5; + string system_prompt = 6; + repeated .exa.chat_pb.ChatMessagePrompt message_prompts = 7; + repeated uint64 num_output_tokens = 10; + repeated uint64 response_latencies_ms = 11; +} + +message RecordCortexCodingPlanResponse { +} + +message RecordCortexCodingStepRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string coding_step_id = 2; + string coding_plan_id = 3; + uint32 step_index = 4; + string action_type = 5; + string instruction = 6; + string source = 7; + string target = 8; + string action_spec_json = 9; + string step_outline_json = 10; + uint32 step_version = 11; + uint32 plan_version = 12; +} + +message RecordCortexCodingStepResponse { +} + +message RecordCortexCodingStepFeedbackRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string coding_step_id = 2; + .exa.api_server_pb.FeedbackType feedback = 3; + string completion_id = 4; +} + +message RecordCortexCodingStepFeedbackResponse { +} + +message RecordCortexFeedbackRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string cortex_id = 2; + string feedback = 3; + int32 rating = 4; +} + +message RecordCortexFeedbackResponse { +} + +message RecordDebounceRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + .exa.codeium_common_pb.ProviderSource provider_source = 2; + .exa.codeium_common_pb.Language language = 3; + string editor_language = 4; + uint64 prompt_latency_ms = 5; + uint64 debounce_latency_ms = 6; +} + +message RecordDebounceResponse { +} + +message OpportunityMetadata { + .exa.codeium_common_pb.Metadata metadata = 1; + .exa.codeium_common_pb.Language language = 2; + .exa.codeium_common_pb.CompletionType completion_type = 3; + .exa.codeium_common_pb.CompletionSource completion_source = 4; + .exa.codeium_common_pb.Repository repository = 5; +} + +message RecordOpportunitiesRequest { + repeated .exa.api_server_pb.OpportunityMetadata opportunities = 1; +} + +message RecordOpportunitiesResponse { +} + +message ByteDeltaInfo { + .exa.codeium_common_pb.CodeSource code_source = 1; + int32 num_bytes = 2; + .exa.codeium_common_pb.CompletionType completion_type = 3; + .exa.codeium_common_pb.ProviderSource provider_source = 4; + string generator_model = 5; + int32 bytes_added = 6; + int32 bytes_deleted = 7; +} + +message CodeTrackerUpdate { + .exa.codeium_common_pb.Metadata metadata = 1; + .exa.codeium_common_pb.Language language = 2; + repeated .exa.api_server_pb.ByteDeltaInfo byte_deltas = 3; +} + +message RecordCodeTrackerUpdatesRequest { + repeated .exa.api_server_pb.CodeTrackerUpdate updates = 1; +} + +message RecordCodeTrackerUpdatesResponse { +} + +message RecordCompletionExampleRequest { + .exa.codeium_common_pb.CompletionExample example = 1; +} + +message RecordCompletionExampleResponse { +} + +message GetCompletionsRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + .exa.codeium_common_pb.CompletionsRequest request = 2; + .exa.codeium_common_pb.ProviderSource provider_source = 4; + .exa.codeium_common_pb.PromptComponents prompt_components = 5; + .exa.codeium_common_pb.ExperimentConfig experiment_config = 6; + .exa.codeium_common_pb.MockResponseData mock_response_data = 3; + bool is_dev = 7; + string prompt_id = 8; +} + +message GetCompletionsResponse { + .exa.codeium_common_pb.CompletionResponse completion_response = 1; + double latency = 2; + .exa.codeium_common_pb.CompletionsRequest completions_request = 3; +} + +message CciWithSubrangeBatch { + repeated .exa.codeium_common_pb.CciWithSubrange cci_with_subranges = 1; +} + +message EarlyReturnConfig { + double min_complete_fraction = 1; + int32 min_additional_wait_ms = 2; + float min_additional_wait_multiplier = 3; +} + +message GetMQueryRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + .exa.codeium_common_pb.Model model = 2; + string query = 3; + repeated .exa.api_server_pb.CciWithSubrangeBatch cci_with_subrange_batches = 4; + .exa.api_server_pb.EarlyReturnConfig early_return_config = 5; +} + +message ScoreWithStatus { + .exa.api_server_pb.MQueryScoreStatus status = 1; + float score = 2; + string error = 3; +} + +message ScoreBatch { + repeated .exa.api_server_pb.ScoreWithStatus scores = 1; +} + +message GetMQueryResponse { + repeated .exa.api_server_pb.ScoreBatch score_batches = 1; + string scorer_name = 2; + uint32 tokens_processed = 3; +} + +message GetStreamingCompletionsRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + .exa.codeium_common_pb.CompletionsRequest request = 2; + .exa.codeium_common_pb.ProviderSource provider_source = 4; + .exa.codeium_common_pb.PromptComponents prompt_components = 5; + .exa.codeium_common_pb.ExperimentConfig experiment_config = 6; + bool is_dev = 7; + string prompt_id = 8; + .exa.prompt_pb.UnifiedPromptComponents unified_prompt_components = 9; + .exa.cortex_pb.CortexTrajectoryReference cortex_trajectory_reference = 10; +} + +message GetStreamingCompletionsResponse { + .exa.codeium_common_pb.StreamingCompletionResponse completion_response = 1; + double latency = 2; +} + +message CancelCompletionsRequest { + .exa.codeium_common_pb.Metadata metadata = 1; +} + +message CancelCompletionsResponse { +} + +message GetChatCompletionsRequest { + reserved "skip_completion_telemetry"; + reserved 7; + .exa.codeium_common_pb.Metadata metadata = 1; + repeated .exa.chat_pb.ChatMessagePrompt chat_message_prompts = 2; + string system_prompt = 3; + .exa.codeium_common_pb.CompletionsRequest completions_request = 4; + .exa.codeium_common_pb.ProviderSource provider_source = 5; + .exa.codeium_common_pb.Model model_id = 6; + .exa.codeium_common_pb.ExperimentConfig experiment_config = 8; + string prompt_id = 9; +} + +message GetChatCompletionsResponse { + .exa.codeium_common_pb.CompletionResponse completion_response = 1; + double latency = 2; +} + +message GetStreamingExternalChatCompletionsResponse { + .exa.codeium_common_pb.CompletionDeltaMap delta_map = 1; + double latency = 2; +} + +message GetEmbeddingsRequest { + reserved "high_priority"; + reserved 2; + .exa.codeium_common_pb.EmbeddingsRequest request = 1; + .exa.api_server_pb.EmbeddingRetryPolicy retry_policy = 3; + .exa.codeium_common_pb.Model embedding_model = 4; +} + +message GetEmbeddingsResponse { + .exa.codeium_common_pb.EmbeddingResponse response = 1; + double latency = 2; +} + +message BatchRecordUserLastUpdateTimesRequest { + message UserLastUpdateTimesEntry { + string key = 1; + .exa.codeium_common_pb.LastUpdateRecord value = 2; + } + + repeated .exa.api_server_pb.BatchRecordUserLastUpdateTimesRequest.UserLastUpdateTimesEntry user_last_update_times = 1; +} + +message BatchRecordUserLastUpdateTimesResponse { +} + +message RecordChatRequestRecordRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + .exa.api_server_pb.GetChatMessageRequest chat_request = 2; + bool disable_telemetry = 3; + string deployment = 4; + string start_time = 5; + string end_time = 6; + .exa.codeium_common_pb.UserStatus user_status = 7; + string error = 8; + string request_uid = 9; + string response_text = 10; + repeated .exa.codeium_common_pb.ChatToolCall response_tool_calls = 11; +} + +message BatchRecordChatRequestRecordsRequest { + repeated .exa.api_server_pb.RecordChatRequestRecordRequest chat_records = 1; +} + +message BatchRecordChatRequestRecordsResponse { +} + +message GetCompletionExamplesRequest { + uint32 max_examples = 1; + string api_key = 2; +} + +message GetCompletionExamplesResponse { + repeated .exa.codeium_common_pb.CompletionExampleWithMetadata examples = 1; +} + +message ProvideFeedbackRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string prompt_id = 2; + string completion_id = 3; + .exa.codeium_common_pb.CompletionSource source = 4; + .exa.api_server_pb.FeedbackType feedback = 5; + .exa.api_server_pb.FeedbackExtraInfo extra_info = 12; + uint64 latency_ms = 6; + uint64 network_latency_ms = 8; + uint64 debounce_latency_ms = 9; + uint64 client_latency_ms = 10; + int64 timestamp_unix_ms = 7; + int64 feedback_delay_ms = 11; + .exa.codeium_common_pb.ProviderSource provider_source = 13; + uint64 view_columns_open = 14; + bool has_active_vim_extension = 15; +} + +message ProvideFeedbackResponse { +} + +message UploadErrorTracesRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + repeated .exa.codeium_common_pb.ErrorTrace error_traces = 2; +} + +message UploadErrorTracesResponse { +} + +message RecordAsyncTelemetryRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + repeated .exa.codeium_common_pb.ErrorTrace error_traces = 2; + repeated .exa.codeium_common_pb.WorkspaceIndexData workspace_index_data = 3; + repeated .exa.codeium_common_pb.WorkspaceStats workspace_stats = 4; + bytes memory_stats = 5; + .exa.codeium_common_pb.IndexerStats indexer_stats = 6; +} + +message RecordAsyncTelemetryResponse { +} + +message RecordAutoCascadeTelemetryRequest { + reserved "et"; + reserved "sk"; + reserved "ak"; + reserved "gci"; + reserved "gr"; + reserved "gu"; + reserved "tuc"; + reserved "tdc"; + reserved "bn"; + reserved "bs"; + reserved "tid"; + reserved 2; + reserved 3; + reserved 4; + reserved 5; + reserved 6; + reserved 7; + reserved 8; + reserved 9; + reserved 10; + reserved 11; + reserved 12; + .exa.codeium_common_pb.Metadata metadata = 1; + string event_type = 13; + string session_key = 14; + string api_key = 15; + string github_comment_id = 16; + string github_repo = 17; + string github_username = 18; + int32 thumbs_up_count = 19; + int32 thumbs_down_count = 20; + string branch_name = 21; + string branch_status = 22; + string team_id = 23; + string github_owner = 24; + int32 pr_number = 25; + bool is_public_repo = 26; + string comment_type = 27; +} + +message RecordAutoCascadeTelemetryResponse { +} + +message RecordWindsurfReviewsTelemetryRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string event_type = 2; + string api_key = 3; + string github_comment_id = 4; + string github_repo = 5; + string github_username = 6; + int32 thumbs_up_count = 7; + int32 thumbs_down_count = 8; + string branch_name = 9; + string branch_status = 10; + string team_id = 11; + string github_owner = 12; + int32 pr_number = 13; + bool is_public_repo = 14; + string comment_type = 15; +} + +message RecordWindsurfReviewsTelemetryResponse { +} + +message RecordWindsurfReviewEventRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string event_type = 2; + string api_key = 3; + string github_owner = 4; + string github_repo = 5; + string github_username = 6; + string team_id = 7; + float cost = 8; + string model = 9; + string failure_reason = 10; +} + +message RecordWindsurfReviewEventResponse { +} + +message GetDevstralStreamRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + repeated .exa.chat_pb.ChatMessagePrompt chat_message_prompts = 2; + string tools_json = 3; +} + +message GetDevstralStreamResponse { + string output = 2; + repeated .exa.codeium_common_pb.ChatToolCall tool_calls = 3; +} + +message GetChatMessageRequest { + reserved "model_name"; + reserved 4; + .exa.codeium_common_pb.Metadata metadata = 1; + string prompt = 2; + repeated .exa.chat_pb.ChatMessagePrompt chat_message_prompts = 3; + bool use_internal_chat_model = 5; + .exa.codeium_common_pb.Model internal_chat_model = 6; + string chat_model_uid = 21; + .exa.api_server_pb.ChatMessageRequestType request_type = 7; + .exa.codeium_common_pb.CompletionConfiguration configuration = 8; + .exa.codeium_common_pb.ExperimentConfig experiment_config = 9; + repeated .exa.chat_pb.ChatToolDefinition tools = 10; + bool disable_parallel_tool_calls = 11; + .exa.chat_pb.ChatToolChoice tool_choice = 12; + .exa.chat_pb.PromptCacheOptions system_prompt_cache_options = 13; + string chat_model_name = 14; + .exa.cortex_pb.CortexTrajectoryReference trajectory_reference = 15; + string cascade_id = 16; + string prompt_id = 17; + .exa.codeium_common_pb.ProviderSource provider_source = 18; + .exa.codeium_common_pb.Language language = 19; + .exa.codeium_common_pb.ConversationalPlannerMode planner_mode = 20; + string execution_id = 22; + optional .exa.codeium_common_pb.ArenaTier arena_tier = 23; + optional int32 arena_converge_count = 24; + optional string arena_assignment_jwt = 25; +} + +message GetChatMessageResponse { + string message_id = 1; + .google.protobuf.Timestamp timestamp = 2; + string delta_text = 3; + uint32 delta_tokens = 4; + .exa.codeium_common_pb.StopReason stop_reason = 5; + repeated .exa.codeium_common_pb.ChatToolCall delta_tool_calls = 6; + .exa.codeium_common_pb.ModelUsageStats usage = 7; + int32 credit_cost = 14; + bool redact = 8; + string delta_thinking = 9; + string delta_signature = 10; + bool thinking_redacted = 11; + double latency = 12; + .exa.codeium_common_pb.CompletionProfile completion_profile = 13; + string output_id = 15; + string thinking_id = 16; + string request_id = 17; + int32 committed_credit_cost = 18; + string prompt = 19; + bytes gemini_thought_signature = 20; + string delta_signature_type = 21; + double committed_acu_cost = 22; + bool arena_invocation_cap_reached = 24; + optional string actual_model_uid = 23; +} + +message CheckUserMessageRateLimitRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + .exa.codeium_common_pb.Model model_deprecated = 2; + string model_uid = 3; +} + +message CheckUserMessageRateLimitResponse { + bool has_capacity = 1; + string message = 2; + int32 messages_remaining = 3; + int32 max_messages = 4; + int64 resets_in_seconds = 5; +} + +message GetDeepWikiRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + .exa.chat_pb.DeepWikiRequestType request_type = 2; + string symbol_name = 3; + string symbol_uri = 4; + string context = 5; + .exa.chat_pb.DeepWikiSymbolType symbol_type = 6; + string language = 7; + bool generate_followups = 8; +} + +message GetDeepWikiResponse { + .exa.api_server_pb.GetChatMessageResponse response = 1; + .exa.codeium_common_pb.DeepWikiModelType model_type = 2; + bool is_followup = 3; +} + +message CheckChatCapacityRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + .exa.codeium_common_pb.Model model_deprecated = 2; + string model_uid = 3; +} + +message CheckChatCapacityResponse { + bool has_capacity = 1; + string message = 2; + int32 active_sessions = 3; +} + +message GetStreamingModelAPITextCompletionRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + .exa.codeium_common_pb.Model model = 2; + string system_prompt = 3; + .exa.chat_pb.PromptCacheOptions system_prompt_cache_options = 7; + repeated .exa.chat_pb.ChatMessagePrompt chat_message_prompts = 4; + .exa.codeium_common_pb.CompletionConfiguration completion_configuration = 5; + .exa.api_server_pb.ChatMessageRequestType request_type = 6; + .exa.codeium_common_pb.ModelInfo override_model_info = 8; +} + +message GetStreamingModelAPITextCompletionResponse { + .exa.codeium_common_pb.CompletionDeltaMap delta_map = 1; +} + +message RecordChatRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + uint64 latency_ms = 2; + .exa.chat_pb.ChatMessage chat_message = 3; + repeated .exa.chat_pb.ChatMessagePrompt chat_message_prompts = 4; + string system_prompt = 5; + .exa.codeium_common_pb.ContextInclusionType context_inclusion_type = 6; + string experiment_features_json = 7; + string experiment_variant_json = 9; + .exa.codeium_common_pb.Model model_id = 8; + repeated string active_repos = 10; + string guideline_prompt = 11; + .exa.prompt_pb.UnifiedPromptComponents chat_prompt_components = 13; + .exa.cortex_pb.CortexTrajectoryReference cortex_trajectory_reference = 14; + .exa.codeium_common_pb.ContextScope pinned_context = 15; +} + +message RecordChatResponse { +} + +message RecordChatFeedbackRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string message_id = 2; + .exa.chat_pb.ChatFeedbackType feedback = 3; + string reason = 4; + .google.protobuf.Timestamp timestamp = 5; +} + +message RecordChatFeedbackResponse { +} + +message RecordChatPanelSessionRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + .google.protobuf.Timestamp start_timestamp = 2; + .google.protobuf.Timestamp end_timestamp = 3; +} + +message RecordChatPanelSessionResponse { +} + +message RecordContextRefreshRequest { + message CodeContextCountsEntry { + string key = 1; + uint64 value = 2; + } + + .exa.codeium_common_pb.Metadata metadata = 1; + .exa.context_module_pb.ContextRefreshReason refresh_reason = 2; + bool did_refresh = 3; + string current_document_absolute_path = 4; + string current_document_relative_path = 5; + string current_document_workspace = 6; + string current_chat_message_id = 7; + .exa.codeium_common_pb.Language current_document_language = 8; + uint64 latency_ms = 9; + uint64 state_update_latency_ms = 10; + repeated .exa.api_server_pb.RecordContextRefreshRequest.CodeContextCountsEntry code_context_counts = 11; + .google.protobuf.Timestamp timestamp = 12; + repeated string local_codebase_queries = 13; + string context_module_stats_json = 14; + string refresh_error = 15; +} + +message RecordContextRefreshResponse { +} + +message RecordEventRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + repeated .exa.codeium_common_pb.Event events = 2; +} + +message RecordEventResponse { +} + +message RecordPinnedContextRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + .exa.codeium_common_pb.ContextScope scope = 2; + .exa.codeium_common_pb.ContextScope previous_scope = 3; +} + +message RecordPinnedContextResponse { +} + +message RecordSearchRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string query = 2; + string search_id = 3; + uint64 latency_ms = 4; + .exa.codeium_common_pb.SearchResultType search_type = 5; +} + +message RecordMQueryRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string refresh_reason = 2; + string query = 3; + .google.protobuf.Timestamp timestamp = 4; + int64 items_scanned = 5; + int64 tokens_processed = 6; + int64 job_duration_ms = 7; + string request_id = 8; + string error_json = 9; + string relevance_scorer_model = 10; +} + +message RecordMQueryResponse { +} + +message RecordChatModelNodeRunRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string run_id = 2; + string mixin_type = 3; + uint64 latency_ms = 4; + string system_prompt = 5; + repeated .exa.chat_pb.ChatMessagePrompt chat_message_prompts = 6; + .exa.codeium_common_pb.ContextInclusionType context_inclusion_type = 7; + .exa.codeium_common_pb.Model model_id = 8; + .google.protobuf.Timestamp timestamp = 9; + string error = 10; + int32 num_iterations = 11; + int32 completion_tokens = 12; + int32 prompt_tokens = 13; +} + +message RecordChatModelNodeRunResponse { +} + +message RecordCortexStepRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string cortex_plan_id = 2; + .exa.cortex_pb.CortexTrajectoryStep step_proto = 3; + string execution_id = 4; + .exa.cortex_pb.CortexWorkflowState state_snapshot = 5; + string event_source = 6; +} + +message RecordCortexStepResponse { +} + +message RecordTrajectorySegmentAnalyticsRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + .exa.cortex_pb.CortexTrajectory trajectory_segment = 2; + uint32 start_step_index = 3; + uint32 start_generator_metadata_index = 4; +} + +message RecordTrajectorySegmentAnalyticsResponse { +} + +message RecordTrajectorySegmentEventsRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string trajectory_id = 2; + string execution_id = 3; + repeated .exa.codeium_common_pb.MetricsRecord records = 4; + string event_type = 5; + .exa.cortex_pb.CortexTrajectorySource trajectory_source = 6; + .exa.cortex_pb.CortexTrajectoryType trajectory_type = 7; + .exa.codeium_common_pb.ModelOrAlias model_deprecated = 8; + string model_uid = 9; +} + +message RecordTrajectorySegmentEventsResponse { +} + +message RecordCortexGeneratorMetadataRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string trajectory_id = 2; + string cascade_id = 3; + .exa.cortex_pb.CortexStepGeneratorMetadata generator_metadata = 4; + uint32 metadata_index = 5; + int32 last_common_index = 6; +} + +message RecordCortexGeneratorMetadataResponse { +} + +message RecordCommitMessageGenerationRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + uint64 generation_duration_ms = 2; + string system_prompt = 3; + string full_prompt = 4; + int32 prompt_tokens = 5; + int32 completion_tokens = 6; + string repo_root = 7; + string branch_name = 8; + string latest_commit_hash = 9; + uint32 num_files_changed = 10; + uint32 num_lines_added = 11; + uint32 num_lines_deleted = 12; + string commit_message_summary = 13; + string commit_message_description = 14; +} + +message RecordCortexExecutionMetadataResponse { +} + +message RecordCortexExecutionMetadataRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string execution_id = 2; + string cascade_id = 3; + string trajectory_id = 4; + string experiment_json = 5; + string experiment_variants_json = 6; + .exa.cortex_pb.CascadeConfig cascade_config = 7; +} + +message RecordCommitMessageGenerationResponse { +} + +message RecordStateInitializationDataRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + .exa.cortex_pb.StateInitializationData state_initialization_data = 2; +} + +message RecordStateInitializationDataResponse { +} + +message RecordCommitMessageSaveRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string repo_root = 2; + string branch_name = 3; + string commit_hash = 4; + string commit_message = 5; + .google.protobuf.Timestamp commit_timestamp = 6; + string parent_commit_hash = 7; + string author_name = 8; + string author_email = 9; +} + +message RecordCommitMessageSaveResponse { +} + +message RecordSearchResponse { +} + +message RecordSearchResultsRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + repeated .exa.codeium_common_pb.SearchResultRecord search_results = 2; +} + +message RecordSearchResultsResponse { +} + +message RecordSearchDocOpenRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string result_id = 2; +} + +message RecordSearchDocOpenResponse { +} + +message RecordSearchResultsViewRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string cluster_search_id = 2; + string exact_search_id = 3; + repeated string search_result_ids = 4; +} + +message RecordSearchResultsViewResponse { +} + +message CaptureCodeRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string prompt_id = 2; + string code = 3; + uint64 timeout_sec = 4; + string completion_text = 5; + float relative_edit_distance = 6; + uint32 edit_distance = 7; + string match = 8; + uint32 start_edit_distance = 9; + string start_match = 10; + .exa.codeium_common_pb.ProviderSource provider_source = 11; + string completion_id = 12; + string diagnostic_severity = 13; +} + +message CaptureCodeResponse { +} + +message CaptureFileRequest { + .exa.codeium_common_pb.CaptureFileRequestData data = 1; +} + +message CaptureFileResponse { +} + +message SupportsRemoteIndexingRequest { +} + +message SupportsRemoteIndexingResponse { + bool supports_remote_indexing = 1; +} + +message GetModelStatusesRequest { + .exa.codeium_common_pb.Metadata metadata = 1; +} + +message GetModelStatusesResponse { + repeated .exa.codeium_common_pb.ModelStatusInfo model_status_infos = 1; +} + +message RegisterExternalUserRequest { + string uid = 1; + .exa.codeium_common_pb.AuthSource auth_source = 2; + string private_key = 3; +} + +message RegisterExternalUserResponse { +} + +message DeleteExternalUserRequest { + string uid = 1; + .exa.codeium_common_pb.AuthSource auth_source = 2; + string private_key = 3; +} + +message DeleteExternalUserResponse { +} + +message SubscribeRequest { + string firebase_id_token = 1; + bool newsletter = 2; + bool disabled_telemetry = 3; + string inbound_source = 4; + string signup_stage = 5; + string registration_code = 6; +} + +message SubscribeResponse { +} + +message GetSubscriptionsRequest { + string firebase_id_token = 1; +} + +message GetSubscriptionsResponse { + bool exists = 1; + bool newsletter = 2; + bool disabled_telemetry = 3; + string inbound_source = 4; + string signup_stage = 5; +} + +message ValidateEmailRequest { + string email = 1; +} + +message ValidateEmailResponse { + bool valid = 1; +} + +message ValidateRegistrationCodeRequest { + string registration_code = 1; +} + +message ValidateRegistrationCodeResponse { + bool valid = 1; +} + +message JoinWaitlistRequest { + string feature_name = 1; + string email = 2; +} + +message JoinWaitlistResponse { + string result = 1; +} + +message ContactFormRequest { + string name = 1; + string email = 2; + string organization = 3; + string job_title = 4; + string phone_number = 5; + string details = 6; + string how_did_you_hear_about_us = 7; + string seats = 8; +} + +message ContactFormResponse { +} + +message SubscribeToBlogRequest { + string email = 1; +} + +message SubscribeToBlogResponse { +} + +message UnsubscribeFromEmailsRequest { + string email = 1; +} + +message UnsubscribeFromEmailsResponse { +} + +message SendReferralEmailRequest { + string auth_token = 1; + string email = 2; + string details = 3; +} + +message SendReferralEmailResponse { +} + +message AccountOwnershipNotificationVerificationRequest { + string auth_token = 1; +} + +message AccountOwnershipNotificationVerificationResponse { + bool should_show = 1; + string verification_code = 2; +} + +message AccountOwnershipNotificationDismissRequest { + string auth_token = 1; +} + +message AccountOwnershipNotificationDismissResponse { + bool success = 1; +} + +message PingRequest { + uint64 work_duration_ms = 1; +} + +message PingResponse { + uint64 latency_ms = 1; +} + +message GetExtensionStatsRequest { +} + +message GetExtensionStatsResponse { + int64 vs_code_downloads = 1; + int64 jetbrain_downloads = 2; + int64 vim_stars = 3; +} + +message RegisterHybridDeploymentRequest { + string version = 1; + string team_id = 2; + string base_url = 3; + string auth_token = 4; +} + +message RegisterHybridDeploymentResponse { +} + +message CreateHybridDeploymentInternalRequest { + string version = 1; + string team_id = 2; + string base_url = 3; + string secret = 4; +} + +message CreateHybridDeploymentInternalResponse { +} + +message RemoveHybridDeploymentInternalRequest { + string team_id = 1; + string secret = 2; +} + +message RemoveHybridDeploymentInternalResponse { +} + +message GetHybridDeploymentsInternalRequest { + string secret = 1; +} + +message HybridDeployment { + string team_id = 1; + string shared_secret = 2; + string base_url = 3; + string version = 4; +} + +message GetHybridDeploymentsInternalResponse { + repeated .exa.api_server_pb.HybridDeployment deployments = 1; +} + +message CheckHybridDeploymentStatusRequest { + string auth_token = 1; + string team_id = 2; +} + +message CheckHybridDeploymentStatusResponse { + .exa.api_server_pb.HybridDeploymentStatus status = 1; + string error = 2; +} + +message LogCompletionsHybridRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + repeated .exa.codeium_common_pb.CompletionWithLatencyInfo completions_with_latency_info = 2; + .exa.codeium_common_pb.ProviderSource provider_source = 3; + string repo_name = 4; + string relative_path = 5; + string model_tag = 6; +} + +message LogCompletionsHybridResponse { +} + +message LogFeedbackHybridRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string completion_id = 2; + .exa.api_server_pb.FeedbackType feedback = 3; +} + +message LogFeedbackHybridResponse { +} + +message LogChatHybridRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + repeated .exa.chat_pb.ChatMessagePrompt messages = 2; + string conversation_id = 3; + repeated string active_repos = 4; + .exa.chat_pb.ChatMessage chat_message = 5; + string message_text = 6; +} + +message LogChatHybridResponse { +} + +message LogCascadeSessionHybridRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + repeated string workspace_paths = 2; +} + +message LogCascadeSessionHybridResponse { +} + +message LogCascadePromptHybridRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string user_prompt = 2; + string model_name = 3; + string repo = 4; +} + +message LogCascadePromptHybridResponse { +} + +message GetStatusRequest { + .exa.codeium_common_pb.Metadata metadata = 1; +} + +message GetStatusResponse { + .exa.codeium_common_pb.IdeStatus status = 1; + bool show_review_prompt = 2; +} + +message GetCascadeModelConfigsRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + optional bool filter = 2; +} + +message GetCascadeModelConfigsForSiteRequest { + string api_key = 1; + string ide_name = 2; + string ide_version = 3; + string extension_version = 4; + string auth_token = 6; + optional bool filter = 5; +} + +message GetCascadeModelConfigsResponse { + 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; +} + +message GetCascadeModelConfigsForSiteResponse { + repeated .exa.codeium_common_pb.ClientModelConfig client_model_configs = 1; + repeated .exa.codeium_common_pb.ClientModelSort client_model_sorts = 2; + repeated .exa.codeium_common_pb.Model default_off_models_for_teams = 3; +} + +message GetCommandModelConfigsRequest { + .exa.codeium_common_pb.Metadata metadata = 1; +} + +message GetCommandModelConfigsResponse { + repeated .exa.codeium_common_pb.ClientModelConfig client_model_configs = 1; +} + +message GetCommandModelConfigsForSiteRequest { + string auth_token = 1; +} + +message GetCommandModelConfigsForSiteResponse { + repeated .exa.codeium_common_pb.ClientModelConfig client_model_configs = 1; +} + +message GetCliModelConfigsRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + optional bool filter = 2; +} + +message GetCliModelConfigsResponse { + repeated .exa.codeium_common_pb.ClientModelConfig client_model_configs = 1; + repeated .exa.codeium_common_pb.ClientModelSort client_model_sorts = 2; +} + +message GetCliModelConfigsForSiteRequest { + string auth_token = 1; + optional bool filter = 2; +} + +message GetCliModelConfigsForSiteResponse { + repeated .exa.codeium_common_pb.ClientModelConfig client_model_configs = 1; + repeated .exa.codeium_common_pb.ClientModelSort client_model_sorts = 2; + repeated .exa.codeium_common_pb.Model default_off_models_for_teams = 3; +} + +message GetConfigRequest { +} + +message GetConfigResponse { + repeated string repo_blacklist = 1; +} + +message GetMcpServerTemplatesRequest { + .exa.codeium_common_pb.Metadata metadata = 1; +} + +message GetMcpServerTemplatesResponse { + repeated .exa.codeium_common_pb.McpServerTemplate templates = 1; +} + +message QueryParameter { + message ParametersEntry { + string key = 1; + string value = 2; + } + + repeated .exa.api_server_pb.QueryParameter.ParametersEntry parameters = 1; +} + +message QueryResult { + message RecordEntry { + string key = 1; + string value = 2; + } + + repeated .exa.api_server_pb.QueryResult.RecordEntry record = 1; +} + +message RunCodeAlignmentRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string file_content = 2; + int32 offset = 3; + repeated .exa.codeium_common_pb.Rule rules = 4; +} + +message RunCodeAlignmentResponse { + repeated .exa.codeium_common_pb.RuleViolation violations = 1; +} + +message GenerateSyntheticRuleRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string comment_body = 2; + string file_content = 3; + int32 line_number = 4; +} + +message GenerateSyntheticRuleResponse { + .exa.codeium_common_pb.Rule rule = 1; +} + +message FileExtensionStats { + string extension = 1; + int32 lines_added = 2; + int32 lines_deleted = 3; +} + +message GitCommit { + .google.protobuf.Timestamp timestamp = 1; + repeated .exa.api_server_pb.FileExtensionStats file_extension_stats = 2; + string commit = 3; +} + +message RecordGitTelemetryRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + repeated .exa.api_server_pb.GitCommit git_commits = 2; + string repo_name = 3; +} + +message RecordGitTelemetryResponse { +} + +message RecordProfilingDataHeader { + .exa.codeium_common_pb.Metadata metadata = 1; + string application = 2; + string resource = 3; +} + +message RecordProfilingDataData { + bytes data = 1; +} + +message RecordProfilingDataRequest { + oneof chunk { + .exa.api_server_pb.RecordProfilingDataHeader header = 1; + .exa.api_server_pb.RecordProfilingDataData data = 2; + } +} + +message RecordProfilingDataResponse { +} + +message RecordReadUrlContentRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string url = 2; + .exa.codeium_common_pb.KnowledgeBaseItem web_document = 3; + uint32 latency_ms = 4; + bool is_cached = 5; +} + +message RecordReadUrlContentResponse { +} + +message GetDeploymentConfigRequest { + .exa.api_server_pb.DeploymentConfigKey key = 1; +} + +message GetDeploymentConfigResponse { + string value = 1; + .google.protobuf.Timestamp created_at = 2; + .google.protobuf.Timestamp last_updated_at = 3; + string last_updated_by = 4; + string description = 5; +} + +message UpsertDeploymentConfigRequest { + .exa.api_server_pb.DeploymentConfigKey key = 1; + string value = 2; + string api_key = 3; +} + +message UpsertDeploymentConfigResponse { +} + +message GetUserAllowlistRequest { + string email = 1; +} + +message GetUserAllowlistResponse { + string email = 1; + string created_by = 2; + .google.protobuf.Timestamp created_at = 3; +} + +message InsertAllowlistRequest { + string email = 1; + string created_by = 2; +} + +message InsertAllowlistResponse { +} + +message DeleteAllowlistRequest { + string email = 1; + string api_key = 2; +} + +message DeleteAllowlistResponse { +} + +message GetAllowlistRequest { +} + +message GetAllowlistResponse { + repeated .exa.api_server_pb.GetUserAllowlistResponse allowlist = 1; +} + +message RecordCascadeUsageRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string trajectory_id = 2; + int32 step_index = 3; + int32 prompt_credits_used = 4; + int32 flow_credits_used = 5; + .exa.codeium_common_pb.ConversationalPlannerMode planner_mode = 6; + string cascade_id = 7; + .exa.codeium_common_pb.ModelOrAlias model = 8; + bool record_analytics_usage = 9; + .exa.codeium_common_pb.ModelPricingType pricing_type = 10; + .exa.codeium_common_pb.ModelUsageStats model_usage_stats = 11; + bool is_user_input = 12; + .exa.api_server_pb.ChatMessageRequestType request_type = 13; + double cascade_acu_multiplier = 14; + double external_acu_multiplier = 15; + string execution_id = 16; + double cli_acu_multiplier = 17; + string model_uid = 18; +} + +message RecordCascadeUsageResponse { + reserved "plan_info"; + reserved 1; + .exa.codeium_common_pb.UserStatus user_status = 2; +} + +message GetWebSearchResultsRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string query = 2; + uint32 limit = 3; + string domain = 4; + .exa.codeium_common_pb.ThirdPartyWebSearchConfig third_party_config = 5; +} + +message GetWebSearchResultsResponse { + repeated .exa.codeium_common_pb.KnowledgeBaseItem results = 1; + string web_search_url = 2; + string summary = 3; +} + +message GetWebDocsOptionsRequest { + .exa.codeium_common_pb.Metadata metadata = 1; +} + +message GetWebDocsOptionsResponse { + repeated .exa.codeium_common_pb.WebDocsOption options = 1; +} + +message GetWebSearchRedirectRequest { + string original_url = 1; +} + +message GetWebSearchRedirectResponse { + string redirect_url = 1; +} + +message ShareCodeMapRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string code_map_json = 2; + string title = 3; +} + +message ShareCodeMapResponse { + string share_url = 1; +} + +message GetCodeMapRequest { + string auth_token = 1; + string code_map_id = 2; +} + +message GetCodeMapResponse { + string code_map_json = 1; + bool is_owner = 2; + string sharing_mode = 3; + string highest_allowed_sharing_mode = 4; +} + +message GetCodeMapMetadataRequest { + string code_map_id = 1; +} + +message GetCodeMapMetadataResponse { + string title = 1; +} + +message GetSharedCodeMapRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string code_map_id = 2; +} + +message GetSharedCodeMapResponse { + string code_map_json = 1; +} + +message UpdateCodeMapSharingModeRequest { + string auth_token = 1; + string code_map_id = 2; + string sharing_mode = 3; +} + +message UpdateCodeMapSharingModeResponse { +} + +message ListUserSharedCodeMapsRequest { + string auth_token = 1; +} + +message SharedCodeMapSummary { + string storage_key = 1; + string map_title = 2; + string sharing_mode = 3; + int32 version = 4; + .google.protobuf.Timestamp created_at = 5; + .google.protobuf.Timestamp updated_at = 6; + string owner_name = 7; +} + +message ListUserSharedCodeMapsResponse { + repeated .exa.api_server_pb.SharedCodeMapSummary codemaps = 1; + repeated .exa.api_server_pb.SharedCodeMapSummary team_codemaps = 2; +} + +message DeleteSharedCodeMapRequest { + string auth_token = 1; + string code_map_id = 2; +} + +message DeleteSharedCodeMapResponse { +} + +message QueryImageForPixelRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + .exa.codeium_common_pb.ImageData image = 2; + uint32 image_width = 3; + uint32 image_height = 4; + string query = 5; +} + +message QueryImageForPixelResponse { + uint32 x = 1; + uint32 y = 2; +} + +message OidcProviderConfig { + string client_id = 1; + string client_secret = 2; + string issuer_url = 3; + string redirect_url = 4; + .google.protobuf.Timestamp created_at = 5; + .google.protobuf.Timestamp last_updated_at = 6; + string last_updated_by = 7; + string team_id = 8; +} + +message RegisterOidcProviderRequest { + string api_key = 1; + .exa.api_server_pb.OidcProviderConfig config = 2; + string team_name = 3; +} + +message RegisterOidcProviderResponse { +} + +message UpdateOidcProviderRequest { + string api_key = 1; + string client_id = 2; + optional string client_secret = 3; + optional string issuer_url = 4; + optional string redirect_url = 5; +} + +message UpdateOidcProviderResponse { +} + +message GetTeamOidcProvidersRequest { + string api_key = 1; + string team_name = 2; +} + +message GetTeamOidcProvidersResponse { + repeated .exa.api_server_pb.OidcProviderConfig providers = 1; +} + +message GetAllOidcProvidersRequest { + string api_key = 1; +} + +message GetAllOidcProvidersResponse { + repeated .exa.api_server_pb.OidcProviderConfig providers = 1; +} + +message DeleteOidcProviderRequest { + string api_key = 1; + string client_id = 2; +} + +message DeleteOidcProviderResponse { +} + +message GetOidcAuthorizationUrlRequest { + string client_id = 1; +} + +message GetOidcAuthorizationUrlResponse { + string auth_url = 1; + string state = 2; +} + +message ExchangeOidcCodeRequest { + string code = 1; + string state = 2; + string client_id = 3; +} + +message ExchangeOidcCodeResponse { + string access_token = 1; + string id_token = 2; + string refresh_token = 3; +} + +message RefreshOidcTokenRequest { + string client_id = 1; + string refresh_token = 2; +} + +message RefreshOidcTokenResponse { + string access_token = 1; + string id_token = 2; + string refresh_token = 3; +} + +message GetTeamOrganizationalControlsRequest { + .exa.codeium_common_pb.Metadata metadata = 2; +} + +message GetTeamOrganizationalControlsForSiteRequest { + string auth_token = 1; +} + +message GetTeamOrganizationalControlsResponse { + .exa.codeium_common_pb.TeamOrganizationalControls controls = 1; +} + +message GetTeamOrganizationalControlsForSiteResponse { + .exa.codeium_common_pb.TeamOrganizationalControls controls = 1; +} + +message UpsertTeamOrganizationalControlsRequest { + .exa.codeium_common_pb.TeamOrganizationalControls controls = 1; + .exa.codeium_common_pb.Metadata metadata = 2; +} + +message UpsertTeamOrganizationalControlsResponse { +} + +message UpsertTeamOrganizationalControlsForSiteRequest { + .exa.codeium_common_pb.TeamOrganizationalControls controls = 1; + string auth_token = 2; +} + +message UpsertTeamOrganizationalControlsForSiteResponse { +} + +message DeleteTeamOrganizationalControlsRequest { + .exa.codeium_common_pb.Metadata metadata = 2; +} + +message DeleteTeamOrganizationalControlsResponse { +} + +message GetWindsurfJSAvailableDeployTargetsRequest { + .exa.codeium_common_pb.Metadata metadata = 1; +} + +message GetWindsurfJSAvailableDeployTargetsResponse { + repeated .exa.codeium_common_pb.DeployTarget deploy_targets = 1; +} + +message ValidateWindsurfJSAppProjectNameRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string project_name = 2; +} + +message ValidateWindsurfJSAppProjectNameResponse { + .exa.codeium_common_pb.ValidationStatus status = 1; + string invalid_reason = 3; + repeated string alternative_names = 2; +} + +message DeployWindsurfJSAppRequest { + message DeploymentMetadata { + .exa.codeium_common_pb.Metadata metadata = 1; + string project_path = 2; + string project_id = 6; + string subdomain_name = 3; + string framework = 4; + .exa.codeium_common_pb.DeploymentProvider deployment_provider = 5; + .exa.codeium_common_pb.DeployTarget deploy_target = 7; + } + + message DeploymentFileChunk { + string file_path = 1; + bytes file_contents = 2; + } + + oneof data { + .exa.api_server_pb.DeployWindsurfJSAppRequest.DeploymentMetadata deployment_metadata = 1; + .exa.api_server_pb.DeployWindsurfJSAppRequest.DeploymentFileChunk file_chunk = 2; + } +} + +message DeployWindsurfJSAppResponse { + .exa.codeium_common_pb.WindsurfDeployment deployment = 1; + bool is_overwrite = 2; + string claim_url = 3; +} + +message CreateWindsurfJSAppRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string subdomain_name = 2; + .exa.codeium_common_pb.DeploymentProvider deployment_provider = 3; + .exa.codeium_common_pb.DeployTarget deploy_target = 4; +} + +message CreateWindsurfJSAppResponse { + .exa.codeium_common_pb.WindsurfProject project = 1; +} + +message DeleteWindsurfJSAppRequest { + string api_key = 1; + string project_id = 2; +} + +message DeleteWindsurfJSAppResponse { +} + +message GetWindsurfJSAppDeploymentClaimStatusRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string project_id = 2; +} + +message GetWindsurfJSAppDeploymentClaimStatusResponse { + bool is_claimed = 1; + string claim_url = 2; +} + +message GetDeploymentProviderProjectNameByProjectIdRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string project_id = 2; + .exa.codeium_common_pb.DeploymentProvider deployment_provider = 3; +} + +message GetDeploymentProviderProjectNameByProjectIdResponse { + string project_name = 1; + string subdomain = 2; + string team_slug = 3; +} + +message GetWindsurfJSDeployTargetByProjectIdRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string project_id = 2; +} + +message GetWindsurfJSDeployTargetByProjectIdResponse { + .exa.codeium_common_pb.DeployTarget deploy_target = 1; +} + +message GetWindsurfJSAppDeploymentsByProjectIdRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string project_id = 2; +} + +message GetWindsurfJSAppDeploymentsByProjectIdResponse { + repeated .exa.codeium_common_pb.WindsurfDeployment deployments = 1; +} + +message GetWindsurfJSAppsRequest { + string api_key = 1; + string auth_token = 2; +} + +message GetWindsurfJSAppsResponse { + message WindsurfJSApp { + string app_url = 1; + .exa.codeium_common_pb.DeploymentProvider deployment_provider = 2; + bool is_claimed = 3; + string claim_url = 4; + .google.protobuf.Timestamp expiration_time = 5; + string project_id = 6; + string provider_team_slug = 7; + } + + int32 unclaimed_apps_used = 1; + int32 unclaimed_apps_limit = 2; + repeated .exa.api_server_pb.GetWindsurfJSAppsResponse.WindsurfJSApp apps = 3; +} + +message GetWindsurfJSAppDeploymentStatusesByProjectIdRequest { + string api_key = 1; + string project_id = 2; +} + +message GetWindsurfJSAppDeploymentStatusesByProjectIdResponse { + message WindsurfDeploymentStatus { + .exa.codeium_common_pb.WindsurfDeployment deployment = 1; + .exa.codeium_common_pb.DeploymentBuildStatus build_status = 2; + string build_error = 3; + } + + repeated .exa.api_server_pb.GetWindsurfJSAppDeploymentStatusesByProjectIdResponse.WindsurfDeploymentStatus deployment_statuses = 1; +} + +message GetWindsurfJSAppDeploymentRequest { + string api_key = 1; + string deployment_id = 2; +} + +message GetWindsurfJSAppDeploymentResponse { + .exa.codeium_common_pb.WindsurfDeployment deployment = 1; + .exa.codeium_common_pb.DeploymentBuildStatus build_status = 2; + string deployment_url = 3; + string build_error = 4; + string build_logs = 5; + bool is_claimed = 6; + string claim_url = 7; + string provider_team_slug = 8; +} + +message ApplyTrajectoryHeuristicsRequest { + repeated string heuristics = 1; + .exa.cortex_pb.CortexTrajectory trajectory = 2; +} + +message ApplyTrajectoryHeuristicsResponse { + repeated string triggered_heuristics = 1; +} + +message CreateTrajectoryShareStreamRequest { + message Initial { + .exa.codeium_common_pb.Metadata metadata = 1; + .exa.cortex_pb.TrajectoryShareStatus share_status = 2; + string trajectory_id = 3; + int32 num_chunks = 4; + } + + message Chunk { + string chunk = 1; + } + + oneof request { + .exa.api_server_pb.CreateTrajectoryShareStreamRequest.Initial initial = 1; + .exa.api_server_pb.CreateTrajectoryShareStreamRequest.Chunk chunk = 2; + } +} + +message CreateTrajectoryShareStreamResponse { + string url = 1; + string share_id = 2; +} + +message FetchTrajectoryShareRequest { + reserved "metadata"; + reserved 2; + string share_id = 1; +} + +message FetchTrajectoryShareResponse { + .exa.cortex_pb.CortexTrajectory trajectory = 1; + .exa.cortex_pb.CascadeTrajectorySummary summary = 2; + string user_name = 3; + string user_profile_picture_url = 4; + .google.protobuf.Timestamp shared_at = 5; +} + +message DeleteTrajectoryShareRequest { + string share_id = 1; + string api_key = 2; +} + +message DeleteTrajectoryShareResponse { + bool success = 1; +} + +message TrajectoryShare { + string share_id = 1; + string trajectory_id = 2; + .exa.cortex_pb.CortexTrajectory trajectory = 3; + .exa.cortex_pb.CascadeTrajectorySummary summary = 4; + .exa.cortex_pb.TrajectoryShareStatus share_status = 5; +} + +message FetchTrajectoryShareByUserRequest { + string api_key = 1; + string auth_token = 2; +} + +message FetchTrajectoryShareByUserResponse { + string user_name = 1; + string user_profile_picture_url = 2; + repeated .exa.api_server_pb.TrajectoryShare shares = 3; +} + +message IsConversationSharingBlockedRequest { + reserved 1; + string auth_token = 2; +} + +message IsConversationSharingBlockedResponse { + bool blocked = 1; +} + +message GetDefaultWorkflowTemplatesRequest { + .exa.codeium_common_pb.Metadata metadata = 1; +} + +message GetDefaultWorkflowTemplatesResponse { + repeated .exa.cortex_pb.WorkflowSpec workflows = 1; +} + +message GetSupabaseSecretRequest { + string api_key = 1; +} + +message GetSupabaseSecretResponse { + string secret = 1; +} + +message GetSSOProvidersRequest { +} + +message GetSSOProvidersResponse { + string sso_providers_json = 1; +} + +message FindTeamByEmailRequest { + string email = 1; +} + +message FindTeamByEmailResponse { + string team_id = 1; + string team_name = 2; + bool found = 3; +} + +message GetExternalModelsGroupRequest { + string auth_token = 1; + uint32 id = 2; +} + +message GetExternalModelsGroupResponse { + repeated string groups = 1; +} + +message UpdateExternalModelsGroupRequest { + string auth_token = 1; + uint32 id = 2; + repeated string groups = 3; +} + +message UpdateExternalModelsGroupResponse { + repeated string groups = 1; +} + +message GetExternalModelRequest { + string api_key = 1; +} + +message GetExternalModelResponse { + repeated .exa.codeium_common_pb.ExternalModel models = 1; +} + +message CreateExternalModelsRequest { + string auth_token = 1; + string model_name = 2; + string endpoint = 3; + string api_key = 4; + .exa.codeium_common_pb.Model model_id = 5; + string region = 6; + string project_id = 7; + string access_key = 8; + string secret_access_key = 9; + int32 max_completion_tokens = 10; + int32 max_input_tokens = 11; +} + +message UpdateExternalModelsRequest { + string auth_token = 1; + string model_name = 2; + string endpoint = 3; + string api_key = 4; + .exa.codeium_common_pb.Model original_model_id = 5; + string region = 6; + string project_id = 7; + string access_key = 8; + string secret_access_key = 9; + string original_model_name = 10; + uint32 id = 11; + int32 max_completion_tokens = 12; + int32 max_input_tokens = 13; +} + +message CreateExternalModelsResponse { +} + +message DeleteExternalModelsRequest { + string auth_token = 1; + string model_name = 2; + .exa.codeium_common_pb.Model model_id = 3; + uint32 id = 11; +} + +message UpdateExternalModelsResponse { +} + +message DeleteExternalModelsResponse { +} + +message CheckBugsRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string diff = 2; + string repo_name = 3; + string commit_hash = 4; + string author_name = 5; + string model = 6; + string commit_message = 7; + int32 lines_changed = 8; + repeated string user_rules = 9; + string method = 10; + string symbol_context = 11; + string check_type = 12; + string base_ref = 13; +} + +message CheckBugsResponse { + repeated .exa.bug_checker_pb.Bug bugs = 1; + string bug_check_id = 2; + string method_used = 3; + string model_used = 4; + string playgrounds = 5; + .exa.codeium_common_pb.Model model_id = 6; + string agent_version = 7; +} + +message GetLifeguardConfigRequest { + .exa.codeium_common_pb.Metadata metadata = 1; +} + +message GetLifeguardConfigResponse { + .exa.codeium_common_pb.LifeguardConfig config = 1; +} + +message AcceptBugRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string bug_check_id = 2; + string bug_id = 3; +} + +message AcceptBugResponse { +} + +message RejectBugRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string bug_check_id = 2; + string bug_id = 3; +} + +message RejectBugResponse { +} + +message SubmitBugReportRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string description = 2; + string bug_type = 3; + string diagnostics_json = 4; + bytes screenshot = 5; + string tab_info = 6; + string other = 7; +} + +message SubmitBugReportResponse { + string message_link = 1; +} + +message GetTabRequest { + reserved 8; + .exa.codeium_common_pb.Metadata metadata = 1; + .exa.prompt_pb.UnifiedPromptComponents unified_prompt_components = 2; + .exa.codeium_common_pb.ExperimentConfig experiment_config = 3; + .exa.codeium_common_pb.ProviderSource provider_source = 4; + string prompt_id = 5; + .exa.codeium_common_pb.Language language = 6; + .exa.codeium_common_pb.Model model = 7; + .exa.api_server_pb.TabTrajectoryStepsV2 trajectory_steps_v2 = 9; + optional int32 streaming_completion_version = 10; +} + +message GetTabResponse { + message PreResponse { + reserved 4; + message UrisToHashesEntry { + string key = 1; + uint64 value = 2; + } + + string prompt = 1; + string request_id = 2; + .exa.codeium_common_pb.ModelFeatures model_features = 3; + repeated .exa.api_server_pb.GetTabResponse.PreResponse.UrisToHashesEntry uris_to_hashes = 5; + .exa.api_server_pb.TrajectoryCacheInfoV2 cache_info_v2 = 6; + } + + message MissingInformation { + repeated string uris = 1; + optional int64 start_step = 2; + } + + oneof message { + .exa.api_server_pb.GetTabResponse.PreResponse pre_response = 1; + .exa.codeium_common_pb.StreamingCompletion streaming_completion = 2; + .exa.api_server_pb.GetTabResponse.MissingInformation missing_information = 3; + .exa.api_server_pb.DeltaTab streaming_completion_v2 = 4; + } +} + +message DeltaTab { + message DeltaSupercomplete { + uint64 start_line = 1; + uint64 end_line = 2; + string delta_old_str = 3; + string delta_new_str = 4; + bool is_import = 5; + .exa.codeium_common_pb.DocumentPosition cursor_position = 6; + } + + message DeltaTabJump { + .exa.codeium_common_pb.DocumentPosition cursor_position = 1; + } + + message DeltaNoop { + } + + string id = 1; + string path = 2; + bool is_complete = 3; + oneof delta { + .exa.api_server_pb.DeltaTab.DeltaSupercomplete delta_supercomplete = 4; + .exa.api_server_pb.DeltaTab.DeltaTabJump delta_tab_jump = 5; + .exa.api_server_pb.DeltaTab.DeltaNoop delta_noop = 6; + } + optional .exa.codeium_common_pb.StopReason stop_reason = 7; +} + +message TrajectoryCacheInfoV2 { + string cache_key = 1; + repeated uint64 hashes = 2; +} + +message TabTrajectoryStepsV2 { + repeated uint64 hashes = 1; + repeated .exa.cortex_pb.CortexTrajectoryStep steps_after_hashes = 2; +} + +enum MQueryScoreStatus { + M_QUERY_SCORE_STATUS_UNSPECIFIED = 0; + M_QUERY_SCORE_STATUS_OK = 1; + M_QUERY_SCORE_STATUS_ERROR = 2; + M_QUERY_SCORE_STATUS_EARLY_RETURN = 3; +} + +enum EmbeddingRetryPolicy { + EMBEDDING_RETRY_POLICY_UNSPECIFIED = 0; + EMBEDDING_RETRY_POLICY_NONE = 1; + EMBEDDING_RETRY_POLICY_HIGH_PRIORITY = 2; +} + +enum ChatMessageRequestType { + CHAT_MESSAGE_REQUEST_TYPE_UNSPECIFIED = 0; + CHAT_MESSAGE_REQUEST_TYPE_GENERAL = 1; + CHAT_MESSAGE_REQUEST_TYPE_CONTEXT_CHECK = 2; + CHAT_MESSAGE_REQUEST_TYPE_PLAN = 3; + CHAT_MESSAGE_REQUEST_TYPE_COMMAND = 4; + CHAT_MESSAGE_REQUEST_TYPE_CASCADE = 5; + CHAT_MESSAGE_REQUEST_TYPE_EVAL = 6; + CHAT_MESSAGE_REQUEST_TYPE_WINDSURF_REVIEW = 7; + CHAT_MESSAGE_REQUEST_TYPE_VIBE_AND_REPLACE = 8; + CHAT_MESSAGE_REQUEST_TYPE_DEEPWIKI = 9; + CHAT_MESSAGE_REQUEST_TYPE_DEVSTRAL = 10; + CHAT_MESSAGE_REQUEST_TYPE_CODEMAP_GENERATION = 11; + CHAT_MESSAGE_REQUEST_TYPE_CODEMAP_SUGGESTIONS = 12; + CHAT_MESSAGE_REQUEST_TYPE_SMART_FRIEND = 13; + CHAT_MESSAGE_REQUEST_TYPE_LIFEGUARD = 14; + CHAT_MESSAGE_REQUEST_TYPE_CHECKPOINT = 15; +} + +enum HybridDeploymentStatus { + HYBRID_DEPLOYMENT_STATUS_UNSPECIFIED = 0; + HYBRID_DEPLOYMENT_STATUS_HEALTHY = 1; + HYBRID_DEPLOYMENT_STATUS_ERROR = 2; +} + +enum FeedbackType { + FEEDBACK_TYPE_UNSPECIFIED = 0; + FEEDBACK_TYPE_ACCEPT = 1; + FEEDBACK_TYPE_REJECT = 2; +} + +enum FeedbackExtraInfo { + FEEDBACK_EXTRA_INFO_UNSPECIFIED = 0; + FEEDBACK_EXTRA_INFO_TYPED_AS_SUGGESTED = 1; + FEEDBACK_EXTRA_INFO_DOCUMENT_CHANGED = 2; + FEEDBACK_EXTRA_INFO_PARTIAL_ACCEPT = 3; + FEEDBACK_EXTRA_INFO_INTENTIONAL_REJECT = 4; + FEEDBACK_EXTRA_INFO_CLIENT_FILTER_REJECT = 5; +} + +enum DeploymentConfigKey { + DEPLOYMENT_CONFIG_KEY_UNSPECIFIED = 0; + DEPLOYMENT_CONFIG_KEY_ENABLE_EMAIL_SIGNUP = 1; + DEPLOYMENT_CONFIG_KEY_SAML_GROUP_REGEX = 2; +} + diff --git a/lsp_protos/exa/auth_pb/auth.proto b/lsp_protos/exa/auth_pb/auth.proto new file mode 100755 index 0000000..4096b64 --- /dev/null +++ b/lsp_protos/exa/auth_pb/auth.proto @@ -0,0 +1,22 @@ +syntax = "proto3"; + +package exa.auth_pb; + +option go_package = "github.com/Exafunction/Exafunction/exa/auth_pb"; + +import "buf/validate/validate.proto"; +import "exa/codeium_common_pb/codeium_common.proto"; + +service AuthService { + rpc GetUserJwt (.exa.auth_pb.GetUserJwtRequest) returns (.exa.auth_pb.GetUserJwtResponse) {} +} + +message GetUserJwtRequest { + .exa.codeium_common_pb.Metadata metadata = 1; +} + +message GetUserJwtResponse { + string user_jwt = 1; + string custom_api_server_url = 2; +} + diff --git a/lsp_protos/exa/auto_cascade_common_pb/auto_cascade_common.proto b/lsp_protos/exa/auto_cascade_common_pb/auto_cascade_common.proto new file mode 100755 index 0000000..1846fa7 --- /dev/null +++ b/lsp_protos/exa/auto_cascade_common_pb/auto_cascade_common.proto @@ -0,0 +1,87 @@ +syntax = "proto3"; + +package exa.auto_cascade_common_pb; + +option go_package = "github.com/Exafunction/Exafunction/exa/auto_cascade_common_pb"; + +import "buf/validate/validate.proto"; +import "exa/cortex_pb/cortex.proto"; +import "google/protobuf/timestamp.proto"; + +message GitRepoInfo { + string repo_name = 1; + string branch = 2; + string commit = 3; + string pr_url = 4; +} + +message SessionInfo { + string session_id = 1; + string explanation = 2; + string ssh_url = 3; + .exa.cortex_pb.CascadeRunStatus status = 4; + string summary = 5; + .exa.cortex_pb.CortexTrajectory trajectory = 6; + string session_key = 7; + .google.protobuf.Timestamp created_at = 8; + repeated .exa.auto_cascade_common_pb.GitRepoInfo git_repos = 9; + .google.protobuf.Timestamp updated_at = 10; +} + +message SessionInfos { + message SessionsEntry { + string key = 1; + .exa.auto_cascade_common_pb.SessionInfo value = 2; + } + + repeated .exa.auto_cascade_common_pb.SessionInfos.SessionsEntry sessions = 1; +} + +message GithubPullRequestInfo { + string url = 1; + string owner = 2; + string repo = 3; + string title = 4; + string number = 5; + .exa.auto_cascade_common_pb.GithubCICheckStatus ci_status = 6; + .exa.auto_cascade_common_pb.GithubPullRequestBranchStatus branch_status = 7; + .google.protobuf.Timestamp updated_at = 8; +} + +message GithubInstallationInfo { + string installation_id = 1; + string organization_name = 2; +} + +enum BranchStatus { + BRANCH_STATUS_UNSPECIFIED = 0; + BRANCH_STATUS_NO_PR = 1; + BRANCH_STATUS_PR_OPEN = 2; + BRANCH_STATUS_PR_CLOSED = 3; + BRANCH_STATUS_PR_MERGED = 4; + BRANCH_STATUS_HAS_SUGGESTION = 5; +} + +enum CommentType { + COMMENT_TYPE_UNSPECIFIED = 0; + COMMENT_TYPE_MANUAL_REVIEW_TRIGGER = 1; + COMMENT_TYPE_LGTM = 2; + COMMENT_TYPE_REVIEW_BODY = 3; + COMMENT_TYPE_REVIEW_COMMENT = 4; +} + +enum GithubCICheckStatus { + GITHUB_CI_CHECK_STATUS_UNSPECIFIED = 0; + GITHUB_CI_CHECK_STATUS_SUCCESS = 1; + GITHUB_CI_CHECK_STATUS_FAILED = 2; + GITHUB_CI_CHECK_STATUS_PENDING = 3; +} + +enum GithubPullRequestBranchStatus { + GITHUB_PULL_REQUEST_BRANCH_STATUS_UNSPECIFIED = 0; + GITHUB_PULL_REQUEST_BRANCH_STATUS_OPEN = 1; + GITHUB_PULL_REQUEST_BRANCH_STATUS_CLOSED = 2; + GITHUB_PULL_REQUEST_BRANCH_STATUS_DRAFT = 3; + GITHUB_PULL_REQUEST_BRANCH_STATUS_MERGED = 4; +} + diff --git a/lsp_protos/exa/browser_preview_pb/browser_preview.proto b/lsp_protos/exa/browser_preview_pb/browser_preview.proto new file mode 100755 index 0000000..34c88ee --- /dev/null +++ b/lsp_protos/exa/browser_preview_pb/browser_preview.proto @@ -0,0 +1,35 @@ +syntax = "proto3"; + +package exa.browser_preview_pb; + +option go_package = "github.com/Exafunction/Exafunction/exa/browser_preview_pb"; + +import "exa/codeium_common_pb/codeium_common.proto"; + +service BrowserPreviewService { + rpc SendDOMElement (.exa.browser_preview_pb.SendDOMElementRequest) returns (.exa.browser_preview_pb.SendDOMElementResponse) {} + rpc SendScreenshot (.exa.browser_preview_pb.SendScreenshotRequest) returns (.exa.browser_preview_pb.SendScreenshotResponse) {} + rpc SendConsoleOutput (.exa.browser_preview_pb.SendConsoleOutputRequest) returns (.exa.browser_preview_pb.SendConsoleOutputResponse) {} +} + +message SendDOMElementRequest { + .exa.codeium_common_pb.DOMElementScopeItem dom_element = 1; +} + +message SendDOMElementResponse { +} + +message SendScreenshotRequest { + .exa.codeium_common_pb.ImageData image = 1; +} + +message SendScreenshotResponse { +} + +message SendConsoleOutputRequest { + .exa.codeium_common_pb.ConsoleLogScopeItem console_log = 1; +} + +message SendConsoleOutputResponse { +} + diff --git a/lsp_protos/exa/bug_checker_pb/bug_checker.proto b/lsp_protos/exa/bug_checker_pb/bug_checker.proto new file mode 100755 index 0000000..d1b0066 --- /dev/null +++ b/lsp_protos/exa/bug_checker_pb/bug_checker.proto @@ -0,0 +1,25 @@ +syntax = "proto3"; + +package exa.bug_checker_pb; + +option go_package = "github.com/Exafunction/Exafunction/exa/bug_checker_pb"; + +message Fix { + string old_str = 1; + string new_str = 2; +} + +message Bug { + string id = 1; + string file = 2; + int32 start = 3; + int32 end = 4; + string title = 5; + string description = 6; + string severity = 7; + string resolution = 8; + double confidence = 9; + repeated string categories = 10; + .exa.bug_checker_pb.Fix fix = 11; +} + diff --git a/lsp_protos/exa/cascade_plugins_pb/cascade_plugins.proto b/lsp_protos/exa/cascade_plugins_pb/cascade_plugins.proto new file mode 100755 index 0000000..ceaa33d --- /dev/null +++ b/lsp_protos/exa/cascade_plugins_pb/cascade_plugins.proto @@ -0,0 +1,130 @@ +syntax = "proto3"; + +package exa.cascade_plugins_pb; + +option go_package = "github.com/Exafunction/Exafunction/exa/cascade_plugins_pb"; + +import "buf/validate/validate.proto"; +import "exa/codeium_common_pb/codeium_common.proto"; + +service CascadePluginsService { + rpc GetAvailableCascadePlugins (.exa.cascade_plugins_pb.GetAvailableCascadePluginsRequest) returns (.exa.cascade_plugins_pb.GetAvailableCascadePluginsResponse) {} + rpc InstallCascadePlugin (.exa.cascade_plugins_pb.InstallCascadePluginRequest) returns (.exa.cascade_plugins_pb.InstallCascadePluginResponse) {} + rpc GetCascadePluginById (.exa.cascade_plugins_pb.GetCascadePluginByIdRequest) returns (.exa.cascade_plugins_pb.GetCascadePluginByIdResponse) {} + rpc GetMcpClientInfos (.exa.cascade_plugins_pb.GetMcpClientInfosRequest) returns (.exa.cascade_plugins_pb.GetMcpClientInfosResponse) {} +} + +message CascadePluginTemplate { + message CommandsEntry { + string key = 1; + .exa.cascade_plugins_pb.CascadePluginCommand value = 2; + } + + string title = 1; + string id = 2; + string link = 3; + string description = 4; + repeated .exa.cascade_plugins_pb.CascadePluginTemplate.CommandsEntry commands = 5; + int64 installation_count = 6; + string trust_level = 7; + string readme = 8; + oneof configuration { + .exa.cascade_plugins_pb.CascadePluginLocalConfig local = 9; + .exa.cascade_plugins_pb.CascadePluginRemoteConfig remote = 10; + } +} + +message CascadePluginLocalConfig { + message CommandsEntry { + string key = 1; + .exa.cascade_plugins_pb.CascadePluginCommand value = 2; + } + + repeated .exa.cascade_plugins_pb.CascadePluginLocalConfig.CommandsEntry commands = 5; +} + +message CascadePluginCommand { + .exa.cascade_plugins_pb.CascadePluginCommandTemplate template = 1; + repeated .exa.cascade_plugins_pb.CascadePluginCommandVariable variables = 2; +} + +message CascadePluginCommandTemplate { + message EnvEntry { + string key = 1; + string value = 2; + } + + string command = 1; + repeated string args = 2; + repeated .exa.cascade_plugins_pb.CascadePluginCommandTemplate.EnvEntry env = 3; +} + +message CascadePluginCommandVariable { + string name = 1; + string title = 2; + string description = 3; + string link = 4; + string type = 5; +} + +message CascadePluginRemoteConfig { + .exa.cascade_plugins_pb.CascadePluginRemoteConfigTemplate template = 1; +} + +message CascadePluginRemoteConfigTemplate { + message HeadersEntry { + string key = 1; + string value = 2; + } + + string server_url = 1; + repeated .exa.cascade_plugins_pb.CascadePluginRemoteConfigTemplate.HeadersEntry headers = 2; +} + +message GetAvailableCascadePluginsRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string os = 2; + optional string search_query = 3; +} + +message GetAvailableCascadePluginsResponse { + repeated .exa.cascade_plugins_pb.CascadePluginTemplate plugins = 1; +} + +message InstallCascadePluginRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string plugin_id = 2; +} + +message InstallCascadePluginResponse { + int64 installation_count = 1; +} + +message GetCascadePluginByIdRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string os = 2; + string plugin_id = 3; +} + +message GetCascadePluginByIdResponse { + .exa.cascade_plugins_pb.CascadePluginTemplate plugin = 1; +} + +message McpClientInfo { + string client_id = 1; + string client_secret = 2; +} + +message GetMcpClientInfosRequest { + .exa.codeium_common_pb.Metadata metadata = 1; +} + +message GetMcpClientInfosResponse { + message ClientInfosEntry { + string key = 1; + .exa.cascade_plugins_pb.McpClientInfo value = 2; + } + + repeated .exa.cascade_plugins_pb.GetMcpClientInfosResponse.ClientInfosEntry client_infos = 1; +} + diff --git a/lsp_protos/exa/chat_client_server_pb/chat_client_server.proto b/lsp_protos/exa/chat_client_server_pb/chat_client_server.proto new file mode 100755 index 0000000..d623477 --- /dev/null +++ b/lsp_protos/exa/chat_client_server_pb/chat_client_server.proto @@ -0,0 +1,58 @@ +syntax = "proto3"; + +package exa.chat_client_server_pb; + +import "exa/codeium_common_pb/codeium_common.proto"; + +service ChatClientServerService { + rpc StartChatClientRequestStream (.exa.chat_client_server_pb.StartChatClientRequestStreamRequest) returns (stream .exa.chat_client_server_pb.ChatClientRequest) {} +} + +message StartChatClientRequestStreamRequest { +} + +message ChatClientRequest { + oneof request { + .exa.chat_client_server_pb.AddCascadeInputRequest add_cascade_input = 1; + .exa.chat_client_server_pb.SendActionToChatPanelRequest send_action_to_chat_panel = 2; + .exa.chat_client_server_pb.InitialAckRequest initial_ack = 3; + .exa.chat_client_server_pb.RefreshCustomizationRequest refresh_customization = 4; + .exa.chat_client_server_pb.SendCascadeInputRequest send_cascade_input = 5; + .exa.chat_client_server_pb.ImplementPlanRequest implement_plan = 6; + } +} + +message AddCascadeInputRequest { + repeated .exa.codeium_common_pb.TextOrScopeItem items = 1; + repeated .exa.codeium_common_pb.ImageData images = 2; +} + +message SendCascadeInputRequest { + repeated .exa.codeium_common_pb.TextOrScopeItem items = 1; + repeated .exa.codeium_common_pb.ImageData images = 2; +} + +message ImplementPlanRequest { + string plan_path = 1; + string plan_title = 2; +} + +message SendActionToChatPanelRequest { + string action_type = 1; + repeated bytes payload = 2; +} + +message FileDiffState { + string uri = 1; + int32 num_insertions = 2; + int32 num_deletions = 3; + optional string cascade_id = 4; +} + +message InitialAckRequest { +} + +message RefreshCustomizationRequest { + .exa.codeium_common_pb.RefreshCustomizationType config_type = 1; +} + diff --git a/lsp_protos/exa/chat_pb/chat.proto b/lsp_protos/exa/chat_pb/chat.proto new file mode 100755 index 0000000..238d0f4 --- /dev/null +++ b/lsp_protos/exa/chat_pb/chat.proto @@ -0,0 +1,445 @@ +syntax = "proto3"; + +package exa.chat_pb; + +option go_package = "github.com/Exafunction/Exafunction/exa/chat_pb"; + +import "buf/validate/validate.proto"; +import "exa/codeium_common_pb/codeium_common.proto"; +import "exa/diff_action_pb/diff_action.proto"; +import "google/protobuf/timestamp.proto"; + +message CodeBlockInfo { + string raw_source = 1; + int32 start_line = 2; + int32 start_col = 3; + int32 end_line = 4; + int32 end_col = 5; +} + +message ChatMetrics { + uint64 response_stream_latency_ms = 1; + uint64 refresh_context_latency_ms = 2; + uint64 should_get_local_context_for_chat_latency_ms = 3; + bool should_get_local_context_for_chat = 4; + uint64 compute_change_events_latency_ms = 5; + uint64 context_to_chat_prompt_latency_ms = 6; + int32 num_prompt_tokens = 7; + int32 num_system_prompt_tokens = 8; + uint64 num_input_tokens = 16; + .google.protobuf.Timestamp start_timestamp = 9; + .google.protobuf.Timestamp end_timestamp = 10; + string active_document_absolute_path = 11; + .exa.codeium_common_pb.CodeContextItem last_active_code_context_item = 12; + uint64 num_indexed_files = 13; + uint64 num_indexed_code_context_items = 14; + .exa.codeium_common_pb.Model model_deprecated = 15; + string model_uid = 17; +} + +message IntentGeneric { + string text = 1; + repeated .exa.codeium_common_pb.TextOrScopeItem items = 2; +} + +message IntentFunctionExplain { + .exa.codeium_common_pb.FunctionInfo function_info = 1; + .exa.codeium_common_pb.Language language = 2; + string file_path_migrate_me_to_uri = 3; + string uri = 4; +} + +message IntentFunctionRefactor { + .exa.codeium_common_pb.FunctionInfo function_info = 1; + .exa.codeium_common_pb.Language language = 2; + string file_path_migrate_me_to_uri = 3; + string refactor_description = 4; + string uri = 5; +} + +message IntentFunctionUnitTests { + .exa.codeium_common_pb.FunctionInfo function_info = 1; + .exa.codeium_common_pb.Language language = 2; + string file_path_migrate_me_to_uri = 3; + string uri = 5; + string instructions = 4; +} + +message IntentFunctionDocstring { + .exa.codeium_common_pb.FunctionInfo function_info = 1; + .exa.codeium_common_pb.Language language = 2; + string file_path_migrate_me_to_uri = 3; + string uri = 4; +} + +message IntentClassExplain { + .exa.codeium_common_pb.ClassInfo class_info = 1; + .exa.codeium_common_pb.Language language = 2; + string file_path_migrate_me_to_uri = 3; + string uri = 4; +} + +message IntentCodeBlockExplain { + .exa.chat_pb.CodeBlockInfo code_block_info = 1; + .exa.codeium_common_pb.Language language = 2; + string file_path_migrate_me_to_uri = 3; + string uri = 4; +} + +message IntentCodeBlockRefactor { + .exa.chat_pb.CodeBlockInfo code_block_info = 1; + .exa.codeium_common_pb.Language language = 2; + string file_path_migrate_me_to_uri = 3; + string uri = 5; + string refactor_description = 4; +} + +message IntentProblemExplain { + string diagnostic_message = 1; + .exa.chat_pb.CodeBlockInfo problematic_code = 2; + string surrounding_code_snippet = 3; + .exa.codeium_common_pb.Language language = 4; + string file_path_migrate_me_to_uri = 5; + string uri = 7; + int32 line_number = 6; +} + +message IntentGenerateCode { + string instruction = 1; + .exa.codeium_common_pb.Language language = 2; + string file_path_migrate_me_to_uri = 3; + string uri = 5; + int32 line_number = 4; +} + +message IntentSearch { + string query = 1; +} + +message IntentFastApply { + string diff_outline = 1; + .exa.codeium_common_pb.Language language = 2; + .exa.chat_pb.CodeBlockInfo old_code = 3; +} + +message ChatMessageIntent { + uint32 num_tokens = 12; + oneof intent { + .exa.chat_pb.IntentGeneric generic = 1; + .exa.chat_pb.IntentFunctionExplain explain_function = 2; + .exa.chat_pb.IntentFunctionDocstring function_docstring = 3; + .exa.chat_pb.IntentFunctionRefactor function_refactor = 4; + .exa.chat_pb.IntentCodeBlockExplain explain_code_block = 5; + .exa.chat_pb.IntentCodeBlockRefactor code_block_refactor = 6; + .exa.chat_pb.IntentFunctionUnitTests function_unit_tests = 7; + .exa.chat_pb.IntentProblemExplain problem_explain = 8; + .exa.chat_pb.IntentGenerateCode generate_code = 9; + .exa.chat_pb.IntentClassExplain explain_class = 10; + .exa.chat_pb.IntentSearch search = 11; + .exa.chat_pb.IntentFastApply fast_apply = 13; + } +} + +message ChatMessageActionSearch { +} + +message ChatMessageActionEdit { + string file_path_migrate_me_to_uri = 1; + string uri = 6; + .exa.diff_action_pb.DiffBlock diff = 2; + .exa.codeium_common_pb.Language language = 3; + string text_pre = 4; + string text_post = 5; +} + +message ChatMessageActionGeneric { + string text = 1; + string display_text = 2; +} + +message ChatMessageStatusContextRelevancy { + bool is_loading = 1; + bool is_relevant = 2; + repeated string query_suggestions = 3; +} + +message ChatMessageStatus { + oneof status { + .exa.chat_pb.ChatMessageStatusContextRelevancy context_relevancy = 1; + } +} + +message ChatMessageError { + string text = 1; +} + +message ChatMessageAction { + uint32 num_tokens = 2; + repeated .exa.codeium_common_pb.CodeContextItem context_items = 4; + .exa.chat_pb.ChatIntentType latest_intent = 6; + .exa.chat_pb.ChatMetrics generation_stats = 7; + repeated .exa.codeium_common_pb.KnowledgeBaseItemWithMetadata knowledge_base_items = 8; + oneof action { + .exa.chat_pb.ChatMessageActionGeneric generic = 1; + .exa.chat_pb.ChatMessageActionEdit edit = 3; + .exa.chat_pb.ChatMessageActionSearch search = 5; + } +} + +message ChatMessage { + string message_id = 1; + .exa.codeium_common_pb.ChatMessageSource source = 2; + .google.protobuf.Timestamp timestamp = 3; + string conversation_id = 4; + bool in_progress = 9; + .exa.chat_pb.GetChatMessageRequest request = 10; + bool redact = 11; + oneof content { + .exa.chat_pb.ChatMessageIntent intent = 5; + .exa.chat_pb.ChatMessageAction action = 6; + .exa.chat_pb.ChatMessageError error = 7; + .exa.chat_pb.ChatMessageStatus status = 8; + } +} + +message Conversation { + repeated .exa.chat_pb.ChatMessage messages = 1; +} + +message RawChatMessage { + string message_id = 1; + .exa.codeium_common_pb.ChatMessageSource source = 2; + .google.protobuf.Timestamp timestamp = 3; + string conversation_id = 4; + string text = 5; + bool in_progress = 6; + bool is_error = 7; +} + +message DeepWikiSymbolRange { + int64 start_line = 1; + int64 start_column = 2; + int64 end_line = 3; + int64 end_column = 4; +} + +message DeepWikiSymbolContext { + string symbol_name = 1; + string symbol_uri = 2; + .exa.chat_pb.DeepWikiSymbolRange symbol_range = 3; + .exa.chat_pb.DeepWikiSymbolType symbol_type = 4; + string file_context = 5; + string usage_context = 6; + string trace_context = 7; + string quick_grep_context = 8; + .google.protobuf.Timestamp timestamp = 9; +} + +message DeepWikiHoverContext { + string symbol_name = 1; + string symbol_uri = 2; + .exa.chat_pb.DeepWikiSymbolRange symbol_range = 3; + .exa.chat_pb.DeepWikiSymbolType symbol_type = 4; + string hover_text = 5; + .google.protobuf.Timestamp timestamp = 6; +} + +message ParameterInfo { + string label = 1; + string documentation = 2; +} + +message FunctionCallInfo { + string signature_label = 1; + int32 active_parameter = 2; + int32 parameter_count = 3; + repeated .exa.chat_pb.ParameterInfo parameters = 4; +} + +message DeepWikiContext { + .exa.chat_pb.DeepWikiHoverContext enclosing_hover_context = 1; + .exa.chat_pb.FunctionCallInfo function_call_info = 2; +} + +message GetDeepWikiRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + .exa.chat_pb.DeepWikiRequestType request_type = 2; + string symbol_name = 3; + string symbol_uri = 4; + string context = 5; + .exa.chat_pb.DeepWikiSymbolType symbol_type = 6; + string language = 7; +} + +message ChatMessagePrompt { + string message_id = 1; + .exa.codeium_common_pb.ChatMessageSource source = 2; + string prompt = 3; + uint32 num_tokens = 4; + bool safe_for_code_telemetry = 5; + repeated .exa.codeium_common_pb.ChatToolCall tool_calls = 6; + string tool_call_id = 7; + .exa.chat_pb.PromptCacheOptions prompt_cache_options = 8; + bool tool_result_is_error = 9; + repeated .exa.codeium_common_pb.ImageData images = 10; + string thinking = 11; + string signature = 12; + bool thinking_redacted = 13; + repeated .exa.codeium_common_pb.PromptAnnotationRange prompt_annotation_ranges = 14; + string output_id = 15; + string thinking_id = 16; + bytes gemini_thought_signature = 17; + string signature_type = 18; +} + +message PromptCacheOptions { + .exa.chat_pb.CacheControlType type = 1; +} + +message ChatToolDefinition { + string name = 1; + string description = 2; + string json_schema_string = 3; + bool strict = 4; + repeated string attribution_field_names = 5; + string server_name = 6; + optional bool read_only_hint = 7; + optional .exa.chat_pb.ComputerUseToolConfig computer_use_config = 8; +} + +message ComputerUseToolConfig { + int32 display_width_px = 1; + int32 display_height_px = 2; + int32 display_number = 3; +} + +message ChatToolChoice { + oneof choice { + string option_name = 1; + string tool_name = 2; + } +} + +message ChatMentionsSearchRequest { + string query = 1; + repeated .exa.codeium_common_pb.CodeContextType allowed_types = 2; + bool include_repo_info = 3; +} + +message ChatMentionsSearchResponse { + repeated .exa.codeium_common_pb.CodeContextItem cci_items = 1; + repeated .exa.codeium_common_pb.GitRepoInfo repo_infos = 2; +} + +message GetChatMessageRequest { + reserved "prompt"; + reserved 2; + message EnterpriseExternalModelConfig { + int32 max_output_tokens = 2; + int32 max_input_tokens = 3; + } + + .exa.codeium_common_pb.Metadata metadata = 1; + repeated .exa.chat_pb.ChatMessage chat_messages = 3; + .exa.codeium_common_pb.Document active_document = 5; + repeated string open_document_uris = 12; + repeated string workspace_uris = 13; + string active_selection = 11; + .exa.codeium_common_pb.ContextInclusionType context_inclusion_type = 8; + .exa.codeium_common_pb.Model chat_model = 9; + string system_prompt_override = 10; + string chat_model_name = 14; + .exa.chat_pb.GetChatMessageRequest.EnterpriseExternalModelConfig enterprise_chat_model_config = 15; + .exa.codeium_common_pb.ExperimentConfig experiment_config = 4; + repeated string open_document_paths_migrate_me_to_uris = 6; + repeated string workspace_paths_migrate_me_to_uris = 7; +} + +message RawGetChatMessageRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + repeated .exa.chat_pb.ChatMessage chat_messages = 2; + string system_prompt_override = 3; + .exa.codeium_common_pb.Model chat_model = 4; + string chat_model_name = 5; +} + +message ChatExperimentStatus { + .exa.codeium_common_pb.ExperimentKey experiment_key = 1; + bool enabled = 2; +} + +message FormattedChatMessage { + .exa.codeium_common_pb.ChatMessageSource role = 1; + string header = 2; + string content = 3; + string footer = 4; +} + +enum ChatFeedbackType { + FEEDBACK_TYPE_UNSPECIFIED = 0; + FEEDBACK_TYPE_ACCEPT = 1; + FEEDBACK_TYPE_REJECT = 2; + FEEDBACK_TYPE_COPIED = 3; + FEEDBACK_TYPE_ACCEPT_DIFF = 4; + FEEDBACK_TYPE_REJECT_DIFF = 5; + FEEDBACK_TYPE_APPLY_DIFF = 6; + FEEDBACK_TYPE_INSERT_AT_CURSOR = 7; +} + +enum ChatIntentType { + CHAT_INTENT_UNSPECIFIED = 0; + CHAT_INTENT_GENERIC = 1; + CHAT_INTENT_FUNCTION_EXPLAIN = 2; + CHAT_INTENT_FUNCTION_DOCSTRING = 3; + CHAT_INTENT_FUNCTION_REFACTOR = 4; + CHAT_INTENT_CODE_BLOCK_EXPLAIN = 5; + CHAT_INTENT_CODE_BLOCK_REFACTOR = 6; + CHAT_INTENT_FUNCTION_UNIT_TESTS = 7; + CHAT_INTENT_PROBLEM_EXPLAIN = 8; + CHAT_INTENT_GENERATE_CODE = 9; + CHAT_INTENT_CLASS_EXPLAIN = 10; + CHAT_INTENT_SEARCH = 11; + CHAT_INTENT_FAST_APPLY = 12; +} + +enum DeepWikiRequestType { + DEEP_WIKI_REQUEST_TYPE_UNSPECIFIED = 0; + DEEP_WIKI_REQUEST_TYPE_SUMMARY = 1; + DEEP_WIKI_REQUEST_TYPE_ARTICLE = 2; +} + +enum DeepWikiSymbolType { + DEEP_WIKI_SYMBOL_TYPE_UNSPECIFIED = 0; + DEEP_WIKI_SYMBOL_TYPE_FILE = 1; + DEEP_WIKI_SYMBOL_TYPE_MODULE = 2; + DEEP_WIKI_SYMBOL_TYPE_NAMESPACE = 3; + DEEP_WIKI_SYMBOL_TYPE_PACKAGE = 4; + DEEP_WIKI_SYMBOL_TYPE_CLASS = 5; + DEEP_WIKI_SYMBOL_TYPE_METHOD = 6; + DEEP_WIKI_SYMBOL_TYPE_PROPERTY = 7; + DEEP_WIKI_SYMBOL_TYPE_FIELD = 8; + DEEP_WIKI_SYMBOL_TYPE_CONSTRUCTOR = 9; + DEEP_WIKI_SYMBOL_TYPE_ENUM = 10; + DEEP_WIKI_SYMBOL_TYPE_INTERFACE = 11; + DEEP_WIKI_SYMBOL_TYPE_FUNCTION = 12; + DEEP_WIKI_SYMBOL_TYPE_VARIABLE = 13; + DEEP_WIKI_SYMBOL_TYPE_CONSTANT = 14; + DEEP_WIKI_SYMBOL_TYPE_STRING = 15; + DEEP_WIKI_SYMBOL_TYPE_NUMBER = 16; + DEEP_WIKI_SYMBOL_TYPE_BOOLEAN = 17; + DEEP_WIKI_SYMBOL_TYPE_ARRAY = 18; + DEEP_WIKI_SYMBOL_TYPE_OBJECT = 19; + DEEP_WIKI_SYMBOL_TYPE_KEY = 20; + DEEP_WIKI_SYMBOL_TYPE_NULL = 21; + DEEP_WIKI_SYMBOL_TYPE_ENUM_MEMBER = 22; + DEEP_WIKI_SYMBOL_TYPE_STRUCT = 23; + DEEP_WIKI_SYMBOL_TYPE_EVENT = 24; + DEEP_WIKI_SYMBOL_TYPE_OPERATOR = 25; + DEEP_WIKI_SYMBOL_TYPE_TYPE_PARAMETER = 26; +} + +enum CacheControlType { + CACHE_CONTROL_TYPE_UNSPECIFIED = 0; + CACHE_CONTROL_TYPE_EPHEMERAL = 1; +} + diff --git a/lsp_protos/exa/code_edit/code_edit_pb/code_edit.proto b/lsp_protos/exa/code_edit/code_edit_pb/code_edit.proto new file mode 100755 index 0000000..29cbb6c --- /dev/null +++ b/lsp_protos/exa/code_edit/code_edit_pb/code_edit.proto @@ -0,0 +1,192 @@ +syntax = "proto3"; + +package exa.code_edit.code_edit_pb; + +option go_package = "github.com/Exafunction/Exafunction/exa/code_edit/code_edit_pb"; + +import "exa/codeium_common_pb/codeium_common.proto"; +import "exa/context_module_pb/context_module.proto"; +import "exa/index_pb/index.proto"; + +message RelevantCodeContext { + .exa.codeium_common_pb.CodeContextItem code_context_item = 1; + .exa.code_edit.code_edit_pb.RelevanceReason relevance_reason = 3; +} + +message IntentRelevance { + string intent = 1; + float relevance_score = 2; + string rationale = 3; +} + +message CodeContextItemChange { + message DescriptionByTypeEntry { + string key = 1; + string value = 2; + } + + .exa.codeium_common_pb.CodeContextItem start_cci = 1; + .exa.codeium_common_pb.CodeContextItem end_cci = 2; + repeated .exa.code_edit.code_edit_pb.RelevantCodeContext relevant_code_contexts = 3; + repeated .exa.code_edit.code_edit_pb.CodeContextItemChange.DescriptionByTypeEntry description_by_type = 4; + repeated .exa.code_edit.code_edit_pb.IntentRelevance intent_relevance = 5; +} + +message FileChange { + string start_file_path_migrate_me_to_uri = 1; + string start_file_uri = 10; + string start_file_rel_path = 8; + string end_file_path_migrate_me_to_uri = 2; + string end_file_uri = 11; + string end_file_rel_path = 9; + string old_file_content = 3; + string new_file_content = 4; + repeated .exa.code_edit.code_edit_pb.CodeContextItemChange code_context_item_changes = 6; + repeated .exa.codeium_common_pb.CodeContextItem unchanged_code_context_items = 7; +} + +message Intent { + string intent = 1; + .exa.code_edit.code_edit_pb.IntentType intent_type = 2; + bool include_test_files = 3; +} + +message CodeChangeWithContext { + reserved "intent_by_type"; + reserved 7; + .exa.codeium_common_pb.GitRepoInfo repository = 1; + repeated .exa.code_edit.code_edit_pb.FileChange file_changes = 2; + repeated .exa.code_edit.code_edit_pb.FileChange test_file_changes = 9; + string intent = 3; + .exa.index_pb.IndexStats index_stats = 5; + repeated .exa.codeium_common_pb.CodeContextItem unrelated_ccis = 6; + repeated .exa.code_edit.code_edit_pb.Intent synthetic_intents = 8; + oneof code_change_data_source { + .exa.code_edit.code_edit_pb.GitCommit git_commit = 4; + } +} + +message GitCommit { + string commit_hash = 1; + string parent_commit_hash = 2; +} + +message CommitToFileChangeRequest { + string repo_root = 1; + .exa.codeium_common_pb.GitRepoInfo repository = 2; + int32 unrelated_cci_multiple = 3; + string db_dir = 4; +} + +message GitFilePatch { + string from = 1; + string to = 2; +} + +message CommitToFileChangeResponse { + repeated .exa.code_edit.code_edit_pb.FileChange file_changes = 1; + string parent_commit_hash = 2; + .exa.index_pb.IndexStats index_stats = 3; + repeated .exa.codeium_common_pb.CodeContextItem unrelated_ccis = 4; +} + +message CodeRetrievalEvalTask { + .exa.codeium_common_pb.GitRepoInfo repository = 1; + .exa.code_edit.code_edit_pb.GitCommit commit_info = 5; + string query = 2; + repeated .exa.code_edit.code_edit_pb.RelevantCodeContext target_code_contexts = 3; + string subdirectory = 4; +} + +message CodeRetrievalResult { + reserved "retrieved_code_contexts"; + reserved 2; + .exa.codeium_common_pb.GitRepoInfo repository = 1; + string retriever_name = 3; + .exa.code_edit.code_edit_pb.RetrieverInfo retriever_info = 4; + repeated .exa.context_module_pb.CodeContextItemWithRetrievalMetadata code_context_with_metadatas = 5; +} + +message RetrieverClassification { + float relevance_score = 1; + .exa.code_edit.code_edit_pb.RetrieverInfo retriever_info = 2; +} + +message CodeContextItemWithClassification { + .exa.code_edit.code_edit_pb.RelevantCodeContext code_context_item = 1; + bool relevant = 2; + .exa.code_edit.code_edit_pb.RetrieverClassification prediction = 3; +} + +message RetrieverInfo { + .exa.code_edit.code_edit_pb.RetrieverType type = 1; + string model_name = 2; +} + +message RetrievalMetrics { + .exa.code_edit.code_edit_pb.RetrieverInfo retriever_info = 1; + float precision_score = 2; + float recall_score = 3; + float accuracy_score = 4; + float label_ranking_average_precision_score = 5; + float roc_auc_score = 6; + float average_precision_score = 7; + float threshold = 8; +} + +message CodeRetrievalEvalResult { + .exa.codeium_common_pb.GitRepoInfo repository = 1; + repeated .exa.code_edit.code_edit_pb.CodeContextItemWithClassification classified_items = 2; + .exa.code_edit.code_edit_pb.RetrievalMetrics metrics = 3; +} + +message InstructionWithId { + int32 id = 1; + string file = 2; + string function = 3; + string instruction = 4; +} + +message InstructionWithIdList { + repeated .exa.code_edit.code_edit_pb.InstructionWithId instructions = 1; +} + +enum RelevanceReason { + RELEVANCE_REASON_UNSPECIFIED = 0; + RELEVANCE_REASON_SAME_COMMIT_OLD = 1; + RELEVANCE_REASON_SAME_COMMIT_NEW = 2; + RELEVANCE_REASON_REF_IN_DELETION = 3; + RELEVANCE_REASON_REF_IN_INSERTION = 4; + RELEVANCE_REASON_NOT_RELEVANT = 99; +} + +enum DescriptionType { + DESCRIPTION_TYPE_UNSPECIFIED = 0; + DESCRIPTION_TYPE_EDIT_COMMAND = 1; + DESCRIPTION_TYPE_INSERTION_COMMAND = 2; +} + +enum IntentType { + INTENT_TYPE_UNSPECIFIED = 0; + INTENT_TYPE_COMMIT_GOAL = 1; + INTENT_TYPE_DIFF_SEARCH = 2; + INTENT_TYPE_CLEAN_COMMIT = 3; + INTENT_TYPE_CCI_SIGNATURE_SEARCH = 4; + INTENT_TYPE_CCI_RAW_SOURCE_SEARCH = 5; +} + +enum RetrieverType { + RETRIEVER_TYPE_UNSPECIFIED = 0; + RETRIEVER_TYPE_CONTEXT_MODULE_LOCAL = 1; + RETRIEVER_TYPE_CONTEXT_MODULE_SEARCH = 2; + RETRIEVER_TYPE_SEARCH = 3; + RETRIEVER_TYPE_MQUERY_OPENAI = 4; + RETRIEVER_TYPE_MQUERY_CODEIUM = 5; + RETRIEVER_TYPE_CONTEXT_MODULE_SEARCH_MQUERY_SCORER = 6; + RETRIEVER_TYPE_COMMIT_GRAPH = 7; + RETRIEVER_TYPE_MORPH_NORMAL = 8; + RETRIEVER_TYPE_MORPH_ADVANCED = 9; + RETRIEVER_TYPE_GRAPH_CLUSTERS = 10; + RETRIEVER_TYPE_OPENSEARCH = 11; +} + diff --git a/lsp_protos/exa/codeium_common_pb/codeium_common.proto b/lsp_protos/exa/codeium_common_pb/codeium_common.proto new file mode 100755 index 0000000..e10f03b --- /dev/null +++ b/lsp_protos/exa/codeium_common_pb/codeium_common.proto @@ -0,0 +1,3908 @@ +syntax = "proto3"; + +package exa.codeium_common_pb; + +option go_package = "github.com/Exafunction/Exafunction/exa/codeium_common_pb"; + +import "buf/validate/validate.proto"; +import "google/protobuf/duration.proto"; +import "google/protobuf/timestamp.proto"; + +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; + string key_string = 5; + bool disabled = 6; + .exa.codeium_common_pb.ExperimentSource source = 7; + oneof payload { + string string = 2; + string json = 3; + string csv = 4; + } +} + +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 "dsn_to_sample_rate"; + reserved "ignore"; + reserved 1; + reserved 4; + message ProcedureToSampleRateEntry { + string key = 1; + double value = 2; + } + + message ErrorMatchToSampleRateEntry { + string key = 1; + double value = 2; + } + + double sample_rate = 2; + repeated .exa.codeium_common_pb.ExperimentSentryPayload.ProcedureToSampleRateEntry procedure_to_sample_rate = 3; + repeated .exa.codeium_common_pb.ExperimentSentryPayload.ErrorMatchToSampleRateEntry error_match_to_sample_rate = 5; +} + +message TeamOrganizationalControls { + reserved 7; + string team_id = 1; + repeated string cascade_model_labels = 2; + repeated string command_model_labels = 3; + .google.protobuf.Timestamp created_at = 4; + .google.protobuf.Timestamp updated_at = 5; + repeated string extension_model_labels = 6; + repeated .exa.codeium_common_pb.APIProvider allowed_api_providers = 8; + repeated string cli_model_labels = 9; + 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; +} + +message ExperimentProfilingTelemetrySampleRatePayload { + message MemoryUsageToSampleRateEntry { + string key = 1; + double value = 2; + } + + repeated .exa.codeium_common_pb.ExperimentProfilingTelemetrySampleRatePayload.MemoryUsageToSampleRateEntry memory_usage_to_sample_rate = 1; +} + +message ModelOrAlias { + oneof choice { + .exa.codeium_common_pb.Model model = 1; + .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 "runner_completion_latency"; + reserved 9; + 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 "prefix"; + reserved "entropy"; + reserved 3; + reserved 11; + 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; + double time_to_first_prefill_pass = 3; + double time_to_first_token = 4; + double total_completion_time = 5; + optional .exa.codeium_common_pb.SingleModelCompletionProfile draft_model_profile = 2; + optional .exa.codeium_common_pb.ModelUsageStats model_usage = 6; +} + +message StreamingCompletion { + message AttributionStatusesEntry { + uint32 key = 1; + .exa.codeium_common_pb.AttributionStatus value = 2; + } + + 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; + repeated .exa.codeium_common_pb.StreamingCompletion.AttributionStatusesEntry attribution_statuses = 8; +} + +message StreamingCompletionMap { + message CompletionsEntry { + int32 key = 1; + .exa.codeium_common_pb.StreamingCompletion value = 2; + } + + repeated .exa.codeium_common_pb.StreamingCompletionMap.CompletionsEntry 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 "eval_suffix_info"; + reserved 3; + 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 "ip_address"; + reserved "windsurf_version"; + reserved 19; + reserved 23; + 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; +} + +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; + 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 { + message NumFilesEntry { + int32 key = 1; + int64 value = 2; + } + + message NumBytesEntry { + int32 key = 1; + int64 value = 2; + } + + string workspace = 3; + repeated .exa.codeium_common_pb.WorkspaceStats.NumFilesEntry num_files = 1; + repeated .exa.codeium_common_pb.WorkspaceStats.NumBytesEntry 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 { + .exa.codeium_common_pb.ArenaTier arena_tier = 1; + float tokens_per_second = 2; +} + +message ArenaAssignment { + string model_uid = 1; + string cascade_id = 2; + string harness_id = 3; +} + +message ClientModelConfig { + reserved "tokens_per_second"; + reserved 26; + 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; + .exa.codeium_common_pb.ArenaTier arena_tier = 25; +} + +message DefaultOverrideModelConfig { + .exa.codeium_common_pb.ModelOrAlias model_or_alias_deprecated = 1; + string model_uid = 3; + string version_id = 2; +} + +message ClientModelSort { + string name = 1; + repeated .exa.codeium_common_pb.ClientModelGroup groups = 2; +} + +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; + float arena_mode_cost_fast = 4; + float arena_mode_cost_smart = 5; + optional .exa.codeium_common_pb.DefaultOverrideModelConfig default_override_model_config = 3; +} + +message AllowedModelConfig { + .exa.codeium_common_pb.ModelOrAlias model_or_alias = 1; + float credit_multiplier = 2; +} + +message PlanInfo { + message DefaultTeamFeaturesEntry { + int32 key = 1; + .exa.codeium_common_pb.TeamsFeaturesMetadata value = 2; + } + + .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; + 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; + .exa.codeium_common_pb.TeamConfig default_team_config = 24; + bool can_share_conversations = 28; + bool can_allow_cascade_in_background = 29; + repeated .exa.codeium_common_pb.PlanInfo.DefaultTeamFeaturesEntry default_team_features = 30; + bool browser_enabled = 31; + .exa.codeium_common_pb.DevinPlanInfo devin_info = 33; +} + +message DevinPlanInfo { + bool can_use_cascade = 1; + bool can_use_cli = 2; + bool is_admin = 3; +} + +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; +} + +message UserStatus { + reserved "plan_info"; + reserved 12; + 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; +} + +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 "code_snippet"; + reserved "code_signature"; + reserved 8; + reserved 9; + message SnippetByTypeEntry { + string key = 1; + .exa.codeium_common_pb.SnippetWithWordCount value = 2; + } + + string absolute_path_migrate_me_to_uri = 1; + 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; + repeated .exa.codeium_common_pb.CodeContextItem.SnippetByTypeEntry snippet_by_type = 11; + .exa.codeium_common_pb.GitRepoInfo repo_info = 14; + bytes file_content_hash = 15; +} + +message SnippetWithWordCount { + message WordCountBySplitterEntry { + string key = 1; + .exa.codeium_common_pb.WordCount value = 2; + } + + string snippet = 1; + repeated .exa.codeium_common_pb.SnippetWithWordCount.WordCountBySplitterEntry word_count_by_splitter = 2; +} + +message WordCount { + message WordCountMapEntry { + string key = 1; + int64 value = 2; + } + + repeated .exa.codeium_common_pb.WordCount.WordCountMapEntry 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 { + message NumCommandsBySourceEntry { + string key = 1; + uint64 value = 2; + } + + 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; + repeated .exa.codeium_common_pb.CommandStats.NumCommandsBySourceEntry 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; +} + +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 "cascade_tools_enabled"; + reserved "cascade_read_only_mode"; + reserved "enable_model_based_auto_execution"; + reserved "cascade_run_extension_code"; + reserved "cascade_run_extension_code_auto_run"; + reserved "cascade_input_autocomplete"; + reserved "claude_code_append_system_prompt"; + reserved "claude_code_cli_path"; + reserved "claude_code_system_prompt"; + reserved "claude_code_max_turns"; + reserved "claude_code_mcp_config"; + reserved "claude_code_mode"; + reserved "claude_code_directories"; + reserved "claude_code_system_prompt_append"; + reserved "claude_code_model"; + reserved "disable_superflow"; + reserved "last_arena_mode_category"; + 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; + message SeenNuxUidsEntry { + uint32 key = 1; + bool value = 2; + } + + message FeatureUsageDataEntry { + string key = 1; + .exa.codeium_common_pb.FeatureUsageData value = 2; + } + + message ConversationBrainConfigsEntry { + string key = 1; + .exa.codeium_common_pb.ConversationBrainConfig value = 2; + } + + 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; + repeated .exa.codeium_common_pb.UserSettings.SeenNuxUidsEntry seen_nux_uids = 60; + repeated string cascade_allowed_commands_prefix = 14; + repeated string cascade_denied_commands_prefix = 15; + 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; + bool disable_autocomplete = 19; + bool disable_supercomplete = 20; + bool disable_selection_popup = 21; + bool disable_explain_problem_inlay_hint = 22; + bool disable_inlay_hint_shortcuts = 23; + bool disable_open_cascade_on_reload = 24; + bool disable_auto_open_edited_files = 25; + bool disable_tab_to_jump = 26; + .exa.codeium_common_pb.CascadeCommandsAutoExecution cascade_auto_execution_policy = 27; + bool explain_and_fix_in_current_conversation = 29; + bool allow_cascade_access_gitignore_files = 31; + bool disable_cascade_auto_fix_lints = 32; + bool disable_cascade_browser_previews = 33; + bool detect_proxy = 34; + bool disable_tab_to_import = 35; + bool use_clipboard_for_completions = 36; + bool disable_highlight_after_accept = 37; + string last_selected_new_convo_tab = 38; + bool disable_auto_generate_memories = 39; + bool enable_sounds_for_special_events = 40; + bool enable_tab_sounds = 41; + bool allow_cascade_in_background = 42; + .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; + repeated .exa.codeium_common_pb.UserSettings.FeatureUsageDataEntry feature_usage_data = 47; + bool disable_cascade_in_background = 48; + repeated string custom_workspace = 50; + repeated .exa.codeium_common_pb.UserSettings.ConversationBrainConfigsEntry conversation_brain_configs = 51; + .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 = 59; + repeated string recently_used_cascade_models = 61; + 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; + bool enable_cascade_completion_notifications = 81; + bool enable_cascade_always_notify_on_finish = 82; + .exa.codeium_common_pb.CompletionMode completion_mode = 83; + .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 .exa.codeium_common_pb.Model last_selected_cascade_model_deprecated = 9; + optional .exa.codeium_common_pb.ModelOrAlias last_selected_cascade_model_or_alias_deprecated = 30; + optional string last_selected_cascade_model_uid = 91; + optional .exa.codeium_common_pb.ConversationalPlannerMode cascade_planner_mode = 13; + optional .exa.codeium_common_pb.Model last_model_override = 46; + optional string last_model_default_override_version_id = 58; + optional bool cascade_model_explicitly_set = 87; + optional string last_selected_cascade_id = 28; + optional .exa.codeium_common_pb.Model last_selected_smart_friend_model_deprecated = 79; + optional string last_selected_smart_friend_model_uid = 92; + optional bool last_arena_mode_enabled = 95; +} + +message ModelFeatures { + reserved "supports_middle_mode"; + reserved "supports_estimate_tokenizer"; + reserved 1; + reserved 16; + 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; + 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 ModelInfo { + reserved "arena_tier"; + reserved 19; + .exa.codeium_common_pb.Model model_id = 1; + 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; + .exa.codeium_common_pb.DisplayOption display_option = 22; + optional .exa.codeium_common_pb.ArenaConfig arena_config = 21; +} + +message ApiProviderRoutingConfig { + message ModelMapEntry { + string key = 1; + .exa.codeium_common_pb.ApiProviderConfigMap value = 2; + } + + repeated .exa.codeium_common_pb.ApiProviderRoutingConfig.ModelMapEntry model_map = 1; +} + +message ApiProviderConfigMap { + message ProviderMapEntry { + string key = 1; + .exa.codeium_common_pb.ApiProviderConfig value = 2; + } + + repeated .exa.codeium_common_pb.ApiProviderConfigMap.ProviderMapEntry provider_map = 1; +} + +message ApiProviderConfig { + uint32 weight = 1; + uint32 cache_ttl_minutes = 2; +} + +message ShadowTrafficConfig { + message ModelMapEntry { + string key = 1; + .exa.codeium_common_pb.ShadowTargetList value = 2; + } + + repeated .exa.codeium_common_pb.ShadowTrafficConfig.ModelMapEntry 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; +} + +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; + 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 { + message WorkspaceRelativePathsMigrateMeToWorkspaceUrisEntry { + string key = 1; + string value = 2; + } + + message WorkspaceUrisToRelativePathsEntry { + string key = 1; + string value = 2; + } + + string absolute_path_migrate_me_to_uri = 1; + string absolute_uri = 5; + repeated .exa.codeium_common_pb.PathScopeItem.WorkspaceRelativePathsMigrateMeToWorkspaceUrisEntry workspace_relative_paths_migrate_me_to_workspace_uris = 2; + repeated .exa.codeium_common_pb.PathScopeItem.WorkspaceUrisToRelativePathsEntry 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; + int32 resource_count = 4; + string base_dir = 5; + string content = 6; + optional string uri = 3; +} + +message PlanFileScopeItem { + string plan_path = 1; + string title = 2; + string description = 3; + bool request_implementation = 4; +} + +message McpPromptScopeItem { + message ArgumentsEntry { + string key = 1; + string value = 2; + } + + string server_name = 1; + string prompt_name = 2; + repeated .exa.codeium_common_pb.McpPromptScopeItem.ArgumentsEntry arguments = 3; + string resolved_content = 4; +} + +message McpResourceItem { + string uri = 1; + string name = 2; + string server_name = 5; + optional string description = 3; + optional string mime_type = 4; +} + +message BrowserPageScopeItem { + string url = 1; + string title = 2; + string visible_text_content = 3; + string page_id = 4; +} + +message BrowserCodeBlockScopeItem { + string url = 1; + string title = 2; + string code_content = 3; + .exa.codeium_common_pb.Language language = 4; + string page_id = 6; + optional string context_text = 5; +} + +message BrowserTextScopeItem { + string url = 1; + string visible_text = 2; + string page_id = 3; +} + +message ConversationScopeItem { + string id = 1; + string title = 2; + .google.protobuf.Timestamp last_modified_time = 3; +} + +message UserActivityScopeItem { + string id = 1; + string branch = 2; + bool current = 3; +} + +message TerminalScopeItem { + string process_id = 1; + string name = 2; + string last_command = 3; + string content = 4; +} + +message GithubPullRequestItem { + string url = 1; + string title = 2; + string owner = 3; + string number = 4; +} + +message GitCommitData { + string sha = 1; + string short_sha = 2; + string subject = 3; + string author = 4; + .google.protobuf.Timestamp timestamp = 5; + int32 insertions = 6; + int32 deletions = 7; +} + +message GitDiffData { + string branch_name = 1; + string base_branch = 2; + string merge_base_sha = 3; + int32 files_changed = 4; + int32 insertions = 5; + int32 deletions = 6; + string branch_head_sha = 7; +} + +message GitWorkingChangesData { + int32 staged_count = 1; + int32 unstaged_count = 2; + int32 untracked_count = 3; +} + +message GitScopeItem { + string repo_root_uri = 1; + string repo_display_name = 6; + string formatted_content = 5; + oneof git_data { + .exa.codeium_common_pb.GitCommitData commit = 2; + .exa.codeium_common_pb.GitDiffData diff = 3; + .exa.codeium_common_pb.GitWorkingChangesData working_changes = 4; + } +} + +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; + bytes gemini_thought_signature = 11; + string delta_signature_type = 12; +} + +message CompletionDeltaMap { + message DeltasEntry { + int32 key = 1; + .exa.codeium_common_pb.CompletionDelta value = 2; + } + + repeated .exa.codeium_common_pb.CompletionDeltaMap.DeltasEntry 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; +} + +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; + string absolute_uri = 12; + string relative_path_migrate_me_to_workspace_uri = 2; + 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; +} + +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 ModelUsageStats { + message ResponseHeaderEntry { + string key = 1; + string value = 2; + } + + .exa.codeium_common_pb.Model model_deprecated = 1; + string model_uid = 9; + 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; + repeated .exa.codeium_common_pb.ModelUsageStats.ResponseHeaderEntry 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; + .exa.codeium_common_pb.Language language = 7; + int64 score = 8; + repeated .exa.codeium_common_pb.DiagnosticFix fixes = 9; + optional string id = 6; +} + +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 { + message ExtraEntry { + string key = 1; + string value = 2; + } + + 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; + repeated .exa.codeium_common_pb.ProductEvent.ExtraEntry 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 { + int32 position = 2; + oneof chunk_type { + string text = 1; + .exa.codeium_common_pb.MarkdownChunk markdown_chunk = 3; + } +} + +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; +} + +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 "shell_pid"; + reserved 2; + .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 { + .google.protobuf.Timestamp end_time = 2; + optional int32 exit_code = 1; + 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 "shell_pid"; + reserved 1; + string id = 10; + string command_line = 2; + string cwd = 3; + bytes output = 4; + .google.protobuf.Timestamp start_time = 6; + .google.protobuf.Timestamp end_time = 7; + .google.protobuf.Timestamp last_updated_time = 11; + .exa.codeium_common_pb.TerminalShellCommandStatus status = 8; + .exa.codeium_common_pb.TerminalShellCommandSource source = 9; + optional int32 exit_code = 5; +} + +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; + repeated string synonyms = 4; + bool is_featured = 5; + oneof value { + string docs_url = 2; + string docs_search_domain = 3; + } +} + +message CustomProviderSettings { + string custom_api_server_endpoint = 1; + repeated .exa.codeium_common_pb.ClientModelConfig cascade_model_configs = 2; + repeated .exa.codeium_common_pb.ClientModelConfig command_model_configs = 3; + .exa.codeium_common_pb.Model fallback_model = 4; +} + +message TeamConfig { + string team_id = 1; + int32 user_prompt_credit_cap = 2; + int32 user_flow_credit_cap = 3; + bool auto_provision_cascade_seat = 4; + bool allow_mcp_servers = 5; + bool allow_auto_run_commands = 7; + bool allow_custom_recipes = 8; + int32 max_unclaimed_sites = 9; + bool allow_app_deployments = 10; + bool allow_sandbox_app_deployments = 19; + bool allow_teams_app_deployments = 20; + int32 max_new_sites_per_day = 11; + bool allow_github_reviews = 12; + bool allow_github_description_edits = 13; + string pull_request_review_guidelines = 14; + string pull_request_description_guidelines = 16; + bool disable_tool_calls = 15; + bool allow_individual_level_analytics = 17; + bool allow_attribution = 22; + repeated .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; + .exa.codeium_common_pb.CustomProviderSettings custom_provider_settings = 29; + int32 user_add_on_credit_cap = 30; + bool disable_codemaps = 31; + string allow_codemap_sharing = 32; + bool disable_fast_context = 33; + bool disable_lifeguard = 34; + repeated string allowed_ip_ranges = 35; + .exa.codeium_common_pb.CascadeCommandsAutoExecution max_cascade_auto_execution_level = 37; + 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; + optional bool allow_conversation_sharing = 18; + optional int32 pull_request_review_rate_limit = 21; + optional bool cascade_web_search_enabled = 38; +} + +message WebAppDeploymentConfig { + string project_id = 1; + string framework = 2; +} + +message McpServerTemplate { + message CommandsEntry { + string key = 1; + .exa.codeium_common_pb.McpServerCommand value = 2; + } + + string title = 1; + string id = 2; + string link = 3; + string description = 4; + repeated .exa.codeium_common_pb.McpServerTemplate.CommandsEntry commands = 5; +} + +message McpServerCommand { + .exa.codeium_common_pb.McpCommandTemplate template = 1; + repeated .exa.codeium_common_pb.McpCommandVariable variables = 2; +} + +message McpCommandTemplate { + message EnvEntry { + string key = 1; + string value = 2; + } + + string command = 1; + repeated string args = 2; + repeated .exa.codeium_common_pb.McpCommandTemplate.EnvEntry env = 3; +} + +message McpCommandVariable { + string name = 1; + string title = 2; + string description = 3; + string link = 4; +} + +message McpServerConfig { + string server_id = 1; + oneof configuration { + .exa.codeium_common_pb.McpLocalServer local = 2; + .exa.codeium_common_pb.McpRemoteServer remote = 3; + } +} + +message McpLocalServer { + message EnvEntry { + string key = 1; + string value = 2; + } + + string command = 1; + repeated string args = 2; + repeated .exa.codeium_common_pb.McpLocalServer.EnvEntry env = 3; +} + +message McpRemoteServer { + message HeadersEntry { + string key = 1; + string value = 2; + } + + string type = 1; + string url = 2; + repeated .exa.codeium_common_pb.McpRemoteServer.HeadersEntry headers = 3; +} + +message UnleashContext { + message PropertiesEntry { + string key = 1; + string value = 2; + } + + string user_id = 1; + string session_id = 2; + repeated .exa.codeium_common_pb.UnleashContext.PropertiesEntry 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 { + message DetailsEntry { + string key = 1; + string value = 2; + } + + string name = 1; + float value = 2; + repeated .exa.codeium_common_pb.MetricsRecord.DetailsEntry 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; + 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 { + message ModesEntry { + string key = 1; + .exa.codeium_common_pb.LifeguardModeConfig value = 2; + } + + repeated .exa.codeium_common_pb.LifeguardConfig.ModesEntry modes = 1; +} + +enum ProviderSource { + PROVIDER_SOURCE_UNSPECIFIED = 0; + PROVIDER_SOURCE_AUTOCOMPLETE = 1; + PROVIDER_SOURCE_CHAT = 2; + PROVIDER_SOURCE_COMMAND_GENERATE = 4; + PROVIDER_SOURCE_COMMAND_EDIT = 5; + PROVIDER_SOURCE_SUPERCOMPLETE = 6; + PROVIDER_SOURCE_COMMAND_PLAN = 7; + PROVIDER_SOURCE_QUERY = 8; + PROVIDER_SOURCE_FAST_APPLY = 9; + PROVIDER_SOURCE_COMMAND_TERMINAL = 10; + PROVIDER_SOURCE_TAB_JUMP = 11; + PROVIDER_SOURCE_CASCADE = 12; +} + +enum PromptElementKind { + PROMPT_ELEMENT_KIND_UNSPECIFIED = 0; + PROMPT_ELEMENT_KIND_FILE_MARKER = 2; + PROMPT_ELEMENT_KIND_OTHER_DOCUMENT = 4; + PROMPT_ELEMENT_KIND_BEFORE_CURSOR = 5; + PROMPT_ELEMENT_KIND_AFTER_CURSOR = 7; + PROMPT_ELEMENT_KIND_FIM = 8; + PROMPT_ELEMENT_KIND_SOT = 9; + PROMPT_ELEMENT_KIND_EOT = 10; + PROMPT_ELEMENT_KIND_CODE_CONTEXT_ITEM = 13; + PROMPT_ELEMENT_KIND_INSTRUCTION = 14; + PROMPT_ELEMENT_KIND_SELECTION = 15; + PROMPT_ELEMENT_KIND_TRAJECTORY_STEP = 16; + PROMPT_ELEMENT_KIND_ACTIVE_DOCUMENT = 17; + PROMPT_ELEMENT_KIND_CACHED_MESSAGE = 18; +} + +enum PromptAnnotationKind { + PROMPT_ANNOTATION_KIND_UNSPECIFIED = 0; + PROMPT_ANNOTATION_KIND_COPY = 1; + PROMPT_ANNOTATION_KIND_PROMPT_CACHE = 2; +} + +enum ExperimentKey { + UNSPECIFIED = 0; + USE_INTERNAL_CHAT_MODEL = 36; + RECORD_FILES = 47; + NO_SAMPLER_EARLY_STOP = 48; + CM_MEMORY_TELEMETRY = 53; + LANGUAGE_SERVER_VERSION = 55; + LANGUAGE_SERVER_AUTO_RELOAD = 56; + ONLY_MULTILINE = 60; + USE_AUTOCOMPLETE_MODEL = 64; + USE_ATTRIBUTION_FOR_INDIVIDUAL_TIER = 68; + CHAT_MODEL_CONFIG = 78; + COMMAND_MODEL_CONFIG = 79; + MIN_IDE_VERSION = 81; + API_SERVER_VERBOSE_ERRORS = 84; + DEFAULT_ENABLE_SEARCH = 86; + COLLECT_ONBOARDING_EVENTS = 87; + COLLECT_EXAMPLE_COMPLETIONS = 88; + USE_MULTILINE_MODEL = 89; + ATTRIBUTION_KILL_SWITCH = 92; + FAST_MULTILINE = 94; + SINGLE_COMPLETION = 95; + STOP_FIRST_NON_WHITESPACE_LINE = 96; + CORTEX_CONFIG = 102; + MODEL_CHAT_11121_VARIANTS = 103; + INCLUDE_PROMPT_COMPONENTS = 105; + NON_TEAMS_KILL_SWITCH = 106; + PERSIST_CODE_TRACKER = 108; + CHAT_COMPLETION_TOKENS_SOFT_LIMIT = 114; + CHAT_TOKENS_SOFT_LIMIT = 115; + DISABLE_COMPLETIONS_CACHE = 118; + LLAMA3_405B_KILL_SWITCH = 119; + USE_COMMAND_DOCSTRING_GENERATION = 121; + ENABLE_SUPERCOMPLETE = 123; + SENTRY = 136; + FAST_SINGLELINE = 144; + R2_LANGUAGE_SERVER_DOWNLOAD = 147; + SPLIT_MODEL = 152; + WINDSURF_SENTRY_SAMPLE_RATE = 198; + API_SERVER_CUTOFF = 158; + FAST_SPEED_KILL_SWITCH = 159; + PREDICTIVE_MULTILINE = 160; + SUPERCOMPLETE_FILTER_REVERT = 125; + SUPERCOMPLETE_FILTER_PREFIX_MATCH = 126; + SUPERCOMPLETE_FILTER_SCORE_THRESHOLD = 127; + SUPERCOMPLETE_FILTER_INSERTION_CAP = 128; + SUPERCOMPLETE_FILTER_DELETION_CAP = 133; + SUPERCOMPLETE_FILTER_WHITESPACE_ONLY = 156; + SUPERCOMPLETE_FILTER_NO_OP = 170; + SUPERCOMPLETE_FILTER_SUFFIX_MATCH = 176; + SUPERCOMPLETE_FILTER_PREVIOUSLY_SHOWN = 182; + SUPERCOMPLETE_MIN_SCORE = 129; + SUPERCOMPLETE_MAX_INSERTIONS = 130; + SUPERCOMPLETE_LINE_RADIUS = 131; + SUPERCOMPLETE_MAX_DELETIONS = 132; + SUPERCOMPLETE_RECENT_STEPS_DURATION = 138; + SUPERCOMPLETE_MAX_TRAJECTORY_STEPS = 154; + SUPERCOMPLETE_MAX_TRAJECTORY_STEP_SIZE = 203; + SUPERCOMPLETE_DISABLE_TYPING_CACHE = 231; + SUPERCOMPLETE_ALWAYS_USE_CACHE_ON_EQUAL_STATE = 293; + SUPERCOMPLETE_CACHE_ON_PARENT_ID_KILL_SWITCH = 297; + SUPERCOMPLETE_PRUNE_RESPONSE = 140; + SUPERCOMPLETE_PRUNE_MAX_INSERT_DELETE_LINE_DELTA = 141; + SUPERCOMPLETE_MODEL_CONFIG = 145; + SUPERCOMPLETE_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_CUSTOM_RECIPES = 236; + CASCADE_ENABLE_MCP_TOOLS = 245; + CASCADE_AUTO_FIX_LINTS = 275; + USE_ANTHROPIC_TOKEN_EFFICIENT_TOOLS_BETA = 296; + CASCADE_USER_MEMORIES_IN_SYS_PROMPT = 289; + CASCADE_ENABLE_PROXY_WEB_SERVER = 290; + COLLAPSE_ASSISTANT_MESSAGES = 312; + CASCADE_DEFAULT_MODEL_OVERRIDE = 321; + ENABLE_SMART_COPY = 181; + ENABLE_COMMIT_MESSAGE_GENERATION = 185; + 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; + CASCADE_NEW_WAVE_2_MODELS_NUX = 270; + SUPERCOMPLETE_FAST_DEBOUNCE = 262; + SUPERCOMPLETE_REGULAR_DEBOUNCE = 263; + XML_TOOL_PARSING_MODELS = 268; + SUPERCOMPLETE_DONT_FILTER_MID_STREAMED = 269; + ANNOYANCE_MANAGER_MAX_NAVIGATION_RENDERS = 285; + ANNOYANCE_MANAGER_INLINE_PREVENTION_THRESHOLD_MS = 286; + ANNOYANCE_MANAGER_INLINE_PREVENTION_MAX_INTENTIONAL_REJECTIONS = 287; + ANNOYANCE_MANAGER_INLINE_PREVENTION_MAX_AUTO_REJECTIONS = 288; + USE_CUSTOM_CHARACTER_DIFF = 292; + FORCE_NON_OPTIMIZED_DIFF = 298; + CASCADE_WEB_APP_DEPLOYMENTS_ENABLED = 300; + CASCADE_RECIPES_AT_MENTION_VISIBILITY = 316; + IMPLICIT_USES_CLIPBOARD = 310; + DISABLE_SUPERCOMPLETE_PCW = 303; + BLOCK_TAB_ON_SHOWN_AUTOCOMPLETE = 304; + CASCADE_WEB_SEARCH_NUX = 311; + MODEL_NOTIFICATIONS = 319; + MODEL_SELECTOR_NUX_COPY = 320; + CASCADE_TOOL_CALL_PRICING_NUX = 322; + CASCADE_PLUGINS_TAB = 323; + WAVE_8_RULES_ENABLED = 324; + WAVE_8_KNOWLEDGE_ENABLED = 325; + CASCADE_ONBOARDING = 326; + CASCADE_ONBOARDING_REVERT = 327; + CASCADE_WINDSURF_BROWSER_TOOLS_ENABLED = 328; + CASCADE_MODEL_HEADER_WARNING = 329; + TEST_ONLY = 999; +} + +enum ExperimentSource { + EXPERIMENT_SOURCE_UNSPECIFIED = 0; + EXPERIMENT_SOURCE_EXTENSION = 1; + EXPERIMENT_SOURCE_LANGUAGE_SERVER = 2; + EXPERIMENT_SOURCE_API_SERVER = 3; +} + +enum ModelAlias { + MODEL_ALIAS_UNSPECIFIED = 0; + MODEL_ALIAS_CASCADE_BASE = 1; + MODEL_ALIAS_VISTA = 3; + MODEL_ALIAS_SHAMU = 4; + MODEL_ALIAS_SWE_1 = 5; + MODEL_ALIAS_SWE_1_LITE = 6; + MODEL_ALIAS_AUTO = 7; +} + +enum Model { + MODEL_UNSPECIFIED = 0; + MODEL_EMBED_6591 = 20; + MODEL_8341 = 33; + MODEL_8528 = 42; + MODEL_9024 = 41; + MODEL_14602 = 112; + MODEL_15133 = 115; + MODEL_15302 = 119; + MODEL_15335 = 121; + MODEL_15336 = 122; + MODEL_15931 = 167; + MODEL_QUERY_9905 = 48; + MODEL_QUERY_11791 = 66; + MODEL_CHAT_11120 = 57; + MODEL_CHAT_11121 = 58; + MODEL_CHAT_12119 = 70; + MODEL_CHAT_12121 = 69; + MODEL_CHAT_12437 = 74; + MODEL_CHAT_12491 = 76; + MODEL_CHAT_12623 = 78; + MODEL_CHAT_12950 = 79; + MODEL_CHAT_12968 = 101; + MODEL_CHAT_13404 = 102; + MODEL_CHAT_13566 = 103; + MODEL_CHAT_13930 = 108; + MODEL_CHAT_14255 = 110; + MODEL_CHAT_14256 = 111; + MODEL_CHAT_14942 = 114; + MODEL_CHAT_15305 = 120; + MODEL_CHAT_15600 = 123; + MODEL_CHAT_16801 = 124; + MODEL_CHAT_16718 = 175; + MODEL_CHAT_15729 = 168; + MODEL_CHAT_16579 = 173; + MODEL_CHAT_16579_CRUSOE = 174; + MODEL_CHAT_18805 = 181; + MODEL_CHAT_18468 = 210; + MODEL_CHAT_19484 = 233; + MODEL_CHAT_20706 = 235; + MODEL_CHAT_21779 = 245; + MODEL_CHAT_19040 = 211; + MODEL_CHAT_19820 = 229; + MODEL_CHAT_19821 = 230; + MODEL_CHAT_19821_CRUSOE = 244; + MODEL_CHAT_23310 = 269; + MODEL_CHAT_28580 = 330; + MODEL_CHAT_28581 = 331; + MODEL_CHAT_28582 = 332; + MODEL_CHAT_28583 = 333; + MODEL_CHAT_28584 = 334; + MODEL_CHAT_19822 = 231; + MODEL_CHAT_22798 = 255; + MODEL_CHAT_22799 = 256; + MODEL_CHAT_22800 = 257; + MODEL_CHAT_23151 = 267; + MODEL_CHAT_23152 = 268; + MODEL_TAB_ARMADILLO = 500; + MODEL_TAB_BASE_1 = 501; + MODEL_TAB_EXPERIMENTAL_1 = 502; + MODEL_TAB_EXPERIMENTAL_2 = 503; + MODEL_TAB_EXPERIMENTAL_3 = 504; + MODEL_TAB_EXPERIMENTAL_4 = 505; + MODEL_TAB_EXPERIMENTAL_5 = 506; + MODEL_TAB_EXPERIMENTAL_6 = 507; + MODEL_TAB_EXPERIMENTAL_7 = 508; + MODEL_TAB_EXPERIMENTAL_8 = 509; + MODEL_TAB_EXPERIMENTAL_9 = 510; + MODEL_TAB_EXPERIMENTAL_10 = 511; + MODEL_CASCADE_22893 = 270; + MODEL_CASCADE_20064 = 225; + MODEL_CASCADE_20065 = 236; + MODEL_CASCADE_20066 = 237; + MODEL_CASCADE_20067 = 238; + MODEL_CASCADE_20068 = 239; + MODEL_CASCADE_20069 = 240; + MODEL_CASCADE_20070 = 250; + MODEL_CASCADE_20071 = 251; + MODEL_CASCADE_20072 = 252; + MODEL_CASCADE_20073 = 253; + MODEL_CASCADE_20074 = 254; + MODEL_CASCADE_20075 = 307; + MODEL_CASCADE_20076 = 308; + MODEL_CASCADE_20077 = 309; + MODEL_CASCADE_20078 = 310; + MODEL_CASCADE_20079 = 311; + MODEL_CASCADE_20080 = 297; + MODEL_CASCADE_20081 = 298; + MODEL_CASCADE_20082 = 299; + MODEL_CASCADE_20083 = 300; + MODEL_CASCADE_20084 = 301; + MODEL_CASCADE_20085 = 302; + MODEL_CASCADE_20086 = 303; + MODEL_CASCADE_20087 = 304; + MODEL_CASCADE_20088 = 305; + MODEL_CASCADE_20089 = 306; + MODEL_DEEPSEEK_V3_INTERNAL = 247; + MODEL_DEEPSEEK_V3_0324_INTERNAL = 248; + MODEL_DEEPSEEK_R1_INTERNAL = 249; + MODEL_ANTHROPIC_WINDSURF_RESEARCH = 241; + MODEL_ANTHROPIC_WINDSURF_RESEARCH_THINKING = 242; + 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; + MODEL_CHAT_O1_MINI = 118; + MODEL_CHAT_O1 = 170; + 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; + 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; + MODEL_GOOGLE_GEMINI_1_5_PRO = 62; + MODEL_GOOGLE_GEMINI_EXP_1206 = 183; + MODEL_GOOGLE_GEMINI_2_0_FLASH = 184; + MODEL_GOOGLE_GEMINI_2_5_PRO = 246; + MODEL_GOOGLE_GEMINI_2_5_FLASH_PREVIEW_04_17 = 272; + MODEL_GOOGLE_GEMINI_2_5_FLASH_PREVIEW_05_20 = 275; + MODEL_GOOGLE_GEMINI_2_5_FLASH_PREVIEW_05_20_THINKING = 276; + MODEL_GOOGLE_GEMINI_2_5_FLASH = 312; + MODEL_GOOGLE_GEMINI_2_5_FLASH_THINKING = 313; + MODEL_GOOGLE_GEMINI_2_5_FLASH_LITE = 343; + MODEL_GOOGLE_GEMINI_3_0_PRO_LOW = 378; + MODEL_GOOGLE_GEMINI_3_0_PRO_HIGH = 379; + MODEL_GOOGLE_GEMINI_3_0_PRO_MINIMAL = 411; + MODEL_GOOGLE_GEMINI_3_0_PRO_MEDIUM = 412; + MODEL_GOOGLE_GEMINI_3_0_FLASH_MINIMAL = 413; + MODEL_GOOGLE_GEMINI_3_0_FLASH_LOW = 414; + MODEL_GOOGLE_GEMINI_3_0_FLASH_MEDIUM = 415; + MODEL_GOOGLE_GEMINI_3_0_FLASH_HIGH = 416; + MODEL_CLAUDE_3_OPUS_20240229 = 63; + MODEL_CLAUDE_3_SONNET_20240229 = 64; + MODEL_CLAUDE_3_HAIKU_20240307 = 172; + MODEL_CLAUDE_3_5_HAIKU_20241022 = 171; + MODEL_CLAUDE_3_5_SONNET_20240620 = 80; + MODEL_CLAUDE_3_5_SONNET_20241022 = 166; + MODEL_CLAUDE_3_7_SONNET_20250219 = 226; + MODEL_CLAUDE_3_7_SONNET_20250219_THINKING = 227; + MODEL_CLAUDE_3_5_SONNET_BYOK = 284; + MODEL_CLAUDE_3_7_SONNET_BYOK = 285; + MODEL_CLAUDE_3_7_SONNET_OPEN_ROUTER_BYOK = 319; + MODEL_CLAUDE_3_7_SONNET_THINKING_BYOK = 286; + MODEL_CLAUDE_3_7_SONNET_THINKING_OPEN_ROUTER_BYOK = 320; + MODEL_CLAUDE_4_OPUS_BYOK = 277; + MODEL_CLAUDE_4_OPUS_THINKING_BYOK = 278; + MODEL_CLAUDE_4_OPUS = 290; + MODEL_CLAUDE_4_OPUS_THINKING = 291; + MODEL_CLAUDE_4_SONNET_BYOK = 279; + MODEL_CLAUDE_4_SONNET_OPEN_ROUTER_BYOK = 321; + MODEL_CLAUDE_4_SONNET_THINKING_BYOK = 280; + MODEL_CLAUDE_4_SONNET_THINKING_OPEN_ROUTER_BYOK = 322; + MODEL_CLAUDE_4_SONNET = 281; + MODEL_CLAUDE_4_SONNET_THINKING = 282; + MODEL_CLAUDE_4_1_OPUS = 328; + MODEL_CLAUDE_4_1_OPUS_THINKING = 329; + MODEL_CLAUDE_4_5_SONNET = 353; + MODEL_CLAUDE_4_5_SONNET_THINKING = 354; + MODEL_CLAUDE_4_5_SONNET_1M = 370; + MODEL_CLAUDE_4_5_SONNET_THINKING_1M = 371; + MODEL_CLAUDE_4_5_OPUS = 391; + MODEL_CLAUDE_4_5_OPUS_THINKING = 392; + MODEL_CLAUDE_4_SONNET_DATABRICKS = 292; + MODEL_CLAUDE_4_SONNET_THINKING_DATABRICKS = 293; + MODEL_TOGETHERAI_TEXT_EMBEDDING_M2_BERT = 81; + MODEL_TOGETHERAI_LLAMA_3_1_8B_INSTRUCT = 165; + MODEL_HUGGING_FACE_TEXT_EMBEDDING_M2_BERT = 82; + MODEL_HUGGING_FACE_TEXT_EMBEDDING_UAE_CODE = 83; + MODEL_HUGGING_FACE_TEXT_EMBEDDING_BGE = 84; + MODEL_HUGGING_FACE_TEXT_EMBEDDING_BLADE = 85; + MODEL_HUGGING_FACE_TEXT_EMBEDDING_ARCTIC_LARGE = 86; + MODEL_HUGGING_FACE_TEXT_EMBEDDING_E5_BASE = 87; + MODEL_HUGGING_FACE_TEXT_EMBEDDING_MXBAI = 88; + 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; + MODEL_LLAMA_3_1_70B_HERMES_3 = 177; + 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; + MODEL_NOMIC_TEXT_EMBEDDING_V1_5 = 90; + MODEL_MISTRAL_7B = 77; + MODEL_SALESFORCE_EMBEDDING_2R = 99; + MODEL_CUSTOM_VLLM = 182; + MODEL_TEI_BGE_M3 = 92; + MODEL_TEI_NOMIC_EMBED_TEXT_V1 = 93; + MODEL_TEI_INTFLOAT_E5_LARGE_INSTRUCT = 94; + MODEL_TEI_SNOWFLAKE_ARCTIC_EMBED_L = 95; + MODEL_TEI_UAE_CODE_LARGE_V1 = 96; + MODEL_TEI_B1ADE = 97; + MODEL_TEI_WHEREISAI_UAE_LARGE_V1 = 98; + MODEL_TEI_WHEREISAI_UAE_CODE_LARGE_V1 = 100; + MODEL_OPENAI_COMPATIBLE = 200; + MODEL_ANTHROPIC_COMPATIBLE = 201; + MODEL_VERTEX_COMPATIBLE = 202; + MODEL_BEDROCK_COMPATIBLE = 203; + MODEL_AZURE_COMPATIBLE = 204; + MODEL_DEEPSEEK_V3 = 205; + MODEL_DEEPSEEK_R1 = 206; + MODEL_DEEPSEEK_R1_SLOW = 215; + MODEL_DEEPSEEK_R1_FAST = 216; + MODEL_KIMI_K2 = 323; + MODEL_MINIMAX_M2 = 368; + MODEL_MINIMAX_M2_1 = 419; + MODEL_DEEPSEEK_V3_2 = 409; + MODEL_KIMI_K2_THINKING = 394; + MODEL_CUSTOM_OPEN_ROUTER = 185; + MODEL_XAI_GROK_2 = 212; + MODEL_XAI_GROK_3 = 217; + MODEL_XAI_GROK_3_MINI_REASONING = 234; + MODEL_XAI_GROK_CODE_FAST = 345; + MODEL_PRIVATE_1 = 219; + MODEL_PRIVATE_2 = 220; + MODEL_PRIVATE_3 = 221; + MODEL_PRIVATE_4 = 222; + MODEL_PRIVATE_5 = 223; + MODEL_PRIVATE_6 = 314; + MODEL_PRIVATE_7 = 315; + MODEL_PRIVATE_8 = 316; + MODEL_PRIVATE_9 = 317; + MODEL_PRIVATE_10 = 318; + MODEL_PRIVATE_11 = 347; + MODEL_PRIVATE_12 = 348; + MODEL_PRIVATE_13 = 349; + MODEL_PRIVATE_14 = 350; + MODEL_PRIVATE_15 = 351; + MODEL_PRIVATE_16 = 363; + MODEL_PRIVATE_17 = 364; + MODEL_PRIVATE_18 = 365; + MODEL_PRIVATE_19 = 366; + MODEL_PRIVATE_20 = 367; + MODEL_PRIVATE_21 = 372; + MODEL_PRIVATE_22 = 373; + MODEL_PRIVATE_23 = 374; + MODEL_PRIVATE_24 = 375; + MODEL_PRIVATE_25 = 376; + MODEL_PRIVATE_26 = 380; + MODEL_PRIVATE_27 = 381; + MODEL_PRIVATE_28 = 382; + MODEL_PRIVATE_29 = 383; + MODEL_PRIVATE_30 = 384; + MODEL_GPT_5_2_NONE = 399; + MODEL_GPT_5_2_LOW = 400; + MODEL_GPT_5_2_MEDIUM = 401; + MODEL_GPT_5_2_HIGH = 402; + MODEL_GPT_5_2_XHIGH = 403; + MODEL_GPT_5_2_NONE_PRIORITY = 404; + MODEL_GPT_5_2_LOW_PRIORITY = 405; + MODEL_GPT_5_2_MEDIUM_PRIORITY = 406; + MODEL_GPT_5_2_HIGH_PRIORITY = 407; + MODEL_GPT_5_2_XHIGH_PRIORITY = 408; + MODEL_GPT_5_2_CODEX_LOW = 422; + MODEL_GPT_5_2_CODEX_MEDIUM = 423; + MODEL_GPT_5_2_CODEX_HIGH = 424; + MODEL_GPT_5_2_CODEX_XHIGH = 425; + MODEL_GPT_5_2_CODEX_LOW_PRIORITY = 426; + MODEL_GPT_5_2_CODEX_MEDIUM_PRIORITY = 427; + MODEL_GPT_5_2_CODEX_HIGH_PRIORITY = 428; + MODEL_GPT_5_2_CODEX_XHIGH_PRIORITY = 429; + MODEL_SGLANG_ROLLOUT = 600; +} + +enum DeepWikiModelType { + DEEP_WIKI_MODEL_TYPE_UNSPECIFIED = 0; + DEEP_WIKI_MODEL_TYPE_CAPACITY_FALLBACK = 1; + DEEP_WIKI_MODEL_TYPE_LITE_FREE = 2; + DEEP_WIKI_MODEL_TYPE_LITE_PAID = 3; + DEEP_WIKI_MODEL_TYPE_PREMIUM = 4; +} + +enum PromptElementExclusionReason { + EXCLUSION_UNSPECIFIED = 0; + EXCLUSION_ELEMENT_KIND_DISABLED = 1; + EXCLUSION_ELEMENT_MISSING_DEPENDENCY = 2; + EXCLUSION_TOKEN_BUDGET = 3; + EXCLUSION_ACTIVE_SOURCE_OVERLAP = 4; +} + +enum StopReason { + STOP_REASON_UNSPECIFIED = 0; + STOP_REASON_INCOMPLETE = 1; + STOP_REASON_STOP_PATTERN = 2; + STOP_REASON_MAX_TOKENS = 3; + STOP_REASON_MIN_LOG_PROB = 4; + STOP_REASON_MAX_NEWLINES = 5; + STOP_REASON_EXIT_SCOPE = 6; + STOP_REASON_NONFINITE_LOGIT_OR_PROB = 7; + STOP_REASON_FIRST_NON_WHITESPACE_LINE = 8; + STOP_REASON_PARTIAL = 9; + STOP_REASON_FUNCTION_CALL = 10; + STOP_REASON_CONTENT_FILTER = 11; + STOP_REASON_NON_INSERTION = 12; + STOP_REASON_ERROR = 13; +} + +enum FilterReason { + FILTER_REASON_NONE = 0; + FILTER_REASON_INCOMPLETE = 1; + FILTER_REASON_EMPTY = 2; + FILTER_REASON_REPETITIVE = 3; + FILTER_REASON_DUPLICATE = 4; + FILTER_REASON_LONG_LINE = 5; + FILTER_REASON_COMPLETIONS_CUTOFF = 6; + FILTER_REASON_ATTRIBUTION = 7; + FILTER_REASON_NON_MATCHING = 8; + FILTER_REASON_NON_INSERTION = 9; +} + +enum AttributionStatus { + ATTRIBUTION_STATUS_UNSPECIFIED = 0; + ATTRIBUTION_STATUS_NEW_CODE = 1; + ATTRIBUTION_STATUS_NO_LICENSE = 2; + ATTRIBUTION_STATUS_NONPERMISSIVE = 3; + ATTRIBUTION_STATUS_PERMISSIVE = 4; + ATTRIBUTION_STATUS_PERMISSIVE_BLOCKED = 5; +} + +enum EmbeddingPriority { + EMBEDDING_PRIORITY_UNSPECIFIED = 0; + EMBEDDING_PRIORITY_HIGH = 1; + EMBEDDING_PRIORITY_LOW = 2; +} + +enum EmbeddingPrefix { + EMBEDDING_PREFIX_UNSPECIFIED = 0; + EMBEDDING_PREFIX_NOMIC_DOCUMENT = 1; + EMBEDDING_PREFIX_NOMIC_SEARCH = 2; + EMBEDDING_PREFIX_NOMIC_CLASSIFICATION = 3; + EMBEDDING_PREFIX_NOMIC_CLUSTERING = 4; +} + +enum EmbeddingSource { + EMBEDDING_SOURCE_UNSPECIFIED = 0; + EMBEDDING_SOURCE_CODE_CONTEXT_ITEM = 1; + EMBEDDING_SOURCE_COMMIT_INTENT = 2; +} + +enum AuthSource { + AUTH_SOURCE_CODEIUM = 0; + AUTH_SOURCE_DEEPNOTE = 1; + AUTH_SOURCE_CODESANDBOX = 2; + AUTH_SOURCE_STACKBLITZ = 3; + AUTH_SOURCE_VALTOWN = 4; + AUTH_SOURCE_HEX = 5; + AUTH_SOURCE_ZAPIER = 6; + AUTH_SOURCE_SUPERBLOCKS = 7; + AUTH_SOURCE_EMBARCADERO = 8; +} + +enum EventType { + EVENT_TYPE_UNSPECIFIED = 0; + EVENT_TYPE_ENABLE_CODEIUM = 1; + EVENT_TYPE_DISABLE_CODEIUM = 2; + EVENT_TYPE_SHOW_PREVIOUS_COMPLETION = 3; + EVENT_TYPE_SHOW_NEXT_COMPLETION = 4; + EVENT_TYPE_COPILOT_STATUS = 5; + EVENT_TYPE_COMPLETION_SUPPRESSED = 6; + EVENT_TYPE_MEMORY_STATS = 8; + EVENT_TYPE_LOCAL_CONTEXT_RELEVANCE_CHECK = 9; + EVENT_TYPE_ACTIVE_EDITOR_CHANGED = 10; + EVENT_TYPE_SHOW_PREVIOUS_CORTEX_STEP = 11; + EVENT_TYPE_SHOW_NEXT_CORTEX_STEP = 12; + EVENT_TYPE_INDEXER_STATS = 13; + EVENT_TYPE_SYSTEM_METRICS_TELEMETRY = 14; +} + +enum SearchResultType { + SEARCH_RESULT_TYPE_UNSPECIFIED = 0; + SEARCH_RESULT_TYPE_CLUSTER = 1; + SEARCH_RESULT_TYPE_EXACT = 2; +} + +enum EmbedType { + EMBED_TYPE_UNSPECIFIED = 0; + EMBED_TYPE_RAW_SOURCE = 1; + EMBED_TYPE_DOCSTRING = 2; + EMBED_TYPE_FUNCTION = 3; + EMBED_TYPE_NODEPATH = 4; + EMBED_TYPE_DECLARATION = 5; + EMBED_TYPE_NAIVE_CHUNK = 6; + EMBED_TYPE_SIGNATURE = 7; +} + +enum CompletionSource { + COMPLETION_SOURCE_UNSPECIFIED = 0; + COMPLETION_SOURCE_TYPING_AS_SUGGESTED = 1; + COMPLETION_SOURCE_CACHE = 2; + COMPLETION_SOURCE_NETWORK = 3; +} + +enum CompletionType { + COMPLETION_TYPE_UNSPECIFIED = 0; + COMPLETION_TYPE_SINGLE = 1; + COMPLETION_TYPE_MULTI = 2; + COMPLETION_TYPE_INLINE_FIM = 3; + COMPLETION_TYPE_CASCADE = 4; +} + +enum Language { + LANGUAGE_UNSPECIFIED = 0; + LANGUAGE_C = 1; + LANGUAGE_CLOJURE = 2; + LANGUAGE_COFFEESCRIPT = 3; + LANGUAGE_CPP = 4; + LANGUAGE_CSHARP = 5; + LANGUAGE_CSS = 6; + LANGUAGE_CUDACPP = 7; + LANGUAGE_DOCKERFILE = 8; + LANGUAGE_GO = 9; + LANGUAGE_GROOVY = 10; + LANGUAGE_HANDLEBARS = 11; + LANGUAGE_HASKELL = 12; + LANGUAGE_HCL = 13; + LANGUAGE_HTML = 14; + LANGUAGE_INI = 15; + LANGUAGE_JAVA = 16; + LANGUAGE_JAVASCRIPT = 17; + LANGUAGE_JSON = 18; + LANGUAGE_JULIA = 19; + LANGUAGE_KOTLIN = 20; + LANGUAGE_LATEX = 21; + LANGUAGE_LESS = 22; + LANGUAGE_LUA = 23; + LANGUAGE_MAKEFILE = 24; + LANGUAGE_MARKDOWN = 25; + LANGUAGE_OBJECTIVEC = 26; + LANGUAGE_OBJECTIVECPP = 27; + LANGUAGE_PERL = 28; + LANGUAGE_PHP = 29; + LANGUAGE_PLAINTEXT = 30; + LANGUAGE_PROTOBUF = 31; + LANGUAGE_PBTXT = 32; + LANGUAGE_PYTHON = 33; + LANGUAGE_R = 34; + LANGUAGE_RUBY = 35; + LANGUAGE_RUST = 36; + LANGUAGE_SASS = 37; + LANGUAGE_SCALA = 38; + LANGUAGE_SCSS = 39; + LANGUAGE_SHELL = 40; + LANGUAGE_SQL = 41; + LANGUAGE_STARLARK = 42; + LANGUAGE_SWIFT = 43; + LANGUAGE_TSX = 44; + LANGUAGE_TYPESCRIPT = 45; + LANGUAGE_VISUALBASIC = 46; + LANGUAGE_VUE = 47; + LANGUAGE_XML = 48; + LANGUAGE_XSL = 49; + LANGUAGE_YAML = 50; + LANGUAGE_SVELTE = 51; + LANGUAGE_TOML = 52; + LANGUAGE_DART = 53; + LANGUAGE_RST = 54; + LANGUAGE_OCAML = 55; + LANGUAGE_CMAKE = 56; + LANGUAGE_PASCAL = 57; + LANGUAGE_ELIXIR = 58; + LANGUAGE_FSHARP = 59; + LANGUAGE_LISP = 60; + LANGUAGE_MATLAB = 61; + LANGUAGE_POWERSHELL = 62; + LANGUAGE_SOLIDITY = 63; + LANGUAGE_ADA = 64; + LANGUAGE_OCAML_INTERFACE = 65; + LANGUAGE_TREE_SITTER_QUERY = 66; + LANGUAGE_APL = 67; + LANGUAGE_ASSEMBLY = 68; + LANGUAGE_COBOL = 69; + LANGUAGE_CRYSTAL = 70; + LANGUAGE_EMACS_LISP = 71; + LANGUAGE_ERLANG = 72; + LANGUAGE_FORTRAN = 73; + LANGUAGE_FREEFORM = 74; + LANGUAGE_GRADLE = 75; + LANGUAGE_HACK = 76; + LANGUAGE_MAVEN = 77; + LANGUAGE_M68KASSEMBLY = 78; + LANGUAGE_SAS = 79; + LANGUAGE_UNIXASSEMBLY = 80; + LANGUAGE_VBA = 81; + LANGUAGE_VIMSCRIPT = 82; + LANGUAGE_WEBASSEMBLY = 83; + LANGUAGE_BLADE = 84; + LANGUAGE_ASTRO = 85; + LANGUAGE_MUMPS = 86; + LANGUAGE_GDSCRIPT = 87; + LANGUAGE_NIM = 88; + LANGUAGE_PROLOG = 89; + LANGUAGE_MARKDOWN_INLINE = 90; + LANGUAGE_APEX = 91; + LANGUAGE_JUPYTER_NOTEBOOK = 92; +} + +enum ChatMessageSource { + CHAT_MESSAGE_SOURCE_UNSPECIFIED = 0; + CHAT_MESSAGE_SOURCE_USER = 1; + CHAT_MESSAGE_SOURCE_SYSTEM = 2; + CHAT_MESSAGE_SOURCE_UNKNOWN = 3; + CHAT_MESSAGE_SOURCE_TOOL = 4; + CHAT_MESSAGE_SOURCE_SYSTEM_PROMPT = 5; +} + +enum UserTeamStatus { + USER_TEAM_STATUS_UNSPECIFIED = 0; + USER_TEAM_STATUS_PENDING = 1; + USER_TEAM_STATUS_APPROVED = 2; + USER_TEAM_STATUS_REJECTED = 3; +} + +enum TeamsFeatures { + TEAMS_FEATURES_UNSPECIFIED = 0; + TEAMS_FEATURES_SSO = 1; + TEAMS_FEATURES_ATTRIBUTION = 2; + TEAMS_FEATURES_PHI = 3; + TEAMS_FEATURES_CORTEX = 4; + TEAMS_FEATURES_OPENAI_DISABLED = 5; + TEAMS_FEATURES_REMOTE_INDEXING_DISABLED = 6; + TEAMS_FEATURES_API_KEY_ENABLED = 7; +} + +enum UserFeatures { + USER_FEATURES_UNSPECIFIED = 0; + USER_FEATURES_CORTEX = 1; + USER_FEATURES_CORTEX_TEST = 2; +} + +enum Permission { + PERMISSION_UNSPECIFIED = 0; + PERMISSION_ATTRIBUTION_READ = 1; + PERMISSION_ANALYTICS_READ = 2; + PERMISSION_LICENSE_READ = 3; + PERMISSION_TEAM_USER_READ = 4; + PERMISSION_TEAM_USER_UPDATE = 5; + PERMISSION_TEAM_USER_DELETE = 6; + PERMISSION_TEAM_USER_INVITE = 17; + PERMISSION_INDEXING_READ = 7; + PERMISSION_INDEXING_CREATE = 8; + PERMISSION_INDEXING_UPDATE = 9; + PERMISSION_INDEXING_DELETE = 10; + PERMISSION_INDEXING_MANAGEMENT = 27; + PERMISSION_FINETUNING_READ = 19; + PERMISSION_FINETUNING_CREATE = 20; + PERMISSION_FINETUNING_UPDATE = 21; + PERMISSION_FINETUNING_DELETE = 22; + PERMISSION_SSO_READ = 11; + PERMISSION_SSO_WRITE = 12; + PERMISSION_SERVICE_KEY_READ = 13; + PERMISSION_SERVICE_KEY_CREATE = 14; + PERMISSION_SERVICE_KEY_UPDATE = 28; + PERMISSION_SERVICE_KEY_DELETE = 15; + PERMISSION_ROLE_READ = 23; + PERMISSION_ROLE_CREATE = 24; + PERMISSION_ROLE_UPDATE = 25; + PERMISSION_ROLE_DELETE = 26; + PERMISSION_BILLING_READ = 16; + PERMISSION_BILLING_WRITE = 18; + PERMISSION_EXTERNAL_CHAT_UPDATE = 29; + PERMISSION_TEAM_SETTINGS_READ = 30; + PERMISSION_TEAM_SETTINGS_UPDATE = 31; +} + +enum TeamsTier { + TEAMS_TIER_UNSPECIFIED = 0; + TEAMS_TIER_TEAMS = 1; + TEAMS_TIER_PRO = 2; + TEAMS_TIER_TRIAL = 9; + TEAMS_TIER_ENTERPRISE_SAAS = 3; + TEAMS_TIER_HYBRID = 4; + TEAMS_TIER_ENTERPRISE_SELF_HOSTED = 5; + TEAMS_TIER_ENTERPRISE_SELF_SERVE = 10; + TEAMS_TIER_DEVIN_ENTERPRISE = 12; + TEAMS_TIER_WAITLIST_PRO = 6; + TEAMS_TIER_TEAMS_ULTIMATE = 7; + TEAMS_TIER_PRO_ULTIMATE = 8; + TEAMS_TIER_ENTERPRISE_SAAS_POOLED = 11; +} + +enum ModelProvider { + MODEL_PROVIDER_UNSPECIFIED = 0; + MODEL_PROVIDER_WINDSURF = 1; + MODEL_PROVIDER_OPENAI = 2; + MODEL_PROVIDER_ANTHROPIC = 3; + MODEL_PROVIDER_GOOGLE = 4; + MODEL_PROVIDER_XAI = 5; + MODEL_PROVIDER_DEEPSEEK = 6; + MODEL_PROVIDER_MOONSHOT = 7; + MODEL_PROVIDER_QWEN = 8; +} + +enum ModelPricingType { + MODEL_PRICING_TYPE_UNSPECIFIED = 0; + MODEL_PRICING_TYPE_STATIC_CREDIT = 1; + MODEL_PRICING_TYPE_API = 2; + MODEL_PRICING_TYPE_BYOK = 3; + MODEL_PRICING_TYPE_DEVIN_ENTERPRISE = 4; +} + +enum ModelCostTier { + MODEL_COST_TIER_UNSPECIFIED = 0; + MODEL_COST_TIER_LOW = 1; + MODEL_COST_TIER_MEDIUM = 2; + MODEL_COST_TIER_HIGH = 3; +} + +enum TransactionStatus { + TRANSACTION_STATUS_UNSPECIFIED = 0; + TRANSACTION_STATUS_SUCCEEDED = 1; + TRANSACTION_STATUS_PROCESSING = 2; + TRANSACTION_STATUS_FAILED = 3; + TRANSACTION_STATUS_NO_ACTIVE = 4; +} + +enum ScmProvider { + SCM_PROVIDER_UNSPECIFIED = 0; + SCM_PROVIDER_GITHUB = 1; + SCM_PROVIDER_GITLAB = 2; + SCM_PROVIDER_BITBUCKET = 3; + SCM_PROVIDER_AZURE_DEVOPS = 4; +} + +enum ScmType { + SCM_TYPE_UNSPECIFIED = 0; + SCM_TYPE_GIT = 1; + SCM_TYPE_PERFORCE = 2; +} + +enum CodeContextType { + CODE_CONTEXT_TYPE_UNSPECIFIED = 0; + CODE_CONTEXT_TYPE_FUNCTION = 1; + CODE_CONTEXT_TYPE_CLASS = 2; + CODE_CONTEXT_TYPE_IMPORT = 3; + CODE_CONTEXT_TYPE_NAIVE_LINECHUNK = 4; + CODE_CONTEXT_TYPE_REFERENCE_FUNCTION = 5; + CODE_CONTEXT_TYPE_REFERENCE_CLASS = 6; + CODE_CONTEXT_TYPE_FILE = 7; + CODE_CONTEXT_TYPE_TERMINAL = 8; + CODE_CONTEXT_TYPE_DIRECTORY = 9; +} + +enum CodeContextSource { + CODE_CONTEXT_SOURCE_UNSPECIFIED = 0; + CODE_CONTEXT_SOURCE_OPEN_DOCS = 1; + CODE_CONTEXT_SOURCE_SEARCH_RESULT = 2; + CODE_CONTEXT_SOURCE_IMPORT = 3; + CODE_CONTEXT_SOURCE_LOCAL_DIRECTORY = 4; + CODE_CONTEXT_SOURCE_LAST_ACTIVE_DOC = 5; + CODE_CONTEXT_SOURCE_ORACLE_ITEMS = 6; + CODE_CONTEXT_SOURCE_PINNED_CONTEXT = 7; + CODE_CONTEXT_SOURCE_RESEARCH_STATE = 8; + CODE_CONTEXT_SOURCE_GROUND_TRUTH_PLAN_EDIT = 9; + CODE_CONTEXT_SOURCE_COMMIT_GRAPH = 10; +} + +enum ContextSnippetType { + CONTEXT_SNIPPET_TYPE_UNSPECIFIED = 0; + CONTEXT_SNIPPET_TYPE_RAW_SOURCE = 1; + CONTEXT_SNIPPET_TYPE_SIGNATURE = 2; + CONTEXT_SNIPPET_TYPE_NODEPATH = 3; +} + +enum CommitIntentType { + COMMIT_INTENT_TYPE_UNSPECIFIED = 0; + COMMIT_INTENT_TYPE_COMMIT_MESSAGE = 1; +} + +enum GpuType { + GPU_TYPE_UNSPECIFIED = 0; + GPU_TYPE_L4 = 1; + GPU_TYPE_T4 = 2; + GPU_TYPE_A10 = 3; + GPU_TYPE_A100 = 4; + GPU_TYPE_V100 = 5; + GPU_TYPE_A5000 = 6; +} + +enum ContextInclusionType { + CONTEXT_INCLUSION_TYPE_UNSPECIFIED = 0; + CONTEXT_INCLUSION_TYPE_INCLUDE = 1; + CONTEXT_INCLUSION_TYPE_EXCLUDE = 2; +} + +enum ThemePreference { + THEME_PREFERENCE_UNSPECIFIED = 0; + THEME_PREFERENCE_AUTO = 1; + THEME_PREFERENCE_LIGHT = 2; + THEME_PREFERENCE_DARK = 3; +} + +enum FontSize { + FONT_SIZE_UNSPECIFIED = 0; + FONT_SIZE_SMALL = 1; + FONT_SIZE_DEFAULT = 2; + FONT_SIZE_LARGE = 3; +} + +enum AutocompleteSpeed { + AUTOCOMPLETE_SPEED_UNSPECIFIED = 0; + AUTOCOMPLETE_SPEED_SLOW = 1; + AUTOCOMPLETE_SPEED_DEFAULT = 2; + AUTOCOMPLETE_SPEED_FAST = 3; +} + +enum CascadeCommandsAutoExecution { + CASCADE_COMMANDS_AUTO_EXECUTION_UNSPECIFIED = 0; + CASCADE_COMMANDS_AUTO_EXECUTION_OFF = 1; + CASCADE_COMMANDS_AUTO_EXECUTION_AUTO = 2; + CASCADE_COMMANDS_AUTO_EXECUTION_EAGER = 3; + CASCADE_COMMANDS_AUTO_EXECUTION_DISABLED = 4; +} + +enum CascadeWebRequestsAutoExecution { + CASCADE_WEB_REQUESTS_AUTO_EXECUTION_UNSPECIFIED = 0; + CASCADE_WEB_REQUESTS_AUTO_EXECUTION_DISABLED = 1; + CASCADE_WEB_REQUESTS_AUTO_EXECUTION_ALLOWLIST = 2; + CASCADE_WEB_REQUESTS_AUTO_EXECUTION_TURBO = 3; +} + +enum ExtensionPanelTab { + EXTENSION_PANEL_TAB_UNSPECIFIED = 0; + EXTENSION_PANEL_TAB_CHAT = 1; + EXTENSION_PANEL_TAB_PROFILE = 2; + EXTENSION_PANEL_TAB_BRAIN = 4; + EXTENSION_PANEL_TAB_COMMAND = 5; + EXTENSION_PANEL_TAB_CORTEX = 6; + EXTENSION_PANEL_TAB_DEBUG = 7; +} + +enum RememberLastModelSelection { + REMEMBER_LAST_MODEL_SELECTION_UNSPECIFIED = 0; + REMEMBER_LAST_MODEL_SELECTION_ENABLED = 1; + REMEMBER_LAST_MODEL_SELECTION_DISABLED = 2; +} + +enum CascadeNUXEvent { + CASCADE_NUX_EVENT_UNSPECIFIED = 0; + CASCADE_NUX_EVENT_DIFF_OVERVIEW = 1; + CASCADE_NUX_EVENT_WEB_SEARCH = 2; + CASCADE_NUX_EVENT_NEW_MODELS_WAVE2 = 3; + CASCADE_NUX_EVENT_TOOL_CALL = 4; + CASCADE_NUX_EVENT_MODEL_SELECTOR_NUX = 5; + CASCADE_NUX_EVENT_TOOL_CALL_PRICING_NUX = 6; + CASCADE_NUX_EVENT_WRITE_CHAT_MODE = 7; + CASCADE_NUX_EVENT_REVERT_STEP = 8; + CASCADE_NUX_EVENT_RULES = 9; + CASCADE_NUX_EVENT_WEB_MENTION = 10; + CASCADE_NUX_EVENT_BACKGROUND_CASCADE = 11; + CASCADE_NUX_EVENT_ANTHROPIC_API_PRICING = 12; + CASCADE_NUX_EVENT_PLAN_MODE = 13; + CASCADE_NUX_EVENT_OPEN_BROWSER_URL = 14; +} + +enum UserNUXEvent { + USER_NUX_EVENT_UNSPECIFIED = 0; + USER_NUX_EVENT_DISMISS_WINDSURF_CROSS_SELL = 1; +} + +enum ConversationalPlannerMode { + CONVERSATIONAL_PLANNER_MODE_UNSPECIFIED = 0; + CONVERSATIONAL_PLANNER_MODE_DEFAULT = 1; + CONVERSATIONAL_PLANNER_MODE_READ_ONLY = 2; + CONVERSATIONAL_PLANNER_MODE_NO_TOOL = 3; + CONVERSATIONAL_PLANNER_MODE_EXPLORE = 4; + CONVERSATIONAL_PLANNER_MODE_PLANNING = 5; + CONVERSATIONAL_PLANNER_MODE_AUTO = 6; +} + +enum TabToJump { + TAB_TO_JUMP_UNSPECIFIED = 0; + TAB_TO_JUMP_ENABLED = 1; + TAB_TO_JUMP_DISABLED = 2; +} + +enum CascadeWebSearchTool { + CASCADE_WEB_SEARCH_TOOL_UNSPECIFIED = 0; + CASCADE_WEB_SEARCH_TOOL_ENABLED = 1; + CASCADE_WEB_SEARCH_TOOL_DISABLED = 2; +} + +enum CommandPopupAutocomplete { + COMMAND_POPUP_AUTOCOMPLETE_UNSPECIFIED = 0; + COMMAND_POPUP_AUTOCOMPLETE_ENABLED = 1; + COMMAND_POPUP_AUTOCOMPLETE_DISABLED = 2; +} + +enum FeatureUsageType { + FEATURE_USAGE_TYPE_UNSPECIFIED = 0; + FEATURE_USAGE_TYPE_CASCADE_BROWSER = 1; + FEATURE_USAGE_TYPE_CASCADE_WEB_AT_MENTION = 2; + FEATURE_USAGE_TYPE_CASCADE_REVERT_TO_STEP = 3; + FEATURE_USAGE_TYPE_CASCADE_CLICK_MODEL_SELECTOR = 4; + FEATURE_USAGE_TYPE_CASCADE_MESSAGE_FEEDBACK = 5; +} + +enum PlanMode { + PLAN_MODE_UNSPECIFIED = 0; + PLAN_MODE_ON = 1; + PLAN_MODE_OFF = 2; +} + +enum AutoContinueOnMaxGeneratorInvocations { + AUTO_CONTINUE_ON_MAX_GENERATOR_INVOCATIONS_UNSPECIFIED = 0; + AUTO_CONTINUE_ON_MAX_GENERATOR_INVOCATIONS_ENABLED = 1; + AUTO_CONTINUE_ON_MAX_GENERATOR_INVOCATIONS_DISABLED = 2; +} + +enum CascadeNUXLocation { + CASCADE_NUX_LOCATION_UNSPECIFIED = 0; + CASCADE_NUX_LOCATION_CASCADE_INPUT = 1; + CASCADE_NUX_LOCATION_MODEL_SELECTOR = 2; + CASCADE_NUX_LOCATION_RULES_TAB = 4; + CASCADE_NUX_LOCATION_REVERT_STEP = 6; + CASCADE_NUX_LOCATION_PLAN_MODE = 7; + CASCADE_NUX_LOCATION_WRITE_CHAT_MODE = 8; + CASCADE_NUX_LOCATION_TOOLBAR = 9; +} + +enum CascadeNUXIcon { + CASCADE_NUX_ICON_UNSPECIFIED = 0; + CASCADE_NUX_ICON_WEB_SEARCH = 1; + CASCADE_NUX_ICON_WINDSURF_BROWSER = 2; +} + +enum CascadeNUXTrigger { + CASCADE_NUX_TRIGGER_UNSPECIFIED = 0; + CASCADE_NUX_TRIGGER_PRODUCED_CODE_DIFF = 1; + CASCADE_NUX_TRIGGER_OPEN_BROWSER_URL = 3; + CASCADE_NUX_TRIGGER_WEB_SEARCH = 4; +} + +enum AnnotationsConfig { + ANNOTATIONS_CONFIG_UNSPECIFIED = 0; + ANNOTATIONS_CONFIG_ENABLED = 1; + ANNOTATIONS_CONFIG_DISABLED = 2; +} + +enum BrowserExperimentalFeaturesConfig { + BROWSER_EXPERIMENTAL_FEATURES_CONFIG_UNSPECIFIED = 0; + BROWSER_EXPERIMENTAL_FEATURES_CONFIG_ENABLED = 1; + BROWSER_EXPERIMENTAL_FEATURES_CONFIG_DISABLED = 2; +} + +enum CompletionMode { + COMPLETION_MODE_UNSPECIFIED = 0; + COMPLETION_MODE_SUPERCOMPLETE = 1; + COMPLETION_MODE_AUTOCOMPLETE = 2; + COMPLETION_MODE_OFF = 3; +} + +enum 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; +} + +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; + API_PROVIDER_NOMIC = 8; + API_PROVIDER_TEI = 9; + 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; + API_PROVIDER_FIREWORKS = 16; + API_PROVIDER_OPEN_ROUTER = 17; + API_PROVIDER_XAI = 18; + API_PROVIDER_ANTHROPIC_BYOK = 20; + API_PROVIDER_CEREBRAS = 21; + API_PROVIDER_XAI_BYOK = 22; + API_PROVIDER_GEMINI_OPENAI = 23; + API_PROVIDER_GOOGLE_GEMINI = 24; + API_PROVIDER_GOOGLE_GENAI_VERTEX = 25; + API_PROVIDER_ANTHROPIC_VERTEX = 26; + API_PROVIDER_DATABRICKS = 27; + API_PROVIDER_OPEN_ROUTER_BYOK = 28; + API_PROVIDER_ANTHROPIC_DEVIN = 29; + API_PROVIDER_FIREWORKS_DEVIN = 30; + API_PROVIDER_GROQ = 31; + API_PROVIDER_OPENAI_DEVIN = 32; + API_PROVIDER_LLAMA_FT_DEEPWIKI = 33; + API_PROVIDER_XAI_INTERNAL = 34; + API_PROVIDER_FLOODGATE = 36; + API_PROVIDER_ANTHROPIC_BEDROCK_US = 37; + API_PROVIDER_ANTHROPIC_BEDROCK_GLOBAL = 38; + API_PROVIDER_MODAL = 40; + API_PROVIDER_GOOGLE_GEMINI_DEVIN = 41; + API_PROVIDER_FIREWORKS_COGNITION = 42; + API_PROVIDER_GOOGLE_GENAI_VERTEX_GLOBAL = 43; + API_PROVIDER_ANTHROPIC_VERTEX_US = 44; + API_PROVIDER_ANTHROPIC_VERTEX_EU = 45; + API_PROVIDER_ANTHROPIC_VERTEX_GLOBAL = 46; + API_PROVIDER_FIREWORKS_COGNITION_INTERNAL = 47; + API_PROVIDER_SGLANG = 60; + API_PROVIDER_AZURE_OPENAI_FEDERATED = 61; +} + +enum ModelStatus { + MODEL_STATUS_UNSPECIFIED = 0; + MODEL_STATUS_INFO = 1; + MODEL_STATUS_WARNING = 2; +} + +enum CodeSource { + CODE_SOURCE_UNSPECIFIED = 0; + CODE_SOURCE_BASE = 1; + CODE_SOURCE_CODEIUM = 2; + CODE_SOURCE_USER = 3; + CODE_SOURCE_USER_LARGE = 4; + CODE_SOURCE_UNKNOWN = 5; +} + +enum DocumentType { + DOCUMENT_TYPE_UNSPECIFIED = 0; + DOCUMENT_TYPE_SLACK_MESSAGE = 1; + DOCUMENT_TYPE_SLACK_CHANNEL = 2; + DOCUMENT_TYPE_GITHUB_ISSUE = 3; + DOCUMENT_TYPE_GITHUB_ISSUE_COMMENT = 4; + DOCUMENT_TYPE_GITHUB_REPO = 8; + DOCUMENT_TYPE_GOOGLE_DRIVE_FILE = 5; + DOCUMENT_TYPE_GOOGLE_DRIVE_FOLDER = 6; + DOCUMENT_TYPE_JIRA_ISSUE = 7; + DOCUMENT_TYPE_CCI = 9; +} + +enum ContextScopeType { + CONTEXT_SCOPE_TYPE_UNSPECIFIED = 0; + CONTEXT_SCOPE_TYPE_FILE = 1; + CONTEXT_SCOPE_TYPE_DIRECTORY = 2; + CONTEXT_SCOPE_TYPE_REPOSITORY = 3; + CONTEXT_SCOPE_TYPE_CODE_CONTEXT = 4; + CONTEXT_SCOPE_TYPE_CCI_WITH_SUBRANGE = 5; + CONTEXT_SCOPE_TYPE_REPOSITORY_PATH = 6; + CONTEXT_SCOPE_TYPE_SLACK = 7; + CONTEXT_SCOPE_TYPE_GITHUB = 8; + CONTEXT_SCOPE_TYPE_FILE_LINE_RANGE = 9; + CONTEXT_SCOPE_TYPE_TEXT_BLOCK = 10; + CONTEXT_SCOPE_TYPE_JIRA = 11; + CONTEXT_SCOPE_TYPE_GOOGLE_DRIVE = 12; + CONTEXT_SCOPE_TYPE_CONSOLE_LOG = 13; + CONTEXT_SCOPE_TYPE_DOM_ELEMENT = 14; + CONTEXT_SCOPE_TYPE_RECIPE = 15; + CONTEXT_SCOPE_TYPE_KNOWLEDGE = 16; + CONTEXT_SCOPE_TYPE_RULE = 17; + CONTEXT_SCOPE_TYPE_MCP_RESOURCE = 18; + CONTEXT_SCOPE_TYPE_BROWSER_PAGE = 19; + CONTEXT_SCOPE_TYPE_BROWSER_CODE_BLOCK = 20; + CONTEXT_SCOPE_TYPE_BROWSER_TEXT = 21; + CONTEXT_SCOPE_TYPE_CONVERSATION = 22; + CONTEXT_SCOPE_TYPE_USER_ACTIVITY = 23; + CONTEXT_SCOPE_TYPE_TERMINAL = 24; + CONTEXT_SCOPE_TYPE_GITHUB_PULL_REQUEST = 25; + CONTEXT_SCOPE_TYPE_CODE_MAP = 26; + CONTEXT_SCOPE_TYPE_MCP_PROMPT = 27; + CONTEXT_SCOPE_TYPE_SKILL = 28; + CONTEXT_SCOPE_TYPE_PLAN_FILE = 29; + CONTEXT_SCOPE_TYPE_GIT = 30; +} + +enum CommandRequestSource { + COMMAND_REQUEST_SOURCE_UNSPECIFIED = 0; + COMMAND_REQUEST_SOURCE_DEFAULT = 1; + COMMAND_REQUEST_SOURCE_FUNCTION_CODE_LENS = 2; + COMMAND_REQUEST_SOURCE_CLASS_CODE_LENS = 3; + COMMAND_REQUEST_SOURCE_RIGHT_CLICK_REFACTOR = 4; + COMMAND_REQUEST_SOURCE_SELECTION_HINT_CODE_LENS = 5; + COMMAND_REQUEST_SOURCE_LINE_HINT_CODE_LENS = 6; + COMMAND_REQUEST_SOURCE_PLAN = 7; + COMMAND_REQUEST_SOURCE_FOLLOWUP = 8; + COMMAND_REQUEST_SOURCE_PASTE_AND_TRANSLATE = 9; + COMMAND_REQUEST_SOURCE_SUPERCOMPLETE = 10; + COMMAND_REQUEST_SOURCE_FUNCTION_DOCSTRING = 11; + COMMAND_REQUEST_SOURCE_FAST_APPLY = 12; + COMMAND_REQUEST_SOURCE_TERMINAL = 13; + COMMAND_REQUEST_SOURCE_TAB_JUMP = 14; +} + +enum StatusLevel { + STATUS_LEVEL_UNSPECIFIED = 0; + STATUS_LEVEL_ERROR = 1; + STATUS_LEVEL_WARNING = 2; + STATUS_LEVEL_INFO = 3; + STATUS_LEVEL_DEBUG = 4; +} + +enum CortexErrorCategory { + CORTEX_ERROR_CATEGORY_UNSPECIFIED = 0; + CORTEX_ERROR_CATEGORY_OVERALL = 1; + CORTEX_ERROR_CATEGORY_ACTION_PREPARE = 2; + CORTEX_ERROR_CATEGORY_ACTION_APPLY = 3; +} + +enum LastUpdateType { + LAST_UPDATE_TYPE_UNSPECIFIED = 0; + LAST_UPDATE_TYPE_OVERALL = 1; + LAST_UPDATE_TYPE_LAST_AUTOCOMPLETE_USAGE_TIME = 2; + LAST_UPDATE_TYPE_LAST_CHAT_USAGE_TIME = 3; + LAST_UPDATE_TYPE_LAST_COMMAND_USAGE_TIME = 4; +} + +enum OnboardingActionType { + ONBOARDING_ACTION_TYPE_UNSPECIFIED = 0; + ONBOARDING_ACTION_TYPE_AUTOCOMPLETE = 1; + ONBOARDING_ACTION_TYPE_COMMAND = 2; + ONBOARDING_ACTION_TYPE_CHAT = 3; +} + +enum SupercompleteTriggerCondition { + SUPERCOMPLETE_TRIGGER_CONDITION_UNSPECIFIED = 0; + SUPERCOMPLETE_TRIGGER_CONDITION_AUTOCOMPLETE_ACCEPT = 1; + SUPERCOMPLETE_TRIGGER_CONDITION_CURSOR_LINE_NAVIGATION = 2; + SUPERCOMPLETE_TRIGGER_CONDITION_TYPING = 3; + SUPERCOMPLETE_TRIGGER_CONDITION_FORCED = 4; + SUPERCOMPLETE_TRIGGER_CONDITION_TAB_JUMP_ACCEPT = 5; + SUPERCOMPLETE_TRIGGER_CONDITION_SUPERCOMPLETE_ACCEPT = 6; + SUPERCOMPLETE_TRIGGER_CONDITION_TAB_JUMP_PREDICTIVE = 7; + SUPERCOMPLETE_TRIGGER_CONDITION_AUTOCOMPLETE_PREDICTIVE = 8; + SUPERCOMPLETE_TRIGGER_CONDITION_SUPERCOMPLETE_PREDICTIVE = 9; + SUPERCOMPLETE_TRIGGER_CONDITION_TAB_JUMP_EDIT = 10; +} + +enum ProductEventType { + EVENT_UNSPECIFIED = 0; + WINDSURF_EDITOR_READY = 251; + WINDSURF_EXTENSION_START = 253; + WINDSURF_EXTENSION_ACTIVATED = 32; + LS_DOWNLOAD_START = 1; + LS_DOWNLOAD_COMPLETE = 2; + LS_DOWNLOAD_FAILURE = 5; + LS_BINARY_STARTUP = 250; + LS_STARTUP = 3; + LS_FAILURE = 4; + AUTOCOMPLETE_ACCEPTED = 6; + AUTOCOMPLETE_ONE_WORD_ACCEPTED = 7; + CHAT_MESSAGE_SENT = 8; + CHAT_MENTION_INSERT = 13; + CHAT_MENTION_MENU_OPEN = 19; + CHAT_OPEN_SETTINGS = 14; + CHAT_OPEN_CONTEXT_SETTINGS = 15; + CHAT_WITH_CODEBASE = 16; + CHAT_NEW_CONVERSATION = 17; + CHAT_CHANGE_MODEL = 18; + CHAT_TOGGLE_FOCUS_INSERT_TEXT = 34; + FUNCTION_REFACTOR = 28; + EXPLAIN_CODE_BLOCK = 29; + FUNCTION_ADD_DOCSTRING = 30; + EXPLAIN_PROBLEM = 31; + COMMAND_BOX_OPENED = 9; + COMMAND_SUBMITTED = 10; + COMMAND_ACCEPTED = 11; + COMMAND_REJECTED = 12; + WS_ONBOARDING_LANDING_PAGE_OPENED = 20; + WS_ONBOARDING_SETUP_PAGE_OPENED = 21; + WS_ONBOARDING_KEYBINDINGS_PAGE_OPENED = 22; + WS_ONBOARDING_MIGRATION_SCOPE_PAGE_OPENED = 23; + WS_ONBOARDING_IMPORT_PAGE_OPENED = 24; + WS_ONBOARDING_AUTH_PAGE_OPENED = 25; + WS_ONBOARDING_AUTH_MANUAL_PAGE_OPENED = 26; + WS_ONBOARDING_CHOOSE_THEME_PAGE_OPENED = 35; + WS_ONBOARDING_COMPLETED = 27; + WS_SKIPPED_ONBOARDING = 69; + WS_SETTINGS_PAGE_OPEN = 72; + WS_SETTINGS_PAGE_OPEN_WITH_SETTING_FOCUS = 73; + EMPTY_WORKSPACE_PAGE_OPENED = 209; + EMPTY_WORKSPACE_PAGE_RECENT_FOLDERS_CLICKED = 210; + EMPTY_WORKSPACE_PAGE_OPEN_FOLDER_CLICKED = 211; + EMPTY_WORKSPACE_PAGE_GENERATE_PROJECT_CLICKED = 212; + PROVIDE_FEEDBACK = 33; + CASCADE_MESSAGE_SENT = 36; + WS_OPEN_CASCADE_MEMORIES_PANEL = 38; + 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; + 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; + JB_TOGGLE_PLUGIN_STATUS = 93; + 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; + INDEX_CHOICE_GOOGLE_DRIVE_BASE = 4; + INDEX_CHOICE_JIRA_BASE = 5; + INDEX_CHOICE_SCM = 6; +} + +enum MarkdownNodeType { + MARKDOWN_NODE_TYPE_UNSPECIFIED = 0; + MARKDOWN_NODE_TYPE_HEADER_1 = 1; + MARKDOWN_NODE_TYPE_HEADER_2 = 2; + MARKDOWN_NODE_TYPE_HEADER_3 = 3; + MARKDOWN_NODE_TYPE_HEADER_4 = 4; + MARKDOWN_NODE_TYPE_HEADER_5 = 5; + MARKDOWN_NODE_TYPE_HEADER_6 = 6; +} + +enum TerminalShellCommandSource { + TERMINAL_SHELL_COMMAND_SOURCE_UNSPECIFIED = 0; + TERMINAL_SHELL_COMMAND_SOURCE_USER = 1; + TERMINAL_SHELL_COMMAND_SOURCE_CASCADE = 2; +} + +enum TerminalShellCommandStatus { + TERMINAL_SHELL_COMMAND_STATUS_UNSPECIFIED = 0; + TERMINAL_SHELL_COMMAND_STATUS_RUNNING = 1; + TERMINAL_SHELL_COMMAND_STATUS_COMPLETED = 2; +} + +enum DeploymentBuildStatus { + DEPLOYMENT_BUILD_STATUS_UNSPECIFIED = 0; + DEPLOYMENT_BUILD_STATUS_QUEUED = 1; + DEPLOYMENT_BUILD_STATUS_INITIALIZING = 2; + DEPLOYMENT_BUILD_STATUS_BUILDING = 3; + DEPLOYMENT_BUILD_STATUS_ERROR = 4; + DEPLOYMENT_BUILD_STATUS_READY = 5; + DEPLOYMENT_BUILD_STATUS_CANCELED = 6; +} + +enum DeploymentProvider { + DEPLOYMENT_PROVIDER_UNSPECIFIED = 0; + DEPLOYMENT_PROVIDER_VERCEL = 1; + DEPLOYMENT_PROVIDER_NETLIFY = 2; + DEPLOYMENT_PROVIDER_CLOUDFLARE = 3; +} + +enum ValidationStatus { + VALIDATION_STATUS_UNSPECIFIED = 0; + VALIDATION_STATUS_AVAILABLE = 1; + VALIDATION_STATUS_IN_USE = 2; + VALIDATION_STATUS_TAKEN = 3; + VALIDATION_STATUS_INVALID = 4; +} + +enum PromptTemplaterType { + PROMPT_TEMPLATER_TYPE_UNSPECIFIED = 0; + PROMPT_TEMPLATER_TYPE_LLAMA_2 = 1; + PROMPT_TEMPLATER_TYPE_LLAMA_3 = 2; + PROMPT_TEMPLATER_TYPE_CHATML = 3; + PROMPT_TEMPLATER_TYPE_CHAT_TRANSCRIPT = 4; + PROMPT_TEMPLATER_TYPE_DEEPSEEK_V2 = 5; + PROMPT_TEMPLATER_TYPE_DEEPSEEK_V3 = 6; + PROMPT_TEMPLATER_TYPE_KIMI = 7; +} + +enum ToolFormatterType { + TOOL_FORMATTER_TYPE_UNSPECIFIED = 0; + TOOL_FORMATTER_TYPE_LLAMA_3 = 1; + TOOL_FORMATTER_TYPE_HERMES = 2; + TOOL_FORMATTER_TYPE_XML = 3; + TOOL_FORMATTER_TYPE_CHAT_TRANSCRIPT = 4; + TOOL_FORMATTER_TYPE_KIMI = 5; + TOOL_FORMATTER_TYPE_QWENCODER = 6; + TOOL_FORMATTER_TYPE_SUPERCOMPLETE = 7; +} + +enum BrowserInstallationStatus { + BROWSER_INSTALLATION_STATUS_UNSPECIFIED = 0; + BROWSER_INSTALLATION_STATUS_NOT_INSTALLED = 1; + BROWSER_INSTALLATION_STATUS_IN_PROGRESS = 2; + BROWSER_INSTALLATION_STATUS_COMPLETE = 3; + BROWSER_INSTALLATION_STATUS_ERROR = 4; +} + +enum TrajectoryType { + TRAJECTORY_TYPE_UNSPECIFIED = 0; + TRAJECTORY_TYPE_CASCADE = 1; + TRAJECTORY_TYPE_MAINLINE_TRAJECTORY = 2; +} + +enum RefreshCustomizationType { + REFRESH_CUSTOMIZATION_TYPE_UNSPECIFIED = 0; + REFRESH_CUSTOMIZATION_TYPE_RULE = 1; + REFRESH_CUSTOMIZATION_TYPE_WORKFLOW = 2; + REFRESH_CUSTOMIZATION_TYPE_USER_MEMORY = 3; + REFRESH_CUSTOMIZATION_TYPE_SKILL = 4; + REFRESH_CUSTOMIZATION_TYPE_PLAN = 5; + REFRESH_CUSTOMIZATION_TYPE_MCP = 6; +} + +enum ThirdPartyWebSearchProvider { + THIRD_PARTY_WEB_SEARCH_PROVIDER_UNSPECIFIED = 0; + THIRD_PARTY_WEB_SEARCH_PROVIDER_OPENAI = 1; +} + +enum ThirdPartyWebSearchModel { + THIRD_PARTY_WEB_SEARCH_MODEL_UNSPECIFIED = 0; + THIRD_PARTY_WEB_SEARCH_MODEL_O3 = 1; + THIRD_PARTY_WEB_SEARCH_MODEL_GPT_4_1 = 2; + THIRD_PARTY_WEB_SEARCH_MODEL_O4_MINI = 3; +} + diff --git a/lsp_protos/exa/context_module_pb/context_module.proto b/lsp_protos/exa/context_module_pb/context_module.proto new file mode 100755 index 0000000..d816ea3 --- /dev/null +++ b/lsp_protos/exa/context_module_pb/context_module.proto @@ -0,0 +1,177 @@ +syntax = "proto3"; + +package exa.context_module_pb; + +option go_package = "github.com/Exafunction/Exafunction/exa/context_module_pb"; + +import "buf/validate/validate.proto"; +import "exa/chat_pb/chat.proto"; +import "exa/codeium_common_pb/codeium_common.proto"; + +message ContextChangeEvent { + reserved 9; + .exa.context_module_pb.ContextRefreshReason context_refresh_reason = 6; + oneof context_change_event { + .exa.context_module_pb.ContextChangeActiveDocument context_change_active_document = 1; + .exa.context_module_pb.ContextChangeCursorPosition context_change_cursor_position = 2; + .exa.context_module_pb.ContextChangeChatMessageReceived context_change_chat_message_received = 3; + .exa.context_module_pb.ContextChangeOpenDocuments context_change_open_documents = 4; + .exa.context_module_pb.ContextChangeOracleItems context_change_oracle_items = 5; + .exa.context_module_pb.ContextChangePinnedContext context_change_pinned_context = 7; + .exa.context_module_pb.ContextChangePinnedGuideline context_change_pinned_guideline = 8; + .exa.context_module_pb.ContextChangeActiveNode context_change_active_node = 10; + } +} + +message ContextChangeActiveDocument { + .exa.codeium_common_pb.Document document = 1; +} + +message ContextChangeCursorPosition { + reserved "position"; + reserved "refresh_reason"; + reserved 1; + reserved 3; + .exa.codeium_common_pb.Document document = 2; +} + +message ContextChangeChatMessageReceived { + repeated .exa.chat_pb.ChatMessage chat_messages = 1; +} + +message ContextChangeOpenDocuments { + repeated .exa.codeium_common_pb.Document other_open_documents = 1; + repeated string recently_opened_uris = 2; +} + +message ContextChangeOracleItems { + repeated .exa.codeium_common_pb.CodeContextItem oracle_items = 1; +} + +message ContextChangePinnedContext { + oneof scope { + .exa.codeium_common_pb.ContextScope pinned_scope = 1; + .exa.codeium_common_pb.ContextScope mentioned_scope = 2; + } +} + +message ContextChangePinnedGuideline { + .exa.codeium_common_pb.Guideline guideline = 1; +} + +message ContextChangeActiveNode { + .exa.codeium_common_pb.CodeContextItem active_node = 1; + .exa.codeium_common_pb.Document document = 2; + bool actual_node_change = 3; +} + +message RetrievedCodeContextItemMetadata { + message ProviderMetadataEntry { + string key = 1; + .exa.context_module_pb.CodeContextProviderMetadata value = 2; + } + + repeated .exa.codeium_common_pb.CodeContextSource context_sources = 1; + .exa.codeium_common_pb.CodeContextType context_type = 2; + string scorer = 3; + float score = 4; + repeated .exa.context_module_pb.RetrievedCodeContextItemMetadata.ProviderMetadataEntry provider_metadata = 5; + bool is_in_pinned_scope = 6; +} + +message CciWithSubrangeWithRetrievalMetadata { + .exa.codeium_common_pb.CciWithSubrange cci_with_subrange = 1; + .exa.context_module_pb.RetrievedCodeContextItemMetadata metadata = 2; +} + +message CodeContextItemWithRetrievalMetadata { + .exa.codeium_common_pb.CodeContextItem code_context_item = 1; + .exa.context_module_pb.RetrievedCodeContextItemMetadata metadata = 2; +} + +message FileNameWithRetrievalMetadata { + string absolute_uri = 1; + .exa.context_module_pb.RetrievedCodeContextItemMetadata metadata = 2; +} + +message CodeContextProviderMetadata { + float relative_weight = 1; +} + +message ContextModuleStats { + .exa.context_module_pb.ContextModuleStateStats context_module_state_stats = 1; + .exa.context_module_pb.CodeContextItemIndexStats code_context_item_index_stats = 2; + int64 get_stats_latency_ms = 3; + int64 context_module_age_s = 4; +} + +message ContextModuleStateStats { + int64 cci_per_source_bytes = 1; + int64 active_document_bytes = 2; + int64 other_open_documents_bytes = 3; +} + +message CodeContextItemIndexStats { + int64 all_ccis_bytes = 1; + int64 num_ccis_tracked = 2; + int64 term_frequency_map_bytes = 3; + int64 num_terms_tracked = 4; + int64 file_to_cci_map_bytes = 5; + int64 num_files_tracked = 6; + int64 last_modified_bytes = 7; + int64 hash_map_bytes = 8; +} + +message PersistentContextModuleState { + .exa.codeium_common_pb.Guideline pinned_guideline = 1; + .exa.codeium_common_pb.ContextScope pinned_context_scope = 2; +} + +message ContextModuleResult { + repeated .exa.context_module_pb.CciWithSubrangeWithRetrievalMetadata retrieved_cci_with_subranges = 1; + .exa.codeium_common_pb.Document active_document = 2; + .exa.codeium_common_pb.DocumentOutline active_document_outline = 5; + .exa.context_module_pb.LocalNodeState local_node_state = 3; + .exa.codeium_common_pb.Guideline guideline = 4; + repeated .exa.codeium_common_pb.Document open_documents = 6; +} + +message LocalNodeState { + .exa.codeium_common_pb.CodeContextItem current_node = 1; + .exa.codeium_common_pb.CodeContextItem closest_above_node = 2; + .exa.codeium_common_pb.CodeContextItem closest_below_node = 3; +} + +enum ContextChangeType { + CONTEXT_CHANGE_TYPE_UNSPECIFIED = 0; + CONTEXT_CHANGE_TYPE_ACTIVE_DOCUMENT = 1; + CONTEXT_CHANGE_TYPE_CURSOR_POSITION = 2; + CONTEXT_CHANGE_TYPE_CHAT_MESSAGE_RECEIVED = 3; + CONTEXT_CHANGE_TYPE_OPEN_DOCUMENTS = 4; + CONTEXT_CHANGE_TYPE_ORACLE_ITEMS = 5; + CONTEXT_CHANGE_TYPE_PINNED_CONTEXT = 6; + CONTEXT_CHANGE_TYPE_PINNED_GUIDELINE = 7; + CONTEXT_CHANGE_TYPE_ACTIVE_NODE = 9; +} + +enum ContextUseCase { + CONTEXT_USE_CASE_UNSPECIFIED = 0; + CONTEXT_USE_CASE_AUTOCOMPLETE = 1; + CONTEXT_USE_CASE_CHAT = 2; + CONTEXT_USE_CASE_CHAT_COMPLETION = 3; + CONTEXT_USE_CASE_CORTEX_RESEARCH = 4; + CONTEXT_USE_CASE_EVAL = 5; + CONTEXT_USE_CASE_CHAT_COMPLETION_GENERATE = 6; + CONTEXT_USE_CASE_SUPERCOMPLETE = 7; + CONTEXT_USE_CASE_FAST_APPLY = 8; + CONTEXT_USE_CASE_COMMAND_TERMINAL = 9; +} + +enum ContextRefreshReason { + CONTEXT_REFRESH_REASON_UNSPECIFIED = 0; + CONTEXT_REFRESH_REASON_AUTOCOMPLETE = 1; + CONTEXT_REFRESH_REASON_CHAT = 2; + CONTEXT_REFRESH_REASON_IDE_ACTION = 4; + CONTEXT_REFRESH_REASON_CHAT_COMPLETION = 5; +} + diff --git a/lsp_protos/exa/cortex_pb/cortex.proto b/lsp_protos/exa/cortex_pb/cortex.proto new file mode 100755 index 0000000..2952447 --- /dev/null +++ b/lsp_protos/exa/cortex_pb/cortex.proto @@ -0,0 +1,3262 @@ +syntax = "proto3"; + +package exa.cortex_pb; + +option go_package = "github.com/Exafunction/Exafunction/exa/cortex_pb"; + +import "buf/validate/validate.proto"; +import "exa/chat_pb/chat.proto"; +import "exa/code_edit/code_edit_pb/code_edit.proto"; +import "exa/codeium_common_pb/codeium_common.proto"; +import "exa/context_module_pb/context_module.proto"; +import "exa/diff_action_pb/diff_action.proto"; +import "exa/opensearch_clients_pb/opensearch_clients.proto"; +import "google/protobuf/duration.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/timestamp.proto"; + +message WorkflowSpec { + reserved 5; + string path = 1; + string name = 2; + string description = 3; + string content = 4; + .exa.codeium_common_pb.CascadeCommandsAutoExecution execution_mode = 9; + bool is_builtin = 6; + .exa.cortex_pb.CortexMemoryScope scope = 7; + string base_dir = 8; + bool is_overridden = 10; + string uri = 12; + optional string parse_error = 11; +} + +message CortexPlanSummaryComponent { + oneof component { + string text = 1; + .exa.codeium_common_pb.ContextScopeItem citation = 2; + } +} + +message CodingStepState { + string plan_id = 1; + string goal = 2; + repeated .exa.cortex_pb.ActionState action_states = 3; + repeated .exa.cortex_pb.CortexStepOutline outlines = 7; + repeated .exa.cortex_pb.CortexPlanSummaryComponent summary_components = 8; + string post_summary_text = 9; + bool plan_fully_generated = 4; + bool plan_finished = 5; + .exa.cortex_pb.PlanDebugInfo debug_info = 6; + bool plan_summary_confirmed = 10; + bool plan_summary_fully_generated = 11; + repeated .exa.context_module_pb.CciWithSubrangeWithRetrievalMetadata cci_list = 12; +} + +message CortexPlanState { + repeated .exa.cortex_pb.CortexStepState steps = 1; + repeated .exa.cortex_pb.CortexStepOutline outlines = 2; + uint32 current_step_index = 3; + .exa.cortex_pb.PlanDebugInfo debug_info = 4; +} + +message CortexStepOutline { + uint32 step_number = 1; + string action_name = 2; + string json_args = 3; + repeated uint32 parent_step_numbers = 4; +} + +message CortexStepState { + oneof step { + .exa.cortex_pb.CodingStepState coding = 1; + } +} + +message CortexResearchState { + uint32 total_retrieved_count = 1; + repeated .exa.codeium_common_pb.CciWithSubrange top_retrieved_items = 2; + .exa.cortex_pb.ResearchDebugInfo debug_info = 3; + repeated .exa.codeium_common_pb.CciWithSubrange full_cci_list = 4; +} + +message ResearchDebugInfo { + string query = 1; + repeated string files_scanned = 2; +} + +message CortexWorkflowState { + .exa.cortex_pb.CortexRequestSource request_source = 6; + string goal = 1; + .exa.cortex_pb.PlanInput plan_input = 2; + .exa.cortex_pb.CortexResearchState research_state = 3; + .exa.cortex_pb.CortexPlanState plan_state = 4; + string error = 5; +} + +message CortexRunState { + reserved "claude_code_permissions"; + reserved "claude_code_restart_state"; + reserved 4; + reserved 5; + .exa.cortex_pb.CortexWorkflowState workflow_state = 1; + .exa.codeium_common_pb.GraphExecutionState execution_state = 2; + bool done = 3; +} + +message PlanInput { + string goal = 1; + repeated string next_steps = 5; + repeated string target_directories = 2; + repeated string target_files = 3; + repeated .exa.codeium_common_pb.ContextScopeItem scope_items = 4; +} + +message ActionSpec { + repeated uint32 parent_step_indices = 3; + oneof spec { + .exa.cortex_pb.ActionSpecCommand command = 1; + .exa.cortex_pb.ActionSpecCreateFile create_file = 2; + .exa.cortex_pb.ActionSpecDeleteFile delete_file = 4; + } +} + +message ActionSpecCreateFile { + string instruction = 1; + .exa.codeium_common_pb.PathScopeItem path = 2; + repeated .exa.codeium_common_pb.CodeContextItem reference_ccis = 3; +} + +message ActionSpecDeleteFile { + .exa.codeium_common_pb.PathScopeItem path = 1; +} + +message LineRangeTarget { + string absolute_uri = 1; + uint32 start_line = 2; + uint32 end_line = 3; +} + +message CommandContentTarget { + string content = 1; + string absolute_uri = 2; +} + +message ReplacementChunk { + string target_content = 1; + string replacement_content = 2; + bool allow_multiple = 3; + bool target_has_carriage_return = 4; + repeated string context_lines = 5; + .exa.cortex_pb.AcknowledgementType acknowledgement_type = 11; +} + +message ActionSpecCommand { + reserved 11; + reserved 12; + string instruction = 1; + repeated .exa.cortex_pb.ReplacementChunk replacement_chunks = 9; + bool is_edit = 2; + bool use_fast_apply = 8; + repeated .exa.codeium_common_pb.CodeContextItem reference_ccis = 5; + oneof target { + .exa.codeium_common_pb.CodeContextItem code_context = 3; + .exa.codeium_common_pb.PathScopeItem file = 4; + .exa.codeium_common_pb.CciWithSubrange cci_with_subrange = 6; + .exa.cortex_pb.LineRangeTarget line_range = 7; + .exa.cortex_pb.CommandContentTarget content_target = 10; + } +} + +message ActionState { + string step_id = 5; + .exa.cortex_pb.ActionStatus status = 1; + .exa.cortex_pb.ActionSpec spec = 2; + .exa.cortex_pb.ActionResult result = 3; + string error = 4; + uint32 step_version = 6; + uint32 plan_version = 7; +} + +message ActionResult { + bool apply_existing_result = 2; + oneof result { + .exa.cortex_pb.ActionResultEdit edit = 1; + } +} + +message ActionDebugInfo { + message DebugInfoEntry { + string key = 1; + string value = 2; + } + + repeated .exa.cortex_pb.ActionDebugInfo.DebugInfoEntry entries = 1; +} + +message ActionResultEdit { + reserved "replacement_chunk_errors"; + reserved 13; + string absolute_path_migrate_me_to_uri = 1; + .exa.diff_action_pb.DiffBlock diff = 2; + string context_prefix = 3; + string context_suffix = 4; + .exa.cortex_pb.ActionDebugInfo debug_info = 5; + string prompt_id = 12; + string completion_id = 6; + string file_content_hash = 7; + string absolute_uri = 8; + repeated .exa.codeium_common_pb.CodeContextItem result_ccis = 9; + string original_content = 10; + bool create_file = 11; + string new_content = 14; +} + +message RetrievalStatus { + uint32 total_retrieved_count = 1; + repeated .exa.codeium_common_pb.CciWithSubrange top_retrieved_items = 2; +} + +message PlanState { + .exa.cortex_pb.PlanStatus status = 4; + string plan_id = 1; + .exa.cortex_pb.PlanInput plan_input = 2; + repeated .exa.cortex_pb.ActionState actions = 3; + .exa.cortex_pb.RetrievalStatus retrieval_status = 6; + string error = 5; + .exa.cortex_pb.PlanDebugInfo debug_info = 7; +} + +message PlanDebugInfo { + string raw_response = 1; + uint32 plan_tokens = 2; + float plan_cost = 3; + string system_prompt = 4; + repeated .exa.chat_pb.ChatMessagePrompt message_prompts = 5; +} + +message CortexPlanConfig { + .exa.codeium_common_pb.ChatNodeConfig model_config = 1; + uint32 max_nominal_continuations = 2; + uint32 max_error_continuations = 3; +} + +message CortexConfig { + bool record_telemetry = 11; + bool add_distill_node = 6; + .exa.codeium_common_pb.ChatNodeConfig distill_config = 10; + .exa.codeium_common_pb.MQueryConfig m_query_config = 8; + string m_query_model_name = 12; + bool use_macro_planner = 1; + .exa.cortex_pb.CortexPlanConfig macro_plan_config = 4; + .exa.cortex_pb.PlanConfig plan_config = 9; + .exa.cortex_pb.CortexPlanConfig code_plan_config = 5; + bool auto_prepare_apply = 2; + uint32 num_prepare_retries = 3; +} + +message PlanConfig { + reserved "no_augment_command"; + reserved 6; + string plan_model_name = 1; + uint32 max_tokens_per_plan = 2; + float max_token_fraction = 3; + float chat_temperature = 4; + uint64 chat_completion_max_tokens = 5; + bool augment_command = 9; + .exa.codeium_common_pb.ExperimentConfig experiment_config = 7; + .exa.codeium_common_pb.MQueryConfig m_query_config = 8; +} + +message CortexPlanSummary { + string cortex_id = 1; + .exa.cortex_pb.PlanInput plan_input = 2; + .google.protobuf.Timestamp created_at = 3; + bool done = 4; +} + +message WorkspaceInitializationData { + .exa.cortex_pb.CortexWorkspaceMetadata metadata = 1; + string merge_base_commit_hash = 2; + .exa.codeium_common_pb.WorkspaceStats workspace_stats = 5; + bool repo_is_public = 6; + optional string merge_base_head_patch_string = 3; + optional string head_working_patch_string = 4; +} + +message StateInitializationData { + .google.protobuf.Timestamp timestamp = 1; + string state_id = 2; + repeated .exa.cortex_pb.WorkspaceInitializationData workspaces = 3; +} + +message CortexWorkspaceMetadata { + string workspace_folder_absolute_uri = 1; + string git_root_absolute_uri = 2; + .exa.codeium_common_pb.Repository repository = 3; + string branch_name = 4; +} + +message CortexTrajectoryMetadata { + repeated .exa.cortex_pb.CortexWorkspaceMetadata workspaces = 1; + .google.protobuf.Timestamp created_at = 2; + string initialization_state_id = 3; + string experiment_tags = 4; +} + +message CortexTrajectory { + reserved "claude_code_session_id"; + reserved "is_claude_code"; + reserved "devin_session"; + reserved 11; + reserved 12; + reserved 19; + string trajectory_id = 1; + string cascade_id = 6; + .exa.cortex_pb.CortexTrajectoryType trajectory_type = 4; + repeated .exa.cortex_pb.CortexTrajectoryStep steps = 2; + repeated .exa.cortex_pb.CortexTrajectoryReference parent_references = 5; + repeated .exa.cortex_pb.CortexStepGeneratorMetadata generator_metadata = 3; + repeated .exa.cortex_pb.ExecutorMetadata executor_metadatas = 9; + .exa.cortex_pb.CortexTrajectorySource source = 8; + .exa.cortex_pb.CortexTrajectoryMetadata metadata = 7; + uint32 diff_lines_added = 14; + uint32 diff_lines_removed = 15; + repeated .exa.cortex_pb.QueuedMessage message_queue = 17; + repeated string git_worktree_paths = 22; + repeated .exa.cortex_pb.WorktreeMergeSnapshot worktree_merges = 23; + optional string renamed_title = 10; + optional bytes virtual_fs_serialized_overlay = 13; + optional string arena_id = 16; + optional string git_worktree_path = 18; + optional .exa.cortex_pb.ArenaModeInfo arena_mode_info = 20; + optional .exa.codeium_common_pb.ConversationalPlannerMode conversational_mode = 21; +} + +message ArenaModeInfo { + reserved "arena_tier"; + reserved 2; + optional bool is_random_mode = 1; + optional string agent_name = 3; + optional string arena_assignment_jwt = 4; + optional string arena_model_uid = 5; + optional string harness_uid = 6; + optional string assigned_model_uid = 7; +} + +message CortexTrajectoryStepWithIndex { + .exa.cortex_pb.CortexTrajectoryStep step = 1; + uint32 step_index = 2; +} + +message GlobalBackgroundCommand { + string command_id = 1; + string trajectory_id = 2; + uint32 step_index = 3; + string command_line = 4; + .exa.cortex_pb.CortexStepStatus status = 5; + .google.protobuf.Timestamp created_at = 6; + .google.protobuf.Timestamp last_updated_at = 7; + string terminal_id = 8; +} + +message QueuedMessage { + string queue_id = 1; + .exa.codeium_common_pb.Metadata metadata = 2; + .exa.cortex_pb.CortexTrajectoryStep user_input_step = 3; + .exa.cortex_pb.CascadeConfig override_config = 4; +} + +message CascadeTrajectorySummary { + reserved "is_claude_code"; + reserved 6; + reserved 15; + string summary = 1; + uint32 step_count = 2; + .google.protobuf.Timestamp last_modified_time = 3; + string trajectory_id = 4; + .exa.cortex_pb.CascadeRunStatus status = 5; + .google.protobuf.Timestamp created_time = 7; + repeated .exa.cortex_pb.CortexTrajectoryStepWithIndex waiting_steps = 8; + repeated .exa.cortex_pb.CortexWorkspaceMetadata workspaces = 9; + .google.protobuf.Timestamp last_user_input_time = 10; + repeated .exa.cortex_pb.GlobalBackgroundCommand background_commands = 12; + bool errored = 14; + uint32 diff_lines_added = 16; + uint32 diff_lines_removed = 17; + bool hidden = 19; + uint32 queue_size = 20; + repeated string git_worktree_paths = 28; + .exa.cortex_pb.CortexTrajectoryType trajectory_type = 22; + .exa.cortex_pb.CortexTrajectorySource trajectory_source = 23; + repeated .exa.codeium_common_pb.ContextScopeItem referenced_context_items = 27; + optional string renamed_title = 11; + optional .exa.cortex_pb.LastTodoListStepInfo last_todo_list_step = 13; + optional string arena_id = 18; + optional string git_worktree_path = 21; + optional .exa.codeium_common_pb.Model last_generator_model_deprecated = 24; + optional .exa.cortex_pb.ArenaModeInfo arena_mode_info = 25; + optional string last_generator_model_uid = 26; +} + +message LastTodoListStepInfo { + repeated .exa.cortex_pb.CortexTodoListItem todos = 1; + uint32 step_index = 2; +} + +message CascadeTrajectorySummaries { + message SummariesEntry { + string key = 1; + .exa.cortex_pb.CascadeTrajectorySummary value = 2; + } + + repeated .exa.cortex_pb.CascadeTrajectorySummaries.SummariesEntry summaries = 1; +} + +message CortexTrajectoryReference { + string trajectory_id = 1; + .exa.cortex_pb.CortexTrajectoryType trajectory_type = 3; + int32 step_index = 2; + .exa.cortex_pb.CortexStepType step_type = 4; + bool force_billable = 5; +} + +message ImplicitTrajectory { + reserved "background_research"; + reserved "mainline_step_count_at_last_research"; + reserved "workspace_uri"; + reserved "git_root_uri"; + reserved "branch_name"; + reserved 2; + reserved 3; + reserved 4; + reserved 6; + reserved 7; + .exa.cortex_pb.CortexTrajectory trajectory = 1; + .exa.cortex_pb.TrajectoryScope trajectory_scope = 5; +} + +message ImplicitTrajectoryDescription { + string trajectory_id = 1; + .exa.cortex_pb.TrajectoryScope trajectory_scope = 2; + bool current = 3; +} + +message CortexStepGeneratorMetadata { + repeated uint32 step_indices = 2; + .exa.cortex_pb.CascadePlannerConfig planner_config = 3; + string execution_id = 4; + string error = 5; + .exa.cortex_pb.ParallelRolloutGeneratorMetadata parallel_rollout_generator_metadata = 6; + bool arena_cap_reached = 7; + oneof metadata { + .exa.cortex_pb.ChatModelMetadata chat_model = 1; + } +} + +message ParallelRolloutGeneratorMetadata { + string guide_judgement_trajectory_id = 1; + .exa.cortex_pb.CortexStepTrajectoryChoice guide_choice_step = 2; +} + +message MessagePromptMetadata { + uint32 message_index = 1; + uint32 segment_index = 2; +} + +message ChatModelMetadata { + string system_prompt = 1; + repeated .exa.chat_pb.ChatMessagePrompt message_prompts = 2; + repeated .exa.cortex_pb.MessagePromptMetadata message_metadata = 10; + .exa.codeium_common_pb.Model model_deprecated = 3; + string model_uid = 15; + .exa.codeium_common_pb.ModelUsageStats usage = 4; + float model_cost = 5; + uint32 last_cache_index = 6; + .exa.chat_pb.ChatToolChoice tool_choice = 7; + repeated .exa.chat_pb.ChatToolDefinition tools = 8; + .exa.cortex_pb.ChatStartMetadata chat_start_metadata = 9; + .google.protobuf.Duration time_to_first_token = 11; + .google.protobuf.Duration streaming_duration = 12; + int32 credit_cost = 13; + uint32 retries = 14; + double acu_cost = 16; +} + +message CacheBreakpointMetadata { + uint32 index = 1; + .exa.chat_pb.PromptCacheOptions options = 2; + string content_checksum = 3; +} + +message ChatStartMetadata { + .google.protobuf.Timestamp created_at = 4; + uint32 start_step_index = 1; + int32 checkpoint_index = 2; + repeated uint32 steps_covered_by_checkpoint = 3; + int32 latest_stable_message_index = 5; + repeated .exa.cortex_pb.CacheBreakpointMetadata cache_breakpoints = 6; + .exa.cortex_pb.CacheBreakpointMetadata system_prompt_cache = 7; + .google.protobuf.Duration time_since_last_invocation = 8; + .exa.cortex_pb.CacheRequestOptions cache_request = 9; +} + +message CacheRequestOptions { + bool enabled = 1; + repeated uint32 cache_breakpoint_indices = 2; +} + +message CortexStepMetadata { + reserved 2; + uint32 step_generation_version = 21; + .google.protobuf.Timestamp created_at = 1; + .google.protobuf.Timestamp viewable_at = 6; + .google.protobuf.Timestamp finished_generating_at = 7; + .google.protobuf.Timestamp last_completed_chunk_at = 22; + .google.protobuf.Timestamp completed_at = 8; + .exa.cortex_pb.CortexStepSource source = 3; + .exa.codeium_common_pb.ChatToolCall tool_call = 4; + repeated string arguments_order = 5; + .exa.codeium_common_pb.ModelUsageStats model_usage = 9; + float model_cost = 10; + .exa.codeium_common_pb.Model generator_model_deprecated = 11; + .exa.codeium_common_pb.ModelOrAlias requested_model_deprecated = 13; + string generator_model_uid = 27; + string requested_model_uid = 28; + string execution_id = 12; + int32 flow_credits_used = 14; + int32 prompt_credits_used = 15; + .exa.codeium_common_pb.ConversationalPlannerMode planner_mode = 26; + repeated .exa.cortex_pb.CortexStepCreditReason non_standard_credit_reasons = 18; + repeated .exa.codeium_common_pb.ChatToolCall tool_call_choices = 16; + string tool_call_choice_reason = 17; + .exa.cortex_pb.CortexRequestSource cortex_request_source = 19; + int32 tool_call_output_tokens = 23; + .exa.cortex_pb.SourceTrajectoryStepInfo source_trajectory_step_info = 20; + string request_id = 24; + uint64 cumulative_tokens_at_step = 25; + double acu_cost = 29; +} + +message SourceTrajectoryStepInfo { + string trajectory_id = 1; + uint32 step_index = 2; + uint32 metadata_index = 3; + string cascade_id = 4; +} + +message CortexStepUpdate { + uint32 step_index = 1; + .exa.cortex_pb.CortexTrajectoryStep step = 2; + .exa.cortex_pb.CortexStepStatus status = 3; + .exa.cortex_pb.UserStepAnnotations user_annotations = 4; +} + +message WindsurfSetting { + string setting_id = 1; + string setting_name = 2; +} + +message StructuredErrorPart { + oneof part { + string text = 1; + string file_uri = 2; + string directory_uri = 3; + string url = 4; + string code_text = 5; + .exa.cortex_pb.WindsurfSetting windsurf_setting = 6; + } +} + +message CortexErrorDetails { + string user_error_message = 1; + repeated .exa.cortex_pb.StructuredErrorPart structured_error_parts = 8; + string short_error = 2; + string full_error = 3; + bool is_benign = 4; + uint32 error_code = 7; + string details = 5; + string error_id = 6; +} + +message UserStepSnapshot { + string name = 1; +} + +message UserStepAnnotations { + .exa.cortex_pb.UserStepSnapshot snapshot = 1; +} + +message CortexTrajectoryStep { + reserved "open_browser_url"; + reserved "execute_browser_javascript"; + reserved "list_browser_pages"; + reserved "capture_browser_screenshot"; + reserved "click_browser_pixel"; + reserved "capture_browser_console_logs"; + reserved "read_browser_page"; + reserved "query_browser_page_for_pixel"; + reserved "get_dom_tree"; + reserved "superflow_show_user"; + reserved "superflow_context"; + reserved "claude_code_agent"; + reserved "claude_code_todo_list"; + reserved "claude_code_glob"; + reserved "claude_code_done"; + reserved "claude_code_result"; + reserved "claude_code_tool_permission"; + reserved "do_testing"; + reserved 2; + reserved 3; + reserved 18; + reserved 82; + reserved 67; + reserved 73; + reserved 74; + reserved 75; + reserved 76; + reserved 78; + reserved 79; + reserved 80; + reserved 81; + reserved 102; + reserved 110; + reserved 111; + reserved 113; + reserved 89; + reserved 90; + reserved 91; + reserved 92; + reserved 93; + reserved 95; + .exa.cortex_pb.CortexStepType type = 1; + .exa.cortex_pb.CortexStepStatus status = 4; + .exa.cortex_pb.CortexStepMetadata metadata = 5; + .exa.cortex_pb.CortexErrorDetails error = 31; + .exa.cortex_pb.ExecutionAsyncLevel async_level_override = 33; + .exa.cortex_pb.RequestedInteraction requested_interaction = 56; + .exa.cortex_pb.UserStepAnnotations user_annotations = 69; + repeated .exa.cortex_pb.HookExecutionDetail pre_tool_use_hooks = 85; + repeated .exa.cortex_pb.HookExecutionDetail post_tool_use_hooks = 86; + .exa.cortex_pb.CortexTrajectory subtrajectory = 6; + repeated .exa.cortex_pb.CortexTrajectory subtrajectories = 51; + oneof step { + .exa.cortex_pb.CortexStepDummy dummy = 7; + .exa.cortex_pb.CortexStepFinish finish = 12; + .exa.cortex_pb.CortexStepPlanInput plan_input = 8; + .exa.cortex_pb.CortexStepMquery mquery = 9; + .exa.cortex_pb.CortexStepCodeAction code_action = 10; + .exa.cortex_pb.CortexStepGitCommit git_commit = 11; + .exa.cortex_pb.CortexStepGrepSearch grep_search = 13; + .exa.cortex_pb.CortexStepViewFile view_file = 14; + .exa.cortex_pb.CortexStepListDirectory list_directory = 15; + .exa.cortex_pb.CortexStepCompile compile = 16; + .exa.cortex_pb.CortexStepInformPlanner inform_planner = 17; + .exa.cortex_pb.CortexStepUserInput user_input = 19; + .exa.cortex_pb.CortexStepPlannerResponse planner_response = 20; + .exa.cortex_pb.CortexStepFileBreakdown file_breakdown = 21; + .exa.cortex_pb.CortexStepViewCodeItem view_code_item = 22; + .exa.cortex_pb.CortexStepWriteToFile write_to_file = 23; + .exa.cortex_pb.CortexStepErrorMessage error_message = 24; + .exa.cortex_pb.CortexStepClusterQuery cluster_query = 25; + .exa.cortex_pb.CortexStepListClusters list_clusters = 26; + .exa.cortex_pb.CortexStepInspectCluster inspect_cluster = 27; + .exa.cortex_pb.CortexStepRunCommand run_command = 28; + .exa.cortex_pb.CortexStepRelatedFiles related_files = 29; + .exa.cortex_pb.CortexStepCheckpoint checkpoint = 30; + .exa.cortex_pb.CortexStepProposeCode propose_code = 32; + .exa.cortex_pb.CortexStepFind find = 34; + .exa.cortex_pb.CortexStepSearchKnowledgeBase search_knowledge_base = 35; + .exa.cortex_pb.CortexStepSuggestedResponses suggested_responses = 36; + .exa.cortex_pb.CortexStepCommandStatus command_status = 37; + .exa.cortex_pb.CortexStepMemory memory = 38; + .exa.cortex_pb.CortexStepLookupKnowledgeBase lookup_knowledge_base = 39; + .exa.cortex_pb.CortexStepReadUrlContent read_url_content = 40; + .exa.cortex_pb.CortexStepViewContentChunk view_content_chunk = 41; + .exa.cortex_pb.CortexStepSearchWeb search_web = 42; + .exa.cortex_pb.CortexStepRetrieveMemory retrieve_memory = 43; + .exa.cortex_pb.CortexStepAutoCascadeBroadcast auto_cascade_broadcast = 44; + .exa.cortex_pb.CortexStepCustomTool custom_tool = 45; + .exa.cortex_pb.CortexStepCreateRecipe create_recipe = 46; + .exa.cortex_pb.CortexStepMcpTool mcp_tool = 47; + .exa.cortex_pb.CortexStepManagerFeedback manager_feedback = 48; + .exa.cortex_pb.CortexStepToolCallProposal tool_call_proposal = 49; + .exa.cortex_pb.CortexStepToolCallChoice tool_call_choice = 50; + .exa.cortex_pb.CortexStepTrajectoryChoice trajectory_choice = 52; + .exa.cortex_pb.CortexStepProxyWebServer proxy_web_server = 53; + .exa.cortex_pb.CortexStepDeployWebApp deploy_web_app = 54; + .exa.cortex_pb.CortexStepClipboard clipboard = 55; + .exa.cortex_pb.CortexStepReadDeploymentConfig read_deployment_config = 57; + .exa.cortex_pb.CortexStepViewFileOutline view_file_outline = 58; + .exa.cortex_pb.CortexStepCheckDeployStatus check_deploy_status = 59; + .exa.cortex_pb.CortexStepPostPrReview post_pr_review = 60; + .exa.cortex_pb.CortexStepReadKnowledgeBaseItem read_knowledge_base_item = 61; + .exa.cortex_pb.CortexStepListResources list_resources = 62; + .exa.cortex_pb.CortexStepReadResource read_resource = 63; + .exa.cortex_pb.CortexStepLintDiff lint_diff = 64; + .exa.cortex_pb.CortexStepFindAllReferences find_all_references = 65; + .exa.cortex_pb.CortexStepBrainUpdate brain_update = 66; + .exa.cortex_pb.CortexStepRunExtensionCode run_extension_code = 68; + .exa.cortex_pb.CortexStepAddAnnotation add_annotation = 70; + .exa.cortex_pb.CortexStepProposalFeedback proposal_feedback = 71; + .exa.cortex_pb.CortexStepTrajectorySearch trajectory_search = 72; + .exa.cortex_pb.CortexStepReadTerminal read_terminal = 77; + .exa.cortex_pb.CortexStepArtifactSummary artifact_summary = 83; + .exa.cortex_pb.CortexStepResolveTask resolve_task = 84; + .exa.cortex_pb.CortexStepTodoList todo_list = 87; + .exa.cortex_pb.CortexStepBlocking blocking = 88; + .exa.cortex_pb.CortexStepExploreResponse explore_response = 94; + .exa.cortex_pb.CortexStepReadNotebook read_notebook = 96; + .exa.cortex_pb.CortexStepEditNotebook edit_notebook = 97; + .exa.cortex_pb.CortexStepCodeMap code_map = 98; + .exa.cortex_pb.CortexStepEditCodeMap edit_code_map = 99; + .exa.cortex_pb.CortexStepSupercompleteActiveDoc supercomplete_active_doc = 100; + .exa.cortex_pb.CortexStepFindCodeContext find_code_context = 101; + .exa.cortex_pb.CortexStepSupercompleteFeedback supercomplete_feedback = 103; + .exa.cortex_pb.CortexStepLintFixMessage lint_fix_message = 104; + .exa.cortex_pb.CortexStepGrepSearchV2 grep_search_v2 = 105; + .exa.cortex_pb.CortexStepUpsertCodemap upsert_codemap = 106; + .exa.cortex_pb.CortexStepSuggestCodemap suggest_codemap = 107; + .exa.cortex_pb.CortexStepSmartFriend smart_friend = 108; + .exa.cortex_pb.CortexStepReportBugs report_bugs = 112; + .exa.cortex_pb.CortexStepExitPlanMode exit_plan_mode = 114; + .exa.cortex_pb.CortexStepAskUserQuestion ask_user_question = 115; + .exa.cortex_pb.CortexStepSkill skill = 116; + .exa.cortex_pb.CortexStepSupercompleteEphemeralFeedback supercomplete_ephemeral_feedback = 117; + .exa.cortex_pb.CortexStepArenaTrajectoryConverge arena_trajectory_converge = 118; + } + optional bool shield_from_cancellation = 109; +} + +message TrajectoryScope { + string workspace_uri = 1; + string git_root_uri = 2; + string branch_name = 3; +} + +message CascadeExecutorConfig { + int32 max_generator_invocations = 2; + repeated .exa.cortex_pb.CortexStepType terminal_step_types = 3; + int32 hold_for_valid_checkpoint_timeout = 6; + bool research_only = 7; + bool enable_background_linting = 9; + int32 max_lint_injection_count = 10; + optional bool disable_async = 1; + optional bool run_pending_steps = 4; + optional bool hold_for_valid_checkpoint = 5; + optional bool use_aggressive_snapshotting = 8; +} + +message ForcedBrainUpdateConfig { + optional float update_sample_rate = 1; +} + +message DynamicBrainUpdateConfig { + bool use_aggressive_prompt = 1; +} + +message BrainUpdateStrategy { + reserved 4; + oneof strategy { + .google.protobuf.Empty executor_forced = 2; + .exa.cortex_pb.ForcedBrainUpdateConfig invocation_forced = 3; + .exa.cortex_pb.DynamicBrainUpdateConfig dynamic_update = 6; + .google.protobuf.Empty executor_forced_and_with_discretion = 5; + } +} + +message BrainConfig { + reserved 3; + .exa.codeium_common_pb.Model brain_model_deprecated = 2; + string brain_model_uid = 14; + .exa.cortex_pb.BrainFilterStrategy filter_strategy = 5; + .exa.cortex_pb.BrainUpdateStrategy update_strategy = 6; + string additional_ephemeral_prompt = 11; + optional bool enabled = 1; + optional bool use_main_model_as_brain_model = 13; + optional bool force_no_explanation = 4; + optional bool use_replace_content_for_updates = 7; + optional bool condense_trajectory_messages = 8; + optional uint32 recent_update_tool_threshold = 9; + optional uint32 stale_update_tool_threshold = 10; + optional bool use_rules_in_subagent = 12; +} + +message ParallelRolloutConfig { + int32 num_parallel_rollouts = 1; + uint32 max_invocations_per_rollout = 2; + .exa.codeium_common_pb.Model guide_model_deprecated = 3; + string guide_model_uid = 6; + int32 max_guide_invocations = 4; + bool force_bad_rollout = 5; +} + +message CascadeHooks { + repeated .exa.cortex_pb.CascadeHook hooks = 1; +} + +message CascadeConfig { + .exa.cortex_pb.CascadePlannerConfig planner_config = 1; + .exa.cortex_pb.CheckpointConfig checkpoint_config = 2; + .exa.cortex_pb.CascadeExecutorConfig executor_config = 3; + .exa.cortex_pb.TrajectoryConversionConfig trajectory_conversion_config = 4; + .exa.cortex_pb.MemoryConfig memory_config = 5; + .exa.cortex_pb.BrainConfig brain_config = 7; + .exa.cortex_pb.ParallelRolloutConfig parallel_rollout_config = 8; + repeated .exa.cortex_pb.CascadeHook hooks = 9; + optional bool apply_model_default_override = 6; + optional string override_harness_uid = 10; +} + +message TrajectoryConversionConfig { + repeated .exa.cortex_pb.CortexStepType disabled_step_types = 4; + optional bool use_tool_format = 1; + optional bool include_input_step = 2; + optional bool group_tools_with_planner_response = 3; + optional string tool_call_footer = 5; +} + +message CascadeConversationalPlannerConfig { + reserved "read_only"; + reserved "is_trusted"; + reserved 1; + reserved 14; + .exa.codeium_common_pb.ConversationalPlannerMode planner_mode = 4; + string cluster_path = 3; + optional bool use_clusters = 2; + optional bool eval_mode = 5; + optional string code_research_section_content = 6; + optional string test_section_content = 8; + optional .exa.cortex_pb.SectionOverrideConfig test_section = 9; + optional .exa.cortex_pb.SectionOverrideConfig tool_calling_section = 10; + optional .exa.cortex_pb.SectionOverrideConfig code_changes_section = 11; + optional .exa.cortex_pb.SectionOverrideConfig additional_instructions_section = 12; + optional .exa.cortex_pb.SectionOverrideConfig communication_section = 13; +} + +message SectionOverrideConfig { + optional .exa.cortex_pb.SectionOverrideMode mode = 1; + optional string content = 2; +} + +message PromptOverrideConfig { + message SectionOverridesEntry { + string key = 1; + string value = 2; + } + + repeated .exa.cortex_pb.PromptOverrideConfig.SectionOverridesEntry section_overrides = 1; + repeated string additional_instructions = 2; +} + +message CascadeAgenticPlannerManagerConfig { + .exa.codeium_common_pb.Model model_deprecated = 2; + string model_uid = 5; + optional bool enabled = 1; + optional bool condense_messages = 3; + optional bool send_only_user_messages = 4; +} + +message CascadeAgenticPlannerApplierConfig { + .exa.codeium_common_pb.Model model_deprecated = 2; + string model_uid = 5; + int32 num_rollouts = 3; + .exa.codeium_common_pb.Model judge_model_deprecated = 4; + string judge_model_uid = 6; + optional bool enabled = 1; +} + +message CascadeAgenticPlannerConfig { + .exa.cortex_pb.CascadeAgentToolSet tool_set = 5; + .exa.cortex_pb.AgenticMixin mixin = 6; + optional bool enable_feedback_loop = 1; + optional bool eval_mode = 2; + optional .exa.cortex_pb.CascadeAgenticPlannerManagerConfig manager_config = 3; + optional .exa.cortex_pb.CascadeAgenticPlannerApplierConfig applier_config = 4; +} + +message CascadeResearchPlannerConfig { + string cluster_path = 3; + optional bool add_reference_nodes = 1; + optional bool use_clusters = 2; +} + +message MqueryToolConfig { + .exa.codeium_common_pb.MQueryConfig m_query_config = 1; + .exa.codeium_common_pb.Model m_query_model = 2; + uint32 max_tokens_per_m_query = 3; + int32 max_lines_per_snippet = 5; + optional int32 num_items_full_source = 4; + optional bool enable_search_in_file_tool = 6; + optional bool allow_access_gitignore = 7; + optional bool disable_semantic_codebase_search = 8; +} + +message GrepToolConfig { + uint32 max_grep_results = 1; + uint32 num_full_source_ccis = 3; + uint32 max_bytes_per_cci = 4; + .exa.cortex_pb.EnterpriseToolConfig enterprise_config = 5; + optional bool include_cci_in_result = 2; + optional bool allow_access_gitignore = 6; +} + +message GrepV2ToolConfig { + .exa.cortex_pb.EnterpriseToolConfig enterprise_config = 1; + optional bool allow_access_gitignore = 2; +} + +message FindToolConfig { + uint32 max_find_results = 1; + string fd_path = 2; +} + +message ClusterQueryToolConfig { + uint32 max_cluster_query_results = 1; +} + +message InspectClusterToolConfig { + uint32 max_tokens_per_inspect_cluster = 1; +} + +message AutoCommandConfig { + repeated string user_allowlist = 2; + repeated string user_denylist = 3; + repeated string system_allowlist = 4; + repeated string system_denylist = 5; + repeated string system_nooplist = 7; + .exa.codeium_common_pb.CascadeCommandsAutoExecution auto_execution_policy = 6; + .exa.codeium_common_pb.CascadeCommandsAutoExecution max_auto_execution_level = 8; + .exa.codeium_common_pb.CascadeCommandsAutoExecution workflow_auto_execution_policy = 9; + optional bool enable_model_auto_run = 1; +} + +message AutoWebRequestConfig { + repeated string allowlist = 1; + .exa.codeium_common_pb.CascadeWebRequestsAutoExecution auto_execution_policy = 2; +} + +message ListDirToolConfig { + .exa.cortex_pb.EnterpriseToolConfig enterprise_config = 1; +} + +message RunCommandToolConfig { + uint32 max_chars_command_stdout = 1; + .exa.cortex_pb.AutoCommandConfig auto_command_config = 3; + string shell_name = 5; + string shell_path = 6; + uint32 max_timeout_ms = 7; + .exa.cortex_pb.EnterpriseToolConfig enterprise_config = 9; + string shell_integration_failure_reason = 11; + optional bool force_disable = 2; + optional bool enable_ide_terminal_execution = 4; + optional bool enable_midterm_output_processor = 8; + optional bool use_bash_v2 = 10; +} + +message KnowledgeBaseSearchToolConfig { + uint32 max_tokens_per_knowledge_base_search = 1; + optional double prompt_fraction = 2; +} + +message FastApplyFallbackConfig { + bool enabled = 1; + uint32 prompt_unchanged_threshold = 2; + uint32 content_view_radius_lines = 3; + uint32 content_edit_radius_lines = 4; +} + +message ReplaceContentToolConfig { + float max_fuzzy_edit_distance_fraction = 1; + bool allow_partial_replacement_success = 2; + uint32 view_file_recency_max_distance = 3; + bool enable_fuzzy_sandwich_match = 4; + .exa.cortex_pb.FastApplyFallbackConfig fast_apply_fallback_config = 5; + .exa.cortex_pb.ReplaceToolVariant tool_variant = 6; + .exa.cortex_pb.SectionOverrideConfig override_description = 7; + optional bool show_triggered_memories = 8; + optional bool disable_allow_multiple = 9; +} + +message CodeToolConfig { + reserved 13; + reserved 16; + repeated string disable_extensions = 1; + .exa.cortex_pb.ReplaceContentToolConfig replace_content_tool_config = 4; + .exa.cortex_pb.AutoFixLintsConfig auto_fix_lints_config = 5; + .exa.cortex_pb.EnterpriseToolConfig enterprise_config = 7; + repeated string file_allowlist = 12; + repeated string dir_allowlist = 17; + repeated string plan_dirs = 19; + optional bool apply_edits = 2; + optional bool use_replace_content_edit_tool = 3; + optional bool allow_edit_gitignore = 6; + optional bool override_allow_action_on_unsaved_file = 8; + optional bool skip_replace_content_validation = 9; + optional bool use_replace_content_propose_code = 10; + optional bool only_show_incremental_diff_zone = 11; + optional bool run_proposal_extension_verifier = 14; + optional bool skip_await_lint_errors = 15; + optional bool allow_edit_rules_files = 18; +} + +message IntentToolConfig { + .exa.codeium_common_pb.Model intent_model_deprecated = 1; + string intent_model_uid = 3; + uint32 max_context_tokens = 2; +} + +message ViewFileToolConfig { + reserved "use_doc_outline"; + reserved "disable_read"; + reserved 3; + reserved 16; + uint32 max_tokens_per_outline = 1; + float max_doc_lines_fraction = 2; + uint32 max_total_outline_bytes = 9; + uint32 max_bytes_per_outline_item = 11; + .exa.cortex_pb.EnterpriseToolConfig enterprise_config = 12; + optional bool allow_doc_outline = 4; + optional bool use_line_numbers_for_raw = 5; + optional bool use_prompt_prefix = 6; + optional bool allow_view_gitignore = 7; + optional bool split_outline_tool = 8; + optional uint32 show_full_file_bytes = 10; + optional bool show_triggered_memories = 13; + optional uint32 max_lines_per_view = 14; + optional bool use_view_file_v2 = 15; +} + +message SuggestedResponseConfig { + optional bool force_disable = 1; +} + +message SearchWebToolConfig { + optional bool force_disable = 1; + optional .exa.codeium_common_pb.ThirdPartyWebSearchConfig third_party_config = 2; +} + +message ReadUrlContentToolConfig { + .exa.cortex_pb.AutoWebRequestConfig auto_web_request_config = 2; + optional bool force_disable = 1; +} + +message MemoryToolConfig { + optional bool force_disable = 1; + optional bool disable_auto_generate_memories = 2; + optional bool disable_write = 3; +} + +message McpToolConfig { + uint32 max_output_bytes = 2; + optional bool force_disable = 1; +} + +message CustomRecipeConfig { + .exa.codeium_common_pb.Model subagent_model_deprecated = 2; + string subagent_model_uid = 3; + optional bool force_disable = 1; +} + +message AutoFixLintsConfig { + optional bool enabled = 1; + optional string notifying_prompt = 2; +} + +message ProxyWebServerToolConfig { + optional bool force_disable = 1; +} + +message DeployWebAppToolConfig { + optional bool enabled = 1; +} + +message TrajectorySearchToolConfig { + uint32 max_scored_chunks = 4; + optional bool force_disable = 1; + optional bool conversations_enabled = 2; + optional bool user_activities_enabled = 3; +} + +message EnterpriseToolConfig { + repeated string custom_workspace = 2; + optional bool enforce_workspace_validation = 1; +} + +message ViewCodeItemToolConfig { + optional uint32 max_num_items = 1; + optional uint32 max_bytes_per_item = 2; + optional bool allow_access_gitignore = 3; +} + +message CommandStatusToolConfig { + optional bool use_delta = 1; +} + +message ReadKnowledgeBaseItemToolConfig { + repeated .exa.codeium_common_pb.KnowledgeBaseItem knowledge_base_items = 2; + optional bool enabled = 1; +} + +message ToolDescriptionOverrideMap { + message DescriptionsEntry { + string key = 1; + .exa.cortex_pb.SectionOverrideConfig value = 2; + } + + repeated .exa.cortex_pb.ToolDescriptionOverrideMap.DescriptionsEntry descriptions = 1; +} + +message AutoCascadeBroadcastToolConfig { + optional bool force_disable = 1; +} + +message NotebookToolConfig { + optional bool enabled = 1; +} + +message FindCodeContextToolConfig { + optional bool force_disable = 1; +} + +message SmartFriendToolConfig { + reserved 1; + string smart_friend_model_uid = 2; +} + +message AskUserQuestionToolConfig { + optional bool enabled = 1; +} + +message ExitPlanModeToolConfig { + optional bool enabled = 1; +} + +message CascadeToolConfig { + reserved "ReadUrlContent"; + reserved "windsurf_browser"; + reserved "do_testing"; + reserved 12; + reserved 25; + reserved 36; + .exa.cortex_pb.MqueryToolConfig mquery = 1; + .exa.cortex_pb.CodeToolConfig code = 2; + .exa.cortex_pb.IntentToolConfig intent = 3; + .exa.cortex_pb.GrepToolConfig grep = 4; + .exa.cortex_pb.FindToolConfig find = 5; + .exa.cortex_pb.ClusterQueryToolConfig cluster_query = 6; + .exa.cortex_pb.InspectClusterToolConfig inspect_cluster = 7; + .exa.cortex_pb.RunCommandToolConfig run_command = 8; + .exa.cortex_pb.KnowledgeBaseSearchToolConfig knowledge_base_search = 9; + .exa.cortex_pb.ViewFileToolConfig view_file = 10; + .exa.cortex_pb.SuggestedResponseConfig suggested_response = 11; + .exa.cortex_pb.SearchWebToolConfig search_web = 13; + .exa.cortex_pb.ReadUrlContentToolConfig read_url_content = 37; + .exa.cortex_pb.MemoryToolConfig memory = 14; + .exa.cortex_pb.CustomRecipeConfig custom_recipe = 15; + .exa.cortex_pb.McpToolConfig mcp = 16; + .exa.cortex_pb.ProxyWebServerToolConfig proxy_web_server = 17; + .exa.cortex_pb.DeployWebAppToolConfig deploy_web_app = 18; + .exa.cortex_pb.ListDirToolConfig list_dir = 19; + .exa.cortex_pb.ViewCodeItemToolConfig view_code_item = 20; + .exa.cortex_pb.ReadKnowledgeBaseItemToolConfig read_knowledge_base_item = 21; + .exa.cortex_pb.CommandStatusToolConfig command_status = 23; + .exa.cortex_pb.FindAllReferencesConfig find_all_references = 24; + .exa.cortex_pb.RunExtensionCodeConfig run_extension_code = 26; + .exa.cortex_pb.AddAnnotationConfig add_annotation = 27; + .exa.cortex_pb.TrajectorySearchToolConfig trajectory_search = 28; + .exa.cortex_pb.GrepV2ToolConfig grep_v2 = 33; + .exa.cortex_pb.ToolDescriptionOverrideMap description_override_map = 22; + .exa.cortex_pb.AutoCascadeBroadcastToolConfig auto_cascade_broadcast = 30; + .exa.cortex_pb.NotebookToolConfig notebook = 31; + .exa.cortex_pb.FindCodeContextToolConfig find_code_context = 34; + .exa.cortex_pb.SmartFriendToolConfig smart_friend = 35; + .exa.cortex_pb.ExitPlanModeToolConfig exit_plan_mode = 38; + .exa.cortex_pb.AskUserQuestionToolConfig ask_user_question = 39; + repeated string tool_allowlist = 32; + optional bool disable_simple_research_tools = 29; +} + +message CascadePassivePlannerConfig { + optional bool read_only = 1; + optional .exa.cortex_pb.PassiveCoderRequestSource request_source = 2; +} + +message CascadeSummarizerConfig { + bool enabled = 1; +} + +message CascadeAgentV2PlannerConfig { + .exa.cortex_pb.CascadeSummarizerConfig summarizer_config = 1; +} + +message CascadeConversationalV2PlannerConfig { + .exa.codeium_common_pb.ConversationalPlannerMode planner_mode = 1; + string cluster_path = 3; + optional bool use_clusters = 2; + optional bool eval_mode = 4; +} + +message CascadeCodemapPlannerConfig { + reserved "is_trusted"; + reserved 1; +} + +message CascadeLifeguardPlannerConfig { + string agent_version = 1; +} + +message CascadePlannerConfig { + reserved "num_parallel_rollouts"; + reserved "judge_model"; + reserved "use_clusters"; + reserved "add_reference_nodes"; + reserved "vibecoder"; + reserved 31; + reserved 8; + reserved 9; + reserved 17; + reserved 19; + reserved 26; + .exa.cortex_pb.CascadeToolConfig tool_config = 13; + .exa.codeium_common_pb.Model plan_model_deprecated = 1; + .exa.codeium_common_pb.ModelOrAlias requested_model_deprecated = 15; + string plan_model_uid = 34; + string requested_model_uid = 35; + uint32 max_iterations = 4; + uint32 max_step_parse_retries = 5; + uint32 max_output_tokens = 6; + int32 truncation_threshold_tokens = 14; + .exa.cortex_pb.EphemeralMessagesConfig ephemeral_messages_config = 21; + bool run_as_proposer = 23; + bool show_all_errors = 25; + bool is_vibe_and_replace = 28; + .exa.cortex_pb.PromptOverrideConfig prompt_override = 30; + repeated string retry_on_response_content = 32; + oneof planner_type_config { + .exa.cortex_pb.CascadeConversationalPlannerConfig conversational = 2; + .exa.cortex_pb.CascadeConversationalV2PlannerConfig conversational_v2 = 27; + .exa.cortex_pb.CascadeAgenticPlannerConfig agentic = 3; + .exa.cortex_pb.CascadeResearchPlannerConfig research = 10; + .exa.cortex_pb.CascadePassivePlannerConfig passive = 22; + .exa.cortex_pb.CascadeAgentV2PlannerConfig agent_v2 = 24; + .exa.cortex_pb.CascadeCodemapPlannerConfig codemap = 29; + .exa.cortex_pb.CascadeLifeguardPlannerConfig lifeguard = 33; + } + optional bool no_tool_explanation = 7; + optional bool allow_pending_steps = 11; + optional bool forbid_tool_use_on_last_retry = 12; + optional bool include_ephemeral_message = 20; +} + +message BaseTrajectoryIdentifier { + oneof identifier { + string cascade_id = 1; + string implicit_trajectory_file_uri = 2; + bool last_active_doc = 3; + .exa.cortex_pb.CortexTrajectory trajectory = 4; + } +} + +message DeploymentInteractionPayload { + string subdomain = 1; +} + +message CascadeDeployInteraction { + bool cancel = 1; + .exa.codeium_common_pb.DeployTarget deploy_target = 2; + string subdomain = 3; +} + +message CascadeRunCommandInteraction { + bool confirm = 1; + .exa.cortex_pb.RunCommandAction action = 4; + string proposed_command_line = 2; + string submitted_command_line = 3; +} + +message CascadeReadUrlContentInteraction { + .exa.cortex_pb.ReadUrlContentAction action = 1; + string url = 2; + string origin = 3; +} + +message CascadeRunExtensionCodeInteraction { + bool confirm = 1; +} + +message CascadeTaskResolutionInteraction { + bool confirm = 1; + .exa.cortex_pb.TaskResolution resolution = 2; +} + +message CascadeUpsertCodemapInteraction { + bool confirm = 1; +} + +message CascadeAskUserQuestionInteraction { + .exa.cortex_pb.CortexStepAskUserQuestion.Response response = 1; +} + +message CascadeDeployInteractionSpec { + repeated .exa.codeium_common_pb.DeployTarget deploy_target_options = 1; +} + +message CascadeRunCommandInteractionSpec { +} + +message CascadeReadUrlContentInteractionSpec { + string url = 1; + string origin = 2; +} + +message CascadeRunExtensionCodeInteractionSpec { +} + +message CascadeTaskResolutionInteractionSpec { + string title = 1; + string description = 2; +} + +message CascadeUpsertCodemapInteractionSpec { +} + +message CascadeAskUserQuestionInteractionSpec { +} + +message RequestedInteraction { + reserved "claude_code_tool_permission"; + reserved 1; + reserved 6; + reserved 4; + reserved 7; + reserved 8; + reserved 9; + reserved 10; + reserved 12; + oneof interaction { + .exa.cortex_pb.CascadeDeployInteractionSpec deploy = 2; + .exa.cortex_pb.CascadeRunCommandInteractionSpec run_command = 3; + .exa.cortex_pb.CascadeRunExtensionCodeInteractionSpec run_extension_code = 5; + .exa.cortex_pb.CascadeTaskResolutionInteractionSpec resolve_task = 11; + .exa.cortex_pb.CascadeUpsertCodemapInteractionSpec upsert_codemap = 13; + .exa.cortex_pb.CascadeReadUrlContentInteractionSpec read_url_content = 14; + .exa.cortex_pb.CascadeAskUserQuestionInteractionSpec ask_user_question = 15; + } +} + +message CascadeUserInteraction { + reserved "open_browser_url"; + reserved "execute_browser_javascript"; + reserved "capture_browser_screenshot"; + reserved "click_browser_pixel"; + reserved "query_browser_page_for_pixel"; + reserved "claude_code_tool_permission"; + reserved 3; + reserved 6; + reserved 8; + reserved 9; + reserved 10; + reserved 11; + reserved 13; + string trajectory_id = 1; + uint32 step_index = 2; + oneof interaction { + .exa.cortex_pb.CascadeDeployInteraction deploy = 4; + .exa.cortex_pb.CascadeRunCommandInteraction run_command = 5; + .exa.cortex_pb.CascadeRunExtensionCodeInteraction run_extension_code = 7; + .exa.cortex_pb.CascadeTaskResolutionInteraction resolve_task = 12; + .exa.cortex_pb.CascadeUpsertCodemapInteraction upsert_codemap = 14; + .exa.cortex_pb.CascadeReadUrlContentInteraction read_url_content = 15; + .exa.cortex_pb.CascadeAskUserQuestionInteraction ask_user_question = 16; + } +} + +message CortexStepDummy { + uint32 input = 1; + uint32 output = 2; +} + +message CortexStepBlocking { +} + +message CortexStepFinish { + message OutputEntry { + string key = 1; + string value = 2; + } + + repeated .exa.cortex_pb.CortexStepFinish.OutputEntry output = 1; + string output_string = 2; +} + +message CortexStepPlanInput { + .exa.cortex_pb.PlanInput plan_input = 1; + bool user_provided = 2; +} + +message CortexStepCheckpoint { + message EditedFileMapEntry { + string key = 1; + .exa.diff_action_pb.DiffList value = 2; + } + + uint32 checkpoint_index = 1; + bool intent_only = 9; + uint32 included_step_index_start = 11; + uint32 included_step_index_end = 12; + string conversation_title = 10; + string user_intent = 4; + string session_summary = 5; + string code_change_summary = 6; + string plan_snapshot = 13; + repeated .exa.cortex_pb.CortexStepCheckpoint.EditedFileMapEntry edited_file_map = 7; + repeated uint32 included_step_indices = 3; + string memory_summary = 8; + string user_intent_request_id = 14; + string session_summary_request_id = 15; + string code_change_summary_request_id = 16; +} + +message WorktreeMergeSnapshot { + message FileStatesBeforeMergeEntry { + string key = 1; + string value = 2; + } + + message FileStatesAfterMergeEntry { + string key = 1; + string value = 2; + } + + repeated .exa.cortex_pb.WorktreeMergeSnapshot.FileStatesBeforeMergeEntry file_states_before_merge = 1; + repeated string added_files = 2; + repeated .exa.cortex_pb.WorktreeMergeSnapshot.FileStatesAfterMergeEntry file_states_after_merge = 3; +} + +message CheckpointConfig { + reserved "use_subagent_checkpointer"; + reserved "type"; + reserved "condense_input_trajectory"; + reserved 8; + reserved 9; + reserved 10; + uint32 token_threshold = 1; + float max_overhead_ratio = 3; + uint32 moving_window_size = 4; + uint32 max_token_limit = 5; + uint32 max_output_tokens = 11; + uint32 max_plan_search_steps = 12; + .exa.codeium_common_pb.Model checkpoint_model_deprecated = 7; + string checkpoint_model_uid = 14; + .exa.codeium_common_pb.Model checkpoint_model_fallback_deprecated = 13; + string checkpoint_model_fallback_uid = 15; + optional bool enabled = 6; +} + +message CortexStepMquery { + .exa.cortex_pb.PlanInput input = 1; + repeated .exa.context_module_pb.CciWithSubrangeWithRetrievalMetadata ccis = 2; + uint32 num_tokens_processed = 3; + uint32 num_items_scored = 4; + .exa.cortex_pb.SemanticCodebaseSearchType search_type = 5; +} + +message ReplacementChunkInfo { + .exa.cortex_pb.ReplacementChunk original_chunk = 1; + string fuzzy_match = 2; + int32 edit_distance = 3; + float rel_edit_distance = 4; + uint32 num_matches = 5; + bool is_non_exact = 7; + bool boundary_lines_match = 8; + bool error = 6; + string error_str = 9; + bool fast_apply_fixable = 10; +} + +message FastApplyFallbackInfo { + bool fallback_attempted = 1; + string fallback_error = 2; + .exa.cortex_pb.ActionResult fast_apply_result = 3; + .exa.cortex_pb.CodeHeuristicFailure heuristic_failure = 4; + string fast_apply_prompt = 5; + uint32 num_fast_apply_edits_masked = 6; + bool fallback_match_had_no_diff = 7; +} + +message CortexStepCodeAction { + reserved "implicit_metadata"; + reserved 3; + .exa.cortex_pb.ActionSpec action_spec = 1; + .exa.cortex_pb.ActionResult action_result = 2; + bool use_fast_apply = 4; + .exa.cortex_pb.AcknowledgementType acknowledgement_type = 5; + bool blocking = 6; + .exa.cortex_pb.CodeHeuristicFailure heuristic_failure = 7; + string code_instruction = 8; + string markdown_language = 9; + bool dry_run = 10; + repeated .exa.codeium_common_pb.CodeDiagnostic lint_errors = 11; + repeated .exa.codeium_common_pb.CodeDiagnostic persistent_lint_errors = 12; + repeated .exa.cortex_pb.ReplacementChunkInfo replacement_infos = 13; + repeated string lint_error_ids_aiming_to_fix = 14; + .exa.cortex_pb.FastApplyFallbackInfo fast_apply_fallback_info = 15; + bool target_file_has_carriage_returns = 16; + bool target_file_has_all_carriage_returns = 17; + repeated .exa.cortex_pb.CortexStepCompileDiagnostic introduced_errors = 18; + string triggered_memories = 19; + .exa.cortex_pb.BrainEntryDelta brain_delta = 20; + .exa.cortex_pb.CortexTrajectoryType trajectory_type = 21; +} + +message CortexStepProposeCode { + .exa.cortex_pb.ActionSpec action_spec = 1; + .exa.cortex_pb.ActionResult action_result = 2; + string code_instruction = 3; + string markdown_language = 4; + bool blocking = 5; + .exa.cortex_pb.AcknowledgementType acknowledgement_type = 6; +} + +message CortexStepGitCommit { + .exa.cortex_pb.PlanInput input = 1; + string commit_message = 2; + string commit_hash = 3; +} + +message CortexStepFindCodeContext { + string search_term = 1; + repeated .exa.cortex_pb.InstantContextStep steps = 2; + .exa.cortex_pb.InstantContextResponse response = 3; + string workspace_directory_path = 4; + string error = 5; +} + +message InstantContextResponse { + message RangeMapEntry { + string key = 1; + .exa.cortex_pb.LineRangeList value = 2; + } + + message RawRangeMapEntry { + string key = 1; + .exa.cortex_pb.LineRangeList value = 2; + } + + repeated .exa.cortex_pb.InstantContextResponse.RangeMapEntry range_map = 1; + float deprecated_duration_field_2 = 2; + float duration = 3; + repeated .exa.cortex_pb.InstantContextResponse.RawRangeMapEntry raw_range_map = 4; + .exa.cortex_pb.InstantContextTiming timing = 5; +} + +message InstantContextStep { + repeated .exa.cortex_pb.InstantContextToolCall tool_calls = 1; + string thoughts = 2; +} + +message InstantContextToolCall { + enum ExecutionStatus { + EXECUTION_STATUS_UNSPECIFIED = 0; + EXECUTION_STATUS_PENDING = 1; + EXECUTION_STATUS_COMPLETED = 2; + EXECUTION_STATUS_ERROR = 3; + EXECUTION_STATUS_TIMED_OUT = 4; + } + + string command_type = 1; + string param = 2; + .exa.cortex_pb.InstantContextToolCall.ExecutionStatus execution_status = 3; + string error_message = 4; + string tool_call_id = 5; + float duration_seconds = 6; +} + +message InstantContextToolUpdate { + string tool_call_id = 1; + .exa.cortex_pb.InstantContextToolCall.ExecutionStatus execution_status = 2; + string error_message = 3; + float duration_seconds = 4; + int32 tool_index = 5; + string command_type = 6; +} + +message CommandTiming { + string label = 1; + string command_type = 2; + float exec_duration_secs = 3; + bool errored = 4; +} + +message TurnTiming { + float model_latency_secs = 1; + float tool_call_parse_duration_secs = 2; + float command_build_duration_secs = 3; + float tool_exec_duration_secs = 4; + repeated .exa.cortex_pb.CommandTiming commands = 5; +} + +message InstantContextTiming { + float total_duration_secs = 1; + float answer_parse_duration_secs = 2; + repeated .exa.cortex_pb.TurnTiming turns = 3; +} + +message LineRangeList { + repeated .exa.cortex_pb.LineRange ranges = 1; +} + +message LineRange { + int32 start = 1; + int32 end = 2; +} + +message GrepSearchResult { + string relative_path = 1; + uint32 line_number = 2; + string content = 3; + string absolute_path = 4; + .exa.codeium_common_pb.CodeContextItem cci = 5; + uint32 match_count = 6; +} + +message CortexStepInformPlanner { + .exa.code_edit.code_edit_pb.CodeChangeWithContext target_code_change = 3; + repeated .exa.context_module_pb.CciWithSubrangeWithRetrievalMetadata inform_cci_list = 4; +} + +message InformPlannerConfig { + float cci_ratio = 1; + bool randomize = 2; + uint32 manual_seed = 3; + .exa.cortex_pb.InformPlannerMode mode = 4; + bool is_certain = 5; +} + +message DiffBasedCommandEvalConfig { + uint32 num_samples_per_commit = 1; +} + +message CortexStepGrepSearch { + reserved "workspace_path_uri"; + reserved 6; + string search_path_uri = 11; + string query = 1; + bool match_per_line = 8; + repeated string includes = 2; + bool case_insensitive = 9; + bool allow_access_gitignore = 13; + bool is_regex = 14; + repeated .exa.cortex_pb.GrepSearchResult results = 4; + uint32 total_results = 7; + string raw_output = 3; + string command_run = 10; + bool no_files_searched = 12; + bool timed_out = 15; + string grep_error = 5; +} + +message CortexStepGrepSearchV2 { + reserved "show_line_numbers"; + reserved 9; + string search_path_uri = 1; + string pattern = 2; + string path = 3; + string glob = 4; + string output_mode = 5; + int32 lines_after = 6; + int32 lines_before = 7; + int32 lines_both = 8; + bool case_insensitive = 10; + string type = 11; + int32 head_limit = 12; + bool multiline = 13; + string command_run = 14; + string raw_output = 15; + bool no_files_searched = 16; + bool timed_out = 17; +} + +message CortexStepFind { + reserved "results"; + reserved 6; + string search_directory = 10; + string pattern = 1; + repeated string excludes = 3; + .exa.cortex_pb.FindResultType type = 4; + int32 max_depth = 5; + repeated string extensions = 12; + bool full_path = 13; + string truncated_output = 14; + uint32 truncated_total_results = 15; + uint32 total_results = 7; + string raw_output = 11; + string command_run = 9; + repeated string includes = 2; + string find_error = 8; +} + +message CortexStepExploreResponse { + string query_id = 1; + string response = 2; +} + +message CortexStepReadNotebook { + string absolute_path_uri = 1; + string content = 2; + string raw_content = 3; +} + +message CortexStepSmartFriend { + string question = 1; + string advice = 2; + .exa.codeium_common_pb.Model model_deprecated = 3; + string model_uid = 6; + string model_name = 4; + string smart_friend_request_id = 5; +} + +message CortexStepEditNotebook { + enum EditMode { + EDIT_MODE_UNSPECIFIED = 0; + EDIT_MODE_REPLACE = 1; + EDIT_MODE_INSERT = 2; + EDIT_MODE_DELETE = 3; + } + + string absolute_path_uri = 1; + uint32 cell_number = 2; + string cell_id = 6; + string new_source = 3; + string cell_type = 4; + .exa.cortex_pb.CortexStepEditNotebook.EditMode edit_mode = 5; + string original_content = 7; + string new_content = 8; + .exa.cortex_pb.AcknowledgementType acknowledgement_type = 9; + string triggered_memories = 10; + repeated .exa.codeium_common_pb.CodeDiagnostic lint_errors = 11; + repeated .exa.codeium_common_pb.CodeDiagnostic persistent_lint_errors = 12; + .exa.diff_action_pb.UnifiedDiff cell_diff = 13; +} + +message CortexStepViewFile { + enum FileType { + FILE_TYPE_UNSPECIFIED = 0; + FILE_TYPE_DIRECTORY = 1; + FILE_TYPE_IMAGE = 2; + } + + enum TriggerSource { + TRIGGER_SOURCE_UNSPECIFIED = 0; + TRIGGER_SOURCE_VIEWPORT = 1; + } + + string absolute_path_uri = 1; + uint32 start_line = 2; + uint32 end_line = 3; + uint32 offset = 11; + uint32 limit = 12; + bool include_summary_of_other_lines = 7; + bool has_line_numbers = 8; + uint32 max_tokens = 5; + bool async = 6; + string content = 4; + string raw_content = 9; + string triggered_memories = 10; + bool is_dir = 13; + bool has_read_whole_file = 14; + .exa.cortex_pb.CortexStepViewFile.FileType file_type = 15; + .exa.cortex_pb.CortexStepViewFile.TriggerSource trigger_source = 17; + .exa.codeium_common_pb.ImageData image_content = 16; +} + +message ListDirectoryResult { + string name = 1; + bool is_dir = 2; + uint32 num_children = 3; + uint64 size_bytes = 4; +} + +message CortexStepListDirectory { + string directory_path_uri = 1; + repeated string children = 2; + repeated .exa.cortex_pb.ListDirectoryResult results = 3; + bool dir_not_found = 4; +} + +message CortexStepCompileDiagnostic { + string message = 1; + string path = 2; + uint32 line = 3; + uint32 column = 4; + string symbol = 5; +} + +message CortexStepClusterQuery { + reserved "ccis"; + reserved 4; + string query = 1; + repeated .exa.codeium_common_pb.CodebaseCluster input_clusters = 2; + string repo_name = 5; + repeated float scores = 3; + repeated .exa.codeium_common_pb.CodebaseCluster output_clusters = 6; +} + +message CortexStepListClusters { + repeated .exa.codeium_common_pb.CodebaseCluster clusters = 1; + string repo_name = 2; +} + +message CortexStepCompile { + message OptionsEntry { + string key = 1; + string value = 2; + } + + .exa.cortex_pb.CortexStepCompileTool tool = 1; + string input_spec = 2; + repeated .exa.cortex_pb.CortexStepCompile.OptionsEntry options = 3; + string target = 4; + string artifact_path = 5; + bool artifact_is_executable = 6; + repeated .exa.cortex_pb.CortexStepCompileDiagnostic errors = 7; + repeated .exa.cortex_pb.CortexStepCompileDiagnostic warnings = 8; +} + +message CortexTrajectoryToPromptConfig { + float prompt_fraction = 1; +} + +message CortexStepUserInput { + string query = 1; + string user_response = 2; + repeated .exa.codeium_common_pb.TextOrScopeItem items = 3; + .exa.context_module_pb.ContextModuleResult active_user_state = 4; + repeated .exa.codeium_common_pb.ImageData images = 5; +} + +message AskUserQuestionOption { + string label = 1; + string description = 2; +} + +message CortexStepAskUserQuestion { + message Request { + string question = 1; + repeated .exa.cortex_pb.AskUserQuestionOption options = 2; + bool allow_multiple = 3; + } + + message Response { + oneof response_type { + .exa.cortex_pb.CortexStepAskUserQuestion.SelectedOptions selected_options = 1; + .exa.cortex_pb.CortexStepUserInput user_input = 2; + } + } + + message SelectedOptions { + repeated int32 indices = 1; + } + + .exa.cortex_pb.CortexStepAskUserQuestion.Request request = 1; + .exa.cortex_pb.CortexStepAskUserQuestion.Response response = 2; +} + +message CortexStepArenaTrajectoryConverge { + string source_model_uid = 1; + string source_cascade_id = 2; + repeated .exa.cortex_pb.CortexTrajectoryStep original_steps = 3; + string destination_model_uid = 4; +} + +message CortexStepLintFixMessage { + repeated .exa.codeium_common_pb.CodeDiagnostic lint_errors = 1; + repeated .exa.codeium_common_pb.CodeDiagnostic persistent_lint_errors = 2; +} + +message ActiveUserState { + .exa.codeium_common_pb.Document active_document = 1; + repeated .exa.codeium_common_pb.Document open_documents = 2; + .exa.codeium_common_pb.CodeContextItem active_node = 3; +} + +message CortexStepSupercompleteActiveDoc { + string instruction = 1; + .exa.codeium_common_pb.FileRangeContent selection_with_cursor = 2; +} + +message CortexStepSupercompleteFeedback { + string completion_id = 1; + string completion_text = 2; + string feedback_type = 3; + string feedback_reason = 4; + .exa.codeium_common_pb.Document document = 5; + int64 feedback_delay_ms = 6; + .exa.codeium_common_pb.ProviderSource provider_source = 7; +} + +message CortexStepSupercompleteEphemeralFeedback { + repeated .exa.cortex_pb.SupercompleteEphemeralFeedbackEntry feedback_entries = 1; + int64 creation_timestamp_ms = 2; +} + +message SupercompleteEphemeralFeedbackEntry { + bool accepted = 1; + bool intentional_reject = 2; + string completion_id = 3; + int64 timestamp_ms = 4; + .exa.diff_action_pb.UnifiedDiff unified_diff = 5; + uint64 selection_start_line = 7; + .exa.cortex_pb.SupercompleteTabJumpInfo tabjump_suggestion = 6; +} + +message SupercompleteTabJumpInfo { + string path = 1; + .exa.codeium_common_pb.DocumentPosition jump_position = 2; + bool is_import = 3; +} + +message CortexStepPlannerResponse { + string response = 1; + string modified_response = 8; + string thinking = 3; + string signature = 4; + bool thinking_redacted = 5; + string message_id = 6; + repeated .exa.codeium_common_pb.ChatToolCall tool_calls = 7; + repeated .exa.codeium_common_pb.KnowledgeBaseItemWithMetadata knowledge_base_items = 2; + string output_id = 9; + string thinking_id = 10; + bytes gemini_thought_signature = 11; + string signature_type = 12; + .google.protobuf.Duration thinking_duration = 13; +} + +message CortexStepFileBreakdown { + string absolute_path = 1; + .exa.codeium_common_pb.DocumentOutline document_outline = 2; +} + +message CortexStepViewCodeItem { + reserved "cci"; + reserved "node_name"; + reserved 2; + reserved 3; + string absolute_uri = 1; + repeated string node_paths = 4; + repeated .exa.codeium_common_pb.CodeContextItem ccis = 5; +} + +message CortexStepWriteToFile { + string target_file_uri = 1; + repeated string code_content = 2; + .exa.diff_action_pb.DiffBlock diff = 3; + bool file_created = 4; + .exa.cortex_pb.AcknowledgementType acknowledgement_type = 5; +} + +message CortexStepSearchKnowledgeBase { + repeated string queries = 1; + .exa.opensearch_clients_pb.TimeRange time_range = 3; + repeated .exa.opensearch_clients_pb.ConnectorType connector_types = 4; + repeated string aggregate_ids = 7; + repeated .exa.codeium_common_pb.KnowledgeBaseGroup knowledge_base_groups = 2; +} + +message CortexStepLookupKnowledgeBase { + repeated string urls = 1; + repeated string document_ids = 2; + repeated .exa.codeium_common_pb.KnowledgeBaseItemWithMetadata knowledge_base_items = 3; +} + +message CortexStepSuggestedResponses { + repeated string suggestions = 1; +} + +message CortexStepErrorMessage { + reserved 1; + reserved 2; + .exa.cortex_pb.CortexErrorDetails error = 3; + bool should_show_model = 4; + bool should_show_user = 5; +} + +message CortexStepInspectCluster { + string cluster_id = 1; + string query = 2; + .exa.codeium_common_pb.CodebaseCluster matched_cluster = 3; + repeated .exa.context_module_pb.CciWithSubrangeWithRetrievalMetadata ccis = 4; +} + +message RunCommandOutput { + string full = 1; + string ansi_output = 4; + string truncated = 2; + uint32 num_lines_above = 3; +} + +message SimpleCommand { + repeated string parts = 1; +} + +message CortexStepRunCommand { + string command_line = 23; + string proposed_command_line = 25; + string cwd = 2; + bool blocking = 11; + uint64 wait_ms_before_async = 12; + bool should_auto_run = 15; + string requested_terminal_id = 17; + string agent_harness = 26; + string command_id = 13; + bool user_rejected = 14; + .exa.cortex_pb.AutoRunDecision auto_run_decision = 16; + string terminal_id = 18; + .exa.cortex_pb.RunCommandOutput combined_output = 21; + bool used_ide_terminal = 22; + string raw_debug_output = 24; + string shell_integration_failure_reason = 27; + string shell_name = 28; + repeated .exa.cortex_pb.SimpleCommand parsed_commands = 29; + string command = 1; + repeated string args = 3; + string stdout = 4; + string stderr = 5; + string stdout_buffer = 7; + string stderr_buffer = 8; + uint32 stdout_lines_above = 9; + uint32 stderr_lines_above = 10; + .exa.cortex_pb.RunCommandOutput stdout_output = 19; + .exa.cortex_pb.RunCommandOutput stderr_output = 20; + optional int32 exit_code = 6; +} + +message CortexStepRelatedFiles { + string absolute_uri = 1; + repeated string related_file_absolute_uris = 2; + repeated float scores = 3; + string related_file_error = 4; +} + +message CortexStepReadUrlContent { + string url = 1; + .exa.codeium_common_pb.KnowledgeBaseItem web_document = 2; + string resolved_url = 3; + uint32 latency_ms = 4; + bool user_rejected = 6; + .exa.cortex_pb.AutoRunDecision auto_run_decision = 7; +} + +message CortexStepReadKnowledgeBaseItem { + string identifier = 1; + .exa.codeium_common_pb.KnowledgeBaseItem knowledge_base_item = 2; + .exa.opensearch_clients_pb.ConnectorType connector_type = 3; +} + +message CortexStepViewContentChunk { + reserved "cropped_web_document"; + reserved "url"; + reserved 1; + reserved 3; + string document_id = 5; + int32 position = 2; + .exa.codeium_common_pb.KnowledgeBaseItem cropped_item = 4; +} + +message CortexStepSearchWeb { + string query = 1; + string domain = 3; + repeated .exa.codeium_common_pb.KnowledgeBaseItem web_documents = 2; + string web_search_url = 4; + string summary = 5; + .exa.codeium_common_pb.ThirdPartyWebSearchConfig third_party_config = 6; +} + +message CortexStepReadDeploymentConfig { + string project_path = 1; + string deployment_config_uri = 2; + .exa.codeium_common_pb.WebAppDeploymentConfig deployment_config = 3; + repeated string missing_file_uris = 4; + bool will_upload_node_modules = 5; + bool will_upload_dist = 6; + repeated string ignore_file_uris = 7; + uint32 num_files_to_upload = 8; + repeated string env_file_uris = 9; +} + +message CortexStepDeployWebApp { + message FileUploadStatusEntry { + string key = 1; + .exa.cortex_pb.DeployWebAppFileUploadStatus value = 2; + } + + string project_path = 1; + string subdomain = 2; + string project_id = 11; + string framework = 3; + bool user_confirmed = 4; + repeated .exa.cortex_pb.CortexStepDeployWebApp.FileUploadStatusEntry file_upload_status = 5; + .exa.codeium_common_pb.WindsurfDeployment deployment = 6; + string deployment_config_uri = 7; + .exa.codeium_common_pb.WebAppDeploymentConfig deployment_config_output = 8; + string subdomain_for_project_id = 12; + string subdomain_user_specified = 13; + string subdomain_used = 9; + .exa.codeium_common_pb.DeployTarget deploy_target_for_project_id = 15; + .exa.codeium_common_pb.DeployTarget deploy_target_user_specified = 16; + .exa.codeium_common_pb.DeployTarget deploy_target_used = 17; + string project_id_used = 14; + string claim_url = 10; +} + +message CortexStepCheckDeployStatus { + string windsurf_deployment_id = 1; + .exa.codeium_common_pb.WindsurfDeployment deployment = 2; + .exa.codeium_common_pb.DeploymentBuildStatus build_status = 3; + string build_error = 4; + string build_logs = 5; + bool is_claimed = 6; + string claim_url = 7; +} + +message CortexStepClipboard { + string content = 1; +} + +message ExecutorMetadata { + .exa.cortex_pb.ExecutorTerminationReason termination_reason = 1; + int32 num_generator_invocations = 2; + int32 last_step_idx = 3; + bool proceeded_with_auto_continue = 4; +} + +message CortexStepLintDiff { + .exa.cortex_pb.LintDiffType type = 1; + .exa.codeium_common_pb.CodeDiagnostic lint = 2; +} + +message BrainEntry { + string id = 1; + .exa.cortex_pb.BrainEntryType type = 2; + string content = 3; +} + +message PlanEntryDeltaSummary { + repeated string items_added = 1; + repeated string items_completed = 2; +} + +message BrainEntryDeltaSummary { + oneof summary { + .exa.cortex_pb.PlanEntryDeltaSummary plan = 1; + .exa.cortex_pb.TaskEntryDeltaSummary task = 2; + } +} + +message BrainEntryDelta { + .exa.cortex_pb.BrainEntry before = 1; + .exa.cortex_pb.BrainEntry after = 2; + string absolute_path_uri = 3; + .exa.cortex_pb.BrainEntryDeltaSummary summary = 4; +} + +message TaskItem { + string id = 1; + string content = 2; + .exa.cortex_pb.TaskStatus status = 3; + string parent_id = 4; + string prev_sibling_id = 5; +} + +message TaskDelta { + .exa.cortex_pb.TaskDeltaType type = 1; + string id = 2; + string content = 3; + .exa.cortex_pb.TaskStatus status = 4; + string parent_id = 5; + string prev_sibling_id = 6; + string from_parent = 7; + string from_prev_sibling = 8; +} + +message TaskEntryDeltaSummary { + repeated .exa.cortex_pb.TaskDelta deltas = 1; + int32 items_added = 2; + int32 items_pruned = 3; + int32 items_deleted = 4; + int32 items_updated = 5; + int32 items_moved = 6; +} + +message CortexStepBrainUpdate { + .exa.cortex_pb.BrainUpdateTrigger trigger = 3; + repeated .exa.cortex_pb.BrainEntryDelta deltas = 2; + oneof target { + .exa.cortex_pb.BrainEntryType entry_type = 1; + } +} + +message CortexStepAddAnnotation { + .exa.codeium_common_pb.CodeAnnotation annotation = 1; +} + +message AddAnnotationConfig { + optional bool enabled = 1; + optional bool enabled_for_conversational_mixin = 2; +} + +message CascadeState { + string cascade_id = 1; + .exa.cortex_pb.CortexTrajectory trajectory = 2; + .exa.cortex_pb.CascadeRunStatus status = 3; + bool is_revert = 5; + .exa.cortex_pb.ExecutorMetadata executor_metadata = 4; +} + +message CascadePanelState { + .exa.codeium_common_pb.PlanStatus plan_status = 1; + .exa.codeium_common_pb.UserSettings user_settings = 2; + optional bool workspace_trusted = 3; +} + +message CortexStepCommandStatus { + string command_id = 1; + uint32 output_character_count = 8; + uint32 wait_duration_seconds = 10; + .exa.cortex_pb.CortexStepStatus status = 2; + string combined = 9; + .exa.cortex_pb.CortexErrorDetails error = 6; + uint32 waited_duration_seconds = 11; + string stdout = 3; + string stderr = 4; + .exa.cortex_pb.CommandOutputPriority output_priority = 7; + optional string delta = 12; + optional int32 exit_code = 5; +} + +message CortexMemory { + string memory_id = 1; + string title = 6; + .exa.cortex_pb.CortexMemoryMetadata metadata = 2; + .exa.cortex_pb.CortexMemorySource source = 3; + .exa.cortex_pb.CortexMemoryScope scope = 4; + oneof memory { + .exa.cortex_pb.CortexMemoryText text_memory = 5; + } + optional string parse_error = 7; +} + +message CortexMemoryMetadata { + .google.protobuf.Timestamp created_at = 1; + .google.protobuf.Timestamp last_modified = 2; + .google.protobuf.Timestamp last_accessed = 3; + repeated string tags = 4; + bool user_triggered = 5; +} + +message CortexMemoryText { + string content = 1; +} + +message CortexMemoryScope { + oneof scope { + .exa.cortex_pb.CortexMemoryGlobalScope global_scope = 1; + .exa.cortex_pb.CortexMemoryLocalScope local_scope = 2; + .exa.cortex_pb.CortexMemoryAllScope all_scope = 3; + .exa.cortex_pb.CortexMemoryProjectScope project_scope = 4; + .exa.cortex_pb.CortexMemorySystemScope system_scope = 5; + } +} + +message CortexMemoryGlobalScope { +} + +message CortexMemoryLocalScope { + repeated string corpus_names = 2; + repeated string base_dir_uris = 3; + string repo_base_dir_uri = 1; +} + +message CortexMemoryAllScope { +} + +message CortexMemorySystemScope { +} + +message CortexMemoryProjectScope { + string file_path = 1; + string absolute_file_path = 7; + repeated string base_dir_uris = 2; + repeated string corpus_names = 3; + .exa.cortex_pb.CortexMemoryTrigger trigger = 4; + string description = 5; + repeated string globs = 6; + .exa.cortex_pb.RuleSource rule_source = 8; +} + +message CortexSkill { + string name = 1; + string description = 2; + string path = 3; + int32 resource_count = 4; + string base_dir = 5; + string content = 6; + bool is_global = 7; + optional string parse_error = 8; +} + +message CortexStepMemory { + string memory_id = 1; + .exa.cortex_pb.CortexMemory memory = 2; + .exa.cortex_pb.CortexMemory prev_memory = 4; + .exa.cortex_pb.MemoryActionType action = 3; +} + +message CortexStepRetrieveMemory { + bool run_subagent = 1; + bool add_user_memories = 8; + bool add_auto_cascade_memories = 10; + string cascade_memory_summary = 2; + string user_memory_summary = 3; + string auto_cascade_memory_summary = 9; + string reason = 4; + bool show_reason = 5; + repeated .exa.cortex_pb.CortexMemory retrieved_memories = 6; + bool blocking = 7; +} + +message MemoryConfig { + .exa.codeium_common_pb.Model memory_model_deprecated = 1; + string memory_model_uid = 8; + uint32 num_checkpoints_for_context = 5; + int32 num_memories_to_consider = 3; + int32 max_global_cascade_memories = 4; + optional bool condense_input_trajectory = 6; + optional bool add_user_memories_to_system_prompt = 7; + optional bool enabled = 2; +} + +message ViewedFileTrackerConfig { + uint32 max_files_in_prompt = 2; + uint32 max_lines_per_file_in_prompt = 3; + optional uint32 max_steps_per_checkpoint = 1; +} + +message CodeStepCreationOptions { + int64 diff_block_separation_threshold = 1; + bool handle_deletions = 2; + bool handle_creations = 3; + optional bool include_original_content = 4; +} + +message BrainUpdateStepCreationOptions { + string entry_id_prefix = 1; +} + +message ViewFileStepCreationOptions { + bool condition_on_edit_step = 1; + optional bool include_raw_content = 2; +} + +message UserGrepStepCreationOptions { + uint32 num_search_events = 1; +} + +message RunCommandStepCreationOptions { + uint32 max_commands = 1; + .google.protobuf.Duration max_command_age = 2; + uint32 per_command_max_bytes_output = 3; + uint32 total_max_bytes_output = 4; + optional bool include_running = 5; +} + +message LintDiffStepCreationOptions { + uint32 max_lint_inserts = 1; + uint32 min_required_lint_duration = 2; +} + +message SnapshotToStepsOptions { + reserved "browser_step_creation_options"; + reserved 9; + .exa.cortex_pb.CodeStepCreationOptions code_step_creation_options = 1; + .exa.cortex_pb.ViewFileStepCreationOptions view_file_step_creation_options = 2; + .exa.cortex_pb.ViewedFileTrackerConfig viewed_file_tracker_config = 3; + repeated .exa.cortex_pb.CortexStepType step_type_allow_list = 4; + .exa.cortex_pb.UserGrepStepCreationOptions user_grep_step_creation_options = 5; + .exa.cortex_pb.RunCommandStepCreationOptions run_command_step_creation_options = 6; + .exa.cortex_pb.LintDiffStepCreationOptions lint_diff_step_creation_options = 7; + .exa.cortex_pb.BrainUpdateStepCreationOptions brain_update_step_creation_options = 8; +} + +message CustomToolSpec { + string recipe_id = 1; + .exa.chat_pb.ChatToolDefinition tool_definition = 2; + string system_prompt = 3; + .exa.cortex_pb.CascadeConfig config_override = 4; + .exa.cortex_pb.CortexTrajectory reference_trajectory = 5; + bool requires_write_mode = 6; + bool is_builtin = 7; +} + +message CortexStepCustomTool { + string recipe_id = 1; + string arguments_json = 2; + string output = 3; + string recipe_name = 4; +} + +message CortexStepAutoCascadeBroadcast { + string message = 1; +} + +message CortexStepPostPrReview { + string body = 1; + string commit_id = 2; + string path = 3; + string side = 4; + int32 start_line = 5; + int32 end_line = 6; + string category = 7; +} + +message McpServerSpec { + message EnvEntry { + string key = 1; + string value = 2; + } + + message HeadersEntry { + string key = 1; + string value = 2; + } + + string server_name = 1; + string command = 2; + repeated string args = 3; + repeated .exa.cortex_pb.McpServerSpec.EnvEntry env = 4; + uint32 server_index = 5; + string server_url = 6; + bool disabled = 7; + repeated string disabled_tools = 8; + repeated .exa.cortex_pb.McpServerSpec.HeadersEntry headers = 9; + .exa.cortex_pb.McpOAuthConfig oauth = 10; +} + +message McpOAuthConfig { + string client_id = 1; + repeated string scopes = 2; +} + +message McpServerInfo { + string name = 1; + string version = 2; +} + +message CortexStepMcpTool { + string server_name = 1; + .exa.codeium_common_pb.ChatToolCall tool_call = 2; + .exa.cortex_pb.McpServerInfo server_info = 4; + string result_string = 3; + repeated .exa.codeium_common_pb.ImageData images = 5; +} + +message McpResource { + string uri = 1; + string name = 2; + string description = 3; + string mime_type = 4; +} + +message McpResourceContent { + string uri = 1; + oneof data { + .exa.codeium_common_pb.TextData text = 2; + .exa.codeium_common_pb.ImageData image = 3; + } +} + +message McpPromptArgument { + string name = 1; + string description = 2; + bool required = 3; +} + +message McpPrompt { + string name = 1; + string description = 2; + repeated .exa.cortex_pb.McpPromptArgument arguments = 3; +} + +message CortexStepListResources { + string server_name = 1; + repeated .exa.cortex_pb.McpResource resources = 3; + string next_cursor = 4; + optional string cursor = 2; +} + +message CortexStepReadResource { + string server_name = 1; + string uri = 2; + repeated .exa.cortex_pb.McpResourceContent contents = 3; + bool skipped_non_image_binary_content = 4; +} + +message CortexStepArtifactSummary { + string summary = 1; +} + +message CortexStepManagerFeedback { + .exa.cortex_pb.CortexStepManagerFeedbackStatus status = 1; + string feedback = 2; +} + +message CortexStepToolCallProposal { + .exa.codeium_common_pb.ChatToolCall tool_call = 1; +} + +message CortexStepToolCallChoice { + repeated .exa.codeium_common_pb.ChatToolCall proposal_tool_calls = 1; + uint32 choice = 2; + string reason = 3; +} + +message CortexStepTrajectoryChoice { + repeated string proposal_trajectory_ids = 1; + int32 choice = 2; + string reason = 3; +} + +message CortexStepCreateRecipe { + .exa.cortex_pb.CustomToolSpec recipe = 1; + string reference_trajectory_id = 2; + repeated uint32 reference_step_indices = 3; +} + +message CortexStepProxyWebServer { + string target_url = 1; + string name = 2; + string proxy_url = 3; +} + +message McpServerState { + .exa.cortex_pb.McpServerSpec spec = 1; + .exa.cortex_pb.McpServerStatus status = 2; + string error = 3; + repeated .exa.chat_pb.ChatToolDefinition tools = 4; + repeated string tool_errors = 7; + .exa.cortex_pb.McpServerInfo server_info = 5; + string instructions = 6; + repeated .exa.cortex_pb.McpPrompt prompts = 8; +} + +message TrajectoryJudgeConfig { + int32 max_steps_to_judge = 1; +} + +message CortexStepViewFileOutline { + string absolute_path_uri = 1; + uint32 cci_offset = 2; + repeated .exa.codeium_common_pb.CodeContextItem ccis = 3; + repeated string outline_items = 9; + uint32 num_items_scanned = 10; + uint32 total_cci_count = 4; + uint32 num_lines = 5; + uint32 num_bytes = 6; + string contents = 7; + uint32 content_lines_truncated = 8; + string triggered_memories = 11; + string raw_content = 12; +} + +message CortexTodoListItem { + string id = 1; + string content = 2; + .exa.cortex_pb.CortexTodoListItemStatus status = 3; + .exa.cortex_pb.CortexTodoListItemPriority priority = 4; +} + +message CortexStepTodoList { + repeated .exa.cortex_pb.CortexTodoListItem todos = 1; + bool is_initial_creation = 2; +} + +message CortexStepCodeMap { + string code_map_json_content = 1; +} + +message CortexStepEditCodeMap { + string edit_json_content = 1; +} + +message EphemeralMessagesConfig { + uint32 num_steps = 2; + repeated .exa.cortex_pb.HeuristicPrompt heuristic_prompts = 3; + optional bool enabled = 1; +} + +message HeuristicPrompt { + string heuristic = 1; + string prompt = 2; +} + +message RevertMetadata { + reserved "revert_state"; + reserved 5; + repeated string reverted_uris = 4; +} + +message TrajectoryPrefixMetadata { + uint32 length = 1; + uint32 tokens = 2; + uint32 num_skipped = 3; + uint32 num_truncated = 4; +} + +message CortexStepFindAllReferences { + string absolute_uri = 1; + string symbol = 2; + uint32 line = 3; + uint32 occurrence_index = 4; + repeated .exa.codeium_common_pb.LspReference references = 5; +} + +message FindAllReferencesConfig { + optional bool enabled = 1; +} + +message CortexStepRunExtensionCode { + string code = 1; + string language = 2; + bool model_wants_auto_run = 6; + string user_facing_explanation = 7; + string output = 3; + bool user_rejected = 4; + .exa.cortex_pb.RunExtensionCodeAutoRunDecision auto_run_decision = 5; +} + +message RunExtensionCodeConfig { + reserved "auto_run"; + reserved 3; + optional bool enabled = 1; + optional bool only = 2; +} + +message CortexStepProposalFeedback { + .exa.cortex_pb.AcknowledgementType acknowledgement_type = 1; + uint32 target_step_index = 2; + oneof target { + .exa.cortex_pb.ReplacementChunk replacement_chunk = 3; + } +} + +message TrajectoryDescription { + oneof description { + string cascade_conversation_title = 1; + string mainline_branch_name = 2; + } +} + +message CortexStepTrajectorySearch { + string id = 1; + string query = 2; + .exa.cortex_pb.TrajectorySearchIdType id_type = 3; + repeated .exa.context_module_pb.CciWithSubrangeWithRetrievalMetadata chunks = 4; + .exa.cortex_pb.TrajectoryDescription trajectory_description = 5; + uint32 total_chunks = 6; +} + +message CortexStepReadTerminal { + string process_id = 1; + string name = 2; + string contents = 3; +} + +message HookCondition { + repeated .exa.cortex_pb.HookAgentAction agent_actions = 1; +} + +message CommandHookSpec { + string command = 1; + string working_directory = 2; + bool show_output = 3; +} + +message HookExecutionSpec { + oneof hook { + .exa.cortex_pb.CommandHookSpec command = 1; + } +} + +message CommandHookResult { + int32 exit_code = 1; + string stdout = 2; + string stderr = 3; +} + +message HookExecutionResult { + oneof result { + .exa.cortex_pb.CommandHookResult command = 1; + } +} + +message CascadeHook { + reserved 1; + reserved 2; + reserved 3; + reserved 4; + .exa.cortex_pb.HookExecutionSpec hook_spec = 5; + .exa.cortex_pb.HookCondition condition = 6; + repeated string workspace_dirs = 7; +} + +message HookExecutionDetail { + .exa.cortex_pb.HookExecutionSpec spec = 1; + .exa.cortex_pb.HookExecutionResult result = 2; +} + +message CortexStepDeepThink { + string exploration_document = 1; + string exploration_document_absolute_path_uri = 2; + string last_planner_response = 3; +} + +message TaskResolutionOpenPr { + string pr_title = 1; + string pr_body = 2; + string pr_url = 3; + bool existed_previously = 4; +} + +message TaskResolution { + oneof resolution { + .exa.cortex_pb.TaskResolutionOpenPr open_pr = 1; + } +} + +message CodeMapSuggestion { + string id = 1; + string prompt = 2; + repeated string starting_points = 3; + bool dismissed = 4; + optional string subtitle = 5; +} + +message CortexStepSuggestCodemap { + repeated .exa.cortex_pb.CodeMapSuggestion suggestions = 1; +} + +message LifeguardBug { + string id = 1; + string file = 2; + int32 start = 3; + int32 end = 4; + string title = 5; + string description = 6; + string severity = 7; + string resolution = 8; + optional string fix_old_str = 9; + optional string fix_new_str = 10; +} + +message CortexStepReportBugs { + repeated .exa.cortex_pb.LifeguardBug bugs = 1; +} + +message UpsertCodemapOutput { + string id = 1; + string title = 2; + string codemap_json = 3; + optional string description = 4; +} + +message CortexStepUpsertCodemap { + string prompt = 1; + repeated string starting_points = 2; + bool blocking = 3; + bool user_rejected = 6; + optional string editing_codemap_id = 4; + optional string editing_codemap_title = 5; + optional .exa.cortex_pb.UpsertCodemapOutput output = 7; + optional .exa.cortex_pb.UpsertCodemapRunningStatus running_status = 8; +} + +message UpsertCodemapRunningStatus { + int32 step = 1; + optional string step_status = 2; +} + +message CortexStepResolveTask { + string absolute_uri = 1; + string title = 2; + string description = 3; + bool user_rejected = 4; + .exa.cortex_pb.TaskResolution resolution = 5; +} + +message CortexStepExitPlanMode { + bool user_requested = 2; + optional string plan_file = 1; +} + +message CortexStepSkill { + string skill_name = 1; + string description = 2; + string path = 3; + int32 resource_count = 4; + string base_dir = 5; + string content = 6; +} + +enum ActionStatus { + ACTION_STATUS_UNSPECIFIED = 0; + ACTION_STATUS_ERROR = 1; + ACTION_STATUS_INITIALIZED = 2; + ACTION_STATUS_PREPARING = 3; + ACTION_STATUS_PREPARED = 4; + ACTION_STATUS_APPLYING = 5; + ACTION_STATUS_APPLIED = 6; + ACTION_STATUS_REJECTED = 7; +} + +enum PlanStatus { + PLAN_STATUS_UNSPECIFIED = 0; + PLAN_STATUS_INITIALIZED = 1; + PLAN_STATUS_PLANNING = 2; + PLAN_STATUS_PLANNED = 3; + PLAN_STATUS_ERROR = 4; +} + +enum CortexRequestSource { + CORTEX_REQUEST_SOURCE_UNSPECIFIED = 0; + CORTEX_REQUEST_SOURCE_CASCADE = 1; + CORTEX_REQUEST_SOURCE_USER_IMPLICIT = 2; +} + +enum CortexTrajectorySource { + CORTEX_TRAJECTORY_SOURCE_UNSPECIFIED = 0; + CORTEX_TRAJECTORY_SOURCE_CASCADE_CLIENT = 1; + CORTEX_TRAJECTORY_SOURCE_EXPLAIN_PROBLEM = 2; + CORTEX_TRAJECTORY_SOURCE_REFACTOR_FUNCTION = 3; + CORTEX_TRAJECTORY_SOURCE_EVAL = 4; + CORTEX_TRAJECTORY_SOURCE_EVAL_TASK = 5; + CORTEX_TRAJECTORY_SOURCE_ASYNC_PRR = 6; + CORTEX_TRAJECTORY_SOURCE_ASYNC_CF = 7; + CORTEX_TRAJECTORY_SOURCE_ASYNC_SL = 8; + CORTEX_TRAJECTORY_SOURCE_ASYNC_PRD = 9; + CORTEX_TRAJECTORY_SOURCE_ASYNC_CM = 10; + CORTEX_TRAJECTORY_SOURCE_PASSIVE_CODER = 11; + CORTEX_TRAJECTORY_SOURCE_CODE_MAP = 13; + CORTEX_TRAJECTORY_SOURCE_LIFEGUARD = 15; +} + +enum CortexTrajectoryType { + CORTEX_TRAJECTORY_TYPE_UNSPECIFIED = 0; + CORTEX_TRAJECTORY_TYPE_USER_MAINLINE = 1; + CORTEX_TRAJECTORY_TYPE_USER_GRANULAR = 2; + CORTEX_TRAJECTORY_TYPE_SUPERCOMPLETE = 3; + CORTEX_TRAJECTORY_TYPE_CASCADE = 4; + CORTEX_TRAJECTORY_TYPE_BACKGROUND_RESEARCH = 5; + CORTEX_TRAJECTORY_TYPE_CHECKPOINT = 6; + CORTEX_TRAJECTORY_TYPE_RETRIEVE_MEMORY = 7; + CORTEX_TRAJECTORY_TYPE_CUSTOM_TOOL = 8; + CORTEX_TRAJECTORY_TYPE_AUTO_CASCADE = 9; + CORTEX_TRAJECTORY_TYPE_AUTO_CASCADE_MANAGER = 10; + CORTEX_TRAJECTORY_TYPE_APPLIER = 11; + CORTEX_TRAJECTORY_TYPE_TOOL_CALL_PROPOSAL = 12; + CORTEX_TRAJECTORY_TYPE_TRAJECTORY_CHOICE = 13; + CORTEX_TRAJECTORY_TYPE_LLM_JUDGE = 14; + CORTEX_TRAJECTORY_TYPE_ARTIFACT_SUMMARY = 19; + CORTEX_TRAJECTORY_TYPE_PASSIVE_CODER = 15; + CORTEX_TRAJECTORY_TYPE_INTERACTIVE_CASCADE = 17; + CORTEX_TRAJECTORY_TYPE_BRAIN_UPDATE = 16; +} + +enum CortexStepSource { + CORTEX_STEP_SOURCE_UNSPECIFIED = 0; + CORTEX_STEP_SOURCE_MANUAL = 1; + CORTEX_STEP_SOURCE_MODEL = 2; + CORTEX_STEP_SOURCE_USER_IMPLICIT = 3; + CORTEX_STEP_SOURCE_USER_EXPLICIT = 4; + CORTEX_STEP_SOURCE_SYSTEM = 5; +} + +enum CortexStepCreditReason { + CORTEX_STEP_CREDIT_REASON_UNSPECIFIED = 0; + CORTEX_STEP_CREDIT_REASON_LINT_FIXING_DISCOUNT = 1; +} + +enum ExecutionAsyncLevel { + EXECUTION_ASYNC_LEVEL_UNSPECIFIED = 0; + EXECUTION_ASYNC_LEVEL_INVOCATION_BLOCKING = 1; + EXECUTION_ASYNC_LEVEL_EXECUTOR_BLOCKING = 2; + EXECUTION_ASYNC_LEVEL_FULL_ASYNC = 3; +} + +enum CortexStepStatus { + CORTEX_STEP_STATUS_UNSPECIFIED = 0; + CORTEX_STEP_STATUS_GENERATING = 8; + CORTEX_STEP_STATUS_HALTED = 10; + CORTEX_STEP_STATUS_PENDING = 1; + CORTEX_STEP_STATUS_RUNNING = 2; + CORTEX_STEP_STATUS_WAITING = 9; + CORTEX_STEP_STATUS_DONE = 3; + CORTEX_STEP_STATUS_INVALID = 4; + CORTEX_STEP_STATUS_CLEARED = 5; + CORTEX_STEP_STATUS_CANCELED = 6; + CORTEX_STEP_STATUS_ERROR = 7; + CORTEX_STEP_STATUS_SKIPPING = 11; +} + +enum CascadeRunStatus { + CASCADE_RUN_STATUS_UNSPECIFIED = 0; + CASCADE_RUN_STATUS_IDLE = 1; + CASCADE_RUN_STATUS_RUNNING = 2; + CASCADE_RUN_STATUS_CANCELING = 3; + CASCADE_RUN_STATUS_BUSY = 4; +} + +enum BrainFilterStrategy { + BRAIN_FILTER_STRATEGY_UNSPECIFIED = 0; + BRAIN_FILTER_STRATEGY_NO_SYSTEM_INJECTED_STEPS = 1; + BRAIN_FILTER_STRATEGY_NO_MEMORIES = 2; +} + +enum SectionOverrideMode { + SECTION_OVERRIDE_MODE_UNSPECIFIED = 0; + SECTION_OVERRIDE_MODE_OVERRIDE = 1; + SECTION_OVERRIDE_MODE_APPEND = 2; + SECTION_OVERRIDE_MODE_PREPEND = 3; +} + +enum AgenticMixin { + AGENTIC_MIXIN_UNSPECIFIED = 0; + AGENTIC_MIXIN_SMARTLINT = 1; + AGENTIC_MIXIN_PR_REVIEW = 2; +} + +enum CascadeAgentToolSet { + CASCADE_AGENT_TOOL_SET_UNSPECIFIED = 0; + CASCADE_AGENT_TOOL_SET_ONLY_COMMAND = 1; + CASCADE_AGENT_TOOL_SET_COMMAND_AND_EDITS = 2; + CASCADE_AGENT_TOOL_SET_NO_SEARCH = 3; +} + +enum ReplaceToolVariant { + REPLACE_TOOL_VARIANT_UNSPECIFIED = 0; + REPLACE_TOOL_VARIANT_REPLACEMENT_CHUNK = 1; + REPLACE_TOOL_VARIANT_SEARCH_REPLACE = 2; + REPLACE_TOOL_VARIANT_APPLY_PATCH = 3; + REPLACE_TOOL_VARIANT_SINGLE_MULTI = 4; + REPLACE_TOOL_VARIANT_OPENAI_APPLY_PATCH = 5; +} + +enum PassiveCoderRequestSource { + PASSIVE_CODER_REQUEST_SOURCE_UNSPECIFIED = 0; + PASSIVE_CODER_REQUEST_SOURCE_AFTER_RUN_COMMAND = 1; +} + +enum RunCommandAction { + RUN_COMMAND_ACTION_UNSPECIFIED = 0; + RUN_COMMAND_ACTION_CONFIRM = 1; + RUN_COMMAND_ACTION_REJECT = 2; + RUN_COMMAND_ACTION_SKIP = 3; +} + +enum ReadUrlContentAction { + READ_URL_CONTENT_ACTION_UNSPECIFIED = 0; + READ_URL_CONTENT_ACTION_ALLOW_ONCE = 1; + READ_URL_CONTENT_ACTION_REJECT = 2; + READ_URL_CONTENT_ACTION_ALWAYS_ALLOW_ORIGIN = 3; +} + +enum CortexStepType { + CORTEX_STEP_TYPE_UNSPECIFIED = 0; + CORTEX_STEP_TYPE_DUMMY = 1; + CORTEX_STEP_TYPE_FINISH = 2; + CORTEX_STEP_TYPE_PLAN_INPUT = 3; + CORTEX_STEP_TYPE_MQUERY = 4; + CORTEX_STEP_TYPE_CODE_ACTION = 5; + CORTEX_STEP_TYPE_GIT_COMMIT = 6; + CORTEX_STEP_TYPE_GREP_SEARCH = 7; + CORTEX_STEP_TYPE_VIEW_FILE = 8; + CORTEX_STEP_TYPE_LIST_DIRECTORY = 9; + CORTEX_STEP_TYPE_COMPILE = 10; + CORTEX_STEP_TYPE_INFORM = 11; + CORTEX_STEP_TYPE_FILE_BREAKDOWN = 12; + CORTEX_STEP_TYPE_VIEW_CODE_ITEM = 13; + CORTEX_STEP_TYPE_USER_INPUT = 14; + CORTEX_STEP_TYPE_PLANNER_RESPONSE = 15; + CORTEX_STEP_TYPE_WRITE_TO_FILE = 16; + CORTEX_STEP_TYPE_ERROR_MESSAGE = 17; + CORTEX_STEP_TYPE_CLUSTER_QUERY = 18; + CORTEX_STEP_TYPE_LIST_CLUSTERS = 19; + CORTEX_STEP_TYPE_INSPECT_CLUSTER = 20; + CORTEX_STEP_TYPE_RUN_COMMAND = 21; + CORTEX_STEP_TYPE_RELATED_FILES = 22; + CORTEX_STEP_TYPE_CHECKPOINT = 23; + CORTEX_STEP_TYPE_PROPOSE_CODE = 24; + CORTEX_STEP_TYPE_FIND = 25; + CORTEX_STEP_TYPE_SEARCH_KNOWLEDGE_BASE = 26; + CORTEX_STEP_TYPE_SUGGESTED_RESPONSES = 27; + CORTEX_STEP_TYPE_COMMAND_STATUS = 28; + CORTEX_STEP_TYPE_MEMORY = 29; + CORTEX_STEP_TYPE_LOOKUP_KNOWLEDGE_BASE = 30; + CORTEX_STEP_TYPE_READ_URL_CONTENT = 31; + CORTEX_STEP_TYPE_VIEW_CONTENT_CHUNK = 32; + CORTEX_STEP_TYPE_SEARCH_WEB = 33; + CORTEX_STEP_TYPE_RETRIEVE_MEMORY = 34; + CORTEX_STEP_TYPE_AUTO_CASCADE_BROADCAST = 35; + CORTEX_STEP_TYPE_CUSTOM_TOOL = 36; + CORTEX_STEP_TYPE_CREATE_RECIPE = 37; + CORTEX_STEP_TYPE_MCP_TOOL = 38; + CORTEX_STEP_TYPE_MANAGER_FEEDBACK = 39; + CORTEX_STEP_TYPE_TOOL_CALL_PROPOSAL = 40; + CORTEX_STEP_TYPE_TOOL_CALL_CHOICE = 41; + CORTEX_STEP_TYPE_TRAJECTORY_CHOICE = 42; + CORTEX_STEP_TYPE_PROXY_WEB_SERVER = 43; + CORTEX_STEP_TYPE_DEPLOY_WEB_APP = 44; + CORTEX_STEP_TYPE_CLIPBOARD = 45; + CORTEX_STEP_TYPE_READ_DEPLOYMENT_CONFIG = 46; + CORTEX_STEP_TYPE_VIEW_FILE_OUTLINE = 47; + CORTEX_STEP_TYPE_CHECK_DEPLOY_STATUS = 48; + CORTEX_STEP_TYPE_POST_PR_REVIEW = 49; + CORTEX_STEP_TYPE_READ_KNOWLEDGE_BASE_ITEM = 50; + CORTEX_STEP_TYPE_LIST_RESOURCES = 51; + CORTEX_STEP_TYPE_READ_RESOURCE = 52; + CORTEX_STEP_TYPE_LINT_DIFF = 53; + CORTEX_STEP_TYPE_FIND_ALL_REFERENCES = 54; + CORTEX_STEP_TYPE_BRAIN_UPDATE = 55; + CORTEX_STEP_TYPE_RUN_EXTENSION_CODE = 57; + CORTEX_STEP_TYPE_ADD_ANNOTATION = 58; + CORTEX_STEP_TYPE_PROPOSAL_FEEDBACK = 59; + CORTEX_STEP_TYPE_TRAJECTORY_SEARCH = 60; + CORTEX_STEP_TYPE_READ_TERMINAL = 65; + CORTEX_STEP_TYPE_GET_DOM_TREE = 68; + CORTEX_STEP_TYPE_ARTIFACT_SUMMARY = 71; + CORTEX_STEP_TYPE_RESOLVE_TASK = 72; + CORTEX_STEP_TYPE_TODO_LIST = 73; + CORTEX_STEP_TYPE_BLOCKING = 74; + CORTEX_STEP_TYPE_EXPLORE_RESPONSE = 80; + CORTEX_STEP_TYPE_READ_NOTEBOOK = 82; + CORTEX_STEP_TYPE_EDIT_NOTEBOOK = 83; + CORTEX_STEP_TYPE_SUPERCOMPLETE_ACTIVE_DOC = 86; + CORTEX_STEP_TYPE_FIND_CODE_CONTEXT = 87; + CORTEX_STEP_TYPE_SUPERCOMPLETE_FEEDBACK = 89; + CORTEX_STEP_TYPE_LINT_FIX_MESSAGE = 90; + CORTEX_STEP_TYPE_GREP_SEARCH_V2 = 91; + CORTEX_STEP_TYPE_UPSERT_CODEMAP = 92; + CORTEX_STEP_TYPE_SUGGEST_CODEMAP = 93; + CORTEX_STEP_TYPE_SMART_FRIEND = 94; + CORTEX_STEP_TYPE_DO_TESTING = 95; + CORTEX_STEP_TYPE_REPORT_BUGS = 97; + CORTEX_STEP_TYPE_EXIT_PLAN_MODE = 99; + CORTEX_STEP_TYPE_ASK_USER_QUESTION = 100; + CORTEX_STEP_TYPE_SKILL = 101; + CORTEX_STEP_TYPE_SUPERCOMPLETE_EPHEMERAL_FEEDBACK = 102; + CORTEX_STEP_TYPE_ARENA_TRAJECTORY_CONVERGE = 103; +} + +enum SemanticCodebaseSearchType { + SEMANTIC_CODEBASE_SEARCH_TYPE_UNSPECIFIED = 0; + SEMANTIC_CODEBASE_SEARCH_TYPE_MQUERY = 1; + SEMANTIC_CODEBASE_SEARCH_TYPE_VECTOR_INDEX = 2; +} + +enum AcknowledgementType { + ACKNOWLEDGEMENT_TYPE_UNSPECIFIED = 0; + ACKNOWLEDGEMENT_TYPE_ACCEPT = 1; + ACKNOWLEDGEMENT_TYPE_REJECT = 2; +} + +enum CodeHeuristicFailure { + CODE_HEURISTIC_FAILURE_UNSPECIFIED = 0; + CODE_HEURISTIC_FAILURE_LAZY_COMMENT = 1; + CODE_HEURISTIC_FAILURE_DELETED_LINES = 2; +} + +enum InformPlannerMode { + INFORM_PLANNER_MODE_UNSPECIFIED = 0; + INFORM_PLANNER_MODE_CCIS = 1; + INFORM_PLANNER_MODE_DIRECTORY_TREE = 2; + INFORM_PLANNER_MODE_CLUSTERS = 3; +} + +enum FindResultType { + FIND_RESULT_TYPE_UNSPECIFIED = 0; + FIND_RESULT_TYPE_FILE = 1; + FIND_RESULT_TYPE_DIRECTORY = 2; + FIND_RESULT_TYPE_ANY = 3; +} + +enum CortexStepCompileTool { + CORTEX_STEP_COMPILE_TOOL_UNSPECIFIED = 0; + CORTEX_STEP_COMPILE_TOOL_PYLINT = 1; +} + +enum AutoRunDecision { + AUTO_RUN_DECISION_UNSPECIFIED = 0; + AUTO_RUN_DECISION_USER_ALLOW = 1; + AUTO_RUN_DECISION_USER_DENY = 2; + AUTO_RUN_DECISION_SYSTEM_ALLOW = 3; + AUTO_RUN_DECISION_SYSTEM_DENY = 4; + AUTO_RUN_DECISION_MODEL_ALLOW = 5; + AUTO_RUN_DECISION_MODEL_DENY = 6; + AUTO_RUN_DECISION_DEFAULT_ALLOW = 7; + AUTO_RUN_DECISION_DEFAULT_DENY = 8; + AUTO_RUN_DECISION_USER_SKIP = 9; +} + +enum DeployWebAppFileUploadStatus { + DEPLOY_WEB_APP_FILE_UPLOAD_STATUS_UNSPECIFIED = 0; + DEPLOY_WEB_APP_FILE_UPLOAD_STATUS_PENDING = 1; + DEPLOY_WEB_APP_FILE_UPLOAD_STATUS_IN_PROGRESS = 2; + DEPLOY_WEB_APP_FILE_UPLOAD_STATUS_SUCCESS = 3; + DEPLOY_WEB_APP_FILE_UPLOAD_STATUS_FAILURE = 4; +} + +enum ExecutorTerminationReason { + EXECUTOR_TERMINATION_REASON_UNSPECIFIED = 0; + EXECUTOR_TERMINATION_REASON_ERROR = 1; + EXECUTOR_TERMINATION_REASON_USER_CANCELED = 2; + EXECUTOR_TERMINATION_REASON_MAX_INVOCATIONS = 3; + EXECUTOR_TERMINATION_REASON_NO_TOOL_CALL = 4; + EXECUTOR_TERMINATION_REASON_HALTED_STEP = 5; + EXECUTOR_TERMINATION_REASON_HOOK_BLOCKED = 6; + EXECUTOR_TERMINATION_REASON_ARENA_INVOCATION_CAP = 7; +} + +enum LintDiffType { + LINT_DIFF_TYPE_UNSPECIFIED = 0; + LINT_DIFF_TYPE_DELETE = 1; + LINT_DIFF_TYPE_INSERT = 2; + LINT_DIFF_TYPE_UNCHANGED = 3; +} + +enum BrainEntryType { + BRAIN_ENTRY_TYPE_UNSPECIFIED = 0; + BRAIN_ENTRY_TYPE_PLAN = 1; + BRAIN_ENTRY_TYPE_TASK = 2; +} + +enum TaskStatus { + TASK_STATUS_UNSPECIFIED = 0; + TASK_STATUS_TODO = 1; + TASK_STATUS_IN_PROGRESS = 2; + TASK_STATUS_DONE = 3; +} + +enum TaskDeltaType { + TASK_DELTA_TYPE_UNSPECIFIED = 0; + TASK_DELTA_TYPE_ADD = 1; + TASK_DELTA_TYPE_PRUNE = 2; + TASK_DELTA_TYPE_DELETE = 3; + TASK_DELTA_TYPE_UPDATE = 4; + TASK_DELTA_TYPE_MOVE = 5; +} + +enum BrainUpdateTrigger { + BRAIN_UPDATE_TRIGGER_UNSPECIFIED = 0; + BRAIN_UPDATE_TRIGGER_SYSTEM_FORCED = 1; + BRAIN_UPDATE_TRIGGER_USER_REQUESTED = 2; + BRAIN_UPDATE_TRIGGER_USER_NEW_INFO = 3; + BRAIN_UPDATE_TRIGGER_RESEARCH_NEW_INFO = 4; +} + +enum CommandOutputPriority { + COMMAND_OUTPUT_PRIORITY_UNSPECIFIED = 0; + COMMAND_OUTPUT_PRIORITY_TOP = 1; + COMMAND_OUTPUT_PRIORITY_BOTTOM = 2; + COMMAND_OUTPUT_PRIORITY_SPLIT = 3; +} + +enum CortexMemorySource { + CORTEX_MEMORY_SOURCE_UNSPECIFIED = 0; + CORTEX_MEMORY_SOURCE_USER = 1; + CORTEX_MEMORY_SOURCE_CASCADE = 2; + CORTEX_MEMORY_SOURCE_AUTO_CASCADE = 3; +} + +enum CortexMemoryTrigger { + CORTEX_MEMORY_TRIGGER_UNSPECIFIED = 0; + CORTEX_MEMORY_TRIGGER_ALWAYS_ON = 1; + CORTEX_MEMORY_TRIGGER_MODEL_DECISION = 2; + CORTEX_MEMORY_TRIGGER_MANUAL = 3; + CORTEX_MEMORY_TRIGGER_GLOB = 4; +} + +enum RuleSource { + RULE_SOURCE_UNSPECIFIED = 0; + RULE_SOURCE_WORKSPACE = 1; + RULE_SOURCE_SYSTEM = 2; +} + +enum MemoryActionType { + MEMORY_ACTION_TYPE_UNSPECIFIED = 0; + MEMORY_ACTION_TYPE_CREATE = 1; + MEMORY_ACTION_TYPE_UPDATE = 2; + MEMORY_ACTION_TYPE_DELETE = 3; +} + +enum CortexStepManagerFeedbackStatus { + CORTEX_STEP_MANAGER_FEEDBACK_STATUS_UNSPECIFIED = 0; + CORTEX_STEP_MANAGER_FEEDBACK_STATUS_APPROVED = 1; + CORTEX_STEP_MANAGER_FEEDBACK_STATUS_DENIED = 2; + CORTEX_STEP_MANAGER_FEEDBACK_STATUS_ERROR = 3; +} + +enum McpServerStatus { + MCP_SERVER_STATUS_UNSPECIFIED = 0; + MCP_SERVER_STATUS_PENDING = 1; + MCP_SERVER_STATUS_READY = 2; + MCP_SERVER_STATUS_ERROR = 3; + MCP_SERVER_STATUS_NEEDS_OAUTH = 4; +} + +enum CortexTodoListItemStatus { + CORTEX_TODO_LIST_ITEM_STATUS_UNSPECIFIED = 0; + CORTEX_TODO_LIST_ITEM_STATUS_PENDING = 1; + CORTEX_TODO_LIST_ITEM_STATUS_IN_PROGRESS = 2; + CORTEX_TODO_LIST_ITEM_STATUS_COMPLETED = 3; +} + +enum CortexTodoListItemPriority { + CORTEX_TODO_LIST_ITEM_PRIORITY_UNSPECIFIED = 0; + CORTEX_TODO_LIST_ITEM_PRIORITY_LOW = 1; + CORTEX_TODO_LIST_ITEM_PRIORITY_MEDIUM = 2; + CORTEX_TODO_LIST_ITEM_PRIORITY_HIGH = 3; +} + +enum TrajectoryShareStatus { + TRAJECTORY_SHARE_STATUS_UNSPECIFIED = 0; + TRAJECTORY_SHARE_STATUS_TEAM = 1; +} + +enum RunExtensionCodeAutoRunDecision { + RUN_EXTENSION_CODE_AUTO_RUN_DECISION_UNSPECIFIED = 0; + RUN_EXTENSION_CODE_AUTO_RUN_DECISION_ALLOWED = 1; + RUN_EXTENSION_CODE_AUTO_RUN_DECISION_DENIED = 2; + RUN_EXTENSION_CODE_AUTO_RUN_DECISION_MODEL_ALLOWED = 3; + RUN_EXTENSION_CODE_AUTO_RUN_DECISION_MODEL_DENIED = 4; +} + +enum TrajectorySearchIdType { + TRAJECTORY_SEARCH_ID_TYPE_UNSPECIFIED = 0; + TRAJECTORY_SEARCH_ID_TYPE_CASCADE_ID = 1; + TRAJECTORY_SEARCH_ID_TYPE_MAINLINE = 2; +} + +enum HookAgentAction { + HOOK_AGENT_ACTION_UNSPECIFIED = 0; + HOOK_AGENT_ACTION_PRE_READ_CODE = 1; + HOOK_AGENT_ACTION_POST_READ_CODE = 2; + HOOK_AGENT_ACTION_PRE_WRITE_CODE = 3; + HOOK_AGENT_ACTION_POST_WRITE_CODE = 4; + HOOK_AGENT_ACTION_PRE_MCP_TOOL_USE = 5; + HOOK_AGENT_ACTION_POST_MCP_TOOL_USE = 6; + HOOK_AGENT_ACTION_PRE_RUN_COMMAND = 7; + HOOK_AGENT_ACTION_POST_RUN_COMMAND = 8; + HOOK_AGENT_ACTION_PRE_USER_PROMPT = 9; + HOOK_AGENT_ACTION_POST_CASCADE_RESPONSE = 10; + HOOK_AGENT_ACTION_POST_SETUP_WORKTREE = 11; +} + diff --git a/lsp_protos/exa/dev_pb/dev.proto b/lsp_protos/exa/dev_pb/dev.proto new file mode 100755 index 0000000..2eee0bf --- /dev/null +++ b/lsp_protos/exa/dev_pb/dev.proto @@ -0,0 +1,29 @@ +syntax = "proto3"; + +package exa.dev_pb; + +option go_package = "github.com/Exafunction/Exafunction/exa/dev_pb"; + +import "exa/codeium_common_pb/codeium_common.proto"; + +service DevService { + rpc Dev (.exa.dev_pb.DevRequest) returns (.exa.dev_pb.DevResponse) {} + rpc GetLSPCompletionItems (.exa.dev_pb.GetLSPCompletionItemsRequest) returns (.exa.dev_pb.GetLSPCompletionItemsResponse) {} +} + +message DevRequest { + string command = 1; +} + +message DevResponse { +} + +message GetLSPCompletionItemsRequest { + string document_uri = 1; + .exa.codeium_common_pb.DocumentPosition position = 2; +} + +message GetLSPCompletionItemsResponse { + string completion_items_json = 1; +} + diff --git a/lsp_protos/exa/diff_action_pb/diff_action.proto b/lsp_protos/exa/diff_action_pb/diff_action.proto new file mode 100755 index 0000000..61be3b6 --- /dev/null +++ b/lsp_protos/exa/diff_action_pb/diff_action.proto @@ -0,0 +1,75 @@ +syntax = "proto3"; + +package exa.diff_action_pb; + +option go_package = "github.com/Exafunction/Exafunction/exa/diff_action_pb"; + +import "exa/codeium_common_pb/codeium_common.proto"; + +message UnifiedDiff { + message UnifiedDiffLine { + string text = 1; + .exa.diff_action_pb.UnifiedDiffLineType type = 2; + } + + repeated .exa.diff_action_pb.UnifiedDiff.UnifiedDiffLine lines = 3; +} + +message DiffBlock { + int32 start_line = 1; + int32 end_line = 2; + .exa.diff_action_pb.UnifiedDiff unified_diff = 3; + .exa.codeium_common_pb.Language from_language = 4; + .exa.codeium_common_pb.Language to_language = 5; +} + +message CharacterDiffChange { + string text = 1; + .exa.diff_action_pb.DiffChangeType type = 2; +} + +message CharacterDiff { + repeated .exa.diff_action_pb.CharacterDiffChange changes = 1; +} + +message ComboDiffLine { + string text = 1; + .exa.diff_action_pb.DiffChangeType type = 2; + .exa.diff_action_pb.CharacterDiff character_diff = 3; +} + +message ComboDiff { + repeated .exa.diff_action_pb.ComboDiffLine lines = 1; +} + +message DiffSet { + .exa.diff_action_pb.UnifiedDiff unified_diff = 1; + .exa.diff_action_pb.CharacterDiff character_diff = 2; + .exa.diff_action_pb.ComboDiff combo_diff = 3; +} + +message DiffList { + repeated .exa.diff_action_pb.DiffBlock diffs = 2; +} + +enum UnifiedDiffLineType { + UNIFIED_DIFF_LINE_TYPE_UNSPECIFIED = 0; + UNIFIED_DIFF_LINE_TYPE_INSERT = 1; + UNIFIED_DIFF_LINE_TYPE_DELETE = 2; + UNIFIED_DIFF_LINE_TYPE_UNCHANGED = 3; +} + +enum DiffChangeType { + DIFF_CHANGE_TYPE_UNSPECIFIED = 0; + DIFF_CHANGE_TYPE_INSERT = 1; + DIFF_CHANGE_TYPE_DELETE = 2; + DIFF_CHANGE_TYPE_UNCHANGED = 3; +} + +enum DiffType { + DIFF_TYPE_UNSPECIFIED = 0; + DIFF_TYPE_UNIFIED = 1; + DIFF_TYPE_CHARACTER = 2; + DIFF_TYPE_COMBO = 3; +} + diff --git a/lsp_protos/exa/eval/pr_eval/datasets_pb/datasets.proto b/lsp_protos/exa/eval/pr_eval/datasets_pb/datasets.proto new file mode 100755 index 0000000..f590c69 --- /dev/null +++ b/lsp_protos/exa/eval/pr_eval/datasets_pb/datasets.proto @@ -0,0 +1,107 @@ +syntax = "proto3"; + +package exa.eval.pr_eval.datasets_pb; + +import "exa/cortex_pb/cortex.proto"; + +message MetricScoreContribution { + float weight = 2; + oneof score_source { + string metric_name = 1; + string existing_field_name = 3; + } +} + +message ScoreCalculationConfig { + repeated .exa.eval.pr_eval.datasets_pb.MetricScoreContribution metric_score_contributions = 1; +} + +message DetailStringFilter { + string detail_key = 1; + bool invert = 5; + oneof match_type { + string exact_match = 2; + string contains = 3; + string regex_pattern = 4; + } +} + +message MetricsRecordFilterRequest { + bool is_optional = 5; + repeated .exa.eval.pr_eval.datasets_pb.DetailStringFilter detail_filters = 6; + oneof score_source { + string record_name = 1; + string existing_field_name = 4; + } + optional float max_allowed = 2; + optional float min_allowed = 3; +} + +message FilterTrajectoryStageConfig { + reserved "min_score_threshold"; + reserved "generate_preference_pairs"; + reserved "min_win_rating"; + reserved "min_rating_delta"; + reserved "max_occurrences_per_example"; + reserved 1; + reserved 5; + reserved 6; + reserved 7; + reserved 8; + message SelectionModeBestScoreConfig { + float min_score_threshold = 1; + } + + message SelectionModeGeneratePairsConfig { + float min_win_rating = 1; + float min_rating_delta = 2; + float min_axis_delta = 4; + int32 max_occurrences_per_example = 3; + } + + message SelectionModeGTvsBestConfig { + float min_score_threshold = 1; + float min_rating_delta = 2; + } + + message SelectionModeKTOThresholdConfig { + float min_positive_score = 1; + float max_negative_score = 2; + } + + message SelectionModeModelNameConfig { + string winner_model_name = 1; + string loser_model_name = 2; + } + + string trajectory_field_name = 15; + repeated .exa.cortex_pb.CortexStepType required_step_types = 2; + int32 min_trajectory_length = 3; + bool retain_filtered_rows = 4; + bool truncate_trajectory_to_judge_steps = 9; + bool use_downloaded_score = 16; + .exa.eval.pr_eval.datasets_pb.ScoreCalculationConfig score_calculation_config = 13; + repeated .exa.eval.pr_eval.datasets_pb.MetricsRecordFilterRequest metrics_record_filters = 14; + oneof selection_mode { + .exa.eval.pr_eval.datasets_pb.FilterTrajectoryStageConfig.SelectionModeBestScoreConfig selection_mode_best_score = 10; + .exa.eval.pr_eval.datasets_pb.FilterTrajectoryStageConfig.SelectionModeGeneratePairsConfig selection_mode_generate_pairs = 11; + .exa.eval.pr_eval.datasets_pb.FilterTrajectoryStageConfig.SelectionModeGTvsBestConfig selection_mode_gt_vs_best = 12; + .exa.eval.pr_eval.datasets_pb.FilterTrajectoryStageConfig.SelectionModeKTOThresholdConfig selection_mode_kto_threshold = 17; + .exa.eval.pr_eval.datasets_pb.FilterTrajectoryStageConfig.SelectionModeModelNameConfig selection_mode_model_name = 18; + } +} + +message MergeFormattedPreferencePairsConfig { + enum MismatchedPromptResolution { + MISMATCHED_PROMPT_RESOLUTION_UNSPECIFIED = 0; + MISMATCHED_PROMPT_RESOLUTION_STRICT_MATCH = 1; + MISMATCHED_PROMPT_RESOLUTION_KEEP_WINNER = 2; + MISMATCHED_PROMPT_RESOLUTION_KEEP_LOSER = 3; + } + + .exa.eval.pr_eval.datasets_pb.MergeFormattedPreferencePairsConfig.MismatchedPromptResolution mismatched_prompt_resolution = 1; + int32 max_allowed_trailing_mismatched_steps = 2; + string expected_last_prompt_content = 3; + int32 world_size = 4; +} + diff --git a/lsp_protos/exa/eval_pb/eval.proto b/lsp_protos/exa/eval_pb/eval.proto new file mode 100755 index 0000000..c71ea4a --- /dev/null +++ b/lsp_protos/exa/eval_pb/eval.proto @@ -0,0 +1,1341 @@ +syntax = "proto3"; + +package exa.eval_pb; + +option go_package = "github.com/Exafunction/Exafunction/exa/eval_pb"; + +import "buf/validate/validate.proto"; +import "exa/api_server_pb/api_server.proto"; +import "exa/chat_pb/chat.proto"; +import "exa/codeium_common_pb/codeium_common.proto"; +import "exa/context_module_pb/context_module.proto"; +import "exa/cortex_pb/cortex.proto"; +import "exa/eval/pr_eval/datasets_pb/datasets.proto"; +import "exa/model_management_pb/model_management.proto"; +import "exa/trainer_pb/config.proto"; + +service EvalQueueService { + rpc EnqueueEvalTask (.exa.eval_pb.EnqueueEvalTaskRequest) returns (.exa.eval_pb.EnqueueEvalTaskResponse) {} + rpc DequeueEvalTask (.exa.eval_pb.DequeueEvalTaskRequest) returns (.exa.eval_pb.DequeueEvalTaskResponse) {} + rpc EnqueueEvalResult (.exa.eval_pb.EnqueueEvalResultRequest) returns (.exa.eval_pb.EnqueueEvalResultResponse) {} + rpc DequeueEvalResult (.exa.eval_pb.DequeueEvalResultRequest) returns (.exa.eval_pb.DequeueEvalResultResponse) {} + rpc ResetQueues (.exa.eval_pb.ResetQueuesRequest) returns (.exa.eval_pb.ResetQueuesResponse) {} +} + +message GeneratePromptsConfig { + string dataset = 1; + .exa.codeium_common_pb.Model new_model = 2; +} + +message GeneratedPrompt { + string system_prompt = 1; + repeated .exa.chat_pb.ChatMessagePrompt chat_message_prompts = 2; +} + +message SupercompleteLLMJudgeConfig { + .exa.codeium_common_pb.Model model = 1; + bool is_old_model = 2; +} + +message EvalConfig { + reserved "rejection_sampling_config"; + reserved "code_reasoning_eval_config"; + reserved 21; + reserved 25; + reserved 32; + .exa.codeium_common_pb.ModelInfo model_info = 27; + .exa.trainer_pb.QuantizationMethod ptq_method = 18; + .exa.trainer_pb.QuantizationMethod draft_ptq_method = 20; + string draft_model_path = 17; + .exa.eval_pb.EvalType eval_type = 2; + bool use_a100 = 3; + bool run_as_ci = 4; + uint32 resource_multiplier = 5; + uint32 func_level_concurrency = 6; + uint32 gpu_concurrency = 7; + uint32 repo_level_concurrency = 8; + uint32 limit_tests_per_repo = 9; + uint32 eval_result_n_threads = 10; + uint32 num_completions = 11; + uint32 max_context_length = 26; + string tokenizer_type = 12; + .exa.eval_pb.CompletionsEvalConfig completions_config = 13; + .exa.eval_pb.InferInputsEvalConfig infer_inputs_config = 14; + .exa.eval_pb.LLMJudgeEvalConfig llm_judge_config = 19; + string repo_list = 15; + string repo_tar_dir = 16; + bool run_captured_code_eval = 22; + uint32 context_length = 23; + bool filter_infer_data = 24; + .exa.codeium_common_pb.ExperimentConfig experiment_config = 28; + .exa.eval_pb.GenerateRequestsConfig generate_requests_config = 29; + oneof model_config { + string model_path = 1; + .exa.eval_pb.CustomModelConfig custom_model_config = 30; + string inference_server_url = 31; + } +} + +message PrepareTrainingDataConfig { + string dataset = 1; + .exa.codeium_common_pb.Model model = 2; + bool lead_in_only = 3; + float subsample_fraction = 4; +} + +message InferenceServerConfig { + string inference_server_url = 1; + int32 inference_server_concurrency = 2; +} + +message JudgePromptTemplateConfig { + enum JudgeCriteria { + JUDGE_CRITERIA_UNSPECIFIED = 0; + JUDGE_CRITERIA_DEFAULT = 1; + JUDGE_CRITERIA_MULTI_ATTRIBUTE = 2; + JUDGE_CRITERIA_MULTITURN = 3; + } + + enum GradingMode { + GRADING_MODE_UNSPECIFIED = 0; + GRADING_MODE_INDIVIDUAL = 1; + GRADING_MODE_CONCATENATED = 2; + } + + .exa.eval_pb.LLMJudgeEvalType eval_task_type = 1; + .exa.eval_pb.JudgePromptTemplateConfig.JudgeCriteria judge_criteria = 2; + int32 num_responses = 3; + bool withhold_ground_truth = 4; + .exa.eval_pb.JudgePromptTemplateConfig.GradingMode grading_mode = 5; + .exa.eval_pb.PromptFormat prompt_format = 6; +} + +message CompletionsEvalConfig { + reserved "draft_model_memory_fraction"; + reserved "target_model_memory_fraction"; + reserved 5; + reserved 6; + bool use_trainer_completions = 1; + uint32 max_generation_length = 2; + uint32 mp_shards = 3; + uint32 gamma = 4; + uint32 max_context_length = 7; + bool use_sglang = 11; + optional int64 chunked_prefill_length = 8; + optional int64 speculative_copy_length = 9; + optional int64 max_tokens_per_forward_pass = 10; +} + +message PromptExperimentConfig { + .exa.eval_pb.ExternalModelPromptFormat format = 1; + .exa.eval_pb.ContextItemOrder order = 2; +} + +message InferInputsEvalConfig { + repeated string force_enable_experiments = 1; + repeated string force_disable_experiments = 2; + bool prune_completion_succeeding_text = 3; + bool use_embeddings = 4; + bool use_oracle_context = 5; + bool use_inline_fim_middle_token = 6; + bool use_instruction_tokens = 7; + string completions_override_string = 8; + bool use_context_module = 9; + double temperature = 10; + double min_log_probability = 16; + uint32 max_generation_length = 17; + bool use_eom_token = 11; + .exa.eval_pb.PromptExperimentConfig prompt_experiment_config = 12; + uint32 max_local_context_tokens = 13; + repeated .exa.eval_pb.DeletionType deletion_types = 14; + uint32 max_inference_tokens = 15; + .exa.codeium_common_pb.ModelFeatures model_features = 18; +} + +message InputRepo { + string name = 1; + string owner = 2; + string commit = 3; + .exa.codeium_common_pb.Language language = 4; + repeated string extra_args = 5; +} + +message InputRepoList { + int32 version = 1; + string list_name = 2; + repeated .exa.eval_pb.InputRepo input_repos = 3; + int32 limit_tests_per_repo = 8; + int32 repo_level_concurrency = 4; + int32 func_level_concurrency = 5; + int32 gpu_concurrency = 6; + int32 eval_result_n_threads = 7; +} + +message FileReplacement { + string path = 1; + string replacement_content = 2; +} + +message EvalTask { + reserved 5; + reserved 6; + string repo = 1; + string repo_version = 2; + repeated .exa.eval_pb.FileReplacement file_replacements = 3; + repeated string targets = 4; + .exa.eval_pb.UniqueFuncDef unique_func_def = 17; + string run_id = 7; + string gcs_repo_tar_path = 8; + string parent_folder = 9; + string completion = 10; + string deletion = 19; + .exa.codeium_common_pb.Completion completion_proto = 16; + string completion_error = 15; + .exa.codeium_common_pb.Language language = 11; + string replaced_func_text = 12; + string parse_action_failure = 14; + string replacement_neighborhood = 13; +} + +message SourceLocation { + string file = 1; + int64 line = 2; + int64 col = 3; +} + +message LintResult { + string linter = 1; + .exa.eval_pb.SourceLocation loc = 2; + string code = 3; + string message = 4; +} + +message LintRun { + message ResultsEntry { + string key = 1; + .exa.eval_pb.LintResults value = 2; + } + + repeated string linters = 1; + repeated .exa.eval_pb.LintRun.ResultsEntry results = 2; +} + +message LintResults { + repeated .exa.eval_pb.LintResult results = 1; +} + +message UnitTestResult { + enum ResultType { + RESULT_TYPE_UNKNOWN = 0; + RESULT_TYPE_TEST_PASS = 1; + RESULT_TYPE_TEST_FAIL = 2; + RESULT_TYPE_COMPILE_ERROR = 3; + RESULT_TYPE_RUNTIME_ERROR = 4; + } + + string file = 1; + string classname = 2; + string name = 3; + bool success = 4; + string failure_message = 5; + .exa.eval_pb.UnitTestResult.ResultType result_type = 6; +} + +message EvalResult { + .exa.eval_pb.LintRun lint_run = 1; + repeated .exa.eval_pb.UnitTestResult unit_test_results = 2; + float relative_edit_distance = 7; + string tested_func_name = 3; + string tested_func_source_file = 4; + string run_id = 5; + bool deadline_exceeded = 6; +} + +message EnqueueEvalTaskRequest { + .exa.eval_pb.EvalTask task = 1; +} + +message EnqueueEvalTaskResponse { +} + +message DequeueEvalTaskRequest { +} + +message DequeueEvalTaskResponse { + .exa.eval_pb.EvalTask task = 1; +} + +message EnqueueEvalResultRequest { + .exa.eval_pb.EvalResult result = 1; +} + +message EnqueueEvalResultResponse { +} + +message ResetQueuesRequest { +} + +message ResetQueuesResponse { +} + +message DequeueEvalResultRequest { + string run_id = 1; +} + +message DequeueEvalResultResponse { + .exa.eval_pb.EvalResult result = 1; +} + +message DownloadedGitHubRepo { + string folder = 1; +} + +message GitHubRepo { + string owner = 1; + string repo_name = 2; + string commit = 3; +} + +message SourceFile { + .exa.eval_pb.GitHubRepo repo = 1; + string source_rel_path = 2; +} + +message TestFile { + .exa.eval_pb.GitHubRepo repo = 1; + string test_rel_path = 2; +} + +message UniqueFuncDef { + .exa.eval_pb.SourceFile source_file = 1; + string name = 2; + int32 def_start_line = 3; + int32 def_end_line = 4; + .exa.codeium_common_pb.Language language = 5; +} + +message UniqueTest { + .exa.eval_pb.TestFile test_file = 1; + string name = 2; +} + +message FuncTestCount { + .exa.eval_pb.UniqueFuncDef unique_func_def = 1; + .exa.eval_pb.UniqueTest unique_test = 2; + int64 count = 3; +} + +message FuncTestCounts { + repeated .exa.eval_pb.FuncTestCount func_test_counts = 1; +} + +message FuncTest { + .exa.eval_pb.UniqueFuncDef unique_func_def = 1; + .exa.eval_pb.UniqueTest unique_test = 2; +} + +message FuncTestScore { + .exa.eval_pb.FuncTest func_test = 1; + double score = 2; +} + +message FuncTestScores { + repeated .exa.eval_pb.FuncTestScore func_test_scores = 1; +} + +message PytestInfo { + message InitialResultsHistogramEntry { + string key = 1; + int32 value = 2; + } + + repeated .exa.eval_pb.UnitTestResult initial_results = 1; + repeated .exa.eval_pb.PytestInfo.InitialResultsHistogramEntry initial_results_histogram = 2; +} + +message FuncBodyLine { + .exa.eval_pb.UniqueFuncDef unique_func_def = 1; + repeated string body_lines = 2; +} + +message FuncBodyLines { + repeated .exa.eval_pb.FuncBodyLine func_body_lines = 1; +} + +message SplitDocument { + string prefix = 1; + repeated string lines = 2; + string suffix = 3; + string func_def_text = 4; +} + +message JudgePromptData { + reserved 3; + string prompt = 1; + string original_completion = 2; + repeated .exa.chat_pb.ChatMessagePrompt chat_message_prompts = 4; +} + +message ContextItemEvalData { + string snippet = 1; + string node_name = 2; + string file_path = 3; + string unique_key = 10; + repeated string node_lineage = 4; + .exa.codeium_common_pb.Language language = 5; + .exa.context_module_pb.RetrievedCodeContextItemMetadata retrieval_metadata = 6; + .exa.codeium_common_pb.PromptElementInclusionMetadata inclusion_metadata = 7; + bool node_name_in_deletion = 8; + bool node_name_in_source = 9; + bool is_matching_context_item = 12; + bool is_matching_considered_context_item = 13; +} + +message CompletionsRequestMetadata { + .exa.codeium_common_pb.CompletionConfiguration configuration = 1; +} + +message Deletion { + int32 deletion_start = 1; + int32 deletion_end = 2; + int32 deletion_start_char = 3; + int32 inline_fim_deletion_end_char = 8; + string trailing_whitespace = 13; +} + +message ContextualPromptData { + repeated .exa.codeium_common_pb.CodeContextItem oracle_items = 1; + .exa.codeium_common_pb.PromptComponents prompt_components = 2; + repeated .exa.context_module_pb.RetrievedCodeContextItemMetadata retrieval_metadatas = 3; +} + +message AutocompleteInferPromptComponents { + .exa.eval_pb.SplitDocument split_document = 1; + repeated .exa.eval_pb.InferDataTags tags = 2; + .exa.eval_pb.Deletion deletion = 3; + .exa.codeium_common_pb.Document document_position_wrapper = 4; + .exa.context_module_pb.ContextModuleResult context_module_result = 5; + .exa.eval_pb.CompletionsRequestMetadata completions_request_metadata = 6; + repeated .exa.eval_pb.ContextItemEvalData context_data = 7; + repeated .exa.eval_pb.ContextItemEvalData oracle_context_data = 8; + .exa.eval_pb.ContextualPromptData prompt_data = 9; + .exa.eval_pb.ContextualPromptData oracle_prompt_data = 10; +} + +message InstructionInferPromptComponents { + .exa.eval_pb.SplitDocument split_document = 1; + .exa.eval_pb.InstructionData instruction_data = 2; + repeated .exa.eval_pb.InferDataTags tags = 3; + .exa.eval_pb.Deletion deletion = 4; + .exa.codeium_common_pb.Document document_position_wrapper = 5; + .exa.context_module_pb.ContextModuleResult context_module_result = 6; +} + +message InferPromptComponents { + .exa.eval_pb.EvalType eval_type = 1; + .exa.eval_pb.AutocompleteInferPromptComponents autocomplete_components = 2; + .exa.eval_pb.InstructionInferPromptComponents instruction_components = 3; +} + +message InferData { + reserved 6; + .exa.eval_pb.SplitDocument split_document = 1; + .exa.codeium_common_pb.CompletionsRequest completions_request = 2; + .exa.api_server_pb.GetStreamingModelAPITextCompletionRequest get_streaming_model_api_text_completion_request = 19; + repeated .exa.eval_pb.ContextItemEvalData context_data = 14; + repeated .exa.eval_pb.ContextItemEvalData oracle_context_data = 15; + repeated .exa.eval_pb.InferDataTags tags = 9; + repeated string completions = 3; + repeated .exa.codeium_common_pb.Completion completion_protos = 12; + string completion_error = 11; + int32 deletion_start = 4; + int32 deletion_end = 5; + int32 deletion_start_char = 7; + int32 inline_fim_deletion_end_char = 8; + string trailing_whitespace = 13; + repeated .exa.chat_pb.ChatMessage chat_messages = 10; + string system_prompt = 17; + .exa.eval_pb.InstructionData instruction_data = 16; + repeated double log_probs = 18; + repeated .exa.cortex_pb.CortexTrajectory output_trajectories = 20; +} + +message RandomDeletionPolicy { + int32 max_lines_to_delete = 1; + bool delete_from_def_end = 2; + bool single_line_completion = 3; + bool inline_fim = 4; + bool only_full_lines = 5; +} + +message FullDeletionPolicy { +} + +message DeletionPolicy { + oneof policy { + .exa.eval_pb.RandomDeletionPolicy random = 1; + .exa.eval_pb.FullDeletionPolicy full = 2; + } +} + +message InferConfig { + .exa.codeium_common_pb.Language language = 1; + string override_with_custom_string = 2; + bool use_context_module = 3; + bool use_oracle_context = 9; + bool chat_eval = 4; + bool use_openai_prompt = 5; + .exa.eval_pb.PromptExperimentConfig prompt_experiment_config = 18; + .exa.eval_pb.EvalType eval_type = 12; + .exa.codeium_common_pb.ExperimentConfig experiment_config = 6; + bool prune_completion_succeeding_text = 7; + int32 max_inference_tokens = 8; + bool split_enc_dec_prompt = 13; + int32 max_encoder_tokens = 14; + bool use_inline_middle_token = 10; + bool use_eom_token = 11; + int32 max_local_context_tokens = 16; + repeated .exa.eval_pb.DeletionType deletion_types = 17; + .exa.codeium_common_pb.ModelFeatures model_features = 19; +} + +message InstructionData { + string instruction = 1; + .exa.eval_pb.InstructionType instruction_type = 2; + string edited_code = 3; +} + +message GroupRolloutsConfig { + string group_by_key = 1; +} + +message GenerateSplitsStageConfig { + float train_fraction = 1; + float test_fraction = 2; +} + +message TrajectoryToFormattedConversationConfig { + string prompt_format = 1; + repeated .exa.codeium_common_pb.Model allowed_model_ids = 2; + string trajectory_field_name = 3; + string input_trajectory_field_name = 4; + string skip_row_field_name = 5; + bool start_from_input_trajectory = 6; + int32 world_size = 7; + int32 max_token_limit = 8; + repeated .exa.cortex_pb.CortexStepType terminal_steps = 9; + repeated .exa.cortex_pb.CortexStepSource terminal_step_sources = 14; + string group_by_key = 10; + bool require_full_planner_response = 11; + bool require_full_input_trajectory = 12; + bool allow_negative_examples_with_errors = 13; + bool trim_loser_last_edit_tool_call_completion = 15; +} + +message RolloutDatasetConfig { + reserved 5; + reserved 10; + int32 world_size = 1; + int32 kubernetes_parallelism = 2; + string fork_stage_name = 3; + bool merge_preference_pairs = 8; + .exa.eval_pb.GroupRolloutsConfig group_rollouts_config = 4; + .exa.eval.pr_eval.datasets_pb.FilterTrajectoryStageConfig filter_trajectory_stage_config = 11; + .exa.eval_pb.GenerateSplitsStageConfig generate_splits_stage_config = 6; + .exa.eval_pb.TrajectoryToFormattedConversationConfig trajectory_to_formatted_conversation_config = 7; + .exa.eval_pb.RewriteTrajectoriesConfig rewrite_trajectories_config = 9; + .exa.eval.pr_eval.datasets_pb.MergeFormattedPreferencePairsConfig merge_formatted_preference_pairs_config = 12; +} + +message RewriteTrajectoriesConfig { + .exa.eval_pb.EvalApiServerConfig dedicated_api_server_config = 1; + int32 world_size = 2; + repeated string dataset_splits = 3; + bool add_cot = 4; + .exa.codeium_common_pb.Model model = 5; + string api_server_url = 6; + int32 max_kubernetes_concurrency = 7; + string trajectory_field_name = 8; + string input_trajectory_field_name = 9; + bool skip_input_trajectory = 10; +} + +message ContextBudgets { + float input_trajectory_proportion = 1; + float gt_trajectory_proportion = 2; + float output_trajectory_proportion = 3; + uint32 max_patch_tokens = 4; + bool truncate_patch = 5; +} + +message OverallTrajectoryJudgeConfig { + bool enabled = 1; + uint32 num_steps_to_judge = 2; + bool include_target_patch = 3; + bool include_gt_continuation = 4; + bool require_full_base_trajectory = 5; + bool include_user_feedback_criteria = 6; + .exa.eval_pb.ContextBudgets context_budget_config = 7; + bool cache_input_trajectory = 8; + .exa.eval_pb.OverallTrajectoryJudgePromptType prompt_type = 9; + bool include_output_patch = 10; + bool judge_ground_truth_continuation = 11; + int32 rollout_index = 12; +} + +message ProcessJudgeConfig { + reserved 9; + bool enabled = 1; + .exa.cortex_pb.CortexStepType interval_cutting_step_type = 2; + bool include_target_patch = 3; + bool include_gt_continuation = 4; + .exa.eval_pb.ProcessConditioningMode main_conditioning_mode = 5; + bool include_future_hindsight = 6; + bool include_outcome_reward = 7; + bool use_critic_not_reward = 8; + bool require_full_base_trajectory = 10; +} + +message SummaryJudgeConfig { + optional bool enabled = 1; + optional .exa.codeium_common_pb.Model summary_judge_model = 2; +} + +message ReviewJudgeConfig { + bool enabled = 1; +} + +message PairwiseJudgeConfig { + bool enabled = 1; + uint32 num_steps_to_judge = 2; + bool include_target_patch = 3; + bool include_gt_continuation = 4; + bool require_full_base_trajectory = 5; + .exa.eval_pb.ContextBudgets context_budget_config = 7; + uint32 num_pairs = 6; +} + +message MetricsStageConfig { + .exa.codeium_common_pb.Model judge_model = 1; + string api_server_url = 2; + .exa.eval_pb.OverallTrajectoryJudgeConfig overall_judge_config = 3; + .exa.eval_pb.ProcessJudgeConfig process_judge_config = 5; + .exa.eval_pb.ReviewJudgeConfig review_judge_config = 4; + .exa.eval_pb.PairwiseJudgeConfig pairwise_judge_config = 10; + bool skip_output_patch = 6; + bool skip_target_patch = 7; + bool run_only_judge_metrics = 8; + bool run_only_unit_test = 11; + optional .exa.eval_pb.SummaryJudgeConfig summary_judge_config = 9; +} + +message PREvalConfig { + reserved "repo_concurrency"; + reserved "command_model_config"; + reserved "run_evaluate_plans"; + reserved "run_generate_synthetic_trajectories"; + reserved "run_ground_truth_command_llm_judge_eval"; + reserved "run_generate_masked_steps"; + reserved "trajectory_llm_judge_stage_config"; + reserved 13; + reserved 19; + reserved 21; + reserved 23; + reserved 24; + reserved 26; + reserved 32; + string commits_path = 1; + string cached_start_stage = 3; + string cached_prev_stage_output_path = 4; + uint32 max_kubernetes_concurrency = 14; + uint32 gpu_concurrency = 10; + uint32 pr_level_concurrency = 11; + bool use_codeium_github_access_token = 27; + uint32 eval_concurrency = 17; + uint32 sub_buckets_per_repo = 16; + uint32 max_unique_repos = 12; + repeated .exa.eval_pb.PRGenerationStage stages_to_eval = 5; + float inform_target_ccis_ratio = 22; + repeated string run_specific_instance_ids = 30; + bool run_generate_tasks = 18; + bool run_generate_golden_plans = 20; + .exa.eval_pb.MetricsStageConfig metrics_config = 35; + .exa.eval_pb.MetricsStageConfig grouped_metrics_config = 39; + .exa.eval_pb.RolloutDatasetConfig rollout_dataset_config = 34; + bool skip_unit_test = 37; + bool bypass_swebench_eval = 28; + bool bypass_filechange_based_eval = 33; + bool bypass_upload_stage = 31; + bool generate_pr_suppress_error = 15; + .exa.eval_pb.PRGenerationStage generate_pr_start_stage = 7; + .exa.eval_pb.PRGenerationStage generate_pr_end_stage = 8; + .exa.eval_pb.LLMJudgeEvalConfig llm_judge_config = 25; + .exa.eval_pb.EvalApiServerConfig dedicated_api_server_config = 36; + .exa.eval_pb.RemoteLanguageServerConfig remote_language_server_config = 38; + oneof generate_config { + .exa.eval_pb.GenerateLanguageServerConfig generate_language_server_config = 9; + } + optional uint32 backoff_limit = 29; +} + +message GuidedSampleConfig { + float pct_good_rollouts = 1; + .exa.cortex_pb.ParallelRolloutConfig parallel_rollout_config_override = 2; +} + +message InitialWorkspaceState { + bytes file_state_override_archive_bytes = 1; + optional .exa.codeium_common_pb.GitRepoInfo base_state_repo_info = 2; + optional .exa.cortex_pb.WorkspaceInitializationData workspace_initialization_data = 3; +} + +message CascadeConfigRandomizer { + reserved "plan_model"; + reserved 1; + message ConfigVariant { + float randomization_weight = 1; + string name = 2; + .exa.cortex_pb.CascadeConfig cascade_config = 3; + } + + repeated .exa.eval_pb.CascadeConfigRandomizer.ConfigVariant config_variants = 2; + .exa.cortex_pb.CascadeConfig override_cascade_config = 3; +} + +message GenerateLanguageServerConfig { + string generate_language_server_commit_hash = 1; + .exa.eval_pb.LanguageServerConfig language_server_config = 2; + .exa.codeium_common_pb.ExperimentConfig experiment_config = 3; + .exa.cortex_pb.CortexConfig cortex_config = 4; + .exa.cortex_pb.InformPlannerConfig inform_planner_config = 7; + .exa.eval_pb.CortexGenerationType cortex_generation_type = 5; + .exa.eval_pb.GuidedSampleConfig guided_sample_config = 17; + .exa.cortex_pb.DiffBasedCommandEvalConfig diff_based_command_eval_config = 8; + bool shallow_clone = 9; + bool start_from_input_trajectory = 10; + bool inherit_tools_from_input_trajectory = 18; + bool start_from_initial_workspace_state = 11; + bool suppress_repo_errors = 14; + int32 rollouts_per_input = 12; + bool use_mock_api_key = 13; + bool ignore_exit_code_match = 19; + bool include_hints_text = 20; + oneof config_override { + .exa.cortex_pb.CascadeConfig cascade_config = 6; + .exa.eval_pb.CascadeConfigRandomizer cascade_config_randomizer = 15; + } +} + +message EvalApiServerConfig { + bool build_api_server_image = 1; + repeated .exa.eval_pb.CustomModelConfig custom_models = 2; +} + +message RemoteLanguageServerConfig { + reserved 2; + bool enable = 1; + string session_manager_url = 3; +} + +message LanguageServerConfig { + reserved "verbosity_level"; + reserved "register_user_url"; + reserved 8; + reserved 26; + int32 server_port = 1; + int32 lsp_port = 2; + bool random_port = 3; + string random_port_dir = 4; + string manager_lock_file = 5; + string child_lock_file = 6; + string database_dir = 7; + string portal_url = 9; + string api_server_url = 10; + string inference_api_server_url = 32; + bool use_mock_api_server_client = 11; + int32 api_server_http_client_timeout_seconds = 34; + bool detect_proxy = 12; + bool enable_lsp = 13; + bool enable_local_search = 14; + int32 search_max_workspace_file_count = 15; + int32 file_watch_max_dir_count = 31; + bool enable_chat_web_server = 16; + bool enable_chat_client = 17; + string workspace_id = 18; + string index_service_url = 19; + bool enable_index_service = 20; + string embedding_model_name = 29; + bool auto_prepare_actions = 25; + bool m_query_for_context_module = 27; + bool record_cortex_telemetry = 28; + bool dev_mode = 21; + bool remote_mode = 22; + bool teams_mode = 23; + bool enterprise_mode = 24; + bool eval_mode = 30; + bool auto_cascade_mode = 33; +} + +message LLMJudgeEvalConfig { + reserved "judge_prompt_format"; + reserved 2; + string judge_model = 1; + .exa.codeium_common_pb.Model judge_model_enum = 23; + .exa.codeium_common_pb.ModelInfo judge_model_info = 29; + string dataset = 3; + .exa.eval_pb.LLMJudgeEvalType llm_judge_eval_type = 4; + .exa.eval_pb.PromptFormat prompt_format = 5; + double temperature = 6; + string force_enable_experiments = 7; + string force_disable_experiments = 8; + bool use_context_relevance_tags = 9; + string base_model_path = 10; + string base_tokenizer_type = 11; + bool cortex_trajectory_context = 12; + bool judge_ignore_trajectory = 13; + .exa.eval_pb.JudgePromptTemplateConfig judge_prompt_template_config = 15; + bool truncate_inside_user_messages = 14; + .exa.eval_pb.InferenceServerConfig inference_server_config = 16; + int32 max_samples = 17; + uint32 selection_radius = 18; + uint32 min_ground_truth_jump_length = 19; + uint32 min_inferred_jump_length_filter = 20; + float filtered_rows_subsample_fraction = 21; + bool filter_in_selection = 22; + float invalid_rows_subsample_fraction = 24; + float small_jump_rows_subsample_fraction = 25; + bool remove_generation_prompt = 26; + uint32 max_random_extended_selection_radius = 27; + uint32 min_cursor_edit_filter_distance = 28; +} + +message GenerateRequestsConfig { + bool generate_future_trajectory = 1; + bool generate_train_completions = 2; + bool require_future_trajectory_min_length = 3; + int32 max_future_trajectory_steps = 4; + int32 max_ms_between_steps = 5; + bool override_train_completion = 6; + bool override_prompt_components = 7; + bool allow_nonterminal_edit_train_completion = 8; +} + +message TrajectoryDownloadConfig { + message QueryConfig { + reserved "allowed_model_id"; + reserved 4; + message IDFilterConfig { + bool select_public_repos = 1; + bool no_missing_steps = 2; + } + + message StepFilterConfig { + repeated .exa.cortex_pb.CortexStepType required_step_types = 8; + int32 min_required_step_count = 9; + string include_pattern = 1; + string exclude_pattern = 2; + int32 min_length = 3; + int32 max_length = 4; + repeated .exa.cortex_pb.CortexStepType related_step_types = 5; + int32 step_offset = 6; + bool related_step_match = 7; + } + + enum QueryType { + QUERY_TYPE_UNSPECIFIED = 0; + QUERY_TYPE_REVERT = 1; + QUERY_TYPE_THUMBS_UP = 2; + QUERY_TYPE_DATE_RANGE = 3; + QUERY_TYPE_DOWNLOAD_BY_PAYLOAD = 4; + QUERY_TYPE_METRICS = 5; + QUERY_TYPE_PASSTHROUGH = 6; + } + + .exa.eval_pb.TrajectoryDownloadConfig.QueryConfig.QueryType query_type = 1; + int32 max_trajectories = 2; + int32 world_size_query = 3; + string start_date = 5; + string end_date = 6; + repeated .exa.codeium_common_pb.Model allowed_model_ids = 7; + repeated .exa.cortex_pb.CortexTrajectoryType allowed_trajectory_types = 9; + repeated .exa.cortex_pb.CortexTrajectorySource allowed_trajectory_sources = 15; + repeated .exa.cortex_pb.CortexStepType allowed_step_types = 10; + bool require_public_repo = 11; + string json_extract_path = 12; + bool enforce_uniqueness = 13; + repeated .exa.eval.pr_eval.datasets_pb.MetricsRecordFilterRequest metrics_filters = 16; + .exa.cortex_pb.CascadeConfig cascade_config_filter = 17; + optional .exa.eval_pb.TrajectoryDownloadConfig.QueryConfig.IDFilterConfig id_filter_config = 8; + optional .exa.eval_pb.TrajectoryDownloadConfig.QueryConfig.StepFilterConfig step_filter_config = 14; + } + + int32 world_size_download = 3; + int32 max_trajectory_steps = 4; + int32 kubernetes_parallelism = 5; + bool require_generator_metadata = 6; + oneof id_selection { + bool input = 1; + .exa.eval_pb.TrajectoryDownloadConfig.QueryConfig query = 2; + } +} + +message CondenseUserTaskConfig { + .exa.codeium_common_pb.Model condense_model = 1; +} + +message GenerateTaskConfig { + int32 world_size = 9; + bool use_input_initial_workspace_state = 1; + bool use_codeium_github_access_token = 2; + bool upload_ground_truth_trajectory = 3; + bool clean_trajectory = 4; + bool find_beginning_of_turn = 5; + bool generate_for_training = 6; + bool fail_on_last_step_errors = 7; + bool fail_on_intermediate_step_errors = 8; + bool require_repo_id = 11; + bool filter_out_empty_patch = 10; + .exa.eval_pb.CondenseUserTaskConfig condense_user_task_config = 12; + string api_server_url = 13; + bool filter_out_misformatted_trajectories = 14; +} + +message GeneratePREvalTaskFromTrajectoryPipelineConfig { + reserved "use_input_initial_workspace_state"; + reserved "use_codeium_github_access_token"; + reserved "clean_trajectory"; + reserved "upload_ground_truth_trajectory"; + reserved "allow_all_step_errors"; + reserved "find_beginning_of_turn"; + reserved "generate_for_training"; + reserved "fail_on_last_step_errors"; + reserved "fail_on_intermediate_step_errors"; + reserved 3; + reserved 4; + reserved 5; + reserved 7; + reserved 8; + reserved 9; + reserved 10; + reserved 11; + int32 kubernetes_parallelism = 1; + string trajectory_field_name_override = 2; + string state_field_name_override = 14; + .exa.eval_pb.TrajectoryDownloadConfig trajectory_download_config = 12; + .exa.eval_pb.FindTrajectoryConfig find_trajectory_config = 6; + .exa.eval_pb.GenerateTaskConfig generate_task_config = 13; + .exa.eval_pb.MetricsStageConfig gt_metrics_config = 15; + int32 gt_metrics_world_size = 16; + .exa.eval_pb.EvalApiServerConfig dedicated_api_server_config = 17; + bool extract_verification_steps = 18; +} + +message ValueBound { + optional int32 min = 1; + optional int32 max = 2; +} + +message ValidateTrajectoryEventConfig { + message StepTypeCountBoundsEntry { + string key = 1; + .exa.eval_pb.ValueBound value = 2; + } + + bool allow_last_step_error = 2; + .exa.eval_pb.ValueBound length_bound = 3; + repeated .exa.eval_pb.ValidateTrajectoryEventConfig.StepTypeCountBoundsEntry step_type_count_bounds = 4; + optional float max_error_rate = 1; +} + +message FindTrajectoryConfig { + reserved "first_after_start_idx"; + reserved "longest_turn_before_start_idx"; + reserved "step_filter_config"; + reserved 6; + reserved 9; + reserved 15; + message SamplingStrategyFirstKAfterStartIdx { + int32 k = 1; + int32 max_distance_from_start_idx = 2; + } + + message SamplingStrategyRandom { + } + + message SamplingStrategyLongestTurnBeforeStartIdx { + optional int32 min_start_index = 2; + optional int32 max_distance_from_start = 3; + } + + message SamplingStrategyLongestTurnBetweenStartAndEndIdx { + optional int32 min_end_index = 4; + optional int32 max_distance_from_end = 5; + } + + message SamplingStrategyRandomBoundaryRange { + optional int32 min_boundary_start_idx = 2; + optional int32 max_boundary_start_idx = 3; + optional int32 min_boundary_end_idx = 4; + optional int32 max_boundary_end_idx = 5; + } + + message SamplingStrategyGuaranteeStartIdx { + } + + int32 world_size = 3; + .exa.eval_pb.BoundaryEventMetricsConfig boundary_event_metrics_config = 1; + bool clean_trajectory = 2; + string start_index_field_name = 4; + bool include_first_step = 7; + bool exclude_last_step = 8; + .exa.eval_pb.JudgeBoundaryMetricsConfig judge_boundary_metrics_config = 13; + oneof sampling_strategy { + .exa.eval_pb.FindTrajectoryConfig.SamplingStrategyRandom random = 5; + .exa.eval_pb.FindTrajectoryConfig.SamplingStrategyFirstKAfterStartIdx first_k_after_start_idx = 11; + .exa.eval_pb.FindTrajectoryConfig.SamplingStrategyRandomBoundaryRange sampling_strategy_random_boundary_range = 12; + .exa.eval_pb.FindTrajectoryConfig.SamplingStrategyLongestTurnBetweenStartAndEndIdx longest_turn_between_start_and_end_idx = 14; + .exa.eval_pb.FindTrajectoryConfig.SamplingStrategyGuaranteeStartIdx sampling_strategy_guarantee_start_idx = 16; + } + optional .exa.eval_pb.ValidateTrajectoryEventConfig validate_trajectory_event_config = 10; +} + +message CustomModelConfig { + string cluster_name = 1; + bool build_inference_server_image = 2; + .exa.model_management_pb.StartInferenceServerRequest start_inference_server_request = 3; +} + +message NodeExecutionSummary { + repeated string lineage = 1; + string node_name = 2; + uint32 duration_seconds = 3; + uint64 state_bytes = 4; +} + +message GraphExecutionSummary { + repeated .exa.eval_pb.NodeExecutionSummary nodes = 1; +} + +message JudgeEvaluation { + string id = 1; + string explanation = 2; + uint32 score = 3; +} + +message TrajectoryJudgeElementEvaluation { + .exa.eval_pb.TrajectoryJudgeElementType element_type = 1; + repeated .exa.eval_pb.JudgeEvaluation evaluations = 2; + repeated .exa.api_server_pb.GetChatMessageRequest judge_requests = 3; + repeated .exa.codeium_common_pb.ModelUsageStats usage_stats = 4; +} + +message TrajectoryJudgeEvaluation { + repeated .exa.eval_pb.TrajectoryJudgeElementEvaluation element_evaluations = 5; +} + +message ContextItems { + repeated string context_items = 1; +} + +message ImbueEvalTask { + string question = 1; + repeated string choices = 2; + string expected_answer = 3; +} + +message DiffBasedCommandEvalTask { + uint32 step_index = 1; + string instruction = 2; +} + +message LLMJudgeTask { + string system_prompt = 1; + string user_prompt = 2; + string explanation = 3; + int32 rating = 4; +} + +message JumpLines { + uint64 ground_truth_jump_line = 1; + uint64 inferred_jump_line = 2; +} + +message TrajectoryStep { + int64 step_index = 1; + int64 step_timestamp = 2; + string payload_proto = 3; + string step_proto = 4; +} + +message TrajectoryData { + repeated .exa.eval_pb.TrajectoryStep trajectory_steps = 1; +} + +message LLMJudgeAttributeRating { + string name = 1; + float rating = 2; +} + +message LLMJudgeRating { + message Metadata { + string explanation = 1; + string system_prompt = 2; + string user_prompt = 3; + } + + repeated .exa.eval_pb.LLMJudgeAttributeRating attribute_ratings = 1; + .exa.eval_pb.LLMJudgeRating.Metadata metadata = 2; +} + +message LLMJudgeRatings { + repeated .exa.eval_pb.LLMJudgeRating ratings = 1; +} + +message MetricsStageOutput { + repeated .exa.codeium_common_pb.MetricsRecord records = 1; +} + +message IntervalTrackerConfig { + .exa.eval_pb.IntervalType interval_type = 1; + int32 max_steps_before_clear = 2; + int32 max_seconds_before_clear = 3; + oneof type_specific { + .exa.eval_pb.TypeToTypeConfig type_to_type = 4; + .exa.eval_pb.AfterPauseConfig after_pause = 5; + } +} + +message TypeToTypeConfig { + message MinStepsBetweenByTypeEntry { + string key = 1; + int32 value = 2; + } + + repeated .exa.eval_pb.TypeToTypeConfig.MinStepsBetweenByTypeEntry min_steps_between_by_type = 1; + bool require_target_change = 2; + bool treat_last_step_as_interval_end = 3; +} + +message AfterPauseConfig { + message MinStepsBetweenByTypeEntry { + string key = 1; + int32 value = 2; + } + + message MaxStepsBetweenByTypeEntry { + string key = 1; + int32 value = 2; + } + + int32 min_start_pause_ms = 1; + int32 max_start_pause_ms = 2; + repeated .exa.cortex_pb.CortexStepType valid_start_types = 3; + int32 min_end_pause_ms = 4; + int32 max_end_pause_ms = 5; + repeated .exa.cortex_pb.CortexStepType possible_end_types = 6; + repeated .exa.eval_pb.AfterPauseConfig.MinStepsBetweenByTypeEntry min_steps_between_by_type = 7; + repeated .exa.eval_pb.AfterPauseConfig.MaxStepsBetweenByTypeEntry max_steps_between_by_type = 8; + repeated .exa.cortex_pb.CortexStepType filter_step_types = 9; + bool end_on_last_step = 10; +} + +message IntervalMutatorConfig { + message IndexMetricBound { + string metric_record_name = 1; + .exa.eval_pb.IntervalMutatorConfig.IndexType index_type = 2; + optional bool value_is_relative_to_start = 3; + } + + enum IndexType { + INDEX_TYPE_UNSPECIFIED = 0; + INDEX_TYPE_START = 1; + INDEX_TYPE_END = 2; + } + + int32 world_size = 1; + repeated .exa.eval_pb.IntervalMutatorConfig.IndexMetricBound index_bounds = 2; + repeated string required_step_index_field_names = 3; +} + +message JudgeBoundaryMetricsConfig { + message FilterConfig { + reserved 1; + repeated .exa.eval.pr_eval.datasets_pb.MetricsRecordFilterRequest metrics_record_filters = 2; + } + + int32 world_size = 1; + .exa.eval_pb.MetricsStageConfig metrics_config = 2; + .exa.eval_pb.JudgeBoundaryMetricsConfig.FilterConfig filter_config = 3; + .exa.eval_pb.IntervalMutatorConfig interval_mutator_config = 4; + string start_index_field_name = 5; + string end_index_field_name = 6; + uint32 extra_buffer_after_end_index = 7; +} + +message BoundaryEventMetricsConfig { + repeated .exa.eval_pb.IntervalTrackerConfig interval_tracker_configs = 1; +} + +message EvalMetricsMetadata { + .exa.eval_pb.JudgeMetricsRubric rubric = 1; +} + +message JudgeMetricsRubric { + repeated .exa.eval_pb.JudgeMetricsRubricAxis axes = 1; +} + +message JudgeMetricsRubricAxis { + string name = 1; + string criteria = 2; +} + +enum DeletionType { + DELETION_TYPE_UNSPECIFIED = 0; + DELETION_TYPE_INLINE_FIM = 1; + DELETION_TYPE_RANDOM_MULTILINE = 2; + DELETION_TYPE_FUNCTION_PARAMS = 3; + DELETION_TYPE_REFERENCE = 4; + DELETION_TYPE_REPO_REFERENCE = 5; + DELETION_TYPE_FULL_FUNCTION = 6; + DELETION_TYPE_COMMENTED_CODEBLOCK = 7; +} + +enum ExternalModelPromptFormat { + EXTERNAL_MODEL_PROMPT_FORMAT_UNSPECIFIED = 0; + EXTERNAL_MODEL_PROMPT_FORMAT_L3_INSTRUCT = 1; + EXTERNAL_MODEL_PROMPT_FORMAT_BASE_MODEL = 2; +} + +enum ContextItemOrder { + CONTEXT_ITEM_ORDER_UNSPECIFIED = 0; + CONTEXT_ITEM_ORDER_SHUFFLED = 1; + CONTEXT_ITEM_ORDER_ASCENDING_RELEVANCE = 2; + CONTEXT_ITEM_ORDER_DESCENDING_RELEVANCE = 3; + CONTEXT_ITEM_ORDER_SHUFFLED_TOP_K = 4; +} + +enum InferDataTags { + INFER_DATA_TAGS_UNSPECIFIED = 0; + INFER_DATA_TAGS_SOURCE_FUNCTION_BODY_RANDOM = 1; + INFER_DATA_TAGS_SOURCE_DEFINITION_FUNCTION = 2; + INFER_DATA_TAGS_SOURCE_REFERENCE_CALL = 3; + INFER_DATA_TAGS_SOURCE_REFERENCE_CLASS = 4; + INFER_DATA_TAGS_SOURCE_FUNCTION_BODY_FULL = 5; + INFER_DATA_TAGS_SOURCE_REPO_REFERENCE = 6; + INFER_DATA_TAGS_SOURCE_COMMENTED_CODEBLOCK = 7; + INFER_DATA_TAGS_DELETION_SINGLE_LINE = 100; + INFER_DATA_TAGS_DELETION_MULTI_LINE = 101; + INFER_DATA_TAGS_DELETION_INLINE_FIM = 102; + INFER_DATA_TAGS_CHAT_REFACTOR_EFFICIENCY = 200; + INFER_DATA_TAGS_INSTRUCTION_INSERT = 300; + INFER_DATA_TAGS_INSTRUCTION_EDIT = 301; + INFER_DATA_TAGS_SUPERCOMPLETE_NO_EDIT = 400; + INFER_DATA_TAGS_CHAT_SINGLE_TURN_NO_CONTEXT = 500; + INFER_DATA_TAGS_CHAT_MULTITURN_NO_CONTEXT = 501; + INFER_DATA_TAGS_CHAT_SINGLE_TURN_WITH_CONTEXT = 502; + INFER_DATA_TAGS_CHAT_MULTITURN_WITH_CONTEXT = 503; + INFER_DATA_TAGS_CASCADE_SYSTEM_RESPONSE = 600; + INFER_DATA_TAGS_CASCADE_TOOL_CALL = 601; + INFER_DATA_TAGS_CASCADE_CODE_WRITING = 602; + INFER_DATA_TAGS_INSERTION_COMPLETION = 700; + INFER_DATA_TAGS_EDIT_COMPLETION = 701; +} + +enum EvalType { + EVAL_TYPE_UNSPECIFIED = 0; + EVAL_TYPE_AUTOCOMPLETE = 1; + EVAL_TYPE_CHAT = 2; + EVAL_TYPE_INSTRUCTION_AUTOCOMPLETE = 3; + EVAL_TYPE_INSTRUCTION_CHAT = 4; + EVAL_TYPE_HUMAN_EVAL = 5; + EVAL_TYPE_LLMJUDGE = 6; + EVAL_TYPE_AUTOCOMPLETE_COMMAND = 7; + EVAL_TYPE_CODE_REASONING = 8; +} + +enum InstructionType { + INSTRUCTION_TYPE_UNSPECIFIED = 0; + INSTRUCTION_TYPE_INSERT = 1; + INSTRUCTION_TYPE_EDIT = 2; +} + +enum OverallTrajectoryJudgePromptType { + OVERALL_TRAJECTORY_JUDGE_PROMPT_TYPE_UNSPECIFIED = 0; + OVERALL_TRAJECTORY_JUDGE_PROMPT_TYPE_CONVERSATIONAL = 1; + OVERALL_TRAJECTORY_JUDGE_PROMPT_TYPE_IMPLICIT_MATCHER = 2; + OVERALL_TRAJECTORY_JUDGE_PROMPT_TYPE_INTENT_BOUNDARY = 3; + OVERALL_TRAJECTORY_JUDGE_PROMPT_TYPE_RUBRIC_CREATOR = 4; + OVERALL_TRAJECTORY_JUDGE_PROMPT_TYPE_RUBRIC_EVAL = 5; + OVERALL_TRAJECTORY_JUDGE_PROMPT_TYPE_INTENT_BOUNDARY_RUN_COMMAND_VERIFIER = 6; +} + +enum ProcessConditioningMode { + PROCESS_CONDITIONING_MODE_UNSPECIFIED = 0; + PROCESS_CONDITIONING_MODE_PARTIAL_HISTORY = 1; + PROCESS_CONDITIONING_MODE_SUBTRAJECTORY_SUMMARY = 2; +} + +enum PRGenerationStage { + PR_GENERATION_STAGE_UNSPECIFIED = 0; + PR_GENERATION_STAGE_RETRIEVE = 1; + PR_GENERATION_STAGE_CODE_CHANGE_PLAN = 2; + PR_GENERATION_STAGE_CODE_CHANGES = 3; +} + +enum CortexGenerationType { + CORTEX_GENERATION_TYPE_UNSPECIFIED = 0; + CORTEX_GENERATION_TYPE_DYNAMIC_TRAJECTORY = 3; + CORTEX_GENERATION_TYPE_INFORM = 5; + CORTEX_GENERATION_TYPE_FILE_RESEARCH = 4; + CORTEX_GENERATION_TYPE_CCI_RESEARCH = 6; + CORTEX_GENERATION_TYPE_GROUNDTRUTH = 8; + CORTEX_GENERATION_TYPE_REAPPLY_GROUND_TRUTH = 9; + CORTEX_GENERATION_TYPE_VERIFY = 10; +} + +enum PromptFormat { + PROMPT_FORMAT_UNSPECIFIED = 0; + PROMPT_FORMAT_INTERNAL = 1; + PROMPT_FORMAT_OPENAI = 2; + PROMPT_FORMAT_LLAMA = 3; + PROMPT_FORMAT_LLAMA3 = 4; + PROMPT_FORMAT_HERMES3 = 5; + PROMPT_FORMAT_INTERNAL_CUMULATIVE = 6; + PROMPT_FORMAT_XML = 7; + PROMPT_FORMAT_DEEPSEEK = 8; + PROMPT_FORMAT_DEEPSEEKV2 = 9; + PROMPT_FORMAT_DEEPSEEKV3 = 10; + PROMPT_FORMAT_KIMI = 11; + PROMPT_FORMAT_QWEN_CODER = 12; +} + +enum LLMJudgeEvalType { + LLM_JUDGE_EVAL_TYPE_UNSPECIFIED = 0; + LLM_JUDGE_EVAL_TYPE_SUPERCOMPLETE = 4; + LLM_JUDGE_EVAL_TYPE_SUPERCOMPLETE_LABEL = 5; + LLM_JUDGE_EVAL_TYPE_CASCADE = 6; + LLM_JUDGE_EVAL_TYPE_TAB_JUMP_LABEL = 7; +} + +enum TrajectoryJudgeElementType { + ELEMENT_TYPE_UNSPECIFIED = 0; + ELEMENT_TYPE_OVERALL_TRAJECTORY = 1; +} + +enum IntervalType { + INTERVAL_TYPE_UNSPECIFIED = 0; + INTERVAL_TYPE_EDIT_TO_VIEW = 1; + INTERVAL_TYPE_EDIT_TO_EDIT = 2; + INTERVAL_TYPE_EDIT_TO_COMMAND = 3; + INTERVAL_TYPE_COMMAND_TO_EDIT = 4; + INTERVAL_TYPE_COMMAND_TO_COMMAND = 5; + INTERVAL_TYPE_CASCADE_TURN = 6; + INTERVAL_TYPE_AFTER_PAUSE = 7; +} + +enum TrackerType { + TRACKER_TYPE_UNSPECIFIED = 0; + TRACKER_TYPE_COMMAND_TO_COMMAND = 1; + TRACKER_TYPE_WRITE_TO_WRITE = 2; +} + diff --git a/lsp_protos/exa/extension_server_pb/extension_server.proto b/lsp_protos/exa/extension_server_pb/extension_server.proto new file mode 100755 index 0000000..a2d1ae7 --- /dev/null +++ b/lsp_protos/exa/extension_server_pb/extension_server.proto @@ -0,0 +1,502 @@ +syntax = "proto3"; + +package exa.extension_server_pb; + +import "buf/validate/validate.proto"; +import "exa/codeium_common_pb/codeium_common.proto"; +import "exa/cortex_pb/cortex.proto"; +import "exa/language_server_pb/language_server.proto"; + +service ExtensionServerService { + rpc LanguageServerStarted (.exa.extension_server_pb.LanguageServerStartedRequest) returns (.exa.extension_server_pb.LanguageServerStartedResponse) {} + rpc OpenSetting (.exa.extension_server_pb.OpenSettingRequest) returns (.exa.extension_server_pb.OpenSettingResponse) {} + rpc OpenFilePointer (.exa.extension_server_pb.OpenFilePointerRequest) returns (.exa.extension_server_pb.OpenFilePointerResponse) {} + rpc InsertCodeAtCursor (.exa.extension_server_pb.InsertCodeAtCursorRequest) returns (.exa.extension_server_pb.InsertCodeAtCursorResponse) {} + rpc LogEvent (.exa.extension_server_pb.LogEventRequest) returns (.exa.extension_server_pb.LogEventResponse) {} + rpc CheckTerminalShellSupport (.exa.extension_server_pb.CheckTerminalShellSupportRequest) returns (.exa.extension_server_pb.CheckTerminalShellSupportResponse) {} + rpc ExecuteCommand (.exa.extension_server_pb.ExecuteCommandRequest) returns (stream .exa.codeium_common_pb.TerminalShellCommandStreamChunk) {} + rpc ShowTerminal (.exa.extension_server_pb.ShowTerminalRequest) returns (.exa.extension_server_pb.ShowTerminalResponse) {} + rpc OpenVirtualFile (.exa.extension_server_pb.OpenVirtualFileRequest) returns (.exa.extension_server_pb.OpenVirtualFileResponse) {} + rpc SaveDocument (.exa.extension_server_pb.SaveDocumentRequest) returns (.exa.extension_server_pb.SaveDocumentResponse) {} + rpc ReadTerminal (.exa.extension_server_pb.ReadTerminalRequest) returns (.exa.extension_server_pb.ReadTerminalResponse) {} + rpc OpenTerminal (.exa.extension_server_pb.OpenTerminalRequest) returns (.exa.extension_server_pb.OpenTerminalResponse) {} + rpc GetLintErrors (.exa.extension_server_pb.GetLintErrorsRequest) returns (.exa.extension_server_pb.GetLintErrorsResponse) {} + rpc WatchForLints (.exa.extension_server_pb.WatchForLintsRequest) returns (.exa.extension_server_pb.WatchForLintsResponse) {} + rpc GetLintsForAcknowledger (.exa.extension_server_pb.GetLintsForAcknowledgerRequest) returns (.exa.extension_server_pb.GetLintsForAcknowledgerResponse) {} + rpc OpenDiffZones (.exa.extension_server_pb.OpenDiffZonesRequest) returns (.exa.extension_server_pb.OpenDiffZonesResponse) {} + rpc OpenExternalUrl (.exa.extension_server_pb.OpenExternalUrlRequest) returns (.exa.extension_server_pb.OpenExternalUrlResponse) {} + rpc OpenMultiDiff (.exa.extension_server_pb.OpenMultiDiffRequest) returns (.exa.extension_server_pb.OpenMultiDiffResponse) {} + rpc HandleAsyncPostMessage (.exa.extension_server_pb.HandleAsyncPostMessageRequest) returns (.exa.extension_server_pb.HandleAsyncPostMessageResponse) {} + rpc OpenWindsurfRulesFile (.exa.extension_server_pb.OpenWindsurfRulesFileRequest) returns (.exa.extension_server_pb.OpenWindsurfRulesFileResponse) {} + rpc DeleteWindsurfRulesFile (.exa.extension_server_pb.DeleteWindsurfRulesFileRequest) returns (.exa.extension_server_pb.DeleteWindsurfRulesFileResponse) {} + rpc DeleteWindsurfWorkflow (.exa.extension_server_pb.DeleteWindsurfWorkflowRequest) returns (.exa.extension_server_pb.DeleteWindsurfWorkflowResponse) {} + rpc NotifyMcpStateChanged (.exa.extension_server_pb.NotifyMcpStateChangedRequest) returns (.exa.extension_server_pb.NotifyMcpStateChangedResponse) {} + rpc OpenPluginPage (.exa.extension_server_pb.OpenPluginPageRequest) returns (.exa.extension_server_pb.OpenPluginPageResponse) {} + rpc OpenPluginConfigModal (.exa.extension_server_pb.OpenPluginConfigModalRequest) returns (.exa.extension_server_pb.OpenPluginConfigModalResponse) {} + rpc OpenConfigurePluginsPage (.exa.extension_server_pb.OpenConfigurePluginsPageRequest) returns (.exa.extension_server_pb.OpenConfigurePluginsPageResponse) {} + rpc OpenMcpStorePage (.exa.extension_server_pb.OpenMcpStorePageRequest) returns (.exa.extension_server_pb.OpenMcpStorePageResponse) {} + rpc OpenConversationWorkspaceQuickPick (.exa.extension_server_pb.OpenConversationWorkspaceQuickPickRequest) returns (.exa.extension_server_pb.OpenConversationWorkspaceQuickPickResponse) {} + rpc FindAllReferences (.exa.extension_server_pb.FindAllReferencesRequest) returns (.exa.extension_server_pb.FindAllReferencesResponse) {} + rpc GetLSPCompletionItems (.exa.extension_server_pb.GetLSPCompletionItemsRequest) returns (.exa.extension_server_pb.GetLSPCompletionItemsResponse) {} + rpc RefreshURIs (.exa.extension_server_pb.RefreshURIsRequest) returns (.exa.extension_server_pb.RefreshURIsResponse) {} + rpc CheckExperiment (.exa.extension_server_pb.CheckExperimentRequest) returns (.exa.extension_server_pb.CheckExperimentResponse) {} + rpc WriteCascadeEdit (.exa.extension_server_pb.WriteCascadeEditRequest) returns (.exa.extension_server_pb.WriteCascadeEditResponse) {} + rpc StartAudioRecording (.exa.extension_server_pb.StartAudioRecordingRequest) returns (.exa.extension_server_pb.StartAudioRecordingResponse) {} + rpc EndAudioRecording (.exa.extension_server_pb.EndAudioRecordingRequest) returns (.exa.extension_server_pb.EndAudioRecordingResponse) {} + rpc GetCurrentAudioRecording (.exa.extension_server_pb.GetCurrentAudioRecordingRequest) returns (.exa.extension_server_pb.GetCurrentAudioRecordingResponse) {} + rpc UpdateCascadeTrajectorySummaries (.exa.extension_server_pb.UpdateCascadeTrajectorySummariesRequest) returns (.exa.extension_server_pb.UpdateCascadeTrajectorySummariesResponse) {} + rpc LoadCodeMap (.exa.extension_server_pb.LoadCodeMapRequest) returns (.exa.extension_server_pb.LoadCodeMapResponse) {} + rpc AddAnnotation (.exa.extension_server_pb.AddAnnotationRequest) returns (.exa.extension_server_pb.AddAnnotationResponse) {} + rpc RemoveAnnotation (.exa.extension_server_pb.RemoveAnnotationRequest) returns (.exa.extension_server_pb.RemoveAnnotationResponse) {} + rpc ShowAnnotation (.exa.extension_server_pb.ShowAnnotationRequest) returns (.exa.extension_server_pb.ShowAnnotationResponse) {} + rpc GetSecretValue (.exa.extension_server_pb.GetSecretValueRequest) returns (.exa.extension_server_pb.GetSecretValueResponse) {} + rpc StoreSecretValue (.exa.extension_server_pb.StoreSecretValueRequest) returns (.exa.extension_server_pb.StoreSecretValueResponse) {} + rpc GetRedirectUri (.exa.extension_server_pb.GetRedirectUriRequest) returns (.exa.extension_server_pb.GetRedirectUriResponse) {} + rpc CancelVibeAndReplace (.exa.extension_server_pb.CancelVibeAndReplaceRequest) returns (.exa.extension_server_pb.CancelVibeAndReplaceResponse) {} + rpc SearchQuery (.exa.extension_server_pb.SearchQueryRequest) returns (.exa.extension_server_pb.SearchQueryResponse) {} + rpc UnmountChanges (.exa.extension_server_pb.UnmountChangesRequest) returns (.exa.extension_server_pb.UnmountChangesResponse) {} + rpc LogoutWindsurf (.exa.extension_server_pb.LogoutWindsurfRequest) returns (.exa.extension_server_pb.LogoutWindsurfResponse) {} +} + +message CancelVibeAndReplaceRequest { +} + +message CancelVibeAndReplaceResponse { +} + +message StartAudioRecordingRequest { +} + +message EndAudioRecordingRequest { +} + +message EndAudioRecordingResponse { + string transcription = 1; +} + +message StartAudioRecordingResponse { +} + +message GetCurrentAudioRecordingRequest { +} + +message GetCurrentAudioRecordingResponse { + float average_volume = 2; +} + +message LanguageServerStartedRequest { + int32 language_server_port = 1; + int32 lsp_port = 2; + int32 chat_client_port = 3; + string csrf_token = 4; +} + +message LanguageServerStartedResponse { +} + +message OpenSettingRequest { + string setting_id = 1; +} + +message OpenSettingResponse { +} + +message OpenFilePointerRequest { + string file_uri = 1; + int32 start_line = 2; + int32 start_col = 3; + int32 end_line = 4; + int32 end_col = 5; + bool is_cascade_diff = 6; + bool is_directory = 7; + bool pinned = 8; +} + +message OpenFilePointerResponse { +} + +message InsertCodeAtCursorRequest { + string text = 1; + .exa.extension_server_pb.ActiveEditorType editor_type = 2; +} + +message InsertCodeAtCursorResponse { +} + +message EventMetadataRecord { + string key = 1; + string value = 2; +} + +message LogEventRequest { + .exa.codeium_common_pb.ProductEventType event = 1; + string event_string = 3; + repeated .exa.extension_server_pb.EventMetadataRecord metadata = 2; +} + +message LogEventResponse { +} + +message CheckTerminalShellSupportRequest { +} + +message CheckTerminalShellSupportResponse { + bool has_shell_integration = 1; + string shell_name = 2; + string shell_path = 3; + string failure_reason = 4; +} + +message ExecuteCommandRequest { + reserved "command"; + reserved "args"; + reserved 1; + reserved 2; + string command_line = 5; + string cwd = 3; + string terminal_id = 4; +} + +message ShowTerminalRequest { + string terminal_id = 1; +} + +message ShowTerminalResponse { +} + +message OpenVirtualFileRequest { + string text = 1; + bool show_markdown_preview = 2; +} + +message OpenVirtualFileResponse { +} + +message SaveDocumentRequest { + string uri = 1; +} + +message SaveDocumentResponse { +} + +message ReadTerminalRequest { + string terminal_id = 1; +} + +message ReadTerminalResponse { + string contents = 1; +} + +message OpenTerminalRequest { + string terminal_id = 1; +} + +message OpenTerminalResponse { +} + +message GetLintErrorsRequest { + message AwaitNewLintsConfig { + string acknowledger_id = 1; + int32 timeout_ms = 2; + int32 grace_period_ms = 3; + bool include_saved = 4; + } + + optional .exa.extension_server_pb.GetLintErrorsRequest.AwaitNewLintsConfig await_new_lints_config = 1; +} + +message GetLintErrorsResponse { + repeated .exa.codeium_common_pb.CodeDiagnostic lint_errors = 1; + repeated .exa.codeium_common_pb.CodeDiagnostic persistent_lint_errors = 2; +} + +message WatchForLintsRequest { + string acknowledger_id = 1; + int32 duration_ms = 2; +} + +message WatchForLintsResponse { +} + +message GetLintsForAcknowledgerRequest { + string acknowledger_id = 1; +} + +message GetLintsForAcknowledgerResponse { + repeated .exa.codeium_common_pb.CodeDiagnostic lint_errors = 1; + repeated .exa.codeium_common_pb.CodeDiagnostic persistent_lint_errors = 2; +} + +message OpenDiffZonesRequest { + string cascade_id = 1; + repeated .exa.language_server_pb.ValidationState validation_states = 2; + bool write_new_state = 3; + optional string git_worktree_path = 4; +} + +message OpenDiffZonesResponse { +} + +message OpenMultiDiffRequest { + string cascade_id = 1; + string title = 2; +} + +message OpenMultiDiffResponse { +} + +message OpenExternalUrlRequest { + string url = 1; + bool use_ide_browser = 2; +} + +message OpenExternalUrlResponse { +} + +message HandleAsyncPostMessageRequest { + string message_type = 1; + string message_content = 2; +} + +message HandleAsyncPostMessageResponse { + string response_content = 1; +} + +message OpenWindsurfRulesFileRequest { + bool is_workspace_rules = 1; +} + +message OpenWindsurfRulesFileResponse { +} + +message DeleteWindsurfRulesFileRequest { + bool is_workspace_rules = 1; + string file_path = 2; +} + +message DeleteWindsurfRulesFileResponse { +} + +message RefreshURIsRequest { + repeated string uris = 1; +} + +message RefreshURIsResponse { +} + +message OpenPluginPageRequest { + reserved 1; + reserved 2; + reserved 3; + string plugin_id = 4; +} + +message OpenPluginPageResponse { +} + +message OpenPluginConfigModalRequest { + reserved 1; + reserved 2; + string plugin_id = 3; +} + +message OpenPluginConfigModalResponse { +} + +message OpenConfigurePluginsPageRequest { + optional string server_name = 1; +} + +message OpenConfigurePluginsPageResponse { +} + +message OpenMcpStorePageRequest { +} + +message OpenMcpStorePageResponse { +} + +message NotebookCellEdit { + int32 cell_index = 1; + bool is_insert = 2; + string cell_type = 3; +} + +message WriteCascadeEditRequest { + string uri = 1; + string target_content = 2; + optional string cascade_id = 3; + optional string git_worktree_path = 4; + optional .exa.extension_server_pb.NotebookCellEdit notebook_cell = 5; +} + +message WriteCascadeEditResponse { +} + +message OpenConversationWorkspaceQuickPickRequest { + string cascade_id = 1; + repeated string workspace_uris = 2; +} + +message OpenConversationWorkspaceQuickPickResponse { + bool open_in_current_window = 1; +} + +message FindAllReferencesRequest { + string file_uri = 1; + string symbol = 2; + uint32 line = 3; + uint32 occurrence_index = 4; +} + +message FindAllReferencesResponse { + repeated .exa.codeium_common_pb.LspReference references = 1; +} + +message GetLSPCompletionItemsRequest { + string document_uri = 1; + .exa.codeium_common_pb.DocumentPosition position = 2; +} + +message GetLSPCompletionItemsResponse { + string completion_items_json = 1; +} + +message UpdateCascadeTrajectorySummariesRequest { + .exa.cortex_pb.CascadeTrajectorySummaries summaries = 1; +} + +message UpdateCascadeTrajectorySummariesResponse { +} + +message LoadCodeMapRequest { + string codemap_json = 1; +} + +message LoadCodeMapResponse { +} + +message AddAnnotationRequest { + .exa.codeium_common_pb.CodeAnnotation annotation = 1; +} + +message AddAnnotationResponse { +} + +message RemoveAnnotationRequest { + string annotation_id = 1; +} + +message RemoveAnnotationResponse { +} + +message ShowAnnotationRequest { + string annotation_id = 1; +} + +message ShowAnnotationResponse { +} + +message GetSecretValueRequest { + string key = 1; +} + +message GetSecretValueResponse { + string value = 1; +} + +message StoreSecretValueRequest { + string key = 1; + string value = 2; +} + +message StoreSecretValueResponse { +} + +message GetRedirectUriRequest { +} + +message GetRedirectUriResponse { + string uri = 1; +} + +message CheckExperimentRequest { + message ContextOverridesEntry { + string key = 1; + string value = 2; + } + + string experiment_key = 1; + repeated .exa.extension_server_pb.CheckExperimentRequest.ContextOverridesEntry context_overrides = 2; +} + +message CheckExperimentResponse { + bool enabled = 1; + optional .exa.extension_server_pb.ExperimentVariant variant = 2; + optional string error_message = 3; +} + +message ExperimentVariant { + string name = 1; + .exa.extension_server_pb.ExperimentPayload payload = 2; +} + +message ExperimentPayload { + string type = 1; + string value = 2; +} + +message SearchQueryRequest { + string query = 1; + optional int32 max_results = 2; + optional string cache_key = 3; + optional bool include_ignored_files = 4; +} + +message SearchQueryResponse { + repeated string result_uris = 1; +} + +message UnmountChangesRequest { +} + +message UnmountChangesResponse { + bool success = 1; + string error_message = 2; +} + +message LogoutWindsurfRequest { + string api_key = 1; +} + +message LogoutWindsurfResponse { +} + +message DeleteWindsurfWorkflowRequest { + .exa.cortex_pb.CortexMemoryScope scope = 1; + string file_path = 2; +} + +message DeleteWindsurfWorkflowResponse { +} + +message NotifyMcpStateChangedRequest { + reserved 2; + reserved 3; + repeated .exa.cortex_pb.McpServerState states = 1; +} + +message NotifyMcpStateChangedResponse { +} + +enum ActiveEditorType { + ACTIVE_EDITOR_TYPE_UNSPECIFIED = 0; + ACTIVE_EDITOR_TYPE_TEXT_EDITOR = 1; + ACTIVE_EDITOR_TYPE_TERMINAL = 2; +} + +enum SoundType { + SOUND_TYPE_UNSPECIFIED = 0; + SOUND_TYPE_CASCADE_DONE = 1; +} + diff --git a/lsp_protos/exa/file_system_provider_pb/file_system_provider.proto b/lsp_protos/exa/file_system_provider_pb/file_system_provider.proto new file mode 100755 index 0000000..4c657a7 --- /dev/null +++ b/lsp_protos/exa/file_system_provider_pb/file_system_provider.proto @@ -0,0 +1,81 @@ +syntax = "proto3"; + +package exa.file_system_provider_pb; + +import "buf/validate/validate.proto"; +import "google/protobuf/timestamp.proto"; + +service FileSystemProviderService { + rpc Stat (.exa.file_system_provider_pb.StatRequest) returns (.exa.file_system_provider_pb.StatResponse) {} + rpc ReadDirectory (.exa.file_system_provider_pb.ReadDirectoryRequest) returns (.exa.file_system_provider_pb.ReadDirectoryResponse) {} + rpc ReadFile (.exa.file_system_provider_pb.ReadFileRequest) returns (.exa.file_system_provider_pb.ReadFileResponse) {} +} + +message FileStat { + .exa.file_system_provider_pb.FileType type = 1; + int64 size = 2; + .google.protobuf.Timestamp mtime = 3; + .google.protobuf.Timestamp ctime = 4; + .exa.file_system_provider_pb.FileSystemError error = 5; + string error_message = 6; +} + +message StatRequest { + repeated string uri = 1; +} + +message StatResponse { + repeated .exa.file_system_provider_pb.FileStat file_stat = 1; +} + +message ReadDirectoryRequest { + repeated string uri = 1; +} + +message ReadDirectoryResponse { + repeated .exa.file_system_provider_pb.DirEntries entries = 1; +} + +message DirEntries { + message FileStatEntriesEntry { + string key = 1; + .exa.file_system_provider_pb.FileStat value = 2; + } + + repeated .exa.file_system_provider_pb.DirEntries.FileStatEntriesEntry file_stat_entries = 1; + .exa.file_system_provider_pb.FileSystemError error = 2; + string error_message = 3; +} + +message ReadFileRequest { + repeated string uri = 1; +} + +message ReadFileResponse { + repeated .exa.file_system_provider_pb.FileData file_data = 1; +} + +message FileData { + bytes content = 1; + .exa.file_system_provider_pb.FileSystemError error = 2; + string error_message = 3; +} + +enum FileType { + FILE_TYPE_UNSPECIFIED = 0; + FILE_TYPE_DIRECTORY = 1; + FILE_TYPE_REGULAR = 2; + FILE_TYPE_SYMLINK = 3; +} + +enum FileSystemError { + FILE_SYSTEM_ERROR_UNSPECIFIED = 0; + FILE_SYSTEM_ERROR_NOT_DIRECTORY = 1; + FILE_SYSTEM_ERROR_IS_DIRECTORY = 2; + FILE_SYSTEM_ERROR_NOT_EXIST = 3; + FILE_SYSTEM_ERROR_EXISTS = 4; + FILE_SYSTEM_ERROR_PERMISSION = 5; + FILE_SYSTEM_ERROR_INVALID_URI = 6; + FILE_SYSTEM_ERROR_OTHER = 7; +} + diff --git a/lsp_protos/exa/index_pb/index.proto b/lsp_protos/exa/index_pb/index.proto new file mode 100755 index 0000000..d56c4bf --- /dev/null +++ b/lsp_protos/exa/index_pb/index.proto @@ -0,0 +1,472 @@ +syntax = "proto3"; + +package exa.index_pb; + +option go_package = "github.com/Exafunction/Exafunction/exa/index_pb"; + +import "buf/validate/validate.proto"; +import "exa/codeium_common_pb/codeium_common.proto"; +import "google/protobuf/duration.proto"; +import "google/protobuf/timestamp.proto"; + +service IndexManagementService { + rpc EnableIndexing (.exa.index_pb.EnableIndexingRequest) returns (.exa.index_pb.EnableIndexingResponse) {} + rpc DisableIndexing (.exa.index_pb.DisableIndexingRequest) returns (.exa.index_pb.DisableIndexingResponse) {} + rpc AddRepository (.exa.index_pb.AddRepositoryRequest) returns (.exa.index_pb.AddRepositoryResponse) {} + rpc EditRepository (.exa.index_pb.EditRepositoryRequest) returns (.exa.index_pb.EditRepositoryResponse) {} + rpc DeleteRepository (.exa.index_pb.DeleteRepositoryRequest) returns (.exa.index_pb.DeleteRepositoryResponse) {} + rpc GetRepositories (.exa.index_pb.GetRepositoriesRequest) returns (.exa.index_pb.GetRepositoriesResponse) {} + rpc AddIndex (.exa.index_pb.AddIndexRequest) returns (.exa.index_pb.AddIndexResponse) {} + rpc CancelIndexing (.exa.index_pb.CancelIndexingRequest) returns (.exa.index_pb.CancelIndexingResponse) {} + rpc RetryIndexing (.exa.index_pb.RetryIndexingRequest) returns (.exa.index_pb.RetryIndexingResponse) {} + rpc DeleteIndex (.exa.index_pb.DeleteIndexRequest) returns (.exa.index_pb.DeleteIndexResponse) {} + rpc GetIndexes (.exa.index_pb.GetIndexesRequest) returns (.exa.index_pb.GetIndexesResponse) {} + rpc GetIndex (.exa.index_pb.GetIndexRequest) returns (.exa.index_pb.GetIndexResponse) {} + rpc GetRemoteIndexStats (.exa.index_pb.GetRemoteIndexStatsRequest) returns (.exa.index_pb.GetRemoteIndexStatsResponse) {} + rpc PruneDatabase (.exa.index_pb.PruneDatabaseRequest) returns (.exa.index_pb.PruneDatabaseResponse) {} + rpc GetDatabaseStats (.exa.index_pb.GetDatabaseStatsRequest) returns (.exa.index_pb.GetDatabaseStatsResponse) {} + rpc SetIndexConfig (.exa.index_pb.SetIndexConfigRequest) returns (.exa.index_pb.SetIndexConfigResponse) {} + rpc GetIndexConfig (.exa.index_pb.GetIndexConfigRequest) returns (.exa.index_pb.GetIndexConfigResponse) {} + rpc GetNumberConnections (.exa.index_pb.GetNumberConnectionsRequest) returns (.exa.index_pb.GetNumberConnectionsResponse) {} + rpc GetConnectionsDebugInfo (.exa.index_pb.GetConnectionsDebugInfoRequest) returns (.exa.index_pb.GetConnectionsDebugInfoResponse) {} +} + +service IndexService { + rpc GetIndexedRepositories (.exa.index_pb.GetIndexedRepositoriesRequest) returns (.exa.index_pb.GetIndexedRepositoriesResponse) {} + rpc GetNearestCCIsFromEmbedding (.exa.index_pb.GetNearestCCIsFromEmbeddingRequest) returns (.exa.index_pb.GetNearestCCIsFromEmbeddingResponse) {} + rpc GetEmbeddingsForCodeContextItems (.exa.index_pb.GetEmbeddingsForCodeContextItemsRequest) returns (.exa.index_pb.GetEmbeddingsForCodeContextItemsResponse) {} + rpc GetMatchingFilePaths (.exa.index_pb.GetMatchingFilePathsRequest) returns (.exa.index_pb.GetMatchingFilePathsResponse) {} +} + +message IndexDbVersion { + int32 version = 1; + int32 enterprise_version = 2; +} + +message IndexBuildConfig { + .exa.index_pb.IndexDbVersion db_version = 2; + int32 cci_timeout_secs = 3; + .exa.index_pb.IndexMode index_mode = 4; +} + +message RepositoryConfig { + message AutoIndexConfig { + string branch_name = 1; + .google.protobuf.Duration interval = 2; + int32 max_num_auto_indexes = 3; + } + + string git_url = 1; + .exa.codeium_common_pb.ScmProvider scm_provider = 2; + .exa.index_pb.RepositoryConfig.AutoIndexConfig auto_index_config = 3; + bool store_snippets = 4; + repeated string whitelisted_groups = 5; + bool use_github_app = 6; + string auth_uid = 7; + string email = 9; + string service_key_id = 8; +} + +message IndexConfig { + .google.protobuf.Timestamp prune_time = 1; + .google.protobuf.Duration prune_interval = 2; + bool enable_prune = 3; + bool enable_smallest_repo_first = 4; + bool enable_round_robin = 5; +} + +message VectorIndexStats { + int64 num_embeddings = 1; + int64 index_bytes_count = 2; +} + +message ProgressBar { + float progress = 1; + string text = 2; + .google.protobuf.Duration remaining_time = 3; +} + +message Index { + message RepoStats { + int64 size = 1; + int64 file_count = 2; + int64 size_no_ignore = 3; + int64 file_count_no_ignore = 4; + } + + message IndexingProgressEntry { + string key = 1; + .exa.index_pb.ProgressBar value = 2; + } + + string id = 1; + string repo_name = 2; + string workspace = 3; + .exa.codeium_common_pb.GitRepoInfo repo_info = 4; + .google.protobuf.Timestamp created_at = 5; + .google.protobuf.Timestamp updated_at = 6; + .google.protobuf.Timestamp scheduled_at = 13; + .exa.index_pb.IndexingStatus status = 7; + string status_detail = 8; + bool auto_indexed = 9; + bool has_snippets = 12; + string auth_uid = 15; + string email = 16; + .exa.index_pb.Index.RepoStats repo_stats = 14; + repeated .exa.index_pb.Index.IndexingProgressEntry indexing_progress = 10; + .exa.index_pb.VectorIndexStats index_stats = 11; +} + +message Repository { + string repo_name = 1; + .exa.index_pb.RepositoryConfig config = 2; + .google.protobuf.Timestamp created_at = 4; + .google.protobuf.Timestamp updated_at = 5; + .google.protobuf.Timestamp last_used_at = 6; + .exa.index_pb.Index latest_index = 3; +} + +message RequestIndexVersion { + string version_alias = 3; + oneof version { + string commit = 1; + string branch = 2; + } +} + +message ManagementMetadata { + string auth_token = 1; + string auth_uid = 2; + string service_key = 3; + bool force_target_public_index = 4; + string force_team_id = 5; + string service_key_id = 6; +} + +message AddRepositoryRequest { + .exa.index_pb.ManagementMetadata metadata = 1; + .exa.index_pb.RepositoryConfig config = 2; + .exa.index_pb.RequestIndexVersion initial_index = 3; +} + +message AddRepositoryResponse { + string repo_name = 1; + string index_id = 2; +} + +message EnableIndexingRequest { + .exa.index_pb.ManagementMetadata metadata = 1; + .exa.index_pb.IndexBuildConfig config = 2; +} + +message EnableIndexingResponse { +} + +message DisableIndexingRequest { + .exa.index_pb.ManagementMetadata metadata = 1; +} + +message DisableIndexingResponse { +} + +message EditRepositoryRequest { + .exa.index_pb.ManagementMetadata metadata = 1; + string repo_name = 2; + .exa.index_pb.RepositoryConfig config = 3; +} + +message EditRepositoryResponse { +} + +message DeleteRepositoryRequest { + .exa.index_pb.ManagementMetadata metadata = 1; + string repo_name = 2; + repeated string repo_names = 3; +} + +message DeleteRepositoryResponse { +} + +message GetRepositoriesFilter { + string repo_name = 1; + string group_id = 2; +} + +message GetRepositoriesRequest { + .exa.index_pb.ManagementMetadata metadata = 1; + .exa.index_pb.GetRepositoriesFilter filter = 2; +} + +message GetRepositoriesResponse { + repeated .exa.index_pb.Repository repositories = 1; +} + +message GetIndexesRequest { + .exa.index_pb.ManagementMetadata metadata = 1; + string repo_name = 2; +} + +message GetIndexesResponse { + repeated .exa.index_pb.Index indexes = 1; +} + +message GetIndexRequest { + .exa.index_pb.ManagementMetadata metadata = 1; + string index_id = 2; +} + +message GetIndexResponse { + .exa.index_pb.Index index = 1; + .exa.index_pb.Repository repository = 2; +} + +message RemoteIndexStats { + string index_id = 1; + int64 cci_count = 2; + int64 snippet_count = 3; + int64 embedding_count = 4; +} + +message GetRemoteIndexStatsRequest { + .exa.index_pb.ManagementMetadata metadata = 1; + repeated string index_ids = 2; +} + +message GetRemoteIndexStatsResponse { + repeated .exa.index_pb.RemoteIndexStats index_stats = 1; +} + +message AddIndexRequest { + .exa.index_pb.ManagementMetadata metadata = 1; + string repo_name = 2; + .exa.index_pb.RequestIndexVersion version = 3; +} + +message AddIndexResponse { + string index_id = 1; +} + +message CancelIndexingRequest { + .exa.index_pb.ManagementMetadata metadata = 1; + string index_id = 2; + repeated string index_ids = 3; +} + +message CancelIndexingResponse { +} + +message RetryIndexingRequest { + .exa.index_pb.ManagementMetadata metadata = 1; + string index_id = 2; + repeated string index_ids = 3; +} + +message RetryIndexingResponse { +} + +message DeleteIndexRequest { + .exa.index_pb.ManagementMetadata metadata = 1; + string index_id = 2; + repeated string index_ids = 3; +} + +message DeleteIndexResponse { +} + +message PruneDatabaseRequest { + .exa.index_pb.ManagementMetadata metadata = 1; +} + +message PruneDatabaseResponse { +} + +message GetDatabaseStatsRequest { + .exa.index_pb.ManagementMetadata metadata = 1; +} + +message GetDatabaseStatsResponse { + int64 database_total_bytes_count = 1; + int64 table_total_bytes_count = 2; + int64 index_total_bytes_count = 3; + int64 estimate_prunable_bytes = 4; + bool is_pruning = 5; + string last_prune_error = 6; + int64 all_tables_bytes_count = 7; +} + +message SetIndexConfigRequest { + .exa.index_pb.ManagementMetadata metadata = 1; + .exa.index_pb.IndexConfig index_config = 2; +} + +message SetIndexConfigResponse { +} + +message GetIndexConfigRequest { + .exa.index_pb.ManagementMetadata metadata = 1; +} + +message GetIndexConfigResponse { + .exa.index_pb.IndexConfig index_config = 1; +} + +message GetNumberConnectionsRequest { + .exa.index_pb.ManagementMetadata metadata = 1; +} + +message GetNumberConnectionsResponse { + message ConnectionsMapEntry { + string key = 1; + uint32 value = 2; + } + + repeated .exa.index_pb.GetNumberConnectionsResponse.ConnectionsMapEntry connections_map = 1; +} + +message GetConnectionsDebugInfoRequest { + .exa.index_pb.ManagementMetadata metadata = 1; +} + +message GetConnectionsDebugInfoResponse { + string debug_info = 1; +} + +message GetIndexedRepositoriesRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + bool include_incomplete = 2; + repeated string group_ids_filter = 3; +} + +message GetIndexedRepositoriesResponse { + repeated .exa.codeium_common_pb.GitRepoInfo repositories = 1; + repeated .exa.index_pb.Index indexes = 2; +} + +message RepositoryFilter { + .exa.codeium_common_pb.GitRepoInfo repository = 1; + repeated string excluded_files = 2; + repeated string filter_paths = 3; +} + +message GetMatchingFilePathsRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + .exa.codeium_common_pb.GitRepoInfo repository = 2; + string query = 3; + uint32 max_items = 4; + repeated string group_ids_filter = 5; +} + +message GetMatchingFilePathsResponse { + repeated string relative_file_paths = 1; +} + +message GetNearestCCIsFromEmbeddingRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + .exa.codeium_common_pb.Embedding embedding = 2; + repeated .exa.index_pb.RepositoryFilter repository_filters = 3; + int64 max_results = 4; + repeated string group_ids_filter = 5; +} + +message ScoredContextItem { + .exa.codeium_common_pb.CodeContextItem code_context_item = 1; + float score = 2; +} + +message GetNearestCCIsFromEmbeddingResponse { + repeated .exa.index_pb.ScoredContextItem scored_context_items = 1; +} + +message GetEmbeddingsForCodeContextItemsRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + repeated .exa.codeium_common_pb.CodeContextItem code_context_items = 2; + .exa.codeium_common_pb.ContextSnippetType snippet_type = 3; +} + +message GetEmbeddingsForCodeContextItemsResponse { + repeated .exa.codeium_common_pb.Embedding embeddings = 1; +} + +message IndexStats { + string repository_name = 1; + int64 file_count = 2; + int64 code_context_item_count = 3; +} + +message IndexerEvent { + message Deletion { + string absolute_uri = 1; + } + + message Untrack { + string absolute_uri = 1; + repeated .exa.codeium_common_pb.WorkspacePath paths = 2; + string workspace_uri = 3; + } + + message Update { + message AddWorkspaceInfo { + uint64 add_workspace_uid = 1; + uint64 add_workspace_queue_uid = 2; + } + + string absolute_uri = 1; + repeated .exa.codeium_common_pb.WorkspacePath paths = 2; + .google.protobuf.Timestamp mod_time = 3; + .exa.index_pb.IndexerEvent.Update.AddWorkspaceInfo add_workspace_info = 4; + } + + message AddWorkspace { + uint64 add_workspace_uid = 1; + uint64 add_workspace_queue_uid = 2; + string workspace_uri = 3; + int64 num_files = 4; + int64 size = 5; + } + + message RemoveWorkspace { + string workspace_uri = 1; + } + + message IgnoreWorkspace { + string workspace_uri = 1; + } + + message AddCommit { + string sha = 1; + } + + uint64 uid = 1; + oneof event_oneof { + .exa.index_pb.IndexerEvent.Deletion deletion = 2; + .exa.index_pb.IndexerEvent.Untrack untrack = 3; + .exa.index_pb.IndexerEvent.Update update = 4; + .exa.index_pb.IndexerEvent.AddWorkspace add_workspace = 5; + .exa.index_pb.IndexerEvent.RemoveWorkspace remove_workspace = 6; + .exa.index_pb.IndexerEvent.IgnoreWorkspace ignore_workspace = 7; + .exa.index_pb.IndexerEvent.AddCommit add_commit = 8; + } +} + +enum IndexMode { + INDEX_MODE_UNSPECIFIED = 0; + INDEX_MODE_HALFVEC = 1; + INDEX_MODE_BINARY = 2; + INDEX_MODE_BINARY_WITH_RERANK = 3; + INDEX_MODE_BRUTE_FORCE = 4; + INDEX_MODE_RANDOM_SEARCH = 5; +} + +enum IndexingStatus { + INDEXING_STATUS_UNSPECIFIED = 0; + INDEXING_STATUS_ERROR = 1; + INDEXING_STATUS_QUEUED = 2; + INDEXING_STATUS_CLONING_REPO = 3; + INDEXING_STATUS_SCANNING_REPO = 4; + INDEXING_STATUS_GENERATING_EMBEDDINGS = 5; + INDEXING_STATUS_VECTOR_INDEXING = 6; + INDEXING_STATUS_DONE = 7; + INDEXING_STATUS_CANCELING = 8; + INDEXING_STATUS_CANCELED = 9; +} + diff --git a/lsp_protos/exa/knowledge_base_pb/knowledge_base.proto b/lsp_protos/exa/knowledge_base_pb/knowledge_base.proto new file mode 100755 index 0000000..282be41 --- /dev/null +++ b/lsp_protos/exa/knowledge_base_pb/knowledge_base.proto @@ -0,0 +1,147 @@ +syntax = "proto3"; + +package exa.knowledge_base_pb; + +option go_package = "github.com/Exafunction/Exafunction/exa/knowledge_base_pb"; + +import "buf/validate/validate.proto"; +import "exa/auto_cascade_common_pb/auto_cascade_common.proto"; +import "exa/codeium_common_pb/codeium_common.proto"; +import "exa/opensearch_clients_pb/opensearch_clients.proto"; +import "google/protobuf/timestamp.proto"; + +service KnowledgeBaseService { + rpc CreateKnowledgeBaseItem (.exa.knowledge_base_pb.CreateKnowledgeBaseItemRequest) returns (.exa.knowledge_base_pb.CreateKnowledgeBaseItemResponse) {} + rpc EditKnowledgeBaseItem (.exa.knowledge_base_pb.EditKnowledgeBaseItemRequest) returns (.exa.knowledge_base_pb.EditKnowledgeBaseItemResponse) {} + rpc DeleteKnowledgeBaseItem (.exa.knowledge_base_pb.DeleteKnowledgeBaseItemRequest) returns (.exa.knowledge_base_pb.DeleteKnowledgeBaseItemResponse) {} + rpc ReadKnowledgeBaseItem (.exa.knowledge_base_pb.ReadKnowledgeBaseItemRequest) returns (.exa.knowledge_base_pb.ReadKnowledgeBaseItemResponse) {} + rpc GetKnowledgeBaseItems (.exa.knowledge_base_pb.GetKnowledgeBaseItemsRequest) returns (.exa.knowledge_base_pb.GetKnowledgeBaseItemsResponse) {} + rpc GetKnowledgeBaseItemsForTeam (.exa.knowledge_base_pb.GetKnowledgeBaseItemsForTeamRequest) returns (.exa.knowledge_base_pb.GetKnowledgeBaseItemsForTeamResponse) {} + rpc GetGithubPullRequestSearchInfo (.exa.knowledge_base_pb.GetGithubPullRequestSearchInfoRequest) returns (.exa.knowledge_base_pb.GetGithubPullRequestSearchInfoResponse) {} + rpc CreateConnection (.exa.knowledge_base_pb.CreateConnectionRequest) returns (.exa.knowledge_base_pb.CreateConnectionResponse) {} + rpc RemoveConnection (.exa.knowledge_base_pb.RemoveConnectionRequest) returns (.exa.knowledge_base_pb.RemoveConnectionResponse) {} + rpc GetConnection (.exa.knowledge_base_pb.GetConnectionRequest) returns (.exa.knowledge_base_pb.GetConnectionResponse) {} + rpc GetGithubIntegrationStatus (.exa.knowledge_base_pb.GetGithubIntegrationStatusRequest) returns (.exa.knowledge_base_pb.GetGithubIntegrationStatusResponse) {} +} + +message KnowledgeBaseItem { + string identifier = 1; + .exa.opensearch_clients_pb.ConnectorType connector_type = 2; + string url = 3; + string title = 4; + string description = 5; + string content = 6; + .google.protobuf.Timestamp last_crawled_at = 7; + string user_name = 8; +} + +message CreateKnowledgeBaseItemRequest { + reserved "title"; + reserved "url"; + reserved "description"; + reserved 3; + reserved 4; + reserved 5; + .exa.codeium_common_pb.Metadata metadata = 1; + .exa.opensearch_clients_pb.ConnectorType connector_type = 2; + repeated string urls = 6; +} + +message CreateKnowledgeBaseItemResponse { + string identifier = 1; + string title = 2; + string url = 3; +} + +message EditKnowledgeBaseItemRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string identifier = 2; + string description = 3; +} + +message EditKnowledgeBaseItemResponse { +} + +message DeleteKnowledgeBaseItemRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string identifier = 2; +} + +message DeleteKnowledgeBaseItemResponse { +} + +message ReadKnowledgeBaseItemRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string identifier = 2; +} + +message ReadKnowledgeBaseItemResponse { + .exa.knowledge_base_pb.KnowledgeBaseItem item = 1; +} + +message GetKnowledgeBaseItemsRequest { + .exa.codeium_common_pb.Metadata metadata = 1; +} + +message GetKnowledgeBaseItemsResponse { + repeated .exa.knowledge_base_pb.KnowledgeBaseItem items = 1; +} + +message GetKnowledgeBaseItemsForTeamRequest { + reserved 2; + .exa.codeium_common_pb.Metadata metadata = 1; +} + +message GetKnowledgeBaseItemsForTeamResponse { + repeated .exa.knowledge_base_pb.KnowledgeBaseItem items = 1; +} + +message CreateConnectionRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + .exa.opensearch_clients_pb.ConnectorType connector_type = 2; + string access_token = 3; + .google.protobuf.Timestamp access_token_expires_at = 4; + string refresh_token = 5; + .google.protobuf.Timestamp refresh_token_expires_at = 6; +} + +message CreateConnectionResponse { +} + +message RemoveConnectionRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + .exa.opensearch_clients_pb.ConnectorType connector_type = 2; +} + +message RemoveConnectionResponse { +} + +message GetConnectionRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + .exa.opensearch_clients_pb.ConnectorType connector_type = 2; +} + +message GetConnectionResponse { + bool enabled = 1; + string access_token = 2; +} + +message GetGithubPullRequestSearchInfoRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string query = 2; + int32 limit = 3; +} + +message GetGithubPullRequestSearchInfoResponse { + repeated .exa.auto_cascade_common_pb.GithubPullRequestInfo pull_request_infos = 1; +} + +message GetGithubIntegrationStatusRequest { + .exa.codeium_common_pb.Metadata metadata = 1; +} + +message GetGithubIntegrationStatusResponse { + string username = 1; + repeated .exa.auto_cascade_common_pb.GithubInstallationInfo installations = 2; +} + diff --git a/lsp_protos/exa/language_server_pb/language_server.proto b/lsp_protos/exa/language_server_pb/language_server.proto new file mode 100755 index 0000000..5b41940 --- /dev/null +++ b/lsp_protos/exa/language_server_pb/language_server.proto @@ -0,0 +1,2365 @@ +syntax = "proto3"; + +package exa.language_server_pb; + +option go_package = "github.com/Exafunction/Exafunction/exa/language_server_pb"; + +import "buf/validate/validate.proto"; +import "exa/auto_cascade_common_pb/auto_cascade_common.proto"; +import "exa/bug_checker_pb/bug_checker.proto"; +import "exa/cascade_plugins_pb/cascade_plugins.proto"; +import "exa/chat_pb/chat.proto"; +import "exa/code_edit/code_edit_pb/code_edit.proto"; +import "exa/codeium_common_pb/codeium_common.proto"; +import "exa/cortex_pb/cortex.proto"; +import "exa/diff_action_pb/diff_action.proto"; +import "exa/index_pb/index.proto"; +import "exa/knowledge_base_pb/knowledge_base.proto"; +import "exa/reactive_component_pb/reactive_component.proto"; +import "google/protobuf/duration.proto"; +import "google/protobuf/timestamp.proto"; + +service LanguageServerService { + rpc GetCompletions (.exa.language_server_pb.GetCompletionsRequest) returns (.exa.language_server_pb.GetCompletionsResponse) {} + rpc AcceptCompletion (.exa.language_server_pb.AcceptCompletionRequest) returns (.exa.language_server_pb.AcceptCompletionResponse) {} + rpc ProvideCompletionFeedback (.exa.language_server_pb.ProvideCompletionFeedbackRequest) returns (.exa.language_server_pb.ProvideCompletionFeedbackResponse) {} + rpc Heartbeat (.exa.language_server_pb.HeartbeatRequest) returns (.exa.language_server_pb.HeartbeatResponse) {} + rpc GetStatus (.exa.language_server_pb.GetStatusRequest) returns (.exa.language_server_pb.GetStatusResponse) {} + rpc GetCommandModelConfigs (.exa.language_server_pb.GetCommandModelConfigsRequest) returns (.exa.language_server_pb.GetCommandModelConfigsResponse) {} + rpc GetCascadeModelConfigs (.exa.language_server_pb.GetCascadeModelConfigsRequest) returns (.exa.language_server_pb.GetCascadeModelConfigsResponse) {} + rpc GetProcesses (.exa.language_server_pb.GetProcessesRequest) returns (.exa.language_server_pb.GetProcessesResponse) {} + rpc GetExternalModel (.exa.language_server_pb.GetExternalModelRequest) returns (.exa.language_server_pb.GetExternalModelResponse) {} + rpc GetAuthToken (.exa.language_server_pb.GetAuthTokenRequest) returns (.exa.language_server_pb.GetAuthTokenResponse) {} + rpc RecordEvent (.exa.language_server_pb.RecordEventRequest) returns (.exa.language_server_pb.RecordEventResponse) {} + rpc RecordSystemMetrics (.exa.language_server_pb.RecordSystemMetricsRequest) returns (.exa.language_server_pb.RecordSystemMetricsResponse) {} + rpc CancelRequest (.exa.language_server_pb.CancelRequestRequest) returns (.exa.language_server_pb.CancelRequestResponse) {} + rpc EditConfiguration (.exa.language_server_pb.EditConfigurationRequest) returns (.exa.language_server_pb.EditConfigurationResponse) {} + rpc MigrateApiKey (.exa.language_server_pb.MigrateApiKeyRequest) returns (.exa.language_server_pb.MigrateApiKeyResponse) {} + rpc GetPrimaryApiKeyForDevsOnly (.exa.language_server_pb.GetPrimaryApiKeyForDevsOnlyRequest) returns (.exa.language_server_pb.GetPrimaryApiKeyForDevsOnlyResponse) {} + rpc WellSupportedLanguages (.exa.language_server_pb.WellSupportedLanguagesRequest) returns (.exa.language_server_pb.WellSupportedLanguagesResponse) {} + rpc ProgressBars (.exa.language_server_pb.ProgressBarsRequest) returns (.exa.language_server_pb.ProgressBarsResponse) {} + rpc RecordSearchDocOpen (.exa.language_server_pb.RecordSearchDocOpenRequest) returns (.exa.language_server_pb.RecordSearchDocOpenResponse) {} + rpc RecordSearchResultsView (.exa.language_server_pb.RecordSearchResultsViewRequest) returns (.exa.language_server_pb.RecordSearchResultsViewResponse) {} + rpc HandleStreamingCommand (.exa.language_server_pb.HandleStreamingCommandRequest) returns (stream .exa.language_server_pb.HandleStreamingCommandResponse) {} + rpc HandleStreamingTab (.exa.language_server_pb.HandleStreamingTabRequest) returns (stream .exa.language_server_pb.HandleStreamingTabResponse) {} + rpc HandleStreamingTabV2 (.exa.language_server_pb.HandleStreamingTabV2Request) returns (.exa.language_server_pb.HandleStreamingTabV2Response) {} + rpc HandleStreamingTerminalCommand (.exa.language_server_pb.HandleStreamingTerminalCommandRequest) returns (stream .exa.language_server_pb.HandleStreamingTerminalCommandResponse) {} + rpc UploadRecentCommands (.exa.language_server_pb.UploadRecentCommandsRequest) returns (.exa.language_server_pb.UploadRecentCommandsResponse) {} + rpc GetBrainStatus (.exa.language_server_pb.GetBrainStatusRequest) returns (.exa.language_server_pb.GetBrainStatusResponse) {} + rpc SetPinnedGuideline (.exa.language_server_pb.SetPinnedGuidelineRequest) returns (.exa.language_server_pb.SetPinnedGuidelineResponse) {} + rpc SetPinnedContext (.exa.language_server_pb.SetPinnedContextRequest) returns (.exa.language_server_pb.SetPinnedContextResponse) {} + rpc AddTrackedWorkspace (.exa.language_server_pb.AddTrackedWorkspaceRequest) returns (.exa.language_server_pb.AddTrackedWorkspaceResponse) {} + rpc RemoveTrackedWorkspace (.exa.language_server_pb.RemoveTrackedWorkspaceRequest) returns (.exa.language_server_pb.RemoveTrackedWorkspaceResponse) {} + rpc StatUri (.exa.language_server_pb.StatUriRequest) returns (.exa.language_server_pb.StatUriResponse) {} + rpc ValidateWindsurfJSAppProjectName (.exa.language_server_pb.ValidateWindsurfJSAppProjectNameRequest) returns (.exa.language_server_pb.ValidateWindsurfJSAppProjectNameResponse) {} + rpc SaveWindsurfJSAppProjectName (.exa.language_server_pb.SaveWindsurfJSAppProjectNameRequest) returns (.exa.language_server_pb.SaveWindsurfJSAppProjectNameResponse) {} + rpc RefreshContextForIdeAction (.exa.language_server_pb.RefreshContextForIdeActionRequest) returns (.exa.language_server_pb.RefreshContextForIdeActionResponse) {} + rpc GetMatchingCodeContext (.exa.language_server_pb.GetMatchingCodeContextRequest) returns (.exa.language_server_pb.GetMatchingCodeContextResponse) {} + rpc GetMatchingIndexedRepos (.exa.language_server_pb.GetMatchingIndexedReposRequest) returns (.exa.language_server_pb.GetMatchingIndexedReposResponse) {} + rpc GetMatchingContextScopeItems (.exa.language_server_pb.GetMatchingContextScopeItemsRequest) returns (.exa.language_server_pb.GetMatchingContextScopeItemsResponse) {} + rpc GetSuggestedContextScopeItems (.exa.language_server_pb.GetSuggestedContextScopeItemsRequest) returns (.exa.language_server_pb.GetSuggestedContextScopeItemsResponse) {} + rpc GetChatMessage (.exa.chat_pb.GetChatMessageRequest) returns (stream .exa.language_server_pb.GetChatMessageResponse) {} + rpc RawGetChatMessage (.exa.chat_pb.RawGetChatMessageRequest) returns (stream .exa.language_server_pb.RawGetChatMessageResponse) {} + rpc GetDeepWiki (.exa.chat_pb.GetDeepWikiRequest) returns (stream .exa.language_server_pb.GetDeepWikiResponse) {} + rpc CheckUserMessageRateLimit (.exa.language_server_pb.CheckUserMessageRateLimitRequest) returns (.exa.language_server_pb.CheckUserMessageRateLimitResponse) {} + rpc GetMessageTokenCount (.exa.language_server_pb.GetMessageTokenCountRequest) returns (.exa.language_server_pb.GetMessageTokenCountResponse) {} + rpc RecordChatFeedback (.exa.language_server_pb.RecordChatFeedbackRequest) returns (.exa.language_server_pb.RecordChatFeedbackResponse) {} + rpc RecordChatPanelSession (.exa.language_server_pb.RecordChatPanelSessionRequest) returns (.exa.language_server_pb.RecordChatPanelSessionResponse) {} + rpc CheckChatCapacity (.exa.language_server_pb.CheckChatCapacityRequest) returns (.exa.language_server_pb.CheckChatCapacityResponse) {} + rpc ShouldEnableUnleash (.exa.language_server_pb.ShouldEnableUnleashRequest) returns (.exa.language_server_pb.ShouldEnableUnleashResponse) {} + rpc GetWorkspaceEditState (.exa.language_server_pb.GetWorkspaceEditStateRequest) returns (.exa.language_server_pb.GetWorkspaceEditStateResponse) {} + rpc GetRepoInfos (.exa.language_server_pb.GetRepoInfosRequest) returns (.exa.language_server_pb.GetRepoInfosResponse) {} + rpc GetWorkspaceInfos (.exa.language_server_pb.GetWorkspaceInfosRequest) returns (.exa.language_server_pb.GetWorkspaceInfosResponse) {} + rpc GenerateCommitMessage (.exa.language_server_pb.GenerateCommitMessageRequest) returns (.exa.language_server_pb.GenerateCommitMessageResponse) {} + rpc RecordCommitMessageSave (.exa.language_server_pb.RecordCommitMessageSaveRequest) returns (.exa.language_server_pb.RecordCommitMessageSaveResponse) {} + rpc SendActionToChatPanel (.exa.language_server_pb.SendActionToChatPanelRequest) returns (.exa.language_server_pb.SendActionToChatPanelResponse) {} + rpc GetUserSettings (.exa.language_server_pb.GetUserSettingsRequest) returns (.exa.language_server_pb.GetUserSettingsResponse) {} + rpc SetUserSettings (.exa.language_server_pb.SetUserSettingsRequest) returns (.exa.language_server_pb.SetUserSettingsResponse) {} + rpc GetDefaultWebOrigins (.exa.language_server_pb.GetDefaultWebOriginsRequest) returns (.exa.language_server_pb.GetDefaultWebOriginsResponse) {} + rpc GetDebugDiagnostics (.exa.language_server_pb.GetDebugDiagnosticsRequest) returns (.exa.language_server_pb.GetDebugDiagnosticsResponse) {} + rpc GetUserStatus (.exa.language_server_pb.GetUserStatusRequest) returns (.exa.language_server_pb.GetUserStatusResponse) {} + rpc GetProfileData (.exa.language_server_pb.GetProfileDataRequest) returns (.exa.language_server_pb.GetProfileDataResponse) {} + rpc CaptureCode (.exa.language_server_pb.CaptureCodeRequest) returns (.exa.language_server_pb.CaptureCodeResponse) {} + rpc CaptureFile (.exa.language_server_pb.CaptureFileRequest) returns (.exa.language_server_pb.CaptureFileResponse) {} + rpc GetChangelog (.exa.language_server_pb.GetChangelogRequest) returns (.exa.language_server_pb.GetChangelogResponse) {} + rpc GetFunctions (.exa.language_server_pb.GetFunctionsRequest) returns (.exa.language_server_pb.GetFunctionsResponse) {} + rpc GetClassInfos (.exa.language_server_pb.GetClassInfosRequest) returns (.exa.language_server_pb.GetClassInfosResponse) {} + rpc SetupUniversitySandbox (.exa.language_server_pb.SetupUniversitySandboxRequest) returns (.exa.language_server_pb.SetupUniversitySandboxResponse) {} + rpc Exit (.exa.language_server_pb.ExitRequest) returns (.exa.language_server_pb.ExitResponse) {} + rpc ResetOnboarding (.exa.language_server_pb.ResetOnboardingRequest) returns (.exa.language_server_pb.ResetOnboardingResponse) {} + rpc SkipOnboarding (.exa.language_server_pb.SkipOnboardingRequest) returns (.exa.language_server_pb.SkipOnboardingResponse) {} + rpc GetUserTrajectoryDebug (.exa.language_server_pb.GetUserTrajectoryDebugRequest) returns (.exa.language_server_pb.GetUserTrajectoryDebugResponse) {} + rpc GetUserTrajectoryDescriptions (.exa.language_server_pb.GetUserTrajectoryDescriptionsRequest) returns (.exa.language_server_pb.GetUserTrajectoryDescriptionsResponse) {} + rpc StreamUserTrajectoryReactiveUpdates (.exa.reactive_component_pb.StreamReactiveUpdatesRequest) returns (stream .exa.reactive_component_pb.StreamReactiveUpdatesResponse) {} + rpc GetCascadeMemories (.exa.language_server_pb.GetCascadeMemoriesRequest) returns (.exa.language_server_pb.GetCascadeMemoriesResponse) {} + rpc DeleteCascadeMemory (.exa.language_server_pb.DeleteCascadeMemoryRequest) returns (.exa.language_server_pb.DeleteCascadeMemoryResponse) {} + rpc UpdateCascadeMemory (.exa.language_server_pb.UpdateCascadeMemoryRequest) returns (.exa.language_server_pb.UpdateCascadeMemoryResponse) {} + rpc GetUserMemories (.exa.language_server_pb.GetUserMemoriesRequest) returns (.exa.language_server_pb.GetUserMemoriesResponse) {} + rpc RefreshCustomization (.exa.language_server_pb.RefreshCustomizationRequest) returns (.exa.language_server_pb.RefreshCustomizationResponse) {} + rpc GetConversationTags (.exa.language_server_pb.GetConversationTagsRequest) returns (.exa.language_server_pb.GetConversationTagsResponse) {} + rpc UpdateConversationTags (.exa.language_server_pb.UpdateConversationTagsRequest) returns (.exa.language_server_pb.UpdateConversationTagsResponse) {} + rpc StartCascade (.exa.language_server_pb.StartCascadeRequest) returns (.exa.language_server_pb.StartCascadeResponse) {} + rpc CancelCascadeInvocation (.exa.language_server_pb.CancelCascadeInvocationRequest) returns (.exa.language_server_pb.CancelCascadeInvocationResponse) {} + rpc CancelCascadeInvocationAndWait (.exa.language_server_pb.CancelCascadeInvocationAndWaitRequest) returns (.exa.language_server_pb.CancelCascadeInvocationAndWaitResponse) {} + rpc CancelCascadeSteps (.exa.language_server_pb.CancelCascadeStepsRequest) returns (.exa.language_server_pb.CancelCascadeStepsResponse) {} + rpc SendUserCascadeMessage (.exa.language_server_pb.SendUserCascadeMessageRequest) returns (.exa.language_server_pb.SendUserCascadeMessageResponse) {} + rpc BranchCascade (.exa.language_server_pb.BranchCascadeRequest) returns (.exa.language_server_pb.BranchCascadeResponse) {} + rpc QueueCascadeMessage (.exa.language_server_pb.QueueCascadeMessageRequest) returns (.exa.language_server_pb.QueueCascadeMessageResponse) {} + rpc InterruptWithQueuedMessage (.exa.language_server_pb.InterruptWithQueuedMessageRequest) returns (.exa.language_server_pb.InterruptWithQueuedMessageResponse) {} + rpc RemoveFromQueue (.exa.language_server_pb.RemoveFromQueueRequest) returns (.exa.language_server_pb.RemoveFromQueueResponse) {} + rpc MoveQueuedMessage (.exa.language_server_pb.MoveQueuedMessageRequest) returns (.exa.language_server_pb.MoveQueuedMessageResponse) {} + rpc SyncExploreAgentRun (.exa.language_server_pb.SyncExploreAgentRunRequest) returns (.exa.language_server_pb.SyncExploreAgentRunResponse) {} + rpc RevertToCascadeStep (.exa.language_server_pb.RevertToCascadeStepRequest) returns (.exa.language_server_pb.RevertToCascadeStepResponse) {} + rpc GetRevertPreview (.exa.language_server_pb.GetRevertPreviewRequest) returns (.exa.language_server_pb.GetRevertPreviewResponse) {} + rpc RecordUserStepSnapshot (.exa.language_server_pb.RecordUserStepSnapshotRequest) returns (.exa.language_server_pb.RecordUserStepSnapshotResponse) {} + rpc GetAllCascadeTrajectories (.exa.language_server_pb.GetAllCascadeTrajectoriesRequest) returns (.exa.language_server_pb.GetAllCascadeTrajectoriesResponse) {} + rpc HandleCascadeUserInteraction (.exa.language_server_pb.HandleCascadeUserInteractionRequest) returns (.exa.language_server_pb.HandleCascadeUserInteractionResponse) {} + rpc AcknowledgeCascadeCodeEdit (.exa.language_server_pb.AcknowledgeCascadeCodeEditRequest) returns (.exa.language_server_pb.AcknowledgeCascadeCodeEditResponse) {} + rpc GetCodeValidationStates (.exa.language_server_pb.GetCodeValidationStatesRequest) returns (.exa.language_server_pb.GetCodeValidationStatesResponse) {} + rpc ResolveWorktreeChanges (.exa.language_server_pb.ResolveWorktreeChangesRequest) returns (.exa.language_server_pb.ResolveWorktreeChangesResponse) {} + rpc UndoWorktreeMerge (.exa.language_server_pb.UndoWorktreeMergeRequest) returns (.exa.language_server_pb.UndoWorktreeMergeResponse) {} + rpc DeleteCascadeTrajectory (.exa.language_server_pb.DeleteCascadeTrajectoryRequest) returns (.exa.language_server_pb.DeleteCascadeTrajectoryResponse) {} + rpc RenameCascadeTrajectory (.exa.language_server_pb.RenameCascadeTrajectoryRequest) returns (.exa.language_server_pb.RenameCascadeTrajectoryResponse) {} + rpc InitializeCascadePanelState (.exa.language_server_pb.InitializeCascadePanelStateRequest) returns (.exa.language_server_pb.InitializeCascadePanelStateResponse) {} + rpc UpdatePanelStateWithUserStatus (.exa.language_server_pb.UpdatePanelStateWithUserStatusRequest) returns (.exa.language_server_pb.UpdatePanelStateWithUserStatusResponse) {} + rpc UpdateWorkspaceTrust (.exa.language_server_pb.UpdateWorkspaceTrustRequest) returns (.exa.language_server_pb.UpdateWorkspaceTrustResponse) {} + rpc SpawnArenaModeMidConversation (.exa.language_server_pb.SpawnArenaModeMidConversationRequest) returns (.exa.language_server_pb.SpawnArenaModeMidConversationResponse) {} + rpc ConvergeArenaCascades (.exa.language_server_pb.ConvergeArenaCascadesRequest) returns (.exa.language_server_pb.ConvergeArenaCascadesResponse) {} + rpc StreamCascadePanelReactiveUpdates (.exa.reactive_component_pb.StreamReactiveUpdatesRequest) returns (stream .exa.reactive_component_pb.StreamReactiveUpdatesResponse) {} + rpc StreamCascadeReactiveUpdates (.exa.reactive_component_pb.StreamReactiveUpdatesRequest) returns (stream .exa.reactive_component_pb.StreamReactiveUpdatesResponse) {} + rpc StreamCascadeSummariesReactiveUpdates (.exa.reactive_component_pb.StreamReactiveUpdatesRequest) returns (stream .exa.reactive_component_pb.StreamReactiveUpdatesResponse) {} + rpc ForceBackgroundResearchRefresh (.exa.language_server_pb.ForceBackgroundResearchRefreshRequest) returns (.exa.language_server_pb.ForceBackgroundResearchRefreshResponse) {} + rpc ResolveOutstandingSteps (.exa.language_server_pb.ResolveOutstandingStepsRequest) returns (.exa.language_server_pb.ResolveOutstandingStepsResponse) {} + rpc RefreshMcpServers (.exa.language_server_pb.RefreshMcpServersRequest) returns (.exa.language_server_pb.RefreshMcpServersResponse) {} + rpc GetMcpServerStates (.exa.language_server_pb.GetMcpServerStatesRequest) returns (.exa.language_server_pb.GetMcpServerStatesResponse) {} + rpc GetMcpPrompt (.exa.language_server_pb.GetMcpPromptRequest) returns (.exa.language_server_pb.GetMcpPromptResponse) {} + rpc SaveMcpServerToConfigFile (.exa.language_server_pb.SaveMcpServerToConfigFileRequest) returns (.exa.language_server_pb.SaveMcpServerToConfigFileResponse) {} + rpc UpdateMcpServerInConfigFile (.exa.language_server_pb.UpdateMcpServerInConfigFileRequest) returns (.exa.language_server_pb.UpdateMcpServerInConfigFileResponse) {} + rpc ToggleMcpTool (.exa.language_server_pb.ToggleMcpToolRequest) returns (.exa.language_server_pb.ToggleMcpToolResponse) {} + rpc DismissCodeMapSuggestion (.exa.language_server_pb.DismissCodeMapSuggestionRequest) returns (.exa.language_server_pb.DismissCodeMapSuggestionResponse) {} + rpc StreamTerminalShellCommand (stream .exa.codeium_common_pb.TerminalShellCommandStreamChunk) returns (.exa.language_server_pb.StreamTerminalShellCommandResponse) {} + rpc GetWebDocsOptions (.exa.language_server_pb.GetWebDocsOptionsRequest) returns (.exa.language_server_pb.GetWebDocsOptionsResponse) {} + rpc UpdateDevExperiments (.exa.language_server_pb.UpdateDevExperimentsRequest) returns (.exa.language_server_pb.UpdateDevExperimentsResponse) {} + rpc SetBaseExperiments (.exa.language_server_pb.SetBaseExperimentsRequest) returns (.exa.language_server_pb.SetBaseExperimentsResponse) {} + rpc GetUnleashData (.exa.language_server_pb.GetUnleashDataRequest) returns (.exa.language_server_pb.GetUnleashDataResponse) {} + rpc GetActiveAppDeploymentForWorkspace (.exa.language_server_pb.GetActiveAppDeploymentForWorkspaceRequest) returns (.exa.language_server_pb.GetActiveAppDeploymentForWorkspaceResponse) {} + rpc GetWindsurfJSAppDeployment (.exa.language_server_pb.GetWindsurfJSAppDeploymentRequest) returns (.exa.language_server_pb.GetWindsurfJSAppDeploymentResponse) {} + rpc GetModelStatuses (.exa.language_server_pb.GetModelStatusesRequest) returns (.exa.language_server_pb.GetModelStatusesResponse) {} + rpc UpdateAutoCascadeGithubCredentials (.exa.language_server_pb.UpdateAutoCascadeGithubCredentialsRequest) returns (.exa.language_server_pb.UpdateAutoCascadeGithubCredentialsResponse) {} + rpc GetAllWorkflows (.exa.language_server_pb.GetAllWorkflowsRequest) returns (.exa.language_server_pb.GetAllWorkflowsResponse) {} + rpc CopyBuiltinWorkflowToWorkspace (.exa.language_server_pb.CopyBuiltinWorkflowToWorkspaceRequest) returns (.exa.language_server_pb.CopyBuiltinWorkflowToWorkspaceResponse) {} + rpc GetAllRules (.exa.language_server_pb.GetAllRulesRequest) returns (.exa.language_server_pb.GetAllRulesResponse) {} + rpc GetAllSkills (.exa.language_server_pb.GetAllSkillsRequest) returns (.exa.language_server_pb.GetAllSkillsResponse) {} + rpc GetAllPlans (.exa.language_server_pb.GetAllPlansRequest) returns (.exa.language_server_pb.GetAllPlansResponse) {} + rpc UpdateEnterpriseExperimentsFromUrl (.exa.language_server_pb.UpdateEnterpriseExperimentsFromUrlRequest) returns (.exa.language_server_pb.UpdateEnterpriseExperimentsFromUrlResponse) {} + rpc ImportFromCursor (.exa.language_server_pb.ImportFromCursorRequest) returns (.exa.language_server_pb.ImportFromCursorResponse) {} + rpc CreateCustomizationFile (.exa.language_server_pb.CreateCustomizationFileRequest) returns (.exa.language_server_pb.CreateCustomizationFileResponse) {} + rpc GetTeamOrganizationalControls (.exa.language_server_pb.GetTeamOrganizationalControlsRequest) returns (.exa.language_server_pb.GetTeamOrganizationalControlsResponse) {} + rpc RecordUserGrep (.exa.language_server_pb.RecordUserGrepRequest) returns (.exa.language_server_pb.RecordUserGrepResponse) {} + rpc GetGithubPullRequestSearchInfo (.exa.language_server_pb.GetGithubPullRequestSearchInfoRequest) returns (.exa.language_server_pb.GetGithubPullRequestSearchInfoResponse) {} + rpc CreateTrajectoryShare (.exa.language_server_pb.CreateTrajectoryShareRequest) returns (.exa.language_server_pb.CreateTrajectoryShareResponse) {} + rpc GetKnowledgeBaseItemsForTeam (.exa.language_server_pb.GetKnowledgeBaseItemsForTeamRequest) returns (.exa.language_server_pb.GetKnowledgeBaseItemsForTeamResponse) {} + rpc GetCascadeTrajectory (.exa.language_server_pb.GetCascadeTrajectoryRequest) returns (.exa.language_server_pb.GetCascadeTrajectoryResponse) {} + rpc GetUserTrajectory (.exa.language_server_pb.GetUserTrajectoryRequest) returns (.exa.language_server_pb.GetUserTrajectoryResponse) {} + rpc GetCascadeTrajectorySteps (.exa.language_server_pb.GetCascadeTrajectoryStepsRequest) returns (.exa.language_server_pb.GetCascadeTrajectoryStepsResponse) {} + rpc GetCascadeTrajectoryGeneratorMetadata (.exa.language_server_pb.GetCascadeTrajectoryGeneratorMetadataRequest) returns (.exa.language_server_pb.GetCascadeTrajectoryGeneratorMetadataResponse) {} + rpc GetPatchAndCodeChange (.exa.language_server_pb.GetPatchAndCodeChangeRequest) returns (.exa.language_server_pb.GetPatchAndCodeChangeResponse) {} + rpc GetAvailableCascadePlugins (.exa.language_server_pb.GetAvailableCascadePluginsRequest) returns (.exa.language_server_pb.GetAvailableCascadePluginsResponse) {} + rpc InstallCascadePlugin (.exa.language_server_pb.InstallCascadePluginRequest) returns (.exa.language_server_pb.InstallCascadePluginResponse) {} + rpc GetCascadePluginById (.exa.language_server_pb.GetCascadePluginByIdRequest) returns (.exa.language_server_pb.GetCascadePluginByIdResponse) {} + rpc RecordLints (.exa.language_server_pb.RecordLintsRequest) returns (.exa.language_server_pb.RecordLintsResponse) {} + rpc ReplayGroundTruthTrajectory (.exa.language_server_pb.ReplayGroundTruthTrajectoryRequest) returns (.exa.language_server_pb.ReplayGroundTruthTrajectoryResponse) {} + rpc MountCascadeFilesystem (.exa.language_server_pb.MountCascadeFilesystemRequest) returns (.exa.language_server_pb.MountCascadeFilesystemResponse) {} + rpc UnmountCascadeFilesystem (.exa.language_server_pb.UnmountCascadeFilesystemRequest) returns (.exa.language_server_pb.UnmountCascadeFilesystemResponse) {} + rpc LogCascadeSession (.exa.language_server_pb.LogCascadeSessionRequest) returns (.exa.language_server_pb.LogCascadeSessionResponse) {} + rpc GetTranscription (.exa.language_server_pb.GetTranscriptionRequest) returns (.exa.language_server_pb.GetTranscriptionResponse) {} + rpc GenerateVibeAndReplaceStreaming (.exa.language_server_pb.GenerateVibeAndReplaceStreamingRequest) returns (stream .exa.language_server_pb.GenerateVibeAndReplaceStreamingResponse) {} + rpc GetCodeMapsForRepos (.exa.language_server_pb.GetCodeMapsForReposRequest) returns (.exa.language_server_pb.GetCodeMapsForReposResponse) {} + rpc GetCodeMapsForFile (.exa.language_server_pb.GetCodeMapsForFileRequest) returns (.exa.language_server_pb.GetCodeMapsForFileResponse) {} + rpc GenerateCodeMap (.exa.language_server_pb.GenerateCodeMapRequest) returns (stream .exa.language_server_pb.GenerateCodeMapResponse) {} + rpc BranchCascadeAndGenerateCodeMap (.exa.language_server_pb.BranchCascadeAndGenerateCodeMapRequest) returns (stream .exa.language_server_pb.BranchCascadeAndGenerateCodeMapResponse) {} + rpc ShareCodeMap (.exa.language_server_pb.ShareCodeMapRequest) returns (.exa.language_server_pb.ShareCodeMapResponse) {} + rpc GetSharedCodeMap (.exa.language_server_pb.GetSharedCodeMapRequest) returns (.exa.language_server_pb.GetSharedCodeMapResponse) {} + rpc GetCodeMapSuggestions (.exa.language_server_pb.GetCodeMapSuggestionsRequest) returns (.exa.language_server_pb.GetCodeMapSuggestionsResponse) {} + rpc UpdateCodeMapMetadata (.exa.language_server_pb.UpdateCodeMapMetadataRequest) returns (.exa.language_server_pb.UpdateCodeMapMetadataResponse) {} + rpc SaveCodeMapFromJson (.exa.language_server_pb.SaveCodeMapFromJsonRequest) returns (.exa.language_server_pb.SaveCodeMapFromJsonResponse) {} + rpc CheckBugs (.exa.language_server_pb.CheckBugsRequest) returns (.exa.language_server_pb.CheckBugsResponse) {} + rpc GetLifeguardConfig (.exa.language_server_pb.GetLifeguardConfigRequest) returns (.exa.language_server_pb.GetLifeguardConfigResponse) {} + rpc SubmitBugReport (.exa.language_server_pb.SubmitBugReportRequest) returns (.exa.language_server_pb.SubmitBugReportResponse) {} + rpc OnEdit (.exa.language_server_pb.OnEditRequest) returns (.exa.language_server_pb.OnEditResponse) {} + rpc GetSystemPromptAndTools (.exa.language_server_pb.GetSystemPromptAndToolsRequest) returns (.exa.language_server_pb.GetSystemPromptAndToolsResponse) {} +} + +message GetGithubPullRequestSearchInfoRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string query = 2; +} + +message GetGithubPullRequestSearchInfoResponse { + repeated .exa.auto_cascade_common_pb.GithubPullRequestInfo pull_request_infos = 1; +} + +message UpdateAutoCascadeGithubCredentialsRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string github_token = 2; +} + +message UpdateAutoCascadeGithubCredentialsResponse { +} + +message HandleStreamingCommandRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + .exa.codeium_common_pb.Document document = 2; + .exa.codeium_common_pb.EditorOptions editor_options = 3; + .exa.codeium_common_pb.Model requested_model_id = 4; + uint64 selection_start_line = 6; + uint64 selection_end_line = 7; + string command_text = 8; + .exa.codeium_common_pb.CommandRequestSource request_source = 9; + .exa.codeium_common_pb.ContextScope mentioned_scope = 10; + .exa.codeium_common_pb.ActionPointer action_pointer = 11; + string parent_completion_id = 12; + .exa.diff_action_pb.DiffType diff_type = 13; + repeated .exa.codeium_common_pb.CodeDiagnostic diagnostics = 14; + .exa.codeium_common_pb.SupercompleteTriggerCondition supercomplete_trigger_condition = 15; + .exa.codeium_common_pb.TerminalCommandData terminal_command_data = 16; + .exa.codeium_common_pb.ExperimentConfig experiment_config = 5; + bool ignore_supercomplete_debounce = 17; + string clipboard_entry = 18; + repeated .exa.codeium_common_pb.IntellisenseSuggestion intellisense_suggestions = 19; +} + +message HandleStreamingCommandResponse { + string completion_id = 1; + string prompt_id = 2; + .exa.diff_action_pb.UnifiedDiff diff = 3; + .exa.language_server_pb.LatencyInfo latency_info = 4; + uint64 selection_start_line = 5; + uint64 selection_end_line = 6; + double score = 7; + .exa.diff_action_pb.CharacterDiff character_diff = 8; + .exa.diff_action_pb.ComboDiff combo_diff = 9; + .exa.codeium_common_pb.SuperCompleteFilterReason filter_reason = 10; + .exa.language_server_pb.RequestInfo request_info = 12; + .exa.codeium_common_pb.StopReason stop_reason = 13; + .exa.cortex_pb.CortexTrajectory trajectory = 15; + string raw_text = 16; + string request_uid = 17; + optional .exa.codeium_common_pb.DocumentPosition jump_position = 14; + optional uint64 closest_changed_line = 11; +} + +message HandleStreamingTabRequest { + reserved "deep_wiki_context"; + reserved 10; + .exa.codeium_common_pb.Metadata metadata = 1; + .exa.codeium_common_pb.Document document = 2; + .exa.codeium_common_pb.EditorOptions editor_options = 3; + .exa.language_server_pb.TabRequestSource request_source = 4; + repeated .exa.codeium_common_pb.CodeDiagnostic diagnostics = 5; + .exa.codeium_common_pb.SupercompleteTriggerCondition supercomplete_trigger_condition = 6; + string clipboard_entry = 7; + repeated .exa.codeium_common_pb.IntellisenseSuggestion intellisense_suggestions = 8; + repeated .exa.codeium_common_pb.Document other_documents = 9; +} + +message TabRequestInfo { + string prompt_id = 1; + string prompt = 2; + string typing_as_suggested_prompt_suffix = 3; +} + +message HandleStreamingTabResponse { + reserved 9; + reserved 15; + string completion_id = 1; + string prompt_id = 2; + .exa.diff_action_pb.UnifiedDiff diff = 3; + .exa.language_server_pb.LatencyInfo latency_info = 4; + uint64 selection_start_line = 5; + uint64 selection_end_line = 6; + double score = 7; + .exa.diff_action_pb.CharacterDiff character_diff = 8; + .exa.codeium_common_pb.SuperCompleteFilterReason filter_reason = 10; + .exa.language_server_pb.TabRequestInfo request_info = 12; + .exa.codeium_common_pb.StopReason stop_reason = 13; + string raw_text = 16; + string request_uid = 17; + optional .exa.codeium_common_pb.DocumentPosition jump_position = 14; + optional uint64 closest_changed_line = 11; + optional string old_str = 18; +} + +message HandleStreamingTabV2Request { + reserved "deep_wiki_context"; + reserved 10; + .exa.codeium_common_pb.Metadata metadata = 1; + .exa.codeium_common_pb.Document document = 2; + .exa.codeium_common_pb.EditorOptions editor_options = 3; + repeated .exa.codeium_common_pb.CodeDiagnostic diagnostics = 5; + .exa.codeium_common_pb.SupercompleteTriggerCondition supercomplete_trigger_condition = 6; + string clipboard_entry = 7; + repeated .exa.codeium_common_pb.IntellisenseSuggestion intellisense_suggestions = 8; + repeated .exa.codeium_common_pb.Document other_documents = 9; + .exa.chat_pb.DeepWikiContext deep_wiki_context_v2 = 12; + repeated .exa.cortex_pb.CortexTrajectoryStep predictive_trajectory_steps = 11; + bool disable_supercomplete = 13; + bool disable_tab_jump = 14; + .exa.codeium_common_pb.SupercompleteAggression supercomplete_aggression = 15; +} + +message HandleStreamingTabV2Response { + message Diff { + message SideHintRender { + } + + message InlineHintRender { + } + + string path = 1; + uint64 selection_start_line = 2; + uint64 selection_end_line = 3; + .exa.diff_action_pb.CharacterDiff character_diff = 4; + .exa.codeium_common_pb.DocumentPosition cursor_position = 5; + string old_str = 6; + .exa.diff_action_pb.UnifiedDiff unified_diff = 9; + oneof render_info { + .exa.language_server_pb.HandleStreamingTabV2Response.Diff.SideHintRender side_hint_render = 7; + .exa.language_server_pb.HandleStreamingTabV2Response.Diff.InlineHintRender inline_hint_render = 8; + } + } + + message TabJump { + string path = 1; + .exa.codeium_common_pb.DocumentPosition jump_position = 2; + bool is_import = 3; + } + + message NoOp { + } + + string completion_id = 1; + string prompt_id = 2; + string request_uid = 3; + .exa.codeium_common_pb.SuperCompleteFilterReason filter_reason = 4; + .exa.codeium_common_pb.StopReason stop_reason = 5; + .exa.language_server_pb.TabRequestInfo request_info = 6; + oneof suggestion { + .exa.language_server_pb.HandleStreamingTabV2Response.Diff diff = 7; + .exa.language_server_pb.HandleStreamingTabV2Response.TabJump tab_jump = 8; + .exa.language_server_pb.HandleStreamingTabV2Response.NoOp noop = 9; + } +} + +message UploadRecentCommandsRequest { + .exa.codeium_common_pb.Metadata metadata = 1; +} + +message UploadRecentCommandsResponse { + repeated string request_uids = 1; +} + +message MultilineConfig { + float threshold = 1; +} + +message GetCompletionsRequest { + reserved "api_server_params"; + reserved "super_complete"; + reserved 4; + reserved 11; + .exa.codeium_common_pb.Metadata metadata = 1; + .exa.codeium_common_pb.Document document = 2; + .exa.codeium_common_pb.EditorOptions editor_options = 3; + repeated .exa.codeium_common_pb.Document other_documents = 5; + .exa.codeium_common_pb.MockResponseData mock_response_data = 6; + bool disable_cache = 8; + repeated .exa.codeium_common_pb.CodeContextItem oracle_items = 9; + string model_name = 10; + .exa.codeium_common_pb.Model requested_model_id = 12; + .exa.language_server_pb.MultilineConfig multiline_config = 13; + .exa.codeium_common_pb.ExperimentConfig experiment_config = 7; +} + +message GetCompletionsResponse { + .exa.language_server_pb.State state = 1; + repeated .exa.language_server_pb.CompletionItem completion_items = 2; + repeated .exa.language_server_pb.CompletionItem filtered_completion_items = 7; + .exa.language_server_pb.RequestInfo request_info = 3; + .exa.language_server_pb.LatencyInfo latency_info = 4; + string model_tag = 5; + string prompt_id = 6; + repeated .exa.language_server_pb.CodeRange code_ranges = 8; +} + +message AcceptCompletionRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string completion_id = 2; +} + +message AcceptCompletionResponse { +} + +message ProvideCompletionFeedbackRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + bool is_accepted = 2; + int64 feedback_delay_ms = 3; + string completion_id = 4; + string prompt_id = 5; + .exa.language_server_pb.LatencyInfo latency_info = 6; + .exa.codeium_common_pb.ProviderSource source = 7; + .exa.codeium_common_pb.Document document = 8; + uint64 view_columns_open = 10; + bool is_intentional_reject = 11; + bool is_partial = 12; + string midstream_autocomplete_text = 13; + bool has_active_vim_extension = 14; + string completion_text = 15; + bool is_client_filter_reject = 16; + .exa.codeium_common_pb.ExperimentConfig experiment_config = 9; +} + +message ProvideCompletionFeedbackResponse { +} + +message HeartbeatRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + repeated .exa.codeium_common_pb.ErrorTrace previous_error_traces = 2; + .exa.codeium_common_pb.ExperimentConfig experiment_config = 3; +} + +message HeartbeatResponse { + .google.protobuf.Timestamp last_extension_heartbeat = 1; +} + +message GetStatusRequest { + .exa.codeium_common_pb.Metadata metadata = 1; +} + +message GetStatusResponse { + .exa.codeium_common_pb.IdeStatus status = 1; + bool show_review_prompt = 2; +} + +message GetCascadeModelConfigsRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + optional bool filter = 2; +} + +message GetCascadeModelConfigsResponse { + 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; +} + +message TeamOrganizationalControls { + reserved 7; + string team_id = 1; + repeated string cascade_model_labels = 2; + repeated string command_model_labels = 3; + .google.protobuf.Timestamp created_at = 4; + .google.protobuf.Timestamp updated_at = 5; + repeated string extension_model_labels = 6; + repeated .exa.codeium_common_pb.APIProvider allowed_api_providers = 8; +} + +message GetTeamOrganizationalControlsRequest { + .exa.codeium_common_pb.Metadata metadata = 1; +} + +message GetTeamOrganizationalControlsResponse { + .exa.codeium_common_pb.TeamOrganizationalControls controls = 1; +} + +message GetCommandModelConfigsRequest { + .exa.codeium_common_pb.Metadata metadata = 1; +} + +message GetCommandModelConfigsResponse { + repeated .exa.codeium_common_pb.ClientModelConfig client_model_configs = 1; +} + +message GetProcessesRequest { +} + +message GetExternalModelResponse { + repeated .exa.codeium_common_pb.ExternalModel models = 1; +} + +message GetExternalModelRequest { + string api_key = 1; +} + +message GetProcessesResponse { + reserved "chat_web_server_port"; + reserved 2; + uint32 lsp_port = 1; + uint32 chat_client_port = 3; +} + +message GetAuthTokenRequest { +} + +message GetAuthTokenResponse { + string auth_token = 1; + string uuid = 2; +} + +message RecordEventRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + .exa.codeium_common_pb.Event event = 2; +} + +message RecordEventResponse { +} + +message RecordSystemMetricsRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string system_metrics_json = 2; +} + +message RecordSystemMetricsResponse { +} + +message CancelRequestRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + uint64 request_id = 2; +} + +message CancelRequestResponse { +} + +message EditConfigurationRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + .exa.codeium_common_pb.CompletionConfiguration completion_configuration = 2; +} + +message EditConfigurationResponse { + .exa.codeium_common_pb.CompletionConfiguration completion_configuration = 1; +} + +message GetTranscriptionRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + bytes audio_data = 2; +} + +message GetTranscriptionResponse { + string transcribed_text = 1; +} + +message ValidateWindsurfJSAppProjectNameRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string project_name = 2; +} + +message ValidateWindsurfJSAppProjectNameResponse { + .exa.codeium_common_pb.ValidationStatus status = 1; + string invalid_reason = 3; + repeated string alternative_names = 2; +} + +message SaveWindsurfJSAppProjectNameRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string workspace_uri = 2; + string project_name = 3; +} + +message SaveWindsurfJSAppProjectNameResponse { + .exa.codeium_common_pb.WebAppDeploymentConfig deployment_config = 1; +} + +message RegisterUserRequest { + string firebase_id_token = 1; +} + +message RegisterUserResponse { + string api_key = 1; + string name = 2; + string api_server_url = 3; +} + +message MigrateApiKeyRequest { + string api_key = 1; +} + +message MigrateApiKeyResponse { + string session_token = 1; +} + +message WellSupportedLanguagesRequest { +} + +message WellSupportedLanguagesResponse { + repeated .exa.codeium_common_pb.Language languages = 1; +} + +message ProgressBarsRequest { +} + +message ProgressBarsResponse { + message ProgressBarsEntry { + string key = 1; + .exa.language_server_pb.ProgressBar value = 2; + } + + repeated .exa.language_server_pb.ProgressBarsResponse.ProgressBarsEntry progress_bars = 1; +} + +message RecordSearchDocOpenRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string result_id = 2; +} + +message RecordSearchDocOpenResponse { +} + +message RecordSearchResultsViewRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string cluster_search_id = 2; + string exact_search_id = 3; + repeated string search_result_ids = 4; +} + +message RecordSearchResultsViewResponse { +} + +message ContextInfoRequest { +} + +message ContextInfoResponse { + repeated string active_workspaces = 1; + repeated string ignored_workspaces = 2; +} + +message RefreshContextForIdeActionRequest { + .exa.codeium_common_pb.Metadata metadata = 8; + .exa.codeium_common_pb.Document active_document = 1; + repeated string open_document_filepaths_migrate_me_to_uri = 2; + repeated string open_document_uris = 6; + repeated .exa.codeium_common_pb.Document other_documents = 5; + repeated string workspace_paths_migrate_me_to_uri = 3; + repeated string workspace_uris = 7; + bool blocking = 4; + .exa.codeium_common_pb.ExperimentConfig experiment_config = 9; + .exa.language_server_pb.IdeAction ide_action = 10; + repeated string recently_opened_uris = 11; +} + +message RefreshContextForIdeActionResponse { +} + +message GetMatchingCodeContextRequest { + string query = 1; + bool fuzzy_match = 2; + repeated .exa.codeium_common_pb.CodeContextType allowed_types = 3; + int32 max_items = 4; + bool case_insensitive = 5; +} + +message GetMatchingCodeContextResponse { + repeated .exa.codeium_common_pb.CodeContextItem matched_items = 1; +} + +message GetMatchingIndexedReposRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string query = 2; + bool fuzzy_match = 3; + int32 max_items = 4; + bool case_insensitive = 5; +} + +message GetMatchingIndexedReposResponse { + repeated .exa.codeium_common_pb.GitRepoInfo matched_repositories = 1; +} + +message GetChatMessageResponse { + .exa.chat_pb.ChatMessage chat_message = 1; + uint32 num_tokens_in_intent = 2; +} + +message RawGetChatMessageResponse { + .exa.chat_pb.RawChatMessage delta_message = 1; +} + +message GetDeepWikiResponse { + .exa.language_server_pb.RawGetChatMessageResponse response = 1; + string request_id = 2; + .exa.codeium_common_pb.DeepWikiModelType model_type = 3; + string followup_questions = 4; + bool is_article_done = 5; +} + +message CheckUserMessageRateLimitRequest { + reserved "model"; + reserved 2; + .exa.codeium_common_pb.Metadata metadata = 1; + string model_uid = 3; +} + +message CheckUserMessageRateLimitResponse { + bool has_capacity = 1; + string message = 2; + int32 messages_remaining = 3; + int32 max_messages = 4; + int64 resets_in_seconds = 5; +} + +message GetMessageTokenCountRequest { + string chat_message = 1; + .exa.codeium_common_pb.Model requested_model_id = 2; +} + +message GetMessageTokenCountResponse { + uint32 token_count = 1; +} + +message RecordChatFeedbackRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string message_id = 2; + .exa.chat_pb.ChatFeedbackType feedback = 3; + string reason = 4; + .google.protobuf.Timestamp timestamp = 5; +} + +message RecordChatFeedbackResponse { +} + +message RecordChatPanelSessionRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + .google.protobuf.Timestamp start_timestamp = 2; + .google.protobuf.Timestamp end_timestamp = 3; +} + +message RecordChatPanelSessionResponse { +} + +message CheckChatCapacityRequest { + reserved "model"; + reserved 2; + .exa.codeium_common_pb.Metadata metadata = 1; + string model_uid = 3; +} + +message CheckChatCapacityResponse { + bool has_capacity = 1; + string message = 2; + int32 active_sessions = 3; +} + +message GetUserAnalyticsSummaryRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string time_zone = 2; + .google.protobuf.Timestamp start_timestamp = 3; + .google.protobuf.Timestamp end_timestamp = 4; +} + +message GetUserAnalyticsSummaryResponse { + .exa.codeium_common_pb.CompletionStatistics completion_statistics = 1; + repeated .exa.codeium_common_pb.CompletionByDateEntry completions_by_day = 2; + repeated .exa.codeium_common_pb.CompletionByLanguageEntry completions_by_language = 3; + repeated .exa.codeium_common_pb.ChatStatsByModelEntry chats_by_model = 4; +} + +message GetUserStatusRequest { + .exa.codeium_common_pb.Metadata metadata = 1; +} + +message GetUserStatusResponse { + .exa.codeium_common_pb.UserStatus user_status = 1; + .exa.codeium_common_pb.PlanInfo plan_info = 2; +} + +message GetPrimaryApiKeyForDevsOnlyRequest { + string session_token = 1; +} + +message GetPrimaryApiKeyForDevsOnlyResponse { + string api_key = 1; +} + +message GetProfileDataRequest { + string api_key = 1; +} + +message GetProfileDataResponse { + string profile_picture_url = 1; +} + +message CaptureCodeRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string prompt_id = 2; + string code = 3; + uint64 timeout_sec = 4; + string completion_text = 5; + .exa.codeium_common_pb.ProviderSource provider_source = 6; + string completion_id = 7; + string diagnostic_severity = 8; +} + +message CaptureCodeResponse { +} + +message CaptureFileRequest { + .exa.codeium_common_pb.CaptureFileRequestData data = 1; + .exa.codeium_common_pb.ExperimentConfig experiment_config = 2; +} + +message CaptureFileResponse { +} + +message GetChangelogRequest { + string version = 1; +} + +message GetChangelogResponse { + string path = 1; +} + +message GetFunctionsRequest { + .exa.codeium_common_pb.Document document = 1; +} + +message GetFunctionsResponse { + repeated .exa.codeium_common_pb.FunctionInfo function_captures = 1; +} + +message GetClassInfosRequest { + .exa.codeium_common_pb.Document document = 1; +} + +message GetClassInfosResponse { + repeated .exa.codeium_common_pb.ClassInfo class_captures = 1; +} + +message ExitRequest { +} + +message ExitResponse { +} + +message State { + .exa.language_server_pb.CodeiumState state = 1; + string message = 2; +} + +message RequestInfo { + reserved "prompt"; + reserved "line_type"; + reserved 2; + reserved 3; + string prompt_id = 1; + .exa.codeium_common_pb.CompletionsRequest completions_request = 4; + string typing_as_suggested_prompt_suffix = 5; + .exa.codeium_common_pb.CompletionType completion_type = 6; +} + +message LatencyInfo { + uint64 client_latency_ms = 1; + uint64 prompt_latency_ms = 2; + repeated .exa.codeium_common_pb.PromptStageLatency prompt_stage_latencies = 3; + uint64 debounce_latency_ms = 4; + uint64 rpc_latency_ms = 5; + uint64 network_latency_ms = 6; +} + +message Suffix { + string text = 1; + int64 delta_cursor_offset = 2; +} + +message CompletionPart { + string text = 1; + uint64 offset = 2; + .exa.language_server_pb.CompletionPartType type = 3; + string prefix = 4; + uint64 line = 5; +} + +message CompletionItem { + reserved "latency_ms"; + reserved "network_latency_ms"; + reserved "client_latency_ms"; + reserved 4; + reserved 6; + reserved 7; + .exa.codeium_common_pb.Completion completion = 1; + .exa.language_server_pb.Suffix suffix = 5; + .exa.codeium_common_pb.Range range = 2; + .exa.codeium_common_pb.CompletionSource source = 3; + repeated .exa.language_server_pb.CompletionPart completion_parts = 8; +} + +message SearchResult { + int64 embedding_id = 1; + string absolute_path_migrate_me_to_uri = 2; + string absolute_uri = 7; + repeated .exa.codeium_common_pb.WorkspacePath workspace_paths = 3; + .exa.codeium_common_pb.EmbeddingMetadata embedding_metadata = 4; + float similarity_score = 5; + .exa.codeium_common_pb.CodeContextItem code_context_item = 6; +} + +message SearchResultCluster { + repeated .exa.language_server_pb.SearchResult search_results = 1; + string representative_path = 2; + string description = 3; + float mean_similarity_score = 4; + string search_id = 5; + string result_id = 6; +} + +message ProgressBar { + float progress = 1; + string text = 2; + bool hidden = 3; + .google.protobuf.Duration remaining_time = 4; +} + +message ExactSearchQuery { + string pattern = 1; + bool is_multiline = 2; + bool is_reg_exp = 3; + bool is_case_sensitive = 4; + bool is_word_match = 5; +} + +message ExactSearchOptions { + string folder = 1; + repeated string includes = 2; + repeated string excludes = 3; + bool disregard_ignore_files = 4; + bool follow_symlinks = 5; + bool disregard_global_ignore_files = 6; + bool disregard_parent_ignore_files = 7; + uint32 max_file_size = 8; + string encoding = 9; + uint32 before_context_lines = 10; + uint32 after_context_lines = 11; + uint32 max_results = 12; + .exa.language_server_pb.ExactSearchPreviewOptions preview_options = 13; +} + +message ExactSearchPreviewOptions { + uint32 match_lines = 1; + uint32 chars_per_line = 2; +} + +message ExactSearchResult { + string absolute_path = 1; + string relative_path = 4; + repeated .exa.codeium_common_pb.Range ranges = 2; + .exa.language_server_pb.ExactSearchMatchPreview preview = 3; + string result_id = 5; +} + +message ExactSearchMatchPreview { + string text = 1; + repeated .exa.codeium_common_pb.Range ranges = 2; +} + +message AddTrackedWorkspaceRequest { + string workspace = 1; +} + +message AddTrackedWorkspaceResponse { +} + +message RemoveTrackedWorkspaceRequest { + string workspace = 1; +} + +message RemoveTrackedWorkspaceResponse { +} + +message GetWorkspaceEditStateRequest { +} + +message WorkspaceEditState { + string repo_root = 1; + uint64 num_additions = 2; + uint64 num_deletions = 3; + repeated .exa.cortex_pb.ActionResultEdit edits = 4; +} + +message GetWorkspaceEditStateResponse { + repeated .exa.language_server_pb.WorkspaceEditState workspace_edits = 1; +} + +message BranchInfo { + string name = 1; + bool is_current_branch = 2; +} + +message RepoInfo { + string name = 1; + string repo_path = 2; + repeated .exa.language_server_pb.BranchInfo branches = 3; + .exa.codeium_common_pb.ScmType scm_type = 4; + string full_repo_name = 5; +} + +message GetRepoInfosRequest { + .exa.codeium_common_pb.Metadata metadata = 1; +} + +message GetRepoInfosResponse { + repeated .exa.language_server_pb.RepoInfo repos = 1; +} + +message GetWorkspaceInfosRequest { +} + +message WorkspaceInfo { + string workspace_uri = 1; + string git_root_uri = 2; +} + +message GetWorkspaceInfosResponse { + string home_dir_path = 1; + repeated .exa.language_server_pb.WorkspaceInfo workspace_infos = 2; + string home_dir_uri = 3; +} + +message GenerateCommitMessageRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + .exa.codeium_common_pb.PlanInfo plan_info = 2; +} + +message CommitMessageData { + string repo_root = 1; + string commit_message_summary = 2; + string commit_message_description = 3; + repeated string changed_files_migrate_me_to_uri = 4; + repeated string changed_file_uris = 5; +} + +message GenerateCommitMessageResponse { + repeated .exa.language_server_pb.CommitMessageData commit_messages = 1; +} + +message RecordCommitMessageSaveRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string repo_root = 2; + string branch_name = 3; + string commit_hash = 4; + string commit_message = 5; + .google.protobuf.Timestamp commit_timestamp = 6; + string parent_commit_hash = 7; + string author_name = 8; + string author_email = 9; +} + +message RecordCommitMessageSaveResponse { +} + +message VibeAndReplaceFile { + string file_uri = 1; + string original_content = 2; + repeated string matches = 3; + repeated int32 match_lines = 4; +} + +message GenerateVibeAndReplaceStreamingRequest { + reserved "modelForGeneration"; + reserved 8; + .exa.codeium_common_pb.Metadata metadata = 1; + .exa.codeium_common_pb.PlanInfo plan_info = 2; + string prompt = 3; + string search_query = 4; + string search_options_text = 5; + repeated .exa.language_server_pb.VibeAndReplaceFile files = 6; + string cascade_id = 7; + optional string model_uid_for_generation = 9; +} + +message VibeAndReplaceData { + string request_id = 1; + string output = 2; + repeated .exa.codeium_common_pb.ChatToolCall tool_calls = 3; + .exa.codeium_common_pb.GRPCStatus error = 4; + string file_path = 5; + bool is_skipped = 6; +} + +message GenerateVibeAndReplaceStreamingResponse { + .exa.language_server_pb.VibeAndReplaceData vibe_and_replace_data = 1; +} + +message GetUserSettingsRequest { +} + +message GetUserSettingsResponse { + .exa.codeium_common_pb.UserSettings user_settings = 1; +} + +message SetUserSettingsRequest { + .exa.codeium_common_pb.UserSettings user_settings = 1; +} + +message SetUserSettingsResponse { + .exa.codeium_common_pb.UserSettings user_settings = 1; +} + +message GetDefaultWebOriginsRequest { +} + +message GetDefaultWebOriginsResponse { + repeated string default_origins = 1; +} + +message GetDebugDiagnosticsRequest { +} + +message GetDebugDiagnosticsResponse { + .exa.codeium_common_pb.LanguageServerDiagnostics language_server_diagnostics = 1; +} + +message CodeRange { + .exa.codeium_common_pb.CodeSource source = 1; + uint64 start_offset = 2; + uint64 end_offset = 3; + bool modified = 4; + string completion_id = 5; + .exa.codeium_common_pb.CompletionType completion_type = 6; + .exa.codeium_common_pb.ProviderSource provider_source = 7; +} + +message CodeTrackerState { + string absolute_path_migrate_me_to_uri = 1; + string absolute_uri = 6; + string text = 2; + repeated .exa.language_server_pb.CodeRange ranges = 3; + string commit = 4; + string repo_root_migrate_me_to_uri = 5; + string repo_root_uri = 7; +} + +message GetSuggestedContextScopeItemsRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + repeated .exa.language_server_pb.ContextSuggestionSource suggestion_sources = 2; + string query = 3; + uint64 auto_expand_file_limit = 4; + uint64 max_items = 5; +} + +message GetSuggestedContextScopeItemsResponse { + repeated .exa.codeium_common_pb.ContextScopeItem items = 1; +} + +message GetMatchingContextScopeItemsRequest { + reserved 9; + .exa.codeium_common_pb.Metadata metadata = 1; + repeated .exa.codeium_common_pb.ContextScopeType allowed_types = 2; + repeated .exa.codeium_common_pb.CodeContextType allowed_context_types = 7; + string query = 3; + bool fuzzy_match = 4; + int32 max_items = 5; + bool case_insensitive = 6; + string repo_filter = 8; + bool enable_path_resolution = 10; +} + +message GetMatchingContextScopeItemsResponse { + repeated .exa.codeium_common_pb.ContextScopeItem items = 1; +} + +message ContextStatus { + .exa.codeium_common_pb.Document active_document = 1; + .exa.codeium_common_pb.CodeContextItem last_active_code_context_item = 2; + .exa.codeium_common_pb.ContextScope pinned_scope = 3; + .exa.codeium_common_pb.Guideline pinned_guideline = 4; + .exa.codeium_common_pb.ContextScope default_pinned_scope = 5; +} + +message LocalIndexStatus { + message IndexProgressEntry { + string key = 1; + .exa.language_server_pb.ProgressBar value = 2; + } + + string workspace_folder = 1; + string git_root = 2; + string repo_name = 3; + .exa.codeium_common_pb.GitRepoInfo remote_repo = 4; + .exa.index_pb.IndexStats index_stats = 5; + .exa.codeium_common_pb.WorkspaceStats workspace_stats = 7; + .exa.codeium_common_pb.PartialIndexMetadata partial_index_metadata = 8; + repeated .exa.language_server_pb.LocalIndexStatus.IndexProgressEntry index_progress = 6; +} + +message IndexStatus { + repeated .exa.language_server_pb.LocalIndexStatus local_indexes = 1; + repeated string ignored_local_workspaces = 2; + uint32 local_files_index_capacity = 3; +} + +message BrainStatus { + .exa.language_server_pb.ContextStatus context_status = 1; + .exa.language_server_pb.IndexStatus index_status = 2; +} + +message GetBrainStatusRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + bool force_refresh = 2; +} + +message GetBrainStatusResponse { + .exa.language_server_pb.BrainStatus brain_status = 1; +} + +message SetPinnedGuidelineRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + .exa.codeium_common_pb.Guideline pinned_guideline = 2; +} + +message SetPinnedContextRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + .exa.codeium_common_pb.ContextScope pinned_scope = 2; +} + +message SetPinnedGuidelineResponse { +} + +message SetPinnedContextResponse { +} + +message SetupUniversitySandboxRequest { +} + +message SetupUniversitySandboxResponse { + string base_directory = 1; +} + +message UnifiedDiffChange { + string text = 1; + .exa.language_server_pb.UnifiedDiffChangeType type = 2; +} + +message UnifiedDiff { + repeated .exa.language_server_pb.UnifiedDiffChange changes = 1; +} + +message CodeTheme { + string background = 1; + string text = 2; + string whitespace = 3; + string other = 4; + string literal = 5; + string literal_string = 6; + string number = 7; + string operator = 8; + string punctuation = 9; + string generic = 10; + string name = 11; + string keyword = 12; + string comment = 13; + string error = 14; +} + +message OnboardingItemState { + .exa.codeium_common_pb.OnboardingActionType action_type = 1; + bool completed = 2; +} + +message OnboardingState { + bool has_skipped = 1; + repeated .exa.language_server_pb.OnboardingItemState items = 2; +} + +message ResetOnboardingRequest { + bool clear_history = 1; +} + +message ResetOnboardingResponse { +} + +message SkipOnboardingRequest { +} + +message SkipOnboardingResponse { +} + +message GetUserTrajectoryDebugRequest { + bool include_all_trajectories = 1; +} + +message GetUserTrajectoryDebugResponse { + repeated .exa.cortex_pb.ImplicitTrajectory mainline = 1; + .exa.cortex_pb.CortexTrajectory granular = 2; +} + +message GetUserTrajectoryDescriptionsRequest { +} + +message GetUserTrajectoryDescriptionsResponse { + repeated .exa.cortex_pb.ImplicitTrajectoryDescription trajectories = 1; +} + +message ForceBackgroundResearchRefreshRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string mainline_trajectory_id = 2; + bool blocking = 3; + bool full_refresh = 4; +} + +message ForceBackgroundResearchRefreshResponse { +} + +message ReplayGroundTruthTrajectoryRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + repeated .exa.cortex_pb.CortexTrajectoryStep replay_steps = 2; + string cascade_id = 3; + .exa.cortex_pb.CascadeConfig cascade_config = 4; +} + +message ReplayGroundTruthTrajectoryResponse { + .exa.cortex_pb.CortexTrajectory trajectory = 1; +} + +message InitializeCascadePanelStateRequest { + reserved 2; + .exa.codeium_common_pb.Metadata metadata = 1; + bool workspace_trusted = 3; +} + +message InitializeCascadePanelStateResponse { +} + +message UpdatePanelStateWithUserStatusRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + .exa.codeium_common_pb.UserStatus user_status = 2; +} + +message UpdatePanelStateWithUserStatusResponse { +} + +message UpdateWorkspaceTrustRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + bool workspace_trusted = 2; +} + +message UpdateWorkspaceTrustResponse { +} + +message GenerateCodeMapRequest { + string prompt = 1; + string mode = 2; + string source = 3; +} + +message GenerateCodeMapResponse { + message Success { + string code_map_json = 1; + } + + oneof result { + string updates_json = 1; + .exa.language_server_pb.GenerateCodeMapResponse.Success success = 2; + string status = 3; + } +} + +message BranchCascadeAndGenerateCodeMapRequest { + string cascade_id = 1; + optional string prompt = 2; + optional string source = 3; + optional string editing_codemap_id = 4; + optional string mode = 5; +} + +message BranchCascadeAndGenerateCodeMapResponse { + message Success { + string code_map_json = 1; + string new_cascade_id = 2; + } + + oneof result { + string updates_json = 1; + .exa.language_server_pb.BranchCascadeAndGenerateCodeMapResponse.Success success = 2; + string status = 3; + } +} + +message StartCascadeRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + .exa.cortex_pb.BaseTrajectoryIdentifier base_trajectory_identifier = 3; + .exa.cortex_pb.CortexTrajectorySource source = 4; + .exa.cortex_pb.CortexTrajectoryType trajectory_type = 5; + .exa.codeium_common_pb.ExperimentConfig experiment_config = 2; + optional uint32 start_arena = 6; + optional bool git_worktree = 7; + optional .exa.cortex_pb.ArenaModeInfo arena_mode_info = 8; +} + +message StartCascadeResponse { + string cascade_id = 1; + repeated string arena_cascade_ids = 2; +} + +message GetCascadeTrajectoryRequest { + string cascade_id = 1; +} + +message GetCascadeTrajectoryResponse { + .exa.cortex_pb.CortexTrajectory trajectory = 1; + .exa.cortex_pb.CascadeRunStatus status = 2; + uint32 num_total_steps = 3; + uint32 num_total_generator_metadata = 4; +} + +message GetUserTrajectoryRequest { + string trajectory_id = 1; +} + +message GetUserTrajectoryResponse { + .exa.cortex_pb.CortexTrajectory trajectory = 1; +} + +message GetCascadeTrajectoryStepsRequest { + string cascade_id = 1; + uint32 step_offset = 2; +} + +message GetCascadeTrajectoryStepsResponse { + repeated .exa.cortex_pb.CortexTrajectoryStep steps = 1; +} + +message GetCascadeTrajectoryGeneratorMetadataRequest { + string cascade_id = 1; + uint32 generator_metadata_offset = 2; +} + +message GetCascadeTrajectoryGeneratorMetadataResponse { + repeated .exa.cortex_pb.CortexStepGeneratorMetadata generator_metadata = 1; +} + +message GetAllCascadeTrajectoriesRequest { + optional bool include_user_inputs = 1; +} + +message GetAllCascadeTrajectoriesResponse { + message TrajectorySummariesEntry { + string key = 1; + .exa.cortex_pb.CascadeTrajectorySummary value = 2; + } + + repeated .exa.language_server_pb.GetAllCascadeTrajectoriesResponse.TrajectorySummariesEntry trajectory_summaries = 1; + repeated .exa.language_server_pb.UserInputWithMetadata user_inputs = 2; +} + +message CancelCascadeInvocationRequest { + string cascade_id = 1; +} + +message CancelCascadeInvocationResponse { +} + +message CancelCascadeInvocationAndWaitRequest { + string cascade_id = 1; +} + +message CancelCascadeInvocationAndWaitResponse { +} + +message CancelCascadeStepsRequest { + string cascade_id = 1; + repeated uint32 step_indices = 2; +} + +message CancelCascadeStepsResponse { +} + +message SendUserCascadeMessageRequest { + .exa.codeium_common_pb.Metadata metadata = 3; + string cascade_id = 1; + repeated .exa.codeium_common_pb.TextOrScopeItem items = 2; + repeated .exa.codeium_common_pb.ImageData images = 6; + .exa.cortex_pb.CascadeConfig cascade_config = 5; + .exa.codeium_common_pb.ExperimentConfig experiment_config = 4; + repeated string recipe_ids = 7; + bool blocking = 8; + repeated .exa.cortex_pb.CortexTrajectoryStep additional_steps = 9; +} + +message SendUserCascadeMessageResponse { +} + +message BranchCascadeRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string base_cascade_id = 2; + repeated .exa.codeium_common_pb.TextOrScopeItem items = 3; + repeated .exa.codeium_common_pb.ImageData images = 4; + .exa.cortex_pb.CascadeConfig cascade_config = 5; + repeated string recipe_ids = 6; + bool blocking = 7; + repeated .exa.cortex_pb.CortexTrajectoryStep additional_steps = 8; + optional int32 branch_from_step_index = 9; +} + +message BranchCascadeResponse { + string new_cascade_id = 1; +} + +message QueueCascadeMessageRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string cascade_id = 2; + repeated .exa.codeium_common_pb.TextOrScopeItem items = 3; + repeated .exa.codeium_common_pb.ImageData images = 4; + .exa.cortex_pb.CascadeConfig cascade_config = 5; +} + +message QueueCascadeMessageResponse { + string queue_id = 1; +} + +message InterruptWithQueuedMessageRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string cascade_id = 2; + optional string queue_id = 3; +} + +message InterruptWithQueuedMessageResponse { +} + +message RemoveFromQueueRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string cascade_id = 2; + string queue_id = 3; +} + +message RemoveFromQueueResponse { + bool removed = 1; +} + +message MoveQueuedMessageRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string cascade_id = 2; + string queue_id = 3; + int32 to_index = 4; +} + +message MoveQueuedMessageResponse { +} + +message RevertToCascadeStepRequest { + .exa.codeium_common_pb.Metadata metadata = 3; + string cascade_id = 1; + int32 step_index = 2; + .exa.codeium_common_pb.ExperimentConfig experiment_config = 4; + bool keep_changes = 5; +} + +message RevertToCascadeStepResponse { + .exa.cortex_pb.RevertMetadata metadata = 1; +} + +message CodeEditRevertPreview { + string file_uri = 1; + .exa.diff_action_pb.UnifiedDiff diff = 2; + .exa.language_server_pb.CodeRevertActionType action_type = 3; +} + +message GetRevertPreviewRequest { + string cascade_id = 1; + uint32 step_index = 2; + .exa.codeium_common_pb.Metadata metadata = 3; +} + +message GetRevertPreviewResponse { + repeated .exa.language_server_pb.CodeEditRevertPreview code_edit_previews = 1; +} + +message RecordUserStepSnapshotRequest { + string cascade_id = 1; + int32 step_index = 2; + .exa.cortex_pb.UserStepSnapshot snapshot = 3; +} + +message RecordUserStepSnapshotResponse { +} + +message HandleCascadeUserInteractionRequest { + string cascade_id = 1; + .exa.cortex_pb.CascadeUserInteraction interaction = 2; +} + +message HandleCascadeUserInteractionResponse { +} + +message AcknowledgeCascadeCodeEditRequest { + .exa.codeium_common_pb.Metadata metadata = 4; + string cascade_id = 1; + repeated string absolute_uri = 2; + repeated string contents = 5; + bool accept = 3; +} + +message AcknowledgeCascadeCodeEditResponse { +} + +message GetCodeValidationStatesRequest { + string cascade_id = 1; +} + +message GetCodeValidationStatesResponse { + repeated .exa.language_server_pb.ValidationState states = 1; +} + +message ResolveWorktreeChangesRequest { + string cascade_id = 1; + repeated string uris = 2; + .exa.language_server_pb.ResolveWorktreeChangesMode mode = 3; + bool fail_on_conflicts = 4; +} + +message ResolveWorktreeChangesResponse { + bool had_conflicts = 1; + repeated string conflicting_files = 2; +} + +message UndoWorktreeMergeRequest { + string cascade_id = 1; + bool force_overwrite = 2; + bool fail_on_conflicts = 3; +} + +message UndoWorktreeMergeResponse { + bool had_conflicts = 1; + repeated string conflicting_files = 2; +} + +message ValidationState { + string uri = 1; + string last_acknowledged_state = 2; + string current_state = 3; + bool last_state_file_nonexistent = 4; + bool current_state_file_nonexistent = 5; + bool is_notebook = 6; + int32 cell_index = 7; +} + +message DeleteCascadeTrajectoryRequest { + string cascade_id = 1; +} + +message DeleteCascadeTrajectoryResponse { +} + +message RenameCascadeTrajectoryRequest { + string cascade_id = 1; + string name = 2; +} + +message RenameCascadeTrajectoryResponse { +} + +message ResolveOutstandingStepsRequest { + string cascade_id = 1; +} + +message ResolveOutstandingStepsResponse { +} + +message MountCascadeFilesystemRequest { + string cascade_id = 1; +} + +message MountCascadeFilesystemResponse { +} + +message UnmountCascadeFilesystemRequest { + string cascade_id = 1; +} + +message UnmountCascadeFilesystemResponse { +} + +message StreamTerminalShellCommandResponse { +} + +message GetWebDocsOptionsRequest { + .exa.codeium_common_pb.Metadata metadata = 1; +} + +message GetWebDocsOptionsResponse { + repeated .exa.codeium_common_pb.WebDocsOption options = 1; +} + +message UpdateDevExperimentsRequest { + .exa.codeium_common_pb.ExperimentConfig experiment_config = 1; +} + +message UpdateDevExperimentsResponse { +} + +message SetBaseExperimentsRequest { + .exa.codeium_common_pb.ExperimentConfig experiment_config = 1; +} + +message SetBaseExperimentsResponse { +} + +message GetActiveAppDeploymentForWorkspaceRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string workspace_uri = 2; +} + +message GetActiveAppDeploymentForWorkspaceResponse { + .exa.codeium_common_pb.WebAppDeploymentConfig deployment_config = 1; + .exa.codeium_common_pb.WindsurfDeployment deployment = 2; + string project_name = 3; + string subdomain = 4; + .google.protobuf.Timestamp project_created_at = 5; + string team_slug = 6; +} + +message GetWindsurfJSAppDeploymentRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string deployment_id = 2; +} + +message GetWindsurfJSAppDeploymentResponse { + .exa.codeium_common_pb.WindsurfDeployment deployment = 1; + .exa.codeium_common_pb.DeploymentBuildStatus build_status = 2; + string deployment_url = 3; + string build_error = 4; + string build_logs = 5; + bool is_claimed = 6; + string claim_url = 7; +} + +message GetCascadeMemoriesRequest { +} + +message GetCascadeMemoriesResponse { + repeated .exa.cortex_pb.CortexMemory memories = 1; +} + +message GetModelStatusesRequest { + .exa.codeium_common_pb.Metadata metadata = 1; +} + +message GetModelStatusesResponse { + repeated .exa.codeium_common_pb.ModelStatusInfo model_status_infos = 1; +} + +message DeleteCascadeMemoryRequest { + string memory_id = 1; +} + +message DeleteCascadeMemoryResponse { +} + +message UpdateCascadeMemoryRequest { + string memory_id = 1; + string title = 2; + string content = 3; + repeated string tags = 4; +} + +message UpdateCascadeMemoryResponse { +} + +message GetUserMemoriesRequest { +} + +message GetUserMemoriesResponse { + repeated .exa.cortex_pb.CortexMemory memories = 1; +} + +message RefreshCustomizationRequest { + .exa.codeium_common_pb.RefreshCustomizationType config_type = 1; +} + +message RefreshCustomizationResponse { +} + +message GetConversationTagsRequest { + .exa.codeium_common_pb.Metadata metadata = 1; +} + +message GetConversationTagsResponse { + message ConversationTagsEntry { + string key = 1; + .exa.language_server_pb.ConversationTagList value = 2; + } + + repeated .exa.language_server_pb.GetConversationTagsResponse.ConversationTagsEntry conversation_tags = 1; +} + +message ConversationTagList { + repeated string tags = 1; +} + +message UpdateConversationTagsRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string cascade_id = 2; + repeated string tags = 3; +} + +message UpdateConversationTagsResponse { +} + +message RefreshMcpServersRequest { + bool shallow = 1; + optional string server_name = 2; +} + +message RefreshMcpServersResponse { +} + +message GetMcpServerStatesRequest { +} + +message GetMcpServerStatesResponse { + reserved 2; + reserved 3; + repeated .exa.cortex_pb.McpServerState states = 1; +} + +message SaveMcpServerToConfigFileRequest { + string server_id = 1; + bool shallow_refresh = 3; + optional string template_json = 2; +} + +message SaveMcpServerToConfigFileResponse { + reserved 1; + optional string error_message = 2; +} + +message UpdateMcpServerInConfigFileRequest { + reserved 2; + string server_id = 1; +} + +message UpdateMcpServerInConfigFileResponse { + reserved 1; + optional string error_message = 2; +} + +message ToggleMcpToolRequest { + string server_id = 1; + string tool_name = 2; +} + +message ToggleMcpToolResponse { + optional string error_message = 1; +} + +message GetMcpPromptRequest { + message ArgumentsEntry { + string key = 1; + string value = 2; + } + + string server_name = 1; + string prompt_name = 2; + repeated .exa.language_server_pb.GetMcpPromptRequest.ArgumentsEntry arguments = 3; +} + +message McpPromptMessageContent { + oneof content { + string text = 1; + .exa.cortex_pb.McpResourceContent resource = 2; + } +} + +message McpPromptMessage { + string role = 1; + repeated .exa.language_server_pb.McpPromptMessageContent content = 2; +} + +message GetMcpPromptResponse { + repeated .exa.language_server_pb.McpPromptMessage messages = 1; +} + +message GetAllWorkflowsRequest { +} + +message GetAllWorkflowsResponse { + reserved 1; + repeated .exa.cortex_pb.WorkflowSpec workflows = 2; +} + +message CopyBuiltinWorkflowToWorkspaceRequest { + .exa.cortex_pb.WorkflowSpec workflow = 1; + .exa.codeium_common_pb.Metadata metadata = 2; +} + +message CopyBuiltinWorkflowToWorkspaceResponse { + .exa.cortex_pb.WorkflowSpec workflow = 1; +} + +message GetAllRulesRequest { +} + +message GetAllRulesResponse { + reserved 1; + repeated .exa.cortex_pb.CortexMemory memories = 2; + repeated .exa.cortex_pb.CortexSkill skills = 3; +} + +message GetAllSkillsRequest { +} + +message GetAllSkillsResponse { + repeated .exa.cortex_pb.CortexSkill skills = 1; +} + +message GetAllPlansRequest { +} + +message GetAllPlansResponse { + repeated .exa.language_server_pb.PlanFileInfo plans = 1; +} + +message PlanFileInfo { + string path = 1; + string title = 2; + string description = 3; +} + +message UpdateEnterpriseExperimentsFromUrlRequest { + string portal_url = 1; +} + +message UpdateEnterpriseExperimentsFromUrlResponse { + bool success = 1; + string error_message = 2; + .exa.codeium_common_pb.ExperimentConfig experiment_config = 3; +} + +message ImportFromCursorRequest { + string source_path = 1; +} + +message ImportFromCursorResponse { + repeated string copied_files = 1; + repeated string duplicate_files = 2; + repeated string problem_files = 3; +} + +message CreateCustomizationFileRequest { + .exa.language_server_pb.CustomizationFileType file_type = 1; + string file_name = 2; +} + +message CreateCustomizationFileResponse { + string file_path = 1; +} + +message SendActionToChatPanelRequest { + string action_type = 1; + repeated bytes payload = 2; +} + +message SendActionToChatPanelResponse { +} + +message RecordUserGrepRequest { + string query = 1; + repeated .exa.cortex_pb.GrepSearchResult results = 2; + .google.protobuf.Timestamp timestamp = 3; +} + +message RecordUserGrepResponse { +} + +message GetUnleashDataRequest { + message PropertiesEntry { + string key = 1; + string value = 2; + } + + .exa.codeium_common_pb.Metadata metadata = 1; + repeated .exa.language_server_pb.GetUnleashDataRequest.PropertiesEntry properties = 2; +} + +message GetUnleashDataResponse { + .exa.codeium_common_pb.UnleashContext context = 1; + .exa.codeium_common_pb.ExperimentConfig experiment_config = 2; +} + +message ShouldEnableUnleashRequest { +} + +message ShouldEnableUnleashResponse { + bool should_enable = 1; +} + +message GetPatchAndCodeChangeRequest { + string intent = 1; + .exa.codeium_common_pb.GitRepoInfo base_state_repo_info = 2; + string repo_path = 3; +} + +message GetPatchAndCodeChangeResponse { + string patch_string = 1; + .exa.code_edit.code_edit_pb.CodeChangeWithContext code_change_with_context = 2; +} + +message CreateTrajectoryShareRequest { + reserved 2; + .exa.codeium_common_pb.Metadata metadata = 1; + .exa.cortex_pb.TrajectoryShareStatus share_status = 3; + string cascade_id = 4; +} + +message CreateTrajectoryShareResponse { + reserved "url"; + reserved 1; + string share_id = 2; +} + +message GetAvailableCascadePluginsRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string os = 2; + optional string search_query = 3; +} + +message GetAvailableCascadePluginsResponse { + repeated .exa.cascade_plugins_pb.CascadePluginTemplate plugins = 1; +} + +message InstallCascadePluginRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string plugin_id = 2; +} + +message InstallCascadePluginResponse { + int64 installation_count = 1; +} + +message GetKnowledgeBaseItemsForTeamRequest { + .exa.codeium_common_pb.Metadata metadata = 1; +} + +message GetKnowledgeBaseItemsForTeamResponse { + repeated .exa.knowledge_base_pb.KnowledgeBaseItem items = 1; +} + +message GetCascadePluginByIdRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string os = 2; + string plugin_id = 3; +} + +message GetCascadePluginByIdResponse { + .exa.cascade_plugins_pb.CascadePluginTemplate plugin = 1; +} + +message RecordLintsRequest { + .exa.codeium_common_pb.Language current_language = 1; + repeated .exa.codeium_common_pb.CodeDiagnostic lints = 2; + .google.protobuf.Timestamp timestamp = 3; +} + +message RecordLintsResponse { +} + +message StatUriRequest { + string uri = 1; +} + +message StatUriResponse { + .exa.language_server_pb.FileType file_type = 1; +} + +message LogCascadeSessionRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + repeated string workspace_paths = 2; +} + +message LogCascadeSessionResponse { +} + +message SyncExploreAgentRunRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string cascade_id = 2; + string query_id = 3; + int32 message_index = 4; + repeated .exa.codeium_common_pb.TextOrScopeItem items = 5; + bool is_complete = 7; + optional string title = 8; + optional string response = 6; +} + +message SyncExploreAgentRunResponse { + int32 message_index = 1; +} + +message UserInputWithMetadata { + string cascade_id = 1; + string user_response = 2; + repeated .exa.codeium_common_pb.TextOrScopeItem items = 3; + .google.protobuf.Timestamp timestamp = 4; +} + +message GetCodeMapsForReposRequest { + repeated string repo_paths = 1; +} + +message GetCodeMapsForFileRequest { + string file_path = 1; +} + +message GetCodeMapsForReposResponse { + repeated string code_maps = 1; +} + +message GetCodeMapsForFileResponse { + repeated string code_maps = 1; +} + +message ShareCodeMapRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string code_map_json = 2; + string file_name = 3; +} + +message ShareCodeMapResponse { + string share_url = 1; +} + +message GetSharedCodeMapRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string code_map_id = 2; + int32 time_since_install = 3; +} + +message GetSharedCodeMapResponse { + string code_map_data = 1; +} + +message GetCodeMapSuggestionsRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + repeated string navigation_history = 2; +} + +message GetCodeMapSuggestionsResponse { + repeated .exa.cortex_pb.CodeMapSuggestion suggestions = 1; +} + +message UpdateCodeMapMetadataRequest { + string id = 1; + optional bool starred = 2; + optional bool archived = 3; +} + +message UpdateCodeMapMetadataResponse { +} + +message SaveCodeMapFromJsonRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string code_map_json = 2; +} + +message SaveCodeMapFromJsonResponse { + string code_map_json = 1; +} + +message CheckBugsRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string diff = 2; + string repo_name = 3; + string commit_hash = 4; + string author_name = 5; + string model = 6; + string commit_message = 7; + int32 lines_changed = 8; + repeated string user_rules = 9; + string method = 10; + string symbol_context = 11; + string check_type = 12; + string base_ref = 13; + string git_root = 14; +} + +message CheckBugsResponse { + repeated .exa.bug_checker_pb.Bug bugs = 1; + string bug_check_id = 2; + string method_used = 3; + string model_used = 4; + string playgrounds = 5; + .exa.codeium_common_pb.Model model_id = 6; + string agent_version = 7; +} + +message GetLifeguardConfigRequest { + .exa.codeium_common_pb.Metadata metadata = 1; +} + +message GetLifeguardConfigResponse { + .exa.codeium_common_pb.LifeguardConfig config = 1; +} + +message HandleStreamingTerminalCommandRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string command_text = 2; + .exa.codeium_common_pb.TerminalCommandData terminal_command_data = 3; + repeated .exa.language_server_pb.TerminalCommandConversationEntry conversation_history = 5; + optional .exa.codeium_common_pb.Model model = 4; +} + +message TerminalCommandConversationEntry { + string user_prompt = 1; + string generated_command = 2; + optional string explanation = 3; +} + +message HandleStreamingTerminalCommandResponse { + string completion_id = 1; + string command = 2; + string explanation = 3; +} + +message SpawnArenaModeMidConversationRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string cascade_id = 2; + uint32 count = 3; +} + +message SpawnArenaModeMidConversationResponse { + repeated string cascade_ids = 1; +} + +message ConvergeArenaCascadesRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string target_cascade_id = 2; +} + +message ConvergeArenaCascadesResponse { + repeated string converged_cascade_ids = 1; +} + +message DismissCodeMapSuggestionRequest { + string cascade_id = 1; + string suggestion_id = 2; +} + +message DismissCodeMapSuggestionResponse { +} + +message OnEditRequest { + .exa.codeium_common_pb.Document initial_document = 1; + .exa.codeium_common_pb.Document final_document = 2; + .exa.language_server_pb.EditSource source = 3; +} + +message OnEditResponse { +} + +message GetSystemPromptAndToolsRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + .exa.cortex_pb.CascadeConfig cascade_config = 2; +} + +message GetSystemPromptAndToolsResponse { + string system_prompt = 1; + repeated .exa.chat_pb.ChatToolDefinition tool_definitions = 2; +} + +message SubmitBugReportRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string description = 2; + string bug_type = 3; + string diagnostics_json = 4; + bytes screenshot = 5; + string tab_info = 6; + string other = 7; +} + +message SubmitBugReportResponse { + string message_link = 1; +} + +enum TabRequestSource { + TAB_REQUEST_SOURCE_UNSPECIFIED = 0; + TAB_REQUEST_SOURCE_SUPERCOMPLETE = 1; + TAB_REQUEST_SOURCE_TAB_JUMP = 2; +} + +enum IdeAction { + IDE_ACTION_UNSPECIFIED = 0; + IDE_ACTION_SAVE = 1; + IDE_ACTION_SELECTION_CHANGED = 2; + IDE_ACTION_VISIBLE_RANGES_CHANGED = 3; + IDE_ACTION_ACTIVE_EDITOR_CHANGED = 4; + IDE_ACTION_STARTUP = 5; +} + +enum CodeiumState { + CODEIUM_STATE_UNSPECIFIED = 0; + CODEIUM_STATE_INACTIVE = 1; + CODEIUM_STATE_PROCESSING = 2; + CODEIUM_STATE_SUCCESS = 3; + CODEIUM_STATE_WARNING = 4; + CODEIUM_STATE_ERROR = 5; +} + +enum CompletionPartType { + COMPLETION_PART_TYPE_UNSPECIFIED = 0; + COMPLETION_PART_TYPE_INLINE = 1; + COMPLETION_PART_TYPE_BLOCK = 2; + COMPLETION_PART_TYPE_INLINE_MASK = 3; +} + +enum ContextSuggestionSource { + CONTEXT_SUGGESTION_SOURCE_UNSPECIFIED = 0; + CONTEXT_SUGGESTION_SOURCE_COMMIT_HISTORY = 1; + CONTEXT_SUGGESTION_SOURCE_CURRENT_PLAN = 2; +} + +enum UnifiedDiffChangeType { + UNIFIED_DIFF_CHANGE_TYPE_UNSPECIFIED = 0; + UNIFIED_DIFF_CHANGE_TYPE_INSERT = 1; + UNIFIED_DIFF_CHANGE_TYPE_DELETE = 2; + UNIFIED_DIFF_CHANGE_TYPE_UNCHANGED = 3; +} + +enum CodeRevertActionType { + CODE_REVERT_ACTION_TYPE_UNSPECIFIED = 0; + CODE_REVERT_ACTION_TYPE_MODIFY = 1; + CODE_REVERT_ACTION_TYPE_CREATE = 2; + CODE_REVERT_ACTION_TYPE_DELETE = 3; +} + +enum ResolveWorktreeChangesMode { + RESOLVE_WORKTREE_CHANGES_MODE_UNSPECIFIED = 0; + RESOLVE_WORKTREE_CHANGES_MODE_MERGE = 1; + RESOLVE_WORKTREE_CHANGES_MODE_STASH = 2; +} + +enum CustomizationFileType { + CUSTOMIZATION_FILE_TYPE_UNSPECIFIED = 0; + CUSTOMIZATION_FILE_TYPE_RULES = 1; + CUSTOMIZATION_FILE_TYPE_WORKFLOWS = 2; + CUSTOMIZATION_FILE_TYPE_GLOBAL_WORKFLOWS = 3; + CUSTOMIZATION_FILE_TYPE_SKILLS = 4; + CUSTOMIZATION_FILE_TYPE_GLOBAL_SKILLS = 5; +} + +enum FileType { + FILE_TYPE_UNSPECIFIED = 0; + FILE_TYPE_FILE = 1; + FILE_TYPE_DIRECTORY = 2; + FILE_TYPE_SYMLINK = 3; +} + +enum EditSource { + EDIT_SOURCE_UNSPECIFIED = 0; + EDIT_SOURCE_USER_TYPED = 1; + EDIT_SOURCE_USER_PASTED = 2; + EDIT_SOURCE_USER_UNDO = 3; + EDIT_SOURCE_USER_REDO = 4; + EDIT_SOURCE_USER_CUT = 5; + EDIT_SOURCE_USER_DRAG_DROP = 6; + EDIT_SOURCE_USER_TAB = 7; + EDIT_SOURCE_USER_REFACTORING = 8; + EDIT_SOURCE_USER_FORMATTING = 9; + EDIT_SOURCE_CASCADE_GENERATED = 10; + EDIT_SOURCE_DISK_CHANGE = 11; + EDIT_SOURCE_USER_OTHER = 12; +} + diff --git a/lsp_protos/exa/model_management_pb/model_management.proto b/lsp_protos/exa/model_management_pb/model_management.proto new file mode 100755 index 0000000..f72052d --- /dev/null +++ b/lsp_protos/exa/model_management_pb/model_management.proto @@ -0,0 +1,190 @@ +syntax = "proto3"; + +package exa.model_management_pb; + +option go_package = "github.com/Exafunction/Exafunction/exa/model_management_pb"; + +import "buf/validate/validate.proto"; +import "exa/trainer_pb/config.proto"; + +service ModelManagementService { + rpc AddModel (.exa.model_management_pb.AddModelRequest) returns (.exa.model_management_pb.AddModelResponse) {} + rpc DeleteModel (.exa.model_management_pb.DeleteModelRequest) returns (.exa.model_management_pb.DeleteModelResponse) {} + rpc ListModels (.exa.model_management_pb.ListModelsRequest) returns (.exa.model_management_pb.ListModelsResponse) {} + rpc StartInferenceServer (.exa.model_management_pb.StartInferenceServerRequest) returns (.exa.model_management_pb.StartInferenceServerResponse) {} + rpc StopInferenceServer (.exa.model_management_pb.StopInferenceServerRequest) returns (.exa.model_management_pb.StopInferenceServerResponse) {} + rpc UpdateInferenceServer (.exa.model_management_pb.UpdateInferenceServerRequest) returns (.exa.model_management_pb.UpdateInferenceServerResponse) {} + rpc ListInferenceServers (.exa.model_management_pb.ListInferenceServersRequest) returns (.exa.model_management_pb.ListInferenceServersResponse) {} + rpc PollInferenceServer (.exa.model_management_pb.PollInferenceServerRequest) returns (.exa.model_management_pb.PollInferenceServerResponse) {} +} + +message AddModelRequest { + string model_name = 1; + bool overwrite = 3; + bool async = 5; + oneof model_path { + string model_gcs_path = 2; + string model_local_path = 4; + } +} + +message AddModelResponse { +} + +message DeleteModelRequest { + string model_name = 1; +} + +message DeleteModelResponse { +} + +message ModelInPV { + string model_name = 1; + int64 model_size = 2; +} + +message ListModelsRequest { +} + +message ListModelsResponse { + repeated .exa.model_management_pb.ModelInPV models = 1; +} + +message InferenceServerEnvVariable { + string name = 1; + string value = 2; +} + +message StartInferenceServerRequest { + int32 port = 2; + int32 num_gpus = 3; + int32 num_cpus = 4; + int32 memory_gb = 5; + string gpu_type = 22; + int32 model_parallelism = 6; + int32 gamma = 11; + float draft_temperature = 12; + int32 prompt_cache_cpu_memory_mib = 19; + int32 replicas = 8; + string suffix = 7; + repeated string custom_flags = 9; + bool run_async = 10; + string inference_server_image_path = 13; + bool blocking = 15; + int32 max_generation_sequences = 16; + int32 server_version = 17; + string deployment_name_override = 18; + int32 speculative_copy_length = 21; + repeated .exa.model_management_pb.InferenceServerEnvVariable inference_server_env = 20; + oneof model { + string model_name = 1; + .exa.model_management_pb.InferenceModels models = 14; + } + optional string deployment_yaml = 23; +} + +message StartInferenceServerResponse { + reserved "inference_server_service_ip_address"; + reserved 1; + string service_domain = 2; +} + +message StopInferenceServerRequest { + reserved "inference_server_service_ip_address"; + reserved 1; + string service_domain = 2; +} + +message StopInferenceServerResponse { +} + +message UpdateInferenceServerRequest { + reserved "inference_server_service_ip_address"; + reserved 1; + int32 replicas = 3; + int32 num_gpus = 4; + int32 num_cpus = 5; + int32 memory_gb = 6; + int32 model_parallelism = 7; + int32 gamma = 10; + float draft_temperature = 11; + int32 max_generation_sequences = 13; + repeated string custom_flags = 9; + oneof inference_server_id { + string service_domain = 14; + string deployment_name = 2; + } + optional bool blocking = 12; +} + +message UpdateInferenceServerResponse { +} + +message ListInferenceServersRequest { +} + +message ListInferenceServersResponse { + repeated .exa.model_management_pb.InferenceServerData inference_servers = 1; +} + +message InferenceServerData { + reserved "ip_address"; + reserved 1; + message KubernetesLabelsEntry { + string key = 1; + string value = 2; + } + + string service_domain = 18; + int32 port = 2; + string service_name = 3; + repeated string model_names = 4; + string age = 13; + int32 ready_replicas = 12; + int32 replicas = 5; + int32 num_gpus = 6; + int32 num_cpus = 7; + int32 memory_gb = 8; + int32 model_parallelism = 9; + int32 gamma = 14; + float draft_temperature = 15; + repeated string custom_flags = 10; + repeated .exa.model_management_pb.InferenceServerData.KubernetesLabelsEntry kubernetes_labels = 11; + bool blocking = 16; + int32 max_generation_sequences = 17; + int32 data_parallelism = 19; +} + +message InferenceModel { + string model_name = 1; + bool overwrite = 5; + bool draft = 2; + .exa.model_management_pb.InferenceRole role = 3; + .exa.trainer_pb.InferenceConfig custom_inference_config = 15; + optional string model_path = 4; +} + +message InferenceModels { + repeated .exa.model_management_pb.InferenceModel models = 1; +} + +message PollInferenceServerRequest { + string service_domain = 1; +} + +message PollInferenceServerResponse { + string service_domain = 1; + int32 port = 2; + int32 ready_replicas = 3; + int32 total_replicas = 4; + bool ready = 5; + repeated string pod_ips = 6; +} + +enum InferenceRole { + INFERENCE_ROLE_UNSPECIFIED = 0; + INFERENCE_ROLE_CHAT = 1; + INFERENCE_ROLE_AUTOCOMPLETE = 2; + INFERENCE_ROLE_EMBEDDING = 3; +} + diff --git a/lsp_protos/exa/opensearch_clients_pb/opensearch_clients.proto b/lsp_protos/exa/opensearch_clients_pb/opensearch_clients.proto new file mode 100755 index 0000000..66cf3e9 --- /dev/null +++ b/lsp_protos/exa/opensearch_clients_pb/opensearch_clients.proto @@ -0,0 +1,496 @@ +syntax = "proto3"; + +package exa.opensearch_clients_pb; + +option go_package = "github.com/Exafunction/Exafunction/exa/opensearch_clients_pb"; + +import "buf/validate/validate.proto"; +import "exa/chat_pb/chat.proto"; +import "exa/codeium_common_pb/codeium_common.proto"; +import "exa/index_pb/index.proto"; +import "google/protobuf/timestamp.proto"; + +service KnowledgeBaseService { + rpc KnowledgeBaseSearch (.exa.opensearch_clients_pb.KnowledgeBaseSearchRequest) returns (.exa.opensearch_clients_pb.KnowledgeBaseSearchResponse) {} + rpc GetKnowledgeBaseScopeItems (.exa.opensearch_clients_pb.GetKnowledgeBaseScopeItemsRequest) returns (.exa.opensearch_clients_pb.GetKnowledgeBaseScopeItemsResponse) {} + rpc GetKnowledgeBaseItemsFromScopeItems (.exa.opensearch_clients_pb.GetKnowledgeBaseItemsFromScopeItemsRequest) returns (.exa.opensearch_clients_pb.GetKnowledgeBaseItemsFromScopeItemsResponse) {} + rpc IngestSlackData (.exa.opensearch_clients_pb.IngestSlackDataRequest) returns (.exa.opensearch_clients_pb.IngestSlackDataResponse) {} + rpc IngestGithubData (.exa.opensearch_clients_pb.IngestGithubDataRequest) returns (.exa.opensearch_clients_pb.IngestGithubDataResponse) {} + rpc IngestGoogleDriveData (.exa.opensearch_clients_pb.IngestGoogleDriveDataRequest) returns (.exa.opensearch_clients_pb.IngestGoogleDriveDataResponse) {} + rpc IngestJiraData (.exa.opensearch_clients_pb.IngestJiraDataRequest) returns (.exa.opensearch_clients_pb.IngestJiraDataResponse) {} + rpc IngestJiraPayload (.exa.opensearch_clients_pb.IngestJiraPayloadRequest) returns (.exa.opensearch_clients_pb.IngestJiraPayloadResponse) {} + rpc ForwardSlackPayload (.exa.opensearch_clients_pb.ForwardSlackPayloadRequest) returns (.exa.opensearch_clients_pb.ForwardSlackPayloadResponse) {} + rpc IngestSlackPayload (.exa.opensearch_clients_pb.IngestSlackPayloadRequest) returns (.exa.opensearch_clients_pb.IngestSlackPayloadResponse) {} + rpc ConnectKnowledgeBaseAccount (.exa.opensearch_clients_pb.ConnectKnowledgeBaseAccountRequest) returns (.exa.opensearch_clients_pb.ConnectKnowledgeBaseAccountResponse) {} + rpc DeleteKnowledgeBaseConnection (.exa.opensearch_clients_pb.DeleteKnowledgeBaseConnectionRequest) returns (.exa.opensearch_clients_pb.DeleteKnowledgeBaseConnectionResponse) {} + rpc UpdateConnectorConfig (.exa.opensearch_clients_pb.UpdateConnectorConfigRequest) returns (.exa.opensearch_clients_pb.UpdateConnectorConfigResponse) {} + rpc CancelKnowledgeBaseJobs (.exa.opensearch_clients_pb.CancelKnowledgeBaseJobsRequest) returns (.exa.opensearch_clients_pb.CancelKnowledgeBaseJobsResponse) {} + rpc GetKnowledgeBaseConnectorState (.exa.opensearch_clients_pb.GetKnowledgeBaseConnectorStateRequest) returns (.exa.opensearch_clients_pb.GetKnowledgeBaseConnectorStateResponse) {} + rpc GetKnowledgeBaseJobStates (.exa.opensearch_clients_pb.GetKnowledgeBaseJobStatesRequest) returns (.exa.opensearch_clients_pb.GetKnowledgeBaseJobStatesResponse) {} + rpc AddUsers (.exa.opensearch_clients_pb.AddUsersRequest) returns (.exa.opensearch_clients_pb.AddUsersResponse) {} + rpc AddGithubUsers (.exa.opensearch_clients_pb.AddGithubUsersRequest) returns (.exa.opensearch_clients_pb.AddGithubUsersResponse) {} + rpc GetKnowledgeBaseWebhookUrl (.exa.opensearch_clients_pb.GetKnowledgeBaseWebhookUrlRequest) returns (.exa.opensearch_clients_pb.GetKnowledgeBaseWebhookUrlResponse) {} + rpc GetConnectorInternalConfig (.exa.opensearch_clients_pb.GetConnectorInternalConfigRequest) returns (.exa.opensearch_clients_pb.GetConnectorInternalConfigResponse) {} +} + +service CodeIndexService { + rpc OpenSearchAddRepository (.exa.opensearch_clients_pb.OpenSearchAddRepositoryRequest) returns (.exa.opensearch_clients_pb.OpenSearchAddRepositoryResponse) {} + rpc OpenSearchGetIndex (.exa.opensearch_clients_pb.OpenSearchGetIndexRequest) returns (.exa.opensearch_clients_pb.OpenSearchGetIndexResponse) {} + rpc HybridSearch (.exa.opensearch_clients_pb.HybridSearchRequest) returns (.exa.opensearch_clients_pb.HybridSearchResponse) {} + rpc GraphSearch (.exa.opensearch_clients_pb.GraphSearchRequest) returns (.exa.opensearch_clients_pb.GraphSearchResponse) {} +} + +message TimeRange { + .google.protobuf.Timestamp start = 1; + .google.protobuf.Timestamp end = 2; +} + +message GithubUser { + string auth_uid = 1; + string username = 2; +} + +message AddGithubUsersRequest { + repeated .exa.opensearch_clients_pb.GithubUser users = 1; +} + +message AddGithubUsersResponse { +} + +message UserInfo { + string auth_uid = 1; + string email = 2; + string name = 3; + string photo_url = 4; +} + +message AddUsersRequest { + repeated .exa.opensearch_clients_pb.UserInfo users = 1; +} + +message AddUsersResponse { +} + +message KnowledgeBaseSearchRequest { + int64 max_results = 2; + repeated string queries = 3; + .exa.codeium_common_pb.Metadata metadata = 4; + repeated string urls = 12; + repeated string document_ids = 13; + repeated string aggregate_ids = 5; + repeated .exa.chat_pb.ChatMessagePrompt chat_message_prompts = 6; + .exa.opensearch_clients_pb.TimeRange time_range = 7; + repeated .exa.codeium_common_pb.DocumentType document_types = 14; + .exa.opensearch_clients_pb.SearchMode search_mode = 9; + bool disable_reranking = 10; + bool disable_contextual_lookup = 11; + repeated .exa.codeium_common_pb.IndexChoice index_choices = 8; + string query = 1; +} + +message KnowledgeBaseSearchResponse { + repeated .exa.codeium_common_pb.KnowledgeBaseGroup knowledge_base_groups = 1; +} + +message GetKnowledgeBaseScopeItemsRequest { + string query = 1; + .exa.codeium_common_pb.Metadata metadata = 3; + repeated .exa.codeium_common_pb.DocumentType document_types = 5; + repeated .exa.codeium_common_pb.IndexChoice index_choices = 4; + repeated string index_names = 2; +} + +message GetKnowledgeBaseScopeItemsResponse { + repeated .exa.codeium_common_pb.KnowledgeBaseScopeItem scope_items = 1; +} + +message GetKnowledgeBaseItemsFromScopeItemsRequest { + reserved 1; + .exa.codeium_common_pb.Metadata metadata = 2; + repeated .exa.codeium_common_pb.KnowledgeBaseScopeItem scope_items = 3; +} + +message GetKnowledgeBaseItemsFromScopeItemsResponse { + repeated .exa.codeium_common_pb.KnowledgeBaseItemWithMetadata knowledge_base_items_with_metadata = 1; +} + +message IngestSlackDataRequest { + .exa.index_pb.ManagementMetadata metadata = 1; + repeated string channel_ids = 2; +} + +message IngestSlackDataResponse { +} + +message IngestGithubDataRequest { + .exa.index_pb.ManagementMetadata metadata = 3; + string organization = 1; + string repository = 2; +} + +message IngestGithubDataResponse { +} + +message IngestGoogleDriveDataRequest { + reserved 1; + .exa.index_pb.ManagementMetadata metadata = 2; + repeated string folder_ids = 3; +} + +message IngestGoogleDriveDataResponse { +} + +message IngestJiraDataRequest { + reserved 1; + reserved 2; + reserved 3; + .exa.index_pb.ManagementMetadata metadata = 4; +} + +message IngestJiraDataResponse { +} + +message IngestJiraPayloadRequest { + string body = 3; +} + +message IngestJiraPayloadResponse { +} + +message ForwardResult { + .exa.opensearch_clients_pb.ForwardStatus status = 1; + optional string error = 2; +} + +message ForwardSlackPayloadRequest { + repeated string bodies = 1; +} + +message ForwardSlackPayloadResponse { + repeated .exa.opensearch_clients_pb.ForwardResult results = 1; +} + +message IngestSlackPayloadRequest { + repeated .exa.opensearch_clients_pb.SlackPayload payload = 1; +} + +message IngestSlackPayloadResponse { +} + +message CommonDocument { + string document_id = 1; + string text = 2; +} + +message CommonDocumentWithScore { + .exa.opensearch_clients_pb.CommonDocument document = 1; + float score = 2; +} + +message SearchResult { + string text = 1; + string url = 2; +} + +message QuerySearchResponse { + repeated .exa.opensearch_clients_pb.CommonDocumentWithScore document_with_scores = 1; +} + +message OpenSearchAddRepositoryRequest { + .exa.index_pb.ManagementMetadata metadata = 1; + .exa.index_pb.RepositoryConfig config = 2; + .exa.index_pb.RequestIndexVersion initial_index = 3; +} + +message OpenSearchAddRepositoryResponse { + string repo_name = 1; + string index_id = 2; +} + +message OpenSearchGetIndexRequest { + string index_id = 1; +} + +message OpenSearchGetIndexResponse { + .exa.index_pb.IndexingStatus status = 1; +} + +message HybridSearchRequest { + string query = 1; + .exa.codeium_common_pb.Embedding embedding = 2; + int64 max_results = 3; +} + +message HybridSearchResponse { + repeated .exa.opensearch_clients_pb.CommonDocumentWithScore document_with_scores = 1; +} + +message GraphSearchRequest { + string query = 1; + .exa.codeium_common_pb.Embedding embedding = 2; + int64 max_results = 3; +} + +message GraphSearchResponse { + repeated .exa.opensearch_clients_pb.CommonDocumentWithScore document_with_scores = 1; +} + +message ConnectorConfig { + oneof config { + .exa.opensearch_clients_pb.ConnectorConfigSlack slack = 1; + .exa.opensearch_clients_pb.ConnectorConfigGithub github = 2; + .exa.opensearch_clients_pb.ConnectorConfigGoogleDrive google_drive = 3; + .exa.opensearch_clients_pb.ConnectorConfigJira jira = 4; + } +} + +message ConnectorConfigSlack { + reserved 1; + reserved 2; + repeated string include_channel_ids = 3; + repeated string exclude_channel_ids = 4; +} + +message ConnectorConfigGithub { + reserved 1; +} + +message ConnectorConfigGoogleDrive { + reserved 1; + repeated string include_drive_ids = 2; + repeated string exclude_drive_ids = 3; +} + +message ConnectorConfigJira { +} + +message ConnectorInternalConfig { + oneof config { + .exa.opensearch_clients_pb.ConnectorInternalConfigSlack slack = 1; + .exa.opensearch_clients_pb.ConnectorInternalConfigGithub github = 2; + .exa.opensearch_clients_pb.ConnectorInternalConfigGoogleDrive google_drive = 3; + .exa.opensearch_clients_pb.ConnectorInternalConfigJira jira = 4; + } +} + +message ConnectorInternalConfigSlack { + reserved 4; + string client_id = 2; + string client_secret = 3; + string signing_secret = 1; +} + +message GithubRepoConfig { + string organization = 1; + string repository = 2; +} + +message ConnectorInternalConfigGithub { + int64 installation_id = 1; + repeated .exa.opensearch_clients_pb.GithubRepoConfig repo_configs = 2; +} + +message ConnectorInternalConfigGoogleDrive { + reserved 1; +} + +message ConnectorInternalConfigJira { + int64 webhook_id = 1; +} + +message ConnectKnowledgeBaseAccountRequest { + reserved 1; + .exa.index_pb.ManagementMetadata metadata = 7; + .exa.opensearch_clients_pb.ConnectorType connector = 2; + string access_token = 3; + .google.protobuf.Timestamp access_token_expires_at = 4; + string refresh_token = 5; + .google.protobuf.Timestamp refresh_token_expires_at = 6; + .exa.opensearch_clients_pb.ConnectorAdditionalParams additional_params = 8; +} + +message DeleteKnowledgeBaseConnectionRequest { + .exa.index_pb.ManagementMetadata metadata = 1; + .exa.opensearch_clients_pb.ConnectorType connector = 2; +} + +message DeleteKnowledgeBaseConnectionResponse { +} + +message UpdateConnectorConfigRequest { + .exa.index_pb.ManagementMetadata metadata = 1; + .exa.opensearch_clients_pb.ConnectorType connector = 2; + .exa.opensearch_clients_pb.ConnectorConfig config = 3; +} + +message UpdateConnectorConfigResponse { +} + +message ConnectorAdditionalParams { + oneof config { + .exa.opensearch_clients_pb.ConnectorAdditionalParamsSlack slack = 2; + .exa.opensearch_clients_pb.ConnectorAdditionalParamsGithub github = 1; + } +} + +message ConnectorAdditionalParamsSlack { + string client_id = 1; + string client_secret = 2; + string signing_secret = 3; +} + +message ConnectorAdditionalParamsGithub { + int64 installation_id = 1; +} + +message ConnectKnowledgeBaseAccountResponse { +} + +message CancelKnowledgeBaseJobsRequest { + .exa.index_pb.ManagementMetadata metadata = 1; + repeated int64 job_ids = 2; +} + +message CancelKnowledgeBaseJobsResponse { +} + +message DocumentTypeCount { + .exa.codeium_common_pb.DocumentType document_type = 1; + int64 count = 2; +} + +message ConnectorState { + .exa.opensearch_clients_pb.ConnectorType connector = 1; + bool initialized = 2; + .exa.opensearch_clients_pb.ConnectorConfig config = 3; + repeated .exa.opensearch_clients_pb.DocumentTypeCount document_type_counts = 4; + .google.protobuf.Timestamp last_indexed_at = 5; + .google.protobuf.Timestamp unhealthy_since = 6; + .google.protobuf.Timestamp last_configured_at = 7; +} + +message GetKnowledgeBaseConnectorStateRequest { + reserved 2; + .exa.index_pb.ManagementMetadata metadata = 1; +} + +message GetKnowledgeBaseConnectorStateResponse { + repeated .exa.opensearch_clients_pb.ConnectorState connector_states = 1; +} + +message JobState { + .exa.opensearch_clients_pb.ConnectorType connector = 1; + int64 id = 2; + .exa.opensearch_clients_pb.JobStatus status = 3; +} + +message GetKnowledgeBaseJobStatesRequest { + .exa.index_pb.ManagementMetadata metadata = 1; + repeated .exa.opensearch_clients_pb.ConnectorType connector_types = 2; +} + +message GetKnowledgeBaseJobStatesResponse { + repeated .exa.opensearch_clients_pb.JobState job_states = 1; +} + +message SlackMessagePayload { + string dataset_id = 1; + string previous_message_dataset_id = 2; + string type = 3; + string channel_id = 4; + string user = 5; + string text = 6; + string timestamp = 7; + string thread_timestamp = 8; + string channel_name = 9; + string team_name = 10; + string team_id = 11; + bool is_private_channel = 12; + string team_domain = 13; + string original_timestamp = 14; +} + +message SlackChannelPayload { + reserved 3; + reserved 5; + reserved 6; + string type = 1; + string channel_id = 2; + string channel_name = 4; + string description = 7; + string team_id = 8; + bool is_private_channel = 9; +} + +message SlackPayload { + reserved 1; + reserved 2; + reserved 3; + reserved 4; + reserved 5; + reserved 6; + reserved 7; + reserved 8; + reserved 9; + reserved 10; + reserved 11; + reserved 12; + oneof payload { + .exa.opensearch_clients_pb.SlackMessagePayload message = 13; + .exa.opensearch_clients_pb.SlackChannelPayload channel = 14; + } +} + +message GetKnowledgeBaseWebhookUrlRequest { + .exa.index_pb.ManagementMetadata metadata = 1; +} + +message GetKnowledgeBaseWebhookUrlResponse { + string webhook_url = 1; +} + +message GetConnectorInternalConfigRequest { + .exa.opensearch_clients_pb.ConnectorType connector = 1; +} + +message GetConnectorInternalConfigResponse { + .exa.opensearch_clients_pb.ConnectorInternalConfig internal_config = 1; +} + +enum SearchMode { + SEARCH_MODE_UNSPECIFIED = 0; + SEARCH_MODE_HYBRID = 1; + SEARCH_MODE_KEYWORD = 2; + SEARCH_MODE_APPROXIMATE_KNN = 3; + SEARCH_MODE_BRUTE_FORCE_KNN = 4; +} + +enum ForwardStatus { + FORWARD_STATUS_UNSPECIFIED = 0; + FORWARD_STATUS_FAILURE = 1; + FORWARD_STATUS_SAVED = 2; + FORWARD_STATUS_SUCCESS = 3; +} + +enum ConnectorType { + CONNECTOR_TYPE_UNSPECIFIED = 0; + CONNECTOR_TYPE_GITHUB = 1; + CONNECTOR_TYPE_SLACK = 2; + CONNECTOR_TYPE_GOOGLE_DRIVE = 3; + CONNECTOR_TYPE_JIRA = 4; + CONNECTOR_TYPE_CODEIUM = 5; + CONNECTOR_TYPE_EMAIL = 6; + CONNECTOR_TYPE_GITHUB_OAUTH = 7; +} + +enum JobStatus { + JOB_STATUS_UNSPECIFIED = 0; + JOB_STATUS_QUEUED = 1; + JOB_STATUS_RUNNING = 2; + JOB_STATUS_COMPLETED = 3; + JOB_STATUS_CANCELLED = 4; + JOB_STATUS_CANCELLING = 5; + JOB_STATUS_ERRORED = 6; + JOB_STATUS_RETRYABLE = 7; +} + diff --git a/lsp_protos/exa/product_analytics_pb/product_analytics.proto b/lsp_protos/exa/product_analytics_pb/product_analytics.proto new file mode 100755 index 0000000..a58bfa0 --- /dev/null +++ b/lsp_protos/exa/product_analytics_pb/product_analytics.proto @@ -0,0 +1,50 @@ +syntax = "proto3"; + +package exa.product_analytics_pb; + +option go_package = "github.com/Exafunction/Exafunction/exa/product_analytics_pb"; + +import "buf/validate/validate.proto"; + +service ProductAnalyticsService { + rpc RecordAnalyticsEvent (.exa.product_analytics_pb.RecordAnalyticsEventRequest) returns (.exa.product_analytics_pb.RecordAnalyticsEventResponse) {} + rpc BatchRecordAnalyticsEvents (.exa.product_analytics_pb.BatchRecordAnalyticsEventsRequest) returns (.exa.product_analytics_pb.BatchRecordAnalyticsEventsResponse) {} +} + +message RecordAnalyticsEventRequest { + message ExtraEntry { + string key = 1; + string value = 2; + } + + message ExperimentsEntry { + string key = 1; + bool value = 2; + } + + 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; + repeated .exa.product_analytics_pb.RecordAnalyticsEventRequest.ExtraEntry extra = 9; + repeated .exa.product_analytics_pb.RecordAnalyticsEventRequest.ExperimentsEntry experiments = 10; + string plan_tier = 11; + string device_fingerprint = 12; + string ide_type = 13; +} + +message RecordAnalyticsEventResponse { +} + +message BatchRecordAnalyticsEventsRequest { + repeated .exa.product_analytics_pb.RecordAnalyticsEventRequest events = 1; + string api_key = 2; +} + +message BatchRecordAnalyticsEventsResponse { +} + diff --git a/lsp_protos/exa/prompt_pb/prompt.proto b/lsp_protos/exa/prompt_pb/prompt.proto new file mode 100755 index 0000000..ae2b794 --- /dev/null +++ b/lsp_protos/exa/prompt_pb/prompt.proto @@ -0,0 +1,103 @@ +syntax = "proto3"; + +package exa.prompt_pb; + +option go_package = "github.com/Exafunction/Exafunction/exa/prompt_pb"; + +import "exa/chat_pb/chat.proto"; +import "exa/codeium_common_pb/codeium_common.proto"; +import "exa/context_module_pb/context_module.proto"; +import "exa/cortex_pb/cortex.proto"; +import "exa/language_server_pb/language_server.proto"; + +message PendingCommand { + string instruction = 1; + string completion = 2; +} + +message CommandIntentInfo { + string selection = 1; + string instruction = 2; + .exa.codeium_common_pb.Document input_document = 3; + uint64 selection_start_line = 4; + uint64 selection_end_line = 5; + .exa.codeium_common_pb.TerminalCommandData terminal_command_data = 6; + repeated .exa.codeium_common_pb.TerminalShellCommand previous_commands = 7; + repeated .exa.prompt_pb.PendingCommand pending_commands = 8; + .exa.codeium_common_pb.CommandRequestSource request_source = 9; + repeated .exa.codeium_common_pb.IntellisenseSuggestion intellisense_prompt = 10; + repeated .exa.codeium_common_pb.CodeDiagnostic diagnostics_prompt = 11; +} + +message SupercompleteFeedback { + bool accepted = 1; + bool intentional_reject = 2; + string completion_id = 3; + int64 timestamp_ms = 4; + .exa.language_server_pb.HandleStreamingTabV2Response.Diff diff_suggestion = 5; + .exa.language_server_pb.HandleStreamingTabV2Response.TabJump tabjump_suggestion = 6; +} + +message SupercompleteFeedbackContext { + repeated .exa.prompt_pb.SupercompleteFeedback feedback = 1; +} + +message UnifiedPromptComponents { + reserved "knowledge_base_result"; + reserved "knowledge_base_items"; + reserved "knowledge_base_groups"; + reserved 6; + reserved 7; + reserved 8; + .exa.context_module_pb.ContextModuleResult context_module_result = 2; + .exa.cortex_pb.CortexTrajectory cortex_trajectory = 3; + .exa.prompt_pb.CommandIntentInfo command_intent_info = 4; + repeated .exa.chat_pb.ChatMessage chat_messages = 1; + repeated .exa.codeium_common_pb.CodeDiagnostic code_diagnostics = 5; + repeated .exa.codeium_common_pb.Document other_documents = 9; + .exa.chat_pb.DeepWikiSymbolContext deep_wiki_context = 10; + .exa.chat_pb.DeepWikiContext deep_wiki_context_v2 = 11; + .exa.prompt_pb.SupercompleteFeedbackContext supercomplete_feedback_context = 12; +} + +message SystemPromptConstructionConfig { + string element_separator = 1; +} + +message CommandPromptCacheConfig { + int64 max_tracked_files = 1; + int64 max_cache_age_seconds = 2; +} + +message CumulativePromptConfig { + reserved "active_document_context_multiplier"; + reserved "context_item_context_multiplier"; + reserved "cache_context_multiplier"; + reserved "max_ccis_considered"; + reserved 1; + reserved 3; + reserved 4; + reserved 5; + message AllowedImplicitStepTypesEntry { + string key = 1; + bool value = 2; + } + + float persistent_context_multiplier = 7; + float persistent_active_document_multiplier = 10; + float persistent_open_docs_multiplier = 11; + int64 persistent_max_tokens_per_open_doc = 17; + int64 persistent_max_ccis_considered = 12; + float persistent_document_suffix_frac = 20; + float trajectory_context_multiplier = 2; + float trajectory_refresh_threshold_multiplier = 15; + float trajectory_truncation_multiplier = 16; + float ephemeral_context_multiplier = 9; + int64 intent_reservation_tokens = 6; + float ephemeral_active_document_multiplier = 13; + int64 ephemeral_max_ccis_considered = 14; + float ephemeral_document_suffix_frac = 21; + repeated .exa.cortex_pb.CortexStepType allowed_cascade_step_types = 18; + repeated .exa.prompt_pb.CumulativePromptConfig.AllowedImplicitStepTypesEntry allowed_implicit_step_types = 22; +} + diff --git a/lsp_protos/exa/reactive_component_pb/reactive_component.proto b/lsp_protos/exa/reactive_component_pb/reactive_component.proto new file mode 100755 index 0000000..d86edd4 --- /dev/null +++ b/lsp_protos/exa/reactive_component_pb/reactive_component.proto @@ -0,0 +1,109 @@ +syntax = "proto3"; + +package exa.reactive_component_pb; + +option go_package = "github.com/Exafunction/Exafunction/exa/reactive_component_pb"; + +message StreamReactiveUpdatesRequest { + uint32 protocol_version = 1; + string id = 2; +} + +message StreamReactiveUpdatesResponse { + uint64 version = 1; + .exa.reactive_component_pb.MessageDiff diff = 2; + bytes full_state = 3; +} + +message TestProto { + int32 counter = 1; + repeated int32 values = 2; + .exa.reactive_component_pb.TestProto nested = 3; + repeated .exa.reactive_component_pb.TestProto nested_repeated = 4; +} + +message MessageDiff { + repeated .exa.reactive_component_pb.FieldDiff field_diffs = 1; +} + +message FieldDiff { + uint32 field_number = 1; + oneof diff { + .exa.reactive_component_pb.SingularValue update_singular = 2; + .exa.reactive_component_pb.RepeatedDiff update_repeated = 3; + .exa.reactive_component_pb.MapDiff update_map = 4; + bool clear = 5; + } +} + +message RepeatedDiff { + uint32 new_length = 1; + repeated .exa.reactive_component_pb.SingularValue update_values = 2; + repeated uint32 update_indices = 3; +} + +message MapDiff { + repeated .exa.reactive_component_pb.MapKeyDiff map_key_diffs = 1; +} + +message MapKeyDiff { + .exa.reactive_component_pb.SingularValue map_key = 1; + oneof diff { + .exa.reactive_component_pb.SingularValue update_singular = 2; + bool clear = 3; + } +} + +message SingularValue { + oneof value { + double double_value = 1; + float float_value = 2; + int32 int32_value = 3; + int64 int64_value = 4; + uint32 uint32_value = 5; + uint64 uint64_value = 6; + sint32 sint32_value = 7; + sint64 sint64_value = 8; + fixed32 fixed32_value = 9; + fixed64 fixed64_value = 10; + sfixed32 sfixed32_value = 11; + sfixed64 sfixed64_value = 12; + bool bool_value = 13; + uint32 enum_value = 14; + string string_value = 15; + bytes bytes_value = 16; + .exa.reactive_component_pb.MessageDiff message_value = 17; + } +} + +message TestDiffProto { + message MapScalarValueEntry { + int32 key = 1; + double value = 2; + } + + message MapMessageValueEntry { + string key = 1; + .exa.reactive_component_pb.TestProto value = 2; + } + + double singular_scalar_value = 1; + .exa.reactive_component_pb.TestProto singular_message_value = 2; + repeated double repeated_scalar_value = 3; + repeated .exa.reactive_component_pb.TestProto repeated_message_value = 4; + repeated .exa.reactive_component_pb.TestDiffProto.MapScalarValueEntry map_scalar_value = 5; + repeated .exa.reactive_component_pb.TestDiffProto.MapMessageValueEntry map_message_value = 6; + .exa.reactive_component_pb.TestEnum enum_value = 9; + oneof oneof_test { + double oneof_scalar_value = 7; + .exa.reactive_component_pb.TestProto oneof_message_value = 8; + } + optional double optional_scalar_value = 10; +} + +enum TestEnum { + TEST_ENUM_UNSPECIFIED = 0; + TEST_ENUM_ONE = 1; + TEST_ENUM_TWO = 2; +} + diff --git a/lsp_protos/exa/seat_management_pb/seat_management.proto b/lsp_protos/exa/seat_management_pb/seat_management.proto new file mode 100755 index 0000000..950cc5f --- /dev/null +++ b/lsp_protos/exa/seat_management_pb/seat_management.proto @@ -0,0 +1,2238 @@ +syntax = "proto3"; + +package exa.seat_management_pb; + +option go_package = "github.com/Exafunction/Exafunction/exa/seat_management_pb"; + +import "buf/validate/validate.proto"; +import "exa/codeium_common_pb/codeium_common.proto"; +import "google/protobuf/timestamp.proto"; + +service SeatManagementService { + rpc GetUserStatus (.exa.seat_management_pb.GetUserStatusRequest) returns (.exa.seat_management_pb.GetUserStatusResponse) {} + rpc GetUsers (.exa.seat_management_pb.GetUsersRequest) returns (.exa.seat_management_pb.GetUsersResponse) {} + rpc GetRolesForUser (.exa.seat_management_pb.GetRolesForUserRequest) returns (.exa.seat_management_pb.GetRolesForUserResponse) {} + rpc AddUserRole (.exa.seat_management_pb.AddUserRoleRequest) returns (.exa.seat_management_pb.AddUserRoleResponse) {} + rpc RemoveUserRole (.exa.seat_management_pb.RemoveUserRoleRequest) returns (.exa.seat_management_pb.RemoveUserRoleResponse) {} + rpc RegisterUser (.exa.seat_management_pb.RegisterUserRequest) returns (.exa.seat_management_pb.RegisterUserResponse) {} + rpc MigrateApiKey (.exa.seat_management_pb.MigrateApiKeyRequest) returns (.exa.seat_management_pb.MigrateApiKeyResponse) {} + rpc CreateFbUser (.exa.seat_management_pb.CreateFbUserRequest) returns (.exa.seat_management_pb.CreateFbUserResponse) {} + rpc GetOneTimeAuthToken (.exa.seat_management_pb.GetOneTimeAuthTokenRequest) returns (.exa.seat_management_pb.GetOneTimeAuthTokenResponse) {} + rpc CreatePKCEAuthorizationCode (.exa.seat_management_pb.CreatePKCEAuthorizationCodeRequest) returns (.exa.seat_management_pb.CreatePKCEAuthorizationCodeResponse) {} + rpc ExchangePKCEAuthorizationCode (.exa.seat_management_pb.ExchangePKCEAuthorizationCodeRequest) returns (.exa.seat_management_pb.ExchangePKCEAuthorizationCodeResponse) {} + rpc UpdateName (.exa.seat_management_pb.UpdateNameRequest) returns (.exa.seat_management_pb.UpdateNameResponse) {} + rpc UpdateInboundSource (.exa.seat_management_pb.UpdateInboundSourceRequest) returns (.exa.seat_management_pb.UpdateInboundSourceResponse) {} + rpc GetProfilePicturePresignedUploadUrl (.exa.seat_management_pb.GetProfilePicturePresignedUploadUrlRequest) returns (.exa.seat_management_pb.GetProfilePicturePresignedUploadUrlResponse) {} + rpc ProfilePictureUploadComplete (.exa.seat_management_pb.ProfilePictureUploadCompleteRequest) returns (.exa.seat_management_pb.ProfilePictureUploadCompleteResponse) {} + rpc GetProfileData (.exa.seat_management_pb.GetProfileDataRequest) returns (.exa.seat_management_pb.GetProfileDataResponse) {} + rpc DeleteProfilePicture (.exa.seat_management_pb.DeleteProfilePictureRequest) returns (.exa.seat_management_pb.DeleteProfilePictureResponse) {} + rpc DeleteUser (.exa.seat_management_pb.DeleteUserRequest) returns (.exa.seat_management_pb.DeleteUserResponse) {} + rpc UpdateCodeiumAccess (.exa.seat_management_pb.UpdateCodeiumAccessRequest) returns (.exa.seat_management_pb.UpdateCodeiumAccessResponse) {} + rpc GetCurrentUser (.exa.seat_management_pb.GetCurrentUserRequest) returns (.exa.seat_management_pb.GetCurrentUserResponse) {} + rpc GetLicense (.exa.seat_management_pb.GetLicenseRequest) returns (.exa.seat_management_pb.GetLicenseResponse) {} + rpc RequestTeamAccess (.exa.seat_management_pb.RequestTeamAccessRequest) returns (.exa.seat_management_pb.RequestTeamAccessResponse) {} + rpc UpdateUserTeamStatus (.exa.seat_management_pb.UpdateUserTeamStatusRequest) returns (.exa.seat_management_pb.UpdateUserTeamStatusResponse) {} + rpc GetTeamMetadata (.exa.seat_management_pb.GetTeamMetadataRequest) returns (.exa.seat_management_pb.GetTeamMetadataResponse) {} + rpc RemoveUserFromTeam (.exa.seat_management_pb.RemoveUserFromTeamRequest) returns (.exa.seat_management_pb.RemoveUserFromTeamResponse) {} + rpc RefreshTeamInviteId (.exa.seat_management_pb.RefreshTeamInviteIdRequest) returns (.exa.seat_management_pb.RefreshTeamInviteIdResponse) {} + rpc GrantPreapproval (.exa.seat_management_pb.GrantPreapprovalRequest) returns (.exa.seat_management_pb.GrantPreapprovalResponse) {} + rpc RevokePreapproval (.exa.seat_management_pb.RevokePreapprovalRequest) returns (.exa.seat_management_pb.RevokePreapprovalResponse) {} + rpc GetPreapprovals (.exa.seat_management_pb.GetPreapprovalsRequest) returns (.exa.seat_management_pb.GetPreapprovalsResponse) {} + rpc GetPreapprovalMetadata (.exa.seat_management_pb.GetPreapprovalMetadataRequest) returns (.exa.seat_management_pb.GetPreapprovalMetadataResponse) {} + rpc AcceptPreapproval (.exa.seat_management_pb.AcceptPreapprovalRequest) returns (.exa.seat_management_pb.AcceptPreapprovalResponse) {} + rpc RejectPreapproval (.exa.seat_management_pb.RejectPreapprovalRequest) returns (.exa.seat_management_pb.RejectPreapprovalResponse) {} + rpc GetPreapprovalForUser (.exa.seat_management_pb.GetPreapprovalForUserRequest) returns (.exa.seat_management_pb.GetPreapprovalForUserResponse) {} + rpc UpdateSeats (.exa.seat_management_pb.UpdateSeatsRequest) returns (.exa.seat_management_pb.UpdateSeatsResponse) {} + rpc SubscribeToPlan (.exa.seat_management_pb.SubscribeToPlanRequest) returns (.exa.seat_management_pb.SubscribeToPlanResponse) {} + rpc PurchaseCascadeCredits (.exa.seat_management_pb.PurchaseCascadeCreditsRequest) returns (.exa.seat_management_pb.PurchaseCascadeCreditsResponse) {} + rpc GetTeamBilling (.exa.seat_management_pb.GetTeamBillingRequest) returns (.exa.seat_management_pb.GetTeamBillingResponse) {} + rpc UpdatePlan (.exa.seat_management_pb.UpdatePlanRequest) returns (.exa.seat_management_pb.UpdatePlanResponse) {} + rpc CancelPlan (.exa.seat_management_pb.CancelPlanRequest) returns (.exa.seat_management_pb.CancelPlanResponse) {} + rpc UpdateBilling (.exa.seat_management_pb.UpdateBillingRequest) returns (.exa.seat_management_pb.UpdateBillingResponse) {} + rpc GetCustomerPortal (.exa.seat_management_pb.GetCustomerPortalRequest) returns (.exa.seat_management_pb.GetCustomerPortalResponse) {} + rpc GetUserSubscription (.exa.seat_management_pb.GetUserSubscriptionRequest) returns (.exa.seat_management_pb.GetUserSubscriptionResponse) {} + rpc IsUsernameAvailable (.exa.seat_management_pb.IsUsernameAvailableRequest) returns (.exa.seat_management_pb.IsUsernameAvailableResponse) {} + rpc UpdateUsername (.exa.seat_management_pb.UpdateUsernameRequest) returns (.exa.seat_management_pb.UpdateUsernameResponse) {} + rpc UpdateOccupation (.exa.seat_management_pb.UpdateOccupationRequest) returns (.exa.seat_management_pb.UpdateOccupationResponse) {} + rpc UpdateProfile (.exa.seat_management_pb.UpdateProfileRequest) returns (.exa.seat_management_pb.UpdateProfileResponse) {} + rpc UpdateProfileVisibility (.exa.seat_management_pb.UpdateProfileVisibilityRequest) returns (.exa.seat_management_pb.UpdateProfileVisibilityResponse) {} + rpc GetPublicProfile (.exa.seat_management_pb.GetPublicProfileRequest) returns (.exa.seat_management_pb.GetPublicProfileResponse) {} + rpc GetSSOProvider (.exa.seat_management_pb.GetSSOProviderRequest) returns (.exa.seat_management_pb.GetSSOProviderResponse) {} + rpc SaveSSOProvider (.exa.seat_management_pb.SaveSSOProviderRequest) returns (.exa.seat_management_pb.SaveSSOProviderResponse) {} + rpc JoinTeamWithSSOLogin (.exa.seat_management_pb.JoinTeamWithSSOLoginRequest) returns (.exa.seat_management_pb.JoinTeamWithSSOLoginResponse) {} + rpc UserSSOLoginRedirect (.exa.seat_management_pb.UserSSOLoginRedirectRequest) returns (.exa.seat_management_pb.UserSSOLoginRedirectResponse) {} + rpc CheckEmailForSSO (.exa.seat_management_pb.CheckEmailForSSORequest) returns (.exa.seat_management_pb.CheckEmailForSSOResponse) {} + rpc SendPhoneVerification (.exa.seat_management_pb.SendPhoneVerificationRequest) returns (.exa.seat_management_pb.SendPhoneVerificationResponse) {} + rpc SendEmailVerification (.exa.seat_management_pb.SendEmailVerificationRequest) returns (.exa.seat_management_pb.SendEmailVerificationResponse) {} + rpc GetTeamActivity (.exa.seat_management_pb.GetTeamActivityRequest) returns (.exa.seat_management_pb.GetTeamActivityResponse) {} + rpc DeleteTeam (.exa.seat_management_pb.DeleteTeamRequest) returns (.exa.seat_management_pb.DeleteTeamResponse) {} + rpc GetTeamsFeatures (.exa.seat_management_pb.GetTeamsFeaturesRequest) returns (.exa.seat_management_pb.GetTeamsFeaturesResponse) {} + rpc GrantSuperAdminAccess (.exa.seat_management_pb.GrantSuperAdminAccessRequest) returns (.exa.seat_management_pb.GrantSuperAdminAccessResponse) {} + rpc GrantTeamAdminAccess (.exa.seat_management_pb.GrantTeamAdminAccessRequest) returns (.exa.seat_management_pb.GrantTeamAdminAccessResponse) {} + rpc AddFlexCreditsToMultiTenantTeam (.exa.seat_management_pb.AddFlexCreditsToMultiTenantTeamRequest) returns (.exa.seat_management_pb.AddFlexCreditsToMultiTenantTeamResponse) {} + rpc GetGroups (.exa.seat_management_pb.GetGroupsRequest) returns (.exa.seat_management_pb.GetGroupsResponse) {} + rpc GetUserNotifications (.exa.seat_management_pb.GetUserNotificationsRequest) returns (.exa.seat_management_pb.GetUserNotificationsResponse) {} + rpc GetCascadeAnalytics (.exa.seat_management_pb.GetCascadeAnalyticsRequest) returns (.exa.seat_management_pb.GetCascadeAnalyticsResponse) {} + rpc GetTeamCreditEntries (.exa.seat_management_pb.GetTeamCreditEntriesRequest) returns (.exa.seat_management_pb.GetTeamCreditEntriesResponse) {} + rpc UpdateCreditTopUpSettings (.exa.seat_management_pb.UpdateCreditTopUpSettingsRequest) returns (.exa.seat_management_pb.UpdateCreditTopUpSettingsResponse) {} + rpc GetPrimaryApiKeyForDevsOnly (.exa.seat_management_pb.GetPrimaryApiKeyForDevsOnlyRequest) returns (.exa.seat_management_pb.GetPrimaryApiKeyForDevsOnlyResponse) {} + rpc ConnectGithubAccount (.exa.seat_management_pb.ConnectGithubAccountRequest) returns (.exa.seat_management_pb.ConnectGithubAccountResponse) {} + rpc DisconnectGithubAccount (.exa.seat_management_pb.DisconnectGithubAccountRequest) returns (.exa.seat_management_pb.DisconnectGithubAccountResponse) {} + rpc GetGitHubAccountStatus (.exa.seat_management_pb.GetGitHubAccountStatusRequest) returns (.exa.seat_management_pb.GetGitHubAccountStatusResponse) {} + rpc GetGitHubAccessToken (.exa.seat_management_pb.GetGitHubAccessTokenRequest) returns (.exa.seat_management_pb.GetGitHubAccessTokenResponse) {} + rpc ConnectNetlifyAccount (.exa.seat_management_pb.ConnectNetlifyAccountRequest) returns (.exa.seat_management_pb.ConnectNetlifyAccountResponse) {} + rpc DisconnectNetlifyAccount (.exa.seat_management_pb.DisconnectNetlifyAccountRequest) returns (.exa.seat_management_pb.DisconnectNetlifyAccountResponse) {} + rpc GetNetlifyAccountStatus (.exa.seat_management_pb.GetNetlifyAccountStatusRequest) returns (.exa.seat_management_pb.GetNetlifyAccountStatusResponse) {} + rpc CreateTeamApiSecret (.exa.seat_management_pb.CreateTeamApiSecretRequest) returns (.exa.seat_management_pb.CreateTeamApiSecretResponse) {} + rpc UpdateTeamApiSecret (.exa.seat_management_pb.UpdateTeamApiSecretRequest) returns (.exa.seat_management_pb.UpdateTeamApiSecretResponse) {} + rpc GetAllTeamApiSecrets (.exa.seat_management_pb.GetAllTeamApiSecretsRequest) returns (.exa.seat_management_pb.GetAllTeamApiSecretsResponse) {} + rpc DeleteTeamApiSecret (.exa.seat_management_pb.DeleteTeamApiSecretRequest) returns (.exa.seat_management_pb.DeleteTeamApiSecretResponse) {} + rpc GetPlanStatus (.exa.seat_management_pb.GetPlanStatusRequest) returns (.exa.seat_management_pb.GetPlanStatusResponse) {} + rpc CreateRole (.exa.seat_management_pb.CreateRoleRequest) returns (.exa.seat_management_pb.CreateRoleResponse) {} + rpc DeleteRole (.exa.seat_management_pb.DeleteRoleRequest) returns (.exa.seat_management_pb.DeleteRoleResponse) {} + rpc UpdateRole (.exa.seat_management_pb.UpdateRoleRequest) returns (.exa.seat_management_pb.UpdateRoleResponse) {} + rpc GetRoles (.exa.seat_management_pb.GetRolesRequest) returns (.exa.seat_management_pb.GetRolesResponse) {} + rpc ProvisionTeam (.exa.seat_management_pb.ProvisionTeamRequest) returns (.exa.seat_management_pb.ProvisionTeamResponse) {} + rpc ProvisionCascadeSeats (.exa.seat_management_pb.ProvisionCascadeSeatsRequest) returns (.exa.seat_management_pb.ProvisionCascadeSeatsResponse) {} + rpc AddUsersToTeam (.exa.seat_management_pb.AddUsersToTeamRequest) returns (.exa.seat_management_pb.AddUsersToTeamResponse) {} + rpc UpdateUserRoles (.exa.seat_management_pb.UpdateUserRolesRequest) returns (.exa.seat_management_pb.UpdateUserRolesResponse) {} + rpc BulkUpdateUserRoles (.exa.seat_management_pb.BulkUpdateUserRolesRequest) returns (.exa.seat_management_pb.BulkUpdateUserRolesResponse) {} + rpc GetTeamsFeaturesInternal (.exa.seat_management_pb.GetTeamsFeaturesInternalRequest) returns (.exa.seat_management_pb.GetTeamsFeaturesInternalResponse) {} + rpc UpdateTeamsFeaturesInternal (.exa.seat_management_pb.UpdateTeamsFeaturesInternalRequest) returns (.exa.seat_management_pb.UpdateTeamsFeaturesInternalResponse) {} + rpc SetTeamsFeatures (.exa.seat_management_pb.SetTeamsFeaturesRequest) returns (.exa.seat_management_pb.SetTeamsFeaturesResponse) {} + rpc UpdateUserFeaturesInternal (.exa.seat_management_pb.UpdateUserFeaturesInternalRequest) returns (.exa.seat_management_pb.UpdateUserFeaturesInternalResponse) {} + rpc BulkEditUserApprovals (.exa.seat_management_pb.BulkEditUserApprovalsRequest) returns (.exa.seat_management_pb.BulkEditUserApprovalsResponse) {} + rpc BulkEditUserApprovalsInternal (.exa.seat_management_pb.BulkEditUserApprovalsInternalRequest) returns (.exa.seat_management_pb.BulkEditUserApprovalsInternalResponse) {} + rpc CreateEnterprise (.exa.seat_management_pb.CreateEnterpriseRequest) returns (.exa.seat_management_pb.CreateEnterpriseResponse) {} + rpc UpdateEnterprise (.exa.seat_management_pb.UpdateEnterpriseRequest) returns (.exa.seat_management_pb.UpdateEnterpriseResponse) {} + rpc UpdateTeamConfig (.exa.seat_management_pb.UpdateTeamConfigRequest) returns (.exa.seat_management_pb.UpdateTeamConfigResponse) {} + rpc GetTeamInfo (.exa.seat_management_pb.GetTeamInfoRequest) returns (.exa.seat_management_pb.GetTeamInfoResponse) {} + rpc UpdatePlanDetailsInternal (.exa.seat_management_pb.UpdatePlanDetailsInternalRequest) returns (.exa.seat_management_pb.UpdatePlanDetailsInternalResponse) {} + rpc InitiateTopUp (.exa.seat_management_pb.InitiateTopUpRequest) returns (.exa.seat_management_pb.InitiateTopUpResponse) {} + rpc UpdateTeamConfigExternal (.exa.seat_management_pb.UpdateTeamConfigExternalRequest) returns (.exa.seat_management_pb.UpdateTeamConfigExternalResponse) {} + rpc GetTeamConfigRecord (.exa.seat_management_pb.GetTeamConfigRecordRequest) returns (.exa.seat_management_pb.GetTeamConfigRecordResponse) {} + rpc UsageConfig (.exa.seat_management_pb.UsageConfigRequest) returns (.exa.seat_management_pb.UsageConfigResponse) {} + rpc GetUsageConfig (.exa.seat_management_pb.GetUsageConfigRequest) returns (.exa.seat_management_pb.GetUsageConfigResponse) {} + rpc GetTeamSettings (.exa.seat_management_pb.GetTeamSettingsRequest) returns (.exa.seat_management_pb.GetTeamSettingsResponse) {} + rpc GetCliTeamSettings (.exa.seat_management_pb.GetCliTeamSettingsRequest) returns (.exa.seat_management_pb.GetCliTeamSettingsResponse) {} + rpc UpdateCascadeWebSearchEnabled (.exa.seat_management_pb.UpdateCascadeWebSearchEnabledRequest) returns (.exa.seat_management_pb.UpdateCascadeWebSearchEnabledResponse) {} + rpc CreateMultiTenantTeam (.exa.seat_management_pb.CreateMultiTenantTeamRequest) returns (.exa.seat_management_pb.CreateMultiTenantTeamResponse) {} + rpc GetMultiTenantTeams (.exa.seat_management_pb.GetMultiTenantTeamsRequest) returns (.exa.seat_management_pb.GetMultiTenantTeamsResponse) {} + rpc DeleteMultiTenantTeam (.exa.seat_management_pb.DeleteMultiTenantTeamRequest) returns (.exa.seat_management_pb.DeleteMultiTenantTeamResponse) {} + rpc GetTeamOrgId (.exa.seat_management_pb.GetTeamOrgIdRequest) returns (.exa.seat_management_pb.GetTeamOrgIdResponse) {} + rpc GetMucsInfo (.exa.seat_management_pb.GetMucsInfoRequest) returns (.exa.seat_management_pb.GetMucsInfoResponse) {} + rpc GetWrapped2024 (.exa.seat_management_pb.GetWrapped2024Request) returns (.exa.seat_management_pb.GetWrapped2024Response) {} + rpc SetTeamLicense (.exa.seat_management_pb.SetTeamLicenseRequest) returns (.exa.seat_management_pb.SetTeamLicenseResponse) {} + rpc IsValidReferralCode (.exa.seat_management_pb.IsValidReferralCodeRequest) returns (.exa.seat_management_pb.IsValidReferralCodeResponse) {} + rpc ProcessReferralCode (.exa.seat_management_pb.ProcessReferralCodeRequest) returns (.exa.seat_management_pb.ProcessReferralCodeResponse) {} + rpc RemoveUsersFromTeamInternal (.exa.seat_management_pb.RemoveUsersFromTeamInternalRequest) returns (.exa.seat_management_pb.RemoveUsersFromTeamInternalResponse) {} + rpc BulkDeleteUsersInternal (.exa.seat_management_pb.BulkDeleteUsersInternalRequest) returns (.exa.seat_management_pb.BulkDeleteUsersInternalResponse) {} + rpc ExportUserDataInternal (.exa.seat_management_pb.ExportUserDataInternalRequest) returns (.exa.seat_management_pb.ExportUserDataInternalResponse) {} + rpc InitiateAccountOwnershipVerificationInternal (.exa.seat_management_pb.InitiateAccountOwnershipVerificationInternalRequest) returns (.exa.seat_management_pb.InitiateAccountOwnershipVerificationInternalResponse) {} + rpc VerifyAccountOwnershipInternal (.exa.seat_management_pb.VerifyAccountOwnershipInternalRequest) returns (.exa.seat_management_pb.VerifyAccountOwnershipInternalResponse) {} + rpc AddExtraFlexCreditsInternal (.exa.seat_management_pb.AddExtraFlexCreditsInternalRequest) returns (.exa.seat_management_pb.AddExtraFlexCreditsInternalResponse) {} + rpc AddTeamAddOnFeature (.exa.seat_management_pb.AddTeamAddOnFeatureRequest) returns (.exa.seat_management_pb.AddTeamAddOnFeatureResponse) {} + rpc ShowSSOAddOn (.exa.seat_management_pb.ShowSSOAddOnRequest) returns (.exa.seat_management_pb.ShowSSOAddOnResponse) {} + rpc CheckProTrialEligibility (.exa.seat_management_pb.CheckProTrialEligibilityRequest) returns (.exa.seat_management_pb.CheckProTrialEligibilityResponse) {} + rpc GetSetUserApiProviderKeys (.exa.seat_management_pb.GetSetUserApiProviderKeysRequest) returns (.exa.seat_management_pb.GetSetUserApiProviderKeysResponse) {} + rpc SetUserApiProviderKey (.exa.seat_management_pb.SetUserApiProviderKeyRequest) returns (.exa.seat_management_pb.SetUserApiProviderKeyResponse) {} + rpc DeleteUserApiProviderKey (.exa.seat_management_pb.DeleteUserApiProviderKeyRequest) returns (.exa.seat_management_pb.DeleteUserApiProviderKeyResponse) {} + rpc GetApiKeySummary (.exa.seat_management_pb.GetApiKeySummaryRequest) returns (.exa.seat_management_pb.GetApiKeySummaryResponse) {} + rpc DeleteApiKey (.exa.seat_management_pb.DeleteApiKeyRequest) returns (.exa.seat_management_pb.DeleteApiKeyResponse) {} + rpc LogOutUser (.exa.seat_management_pb.LogOutUserRequest) returns (.exa.seat_management_pb.LogOutUserResponse) {} + rpc AddTeamDomain (.exa.seat_management_pb.AddTeamDomainRequest) returns (.exa.seat_management_pb.AddTeamDomainResponse) {} + rpc ListTeamDomains (.exa.seat_management_pb.ListTeamDomainsRequest) returns (.exa.seat_management_pb.ListTeamDomainsResponse) {} + rpc VerifyTeamDomain (.exa.seat_management_pb.VerifyTeamDomainRequest) returns (.exa.seat_management_pb.VerifyTeamDomainResponse) {} + rpc DeleteTeamDomain (.exa.seat_management_pb.DeleteTeamDomainRequest) returns (.exa.seat_management_pb.DeleteTeamDomainResponse) {} + rpc AddTeamDomainInternal (.exa.seat_management_pb.AddTeamDomainInternalRequest) returns (.exa.seat_management_pb.AddTeamDomainInternalResponse) {} + rpc DeleteTeamDomainInternal (.exa.seat_management_pb.DeleteTeamDomainInternalRequest) returns (.exa.seat_management_pb.DeleteTeamDomainInternalResponse) {} + rpc ListTeamDomainsInternal (.exa.seat_management_pb.ListTeamDomainsInternalRequest) returns (.exa.seat_management_pb.ListTeamDomainsInternalResponse) {} + rpc UpdateTeamNameInternal (.exa.seat_management_pb.UpdateTeamNameInternalRequest) returns (.exa.seat_management_pb.UpdateTeamNameInternalResponse) {} + rpc VerifySSOLoginInternal (.exa.seat_management_pb.VerifySSOLoginInternalRequest) returns (.exa.seat_management_pb.VerifySSOLoginInternalResponse) {} + rpc ExchangeDevinCode (.exa.seat_management_pb.ExchangeDevinCodeRequest) returns (.exa.seat_management_pb.ExchangeDevinCodeResponse) {} + rpc GetStripeSubscriptionState (.exa.seat_management_pb.GetStripeSubscriptionStateRequest) returns (.exa.seat_management_pb.GetStripeSubscriptionStateResponse) {} +} + +message User { + string api_key = 1; + string name = 2; + string email = 3; + .google.protobuf.Timestamp signup_time = 4; + .google.protobuf.Timestamp last_update_time = 5; + string id = 6; + string team_id = 7; + .exa.codeium_common_pb.UserTeamStatus team_status = 8; + string username = 9; + string preferred_time_zone = 10; + bool public_profile_enabled = 11; + string bio = 12; + bool pro = 13; + string profile_picture_uri = 14; + bool disable_codeium = 16; + string profile_picture_presigned_url = 15; + string occupation_company = 17; + string occupation_role = 18; + uint32 years_of_experience_min = 23; + uint32 years_of_experience_max = 24; + bool newsletter = 19; + bool disabled_telemetry = 20; + string inbound_source = 21; + string signup_stage = 22; + bool used_trial = 25; + .google.protobuf.Timestamp first_windsurf_use_time = 26; + .google.protobuf.Timestamp windsurf_pro_trial_end_time = 27; + int64 used_prompt_credits = 28; + int64 used_flow_credits = 29; + string referral_code = 30; +} + +message Team { + reserved "allowed_ip_ranges"; + reserved 30; + string id = 1; + string name = 2; + .google.protobuf.Timestamp signup_time = 3; + string invite_id = 4; + bool used_trial = 5; + string stripe_subscription_id = 6; + bool subscription_active = 7; + string stripe_customer_id = 8; + .google.protobuf.Timestamp current_billing_period_start = 9; + .google.protobuf.Timestamp current_billing_period_end = 18; + int64 num_seats_current_billing_period = 10; + bool attribution_enabled = 11; + string sso_provider_id = 12; + bool offers_enabled = 13; + .exa.codeium_common_pb.TeamsTier teams_tier = 14; + int64 flex_credit_quota = 15; + int64 used_flow_credits = 16; + int64 used_prompt_credits = 17; + int64 num_cascade_seats = 19; + .google.protobuf.Timestamp cascade_usage_month_start = 20; + .google.protobuf.Timestamp cascade_usage_month_end = 21; + .exa.seat_management_pb.CascadeSeatType cascade_seat_type = 22; + bool top_up_enabled = 23; + int64 monthly_top_up_amount = 24; + int64 top_up_spent = 25; + int64 top_up_increment = 26; + int64 used_flex_credits = 27; + bool is_pooled = 29; + int64 prepurchased_credits = 28; + int64 orphaned_credit_usage = 31; +} + +message PreapprovedUser { + string id = 1; + string name = 2; + string email = 3; + string team_id = 4; + string issued_by_api_key = 5; + .google.protobuf.Timestamp created_at = 6; + .google.protobuf.Timestamp updated_at = 7; +} + +message UserSettings { + bool exists = 1; + bool newsletter = 2; + bool disabled_telemetry = 3; + string inbound_source = 4; + string signup_stage = 5; +} + +message UserRole { + string api_key = 1; + repeated string roles = 2; + string role_id = 3; + string role_name = 4; +} + +message GetUserStatusRequest { + .exa.codeium_common_pb.Metadata metadata = 1; +} + +message GetUserStatusResponse { + .exa.codeium_common_pb.UserStatus user_status = 1; + .exa.codeium_common_pb.PlanInfo plan_info = 2; +} + +message GetCurrentUserRequest { + string auth_token = 1; + bool generate_profile_picture_url = 2; + bool create_if_not_exist = 3; + bool include_subscription = 4; + string sso_token = 5; + string saml_provider_id = 6; +} + +message ReferralInfo { + string referrer_name = 1; + string referrer_email = 2; + .google.protobuf.Timestamp referral_accepted_time = 3; + .google.protobuf.Timestamp granted_time = 4; +} + +message GetCurrentUserResponse { + reserved "license"; + reserved 3; + message TeamFeaturesEntry { + int32 key = 1; + .exa.codeium_common_pb.TeamsFeaturesMetadata value = 2; + } + + .exa.seat_management_pb.User user = 1; + repeated string roles = 2; + .exa.seat_management_pb.Team team = 4; + .exa.seat_management_pb.UserSettings subscription = 5; + repeated .exa.codeium_common_pb.Permission permissions = 8; + .exa.seat_management_pb.UserRole role = 7; + .exa.codeium_common_pb.PlanInfo plan_info = 6; + .exa.seat_management_pb.UserTeamDetails user_team_details = 9; + .exa.seat_management_pb.ReferralInfo referral = 10; + repeated .exa.seat_management_pb.GetCurrentUserResponse.TeamFeaturesEntry team_features = 11; + repeated string group_ids = 12; + string redirect_url = 13; + repeated .exa.seat_management_pb.SSOTeamOption team_options = 14; +} + +message GetUsersRequest { + string auth_token = 1; + string group_id = 2; +} + +message GetUsersResponse { + repeated .exa.seat_management_pb.User users = 1; + repeated .exa.seat_management_pb.UserRole user_roles = 2; + repeated .exa.seat_management_pb.UserTeamDetails user_team_details = 3; + repeated .exa.seat_management_pb.UserCascadeDetails user_cascade_details = 4; +} + +message GetRolesForUserRequest { + string auth_token = 1; + string api_key = 2; +} + +message GetRolesForUserResponse { + repeated string roles = 1; +} + +message GetPrimaryApiKeyForDevsOnlyRequest { + string session_token = 1; +} + +message GetPrimaryApiKeyForDevsOnlyResponse { + string api_key = 1; +} + +message AddUserRoleRequest { + string auth_token = 1; + string api_key_to_add = 2; + string role = 3; + string group_id = 4; + string service_key = 5; +} + +message AddUserRoleResponse { +} + +message RemoveUserRoleRequest { + string auth_token = 1; + string api_key_to_remove = 2; + string role = 3; + string group_id = 4; +} + +message RemoveUserRoleResponse { +} + +message RegisterUserRequest { + string firebase_id_token = 1; +} + +message RegisterUserResponse { + string api_key = 1; + string name = 2; + string api_server_url = 3; + string redirect_url = 4; + repeated .exa.seat_management_pb.SSOTeamOption team_options = 5; +} + +message MigrateApiKeyRequest { + string api_key = 1; +} + +message MigrateApiKeyResponse { + string session_token = 1; +} + +message CreateFbUserRequest { + string email = 1; + string password = 2; + string turnstile_token = 3; + string phone_number = 4; + string otp_code = 5; + string first_name = 6; + string last_name = 7; +} + +message CreateFbUserResponse { + string uid = 1; +} + +message UpdateNameRequest { + string auth_token = 1; + string full_name = 2; +} + +message UpdateNameResponse { +} + +message GetProfilePicturePresignedUploadUrlRequest { + string auth_token = 1; +} + +message GetProfilePicturePresignedUploadUrlResponse { + string url = 1; +} + +message ProfilePictureUploadCompleteRequest { + string auth_token = 1; +} + +message ProfilePictureUploadCompleteResponse { +} + +message GetProfileDataRequest { + string api_key = 1; +} + +message GetProfileDataResponse { + string profile_picture_url = 1; +} + +message DeleteProfilePictureRequest { + string auth_token = 1; +} + +message DeleteProfilePictureResponse { +} + +message UpdateInboundSourceRequest { + string auth_token = 1; + string inbound_source = 2; +} + +message UpdateInboundSourceResponse { +} + +message DeleteUserRequest { + string auth_token = 1; + string api_key_to_delete = 3; +} + +message DeleteUserResponse { +} + +message GetLicenseRequest { + reserved "auth_token"; + reserved 1; +} + +message GetLicenseResponse { + .exa.seat_management_pb.EnterpriseLicenseConfig license = 1; +} + +message RequestTeamAccessRequest { + reserved "api_key"; + reserved 1; + string invite_id = 2; +} + +message RequestTeamAccessResponse { +} + +message UpdateUserTeamStatusRequest { + message UserTeamStatusUpdateItem { + string api_key = 1; + .exa.codeium_common_pb.UserTeamStatus status = 2; + } + + string auth_token = 1; + repeated .exa.seat_management_pb.UpdateUserTeamStatusRequest.UserTeamStatusUpdateItem updates = 2; +} + +message UpdateUserTeamStatusResponse { + repeated .exa.seat_management_pb.User users = 1; +} + +message GetTeamMetadataRequest { + string invite_id = 1; +} + +message GetTeamMetadataResponse { + .exa.seat_management_pb.Team team = 1; +} + +message RemoveUserFromTeamRequest { + string auth_token = 1; + string api_key_to_remove = 2; +} + +message RemoveUserFromTeamResponse { +} + +message RefreshTeamInviteIdRequest { + string auth_token = 1; +} + +message RefreshTeamInviteIdResponse { + .exa.seat_management_pb.Team team = 1; +} + +message GrantPreapprovalRequest { + message PreapprovalUserItem { + string name = 1; + string email = 2; + } + + string auth_token = 1; + repeated .exa.seat_management_pb.GrantPreapprovalRequest.PreapprovalUserItem preapprovals = 2; +} + +message GrantPreapprovalResponse { + repeated .exa.seat_management_pb.PreapprovedUser preapprovals = 1; +} + +message GetPreapprovalsRequest { + string auth_token = 1; +} + +message GetPreapprovalsResponse { + repeated .exa.seat_management_pb.PreapprovedUser preapprovals = 1; +} + +message GetPreapprovalMetadataRequest { + string approval_id = 1; +} + +message GetPreapprovalMetadataResponse { + string name = 1; + string email = 2; + string team_name = 3; +} + +message AcceptPreapprovalRequest { + string auth_token = 1; + string approval_id = 2; +} + +message AcceptPreapprovalResponse { +} + +message RejectPreapprovalRequest { + string auth_token = 1; + string approval_id = 2; +} + +message RejectPreapprovalResponse { +} + +message GetPreapprovalForUserRequest { + string auth_token = 1; +} + +message GetPreapprovalForUserResponse { + .exa.seat_management_pb.PreapprovedUser preapproval = 1; + string admin_name = 2; + string team_name = 3; +} + +message RevokePreapprovalRequest { + string auth_token = 1; + string approval_id = 2; +} + +message RevokePreapprovalResponse { +} + +message SubscribeToPlanRequest { + string auth_token = 1; + string stripe_price_id = 2; + bool start_trial = 3; + string success_url = 4; + string cancel_url = 5; + .exa.codeium_common_pb.TeamsTier teams_tier = 8; + .exa.seat_management_pb.PaymentPeriod payment_period = 9; + string team_name = 7; + int64 seats = 6; + string turnstile_token = 10; +} + +message SubscribeToPlanResponse { + string checkout_url = 1; +} + +message PurchaseCascadeCreditsRequest { + string auth_token = 1; + string success_url = 4; + string cancel_url = 5; +} + +message PurchaseCascadeCreditsResponse { + string checkout_url = 1; +} + +message UpdateCreditTopUpSettingsRequest { + string auth_token = 1; + bool enabled = 2; + int32 monthly_top_up_amount = 3; + int32 top_up_increment = 4; +} + +message UpdateCreditTopUpSettingsResponse { +} + +message GetTeamBillingRequest { + string auth_token = 1; +} + +message GetTeamBillingResponse { + reserved 13; + message Invoice { + float amount = 1; + string currency = 2; + bool paid = 3; + .google.protobuf.Timestamp created = 4; + string invoice_pdf_url = 5; + } + + message PaymentMethod { + message CardType { + string brand = 1; + int64 exp_month = 2; + int64 exp_year = 3; + string last4 = 4; + } + + string type = 1; + oneof payment_type { + .exa.seat_management_pb.GetTeamBillingResponse.PaymentMethod.CardType card = 2; + } + } + + message FailedSubscriptionPayment { + string invoice_link = 1; + string decline_code = 2; + .google.protobuf.Timestamp pay_by_date = 3; + } + + bool subscription_active = 1; + bool on_trial = 2; + .google.protobuf.Timestamp subscription_renewal_time = 3; + int64 num_seats = 5; + float plan_unit_amount = 6; + .exa.seat_management_pb.SubInterval sub_interval = 7; + bool cancel_at_period_end = 8; + repeated .exa.seat_management_pb.GetTeamBillingResponse.Invoice invoices = 9; + .exa.seat_management_pb.GetTeamBillingResponse.PaymentMethod payment_method = 10; + bool trial_only = 11; + .exa.codeium_common_pb.PlanStatus plan_status = 12; + int64 num_users = 14; + int64 num_seats_current_billing_period = 15; + int64 num_cascade_users = 16; + int64 num_cascade_seats = 17; + int64 num_core_users = 18; + int64 num_core_seats = 19; + .exa.seat_management_pb.GetTeamBillingResponse.FailedSubscriptionPayment failed_subscription_payment = 20; + string top_up_error_string = 21; + bool team_top_up_criteria_reached = 22; +} + +message UpdateSeatsRequest { + string auth_token = 1; + int64 num_seats = 2; + bool preview = 3; +} + +message UpdateSeatsResponse { + .exa.seat_management_pb.BillingUpdate billing_update = 1; +} + +message UpdatePlanRequest { + string auth_token = 1; + .exa.seat_management_pb.StripePrice price = 2; + bool preview = 3; + .exa.seat_management_pb.PaymentPeriod payment_period = 4; + .exa.codeium_common_pb.TeamsTier teams_tier = 5; +} + +message UpdatePlanResponse { + .exa.seat_management_pb.BillingUpdate billing_update = 1; + bool applied_changes = 2; + string next_action_client_secret = 3; + string payment_failure_reason = 4; + bool requires_password_reset = 5; +} + +message BillingUpdate { + float amount_due_immediately = 1; + float price_per_seat = 3; + int64 num_seats = 4; + .exa.seat_management_pb.SubInterval sub_interval = 5; + float amount_per_interval = 6; + .google.protobuf.Timestamp billing_start = 7; + .google.protobuf.Timestamp billing_end = 8; + bool unused_plan_refunded = 9; + bool has_sso_add_on = 10; +} + +message CancelPlanRequest { + string auth_token = 1; + bool cancel_plan = 2; + bool resume_plan = 3; + string cancel_comment = 4; + string cancel_reason = 5; +} + +message CancelPlanResponse { +} + +message UpdateBillingRequest { + string auth_token = 1; + string success_url = 2; + string cancel_url = 3; +} + +message UpdateBillingResponse { + string checkout_url = 1; +} + +message GetCustomerPortalRequest { + string auth_token = 1; + string return_url = 2; +} + +message GetCustomerPortalResponse { + string portal_url = 1; +} + +message AddTeamAddOnFeatureRequest { + string auth_token = 1; + .exa.codeium_common_pb.TeamsFeatures feature_type = 2; + bool preview = 3; +} + +message AddTeamAddOnFeatureResponse { + .exa.seat_management_pb.BillingUpdate billing_update = 1; + bool applied_changes = 2; + string next_action_client_secret = 3; + string payment_failure_reason = 4; +} + +message ShowSSOAddOnRequest { + string auth_token = 1; +} + +message ShowSSOAddOnResponse { + bool show_sso_add_on = 1; +} + +message GetUserSubscriptionRequest { + string auth_token = 1; +} + +message GetUserSubscriptionResponse { + bool exists = 1; + bool newsletter = 2; + bool disabled_telemetry = 3; + string inbound_source = 4; + string signup_stage = 5; + .exa.seat_management_pb.UserSettings subscription = 6; +} + +message IsUsernameAvailableRequest { + string auth_token = 1; + string username = 2; +} + +message IsUsernameAvailableResponse { + bool available = 1; +} + +message UpdateUsernameRequest { + string auth_token = 1; + string username = 2; +} + +message UpdateUsernameResponse { +} + +message ProvisionTeamRequest { + string secret = 1; + string admin_email = 2; + string team_name = 3; + int64 num_seats = 4; + .exa.codeium_common_pb.TeamsTier teams_tier = 5; +} + +message ProvisionTeamResponse { + string team_id = 1; + string invite_id = 2; +} + +message ProvisionCascadeSeatsRequest { + string secret = 1; + string team_name = 2; + int64 num_seats = 3; +} + +message ProvisionCascadeSeatsResponse { +} + +message UpdateOccupationRequest { + string auth_token = 1; + string occupation_company = 2; + string occupation_role = 3; + uint32 years_of_experience_min = 4; + uint32 years_of_experience_max = 5; +} + +message UpdateOccupationResponse { +} + +message UpdateProfileRequest { + string auth_token = 1; + string new_name = 2; + string new_email = 3; + string new_bio = 4; + string otp_code = 5; +} + +message UpdateProfileResponse { +} + +message UpdateProfileVisibilityRequest { + string auth_token = 1; + bool public_profile_enabled = 2; +} + +message UpdateProfileVisibilityResponse { +} + +message AddUsersToTeamRequest { + string secret = 1; + string team_id = 2; + repeated string emails = 3; + bool create_if_not_exists = 4; + bool send_email = 5; +} + +message AddUsersToTeamResponse { +} + +message GetPublicProfileRequest { + string username = 1; +} + +message GetPublicProfileResponse { + string name = 1; + string username = 2; + string preferred_time_zone = 3; + .google.protobuf.Timestamp signup_time = 4; + string bio = 5; + string profile_picture_presigned_url = 6; +} + +message UpdateUserRolesRequest { + string secret = 1; + string email = 2; + repeated string roles = 3; +} + +message UpdateUserRolesResponse { +} + +message BulkUpdateUserRolesRequest { + string service_key = 1; + repeated string emails = 2; + string role = 3; + string group_name = 4; +} + +message BulkUpdateUserRolesResponse { + repeated string successful_emails = 1; + repeated string failed_emails = 2; +} + +message GetTeamActivityRequest { + string api_key = 1; + .google.protobuf.Timestamp start_timestamp = 2; + .google.protobuf.Timestamp end_timestamp = 3; +} + +message GetTeamActivityResponse { + message UserActivity { + .exa.seat_management_pb.User user = 1; + .exa.codeium_common_pb.CompletionStatistics completion_statistics = 2; + } + + repeated .exa.seat_management_pb.GetTeamActivityResponse.UserActivity user_activity = 1; +} + +message GetSSOProviderRequest { + string auth_token = 1; +} + +message GetSSOProviderResponse { + .exa.seat_management_pb.SAMLAuthProvider saml_auth_provider = 1; +} + +message SaveSSOProviderRequest { + string auth_token = 1; + .exa.seat_management_pb.SAMLAuthProvider saml_auth_provider = 2; + bool is_test = 3; +} + +message SaveSSOProviderResponse { +} + +message SAMLAuthProvider { + string sso_provider_id = 1; + string idp_entity_id = 2; + string sso_url = 3; + string x509_certificate = 4; + bool enabled = 5; +} + +message JoinTeamWithSSOLoginRequest { + string auth_token = 1; + string saml_provider_id = 2; + string saml_auth_token = 3; +} + +message JoinTeamWithSSOLoginResponse { +} + +message UserSSOLoginRedirectRequest { + string email = 1; +} + +message UserSSOLoginRedirectResponse { + bool should_redirect = 1; + string sso_provider_id = 2; + bool disallow_enterprise_user_login = 3; + string redirect_url = 4; +} + +message CheckEmailForSSORequest { + string email = 1; +} + +message CheckEmailForSSOResponse { + string redirect_url = 1; + bool show_sso_requirement_message = 2; +} + +message SSOTeamOption { + string team_name = 1; + string redirect_url = 2; +} + +message EnterpriseLicenseConfig { + .google.protobuf.Timestamp expiration_timestamp = 1; + uint32 seat_limit = 2; + bool attribution_enabled = 3; + bool audit_logs_enabled = 4; + .google.protobuf.Timestamp start_timestamp = 5; + uint32 mucs_total = 6; + bool mucs_enabled = 7; + uint32 license_length_months = 8; + bool enable_individual_user_analytics = 9; +} + +message DeleteTeamRequest { + string auth_token = 1; +} + +message DeleteTeamResponse { +} + +message GetTeamsFeaturesRequest { + string auth_token = 1; +} + +message GetTeamsFeaturesResponse { + repeated .exa.codeium_common_pb.TeamsFeatures features = 1; +} + +message GrantSuperAdminAccessRequest { + string auth_token = 1; + string user_email = 2; +} + +message GrantSuperAdminAccessResponse { + .exa.seat_management_pb.User user = 1; +} + +message GrantTeamAdminAccessRequest { + string auth_token = 1; + string user_email = 2; +} + +message GrantTeamAdminAccessResponse { + .exa.seat_management_pb.User user = 1; +} + +message AddFlexCreditsToMultiTenantTeamRequest { + string auth_token = 1; + string team_id = 2; + int64 flex_credits_to_add = 3; +} + +message AddFlexCreditsToMultiTenantTeamResponse { + .exa.seat_management_pb.Team team = 1; +} + +message GetTeamsFeaturesInternalRequest { + string secret = 1; + string team_id = 2; +} + +message GetTeamsFeaturesInternalResponse { + repeated .exa.codeium_common_pb.TeamsFeatures features = 1; +} + +message UpdateTeamsFeaturesInternalRequest { + string secret = 1; + string team_id = 2; + repeated .exa.codeium_common_pb.TeamsFeatures add_features = 3; + repeated .exa.codeium_common_pb.TeamsFeatures remove_features = 4; +} + +message SetTeamsFeaturesRequest { + string secret = 1; + string team_id = 2; + repeated .exa.codeium_common_pb.TeamsFeatures features = 3; +} + +message UpdateTeamsFeaturesInternalResponse { +} + +message SetTeamsFeaturesResponse { +} + +message UpdateUserFeaturesInternalRequest { + string secret = 1; + repeated string api_keys = 2; + repeated .exa.codeium_common_pb.UserFeatures features = 3; +} + +message UpdateUserFeaturesInternalResponse { +} + +message BulkEditUserApprovalsRequest { + string auth_token = 1; + repeated string emails = 2; + .exa.seat_management_pb.UserTeamDetailsType approval_type = 3; + bool approve = 4; +} + +message UserTeamDetails { + string auth_uid = 1; + string team_id = 2; + bool has_cascade_seat = 3; +} + +message BulkEditUserApprovalsResponse { +} + +message BulkEditUserApprovalsInternalRequest { + string secret = 1; + string team_name = 2; + repeated string emails = 3; + .exa.seat_management_pb.UserTeamDetailsType approval_type = 4; + bool approve = 5; +} + +message BulkEditUserApprovalsInternalResponse { +} + +message GetTeamSettingsRequest { + string auth_token = 1; +} + +message GetTeamSettingsResponse { + bool cascade_web_search_enabled = 1; + bool can_update_cascade_web_search_enabled = 2; +} + +message GetCliTeamSettingsRequest { + .exa.codeium_common_pb.Metadata metadata = 1; +} + +message GetCliTeamSettingsResponse { + reserved 5; + bool allow_mcp_servers = 1; + string allowed_mcp_servers_json = 2; + bool disable_fast_context = 3; + bool cascade_web_search_enabled = 4; + .google.protobuf.Timestamp fetched_at = 6; + repeated string allowed_model_uids = 7; + repeated .exa.codeium_common_pb.McpServerConfig allowed_mcp_servers = 8; + repeated string permission_allow = 9; + repeated string permission_deny = 10; + repeated string permission_ask = 11; +} + +message UpdateCascadeWebSearchEnabledRequest { + string auth_token = 1; + bool cascade_web_search_enabled = 2; +} + +message UpdateCascadeWebSearchEnabledResponse { +} + +message GetGroupsRequest { + string auth_token = 1; + .exa.codeium_common_pb.Permission permission = 2; +} + +message Group { + string id = 1; + string name = 2; +} + +message GetGroupsResponse { + repeated .exa.seat_management_pb.Group groups = 1; +} + +message CreateTeamApiSecretRequest { + string auth_token = 1; + string name = 2; + string role = 3; + string group_id = 4; + .google.protobuf.Timestamp expiration_date = 5; +} + +message CreateTeamApiSecretResponse { + string secret = 1; +} + +message UpdateTeamApiSecretRequest { + string auth_token = 1; + string service_key_id = 2; + string name = 3; + string role = 4; + string group_id = 5; +} + +message UpdateTeamApiSecretResponse { +} + +message GetAllTeamApiSecretsRequest { + string auth_token = 1; +} + +message TeamApiSecret { + string id = 1; + string name = 2; + .google.protobuf.Timestamp created_at = 3; + string role_id = 4; + string group_id = 5; + .google.protobuf.Timestamp expiration_date = 6; +} + +message GetAllTeamApiSecretsResponse { + repeated .exa.seat_management_pb.TeamApiSecret secrets = 1; +} + +message DeleteTeamApiSecretRequest { + string auth_token = 1; + string secret_id = 2; +} + +message DeleteTeamApiSecretResponse { +} + +message GetUserNotificationsRequest { + string api_key = 1; +} + +message GetUserNotificationsResponse { + message TeamPreapprovalMetadata { + string admin_name = 1; + string team_name = 2; + .google.protobuf.Timestamp created_at = 3; + } + + .exa.seat_management_pb.GetUserNotificationsResponse.TeamPreapprovalMetadata team_preapproval_metadata = 1; +} + +message ConnectGithubAccountRequest { + string auth_token = 1; + string github_refresh_token = 2; + .google.protobuf.Timestamp github_refresh_token_expires_at = 3; +} + +message ConnectGithubAccountResponse { + string github_access_token = 1; + .google.protobuf.Timestamp github_access_token_expires_at = 2; +} + +message DisconnectGithubAccountRequest { + string auth_token = 1; +} + +message DisconnectGithubAccountResponse { +} + +message GetGitHubAccountStatusRequest { + string auth_token = 1; +} + +message GetGitHubAccountStatusResponse { + bool connected = 1; + string username = 2; + .google.protobuf.Timestamp expires_at = 3; +} + +message GetGitHubAccessTokenRequest { + string auth_token = 1; +} + +message GetGitHubAccessTokenResponse { + string access_token = 1; + .google.protobuf.Timestamp expires_at = 2; +} + +message ConnectNetlifyAccountRequest { + string auth_token = 1; + string netlify_access_token = 2; + .google.protobuf.Timestamp expires_at = 3; + string netlify_user_id = 4; +} + +message ConnectNetlifyAccountResponse { +} + +message DisconnectNetlifyAccountRequest { + string auth_token = 1; +} + +message DisconnectNetlifyAccountResponse { +} + +message GetNetlifyAccountStatusRequest { + string auth_token = 1; +} + +message GetNetlifyAccountStatusResponse { + bool connected = 1; + string netlify_user_id = 2; + .google.protobuf.Timestamp expires_at = 3; +} + +message UpdateCodeiumAccessRequest { + string auth_token = 1; + string api_key_to_update = 2; + bool disable_codeium_access = 3; +} + +message UpdateCodeiumAccessResponse { +} + +message CreateRoleRequest { + string auth_token = 1; + string name = 2; + repeated .exa.codeium_common_pb.Permission permissions = 3; +} + +message CreateRoleResponse { +} + +message DeleteRoleRequest { + string auth_token = 1; + string role_id = 2; +} + +message DeleteRoleResponse { +} + +message UpdateRoleRequest { + string auth_token = 1; + string role_id = 2; + repeated .exa.codeium_common_pb.Permission permissions = 3; +} + +message UpdateRoleResponse { +} + +message GetRolesRequest { + string auth_token = 1; +} + +message Role { + string role_id = 1; + string name = 2; + repeated .exa.codeium_common_pb.Permission permissions = 3; + bool mutable = 4; +} + +message GetRolesResponse { + repeated .exa.seat_management_pb.Role roles = 1; +} + +message GetMucsInfoRequest { +} + +message MonthlyMucsMessage { + int32 billing_months = 1; + int32 billing_years = 2; + int32 mucs_charged = 3; + int32 mucs_deducted = 4; +} + +message GetMucsInfoResponse { + int32 mucs_left = 1; + int32 mucs_used = 2; + bool is_mucs_enabled = 3; + .google.protobuf.Timestamp start_date = 4; + int32 current_registered_users = 5; + int32 current_high_watermark = 6; + repeated .exa.seat_management_pb.MonthlyMucsMessage mucs_table = 7; +} + +message GetCascadeAnalyticsRequest { + string auth_token = 1; + .google.protobuf.Timestamp start_timestamp = 2; + .google.protobuf.Timestamp end_timestamp = 3; +} + +message GetCascadeAnalyticsResponse { + int32 used_prompt_credits = 1; + int32 used_flow_credits = 2; + int32 estimated_monthly_prompts = 3; + int32 estimated_monthly_flows = 4; + int64 purchased_credits = 5; +} + +message GetPlanStatusRequest { + string auth_token = 1; + bool include_top_up_status = 2; +} + +message GetPlanStatusResponse { + .exa.codeium_common_pb.PlanStatus plan_status = 1; +} + +message Wrapped2024 { + string api_key = 1; + string email = 2; + string name = 3; + int32 total_minutes_coded = 4; + double coding_percentile = 5; + .google.protobuf.Timestamp biggest_coding_day = 6; + int32 minutes_coding_biggest_day = 7; + int32 autocompletes_accepted = 8; + int32 cascade_messages_sent = 9; + int32 cascade_lines_written = 10; + int32 longest_streak = 11; + int32 most_productive_day = 12; +} + +message GetWrapped2024Request { + string auth_token = 1; +} + +message GetWrapped2024Response { + .exa.seat_management_pb.Wrapped2024 wrapped_data = 1; +} + +message FlexCreditChronicleEntry { + string team_id = 1; + .google.protobuf.Timestamp grant_date = 2; + int32 num_credits = 3; + .exa.seat_management_pb.FlexCreditChronicleType type = 4; + uint32 referral_id = 5; + string invoice_id = 6; + oneof reason { + .exa.seat_management_pb.ReferrerReason referrer = 7; + .exa.seat_management_pb.AveryReason avery = 8; + .exa.seat_management_pb.PurchaseReason purchase = 9; + } +} + +message ReferrerReason { + string user_email = 1; + string avery_email = 2; +} + +message AveryReason { + string user_email = 1; + string referrer_email = 2; +} + +message PurchaseReason { + .exa.seat_management_pb.PurchaseReasonType type = 1; +} + +message GetTeamCreditEntriesRequest { + string auth_token = 1; +} + +message GetTeamCreditEntriesResponse { + repeated .exa.seat_management_pb.FlexCreditChronicleEntry entries = 1; +} + +message SendPhoneVerificationRequest { + string phone_number = 1; + string turnstile_token = 2; +} + +message SendPhoneVerificationResponse { +} + +message SendEmailVerificationRequest { + string first_name = 1; + string email = 2; + string turnstile_token = 3; +} + +message SendEmailVerificationResponse { +} + +message CreateEnterpriseRequest { + string secret = 1; + string team_name = 2; + string admin_email = 3; + repeated string tags = 4; + string organization = 5; + string source = 6; + string creation_reason = 7; + bool trial = 8; + .google.protobuf.Timestamp end_date = 9; + bool hybrid = 10; + int32 flow_seats = 11; + int32 core_seats = 12; + repeated string users_to_add = 13; + string created_by = 14; + bool paid_out_of_band = 15; + bool enable_auto_cascade_seat_provisioning = 16; + int32 user_prompt_credit_cap = 17; + int32 user_flow_credit_cap = 18; + bool send_email = 19; + bool is_pooled = 20; + int64 prepurchased_credits = 21; +} + +message CreateEnterpriseResponse { +} + +message UpdateEnterpriseRequest { + string secret = 1; + string team_name = 2; + string team_id = 3; + repeated string tags = 4; + string organization = 5; + string source = 6; + string creation_reason = 7; + bool trial = 8; + .google.protobuf.Timestamp end_date = 9; + bool hybrid = 10; + int32 flow_seats = 11; + int32 core_seats = 12; + repeated string users_to_add = 13; + string created_by = 14; + bool paid_out_of_band = 15; + bool enable_auto_cascade_seat_provisioning = 16; + int32 user_prompt_credit_cap = 17; + int32 user_flow_credit_cap = 18; + bool is_pooled = 19; + int64 prepurchased_credits = 20; +} + +message UpdateEnterpriseResponse { +} + +message UpdateTeamConfigRequest { + string secret = 1; + string team_name = 2; + int32 user_prompt_credit_cap = 3; + int32 user_flow_credit_cap = 4; + bool disable_prompt_limit = 5; + bool disable_flow_limit = 6; +} + +message UpdateTeamConfigResponse { +} + +message UpdateTeamConfigExternalRequest { + string auth_token = 1; + repeated string allowed_ip_ranges = 24; + .exa.codeium_common_pb.CascadeCommandsAutoExecution max_cascade_auto_execution_level = 25; + optional bool allow_auto_run_commands = 2; + optional bool allow_mcp_servers = 3; + optional bool allow_app_deployments = 4; + optional bool allow_github_reviews = 5; + optional bool allow_github_description_edits = 6; + optional string pull_request_review_guidelines = 7; + optional string pull_request_description_guidelines = 8; + optional bool allow_individual_level_analytics = 9; + optional bool allow_conversation_sharing = 10; + optional bool allow_sandbox_app_deployments = 11; + optional bool allow_teams_app_deployments = 12; + optional bool allow_attribution = 13; + optional string allowed_mcp_servers = 14; + optional bool allow_github_auto_reviews = 15; + optional bool allow_browser_experimental_features = 16; + optional bool allow_vibe_and_replace = 17; + optional bool disable_deepwiki = 18; + optional bool disable_codemaps = 19; + optional string allow_codemap_sharing = 20; + optional bool disable_fast_context = 21; + optional bool disable_lifeguard = 22; + optional bool disable_tool_call_execution_outside_workspace = 23; + optional .exa.seat_management_pb.IpAllowlist ip_allowlist = 26; + optional .exa.seat_management_pb.TerminalAllowList terminal_allow_list = 27; + optional .exa.seat_management_pb.TerminalDenyList terminal_deny_list = 28; + optional .exa.seat_management_pb.CliPermissionsList cli_permissions_allow = 29; + optional .exa.seat_management_pb.CliPermissionsList cli_permissions_deny = 30; + optional .exa.seat_management_pb.CliPermissionsList cli_permissions_ask = 31; + optional string default_model_uid = 32; + optional bool allow_arena_mode = 33; +} + +message UpdateTeamConfigExternalResponse { +} + +message TerminalAllowList { + repeated string allowed = 1; +} + +message TerminalDenyList { + repeated string deny = 1; +} + +message CliPermissionsList { + repeated string rules = 1; +} + +message IpAllowlist { + repeated string ranges = 1; +} + +message GetTeamConfigRecordRequest { + string auth_token = 1; +} + +message GetTeamConfigRecordResponse { + .exa.codeium_common_pb.TeamConfig team_config = 1; +} + +message UsageConfigRequest { + string service_key = 1; + oneof user_add_on_credit_cap_update { + bool clear_add_on_credit_cap = 2; + uint32 set_add_on_credit_cap = 3; + } + oneof scope { + bool team_level = 4; + string group_id = 5; + string user_email = 6; + } +} + +message UsageConfigResponse { +} + +message GetUsageConfigRequest { + string service_key = 1; + oneof scope { + bool team_level = 2; + string group_id = 3; + string user_email = 4; + } +} + +message GetUsageConfigResponse { + optional uint32 add_on_credit_cap = 1; +} + +message GetTeamInfoRequest { + string secret = 1; + string team_name = 2; +} + +message UserInfo { + string api_key = 1; + string name = 2; + string email = 3; + .google.protobuf.Timestamp signup_time = 4; + int32 flows_used = 5; + int32 prompts_used = 6; + int32 num_acceptances = 7; + int32 num_lines_accepted = 8; + .google.protobuf.Timestamp last_update_time = 9; + .google.protobuf.Timestamp first_windsurf_use_time = 10; + .exa.codeium_common_pb.UserTeamStatus team_status = 11; + bool has_cascade_seat = 12; +} + +message GetTeamInfoResponse { + .exa.seat_management_pb.Team team = 1; + repeated string users_with_cascade = 2; + repeated string users_on_team = 3; + repeated .exa.seat_management_pb.UserInfo user_infos = 4; + .exa.codeium_common_pb.TeamConfig team_config = 5; +} + +message IsValidReferralCodeRequest { + string referral_code = 1; +} + +message IsValidReferralCodeResponse { + string referrer_name = 1; +} + +message ProcessReferralCodeRequest { + string auth_token = 1; + string referral_code = 2; +} + +message ProcessReferralCodeResponse { +} + +message CreateMultiTenantTeamRequest { + string auth_token = 1; + string name = 2; + string org_id = 3; +} + +message CreateMultiTenantTeamResponse { + .exa.seat_management_pb.Team team = 1; +} + +message GetMultiTenantTeamsRequest { + string auth_token = 1; +} + +message GetMultiTenantTeamsResponse { + repeated .exa.seat_management_pb.Team teams = 1; +} + +message GetTeamOrgIdRequest { + string auth_token = 1; + string team_id = 2; +} + +message GetTeamOrgIdResponse { + string org_id = 1; +} + +message DeleteMultiTenantTeamRequest { + string auth_token = 1; + string team_name = 2; + bool soft_delete = 3; +} + +message DeleteMultiTenantTeamResponse { +} + +message SetTeamLicenseRequest { + string auth_token = 1; + string team_name = 2; + .google.protobuf.Timestamp billing_start_date = 3; + .google.protobuf.Timestamp billing_end_date = 4; + int64 num_seats = 5; +} + +message SetTeamLicenseResponse { + .exa.seat_management_pb.Team team = 1; +} + +message UpdatePlanDetailsInternalRequest { + string secret = 1; + string email = 2; + .exa.codeium_common_pb.TeamsTier teams_tier = 3; + int64 num_flex_credits = 4; + int64 used_flex_credits = 5; + int64 used_flow_credits = 6; + int64 used_prompt_credits = 7; + int64 num_teams_seats = 8; + int64 user_used_prompt_credits = 9; + int64 user_used_flow_credits = 10; + bool for_credit_update = 11; +} + +message UpdatePlanDetailsInternalResponse { +} + +message RemoveUsersFromTeamInternalRequest { + string secret = 1; + repeated string emails = 2; + bool override_subscription_active_check = 3; +} + +message RemoveUsersFromTeamInternalResponse { +} + +message BulkDeleteUsersInternalRequest { + string secret = 1; + repeated string emails = 2; + bool delete_from_bigquery = 3; +} + +message BulkDeleteUsersInternalResponse { +} + +message ExportUserDataInternalRequest { + string secret = 1; + string email = 2; +} + +message ExportUserDataInternalResponse { + message Invoice { + string id = 1; + int64 amount_paid = 2; + string currency = 3; + .google.protobuf.Timestamp created = 4; + bool paid = 5; + string invoice_pdf = 6; + string status = 7; + } + + message StripeData { + string customer_id = 1; + string subscription_id = 2; + bool subscription_active = 3; + string subscription_status = 4; + .google.protobuf.Timestamp current_period_start = 5; + .google.protobuf.Timestamp current_period_end = 6; + bool cancel_at_period_end = 7; + string payment_method_type = 8; + string payment_method_last4 = 9; + repeated .exa.seat_management_pb.ExportUserDataInternalResponse.Invoice invoices = 10; + } + + message BrevoData { + message AttributesEntry { + string key = 1; + string value = 2; + } + + string email = 1; + repeated .exa.seat_management_pb.ExportUserDataInternalResponse.BrevoData.AttributesEntry attributes = 2; + repeated int64 list_ids = 3; + .google.protobuf.Timestamp created_at = 4; + .google.protobuf.Timestamp modified_at = 5; + } + + message BigQueryData { + message PreapprovedUserRow { + string id = 1; + string name = 2; + string email = 3; + string team_id = 4; + string issued_by_api_key = 5; + .google.protobuf.Timestamp created_at = 6; + .google.protobuf.Timestamp updated_at = 7; + } + + message WaitlistRow { + string email = 1; + string feature_name = 2; + .google.protobuf.Timestamp signup_time = 3; + .google.protobuf.Timestamp accepted_at = 4; + } + + message BlogSubscriptionRow { + string id = 1; + string email = 2; + .google.protobuf.Timestamp created_at = 3; + } + + message Wrapped2024Row { + string api_key = 1; + string email = 2; + string name = 3; + int32 total_minutes_coded = 4; + float coding_percentile = 5; + .google.protobuf.Timestamp biggest_coding_day = 6; + int32 minutes_coding_biggest_day = 7; + int32 autocompletes_accepted = 8; + int32 cascade_messages_sent = 9; + int32 cascade_lines_written = 10; + } + + message EmailTrackingRow { + string auth_uid = 1; + string email_id = 2; + .google.protobuf.Timestamp sent_at = 3; + } + + message CascadeCostRow { + string api_key = 1; + string user_email = 2; + .google.protobuf.Timestamp date = 3; + float cascade_cost = 4; + int64 prompt_credits = 5; + int64 flow_credits = 6; + int64 num_product_events = 7; + } + + repeated .exa.seat_management_pb.ExportUserDataInternalResponse.BigQueryData.PreapprovedUserRow preapproved_users = 1; + repeated .exa.seat_management_pb.ExportUserDataInternalResponse.BigQueryData.WaitlistRow waitlist = 2; + repeated .exa.seat_management_pb.ExportUserDataInternalResponse.BigQueryData.BlogSubscriptionRow blog_subscriptions = 3; + repeated .exa.seat_management_pb.ExportUserDataInternalResponse.BigQueryData.Wrapped2024Row wrapped_2024 = 4; + repeated .exa.seat_management_pb.ExportUserDataInternalResponse.BigQueryData.EmailTrackingRow email_tracking = 5; + repeated .exa.seat_management_pb.ExportUserDataInternalResponse.BigQueryData.CascadeCostRow cascade_costs = 6; + } + + message FirebaseAuthData { + string uid = 1; + .google.protobuf.Timestamp creation_time = 2; + .google.protobuf.Timestamp last_sign_in_time = 3; + bool email_verified = 4; + repeated .exa.seat_management_pb.ExportUserDataInternalResponse.ProviderData providers = 5; + } + + message ProviderData { + string provider_id = 1; + string uid = 2; + string email = 3; + } + + message GitHubAuthData { + string auth_uid = 1; + string github_username = 2; + .google.protobuf.Timestamp created_at = 3; + .google.protobuf.Timestamp updated_at = 4; + } + + message NetlifyAuthData { + string auth_uid = 1; + string netlify_user_id = 2; + .google.protobuf.Timestamp created_at = 3; + .google.protobuf.Timestamp updated_at = 4; + } + + message OfferTrackingRow { + string auth_uid = 1; + string offer_id = 2; + .google.protobuf.Timestamp created_at = 3; + } + + message UserFeaturesRow { + string id = 1; + string api_key = 2; + int32 feature = 3; + .google.protobuf.Timestamp created_at = 4; + } + + message CompletionExampleRow { + string auth_uid = 1; + string completion_id = 2; + string file_path = 3; + string short_prefix = 4; + string completion_text = 5; + string short_suffix = 6; + .google.protobuf.Timestamp timestamp = 7; + } + + message WindsurfProjectRow { + string windsurf_project_id = 1; + string auth_uid = 2; + string deployment_provider = 3; + string provider_project_id = 4; + string project_name = 5; + string domain = 6; + string subdomain_name = 7; + .google.protobuf.Timestamp expires_at = 8; + .google.protobuf.Timestamp claimed_at = 9; + .google.protobuf.Timestamp deprovisioned_at = 10; + .google.protobuf.Timestamp created_at = 11; + .google.protobuf.Timestamp updated_at = 12; + } + + message WindsurfDeploymentRow { + string windsurf_deployment_id = 1; + string windsurf_project_id = 2; + string provider_deployment_id = 3; + string workspace_path = 4; + string deployment_url = 5; + .google.protobuf.Timestamp created_at = 6; + .google.protobuf.Timestamp updated_at = 7; + } + + message UserReferralRow { + uint32 id = 1; + string auth_uid = 2; + string referred_email = 3; + string details = 4; + .google.protobuf.Timestamp created_at = 5; + .google.protobuf.Timestamp granted_at = 6; + } + + message UserRoleRow { + string api_key = 1; + string role = 2; + string group_id = 3; + } + + message GroupMemberRow { + string id = 1; + string group_id = 2; + string user_id = 3; + .google.protobuf.Timestamp created_at = 4; + .google.protobuf.Timestamp updated_at = 5; + } + + message AuditLogRow { + string event_id = 1; + .google.protobuf.Timestamp timestamp = 2; + string team_id = 3; + string user_email = 4; + string user_name = 5; + string api_key = 6; + string event = 7; + string status_code = 8; + string status_reason = 9; + string description = 10; + } + + message RegistrationActivityRow { + string email_id = 1; + int32 action_value = 2; + string action_description = 3; + .google.protobuf.Timestamp time_of_action = 4; + bool successful_action = 5; + } + + .exa.seat_management_pb.User user = 1; + .exa.seat_management_pb.Team team = 2; + .exa.codeium_common_pb.UserTeamStatus user_team_status = 3; + .exa.seat_management_pb.ExportUserDataInternalResponse.StripeData stripe_data = 4; + .exa.seat_management_pb.ExportUserDataInternalResponse.BrevoData brevo_data = 5; + .exa.seat_management_pb.ExportUserDataInternalResponse.BigQueryData bigquery_data = 6; + .exa.seat_management_pb.ExportUserDataInternalResponse.FirebaseAuthData firebase_auth_data = 7; + .exa.seat_management_pb.ExportUserDataInternalResponse.GitHubAuthData github_auth_data = 8; + .exa.seat_management_pb.ExportUserDataInternalResponse.NetlifyAuthData netlify_auth_data = 9; + repeated .exa.seat_management_pb.ExportUserDataInternalResponse.OfferTrackingRow offer_tracking = 10; + repeated .exa.seat_management_pb.ExportUserDataInternalResponse.UserFeaturesRow user_features = 11; + repeated .exa.seat_management_pb.ExportUserDataInternalResponse.CompletionExampleRow completion_examples = 12; + repeated .exa.seat_management_pb.ExportUserDataInternalResponse.WindsurfProjectRow windsurf_projects = 13; + repeated .exa.seat_management_pb.ExportUserDataInternalResponse.WindsurfDeploymentRow windsurf_deployments = 14; + repeated .exa.seat_management_pb.ExportUserDataInternalResponse.UserReferralRow user_referrals = 15; + repeated .exa.seat_management_pb.ExportUserDataInternalResponse.UserRoleRow user_roles = 16; + repeated .exa.seat_management_pb.ExportUserDataInternalResponse.GroupMemberRow group_members = 17; + repeated .exa.seat_management_pb.ExportUserDataInternalResponse.AuditLogRow audit_logs = 18; + repeated .exa.seat_management_pb.ExportUserDataInternalResponse.RegistrationActivityRow registration_activity = 19; +} + +message InitiateAccountOwnershipVerificationInternalRequest { + string secret = 1; + string email = 2; +} + +message InitiateAccountOwnershipVerificationInternalResponse { + bool success = 1; + string message = 2; +} + +message VerifyAccountOwnershipInternalRequest { + string secret = 1; + string email = 2; + string verification_code = 3; +} + +message VerifyAccountOwnershipInternalResponse { + bool verified = 1; + string message = 2; +} + +message InitiateTopUpRequest { + string auth_token = 1; +} + +message InitiateTopUpResponse { + .exa.codeium_common_pb.TransactionStatus status = 1; +} + +message UserCascadeDetails { + string auth_uid = 1; + int64 used_prompt_credits = 2; + int64 used_flow_credits = 3; + .google.protobuf.Timestamp free_cascade_usage_month_start = 4; +} + +message AddExtraFlexCreditsInternalRequest { + string secret = 1; + string team_id = 2; + int64 amount = 3; + .exa.seat_management_pb.FlexCreditChronicleType type = 4; + string email = 5; +} + +message AddExtraFlexCreditsInternalResponse { + int64 previous_flex_credits = 1; + int64 new_flex_credits = 2; +} + +message GetOneTimeAuthTokenRequest { + string firebase_id_token = 1; +} + +message GetOneTimeAuthTokenResponse { + string auth_token = 1; +} + +message CreatePKCEAuthorizationCodeRequest { + string firebase_id_token = 1; + string code_challenge = 2; + string code_challenge_method = 3; +} + +message CreatePKCEAuthorizationCodeResponse { + string authorization_code = 1; +} + +message ExchangePKCEAuthorizationCodeRequest { + string authorization_code = 1; + string code_verifier = 2; +} + +message ExchangePKCEAuthorizationCodeResponse { + string api_key = 1; + string name = 2; + string api_server_url = 3; +} + +message GetSetUserApiProviderKeysRequest { + string auth_token = 1; +} + +message GetSetUserApiProviderKeysResponse { + repeated .exa.codeium_common_pb.APIProvider providers = 1; +} + +message SetUserApiProviderKeyRequest { + string auth_token = 1; + .exa.codeium_common_pb.APIProvider provider = 2; + string provider_api_key = 3; +} + +message SetUserApiProviderKeyResponse { +} + +message DeleteUserApiProviderKeyRequest { + string auth_token = 1; + .exa.codeium_common_pb.APIProvider provider = 2; +} + +message DeleteUserApiProviderKeyResponse { +} + +message DeleteApiKeyRequest { + oneof auth { + string auth_token = 1; + string service_key = 3; + } + oneof target { + string key_id = 2; + string api_key = 4; + string group_id = 5; + } +} + +message DeleteApiKeyResponse { + int64 num_deleted = 1; +} + +message GetApiKeySummaryRequest { + string auth_token = 1; +} + +message ApiKeyForDisplay { + string key_id = 1; + string key_for_display = 2; + .google.protobuf.Timestamp created_at = 3; + .google.protobuf.Timestamp last_used_at = 4; +} + +message GetApiKeySummaryResponse { + repeated .exa.seat_management_pb.ApiKeyForDisplay api_keys = 1; +} + +message LogOutUserRequest { + string uid = 1; +} + +message LogOutUserResponse { +} + +message TeamDomain { + string domain = 1; + bool verified = 2; +} + +message AddTeamDomainRequest { + string auth_token = 1; + string domain = 2; +} + +message AddTeamDomainResponse { + string verification_token = 1; +} + +message ListTeamDomainsRequest { + string auth_token = 1; +} + +message ListTeamDomainsResponse { + repeated .exa.seat_management_pb.TeamDomain team_domains = 1; +} + +message VerifyTeamDomainRequest { + string auth_token = 1; + string domain = 2; +} + +message VerifyTeamDomainResponse { +} + +message DeleteTeamDomainRequest { + string auth_token = 1; + string domain = 2; +} + +message DeleteTeamDomainResponse { +} + +message AddTeamDomainInternalRequest { + string secret = 1; + string team_id = 2; + string domain = 3; +} + +message AddTeamDomainInternalResponse { +} + +message DeleteTeamDomainInternalRequest { + string secret = 1; + string team_id = 2; + string domain = 3; +} + +message DeleteTeamDomainInternalResponse { +} + +message ListTeamDomainsInternalRequest { + string secret = 1; + string team_id = 2; +} + +message ListTeamDomainsInternalResponse { + repeated .exa.seat_management_pb.TeamDomain team_domains = 1; +} + +message UpdateTeamNameInternalRequest { + string secret = 1; + string team_id = 2; + string new_name = 3; +} + +message UpdateTeamNameInternalResponse { +} + +message VerifySSOLoginInternalRequest { + string secret = 1; + string saml_provider_id = 2; + string user_email = 3; +} + +message VerifySSOLoginInternalResponse { + bool is_allowed = 1; + string error_message = 2; +} + +message CheckProTrialEligibilityRequest { + string auth_token = 1; +} + +message CheckProTrialEligibilityResponse { + bool is_eligible = 1; +} + +message ExchangeDevinCodeRequest { + string code = 1; +} + +message ExchangeDevinCodeResponse { + string session_token = 1; +} + +message GetStripeSubscriptionStateRequest { + string auth_token = 1; +} + +message GetStripeSubscriptionStateResponse { + string email = 1; + string subscription_id = 2; + string subscription_status = 3; + bool cancel_at_period_end = 4; + .google.protobuf.Timestamp current_period_start = 5; + .google.protobuf.Timestamp current_period_end = 6; + string customer_id = 7; + .exa.codeium_common_pb.TeamsTier teams_tier = 8; + bool on_trial = 9; +} + +enum PaymentPeriod { + PAYMENT_PERIOD_UNSPECIFIED = 0; + PAYMENT_PERIOD_MONTH = 1; + PAYMENT_PERIOD_YEAR = 2; +} + +enum SubInterval { + SUB_INTERVAL_UNSPECIFIED = 0; + SUB_INTERVAL_MONTH = 1; + SUB_INTERVAL_YEAR = 2; +} + +enum StripePrice { + STRIPE_PRICE_UNSPECIFIED = 0; + STRIPE_PRICE_TEAMS_MONTHLY = 1; + STRIPE_PRICE_TEAMS_YEARLY = 2; +} + +enum CascadeSeatType { + CASCADE_SEAT_TYPE_UNSPECIFIED = 0; + CASCADE_SEAT_TYPE_ENTRY = 1; + CASCADE_SEAT_TYPE_STANDARD = 2; +} + +enum UserTeamDetailsType { + USER_TEAM_DETAILS_TYPE_UNSPECIFIED = 0; + USER_TEAM_DETAILS_TYPE_CASCADE_SEAT = 1; +} + +enum PendingTransactionType { + PENDING_TRANSACTION_TYPE_UNSPECIFIED = 0; + PENDING_TRANSACTION_TYPE_TOP_UP = 1; +} + +enum FlexCreditChronicleType { + FLEX_CREDIT_CHRONICLE_TYPE_UNSPECIFIED = 0; + FLEX_CREDIT_CHRONICLE_TYPE_PURCHASE = 1; + FLEX_CREDIT_CHRONICLE_TYPE_REFERRER = 2; + FLEX_CREDIT_CHRONICLE_TYPE_AVERY = 3; + FLEX_CREDIT_CHRONICLE_TYPE_TOP_UP = 4; + FLEX_CREDIT_CHRONICLE_TYPE_SUPPORT = 5; + FLEX_CREDIT_CHRONICLE_TYPE_GTM = 6; +} + +enum PurchaseReasonType { + PURCHASE_REASON_TYPE_UNSPECIFIED = 0; + PURCHASE_REASON_TYPE_MANUAL = 1; + PURCHASE_REASON_TYPE_TOP_UP = 2; +} + diff --git a/lsp_protos/exa/tokenizer_pb/tokenizer.proto b/lsp_protos/exa/tokenizer_pb/tokenizer.proto new file mode 100755 index 0000000..ac262d8 --- /dev/null +++ b/lsp_protos/exa/tokenizer_pb/tokenizer.proto @@ -0,0 +1,40 @@ +syntax = "proto3"; + +package exa.tokenizer_pb; + +option go_package = "github.com/Exafunction/Exafunction/exa/tokenizer_pb"; + +message Tokenizer { + repeated .exa.tokenizer_pb.SpecialToken special_tokens = 1; + .exa.tokenizer_pb.PreTokenizer pre_tokenizer = 2; + oneof word_tokenizer { + .exa.tokenizer_pb.BPETokenizer bpe = 3; + } +} + +message BPETokenizer { + repeated .exa.tokenizer_pb.BaseToken base_vocab = 1; + repeated .exa.tokenizer_pb.MergeToken merges = 2; +} + +message SpecialToken { + string token = 1; + int32 id = 2; +} + +message BaseToken { + bytes token = 1; +} + +message MergeToken { + int32 first = 1; + int32 second = 2; +} + +enum PreTokenizer { + PRE_TOKENIZER_UNSPECIFIED = 0; + PRE_TOKENIZER_GPT2 = 1; + PRE_TOKENIZER_CL100K = 2; + PRE_TOKENIZER_QWEN2 = 3; +} + diff --git a/lsp_protos/exa/trainer_pb/config.proto b/lsp_protos/exa/trainer_pb/config.proto new file mode 100755 index 0000000..4dba55b --- /dev/null +++ b/lsp_protos/exa/trainer_pb/config.proto @@ -0,0 +1,644 @@ +syntax = "proto3"; + +package exa.trainer_pb; + +option go_package = "github.com/Exafunction/Exafunction/exa/trainer_pb"; + +import "exa/codeium_common_pb/codeium_common.proto"; + +message RoPEEmbeddingConfig { + float min_timescale = 1; + float max_timescale = 2; + oneof scaling { + .exa.trainer_pb.RoPEScalingLlama31Config scaling_llama31 = 3; + .exa.trainer_pb.RoPEScalingDeepseekV2Config scaling_deepseek_v2 = 4; + } +} + +message RoPEScalingLlama31Config { + float factor = 1; + float low_freq_factor = 2; + float high_freq_factor = 3; + float old_context_len = 4; +} + +message RoPEScalingDeepseekV2Config { + float factor = 1; + float low_freq_factor = 2; + float high_freq_factor = 3; + float old_context_len = 4; + float mscale = 5; + float mscale_all_dim = 6; +} + +message XPosEmbeddingConfig { + float min_timescale = 1; + float max_timescale = 2; + float gamma = 3; + float scale_base = 4; + bool tile = 5; +} + +message MUPConfig { + reserved 2; + float sigma_base = 1; + float sigma_input_embedding = 6; + float sigma_output_embedding = 7; + float lr = 3; + float lr_input_embedding = 4; + float lr_biases = 5; + float o_wo_init_multiplier = 8; +} + +message DPOConfig { + float beta = 1; + float label_smoothing = 2; + bool average_log_probs = 3; + bool mask_prompt_tokens_loss = 4; + float gamma = 5; + .exa.trainer_pb.PreferenceLoss loss_type = 6; + float eta = 7; + float sft_loss_coefficient = 8; +} + +message KTOConfig { + float lambda_positive = 1; + float lambda_negative = 2; + float beta = 3; +} + +message KnowledgeDistillationConfig { + float generation_temperature = 1; + repeated uint32 stop_tokens = 2; + float beta = 3; + float lambda_kd = 4; + float divergence_temperature = 5; +} + +message OnPolicyGRPOConfig { + float reference_policy_kl_penalty_beta = 1; + float ratio_clip_min = 2; + float ratio_clip_max = 3; + bool use_dr_grpo_length_normalization = 4; +} + +message LearningRateParamGroup { + string name_regex = 1; + float lr_multiplier = 2; + float wd_multiplier = 3; +} + +message CrossAttentionConfig { + uint32 start_layer_idx = 1; + uint32 stop_layer_idx = 2; + uint32 layer_step = 3; + uint32 num_heads = 4; + uint32 head_dim = 5; + uint32 num_kv_heads = 6; + uint32 kv_embed_dim = 7; + oneof positional_embedding { + .exa.trainer_pb.RoPEEmbeddingConfig rope_config = 8; + .exa.trainer_pb.XPosEmbeddingConfig xpos_config = 9; + } +} + +message SlidingWindowAttentionConfig { + uint32 window_start = 1; + uint32 window_end = 2; +} + +message AttentionModification { + uint32 start_layer_idx = 1; + uint32 end_layer_idx = 2; + uint32 layer_step = 3; + oneof modification { + .exa.trainer_pb.SlidingWindowAttentionConfig sliding_window_attn = 4; + } +} + +message MultiLatentAttentionConfig { + int64 q_lora_rank = 1; + int64 kv_lora_rank = 2; + int64 qk_nope_head_dim = 3; + int64 qk_rope_head_dim = 4; + int64 v_head_dim = 5; +} + +message MixtureOfExpertsConfig { + int64 n_shared_experts = 1; + int64 n_routed_experts = 2; + int64 num_experts_per_tok = 3; + float routed_scaling_factor = 4; + string scoring_func = 5; + int64 routed_n_group = 6; + int64 routed_topk_group = 7; + string routed_topk_method = 8; + int64 moe_hidden_size = 9; + int64 first_k_layers_dense_replace = 10; + bool force_non_homogeneous_layers = 11; +} + +message MultiTokenPredictionConfig { + uint32 num_layers = 1; + float loss_scale = 2; + bool no_load_from_checkpoint = 3; + uint32 num_layers_to_load_from_checkpoint = 4; + bool freeze_checkpoint_weights = 5; + uint32 num_loaded_mtp_layers_to_unfreeze = 6; +} + +message TransformerModelConfig { + reserved "dpo_config"; + reserved "use_uneven_pipeline_sharding"; + reserved "first_pipeline_num_layers"; + reserved "last_pipeline_num_layers"; + reserved "knowledge_distillation_config"; + reserved 26; + reserved 34; + reserved 38; + reserved 39; + reserved 40; + reserved 41; + uint32 num_layers = 1; + uint32 head_dim = 2; + uint32 num_heads = 4; + float rotary_dim_ratio = 5; + uint32 embed_dim = 44; + uint32 mlp_intermediate_dim_ratio = 6; + uint32 seq_mlp_hidden_dim = 31; + float seq_mlp_intermediate_dim_ratio = 30; + uint32 vocab_size = 7; + float embedding_dropout = 8; + float attention_dropout = 9; + float residual_dropout = 10; + bool lm_head_shared_embedding = 11; + bool affine_layer_norm = 12; + bool layernorm_zero_centered_gamma = 36; + bool mlp_bias = 13; + bool lm_head_bias = 14; + .exa.trainer_pb.MUPConfig mup_config = 21; + .exa.trainer_pb.ActivationType activation = 17; + bool post_layer_norm = 18; + bool deep_norm_residual = 19; + .exa.trainer_pb.InitializationMethod initialization_method = 20; + bool multi_query_attention = 22; + uint32 lora_r = 23; + float lora_alpha = 24; + float lora_dropout = 25; + .exa.trainer_pb.QuantizationMethod quantization_method = 27; + bool sequential = 28; + uint32 num_kv_heads = 29; + .exa.trainer_pb.CrossAttentionConfig xattn_config = 32; + bool causal_rm = 33; + repeated .exa.trainer_pb.AttentionModification attention_modifications = 35; + .exa.trainer_pb.QuantizationPolicySet quantization_policy = 37; + .exa.trainer_pb.MultiLatentAttentionConfig mla_config = 42; + .exa.trainer_pb.MixtureOfExpertsConfig moe_config = 43; + .exa.trainer_pb.MultiTokenPredictionConfig mtp_config = 45; + oneof positional_embedding { + .exa.trainer_pb.RoPEEmbeddingConfig rope_config = 15; + .exa.trainer_pb.XPosEmbeddingConfig xpos_config = 16; + } + optional bool attn_bias = 73; + optional float layer_norm_eps = 74; + optional bool qk_layernorm = 75; +} + +message EncoderDecoderModelConfig { + .exa.trainer_pb.TransformerModelConfig encoder = 1; + .exa.trainer_pb.TransformerModelConfig decoder = 2; +} + +message BaseModelConfig { + reserved 2; + oneof architecture { + .exa.trainer_pb.TransformerModelConfig gptj = 1; + .exa.trainer_pb.EncoderDecoderModelConfig t5 = 3; + } +} + +message ExperimentMetadata { + .exa.trainer_pb.ExperimentProject project = 1; + string group = 2; + string job_type = 3; + repeated string tag = 4; +} + +message MockedInferenceProviderConfig { +} + +message QuantizationConfig { + string activation_scheme = 1; + string fmt = 2; + string quant_method = 3; + repeated int32 weight_block_size = 4; +} + +message SGLangInferenceProviderConfig { + reserved 1; + reserved 4; + uint32 world_size = 3; + string model_type = 5; + .exa.trainer_pb.QuantizationConfig quantization_config = 6; + bool log_weight_update_progress = 7; + repeated string sglang_addr_list = 8; + bool disable_batch_weight_update = 9; + bool disable_sequential_pipeline_update = 10; + bool disable_fanout_v2 = 11; +} + +message TrainInferenceConfig { + reserved 4; + .exa.codeium_common_pb.CompletionConfiguration completion_config = 1; + oneof inference_provider_config { + .exa.trainer_pb.MockedInferenceProviderConfig mocked_inference_provider_config = 2; + .exa.trainer_pb.SGLangInferenceProviderConfig sglang_inference_provider_config = 3; + } +} + +message WeightUpdateBenchmarkConfig { + uint32 update_interval_seconds = 1; + uint32 num_weight_updates = 2; +} + +message TrainerConfig { + reserved "rollout_data_service_config"; + reserved 1; + reserved 3; + reserved 5; + reserved 6; + reserved 7; + reserved 9; + reserved 10; + reserved 96; + string name = 51; + string description = 45; + .exa.trainer_pb.ExperimentMetadata metadata = 88; + string user = 89; + .exa.trainer_pb.BaseModelConfig base_model_config = 44; + .exa.trainer_pb.TrainObjective train_objective = 39; + string train_data_dir = 2; + string eval_data_dir = 4; + uint32 block_size = 8; + uint32 bytes_per_token = 52; + bool use_loss_weight = 64; + bool use_loss_magnitude = 66; + bool use_packed_sequence_lengths = 73; + string checkpoint_dir = 46; + string tmp_checkpoint_dir = 59; + string log_dir = 47; + .exa.trainer_pb.TrainFramework train_framework = 38; + .exa.trainer_pb.LoopType loop_type = 104; + .exa.trainer_pb.WeightUpdateBenchmarkConfig weight_update_benchmark_config = 105; + uint32 train_steps = 11; + uint32 train_batch_size = 12; + uint32 gradient_accumulation_steps = 13; + bool bf16 = 14; + bool fp8 = 61; + bool gradient_checkpointing = 15; + bool activation_checkpoint_lm_head = 90; + uint32 num_embedding_splits_per_microbatch = 40; + string activations_dir = 71; + .exa.trainer_pb.MoeBackend moe_backend = 102; + bool allow_nondeterministic = 75; + uint32 eval_batch_size = 16; + uint32 eval_steps = 17; + uint32 eval_frequency = 18; + float beta1 = 19; + float beta2 = 20; + float epsilon = 21; + float weight_decay = 22; + float gradient_clip_norm = 23; + .exa.trainer_pb.OptimizerType optimizer = 48; + bool use_distributed_optimizer = 70; + .exa.trainer_pb.OptimizerExpAvgDtype optimizer_exp_avg_dtype = 78; + string lr_scheduler_type = 24; + float learning_rate = 25; + uint32 warmup_steps = 26; + float lr_floor_fraction = 27; + float lr_decay_power = 49; + float lr_decay_offset = 50; + uint32 cooldown_steps = 57; + uint32 lr_cyclical_frequency = 62; + float lr_cyclical_magnitude = 63; + repeated .exa.trainer_pb.LearningRateParamGroup learning_rate_param_group = 65; + string pretrained_model_path = 28; + .exa.trainer_pb.CheckpointBackend pretrained_model_checkpoint_backend = 69; + bool load_LM_checkpoint_into_embed_model = 42; + bool load_LM_checkpoint_into_lora_model = 53; + bool load_optimizer_state_for_finetuning = 58; + .exa.trainer_pb.TrainerConfig teacher_model_config = 72; + bool fold_dpo_sequences = 74; + string checkpoint_path_to_load = 29; + bool load_most_recent_checkpoint = 30; + uint32 checkpoint_frequency = 31; + string checkpoint_staging_dir = 60; + bool optim_loading_avoid_copy = 81; + bool load_and_broadcast_from_first_dp_rank = 92; + uint32 num_nodes = 33; + uint32 num_processes_per_node = 34; + uint32 model_partitions = 41; + uint32 data_partitions = 56; + uint32 pipeline_partitions = 67; + uint32 context_partitions = 91; + bool use_uneven_pipeline_sharding = 84; + uint32 first_pipeline_num_layers = 85; + uint32 last_pipeline_num_layers = 86; + uint32 expert_partitions = 77; + bool full_2d_partitioning = 43; + string tpu_topology = 54; + int64 dataloader_num_workers = 36; + int64 dataloader_prefetch_factor = 37; + int64 dataloader_max_shards = 55; + string data_service_address = 93; + bool async_data_service_generation = 103; + bool scheduler_managed_data_service = 106; + .exa.trainer_pb.TrainInferenceConfig inference_config = 94; + uint32 ref_policy_update_frequency = 98; + uint32 inference_weight_update_frequency = 99; + uint32 old_policy_update_frequency = 100; + int64 seed = 35; + bool use_checkpoint_cache = 68; + bool async_checkpoints = 76; + string hf_model_id = 79; + bool optimizer_cpu_offload = 80; + string task_pod_ip = 97; + bool use_cuda_graphs = 101; + oneof objective_config { + .exa.trainer_pb.DPOConfig dpo_config = 82; + .exa.trainer_pb.KnowledgeDistillationConfig knowledge_distillation_config = 83; + .exa.trainer_pb.KTOConfig kto_config = 87; + .exa.trainer_pb.OnPolicyGRPOConfig on_policy_grpo_config = 95; + } +} + +message SweepConfig { + string name_prefix = 1; + string description = 2; + .exa.trainer_pb.TrainerConfig base_config = 3; + repeated .exa.trainer_pb.SweepAxis axis = 4; +} + +message SweepAxis { + string short_name = 1; + repeated .exa.trainer_pb.SweepItem value = 2; +} + +message SweepItem { + message FieldEntry { + string key = 1; + .exa.trainer_pb.ConfigValue value = 2; + } + + string short_name = 1; + repeated .exa.trainer_pb.SweepItem.FieldEntry field = 2; +} + +message ConfigValue { + oneof value { + string string_value = 1; + int64 int_value = 2; + float float_value = 3; + .exa.trainer_pb.QuantizationMethod quantization_method_value = 4; + bool bool_value = 5; + } +} + +message InferenceConfig { + .exa.codeium_common_pb.Model model_id = 1; + .exa.trainer_pb.InferenceObjective inference_objective = 2; + string tokenizer = 3; + uint32 lm_max_context_length = 4; + uint32 lm_max_generation_length = 5; + uint32 lm_max_num_completions = 6; + uint32 lm_max_top_k = 7; + uint32 embedding_max_context_length = 8; + uint32 reward_max_context_length = 10; + uint32 reserved_memory_mib = 9; + optional uint32 top_draft_tokens = 11; +} + +message ModelLoaderConfig { + reserved 2; + string base_model_path = 1; + string inference_config_path = 3; + uint32 priority = 5; + bool load_mock_model = 6; + .exa.trainer_pb.TransformerModelConfig mock_model_config = 7; + oneof parallelism_oneof { + int32 mp_shards = 4; + .exa.trainer_pb.ParallelismConfig parallelism_config = 8; + } +} + +message ModelLoaderConfigs { + repeated .exa.trainer_pb.ModelLoaderConfig model_loader_configs = 1; +} + +message ScheduledModel { + .exa.codeium_common_pb.Model model_id = 1; + float memory_fraction = 2; + float max_generation_to_prompt_scaling_term = 7; + int64 max_generation_to_prompt_constant_term = 8; + float prompt_cache_cpu_memory_mib = 9; + int64 prompt_cache_persistence_s = 10; + string prompt_cache_shm_name = 12; + int64 top_draft_tokens = 11; + optional float memory_fragmentation_factor = 5; + optional int64 max_tokens_per_forward_pass = 6; + optional int64 chunked_prefill_length = 3; + optional int64 speculative_copy_length = 4; +} + +message SchedulingGroupConfig { + int32 num_gpus = 1; + int32 replicas = 3; + repeated .exa.trainer_pb.ScheduledModel models = 2; +} + +message DraftTargetModelPair { + .exa.codeium_common_pb.Model draft_model_id = 1; + .exa.codeium_common_pb.Model target_model_id = 2; + int32 gamma = 3; + float draft_temperature = 4; +} + +message SchedulingGroupConfigs { + repeated .exa.trainer_pb.SchedulingGroupConfig scheduling_group_configs = 1; + repeated .exa.trainer_pb.DraftTargetModelPair draft_target_model_pairs = 2; + repeated .exa.trainer_pb.DeviceWorkerRoutingInfo device_worker_routing_infos = 3; +} + +message DeviceWorkerRoutingInfo { + oneof info { + string ip = 1; + string message_queue_name = 2; + } +} + +message QuantizationPolicySet { + repeated .exa.trainer_pb.QuantizationPolicy policy = 1; +} + +message QuantizationPolicy { + repeated string selector = 1; + oneof layer_quantization { + .exa.trainer_pb.TokenEmbeddingQuantization token_embedding = 2; + .exa.trainer_pb.TransformerLayerQuantization transformer_layer = 3; + .exa.trainer_pb.TokenOutputProjectionQuantization token_output_projection = 4; + .exa.trainer_pb.LayerNormQuantization layer_norm = 5; + } +} + +message TokenEmbeddingQuantization { + .exa.trainer_pb.QuantizationPrecision word_embedding_precision = 1; + .exa.trainer_pb.QuantizationPrecision output_precision = 2; +} + +message TransformerLayerQuantization { + .exa.trainer_pb.LinearQuantization attention_linear = 2; + .exa.trainer_pb.LinearQuantization mlp_linear = 3; + float residual_branch_scale = 4; + uint32 num_mlp_hidden_scaling_groups = 5; +} + +message TokenOutputProjectionQuantization { + .exa.trainer_pb.LinearQuantization linear = 2; +} + +message LinearQuantization { + .exa.trainer_pb.QuantizationPrecision activation_precision = 1; + .exa.trainer_pb.QuantizationPrecision weight_precision = 2; + .exa.trainer_pb.QuantizationPrecision bias_precision = 3; + .exa.trainer_pb.QuantizationPrecision output_precision = 4; + bool vectorwise_scaling = 5; + float scale_upper_bound = 6; +} + +message LayerNormQuantization { + .exa.trainer_pb.QuantizationPrecision weight_precision = 1; + .exa.trainer_pb.QuantizationPrecision output_precision = 2; +} + +message LayerParallelismConfig { + int64 num_replica_layers = 3; + oneof expert_mlp_mp { + int64 expert_mp = 1; + int64 mlp_mp = 2; + } +} + +message ParallelismConfig { + int64 embedding_parallelism = 1; + repeated .exa.trainer_pb.LayerParallelismConfig layer_parallelism_configs = 2; + int64 attention_mp = 3; + int64 num_attention_units = 4; +} + +enum TrainFramework { + TRAIN_FRAMEWORK_UNSPECIFIED = 0; + TRAIN_FRAMEWORK_TORCH = 1; + TRAIN_FRAMEWORK_MEGATRON = 3; +} + +enum LoopType { + LOOP_TYPE_UNSPECIFIED = 0; + LOOP_TYPE_TRAIN = 1; + LOOP_TYPE_WEIGHT_UPDATE_BENCHMARK = 2; +} + +enum TrainObjective { + TRAIN_OBJECTIVE_UNSPECIFIED = 0; + TRAIN_OBJECTIVE_CAUSAL_LM = 1; + TRAIN_OBJECTIVE_EMBEDDING = 2; + TRAIN_OBJECTIVE_PREFIX_LM = 3; + TRAIN_OBJECTIVE_REWARD = 4; + TRAIN_OBJECTIVE_SEQ2SEQ = 5; + TRAIN_OBJECTIVE_DPO = 6; + TRAIN_OBJECTIVE_RECORD_ACTIVATIONS = 7; + TRAIN_OBJECTIVE_KNOWLEDGE_DISTILLATION = 8; + TRAIN_OBJECTIVE_KTO = 9; + TRAIN_OBJECTIVE_GRPO = 10; +} + +enum OptimizerType { + OPTIMIZER_TYPE_UNSPECIFIED = 0; + OPTIMIZER_TYPE_NONE = 1; + OPTIMIZER_TYPE_ADAMW = 2; + OPTIMIZER_TYPE_LION = 3; +} + +enum OptimizerExpAvgDtype { + OPTIMIZER_EXP_AVG_DTYPE_UNSPECIFIED = 0; + OPTIMIZER_EXP_AVG_DTYPE_FLOAT32 = 1; + OPTIMIZER_EXP_AVG_DTYPE_FLOAT16 = 2; +} + +enum ActivationType { + ACTIVATION_TYPE_UNSPECIFIED = 0; + ACTIVATION_TYPE_GELU = 1; + ACTIVATION_TYPE_SWIGLU = 2; + ACTIVATION_TYPE_SQUARED_RELU = 3; + ACTIVATION_TYPE_SWISH = 4; +} + +enum InitializationMethod { + INITIALIZATION_METHOD_UNSPECIFIED = 0; + INITIALIZATION_METHOD_TRUNCATED_NORMAL = 1; + INITIALIZATION_METHOD_DEEP_NORM = 2; +} + +enum PreferenceLoss { + PREFERENCE_LOSS_UNSPECIFIED = 0; + PREFERENCE_LOSS_DPO = 1; + PREFERENCE_LOSS_SIMPO = 2; + PREFERENCE_LOSS_IPO = 3; + PREFERENCE_LOSS_RPO = 4; +} + +enum QuantizationMethod { + QUANTIZATION_METHOD_UNSPECIFIED = 0; + QUANTIZATION_METHOD_INT8 = 1; + QUANTIZATION_METHOD_INT8_FULL = 4; + QUANTIZATION_METHOD_INT4 = 2; + QUANTIZATION_METHOD_NF4 = 3; + QUANTIZATION_METHOD_FP8 = 5; + QUANTIZATION_METHOD_FP8_VECTOR_NO_LM_HEAD = 6; +} + +enum CheckpointBackend { + CHECKPOINT_BACKEND_UNSPECIFIED = 0; + CHECKPOINT_BACKEND_TORCH_DCP = 1; + CHECKPOINT_BACKEND_ZARR = 2; +} + +enum MoeBackend { + MOE_BACKEND_UNSPECIFIED = 0; + MOE_BACKEND_DEEPEP = 1; + MOE_BACKEND_A2A = 2; +} + +enum ExperimentProject { + EXPERIMENT_PROJECT_UNSPECIFIED = 0; + EXPERIMENT_PROJECT_CODER_MODEL = 1; + EXPERIMENT_PROJECT_TAB_TO_JUMP = 2; + EXPERIMENT_PROJECT_TAB_MODEL = 3; +} + +enum InferenceObjective { + INFERENCE_OBJECTIVE_UNSPECIFIED = 0; + INFERENCE_OBJECTIVE_CAUSAL_LM = 1; + INFERENCE_OBJECTIVE_EMBEDDING = 2; + INFERENCE_OBJECTIVE_REWARD = 3; +} + +enum QuantizationPrecision { + QUANTIZATION_PRECISION_UNSPECIFIED = 0; + QUANTIZATION_PRECISION_FP32 = 1; + QUANTIZATION_PRECISION_FP16 = 2; + QUANTIZATION_PRECISION_BF16 = 3; + QUANTIZATION_PRECISION_FP8_E4M3 = 4; + QUANTIZATION_PRECISION_INT8 = 5; + QUANTIZATION_PRECISION_NF4 = 6; +} + diff --git a/lsp_protos/exa/tree_sitter/language_data_pb/language_data.proto b/lsp_protos/exa/tree_sitter/language_data_pb/language_data.proto new file mode 100755 index 0000000..650ce97 --- /dev/null +++ b/lsp_protos/exa/tree_sitter/language_data_pb/language_data.proto @@ -0,0 +1,15 @@ +syntax = "proto3"; + +package exa.tree_sitter.language_data_pb; + +import "exa/codeium_common_pb/codeium_common.proto"; + +message LanguageData { + .exa.codeium_common_pb.Language language = 1; + repeated string block_node_types = 2; + repeated string block_node_parent_types = 3; + repeated string block_node_parent_start_keywords = 4; + repeated string special_node_types = 6; + bool curly = 5; +} + diff --git a/lsp_protos/exa/user_analytics_pb/user_analytics.proto b/lsp_protos/exa/user_analytics_pb/user_analytics.proto new file mode 100755 index 0000000..a306feb --- /dev/null +++ b/lsp_protos/exa/user_analytics_pb/user_analytics.proto @@ -0,0 +1,520 @@ +syntax = "proto3"; + +package exa.user_analytics_pb; + +option go_package = "github.com/Exafunction/Exafunction/exa/user_analytics_pb"; + +import "buf/validate/validate.proto"; +import "exa/codeium_common_pb/codeium_common.proto"; +import "google/protobuf/timestamp.proto"; + +service UserAnalyticsService { + rpc Analytics (.exa.user_analytics_pb.AnalyticsRequest) returns (.exa.user_analytics_pb.AnalyticsResponse) {} + rpc UserPageAnalytics (.exa.user_analytics_pb.UserPageAnalyticsRequest) returns (.exa.user_analytics_pb.UserPageAnalyticsResponse) {} + rpc CascadeAnalytics (.exa.user_analytics_pb.CascadeAnalyticsRequest) returns (.exa.user_analytics_pb.CascadeAnalyticsResponse) {} + rpc GetAnalytics (.exa.user_analytics_pb.GetAnalyticsRequest) returns (.exa.user_analytics_pb.GetAnalyticsResponse) {} + rpc GetGlobalLeaderboardApiKey (.exa.user_analytics_pb.GetGlobalLeaderboardApiKeyRequest) returns (.exa.user_analytics_pb.GetGlobalLeaderboardApiKeyResponse) {} + rpc GetBigQueryAnalytics (.exa.user_analytics_pb.GetBigQueryAnalyticsRequest) returns (.exa.user_analytics_pb.GetBigQueryAnalyticsResponse) {} + rpc GetDevinUserAnalytics (.exa.user_analytics_pb.GetDevinUserAnalyticsRequest) returns (.exa.user_analytics_pb.GetDevinUserAnalyticsResponse) {} +} + +message QuerySelectionField { + .exa.user_analytics_pb.QueryAggregation aggregation_function = 1; + string field = 2; + string name = 3; +} + +message QueryFilterField { + .exa.user_analytics_pb.QueryFilter filter = 1; + string name = 2; + string value = 3; +} + +message QueryAggregationField { + string field = 1; + string name = 2; +} + +message QueryOrderField { + bool ascending = 1; + string name = 2; +} + +message CustomQueryRequest { + .exa.user_analytics_pb.QueryDataSource data_source = 1; + repeated .exa.user_analytics_pb.QuerySelectionField selections = 2; + repeated .exa.user_analytics_pb.QueryFilterField filters = 3; + repeated .exa.user_analytics_pb.QueryAggregationField aggregations = 5; + repeated .exa.user_analytics_pb.QueryOrderField orderings = 4; + bool use_real_api_key = 6; +} + +message QueryResponseItem { + message ItemEntry { + string key = 1; + string value = 2; + } + + repeated .exa.user_analytics_pb.QueryResponseItem.ItemEntry item = 1; +} + +message CustomQueryResponse { + repeated .exa.user_analytics_pb.QueryResponseItem response_items = 1; +} + +message GetAnalyticsRequest { + reserved 1; + reserved 5; + repeated .exa.user_analytics_pb.QueryRequest query_requests = 2; + .google.protobuf.Timestamp start_timestamp = 3; + .google.protobuf.Timestamp end_timestamp = 4; + string group_id = 6; + repeated string api_keys = 7; + repeated string group_ids = 8; + repeated .exa.user_analytics_pb.IDEType ide_types = 9; +} + +message CascadeAnalyticsRequest { + string service_key = 1; + string group_name = 2; + repeated string emails = 3; + repeated string ide_types = 4; + .google.protobuf.Timestamp start_timestamp = 5; + .google.protobuf.Timestamp end_timestamp = 6; + repeated .exa.user_analytics_pb.QueryRequest query_requests = 7; + string multitenant_team_id = 8; +} + +message CascadeAnalyticsResponse { + repeated .exa.user_analytics_pb.QueryResult query_results = 1; +} + +message GetAnalyticsResponse { + repeated .exa.user_analytics_pb.QueryResult query_results = 1; +} + +message AnalyticsRequest { + repeated .exa.user_analytics_pb.CustomQueryRequest query_requests = 1; + string service_key = 2; + string group_name = 3; + .google.protobuf.Timestamp start_timestamp = 4; + .google.protobuf.Timestamp end_timestamp = 5; + string multitenant_team_id = 6; +} + +message AnalyticsResponse { + repeated .exa.user_analytics_pb.CustomQueryResponse query_results = 1; +} + +message UserPageAnalyticsRequest { + string service_key = 1; + string group_name = 2; + .google.protobuf.Timestamp start_timestamp = 3; + .google.protobuf.Timestamp end_timestamp = 4; + string multitenant_team_id = 5; +} + +message UserPageAnalyticsResponse { + repeated .exa.codeium_common_pb.UserTableStats user_table_stats = 1; +} + +message QueryRequest { + oneof request_type { + .exa.user_analytics_pb.QueryRequestCompletionStats completion_stats = 1; + .exa.user_analytics_pb.QueryRequestCompletionsByDay completions_by_day = 2; + .exa.user_analytics_pb.QueryRequestCompletionsByLanguage completions_by_language = 3; + .exa.user_analytics_pb.QueryRequestAllUsersCompletionStats all_users_completion_stats = 4; + .exa.user_analytics_pb.QueryRequestAllUsersCompletionsByDay all_users_completions_by_day = 5; + .exa.user_analytics_pb.QueryRequestAllUsersCompletionsByLanguage all_users_completions_by_language = 6; + .exa.user_analytics_pb.QueryRequestCompletionsByIde completions_by_ide = 7; + .exa.user_analytics_pb.QueryRequestCompletionsByIde all_users_completions_by_ide = 8; + .exa.user_analytics_pb.QueryRequestCompletionsByApiKey completions_by_api_key = 9; + .exa.user_analytics_pb.QueryRequestCompletionsByRepository completions_by_repository = 19; + .exa.user_analytics_pb.QueryRequestChatsByDay chats_by_day = 10; + .exa.user_analytics_pb.QueryRequestAllChatsByDay all_users_chats_by_day = 11; + .exa.user_analytics_pb.QueryRequestChatStatsByModel chats_by_model = 12; + .exa.user_analytics_pb.QueryRequestAllChatStatsByModel all_users_chats_by_model = 13; + .exa.user_analytics_pb.QueryRequestActiveUserCount active_user_count = 14; + .exa.user_analytics_pb.QueryRequestPercentCodeWritten percent_code_written = 15; + .exa.user_analytics_pb.QueryRequestCharsPerOpportunity chars_per_opportunity = 16; + .exa.user_analytics_pb.QueryRequestChatStats chat_stats = 17; + .exa.user_analytics_pb.QueryRequestActiveDaysByApiKey active_days_by_api_key = 18; + .exa.user_analytics_pb.QueryRequestCommandStats command_stats = 20; + .exa.user_analytics_pb.CustomQueryRequest custom_query = 21; + .exa.user_analytics_pb.UserPageAnalyticsRequest user_page_analytics = 22; + .exa.user_analytics_pb.QueryRequestCascadeLines cascade_lines = 23; + .exa.user_analytics_pb.QueryRequestCascadeToolUsage cascade_tool_usage = 24; + .exa.user_analytics_pb.QueryRequestCascadeRuns cascade_runs = 25; + .exa.user_analytics_pb.QueryRequestAllUsersCascadeLines all_users_cascade_lines = 26; + .exa.user_analytics_pb.QueryRequestAllUsersCascadeToolUsage all_users_cascade_tool_usage = 27; + .exa.user_analytics_pb.QueryRequestAllUsersCascadeRuns all_users_cascade_runs = 28; + .exa.user_analytics_pb.QueryRequestAllUsersDailyActiveUserCounts all_users_daily_active_user_counts = 29; + .exa.user_analytics_pb.QueryRequestAllUsersCommandStats all_users_command_stats = 30; + .exa.user_analytics_pb.QueryRequestIndividualPercentCodeWritten individual_percent_code_written = 31; + } +} + +message QueryResult { + oneof result_type { + .exa.user_analytics_pb.QueryResultCompletionStats completion_stats = 1; + .exa.user_analytics_pb.QueryResultCompletionsByDay completions_by_day = 2; + .exa.user_analytics_pb.QueryResultCompletionsByLanguage completions_by_language = 3; + .exa.user_analytics_pb.QueryResultCompletionsByIde completions_by_ide = 4; + .exa.user_analytics_pb.QueryResultCompletionsByApiKey completions_by_api_key = 5; + .exa.user_analytics_pb.QueryResultCompletionsByRepository completions_by_repository = 13; + .exa.user_analytics_pb.QueryResultChatsByDay chats_by_day = 6; + .exa.user_analytics_pb.QueryResultChatStatsByModel chats_by_model = 7; + .exa.user_analytics_pb.QueryResultActiveUserCount active_user_count = 8; + .exa.user_analytics_pb.QueryResultPercentCodeWritten percent_code_written = 9; + .exa.user_analytics_pb.QueryResultCharsPerOpportunity chars_per_opportunity = 10; + .exa.user_analytics_pb.QueryResultChatStats chat_stats = 11; + .exa.user_analytics_pb.QueryResultActiveDaysByApiKey active_days_by_api_key = 12; + .exa.user_analytics_pb.QueryResultError error = 14; + .exa.user_analytics_pb.QueryResultCommandStats command_stats = 15; + .exa.user_analytics_pb.CustomQueryResponse custom_stats = 16; + .exa.user_analytics_pb.UserPageAnalyticsResponse user_page_analytics = 17; + .exa.user_analytics_pb.QueryResultCascadeLines cascade_lines = 18; + .exa.user_analytics_pb.QueryResultCascadeToolUsage cascade_tool_usage = 19; + .exa.user_analytics_pb.QueryResultCascadeRuns cascade_runs = 20; + .exa.user_analytics_pb.QueryResultDailyActiveUserCounts daily_active_user_counts = 21; + } +} + +message DailyActiveUserCount { + .google.protobuf.Timestamp day = 1; + int64 active_user_count = 2; +} + +message QueryResultDailyActiveUserCounts { + repeated .exa.user_analytics_pb.DailyActiveUserCount daily_active_user_counts = 1; +} + +message QueryRequestAllUsersDailyActiveUserCounts { +} + +message QueryRequestCompletionStats { +} + +message QueryResultCompletionStats { + .exa.codeium_common_pb.CompletionStatistics completion_statistics = 1; +} + +message QueryRequestCompletionsByDay { + string time_zone = 1; +} + +message QueryResultCompletionsByDay { + repeated .exa.codeium_common_pb.CompletionByDateEntry completions_by_day = 1; +} + +message QueryRequestCompletionsByLanguage { +} + +message QueryResultCompletionsByLanguage { + repeated .exa.codeium_common_pb.CompletionByLanguageEntry completions_by_language = 1; +} + +message QueryRequestCompletionsByIde { +} + +message QueryResultCompletionsByIde { + message CompletionsByIdeEntry { + string key = 1; + .exa.codeium_common_pb.CompletionStatistics value = 2; + } + + repeated .exa.user_analytics_pb.QueryResultCompletionsByIde.CompletionsByIdeEntry completions_by_ide = 1; +} + +message QueryRequestCompletionsByRepository { +} + +message QueryResultCompletionsByRepository { + message CompletionsByRepositoryEntry { + string key = 1; + .exa.codeium_common_pb.CompletionStatistics value = 2; + } + + repeated .exa.user_analytics_pb.QueryResultCompletionsByRepository.CompletionsByRepositoryEntry completions_by_repository = 1; +} + +message QueryRequestChatsByDay { + string time_zone = 1; +} + +message QueryResultChatsByDay { + repeated .exa.codeium_common_pb.ChatStatsByDateEntry chats_by_day = 1; +} + +message QueryRequestAllChatsByDay { + string time_zone = 1; +} + +message QueryRequestActiveUserCount { + string time_zone = 1; + .google.protobuf.Timestamp start_timestamp = 2; + .google.protobuf.Timestamp end_timestamp = 3; +} + +message QueryRequestActiveUserCountByUsers { + string time_zone = 1; +} + +message QueryRequestDailyActiveUserCounts { +} + +message QueryRequestChatStatsByModel { +} + +message QueryRequestAllChatStatsByModel { +} + +message QueryResultChatStatsByModel { + repeated .exa.codeium_common_pb.ChatStatsByModelEntry chats_by_model = 1; +} + +message QueryRequestAllUsersCompletionsByDay { + string time_zone = 1; +} + +message QueryRequestAllUsersCompletionsByLanguage { +} + +message QueryRequestAllUsersCompletionStats { +} + +message QueryRequestCompletionsByApiKey { +} + +message QueryResultCompletionsByApiKey { + message CompletionsByApiKeyEntry { + string key = 1; + .exa.codeium_common_pb.CompletionStatistics value = 2; + } + + repeated .exa.user_analytics_pb.QueryResultCompletionsByApiKey.CompletionsByApiKeyEntry completions_by_api_key = 1; +} + +message QueryResultActiveUserCount { + int64 active_user_count = 1; +} + +message QueryRequestIndividualPercentCodeWritten { +} + +message QueryRequestPercentCodeWritten { +} + +message QueryResultPercentCodeWritten { + double percent_code_written = 1; + int64 codeium_bytes_by_autocomplete = 2; + int64 codeium_bytes_by_command = 3; + int64 codeium_bytes_by_supercomplete = 7; + int64 codeium_bytes_by_cascade = 8; + int64 user_bytes = 4; + int64 codeium_bytes = 5; + int64 total_bytes = 6; +} + +message QueryRequestCharsPerOpportunity { +} + +message QueryResultCharsPerOpportunity { + double chars_per_opportunity = 1; + uint64 num_bytes_accepted = 2; + uint64 num_completion_attempts = 3; +} + +message QueryRequestChatStats { +} + +message QueryResultChatStats { + .exa.codeium_common_pb.ChatStats chat_stats = 1; +} + +message QueryRequestCommandStats { +} + +message QueryRequestAllUsersCommandStats { +} + +message QueryResultCommandStats { + .exa.codeium_common_pb.CommandStats command_stats = 1; +} + +message QueryRequestActiveDaysByApiKey { +} + +message QueryResultActiveDaysByApiKey { + message ActiveDaysByApiKeyEntry { + string key = 1; + uint32 value = 2; + } + + repeated .exa.user_analytics_pb.QueryResultActiveDaysByApiKey.ActiveDaysByApiKeyEntry active_days_by_api_key = 1; +} + +message QueryResultError { + string error = 1; +} + +message QueryRequestCascadeLines { +} + +message CascadeLineQueryEntry { + .google.protobuf.Timestamp day = 1; + int64 lines_suggested = 2; + int64 lines_accepted = 3; +} + +message QueryResultCascadeLines { + repeated .exa.user_analytics_pb.CascadeLineQueryEntry cascade_lines = 1; +} + +message QueryRequestCascadeToolUsage { +} + +message CascadeToolUsageQueryEntry { + .google.protobuf.Timestamp day = 1; + string tool = 2; + int64 count = 3; +} + +message QueryResultCascadeToolUsage { + repeated .exa.user_analytics_pb.CascadeToolUsageQueryEntry cascade_tool_usage = 1; +} + +message QueryRequestCascadeRuns { +} + +message CascadeRunsQueryEntry { + .google.protobuf.Timestamp day = 1; + string model = 2; + string mode = 3; + int64 messages_sent = 4; + int64 prompts_used = 5; + string cascade_id = 6; +} + +message QueryResultCascadeRuns { + repeated .exa.user_analytics_pb.CascadeRunsQueryEntry cascade_runs = 1; +} + +message QueryRequestAllUsersCascadeRuns { +} + +message QueryRequestAllUsersCascadeToolUsage { +} + +message QueryRequestAllUsersCascadeLines { +} + +message GetGlobalLeaderboardApiKeyRequest { +} + +message GetGlobalLeaderboardApiKeyResponse { + string api_key = 1; +} + +message GetBigQueryAnalyticsRequest { + string api_key = 1; + .google.protobuf.Timestamp start_timestamp = 2; + .google.protobuf.Timestamp end_timestamp = 3; + repeated .exa.user_analytics_pb.BigQueryRequest query_requests = 4; +} + +message GetBigQueryAnalyticsResponse { + repeated .exa.user_analytics_pb.BigQueryResult query_results = 1; +} + +message BigQueryRequest { + oneof request_type { + .exa.user_analytics_pb.BigQueryLeaderboardRequest leaderboard_request = 1; + } +} + +message BigQueryResult { + oneof result_type { + .exa.user_analytics_pb.BigQueryResultError error = 1; + .exa.user_analytics_pb.BigQueryLeaderboardResult leaderboard_result = 2; + } +} + +message BigQueryResultError { + string error = 1; +} + +message BigQueryLeaderboardRequest { +} + +message BigQueryLeaderboardResult { + repeated .exa.user_analytics_pb.ModelStats model_stats = 1; + .google.protobuf.Timestamp last_queried_at = 2; +} + +message ModelStats { + reserved "model_provider"; + reserved 5; + string model = 1; + int64 elo_rating = 2; + int64 votes = 3; + double win_rate = 4; + int64 confidence_lower = 6; + int64 confidence_upper = 7; + double model_speed = 8; +} + +message GetDevinUserAnalyticsRequest { + string start_date = 1; + string end_date = 2; + .google.protobuf.Timestamp start_date_ts = 3; + .google.protobuf.Timestamp end_date_ts = 4; +} + +message GetDevinUserAnalyticsResponse { + repeated .exa.user_analytics_pb.DevinUsageEntry devin_usage_entries = 1; + double total_acus = 2; +} + +message DevinUsageEntry { + string day = 1; + double acus = 2; +} + +enum QueryDataSource { + QUERY_DATA_SOURCE_UNSPECIFIED = 0; + QUERY_DATA_SOURCE_USER_DATA = 1; + QUERY_DATA_SOURCE_CHAT_DATA = 2; + QUERY_DATA_SOURCE_COMMAND_DATA = 3; + QUERY_DATA_SOURCE_CASCADE_DATA = 4; + QUERY_DATA_SOURCE_PCW_DATA = 5; + QUERY_DATA_SOURCE_CASCADE_LINES_ANALYTICS = 6; + QUERY_DATA_SOURCE_CASCADE_TOOL_ANALYTICS = 7; +} + +enum QueryAggregation { + QUERY_AGGREGATION_UNSPECIFIED = 0; + QUERY_AGGREGATION_COUNT = 1; + QUERY_AGGREGATION_SUM = 2; + QUERY_AGGREGATION_AVG = 3; + QUERY_AGGREGATION_MAX = 4; + QUERY_AGGREGATION_MIN = 5; +} + +enum QueryFilter { + QUERY_FILTER_UNSPECIFIED = 0; + QUERY_FILTER_EQUAL = 1; + QUERY_FILTER_NOT_EQUAL = 2; + QUERY_FILTER_GREATER_THAN = 3; + QUERY_FILTER_LESS_THAN = 4; + QUERY_FILTER_GE = 5; + QUERY_FILTER_LE = 6; +} + +enum IDEType { + IDE_TYPE_UNSPECIFIED = 0; + IDE_TYPE_WINDSURF = 1; + IDE_TYPE_JETBRAINS = 2; + IDE_TYPE_PLUGINS = 3; +} + diff --git a/lsp_protos/github.com/prometheus/client_model/go/metrics.proto b/lsp_protos/github.com/prometheus/client_model/go/metrics.proto new file mode 100755 index 0000000..9e6bbbc --- /dev/null +++ b/lsp_protos/github.com/prometheus/client_model/go/metrics.proto @@ -0,0 +1,104 @@ +syntax = "proto2"; + +package io.prometheus.client; + +option java_package = "io.prometheus.client"; +option go_package = "github.com/prometheus/client_model/go;io_prometheus_client"; + +import "google/protobuf/timestamp.proto"; + +message LabelPair { + optional string name = 1; + optional string value = 2; +} + +message Gauge { + optional double value = 1; +} + +message Counter { + optional double value = 1; + optional .io.prometheus.client.Exemplar exemplar = 2; + optional .google.protobuf.Timestamp created_timestamp = 3; +} + +message Quantile { + optional double quantile = 1; + optional double value = 2; +} + +message Summary { + optional uint64 sample_count = 1; + optional double sample_sum = 2; + repeated .io.prometheus.client.Quantile quantile = 3; + optional .google.protobuf.Timestamp created_timestamp = 4; +} + +message Untyped { + optional double value = 1; +} + +message Histogram { + optional uint64 sample_count = 1; + optional double sample_count_float = 4; + optional double sample_sum = 2; + repeated .io.prometheus.client.Bucket bucket = 3; + optional .google.protobuf.Timestamp created_timestamp = 15; + optional sint32 schema = 5; + optional double zero_threshold = 6; + optional uint64 zero_count = 7; + optional double zero_count_float = 8; + repeated .io.prometheus.client.BucketSpan negative_span = 9; + repeated sint64 negative_delta = 10; + repeated double negative_count = 11; + repeated .io.prometheus.client.BucketSpan positive_span = 12; + repeated sint64 positive_delta = 13; + repeated double positive_count = 14; + repeated .io.prometheus.client.Exemplar exemplars = 16; +} + +message Bucket { + optional uint64 cumulative_count = 1; + optional double cumulative_count_float = 4; + optional double upper_bound = 2; + optional .io.prometheus.client.Exemplar exemplar = 3; +} + +message BucketSpan { + optional sint32 offset = 1; + optional uint32 length = 2; +} + +message Exemplar { + repeated .io.prometheus.client.LabelPair label = 1; + optional double value = 2; + optional .google.protobuf.Timestamp timestamp = 3; +} + +message Metric { + repeated .io.prometheus.client.LabelPair label = 1; + optional .io.prometheus.client.Gauge gauge = 2; + optional .io.prometheus.client.Counter counter = 3; + optional .io.prometheus.client.Summary summary = 4; + optional .io.prometheus.client.Untyped untyped = 5; + optional .io.prometheus.client.Histogram histogram = 7; + optional int64 timestamp_ms = 6; +} + +message MetricFamily { + optional string name = 1; + optional string help = 2; + optional .io.prometheus.client.MetricType type = 3; + repeated .io.prometheus.client.Metric metric = 4; + optional string unit = 5; +} + +enum MetricType { + COUNTER = 0; + GAUGE = 1; + SUMMARY = 2; + UNTYPED = 3; + HISTOGRAM = 4; + GAUGE_HISTOGRAM = 5; +} + diff --git a/lsp_protos/google.golang.org/appengine/internal/base/api_base.proto b/lsp_protos/google.golang.org/appengine/internal/base/api_base.proto new file mode 100755 index 0000000..0419b3f --- /dev/null +++ b/lsp_protos/google.golang.org/appengine/internal/base/api_base.proto @@ -0,0 +1,33 @@ +syntax = "proto2"; + +package appengine.base; + +option go_package = "base"; + +message StringProto { + required string value = 1; +} + +message Integer32Proto { + required int32 value = 1; +} + +message Integer64Proto { + required int64 value = 1; +} + +message BoolProto { + required bool value = 1; +} + +message DoubleProto { + required double value = 1; +} + +message BytesProto { + required bytes value = 1; +} + +message VoidProto { +} + diff --git a/lsp_protos/google.golang.org/appengine/internal/datastore/datastore_v3.proto b/lsp_protos/google.golang.org/appengine/internal/datastore/datastore_v3.proto new file mode 100755 index 0000000..88e0308 --- /dev/null +++ b/lsp_protos/google.golang.org/appengine/internal/datastore/datastore_v3.proto @@ -0,0 +1,490 @@ +syntax = "proto2"; + +package appengine; + +option go_package = "datastore"; + +message Action { +} + +message PropertyValue { + message PointValue { + required double x = 6; + required double y = 7; + } + + message UserValue { + required string email = 9; + required string auth_domain = 10; + optional string nickname = 11; + optional string federated_identity = 21; + optional string federated_provider = 22; + } + + message ReferenceValue { + message PathElement { + required string type = 15; + optional int64 id = 16; + optional string name = 17; + } + + required string app = 13; + optional string name_space = 20; + repeated group pathelement = 14; + } + + optional int64 int64Value = 1; + optional bool booleanValue = 2; + optional string stringValue = 3; + optional double doubleValue = 4; + optional group pointvalue = 5; + optional group uservalue = 8; + optional group referencevalue = 12; +} + +message Property { + enum Meaning { + NO_MEANING = 0; + BLOB = 14; + TEXT = 15; + BYTESTRING = 16; + ATOM_CATEGORY = 1; + ATOM_LINK = 2; + ATOM_TITLE = 3; + ATOM_CONTENT = 4; + ATOM_SUMMARY = 5; + ATOM_AUTHOR = 6; + GD_WHEN = 7; + GD_EMAIL = 8; + GEORSS_POINT = 9; + GD_IM = 10; + GD_PHONENUMBER = 11; + GD_POSTALADDRESS = 12; + GD_RATING = 13; + BLOBKEY = 17; + ENTITY_PROTO = 19; + INDEX_VALUE = 18; + } + + enum FtsTokenizationOption { + HTML = 1; + ATOM = 2; + } + + optional .appengine.Property.Meaning meaning = 1 [default = NO_MEANING]; + optional string meaning_uri = 2; + required string name = 3; + required .appengine.PropertyValue value = 5; + required bool multiple = 4; + optional bool searchable = 6 [default = false]; + optional .appengine.Property.FtsTokenizationOption fts_tokenization_option = 8; + optional string locale = 9 [default = "en"]; +} + +message Path { + message Element { + required string type = 2; + optional int64 id = 3; + optional string name = 4; + } + + repeated group element = 1; +} + +message Reference { + required string app = 13; + optional string name_space = 20; + required .appengine.Path path = 14; +} + +message User { + required string email = 1; + required string auth_domain = 2; + optional string nickname = 3; + optional string federated_identity = 6; + optional string federated_provider = 7; +} + +message EntityProto { + enum Kind { + GD_CONTACT = 1; + GD_EVENT = 2; + GD_MESSAGE = 3; + } + + required .appengine.Reference key = 13; + required .appengine.Path entity_group = 16; + optional .appengine.User owner = 17; + optional .appengine.EntityProto.Kind kind = 4; + optional string kind_uri = 5; + repeated .appengine.Property property = 14; + repeated .appengine.Property raw_property = 15; + optional int32 rank = 18; +} + +message CompositeProperty { + required int64 index_id = 1; + repeated string value = 2; +} + +message Index { + message Property { + enum Direction { + ASCENDING = 1; + DESCENDING = 2; + } + + required string name = 3; + optional .appengine.Index.Property.Direction direction = 4 [default = ASCENDING]; + } + + required string entity_type = 1; + required bool ancestor = 5; + repeated group property = 2; +} + +message CompositeIndex { + enum State { + WRITE_ONLY = 1; + READ_WRITE = 2; + DELETED = 3; + ERROR = 4; + } + + required string app_id = 1; + required int64 id = 2; + required .appengine.Index definition = 3; + required .appengine.CompositeIndex.State state = 4; + optional bool only_use_if_required = 6 [default = false]; +} + +message IndexPostfix { + message IndexValue { + required string property_name = 1; + required .appengine.PropertyValue value = 2; + } + + repeated .appengine.IndexPostfix.IndexValue index_value = 1; + optional .appengine.Reference key = 2; + optional bool before = 3 [default = true]; +} + +message IndexPosition { + optional string key = 1; + optional bool before = 2 [default = true]; +} + +message Snapshot { + enum Status { + INACTIVE = 0; + ACTIVE = 1; + } + + required int64 ts = 1; +} + +message InternalHeader { + optional string qos = 1; +} + +message Transaction { + optional .appengine.InternalHeader header = 4; + required fixed64 handle = 1; + required string app = 2; + optional bool mark_changes = 3 [default = false]; +} + +message Query { + message Filter { + enum Operator { + LESS_THAN = 1; + LESS_THAN_OR_EQUAL = 2; + GREATER_THAN = 3; + GREATER_THAN_OR_EQUAL = 4; + EQUAL = 5; + IN = 6; + EXISTS = 7; + } + + required .appengine.Query.Filter.Operator op = 6; + repeated .appengine.Property property = 14; + } + + message Order { + enum Direction { + ASCENDING = 1; + DESCENDING = 2; + } + + required string property = 10; + optional .appengine.Query.Order.Direction direction = 11 [default = ASCENDING]; + } + + enum Hint { + ORDER_FIRST = 1; + ANCESTOR_FIRST = 2; + FILTER_FIRST = 3; + } + + optional .appengine.InternalHeader header = 39; + required string app = 1; + optional string name_space = 29; + optional string kind = 3; + optional .appengine.Reference ancestor = 17; + repeated group filter = 4; + optional string search_query = 8; + repeated group order = 9; + optional .appengine.Query.Hint hint = 18; + optional int32 count = 23; + optional int32 offset = 12 [default = 0]; + optional int32 limit = 16; + optional .appengine.CompiledCursor compiled_cursor = 30; + optional .appengine.CompiledCursor end_compiled_cursor = 31; + repeated .appengine.CompositeIndex composite_index = 19; + optional bool require_perfect_plan = 20 [default = false]; + optional bool keys_only = 21 [default = false]; + optional .appengine.Transaction transaction = 22; + optional bool compile = 25 [default = false]; + optional int64 failover_ms = 26; + optional bool strong = 32; + repeated string property_name = 33; + repeated string group_by_property_name = 34; + optional bool distinct = 24; + optional int64 min_safe_time_seconds = 35; + repeated string safe_replica_name = 36; + optional bool persist_offset = 37 [default = false]; +} + +message CompiledQuery { + message PrimaryScan { + optional string index_name = 2; + optional string start_key = 3; + optional bool start_inclusive = 4; + optional string end_key = 5; + optional bool end_inclusive = 6; + repeated string start_postfix_value = 22; + repeated string end_postfix_value = 23; + optional int64 end_unapplied_log_timestamp_us = 19; + } + + message MergeJoinScan { + required string index_name = 8; + repeated string prefix_value = 9; + optional bool value_prefix = 20 [default = false]; + } + + message EntityFilter { + optional bool distinct = 14 [default = false]; + optional string kind = 17; + optional .appengine.Reference ancestor = 18; + } + + required group primaryscan = 1; + repeated group mergejoinscan = 7; + optional .appengine.Index index_def = 21; + optional int32 offset = 10 [default = 0]; + optional int32 limit = 11; + required bool keys_only = 12; + repeated string property_name = 24; + optional int32 distinct_infix_size = 25; + optional group entityfilter = 13; +} + +message CompiledCursor { + message Position { + message IndexValue { + optional string property = 30; + required .appengine.PropertyValue value = 31; + } + + optional string start_key = 27; + repeated group indexvalue = 29; + optional .appengine.Reference key = 32; + optional bool start_inclusive = 28 [default = true]; + } + + optional group position = 2; +} + +message Cursor { + required fixed64 cursor = 1; + optional string app = 2; +} + +message Error { + enum ErrorCode { + BAD_REQUEST = 1; + CONCURRENT_TRANSACTION = 2; + INTERNAL_ERROR = 3; + NEED_INDEX = 4; + TIMEOUT = 5; + PERMISSION_DENIED = 6; + BIGTABLE_ERROR = 7; + COMMITTED_BUT_STILL_APPLYING = 8; + CAPABILITY_DISABLED = 9; + TRY_ALTERNATE_BACKEND = 10; + SAFE_TIME_TOO_OLD = 11; + } + +} + +message Cost { + message CommitCost { + optional int32 requested_entity_puts = 6; + optional int32 requested_entity_deletes = 7; + } + + optional int32 index_writes = 1; + optional int32 index_write_bytes = 2; + optional int32 entity_writes = 3; + optional int32 entity_write_bytes = 4; + optional group commitcost = 5; + optional int32 approximate_storage_delta = 8; + optional int32 id_sequence_updates = 9; +} + +message GetRequest { + optional .appengine.InternalHeader header = 6; + repeated .appengine.Reference key = 1; + optional .appengine.Transaction transaction = 2; + optional int64 failover_ms = 3; + optional bool strong = 4; + optional bool allow_deferred = 5 [default = false]; +} + +message GetResponse { + message Entity { + optional .appengine.EntityProto entity = 2; + optional .appengine.Reference key = 4; + optional int64 version = 3; + } + + repeated group entity = 1; + repeated .appengine.Reference deferred = 5; + optional bool in_order = 6 [default = true]; +} + +message PutRequest { + enum AutoIdPolicy { + CURRENT = 0; + SEQUENTIAL = 1; + } + + optional .appengine.InternalHeader header = 11; + repeated .appengine.EntityProto entity = 1; + optional .appengine.Transaction transaction = 2; + repeated .appengine.CompositeIndex composite_index = 3; + optional bool trusted = 4 [default = false]; + optional bool force = 7 [default = false]; + optional bool mark_changes = 8 [default = false]; + repeated .appengine.Snapshot snapshot = 9; + optional .appengine.PutRequest.AutoIdPolicy auto_id_policy = 10 [default = CURRENT]; +} + +message PutResponse { + repeated .appengine.Reference key = 1; + optional .appengine.Cost cost = 2; + repeated int64 version = 3; +} + +message TouchRequest { + optional .appengine.InternalHeader header = 10; + repeated .appengine.Reference key = 1; + repeated .appengine.CompositeIndex composite_index = 2; + optional bool force = 3 [default = false]; + repeated .appengine.Snapshot snapshot = 9; +} + +message TouchResponse { + optional .appengine.Cost cost = 1; +} + +message DeleteRequest { + optional .appengine.InternalHeader header = 10; + repeated .appengine.Reference key = 6; + optional .appengine.Transaction transaction = 5; + optional bool trusted = 4 [default = false]; + optional bool force = 7 [default = false]; + optional bool mark_changes = 8 [default = false]; + repeated .appengine.Snapshot snapshot = 9; +} + +message DeleteResponse { + optional .appengine.Cost cost = 1; + repeated int64 version = 3; +} + +message NextRequest { + optional .appengine.InternalHeader header = 5; + required .appengine.Cursor cursor = 1; + optional int32 count = 2; + optional int32 offset = 4 [default = 0]; + optional bool compile = 3 [default = false]; +} + +message QueryResult { + optional .appengine.Cursor cursor = 1; + repeated .appengine.EntityProto result = 2; + optional int32 skipped_results = 7; + required bool more_results = 3; + optional bool keys_only = 4; + optional bool index_only = 9; + optional bool small_ops = 10; + optional .appengine.CompiledQuery compiled_query = 5; + optional .appengine.CompiledCursor compiled_cursor = 6; + repeated .appengine.CompositeIndex index = 8; + repeated int64 version = 11; +} + +message AllocateIdsRequest { + optional .appengine.InternalHeader header = 4; + optional .appengine.Reference model_key = 1; + optional int64 size = 2; + optional int64 max = 3; + repeated .appengine.Reference reserve = 5; +} + +message AllocateIdsResponse { + required int64 start = 1; + required int64 end = 2; + optional .appengine.Cost cost = 3; +} + +message CompositeIndices { + repeated .appengine.CompositeIndex index = 1; +} + +message AddActionsRequest { + optional .appengine.InternalHeader header = 3; + required .appengine.Transaction transaction = 1; + repeated .appengine.Action action = 2; +} + +message AddActionsResponse { +} + +message BeginTransactionRequest { + enum TransactionMode { + UNKNOWN = 0; + READ_ONLY = 1; + READ_WRITE = 2; + } + + optional .appengine.InternalHeader header = 3; + required string app = 1; + optional bool allow_multiple_eg = 2 [default = false]; + optional string database_id = 4; + optional .appengine.BeginTransactionRequest.TransactionMode mode = 5 [default = UNKNOWN]; + optional .appengine.Transaction previous_transaction = 7; +} + +message CommitResponse { + message Version { + required .appengine.Reference root_entity_key = 4; + required int64 version = 5; + } + + optional .appengine.Cost cost = 1; + repeated group version = 3; +} + diff --git a/lsp_protos/google.golang.org/appengine/internal/log/log_service.proto b/lsp_protos/google.golang.org/appengine/internal/log/log_service.proto new file mode 100755 index 0000000..ea6f3e0 --- /dev/null +++ b/lsp_protos/google.golang.org/appengine/internal/log/log_service.proto @@ -0,0 +1,142 @@ +syntax = "proto2"; + +package appengine; + +option go_package = "log"; + +message LogServiceError { + enum ErrorCode { + OK = 0; + INVALID_REQUEST = 1; + STORAGE_ERROR = 2; + } + +} + +message UserAppLogLine { + required int64 timestamp_usec = 1; + required int64 level = 2; + required string message = 3; +} + +message UserAppLogGroup { + repeated .appengine.UserAppLogLine log_line = 2; +} + +message FlushRequest { + optional bytes logs = 1; +} + +message SetStatusRequest { + required string status = 1; +} + +message LogOffset { + optional bytes request_id = 1; +} + +message LogLine { + required int64 time = 1; + required int32 level = 2; + required string log_message = 3; +} + +message RequestLog { + required string app_id = 1; + optional string module_id = 37 [default = "default"]; + required string version_id = 2; + required bytes request_id = 3; + optional .appengine.LogOffset offset = 35; + required string ip = 4; + optional string nickname = 5; + required int64 start_time = 6; + required int64 end_time = 7; + required int64 latency = 8; + required int64 mcycles = 9; + required string method = 10; + required string resource = 11; + required string http_version = 12; + required int32 status = 13; + required int64 response_size = 14; + optional string referrer = 15; + optional string user_agent = 16; + required string url_map_entry = 17; + required string combined = 18; + optional int64 api_mcycles = 19; + optional string host = 20; + optional double cost = 21; + optional string task_queue_name = 22; + optional string task_name = 23; + optional bool was_loading_request = 24; + optional int64 pending_time = 25; + optional int32 replica_index = 26 [default = -1]; + optional bool finished = 27 [default = true]; + optional bytes clone_key = 28; + repeated .appengine.LogLine line = 29; + optional bool lines_incomplete = 36; + optional bytes app_engine_release = 38; + optional int32 exit_reason = 30; + optional bool was_throttled_for_time = 31; + optional bool was_throttled_for_requests = 32; + optional int64 throttled_time = 33; + optional bytes server_name = 34; +} + +message LogModuleVersion { + optional string module_id = 1 [default = "default"]; + optional string version_id = 2; +} + +message LogReadRequest { + required string app_id = 1; + repeated string version_id = 2; + repeated .appengine.LogModuleVersion module_version = 19; + optional int64 start_time = 3; + optional int64 end_time = 4; + optional .appengine.LogOffset offset = 5; + repeated bytes request_id = 6; + optional int32 minimum_log_level = 7; + optional bool include_incomplete = 8; + optional int64 count = 9; + optional string combined_log_regex = 14; + optional string host_regex = 15; + optional int32 replica_index = 16; + optional bool include_app_logs = 10; + optional int32 app_logs_per_request = 17; + optional bool include_host = 11; + optional bool include_all = 12; + optional bool cache_iterator = 13; + optional int32 num_shards = 18; +} + +message LogReadResponse { + repeated .appengine.RequestLog log = 1; + optional .appengine.LogOffset offset = 2; + optional int64 last_end_time = 3; +} + +message LogUsageRecord { + optional string version_id = 1; + optional int32 start_time = 2; + optional int32 end_time = 3; + optional int64 count = 4; + optional int64 total_size = 5; + optional int32 records = 6; +} + +message LogUsageRequest { + required string app_id = 1; + repeated string version_id = 2; + optional int32 start_time = 3; + optional int32 end_time = 4; + optional uint32 resolution_hours = 5 [default = 1]; + optional bool combine_versions = 6; + optional int32 usage_version = 7; + optional bool versions_only = 8; +} + +message LogUsageResponse { + repeated .appengine.LogUsageRecord usage = 1; + optional .appengine.LogUsageRecord summary = 2; +} + diff --git a/lsp_protos/google.golang.org/appengine/internal/remote_api/remote_api.proto b/lsp_protos/google.golang.org/appengine/internal/remote_api/remote_api.proto new file mode 100755 index 0000000..f6508a1 --- /dev/null +++ b/lsp_protos/google.golang.org/appengine/internal/remote_api/remote_api.proto @@ -0,0 +1,47 @@ +syntax = "proto2"; + +package remote_api; + +option go_package = "remote_api"; + +message Request { + required string service_name = 2; + required string method = 3; + required bytes request = 4; + optional string request_id = 5; +} + +message ApplicationError { + required int32 code = 1; + required string detail = 2; +} + +message RpcError { + enum ErrorCode { + UNKNOWN = 0; + CALL_NOT_FOUND = 1; + PARSE_ERROR = 2; + SECURITY_VIOLATION = 3; + OVER_QUOTA = 4; + REQUEST_TOO_LARGE = 5; + CAPABILITY_DISABLED = 6; + FEATURE_DISABLED = 7; + BAD_REQUEST = 8; + RESPONSE_TOO_LARGE = 9; + CANCELLED = 10; + REPLAY_ERROR = 11; + DEADLINE_EXCEEDED = 12; + } + + required int32 code = 1; + optional string detail = 2; +} + +message Response { + optional bytes response = 1; + optional bytes exception = 2; + optional .remote_api.ApplicationError application_error = 3; + optional bytes java_exception = 4; + optional .remote_api.RpcError rpc_error = 5; +} + diff --git a/lsp_protos/google.golang.org/appengine/internal/urlfetch/urlfetch_service.proto b/lsp_protos/google.golang.org/appengine/internal/urlfetch/urlfetch_service.proto new file mode 100755 index 0000000..9aeccde --- /dev/null +++ b/lsp_protos/google.golang.org/appengine/internal/urlfetch/urlfetch_service.proto @@ -0,0 +1,67 @@ +syntax = "proto2"; + +package appengine; + +option go_package = "urlfetch"; + +message URLFetchServiceError { + enum ErrorCode { + OK = 0; + INVALID_URL = 1; + FETCH_ERROR = 2; + UNSPECIFIED_ERROR = 3; + RESPONSE_TOO_LARGE = 4; + DEADLINE_EXCEEDED = 5; + SSL_CERTIFICATE_ERROR = 6; + DNS_ERROR = 7; + CLOSED = 8; + INTERNAL_TRANSIENT_ERROR = 9; + TOO_MANY_REDIRECTS = 10; + MALFORMED_REPLY = 11; + CONNECTION_ERROR = 12; + } + +} + +message URLFetchRequest { + message Header { + required string Key = 4; + required string Value = 5; + } + + enum RequestMethod { + GET = 1; + POST = 2; + HEAD = 3; + PUT = 4; + DELETE = 5; + PATCH = 6; + } + + required .appengine.URLFetchRequest.RequestMethod Method = 1; + required string Url = 2; + repeated group header = 3; + optional bytes Payload = 6; + optional bool FollowRedirects = 7 [default = true]; + optional double Deadline = 8; + optional bool MustValidateServerCertificate = 9 [default = true]; +} + +message URLFetchResponse { + message Header { + required string Key = 4; + required string Value = 5; + } + + optional bytes Content = 1; + required int32 StatusCode = 2; + repeated group header = 3; + optional bool ContentWasTruncated = 6 [default = false]; + optional int64 ExternalBytesSent = 7; + optional int64 ExternalBytesReceived = 8; + optional string FinalUrl = 9; + optional int64 ApiCpuMilliseconds = 10 [default = 0]; + optional int64 ApiBytesSent = 11 [default = 0]; + optional int64 ApiBytesReceived = 12 [default = 0]; +} + diff --git a/lsp_protos/google.golang.org/genproto/googleapis/api/expr/v1alpha1/checked.proto b/lsp_protos/google.golang.org/genproto/googleapis/api/expr/v1alpha1/checked.proto new file mode 100755 index 0000000..f738fd5 --- /dev/null +++ b/lsp_protos/google.golang.org/genproto/googleapis/api/expr/v1alpha1/checked.proto @@ -0,0 +1,119 @@ +syntax = "proto3"; + +package google.api.expr.v1alpha1; + +option java_package = "com.google.api.expr.v1alpha1"; +option java_outer_classname = "DeclProto"; +option java_multiple_files = true; +option go_package = "google.golang.org/genproto/googleapis/api/expr/v1alpha1;expr"; +option cc_enable_arenas = true; + +import "google/api/expr/v1alpha1/syntax.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/struct.proto"; + +message CheckedExpr { + message ReferenceMapEntry { + int64 key = 1; + .google.api.expr.v1alpha1.Reference value = 2; + } + + message TypeMapEntry { + int64 key = 1; + .google.api.expr.v1alpha1.Type value = 2; + } + + repeated .google.api.expr.v1alpha1.CheckedExpr.ReferenceMapEntry reference_map = 2; + repeated .google.api.expr.v1alpha1.CheckedExpr.TypeMapEntry type_map = 3; + .google.api.expr.v1alpha1.SourceInfo source_info = 5; + string expr_version = 6; + .google.api.expr.v1alpha1.Expr expr = 4; +} + +message Type { + message ListType { + .google.api.expr.v1alpha1.Type elem_type = 1; + } + + message MapType { + .google.api.expr.v1alpha1.Type key_type = 1; + .google.api.expr.v1alpha1.Type value_type = 2; + } + + message FunctionType { + .google.api.expr.v1alpha1.Type result_type = 1; + repeated .google.api.expr.v1alpha1.Type arg_types = 2; + } + + message AbstractType { + string name = 1; + repeated .google.api.expr.v1alpha1.Type parameter_types = 2; + } + + enum PrimitiveType { + PRIMITIVE_TYPE_UNSPECIFIED = 0; + BOOL = 1; + INT64 = 2; + UINT64 = 3; + DOUBLE = 4; + STRING = 5; + BYTES = 6; + } + + enum WellKnownType { + WELL_KNOWN_TYPE_UNSPECIFIED = 0; + ANY = 1; + TIMESTAMP = 2; + DURATION = 3; + } + + oneof type_kind { + .google.protobuf.Empty dyn = 1; + .google.protobuf.NullValue null = 2; + .google.api.expr.v1alpha1.Type.PrimitiveType primitive = 3; + .google.api.expr.v1alpha1.Type.PrimitiveType wrapper = 4; + .google.api.expr.v1alpha1.Type.WellKnownType well_known = 5; + .google.api.expr.v1alpha1.Type.ListType list_type = 6; + .google.api.expr.v1alpha1.Type.MapType map_type = 7; + .google.api.expr.v1alpha1.Type.FunctionType function = 8; + string message_type = 9; + string type_param = 10; + .google.api.expr.v1alpha1.Type type = 11; + .google.protobuf.Empty error = 12; + .google.api.expr.v1alpha1.Type.AbstractType abstract_type = 14; + } +} + +message Decl { + message IdentDecl { + .google.api.expr.v1alpha1.Type type = 1; + .google.api.expr.v1alpha1.Constant value = 2; + string doc = 3; + } + + message FunctionDecl { + message Overload { + string overload_id = 1; + repeated .google.api.expr.v1alpha1.Type params = 2; + repeated string type_params = 3; + .google.api.expr.v1alpha1.Type result_type = 4; + bool is_instance_function = 5; + string doc = 6; + } + + repeated .google.api.expr.v1alpha1.Decl.FunctionDecl.Overload overloads = 1; + } + + string name = 1; + oneof decl_kind { + .google.api.expr.v1alpha1.Decl.IdentDecl ident = 2; + .google.api.expr.v1alpha1.Decl.FunctionDecl function = 3; + } +} + +message Reference { + string name = 1; + repeated string overload_id = 3; + .google.api.expr.v1alpha1.Constant value = 4; +} + diff --git a/lsp_protos/google.golang.org/genproto/googleapis/api/expr/v1alpha1/eval.proto b/lsp_protos/google.golang.org/genproto/googleapis/api/expr/v1alpha1/eval.proto new file mode 100755 index 0000000..b5e3e1a --- /dev/null +++ b/lsp_protos/google.golang.org/genproto/googleapis/api/expr/v1alpha1/eval.proto @@ -0,0 +1,39 @@ +syntax = "proto3"; + +package google.api.expr.v1alpha1; + +option java_package = "com.google.api.expr.v1alpha1"; +option java_outer_classname = "EvalProto"; +option java_multiple_files = true; +option go_package = "google.golang.org/genproto/googleapis/api/expr/v1alpha1;expr"; +option cc_enable_arenas = true; + +import "google/api/expr/v1alpha1/value.proto"; +import "google/rpc/status.proto"; + +message EvalState { + message Result { + int64 expr = 1; + int64 value = 2; + } + + repeated .google.api.expr.v1alpha1.ExprValue values = 1; + repeated .google.api.expr.v1alpha1.EvalState.Result results = 3; +} + +message ExprValue { + oneof kind { + .google.api.expr.v1alpha1.Value value = 1; + .google.api.expr.v1alpha1.ErrorSet error = 2; + .google.api.expr.v1alpha1.UnknownSet unknown = 3; + } +} + +message ErrorSet { + repeated .google.rpc.Status errors = 1; +} + +message UnknownSet { + repeated int64 exprs = 1; +} + diff --git a/lsp_protos/google.golang.org/genproto/googleapis/api/expr/v1alpha1/explain.proto b/lsp_protos/google.golang.org/genproto/googleapis/api/expr/v1alpha1/explain.proto new file mode 100755 index 0000000..bcd8ce2 --- /dev/null +++ b/lsp_protos/google.golang.org/genproto/googleapis/api/expr/v1alpha1/explain.proto @@ -0,0 +1,22 @@ +syntax = "proto3"; + +package google.api.expr.v1alpha1; + +option java_package = "com.google.api.expr.v1alpha1"; +option java_outer_classname = "ExplainProto"; +option java_multiple_files = true; +option go_package = "google.golang.org/genproto/googleapis/api/expr/v1alpha1;expr"; +option cc_enable_arenas = true; + +import "google/api/expr/v1alpha1/value.proto"; + +message Explain { + message ExprStep { + int64 id = 1; + int32 value_index = 2; + } + + repeated .google.api.expr.v1alpha1.Value values = 1; + repeated .google.api.expr.v1alpha1.Explain.ExprStep expr_steps = 2; +} + diff --git a/lsp_protos/google.golang.org/genproto/googleapis/api/expr/v1alpha1/syntax.proto b/lsp_protos/google.golang.org/genproto/googleapis/api/expr/v1alpha1/syntax.proto new file mode 100755 index 0000000..f58f8c3 --- /dev/null +++ b/lsp_protos/google.golang.org/genproto/googleapis/api/expr/v1alpha1/syntax.proto @@ -0,0 +1,137 @@ +syntax = "proto3"; + +package google.api.expr.v1alpha1; + +option java_package = "com.google.api.expr.v1alpha1"; +option java_outer_classname = "SyntaxProto"; +option java_multiple_files = true; +option go_package = "google.golang.org/genproto/googleapis/api/expr/v1alpha1;expr"; +option cc_enable_arenas = true; + +import "google/protobuf/duration.proto"; +import "google/protobuf/struct.proto"; +import "google/protobuf/timestamp.proto"; + +message ParsedExpr { + .google.api.expr.v1alpha1.Expr expr = 2; + .google.api.expr.v1alpha1.SourceInfo source_info = 3; +} + +message Expr { + message Ident { + string name = 1; + } + + message Select { + .google.api.expr.v1alpha1.Expr operand = 1; + string field = 2; + bool test_only = 3; + } + + message Call { + .google.api.expr.v1alpha1.Expr target = 1; + string function = 2; + repeated .google.api.expr.v1alpha1.Expr args = 3; + } + + message CreateList { + repeated .google.api.expr.v1alpha1.Expr elements = 1; + repeated int32 optional_indices = 2; + } + + message CreateStruct { + message Entry { + int64 id = 1; + .google.api.expr.v1alpha1.Expr value = 4; + bool optional_entry = 5; + oneof key_kind { + string field_key = 2; + .google.api.expr.v1alpha1.Expr map_key = 3; + } + } + + string message_name = 1; + repeated .google.api.expr.v1alpha1.Expr.CreateStruct.Entry entries = 2; + } + + message Comprehension { + string iter_var = 1; + string iter_var2 = 8; + .google.api.expr.v1alpha1.Expr iter_range = 2; + string accu_var = 3; + .google.api.expr.v1alpha1.Expr accu_init = 4; + .google.api.expr.v1alpha1.Expr loop_condition = 5; + .google.api.expr.v1alpha1.Expr loop_step = 6; + .google.api.expr.v1alpha1.Expr result = 7; + } + + int64 id = 2; + oneof expr_kind { + .google.api.expr.v1alpha1.Constant const_expr = 3; + .google.api.expr.v1alpha1.Expr.Ident ident_expr = 4; + .google.api.expr.v1alpha1.Expr.Select select_expr = 5; + .google.api.expr.v1alpha1.Expr.Call call_expr = 6; + .google.api.expr.v1alpha1.Expr.CreateList list_expr = 7; + .google.api.expr.v1alpha1.Expr.CreateStruct struct_expr = 8; + .google.api.expr.v1alpha1.Expr.Comprehension comprehension_expr = 9; + } +} + +message Constant { + oneof constant_kind { + .google.protobuf.NullValue null_value = 1; + bool bool_value = 2; + int64 int64_value = 3; + uint64 uint64_value = 4; + double double_value = 5; + string string_value = 6; + bytes bytes_value = 7; + .google.protobuf.Duration duration_value = 8; + .google.protobuf.Timestamp timestamp_value = 9; + } +} + +message SourceInfo { + message Extension { + message Version { + int64 major = 1; + int64 minor = 2; + } + + enum Component { + COMPONENT_UNSPECIFIED = 0; + COMPONENT_PARSER = 1; + COMPONENT_TYPE_CHECKER = 2; + COMPONENT_RUNTIME = 3; + } + + string id = 1; + repeated .google.api.expr.v1alpha1.SourceInfo.Extension.Component affected_components = 2; + .google.api.expr.v1alpha1.SourceInfo.Extension.Version version = 3; + } + + message PositionsEntry { + int64 key = 1; + int32 value = 2; + } + + message MacroCallsEntry { + int64 key = 1; + .google.api.expr.v1alpha1.Expr value = 2; + } + + string syntax_version = 1; + string location = 2; + repeated int32 line_offsets = 3; + repeated .google.api.expr.v1alpha1.SourceInfo.PositionsEntry positions = 4; + repeated .google.api.expr.v1alpha1.SourceInfo.MacroCallsEntry macro_calls = 5; + repeated .google.api.expr.v1alpha1.SourceInfo.Extension extensions = 6; +} + +message SourcePosition { + string location = 1; + int32 offset = 2; + int32 line = 3; + int32 column = 4; +} + diff --git a/lsp_protos/google.golang.org/genproto/googleapis/api/expr/v1alpha1/value.proto b/lsp_protos/google.golang.org/genproto/googleapis/api/expr/v1alpha1/value.proto new file mode 100755 index 0000000..75b73d8 --- /dev/null +++ b/lsp_protos/google.golang.org/genproto/googleapis/api/expr/v1alpha1/value.proto @@ -0,0 +1,48 @@ +syntax = "proto3"; + +package google.api.expr.v1alpha1; + +option java_package = "com.google.api.expr.v1alpha1"; +option java_outer_classname = "ValueProto"; +option java_multiple_files = true; +option go_package = "google.golang.org/genproto/googleapis/api/expr/v1alpha1;expr"; +option cc_enable_arenas = true; + +import "google/protobuf/any.proto"; +import "google/protobuf/struct.proto"; + +message Value { + oneof kind { + .google.protobuf.NullValue null_value = 1; + bool bool_value = 2; + int64 int64_value = 3; + uint64 uint64_value = 4; + double double_value = 5; + string string_value = 6; + bytes bytes_value = 7; + .google.api.expr.v1alpha1.EnumValue enum_value = 9; + .google.protobuf.Any object_value = 10; + .google.api.expr.v1alpha1.MapValue map_value = 11; + .google.api.expr.v1alpha1.ListValue list_value = 12; + string type_value = 15; + } +} + +message EnumValue { + string type = 1; + int32 value = 2; +} + +message ListValue { + repeated .google.api.expr.v1alpha1.Value values = 1; +} + +message MapValue { + message Entry { + .google.api.expr.v1alpha1.Value key = 1; + .google.api.expr.v1alpha1.Value value = 2; + } + + repeated .google.api.expr.v1alpha1.MapValue.Entry entries = 1; +} + diff --git a/lsp_protos/google.golang.org/genproto/googleapis/rpc/status/status.proto b/lsp_protos/google.golang.org/genproto/googleapis/rpc/status/status.proto new file mode 100755 index 0000000..b17b08b --- /dev/null +++ b/lsp_protos/google.golang.org/genproto/googleapis/rpc/status/status.proto @@ -0,0 +1,19 @@ +syntax = "proto3"; + +package google.rpc; + +option java_package = "com.google.rpc"; +option java_outer_classname = "StatusProto"; +option java_multiple_files = true; +option go_package = "google.golang.org/genproto/googleapis/rpc/status;status"; +option cc_enable_arenas = true; +option objc_class_prefix = "RPC"; + +import "google/protobuf/any.proto"; + +message Status { + int32 code = 1; + string message = 2; + repeated .google.protobuf.Any details = 3; +} + diff --git a/lsp_protos/google/protobuf/any.proto b/lsp_protos/google/protobuf/any.proto new file mode 100755 index 0000000..1997c7e --- /dev/null +++ b/lsp_protos/google/protobuf/any.proto @@ -0,0 +1,16 @@ +syntax = "proto3"; + +package google.protobuf; + +option java_package = "com.google.protobuf"; +option java_outer_classname = "AnyProto"; +option java_multiple_files = true; +option go_package = "google.golang.org/protobuf/types/known/anypb"; +option objc_class_prefix = "GPB"; +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; + +message Any { + string type_url = 1; + bytes value = 2; +} + diff --git a/lsp_protos/google/protobuf/cpp_features.proto b/lsp_protos/google/protobuf/cpp_features.proto new file mode 100755 index 0000000..b2d3576 --- /dev/null +++ b/lsp_protos/google/protobuf/cpp_features.proto @@ -0,0 +1,19 @@ +syntax = "proto2"; + +package pb; + +import "google/protobuf/descriptor.proto"; + +message CppFeatures { + enum StringType { + STRING_TYPE_UNKNOWN = 0; + VIEW = 1; + CORD = 2; + STRING = 3; + } + + optional bool legacy_closed_enum = 1; + optional .pb.CppFeatures.StringType string_type = 2; + optional bool enum_name_uses_string_view = 3; +} + diff --git a/lsp_protos/google/protobuf/descriptor.proto b/lsp_protos/google/protobuf/descriptor.proto new file mode 100755 index 0000000..f051bf8 --- /dev/null +++ b/lsp_protos/google/protobuf/descriptor.proto @@ -0,0 +1,429 @@ +syntax = "proto2"; + +package google.protobuf; + +option java_package = "com.google.protobuf"; +option java_outer_classname = "DescriptorProtos"; +option go_package = "google.golang.org/protobuf/types/descriptorpb"; +option cc_enable_arenas = true; +option objc_class_prefix = "GPB"; +option csharp_namespace = "Google.Protobuf.Reflection"; + +message FileDescriptorSet { + repeated .google.protobuf.FileDescriptorProto file = 1; +} + +message FileDescriptorProto { + optional string name = 1; + optional string package = 2; + repeated string dependency = 3; + repeated int32 public_dependency = 10; + repeated int32 weak_dependency = 11; + repeated .google.protobuf.DescriptorProto message_type = 4; + repeated .google.protobuf.EnumDescriptorProto enum_type = 5; + repeated .google.protobuf.ServiceDescriptorProto service = 6; + repeated .google.protobuf.FieldDescriptorProto extension = 7; + optional .google.protobuf.FileOptions options = 8; + optional .google.protobuf.SourceCodeInfo source_code_info = 9; + optional string syntax = 12; + optional .google.protobuf.Edition edition = 14; +} + +message DescriptorProto { + message ExtensionRange { + optional int32 start = 1; + optional int32 end = 2; + optional .google.protobuf.ExtensionRangeOptions options = 3; + } + + message ReservedRange { + optional int32 start = 1; + optional int32 end = 2; + } + + optional string name = 1; + repeated .google.protobuf.FieldDescriptorProto field = 2; + repeated .google.protobuf.FieldDescriptorProto extension = 6; + repeated .google.protobuf.DescriptorProto nested_type = 3; + repeated .google.protobuf.EnumDescriptorProto enum_type = 4; + repeated .google.protobuf.DescriptorProto.ExtensionRange extension_range = 5; + repeated .google.protobuf.OneofDescriptorProto oneof_decl = 8; + optional .google.protobuf.MessageOptions options = 7; + repeated .google.protobuf.DescriptorProto.ReservedRange reserved_range = 9; + repeated string reserved_name = 10; +} + +message ExtensionRangeOptions { + message Declaration { + reserved 4; + optional int32 number = 1; + optional string full_name = 2; + optional string type = 3; + optional bool reserved = 5; + optional bool repeated = 6; + } + + enum VerificationState { + DECLARATION = 0; + UNVERIFIED = 1; + } + + repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999; + repeated .google.protobuf.ExtensionRangeOptions.Declaration declaration = 2; + optional .google.protobuf.FeatureSet features = 50; + optional .google.protobuf.ExtensionRangeOptions.VerificationState verification = 3 [default = UNVERIFIED]; +} + +message FieldDescriptorProto { + enum Type { + TYPE_DOUBLE = 1; + TYPE_FLOAT = 2; + TYPE_INT64 = 3; + TYPE_UINT64 = 4; + TYPE_INT32 = 5; + TYPE_FIXED64 = 6; + TYPE_FIXED32 = 7; + TYPE_BOOL = 8; + TYPE_STRING = 9; + TYPE_GROUP = 10; + TYPE_MESSAGE = 11; + TYPE_BYTES = 12; + TYPE_UINT32 = 13; + TYPE_ENUM = 14; + TYPE_SFIXED32 = 15; + TYPE_SFIXED64 = 16; + TYPE_SINT32 = 17; + TYPE_SINT64 = 18; + } + + enum Label { + LABEL_OPTIONAL = 1; + LABEL_REPEATED = 3; + LABEL_REQUIRED = 2; + } + + optional string name = 1; + optional int32 number = 3; + optional .google.protobuf.FieldDescriptorProto.Label label = 4; + optional .google.protobuf.FieldDescriptorProto.Type type = 5; + optional string type_name = 6; + optional string extendee = 2; + optional string default_value = 7; + optional int32 oneof_index = 9; + optional string json_name = 10; + optional .google.protobuf.FieldOptions options = 8; + optional bool proto3_optional = 17; +} + +message OneofDescriptorProto { + optional string name = 1; + optional .google.protobuf.OneofOptions options = 2; +} + +message EnumDescriptorProto { + message EnumReservedRange { + optional int32 start = 1; + optional int32 end = 2; + } + + optional string name = 1; + repeated .google.protobuf.EnumValueDescriptorProto value = 2; + optional .google.protobuf.EnumOptions options = 3; + repeated .google.protobuf.EnumDescriptorProto.EnumReservedRange reserved_range = 4; + repeated string reserved_name = 5; +} + +message EnumValueDescriptorProto { + optional string name = 1; + optional int32 number = 2; + optional .google.protobuf.EnumValueOptions options = 3; +} + +message ServiceDescriptorProto { + optional string name = 1; + repeated .google.protobuf.MethodDescriptorProto method = 2; + optional .google.protobuf.ServiceOptions options = 3; +} + +message MethodDescriptorProto { + optional string name = 1; + optional string input_type = 2; + optional string output_type = 3; + optional .google.protobuf.MethodOptions options = 4; + optional bool client_streaming = 5 [default = false]; + optional bool server_streaming = 6 [default = false]; +} + +message FileOptions { + reserved "php_generic_services"; + reserved 42; + reserved 38; + enum OptimizeMode { + SPEED = 1; + CODE_SIZE = 2; + LITE_RUNTIME = 3; + } + + optional string java_package = 1; + optional string java_outer_classname = 8; + optional bool java_multiple_files = 10 [default = false]; + optional bool java_generate_equals_and_hash = 20; + optional bool java_string_check_utf8 = 27 [default = false]; + optional .google.protobuf.FileOptions.OptimizeMode optimize_for = 9 [default = SPEED]; + optional string go_package = 11; + optional bool cc_generic_services = 16 [default = false]; + optional bool java_generic_services = 17 [default = false]; + optional bool py_generic_services = 18 [default = false]; + optional bool deprecated = 23 [default = false]; + optional bool cc_enable_arenas = 31 [default = true]; + optional string objc_class_prefix = 36; + optional string csharp_namespace = 37; + optional string swift_prefix = 39; + optional string php_class_prefix = 40; + optional string php_namespace = 41; + optional string php_metadata_namespace = 44; + optional string ruby_package = 45; + optional .google.protobuf.FeatureSet features = 50; + repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999; +} + +message MessageOptions { + reserved 4; + reserved 5; + reserved 6; + reserved 8; + reserved 9; + optional bool message_set_wire_format = 1 [default = false]; + optional bool no_standard_descriptor_accessor = 2 [default = false]; + optional bool deprecated = 3 [default = false]; + optional bool map_entry = 7; + optional bool deprecated_legacy_json_field_conflicts = 11; + optional .google.protobuf.FeatureSet features = 12; + repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999; +} + +message FieldOptions { + reserved 4; + reserved 18; + message EditionDefault { + optional .google.protobuf.Edition edition = 3; + optional string value = 2; + } + + message FeatureSupport { + optional .google.protobuf.Edition edition_introduced = 1; + optional .google.protobuf.Edition edition_deprecated = 2; + optional string deprecation_warning = 3; + optional .google.protobuf.Edition edition_removed = 4; + } + + enum CType { + STRING = 0; + CORD = 1; + STRING_PIECE = 2; + } + + enum JSType { + JS_NORMAL = 0; + JS_STRING = 1; + JS_NUMBER = 2; + } + + enum OptionRetention { + RETENTION_UNKNOWN = 0; + RETENTION_RUNTIME = 1; + RETENTION_SOURCE = 2; + } + + enum OptionTargetType { + TARGET_TYPE_UNKNOWN = 0; + TARGET_TYPE_FILE = 1; + TARGET_TYPE_EXTENSION_RANGE = 2; + TARGET_TYPE_MESSAGE = 3; + TARGET_TYPE_FIELD = 4; + TARGET_TYPE_ONEOF = 5; + TARGET_TYPE_ENUM = 6; + TARGET_TYPE_ENUM_ENTRY = 7; + TARGET_TYPE_SERVICE = 8; + TARGET_TYPE_METHOD = 9; + } + + optional .google.protobuf.FieldOptions.CType ctype = 1 [default = STRING]; + optional bool packed = 2; + optional .google.protobuf.FieldOptions.JSType jstype = 6 [default = JS_NORMAL]; + optional bool lazy = 5 [default = false]; + optional bool unverified_lazy = 15 [default = false]; + optional bool deprecated = 3 [default = false]; + optional bool weak = 10 [default = false]; + optional bool debug_redact = 16 [default = false]; + optional .google.protobuf.FieldOptions.OptionRetention retention = 17; + repeated .google.protobuf.FieldOptions.OptionTargetType targets = 19; + repeated .google.protobuf.FieldOptions.EditionDefault edition_defaults = 20; + optional .google.protobuf.FeatureSet features = 21; + optional .google.protobuf.FieldOptions.FeatureSupport feature_support = 22; + repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999; +} + +message OneofOptions { + optional .google.protobuf.FeatureSet features = 1; + repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999; +} + +message EnumOptions { + reserved 5; + optional bool allow_alias = 2; + optional bool deprecated = 3 [default = false]; + optional bool deprecated_legacy_json_field_conflicts = 6; + optional .google.protobuf.FeatureSet features = 7; + repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999; +} + +message EnumValueOptions { + optional bool deprecated = 1 [default = false]; + optional .google.protobuf.FeatureSet features = 2; + optional bool debug_redact = 3 [default = false]; + optional .google.protobuf.FieldOptions.FeatureSupport feature_support = 4; + repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999; +} + +message ServiceOptions { + optional .google.protobuf.FeatureSet features = 34; + optional bool deprecated = 33 [default = false]; + repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999; +} + +message MethodOptions { + enum IdempotencyLevel { + IDEMPOTENCY_UNKNOWN = 0; + NO_SIDE_EFFECTS = 1; + IDEMPOTENT = 2; + } + + optional bool deprecated = 33 [default = false]; + optional .google.protobuf.MethodOptions.IdempotencyLevel idempotency_level = 34 [default = IDEMPOTENCY_UNKNOWN]; + optional .google.protobuf.FeatureSet features = 35; + repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999; +} + +message UninterpretedOption { + message NamePart { + required string name_part = 1; + required bool is_extension = 2; + } + + repeated .google.protobuf.UninterpretedOption.NamePart name = 2; + optional string identifier_value = 3; + optional uint64 positive_int_value = 4; + optional int64 negative_int_value = 5; + optional double double_value = 6; + optional bytes string_value = 7; + optional string aggregate_value = 8; +} + +message FeatureSet { + reserved 999; + enum FieldPresence { + FIELD_PRESENCE_UNKNOWN = 0; + EXPLICIT = 1; + IMPLICIT = 2; + LEGACY_REQUIRED = 3; + } + + enum EnumType { + ENUM_TYPE_UNKNOWN = 0; + OPEN = 1; + CLOSED = 2; + } + + enum RepeatedFieldEncoding { + REPEATED_FIELD_ENCODING_UNKNOWN = 0; + PACKED = 1; + EXPANDED = 2; + } + + enum Utf8Validation { + UTF8_VALIDATION_UNKNOWN = 0; + VERIFY = 2; + NONE = 3; + } + + enum MessageEncoding { + MESSAGE_ENCODING_UNKNOWN = 0; + LENGTH_PREFIXED = 1; + DELIMITED = 2; + } + + enum JsonFormat { + JSON_FORMAT_UNKNOWN = 0; + ALLOW = 1; + LEGACY_BEST_EFFORT = 2; + } + + optional .google.protobuf.FeatureSet.FieldPresence field_presence = 1; + optional .google.protobuf.FeatureSet.EnumType enum_type = 2; + optional .google.protobuf.FeatureSet.RepeatedFieldEncoding repeated_field_encoding = 3; + optional .google.protobuf.FeatureSet.Utf8Validation utf8_validation = 4; + optional .google.protobuf.FeatureSet.MessageEncoding message_encoding = 5; + optional .google.protobuf.FeatureSet.JsonFormat json_format = 6; +} + +message FeatureSetDefaults { + message FeatureSetEditionDefault { + reserved "features"; + reserved 1; + reserved 2; + optional .google.protobuf.Edition edition = 3; + optional .google.protobuf.FeatureSet overridable_features = 4; + optional .google.protobuf.FeatureSet fixed_features = 5; + } + + repeated .google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault defaults = 1; + optional .google.protobuf.Edition minimum_edition = 4; + optional .google.protobuf.Edition maximum_edition = 5; +} + +message SourceCodeInfo { + message Location { + repeated int32 path = 1; + repeated int32 span = 2; + optional string leading_comments = 3; + optional string trailing_comments = 4; + repeated string leading_detached_comments = 6; + } + + repeated .google.protobuf.SourceCodeInfo.Location location = 1; +} + +message GeneratedCodeInfo { + message Annotation { + enum Semantic { + NONE = 0; + SET = 1; + ALIAS = 2; + } + + repeated int32 path = 1; + optional string source_file = 2; + optional int32 begin = 3; + optional int32 end = 4; + optional .google.protobuf.GeneratedCodeInfo.Annotation.Semantic semantic = 5; + } + + repeated .google.protobuf.GeneratedCodeInfo.Annotation annotation = 1; +} + +enum Edition { + EDITION_UNKNOWN = 0; + EDITION_LEGACY = 900; + EDITION_PROTO2 = 998; + EDITION_PROTO3 = 999; + EDITION_2023 = 1000; + EDITION_2024 = 1001; + EDITION_1_TEST_ONLY = 1; + EDITION_2_TEST_ONLY = 2; + EDITION_99997_TEST_ONLY = 99997; + EDITION_99998_TEST_ONLY = 99998; + EDITION_99999_TEST_ONLY = 99999; + EDITION_MAX = 2147483647; +} + diff --git a/lsp_protos/google/protobuf/duration.proto b/lsp_protos/google/protobuf/duration.proto new file mode 100755 index 0000000..f548c99 --- /dev/null +++ b/lsp_protos/google/protobuf/duration.proto @@ -0,0 +1,17 @@ +syntax = "proto3"; + +package google.protobuf; + +option java_package = "com.google.protobuf"; +option java_outer_classname = "DurationProto"; +option java_multiple_files = true; +option go_package = "google.golang.org/protobuf/types/known/durationpb"; +option cc_enable_arenas = true; +option objc_class_prefix = "GPB"; +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; + +message Duration { + int64 seconds = 1; + int32 nanos = 2; +} + diff --git a/lsp_protos/google/protobuf/empty.proto b/lsp_protos/google/protobuf/empty.proto new file mode 100755 index 0000000..95eef78 --- /dev/null +++ b/lsp_protos/google/protobuf/empty.proto @@ -0,0 +1,15 @@ +syntax = "proto3"; + +package google.protobuf; + +option java_package = "com.google.protobuf"; +option java_outer_classname = "EmptyProto"; +option java_multiple_files = true; +option go_package = "google.golang.org/protobuf/types/known/emptypb"; +option cc_enable_arenas = true; +option objc_class_prefix = "GPB"; +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; + +message Empty { +} + diff --git a/lsp_protos/google/protobuf/go_features.proto b/lsp_protos/google/protobuf/go_features.proto new file mode 100755 index 0000000..9c83226 --- /dev/null +++ b/lsp_protos/google/protobuf/go_features.proto @@ -0,0 +1,28 @@ +syntax = "proto2"; + +package pb; + +option go_package = "google.golang.org/protobuf/types/gofeaturespb"; + +import "google/protobuf/descriptor.proto"; + +message GoFeatures { + enum APILevel { + API_LEVEL_UNSPECIFIED = 0; + API_OPEN = 1; + API_HYBRID = 2; + API_OPAQUE = 3; + } + + enum StripEnumPrefix { + STRIP_ENUM_PREFIX_UNSPECIFIED = 0; + STRIP_ENUM_PREFIX_KEEP = 1; + STRIP_ENUM_PREFIX_GENERATE_BOTH = 2; + STRIP_ENUM_PREFIX_STRIP = 3; + } + + optional bool legacy_unmarshal_json_enum = 1; + optional .pb.GoFeatures.APILevel api_level = 2; + optional .pb.GoFeatures.StripEnumPrefix strip_enum_prefix = 3; +} + diff --git a/lsp_protos/google/protobuf/struct.proto b/lsp_protos/google/protobuf/struct.proto new file mode 100755 index 0000000..90c67f3 --- /dev/null +++ b/lsp_protos/google/protobuf/struct.proto @@ -0,0 +1,40 @@ +syntax = "proto3"; + +package google.protobuf; + +option java_package = "com.google.protobuf"; +option java_outer_classname = "StructProto"; +option java_multiple_files = true; +option go_package = "google.golang.org/protobuf/types/known/structpb"; +option cc_enable_arenas = true; +option objc_class_prefix = "GPB"; +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; + +message Struct { + message FieldsEntry { + string key = 1; + .google.protobuf.Value value = 2; + } + + repeated .google.protobuf.Struct.FieldsEntry fields = 1; +} + +message Value { + oneof kind { + .google.protobuf.NullValue null_value = 1; + double number_value = 2; + string string_value = 3; + bool bool_value = 4; + .google.protobuf.Struct struct_value = 5; + .google.protobuf.ListValue list_value = 6; + } +} + +message ListValue { + repeated .google.protobuf.Value values = 1; +} + +enum NullValue { + NULL_VALUE = 0; +} + diff --git a/lsp_protos/google/protobuf/timestamp.proto b/lsp_protos/google/protobuf/timestamp.proto new file mode 100755 index 0000000..0f09bba --- /dev/null +++ b/lsp_protos/google/protobuf/timestamp.proto @@ -0,0 +1,17 @@ +syntax = "proto3"; + +package google.protobuf; + +option java_package = "com.google.protobuf"; +option java_outer_classname = "TimestampProto"; +option java_multiple_files = true; +option go_package = "google.golang.org/protobuf/types/known/timestamppb"; +option cc_enable_arenas = true; +option objc_class_prefix = "GPB"; +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; + +message Timestamp { + int64 seconds = 1; + int32 nanos = 2; +} + diff --git a/lsp_protos/google/protobuf/wrappers.proto b/lsp_protos/google/protobuf/wrappers.proto new file mode 100755 index 0000000..b4693d0 --- /dev/null +++ b/lsp_protos/google/protobuf/wrappers.proto @@ -0,0 +1,48 @@ +syntax = "proto3"; + +package google.protobuf; + +option java_package = "com.google.protobuf"; +option java_outer_classname = "WrappersProto"; +option java_multiple_files = true; +option go_package = "google.golang.org/protobuf/types/known/wrapperspb"; +option cc_enable_arenas = true; +option objc_class_prefix = "GPB"; +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; + +message DoubleValue { + double value = 1; +} + +message FloatValue { + float value = 1; +} + +message Int64Value { + int64 value = 1; +} + +message UInt64Value { + uint64 value = 1; +} + +message Int32Value { + int32 value = 1; +} + +message UInt32Value { + uint32 value = 1; +} + +message BoolValue { + bool value = 1; +} + +message StringValue { + string value = 1; +} + +message BytesValue { + bytes value = 1; +} + diff --git a/lsp_protos/grpc/binlog/v1/binarylog.proto b/lsp_protos/grpc/binlog/v1/binarylog.proto new file mode 100755 index 0000000..1b1495d --- /dev/null +++ b/lsp_protos/grpc/binlog/v1/binarylog.proto @@ -0,0 +1,90 @@ +syntax = "proto3"; + +package grpc.binarylog.v1; + +option java_package = "io.grpc.binarylog.v1"; +option java_outer_classname = "BinaryLogProto"; +option java_multiple_files = true; +option go_package = "google.golang.org/grpc/binarylog/grpc_binarylog_v1"; + +import "google/protobuf/duration.proto"; +import "google/protobuf/timestamp.proto"; + +message GrpcLogEntry { + enum EventType { + EVENT_TYPE_UNKNOWN = 0; + EVENT_TYPE_CLIENT_HEADER = 1; + EVENT_TYPE_SERVER_HEADER = 2; + EVENT_TYPE_CLIENT_MESSAGE = 3; + EVENT_TYPE_SERVER_MESSAGE = 4; + EVENT_TYPE_CLIENT_HALF_CLOSE = 5; + EVENT_TYPE_SERVER_TRAILER = 6; + EVENT_TYPE_CANCEL = 7; + } + + enum Logger { + LOGGER_UNKNOWN = 0; + LOGGER_CLIENT = 1; + LOGGER_SERVER = 2; + } + + .google.protobuf.Timestamp timestamp = 1; + uint64 call_id = 2; + uint64 sequence_id_within_call = 3; + .grpc.binarylog.v1.GrpcLogEntry.EventType type = 4; + .grpc.binarylog.v1.GrpcLogEntry.Logger logger = 5; + bool payload_truncated = 10; + .grpc.binarylog.v1.Address peer = 11; + oneof payload { + .grpc.binarylog.v1.ClientHeader client_header = 6; + .grpc.binarylog.v1.ServerHeader server_header = 7; + .grpc.binarylog.v1.Message message = 8; + .grpc.binarylog.v1.Trailer trailer = 9; + } +} + +message ClientHeader { + .grpc.binarylog.v1.Metadata metadata = 1; + string method_name = 2; + string authority = 3; + .google.protobuf.Duration timeout = 4; +} + +message ServerHeader { + .grpc.binarylog.v1.Metadata metadata = 1; +} + +message Trailer { + .grpc.binarylog.v1.Metadata metadata = 1; + uint32 status_code = 2; + string status_message = 3; + bytes status_details = 4; +} + +message Message { + uint32 length = 1; + bytes data = 2; +} + +message Metadata { + repeated .grpc.binarylog.v1.MetadataEntry entry = 1; +} + +message MetadataEntry { + string key = 1; + bytes value = 2; +} + +message Address { + enum Type { + TYPE_UNKNOWN = 0; + TYPE_IPV4 = 1; + TYPE_IPV6 = 2; + TYPE_UNIX = 3; + } + + .grpc.binarylog.v1.Address.Type type = 1; + string address = 2; + uint32 ip_port = 3; +} +