var I = Object.defineProperty;
var m = (A, E) => I(A, "name", { value: E, configurable: !0 });
import { proto3 as o } from "../../../../../../../../../@bufbuild_protobuf@1.10.0/node_modules/@bufbuild/protobuf/dist/esm/proto3.js";
import { Message as G } from "../../../../../../../../../@bufbuild_protobuf@1.10.0/node_modules/@bufbuild/protobuf/dist/esm/message.js";
import { protoInt64 as T } from "../../../../../../../../../@bufbuild_protobuf@1.10.0/node_modules/@bufbuild/protobuf/dist/esm/proto-int64.js";
var _;
(function(A) {
  A[A.UNSPECIFIED = 0] = "UNSPECIFIED", A[A.JUPYTER_FORMAT = 77] = "JUPYTER_FORMAT";
})(_ || (_ = {}));
o.util.setEnumType(_, "exa.codeium_common_pb.ExperimentKey", [
  { no: 0, name: "UNSPECIFIED" },
  { no: 77, name: "JUPYTER_FORMAT" }
]);
var e;
(function(A) {
  A[A.CODEIUM = 0] = "CODEIUM";
})(e || (e = {}));
o.util.setEnumType(e, "exa.codeium_common_pb.AuthSource", [
  { no: 0, name: "AUTH_SOURCE_CODEIUM" }
]);
var S;
(function(A) {
  A[A.UNSPECIFIED = 0] = "UNSPECIFIED", A[A.ENABLE_CODEIUM = 1] = "ENABLE_CODEIUM", A[A.DISABLE_CODEIUM = 2] = "DISABLE_CODEIUM", A[A.SHOW_PREVIOUS_COMPLETION = 3] = "SHOW_PREVIOUS_COMPLETION", A[A.SHOW_NEXT_COMPLETION = 4] = "SHOW_NEXT_COMPLETION";
})(S || (S = {}));
o.util.setEnumType(S, "exa.codeium_common_pb.EventType", [
  { no: 0, name: "EVENT_TYPE_UNSPECIFIED" },
  { no: 1, name: "EVENT_TYPE_ENABLE_CODEIUM" },
  { no: 2, name: "EVENT_TYPE_DISABLE_CODEIUM" },
  { no: 3, name: "EVENT_TYPE_SHOW_PREVIOUS_COMPLETION" },
  { no: 4, name: "EVENT_TYPE_SHOW_NEXT_COMPLETION" }
]);
var N;
(function(A) {
  A[A.UNSPECIFIED = 0] = "UNSPECIFIED", A[A.TYPING_AS_SUGGESTED = 1] = "TYPING_AS_SUGGESTED", A[A.CACHE = 2] = "CACHE", A[A.NETWORK = 3] = "NETWORK";
})(N || (N = {}));
o.util.setEnumType(N, "exa.codeium_common_pb.CompletionSource", [
  { no: 0, name: "COMPLETION_SOURCE_UNSPECIFIED" },
  { no: 1, name: "COMPLETION_SOURCE_TYPING_AS_SUGGESTED" },
  { no: 2, name: "COMPLETION_SOURCE_CACHE" },
  { no: 3, name: "COMPLETION_SOURCE_NETWORK" }
]);
var U;
(function(A) {
  A[A.UNSPECIFIED = 0] = "UNSPECIFIED", A[A.C = 1] = "C", A[A.CLOJURE = 2] = "CLOJURE", A[A.COFFEESCRIPT = 3] = "COFFEESCRIPT", A[A.CPP = 4] = "CPP", A[A.CSHARP = 5] = "CSHARP", A[A.CSS = 6] = "CSS", A[A.CUDACPP = 7] = "CUDACPP", A[A.DOCKERFILE = 8] = "DOCKERFILE", A[A.GO = 9] = "GO", A[A.GROOVY = 10] = "GROOVY", A[A.HANDLEBARS = 11] = "HANDLEBARS", A[A.HASKELL = 12] = "HASKELL", A[A.HCL = 13] = "HCL", A[A.HTML = 14] = "HTML", A[A.INI = 15] = "INI", A[A.JAVA = 16] = "JAVA", A[A.JAVASCRIPT = 17] = "JAVASCRIPT", A[A.JSON = 18] = "JSON", A[A.JULIA = 19] = "JULIA", A[A.KOTLIN = 20] = "KOTLIN", A[A.LATEX = 21] = "LATEX", A[A.LESS = 22] = "LESS", A[A.LUA = 23] = "LUA", A[A.MAKEFILE = 24] = "MAKEFILE", A[A.MARKDOWN = 25] = "MARKDOWN", A[A.OBJECTIVEC = 26] = "OBJECTIVEC", A[A.OBJECTIVECPP = 27] = "OBJECTIVECPP", A[A.PERL = 28] = "PERL", A[A.PHP = 29] = "PHP", A[A.PLAINTEXT = 30] = "PLAINTEXT", A[A.PROTOBUF = 31] = "PROTOBUF", A[A.PBTXT = 32] = "PBTXT", A[A.PYTHON = 33] = "PYTHON", A[A.R = 34] = "R", A[A.RUBY = 35] = "RUBY", A[A.RUST = 36] = "RUST", A[A.SASS = 37] = "SASS", A[A.SCALA = 38] = "SCALA", A[A.SCSS = 39] = "SCSS", A[A.SHELL = 40] = "SHELL", A[A.SQL = 41] = "SQL", A[A.STARLARK = 42] = "STARLARK", A[A.SWIFT = 43] = "SWIFT", A[A.TSX = 44] = "TSX", A[A.TYPESCRIPT = 45] = "TYPESCRIPT", A[A.VISUALBASIC = 46] = "VISUALBASIC", A[A.VUE = 47] = "VUE", A[A.XML = 48] = "XML", A[A.XSL = 49] = "XSL", A[A.YAML = 50] = "YAML", A[A.SVELTE = 51] = "SVELTE", A[A.TOML = 52] = "TOML", A[A.DART = 53] = "DART", A[A.RST = 54] = "RST", A[A.OCAML = 55] = "OCAML", A[A.CMAKE = 56] = "CMAKE", A[A.PASCAL = 57] = "PASCAL", A[A.ELIXIR = 58] = "ELIXIR", A[A.FSHARP = 59] = "FSHARP", A[A.LISP = 60] = "LISP", A[A.MATLAB = 61] = "MATLAB", A[A.POWERSHELL = 62] = "POWERSHELL", A[A.SOLIDITY = 63] = "SOLIDITY", A[A.ADA = 64] = "ADA", A[A.OCAML_INTERFACE = 65] = "OCAML_INTERFACE";
})(U || (U = {}));
o.util.setEnumType(U, "exa.codeium_common_pb.Language", [
  { no: 0, name: "LANGUAGE_UNSPECIFIED" },
  { no: 1, name: "LANGUAGE_C" },
  { no: 2, name: "LANGUAGE_CLOJURE" },
  { no: 3, name: "LANGUAGE_COFFEESCRIPT" },
  { no: 4, name: "LANGUAGE_CPP" },
  { no: 5, name: "LANGUAGE_CSHARP" },
  { no: 6, name: "LANGUAGE_CSS" },
  { no: 7, name: "LANGUAGE_CUDACPP" },
  { no: 8, name: "LANGUAGE_DOCKERFILE" },
  { no: 9, name: "LANGUAGE_GO" },
  { no: 10, name: "LANGUAGE_GROOVY" },
  { no: 11, name: "LANGUAGE_HANDLEBARS" },
  { no: 12, name: "LANGUAGE_HASKELL" },
  { no: 13, name: "LANGUAGE_HCL" },
  { no: 14, name: "LANGUAGE_HTML" },
  { no: 15, name: "LANGUAGE_INI" },
  { no: 16, name: "LANGUAGE_JAVA" },
  { no: 17, name: "LANGUAGE_JAVASCRIPT" },
  { no: 18, name: "LANGUAGE_JSON" },
  { no: 19, name: "LANGUAGE_JULIA" },
  { no: 20, name: "LANGUAGE_KOTLIN" },
  { no: 21, name: "LANGUAGE_LATEX" },
  { no: 22, name: "LANGUAGE_LESS" },
  { no: 23, name: "LANGUAGE_LUA" },
  { no: 24, name: "LANGUAGE_MAKEFILE" },
  { no: 25, name: "LANGUAGE_MARKDOWN" },
  { no: 26, name: "LANGUAGE_OBJECTIVEC" },
  { no: 27, name: "LANGUAGE_OBJECTIVECPP" },
  { no: 28, name: "LANGUAGE_PERL" },
  { no: 29, name: "LANGUAGE_PHP" },
  { no: 30, name: "LANGUAGE_PLAINTEXT" },
  { no: 31, name: "LANGUAGE_PROTOBUF" },
  { no: 32, name: "LANGUAGE_PBTXT" },
  { no: 33, name: "LANGUAGE_PYTHON" },
  { no: 34, name: "LANGUAGE_R" },
  { no: 35, name: "LANGUAGE_RUBY" },
  { no: 36, name: "LANGUAGE_RUST" },
  { no: 37, name: "LANGUAGE_SASS" },
  { no: 38, name: "LANGUAGE_SCALA" },
  { no: 39, name: "LANGUAGE_SCSS" },
  { no: 40, name: "LANGUAGE_SHELL" },
  { no: 41, name: "LANGUAGE_SQL" },
  { no: 42, name: "LANGUAGE_STARLARK" },
  { no: 43, name: "LANGUAGE_SWIFT" },
  { no: 44, name: "LANGUAGE_TSX" },
  { no: 45, name: "LANGUAGE_TYPESCRIPT" },
  { no: 46, name: "LANGUAGE_VISUALBASIC" },
  { no: 47, name: "LANGUAGE_VUE" },
  { no: 48, name: "LANGUAGE_XML" },
  { no: 49, name: "LANGUAGE_XSL" },
  { no: 50, name: "LANGUAGE_YAML" },
  { no: 51, name: "LANGUAGE_SVELTE" },
  { no: 52, name: "LANGUAGE_TOML" },
  { no: 53, name: "LANGUAGE_DART" },
  { no: 54, name: "LANGUAGE_RST" },
  { no: 55, name: "LANGUAGE_OCAML" },
  { no: 56, name: "LANGUAGE_CMAKE" },
  { no: 57, name: "LANGUAGE_PASCAL" },
  { no: 58, name: "LANGUAGE_ELIXIR" },
  { no: 59, name: "LANGUAGE_FSHARP" },
  { no: 60, name: "LANGUAGE_LISP" },
  { no: 61, name: "LANGUAGE_MATLAB" },
  { no: 62, name: "LANGUAGE_POWERSHELL" },
  { no: 63, name: "LANGUAGE_SOLIDITY" },
  { no: 64, name: "LANGUAGE_ADA" },
  { no: 65, name: "LANGUAGE_OCAML_INTERFACE" }
]);
class t extends G {
  static {
    m(this, "Completion");
  }
  /**
   * @generated from field: string completion_id = 1;
   */
  completionId = "";
  /**
   * @generated from field: string text = 2;
   */
  text = "";
  /**
   * @generated from field: string prefix = 3;
   */
  prefix = "";
  /**
   * @generated from field: string stop = 4;
   */
  stop = "";
  /**
   * @generated from field: double score = 5;
   */
  score = 0;
  /**
   * @generated from field: repeated uint64 tokens = 6;
   */
  tokens = [];
  /**
   * @generated from field: repeated string decoded_tokens = 7;
   */
  decodedTokens = [];
  /**
   * @generated from field: repeated double probabilities = 8;
   */
  probabilities = [];
  /**
   * @generated from field: repeated double adjusted_probabilities = 9;
   */
  adjustedProbabilities = [];
  /**
   * @generated from field: uint64 generated_length = 10;
   */
  generatedLength = T.zero;
  constructor(E) {
    super(), o.util.initPartial(E, this);
  }
  static runtime = o;
  static typeName = "exa.codeium_common_pb.Completion";
  static fields = o.util.newFieldList(() => [
    {
      no: 1,
      name: "completion_id",
      kind: "scalar",
      T: 9
      /* ScalarType.STRING */
    },
    {
      no: 2,
      name: "text",
      kind: "scalar",
      T: 9
      /* ScalarType.STRING */
    },
    {
      no: 3,
      name: "prefix",
      kind: "scalar",
      T: 9
      /* ScalarType.STRING */
    },
    {
      no: 4,
      name: "stop",
      kind: "scalar",
      T: 9
      /* ScalarType.STRING */
    },
    {
      no: 5,
      name: "score",
      kind: "scalar",
      T: 1
      /* ScalarType.DOUBLE */
    },
    { no: 6, name: "tokens", kind: "scalar", T: 4, repeated: !0 },
    { no: 7, name: "decoded_tokens", kind: "scalar", T: 9, repeated: !0 },
    { no: 8, name: "probabilities", kind: "scalar", T: 1, repeated: !0 },
    { no: 9, name: "adjusted_probabilities", kind: "scalar", T: 1, repeated: !0 },
    {
      no: 10,
      name: "generated_length",
      kind: "scalar",
      T: 4
      /* ScalarType.UINT64 */
    }
  ]);
  static fromBinary(E, n) {
    return new t().fromBinary(E, n);
  }
  static fromJson(E, n) {
    return new t().fromJson(E, n);
  }
  static fromJsonString(E, n) {
    return new t().fromJsonString(E, n);
  }
  static equals(E, n) {
    return o.util.equals(t, E, n);
  }
}
class i extends G {
  static {
    m(this, "Metadata");
  }
  /**
   * @generated from field: string ide_name = 1;
   */
  ideName = "";
  /**
   * @generated from field: string ide_version = 7;
   */
  ideVersion = "";
  /**
   * @generated from field: string extension_name = 12;
   */
  extensionName = "";
  /**
   * @generated from field: string extension_version = 2;
   */
  extensionVersion = "";
  /**
   * @generated from field: string api_key = 3;
   */
  apiKey = "";
  /**
   * Regex derived from https://stackoverflow.com/a/48300605.
   * TODO(prem): Should this be mandatory?
   *
   * @generated from field: string locale = 4;
   */
  locale = "";
  /**
   * UID identifying a single session for the given user.
   *
   * @generated from field: string session_id = 10;
   */
  sessionId = "";
  /**
   * Used purely in language server to cancel in flight requests.
   * If request_id is 0, then the request is not cancelable.
   * This should be a strictly monotonically increasing number
   * for the duration of a session.
   *
   * @generated from field: uint64 request_id = 9;
   */
  requestId = T.zero;
  /**
   * Browser-specific information.
   *
   * @generated from field: string user_agent = 13;
   */
  userAgent = "";
  /**
   * @generated from field: string url = 14;
   */
  url = "";
  /**
   * Authentication source information.
   *
   * @generated from field: exa.codeium_common_pb.AuthSource auth_source = 15;
   */
  authSource = e.CODEIUM;
  constructor(E) {
    super(), o.util.initPartial(E, this);
  }
  static runtime = o;
  static typeName = "exa.codeium_common_pb.Metadata";
  static fields = o.util.newFieldList(() => [
    {
      no: 1,
      name: "ide_name",
      kind: "scalar",
      T: 9
      /* ScalarType.STRING */
    },
    {
      no: 7,
      name: "ide_version",
      kind: "scalar",
      T: 9
      /* ScalarType.STRING */
    },
    {
      no: 12,
      name: "extension_name",
      kind: "scalar",
      T: 9
      /* ScalarType.STRING */
    },
    {
      no: 2,
      name: "extension_version",
      kind: "scalar",
      T: 9
      /* ScalarType.STRING */
    },
    {
      no: 3,
      name: "api_key",
      kind: "scalar",
      T: 9
      /* ScalarType.STRING */
    },
    {
      no: 4,
      name: "locale",
      kind: "scalar",
      T: 9
      /* ScalarType.STRING */
    },
    {
      no: 10,
      name: "session_id",
      kind: "scalar",
      T: 9
      /* ScalarType.STRING */
    },
    {
      no: 9,
      name: "request_id",
      kind: "scalar",
      T: 4
      /* ScalarType.UINT64 */
    },
    {
      no: 13,
      name: "user_agent",
      kind: "scalar",
      T: 9
      /* ScalarType.STRING */
    },
    {
      no: 14,
      name: "url",
      kind: "scalar",
      T: 9
      /* ScalarType.STRING */
    },
    { no: 15, name: "auth_source", kind: "enum", T: o.getEnumType(e) }
  ]);
  static fromBinary(E, n) {
    return new i().fromBinary(E, n);
  }
  static fromJson(E, n) {
    return new i().fromJson(E, n);
  }
  static fromJsonString(E, n) {
    return new i().fromJsonString(E, n);
  }
  static equals(E, n) {
    return o.util.equals(i, E, n);
  }
}
class r extends G {
  static {
    m(this, "EditorOptions");
  }
  /**
   * @generated from field: uint64 tab_size = 1;
   */
  tabSize = T.zero;
  /**
   * @generated from field: bool insert_spaces = 2;
   */
  insertSpaces = !1;
  constructor(E) {
    super(), o.util.initPartial(E, this);
  }
  static runtime = o;
  static typeName = "exa.codeium_common_pb.EditorOptions";
  static fields = o.util.newFieldList(() => [
    {
      no: 1,
      name: "tab_size",
      kind: "scalar",
      T: 4
      /* ScalarType.UINT64 */
    },
    {
      no: 2,
      name: "insert_spaces",
      kind: "scalar",
      T: 8
      /* ScalarType.BOOL */
    }
  ]);
  static fromBinary(E, n) {
    return new r().fromBinary(E, n);
  }
  static fromJson(E, n) {
    return new r().fromJson(E, n);
  }
  static fromJsonString(E, n) {
    return new r().fromJsonString(E, n);
  }
  static equals(E, n) {
    return o.util.equals(r, E, n);
  }
}
class s extends G {
  static {
    m(this, "Event");
  }
  /**
   * @generated from field: exa.codeium_common_pb.EventType event_type = 1;
   */
  eventType = S.UNSPECIFIED;
  /**
   * @generated from field: string event_json = 2;
   */
  eventJson = "";
  /**
   * @generated from field: int64 timestamp_unix_ms = 3;
   */
  timestampUnixMs = T.zero;
  constructor(E) {
    super(), o.util.initPartial(E, this);
  }
  static runtime = o;
  static typeName = "exa.codeium_common_pb.Event";
  static fields = o.util.newFieldList(() => [
    { no: 1, name: "event_type", kind: "enum", T: o.getEnumType(S) },
    {
      no: 2,
      name: "event_json",
      kind: "scalar",
      T: 9
      /* ScalarType.STRING */
    },
    {
      no: 3,
      name: "timestamp_unix_ms",
      kind: "scalar",
      T: 3
      /* ScalarType.INT64 */
    }
  ]);
  static fromBinary(E, n) {
    return new s().fromBinary(E, n);
  }
  static fromJson(E, n) {
    return new s().fromJson(E, n);
  }
  static fromJsonString(E, n) {
    return new s().fromJsonString(E, n);
  }
  static equals(E, n) {
    return o.util.equals(s, E, n);
  }
}
export {
  e as AuthSource,
  t as Completion,
  N as CompletionSource,
  r as EditorOptions,
  s as Event,
  S as EventType,
  _ as ExperimentKey,
  U as Language,
  i as Metadata
};
