diff --git a/biome.json b/biome.json index b6bc9f1a5..7ff980d7f 100644 --- a/biome.json +++ b/biome.json @@ -61,6 +61,7 @@ "!**/node_modules/**/*", "!**/test-sessions.ts", "!**/agent_pb.ts", + "!**/devin-gen/**/*", "!.worktrees/**/*", "!.wt/**/*" ] diff --git a/bun.lock b/bun.lock index 3d80e2d22..ab98598be 100644 --- a/bun.lock +++ b/bun.lock @@ -49,6 +49,7 @@ "zod": "catalog:", }, "devDependencies": { + "@bufbuild/protoc-gen-es": "catalog:", "@types/bun": "catalog:", }, }, @@ -474,6 +475,10 @@ "@bufbuild/protobuf": ["@bufbuild/protobuf@2.12.0", "", {}, "sha512-B/XlCaFIP8LOwzo+bz5uFzATYokcwCKQcghqnlfwSmM5eX/qTkvDBnDPs+gXtX/RyjxJ4DRikECcPJbyALA8FA=="], + "@bufbuild/protoc-gen-es": ["@bufbuild/protoc-gen-es@2.12.0", "", { "dependencies": { "@bufbuild/protobuf": "2.12.0", "@bufbuild/protoplugin": "2.12.0" }, "bin": { "protoc-gen-es": "bin/protoc-gen-es" } }, "sha512-d9htF6jEkSwPbp9d/vSmZOBF7eeG18AvTMKmVg4I23afnrQOxL2w3WOXa9TaufMCyu24QakEUb4vux8apI5e7A=="], + + "@bufbuild/protoplugin": ["@bufbuild/protoplugin@2.12.0", "", { "dependencies": { "@bufbuild/protobuf": "2.12.0", "@typescript/vfs": "^1.6.2", "typescript": "5.4.5" } }, "sha512-ORlDITp8AFUXzIhLRoMCG+ud+D3MPKWb5HQXBoskMMnjeyEjE1H1qLonVNPyOr8lkx3xSfYUo8a0dvOZJVAzow=="], + "@colors/colors": ["@colors/colors@1.6.0", "", {}, "sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA=="], "@dabh/diagnostics": ["@dabh/diagnostics@2.0.8", "", { "dependencies": { "@so-ric/colorspace": "^1.1.6", "enabled": "2.0.x", "kuler": "^2.0.0" } }, "sha512-R4MSXTVnuMzGD7bzHdW2ZhhdPC/igELENcq5IjEverBvq5hn1SXCWcsi6eSsdWP0/Ur+SItRRjAktmdoX/8R/Q=="], @@ -912,6 +917,8 @@ "@typescript/native-preview-win32-x64": ["@typescript/native-preview-win32-x64@7.0.0-dev.20260609.1", "", { "os": "win32", "cpu": "x64" }, "sha512-qNPcss+6yRoNFfFIKQbPwJWYxDfOZwyL8JBJh4J+yMLOad/+/AOjsO4EtZsIpv5PMCjpnD75coBoDkw+5NkItw=="], + "@typescript/vfs": ["@typescript/vfs@1.6.4", "", { "dependencies": { "debug": "^4.4.3" }, "peerDependencies": { "typescript": "*" } }, "sha512-PJFXFS4ZJKiJ9Qiuix6Dz/OwEIqHD7Dme1UwZhTK11vR+5dqW2ACbdndWQexBzCx+CPuMe5WBYQWCsFyGlQLlQ=="], + "@xmldom/xmldom": ["@xmldom/xmldom@0.8.13", "", {}, "sha512-KRYzxepc14G/CEpEGc3Yn+JKaAeT63smlDr+vjB8jRfgTBBI9wRj/nkQEO+ucV8p8I9bfKLWp37uHgFrbntPvw=="], "@xterm/headless": ["@xterm/headless@6.0.0", "", {}, "sha512-5Yj1QINYCyzrZtf8OFIHi47iQtI+0qYFPHmouEfG8dHNxbZ9Tb9YGSuLcsEwj9Z+OL75GJqPyJbyoFer80a2Hw=="], @@ -1458,6 +1465,8 @@ "@babel/helper-compilation-targets/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], + "@bufbuild/protoplugin/typescript": ["typescript@5.4.5", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ=="], + "@huggingface/transformers/onnxruntime-node": ["onnxruntime-node@1.24.3", "", { "dependencies": { "adm-zip": "^0.5.16", "global-agent": "^3.0.0", "onnxruntime-common": "1.24.3" }, "os": [ "linux", "win32", "darwin", ] }, "sha512-JH7+czbc8ALA819vlTgcV+Q214/+VjGeBHDjX81+ZCD0PCVCIFGFNtT0V4sXG/1JXypKPgScQcB3ij/hk3YnTg=="], "@isaacs/fs-minipass/minipass": ["minipass@7.1.3", "", {}, "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A=="], diff --git a/packages/ai/CHANGELOG.md b/packages/ai/CHANGELOG.md index 2eb0679d4..422fb412a 100644 --- a/packages/ai/CHANGELOG.md +++ b/packages/ai/CHANGELOG.md @@ -1,6 +1,13 @@ # Changelog ## [Unreleased] +### Added + +- Added support for Devin as a provider + +### Changed + +- Updated tool call arguments to use `Record` and `unknown` for tool results ## [16.1.11] - 2026-06-21 @@ -4025,4 +4032,4 @@ _Dedicated to Peter's shoulder ([@steipete](https://twitter.com/steipete))_ ## [0.9.4] - 2025-11-26 -Initial release with multi-provider LLM support. +Initial release with multi-provider LLM support. \ No newline at end of file diff --git a/packages/ai/package.json b/packages/ai/package.json index 8f9274d34..9338d1524 100644 --- a/packages/ai/package.json +++ b/packages/ai/package.json @@ -45,6 +45,7 @@ "zod": "catalog:" }, "devDependencies": { + "@bufbuild/protoc-gen-es": "catalog:", "@types/bun": "catalog:" }, "engines": { diff --git a/packages/ai/src/api-registry.ts b/packages/ai/src/api-registry.ts index 4177adea4..c564512fe 100644 --- a/packages/ai/src/api-registry.ts +++ b/packages/ai/src/api-registry.ts @@ -14,9 +14,10 @@ import type { StreamOptions, } from "./types"; -const BUILTIN_APIS = new Set([ +const BUILTIN_API_IDS = [ "openai-completions", "openai-responses", + "openrouter", "openai-codex-responses", "azure-openai-responses", "anthropic-messages", @@ -26,7 +27,16 @@ const BUILTIN_APIS = new Set([ "google-vertex", "ollama-chat", "cursor-agent", -]); + "devin-agent", +] as const satisfies readonly KnownApi[]; + +type _MissingBuiltinApis = Exclude; +type _CheckBuiltinApis = _MissingBuiltinApis extends never + ? true + : ["BUILTIN_APIS is missing KnownApi values", _MissingBuiltinApis]; +true satisfies _CheckBuiltinApis; + +const BUILTIN_APIS = new Set(BUILTIN_API_IDS); export type CustomStreamFn = ( model: Model, diff --git a/packages/ai/src/providers/anthropic-messages-server.ts b/packages/ai/src/providers/anthropic-messages-server.ts index 751f7f56d..912f7596d 100644 --- a/packages/ai/src/providers/anthropic-messages-server.ts +++ b/packages/ai/src/providers/anthropic-messages-server.ts @@ -204,7 +204,10 @@ function walkAssistantContent( type: "toolCall", id: block.id, name: block.name, - arguments: block.input ?? {}, + arguments: + block.input && typeof block.input === "object" && !Array.isArray(block.input) + ? (block.input as Record) + : {}, }); break; default: { diff --git a/packages/ai/src/providers/devin.ts b/packages/ai/src/providers/devin.ts new file mode 100644 index 000000000..d5e2e36d4 --- /dev/null +++ b/packages/ai/src/providers/devin.ts @@ -0,0 +1,568 @@ +import { gunzipSync, gzipSync } from "node:zlib"; +import { create, fromBinary, toBinary } from "@bufbuild/protobuf"; +import { + ChatMessageRequestType, + GetChatMessageRequestSchema, + GetChatMessageResponseSchema, +} from "@oh-my-pi/pi-catalog/discovery/devin-gen/exa/api_server_pb/api_server_pb"; +import { + GetUserJwtRequestSchema, + GetUserJwtResponseSchema, +} from "@oh-my-pi/pi-catalog/discovery/devin-gen/exa/auth_pb/auth_pb"; +import { + CacheControlType, + type ChatMessagePrompt, + ChatMessagePromptSchema, + ChatToolChoiceSchema, + ChatToolDefinitionSchema, + PromptCacheOptionsSchema, +} from "@oh-my-pi/pi-catalog/discovery/devin-gen/exa/chat_pb/chat_pb"; +import { + ChatMessageSource, + type ChatToolCall, + ChatToolCallSchema, + CompletionConfigurationSchema, + ConversationalPlannerMode, + ImageDataSchema, + MetadataSchema, + StopReason, +} from "@oh-my-pi/pi-catalog/discovery/devin-gen/exa/codeium_common_pb/codeium_common_pb"; +import { calculateCost } from "@oh-my-pi/pi-catalog/models"; +import { extractHttpStatusFromError, logger } from "@oh-my-pi/pi-utils"; +import type { + Api, + AssistantMessage, + Context, + Message, + Model, + StreamFunction, + StreamOptions, + TextContent, + ThinkingContent, + Tool, + ToolCall, +} from "../types"; +import { AssistantMessageEventStream } from "../utils/event-stream"; +import { parseStreamingJson } from "../utils/json-parse"; +import { formatErrorMessageWithRetryAfter } from "../utils/retry-after"; +import { toolWireSchema } from "../utils/schema/wire"; + +/** Base host for Codeium/Windsurf's Cascade chat API (Connect protocol over HTTP/1.1). */ +export const DEVIN_API_URL = "https://server.codeium.com"; + +export interface DevinOptions extends StreamOptions { + /** Cascade conversation id; reused as `cascade_id` so the server threads turns. */ + conversationId?: string; + /** Falls back to `cascade_id` when no `conversationId` is supplied. */ + sessionId?: string; + /** Wire model uid selected after thinking-effort routing. */ + chatModelUid?: string; +} + +const CHAT_MESSAGE_PATH = "/exa.api_server_pb.ApiServerService/GetChatMessage"; +const DEVIN_IDE_VERSION = "3.2.23"; +const DEVIN_EXTENSION_VERSION = "1.48.2"; +const DEVIN_SESSION_TOKEN_PREFIX = "devin-session-token$"; +const DEVIN_AUTH_PATH = "/exa.auth_pb.AuthService/GetUserJwt"; +const DEVIN_DEFAULT_STOP_PATTERNS = ["<|user|>", "<|bot|>", "<|context_request|>", "<|endoftext|>", "<|end_of_turn|>"]; + +/** Connect streaming framing: flag byte bit 0x01 = gzip payload, 0x02 = end-of-stream JSON trailers. */ +const CONNECT_COMPRESSED_FLAG = 0x01; +const CONNECT_END_STREAM_FLAG = 0x02; + +export const streamDevin: StreamFunction<"devin-agent"> = ( + model: Model<"devin-agent">, + context: Context, + options?: DevinOptions, +): AssistantMessageEventStream => { + const stream = new AssistantMessageEventStream(); + + (async () => { + const startTime = Date.now(); + let firstTokenTime: number | undefined; + + const output: AssistantMessage = { + role: "assistant", + content: [], + api: "devin-agent" as Api, + provider: model.provider, + model: model.id, + usage: { + input: 0, + output: 0, + cacheRead: 0, + cacheWrite: 0, + totalTokens: 0, + cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, total: 0 }, + }, + stopReason: "stop", + timestamp: Date.now(), + }; + + let currentTextBlock: TextContent | null = null; + let currentThinkingBlock: ThinkingContent | null = null; + // Tool-call content blocks keyed by streamed tool-call id, plus the JSON-args text + // accumulated per id (kept out of the content object so finalized tool calls stay clean). + const toolBlocks = new Map(); + const toolPartialJson = new Map(); + let activeToolCallId: string | undefined; + let latestStopReason = StopReason.UNSPECIFIED; + + const markFirstToken = () => { + if (firstTokenTime === undefined) firstTokenTime = Date.now(); + }; + + const endTextBlock = () => { + const block = currentTextBlock; + if (!block) return; + currentTextBlock = null; + stream.push({ + type: "text_end", + contentIndex: output.content.indexOf(block), + content: block.text, + partial: output, + }); + }; + + const endThinkingBlock = () => { + const block = currentThinkingBlock; + if (!block) return; + currentThinkingBlock = null; + stream.push({ + type: "thinking_end", + contentIndex: output.content.indexOf(block), + content: block.thinking, + partial: output, + }); + }; + + try { + const fetchImpl = options?.fetch ?? fetch; + const baseUrl = (model.baseUrl || DEVIN_API_URL).replace(/\/+$/, ""); + const apiKey = normalizeDevinSessionToken(options?.apiKey); + const auth = await fetchDevinAuthMetadata(apiKey, baseUrl, fetchImpl, options?.signal); + const chatBaseUrl = auth.baseUrl ?? baseUrl; + const request = buildDevinChatRequest(model, context, options, apiKey, auth.userJwt); + logger.debug("devin: sending chat request", { model: model.id, tools: context.tools?.length ?? 0 }); + + const reqBytes = toBinary(GetChatMessageRequestSchema, request); + const gz = gzipSync(reqBytes); + const frame = Buffer.alloc(5 + gz.length); + frame[0] = CONNECT_COMPRESSED_FLAG; + frame.writeUInt32BE(gz.length, 1); + frame.set(gz, 5); + + const response = await fetchImpl(chatBaseUrl + CHAT_MESSAGE_PATH, { + method: "POST", + headers: { + "content-type": "application/connect+proto", + "connect-protocol-version": "1", + "connect-content-encoding": "gzip", + "accept-encoding": "identity", + "user-agent": "connect-go/1.18.1 (go1.26.3)", + "connect-accept-encoding": "gzip", + ...(options?.headers ?? {}), + }, + body: frame, + signal: options?.signal, + }); + + if (!response.ok) { + const text = await response.text(); + throw Object.assign(new Error(`Devin API error ${response.status} ${response.statusText}: ${text}`), { + status: response.status, + }); + } + if (!response.body) { + throw new Error("Devin API error: response body is empty"); + } + const body = response.body; + + stream.push({ type: "start", partial: output }); + + const reader = body.getReader(); + let pending = Buffer.alloc(0); + + for (;;) { + const { done, value } = await reader.read(); + if (value && value.length > 0) { + pending = Buffer.concat([pending, value]); + } + + while (pending.length >= 5) { + const flag = pending[0]; + const len = pending.readUInt32BE(1); + if (pending.length < 5 + len) break; + const payload = pending.subarray(5, 5 + len); + pending = pending.subarray(5 + len); + + if (flag & CONNECT_END_STREAM_FLAG) { + const trailerBytes = flag & CONNECT_COMPRESSED_FLAG ? gunzipSync(payload) : payload; + const trailerError = readConnectTrailerError(trailerBytes.toString("utf8").trim()); + if (trailerError) throw new Error(trailerError); + continue; + } + + const raw = flag & CONNECT_COMPRESSED_FLAG ? gunzipSync(payload) : payload; + const msg = fromBinary(GetChatMessageResponseSchema, raw); + if (msg.messageId && !output.responseId) output.responseId = msg.messageId; + + if (msg.deltaThinking) { + markFirstToken(); + const block: ThinkingContent = currentThinkingBlock ?? { type: "thinking", thinking: "" }; + if (currentThinkingBlock !== block) { + output.content.push(block); + currentThinkingBlock = block; + stream.push({ + type: "thinking_start", + contentIndex: output.content.length - 1, + partial: output, + }); + } + block.thinking += msg.deltaThinking; + if (msg.deltaSignature) block.thinkingSignature = msg.deltaSignature; + stream.push({ + type: "thinking_delta", + contentIndex: output.content.indexOf(block), + delta: msg.deltaThinking, + partial: output, + }); + } + + if (msg.deltaText) { + markFirstToken(); + endThinkingBlock(); + const block: TextContent = currentTextBlock ?? { type: "text", text: "" }; + if (currentTextBlock !== block) { + output.content.push(block); + currentTextBlock = block; + stream.push({ type: "text_start", contentIndex: output.content.length - 1, partial: output }); + } + block.text += msg.deltaText; + stream.push({ + type: "text_delta", + contentIndex: output.content.indexOf(block), + delta: msg.deltaText, + partial: output, + }); + } + + if (msg.deltaToolCalls.length > 0) { + markFirstToken(); + endTextBlock(); + endThinkingBlock(); + for (const tc of msg.deltaToolCalls) { + const toolCallId = tc.id || activeToolCallId; + if (!toolCallId) continue; + let block = toolBlocks.get(toolCallId); + if (!block) { + block = { type: "toolCall", id: toolCallId, name: tc.name, arguments: {} }; + output.content.push(block); + toolBlocks.set(toolCallId, block); + toolPartialJson.set(toolCallId, ""); + stream.push({ + type: "toolcall_start", + contentIndex: output.content.length - 1, + partial: output, + }); + } + if (tc.name) block.name = tc.name; + activeToolCallId = toolCallId; + if (!tc.argumentsJson) continue; + const previousJson = toolPartialJson.get(toolCallId) ?? ""; + const accumulated = tc.argumentsJson.startsWith(previousJson) + ? tc.argumentsJson + : previousJson + tc.argumentsJson; + const delta = accumulated.slice(previousJson.length); + toolPartialJson.set(toolCallId, accumulated); + block.arguments = parseStreamingJson(accumulated); + stream.push({ + type: "toolcall_delta", + contentIndex: output.content.indexOf(block), + delta, + partial: output, + }); + } + } + + if (msg.stopReason !== StopReason.UNSPECIFIED) { + latestStopReason = msg.stopReason; + } + + if (msg.usage) { + output.usage.input = Number(msg.usage.inputTokens); + output.usage.output = Number(msg.usage.outputTokens); + output.usage.cacheRead = Number(msg.usage.cacheReadTokens); + output.usage.cacheWrite = Number(msg.usage.cacheWriteTokens); + output.usage.totalTokens = output.usage.input + output.usage.output; + } + } + + if (done) break; + } + + endTextBlock(); + endThinkingBlock(); + for (const [id, block] of toolBlocks) { + block.arguments = parseStreamingJson(toolPartialJson.get(id)); + stream.push({ + type: "toolcall_end", + contentIndex: output.content.indexOf(block), + toolCall: block, + partial: output, + }); + } + + const doneReason: "stop" | "length" | "toolUse" = + toolBlocks.size > 0 ? "toolUse" : latestStopReason === StopReason.MAX_TOKENS ? "length" : "stop"; + output.stopReason = doneReason; + + calculateCost(model, output.usage); + output.duration = Date.now() - startTime; + if (firstTokenTime) output.ttft = firstTokenTime - startTime; + + stream.push({ type: "done", reason: doneReason, message: output }); + stream.end(); + } catch (error) { + logger.error("devin: stream failed", { error: String(error) }); + const errorReason: "aborted" | "error" = options?.signal?.aborted ? "aborted" : "error"; + output.stopReason = errorReason; + output.errorStatus = extractHttpStatusFromError(error); + output.errorMessage = formatErrorMessageWithRetryAfter(error); + output.duration = Date.now() - startTime; + if (firstTokenTime) output.ttft = firstTokenTime - startTime; + stream.push({ type: "error", reason: errorReason, error: output }); + stream.end(); + } + })(); + + return stream; +}; + +function normalizeDevinSessionToken(apiKey: string | undefined): string { + if (!apiKey) return ""; + return apiKey.startsWith(DEVIN_SESSION_TOKEN_PREFIX) ? apiKey : `${DEVIN_SESSION_TOKEN_PREFIX}${apiKey}`; +} + +async function fetchDevinAuthMetadata( + apiKey: string, + baseUrl: string, + fetchImpl: NonNullable, + signal: AbortSignal | undefined, +): Promise<{ userJwt: string; baseUrl?: string }> { + const request = create(GetUserJwtRequestSchema, { + metadata: create(MetadataSchema, { + apiKey, + ideName: "windsurf", + ideVersion: DEVIN_IDE_VERSION, + extensionName: "windsurf", + extensionVersion: DEVIN_EXTENSION_VERSION, + locale: "en", + }), + }); + const response = await fetchImpl(`${baseUrl}${DEVIN_AUTH_PATH}`, { + method: "POST", + headers: { + "content-type": "application/proto", + "connect-protocol-version": "1", + accept: "*/*", + }, + body: toBinary(GetUserJwtRequestSchema, request), + signal, + }); + const payload = new Uint8Array(await response.arrayBuffer()); + if (!response.ok) { + throw Object.assign( + new Error(`Devin auth error ${response.status} ${response.statusText}: ${new TextDecoder().decode(payload)}`), + { status: response.status }, + ); + } + const decoded = decodeDevinUserJwtResponse(payload); + if (!decoded.userJwt) { + throw new Error("Devin auth error: GetUserJwt returned an empty user JWT"); + } + const customBaseUrl = decoded.customApiServerUrl.trim(); + return { userJwt: decoded.userJwt, ...(customBaseUrl ? { baseUrl: customBaseUrl.replace(/\/+$/, "") } : undefined) }; +} + +function decodeDevinUserJwtResponse(payload: Uint8Array) { + try { + return fromBinary(GetUserJwtResponseSchema, payload); + } catch { + return fromBinary(GetUserJwtResponseSchema, gunzipSync(payload)); + } +} + +/** + * Build a {@link GetChatMessageRequest} for one Cascade turn. Auth rides inside + * `Metadata.apiKey`; the system prompt is the flattened `prompt` string and the + * conversation history maps to `chatMessagePrompts`. + */ +function buildDevinChatRequest( + model: Model<"devin-agent">, + context: Context, + options: DevinOptions | undefined, + apiKey: string, + userJwt: string, +) { + const cascadeId = options?.conversationId ?? options?.sessionId ?? crypto.randomUUID(); + const stopPatterns = + options?.stopSequences && options.stopSequences.length > 0 + ? [...DEVIN_DEFAULT_STOP_PATTERNS, ...options.stopSequences] + : DEVIN_DEFAULT_STOP_PATTERNS; + return create(GetChatMessageRequestSchema, { + metadata: create(MetadataSchema, { + apiKey, + userJwt, + ideName: "windsurf", + ideVersion: DEVIN_IDE_VERSION, + extensionName: "windsurf", + extensionVersion: DEVIN_EXTENSION_VERSION, + locale: "en", + }), + prompt: (context.systemPrompt ?? []).join("\n\n"), + chatMessagePrompts: buildChatMessagePrompts(context.messages, cascadeId), + chatModelUid: options?.chatModelUid ?? model.requestModelId ?? model.id, + requestType: ChatMessageRequestType.CASCADE, + plannerMode: ConversationalPlannerMode.DEFAULT, + toolChoice: create(ChatToolChoiceSchema, { choice: { case: "optionName", value: "auto" } }), + systemPromptCacheOptions: create(PromptCacheOptionsSchema, { type: CacheControlType.EPHEMERAL }), + disableParallelToolCalls: false, + cascadeId, + executionId: crypto.randomUUID(), + configuration: create(CompletionConfigurationSchema, { + numCompletions: 1n, + maxTokens: BigInt(options?.maxTokens ?? model.maxTokens ?? 64000), + maxNewlines: 200n, + temperature: options?.temperature ?? 0.4, + firstTemperature: options?.temperature ?? 0.4, + topK: 50n, + topP: options?.topP ?? 1, + stopPatterns, + fimEotProbThreshold: 1, + }), + tools: (context.tools ?? []).map((tool: Tool) => + create(ChatToolDefinitionSchema, { + name: tool.name, + description: tool.description, + jsonSchemaString: JSON.stringify(toolWireSchema(tool)), + strict: tool.strict ?? false, + }), + ), + }); +} + +/** Map omp `Message` history onto Cascade `ChatMessagePrompt`s (USER / SYSTEM / TOOL channels). */ +function buildChatMessagePrompts(messages: Message[], cascadeId: string): ChatMessagePrompt[] { + const prompts: ChatMessagePrompt[] = []; + for (const [index, msg] of messages.entries()) { + if (msg.role === "user" || msg.role === "developer") { + let promptText = ""; + const images = []; + if (typeof msg.content === "string") { + promptText = msg.content; + } else { + for (const part of msg.content) { + if (part.type === "text") { + promptText += part.text; + } else if (part.type === "image") { + images.push(create(ImageDataSchema, { base64Data: part.data, mimeType: part.mimeType })); + } + } + } + prompts.push( + create(ChatMessagePromptSchema, { + messageId: deterministicMessageId(`${cascadeId}\0${index}\0${msg.role}`), + source: ChatMessageSource.USER, + prompt: promptText, + images, + }), + ); + } else if (msg.role === "assistant") { + let promptText = ""; + let thinkingText = ""; + let signature = ""; + const toolCalls: ChatToolCall[] = []; + for (const part of msg.content) { + if (part.type === "text") { + promptText += part.text; + } else if (part.type === "thinking") { + thinkingText += part.thinking; + if (!signature && part.thinkingSignature) signature = part.thinkingSignature; + } else if (part.type === "toolCall") { + toolCalls.push( + create(ChatToolCallSchema, { + id: part.id, + name: part.name, + argumentsJson: JSON.stringify(part.arguments), + }), + ); + } + } + prompts.push( + create(ChatMessagePromptSchema, { + messageId: msg.responseId ?? `bot-${deterministicMessageId(`${cascadeId}\0${index}\0assistant`)}`, + source: ChatMessageSource.SYSTEM, + prompt: promptText, + thinking: thinkingText, + signature, + signatureType: "", + toolCalls, + }), + ); + } else { + let resultText = ""; + const images = []; + for (const part of msg.content) { + if (part.type === "text") { + resultText += part.text; + } else if (part.type === "image") { + images.push(create(ImageDataSchema, { base64Data: part.data, mimeType: part.mimeType })); + } + } + prompts.push( + create(ChatMessagePromptSchema, { + messageId: deterministicMessageId(`${cascadeId}\0${index}\0tool\0${msg.toolCallId}`), + source: ChatMessageSource.TOOL, + toolCallId: msg.toolCallId, + toolResultIsError: msg.isError, + prompt: resultText, + images, + }), + ); + } + } + return prompts; +} + +/** + * Deterministic UUID-shaped message id derived from a stable per-message seed. + * Seed is `${cascadeId}\0${index}\0${role}[...]` — prompt text is intentionally + * excluded so ids stay stable across content edits / history rebuilds. + */ +function deterministicMessageId(seed: string): string { + const hex = new Bun.CryptoHasher("sha256").update(seed).digest("hex"); + return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20, 32)}`; +} + +/** + * Parse a Connect end-of-stream JSON trailer and return a human-readable error + * string when it carries `{ error: { code, message } }`, else `null`. The trailer + * is untrusted server output, so the shape is checked with guards rather than asserted. + */ +function readConnectTrailerError(text: string): string | null { + if (text.length === 0) return null; + let parsed: unknown; + try { + parsed = JSON.parse(text); + } catch { + return null; + } + if (!parsed || typeof parsed !== "object" || !("error" in parsed)) return null; + const err = parsed.error; + if (!err || typeof err !== "object") return null; + const code = "code" in err && typeof err.code === "string" ? err.code : ""; + const message = "message" in err && typeof err.message === "string" ? err.message : ""; + if (!code && !message) return null; + return `Devin stream error${code ? ` ${code}` : ""}: ${message}`; +} diff --git a/packages/ai/src/providers/devin/proto/buf.gen.yaml b/packages/ai/src/providers/devin/proto/buf.gen.yaml new file mode 100644 index 000000000..2976da2fa --- /dev/null +++ b/packages/ai/src/providers/devin/proto/buf.gen.yaml @@ -0,0 +1,33 @@ +version: v2 +# Codegen is scoped to the api_server.proto transitive closure (the RPCs the +# devin provider actually uses). The rest of the reverse-engineered Codeium +# corpus is kept in this directory for reference/maintenance but is NOT +# generated. Vendored google/* WKTs are intentionally absent — buf bundles them. +inputs: + - directory: . + paths: + - buf/validate/validate.proto + - exa/analytics_pb/analytics.proto + - exa/api_server_pb/api_server.proto + - exa/auth_pb/auth.proto + - exa/auto_cascade_common_pb/auto_cascade_common.proto + - exa/bug_checker_pb/bug_checker.proto + - exa/cascade_plugins_pb/cascade_plugins.proto + - exa/chat_pb/chat.proto + - exa/code_edit/code_edit_pb/code_edit.proto + - exa/codeium_common_pb/codeium_common.proto + - exa/context_module_pb/context_module.proto + - exa/cortex_pb/cortex.proto + - exa/diff_action_pb/diff_action.proto + - exa/index_pb/index.proto + - exa/knowledge_base_pb/knowledge_base.proto + - exa/language_server_pb/language_server.proto + - exa/opensearch_clients_pb/opensearch_clients.proto + - exa/prompt_pb/prompt.proto + - exa/reactive_component_pb/reactive_component.proto + - exa/trust_pb/trust.proto +plugins: + - local: ../../../../../../node_modules/.bin/protoc-gen-es + out: ../../../../../catalog/src/discovery/devin-gen + opt: + - target=ts diff --git a/packages/ai/src/providers/devin/proto/buf.yaml b/packages/ai/src/providers/devin/proto/buf.yaml new file mode 100644 index 000000000..26e8cc089 --- /dev/null +++ b/packages/ai/src/providers/devin/proto/buf.yaml @@ -0,0 +1,17 @@ +version: v2 +modules: + - path: . +lint: + use: + - STANDARD + except: + - COMMENT_FIELD + - COMMENT_MESSAGE + - COMMENT_ENUM + - COMMENT_ENUM_VALUE + - COMMENT_RPC + - COMMENT_SERVICE + - COMMENT_ONEOF +breaking: + use: + - FILE diff --git a/packages/ai/src/providers/devin/proto/buf/validate/validate.proto b/packages/ai/src/providers/devin/proto/buf/validate/validate.proto new file mode 100644 index 000000000..cbc51f3aa --- /dev/null +++ b/packages/ai/src/providers/devin/proto/buf/validate/validate.proto @@ -0,0 +1,468 @@ +package buf.validate; + +import "google/protobuf/descriptor.proto"; +import "google/protobuf/duration.proto"; +import "google/protobuf/timestamp.proto"; + +enum Ignore { + IGNORE_UNSPECIFIED = 0; + IGNORE_IF_UNPOPULATED = 1; + IGNORE_IF_DEFAULT_VALUE = 2; + IGNORE_ALWAYS = 3; + reserved "IGNORE_EMPTYIGNORE_DEFAULT"; +} + +enum KnownRegex { + KNOWN_REGEX_UNSPECIFIED = 0; + KNOWN_REGEX_HTTP_HEADER_NAME = 1; + KNOWN_REGEX_HTTP_HEADER_VALUE = 2; +} + +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 24; + reserved 26; + reserved "skipped", "ignore_empty"; + + 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 24; + reserved 26; + reserved "skippedignore_empty"; + + repeated .buf.validate.Rule cel = 1; +} + +message FloatRules { + extensions 1000 to max; + + optional float const = 1; + oneof less_than { + float lt = 2; + float lte = 3; + } + oneof greater_than { + float gt = 4; + float gte = 5; + } + repeated float in = 6; + repeated float not_in = 7; + optional bool finite = 8; + repeated float example = 9; +} + +message DoubleRules { + extensions 1000 to max; + + optional double const = 1; + oneof less_than { + double lt = 2; + double lte = 3; + } + oneof greater_than { + double gt = 4; + double gte = 5; + } + repeated double in = 6; + repeated double not_in = 7; + optional bool finite = 8; + repeated double example = 9; +} + +message Int32Rules { + extensions 1000 to max; + + optional int32 const = 1; + oneof less_than { + int32 lt = 2; + int32 lte = 3; + } + oneof greater_than { + int32 gt = 4; + int32 gte = 5; + } + repeated int32 in = 6; + repeated int32 not_in = 7; + repeated int32 example = 8; +} + +message Int64Rules { + extensions 1000 to max; + + optional int64 const = 1; + oneof less_than { + int64 lt = 2; + int64 lte = 3; + } + oneof greater_than { + int64 gt = 4; + int64 gte = 5; + } + repeated int64 in = 6; + repeated int64 not_in = 7; + repeated int64 example = 9; +} + +message UInt32Rules { + extensions 1000 to max; + + optional uint32 const = 1; + oneof less_than { + uint32 lt = 2; + uint32 lte = 3; + } + oneof greater_than { + uint32 gt = 4; + uint32 gte = 5; + } + repeated uint32 in = 6; + repeated uint32 not_in = 7; + repeated uint32 example = 8; +} + +message UInt64Rules { + extensions 1000 to max; + + optional uint64 const = 1; + oneof less_than { + uint64 lt = 2; + uint64 lte = 3; + } + oneof greater_than { + uint64 gt = 4; + uint64 gte = 5; + } + repeated uint64 in = 6; + repeated uint64 not_in = 7; + repeated uint64 example = 8; +} + +message SInt32Rules { + extensions 1000 to max; + + optional sint32 const = 1; + oneof less_than { + sint32 lt = 2; + sint32 lte = 3; + } + oneof greater_than { + sint32 gt = 4; + sint32 gte = 5; + } + repeated sint32 in = 6; + repeated sint32 not_in = 7; + repeated sint32 example = 8; +} + +message SInt64Rules { + extensions 1000 to max; + + optional sint64 const = 1; + oneof less_than { + sint64 lt = 2; + sint64 lte = 3; + } + oneof greater_than { + sint64 gt = 4; + sint64 gte = 5; + } + repeated sint64 in = 6; + repeated sint64 not_in = 7; + repeated sint64 example = 8; +} + +message Fixed32Rules { + extensions 1000 to max; + + optional fixed32 const = 1; + oneof less_than { + fixed32 lt = 2; + fixed32 lte = 3; + } + oneof greater_than { + fixed32 gt = 4; + fixed32 gte = 5; + } + repeated fixed32 in = 6; + repeated fixed32 not_in = 7; + repeated fixed32 example = 8; +} + +message Fixed64Rules { + extensions 1000 to max; + + optional fixed64 const = 1; + oneof less_than { + fixed64 lt = 2; + fixed64 lte = 3; + } + oneof greater_than { + fixed64 gt = 4; + fixed64 gte = 5; + } + repeated fixed64 in = 6; + repeated fixed64 not_in = 7; + repeated fixed64 example = 8; +} + +message SFixed32Rules { + extensions 1000 to max; + + optional sfixed32 const = 1; + oneof less_than { + sfixed32 lt = 2; + sfixed32 lte = 3; + } + oneof greater_than { + sfixed32 gt = 4; + sfixed32 gte = 5; + } + repeated sfixed32 in = 6; + repeated sfixed32 not_in = 7; + repeated sfixed32 example = 8; +} + +message SFixed64Rules { + extensions 1000 to max; + + optional sfixed64 const = 1; + oneof less_than { + sfixed64 lt = 2; + sfixed64 lte = 3; + } + oneof greater_than { + sfixed64 gt = 4; + sfixed64 gte = 5; + } + repeated sfixed64 in = 6; + repeated sfixed64 not_in = 7; + repeated sfixed64 example = 8; +} + +message BoolRules { + extensions 1000 to max; + + optional bool const = 1; + repeated bool example = 2; +} + +message StringRules { + extensions 1000 to max; + + 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; + 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; + } + optional bool strict = 25; + repeated string example = 34; +} + +message BytesRules { + extensions 1000 to max; + + 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; + oneof well_known { + bool ip = 10; + bool ipv4 = 11; + bool ipv6 = 12; + } + repeated bytes example = 14; +} + +message EnumRules { + extensions 1000 to max; + + optional int32 const = 1; + optional bool defined_only = 2; + repeated int32 in = 3; + repeated int32 not_in = 4; + repeated int32 example = 5; +} + +message RepeatedRules { + extensions 1000 to max; + + optional uint64 min_items = 1; + optional uint64 max_items = 2; + optional bool unique = 3; + optional .buf.validate.FieldRules items = 4; +} + +message MapRules { + extensions 1000 to max; + + 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 { + extensions 1000 to max; + + optional .google.protobuf.Duration const = 2; + 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; + } + repeated .google.protobuf.Duration in = 7; + repeated .google.protobuf.Duration not_in = 8; + repeated .google.protobuf.Duration example = 9; +} + +message TimestampRules { + extensions 1000 to max; + + optional .google.protobuf.Timestamp const = 2; + 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; + } + optional .google.protobuf.Duration within = 9; + repeated .google.protobuf.Timestamp example = 10; +} + +message Violations { + repeated .buf.validate.Violation violations = 1; +} + +message Violation { + reserved 1; + reserved "field_path"; + + 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; + } +} + +extend .google.protobuf.MessageOptions { + optional .buf.validate.MessageRules message = 1159; +} + +extend .google.protobuf.OneofOptions { + optional .buf.validate.OneofRules oneof = 1159; +} + +extend .google.protobuf.FieldOptions { + optional .buf.validate.FieldRules field = 1159; +} + +extend .google.protobuf.FieldOptions { + optional .buf.validate.PredefinedRules predefined = 1160; +} diff --git a/packages/ai/src/providers/devin/proto/cel/expr/checked.proto b/packages/ai/src/providers/devin/proto/cel/expr/checked.proto new file mode 100644 index 000000000..cdc3f8049 --- /dev/null +++ b/packages/ai/src/providers/devin/proto/cel/expr/checked.proto @@ -0,0 +1,103 @@ +syntax = "proto3"; + +package cel.expr; + +import "cel/expr/syntax.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/struct.proto"; + +message CheckedExpr { + map reference_map = 2; + map 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 doc = 2; + } + + 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/packages/ai/src/providers/devin/proto/cel/expr/eval.proto b/packages/ai/src/providers/devin/proto/cel/expr/eval.proto new file mode 100644 index 000000000..79adac7b7 --- /dev/null +++ b/packages/ai/src/providers/devin/proto/cel/expr/eval.proto @@ -0,0 +1,38 @@ +syntax = "proto3"; + +package cel.expr; + +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/packages/ai/src/providers/devin/proto/cel/expr/explain.proto b/packages/ai/src/providers/devin/proto/cel/expr/explain.proto new file mode 100644 index 000000000..639c8394c --- /dev/null +++ b/packages/ai/src/providers/devin/proto/cel/expr/explain.proto @@ -0,0 +1,15 @@ +syntax = "proto3"; + +package cel.expr; + +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/packages/ai/src/providers/devin/proto/cel/expr/syntax.proto b/packages/ai/src/providers/devin/proto/cel/expr/syntax.proto new file mode 100644 index 000000000..ae16fa4c0 --- /dev/null +++ b/packages/ai/src/providers/devin/proto/cel/expr/syntax.proto @@ -0,0 +1,113 @@ +syntax = "proto3"; + +package cel.expr; + +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; + oneof key_kind { + string field_key = 2; + .cel.expr.Expr map_key = 3; + } + .cel.expr.Expr value = 4; + bool optional_entry = 5; + } + + string message_name = 1; + repeated .cel.expr.Expr.CreateStruct.Entry entries = 2; + } + + message Comprehension { + string iter_var = 1; + string iter_var2 = 8; + .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 [deprecated = true]; + .google.protobuf.Timestamp timestamp_value = 9 [deprecated = true]; + } +} + +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 .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; + map positions = 4; + map macro_calls = 5; + repeated .cel.expr.SourceInfo.Extension extensions = 6; +} diff --git a/packages/ai/src/providers/devin/proto/cel/expr/value.proto b/packages/ai/src/providers/devin/proto/cel/expr/value.proto new file mode 100644 index 000000000..da3bd8593 --- /dev/null +++ b/packages/ai/src/providers/devin/proto/cel/expr/value.proto @@ -0,0 +1,41 @@ +syntax = "proto3"; + +package cel.expr; + +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/packages/ai/src/providers/devin/proto/connectext/grpc/status/v1/status.proto b/packages/ai/src/providers/devin/proto/connectext/grpc/status/v1/status.proto new file mode 100644 index 000000000..c522caf70 --- /dev/null +++ b/packages/ai/src/providers/devin/proto/connectext/grpc/status/v1/status.proto @@ -0,0 +1,11 @@ +syntax = "proto3"; + +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/packages/ai/src/providers/devin/proto/errorspb/errors.proto b/packages/ai/src/providers/devin/proto/errorspb/errors.proto new file mode 100644 index 000000000..7ef02ab5f --- /dev/null +++ b/packages/ai/src/providers/devin/proto/errorspb/errors.proto @@ -0,0 +1,56 @@ +syntax = "proto3"; + +package cockroach.errorspb; + +import "google/protobuf/any.proto"; + +enum MessageType { + PREFIX = 0; + FULL_MESSAGE = 1; +} + +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; +} diff --git a/packages/ai/src/providers/devin/proto/errorspb/hintdetail.proto b/packages/ai/src/providers/devin/proto/errorspb/hintdetail.proto new file mode 100644 index 000000000..1df10fb9d --- /dev/null +++ b/packages/ai/src/providers/devin/proto/errorspb/hintdetail.proto @@ -0,0 +1,7 @@ +syntax = "proto3"; + +package cockroach.errorspb; + +message StringPayload { + string msg = 1; +} diff --git a/packages/ai/src/providers/devin/proto/errorspb/markers.proto b/packages/ai/src/providers/devin/proto/errorspb/markers.proto new file mode 100644 index 000000000..54a53fd58 --- /dev/null +++ b/packages/ai/src/providers/devin/proto/errorspb/markers.proto @@ -0,0 +1,10 @@ +syntax = "proto3"; + +package cockroach.errorspb; + +import "errorspb/errors.proto"; + +message MarkPayload { + string msg = 1; + repeated .cockroach.errorspb.ErrorTypeMark types = 2; +} diff --git a/packages/ai/src/providers/devin/proto/errorspb/tags.proto b/packages/ai/src/providers/devin/proto/errorspb/tags.proto new file mode 100644 index 000000000..c541be257 --- /dev/null +++ b/packages/ai/src/providers/devin/proto/errorspb/tags.proto @@ -0,0 +1,12 @@ +syntax = "proto3"; + +package cockroach.errorspb; + +message TagsPayload { + repeated .cockroach.errorspb.TagPayload tags = 1; +} + +message TagPayload { + string tag = 1; + string value = 2; +} diff --git a/packages/ai/src/providers/devin/proto/errorspb/testing.proto b/packages/ai/src/providers/devin/proto/errorspb/testing.proto new file mode 100644 index 000000000..50cb02cc4 --- /dev/null +++ b/packages/ai/src/providers/devin/proto/errorspb/testing.proto @@ -0,0 +1,6 @@ +syntax = "proto3"; + +package cockroach.errorspb; + +message TestError { +} diff --git a/packages/ai/src/providers/devin/proto/exa/analytics_pb/analytics.proto b/packages/ai/src/providers/devin/proto/exa/analytics_pb/analytics.proto new file mode 100644 index 000000000..e046a72ae --- /dev/null +++ b/packages/ai/src/providers/devin/proto/exa/analytics_pb/analytics.proto @@ -0,0 +1,188 @@ +syntax = "proto3"; + +package 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"; + +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; + optional string arena_id = 8; + .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; +} + +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 { +} + +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); +} diff --git a/packages/ai/src/providers/devin/proto/exa/api_server_pb/api_server.proto b/packages/ai/src/providers/devin/proto/exa/api_server_pb/api_server.proto new file mode 100644 index 000000000..4e74a54f9 --- /dev/null +++ b/packages/ai/src/providers/devin/proto/exa/api_server_pb/api_server.proto @@ -0,0 +1,2461 @@ +syntax = "proto3"; + +package 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 "exa/trust_pb/trust.proto"; +import "google/protobuf/timestamp.proto"; + +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; +} + +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 [deprecated = true]; + string model_router_uid = 5; + optional string converged_arena_jwt = 6; + optional string converged_trajectory_id = 7; +} + +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 AssignModelRequest { + reserved 4; + + .exa.codeium_common_pb.Metadata metadata = 1; + string model_router_uid = 2; + string cascade_id = 3; + .exa.chat_pb.ChatMessagePrompt chat_message_prompt = 5; +} + +message ModelAssignment { + string assignment_jwt = 1; + string model_uid = 2; + repeated string harness_uids = 3; +} + +message AssignModelResponse { + .exa.api_server_pb.ModelAssignment assignment = 1; +} + +message GetTranscriptionRequest { + reserved 3; + reserved 4; + reserved "prompt", "latency_info"; + + .exa.codeium_common_pb.Metadata metadata = 1; + bytes audio_data = 2; +} + +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 7; + reserved "skip_completion_telemetry"; + + .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 2; + reserved "high_priority"; + + .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 { + map user_last_update_times = 1; + map user_last_update_record_lists = 2; +} + +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 2; + reserved 3; + reserved 4; + reserved 5; + reserved 6; + reserved 7; + reserved 8; + reserved 9; + reserved 10; + reserved 11; + reserved 12; + reserved "et", "sk", "ak", "gci", "gr", "gu", "tuc", "tdc", "bn", "bs", "tid"; + + .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 23; + reserved 4; + reserved "arena_tier", "model_name"; + + .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 [deprecated = true]; + 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 int32 arena_converge_count = 24; + optional string arena_assignment_jwt = 25; + optional string model_assignment_jwt = 26; +} + +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 [deprecated = true]; + string request_id = 17; + int32 committed_credit_cost = 18; + string prompt = 19; + bytes gemini_thought_signature = 20 [deprecated = true]; + string delta_signature_type = 21; + double committed_acu_cost = 22; + optional string actual_model_uid = 23; + bool arena_invocation_cap_reached = 24; + string phase = 25; + optional int64 committed_quota_cost_basis_points = 26; + optional int64 committed_overage_cost_cents = 27; + repeated .exa.codeium_common_pb.ResponseDimensionGroup response_dimension_groups = 28; +} + +message CheckUserMessageRateLimitRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + .exa.codeium_common_pb.Model model_deprecated = 2 [deprecated = true]; + 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 [deprecated = true]; + 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 { + .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; + map 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 [deprecated = true]; + 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 GetModelProvidersRequest { +} + +message ModelProviderInfo { + .exa.codeium_common_pb.ModelProvider provider = 1; + string display_name = 2; +} + +message GetModelProvidersResponse { + repeated .exa.api_server_pb.ModelProviderInfo model_providers = 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 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 JoinWaitlistRequest { + string feature_name = 1; + string email = 2; +} + +message JoinWaitlistResponse { + string result = 1; +} + +message SubscribeToBlogRequest { + string email = 1; +} + +message SubscribeToBlogResponse { +} + +message UnsubscribeFromEmailsRequest { + string email = 1; +} + +message UnsubscribeFromEmailsResponse { +} + +message SendReferralEmailRequest { + reserved 1; + reserved "auth_token"; + + string email = 2; + string details = 3; +} + +message SendReferralEmailResponse { +} + +message AccountOwnershipNotificationVerificationRequest { + reserved 1; + reserved "auth_token"; +} + +message AccountOwnershipNotificationVerificationResponse { + bool should_show = 1; + string verification_code = 2; +} + +message AccountOwnershipNotificationDismissRequest { + reserved 1; + reserved "auth_token"; +} + +message AccountOwnershipNotificationDismissResponse { + bool success = 1; +} + +message PingRequest { + uint64 work_duration_ms = 1 [deprecated = true]; +} + +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 { + reserved 4; + reserved "auth_token"; + + string version = 1; + string team_id = 2; + string base_url = 3; +} + +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 { + reserved 1; + reserved "auth_token"; + + 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; + string cascade_id = 3; +} + +message LogCascadeSessionHybridResponse { +} + +message LogCascadePromptHybridRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string user_prompt = 2; + string model_name = 3; + string repo = 4; + string cascade_id = 5; + string workspace_path = 6; +} + +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 { + reserved 2; + reserved "filter"; + + .exa.codeium_common_pb.Metadata metadata = 1; +} + +message GetCascadeModelConfigsForSiteRequest { + reserved 5; + reserved 6; + reserved "filter", "auth_token"; + + string api_key = 1 [deprecated = true]; + string ide_name = 2 [deprecated = true]; + string ide_version = 3 [deprecated = true]; + string extension_version = 4 [deprecated = true]; +} + +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 { + reserved 2; + reserved 3; + reserved "client_model_sorts", "default_off_models_for_teams"; + + repeated .exa.codeium_common_pb.ClientModelConfig client_model_configs = 1; +} + +message GetCommandModelConfigsRequest { + .exa.codeium_common_pb.Metadata metadata = 1; +} + +message GetCommandModelConfigsResponse { + repeated .exa.codeium_common_pb.ClientModelConfig client_model_configs = 1; +} + +message GetCommandModelConfigsForSiteRequest { + reserved 1; + reserved "auth_token"; +} + +message GetCommandModelConfigsForSiteResponse { + repeated .exa.codeium_common_pb.ClientModelConfig client_model_configs = 1; +} + +message GetCliModelConfigsRequest { + reserved 2; + reserved "filter"; + + .exa.codeium_common_pb.Metadata metadata = 1; +} + +message GetCliModelConfigsResponse { + reserved 2; + reserved "client_model_sorts"; + + repeated .exa.codeium_common_pb.ClientModelConfig client_model_configs = 1; + optional .exa.codeium_common_pb.DefaultOverrideModelConfig default_override_model_config = 3; +} + +message GetCliModelConfigsForSiteRequest { + reserved 1; + reserved 2; + reserved "auth_token", "filter"; +} + +message GetCliModelConfigsForSiteResponse { + reserved 2; + reserved 3; + reserved "client_model_sorts", "default_off_models_for_teams"; + + repeated .exa.codeium_common_pb.ClientModelConfig client_model_configs = 1; +} + +message GetConfigRequest { +} + +message GetConfigResponse { + repeated string repo_blacklist = 1; +} + +message QueryParameter { + map parameters = 1; +} + +message QueryResult { + map 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 { + reserved 15; + reserved "external_acu_multiplier"; + + .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 [deprecated = true]; + 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; + string execution_id = 16; + double cli_acu_multiplier = 17; + string model_uid = 18; + double prompt_credits_per_acu = 19; + int64 list_cost_micros = 20; + int64 discounted_cost_micros = 23; + .exa.codeium_common_pb.BillingStrategy billing_strategy = 21; + .exa.codeium_common_pb.TeamsTier user_tier = 22; +} + +message RecordCascadeUsageResponse { + reserved 1; + reserved "plan_info"; + + .exa.codeium_common_pb.UserStatus user_status = 2; + int32 prompt_credits_used = 3; + int32 flex_credits_used = 4; +} + +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; + string mode = 6; +} + +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 { + reserved 1; + reserved "auth_token"; + + 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 { + reserved 1; + reserved "auth_token"; + + string code_map_id = 2; + string sharing_mode = 3; +} + +message UpdateCodeMapSharingModeResponse { +} + +message ListUserSharedCodeMapsRequest { + reserved 1; + reserved "auth_token"; +} + +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 { + reserved 1; + reserved "auth_token"; + + 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 { + reserved 1; + reserved "auth_token"; +} + +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 { + reserved 2; + reserved "auth_token"; + + .exa.codeium_common_pb.TeamOrganizationalControls controls = 1; +} + +message UpsertTeamOrganizationalControlsForSiteResponse { +} + +message DeleteTeamOrganizationalControlsRequest { + .exa.codeium_common_pb.Metadata metadata = 2; +} + +message DeleteTeamOrganizationalControlsResponse { +} + +message ModelLabelsList { + repeated string labels = 1; +} + +message ModelUidsList { + repeated string uids = 1; +} + +message ApiProvidersList { + repeated .exa.codeium_common_pb.APIProvider providers = 1; +} + +message ModelProvidersList { + repeated .exa.codeium_common_pb.ModelProvider providers = 1; +} + +message BlockedModelTagsList { + repeated string tags = 1; +} + +message UpdateTeamOrganizationalControlsExternalRequest { + reserved 1; + reserved "metadata"; + + optional .exa.api_server_pb.ModelLabelsList cascade_model_labels = 2 [deprecated = true]; + optional .exa.api_server_pb.ModelLabelsList command_model_labels = 3 [deprecated = true]; + optional .exa.api_server_pb.ModelLabelsList cli_model_labels = 4 [deprecated = true]; + optional .exa.api_server_pb.ModelUidsList cascade_model_uids = 5; + optional .exa.api_server_pb.ModelUidsList command_model_uids = 6; + optional .exa.api_server_pb.ModelUidsList cli_model_uids = 7; + optional .exa.api_server_pb.ApiProvidersList allowed_api_providers = 8; + optional .exa.api_server_pb.ModelProvidersList allowed_model_providers = 9; + optional .exa.codeium_common_pb.TeamOrganizationalControls.ModelFilterMode model_filter_mode = 10; + optional .exa.codeium_common_pb.TeamOrganizationalControls.AdaptiveSetting adaptive_setting = 11; + optional .exa.api_server_pb.BlockedModelTagsList blocked_model_tags = 12; + optional .exa.codeium_common_pb.TeamOrganizationalControls.QuickReviewSetting quick_review_setting = 13; + optional .exa.codeium_common_pb.TeamOrganizationalControls.AnthropicCyberRetentionSetting anthropic_cyber_retention_setting = 14; +} + +message UpdateTeamOrganizationalControlsExternalResponse { +} + +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 { + reserved 2; + reserved "auth_token"; + + string api_key = 1; +} + +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 2; + reserved "metadata"; + + 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 { + reserved 2; + reserved "auth_token"; + + string api_key = 1; +} + +message FetchTrajectoryShareByUserResponse { + string user_name = 1; + string user_profile_picture_url = 2; + repeated .exa.api_server_pb.TrajectoryShare shares = 3; +} + +message IsConversationSharingBlockedRequest { + reserved 1; + reserved 2; + reserved "auth_token"; +} + +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 { + reserved 1; + reserved "auth_token"; + + uint32 id = 2; +} + +message GetExternalModelsGroupResponse { + repeated string groups = 1; +} + +message UpdateExternalModelsGroupRequest { + reserved 1; + reserved "auth_token"; + + 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 { + reserved 1; + reserved "auth_token"; + + 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 { + reserved 1; + reserved "auth_token"; + + 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 { + reserved 1; + reserved "auth_token"; + + 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 [deprecated = true]; + 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; + + string prompt = 1; + string request_id = 2; + .exa.codeium_common_pb.ModelFeatures model_features = 3; + map 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; + optional .exa.codeium_common_pb.StopReason stop_reason = 7; + 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; + } +} + +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; +} + +message EnrollCyberVerificationRequest { + reserved 1; + reserved "auth_token"; +} + +message EnrollCyberVerificationResponse { + string enrollment_url = 1; + string anthropic_profile_id = 2; +} + +message GetCyberVerificationEnrollmentUrlRequest { + reserved 1; + reserved "auth_token"; +} + +message GetCyberVerificationEnrollmentUrlResponse { + string enrollment_url = 1; +} + +message UpdateAnthropicCyberVerificationEnabledRequest { + reserved 1; + reserved "auth_token"; + + .exa.codeium_common_pb.TeamOrganizationalControls.CyberVerificationEnabled enabled = 2; +} + +message UpdateAnthropicCyberVerificationEnabledResponse { +} + +message GetDecagonAuthTokenRequest { + reserved 1; + reserved "auth_token"; +} + +message GetDecagonAuthTokenResponse { + string signature = 1; + int64 epoch = 2; + string user_id = 3; +} + +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 AssignArenaModel (.exa.api_server_pb.AssignArenaModelRequest) returns (.exa.api_server_pb.AssignArenaModelResponse); + rpc AssignModel (.exa.api_server_pb.AssignModelRequest) returns (.exa.api_server_pb.AssignModelResponse); + 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 UpdateTeamOrganizationalControlsExternal (.exa.api_server_pb.UpdateTeamOrganizationalControlsExternalRequest) returns (.exa.api_server_pb.UpdateTeamOrganizationalControlsExternalResponse); + 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 JoinWaitlist (.exa.api_server_pb.JoinWaitlistRequest) returns (.exa.api_server_pb.JoinWaitlistResponse); + 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 EnrollCyberVerification (.exa.api_server_pb.EnrollCyberVerificationRequest) returns (.exa.api_server_pb.EnrollCyberVerificationResponse); + rpc GetCyberVerificationEnrollmentUrl (.exa.api_server_pb.GetCyberVerificationEnrollmentUrlRequest) returns (.exa.api_server_pb.GetCyberVerificationEnrollmentUrlResponse); + rpc UpdateAnthropicCyberVerificationEnabled (.exa.api_server_pb.UpdateAnthropicCyberVerificationEnabledRequest) returns (.exa.api_server_pb.UpdateAnthropicCyberVerificationEnabledResponse); + rpc GetDecagonAuthToken (.exa.api_server_pb.GetDecagonAuthTokenRequest) returns (.exa.api_server_pb.GetDecagonAuthTokenResponse); + 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 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 GetModelProviders (.exa.api_server_pb.GetModelProvidersRequest) returns (.exa.api_server_pb.GetModelProvidersResponse); + 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); + rpc RecordTrustEvents (.exa.trust_pb.RecordTrustEventsRequest) returns (.exa.trust_pb.RecordTrustEventsResponse); +} diff --git a/packages/ai/src/providers/devin/proto/exa/auth_pb/auth.proto b/packages/ai/src/providers/devin/proto/exa/auth_pb/auth.proto new file mode 100644 index 000000000..c9bac94b9 --- /dev/null +++ b/packages/ai/src/providers/devin/proto/exa/auth_pb/auth.proto @@ -0,0 +1,19 @@ +syntax = "proto3"; + +package exa.auth_pb; + +import "buf/validate/validate.proto"; +import "exa/codeium_common_pb/codeium_common.proto"; + +message GetUserJwtRequest { + .exa.codeium_common_pb.Metadata metadata = 1; +} + +message GetUserJwtResponse { + string user_jwt = 1; + string custom_api_server_url = 2; +} + +service AuthService { + rpc GetUserJwt (.exa.auth_pb.GetUserJwtRequest) returns (.exa.auth_pb.GetUserJwtResponse); +} diff --git a/packages/ai/src/providers/devin/proto/exa/auto_cascade_common_pb/auto_cascade_common.proto b/packages/ai/src/providers/devin/proto/exa/auto_cascade_common_pb/auto_cascade_common.proto new file mode 100644 index 000000000..c906fa2b3 --- /dev/null +++ b/packages/ai/src/providers/devin/proto/exa/auto_cascade_common_pb/auto_cascade_common.proto @@ -0,0 +1,79 @@ +syntax = "proto3"; + +package exa.auto_cascade_common_pb; + +import "buf/validate/validate.proto"; +import "exa/cortex_pb/cortex.proto"; +import "google/protobuf/timestamp.proto"; + +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; +} + +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 { + map 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; +} diff --git a/packages/ai/src/providers/devin/proto/exa/browser_preview_pb/browser_preview.proto b/packages/ai/src/providers/devin/proto/exa/browser_preview_pb/browser_preview.proto new file mode 100644 index 000000000..977f8e053 --- /dev/null +++ b/packages/ai/src/providers/devin/proto/exa/browser_preview_pb/browser_preview.proto @@ -0,0 +1,32 @@ +syntax = "proto3"; + +package exa.browser_preview_pb; + +import "exa/codeium_common_pb/codeium_common.proto"; + +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 { +} + +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); +} diff --git a/packages/ai/src/providers/devin/proto/exa/bug_checker_pb/bug_checker.proto b/packages/ai/src/providers/devin/proto/exa/bug_checker_pb/bug_checker.proto new file mode 100644 index 000000000..d70a80a02 --- /dev/null +++ b/packages/ai/src/providers/devin/proto/exa/bug_checker_pb/bug_checker.proto @@ -0,0 +1,22 @@ +syntax = "proto3"; + +package 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/packages/ai/src/providers/devin/proto/exa/cascade_plugins_pb/cascade_plugins.proto b/packages/ai/src/providers/devin/proto/exa/cascade_plugins_pb/cascade_plugins.proto new file mode 100644 index 000000000..506dbddab --- /dev/null +++ b/packages/ai/src/providers/devin/proto/exa/cascade_plugins_pb/cascade_plugins.proto @@ -0,0 +1,262 @@ +syntax = "proto3"; + +package exa.cascade_plugins_pb; + +import "buf/validate/validate.proto"; +import "exa/codeium_common_pb/codeium_common.proto"; + +message CascadePluginTemplate { + string title = 1; + string id = 2; + string link = 3; + string description = 4; + map commands = 5 [deprecated = true]; + oneof configuration { + .exa.cascade_plugins_pb.CascadePluginLocalConfig local = 9; + .exa.cascade_plugins_pb.CascadePluginRemoteConfig remote = 10; + } + int64 installation_count = 6; + string trust_level = 7; + string readme = 8; +} + +message CascadePluginLocalConfig { + map commands = 5; +} + +message CascadePluginCommand { + .exa.cascade_plugins_pb.CascadePluginCommandTemplate template = 1; + repeated .exa.cascade_plugins_pb.CascadePluginCommandVariable variables = 2; +} + +message CascadePluginCommandTemplate { + string command = 1; + repeated string args = 2; + map 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 { + string server_url = 1; + map headers = 2; +} + +message GetAvailableCascadePluginsRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string os = 2; + optional string search_query = 3 [deprecated = true]; +} + +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 { + map client_infos = 1; +} + +message GetMcpRegistryServersRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string search_query = 2; + int32 limit = 3; + string cursor = 4; + string registry_url = 5; +} + +message GetMcpRegistryServersResponse { + repeated .exa.cascade_plugins_pb.McpRegistryServer servers = 1; + int32 count = 2; + string next_cursor = 3; +} + +message McpRegistryApiResponse { + .exa.cascade_plugins_pb.McpRegistryApiResponseMetadata metadata = 1; + repeated .exa.cascade_plugins_pb.McpRegistryApiEntry servers = 2; +} + +message McpRegistryApiResponseMetadata { + int32 count = 1; + string next_cursor = 2; +} + +message McpRegistryApiEntry { + .exa.cascade_plugins_pb.McpRegistryOfficialMeta meta = 1; + .exa.cascade_plugins_pb.McpRegistryServer server = 2; +} + +message McpRegistryOfficialMeta { + .exa.cascade_plugins_pb.McpRegistryOfficialMetaDetail official = 1; +} + +message McpRegistryOfficialMetaDetail { + bool is_latest = 1; + string status = 2; + string status_message = 3; + string published_at = 4; + string updated_at = 5; +} + +message McpRegistryServer { + string name = 1; + string title = 2; + string description = 3; + string version = 4; + string website_url = 5; + .exa.cascade_plugins_pb.McpRegistryRepository repository = 6; + repeated .exa.cascade_plugins_pb.McpRegistryPackage packages = 7; + repeated .exa.cascade_plugins_pb.McpRegistryRemote remotes = 8; + repeated .exa.cascade_plugins_pb.McpRegistryIcon icons = 9; + bool is_latest = 10; + string status = 11; + string schema = 12; +} + +message McpRegistryRepository { + string url = 1; + string source = 2; + string id = 3; + string subfolder = 4; +} + +message McpRegistryIcon { + string src = 1; + string mime_type = 2; + string theme = 3; + repeated string sizes = 4; +} + +message McpRegistryPackage { + string registry_type = 1; + string identifier = 2; + string version = 3; + string runtime_hint = 4; + repeated .exa.cascade_plugins_pb.McpRegistryEnvironmentVariable environment_variables = 5; + .exa.cascade_plugins_pb.McpRegistryTransport transport = 6; + repeated .exa.cascade_plugins_pb.McpRegistryArgument package_arguments = 7; + repeated .exa.cascade_plugins_pb.McpRegistryArgument runtime_arguments = 8; + string registry_base_url = 9; + string file_sha256 = 10; +} + +message McpRegistryTransport { + string type = 1; + string url = 2; + repeated .exa.cascade_plugins_pb.McpRegistryKeyValueInput headers = 3; + map variables = 4; +} + +message McpRegistryEnvironmentVariable { + string name = 1; + string description = 2; + bool is_required = 3; + bool is_secret = 4; + string default = 5; + string value = 6; + string placeholder = 7; + string format = 8; + repeated string choices = 9; + map variables = 10; +} + +message McpRegistryRemote { + string type = 1; + string url = 2; + repeated .exa.cascade_plugins_pb.McpRegistryKeyValueInput headers = 3; + map variables = 4; +} + +message McpRegistryKeyValueInput { + string name = 1; + string description = 2; + bool is_required = 3; + bool is_secret = 4; + string default = 5; + string value = 6; + string placeholder = 7; + string format = 8; + repeated string choices = 9; + map variables = 10; +} + +message McpRegistryInput { + string description = 1; + bool is_required = 2; + bool is_secret = 3; + string default = 4; + string value = 5; + string placeholder = 6; + string format = 7; + repeated string choices = 8; +} + +message McpRegistryArgument { + string type = 1; + string name = 2; + string description = 3; + bool is_required = 4; + bool is_secret = 5; + bool is_repeated = 6; + string default = 7; + string value = 8; + string placeholder = 9; + string format = 10; + repeated string choices = 11; + string value_hint = 12; + map variables = 13; +} + +message GetAllAcpRegistriesRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string version = 2; +} + +message GetAllAcpRegistriesResponse { + string registry_json = 1; +} + +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); + rpc GetAllAcpRegistries (.exa.cascade_plugins_pb.GetAllAcpRegistriesRequest) returns (.exa.cascade_plugins_pb.GetAllAcpRegistriesResponse); +} diff --git a/packages/ai/src/providers/devin/proto/exa/chat_client_server_pb/chat_client_server.proto b/packages/ai/src/providers/devin/proto/exa/chat_client_server_pb/chat_client_server.proto new file mode 100644 index 000000000..a4696fab0 --- /dev/null +++ b/packages/ai/src/providers/devin/proto/exa/chat_client_server_pb/chat_client_server.proto @@ -0,0 +1,57 @@ +syntax = "proto3"; + +package exa.chat_client_server_pb; + +import "exa/codeium_common_pb/codeium_common.proto"; + +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; +} + +service ChatClientServerService { + rpc StartChatClientRequestStream (.exa.chat_client_server_pb.StartChatClientRequestStreamRequest) returns (stream .exa.chat_client_server_pb.ChatClientRequest); +} diff --git a/packages/ai/src/providers/devin/proto/exa/chat_pb/chat.proto b/packages/ai/src/providers/devin/proto/exa/chat_pb/chat.proto new file mode 100644 index 000000000..c03245798 --- /dev/null +++ b/packages/ai/src/providers/devin/proto/exa/chat_pb/chat.proto @@ -0,0 +1,449 @@ +syntax = "proto3"; + +package 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"; + +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; +} + +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 [deprecated = true]; + 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 [deprecated = true]; + 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 [deprecated = true]; + 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 [deprecated = true]; + 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 [deprecated = true]; + 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 [deprecated = true]; + 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 [deprecated = true]; + 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 [deprecated = true]; + 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 [deprecated = true]; + 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 [deprecated = true]; + 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 { + 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; + } + uint32 num_tokens = 12; +} + +message ChatMessageActionSearch { +} + +message ChatMessageActionEdit { + string file_path_migrate_me_to_uri = 1 [deprecated = true]; + 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 { + oneof action { + .exa.chat_pb.ChatMessageActionGeneric generic = 1; + .exa.chat_pb.ChatMessageActionEdit edit = 3; + .exa.chat_pb.ChatMessageActionSearch search = 5; + } + 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; +} + +message ChatMessage { + string message_id = 1; + .exa.codeium_common_pb.ChatMessageSource source = 2; + .google.protobuf.Timestamp timestamp = 3; + string conversation_id = 4; + 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; + } + bool in_progress = 9; + .exa.chat_pb.GetChatMessageRequest request = 10; + bool redact = 11; +} + +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 [deprecated = true]; + bytes gemini_thought_signature = 17 [deprecated = true]; + string signature_type = 18; + string phase = 19; +} + +message PromptCacheOptions { + .exa.chat_pb.CacheControlType type = 1; +} + +message ChatToolDefinition { + reserved 4; + + string name = 1; + string description = 2; + string json_schema_string = 3; + 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; + optional bool is_custom_tool = 9; + optional string custom_tool_grammar = 10; + optional string custom_tool_grammar_syntax = 11; + bool strict = 12; +} + +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 2; + reserved "prompt"; + + 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 [deprecated = true]; + repeated string open_document_paths_migrate_me_to_uris = 6 [deprecated = true]; + repeated string workspace_paths_migrate_me_to_uris = 7 [deprecated = true]; +} + +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; +} diff --git a/packages/ai/src/providers/devin/proto/exa/code_edit/code_edit_pb/code_edit.proto b/packages/ai/src/providers/devin/proto/exa/code_edit/code_edit_pb/code_edit.proto new file mode 100644 index 000000000..9c5c65ca5 --- /dev/null +++ b/packages/ai/src/providers/devin/proto/exa/code_edit/code_edit_pb/code_edit.proto @@ -0,0 +1,186 @@ +syntax = "proto3"; + +package 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"; + +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; +} + +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 { + .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; + map 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 [deprecated = true]; + string start_file_uri = 10; + string start_file_rel_path = 8; + string end_file_path_migrate_me_to_uri = 2 [deprecated = true]; + 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 7; + reserved "intent_by_type"; + + .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; + oneof code_change_data_source { + .exa.code_edit.code_edit_pb.GitCommit git_commit = 4; + } + .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; +} + +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 2; + reserved "retrieved_code_contexts"; + + .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; +} diff --git a/packages/ai/src/providers/devin/proto/exa/codeium_common_pb/codeium_common.proto b/packages/ai/src/providers/devin/proto/exa/codeium_common_pb/codeium_common.proto new file mode 100644 index 000000000..e14414a9c --- /dev/null +++ b/packages/ai/src/providers/devin/proto/exa/codeium_common_pb/codeium_common.proto @@ -0,0 +1,4157 @@ +syntax = "proto3"; + +package exa.codeium_common_pb; + +import "buf/validate/validate.proto"; +import "google/protobuf/duration.proto"; +import "google/protobuf/timestamp.proto"; + +enum ProviderSource { + PROVIDER_SOURCE_UNSPECIFIED = 0; + PROVIDER_SOURCE_AUTOCOMPLETE = 1; + PROVIDER_SOURCE_CHAT = 2; + PROVIDER_SOURCE_COMMAND_GENERATE = 4; + PROVIDER_SOURCE_COMMAND_EDIT = 5; + PROVIDER_SOURCE_SUPERCOMPLETE = 6; + PROVIDER_SOURCE_COMMAND_PLAN = 7; + PROVIDER_SOURCE_QUERY = 8; + PROVIDER_SOURCE_FAST_APPLY = 9; + PROVIDER_SOURCE_COMMAND_TERMINAL = 10; + PROVIDER_SOURCE_TAB_JUMP = 11; + PROVIDER_SOURCE_CASCADE = 12; + + reserved 3; + reserved "PROVIDER_SOURCE_SUPERCOMPLETE_CHAT"; +} + +enum PromptElementKind { + PROMPT_ELEMENT_KIND_UNSPECIFIED = 0; + PROMPT_ELEMENT_KIND_FILE_MARKER = 2; + PROMPT_ELEMENT_KIND_OTHER_DOCUMENT = 4; + PROMPT_ELEMENT_KIND_BEFORE_CURSOR = 5; + PROMPT_ELEMENT_KIND_AFTER_CURSOR = 7; + PROMPT_ELEMENT_KIND_FIM = 8; + PROMPT_ELEMENT_KIND_SOT = 9; + PROMPT_ELEMENT_KIND_EOT = 10; + PROMPT_ELEMENT_KIND_CODE_CONTEXT_ITEM = 13; + PROMPT_ELEMENT_KIND_INSTRUCTION = 14; + PROMPT_ELEMENT_KIND_SELECTION = 15; + PROMPT_ELEMENT_KIND_TRAJECTORY_STEP = 16; + PROMPT_ELEMENT_KIND_ACTIVE_DOCUMENT = 17; + PROMPT_ELEMENT_KIND_CACHED_MESSAGE = 18; + + reserved 1; + reserved 3; + reserved 6; + reserved 11; + reserved 12; + reserved "PROMPT_ELEMENT_KIND_LANGUAGE_MARKER", "PROMPT_ELEMENT_KIND_SIBLING_FUNCTION", "PROMPT_ELEMENT_KIND_FILE_SEPARATOR", "PROMPT_ELEMENT_KIND_SEARCH_RESULT", "PROMPT_ELEMENT_KIND_TOP_OF_DOC"; +} + +enum PromptAnnotationKind { + PROMPT_ANNOTATION_KIND_UNSPECIFIED = 0; + PROMPT_ANNOTATION_KIND_COPY = 1; + PROMPT_ANNOTATION_KIND_PROMPT_CACHE = 2; +} + +enum ExperimentKey { + UNSPECIFIED = 0; + USE_INTERNAL_CHAT_MODEL = 36; + RECORD_FILES = 47; + NO_SAMPLER_EARLY_STOP = 48; + CM_MEMORY_TELEMETRY = 53; + LANGUAGE_SERVER_VERSION = 55; + LANGUAGE_SERVER_AUTO_RELOAD = 56; + ONLY_MULTILINE = 60; + USE_AUTOCOMPLETE_MODEL = 64; + USE_ATTRIBUTION_FOR_INDIVIDUAL_TIER = 68; + CHAT_MODEL_CONFIG = 78; + COMMAND_MODEL_CONFIG = 79; + MIN_IDE_VERSION = 81; + API_SERVER_VERBOSE_ERRORS = 84; + DEFAULT_ENABLE_SEARCH = 86; + COLLECT_ONBOARDING_EVENTS = 87; + COLLECT_EXAMPLE_COMPLETIONS = 88; + USE_MULTILINE_MODEL = 89; + ATTRIBUTION_KILL_SWITCH = 92; + FAST_MULTILINE = 94; + SINGLE_COMPLETION = 95; + STOP_FIRST_NON_WHITESPACE_LINE = 96; + CORTEX_CONFIG = 102; + MODEL_CHAT_11121_VARIANTS = 103; + INCLUDE_PROMPT_COMPONENTS = 105; + NON_TEAMS_KILL_SWITCH = 106; + PERSIST_CODE_TRACKER = 108; + CHAT_COMPLETION_TOKENS_SOFT_LIMIT = 114; + CHAT_TOKENS_SOFT_LIMIT = 115; + DISABLE_COMPLETIONS_CACHE = 118; + LLAMA3_405B_KILL_SWITCH = 119; + USE_COMMAND_DOCSTRING_GENERATION = 121; + ENABLE_SUPERCOMPLETE = 123; + SENTRY = 136; + FAST_SINGLELINE = 144; + R2_LANGUAGE_SERVER_DOWNLOAD = 147; + SPLIT_MODEL = 152; + WINDSURF_SENTRY_SAMPLE_RATE = 198; + API_SERVER_CUTOFF = 158; + FAST_SPEED_KILL_SWITCH = 159; + PREDICTIVE_MULTILINE = 160; + SUPERCOMPLETE_FILTER_REVERT = 125; + SUPERCOMPLETE_FILTER_PREFIX_MATCH = 126; + SUPERCOMPLETE_FILTER_SCORE_THRESHOLD = 127; + SUPERCOMPLETE_FILTER_INSERTION_CAP = 128; + SUPERCOMPLETE_FILTER_DELETION_CAP = 133; + SUPERCOMPLETE_FILTER_WHITESPACE_ONLY = 156; + SUPERCOMPLETE_FILTER_NO_OP = 170; + SUPERCOMPLETE_FILTER_SUFFIX_MATCH = 176; + SUPERCOMPLETE_FILTER_PREVIOUSLY_SHOWN = 182; + SUPERCOMPLETE_MIN_SCORE = 129; + SUPERCOMPLETE_MAX_INSERTIONS = 130; + SUPERCOMPLETE_LINE_RADIUS = 131; + SUPERCOMPLETE_MAX_DELETIONS = 132; + SUPERCOMPLETE_RECENT_STEPS_DURATION = 138; + SUPERCOMPLETE_MAX_TRAJECTORY_STEPS = 154; + SUPERCOMPLETE_MAX_TRAJECTORY_STEP_SIZE = 203; + SUPERCOMPLETE_DISABLE_TYPING_CACHE = 231; + SUPERCOMPLETE_ALWAYS_USE_CACHE_ON_EQUAL_STATE = 293; + SUPERCOMPLETE_CACHE_ON_PARENT_ID_KILL_SWITCH = 297; + SUPERCOMPLETE_PRUNE_RESPONSE = 140; + SUPERCOMPLETE_PRUNE_MAX_INSERT_DELETE_LINE_DELTA = 141; + SUPERCOMPLETE_MODEL_CONFIG = 145; + SUPERCOMPLETE_MODEL_CONFIG_LOW = 330; + SUPERCOMPLETE_MODEL_CONFIG_HIGH = 331; + SUPERCOMPLETE_ON_TAB = 151; + SUPERCOMPLETE_INLINE_PURE_DELETE = 171; + SUPERCOMPLETE_INLINE_RICH_GHOST_TEXT_INSERTIONS = 218; + MODEL_CHAT_19821_VARIANTS = 308; + SUPERCOMPLETE_MAX_CONCURRENT_REQUESTS = 284; + COMMAND_PROMPT_CACHE_CONFIG = 255; + CUMULATIVE_PROMPT_CONFIG = 256; + CUMULATIVE_PROMPT_CASCADE_CONFIG = 279; + TAB_JUMP_CUMULATIVE_PROMPT_CONFIG = 301; + COMPLETION_SPEED_SUPERCOMPLETE_CACHE = 207; + COMPLETION_SPEED_PREDICTIVE_SUPERCOMPLETE = 208; + COMPLETION_SPEED_TAB_JUMP_CACHE = 209; + COMPLETION_SPEED_PREDICTIVE_TAB_JUMP = 210; + COMPLETION_SPEED_BLOCK_TAB_JUMP_ON_PREDICTIVE_SUPERCOMPLETE = 294; + JETBRAINS_ENABLE_ONBOARDING = 137; + ENABLE_AUTOCOMPLETE_DURING_INTELLISENSE = 146; + COMMAND_BOX_ON_TOP = 155; + CONTEXT_ACTIVE_DOCUMENT_FRACTION = 149; + CONTEXT_FORCE_LOCAL_CONTEXT = 178; + CROSS_SELL_EXTENSION_DOWNLOAD_WINDSURF = 220; + MODEL_LLAMA_3_1_70B_INSTRUCT_LONG_CONTEXT_VARIANTS = 295; + USE_AUTOCOMPLETE_MODEL_SERVER_SIDE = 163; + SUPERCOMPLETE_NO_CONTEXT = 165; + SUPERCOMPLETE_NO_ACTIVE_NODE = 166; + TAB_JUMP_ENABLED = 168; + TAB_JUMP_ACCEPT_ENABLED = 169; + TAB_JUMP_LINE_RADIUS = 177; + TAB_JUMP_MIN_FILTER_RADIUS = 197; + TAB_JUMP_ON_ACCEPT_ONLY = 205; + TAB_JUMP_FILTER_IN_SELECTION = 215; + TAB_JUMP_MODEL_CONFIG = 237; + TAB_JUMP_FILTER_NO_OP = 238; + TAB_JUMP_FILTER_REVERT = 239; + TAB_JUMP_FILTER_SCORE_THRESHOLD = 240; + TAB_JUMP_FILTER_WHITESPACE_ONLY = 241; + TAB_JUMP_FILTER_INSERTION_CAP = 242; + TAB_JUMP_FILTER_DELETION_CAP = 243; + TAB_JUMP_PRUNE_RESPONSE = 260; + TAB_JUMP_PRUNE_MAX_INSERT_DELETE_LINE_DELTA = 261; + TAB_JUMP_STOP_TOKEN_MIDSTREAM = 317; + VIEWED_FILE_TRACKER_CONFIG = 211; + SNAPSHOT_TO_STEP_OPTIONS_OVERRIDE = 305; + STREAMING_EXTERNAL_COMMAND = 172; + USE_SPECIAL_EDIT_CODE_BLOCK = 179; + ENABLE_SUGGESTED_RESPONSES = 187; + CASCADE_BASE_MODEL_ID = 190; + CASCADE_PLAN_BASED_CONFIG_OVERRIDE = 266; + CASCADE_GLOBAL_CONFIG_OVERRIDE = 212; + CASCADE_BACKGROUND_RESEARCH_CONFIG_OVERRIDE = 193; + CASCADE_ENFORCE_QUOTA = 204; + CASCADE_ENABLE_AUTOMATED_MEMORIES = 224; + CASCADE_MEMORY_CONFIG_OVERRIDE = 314; + CASCADE_USE_REPLACE_CONTENT_EDIT_TOOL = 228; + CASCADE_VIEW_FILE_TOOL_CONFIG_OVERRIDE = 258; + CASCADE_USE_EXPERIMENT_CHECKPOINTER = 247; + CASCADE_ENABLE_MCP_TOOLS = 245; + CASCADE_AUTO_FIX_LINTS = 275; + USE_ANTHROPIC_TOKEN_EFFICIENT_TOOLS_BETA = 296; + CASCADE_USER_MEMORIES_IN_SYS_PROMPT = 289; + CASCADE_ENABLE_PROXY_WEB_SERVER = 290; + COLLAPSE_ASSISTANT_MESSAGES = 312; + CASCADE_DEFAULT_MODEL_OVERRIDE = 321; + ENABLE_SMART_COPY = 181; + ENABLE_COMMIT_MESSAGE_GENERATION = 185 [deprecated = true]; + SKIP_CONSISTENCY_MANAGER = 194; + FIREWORKS_ON_DEMAND_DEPLOYMENT = 276; + API_SERVER_CLIENT_USE_HTTP_2 = 202; + AUTOCOMPLETE_DEFAULT_DEBOUNCE_MS = 213; + AUTOCOMPLETE_FAST_DEBOUNCE_MS = 214; + PROFILING_TELEMETRY_SAMPLE_RATE = 219; + STREAM_USER_SHELL_COMMANDS = 225; + API_SERVER_PROMPT_CACHE_REPLICAS = 307; + API_SERVER_ENABLE_MORE_LOGGING = 272; + COMMAND_INJECT_USER_MEMORIES = 233; + AUTOCOMPLETE_HIDDEN_ERROR_REGEX = 234; + DISABLE_IDE_COMPLETIONS_DEBOUNCE = 278; + ENABLE_QUICK_ACTIONS = 250; + QUICK_ACTIONS_WHITELIST_REGEX = 251; + CASCADE_NEW_MODELS_NUX = 259 [deprecated = true]; + CASCADE_NEW_WAVE_2_MODELS_NUX = 270 [deprecated = true]; + SUPERCOMPLETE_FAST_DEBOUNCE = 262; + SUPERCOMPLETE_REGULAR_DEBOUNCE = 263; + XML_TOOL_PARSING_MODELS = 268; + SUPERCOMPLETE_DONT_FILTER_MID_STREAMED = 269; + ANNOYANCE_MANAGER_MAX_NAVIGATION_RENDERS = 285; + ANNOYANCE_MANAGER_INLINE_PREVENTION_THRESHOLD_MS = 286; + ANNOYANCE_MANAGER_INLINE_PREVENTION_MAX_INTENTIONAL_REJECTIONS = 287; + ANNOYANCE_MANAGER_INLINE_PREVENTION_MAX_AUTO_REJECTIONS = 288; + USE_CUSTOM_CHARACTER_DIFF = 292; + FORCE_NON_OPTIMIZED_DIFF = 298; + CASCADE_WEB_APP_DEPLOYMENTS_ENABLED = 300; + CASCADE_RECIPES_AT_MENTION_VISIBILITY = 316; + IMPLICIT_USES_CLIPBOARD = 310; + DISABLE_SUPERCOMPLETE_PCW = 303; + BLOCK_TAB_ON_SHOWN_AUTOCOMPLETE = 304; + CASCADE_WEB_SEARCH_NUX = 311; + MODEL_NOTIFICATIONS = 319; + MODEL_SELECTOR_NUX_COPY = 320; + CASCADE_TOOL_CALL_PRICING_NUX = 322; + CASCADE_PLUGINS_TAB = 323; + WAVE_8_RULES_ENABLED = 324; + WAVE_8_KNOWLEDGE_ENABLED = 325; + CASCADE_ONBOARDING = 326; + CASCADE_ONBOARDING_REVERT = 327; + CASCADE_WINDSURF_BROWSER_TOOLS_ENABLED = 328; + CASCADE_MODEL_HEADER_WARNING = 329; + TEST_ONLY = 999; + + reserved 236; + reserved 1 to 35; + reserved 37 to 43; + reserved 44; + reserved 45; + reserved 46; + reserved 49; + reserved 50; + reserved 51; + reserved 52; + reserved 57; + reserved 58; + reserved 59; + reserved 61; + reserved 62; + reserved 63; + reserved 65; + reserved 66; + reserved 67; + reserved 69; + reserved 70; + reserved 71; + reserved 72; + reserved 73; + reserved 74; + reserved 75; + reserved 76; + reserved 77; + reserved 80; + reserved 82; + reserved 83; + reserved 85; + reserved 90; + reserved 91; + reserved 93; + reserved 98; + reserved 99; + reserved 100; + reserved 101; + reserved 104; + reserved 107; + reserved 110; + reserved 111; + reserved 112; + reserved 113; + reserved 116; + reserved 120; + reserved 122; + reserved 124; + reserved 134; + reserved 135; + reserved 139; + reserved 142; + reserved 143; + reserved 150; + reserved 157; + reserved 161; + reserved 162; + reserved 167; + reserved 173; + reserved 174; + reserved 175; + reserved 180; + reserved 183; + reserved 184; + reserved 186; + reserved 188; + reserved 189; + reserved 195; + reserved 196; + reserved 199; + reserved 200; + reserved 206; + reserved 216; + reserved 217; + reserved 221; + reserved 222; + reserved 223; + reserved 226; + reserved 227; + reserved 229; + reserved 230; + reserved 232; + reserved 235; + reserved 244; + reserved 246; + reserved 248; + reserved 252; + reserved 253; + reserved 254; + reserved 257; + reserved 264; + reserved 265; + reserved 267; + reserved 274; + reserved 277; + reserved 280; + reserved 281; + reserved 282; + reserved 291; + reserved 299; + reserved 302; + reserved 306; + reserved 313; + reserved 315; + reserved 318; + reserved "FILE_MARKER", "USE_MODEL_3356", "SAMPLING_CHANGE_1", "SCORING_CHANGE_1", "SCORING_CHANGE_2", "DONT_PRUNE_MULTILINE_OVERLAP", "USE_FIM_EOT_THRESHOLD", "DO_NOT_SCORE_STOP_TOKENS", "SQRT_LEN_NORM_LOG_PROB_SCORE", "USE_MODEL_3554", "USE_MODEL_3554_DC", "SIBLING_FUNCTIONS", "USE_FIM", "HIGHER_TEMPERATURE", "USE_MODEL_4300", "USE_MODEL_4531", "USE_MODEL_4861", "SEARCH_CONDITIONED_GENERATION", "USE_MODEL_5202", "USE_MODEL_5439", "USE_MODEL_5519", "INLINE_FIM", "INCLUDE_TOP_OF_DOC", "VSCODE_USE_GRPC_PROTOCOL", "XBATCHER_FALLBACK", "LOWER_P", "USE_MODEL_5305", "USE_MODEL_5476", "USE_INFERENCE_SERVER_COMPLETIONS", "USE_MODEL_6282", "CONTEXT_FOR_AUTOCOMPLETE", "USE_MODEL_6569", "CONTEXT_FOR_CHAT", "REORDER_CONTEXT_PROMPT", "REGULARLY_UPLOAD_MEMORY_STATS", "USE_MODEL_7747", "USE_MODEL_7725", "USE_GPT_4_COMMAND", "RANGE_TRACKING", "PRUNE_BAD_INLINE_FIM", "LIMIT_PREFIX", "USE_REMOTE_EMBEDDING", "USE_CHAT_INSTRUCT_COMPLETION", "PING_API_SERVER", "SORT_EOM_FIRST", "USE_MODEL_7158", "USE_MODEL_8276", "USE_MODEL_7468", "USE_MODEL_8523", "INTENT_FILTER", "STREAMING_COMPLETIONS", "STREAMING_COMPLETIONS_CUTOFF", "SWITCH_LINE_TYPE", "USE_MODEL_9589", "JUPYTER_FORMAT", "USE_MODEL_8615", "USE_MODEL_8684", "USE_MODEL_8251", "USE_MODEL_8341", "USE_MODEL_10880", "MODEL_CHAT_10546_VARIANTS", "INTENT_INFERENCE", "MODEL_12471_TOKENS", "USE_MQUERY_SCORER", "USE_QUANTIZED_FAISS_INDEX", "MULTILINE_MODEL_THRESHOLD", "USE_SUPERCOMPLETE_MODEL", "USE_INFERENCE_API_SERVER", "CASCADE_WEB_TOOLS_READ_URLS", "CASCADE_USE_SUBAGENT_CHECKPOINTER", "USE_OPENAI_INTERFACE_CLIENT", "TAB_JUMP_PRINT_LINE_RANGE", "CASCADE_FREE_CONFIG_OVERRIDE", "CASCADE_PREMIUM_CONFIG_OVERRIDE", "USE_GCP_API_SERVER_FOR_PREMIUM_CHAT", "USE_OPENAI_OFFICIAL_CLIENT", "ESTIMATE_TOKENIZER_KILL_SWITCH", "ENABLE_SHELL_COMMAND_TRAJECTORY", "ENABLE_RUN_COMMAND", "CASCADE_WEB_SEARCH_ENABLED", "CASCADE_ENABLE_IDE_TERMINAL_EXECUTION", "IMPLICIT_PLAN", "RUN_RESEARCH_STATE_PROVIDER", "USE_IMPLICIT_TRAJECTORY", "OPEN_UNIVERSITY_ON_STARTUP", "SUPERCOMPLETE_USE_CURRENT_LINE", "API_SERVER_LIVENESS_PROBE"; +} + +enum ExperimentSource { + EXPERIMENT_SOURCE_UNSPECIFIED = 0; + EXPERIMENT_SOURCE_EXTENSION = 1; + EXPERIMENT_SOURCE_LANGUAGE_SERVER = 2; + EXPERIMENT_SOURCE_API_SERVER = 3; +} + +enum ModelAlias { + MODEL_ALIAS_UNSPECIFIED = 0; + MODEL_ALIAS_CASCADE_BASE = 1; + MODEL_ALIAS_VISTA = 3; + MODEL_ALIAS_SHAMU = 4; + MODEL_ALIAS_SWE_1 = 5; + MODEL_ALIAS_SWE_1_LITE = 6; + MODEL_ALIAS_AUTO = 7; +} + +enum Model { + MODEL_UNSPECIFIED = 0; + MODEL_EMBED_6591 = 20; + MODEL_8341 = 33; + MODEL_8528 = 42; + MODEL_9024 = 41; + MODEL_14602 = 112; + MODEL_15133 = 115; + MODEL_15302 = 119; + MODEL_15335 = 121; + MODEL_15336 = 122; + MODEL_15931 = 167; + MODEL_QUERY_9905 = 48; + MODEL_QUERY_11791 = 66; + MODEL_CHAT_11120 = 57; + MODEL_CHAT_11121 = 58; + MODEL_CHAT_12119 = 70; + MODEL_CHAT_12121 = 69; + MODEL_CHAT_12437 = 74; + MODEL_CHAT_12491 = 76; + MODEL_CHAT_12623 = 78; + MODEL_CHAT_12950 = 79; + MODEL_CHAT_12968 = 101; + MODEL_CHAT_13404 = 102; + MODEL_CHAT_13566 = 103; + MODEL_CHAT_13930 = 108; + MODEL_CHAT_14255 = 110; + MODEL_CHAT_14256 = 111; + MODEL_CHAT_14942 = 114; + MODEL_CHAT_15305 = 120; + MODEL_CHAT_15600 = 123; + MODEL_CHAT_16801 = 124; + MODEL_CHAT_16718 = 175; + MODEL_CHAT_15729 = 168; + MODEL_CHAT_16579 = 173; + MODEL_CHAT_16579_CRUSOE = 174; + MODEL_CHAT_18805 = 181; + MODEL_CHAT_18468 = 210; + MODEL_CHAT_19484 = 233; + MODEL_CHAT_20706 = 235; + MODEL_CHAT_21779 = 245; + MODEL_CHAT_19040 = 211; + MODEL_CHAT_19820 = 229; + MODEL_CHAT_19821 = 230; + MODEL_CHAT_19821_CRUSOE = 244; + MODEL_CHAT_23310 = 269; + MODEL_CHAT_28580 = 330; + MODEL_CHAT_28581 = 331; + MODEL_CHAT_28582 = 332; + MODEL_CHAT_28583 = 333; + MODEL_CHAT_28584 = 334; + MODEL_CHAT_19822 = 231; + MODEL_CHAT_22798 = 255; + MODEL_CHAT_22799 = 256; + MODEL_CHAT_22800 = 257; + MODEL_CHAT_23151 = 267; + MODEL_CHAT_23152 = 268; + MODEL_TAB_ARMADILLO = 500; + MODEL_TAB_BASE_1 = 501; + MODEL_TAB_EXPERIMENTAL_1 = 502; + MODEL_TAB_EXPERIMENTAL_2 = 503; + MODEL_TAB_EXPERIMENTAL_3 = 504; + MODEL_TAB_EXPERIMENTAL_4 = 505; + MODEL_TAB_EXPERIMENTAL_5 = 506; + MODEL_TAB_EXPERIMENTAL_6 = 507; + MODEL_TAB_EXPERIMENTAL_7 = 508; + MODEL_TAB_EXPERIMENTAL_8 = 509; + MODEL_TAB_EXPERIMENTAL_9 = 510; + MODEL_TAB_EXPERIMENTAL_10 = 511; + MODEL_CASCADE_22893 = 270; + MODEL_CASCADE_20064 = 225; + MODEL_CASCADE_20065 = 236; + MODEL_CASCADE_20066 = 237; + MODEL_CASCADE_20067 = 238; + MODEL_CASCADE_20068 = 239; + MODEL_CASCADE_20069 = 240; + MODEL_CASCADE_20070 = 250; + MODEL_CASCADE_20071 = 251; + MODEL_CASCADE_20072 = 252; + MODEL_CASCADE_20073 = 253; + MODEL_CASCADE_20074 = 254; + MODEL_CASCADE_20075 = 307; + MODEL_CASCADE_20076 = 308; + MODEL_CASCADE_20077 = 309; + MODEL_CASCADE_20078 = 310; + MODEL_CASCADE_20079 = 311; + MODEL_CASCADE_20080 = 297; + MODEL_CASCADE_20081 = 298; + MODEL_CASCADE_20082 = 299; + MODEL_CASCADE_20083 = 300; + MODEL_CASCADE_20084 = 301; + MODEL_CASCADE_20085 = 302; + MODEL_CASCADE_20086 = 303; + MODEL_CASCADE_20087 = 304; + MODEL_CASCADE_20088 = 305; + MODEL_CASCADE_20089 = 306; + MODEL_DEEPSEEK_V3_INTERNAL = 247; + MODEL_DEEPSEEK_V3_0324_INTERNAL = 248; + MODEL_DEEPSEEK_R1_INTERNAL = 249; + MODEL_ANTHROPIC_WINDSURF_RESEARCH = 241; + MODEL_ANTHROPIC_WINDSURF_RESEARCH_THINKING = 242 [deprecated = true]; + MODEL_DRAFT_11408 = 65; + MODEL_DRAFT_CHAT_11883 = 67; + MODEL_DRAFT_CHAT_12196 = 72; + MODEL_DRAFT_CHAT_12413 = 73; + MODEL_DRAFT_CHAT_13175 = 104; + MODEL_DRAFT_CHAT_19823 = 232; + MODEL_DRAFT_CHAT_20707 = 243; + MODEL_DRAFT_CHAT_22801 = 258; + MODEL_DRAFT_CHAT_23508 = 273; + MODEL_DRAFT_CASCADE_23672 = 274; + MODEL_CHAT_3_5_TURBO = 28; + MODEL_CHAT_GPT_4 = 30; + MODEL_CHAT_GPT_4_1106_PREVIEW = 37; + MODEL_TEXT_EMBEDDING_OPENAI_ADA = 91; + MODEL_TEXT_EMBEDDING_OPENAI_3_SMALL = 163; + MODEL_TEXT_EMBEDDING_OPENAI_3_LARGE = 164; + MODEL_CHAT_GPT_4O_2024_05_13 = 71; + MODEL_CHAT_GPT_4O_2024_08_06 = 109; + MODEL_CHAT_GPT_4O_MINI_2024_07_18 = 113; + MODEL_CHAT_GPT_4_1_2025_04_14 = 259; + MODEL_CHAT_GPT_4_1_MINI_2025_04_14 = 260; + MODEL_CHAT_GPT_4_1_NANO_2025_04_14 = 261; + MODEL_CHAT_O1_PREVIEW = 117 [deprecated = true]; + MODEL_CHAT_O1_MINI = 118 [deprecated = true]; + MODEL_CHAT_O1 = 170 [deprecated = true]; + MODEL_CHAT_O3_MINI = 207; + MODEL_CHAT_O3_MINI_LOW = 213; + MODEL_CHAT_O3_MINI_HIGH = 214; + MODEL_CHAT_O3 = 218; + MODEL_CHAT_O3_LOW = 262; + MODEL_CHAT_O3_HIGH = 263; + MODEL_CHAT_O4_MINI = 264; + MODEL_CHAT_O4_MINI_LOW = 265; + MODEL_CHAT_O4_MINI_HIGH = 266; + MODEL_CHAT_GPT_4_5 = 228 [deprecated = true]; + MODEL_CODEX_MINI_LATEST = 287; + MODEL_CODEX_MINI_LATEST_LOW = 288; + MODEL_CODEX_MINI_LATEST_HIGH = 289; + MODEL_O3_PRO_2025_06_10 = 294; + MODEL_O3_PRO_2025_06_10_LOW = 295; + MODEL_O3_PRO_2025_06_10_HIGH = 296; + MODEL_GPT_OSS_120B = 326; + MODEL_GPT_5_NANO = 337; + MODEL_CHAT_GPT_5_MINIMAL = 338; + MODEL_CHAT_GPT_5_LOW = 339; + MODEL_CHAT_GPT_5 = 340; + MODEL_CHAT_GPT_5_HIGH = 341; + MODEL_CHAT_GPT_5_CODEX = 346; + MODEL_GPT_5_1_CODEX_MINI_LOW = 385; + MODEL_GPT_5_1_CODEX_MINI_MEDIUM = 386; + MODEL_GPT_5_1_CODEX_MINI_HIGH = 387; + MODEL_GPT_5_1_CODEX_LOW = 388; + MODEL_GPT_5_1_CODEX_MEDIUM = 389; + MODEL_GPT_5_1_CODEX_HIGH = 390; + MODEL_GPT_5_1_CODEX_MAX_LOW = 395; + MODEL_GPT_5_1_CODEX_MAX_MEDIUM = 396; + MODEL_GPT_5_1_CODEX_MAX_HIGH = 397; + MODEL_GOOGLE_GEMINI_1_0_PRO = 61 [deprecated = true]; + MODEL_GOOGLE_GEMINI_1_5_PRO = 62 [deprecated = true]; + MODEL_GOOGLE_GEMINI_EXP_1206 = 183 [deprecated = true]; + MODEL_GOOGLE_GEMINI_2_0_FLASH = 184; + MODEL_GOOGLE_GEMINI_2_5_PRO = 246; + MODEL_GOOGLE_GEMINI_2_5_FLASH_PREVIEW_04_17 = 272 [deprecated = true]; + MODEL_GOOGLE_GEMINI_2_5_FLASH_PREVIEW_05_20 = 275 [deprecated = true]; + MODEL_GOOGLE_GEMINI_2_5_FLASH_PREVIEW_05_20_THINKING = 276 [deprecated = true]; + MODEL_GOOGLE_GEMINI_2_5_FLASH = 312; + MODEL_GOOGLE_GEMINI_2_5_FLASH_THINKING = 313; + MODEL_GOOGLE_GEMINI_2_5_FLASH_LITE = 343; + MODEL_GOOGLE_GEMINI_3_0_PRO_LOW = 378; + MODEL_GOOGLE_GEMINI_3_0_PRO_HIGH = 379; + MODEL_GOOGLE_GEMINI_3_0_PRO_MINIMAL = 411 [deprecated = true]; + MODEL_GOOGLE_GEMINI_3_0_PRO_MEDIUM = 412 [deprecated = true]; + MODEL_GOOGLE_GEMINI_3_0_FLASH_MINIMAL = 413; + MODEL_GOOGLE_GEMINI_3_0_FLASH_LOW = 414; + MODEL_GOOGLE_GEMINI_3_0_FLASH_MEDIUM = 415; + MODEL_GOOGLE_GEMINI_3_0_FLASH_HIGH = 416; + MODEL_CLAUDE_3_OPUS_20240229 = 63; + MODEL_CLAUDE_3_SONNET_20240229 = 64; + MODEL_CLAUDE_3_HAIKU_20240307 = 172; + MODEL_CLAUDE_3_5_HAIKU_20241022 = 171; + MODEL_CLAUDE_3_5_SONNET_20240620 = 80; + MODEL_CLAUDE_3_5_SONNET_20241022 = 166; + MODEL_CLAUDE_3_7_SONNET_20250219 = 226; + MODEL_CLAUDE_3_7_SONNET_20250219_THINKING = 227; + MODEL_CLAUDE_3_5_SONNET_BYOK = 284; + MODEL_CLAUDE_3_7_SONNET_BYOK = 285; + MODEL_CLAUDE_3_7_SONNET_OPEN_ROUTER_BYOK = 319; + MODEL_CLAUDE_3_7_SONNET_THINKING_BYOK = 286; + MODEL_CLAUDE_3_7_SONNET_THINKING_OPEN_ROUTER_BYOK = 320; + MODEL_CLAUDE_4_OPUS_BYOK = 277; + MODEL_CLAUDE_4_OPUS_THINKING_BYOK = 278; + MODEL_CLAUDE_4_OPUS = 290; + MODEL_CLAUDE_4_OPUS_THINKING = 291; + MODEL_CLAUDE_4_SONNET_BYOK = 279; + MODEL_CLAUDE_4_SONNET_OPEN_ROUTER_BYOK = 321; + MODEL_CLAUDE_4_SONNET_THINKING_BYOK = 280; + MODEL_CLAUDE_4_SONNET_THINKING_OPEN_ROUTER_BYOK = 322; + MODEL_CLAUDE_4_SONNET = 281; + MODEL_CLAUDE_4_SONNET_THINKING = 282; + MODEL_CLAUDE_4_1_OPUS = 328; + MODEL_CLAUDE_4_1_OPUS_THINKING = 329; + MODEL_CLAUDE_4_5_SONNET = 353; + MODEL_CLAUDE_4_5_SONNET_THINKING = 354; + MODEL_CLAUDE_4_5_SONNET_1M = 370; + MODEL_CLAUDE_4_5_SONNET_THINKING_1M = 371; + MODEL_CLAUDE_4_5_OPUS = 391; + MODEL_CLAUDE_4_5_OPUS_THINKING = 392; + MODEL_CLAUDE_4_SONNET_DATABRICKS = 292 [deprecated = true]; + MODEL_CLAUDE_4_SONNET_THINKING_DATABRICKS = 293 [deprecated = true]; + MODEL_TOGETHERAI_TEXT_EMBEDDING_M2_BERT = 81 [deprecated = true]; + MODEL_TOGETHERAI_LLAMA_3_1_8B_INSTRUCT = 165 [deprecated = true]; + MODEL_HUGGING_FACE_TEXT_EMBEDDING_M2_BERT = 82 [deprecated = true]; + MODEL_HUGGING_FACE_TEXT_EMBEDDING_UAE_CODE = 83 [deprecated = true]; + MODEL_HUGGING_FACE_TEXT_EMBEDDING_BGE = 84 [deprecated = true]; + MODEL_HUGGING_FACE_TEXT_EMBEDDING_BLADE = 85 [deprecated = true]; + MODEL_HUGGING_FACE_TEXT_EMBEDDING_ARCTIC_LARGE = 86 [deprecated = true]; + MODEL_HUGGING_FACE_TEXT_EMBEDDING_E5_BASE = 87 [deprecated = true]; + MODEL_HUGGING_FACE_TEXT_EMBEDDING_MXBAI = 88 [deprecated = true]; + MODEL_LLAMA_3_1_8B_INSTRUCT = 106; + MODEL_LLAMA_3_1_70B_INSTRUCT = 107; + MODEL_LLAMA_3_1_405B_INSTRUCT = 105; + MODEL_LLAMA_3_3_70B_INSTRUCT = 208; + MODEL_LLAMA_3_3_70B_INSTRUCT_R1 = 209; + MODEL_LLAMA_3_1_70B_INSTRUCT_LONG_CONTEXT = 116; + MODEL_LLAMA_3_1_8B_HERMES_3 = 176 [deprecated = true]; + MODEL_LLAMA_3_1_70B_HERMES_3 = 177 [deprecated = true]; + MODEL_QWEN_2_5_7B_INSTRUCT = 178; + MODEL_QWEN_2_5_32B_INSTRUCT = 179; + MODEL_QWEN_2_5_72B_INSTRUCT = 180; + MODEL_QWEN_2_5_32B_INSTRUCT_R1 = 224; + MODEL_QWEN_3_235B_INSTRUCT = 324; + MODEL_QWEN_3_CODER_480B_INSTRUCT = 325; + MODEL_QWEN_3_CODER_480B_INSTRUCT_FAST = 327; + MODEL_GLM_4_5 = 342; + MODEL_GLM_4_5_FAST = 352; + MODEL_GLM_4_6 = 356; + MODEL_GLM_4_6_FAST = 357; + MODEL_GLM_4_7 = 417; + MODEL_GLM_4_7_FAST = 418; + MODEL_SWE_1_5 = 359; + MODEL_SWE_1_5_REDIRECT = 361; + MODEL_SWE_1_5_THINKING = 369; + MODEL_SWE_1_5_SLOW = 377; + MODEL_SWE_1_6 = 420; + MODEL_SWE_1_6_FAST = 421; + MODEL_CODEMAP_SMALL = 358; + MODEL_CODEMAP_MEDIUM = 360; + MODEL_CODEMAP_SMART = 362; + MODEL_COGNITION_INSTANT_CONTEXT = 355; + MODEL_LLAMA_FT_DEEPWIKI_ARTICLE = 335; + MODEL_LLAMA_FT_DEEPWIKI_HOVER = 336; + MODEL_LLAMA_FT_LIFEGUARD = 398; + MODEL_COGNITION_LIFEGUARD = 410; + MODEL_NOMIC_TEXT_EMBEDDING_V1 = 89 [deprecated = true]; + MODEL_NOMIC_TEXT_EMBEDDING_V1_5 = 90 [deprecated = true]; + MODEL_MISTRAL_7B = 77; + MODEL_SALESFORCE_EMBEDDING_2R = 99; + MODEL_CUSTOM_VLLM = 182; + MODEL_TEI_BGE_M3 = 92 [deprecated = true]; + MODEL_TEI_NOMIC_EMBED_TEXT_V1 = 93 [deprecated = true]; + MODEL_TEI_INTFLOAT_E5_LARGE_INSTRUCT = 94 [deprecated = true]; + MODEL_TEI_SNOWFLAKE_ARCTIC_EMBED_L = 95 [deprecated = true]; + MODEL_TEI_UAE_CODE_LARGE_V1 = 96 [deprecated = true]; + MODEL_TEI_B1ADE = 97 [deprecated = true]; + MODEL_TEI_WHEREISAI_UAE_LARGE_V1 = 98 [deprecated = true]; + MODEL_TEI_WHEREISAI_UAE_CODE_LARGE_V1 = 100 [deprecated = true]; + MODEL_OPENAI_COMPATIBLE = 200 [deprecated = true]; + MODEL_ANTHROPIC_COMPATIBLE = 201 [deprecated = true]; + MODEL_VERTEX_COMPATIBLE = 202 [deprecated = true]; + MODEL_BEDROCK_COMPATIBLE = 203 [deprecated = true]; + MODEL_AZURE_COMPATIBLE = 204 [deprecated = true]; + MODEL_DEEPSEEK_V3 = 205; + MODEL_DEEPSEEK_R1 = 206; + MODEL_DEEPSEEK_R1_SLOW = 215; + MODEL_DEEPSEEK_R1_FAST = 216; + MODEL_KIMI_K2 = 323; + MODEL_MINIMAX_M2 = 368; + MODEL_MINIMAX_M2_1 = 419; + MODEL_DEEPSEEK_V3_2 = 409; + MODEL_KIMI_K2_THINKING = 394; + MODEL_CUSTOM_OPEN_ROUTER = 185; + MODEL_XAI_GROK_2 = 212; + MODEL_XAI_GROK_3 = 217; + MODEL_XAI_GROK_3_MINI_REASONING = 234; + MODEL_XAI_GROK_CODE_FAST = 345; + MODEL_PRIVATE_1 = 219; + MODEL_PRIVATE_2 = 220; + MODEL_PRIVATE_3 = 221; + MODEL_PRIVATE_4 = 222; + MODEL_PRIVATE_5 = 223; + MODEL_PRIVATE_6 = 314; + MODEL_PRIVATE_7 = 315; + MODEL_PRIVATE_8 = 316; + MODEL_PRIVATE_9 = 317; + MODEL_PRIVATE_10 = 318; + MODEL_PRIVATE_11 = 347; + MODEL_PRIVATE_12 = 348; + MODEL_PRIVATE_13 = 349; + MODEL_PRIVATE_14 = 350; + MODEL_PRIVATE_15 = 351; + MODEL_PRIVATE_16 = 363; + MODEL_PRIVATE_17 = 364; + MODEL_PRIVATE_18 = 365; + MODEL_PRIVATE_19 = 366; + MODEL_PRIVATE_20 = 367; + MODEL_PRIVATE_21 = 372; + MODEL_PRIVATE_22 = 373; + MODEL_PRIVATE_23 = 374; + MODEL_PRIVATE_24 = 375; + MODEL_PRIVATE_25 = 376; + MODEL_PRIVATE_26 = 380; + MODEL_PRIVATE_27 = 381; + MODEL_PRIVATE_28 = 382; + MODEL_PRIVATE_29 = 383; + MODEL_PRIVATE_30 = 384; + MODEL_GPT_5_2_NONE = 399; + MODEL_GPT_5_2_LOW = 400; + MODEL_GPT_5_2_MEDIUM = 401; + MODEL_GPT_5_2_HIGH = 402; + MODEL_GPT_5_2_XHIGH = 403; + MODEL_GPT_5_2_NONE_PRIORITY = 404; + MODEL_GPT_5_2_LOW_PRIORITY = 405; + MODEL_GPT_5_2_MEDIUM_PRIORITY = 406; + MODEL_GPT_5_2_HIGH_PRIORITY = 407; + MODEL_GPT_5_2_XHIGH_PRIORITY = 408; + MODEL_GPT_5_2_CODEX_LOW = 422; + MODEL_GPT_5_2_CODEX_MEDIUM = 423; + MODEL_GPT_5_2_CODEX_HIGH = 424; + MODEL_GPT_5_2_CODEX_XHIGH = 425; + MODEL_GPT_5_2_CODEX_LOW_PRIORITY = 426; + MODEL_GPT_5_2_CODEX_MEDIUM_PRIORITY = 427; + MODEL_GPT_5_2_CODEX_HIGH_PRIORITY = 428; + MODEL_GPT_5_2_CODEX_XHIGH_PRIORITY = 429; + MODEL_SGLANG_ROLLOUT = 600; + + reserved 512 to 599; + reserved 1; + reserved 2; + reserved 3; + reserved 4; + reserved 5; + reserved 6; + reserved 7; + reserved 8; + reserved 9; + reserved 10; + reserved 11; + reserved 12; + reserved 13; + reserved 15; + reserved 16; + reserved 17; + reserved 18; + reserved 19; + reserved 21; + reserved 22; + reserved 23; + reserved 24; + reserved 25; + reserved 26; + reserved 27; + reserved 29; + reserved 31; + reserved 32; + reserved 34; + reserved 35; + reserved 36; + reserved 38; + reserved 39; + reserved 40; + reserved 43; + reserved 44; + reserved 46; + reserved 47; + reserved 49; + reserved 50; + reserved 51; + reserved 52; + reserved 53; + reserved 54; + reserved 55; + reserved 56; + reserved 59; + reserved 60; + reserved 68; + reserved 75; + reserved 344; + reserved 393; + reserved 800; + reserved "MODEL_INIT_MULTI", "MODEL_3356", "MODEL_INIT_MONO", "MODEL_3554", "MODEL_3554_DC", "MODEL_3669", "MODEL_4300", "MODEL_4531", "MODEL_5349", "MODEL_5519", "MODEL_5305", "MODEL_4861", "MODEL_5476", "MODEL_5202", "MODEL_CHAT", "MODEL_6569", "MODEL_7747", "MODEL_7725", "MODEL_CHAT_7829", "MODEL_QUERY_9210", "MODEL_6282", "MODEL_6592", "MODEL_7158", "MODEL_QUERY_9491", "MODEL_CHAT_10777", "MODEL_7468", "MODEL_8276", "MODEL_8523", "MODEL_8615", "MODEL_8684", "MODEL_9133", "MODEL_9589", "MODEL_CHAT_6612", "MODEL_CHAT_7066", "MODEL_CHAT_7984", "MODEL_CHAT_10202", "MODEL_8251", "MODEL_10880", "MODEL_11206", "MODEL_REWARD_9236", "MODEL_CHAT_9439", "MODEL_CHAT_9453", "MODEL_CHAT_10546", "MODEL_CHAT_10821", "MODEL_CHAT_12042", "MODEL_CHAT_GPT_3_5_TURBO_1106", "MODEL_CHAT_GPT_3_5_TURBO_16K_0613", "MODEL_CHAT_GPT_3_5_TURBO_0125", "MODEL_CHAT_GPT_4_TURBO_2024_04_09", "MODEL_12471", "MODEL_CHAT_11012", "MODEL_LLAMA_3_1_70B_INSTRUCT_32K_CONTEXT", "MODEL_ROUTING_GROUP_DEEP_WIKI", "MODEL_CLAUDE_CODE"; +} + +enum DeepWikiModelType { + DEEP_WIKI_MODEL_TYPE_UNSPECIFIED = 0; + DEEP_WIKI_MODEL_TYPE_CAPACITY_FALLBACK = 1; + DEEP_WIKI_MODEL_TYPE_LITE_FREE = 2; + DEEP_WIKI_MODEL_TYPE_LITE_PAID = 3; + DEEP_WIKI_MODEL_TYPE_PREMIUM = 4; +} + +enum PromptElementExclusionReason { + EXCLUSION_UNSPECIFIED = 0; + EXCLUSION_ELEMENT_KIND_DISABLED = 1; + EXCLUSION_ELEMENT_MISSING_DEPENDENCY = 2; + EXCLUSION_TOKEN_BUDGET = 3; + EXCLUSION_ACTIVE_SOURCE_OVERLAP = 4; +} + +enum StopReason { + STOP_REASON_UNSPECIFIED = 0; + STOP_REASON_INCOMPLETE = 1; + STOP_REASON_STOP_PATTERN = 2; + STOP_REASON_MAX_TOKENS = 3; + STOP_REASON_MIN_LOG_PROB = 4; + STOP_REASON_MAX_NEWLINES = 5; + STOP_REASON_EXIT_SCOPE = 6; + STOP_REASON_NONFINITE_LOGIT_OR_PROB = 7; + STOP_REASON_FIRST_NON_WHITESPACE_LINE = 8; + STOP_REASON_PARTIAL = 9; + STOP_REASON_FUNCTION_CALL = 10; + STOP_REASON_CONTENT_FILTER = 11; + STOP_REASON_NON_INSERTION = 12; + STOP_REASON_ERROR = 13; +} + +enum FilterReason { + FILTER_REASON_NONE = 0; + FILTER_REASON_INCOMPLETE = 1; + FILTER_REASON_EMPTY = 2; + FILTER_REASON_REPETITIVE = 3; + FILTER_REASON_DUPLICATE = 4; + FILTER_REASON_LONG_LINE = 5; + FILTER_REASON_COMPLETIONS_CUTOFF = 6; + FILTER_REASON_ATTRIBUTION = 7; + FILTER_REASON_NON_MATCHING = 8; + FILTER_REASON_NON_INSERTION = 9; +} + +enum AttributionStatus { + ATTRIBUTION_STATUS_UNSPECIFIED = 0; + ATTRIBUTION_STATUS_NEW_CODE = 1; + ATTRIBUTION_STATUS_NO_LICENSE = 2; + ATTRIBUTION_STATUS_NONPERMISSIVE = 3; + ATTRIBUTION_STATUS_PERMISSIVE = 4; + ATTRIBUTION_STATUS_PERMISSIVE_BLOCKED = 5; +} + +enum EmbeddingPriority { + EMBEDDING_PRIORITY_UNSPECIFIED = 0; + EMBEDDING_PRIORITY_HIGH = 1; + EMBEDDING_PRIORITY_LOW = 2; +} + +enum EmbeddingPrefix { + EMBEDDING_PREFIX_UNSPECIFIED = 0; + EMBEDDING_PREFIX_NOMIC_DOCUMENT = 1; + EMBEDDING_PREFIX_NOMIC_SEARCH = 2; + EMBEDDING_PREFIX_NOMIC_CLASSIFICATION = 3; + EMBEDDING_PREFIX_NOMIC_CLUSTERING = 4; +} + +enum EmbeddingSource { + EMBEDDING_SOURCE_UNSPECIFIED = 0; + EMBEDDING_SOURCE_CODE_CONTEXT_ITEM = 1; + EMBEDDING_SOURCE_COMMIT_INTENT = 2; +} + +enum AuthSource { + AUTH_SOURCE_CODEIUM = 0; + AUTH_SOURCE_DEEPNOTE = 1; + AUTH_SOURCE_CODESANDBOX = 2 [deprecated = true]; + AUTH_SOURCE_STACKBLITZ = 3; + AUTH_SOURCE_VALTOWN = 4; + AUTH_SOURCE_HEX = 5; + AUTH_SOURCE_ZAPIER = 6 [deprecated = true]; + AUTH_SOURCE_SUPERBLOCKS = 7; + AUTH_SOURCE_EMBARCADERO = 8; +} + +enum EventType { + EVENT_TYPE_UNSPECIFIED = 0; + EVENT_TYPE_ENABLE_CODEIUM = 1; + EVENT_TYPE_DISABLE_CODEIUM = 2; + EVENT_TYPE_SHOW_PREVIOUS_COMPLETION = 3; + EVENT_TYPE_SHOW_NEXT_COMPLETION = 4; + EVENT_TYPE_COPILOT_STATUS = 5; + EVENT_TYPE_COMPLETION_SUPPRESSED = 6; + EVENT_TYPE_MEMORY_STATS = 8; + EVENT_TYPE_LOCAL_CONTEXT_RELEVANCE_CHECK = 9; + EVENT_TYPE_ACTIVE_EDITOR_CHANGED = 10; + EVENT_TYPE_SHOW_PREVIOUS_CORTEX_STEP = 11; + EVENT_TYPE_SHOW_NEXT_CORTEX_STEP = 12; + EVENT_TYPE_INDEXER_STATS = 13; + EVENT_TYPE_SYSTEM_METRICS_TELEMETRY = 14; + + reserved 7; + reserved "EVENT_TYPE_INTENT_MODEL_RUN"; +} + +enum SearchResultType { + SEARCH_RESULT_TYPE_UNSPECIFIED = 0; + SEARCH_RESULT_TYPE_CLUSTER = 1; + SEARCH_RESULT_TYPE_EXACT = 2; +} + +enum EmbedType { + EMBED_TYPE_UNSPECIFIED = 0; + EMBED_TYPE_RAW_SOURCE = 1; + EMBED_TYPE_DOCSTRING = 2; + EMBED_TYPE_FUNCTION = 3; + EMBED_TYPE_NODEPATH = 4; + EMBED_TYPE_DECLARATION = 5; + EMBED_TYPE_NAIVE_CHUNK = 6; + EMBED_TYPE_SIGNATURE = 7; +} + +enum CompletionSource { + COMPLETION_SOURCE_UNSPECIFIED = 0; + COMPLETION_SOURCE_TYPING_AS_SUGGESTED = 1; + COMPLETION_SOURCE_CACHE = 2; + COMPLETION_SOURCE_NETWORK = 3; +} + +enum CompletionType { + COMPLETION_TYPE_UNSPECIFIED = 0; + COMPLETION_TYPE_SINGLE = 1; + COMPLETION_TYPE_MULTI = 2; + COMPLETION_TYPE_INLINE_FIM = 3; + COMPLETION_TYPE_CASCADE = 4; +} + +enum Language { + LANGUAGE_UNSPECIFIED = 0; + LANGUAGE_C = 1; + LANGUAGE_CLOJURE = 2; + LANGUAGE_COFFEESCRIPT = 3; + LANGUAGE_CPP = 4; + LANGUAGE_CSHARP = 5; + LANGUAGE_CSS = 6; + LANGUAGE_CUDACPP = 7; + LANGUAGE_DOCKERFILE = 8; + LANGUAGE_GO = 9; + LANGUAGE_GROOVY = 10; + LANGUAGE_HANDLEBARS = 11; + LANGUAGE_HASKELL = 12; + LANGUAGE_HCL = 13; + LANGUAGE_HTML = 14; + LANGUAGE_INI = 15; + LANGUAGE_JAVA = 16; + LANGUAGE_JAVASCRIPT = 17; + LANGUAGE_JSON = 18; + LANGUAGE_JULIA = 19; + LANGUAGE_KOTLIN = 20; + LANGUAGE_LATEX = 21; + LANGUAGE_LESS = 22; + LANGUAGE_LUA = 23; + LANGUAGE_MAKEFILE = 24; + LANGUAGE_MARKDOWN = 25; + LANGUAGE_OBJECTIVEC = 26; + LANGUAGE_OBJECTIVECPP = 27; + LANGUAGE_PERL = 28; + LANGUAGE_PHP = 29; + LANGUAGE_PLAINTEXT = 30; + LANGUAGE_PROTOBUF = 31; + LANGUAGE_PBTXT = 32; + LANGUAGE_PYTHON = 33; + LANGUAGE_R = 34; + LANGUAGE_RUBY = 35; + LANGUAGE_RUST = 36; + LANGUAGE_SASS = 37; + LANGUAGE_SCALA = 38; + LANGUAGE_SCSS = 39; + LANGUAGE_SHELL = 40; + LANGUAGE_SQL = 41; + LANGUAGE_STARLARK = 42; + LANGUAGE_SWIFT = 43; + LANGUAGE_TSX = 44; + LANGUAGE_TYPESCRIPT = 45; + LANGUAGE_VISUALBASIC = 46; + LANGUAGE_VUE = 47; + LANGUAGE_XML = 48; + LANGUAGE_XSL = 49; + LANGUAGE_YAML = 50; + LANGUAGE_SVELTE = 51; + LANGUAGE_TOML = 52; + LANGUAGE_DART = 53; + LANGUAGE_RST = 54; + LANGUAGE_OCAML = 55; + LANGUAGE_CMAKE = 56; + LANGUAGE_PASCAL = 57; + LANGUAGE_ELIXIR = 58; + LANGUAGE_FSHARP = 59; + LANGUAGE_LISP = 60; + LANGUAGE_MATLAB = 61; + LANGUAGE_POWERSHELL = 62; + LANGUAGE_SOLIDITY = 63; + LANGUAGE_ADA = 64; + LANGUAGE_OCAML_INTERFACE = 65; + LANGUAGE_TREE_SITTER_QUERY = 66; + LANGUAGE_APL = 67; + LANGUAGE_ASSEMBLY = 68; + LANGUAGE_COBOL = 69; + LANGUAGE_CRYSTAL = 70; + LANGUAGE_EMACS_LISP = 71; + LANGUAGE_ERLANG = 72; + LANGUAGE_FORTRAN = 73; + LANGUAGE_FREEFORM = 74; + LANGUAGE_GRADLE = 75; + LANGUAGE_HACK = 76; + LANGUAGE_MAVEN = 77; + LANGUAGE_M68KASSEMBLY = 78; + LANGUAGE_SAS = 79; + LANGUAGE_UNIXASSEMBLY = 80; + LANGUAGE_VBA = 81; + LANGUAGE_VIMSCRIPT = 82; + LANGUAGE_WEBASSEMBLY = 83; + LANGUAGE_BLADE = 84; + LANGUAGE_ASTRO = 85; + LANGUAGE_MUMPS = 86; + LANGUAGE_GDSCRIPT = 87; + LANGUAGE_NIM = 88; + LANGUAGE_PROLOG = 89; + LANGUAGE_MARKDOWN_INLINE = 90; + LANGUAGE_APEX = 91; + LANGUAGE_JUPYTER_NOTEBOOK = 92; +} + +enum ChatMessageSource { + CHAT_MESSAGE_SOURCE_UNSPECIFIED = 0; + CHAT_MESSAGE_SOURCE_USER = 1; + CHAT_MESSAGE_SOURCE_SYSTEM = 2; + CHAT_MESSAGE_SOURCE_UNKNOWN = 3; + CHAT_MESSAGE_SOURCE_TOOL = 4; + CHAT_MESSAGE_SOURCE_SYSTEM_PROMPT = 5; +} + +enum UserTeamStatus { + USER_TEAM_STATUS_UNSPECIFIED = 0; + USER_TEAM_STATUS_PENDING = 1; + USER_TEAM_STATUS_APPROVED = 2; + USER_TEAM_STATUS_REJECTED = 3; +} + +enum CliAccessOverride { + CLI_ACCESS_OVERRIDE_UNSPECIFIED = 0; + CLI_ACCESS_OVERRIDE_ENABLED = 1; + CLI_ACCESS_OVERRIDE_DISABLED = 2; +} + +enum TeamsFeatures { + TEAMS_FEATURES_UNSPECIFIED = 0; + TEAMS_FEATURES_SSO = 1; + TEAMS_FEATURES_ATTRIBUTION = 2; + TEAMS_FEATURES_PHI = 3; + TEAMS_FEATURES_CORTEX = 4; + TEAMS_FEATURES_OPENAI_DISABLED = 5; + TEAMS_FEATURES_REMOTE_INDEXING_DISABLED = 6; + TEAMS_FEATURES_API_KEY_ENABLED = 7; +} + +enum UserFeatures { + USER_FEATURES_UNSPECIFIED = 0; + USER_FEATURES_CORTEX = 1; + USER_FEATURES_CORTEX_TEST = 2; +} + +enum Permission { + PERMISSION_UNSPECIFIED = 0; + PERMISSION_ATTRIBUTION_READ = 1; + PERMISSION_ANALYTICS_READ = 2; + PERMISSION_LICENSE_READ = 3; + PERMISSION_TEAM_USER_READ = 4; + PERMISSION_TEAM_USER_UPDATE = 5; + PERMISSION_TEAM_USER_DELETE = 6; + PERMISSION_TEAM_USER_INVITE = 17; + PERMISSION_INDEXING_READ = 7; + PERMISSION_INDEXING_CREATE = 8; + PERMISSION_INDEXING_UPDATE = 9; + PERMISSION_INDEXING_DELETE = 10; + PERMISSION_INDEXING_MANAGEMENT = 27; + PERMISSION_FINETUNING_READ = 19; + PERMISSION_FINETUNING_CREATE = 20; + PERMISSION_FINETUNING_UPDATE = 21; + PERMISSION_FINETUNING_DELETE = 22; + PERMISSION_SSO_READ = 11; + PERMISSION_SSO_WRITE = 12; + PERMISSION_SERVICE_KEY_READ = 13; + PERMISSION_SERVICE_KEY_CREATE = 14; + PERMISSION_SERVICE_KEY_UPDATE = 28; + PERMISSION_SERVICE_KEY_DELETE = 15; + PERMISSION_ROLE_READ = 23; + PERMISSION_ROLE_CREATE = 24; + PERMISSION_ROLE_UPDATE = 25; + PERMISSION_ROLE_DELETE = 26; + PERMISSION_BILLING_READ = 16; + PERMISSION_BILLING_WRITE = 18; + PERMISSION_EXTERNAL_CHAT_UPDATE = 29; + PERMISSION_TEAM_SETTINGS_READ = 30; + PERMISSION_TEAM_SETTINGS_UPDATE = 31; +} + +enum TeamsTier { + TEAMS_TIER_UNSPECIFIED = 0; + TEAMS_TIER_TEAMS = 1; + TEAMS_TIER_PRO = 2; + TEAMS_TIER_TRIAL = 9; + TEAMS_TIER_ENTERPRISE_SAAS = 3; + TEAMS_TIER_HYBRID = 4; + TEAMS_TIER_ENTERPRISE_SELF_HOSTED = 5; + TEAMS_TIER_ENTERPRISE_SELF_SERVE = 10; + TEAMS_TIER_DEVIN_ENTERPRISE = 12; + TEAMS_TIER_DEVIN_TEAMS = 14; + TEAMS_TIER_DEVIN_TEAMS_V2 = 15; + TEAMS_TIER_DEVIN_PRO = 16; + TEAMS_TIER_DEVIN_MAX = 17; + TEAMS_TIER_MAX = 18; + TEAMS_TIER_DEVIN_FREE = 19; + TEAMS_TIER_DEVIN_TRIAL = 20; + TEAMS_TIER_WAITLIST_PRO = 6 [deprecated = true]; + TEAMS_TIER_TEAMS_ULTIMATE = 7; + TEAMS_TIER_PRO_ULTIMATE = 8 [deprecated = true]; + TEAMS_TIER_ENTERPRISE_SAAS_POOLED = 11 [deprecated = true]; +} + +enum ModelProvider { + MODEL_PROVIDER_UNSPECIFIED = 0; + MODEL_PROVIDER_WINDSURF = 1; + MODEL_PROVIDER_OPENAI = 2; + MODEL_PROVIDER_ANTHROPIC = 3; + MODEL_PROVIDER_GOOGLE = 4; + MODEL_PROVIDER_XAI = 5; + MODEL_PROVIDER_DEEPSEEK = 6; + MODEL_PROVIDER_MOONSHOT = 7; + MODEL_PROVIDER_QWEN = 8; + MODEL_PROVIDER_ZAI = 9; + MODEL_PROVIDER_MINIMAX = 10; +} + +enum BillingStrategy { + BILLING_STRATEGY_UNSPECIFIED = 0; + BILLING_STRATEGY_CREDITS = 1; + BILLING_STRATEGY_QUOTA = 2; + BILLING_STRATEGY_ACU = 3; +} + +enum ModelPricingType { + MODEL_PRICING_TYPE_UNSPECIFIED = 0; + MODEL_PRICING_TYPE_STATIC_CREDIT = 1; + MODEL_PRICING_TYPE_API = 2; + MODEL_PRICING_TYPE_BYOK = 3; + MODEL_PRICING_TYPE_ACU_TOKEN = 4; + MODEL_PRICING_TYPE_ACU_CREDIT = 5; +} + +enum ModelCostTier { + MODEL_COST_TIER_UNSPECIFIED = 0; + MODEL_COST_TIER_LOW = 1; + MODEL_COST_TIER_MEDIUM = 2; + MODEL_COST_TIER_HIGH = 3; + MODEL_COST_TIER_FREE = 4; +} + +enum ModelDimensionKind { + MODEL_DIMENSION_KIND_UNSPECIFIED = 0; + MODEL_DIMENSION_KIND_COST = 1; + MODEL_DIMENSION_KIND_COST_FUZZY = 2; +} + +enum TransactionStatus { + TRANSACTION_STATUS_UNSPECIFIED = 0; + TRANSACTION_STATUS_SUCCEEDED = 1; + TRANSACTION_STATUS_PROCESSING = 2; + TRANSACTION_STATUS_FAILED = 3; + TRANSACTION_STATUS_NO_ACTIVE = 4; +} + +enum GracePeriodStatus { + GRACE_PERIOD_STATUS_UNSPECIFIED = 0; + GRACE_PERIOD_STATUS_NONE = 1; + GRACE_PERIOD_STATUS_ACTIVE = 2; + GRACE_PERIOD_STATUS_EXPIRED = 3; +} + +enum ScmProvider { + SCM_PROVIDER_UNSPECIFIED = 0; + SCM_PROVIDER_GITHUB = 1; + SCM_PROVIDER_GITLAB = 2; + SCM_PROVIDER_BITBUCKET = 3; + SCM_PROVIDER_AZURE_DEVOPS = 4; +} + +enum ScmType { + SCM_TYPE_UNSPECIFIED = 0; + SCM_TYPE_GIT = 1; + SCM_TYPE_PERFORCE = 2; +} + +enum CodeContextType { + CODE_CONTEXT_TYPE_UNSPECIFIED = 0; + CODE_CONTEXT_TYPE_FUNCTION = 1; + CODE_CONTEXT_TYPE_CLASS = 2; + CODE_CONTEXT_TYPE_IMPORT = 3; + CODE_CONTEXT_TYPE_NAIVE_LINECHUNK = 4; + CODE_CONTEXT_TYPE_REFERENCE_FUNCTION = 5; + CODE_CONTEXT_TYPE_REFERENCE_CLASS = 6; + CODE_CONTEXT_TYPE_FILE = 7; + CODE_CONTEXT_TYPE_TERMINAL = 8; + CODE_CONTEXT_TYPE_DIRECTORY = 9; +} + +enum CodeContextSource { + CODE_CONTEXT_SOURCE_UNSPECIFIED = 0; + CODE_CONTEXT_SOURCE_OPEN_DOCS = 1; + CODE_CONTEXT_SOURCE_SEARCH_RESULT = 2; + CODE_CONTEXT_SOURCE_IMPORT = 3; + CODE_CONTEXT_SOURCE_LOCAL_DIRECTORY = 4; + CODE_CONTEXT_SOURCE_LAST_ACTIVE_DOC = 5; + CODE_CONTEXT_SOURCE_ORACLE_ITEMS = 6; + CODE_CONTEXT_SOURCE_PINNED_CONTEXT = 7; + CODE_CONTEXT_SOURCE_RESEARCH_STATE = 8; + CODE_CONTEXT_SOURCE_GROUND_TRUTH_PLAN_EDIT = 9; + CODE_CONTEXT_SOURCE_COMMIT_GRAPH = 10; +} + +enum ContextSnippetType { + CONTEXT_SNIPPET_TYPE_UNSPECIFIED = 0; + CONTEXT_SNIPPET_TYPE_RAW_SOURCE = 1; + CONTEXT_SNIPPET_TYPE_SIGNATURE = 2; + CONTEXT_SNIPPET_TYPE_NODEPATH = 3; +} + +enum CommitIntentType { + COMMIT_INTENT_TYPE_UNSPECIFIED = 0; + COMMIT_INTENT_TYPE_COMMIT_MESSAGE = 1; +} + +enum GpuType { + GPU_TYPE_UNSPECIFIED = 0; + GPU_TYPE_L4 = 1; + GPU_TYPE_T4 = 2; + GPU_TYPE_A10 = 3; + GPU_TYPE_A100 = 4; + GPU_TYPE_V100 = 5; + GPU_TYPE_A5000 = 6; +} + +enum ContextInclusionType { + CONTEXT_INCLUSION_TYPE_UNSPECIFIED = 0; + CONTEXT_INCLUSION_TYPE_INCLUDE = 1; + CONTEXT_INCLUSION_TYPE_EXCLUDE = 2; +} + +enum ThemePreference { + THEME_PREFERENCE_UNSPECIFIED = 0; + THEME_PREFERENCE_AUTO = 1; + THEME_PREFERENCE_LIGHT = 2; + THEME_PREFERENCE_DARK = 3; +} + +enum FontSize { + FONT_SIZE_UNSPECIFIED = 0; + FONT_SIZE_SMALL = 1; + FONT_SIZE_DEFAULT = 2; + FONT_SIZE_LARGE = 3; +} + +enum AutocompleteSpeed { + AUTOCOMPLETE_SPEED_UNSPECIFIED = 0; + AUTOCOMPLETE_SPEED_SLOW = 1; + AUTOCOMPLETE_SPEED_DEFAULT = 2; + AUTOCOMPLETE_SPEED_FAST = 3; +} + +enum CascadeCommandsAutoExecution { + CASCADE_COMMANDS_AUTO_EXECUTION_UNSPECIFIED = 0; + CASCADE_COMMANDS_AUTO_EXECUTION_OFF = 1; + CASCADE_COMMANDS_AUTO_EXECUTION_AUTO = 2; + CASCADE_COMMANDS_AUTO_EXECUTION_EAGER = 3; + CASCADE_COMMANDS_AUTO_EXECUTION_DISABLED = 4; +} + +enum CascadeWebRequestsAutoExecution { + CASCADE_WEB_REQUESTS_AUTO_EXECUTION_UNSPECIFIED = 0; + CASCADE_WEB_REQUESTS_AUTO_EXECUTION_DISABLED = 1; + CASCADE_WEB_REQUESTS_AUTO_EXECUTION_ALLOWLIST = 2; + CASCADE_WEB_REQUESTS_AUTO_EXECUTION_TURBO = 3; +} + +enum ExtensionPanelTab { + EXTENSION_PANEL_TAB_UNSPECIFIED = 0; + EXTENSION_PANEL_TAB_CHAT = 1; + EXTENSION_PANEL_TAB_PROFILE = 2; + EXTENSION_PANEL_TAB_BRAIN = 4; + EXTENSION_PANEL_TAB_COMMAND = 5; + EXTENSION_PANEL_TAB_CORTEX = 6; + EXTENSION_PANEL_TAB_DEBUG = 7; + + reserved 3; + reserved "EXTENSION_PANEL_TAB_PLAN"; +} + +enum RememberLastModelSelection { + REMEMBER_LAST_MODEL_SELECTION_UNSPECIFIED = 0; + REMEMBER_LAST_MODEL_SELECTION_ENABLED = 1; + REMEMBER_LAST_MODEL_SELECTION_DISABLED = 2; +} + +enum CascadeNUXEvent { + CASCADE_NUX_EVENT_UNSPECIFIED = 0; + CASCADE_NUX_EVENT_DIFF_OVERVIEW = 1; + CASCADE_NUX_EVENT_WEB_SEARCH = 2; + CASCADE_NUX_EVENT_NEW_MODELS_WAVE2 = 3; + CASCADE_NUX_EVENT_TOOL_CALL = 4; + CASCADE_NUX_EVENT_MODEL_SELECTOR_NUX = 5; + CASCADE_NUX_EVENT_TOOL_CALL_PRICING_NUX = 6; + CASCADE_NUX_EVENT_WRITE_CHAT_MODE = 7; + CASCADE_NUX_EVENT_REVERT_STEP = 8; + CASCADE_NUX_EVENT_RULES = 9; + CASCADE_NUX_EVENT_WEB_MENTION = 10; + CASCADE_NUX_EVENT_BACKGROUND_CASCADE = 11; + CASCADE_NUX_EVENT_ANTHROPIC_API_PRICING = 12; + CASCADE_NUX_EVENT_PLAN_MODE = 13; + CASCADE_NUX_EVENT_OPEN_BROWSER_URL = 14; +} + +enum UserNUXEvent { + USER_NUX_EVENT_UNSPECIFIED = 0; + USER_NUX_EVENT_DISMISS_WINDSURF_CROSS_SELL = 1; +} + +enum ConversationalPlannerMode { + CONVERSATIONAL_PLANNER_MODE_UNSPECIFIED = 0; + CONVERSATIONAL_PLANNER_MODE_DEFAULT = 1; + CONVERSATIONAL_PLANNER_MODE_READ_ONLY = 2; + CONVERSATIONAL_PLANNER_MODE_NO_TOOL = 3; + CONVERSATIONAL_PLANNER_MODE_EXPLORE = 4 [deprecated = true]; + CONVERSATIONAL_PLANNER_MODE_PLANNING = 5; + CONVERSATIONAL_PLANNER_MODE_AUTO = 6; +} + +enum TabToJump { + TAB_TO_JUMP_UNSPECIFIED = 0; + TAB_TO_JUMP_ENABLED = 1; + TAB_TO_JUMP_DISABLED = 2; +} + +enum CascadeWebSearchTool { + CASCADE_WEB_SEARCH_TOOL_UNSPECIFIED = 0; + CASCADE_WEB_SEARCH_TOOL_ENABLED = 1; + CASCADE_WEB_SEARCH_TOOL_DISABLED = 2; +} + +enum CommandPopupAutocomplete { + COMMAND_POPUP_AUTOCOMPLETE_UNSPECIFIED = 0; + COMMAND_POPUP_AUTOCOMPLETE_ENABLED = 1; + COMMAND_POPUP_AUTOCOMPLETE_DISABLED = 2; +} + +enum FeatureUsageType { + FEATURE_USAGE_TYPE_UNSPECIFIED = 0; + FEATURE_USAGE_TYPE_CASCADE_BROWSER = 1; + FEATURE_USAGE_TYPE_CASCADE_WEB_AT_MENTION = 2; + FEATURE_USAGE_TYPE_CASCADE_REVERT_TO_STEP = 3; + FEATURE_USAGE_TYPE_CASCADE_CLICK_MODEL_SELECTOR = 4; + FEATURE_USAGE_TYPE_CASCADE_MESSAGE_FEEDBACK = 5; +} + +enum PlanMode { + PLAN_MODE_UNSPECIFIED = 0; + PLAN_MODE_ON = 1; + PLAN_MODE_OFF = 2; +} + +enum AutoContinueOnMaxGeneratorInvocations { + AUTO_CONTINUE_ON_MAX_GENERATOR_INVOCATIONS_UNSPECIFIED = 0; + AUTO_CONTINUE_ON_MAX_GENERATOR_INVOCATIONS_ENABLED = 1; + AUTO_CONTINUE_ON_MAX_GENERATOR_INVOCATIONS_DISABLED = 2; +} + +enum CascadeNUXLocation { + CASCADE_NUX_LOCATION_UNSPECIFIED = 0; + CASCADE_NUX_LOCATION_CASCADE_INPUT = 1; + CASCADE_NUX_LOCATION_MODEL_SELECTOR = 2; + CASCADE_NUX_LOCATION_RULES_TAB = 4; + CASCADE_NUX_LOCATION_REVERT_STEP = 6; + CASCADE_NUX_LOCATION_PLAN_MODE = 7; + CASCADE_NUX_LOCATION_WRITE_CHAT_MODE = 8; + CASCADE_NUX_LOCATION_TOOLBAR = 9; + + reserved 3; + reserved 5; +} + +enum CascadeNUXIcon { + CASCADE_NUX_ICON_UNSPECIFIED = 0; + CASCADE_NUX_ICON_WEB_SEARCH = 1; + CASCADE_NUX_ICON_WINDSURF_BROWSER = 2; +} + +enum CascadeNUXTrigger { + CASCADE_NUX_TRIGGER_UNSPECIFIED = 0; + CASCADE_NUX_TRIGGER_PRODUCED_CODE_DIFF = 1; + CASCADE_NUX_TRIGGER_OPEN_BROWSER_URL = 3; + CASCADE_NUX_TRIGGER_WEB_SEARCH = 4; + + reserved 2; +} + +enum AnnotationsConfig { + ANNOTATIONS_CONFIG_UNSPECIFIED = 0; + ANNOTATIONS_CONFIG_ENABLED = 1; + ANNOTATIONS_CONFIG_DISABLED = 2; +} + +enum BrowserExperimentalFeaturesConfig { + BROWSER_EXPERIMENTAL_FEATURES_CONFIG_UNSPECIFIED = 0; + BROWSER_EXPERIMENTAL_FEATURES_CONFIG_ENABLED = 1; + BROWSER_EXPERIMENTAL_FEATURES_CONFIG_DISABLED = 2; +} + +enum CompletionMode { + COMPLETION_MODE_UNSPECIFIED = 0; + COMPLETION_MODE_SUPERCOMPLETE = 1; + COMPLETION_MODE_AUTOCOMPLETE = 2; + COMPLETION_MODE_OFF = 3; +} + +enum SupercompleteAggression { + SUPERCOMPLETE_AGGRESSION_UNSPECIFIED = 0; + SUPERCOMPLETE_AGGRESSION_LOW = 1; + SUPERCOMPLETE_AGGRESSION_MEDIUM = 2; + SUPERCOMPLETE_AGGRESSION_HIGH = 3; +} + +enum ModelType { + MODEL_TYPE_UNSPECIFIED = 0; + MODEL_TYPE_COMPLETION = 1; + MODEL_TYPE_CHAT = 2; + MODEL_TYPE_EMBED = 3; + MODEL_TYPE_QUERY = 4; +} + +enum DisplayOption { + DISPLAY_OPTION_UNSPECIFIED = 0; + DISPLAY_OPTION_ARENA = 1; + DISPLAY_OPTION_BATTLE_GROUP_ONLY = 2; + DISPLAY_OPTION_MODEL_ROUTER = 3; + DISPLAY_OPTION_QUICK_REVIEW = 4; +} + +enum ArenaTier { + ARENA_TIER_UNSPECIFIED = 0; + ARENA_TIER_FAST = 1; + ARENA_TIER_SMART = 2; +} + +enum APIProvider { + API_PROVIDER_UNSPECIFIED = 0; + API_PROVIDER_INTERNAL = 1; + API_PROVIDER_OPENAI = 2; + API_PROVIDER_GOOGLE_VERTEX = 3; + API_PROVIDER_ANTHROPIC = 4; + API_PROVIDER_VLLM = 5; + API_PROVIDER_TOGETHER_AI = 6; + API_PROVIDER_HUGGING_FACE = 7 [deprecated = true]; + API_PROVIDER_NOMIC = 8 [deprecated = true]; + API_PROVIDER_TEI = 9 [deprecated = true]; + API_PROVIDER_OPENAI_COMPATIBLE_EXTERNAL = 10; + API_PROVIDER_ANTHROPIC_COMPATIBLE_EXTERNAL = 11; + API_PROVIDER_VERTEX_COMPATIBLE_EXTERNAL = 12; + API_PROVIDER_BEDROCK_COMPATIBLE_EXTERNAL = 13; + API_PROVIDER_AZURE_COMPATIBLE_EXTERNAL = 14; + API_PROVIDER_ANTHROPIC_BEDROCK = 15 [deprecated = true]; + API_PROVIDER_FIREWORKS = 16; + API_PROVIDER_OPEN_ROUTER = 17; + API_PROVIDER_XAI = 18; + API_PROVIDER_ANTHROPIC_BYOK = 20; + API_PROVIDER_CEREBRAS = 21; + API_PROVIDER_XAI_BYOK = 22; + API_PROVIDER_GEMINI_OPENAI = 23; + API_PROVIDER_GOOGLE_GEMINI = 24 [deprecated = true]; + API_PROVIDER_GOOGLE_GENAI_VERTEX = 25; + API_PROVIDER_ANTHROPIC_VERTEX = 26 [deprecated = true]; + API_PROVIDER_DATABRICKS = 27; + API_PROVIDER_OPEN_ROUTER_BYOK = 28; + API_PROVIDER_ANTHROPIC_DEVIN = 29; + API_PROVIDER_FIREWORKS_DEVIN = 30; + API_PROVIDER_GROQ = 31; + API_PROVIDER_OPENAI_DEVIN = 32; + API_PROVIDER_LLAMA_FT_DEEPWIKI = 33; + API_PROVIDER_XAI_INTERNAL = 34; + API_PROVIDER_FLOODGATE = 36; + API_PROVIDER_ANTHROPIC_BEDROCK_US = 37; + API_PROVIDER_ANTHROPIC_BEDROCK_GLOBAL = 38; + API_PROVIDER_MODAL = 40; + API_PROVIDER_GOOGLE_GEMINI_DEVIN = 41; + API_PROVIDER_FIREWORKS_COGNITION = 42; + API_PROVIDER_GOOGLE_GENAI_VERTEX_GLOBAL = 43; + API_PROVIDER_ANTHROPIC_VERTEX_US = 44; + API_PROVIDER_ANTHROPIC_VERTEX_EU = 45; + API_PROVIDER_ANTHROPIC_VERTEX_GLOBAL = 46; + API_PROVIDER_FIREWORKS_COGNITION_INTERNAL = 47; + API_PROVIDER_ANTHROPIC_DATABRICKS = 48; + API_PROVIDER_GEMINI_DATABRICKS = 49; + API_PROVIDER_MIMIC = 50; + API_PROVIDER_ANTHROPIC_NON_ZDR = 51; + API_PROVIDER_ANTHROPIC_DEVIN_NON_ZDR = 52; + API_PROVIDER_DATA_RETENTION_WORKSPACE_ANTHROPIC = 53; + API_PROVIDER_SGLANG = 60; + API_PROVIDER_AZURE_OPENAI_FEDERATED = 61; + + reserved 35; + reserved 39; + reserved 19; +} + +enum ModelStatus { + MODEL_STATUS_UNSPECIFIED = 0; + MODEL_STATUS_INFO = 1; + MODEL_STATUS_WARNING = 2; +} + +enum CodeSource { + CODE_SOURCE_UNSPECIFIED = 0; + CODE_SOURCE_BASE = 1; + CODE_SOURCE_CODEIUM = 2; + CODE_SOURCE_USER = 3; + CODE_SOURCE_USER_LARGE = 4; + CODE_SOURCE_UNKNOWN = 5; +} + +enum DocumentType { + DOCUMENT_TYPE_UNSPECIFIED = 0; + DOCUMENT_TYPE_SLACK_MESSAGE = 1; + DOCUMENT_TYPE_SLACK_CHANNEL = 2; + DOCUMENT_TYPE_GITHUB_ISSUE = 3; + DOCUMENT_TYPE_GITHUB_ISSUE_COMMENT = 4; + DOCUMENT_TYPE_GITHUB_REPO = 8; + DOCUMENT_TYPE_GOOGLE_DRIVE_FILE = 5; + DOCUMENT_TYPE_GOOGLE_DRIVE_FOLDER = 6; + DOCUMENT_TYPE_JIRA_ISSUE = 7; + DOCUMENT_TYPE_CCI = 9; +} + +enum ContextScopeType { + CONTEXT_SCOPE_TYPE_UNSPECIFIED = 0; + CONTEXT_SCOPE_TYPE_FILE = 1; + CONTEXT_SCOPE_TYPE_DIRECTORY = 2; + CONTEXT_SCOPE_TYPE_REPOSITORY = 3; + CONTEXT_SCOPE_TYPE_CODE_CONTEXT = 4; + CONTEXT_SCOPE_TYPE_CCI_WITH_SUBRANGE = 5; + CONTEXT_SCOPE_TYPE_REPOSITORY_PATH = 6; + CONTEXT_SCOPE_TYPE_SLACK = 7; + CONTEXT_SCOPE_TYPE_GITHUB = 8; + CONTEXT_SCOPE_TYPE_FILE_LINE_RANGE = 9; + CONTEXT_SCOPE_TYPE_TEXT_BLOCK = 10; + CONTEXT_SCOPE_TYPE_JIRA = 11; + CONTEXT_SCOPE_TYPE_GOOGLE_DRIVE = 12; + CONTEXT_SCOPE_TYPE_CONSOLE_LOG = 13; + CONTEXT_SCOPE_TYPE_DOM_ELEMENT = 14; + CONTEXT_SCOPE_TYPE_RECIPE = 15; + CONTEXT_SCOPE_TYPE_KNOWLEDGE = 16; + CONTEXT_SCOPE_TYPE_RULE = 17; + CONTEXT_SCOPE_TYPE_MCP_RESOURCE = 18; + CONTEXT_SCOPE_TYPE_BROWSER_PAGE = 19; + CONTEXT_SCOPE_TYPE_BROWSER_CODE_BLOCK = 20; + CONTEXT_SCOPE_TYPE_BROWSER_TEXT = 21; + CONTEXT_SCOPE_TYPE_CONVERSATION = 22; + CONTEXT_SCOPE_TYPE_USER_ACTIVITY = 23; + CONTEXT_SCOPE_TYPE_TERMINAL = 24; + CONTEXT_SCOPE_TYPE_GITHUB_PULL_REQUEST = 25; + CONTEXT_SCOPE_TYPE_CODE_MAP = 26; + CONTEXT_SCOPE_TYPE_MCP_PROMPT = 27; + CONTEXT_SCOPE_TYPE_SKILL = 28; + CONTEXT_SCOPE_TYPE_PLAN_FILE = 29; + CONTEXT_SCOPE_TYPE_GIT = 30; +} + +enum CommandRequestSource { + COMMAND_REQUEST_SOURCE_UNSPECIFIED = 0; + COMMAND_REQUEST_SOURCE_DEFAULT = 1; + COMMAND_REQUEST_SOURCE_FUNCTION_CODE_LENS = 2; + COMMAND_REQUEST_SOURCE_CLASS_CODE_LENS = 3; + COMMAND_REQUEST_SOURCE_RIGHT_CLICK_REFACTOR = 4; + COMMAND_REQUEST_SOURCE_SELECTION_HINT_CODE_LENS = 5; + COMMAND_REQUEST_SOURCE_LINE_HINT_CODE_LENS = 6; + COMMAND_REQUEST_SOURCE_PLAN = 7; + COMMAND_REQUEST_SOURCE_FOLLOWUP = 8; + COMMAND_REQUEST_SOURCE_PASTE_AND_TRANSLATE = 9; + COMMAND_REQUEST_SOURCE_SUPERCOMPLETE = 10; + COMMAND_REQUEST_SOURCE_FUNCTION_DOCSTRING = 11; + COMMAND_REQUEST_SOURCE_FAST_APPLY = 12; + COMMAND_REQUEST_SOURCE_TERMINAL = 13; + COMMAND_REQUEST_SOURCE_TAB_JUMP = 14; + + reserved 15; + reserved 16; +} + +enum StatusLevel { + STATUS_LEVEL_UNSPECIFIED = 0; + STATUS_LEVEL_ERROR = 1; + STATUS_LEVEL_WARNING = 2; + STATUS_LEVEL_INFO = 3; + STATUS_LEVEL_DEBUG = 4; +} + +enum CortexErrorCategory { + CORTEX_ERROR_CATEGORY_UNSPECIFIED = 0; + CORTEX_ERROR_CATEGORY_OVERALL = 1; + CORTEX_ERROR_CATEGORY_ACTION_PREPARE = 2; + CORTEX_ERROR_CATEGORY_ACTION_APPLY = 3; +} + +enum LastUpdateType { + LAST_UPDATE_TYPE_UNSPECIFIED = 0; + LAST_UPDATE_TYPE_OVERALL = 1; + LAST_UPDATE_TYPE_LAST_AUTOCOMPLETE_USAGE_TIME = 2; + LAST_UPDATE_TYPE_LAST_CHAT_USAGE_TIME = 3; + LAST_UPDATE_TYPE_LAST_COMMAND_USAGE_TIME = 4; +} + +enum OnboardingActionType { + ONBOARDING_ACTION_TYPE_UNSPECIFIED = 0; + ONBOARDING_ACTION_TYPE_AUTOCOMPLETE = 1; + ONBOARDING_ACTION_TYPE_COMMAND = 2; + ONBOARDING_ACTION_TYPE_CHAT = 3; +} + +enum SupercompleteTriggerCondition { + SUPERCOMPLETE_TRIGGER_CONDITION_UNSPECIFIED = 0; + SUPERCOMPLETE_TRIGGER_CONDITION_AUTOCOMPLETE_ACCEPT = 1; + SUPERCOMPLETE_TRIGGER_CONDITION_CURSOR_LINE_NAVIGATION = 2; + SUPERCOMPLETE_TRIGGER_CONDITION_TYPING = 3; + SUPERCOMPLETE_TRIGGER_CONDITION_FORCED = 4; + SUPERCOMPLETE_TRIGGER_CONDITION_TAB_JUMP_ACCEPT = 5; + SUPERCOMPLETE_TRIGGER_CONDITION_SUPERCOMPLETE_ACCEPT = 6; + SUPERCOMPLETE_TRIGGER_CONDITION_TAB_JUMP_PREDICTIVE = 7; + SUPERCOMPLETE_TRIGGER_CONDITION_AUTOCOMPLETE_PREDICTIVE = 8; + SUPERCOMPLETE_TRIGGER_CONDITION_SUPERCOMPLETE_PREDICTIVE = 9; + SUPERCOMPLETE_TRIGGER_CONDITION_TAB_JUMP_EDIT = 10; +} + +enum ProductEventType { + EVENT_UNSPECIFIED = 0; + WINDSURF_EDITOR_READY = 251; + WINDSURF_EXTENSION_START = 253; + WINDSURF_EXTENSION_ACTIVATED = 32; + LS_DOWNLOAD_START = 1; + LS_DOWNLOAD_COMPLETE = 2; + LS_DOWNLOAD_FAILURE = 5; + LS_BINARY_STARTUP = 250; + LS_STARTUP = 3; + LS_FAILURE = 4; + AUTOCOMPLETE_ACCEPTED = 6; + AUTOCOMPLETE_ONE_WORD_ACCEPTED = 7; + CHAT_MESSAGE_SENT = 8; + CHAT_MENTION_INSERT = 13; + CHAT_MENTION_MENU_OPEN = 19; + CHAT_OPEN_SETTINGS = 14; + CHAT_OPEN_CONTEXT_SETTINGS = 15; + CHAT_WITH_CODEBASE = 16; + CHAT_NEW_CONVERSATION = 17; + CHAT_CHANGE_MODEL = 18; + CHAT_TOGGLE_FOCUS_INSERT_TEXT = 34; + FUNCTION_REFACTOR = 28; + EXPLAIN_CODE_BLOCK = 29; + FUNCTION_ADD_DOCSTRING = 30; + EXPLAIN_PROBLEM = 31; + COMMAND_BOX_OPENED = 9; + COMMAND_SUBMITTED = 10; + COMMAND_ACCEPTED = 11; + COMMAND_REJECTED = 12; + WS_ONBOARDING_LANDING_PAGE_OPENED = 20; + WS_ONBOARDING_SETUP_PAGE_OPENED = 21; + WS_ONBOARDING_KEYBINDINGS_PAGE_OPENED = 22; + WS_ONBOARDING_MIGRATION_SCOPE_PAGE_OPENED = 23; + WS_ONBOARDING_IMPORT_PAGE_OPENED = 24; + WS_ONBOARDING_AUTH_PAGE_OPENED = 25; + WS_ONBOARDING_AUTH_MANUAL_PAGE_OPENED = 26; + WS_ONBOARDING_CHOOSE_THEME_PAGE_OPENED = 35; + WS_ONBOARDING_COMPLETED = 27; + WS_SKIPPED_ONBOARDING = 69; + WS_SETTINGS_PAGE_OPEN = 72; + WS_SETTINGS_PAGE_OPEN_WITH_SETTING_FOCUS = 73; + EMPTY_WORKSPACE_PAGE_OPENED = 209; + EMPTY_WORKSPACE_PAGE_RECENT_FOLDERS_CLICKED = 210; + EMPTY_WORKSPACE_PAGE_OPEN_FOLDER_CLICKED = 211; + EMPTY_WORKSPACE_PAGE_GENERATE_PROJECT_CLICKED = 212; + PROVIDE_FEEDBACK = 33; + CASCADE_MESSAGE_SENT = 36; + WS_OPEN_CASCADE_MEMORIES_PANEL = 38 [deprecated = true]; + PROVIDE_MESSAGE_FEEDBACK = 41; + CASCADE_MEMORY_DELETED = 42; + CASCADE_STEP_COMPLETED = 43; + ACKNOWLEDGE_CASCADE_CODE_EDIT = 44; + CASCADE_WEB_TOOLS_OPEN_READ_URL_MARKDOWN = 45; + CASCADE_WEB_TOOLS_OPEN_CHUNK_MARKDOWN = 46; + CASCADE_MCP_SERVER_INIT = 64; + CASCADE_KNOWLEDGE_BASE_ITEM_OPENED = 113; + CASCADE_VIEW_LOADED = 119; + CASCADE_CONTEXT_SCOPE_ITEM_ATTACHED = 173; + CASCADE_CLICK_EVENT = 65; + CASCADE_IMPRESSION_EVENT = 67; + OPEN_CHANGELOG = 37; + CURSOR_DETECTED = 39; + VSCODE_DETECTED = 40; + JETBRAINS_DETECTED = 153; + CROSS_SELL_EXTENSION_DOWNLOAD_WINDSURF_CLICK = 47; + CROSS_SELL_EXTENSION_DOWNLOAD_WINDSURF_NUDGE_IMPRESSION = 48; + WS_PROBLEMS_TAB_SEND_ALL_TO_CASCADE = 49; + WS_PROBLEMS_TAB_SEND_ALL_IN_FILE_TO_CASCADE = 50; + WS_CASCADE_BAR_FILE_NAV = 51 [deprecated = true]; + WS_CASCADE_BAR_HUNK_NAV = 52; + WS_CASCADE_BAR_ACCEPT_FILE = 53; + WS_CASCADE_BAR_REJECT_FILE = 54; + WS_CUSTOM_APP_ICON_MODAL_OPEN = 55; + WS_CUSTOM_APP_ICON_SELECT_CLASSIC = 56; + WS_CUSTOM_APP_ICON_SELECT_CLASSIC_LIGHT = 57; + WS_CUSTOM_APP_ICON_SELECT_RETRO = 58; + WS_CUSTOM_APP_ICON_SELECT_BLUEPRINT = 59; + WS_CUSTOM_APP_ICON_SELECT_HAND_DRAWN = 60; + WS_CUSTOM_APP_ICON_SELECT_SUNSET = 61; + WS_CUSTOM_APP_ICON_SELECT_VALENTINE = 66; + WS_CUSTOM_APP_ICON_SELECT_PIXEL_SURF = 82; + ENTERED_MCP_TOOLBAR_TAB = 63; + CLICKED_TO_CONFIGURE_MCP = 62; + WS_SETTINGS_UPDATED = 68; + BROWSER_PREVIEW_DOM_ELEMENT = 70; + BROWSER_PREVIEW_CONSOLE_OUTPUT = 71; + WS_SETTINGS_CHANGED_BY_USER = 74; + WS_GENERATE_COMMIT_MESSAGE_CLICKED = 75; + WS_GENERATE_COMMIT_MESSAGE_ERRORED = 76; + WS_CLICKED_COMMIT_FROM_SCM_PANEL = 77; + WS_CANCELED_GENERATE_COMMIT_MESSAGE = 79; + USING_DEV_EXTENSION = 78; + WS_APP_DEPLOYMENT_CREATE_PROJECT = 80; + WS_APP_DEPLOYMENT_DEPLOY_PROJECT = 81; + CASCADE_OPEN_ACTIVE_CONVERSATION_DROPDOWN = 114; + CASCADE_SELECT_ACTIVE_CONVERSATION_ON_DROPDOWN = 115; + CASCADE_NAVIGATE_ACTIVE_CONVERSATION_ON_DROPDOWN = 122; + CASCADE_SNOOZE_CONVERSATION_ON_DROPDOWN = 123; + CASCADE_TOGGLE_NOTIFICATION_ON_DROPDOWN = 124; + CASCADE_SELECT_NOTIFICATION_ON_DROPDOWN = 125; + CASCADE_NAVIGATE_NOTIFICATION_ON_DROPDOWN = 126; + CASCADE_DISMISS_NOTIFICATION_ON_DROPDOWN = 127; + CASCADE_TRAJECTORY_SHARE_COPY_LINK = 137; + CASCADE_TRAJECTORY_SHARE_CREATE_LINK = 138; + CASCADE_CUSTOMIZATIONS_TAB_CHANGE = 139; + CASCADE_WORKFLOW_OPEN = 140; + CASCADE_NEW_WORKFLOW_CLICKED = 141; + CASCADE_NEW_GLOBAL_WORKFLOW_CLICKED = 184; + CASCADE_WORKFLOW_REFRESH_CLICKED = 142; + CASCADE_RULE_OPEN = 143; + CASCADE_NEW_RULE_CLICKED = 144; + CASCADE_NEW_GLOBAL_RULE_CLICKED = 145; + CASCADE_RULE_REFRESH_CLICKED = 146; + CASCADE_IMPORT_RULES_FROM_CURSOR_CLICKED = 147; + WS_IMPORT_CURSOR_RULES_COMMAND_PALETTE = 152; + CASCADE_CHANGES_ACCEPT_ALL = 83; + CASCADE_CHANGES_REJECT_ALL = 84; + CASCADE_MEMORIES_EDIT = 85; + CASCADE_MEMORIES_VIEW = 86; + KEYBOARD_SHORTCUT = 136; + CASCADE_INSERT_AT_MENTION = 87; + CASCADE_ERROR_STEP = 120; + CASCADE_SUGGESTED_RESPONSES_SUGGESTION_CLICKED = 121; + CASCADE_PLUGIN_PANEL_OPENED = 128; + CASCADE_PLUGIN_PAGE_OPENED = 129; + CASCADE_PLUGIN_INSTALLED = 130; + CASCADE_PLUGIN_DISABLED = 131; + CASCADE_PLUGIN_ENABLED = 132; + CASCADE_PLUGIN_INSTALLATION_ERROR = 133; + CASCADE_PLUGIN_TOOL_ENABLED = 134; + CASCADE_PLUGIN_TOOL_DISABLED = 135; + WEBSITE_NOT_FOUND_PAGE = 88; + WEBSITE_AUTH_REDIRECT_LONG_WAIT = 89; + WEBSITE_AUTH_REDIRECT_ERROR = 90; + WEBSITE_AUTH_REDIRECT_SUCCESS = 112; + WEBSITE_PAGE_VISIT = 175; + WEBSITE_SIGNUP_INFO = 176; + WEBSITE_START_PLAN_CHECKOUT = 177; + WEBSITE_START_UPDATE_PAYMENT = 202; + WEBSITE_START_VIEW_INVOICES = 203; + WEBSITE_UNIVERSITY_LECTURE_VIEW = 214; + WEBSITE_DISALLOW_ENTERPRISE_LOGIN = 224; + WEBSITE_SSO_LOGIN_REDIRECT = 225; + WEBSITE_ATTEMPT_TO_LOGIN = 226; + WEBSITE_SUCCESSFUL_LOGIN = 227; + WEBSITE_FAILED_LOGIN = 228; + JB_OPEN_PLAN_INFO = 91; + JB_SNOOZE_PLUGIN = 92 [deprecated = true]; + JB_TOGGLE_PLUGIN_STATUS = 93 [deprecated = true]; + JB_SWITCH_CHANNEL = 94; + JB_OPEN_SETTINGS = 95; + JB_PLUGIN_LOG_IN = 96; + JB_PLUGIN_LOG_OUT = 97; + JB_OPEN_QUICK_REFERENCE = 98; + JB_EDIT_KEYBOARD_SHORTCUTS = 99; + JB_CASCADE_BAR_CASCADE_ICON = 100; + JB_CASCADE_BAR_FILE_NAV = 101; + JB_CASCADE_BAR_HUNK_NAV = 102; + JB_CASCADE_BAR_ACCEPT_FILE = 103; + JB_CASCADE_BAR_REJECT_FILE = 104; + JB_INLAY_HUNK_ACCEPT = 105; + JB_INLAY_HUNK_REJECT = 106; + JB_DIFF_RE_RENDER = 107; + JB_ONBOARDING_OPENED = 108; + JB_ONBOARDING_COMPLETED = 109; + JB_ONBOARDING_SKIPPED = 110; + JB_ONBOARDING_LEARN_MORE = 111; + JB_DIFF_RESOLUTION_ERRORED = 116; + JB_ACKNOWLEDGE_CODE_EDIT_ERRORED = 117; + JB_OPEN_SETTINGS_NOTIFICATION = 118; + JB_MCP_ADD_SERVER = 148; + JB_MCP_SAVE_CONFIG = 149; + JB_MCP_EXPAND_TOOLS = 150; + JB_DISABLE_AUTOGEN_MEMORY = 151; + JB_TOGGLE_AUTOCOMPLETE = 154; + JB_LOGIN_MANUAL_AUTH_TOKEN = 174; + JB_AUTO_UPDATED = 179; + JB_DRAG_DROP_FILE = 182; + JB_AUTO_OPEN_CHAT_WINDOW = 183; + WS_TERMINAL_INTEGRATION_FORCE_EXIT = 155; + KNOWLEDGE_BASE_ITEM_CREATED = 156; + KNOWLEDGE_BASE_ITEM_EDITED = 157; + KNOWLEDGE_BASE_ITEM_DELETED = 158; + KNOWLEDGE_BASE_ITEM_READ = 159; + KNOWLEDGE_BASE_CONNECTION_CREATE = 160; + KNOWLEDGE_BASE_CONNECTION_REMOVE = 161; + TEAM_CONFIG_TOGGLE_AUTO_RUN_COMMANDS = 162; + TEAM_CONFIG_TOGGLE_MCP_SERVERS = 163; + TEAM_CONFIG_TOGGLE_APP_DEPLOYMENTS = 164; + TEAM_CONFIG_TOGGLE_SANDBOX_APP_DEPLOYMENTS = 165; + TEAM_CONFIG_TOGGLE_TEAMS_APP_DEPLOYMENTS = 166; + TEAM_CONFIG_TOGGLE_GITHUB_REVIEWS = 167; + TEAM_CONFIG_TOGGLE_GITHUB_DESCRIPTION_EDITS = 168; + TEAM_CONFIG_TOGGLE_PR_REVIEW_GUIDELINES = 169; + TEAM_CONFIG_TOGGLE_PR_DESCRIPTION_GUIDELINES = 170; + TEAM_CONFIG_TOGGLE_INDIVIDUAL_LEVEL_ANALYTICS = 171; + TEAM_CONFIG_TOGGLE_CONVERSATION_SHARING = 172; + TEAM_CONFIG_UPDATE_MCP_SERVERS = 178; + TEAM_CONFIG_TOGGLE_GITHUB_AUTO_REVIEWS = 207; + TEAM_CONFIG_UPDATE_TOP_UP_SETTINGS = 213; + BROWSER_OPEN = 180; + CASCADE_WEB_TOOLS_OPEN_BROWSER_MARKDOWN = 181; + BROWSER_PAGE_LOAD_SUCCESS = 206; + BROWSER_TOOLBAR_INSERT_PAGE_MENTION = 208; + BROWSER_INSERT_TEXT_CONTENT = 215; + BROWSER_INSERT_SCREENSHOT = 216; + BROWSER_INSERT_CODE_BLOCK = 217; + BROWSER_INSERT_LOG_BLOCK = 218; + BROWSER_INSERT_CONSOLE_OUTPUT = 219; + BROWSER_INSERT_DOM_ELEMENT = 220; + SUPERCOMPLETE_REQUEST_STARTED = 195; + SUPERCOMPLETE_CACHE_HIT = 196; + SUPERCOMPLETE_ERROR_GETTING_RESPONSE = 197; + SUPERCOMPLETE_NO_RESPONSE = 185; + SUPERCOMPLETE_REQUEST_SUCCEEDED = 186; + SUPERCOMPLETE_FILTERED = 187; + TAB_JUMP_REQUEST_STARTED = 188; + TAB_JUMP_CACHE_HIT = 189; + TAB_JUMP_ERROR_GETTING_RESPONSE = 190; + TAB_JUMP_NO_RESPONSE = 191; + TAB_JUMP_PROCESSING_COMPLETE = 192; + TAB_JUMP_FILTERED = 193; + TAB_JUMP_ERROR_UI_RENDERED = 194; + AUTO_CASCADE_PR_TITLE_GENERATED = 198; + AUTO_CASCADE_PR_DESCRIPTION_GENERATED = 199; + AUTO_CASCADE_PR_REVIEW_REQUESTED = 200; + AUTO_CASCADE_PR_REVIEW_GENERATED = 201; + AUTO_CASCADE_GITHUB_CONNECTION_ADDED = 204; + AUTO_CASCADE_GITHUB_CONNECTION_REMOVED = 205; + AUTOCOMPLETE_CHAT_NO_RESPONSE = 221; + AUTOCOMPLETE_CHAT_ERROR_GETTING_RESPONSE = 222; + AUTOCOMPLETE_CHAT_REQUEST_ACCEPTED = 223; +} + +enum IndexChoice { + INDEX_CHOICE_UNSPECIFIED = 0; + INDEX_CHOICE_GITHUB_BASE = 1; + INDEX_CHOICE_SLACK_BASE = 2; + INDEX_CHOICE_SLACK_AGGREGATE = 3 [deprecated = true]; + INDEX_CHOICE_GOOGLE_DRIVE_BASE = 4; + INDEX_CHOICE_JIRA_BASE = 5; + INDEX_CHOICE_SCM = 6; +} + +enum MarkdownNodeType { + MARKDOWN_NODE_TYPE_UNSPECIFIED = 0; + MARKDOWN_NODE_TYPE_HEADER_1 = 1; + MARKDOWN_NODE_TYPE_HEADER_2 = 2; + MARKDOWN_NODE_TYPE_HEADER_3 = 3; + MARKDOWN_NODE_TYPE_HEADER_4 = 4; + MARKDOWN_NODE_TYPE_HEADER_5 = 5; + MARKDOWN_NODE_TYPE_HEADER_6 = 6; +} + +enum TerminalShellCommandSource { + TERMINAL_SHELL_COMMAND_SOURCE_UNSPECIFIED = 0; + TERMINAL_SHELL_COMMAND_SOURCE_USER = 1; + TERMINAL_SHELL_COMMAND_SOURCE_CASCADE = 2; +} + +enum TerminalShellCommandStatus { + TERMINAL_SHELL_COMMAND_STATUS_UNSPECIFIED = 0; + TERMINAL_SHELL_COMMAND_STATUS_RUNNING = 1; + TERMINAL_SHELL_COMMAND_STATUS_COMPLETED = 2; +} + +enum DeploymentBuildStatus { + DEPLOYMENT_BUILD_STATUS_UNSPECIFIED = 0; + DEPLOYMENT_BUILD_STATUS_QUEUED = 1; + DEPLOYMENT_BUILD_STATUS_INITIALIZING = 2; + DEPLOYMENT_BUILD_STATUS_BUILDING = 3; + DEPLOYMENT_BUILD_STATUS_ERROR = 4; + DEPLOYMENT_BUILD_STATUS_READY = 5; + DEPLOYMENT_BUILD_STATUS_CANCELED = 6; +} + +enum DeploymentProvider { + DEPLOYMENT_PROVIDER_UNSPECIFIED = 0; + DEPLOYMENT_PROVIDER_VERCEL = 1; + DEPLOYMENT_PROVIDER_NETLIFY = 2; + DEPLOYMENT_PROVIDER_CLOUDFLARE = 3; +} + +enum ValidationStatus { + VALIDATION_STATUS_UNSPECIFIED = 0; + VALIDATION_STATUS_AVAILABLE = 1; + VALIDATION_STATUS_IN_USE = 2; + VALIDATION_STATUS_TAKEN = 3; + VALIDATION_STATUS_INVALID = 4; +} + +enum SandboxEnforcementMode { + SANDBOX_ENFORCEMENT_MODE_UNSPECIFIED = 0; + SANDBOX_ENFORCEMENT_MODE_OPTIONAL = 1; + SANDBOX_ENFORCEMENT_MODE_REQUIRED = 2; +} + +enum PromptTemplaterType { + PROMPT_TEMPLATER_TYPE_UNSPECIFIED = 0; + PROMPT_TEMPLATER_TYPE_LLAMA_2 = 1; + PROMPT_TEMPLATER_TYPE_LLAMA_3 = 2; + PROMPT_TEMPLATER_TYPE_CHATML = 3; + PROMPT_TEMPLATER_TYPE_CHAT_TRANSCRIPT = 4; + PROMPT_TEMPLATER_TYPE_DEEPSEEK_V2 = 5; + PROMPT_TEMPLATER_TYPE_DEEPSEEK_V3 = 6; + PROMPT_TEMPLATER_TYPE_KIMI = 7; +} + +enum ToolFormatterType { + TOOL_FORMATTER_TYPE_UNSPECIFIED = 0; + TOOL_FORMATTER_TYPE_LLAMA_3 = 1; + TOOL_FORMATTER_TYPE_HERMES = 2; + TOOL_FORMATTER_TYPE_XML = 3; + TOOL_FORMATTER_TYPE_CHAT_TRANSCRIPT = 4; + TOOL_FORMATTER_TYPE_KIMI = 5; + TOOL_FORMATTER_TYPE_QWENCODER = 6; + TOOL_FORMATTER_TYPE_SUPERCOMPLETE = 7; +} + +enum BrowserInstallationStatus { + BROWSER_INSTALLATION_STATUS_UNSPECIFIED = 0; + BROWSER_INSTALLATION_STATUS_NOT_INSTALLED = 1; + BROWSER_INSTALLATION_STATUS_IN_PROGRESS = 2; + BROWSER_INSTALLATION_STATUS_COMPLETE = 3; + BROWSER_INSTALLATION_STATUS_ERROR = 4; +} + +enum TrajectoryType { + TRAJECTORY_TYPE_UNSPECIFIED = 0; + TRAJECTORY_TYPE_CASCADE = 1; + TRAJECTORY_TYPE_MAINLINE_TRAJECTORY = 2; +} + +enum RefreshCustomizationType { + REFRESH_CUSTOMIZATION_TYPE_UNSPECIFIED = 0; + REFRESH_CUSTOMIZATION_TYPE_RULE = 1; + REFRESH_CUSTOMIZATION_TYPE_WORKFLOW = 2; + REFRESH_CUSTOMIZATION_TYPE_USER_MEMORY = 3; + REFRESH_CUSTOMIZATION_TYPE_SKILL = 4; + REFRESH_CUSTOMIZATION_TYPE_PLAN = 5; + REFRESH_CUSTOMIZATION_TYPE_MCP = 6; +} + +enum ThirdPartyWebSearchProvider { + THIRD_PARTY_WEB_SEARCH_PROVIDER_UNSPECIFIED = 0; + THIRD_PARTY_WEB_SEARCH_PROVIDER_OPENAI = 1; +} + +enum ThirdPartyWebSearchModel { + THIRD_PARTY_WEB_SEARCH_MODEL_UNSPECIFIED = 0; + THIRD_PARTY_WEB_SEARCH_MODEL_O3 = 1; + THIRD_PARTY_WEB_SEARCH_MODEL_GPT_4_1 = 2; + THIRD_PARTY_WEB_SEARCH_MODEL_O4_MINI = 3; +} + +message CompletionsRequest { + .exa.codeium_common_pb.CompletionConfiguration configuration = 1; + string prompt = 2; + string context_prompt = 21; + string uid = 25; + repeated .exa.codeium_common_pb.PromptElementRange prompt_element_ranges = 8; + repeated .exa.codeium_common_pb.PromptElementKindInfo prompt_element_kind_infos = 9; + uint64 prompt_latency_ms = 11; + repeated .exa.codeium_common_pb.PromptStageLatency prompt_stage_latencies = 12; + uint64 num_tokenized_bytes = 20; + string editor_language = 3; + .exa.codeium_common_pb.Language language = 4; + string absolute_path_uri_for_telemetry = 5; + string relative_path_for_telemetry = 6; + string workspace_uri_for_telemetry = 13; + string experiment_features_json = 7; + string experiment_variant_json = 19; + .exa.codeium_common_pb.Model model = 10; + bool has_line_suffix = 14; + bool should_inline_fim = 15; + .exa.codeium_common_pb.Repository repository = 16; + string model_tag = 17; + repeated string experiment_tags = 18; + string eval_suffix = 22; + repeated .exa.codeium_common_pb.PromptAnnotationRange prompt_annotation_ranges = 23; + bool supports_packed_streaming_completion_maps = 24; +} + +message CompletionConfiguration { + uint64 num_completions = 1; + uint64 max_tokens = 2; + uint64 max_newlines = 3; + double min_log_probability = 4; + double temperature = 5; + double first_temperature = 6; + uint64 top_k = 7; + double top_p = 8; + repeated string stop_patterns = 9; + uint64 seed = 10; + double fim_eot_prob_threshold = 11; + bool use_fim_eot_threshold = 12; + bool do_not_score_stop_tokens = 13; + bool sqrt_len_normalized_log_prob_score = 14; + bool last_message_is_partial = 15; + bool return_logprob = 16; + string service_tier = 17; +} + +message PromptElementRange { + .exa.codeium_common_pb.PromptElementKind kind = 1; + uint64 byte_offset_start = 2; + uint64 byte_offset_end = 3; + uint64 token_offset_start = 4; + uint64 token_offset_end = 5; +} + +message ActionPointer { + string cortex_plan_id = 1; + string code_plan_id = 2; + int32 action_index = 3; +} + +message PromptAnnotationRange { + .exa.codeium_common_pb.PromptAnnotationKind kind = 1; + uint64 byte_offset_start = 2; + uint64 byte_offset_end = 3; + string suffix = 4; +} + +message ExperimentWithVariant { + .exa.codeium_common_pb.ExperimentKey key = 1 [deprecated = true]; + string key_string = 5; + bool disabled = 6; + oneof payload { + string string = 2; + string json = 3; + string csv = 4; + } + .exa.codeium_common_pb.ExperimentSource source = 7; +} + +message ExperimentConfig { + repeated .exa.codeium_common_pb.ExperimentWithVariant experiments = 6; + repeated .exa.codeium_common_pb.ExperimentKey force_enable_experiments = 1; + repeated .exa.codeium_common_pb.ExperimentKey force_disable_experiments = 2; + repeated .exa.codeium_common_pb.ExperimentWithVariant force_enable_experiments_with_variants = 3; + repeated string force_enable_experiment_strings = 4; + repeated string force_disable_experiment_strings = 5; + bool dev_mode = 7; +} + +message ExperimentLanguageServerVersionPayload { + string sha = 1; + string crc32c_linux_x64 = 2; + string crc32c_linux_arm = 3; + string crc32c_macos_x64 = 4; + string crc32c_macos_arm = 5; + string crc32c_windows_x64 = 6; +} + +message ExperimentModelConfigPayload { + string model_name = 1; + string context_check_model_name = 2; +} + +message ExperimentMiddleModeTokenPayload { + string mode_token = 1; +} + +message ExperimentMultilineModelThresholdPayload { + float threshold = 1; +} + +message ExperimentSentryPayload { + reserved 1; + reserved 4; + reserved "dsn_to_sample_rate", "ignore"; + + double sample_rate = 2; + map procedure_to_sample_rate = 3; + map error_match_to_sample_rate = 5; +} + +message TeamOrganizationalControls { + reserved 7; + + enum ModelFilterMode { + MODEL_FILTER_MODE_UNSPECIFIED = 0; + MODEL_FILTER_MODE_BY_MODEL = 1; + MODEL_FILTER_MODE_BY_PROVIDER = 2; + } + + enum AdaptiveSetting { + ADAPTIVE_SETTING_UNSPECIFIED = 0; + ADAPTIVE_SETTING_ENABLED = 1; + ADAPTIVE_SETTING_DISABLED = 2; + } + + enum CyberVerificationEnabled { + CYBER_VERIFICATION_ENABLED_UNSPECIFIED = 0; + CYBER_VERIFICATION_ENABLED_ON = 1; + CYBER_VERIFICATION_ENABLED_OFF = 2; + } + + enum QuickReviewSetting { + QUICK_REVIEW_SETTING_UNSPECIFIED = 0; + QUICK_REVIEW_SETTING_ENABLED = 1; + QUICK_REVIEW_SETTING_DISABLED = 2; + } + + enum AnthropicCyberRetentionSetting { + ANTHROPIC_CYBER_RETENTION_SETTING_UNSPECIFIED = 0; + ANTHROPIC_CYBER_RETENTION_SETTING_ENABLED = 1; + ANTHROPIC_CYBER_RETENTION_SETTING_DISABLED = 2; + } + + string team_id = 1; + repeated string cascade_model_labels = 2 [deprecated = true]; + repeated string command_model_labels = 3 [deprecated = true]; + .google.protobuf.Timestamp created_at = 4; + .google.protobuf.Timestamp updated_at = 5; + repeated string extension_model_labels = 6; + repeated .exa.codeium_common_pb.APIProvider allowed_api_providers = 8; + repeated string cli_model_labels = 9 [deprecated = true]; + repeated .exa.codeium_common_pb.ModelProvider allowed_model_providers = 10; + repeated string cascade_model_uids = 11; + repeated string command_model_uids = 12; + repeated string cli_model_uids = 13; + .exa.codeium_common_pb.TeamOrganizationalControls.ModelFilterMode model_filter_mode = 14; + .exa.codeium_common_pb.TeamOrganizationalControls.AdaptiveSetting adaptive_setting = 15; + string anthropic_profile_id = 16; + string anthropic_cyber_verification_status = 17; + .exa.codeium_common_pb.TeamOrganizationalControls.CyberVerificationEnabled anthropic_cyber_verification_enabled = 18; + repeated string blocked_model_tags = 19; + .exa.codeium_common_pb.TeamOrganizationalControls.QuickReviewSetting quick_review_setting = 20; + .exa.codeium_common_pb.TeamOrganizationalControls.AnthropicCyberRetentionSetting anthropic_cyber_retention_setting = 21; +} + +message ExperimentProfilingTelemetrySampleRatePayload { + map memory_usage_to_sample_rate = 1; +} + +message ModelOrAlias { + oneof choice { + .exa.codeium_common_pb.Model model = 1 [deprecated = true]; + .exa.codeium_common_pb.ModelAlias alias = 2; + string model_uid = 3; + } +} + +message PromptElementKindInfo { + .exa.codeium_common_pb.PromptElementKind kind = 1; + .exa.codeium_common_pb.ExperimentKey experiment_key = 2; + bool enabled = 3; + uint64 num_considered = 4; + uint64 num_included = 5; +} + +message PromptElementInclusionMetadata { + bool included = 1; + .exa.codeium_common_pb.PromptElementExclusionReason exclusion_reason = 2; +} + +message PromptStageLatency { + string name = 1; + uint64 latency_ms = 2; +} + +message CompletionResponse { + reserved 9; + reserved "runner_completion_latency"; + + repeated .exa.codeium_common_pb.Completion completions = 1; + uint64 max_tokens = 2; + double temperature = 3; + uint64 top_k = 4; + double top_p = 5; + repeated string stop_patterns = 6; + uint64 prompt_length = 7; + string prompt_id = 8; + string model_tag = 10; + optional .exa.codeium_common_pb.CompletionProfile completion_profile = 11; +} + +message Completion { + reserved 3; + reserved 11; + reserved "prefix", "entropy"; + + string completion_id = 1; + string request_uid = 17; + string text = 2; + string stop = 4; + double score = 5; + repeated uint64 tokens = 6; + repeated string decoded_tokens = 7; + repeated double probabilities = 8; + repeated double adjusted_probabilities = 9; + repeated double logprobs = 16; + uint64 generated_length = 10; + .exa.codeium_common_pb.StopReason stop_reason = 12; + repeated .exa.codeium_common_pb.FilterReason filter_reasons = 13; + string original_text = 14; + repeated .exa.codeium_common_pb.ChatToolCall tool_calls = 15; +} + +message StreamingCompletionInfo { + repeated string completion_ids = 1; + uint64 max_tokens = 2; + double temperature = 3; + uint64 top_k = 4; + double top_p = 5; + repeated string stop_patterns = 6; + uint64 prompt_length = 7; + string prompt_id = 9; + string model_tag = 8; + .exa.codeium_common_pb.CompletionsRequest completions_request = 10; + .exa.codeium_common_pb.StreamingEvalSuffixInfo eval_suffix_info = 11; +} + +message SingleModelCompletionProfile { + double total_prefill_pass_time = 1; + double avg_prefill_pass_time = 2; + uint64 num_prefill_passes = 3; + double total_spec_copy_pass_time = 7; + double avg_spec_copy_pass_time = 8; + uint64 num_spec_copy_passes = 9; + double total_generation_pass_time = 4; + double avg_generation_pass_time = 5; + uint64 num_generation_passes = 6; + double total_model_time = 10; +} + +message CompletionProfile { + .exa.codeium_common_pb.SingleModelCompletionProfile model_profile = 1; + optional .exa.codeium_common_pb.SingleModelCompletionProfile draft_model_profile = 2; + double time_to_first_prefill_pass = 3; + double time_to_first_token = 4; + double total_completion_time = 5; + optional .exa.codeium_common_pb.ModelUsageStats model_usage = 6; +} + +message StreamingCompletion { + bytes decoded_token = 1; + uint64 token = 2; + double probability = 3; + double adjusted_probability = 4; + double logprob = 9; + bool completion_finished = 5; + string stop = 6; + .exa.codeium_common_pb.StopReason stop_reason = 7; + map attribution_statuses = 8; +} + +message StreamingCompletionMap { + map completions = 1; +} + +message PackedStreamingCompletionMaps { + repeated .exa.codeium_common_pb.StreamingCompletionMap completion_maps = 1; +} + +message StreamingEvalSuffixInfo { + repeated float per_token_log_likelihoods = 1; + bool is_greedy = 2; +} + +message StreamingCompletionResponse { + reserved 3; + reserved "eval_suffix_info"; + + oneof payload { + .exa.codeium_common_pb.StreamingCompletionInfo completion_info = 1; + .exa.codeium_common_pb.StreamingCompletionMap completion_map = 2; + .exa.codeium_common_pb.PackedStreamingCompletionMaps packed_completion_maps = 4; + } + optional .exa.codeium_common_pb.CompletionProfile completion_profile = 5; +} + +message CompletionLatencyInfo { + uint64 api_server_latency_ms = 1; + uint64 language_server_latency_ms = 2; + uint64 network_latency_ms = 3; + uint64 api_server_first_byte_latency_ms = 4; + uint64 language_server_first_byte_latency_ms = 5; + uint64 network_first_byte_latency_ms = 6; + uint64 api_server_first_line_latency_ms = 7; + uint64 language_server_first_line_latency_ms = 8; + uint64 network_first_line_latency_ms = 9; +} + +message CompletionWithLatencyInfo { + .exa.codeium_common_pb.Completion completion = 1; + .exa.codeium_common_pb.CompletionLatencyInfo latency_info = 2; +} + +message EmbeddingsRequest { + repeated string prompts = 1; + .exa.codeium_common_pb.EmbeddingPriority priority = 2; + .exa.codeium_common_pb.EmbeddingPrefix prefix = 3; + .exa.codeium_common_pb.Model model = 4; +} + +message Embedding { + repeated float values = 1; +} + +message EmbeddingResponse { + repeated .exa.codeium_common_pb.Embedding embeddings = 1; + bool prompts_exceeded_context_length = 2; +} + +message RewardsRequest { + string prefix = 2; + repeated string items = 3; + bool has_instruct_tokens = 4; +} + +message RewardsResponse { + repeated float values = 1; + bool prompts_exceeded_context_length = 2; +} + +message Metadata { + reserved 19; + reserved 23; + reserved "ip_address", "windsurf_version"; + + string ide_name = 1; + string ide_version = 7; + string ide_type = 28; + string extension_name = 12; + string extension_version = 2; + string api_key = 3; + string locale = 4; + string os = 5; + string hardware = 8; + bool disable_telemetry = 6; + string session_id = 10; + .google.protobuf.Timestamp ls_timestamp = 16; + uint64 request_id = 9; + string source_address = 11; + string user_agent = 13; + string url = 14; + .exa.codeium_common_pb.AuthSource auth_source = 15; + string extension_path = 17; + string user_id = 20; + string user_jwt = 21; + string force_team_id = 22; + string device_fingerprint = 24; + string trigger_id = 25; + string plan_name = 26; + string id = 27; + string impersonate_tier = 29; + repeated .exa.codeium_common_pb.DisplayOption supported_model_displays = 30; + string f = 31; + string team_id = 32; +} + +message EditorOptions { + uint64 tab_size = 1; + bool insert_spaces = 2; + bool disable_autocomplete_in_comments = 3; +} + +message ErrorTrace { + string error_id = 1; + int64 timestamp_unix_ms = 2; + string stacktrace = 3; + bool recovered = 4; +} + +message Event { + .exa.codeium_common_pb.EventType event_type = 1; + string event_json = 2; + int64 timestamp_unix_ms = 3; +} + +message SearchResultRecord { + string search_id = 1; + string result_id = 2; + string absolute_path = 3; + repeated .exa.codeium_common_pb.WorkspacePath workspace_paths = 4; + string text = 5; + .exa.codeium_common_pb.EmbeddingMetadata embedding_metadata = 6; + float similarity_score = 7; + int64 num_results_in_cluster = 8; + string representative_path = 9; + float mean_similarity_score = 10; + .exa.codeium_common_pb.SearchResultType search_result_type = 11; +} + +message WorkspacePath { + string workspace_migrate_me_to_uri = 1 [deprecated = true]; + string workspace_uri = 3; + string relative_path = 2; +} + +message EmbeddingMetadata { + string node_name = 1; + uint32 start_line = 2; + uint32 end_line = 3; + .exa.codeium_common_pb.EmbedType embed_type = 4; +} + +message MockResponseData { + repeated .exa.codeium_common_pb.Completion completions = 1; +} + +message WorkspaceIndexData { + string workspace_uri_for_telemetry = 1; + .google.protobuf.Timestamp indexing_start = 2; + .google.protobuf.Timestamp indexing_end = 3; + .google.protobuf.Duration embedding_duration = 4; + int64 num_files_total = 5; + int64 num_files_to_embed = 6; + int64 num_nodes_total = 7; + int64 num_nodes_to_embed = 8; + int64 num_tokens = 9; + int64 num_high_priority_nodes_to_embed = 10; + string error = 11; +} + +message WorkspaceStats { + string workspace = 3; + map num_files = 1; + map num_bytes = 2; + bool initial_scan_completed = 4; +} + +message PartialIndexMetadata { + uint32 num_total_files = 1; + uint32 num_indexed_files = 2; + .google.protobuf.Timestamp cutoff_timestamp = 3; +} + +message FunctionInfo { + string raw_source = 1; + string clean_function = 2; + string docstring = 3; + string node_name = 4; + string params = 5; + int32 definition_line = 6; + int32 start_line = 7; + int32 end_line = 8; + int32 start_col = 9; + int32 end_col = 10; + string leading_whitespace = 11; + .exa.codeium_common_pb.Language language = 12; + int32 body_start_line = 13; + int32 body_start_col = 14; +} + +message ClassInfo { + string raw_source = 1; + int32 start_line = 2; + int32 end_line = 3; + int32 start_col = 4; + int32 end_col = 5; + string leading_whitespace = 6; + repeated string fields_and_constructors = 7; + string docstring = 8; + string node_name = 9; + repeated .exa.codeium_common_pb.FunctionInfo methods = 10; + repeated string node_lineage = 11; + bool is_exported = 12; + .exa.codeium_common_pb.Language language = 13; + int32 definition_line = 14; +} + +message TeamsFeaturesMetadata { + bool is_active = 1; + string stripe_subscription_id = 2; + bool has_access = 3; +} + +message PromoStatus { + bool is_active = 1; + .google.protobuf.Timestamp end_date = 2; + string label = 3; +} + +message FastStatus { + bool is_active = 1; + string tooltip = 2; +} + +message ArenaConfig { + reserved 1; + reserved "arena_tier"; + + float tokens_per_second = 2; +} + +message ModelDimension { + string label = 1; + float value = 2; + string denominator = 3; + float min_range = 4; + float max_range = 5; + .exa.codeium_common_pb.ModelDimensionKind kind = 6; + optional string info = 7; +} + +message ModelDisabledReason { + string short_reason = 1; + optional string description = 2; + optional string link = 3; +} + +message ClientModelConfig { + reserved 25; + reserved 26; + reserved 28; + reserved "arena_tier", "tokens_per_second"; + + string label = 1; + .exa.codeium_common_pb.ModelOrAlias model_or_alias = 2; + string model_uid = 22; + float credit_multiplier = 3; + .exa.codeium_common_pb.ModelPricingType pricing_type = 13; + bool disabled = 4; + bool supports_images = 5; + bool supports_legacy = 6; + bool is_premium = 7; + string beta_warning_message = 8; + bool is_beta = 9; + .exa.codeium_common_pb.ModelProvider provider = 10; + bool is_recommended = 11; + repeated .exa.codeium_common_pb.TeamsTier allowed_tiers = 12; + .exa.codeium_common_pb.APIProvider api_provider = 14; + bool is_new = 15; + bool partial_rollout = 16; + float rollout_fraction = 17; + int32 max_tokens = 18; + .exa.codeium_common_pb.PromoStatus promo_status = 19; + bool is_capacity_limited = 20; + .exa.codeium_common_pb.FastStatus fast_status = 21; + .exa.codeium_common_pb.ModelInfo model_info = 23; + .exa.codeium_common_pb.ModelCostTier model_cost_tier = 24; + optional string description = 27; + optional string smart_friend_model_uid = 29; + .exa.codeium_common_pb.ModelFamilyMetadata model_family_metadata = 30; + bool is_default_model_in_family = 31; + repeated .exa.codeium_common_pb.ModelDimension model_dimensions = 32; + optional .exa.codeium_common_pb.ModelDisabledReason disabled_reason = 33; +} + +message DefaultOverrideModelConfig { + .exa.codeium_common_pb.ModelOrAlias model_or_alias_deprecated = 1 [deprecated = true]; + string model_uid = 3; + string version_id = 2; +} + +message ClientModelSort { + string name = 1; + repeated .exa.codeium_common_pb.ClientModelGroup groups = 2; + optional string display_metric = 3; +} + +message ClientModelGroup { + string group_name = 1; + repeated string model_labels = 2; +} + +message CascadeModelConfigData { + repeated .exa.codeium_common_pb.ClientModelConfig client_model_configs = 1; + repeated .exa.codeium_common_pb.ClientModelSort client_model_sorts = 2; + optional .exa.codeium_common_pb.DefaultOverrideModelConfig default_override_model_config = 3; + float arena_mode_cost_fast = 4; + float arena_mode_cost_smart = 5; +} + +message AllowedModelConfig { + .exa.codeium_common_pb.ModelOrAlias model_or_alias = 1; + float credit_multiplier = 2; +} + +message PlanInfo { + .exa.codeium_common_pb.TeamsTier teams_tier = 1; + string plan_name = 2; + bool has_autocomplete_fast_mode = 3; + bool allow_sticky_premium_models = 4; + bool has_forge_access = 5; + bool disable_code_snippet_telemetry = 11; + bool allow_premium_command_models = 15; + bool has_tab_to_jump = 23; + int64 max_num_premium_chat_messages = 6; + int64 max_num_chat_input_tokens = 7; + int64 max_custom_chat_instruction_characters = 8; + int64 max_num_pinned_context_items = 9; + int64 max_local_index_size = 10; + int32 max_unclaimed_sites = 26 [deprecated = true]; + int32 monthly_prompt_credits = 12; + int32 monthly_flow_credits = 13; + int32 monthly_flex_credit_purchase_amount = 14; + bool is_teams = 17; + bool is_enterprise = 16; + bool has_paid_features = 32; + bool can_buy_more_credits = 18; + bool cascade_web_search_enabled = 19; + bool can_customize_app_icon = 20; + bool cascade_can_auto_run_commands = 22; + bool can_generate_commit_messages = 25; + bool knowledge_base_enabled = 27; + repeated .exa.codeium_common_pb.AllowedModelConfig cascade_allowed_models_config = 21 [deprecated = true]; + .exa.codeium_common_pb.TeamConfig default_team_config = 24; + bool can_share_conversations = 28; + bool can_allow_cascade_in_background = 29; + map default_team_features = 30; + bool browser_enabled = 31; + .exa.codeium_common_pb.DevinPlanInfo devin_info = 33; + bool is_devin = 34; + .exa.codeium_common_pb.BillingStrategy billing_strategy = 35; + bool hide_daily_quota = 36; + bool hide_weekly_quota = 37; +} + +message DevinPlanInfo { + bool can_use_cascade = 1; + bool can_use_cli = 2; + bool is_admin = 3; + string org_id = 4; + string webapp_host = 5; + optional bool devin_review_enabled = 6; + string api_url = 7; + string account_display_name = 8; +} + +message TopUpStatus { + .exa.codeium_common_pb.TransactionStatus top_up_transaction_status = 1; + bool top_up_enabled = 2; + int32 monthly_top_up_amount = 3; + int32 top_up_spent = 4; + int32 top_up_increment = 5; + bool top_up_criteria_met = 6; +} + +message PlanStatus { + .exa.codeium_common_pb.PlanInfo plan_info = 1; + .google.protobuf.Timestamp plan_start = 2; + .google.protobuf.Timestamp plan_end = 3; + int32 available_prompt_credits = 8; + int32 available_flow_credits = 9; + int32 available_flex_credits = 4; + int32 used_flex_credits = 7; + int32 used_flow_credits = 5; + int32 used_prompt_credits = 6; + .exa.codeium_common_pb.TopUpStatus top_up_status = 10; + bool was_reduced_by_orphaned_usage = 11; + .exa.codeium_common_pb.GracePeriodStatus grace_period_status = 12; + .google.protobuf.Timestamp grace_period_end = 13; + int32 daily_quota_remaining_percent = 14; + int32 weekly_quota_remaining_percent = 15; + int64 overage_balance_micros = 16; + int64 daily_quota_reset_at_unix = 17; + int64 weekly_quota_reset_at_unix = 18; +} + +message UserStatus { + reserved 12; + reserved "plan_info"; + + bool pro = 1; + bool disable_telemetry = 2; + string name = 3; + bool ignore_chat_telemetry_setting = 4; + string team_id = 5; + .exa.codeium_common_pb.UserTeamStatus team_status = 6; + string email = 7; + repeated .exa.codeium_common_pb.UserFeatures user_features = 9; + repeated .exa.codeium_common_pb.TeamsFeatures teams_features = 8; + .exa.codeium_common_pb.TeamsTier teams_tier = 10; + repeated .exa.codeium_common_pb.Permission permissions = 11; + .exa.codeium_common_pb.PlanStatus plan_status = 13; + bool has_used_windsurf = 31; + int64 user_used_prompt_credits = 28; + int64 user_used_flow_credits = 29; + bool has_fingerprint_set = 30; + .exa.codeium_common_pb.TeamConfig team_config = 32; + .exa.codeium_common_pb.CascadeModelConfigData cascade_model_config_data = 33; + .google.protobuf.Timestamp windsurf_pro_trial_end_time = 34; + int64 max_num_premium_chat_messages = 35; + string user_id = 36; +} + +message ScmWorkspaceInfo { + oneof info { + .exa.codeium_common_pb.PerforceDepotInfo perforce_info = 1; + .exa.codeium_common_pb.GitRepoInfo git_info = 2; + } +} + +message PerforceDepotInfo { + string depot_name = 1; + string version_alias = 2; + string base_p4d_url = 3; +} + +message GitRepoInfo { + string name = 1; + string owner = 2; + string repo_name = 5; + string commit = 3; + string version_alias = 4; + .exa.codeium_common_pb.ScmProvider scm_provider = 6; + string base_git_url = 7; +} + +message CodeContextItem { + reserved 8; + reserved 9; + reserved "code_snippet", "code_signature"; + + string absolute_path_migrate_me_to_uri = 1 [deprecated = true]; + string absolute_uri = 16; + repeated .exa.codeium_common_pb.WorkspacePath workspace_paths = 2; + string node_name = 3; + repeated string node_lineage = 4; + uint32 start_line = 5; + uint32 start_col = 12; + uint32 end_line = 6; + uint32 end_col = 13; + .exa.codeium_common_pb.CodeContextType context_type = 7; + .exa.codeium_common_pb.Language language = 10; + map snippet_by_type = 11; + .exa.codeium_common_pb.GitRepoInfo repo_info = 14; + bytes file_content_hash = 15; +} + +message SnippetWithWordCount { + string snippet = 1; + map word_count_by_splitter = 2; +} + +message WordCount { + map word_count_map = 1; +} + +message Repository { + string computed_name = 1; + string git_origin_url = 2; + string git_upstream_url = 3; + string reported_name = 4; + string model_name = 5; + string submodule_url = 6; + string submodule_path = 7; +} + +message CaptureFileRequestData { + .exa.codeium_common_pb.Metadata metadata = 1; + string prompt_id = 2; + string file_path = 3; + string original_file_content = 4; + string completion_text = 5; + uint64 start_offset = 6; + uint64 end_offset = 7; + uint64 cursor_line = 8; + uint64 cursor_column = 9; +} + +message CompletionStatistics { + uint32 num_acceptances = 1; + uint32 num_rejections = 2; + uint32 num_lines_accepted = 3; + uint32 num_bytes_accepted = 4; + uint32 num_users = 5; + uint32 active_developer_days = 6; + uint32 active_developer_hours = 7; +} + +message CompletionByDateEntry { + .google.protobuf.Timestamp timestamp = 1; + .exa.codeium_common_pb.CompletionStatistics completion_statistics = 2; +} + +message CompletionByLanguageEntry { + .exa.codeium_common_pb.Language language = 1; + .exa.codeium_common_pb.CompletionStatistics completion_statistics = 2; +} + +message ChatStats { + reserved 2 to 14; + + uint64 chats_sent = 1; + uint32 active_developer_days = 15; +} + +message ChatStatsByDateEntry { + .google.protobuf.Timestamp timestamp = 1; + .exa.codeium_common_pb.ChatStats chat_stats = 2; +} + +message ChatStatsByModelEntry { + .exa.codeium_common_pb.Model model_id = 1; + .exa.codeium_common_pb.ChatStats chat_stats = 2; +} + +message CommandStats { + uint64 num_commands = 1; + uint64 num_commands_accepted = 2; + uint64 num_commands_rejected = 3; + uint64 num_edits = 4; + uint64 num_generations = 5; + uint64 loc_added = 6; + uint64 loc_removed = 7; + uint64 bytes_added = 8; + uint64 bytes_removed = 9; + uint64 loc_selected = 10; + uint64 bytes_selected = 11; + map num_commands_by_source = 12; +} + +message CommandStatsByDateEntry { + .google.protobuf.Timestamp timestamp = 1; + .exa.codeium_common_pb.CommandStats command_stats = 2; +} + +message UserTableStats { + string name = 1; + string email = 2; + .google.protobuf.Timestamp last_update_time = 3; + string api_key = 4; + bool disable_codeium = 5; + uint32 active_days = 6; + string role = 7; + .google.protobuf.Timestamp signup_time = 8; + .google.protobuf.Timestamp last_autocomplete_usage_time = 9; + .google.protobuf.Timestamp last_chat_usage_time = 10; + .google.protobuf.Timestamp last_command_usage_time = 11; + int64 prompt_credits_used = 12; + .exa.codeium_common_pb.UserTeamStatus team_status = 13; + int64 tabs_generated = 14; + int64 cascade_messages = 15; + int64 unique_cascade_tabs = 16; + repeated string ides_used = 17; + double acus_used = 18; +} + +message CascadeNUXState { + .exa.codeium_common_pb.CascadeNUXEvent event = 1; + .google.protobuf.Timestamp timestamp = 2; +} + +message UserNUXState { + .exa.codeium_common_pb.UserNUXEvent event = 1; + .google.protobuf.Timestamp timestamp = 2; +} + +message ConversationBrainConfig { + .exa.codeium_common_pb.PlanMode plan_mode = 1; +} + +message FeatureUsageData { + bool has_used = 1; +} + +message CascadeNUXConfig { + uint32 uid = 1; + .exa.codeium_common_pb.CascadeNUXLocation location = 2; + .exa.codeium_common_pb.CascadeNUXTrigger trigger = 3; + string analytics_event_name = 4; + string main_text = 5; + string on_hover_explanation = 6; + string learn_more_url = 7; + int32 priority = 8; + .exa.codeium_common_pb.CascadeNUXEvent old_nux_event = 9; + .exa.codeium_common_pb.CascadeNUXIcon icon = 10; + bool requires_idle_cascade = 11; +} + +message UserSettings { + reserved 10; + reserved 12; + reserved 16; + reserved 56; + reserved 57; + reserved 65; + reserved 68; + reserved 69; + reserved 70; + reserved 71; + reserved 72; + reserved 73; + reserved 74; + reserved 75; + reserved 76; + reserved 80; + reserved 96; + reserved "cascade_tools_enabled", "cascade_read_only_mode", "enable_model_based_auto_execution", "cascade_run_extension_code", "cascade_run_extension_code_auto_run", "cascade_input_autocomplete", "claude_code_append_system_prompt", "claude_code_cli_path", "claude_code_system_prompt", "claude_code_max_turns", "claude_code_mcp_config", "claude_code_mode", "claude_code_directories", "claude_code_system_prompt_append", "claude_code_model", "disable_superflow", "last_arena_mode_category"; + + bool open_most_recent_chat_conversation = 1; + .exa.codeium_common_pb.Model last_selected_model = 2; + .exa.codeium_common_pb.ThemePreference theme_preference = 3; + .exa.codeium_common_pb.ExtensionPanelTab extension_panel_tab = 4; + .exa.codeium_common_pb.FontSize font_size = 5; + .exa.codeium_common_pb.RememberLastModelSelection remember_last_model_selection = 7; + .exa.codeium_common_pb.AutocompleteSpeed autocomplete_speed = 6; + string last_selected_model_name = 8; + repeated .exa.codeium_common_pb.CascadeNUXState cascade_nux_states = 11; + map seen_nux_uids = 60; + optional .exa.codeium_common_pb.Model last_selected_cascade_model_deprecated = 9 [deprecated = true]; + optional .exa.codeium_common_pb.ModelOrAlias last_selected_cascade_model_or_alias_deprecated = 30 [deprecated = true]; + optional string last_selected_cascade_model_uid_deprecated = 91 [deprecated = true]; + optional .exa.codeium_common_pb.ConversationalPlannerMode cascade_planner_mode_deprecated = 13 [deprecated = true]; + optional .exa.codeium_common_pb.Model last_model_override = 46 [deprecated = true]; + optional string last_model_default_override_version_id = 58; + optional bool cascade_model_explicitly_set = 87; + repeated string cascade_allowed_commands_prefix = 14 [deprecated = true]; + repeated string cascade_denied_commands_prefix = 15 [deprecated = true]; + repeated string cascade_allowed_commands = 85; + repeated string cascade_denied_commands = 86; + repeated .exa.codeium_common_pb.UserNUXState user_nux_states = 17; + bool cascade_web_search_disabled = 18 [deprecated = true]; + bool disable_autocomplete = 19 [deprecated = true]; + bool disable_supercomplete = 20 [deprecated = true]; + bool disable_selection_popup = 21; + bool disable_explain_problem_inlay_hint = 22; + bool disable_inlay_hint_shortcuts = 23 [deprecated = true]; + bool disable_open_cascade_on_reload = 24; + bool disable_auto_open_edited_files = 25; + bool disable_tab_to_jump = 26 [deprecated = true]; + .exa.codeium_common_pb.CascadeCommandsAutoExecution cascade_auto_execution_policy = 27; + optional string last_selected_cascade_id = 28 [deprecated = true]; + bool explain_and_fix_in_current_conversation = 29; + bool allow_cascade_access_gitignore_files_deprecated = 31 [deprecated = true]; + bool disable_cascade_auto_fix_lints = 32; + bool disable_cascade_browser_previews = 33; + bool detect_proxy = 34; + bool disable_tab_to_import = 35; + bool use_clipboard_for_completions = 36; + bool disable_highlight_after_accept = 37; + string last_selected_new_convo_tab = 38; + bool disable_auto_generate_memories = 39; + bool enable_sounds_for_special_events = 40 [deprecated = true]; + bool enable_tab_sounds = 41 [deprecated = true]; + bool allow_cascade_in_background = 42 [deprecated = true]; + .exa.codeium_common_pb.TabToJump tab_to_jump = 43; + .exa.codeium_common_pb.CascadeWebSearchTool cascade_web_search = 44; + bool enable_terminal_completion = 45; + bool is_snoozed = 55; + bool enable_command_cascade_mode = 49; + map feature_usage_data = 47; + bool disable_cascade_in_background = 48; + repeated string custom_workspace = 50; + map conversation_brain_configs = 51 [deprecated = true]; + .exa.codeium_common_pb.PlanMode global_plan_mode_preference = 54; + repeated .exa.codeium_common_pb.ClientModelConfig cached_cascade_model_configs = 52; + repeated .exa.codeium_common_pb.ClientModelSort cached_cascade_model_sorts = 53; + .exa.codeium_common_pb.AutoContinueOnMaxGeneratorInvocations auto_continue_on_max_generator_invocations_deprecated = 59 [deprecated = true]; + repeated string recently_used_cascade_models_deprecated = 61 [deprecated = true]; + repeated string cascade_dismissed_suggestion_workspaces = 62; + .exa.codeium_common_pb.AnnotationsConfig annotations_config = 63; + bool enable_automatic_screenshot = 64; + .exa.codeium_common_pb.BrowserExperimentalFeaturesConfig browser_experimental_features_config = 66; + .exa.codeium_common_pb.CommandPopupAutocomplete command_popup_autocomplete = 67; + bool enable_instant_context_agent = 77; + bool disable_instant_context_agent = 78; + optional .exa.codeium_common_pb.Model last_selected_smart_friend_model_deprecated = 79 [deprecated = true]; + optional string last_selected_smart_friend_model_uid_deprecated = 92 [deprecated = true]; + bool enable_cascade_completion_notifications = 81; + bool enable_cascade_always_notify_on_finish = 82; + .exa.codeium_common_pb.CompletionMode completion_mode_deprecated = 83 [deprecated = true]; + .exa.codeium_common_pb.SupercompleteAggression supercomplete_aggression = 97; + bool enable_inlay_hint_shortcuts = 84; + repeated string cascade_user_allowed_web_origins = 88; + repeated string cascade_removed_default_web_origins = 89; + .exa.codeium_common_pb.CascadeWebRequestsAutoExecution cascade_web_requests_auto_execution_policy = 90; + repeated string last_specific_arena_model_uids = 93; + bool arena_always_open_fullscreen = 94; + optional bool last_arena_mode_enabled = 95; + map model_group_variant_preferences = 98; + repeated string pinned_cascade_model_uids_deprecated = 99 [deprecated = true]; +} + +message ModelFeatures { + reserved 1; + reserved 16; + reserved "supports_middle_mode", "supports_estimate_tokenizer"; + + bool supports_context_tokens = 2; + bool requires_instruct_tags = 3; + bool requires_fim_context = 4; + bool requires_context_snippet_prefix = 5; + bool requires_context_relevance_tags = 6; + bool requires_llama3_tokens = 7; + bool zero_shot_capable = 8; + bool requires_autocomplete_as_command = 9 [deprecated = true]; + bool supports_cursor_aware_supercomplete = 10; + bool supports_images = 11; + bool supports_image_captions = 20; + bool supports_tool_calls = 12; + bool supports_parallel_tool_calls = 21; + bool supports_cumulative_context = 13; + bool tab_jump_print_line_range = 14; + bool supports_thinking = 15; + bool interleave_thinking = 24; + bool preserve_thinking = 25; + bool supports_estimate_token_counter = 17; + bool add_cursor_to_find_replace_target = 18; + bool supports_tab_jump_use_whole_document = 19; + bool requires_supercomplete_clean = 22; + bool tab_route_to_modal = 23; + bool supports_rejection_context = 26; +} + +message ExternalModel { + bool is_internal = 1; + .exa.codeium_common_pb.Model model_id = 2; + string model_name = 3; + string base_url = 4; + string api_key = 5; + string access_key = 6; + string secret_access_key = 7; + string region = 8; + string project_id = 9; + uint32 id = 10; + int32 max_completion_tokens = 11; + int32 max_input_tokens = 12; +} + +message OpenAIInferenceConfig { + string reasoning_effort = 1; + string service_tier = 2; + bool extended_prompt_cache_retention = 3; +} + +message GoogleInferenceConfig { + string reasoning_effort = 1; +} + +message AnthropicInferenceConfig { + bool thinking = 1; + string effort = 2; + bool fast_mode = 3; + bool context_1m = 4; +} + +message InferenceConfig { + oneof config { + .exa.codeium_common_pb.OpenAIInferenceConfig openai = 1; + .exa.codeium_common_pb.GoogleInferenceConfig google = 2; + .exa.codeium_common_pb.AnthropicInferenceConfig anthropic = 3; + } +} + +message ModelInfo { + reserved 19; + reserved "arena_tier"; + + .exa.codeium_common_pb.Model model_id = 1 [deprecated = true]; + string model_uid = 17; + bool is_internal = 2; + .exa.codeium_common_pb.ModelType model_type = 3; + int32 max_tokens = 4; + string tokenizer_type = 5; + .exa.codeium_common_pb.ModelFeatures model_features = 6; + .exa.codeium_common_pb.APIProvider api_provider = 7; + string model_name = 8; + bool supports_context = 9; + int32 embed_dim = 10; + string base_url = 11; + string chat_model_name = 12; + int32 max_output_tokens = 13; + .exa.codeium_common_pb.PromptTemplaterType prompt_templater_type = 14; + .exa.codeium_common_pb.ToolFormatterType tool_formatter_type = 15; + string inference_server_url = 18; + repeated string harness_uids = 20; + optional .exa.codeium_common_pb.ArenaConfig arena_config = 21; + .exa.codeium_common_pb.DisplayOption display_option = 22; + string model_family_uid = 23; + .exa.codeium_common_pb.InferenceConfig inference_config = 24; + bool is_model_router = 25; +} + +message ModelFamilyMetadataValue { + int32 order = 1; + string name = 2; +} + +message ModelFamilyMetadataEntry { + string key = 1; + .exa.codeium_common_pb.ModelFamilyMetadataValue value = 2; +} + +message ModelFamilyMetadata { + string model_family_label = 1; + repeated .exa.codeium_common_pb.ModelFamilyMetadataEntry entries = 2; + bool is_default_model_in_family = 3; +} + +message ApiProviderRoutingConfig { + map model_map = 1; +} + +message ApiProviderConfigMap { + map provider_map = 1; +} + +message ApiProviderConfig { + uint32 weight = 1; + uint32 cache_ttl_minutes = 2; + string model_name = 3; +} + +message ShadowTrafficConfig { + map model_map = 1; +} + +message ShadowTargetList { + repeated .exa.codeium_common_pb.ShadowTarget targets = 1; +} + +message ShadowTarget { + string provider = 1; + string model = 2; + string model_name = 3; + double sample_rate = 4; +} + +message ModelConfig { + .exa.codeium_common_pb.ModelInfo generation_model = 1; + .exa.codeium_common_pb.ModelInfo context_check_model = 2; +} + +message ModelStatusInfo { + .exa.codeium_common_pb.Model model = 1 [deprecated = true]; + string model_uid = 4; + string message = 2; + .exa.codeium_common_pb.ModelStatus status = 3; +} + +message CompletionExample { + string uid = 1; + string completion_id = 2; + string file_path = 3; + string short_prefix = 4; + string completion_text = 5; + string short_suffix = 6; +} + +message CompletionExampleWithMetadata { + reserved 3; + + .exa.codeium_common_pb.CompletionExample example = 1; + string name = 2; + .google.protobuf.Timestamp time = 4; +} + +message CciWithSubrange { + .exa.codeium_common_pb.CodeContextItem cci = 1; + .exa.codeium_common_pb.ContextSubrange subrange = 2; +} + +message ContextSubrange { + .exa.codeium_common_pb.ContextSnippetType snippet_type = 1; + int64 start_offset = 2; + int64 end_offset = 3; +} + +message PathScopeItem { + string absolute_path_migrate_me_to_uri = 1 [deprecated = true]; + string absolute_uri = 5; + map workspace_relative_paths_migrate_me_to_workspace_uris = 2 [deprecated = true]; + map workspace_uris_to_relative_paths = 6; + uint32 num_files = 3; + uint64 num_bytes = 4; +} + +message FileLineRange { + string absolute_uri = 1; + uint32 start_line = 2; + uint32 end_line = 3; +} + +message FileRangeContent { + string content = 1; + .exa.codeium_common_pb.FileLineRange source = 2; +} + +message TextBlock { + string content = 1; + oneof identifier { + .exa.codeium_common_pb.FileLineRange file_line_range = 2; + string label = 3; + } +} + +message RepositoryScopeItem { + .exa.codeium_common_pb.GitRepoInfo repo_info = 1; +} + +message RepositoryPathScopeItem { + .exa.codeium_common_pb.GitRepoInfo repo_info = 1; + string relative_path = 2; + bool is_dir = 3; +} + +message KnowledgeBaseScopeItem { + reserved 2; + + string document_id = 1; + .exa.codeium_common_pb.IndexChoice index = 7; + .exa.codeium_common_pb.DocumentType document_type = 8; + string display_name = 3; + string description = 4; + string display_source = 5; + string url = 6; +} + +message ConsoleLogLine { + string timestamp_str = 1; + string type = 2; + string output = 3; + string console_message_location = 4; +} + +message ConsoleLogScopeItem { + repeated .exa.codeium_common_pb.ConsoleLogLine lines = 1; + string server_address = 2; +} + +message DOMElementScopeItem { + string tag_name = 1; + string outer_html = 2; + string id = 3; + string react_component_name = 4; + .exa.codeium_common_pb.FileLineRange file_line_range = 5; +} + +message DOMTree { + message BoundingBox { + float x = 1; + float y = 2; + float width = 3; + float height = 4; + } + + message DOMNode { + repeated .exa.codeium_common_pb.DOMTree.DOMNode children = 1; + string tag_name = 2; + string id = 3; + repeated string class_names = 4; + string text_content = 5; + .exa.codeium_common_pb.DOMTree.BoundingBox bbox = 6; + string aria_label = 7; + string title = 8; + string alt = 9; + string placeholder = 10; + string href = 11; + } + + .exa.codeium_common_pb.DOMTree.DOMNode root = 1; + uint32 num_nodes = 2; +} + +message RecipeScopeItem { + string recipe_id = 1; + string title = 2; + string description = 3; + string system_prompt = 4; + optional string uri = 5; + optional .exa.codeium_common_pb.CascadeCommandsAutoExecution execution_mode = 6; +} + +message CodeMapScopeItem { + string title = 1; + string content = 2; + string description = 3; + optional string location = 4; +} + +message RuleScopeItem { + string rule_path = 1; + string rule_name = 2; + string description = 3; +} + +message SkillScopeItem { + string skill_name = 1; + string description = 2; + optional string uri = 3; + int32 resource_count = 4; + string base_dir = 5; + string content = 6; +} + +message PlanFileScopeItem { + string plan_path = 1; + string title = 2; + string description = 3; + bool request_implementation = 4; +} + +message McpPromptScopeItem { + string server_name = 1; + string prompt_name = 2; + map arguments = 3; + string resolved_content = 4; +} + +message McpResourceItem { + string uri = 1; + string name = 2; + optional string description = 3; + optional string mime_type = 4; + string server_name = 5; +} + +message BrowserPageScopeItem { + string url = 1; + string title = 2; + string visible_text_content = 3; + string page_id = 4; +} + +message BrowserCodeBlockScopeItem { + string url = 1; + string title = 2; + string code_content = 3; + .exa.codeium_common_pb.Language language = 4; + optional string context_text = 5; + string page_id = 6; +} + +message BrowserTextScopeItem { + string url = 1; + string visible_text = 2; + string page_id = 3; +} + +message ConversationScopeItem { + string id = 1; + string title = 2; + .google.protobuf.Timestamp last_modified_time = 3; + string summary = 4; +} + +message UserActivityScopeItem { + string id = 1; + string branch = 2; + bool current = 3; +} + +message TerminalScopeItem { + string process_id = 1; + string name = 2; + string last_command = 3; + string content = 4; +} + +message GithubPullRequestItem { + string url = 1; + string title = 2; + string owner = 3; + string number = 4; +} + +message GitCommitData { + string sha = 1; + string short_sha = 2; + string subject = 3; + string author = 4; + .google.protobuf.Timestamp timestamp = 5; + int32 insertions = 6; + int32 deletions = 7; +} + +message GitDiffData { + string branch_name = 1; + string base_branch = 2; + string merge_base_sha = 3; + int32 files_changed = 4; + int32 insertions = 5; + int32 deletions = 6; + string branch_head_sha = 7; +} + +message GitWorkingChangesData { + int32 staged_count = 1; + int32 unstaged_count = 2; + int32 untracked_count = 3; +} + +message GitScopeItem { + string repo_root_uri = 1; + string repo_display_name = 6; + oneof git_data { + .exa.codeium_common_pb.GitCommitData commit = 2; + .exa.codeium_common_pb.GitDiffData diff = 3; + .exa.codeium_common_pb.GitWorkingChangesData working_changes = 4; + } + string formatted_content = 5; +} + +message ContextScopeItem { + oneof scope_item { + .exa.codeium_common_pb.PathScopeItem file = 1; + .exa.codeium_common_pb.PathScopeItem directory = 2; + .exa.codeium_common_pb.RepositoryScopeItem repository = 3; + .exa.codeium_common_pb.CodeContextItem code_context = 4; + .exa.codeium_common_pb.CciWithSubrange cci_with_subrange = 6; + .exa.codeium_common_pb.RepositoryPathScopeItem repository_path = 7; + .exa.codeium_common_pb.KnowledgeBaseScopeItem slack = 8; + .exa.codeium_common_pb.KnowledgeBaseScopeItem github = 9; + .exa.codeium_common_pb.FileLineRange file_line_range = 10; + .exa.codeium_common_pb.TextBlock text_block = 11; + .exa.codeium_common_pb.KnowledgeBaseScopeItem jira = 12; + .exa.codeium_common_pb.KnowledgeBaseScopeItem google_drive = 13; + .exa.codeium_common_pb.ConsoleLogScopeItem console_log = 14; + .exa.codeium_common_pb.DOMElementScopeItem dom_element = 15; + .exa.codeium_common_pb.RecipeScopeItem recipe = 16; + .exa.codeium_common_pb.KnowledgeBaseScopeItem knowledge = 17; + .exa.codeium_common_pb.RuleScopeItem rule = 18; + .exa.codeium_common_pb.McpResourceItem mcp_resource = 19; + .exa.codeium_common_pb.BrowserPageScopeItem browser_page = 20; + .exa.codeium_common_pb.BrowserCodeBlockScopeItem browser_code_block = 21; + .exa.codeium_common_pb.BrowserTextScopeItem browser_text = 22; + .exa.codeium_common_pb.ConversationScopeItem conversation = 23; + .exa.codeium_common_pb.UserActivityScopeItem user_activity = 24; + .exa.codeium_common_pb.TerminalScopeItem terminal = 25; + .exa.codeium_common_pb.GithubPullRequestItem github_pull_request = 26; + .exa.codeium_common_pb.CodeMapScopeItem code_map = 27; + .exa.codeium_common_pb.McpPromptScopeItem mcp_prompt = 28; + .exa.codeium_common_pb.SkillScopeItem skill = 29; + .exa.codeium_common_pb.PlanFileScopeItem plan_file = 30; + .exa.codeium_common_pb.GitScopeItem git = 31; + } +} + +message ContextScope { + repeated .exa.codeium_common_pb.ContextScopeItem items = 1; +} + +message NodeExecutionRecord { + string node_name = 1; + .google.protobuf.Timestamp start_time = 2; + .google.protobuf.Timestamp end_time = 3; + bytes graph_state_json = 5; + uint64 graph_state_json_num_bytes = 6; + .exa.codeium_common_pb.GraphExecutionState subgraph_execution = 4; +} + +message GraphExecutionState { + .exa.codeium_common_pb.NodeExecutionRecord current = 1; + repeated .exa.codeium_common_pb.NodeExecutionRecord history = 2; +} + +message Guideline { + repeated .exa.codeium_common_pb.GuidelineItem items = 1; +} + +message GuidelineItem { + string guideline = 1; +} + +message ChatNodeConfig { + .exa.codeium_common_pb.Model model = 1; + uint32 max_input_tokens = 2; + float temperature = 3; + uint32 max_output_tokens = 4; + bool order_snippets_by_file = 5; +} + +message MQueryConfig { + bool should_batch_ccis = 1; + int64 max_tokens_per_subrange = 2; + int64 num_parser_workers = 3; + int64 num_workers_per_distributed_scorer = 4; + bool verbose = 5; + repeated string ignore_extensions = 6; + repeated string ignore_directory_stubs = 7; + uint32 min_token_space_for_context = 8; + uint32 max_target_files = 9; + uint32 top_cci_count = 10; +} + +message CompletionDelta { + string delta_text = 1; + uint32 delta_tokens = 2; + .exa.codeium_common_pb.StopReason stop_reason = 3; + .exa.codeium_common_pb.ModelUsageStats usage = 4; + repeated .exa.codeium_common_pb.ChatToolCall delta_tool_calls = 5; + string delta_thinking = 6; + string delta_signature = 7; + bool thinking_redacted = 8; + string output_id = 9; + string thinking_id = 10 [deprecated = true]; + bytes gemini_thought_signature = 11 [deprecated = true]; + string delta_signature_type = 12; + string phase = 13; +} + +message CompletionDeltaMap { + map deltas = 1; + string prompt = 2; + .exa.codeium_common_pb.CompletionProfile completion_profile = 3; +} + +message ChatCompletionInfo { + string prompt = 1; + string inference_address = 2; +} + +message ChatToolCall { + string id = 1; + string name = 2; + string arguments_json = 3; + string invalid_json_str = 4; + string invalid_json_err = 5; + bool is_custom_tool_call = 6; +} + +message IdeStatus { + .exa.codeium_common_pb.StatusLevel level = 1; + string message = 2; +} + +message Status { + int32 code = 1; + string message = 2; +} + +message DocumentPosition { + uint64 row = 1; + uint64 col = 2; +} + +message Range { + uint64 start_offset = 1; + uint64 end_offset = 2; + .exa.codeium_common_pb.DocumentPosition start_position = 3; + .exa.codeium_common_pb.DocumentPosition end_position = 4; +} + +message Document { + reserved 18; + reserved 20; + + string absolute_path_migrate_me_to_uri = 1 [deprecated = true]; + string absolute_uri = 12; + string relative_path_migrate_me_to_workspace_uri = 2 [deprecated = true]; + string workspace_uri = 13; + string text = 3; + string editor_language = 4; + .exa.codeium_common_pb.Language language = 5; + uint64 cursor_offset = 6; + .exa.codeium_common_pb.DocumentPosition cursor_position = 8; + string line_ending = 7; + .exa.codeium_common_pb.Range visible_range = 9; + bool is_cutoff_start = 10; + bool is_cutoff_end = 11; + int32 lines_cutoff_start = 14; + int32 lines_cutoff_end = 15; + .google.protobuf.Timestamp timestamp = 16; + bool is_dirty = 17; + bool is_notebook = 19; + .google.protobuf.Timestamp last_access_time = 21; + repeated .exa.codeium_common_pb.Range selections = 22; + optional uint64 hash = 23; +} + +message PromptComponents { + .exa.codeium_common_pb.Document document = 1; + repeated .exa.codeium_common_pb.Document other_documents = 2; + repeated .exa.codeium_common_pb.CodeContextItem code_context_items = 3; +} + +message TextOrScopeItem { + oneof chunk { + string text = 1; + .exa.codeium_common_pb.ContextScopeItem item = 2; + } +} + +message PinnedContextConfig { + string match_repo_name = 1; + string match_path = 2; + repeated .exa.codeium_common_pb.PinnedContext pinned_contexts = 3; +} + +message PinnedContext { + oneof context_item { + .exa.codeium_common_pb.RepositoryPath repository_path = 1; + } +} + +message RepositoryPath { + string remote_repo_name = 1; + string version = 2; + string relative_path = 3; +} + +message DefaultPinnedContextConfig { + repeated .exa.codeium_common_pb.PinnedContextConfig pinned_context_configs = 1; +} + +message Rule { + string id = 1; + string prompt = 2; +} + +message RuleViolation { + string id = 1; + .exa.codeium_common_pb.Rule rule = 2; + int32 start_line = 3; + int32 end_line = 4; +} + +message LanguageServerDiagnostics { + repeated string logs = 1; + bytes goroutine_profile = 2; +} + +message IndexerStats { + .exa.codeium_common_pb.IndexerDbStats database = 1; +} + +message IndexerDbStats { + oneof backend { + .exa.codeium_common_pb.LocalSqliteFaissDbStats local_sqlite_faiss = 1; + .exa.codeium_common_pb.PostgresDbStats postgres = 2; + } +} + +message LocalSqliteFaissDbStats { + repeated .exa.codeium_common_pb.FaissStateStats faiss_state_stats = 1; + int64 total_item_count = 2; + bool quantized = 3; +} + +message FaissStateStats { + .exa.codeium_common_pb.EmbeddingSource embedding_source = 1; + string workspace = 2; + int64 item_count = 3; +} + +message PostgresDbStats { +} + +message LastUpdateRecord { + .google.protobuf.Timestamp time = 1; + .exa.codeium_common_pb.LastUpdateType type = 2; +} + +message LastUpdateRecordList { + repeated .exa.codeium_common_pb.LastUpdateRecord records = 1; +} + +message ModelUsageStats { + .exa.codeium_common_pb.Model model_deprecated = 1 [deprecated = true]; + string model_uid = 9; + string billing_model_uid = 10; + string requested_model_uid = 11; + uint64 input_tokens = 2; + uint64 output_tokens = 3; + uint64 cache_write_tokens = 4; + uint64 cache_read_tokens = 5; + .exa.codeium_common_pb.APIProvider api_provider = 6; + string message_id = 7; + map response_header = 8; +} + +message SuperCompleteFilterReason { + string reason = 1; +} + +message DiagnosticFix { + string id = 1; + string title = 2; +} + +message CodeDiagnostic { + .exa.codeium_common_pb.Range range = 1; + string message = 2; + string severity = 3; + string source = 4; + string uri = 5; + optional string id = 6; + .exa.codeium_common_pb.Language language = 7; + int64 score = 8; + repeated .exa.codeium_common_pb.DiagnosticFix fixes = 9; +} + +message IntellisenseSuggestion { + .exa.codeium_common_pb.Range range = 1; + string text = 2; + string label = 3; + string label_detail = 4; + string description = 5; + string detail = 6; + string documentation = 7; + string kind = 8; + bool selected = 9; +} + +message DocumentLinesElement { + .exa.codeium_common_pb.DocumentQuery document_query = 1; + repeated .exa.codeium_common_pb.CodeContextItem overlapped_code_context_items = 2; + uint32 first_element_suffix_overlap = 3; + uint32 last_element_prefix_overlap = 4; +} + +message DocumentQuery { + string text = 1; + int32 cursor_offset = 2; + uint32 start_line = 3; + uint32 end_line = 4; + bool use_character_position = 5; +} + +message DocumentOutlineElement { + oneof element { + .exa.codeium_common_pb.CodeContextItem code_context_item = 1; + .exa.codeium_common_pb.DocumentLinesElement document_lines_element = 2; + string text = 3; + } +} + +message DocumentOutline { + repeated .exa.codeium_common_pb.DocumentOutlineElement elements = 1; + int64 start_index = 2; +} + +message ProductEvent { + string event_name = 1; + string api_key = 2; + string installation_id = 3; + string ide_name = 4; + string os = 5; + string codeium_version = 6; + string ide_version = 7; + uint64 duration_ms = 8; + map extra = 9; +} + +message CodebaseCluster { + string id = 5; + string name = 1; + string description = 2; + string codebase_root_uri = 6; + repeated string file_names = 3; + repeated string commit_messages = 4; + repeated string commit_sha = 7; + repeated string commit_descriptions = 8; + repeated string file_descriptions = 9; + string intent = 10; +} + +message CodebaseClusterList { + repeated .exa.codeium_common_pb.CodebaseCluster clusters = 1; +} + +message KnowledgeBaseChunk { + oneof chunk_type { + string text = 1; + .exa.codeium_common_pb.MarkdownChunk markdown_chunk = 3; + } + int32 position = 2; +} + +message KnowledgeBaseItem { + string document_id = 1; + string url = 3; + string title = 4; + .google.protobuf.Timestamp timestamp = 5; + repeated .exa.codeium_common_pb.KnowledgeBaseChunk chunks = 6; + string summary = 7; + .exa.codeium_common_pb.ImageData image = 8; + .exa.codeium_common_pb.DOMTree dom_tree = 9; + string text = 2 [deprecated = true]; +} + +message KnowledgeBaseItemWithMetadata { + .exa.codeium_common_pb.KnowledgeBaseItem knowledge_base_item = 1; + float score = 2; + string index_name = 3; + string document_source_name = 4; +} + +message KnowledgeBaseGroup { + string description = 1; + .exa.codeium_common_pb.KnowledgeBaseItemWithMetadata item = 2; + repeated .exa.codeium_common_pb.KnowledgeBaseGroup children = 3; +} + +message ImageData { + string base64_data = 1; + string mime_type = 2; + string caption = 3; +} + +message TextData { + string text = 1; + string mime_type = 2; +} + +message MarkdownChunk { + message MarkdownHeader { + .exa.codeium_common_pb.MarkdownNodeType type = 1; + string text = 2; + } + + repeated .exa.codeium_common_pb.MarkdownChunk.MarkdownHeader headers = 1; + string text = 2; +} + +message TerminalShellCommandHeader { + reserved 2; + reserved "shell_pid"; + + .exa.codeium_common_pb.Metadata metadata = 7; + string terminal_id = 1; + string command_line = 3; + string cwd = 4; + .google.protobuf.Timestamp start_time = 5; + .exa.codeium_common_pb.TerminalShellCommandSource source = 6; +} + +message TerminalShellCommandData { + bytes raw_data = 1; +} + +message TerminalShellCommandTrailer { + optional int32 exit_code = 1; + .google.protobuf.Timestamp end_time = 2; + optional string full_output = 3; + optional string ansi_output = 4; +} + +message TerminalShellCommandStreamChunk { + oneof value { + .exa.codeium_common_pb.TerminalShellCommandHeader header = 1; + .exa.codeium_common_pb.TerminalShellCommandData data = 2; + .exa.codeium_common_pb.TerminalShellCommandTrailer trailer = 3; + } +} + +message TerminalShellCommand { + reserved 1; + reserved "shell_pid"; + + string id = 10; + string command_line = 2; + string cwd = 3; + bytes output = 4; + optional int32 exit_code = 5; + .google.protobuf.Timestamp start_time = 6; + .google.protobuf.Timestamp end_time = 7; + .google.protobuf.Timestamp last_updated_time = 11; + .exa.codeium_common_pb.TerminalShellCommandStatus status = 8; + .exa.codeium_common_pb.TerminalShellCommandSource source = 9; +} + +message TerminalCommandData { + string terminal_id = 1; + string platform = 2; + string cwd = 3; + string shell_name = 4; +} + +message WindsurfProject { + string windsurf_project_id = 1; + string auth_uid = 2; + .exa.codeium_common_pb.DeploymentProvider deployment_provider = 3; + string provider_project_id = 4; + string project_name = 5; + .google.protobuf.Timestamp created_at = 6; + .google.protobuf.Timestamp updated_at = 7; + string domain = 8; + string subdomain_name = 9; + .google.protobuf.Timestamp expires_at = 10; + .google.protobuf.Timestamp claimed_at = 11; + .google.protobuf.Timestamp deprovisioned_at = 12; + string provider_team_id = 14; + string project_url = 13; +} + +message WindsurfDeployment { + string windsurf_deployment_id = 1; + string auth_uid = 2; + .exa.codeium_common_pb.DeploymentProvider deployment_provider = 3; + string provider_deployment_id = 14; + string windsurf_project_id = 19; + string project_id = 4; + string project_name = 5; + string workspace_path = 6; + .google.protobuf.Timestamp created_at = 7; + .google.protobuf.Timestamp updated_at = 8; + string domain = 16; + string subdomain_name = 17; + string provider_team_id = 20; + .google.protobuf.Timestamp expires_at = 11; + string deployment_url = 12; + .google.protobuf.Timestamp claimed_at = 15; + .google.protobuf.Timestamp deprovisioned_at = 13; + string build_status_url = 9; + string project_url = 10; +} + +message DeployTarget { + .exa.codeium_common_pb.DeploymentProvider deployment_provider = 1; + bool is_sandbox = 2; + string provider_team_id = 3; + string provider_team_slug = 4; + string domain = 5; +} + +message WebDocsOption { + string label = 1; + oneof value { + string docs_url = 2; + string docs_search_domain = 3; + } + repeated string synonyms = 4; + bool is_featured = 5; +} + +message TeamConfig { + reserved 8; + reserved 29; + reserved 48; + reserved 52; + reserved 53; + reserved 54; + reserved "custom_provider_settings"; + + string team_id = 1; + int32 user_prompt_credit_cap = 2; + int32 user_flow_credit_cap = 3; + bool auto_provision_cascade_seat = 4; + bool allow_mcp_servers = 5; + bool allow_auto_run_commands = 7; + int32 max_unclaimed_sites = 9; + bool allow_app_deployments = 10; + bool allow_sandbox_app_deployments = 19; + bool allow_teams_app_deployments = 20; + int32 max_new_sites_per_day = 11; + bool allow_github_reviews = 12; + bool allow_github_description_edits = 13; + string pull_request_review_guidelines = 14; + string pull_request_description_guidelines = 16; + bool disable_tool_calls = 15; + bool allow_individual_level_analytics = 17; + optional bool allow_conversation_sharing = 18; + optional int32 pull_request_review_rate_limit = 21; + bool allow_attribution = 22; + repeated .exa.codeium_common_pb.McpServerConfig allowed_mcp_servers = 23; + bool allow_github_auto_reviews = 24; + bool allow_browser_experimental_features = 25; + bool disable_tool_call_execution_outside_workspace = 26; + bool allow_vibe_and_replace = 27; + bool disable_deepwiki = 28; + int32 user_add_on_credit_cap = 30; + bool disable_codemaps = 31; + string allow_codemap_sharing = 32; + bool disable_fast_context = 33; + bool disable_lifeguard = 34; + repeated string allowed_ip_ranges = 35; + .exa.codeium_common_pb.CascadeCommandsAutoExecution max_cascade_auto_execution_level = 37; + optional bool cascade_web_search_enabled = 38; + repeated string terminal_allow_list = 39; + repeated string terminal_deny_list = 40; + repeated string cli_permissions_allow = 41; + repeated string cli_permissions_deny = 42; + repeated string cli_permissions_ask = 43; + string default_model_uid = 44; + bool allow_arena_mode = 45; + string cascade_hooks_json = 46; + bool allow_bundling_devin_cli = 47; + repeated string mcp_registry_urls = 49; + bool enforce_mcp_registry = 60; + bool cli_default_disabled = 50; + string acp_registry_config = 51; + .exa.codeium_common_pb.SandboxEnforcementMode sandbox_enforcement_mode = 55; + repeated string sandbox_allowed_domains = 56; + repeated string sandbox_denied_domains = 57; + bool devin_terminal_acp_enabled = 58; + bool devin_cloud_acp_enabled = 59; + bool user_configured_banner_enabled = 61; + string user_configured_banner_label = 62; + string user_configured_banner_color = 63; + bool disable_cascade = 64; + string extension_policy = 65; + optional int32 api_key_expiration_days = 66; + bool disable_plugins = 67; +} + +message WebAppDeploymentConfig { + string project_id = 1; + string framework = 2; +} + +message McpServerConfig { + string server_id = 1; + oneof configuration { + .exa.codeium_common_pb.McpLocalServer local = 2; + .exa.codeium_common_pb.McpRemoteServer remote = 3; + } +} + +message McpLocalServer { + string command = 1; + repeated string args = 2; + map env = 3; +} + +message McpRemoteServer { + string type = 1; + string url = 2; + map headers = 3; +} + +message UnleashContext { + string user_id = 1; + string session_id = 2; + map properties = 3; +} + +message BrowserPageMetadata { + string url = 1; + string page_id = 2; + string page_title = 3; + uint32 viewport_width = 4; + uint32 viewport_height = 5; + string favicon_url = 6; + .google.protobuf.Timestamp last_visited_time = 7; +} + +message BrowserClickInteraction { + uint32 viewport_scroll_x = 1; + uint32 viewport_scroll_y = 2; + uint32 click_x = 3; + uint32 click_y = 4; + string target_element_tag_name = 5; + string target_element_x_path = 6; +} + +message BrowserScrollInteraction { + uint32 viewport_scroll_x = 1; + uint32 viewport_scroll_y = 2; +} + +message BrowserInteraction { + .google.protobuf.Timestamp timestamp = 1; + .exa.codeium_common_pb.BrowserPageMetadata page_metadata = 2; + oneof interaction { + .exa.codeium_common_pb.BrowserClickInteraction click = 3; + .exa.codeium_common_pb.BrowserScrollInteraction scroll = 4; + } +} + +message MetricsRecord { + string name = 1; + float value = 2; + map details = 3; + bool lower_better = 4; + bool is_bool = 5; + string error = 6; + string trajectory_id = 7; +} + +message ModelNotification { + .exa.codeium_common_pb.Model model = 1 [deprecated = true]; + string model_uid = 3; + string message = 2; +} + +message ModelNotificationExperimentPayload { + repeated .exa.codeium_common_pb.ModelNotification model_notifications = 1; +} + +message LspReference { + string uri = 1; + .exa.codeium_common_pb.Range range = 2; + optional string snippet = 3; +} + +message CascadeModelHeaderWarningExperimentPayload { + string text = 1; + string tooltip_text = 2; +} + +message CodeAnnotation { + string id = 1; + string uri = 2; + uint32 line = 3; + string content = 4; + .google.protobuf.Timestamp created_at = 5; +} + +message CodeAnnotationsState { + repeated .exa.codeium_common_pb.CodeAnnotation annotations = 1; +} + +message TrajectoryDescription { + oneof description { + string cascade_conversation_title = 1; + string mainline_branch_name = 2; + } +} + +message ThirdPartyWebSearchConfig { + .exa.codeium_common_pb.ThirdPartyWebSearchProvider provider = 1; + .exa.codeium_common_pb.ThirdPartyWebSearchModel model = 2; +} + +message GRPCStatus { + int32 code = 1; + string message = 2; +} + +message CascadeDataMetadata { + string ide_version = 1; +} + +message LifeguardModeConfig { + bool enabled = 1; + .exa.codeium_common_pb.Model model = 2; + string model_display_name = 3; + string agent_version = 4; +} + +message LifeguardConfig { + map modes = 1; +} + +message ResponseDimensionGroup { + string title = 1; + repeated .exa.codeium_common_pb.ResponseDimension dimensions = 2; +} + +message ResponseDimension { + reserved 1; + reserved "label"; + + oneof dimension { + .exa.codeium_common_pb.ResponseDimensionCopyableCode copyable_code = 2; + .exa.codeium_common_pb.ResponseDimensionMetric metric = 3; + .exa.codeium_common_pb.ResponseDimensionCumulativeMetric cumulative_metric = 4; + } + string uid = 5; +} + +message ResponseDimensionCopyableCode { + string label = 1; + string value = 2; +} + +message ResponseDimensionMetric { + string label = 1; + string value = 2; +} + +message ResponseDimensionCumulativeMetric { + string label = 1; + float value = 2; + string tail = 3; + string plural_tail = 4; + string prefix = 5; +} diff --git a/packages/ai/src/providers/devin/proto/exa/context_module_pb/context_module.proto b/packages/ai/src/providers/devin/proto/exa/context_module_pb/context_module.proto new file mode 100644 index 000000000..aad9a0337 --- /dev/null +++ b/packages/ai/src/providers/devin/proto/exa/context_module_pb/context_module.proto @@ -0,0 +1,175 @@ +syntax = "proto3"; + +package exa.context_module_pb; + +import "buf/validate/validate.proto"; +import "exa/chat_pb/chat.proto"; +import "exa/codeium_common_pb/codeium_common.proto"; + +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; + + reserved 8; +} + +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; + + reserved 3; + reserved "CONTEXT_REFRESH_REASON_STARTUP"; +} + +message ContextChangeEvent { + reserved 9; + + 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; + } + .exa.context_module_pb.ContextRefreshReason context_refresh_reason = 6; +} + +message ContextChangeActiveDocument { + .exa.codeium_common_pb.Document document = 1; +} + +message ContextChangeCursorPosition { + reserved 1; + reserved 3; + reserved "position", "refresh_reason"; + + .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 { + repeated .exa.codeium_common_pb.CodeContextSource context_sources = 1; + .exa.codeium_common_pb.CodeContextType context_type = 2; + string scorer = 3; + float score = 4; + map 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; +} diff --git a/packages/ai/src/providers/devin/proto/exa/cortex_pb/cortex.proto b/packages/ai/src/providers/devin/proto/exa/cortex_pb/cortex.proto new file mode 100644 index 000000000..77ba4f31e --- /dev/null +++ b/packages/ai/src/providers/devin/proto/exa/cortex_pb/cortex.proto @@ -0,0 +1,3268 @@ +syntax = "proto3"; + +package 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"; + +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; + + reserved 12; + reserved 14; +} + +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 [deprecated = true]; + 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 [deprecated = true]; + CORTEX_TRAJECTORY_TYPE_PASSIVE_CODER = 15; + CORTEX_TRAJECTORY_TYPE_INTERACTIVE_CASCADE = 17; + CORTEX_TRAJECTORY_TYPE_BRAIN_UPDATE = 16; + + reserved 18; + reserved 20; + reserved 21; + reserved "CORTEX_TRAJECTORY_TYPE_DEEP_THINK", "CORTEX_TRAJECTORY_TYPE_SUGGEST_CODE_MAP", "CORTEX_TRAJECTORY_TYPE_LIFEGUARD"; +} + +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; + REPLACE_TOOL_VARIANT_FREEFORM_APPLY_PATCH = 6; +} + +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 [deprecated = true]; + 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 [deprecated = true]; + 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 [deprecated = true]; + CORTEX_STEP_TYPE_SUGGESTED_RESPONSES = 27; + CORTEX_STEP_TYPE_COMMAND_STATUS = 28; + CORTEX_STEP_TYPE_MEMORY = 29; + CORTEX_STEP_TYPE_LOOKUP_KNOWLEDGE_BASE = 30 [deprecated = true]; + 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 [deprecated = true]; + 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 [deprecated = true]; + 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 [deprecated = true]; + CORTEX_STEP_TYPE_ARTIFACT_SUMMARY = 71 [deprecated = true]; + 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; + CORTEX_STEP_TYPE_TASK_SUBAGENT = 104; + + reserved 56; + reserved 61; + reserved 62; + reserved 63; + reserved 64; + reserved 66; + reserved 67; + reserved 69; + reserved 70; + reserved 84; + reserved 85; + reserved 88; + reserved 96; + reserved 98; + reserved 75; + reserved 76; + reserved 77; + reserved 78; + reserved 79; + reserved 81; + reserved "CORTEX_STEP_TYPE_DEEP_THINK", "CORTEX_STEP_TYPE_SUPERFLOW_SHOW_USER", "CORTEX_STEP_TYPE_SUPERFLOW_CONTEXT", "CORTEX_STEP_TYPE_CLAUDE_CODE_AGENT", "CORTEX_STEP_TYPE_CLAUDE_CODE_TODO_LIST", "CORTEX_STEP_TYPE_CLAUDE_CODE_GLOB", "CORTEX_STEP_TYPE_CLAUDE_CODE_DONE", "CORTEX_STEP_TYPE_CLAUDE_CODE_RESULT", "CORTEX_STEP_TYPE_CLAUDE_CODE_TOOL_PERMISSION"; +} + +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; + + reserved 3; + reserved 4; +} + +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; + + reserved 3; + reserved "BRAIN_ENTRY_TYPE_DEEP_THINK"; +} + +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 SkillSource { + SKILL_SOURCE_UNSPECIFIED = 0; + SKILL_SOURCE_WORKSPACE = 1; + SKILL_SOURCE_GLOBAL = 2; + SKILL_SOURCE_SYSTEM = 3; +} + +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; + HOOK_AGENT_ACTION_POST_CASCADE_RESPONSE_WITH_TRANSCRIPT = 12; +} + +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; + optional string parse_error = 11; + string uri = 12; +} + +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 4; + reserved 5; + reserved "claude_code_permissions", "claude_code_restart_state"; + + .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 { + oneof spec { + .exa.cortex_pb.ActionSpecCommand command = 1; + .exa.cortex_pb.ActionSpecCreateFile create_file = 2; + .exa.cortex_pb.ActionSpecDeleteFile delete_file = 4; + } + repeated uint32 parent_step_indices = 3; +} + +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; + 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; + } + repeated .exa.codeium_common_pb.CodeContextItem reference_ccis = 5; +} + +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 { + oneof result { + .exa.cortex_pb.ActionResultEdit edit = 1; + } + bool apply_existing_result = 2; +} + +message ActionDebugInfo { + message DebugInfoEntry { + string key = 1; + string value = 2; + } + + repeated .exa.cortex_pb.ActionDebugInfo.DebugInfoEntry entries = 1; +} + +message ActionResultEdit { + reserved 13; + reserved "replacement_chunk_errors"; + + string absolute_path_migrate_me_to_uri = 1 [deprecated = true]; + .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 [deprecated = true]; + .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 [deprecated = true]; + .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 6; + reserved "no_augment_command"; + + 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; + optional string merge_base_head_patch_string = 3; + optional string head_working_patch_string = 4; + .exa.codeium_common_pb.WorkspaceStats workspace_stats = 5; + bool repo_is_public = 6; +} + +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 11; + reserved 12; + reserved 19; + reserved "claude_code_session_id", "is_claude_code", "devin_session"; + + 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; + optional string renamed_title = 10; + optional bytes virtual_fs_serialized_overlay = 13; + uint32 diff_lines_added = 14; + uint32 diff_lines_removed = 15; + optional string arena_id = 16; + repeated .exa.cortex_pb.QueuedMessage message_queue = 17; + optional string git_worktree_path = 18 [deprecated = true]; + repeated string git_worktree_paths = 22; + optional .exa.cortex_pb.ArenaModeInfo arena_mode_info = 20; + optional .exa.codeium_common_pb.ConversationalPlannerMode conversational_mode = 21; + repeated .exa.cortex_pb.WorktreeMergeSnapshot worktree_merges = 23; + optional .exa.cortex_pb.ModelAssignmentInfo model_assignment_info = 24; +} + +message ModelAssignmentInfo { + string assignment_jwt = 1; + string assigned_model_uid = 2; + string harness_uid = 3; + string model_router_uid = 4; + .google.protobuf.Timestamp assigned_at = 5; +} + +message ArenaModeInfo { + reserved 2; + reserved "arena_tier"; + + 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 6; + reserved 15; + reserved 27; + reserved "is_claude_code", "referenced_context_items"; + + 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; + optional string renamed_title = 11; + repeated .exa.cortex_pb.GlobalBackgroundCommand background_commands = 12; + optional .exa.cortex_pb.LastTodoListStepInfo last_todo_list_step = 13; + bool errored = 14; + uint32 diff_lines_added = 16; + uint32 diff_lines_removed = 17; + optional string arena_id = 18; + bool hidden = 19; + uint32 queue_size = 20; + optional string git_worktree_path = 21 [deprecated = true]; + repeated string git_worktree_paths = 28; + .exa.cortex_pb.CortexTrajectoryType trajectory_type = 22; + .exa.cortex_pb.CortexTrajectorySource trajectory_source = 23; + optional .exa.codeium_common_pb.Model last_generator_model_deprecated = 24 [deprecated = true]; + optional .exa.cortex_pb.ArenaModeInfo arena_mode_info = 25; + optional string last_generator_model_uid = 26; + repeated string referenced_files = 29; + bool is_archived = 30; +} + +message LastTodoListStepInfo { + repeated .exa.cortex_pb.CortexTodoListItem todos = 1; + uint32 step_index = 2; +} + +message CascadeTrajectorySummaries { + map 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 2; + reserved 3; + reserved 4; + reserved 6; + reserved 7; + reserved "background_research", "mainline_step_count_at_last_research", "workspace_uri", "git_root_uri", "branch_name"; + + .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; + oneof metadata { + .exa.cortex_pb.ChatModelMetadata chat_model = 1; + } + .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; +} + +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 [deprecated = true]; + 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; + optional int64 quota_cost_basis_points = 18; + optional int64 overage_cost_cents = 19; + repeated .exa.codeium_common_pb.ResponseDimensionGroup response_dimension_groups = 20; +} + +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 [deprecated = true]; + .exa.codeium_common_pb.ModelOrAlias requested_model_deprecated = 13 [deprecated = true]; + string generator_model_uid = 27; + string requested_model_uid = 28; + string execution_id = 12; + int32 flow_credits_used = 14 [deprecated = true]; + int32 prompt_credits_used = 15; + .exa.codeium_common_pb.ConversationalPlannerMode planner_mode = 26; + repeated .exa.cortex_pb.CortexStepCreditReason non_standard_credit_reasons = 18 [deprecated = true]; + 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; + optional int64 quota_cost_basis_points = 30; + optional int64 overage_cost_cents = 31; + uint64 input_tokens = 32; + uint64 cache_read_tokens = 33; + .google.protobuf.Timestamp usage_timestamp = 34; + repeated .exa.codeium_common_pb.ResponseDimensionGroup response_dimension_groups = 35; +} + +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 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; + reserved "open_browser_url", "execute_browser_javascript", "list_browser_pages", "capture_browser_screenshot", "click_browser_pixel", "capture_browser_console_logs", "read_browser_page", "query_browser_page_for_pixel", "get_dom_tree", "superflow_show_user", "superflow_context", "claude_code_agent", "claude_code_todo_list", "claude_code_glob", "claude_code_done", "claude_code_result", "claude_code_tool_permission", "do_testing"; + + .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 [deprecated = true]; + .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; + optional bool shield_from_cancellation = 109; + 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 [deprecated = true]; + .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 [deprecated = true]; + .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 [deprecated = true]; + .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 [deprecated = true]; + .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 [deprecated = true]; + .exa.cortex_pb.CortexStepEditCodeMap edit_code_map = 99 [deprecated = true]; + .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; + .exa.cortex_pb.CortexStepTaskSubagent task_subagent = 119; + } + .exa.cortex_pb.CortexTrajectory subtrajectory = 6; + repeated .exa.cortex_pb.CortexTrajectory subtrajectories = 51; +} + +message TrajectoryScope { + string workspace_uri = 1; + string git_root_uri = 2; + string branch_name = 3; +} + +message CascadeExecutorConfig { + optional bool disable_async = 1; + int32 max_generator_invocations = 2; + repeated .exa.cortex_pb.CortexStepType terminal_step_types = 3; + optional bool run_pending_steps = 4; + optional bool hold_for_valid_checkpoint = 5; + int32 hold_for_valid_checkpoint_timeout = 6; + bool research_only = 7; + optional bool use_aggressive_snapshotting = 8; + bool enable_background_linting = 9; + int32 max_lint_injection_count = 10; +} + +message ForcedBrainUpdateConfig { + optional float update_sample_rate = 1; +} + +message DynamicBrainUpdateConfig { + bool use_aggressive_prompt = 1 [deprecated = true]; +} + +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; + + optional bool enabled = 1; + .exa.codeium_common_pb.Model brain_model_deprecated = 2 [deprecated = true]; + string brain_model_uid = 14; + optional bool use_main_model_as_brain_model = 13; + optional bool force_no_explanation = 4; + .exa.cortex_pb.BrainFilterStrategy filter_strategy = 5; + .exa.cortex_pb.BrainUpdateStrategy update_strategy = 6; + 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; + string additional_ephemeral_prompt = 11; + 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 [deprecated = true]; + 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; + optional bool apply_model_default_override = 6; + .exa.cortex_pb.ParallelRolloutConfig parallel_rollout_config = 8; + repeated .exa.cortex_pb.CascadeHook hooks = 9; + optional string override_harness_uid = 10; +} + +message TrajectoryConversionConfig { + optional bool use_tool_format = 1; + optional bool include_input_step = 2; + optional bool group_tools_with_planner_response = 3; + repeated .exa.cortex_pb.CortexStepType disabled_step_types = 4; + optional string tool_call_footer = 5; +} + +message CascadeConversationalPlannerConfig { + reserved 1; + reserved 14; + reserved "read_only", "is_trusted"; + + .exa.codeium_common_pb.ConversationalPlannerMode planner_mode = 4; + optional bool use_clusters = 2; + string cluster_path = 3; + optional bool eval_mode = 5; + optional string code_research_section_content = 6; + optional string test_section_content = 8 [deprecated = true]; + 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 { + map section_overrides = 1; + repeated string additional_instructions = 2; +} + +message CascadeAgenticPlannerManagerConfig { + optional bool enabled = 1; + .exa.codeium_common_pb.Model model_deprecated = 2 [deprecated = true]; + string model_uid = 5; + optional bool condense_messages = 3; + optional bool send_only_user_messages = 4; +} + +message CascadeAgenticPlannerApplierConfig { + optional bool enabled = 1; + .exa.codeium_common_pb.Model model_deprecated = 2 [deprecated = true]; + string model_uid = 5; + int32 num_rollouts = 3; + .exa.codeium_common_pb.Model judge_model_deprecated = 4 [deprecated = true]; + string judge_model_uid = 6; +} + +message CascadeAgenticPlannerConfig { + optional bool enable_feedback_loop = 1; + optional bool eval_mode = 2; + .exa.cortex_pb.CascadeAgentToolSet tool_set = 5; + .exa.cortex_pb.AgenticMixin mixin = 6; + optional .exa.cortex_pb.CascadeAgenticPlannerManagerConfig manager_config = 3; + optional .exa.cortex_pb.CascadeAgenticPlannerApplierConfig applier_config = 4; +} + +message CascadeResearchPlannerConfig { + optional bool add_reference_nodes = 1; + optional bool use_clusters = 2; + string cluster_path = 3; +} + +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; + optional int32 num_items_full_source = 4; + int32 max_lines_per_snippet = 5; + 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 [deprecated = true]; + optional bool include_cci_in_result = 2 [deprecated = true]; + uint32 num_full_source_ccis = 3 [deprecated = true]; + uint32 max_bytes_per_cci = 4 [deprecated = true]; + .exa.cortex_pb.EnterpriseToolConfig enterprise_config = 5; + 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 { + optional bool enable_model_auto_run = 1 [deprecated = true]; + repeated string user_allowlist = 2 [deprecated = true]; + repeated string user_denylist = 3 [deprecated = true]; + repeated string system_allowlist = 4; + repeated string system_denylist = 5; + repeated string system_nooplist = 7; + .exa.codeium_common_pb.CascadeCommandsAutoExecution auto_execution_policy = 6 [deprecated = true]; + .exa.codeium_common_pb.CascadeCommandsAutoExecution max_auto_execution_level = 8; + .exa.codeium_common_pb.CascadeCommandsAutoExecution workflow_auto_execution_policy = 9; + repeated string team_allowlist = 10; + repeated string team_denylist = 11; + repeated string cascade_config_allowlist = 12; + repeated string cascade_config_denylist = 13; +} + +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; + optional bool force_disable = 2; + .exa.cortex_pb.AutoCommandConfig auto_command_config = 3; + optional bool enable_ide_terminal_execution = 4; + optional bool enable_midterm_output_processor = 8 [deprecated = true]; + string shell_name = 5; + string shell_path = 6; + uint32 max_timeout_ms = 7; + .exa.cortex_pb.EnterpriseToolConfig enterprise_config = 9; + optional bool use_bash_v2 = 10; + string shell_integration_failure_reason = 11; + repeated string shell_args = 12; +} + +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; + optional bool apply_edits = 2; + optional bool use_replace_content_edit_tool = 3; + .exa.cortex_pb.ReplaceContentToolConfig replace_content_tool_config = 4; + .exa.cortex_pb.AutoFixLintsConfig auto_fix_lints_config = 5 [deprecated = true]; + optional bool allow_edit_gitignore = 6; + .exa.cortex_pb.EnterpriseToolConfig enterprise_config = 7; + 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; + repeated string file_allowlist = 12; + repeated string dir_allowlist = 17; + repeated string plan_dirs = 19; + 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 [deprecated = true]; + string intent_model_uid = 3; + uint32 max_context_tokens = 2; +} + +message ViewFileToolConfig { + reserved 3; + reserved 16; + reserved "use_doc_outline", "disable_read"; + + uint32 max_tokens_per_outline = 1; + float max_doc_lines_fraction = 2; + 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 [deprecated = true]; + uint32 max_total_outline_bytes = 9; + uint32 max_bytes_per_outline_item = 11; + optional uint32 show_full_file_bytes = 10; + optional bool show_triggered_memories = 13; + .exa.cortex_pb.EnterpriseToolConfig enterprise_config = 12; + 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 { + optional bool force_disable = 1; + .exa.cortex_pb.AutoWebRequestConfig auto_web_request_config = 2; +} + +message MemoryToolConfig { + optional bool force_disable = 1; + optional bool disable_auto_generate_memories = 2; + optional bool disable_write = 3; +} + +message McpToolConfig { + optional bool force_disable = 1; + uint32 max_output_bytes = 2; +} + +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 { + optional bool force_disable = 1; + optional bool conversations_enabled = 2; + optional bool user_activities_enabled = 3; + uint32 max_scored_chunks = 4; +} + +message EnterpriseToolConfig { + optional bool enforce_workspace_validation = 1; + repeated string custom_workspace = 2; +} + +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 { + optional bool enabled = 1; + repeated .exa.codeium_common_pb.KnowledgeBaseItem knowledge_base_items = 2; +} + +message ToolDescriptionOverrideMap { + map 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 TaskSubagentToolConfig { + optional bool enabled = 1; +} + +message CascadeToolConfig { + reserved 15; + reserved 12; + reserved 25; + reserved 36; + reserved "ReadUrlContent", "windsurf_browser", "do_testing"; + + .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.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; + optional bool disable_simple_research_tools = 29; + .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; + .exa.cortex_pb.TaskSubagentToolConfig task_subagent = 40; + repeated string tool_allowlist = 32; +} + +message CascadePassivePlannerConfig { + reserved 2; + reserved "request_source"; + + optional bool read_only = 1; +} + +message CascadeSummarizerConfig { + bool enabled = 1; +} + +message CascadeAgentV2PlannerConfig { + .exa.cortex_pb.CascadeSummarizerConfig summarizer_config = 1; +} + +message CascadeConversationalV2PlannerConfig { + .exa.codeium_common_pb.ConversationalPlannerMode planner_mode = 1; + optional bool use_clusters = 2; + string cluster_path = 3; + optional bool eval_mode = 4; +} + +message CascadeCodemapPlannerConfig { + reserved 1; + reserved "is_trusted"; +} + +message CascadeLifeguardPlannerConfig { + string agent_version = 1; +} + +message CascadePlannerConfig { + reserved 31; + reserved 8; + reserved 9; + reserved 17; + reserved 19; + reserved 26; + reserved "num_parallel_rollouts", "judge_model", "use_clusters", "add_reference_nodes", "vibecoder"; + + oneof planner_type_config { + .exa.cortex_pb.CascadeConversationalPlannerConfig conversational = 2; + .exa.cortex_pb.CascadeConversationalV2PlannerConfig conversational_v2 = 27 [deprecated = true]; + .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 [deprecated = true]; + .exa.cortex_pb.CascadeCodemapPlannerConfig codemap = 29; + .exa.cortex_pb.CascadeLifeguardPlannerConfig lifeguard = 33; + } + .exa.cortex_pb.CascadeToolConfig tool_config = 13; + .exa.codeium_common_pb.Model plan_model_deprecated = 1 [deprecated = true]; + .exa.codeium_common_pb.ModelOrAlias requested_model_deprecated = 15 [deprecated = true]; + 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; + optional bool no_tool_explanation = 7; + optional bool allow_pending_steps = 11; + optional bool forbid_tool_use_on_last_retry = 12; + int32 truncation_threshold_tokens = 14; + optional bool include_ephemeral_message = 20 [deprecated = true]; + .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; +} + +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 [deprecated = true]; + .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 1; + reserved 6; + reserved 4; + reserved 7; + reserved 8; + reserved 9; + reserved 10; + reserved 12; + reserved "claude_code_tool_permission"; + + 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 3; + reserved 6; + reserved 8; + reserved 9; + reserved 10; + reserved 11; + reserved 13; + reserved "open_browser_url", "execute_browser_javascript", "capture_browser_screenshot", "click_browser_pixel", "query_browser_page_for_pixel", "claude_code_tool_permission"; + + 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 { + map output = 1; + string output_string = 2; +} + +message CortexStepPlanInput { + .exa.cortex_pb.PlanInput plan_input = 1; + bool user_provided = 2; +} + +message CortexStepCheckpoint { + 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; + map edited_file_map = 7 [deprecated = true]; + repeated uint32 included_step_indices = 3 [deprecated = true]; + string memory_summary = 8 [deprecated = true]; + string user_intent_request_id = 14; + string session_summary_request_id = 15; + string code_change_summary_request_id = 16; +} + +message WorktreeMergeSnapshot { + map file_states_before_merge = 1; + repeated string added_files = 2; + map file_states_after_merge = 3; +} + +message CheckpointConfig { + reserved 8; + reserved 9; + reserved 10; + reserved "use_subagent_checkpointer", "type", "condense_input_trajectory"; + + 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 [deprecated = true]; + string checkpoint_model_uid = 14; + .exa.codeium_common_pb.Model checkpoint_model_fallback_deprecated = 13 [deprecated = true]; + 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 3; + reserved "implicit_metadata"; + + .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 { + map range_map = 1; + float deprecated_duration_field_2 = 2 [deprecated = true]; + float duration = 3; + map 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 [deprecated = true]; + 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 6; + reserved "workspace_path_uri"; + + 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 [deprecated = true]; +} + +message CortexStepGrepSearchV2 { + reserved 9; + reserved "show_line_numbers"; + + 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 6; + reserved "results"; + + 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 [deprecated = true]; + string find_error = 8 [deprecated = true]; +} + +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 [deprecated = true]; + string model_uid = 6; + string model_name = 4; + string smart_friend_request_id = 5; +} + +message CortexStepTaskSubagent { + string description = 1; + string prompt = 2; + string result = 3; +} + +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 [deprecated = true]; + 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 [deprecated = true]; + repeated .exa.cortex_pb.ListDirectoryResult results = 3; + bool dir_not_found = 4 [deprecated = true]; +} + +message CortexStepCompileDiagnostic { + string message = 1; + string path = 2; + uint32 line = 3; + uint32 column = 4; + string symbol = 5; +} + +message CortexStepClusterQuery { + reserved 4; + reserved "ccis"; + + 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 { + .exa.cortex_pb.CortexStepCompileTool tool = 1; + string input_spec = 2; + map 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 [deprecated = true]; + bytes gemini_thought_signature = 11 [deprecated = true]; + string signature_type = 12; + .google.protobuf.Duration thinking_duration = 13; + string phase = 14; +} + +message CortexStepFileBreakdown { + string absolute_path = 1; + .exa.codeium_common_pb.DocumentOutline document_outline = 2; +} + +message CortexStepViewCodeItem { + reserved 2; + reserved 3; + reserved "cci", "node_name"; + + 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 [deprecated = true]; + uint32 num_lines_above = 3 [deprecated = true]; +} + +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; + optional int32 exit_code = 6; + 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 [deprecated = true]; + repeated string args = 3 [deprecated = true]; + string stdout = 4 [deprecated = true]; + string stderr = 5 [deprecated = true]; + string stdout_buffer = 7 [deprecated = true]; + string stderr_buffer = 8 [deprecated = true]; + uint32 stdout_lines_above = 9 [deprecated = true]; + uint32 stderr_lines_above = 10 [deprecated = true]; + .exa.cortex_pb.RunCommandOutput stdout_output = 19 [deprecated = true]; + .exa.cortex_pb.RunCommandOutput stderr_output = 20 [deprecated = true]; +} + +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 1; + reserved 3; + reserved "cropped_web_document", "url"; + + 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 { + string project_path = 1; + string subdomain = 2; + string project_id = 11; + string framework = 3; + bool user_confirmed = 4; + map 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 { + oneof target { + .exa.cortex_pb.BrainEntryType entry_type = 1; + } + .exa.cortex_pb.BrainUpdateTrigger trigger = 3; + repeated .exa.cortex_pb.BrainEntryDelta deltas = 2; +} + +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; + bool is_archived = 6; +} + +message CascadePanelState { + reserved 3; + reserved "workspace_trusted"; + + .exa.codeium_common_pb.PlanStatus plan_status = 1; + .exa.codeium_common_pb.UserSettings user_settings = 2; +} + +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; + optional string delta = 12; + optional int32 exit_code = 5; + .exa.cortex_pb.CortexErrorDetails error = 6; + uint32 waited_duration_seconds = 11; + string stdout = 3 [deprecated = true]; + string stderr = 4 [deprecated = true]; + .exa.cortex_pb.CommandOutputPriority output_priority = 7 [deprecated = true]; +} + +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 [deprecated = true]; +} + +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 [deprecated = true]; + optional string parse_error = 8; + .exa.cortex_pb.SkillSource skill_source = 9; +} + +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 [deprecated = true]; +} + +message MemoryConfig { + .exa.codeium_common_pb.Model memory_model_deprecated = 1 [deprecated = true]; + 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 [deprecated = true]; + optional bool add_user_memories_to_system_prompt = 7; + optional bool enabled = 2 [deprecated = true]; +} + +message ViewedFileTrackerConfig { + optional uint32 max_steps_per_checkpoint = 1; + uint32 max_files_in_prompt = 2; + uint32 max_lines_per_file_in_prompt = 3; +} + +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 9; + reserved "browser_step_creation_options"; + + .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 { + string server_name = 1; + string command = 2; + repeated string args = 3; + map env = 4; + uint32 server_index = 5; + string server_url = 6; + bool disabled = 7; + repeated string disabled_tools = 8; + map headers = 9; + .exa.cortex_pb.McpOAuthConfig oauth = 10; + string registry = 11; +} + +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; + optional string cursor = 2; + repeated .exa.cortex_pb.McpResource resources = 3; + string next_cursor = 4; +} + +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 { + optional bool enabled = 1; + uint32 num_steps = 2; + repeated .exa.cortex_pb.HeuristicPrompt heuristic_prompts = 3; +} + +message HeuristicPrompt { + string heuristic = 1; + string prompt = 2; +} + +message RevertMetadata { + reserved 5; + reserved "revert_state"; + + 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 3; + reserved "auto_run"; + + 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; + string powershell_command = 4; +} + +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; + optional string editing_codemap_id = 4; + optional string editing_codemap_title = 5; + bool user_rejected = 6; + 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 { + optional string plan_file = 1; + bool user_requested = 2; +} + +message CortexStepSkill { + string skill_name = 1; + string description = 2; + string path = 3; + int32 resource_count = 4; + string base_dir = 5; + string content = 6; +} diff --git a/packages/ai/src/providers/devin/proto/exa/dev_pb/dev.proto b/packages/ai/src/providers/devin/proto/exa/dev_pb/dev.proto new file mode 100644 index 000000000..b2e7523a8 --- /dev/null +++ b/packages/ai/src/providers/devin/proto/exa/dev_pb/dev.proto @@ -0,0 +1,26 @@ +syntax = "proto3"; + +package exa.dev_pb; + +import "exa/codeium_common_pb/codeium_common.proto"; + +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; +} + +service DevService { + rpc Dev (.exa.dev_pb.DevRequest) returns (.exa.dev_pb.DevResponse); + rpc GetLSPCompletionItems (.exa.dev_pb.GetLSPCompletionItemsRequest) returns (.exa.dev_pb.GetLSPCompletionItemsResponse); +} diff --git a/packages/ai/src/providers/devin/proto/exa/diff_action_pb/diff_action.proto b/packages/ai/src/providers/devin/proto/exa/diff_action_pb/diff_action.proto new file mode 100644 index 000000000..a716004e9 --- /dev/null +++ b/packages/ai/src/providers/devin/proto/exa/diff_action_pb/diff_action.proto @@ -0,0 +1,75 @@ +syntax = "proto3"; + +package exa.diff_action_pb; + +import "exa/codeium_common_pb/codeium_common.proto"; + +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; + + reserved 4; + reserved 5; +} + +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; +} diff --git a/packages/ai/src/providers/devin/proto/exa/eval/pr_eval/datasets_pb/datasets.proto b/packages/ai/src/providers/devin/proto/exa/eval/pr_eval/datasets_pb/datasets.proto new file mode 100644 index 000000000..f65372104 --- /dev/null +++ b/packages/ai/src/providers/devin/proto/exa/eval/pr_eval/datasets_pb/datasets.proto @@ -0,0 +1,103 @@ +syntax = "proto3"; + +package exa.eval.pr_eval.datasets_pb; + +import "exa/cortex_pb/cortex.proto"; + +message MetricScoreContribution { + oneof score_source { + string metric_name = 1; + string existing_field_name = 3; + } + float weight = 2; +} + +message ScoreCalculationConfig { + repeated .exa.eval.pr_eval.datasets_pb.MetricScoreContribution metric_score_contributions = 1; +} + +message DetailStringFilter { + string detail_key = 1; + oneof match_type { + string exact_match = 2; + string contains = 3; + string regex_pattern = 4; + } + bool invert = 5; +} + +message MetricsRecordFilterRequest { + oneof score_source { + string record_name = 1; + string existing_field_name = 4; + } + optional float max_allowed = 2; + optional float min_allowed = 3; + bool is_optional = 5; + repeated .exa.eval.pr_eval.datasets_pb.DetailStringFilter detail_filters = 6; +} + +message FilterTrajectoryStageConfig { + reserved 1; + reserved 5; + reserved 6; + reserved 7; + reserved 8; + reserved "min_score_threshold", "generate_preference_pairs", "min_win_rating", "min_rating_delta", "max_occurrences_per_example"; + + 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 [deprecated = true]; + 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; + } + .exa.eval.pr_eval.datasets_pb.ScoreCalculationConfig score_calculation_config = 13; + repeated .exa.eval.pr_eval.datasets_pb.MetricsRecordFilterRequest metrics_record_filters = 14; +} + +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/packages/ai/src/providers/devin/proto/exa/eval_pb/eval.proto b/packages/ai/src/providers/devin/proto/exa/eval_pb/eval.proto new file mode 100644 index 000000000..f57c7e843 --- /dev/null +++ b/packages/ai/src/providers/devin/proto/exa/eval_pb/eval.proto @@ -0,0 +1,1315 @@ +syntax = "proto3"; + +package 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"; + +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; + + reserved 1; + reserved 2; + reserved 7; + reserved "CORTEX_GENERATION_TYPE_GRAPH", "CORTEX_GENERATION_TYPE_STATIC_TRAJECTORY", "CORTEX_GENERATION_TYPE_MASKED_GROUND_TRUTH_TRAJECTORY"; +} + +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; + + reserved 1; + reserved 2; + reserved 3; + reserved "LLM_JUDGE_EVAL_TYPE_CHAT", "LLM_JUDGE_EVAL_TYPE_INSTRUCTION", "LLM_JUDGE_EVAL_TYPE_CONTEXT_RELEVANCE"; +} + +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; +} + +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 21; + reserved 25; + reserved 32; + reserved "rejection_sampling_config", "code_reasoning_eval_config"; + + oneof model_config { + string model_path = 1; + .exa.eval_pb.CustomModelConfig custom_model_config = 30; + string inference_server_url = 31; + } + .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; +} + +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 5; + reserved 6; + reserved "draft_model_memory_fraction", "target_model_memory_fraction"; + + bool use_trainer_completions = 1; + uint32 max_generation_length = 2; + uint32 mp_shards = 3; + uint32 gamma = 4; + uint32 max_context_length = 7; + optional int64 chunked_prefill_length = 8; + optional int64 speculative_copy_length = 9; + optional int64 max_tokens_per_forward_pass = 10; + bool use_sglang = 11; +} + +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 { + repeated string linters = 1; + map 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 { + repeated .exa.eval_pb.UnitTestResult initial_results = 1; + map 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 [deprecated = true]; + 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 13; + reserved 19; + reserved 21; + reserved 23; + reserved 24; + reserved 26; + reserved 32; + reserved "repo_concurrency", "command_model_config", "run_evaluate_plans", "run_generate_synthetic_trajectories", "run_ground_truth_command_llm_judge_eval", "run_generate_masked_steps", "trajectory_llm_judge_stage_config"; + + 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; + optional uint32 backoff_limit = 29; + 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; + oneof generate_config { + .exa.eval_pb.GenerateLanguageServerConfig generate_language_server_config = 9; + } + .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; +} + +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 1; + reserved "plan_model"; + + 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; + oneof config_override { + .exa.cortex_pb.CascadeConfig cascade_config = 6; + .exa.eval_pb.CascadeConfigRandomizer cascade_config_randomizer = 15; + } + .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; +} + +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 8; + reserved 26; + reserved "verbosity_level", "register_user_url"; + + 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 [deprecated = true]; + 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 2; + reserved "judge_prompt_format"; + + string judge_model = 1 [deprecated = true]; + .exa.codeium_common_pb.Model judge_model_enum = 23 [deprecated = true]; + .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 [deprecated = true]; + 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 [deprecated = true]; + bool override_prompt_components = 7; + bool allow_nonterminal_edit_train_completion = 8; +} + +message TrajectoryDownloadConfig { + message QueryConfig { + reserved 4; + reserved "allowed_model_id"; + + 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; + optional .exa.eval_pb.TrajectoryDownloadConfig.QueryConfig.IDFilterConfig id_filter_config = 8; + 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 [deprecated = true]; + bool require_public_repo = 11 [deprecated = true]; + string json_extract_path = 12; + bool enforce_uniqueness = 13; + optional .exa.eval_pb.TrajectoryDownloadConfig.QueryConfig.StepFilterConfig step_filter_config = 14; + repeated .exa.eval.pr_eval.datasets_pb.MetricsRecordFilterRequest metrics_filters = 16; + .exa.cortex_pb.CascadeConfig cascade_config_filter = 17; + } + + oneof id_selection { + bool input = 1; + .exa.eval_pb.TrajectoryDownloadConfig.QueryConfig query = 2; + } + int32 world_size_download = 3; + int32 max_trajectory_steps = 4; + int32 kubernetes_parallelism = 5; + bool require_generator_metadata = 6; +} + +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 3; + reserved 4; + reserved 5; + reserved 7; + reserved 8; + reserved 9; + reserved 10; + reserved 11; + reserved "use_input_initial_workspace_state", "use_codeium_github_access_token", "clean_trajectory", "upload_ground_truth_trajectory", "allow_all_step_errors", "find_beginning_of_turn", "generate_for_training", "fail_on_last_step_errors", "fail_on_intermediate_step_errors"; + + 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 { + optional float max_error_rate = 1; + bool allow_last_step_error = 2; + .exa.eval_pb.ValueBound length_bound = 3; + map step_type_count_bounds = 4; +} + +message FindTrajectoryConfig { + reserved 6; + reserved 9; + reserved 15; + reserved "first_after_start_idx", "longest_turn_before_start_idx", "step_filter_config"; + + 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; + 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; + } + bool include_first_step = 7; + bool exclude_last_step = 8; + optional .exa.eval_pb.ValidateTrajectoryEventConfig validate_trajectory_event_config = 10; + .exa.eval_pb.JudgeBoundaryMetricsConfig judge_boundary_metrics_config = 13; +} + +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 { + map min_steps_between_by_type = 1; + bool require_target_change = 2; + bool treat_last_step_as_interval_end = 3; +} + +message AfterPauseConfig { + 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; + map min_steps_between_by_type = 7; + map 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; +} + +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); +} diff --git a/packages/ai/src/providers/devin/proto/exa/extension_server_pb/extension_server.proto b/packages/ai/src/providers/devin/proto/exa/extension_server_pb/extension_server.proto new file mode 100644 index 000000000..ef29a0707 --- /dev/null +++ b/packages/ai/src/providers/devin/proto/exa/extension_server_pb/extension_server.proto @@ -0,0 +1,556 @@ +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"; + +enum ActiveEditorType { + ACTIVE_EDITOR_TYPE_UNSPECIFIED = 0; + ACTIVE_EDITOR_TYPE_TEXT_EDITOR = 1; + ACTIVE_EDITOR_TYPE_TERMINAL = 2; +} + +enum SoundType { + SOUND_TYPE_UNSPECIFIED = 0; + SOUND_TYPE_CASCADE_DONE = 1; +} + +enum SettingLocation { + SETTING_LOCATION_UNSPECIFIED = 0; + SETTING_LOCATION_USER = 1; + SETTING_LOCATION_WORKSPACE = 2; +} + +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 [deprecated = true]; + 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; + repeated string shell_args = 5; +} + +message ExecuteCommandRequest { + reserved 1; + reserved 2; + reserved "command", "args"; + + 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 OpenConfigurePluginsPageRequest { + optional string server_name = 1; +} + +message OpenConfigurePluginsPageResponse { +} + +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; + bool initial_load_complete = 2; +} + +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 { + string experiment_key = 1; + map 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 [deprecated = true]; +} + +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 { +} + +message NativeStorageTarget { + oneof target { + .exa.extension_server_pb.SettingTarget setting = 1; + .exa.extension_server_pb.StateTarget state = 2; + } +} + +message SettingTarget { + .exa.extension_server_pb.SettingLocation location = 1; +} + +message StateTarget { +} + +message NativeValue { + oneof value { + string string_value = 1; + int32 int_value = 2; + bool bool_value = 3; + double double_value = 4; + .exa.extension_server_pb.NativeValueList list_value = 5; + .exa.extension_server_pb.NativeValueMap map_value = 6; + } +} + +message NativeValueList { + repeated .exa.extension_server_pb.NativeValue values = 1; +} + +message NativeValueMap { + map values = 1; +} + +message NativeValueEntry { + .exa.extension_server_pb.NativeValue value = 1; + bool is_default = 2; +} + +message GetNativeValuesRequest { + .exa.extension_server_pb.NativeStorageTarget target = 1; + repeated string keys = 2; +} + +message GetNativeValuesResponse { + map values = 1; +} + +message SetNativeValueRequest { + .exa.extension_server_pb.NativeStorageTarget target = 1; + string key = 2; + .exa.extension_server_pb.NativeValue value = 3; + .exa.extension_server_pb.NativeValue expected_previous_value = 4; +} + +message SetNativeValueResponse { + bool concurrency_conflict = 1; + .exa.extension_server_pb.NativeValueEntry current_value = 2; +} + +message ClearNativeValueRequest { + .exa.extension_server_pb.NativeStorageTarget target = 1; + string key = 2; +} + +message ClearNativeValueResponse { +} + +message SubscribeNativeValuesRequest { + .exa.extension_server_pb.NativeStorageTarget target = 1; +} + +message SubscribeNativeValuesResponse { + map values = 1; +} + +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 OpenConfigurePluginsPage (.exa.extension_server_pb.OpenConfigurePluginsPageRequest) returns (.exa.extension_server_pb.OpenConfigurePluginsPageResponse); + rpc OpenConversationWorkspaceQuickPick (.exa.extension_server_pb.OpenConversationWorkspaceQuickPickRequest) returns (.exa.extension_server_pb.OpenConversationWorkspaceQuickPickResponse); + rpc FindAllReferences (.exa.extension_server_pb.FindAllReferencesRequest) returns (.exa.extension_server_pb.FindAllReferencesResponse); + rpc 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); + rpc GetNativeValues (.exa.extension_server_pb.GetNativeValuesRequest) returns (.exa.extension_server_pb.GetNativeValuesResponse); + rpc SetNativeValue (.exa.extension_server_pb.SetNativeValueRequest) returns (.exa.extension_server_pb.SetNativeValueResponse); + rpc ClearNativeValue (.exa.extension_server_pb.ClearNativeValueRequest) returns (.exa.extension_server_pb.ClearNativeValueResponse); + rpc SubscribeNativeValues (.exa.extension_server_pb.SubscribeNativeValuesRequest) returns (stream .exa.extension_server_pb.SubscribeNativeValuesResponse); +} diff --git a/packages/ai/src/providers/devin/proto/exa/file_system_provider_pb/file_system_provider.proto b/packages/ai/src/providers/devin/proto/exa/file_system_provider_pb/file_system_provider.proto new file mode 100644 index 000000000..367192a52 --- /dev/null +++ b/packages/ai/src/providers/devin/proto/exa/file_system_provider_pb/file_system_provider.proto @@ -0,0 +1,75 @@ +syntax = "proto3"; + +package exa.file_system_provider_pb; + +import "buf/validate/validate.proto"; +import "google/protobuf/timestamp.proto"; + +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; +} + +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 { + map 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; +} + +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); +} diff --git a/packages/ai/src/providers/devin/proto/exa/index_pb/index.proto b/packages/ai/src/providers/devin/proto/exa/index_pb/index.proto new file mode 100644 index 000000000..2df9f28b8 --- /dev/null +++ b/packages/ai/src/providers/devin/proto/exa/index_pb/index.proto @@ -0,0 +1,461 @@ +syntax = "proto3"; + +package 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"; + +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; +} + +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; + } + + 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; + map 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 { + oneof version { + string commit = 1; + string branch = 2; + } + string version_alias = 3; +} + +message ManagementMetadata { + reserved 1; + reserved "auth_token"; + + 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 { + map 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; + } +} + +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); +} diff --git a/packages/ai/src/providers/devin/proto/exa/knowledge_base_pb/knowledge_base.proto b/packages/ai/src/providers/devin/proto/exa/knowledge_base_pb/knowledge_base.proto new file mode 100644 index 000000000..c41c677fe --- /dev/null +++ b/packages/ai/src/providers/devin/proto/exa/knowledge_base_pb/knowledge_base.proto @@ -0,0 +1,144 @@ +syntax = "proto3"; + +package 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"; + +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 3; + reserved 4; + reserved 5; + reserved "title", "url", "description"; + + .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; +} + +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); +} diff --git a/packages/ai/src/providers/devin/proto/exa/language_server_pb/language_server.proto b/packages/ai/src/providers/devin/proto/exa/language_server_pb/language_server.proto new file mode 100644 index 000000000..78c0d899f --- /dev/null +++ b/packages/ai/src/providers/devin/proto/exa/language_server_pb/language_server.proto @@ -0,0 +1,2385 @@ +syntax = "proto3"; + +package 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"; + +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; +} + +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 [deprecated = true]; + 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; + optional .exa.codeium_common_pb.DocumentPosition jump_position = 14; + .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; + optional uint64 closest_changed_line = 11 [deprecated = true]; + string request_uid = 17; +} + +message HandleStreamingTabRequest { + reserved 10; + reserved "deep_wiki_context"; + + .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; + optional .exa.codeium_common_pb.DocumentPosition jump_position = 14; + .exa.language_server_pb.TabRequestInfo request_info = 12; + .exa.codeium_common_pb.StopReason stop_reason = 13; + string raw_text = 16; + optional uint64 closest_changed_line = 11 [deprecated = true]; + string request_uid = 17; + optional string old_str = 18; +} + +message HandleStreamingTabV2Request { + reserved 10; + reserved "deep_wiki_context"; + + .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 4; + reserved 11; + reserved "api_server_params", "super_complete"; + + .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 [deprecated = true]; +} + +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 [deprecated = true]; +} + +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 [deprecated = true]; +} + +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 { + reserved 2; + reserved "filter"; + + .exa.codeium_common_pb.Metadata metadata = 1; +} + +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 [deprecated = true]; + repeated string command_model_labels = 3 [deprecated = true]; + .google.protobuf.Timestamp created_at = 4; + .google.protobuf.Timestamp updated_at = 5; + repeated string extension_model_labels = 6; + repeated .exa.codeium_common_pb.APIProvider allowed_api_providers = 8; +} + +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 2; + reserved "chat_web_server_port"; + + 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 { + map 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 [deprecated = true]; + repeated string open_document_uris = 6; + repeated .exa.codeium_common_pb.Document other_documents = 5; + repeated string workspace_paths_migrate_me_to_uri = 3 [deprecated = true]; + repeated string workspace_uris = 7; + bool blocking = 4; + .exa.codeium_common_pb.ExperimentConfig experiment_config = 9 [deprecated = true]; + .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; + repeated .exa.codeium_common_pb.ChatToolCall delta_tool_calls = 2; +} + +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 2; + reserved "model"; + + .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 2; + reserved "model"; + + .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 [deprecated = true]; +} + +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 2; + reserved 3; + reserved "prompt", "line_type"; + + 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 4; + reserved 6; + reserved 7; + reserved "latency_ms", "network_latency_ms", "client_latency_ms"; + + .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 [deprecated = true]; + 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; + string repo_root_uri = 3; +} + +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 [deprecated = true]; + 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 8; + reserved "modelForGeneration"; + + .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 [deprecated = true]; + 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 [deprecated = true]; + 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 { + 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; + map 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 [deprecated = true]; +} + +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; + reserved 3; + reserved "workspace_trusted"; + + .exa.codeium_common_pb.Metadata metadata = 1; +} + +message InitializeCascadePanelStateResponse { +} + +message UpdatePanelStateWithUserStatusRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + .exa.codeium_common_pb.UserStatus user_status = 2; +} + +message UpdatePanelStateWithUserStatusResponse { +} + +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; + optional uint32 start_arena = 6; + optional bool git_worktree = 7; + .exa.codeium_common_pb.ExperimentConfig experiment_config = 2 [deprecated = true]; + 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 GetCascadeTranscriptForTrajectoryIdRequest { + string cascade_id = 1; + uint32 step_offset = 2; +} + +message GetCascadeTranscriptForTrajectoryIdResponse { + string transcript = 1; + uint32 num_total_steps = 2; +} + +message GetAllCascadeTrajectoriesRequest { + optional bool include_user_inputs = 1; +} + +message GetAllCascadeTrajectoriesResponse { + map 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 [deprecated = true]; + 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 [deprecated = true]; + 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 CreateWorktreeRequest { + optional string target_path = 1; +} + +message WorktreeInfo { + .exa.language_server_pb.WorkspaceInfo original = 1; + string worktree_path = 2; +} + +message CreateWorktreeResponse { + repeated .exa.language_server_pb.WorktreeInfo worktrees = 1; +} + +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 ArchiveCascadeTrajectoryRequest { + string cascade_id = 1; + bool is_archived = 2; +} + +message ArchiveCascadeTrajectoryResponse { +} + +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 { + map 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 { + reserved 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 { + reserved 3; + + string server_id = 1; + optional string template_json = 2; +} + +message SaveMcpServerToConfigFileResponse { + reserved 1; + reserved 2; +} + +message UpdateMcpServerInConfigFileRequest { + reserved 2; + + string server_id = 1; +} + +message UpdateMcpServerInConfigFileResponse { + reserved 1; + reserved 2; +} + +message ToggleMcpToolRequest { + string server_id = 1; + string tool_name = 2; +} + +message ToggleMcpToolResponse { + reserved 1; +} + +message GetMcpPromptRequest { + string server_name = 1; + string prompt_name = 2; + map 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; + string workspace_config_dir = 3; +} + +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 { + .exa.codeium_common_pb.Metadata metadata = 1; + map 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 1; + reserved "url"; + + 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 GetKnowledgeBaseItemsForTeamRequest { + .exa.codeium_common_pb.Metadata metadata = 1; +} + +message GetKnowledgeBaseItemsForTeamResponse { + repeated .exa.knowledge_base_pb.KnowledgeBaseItem items = 1; +} + +message GetMcpRegistryServersRequest { + reserved 5; + + .exa.codeium_common_pb.Metadata metadata = 1; + string search_query = 2; + int32 limit = 3; + string cursor = 4; +} + +message GetMcpRegistryServersResponse { + repeated .exa.cascade_plugins_pb.McpRegistryServer servers = 1; + int32 count = 2; + string next_cursor = 3; +} + +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; + optional string title = 8; + optional string response = 6; + bool is_complete = 7; +} + +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 [deprecated = true]; + 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; + optional .exa.codeium_common_pb.Model model = 4; + repeated .exa.language_server_pb.TerminalCommandConversationEntry conversation_history = 5; +} + +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; +} + +message GetAllAcpRegistriesRequest { + .exa.codeium_common_pb.Metadata metadata = 1; + string version = 2; +} + +message GetAllAcpRegistriesResponse { + string registry_json = 1; +} + +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 CreateWorktree (.exa.language_server_pb.CreateWorktreeRequest) returns (.exa.language_server_pb.CreateWorktreeResponse); + 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 ArchiveCascadeTrajectory (.exa.language_server_pb.ArchiveCascadeTrajectoryRequest) returns (.exa.language_server_pb.ArchiveCascadeTrajectoryResponse); + 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 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 GetCascadeTranscriptForTrajectoryId (.exa.language_server_pb.GetCascadeTranscriptForTrajectoryIdRequest) returns (.exa.language_server_pb.GetCascadeTranscriptForTrajectoryIdResponse); + 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 GetMcpRegistryServers (.exa.language_server_pb.GetMcpRegistryServersRequest) returns (.exa.language_server_pb.GetMcpRegistryServersResponse); + rpc GetAllAcpRegistries (.exa.language_server_pb.GetAllAcpRegistriesRequest) returns (.exa.language_server_pb.GetAllAcpRegistriesResponse); + 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); +} diff --git a/packages/ai/src/providers/devin/proto/exa/model_management_pb/model_management.proto b/packages/ai/src/providers/devin/proto/exa/model_management_pb/model_management.proto new file mode 100644 index 000000000..6069b1a6f --- /dev/null +++ b/packages/ai/src/providers/devin/proto/exa/model_management_pb/model_management.proto @@ -0,0 +1,186 @@ +syntax = "proto3"; + +package exa.model_management_pb; + +import "buf/validate/validate.proto"; +import "exa/trainer_pb/config.proto"; + +enum InferenceRole { + INFERENCE_ROLE_UNSPECIFIED = 0; + INFERENCE_ROLE_CHAT = 1; + INFERENCE_ROLE_AUTOCOMPLETE = 2; + INFERENCE_ROLE_EMBEDDING = 3; +} + +message AddModelRequest { + string model_name = 1; + oneof model_path { + string model_gcs_path = 2; + string model_local_path = 4; + } + bool overwrite = 3; + bool async = 5; +} + +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 { + oneof model { + string model_name = 1; + .exa.model_management_pb.InferenceModels models = 14; + } + 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; + optional string deployment_yaml = 23; +} + +message StartInferenceServerResponse { + reserved 1; + reserved "inference_server_service_ip_address"; + + string service_domain = 2; +} + +message StopInferenceServerRequest { + reserved 1; + reserved "inference_server_service_ip_address"; + + string service_domain = 2; +} + +message StopInferenceServerResponse { +} + +message UpdateInferenceServerRequest { + reserved 1; + reserved "inference_server_service_ip_address"; + + oneof inference_server_id { + string service_domain = 14; + string deployment_name = 2; + } + 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; + optional bool blocking = 12; + repeated string custom_flags = 9; +} + +message UpdateInferenceServerResponse { +} + +message ListInferenceServersRequest { +} + +message ListInferenceServersResponse { + repeated .exa.model_management_pb.InferenceServerData inference_servers = 1; +} + +message InferenceServerData { + reserved 1; + reserved "ip_address"; + + 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; + map kubernetes_labels = 11; + bool blocking = 16; + int32 max_generation_sequences = 17; + int32 data_parallelism = 19; +} + +message InferenceModel { + string model_name = 1; + optional string model_path = 4; + bool overwrite = 5; + bool draft = 2; + .exa.model_management_pb.InferenceRole role = 3; + .exa.trainer_pb.InferenceConfig custom_inference_config = 15; +} + +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; +} + +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); +} diff --git a/packages/ai/src/providers/devin/proto/exa/opensearch_clients_pb/opensearch_clients.proto b/packages/ai/src/providers/devin/proto/exa/opensearch_clients_pb/opensearch_clients.proto new file mode 100644 index 000000000..c5bc86680 --- /dev/null +++ b/packages/ai/src/providers/devin/proto/exa/opensearch_clients_pb/opensearch_clients.proto @@ -0,0 +1,503 @@ +syntax = "proto3"; + +package 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"; + +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; +} + +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 [deprecated = true]; +} + +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 [deprecated = true]; + repeated string index_names = 2 [deprecated = true]; +} + +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; +} + +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); +} diff --git a/packages/ai/src/providers/devin/proto/exa/product_analytics_pb/product_analytics.proto b/packages/ai/src/providers/devin/proto/exa/product_analytics_pb/product_analytics.proto new file mode 100644 index 000000000..46d771fb0 --- /dev/null +++ b/packages/ai/src/providers/devin/proto/exa/product_analytics_pb/product_analytics.proto @@ -0,0 +1,37 @@ +syntax = "proto3"; + +package exa.product_analytics_pb; + +import "buf/validate/validate.proto"; + +message RecordAnalyticsEventRequest { + string event_name = 1; + string api_key = 2; + string installation_id = 3; + string ide_name = 4; + string os = 5; + string codeium_version = 6; + string ide_version = 7; + uint64 duration_ms = 8; + map extra = 9; + map experiments = 10; + string plan_tier = 11 [deprecated = true]; + 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 { +} + +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); +} diff --git a/packages/ai/src/providers/devin/proto/exa/prompt_pb/prompt.proto b/packages/ai/src/providers/devin/proto/exa/prompt_pb/prompt.proto new file mode 100644 index 000000000..ffc7e318d --- /dev/null +++ b/packages/ai/src/providers/devin/proto/exa/prompt_pb/prompt.proto @@ -0,0 +1,92 @@ +syntax = "proto3"; + +package 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 6; + reserved 7; + reserved 8; + reserved "knowledge_base_result", "knowledge_base_items", "knowledge_base_groups"; + + .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 [deprecated = true]; + .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 1; + reserved 3; + reserved 4; + reserved 5; + reserved "active_document_context_multiplier", "context_item_context_multiplier", "cache_context_multiplier", "max_ccis_considered"; + + 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; + map allowed_implicit_step_types = 22; +} diff --git a/packages/ai/src/providers/devin/proto/exa/reactive_component_pb/reactive_component.proto b/packages/ai/src/providers/devin/proto/exa/reactive_component_pb/reactive_component.proto new file mode 100644 index 000000000..ffdb2e68b --- /dev/null +++ b/packages/ai/src/providers/devin/proto/exa/reactive_component_pb/reactive_component.proto @@ -0,0 +1,96 @@ +syntax = "proto3"; + +package exa.reactive_component_pb; + +enum TestEnum { + TEST_ENUM_UNSPECIFIED = 0; + TEST_ENUM_ONE = 1; + TEST_ENUM_TWO = 2; +} + +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 { + double singular_scalar_value = 1; + .exa.reactive_component_pb.TestProto singular_message_value = 2; + optional double optional_scalar_value = 10; + repeated double repeated_scalar_value = 3; + repeated .exa.reactive_component_pb.TestProto repeated_message_value = 4; + map map_scalar_value = 5; + map map_message_value = 6; + oneof oneof_test { + double oneof_scalar_value = 7; + .exa.reactive_component_pb.TestProto oneof_message_value = 8; + } + .exa.reactive_component_pb.TestEnum enum_value = 9; +} diff --git a/packages/ai/src/providers/devin/proto/exa/seat_management_pb/seat_management.proto b/packages/ai/src/providers/devin/proto/exa/seat_management_pb/seat_management.proto new file mode 100644 index 000000000..d86e6454a --- /dev/null +++ b/packages/ai/src/providers/devin/proto/exa/seat_management_pb/seat_management.proto @@ -0,0 +1,2680 @@ +syntax = "proto3"; + +package exa.seat_management_pb; + +import "buf/validate/validate.proto"; +import "exa/codeium_common_pb/codeium_common.proto"; +import "google/protobuf/timestamp.proto"; + +enum PaymentPeriod { + PAYMENT_PERIOD_UNSPECIFIED = 0; + PAYMENT_PERIOD_MONTH = 1; + PAYMENT_PERIOD_YEAR = 2; +} + +enum RecentTopUpStatus { + RECENT_TOP_UP_STATUS_UNSPECIFIED = 0; + RECENT_TOP_UP_STATUS_PENDING = 1; + RECENT_TOP_UP_STATUS_COMPLETED = 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; + FLEX_CREDIT_CHRONICLE_TYPE_FREE_CREDITS = 7; +} + +enum PurchaseReasonType { + PURCHASE_REASON_TYPE_UNSPECIFIED = 0; + PURCHASE_REASON_TYPE_MANUAL = 1; + PURCHASE_REASON_TYPE_TOP_UP = 2; +} + +message User { + reserved 31; + + 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; + .exa.codeium_common_pb.CliAccessOverride cli_access_override = 32; + 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 [deprecated = true]; + int64 used_flow_credits = 29 [deprecated = true]; + string referral_code = 30; + string devin_user_id = 33; + string devin_account_id = 34; +} + +message Team { + reserved 30; + reserved 35; + reserved "allowed_ip_ranges"; + + 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; + .google.protobuf.Timestamp grace_period_end = 32; + .exa.codeium_common_pb.GracePeriodStatus grace_period_status = 33; + optional int32 max_session_duration_seconds = 34; + string devin_account_id = 36; + optional int32 api_key_expiration_days = 37; +} + +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 ReadOnlyPreapprovedUser { + reserved 1; + reserved "id"; + + 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 { + reserved 1; + reserved "auth_token"; + + bool generate_profile_picture_url = 2; + bool create_if_not_exist = 3; + bool include_subscription = 4; + string sso_token = 5 [deprecated = true]; + string saml_provider_id = 6 [deprecated = true]; +} + +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 3; + reserved "license"; + + .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; + map team_features = 11; + repeated string group_ids = 12; + string redirect_url = 13 [deprecated = true]; + repeated .exa.seat_management_pb.SSOTeamOption team_options = 14; + bool show_disable_cli_setting = 15; + bool show_self_serve_purchase_for_enterprise = 16; + bool is_effective_super_admin = 17; +} + +message GetUsersRequest { + reserved 1; + reserved "auth_token"; + + 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 { + reserved 1; + reserved "auth_token"; + + string api_key = 2; +} + +message GetRolesForUserResponse { + repeated string roles = 1; +} + +message GetPrimaryApiKeyForDevsOnlyRequest { + string session_token = 1; +} + +message GetPrimaryApiKeyForDevsOnlyResponse { + string api_key = 1; +} + +message AddUserRoleRequest { + reserved 1; + reserved "auth_token"; + + string api_key_to_add = 2; + string role = 3; + string group_id = 4; + string service_key = 5; +} + +message AddUserRoleResponse { +} + +message RemoveUserRoleRequest { + reserved 1; + reserved "auth_token"; + + 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 [deprecated = true]; + 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 { + reserved 1; + reserved "auth_token"; + + string full_name = 2; +} + +message UpdateNameResponse { +} + +message GetProfilePicturePresignedUploadUrlRequest { + reserved 1; + reserved "auth_token"; +} + +message GetProfilePicturePresignedUploadUrlResponse { + string url = 1; +} + +message ProfilePictureUploadCompleteRequest { + reserved 1; + reserved "auth_token"; +} + +message ProfilePictureUploadCompleteResponse { +} + +message GetProfileDataRequest { + string api_key = 1; +} + +message GetProfileDataResponse { + string profile_picture_url = 1; +} + +message DeleteProfilePictureRequest { + reserved 1; + reserved "auth_token"; +} + +message DeleteProfilePictureResponse { +} + +message UpdateInboundSourceRequest { + reserved 1; + reserved "auth_token"; + + string inbound_source = 2; +} + +message UpdateInboundSourceResponse { +} + +message DeleteUserRequest { + reserved 1; + reserved "auth_token"; + + string api_key_to_delete = 3; +} + +message DeleteUserResponse { +} + +message GetLicenseRequest { + reserved 1; + reserved "auth_token"; +} + +message GetLicenseResponse { + .exa.seat_management_pb.EnterpriseLicenseConfig license = 1; +} + +message RequestTeamAccessRequest { + reserved 1; + reserved "api_key"; + + string invite_id = 2; +} + +message RequestTeamAccessResponse { +} + +message UpdateUserTeamStatusRequest { + reserved 1; + reserved "auth_token"; + + message UserTeamStatusUpdateItem { + string api_key = 1; + .exa.codeium_common_pb.UserTeamStatus status = 2; + } + + 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 { + reserved 1; + reserved "auth_token"; + + string api_key_to_remove = 2; +} + +message RemoveUserFromTeamResponse { +} + +message RefreshTeamInviteIdRequest { + reserved 1; + reserved "auth_token"; +} + +message RefreshTeamInviteIdResponse { + .exa.seat_management_pb.Team team = 1; +} + +message GrantPreapprovalRequest { + reserved 1; + reserved "auth_token"; + + message PreapprovalUserItem { + string name = 1; + string email = 2; + } + + repeated .exa.seat_management_pb.GrantPreapprovalRequest.PreapprovalUserItem preapprovals = 2; +} + +message GrantPreapprovalResponse { + repeated .exa.seat_management_pb.ReadOnlyPreapprovedUser preapprovals = 1; +} + +message GetPreapprovalsRequest { + reserved 1; + reserved "auth_token"; +} + +message GetPreapprovalsResponse { + repeated .exa.seat_management_pb.ReadOnlyPreapprovedUser preapprovals = 1; +} + +message GetPreapprovalMetadataRequest { + string approval_id = 1; +} + +message GetPreapprovalMetadataResponse { + string name = 1; + string email = 2; + string team_name = 3; +} + +message AcceptPreapprovalRequest { + reserved 1; + reserved "auth_token"; + + string approval_id = 2; +} + +message AcceptPreapprovalResponse { +} + +message RejectPreapprovalRequest { + reserved 1; + reserved "auth_token"; + + string approval_id = 2; +} + +message RejectPreapprovalResponse { +} + +message GetPreapprovalForUserRequest { + reserved 1; + reserved "auth_token"; +} + +message GetPreapprovalForUserResponse { + .exa.seat_management_pb.PreapprovedUser preapproval = 1; + string admin_name = 2; + string team_name = 3; + bool can_accept_directly = 4; +} + +message RevokePreapprovalRequest { + reserved 1; + reserved 2; + reserved "auth_token", "approval_id"; + + string email = 3; +} + +message RevokePreapprovalResponse { +} + +message SubscribeToPlanRequest { + reserved 1; + reserved "auth_token"; + + string stripe_price_id = 2 [deprecated = true]; + 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 { + reserved 1; + reserved "auth_token"; + + string success_url = 4; + string cancel_url = 5; + optional int32 overage_amount = 6; +} + +message PurchaseCascadeCreditsResponse { + string checkout_url = 1; + int64 add_on_credits_available = 2; + int64 add_on_credits_used = 3; + .exa.seat_management_pb.RecentTopUpStatus recent_top_up_status = 4; +} + +message UpdateCreditTopUpSettingsRequest { + reserved 1; + reserved "auth_token"; + + bool enabled = 2; + int32 monthly_top_up_amount = 3; + int32 top_up_increment = 4; +} + +message UpdateCreditTopUpSettingsResponse { +} + +message GetTeamBillingRequest { + reserved 1; + reserved "auth_token"; +} + +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 [deprecated = true]; + .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 { + reserved 1; + reserved "auth_token"; + + int64 num_seats = 2; + bool preview = 3; +} + +message UpdateSeatsResponse { + .exa.seat_management_pb.BillingUpdate billing_update = 1; +} + +message UpdatePlanRequest { + reserved 1; + reserved 2; + reserved "auth_token"; + + 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 { + reserved 1; + reserved "auth_token"; + + bool cancel_plan = 2; + bool resume_plan = 3; + string cancel_comment = 4; + string cancel_reason = 5; +} + +message CancelPlanResponse { +} + +message UpdateBillingRequest { + reserved 1; + reserved "auth_token"; + + string success_url = 2 [deprecated = true]; + string cancel_url = 3 [deprecated = true]; +} + +message UpdateBillingResponse { + string checkout_url = 1 [deprecated = true]; +} + +message GetCustomerPortalRequest { + reserved 1; + reserved "auth_token"; + + string return_url = 2; +} + +message GetCustomerPortalResponse { + string portal_url = 1; +} + +message AddTeamAddOnFeatureRequest { + reserved 1; + reserved "auth_token"; + + .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 { + reserved 1; + reserved "auth_token"; +} + +message ShowSSOAddOnResponse { + bool show_sso_add_on = 1; +} + +message GetUserSubscriptionRequest { + reserved 1; + reserved "auth_token"; +} + +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 UpdateOccupationRequest { + reserved 1; + reserved "auth_token"; + + string occupation_company = 2; + string occupation_role = 3; + uint32 years_of_experience_min = 4; + uint32 years_of_experience_max = 5; +} + +message UpdateOccupationResponse { +} + +message UpdateProfileRequest { + reserved 1; + reserved "auth_token"; + + string new_name = 2; + string new_email = 3; + string new_bio = 4; + string otp_code = 5; +} + +message UpdateProfileResponse { +} + +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 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 { + reserved 1; + reserved "auth_token"; +} + +message GetSSOProviderResponse { + .exa.seat_management_pb.SAMLAuthProvider saml_auth_provider = 1; +} + +message SaveSSOProviderRequest { + reserved 1; + reserved "auth_token"; + + .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 { + reserved 1; + reserved "auth_token"; + + 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 CheckUserLoginMethodRequest { + string email = 1; + string approval_id = 2; +} + +message CheckUserLoginMethodResponse { + string redirect_url = 1; + bool disallow_enterprise_user_login = 2; + bool user_exists = 3; + bool is_migrated = 4; + bool has_password = 5; + bool has_legacy_invite = 6; + bool redirect_to_enterprise_register = 7; +} + +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 { + reserved 1; + reserved "auth_token"; +} + +message DeleteTeamResponse { +} + +message GetTeamsFeaturesRequest { + reserved 1; + reserved "auth_token"; +} + +message GetTeamsFeaturesResponse { + repeated .exa.codeium_common_pb.TeamsFeatures features = 1; +} + +message GrantSuperAdminAccessRequest { + reserved 1; + reserved "auth_token"; + + string user_email = 2; + string team_id = 3; +} + +message GrantSuperAdminAccessResponse { + .exa.seat_management_pb.User user = 1; +} + +message GrantTeamAdminAccessRequest { + reserved 1; + reserved "auth_token"; + + string user_email = 2; + string team_id = 3; +} + +message GrantTeamAdminAccessResponse { + .exa.seat_management_pb.User user = 1; + bool pre_provisioned = 2; +} + +message AddFlexCreditsToMultiTenantTeamRequest { + reserved 1; + reserved "auth_token"; + + 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 BulkEditUserApprovalsRequest { + reserved 1; + reserved "auth_token"; + + 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 GetCliTeamSettingsRequest { + .exa.codeium_common_pb.Metadata metadata = 1; +} + +message GetCliTeamSettingsResponse { + reserved 2; + reserved 5; + reserved 13; + reserved 16; + reserved 17; + reserved 18; + reserved "allowed_mcp_servers_json"; + + bool allow_mcp_servers = 1; + 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; + bool allow_bundling_devin_cli = 12; + repeated string mcp_registry_urls = 14; + string acp_registry_config = 15; + .exa.codeium_common_pb.SandboxEnforcementMode sandbox_enforcement_mode = 19; + repeated string sandbox_allowed_domains = 20; + repeated string sandbox_denied_domains = 21; + bool devin_terminal_acp_enabled = 22; + bool devin_cloud_acp_enabled = 23; + optional bool enforce_mcp_registry = 24; + string cascade_hooks_json = 25; + string default_model_uid = 26; + .exa.codeium_common_pb.CascadeCommandsAutoExecution max_cascade_auto_execution_level = 27; + bool attribution_enabled = 28; + bool disable_plugins = 29; +} + +message GetGroupsRequest { + reserved 1; + reserved "auth_token"; + + .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 { + reserved 1; + reserved "auth_token"; + + string name = 2; + string role = 3; + string group_id = 4; + .google.protobuf.Timestamp expiration_date = 5; +} + +message CreateTeamApiSecretResponse { + string secret = 1; +} + +message UpdateTeamApiSecretRequest { + reserved 1; + reserved "auth_token"; + + string service_key_id = 2; + string name = 3; + string role = 4; + string group_id = 5; +} + +message UpdateTeamApiSecretResponse { +} + +message GetAllTeamApiSecretsRequest { + reserved 1; + reserved "auth_token"; +} + +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 { + reserved 1; + reserved "auth_token"; + + 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 { + reserved 1; + reserved "auth_token"; + + 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 GetGitHubAccountStatusRequest { + reserved 1; + reserved "auth_token"; +} + +message GetGitHubAccountStatusResponse { + bool connected = 1; + string username = 2; + .google.protobuf.Timestamp expires_at = 3; +} + +message GetGitHubAccessTokenRequest { + reserved 1; + reserved "auth_token"; +} + +message GetGitHubAccessTokenResponse { + string access_token = 1; + .google.protobuf.Timestamp expires_at = 2; +} + +message ConnectNetlifyAccountRequest { + reserved 1; + reserved "auth_token"; + + string netlify_access_token = 2; + .google.protobuf.Timestamp expires_at = 3; + string netlify_user_id = 4; +} + +message ConnectNetlifyAccountResponse { +} + +message DisconnectNetlifyAccountRequest { + reserved 1; + reserved "auth_token"; +} + +message DisconnectNetlifyAccountResponse { +} + +message GetNetlifyAccountStatusRequest { + reserved 1; + reserved "auth_token"; +} + +message GetNetlifyAccountStatusResponse { + bool connected = 1; + string netlify_user_id = 2; + .google.protobuf.Timestamp expires_at = 3; +} + +message UpdateCodeiumAccessRequest { + reserved 1; + reserved "auth_token"; + + string api_key_to_update = 2; + bool disable_codeium_access = 3; +} + +message UpdateCodeiumAccessResponse { +} + +message UpdateCliAccessRequest { + reserved 1; + reserved "auth_token"; + + string api_key_to_update = 2; + bool disable_cli_access = 3; +} + +message UpdateCliAccessResponse { +} + +message CreateRoleRequest { + reserved 1; + reserved "auth_token"; + + string name = 2; + repeated .exa.codeium_common_pb.Permission permissions = 3; +} + +message CreateRoleResponse { +} + +message DeleteRoleRequest { + reserved 1; + reserved "auth_token"; + + string role_id = 2; + optional string reassign_to_role_id = 3; +} + +message DeleteRoleResponse { +} + +message UpdateRoleRequest { + reserved 1; + reserved "auth_token"; + + string role_id = 2; + repeated .exa.codeium_common_pb.Permission permissions = 3; +} + +message UpdateRoleResponse { +} + +message GetRolesRequest { + reserved 1; + reserved "auth_token"; +} + +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 { + reserved 1; + reserved "auth_token"; + + .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 { + reserved 1; + reserved "auth_token"; + + bool include_top_up_status = 2; +} + +message GetPlanStatusResponse { + .exa.codeium_common_pb.PlanStatus plan_status = 1; + int64 team_used_prompt_credits = 2; +} + +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 { + reserved 1; + reserved "auth_token"; +} + +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; + } + int64 amount_micros = 10; +} + +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 { + reserved 1; + reserved "auth_token"; +} + +message GetTeamCreditEntriesResponse { + repeated .exa.seat_management_pb.FlexCreditChronicleEntry entries = 1; +} + +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 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 { + reserved 1; + reserved 37; + reserved 38; + reserved 40; + reserved 41; + reserved 42; + reserved "auth_token"; + + 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; + repeated string allowed_ip_ranges = 24 [deprecated = true]; + .exa.codeium_common_pb.CascadeCommandsAutoExecution max_cascade_auto_execution_level = 25; + 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; + optional string cascade_hooks_json = 34; + optional bool cascade_web_search_enabled = 35; + optional bool allow_bundling_devin_cli = 36; + optional .exa.seat_management_pb.McpRegistryUrlsList mcp_registry_urls_list = 49; + optional string acp_registry_config = 39; + optional .exa.codeium_common_pb.SandboxEnforcementMode sandbox_enforcement_mode = 43; + optional .exa.seat_management_pb.SandboxDomainAllowlist sandbox_domain_allowlist = 44; + optional .exa.seat_management_pb.SandboxDomainDenylist sandbox_domain_denylist = 45; + optional bool devin_terminal_acp_enabled = 46; + optional bool devin_cloud_acp_enabled = 47; + optional bool enforce_mcp_registry = 48; + optional bool user_configured_banner_enabled = 50; + optional string user_configured_banner_label = 51; + optional string user_configured_banner_color = 52; + optional bool disable_cascade = 53; + optional string extension_policy = 54; + optional int32 api_key_expiration_days = 55; + optional bool disable_plugins = 56; +} + +message UpdateTeamConfigExternalResponse { +} + +message TerminalAllowList { + repeated string allowed = 1; +} + +message TerminalDenyList { + repeated string deny = 1; +} + +message SandboxDomainAllowlist { + repeated string domains = 1; +} + +message SandboxDomainDenylist { + repeated string domains = 1; +} + +message CliPermissionsList { + repeated string rules = 1; +} + +message IpAllowlist { + repeated string ranges = 1; +} + +message McpRegistryUrlsList { + repeated string urls = 1; +} + +message GetTeamConfigRecordRequest { + reserved 1; + reserved "auth_token"; +} + +message GetTeamConfigRecordResponse { + .exa.codeium_common_pb.TeamConfig team_config = 1; + optional int32 api_key_expiration_days = 2; +} + +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 GetTeamCreditBalanceRequest { + string service_key = 1; +} + +message GetTeamCreditBalanceResponse { + int64 prompt_credits_per_seat = 1; + int64 num_seats = 2; + int64 add_on_credits_available = 3; + int64 add_on_credits_used = 4; + .google.protobuf.Timestamp billing_cycle_start = 5; + .google.protobuf.Timestamp billing_cycle_end = 6; +} + +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 [deprecated = true]; + repeated string users_on_team = 3 [deprecated = true]; + 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 { + reserved 1; + reserved "auth_token"; + + string referral_code = 2; +} + +message ProcessReferralCodeResponse { +} + +message CreateMultiTenantTeamRequest { + reserved 1; + reserved "auth_token"; + + string name = 2; + string org_id = 3; +} + +message CreateMultiTenantTeamResponse { + .exa.seat_management_pb.Team team = 1; +} + +message GetMultiTenantTeamsRequest { + reserved 1; + reserved "auth_token"; +} + +message GetMultiTenantTeamsResponse { + repeated .exa.seat_management_pb.Team teams = 1; +} + +message GetTeamOrgIdRequest { + reserved 1; + reserved "auth_token"; + + string team_id = 2; +} + +message GetTeamOrgIdResponse { + string org_id = 1; +} + +message DeleteMultiTenantTeamRequest { + reserved 1; + reserved "auth_token"; + + string team_name = 2; + bool soft_delete = 3; +} + +message DeleteMultiTenantTeamResponse { +} + +message SetTeamLicenseRequest { + reserved 1; + reserved "auth_token"; + + 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; + int64 user_used_flex_credits_for_prompts = 12; +} + +message UpdatePlanDetailsInternalResponse { +} + +message RemoveUsersFromTeamInternalRequest { + string secret = 1; + repeated string emails = 2; + bool override_subscription_active_check = 3; +} + +message RemoveUsersFromTeamInternalResponse { +} + +message DevinUserIdentifier { + string user_id = 1; + string account_id = 2; + string email = 3; +} + +message BulkDeleteUsersInternalRequest { + string secret = 1; + repeated string emails = 2; + bool delete_from_bigquery = 3 [deprecated = true]; + repeated .exa.seat_management_pb.DevinUserIdentifier devin_users = 4; +} + +message BulkDeleteUsersInternalResponse { +} + +message BulkDeleteUsersInternalFromBigQueryRequest { + string secret = 1; + repeated string emails = 2; +} + +message BulkDeleteUsersInternalFromBigQueryResponse { +} + +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 { + string email = 1; + map 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 { + reserved 1; + reserved "auth_token"; +} + +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 { + reserved 1; + reserved "auth_token"; +} + +message GetOneTimeAuthTokenResponse { + string auth_token = 1; +} + +message CreatePKCEAuthorizationCodeRequest { + reserved 1; + reserved "auth_token"; + + 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; + string devin_webapp_host = 4; + string devin_api_url = 5; +} + +message GetSetUserApiProviderKeysRequest { + reserved 1; + reserved "auth_token"; +} + +message GetSetUserApiProviderKeysResponse { + repeated .exa.codeium_common_pb.APIProvider providers = 1; +} + +message SetUserApiProviderKeyRequest { + reserved 1; + reserved "auth_token"; + + .exa.codeium_common_pb.APIProvider provider = 2; + string provider_api_key = 3; +} + +message SetUserApiProviderKeyResponse { +} + +message DeleteUserApiProviderKeyRequest { + reserved 1; + reserved "auth_token"; + + .exa.codeium_common_pb.APIProvider provider = 2; +} + +message DeleteUserApiProviderKeyResponse { +} + +message DeleteApiKeyRequest { + reserved 1; + reserved "auth_token"; + + oneof auth { + 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 { + reserved 1; + reserved "auth_token"; +} + +message ApiKeyForDisplay { + string key_id = 1; + string key_for_display = 2; + .google.protobuf.Timestamp created_at = 3; + .google.protobuf.Timestamp last_used_at = 4; + .google.protobuf.Timestamp expires_at = 5; +} + +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 { + reserved 1; + reserved "auth_token"; + + string domain = 2; +} + +message AddTeamDomainResponse { + string verification_token = 1; +} + +message ListTeamDomainsRequest { + reserved 1; + reserved "auth_token"; +} + +message ListTeamDomainsResponse { + repeated .exa.seat_management_pb.TeamDomain team_domains = 1; +} + +message VerifyTeamDomainRequest { + reserved 1; + reserved "auth_token"; + + string domain = 2; +} + +message VerifyTeamDomainResponse { +} + +message DeleteTeamDomainRequest { + reserved 1; + reserved "auth_token"; + + 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 { + reserved 1; + reserved "auth_token"; +} + +message CheckProTrialEligibilityResponse { + bool is_eligible = 1; +} + +message ExchangeDevinCodeRequest { + string code = 1; +} + +message ExchangeDevinCodeResponse { + string session_token = 1; + optional string auth1_token = 2; + optional string account_id = 3; + optional string primary_org_id = 4; +} + +message GetSelfDevinSessionTokenRequest { + .exa.codeium_common_pb.Metadata metadata = 1; +} + +message GetSelfDevinSessionTokenResponse { + string session_token = 1; +} + +message GetEligibleDevinOrganizationsRequest { +} + +message GetEligibleDevinOrganizationsResponse { + message DevinOrganization { + string org_id = 1; + string display_name = 2; + string account_id = 3; + bool is_admin = 4; + bool can_use_cli = 5; + bool can_use_cascade = 6; + } + + repeated .exa.seat_management_pb.GetEligibleDevinOrganizationsResponse.DevinOrganization organizations = 1; +} + +message WindsurfPostAuthRequest { + reserved 1; + reserved "auth1_token"; + + string org_id = 2; +} + +message WindsurfPostAuthResponse { + message WindsurfPostAuthOrg { + string id = 1; + string name = 2; + bool is_admin = 3; + bool can_use_cli = 4; + bool can_use_cascade = 5; + string plan_slug = 6; + string subscription_status = 7; + string webapp_host = 8; + bool sso_login_required = 9; + } + + string session_token = 1; + repeated .exa.seat_management_pb.WindsurfPostAuthResponse.WindsurfPostAuthOrg orgs = 2; + optional string auth1_token = 3; + optional string account_id = 4; + optional string primary_org_id = 5; +} + +message GetStripeSubscriptionStateRequest { + reserved 1; + reserved "auth_token"; +} + +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; + .google.protobuf.Timestamp grace_period_end = 10; + .exa.codeium_common_pb.GracePeriodStatus grace_period_status = 11; + .exa.codeium_common_pb.TeamsTier next_teams_tier = 12; +} + +message GetQuotaUsageInternalRequest { + string secret = 1; + string user_id = 2; +} + +message GetQuotaUsageInternalResponse { + int64 daily_usage_micros = 1; + int64 weekly_usage_micros = 2; + int64 daily_limit_micros = 3; + int64 weekly_limit_micros = 4; + .exa.codeium_common_pb.BillingStrategy billing_strategy = 5; + int64 daily_reset_at_unix = 6; + int64 weekly_reset_at_unix = 7; +} + +message ResetQuotaUsageInternalRequest { + string secret = 1; + string user_id = 2; + bool reset_daily = 3; + bool reset_weekly = 4; +} + +message ResetQuotaUsageInternalResponse { + int64 previous_daily_usage_micros = 1; + int64 previous_weekly_usage_micros = 2; +} + +message GetOverageBalanceInternalRequest { + string secret = 1; + string team_id = 2; +} + +message GetOverageBalanceInternalResponse { + int64 balance_micros = 1; + bool exists_in_valkey = 2; + int64 postgres_balance_micros = 3; +} + +message AdjustOverageBalanceInternalRequest { + string secret = 1; + string team_id = 2; + int64 amount_micros = 3; + string reason = 4; +} + +message AdjustOverageBalanceInternalResponse { + int64 previous_balance_micros = 1; + int64 new_balance_micros = 2; +} + +message UpdateCodeSnippetTelemetryRequest { + reserved 1; + reserved "auth_token"; + + bool disabled_telemetry = 2; +} + +message UpdateCodeSnippetTelemetryResponse { +} + +message InvalidateDevinCachesRequest { + string account_id = 1; + repeated string user_ids = 2; + repeated string session_tokens = 3; +} + +message InvalidateDevinCachesResponse { + int64 deleted_keys = 1; +} + +message GetSelfHostedAcuConfigRequest { + reserved 1; + reserved "auth_token"; + + string team_id = 2; +} + +message GetSelfHostedAcuConfigResponse { + bool acu_billing_enabled = 1; + string billing_strategy = 2; + string billing_model = 3; + double cycle_acu_limit = 4; + double cascade_acu_multiplier = 5; + double cli_acu_multiplier = 6; + double prompt_credits_per_acu = 7; +} + +message SetSelfHostedAcuConfigRequest { + reserved 1; + reserved "auth_token"; + + string team_id = 2; + string billing_model = 3; + double cycle_acu_limit = 4; + double cascade_acu_multiplier = 5; + double cli_acu_multiplier = 6; + double prompt_credits_per_acu = 7; +} + +message SetSelfHostedAcuConfigResponse { +} + +message DisableSelfHostedAcuBillingRequest { + reserved 1; + reserved "auth_token"; + + string team_id = 2; +} + +message DisableSelfHostedAcuBillingResponse { +} + +message BatchGetSelfHostedAcuConfigRequest { + reserved 1; + reserved "auth_token"; + + repeated string team_ids = 2; +} + +message BatchGetSelfHostedAcuConfigResponse { + map configs = 1; +} + +message GetSelfHostedAcuTeamCycleUsageRequest { + reserved 1; + reserved "auth_token"; + + string team_id = 2; +} + +message GetSelfHostedAcuTeamCycleUsageResponse { + double total_acus = 1; + .google.protobuf.Timestamp cycle_start = 2; + .google.protobuf.Timestamp cycle_end = 3; +} + +message GetSelfHostedAcuUserOverrideRequest { + reserved 1; + reserved "auth_token"; + + string team_id = 2; + string auth_uid = 3; +} + +message GetSelfHostedAcuUserOverrideResponse { + bool has_override = 1; + double cycle_acu_limit = 2; + double current_cycle_usage = 3; + double team_cycle_acu_limit = 4; +} + +message SetSelfHostedAcuUserOverrideRequest { + reserved 1; + reserved "auth_token"; + + string team_id = 2; + string auth_uid = 3; + double cycle_acu_limit = 4; +} + +message SetSelfHostedAcuUserOverrideResponse { +} + +message DeleteSelfHostedAcuUserOverrideRequest { + reserved 1; + reserved "auth_token"; + + string team_id = 2; + string auth_uid = 3; +} + +message DeleteSelfHostedAcuUserOverrideResponse { +} + +message BatchGetSelfHostedAcuUserOverridesRequest { + reserved 1; + reserved "auth_token"; + + string team_id = 2; +} + +message BatchGetSelfHostedAcuUserOverridesResponse { + message Entry { + string auth_uid = 1; + double cycle_acu_limit = 2; + double current_cycle_usage = 3; + } + + repeated .exa.seat_management_pb.BatchGetSelfHostedAcuUserOverridesResponse.Entry entries = 1; +} + +message GetCurrentUserNameRequest { +} + +message GetCurrentUserNameResponse { + string name = 1; + string user_id = 2; +} + +message PreviewApiKeyExpirationImpactRequest { + int32 api_key_expiration_days = 1; +} + +message PreviewApiKeyExpirationImpactResponse { + int32 total_keys = 1; + int32 keys_already_expired = 2; + int32 users_affected = 3; +} + +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 UpdateCliAccess (.exa.seat_management_pb.UpdateCliAccessRequest) returns (.exa.seat_management_pb.UpdateCliAccessResponse); + 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 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 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 CheckUserLoginMethod (.exa.seat_management_pb.CheckUserLoginMethodRequest) returns (.exa.seat_management_pb.CheckUserLoginMethodResponse); + 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 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 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 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 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 GetTeamCreditBalance (.exa.seat_management_pb.GetTeamCreditBalanceRequest) returns (.exa.seat_management_pb.GetTeamCreditBalanceResponse); + rpc GetCliTeamSettings (.exa.seat_management_pb.GetCliTeamSettingsRequest) returns (.exa.seat_management_pb.GetCliTeamSettingsResponse); + 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 GetSelfHostedAcuConfig (.exa.seat_management_pb.GetSelfHostedAcuConfigRequest) returns (.exa.seat_management_pb.GetSelfHostedAcuConfigResponse); + rpc SetSelfHostedAcuConfig (.exa.seat_management_pb.SetSelfHostedAcuConfigRequest) returns (.exa.seat_management_pb.SetSelfHostedAcuConfigResponse); + rpc DisableSelfHostedAcuBilling (.exa.seat_management_pb.DisableSelfHostedAcuBillingRequest) returns (.exa.seat_management_pb.DisableSelfHostedAcuBillingResponse); + rpc BatchGetSelfHostedAcuConfig (.exa.seat_management_pb.BatchGetSelfHostedAcuConfigRequest) returns (.exa.seat_management_pb.BatchGetSelfHostedAcuConfigResponse); + rpc GetSelfHostedAcuTeamCycleUsage (.exa.seat_management_pb.GetSelfHostedAcuTeamCycleUsageRequest) returns (.exa.seat_management_pb.GetSelfHostedAcuTeamCycleUsageResponse); + rpc GetSelfHostedAcuUserOverride (.exa.seat_management_pb.GetSelfHostedAcuUserOverrideRequest) returns (.exa.seat_management_pb.GetSelfHostedAcuUserOverrideResponse); + rpc SetSelfHostedAcuUserOverride (.exa.seat_management_pb.SetSelfHostedAcuUserOverrideRequest) returns (.exa.seat_management_pb.SetSelfHostedAcuUserOverrideResponse); + rpc DeleteSelfHostedAcuUserOverride (.exa.seat_management_pb.DeleteSelfHostedAcuUserOverrideRequest) returns (.exa.seat_management_pb.DeleteSelfHostedAcuUserOverrideResponse); + rpc BatchGetSelfHostedAcuUserOverrides (.exa.seat_management_pb.BatchGetSelfHostedAcuUserOverridesRequest) returns (.exa.seat_management_pb.BatchGetSelfHostedAcuUserOverridesResponse); + 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 BulkDeleteUsersInternalFromBigQuery (.exa.seat_management_pb.BulkDeleteUsersInternalFromBigQueryRequest) returns (.exa.seat_management_pb.BulkDeleteUsersInternalFromBigQueryResponse); + 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 WindsurfPostAuth (.exa.seat_management_pb.WindsurfPostAuthRequest) returns (.exa.seat_management_pb.WindsurfPostAuthResponse); + rpc GetSelfDevinSessionToken (.exa.seat_management_pb.GetSelfDevinSessionTokenRequest) returns (.exa.seat_management_pb.GetSelfDevinSessionTokenResponse); + rpc GetEligibleDevinOrganizations (.exa.seat_management_pb.GetEligibleDevinOrganizationsRequest) returns (.exa.seat_management_pb.GetEligibleDevinOrganizationsResponse); + rpc UpdateCodeSnippetTelemetry (.exa.seat_management_pb.UpdateCodeSnippetTelemetryRequest) returns (.exa.seat_management_pb.UpdateCodeSnippetTelemetryResponse); + rpc GetCurrentUserName (.exa.seat_management_pb.GetCurrentUserNameRequest) returns (.exa.seat_management_pb.GetCurrentUserNameResponse); + rpc GetStripeSubscriptionState (.exa.seat_management_pb.GetStripeSubscriptionStateRequest) returns (.exa.seat_management_pb.GetStripeSubscriptionStateResponse); + rpc GetQuotaUsageInternal (.exa.seat_management_pb.GetQuotaUsageInternalRequest) returns (.exa.seat_management_pb.GetQuotaUsageInternalResponse); + rpc ResetQuotaUsageInternal (.exa.seat_management_pb.ResetQuotaUsageInternalRequest) returns (.exa.seat_management_pb.ResetQuotaUsageInternalResponse); + rpc GetOverageBalanceInternal (.exa.seat_management_pb.GetOverageBalanceInternalRequest) returns (.exa.seat_management_pb.GetOverageBalanceInternalResponse); + rpc AdjustOverageBalanceInternal (.exa.seat_management_pb.AdjustOverageBalanceInternalRequest) returns (.exa.seat_management_pb.AdjustOverageBalanceInternalResponse); + rpc InvalidateDevinCaches (.exa.seat_management_pb.InvalidateDevinCachesRequest) returns (.exa.seat_management_pb.InvalidateDevinCachesResponse); + rpc PreviewApiKeyExpirationImpact (.exa.seat_management_pb.PreviewApiKeyExpirationImpactRequest) returns (.exa.seat_management_pb.PreviewApiKeyExpirationImpactResponse); +} diff --git a/packages/ai/src/providers/devin/proto/exa/tokenizer_pb/tokenizer.proto b/packages/ai/src/providers/devin/proto/exa/tokenizer_pb/tokenizer.proto new file mode 100644 index 000000000..b99c8d1cc --- /dev/null +++ b/packages/ai/src/providers/devin/proto/exa/tokenizer_pb/tokenizer.proto @@ -0,0 +1,37 @@ +syntax = "proto3"; + +package exa.tokenizer_pb; + +enum PreTokenizer { + PRE_TOKENIZER_UNSPECIFIED = 0; + PRE_TOKENIZER_GPT2 = 1; + PRE_TOKENIZER_CL100K = 2; + PRE_TOKENIZER_QWEN2 = 3; +} + +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; +} diff --git a/packages/ai/src/providers/devin/proto/exa/trainer_pb/config.proto b/packages/ai/src/providers/devin/proto/exa/trainer_pb/config.proto new file mode 100644 index 000000000..71be3fa62 --- /dev/null +++ b/packages/ai/src/providers/devin/proto/exa/trainer_pb/config.proto @@ -0,0 +1,647 @@ +syntax = "proto3"; + +package exa.trainer_pb; + +import "exa/codeium_common_pb/codeium_common.proto"; + +enum TrainFramework { + TRAIN_FRAMEWORK_UNSPECIFIED = 0; + TRAIN_FRAMEWORK_TORCH = 1; + TRAIN_FRAMEWORK_MEGATRON = 3; + + reserved 2; + reserved "TRAIN_FRAMEWORK_JAX"; +} + +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; + + reserved 11; + reserved "TRAIN_OBJECTIVE_ON_POLICY_DPO"; +} + +enum OptimizerType { + OPTIMIZER_TYPE_UNSPECIFIED = 0; + OPTIMIZER_TYPE_NONE = 1; + OPTIMIZER_TYPE_ADAMW = 2; + OPTIMIZER_TYPE_LION = 3; + + reserved 4; +} + +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; +} + +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 26; + reserved 34; + reserved 38; + reserved 39; + reserved 40; + reserved 41; + reserved "dpo_config", "use_uneven_pipeline_sharding", "first_pipeline_num_layers", "last_pipeline_num_layers", "knowledge_distillation_config"; + + 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; + optional bool attn_bias = 73; + optional float layer_norm_eps = 74; + optional bool qk_layernorm = 75; + bool lm_head_bias = 14; + oneof positional_embedding { + .exa.trainer_pb.RoPEEmbeddingConfig rope_config = 15; + .exa.trainer_pb.XPosEmbeddingConfig xpos_config = 16; + } + .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; +} + +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 1; + reserved 3; + reserved 5; + reserved 6; + reserved 7; + reserved 9; + reserved 10; + reserved 96; + reserved "rollout_data_service_config"; + + 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; + 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; + } + 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; +} + +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 { + string short_name = 1; + map 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; + oneof parallelism_oneof { + int32 mp_shards = 4; + .exa.trainer_pb.ParallelismConfig parallelism_config = 8; + } + uint32 priority = 5; + bool load_mock_model = 6; + .exa.trainer_pb.TransformerModelConfig mock_model_config = 7; +} + +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; + 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; + 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; +} + +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 { + oneof expert_mlp_mp { + int64 expert_mp = 1; + int64 mlp_mp = 2; + } + int64 num_replica_layers = 3; +} + +message ParallelismConfig { + int64 embedding_parallelism = 1; + repeated .exa.trainer_pb.LayerParallelismConfig layer_parallelism_configs = 2; + int64 attention_mp = 3; + int64 num_attention_units = 4; +} diff --git a/packages/ai/src/providers/devin/proto/exa/tree_sitter/language_data_pb/language_data.proto b/packages/ai/src/providers/devin/proto/exa/tree_sitter/language_data_pb/language_data.proto new file mode 100644 index 000000000..99f4d7280 --- /dev/null +++ b/packages/ai/src/providers/devin/proto/exa/tree_sitter/language_data_pb/language_data.proto @@ -0,0 +1,14 @@ +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/packages/ai/src/providers/devin/proto/exa/trust_pb/trust.proto b/packages/ai/src/providers/devin/proto/exa/trust_pb/trust.proto new file mode 100644 index 000000000..6748e2dd8 --- /dev/null +++ b/packages/ai/src/providers/devin/proto/exa/trust_pb/trust.proto @@ -0,0 +1,157 @@ +syntax = "proto3"; + +package exa.trust_pb; + +import "google/protobuf/timestamp.proto"; + +enum TrustEventSource { + TRUST_EVENT_SOURCE_UNSPECIFIED = 0; + TRUST_EVENT_SOURCE_API_SERVER = 1; + TRUST_EVENT_SOURCE_DEVIN_WEBSERVER = 2; + TRUST_EVENT_SOURCE_INTERNAL_DETECTOR = 3; +} + +enum TrustIdentifierType { + TRUST_IDENTIFIER_TYPE_UNSPECIFIED = 0; + TRUST_IDENTIFIER_TYPE_EMAIL = 1; + TRUST_IDENTIFIER_TYPE_DEVIN_USER_ID = 2; + TRUST_IDENTIFIER_TYPE_DEVIN_ACCOUNT_ID = 3; +} + +enum TrustQueryKeyType { + TRUST_QUERY_KEY_TYPE_UNSPECIFIED = 0; + TRUST_QUERY_KEY_TYPE_AUTH_UID = 1; + TRUST_QUERY_KEY_TYPE_DEVIN_USER_ID = 2; + TRUST_QUERY_KEY_TYPE_DEVIN_ACCOUNT_ID = 3; +} + +enum ManualTrustVerdict { + MANUAL_TRUST_VERDICT_UNSPECIFIED = 0; + MANUAL_TRUST_VERDICT_TRUST = 1; + MANUAL_TRUST_VERDICT_DISTRUST = 2; +} + +message TrustIdentifier { + .exa.trust_pb.TrustIdentifierType identifier_type = 1; + string identifier = 2; +} + +message TrustQueryKey { + .exa.trust_pb.TrustQueryKeyType key_type = 1; + string key = 2; +} + +message TrustEvent { + reserved 2; + + .google.protobuf.Timestamp observed_at = 1; + .exa.trust_pb.TrustEventSource source = 3; + string idempotency_key = 4; + oneof signal { + .exa.trust_pb.UnknownSignal unknown = 5; + .exa.trust_pb.ProvidersExhaustedSignal providers_exhausted = 6; + .exa.trust_pb.CrossModelRateLimitSignal cross_model_rate_limit = 7; + .exa.trust_pb.AccountFanoutSignal account_fanout = 8; + .exa.trust_pb.MultiIpTrajectorySignal multi_ip_trajectory = 9; + .exa.trust_pb.CyberAbuseEvent cyber_abuse = 10; + .exa.trust_pb.OpenAIBlockedUserEvent openai_blocked_user = 11; + .exa.trust_pb.SuspiciousUserAgentSignal suspicious_user_agent = 12; + .exa.trust_pb.ManualTrustSignal manual_trust = 14; + .exa.trust_pb.HunterEmailVerificationSignal hunter_email_verification = 17; + } + repeated .exa.trust_pb.TrustIdentifier identifiers = 13; + .exa.trust_pb.TrustQueryKey query_key = 15; +} + +message UnknownSignal { +} + +message ProvidersExhaustedSignal { + string model_uid = 1; + string tier = 2; + int32 total_attempts = 3; + string last_error_code = 4; + string last_error_message = 5; + int32 providers_tried = 6; + string auth_uid = 7; +} + +message CrossModelRateLimitSignal { + string model_uid = 1; + string tier = 2; + int64 count = 3; + int64 limit = 4; + int32 period_seconds = 5; + bool email_mismatch = 6; + string auth_uid = 7; +} + +message AccountFanoutSignal { + string auth_uid = 1; + string identity = 2; + string account_id = 3; + bool is_trial = 4; +} + +message MultiIpTrajectorySignal { + string auth_uid = 1; + int64 ip_count = 2; + int64 threshold = 3; + int32 window_seconds = 4; + string tier = 5; + string email = 6; + bool enforced = 7; +} + +message CyberAbuseEvent { + string auth_uid = 1; + string provider = 2; + string event_type = 3; + string model_uid = 4; + string tier = 5; +} + +message OpenAIBlockedUserEvent { + string auth_uid = 1; + string provider = 2; + string model_uid = 3; + string tier = 4; +} + +message SuspiciousUserAgentSignal { + string auth_uid = 1; + string user_agent = 2; + string matched_prefix = 3; +} + +message ManualTrustSignal { + string auth_uid = 1; + .exa.trust_pb.ManualTrustVerdict verdict = 2; + int32 percent = 3; + string reason = 4; + string flagged_by = 5; +} + +message HunterEmailVerificationSignal { + string email = 1; + string result = 2; + string status = 3; + int32 score = 4; + bool regexp = 5; + bool gibberish = 6; + bool disposable = 7; + bool webmail = 8; + bool mx_records = 9; + bool smtp_server = 10; + bool smtp_check = 11; + bool accept_all = 12; + bool block = 13; + int32 sources_count = 14; +} + +message RecordTrustEventsRequest { + repeated .exa.trust_pb.TrustEvent events = 1; +} + +message RecordTrustEventsResponse { +} diff --git a/packages/ai/src/providers/devin/proto/exa/user_analytics_pb/user_analytics.proto b/packages/ai/src/providers/devin/proto/exa/user_analytics_pb/user_analytics.proto new file mode 100644 index 000000000..0dfbff1d4 --- /dev/null +++ b/packages/ai/src/providers/devin/proto/exa/user_analytics_pb/user_analytics.proto @@ -0,0 +1,519 @@ +syntax = "proto3"; + +package exa.user_analytics_pb; + +import "buf/validate/validate.proto"; +import "exa/codeium_common_pb/codeium_common.proto"; +import "google/protobuf/timestamp.proto"; + +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; + IDE_TYPE_CLI = 4; +} + +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 { + map 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; + string secret = 9; + string team_id = 10; +} + +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; + string secret = 7; + string team_id = 8; +} + +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; + string secret = 6; + string team_id = 7; +} + +message UserPageAnalyticsResponse { + repeated .exa.codeium_common_pb.UserTableStats user_table_stats = 1; + .google.protobuf.Timestamp billing_cycle_start = 2; + .google.protobuf.Timestamp billing_cycle_end = 3; + string billing_mode = 4; +} + +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; + .exa.user_analytics_pb.QueryRequestCompletionsByLanguagePerUser completions_by_language_per_user = 32; + } +} + +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; + .exa.user_analytics_pb.QueryResultCompletionsByLanguagePerUser completions_by_language_per_user = 22; + } +} + +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 QueryRequestCompletionsByLanguagePerUser { +} + +message CompletionsByLanguagePerUserEntry { + string api_key = 1; + repeated .exa.codeium_common_pb.CompletionByLanguageEntry completions_by_language = 2; +} + +message QueryResultCompletionsByLanguagePerUser { + repeated .exa.user_analytics_pb.CompletionsByLanguagePerUserEntry entries = 1; +} + +message QueryRequestCompletionsByIde { +} + +message QueryResultCompletionsByIde { + map completions_by_ide = 1; +} + +message QueryRequestCompletionsByRepository { +} + +message QueryResultCompletionsByRepository { + map 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 { + map 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 { + map 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 5; + reserved "model_provider"; + + 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; + string model_group = 9; +} + +message GetDevinUserAnalyticsRequest { + string start_date = 1 [deprecated = true]; + string end_date = 2 [deprecated = true]; + .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; +} + +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); +} diff --git a/packages/ai/src/providers/devin/proto/google.golang.org/appengine/internal/base/api_base.proto b/packages/ai/src/providers/devin/proto/google.golang.org/appengine/internal/base/api_base.proto new file mode 100644 index 000000000..9501dbab2 --- /dev/null +++ b/packages/ai/src/providers/devin/proto/google.golang.org/appengine/internal/base/api_base.proto @@ -0,0 +1,28 @@ +package appengine.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/packages/ai/src/providers/devin/proto/google.golang.org/appengine/internal/datastore/datastore_v3.proto b/packages/ai/src/providers/devin/proto/google.golang.org/appengine/internal/datastore/datastore_v3.proto new file mode 100644 index 000000000..45a6056fa --- /dev/null +++ b/packages/ai/src/providers/devin/proto/google.golang.org/appengine/internal/datastore/datastore_v3.proto @@ -0,0 +1,484 @@ +package appengine; + +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 PathElement pathelement = 14; + } + + optional int64 int64Value = 1; + optional bool booleanValue = 2; + optional string stringValue = 3; + optional double doubleValue = 4; + optional PointValue pointvalue = 5; + optional UserValue uservalue = 8; + optional ReferenceValue 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 Element 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 Property 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 Filter filter = 4; + optional string search_query = 8; + repeated Order 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 PrimaryScan primaryscan = 1; + repeated MergeJoinScan 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 EntityFilter entityfilter = 13; +} + +message CompiledCursor { + message Position { + message IndexValue { + optional string property = 30; + required .appengine.PropertyValue value = 31; + } + + optional string start_key = 27; + repeated IndexValue indexvalue = 29; + optional .appengine.Reference key = 32; + optional bool start_inclusive = 28 [default = true]; + } + + optional Position 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 CommitCost 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 Entity 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 Version version = 3; +} diff --git a/packages/ai/src/providers/devin/proto/google.golang.org/appengine/internal/log/log_service.proto b/packages/ai/src/providers/devin/proto/google.golang.org/appengine/internal/log/log_service.proto new file mode 100644 index 000000000..b98fbd88f --- /dev/null +++ b/packages/ai/src/providers/devin/proto/google.golang.org/appengine/internal/log/log_service.proto @@ -0,0 +1,136 @@ +package appengine; + +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/packages/ai/src/providers/devin/proto/google.golang.org/appengine/internal/remote_api/remote_api.proto b/packages/ai/src/providers/devin/proto/google.golang.org/appengine/internal/remote_api/remote_api.proto new file mode 100644 index 000000000..59d567b8b --- /dev/null +++ b/packages/ai/src/providers/devin/proto/google.golang.org/appengine/internal/remote_api/remote_api.proto @@ -0,0 +1,42 @@ +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/packages/ai/src/providers/devin/proto/google.golang.org/appengine/internal/urlfetch/urlfetch_service.proto b/packages/ai/src/providers/devin/proto/google.golang.org/appengine/internal/urlfetch/urlfetch_service.proto new file mode 100644 index 000000000..a3e51dacd --- /dev/null +++ b/packages/ai/src/providers/devin/proto/google.golang.org/appengine/internal/urlfetch/urlfetch_service.proto @@ -0,0 +1,61 @@ +package appengine; + +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 Header 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 Header 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/packages/ai/src/providers/devin/proto/grpc/binlog/v1/binarylog.proto b/packages/ai/src/providers/devin/proto/grpc/binlog/v1/binarylog.proto new file mode 100644 index 000000000..5138ecbdb --- /dev/null +++ b/packages/ai/src/providers/devin/proto/grpc/binlog/v1/binarylog.proto @@ -0,0 +1,84 @@ +syntax = "proto3"; + +package 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; + 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; + } + bool payload_truncated = 10; + .grpc.binarylog.v1.Address peer = 11; +} + +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; +} diff --git a/packages/ai/src/providers/devin/proto/io/prometheus/client/metrics.proto b/packages/ai/src/providers/devin/proto/io/prometheus/client/metrics.proto new file mode 100644 index 000000000..a1bd8ea76 --- /dev/null +++ b/packages/ai/src/providers/devin/proto/io/prometheus/client/metrics.proto @@ -0,0 +1,98 @@ +package io.prometheus.client; + +import "google/protobuf/timestamp.proto"; + +enum MetricType { + COUNTER = 0; + GAUGE = 1; + SUMMARY = 2; + UNTYPED = 3; + HISTOGRAM = 4; + GAUGE_HISTOGRAM = 5; +} + +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; +} diff --git a/packages/ai/src/providers/register-builtins.ts b/packages/ai/src/providers/register-builtins.ts index 58970bbff..1e9ed977a 100644 --- a/packages/ai/src/providers/register-builtins.ts +++ b/packages/ai/src/providers/register-builtins.ts @@ -32,6 +32,7 @@ import type { BedrockOptions } from "./amazon-bedrock"; import type { AnthropicOptions } from "./anthropic"; import type { AzureOpenAIResponsesOptions } from "./azure-openai-responses"; import type { CursorOptions } from "./cursor"; +import type { DevinOptions } from "./devin"; import type { GoogleOptions } from "./google"; import type { GoogleGeminiCliOptions } from "./google-gemini-cli"; import type { GoogleVertexOptions } from "./google-vertex"; @@ -128,6 +129,10 @@ interface CursorProviderModule { ) => AssistantMessageEventStream; } +interface DevinProviderModule { + streamDevin: (model: Model<"devin-agent">, context: Context, options: DevinOptions) => AssistantMessageEventStream; +} + interface BedrockProviderModule { streamBedrock: ( model: Model<"bedrock-converse-stream">, @@ -150,6 +155,7 @@ let openAICompletionsProviderModulePromise: Promise> | undefined; let ollamaProviderModulePromise: Promise> | undefined; let cursorProviderModulePromise: Promise> | undefined; +let devinProviderModulePromise: Promise> | undefined; let bedrockProviderModuleOverride: LazyProviderModule<"bedrock-converse-stream"> | undefined; let bedrockProviderModulePromise: Promise> | undefined; @@ -409,6 +415,14 @@ function loadCursorProviderModule(): Promise> return cursorProviderModulePromise; } +function loadDevinProviderModule(): Promise> { + devinProviderModulePromise ||= import("./devin").then(module => { + const provider = module as DevinProviderModule; + return { stream: provider.streamDevin }; + }); + return devinProviderModulePromise; +} + function loadBedrockProviderModule(): Promise> { if (bedrockProviderModuleOverride) { return Promise.resolve(bedrockProviderModuleOverride); @@ -452,6 +466,7 @@ export const streamOpenAIResponses = createLazyStream( PROVIDER_HANDLED_STREAM_TIMEOUTS, ); export const streamCursor = createLazyStream(loadCursorProviderModule); +export const streamDevin = createLazyStream(loadDevinProviderModule); export const streamOllama = createLazyStream(loadOllamaProviderModule, OPENAI_IDLE_FLOORED_LAZY_STREAM_LIMITS); export const streamBedrock = createLazyStream(loadBedrockProviderModule); diff --git a/packages/ai/src/registry/devin.ts b/packages/ai/src/registry/devin.ts new file mode 100644 index 000000000..eda5c1bce --- /dev/null +++ b/packages/ai/src/registry/devin.ts @@ -0,0 +1,15 @@ +import type { OAuthLoginCallbacks } from "./oauth/types"; +import type { ProviderDefinition } from "./types"; + +export const devinProvider = { + id: "devin", + name: "Devin", + login: async (cb: OAuthLoginCallbacks) => { + // Lazy import: keep OAuth flow modules out of the eager registry graph. + const { loginDevin } = await import("./oauth/devin"); + const credentials = await loginDevin(cb); + return credentials.access; + }, + callbackPort: 59653, + pasteCodeFlow: true, +} as const satisfies ProviderDefinition; diff --git a/packages/ai/src/registry/oauth/devin.ts b/packages/ai/src/registry/oauth/devin.ts new file mode 100644 index 000000000..5e9e3eff2 --- /dev/null +++ b/packages/ai/src/registry/oauth/devin.ts @@ -0,0 +1,113 @@ +import { OAuthCallbackFlow } from "./callback-server"; +import { generatePKCE } from "./pkce"; +import type { OAuthController, OAuthCredentials } from "./types"; + +type FetchFunction = NonNullable; + +const DEVIN_WEBAPP_URL = "https://app.devin.ai"; +const DEVIN_API_URL = "https://api.devin.ai"; +const CALLBACK_PORT = 59653; +const CALLBACK_PATH = "/callback"; +const TOKEN_PATH = "/auth/cli/token"; +const FALLBACK_EXPIRES_MS = 365 * 24 * 60 * 60 * 1000; + +interface DevinPKCEParams { + verifier: string; + challenge: string; +} + +export async function loginDevin(ctrl: OAuthController): Promise { + const flow = new DevinOAuthFlow(ctrl); + return flow.login(); +} + +class DevinOAuthFlow extends OAuthCallbackFlow { + #pkce?: DevinPKCEParams; + + constructor(ctrl: OAuthController) { + super(ctrl, { + preferredPort: CALLBACK_PORT, + callbackPath: CALLBACK_PATH, + callbackHostname: "127.0.0.1", + }); + } + + generateState(): string { + return crypto.randomUUID(); + } + + async generateAuthUrl(state: string, redirectUri: string): Promise<{ url: string; instructions?: string }> { + this.#pkce = await generatePKCE(); + const params = new URLSearchParams({ + redirect_uri: redirectUri, + state, + prompt: "select_account", + code_challenge: this.#pkce.challenge, + code_challenge_method: "S256", + }); + + return { + url: `${DEVIN_WEBAPP_URL}/auth/cli/continue?${params.toString()}`, + instructions: "Sign in to Devin in your browser.", + }; + } + + async exchangeToken(code: string): Promise { + if (!this.#pkce) { + throw new Error("Devin PKCE verifier was not initialized"); + } + const token = await exchangeDevinCliToken(code, this.#pkce.verifier, this.ctrl.fetch); + + return { + access: token, + refresh: token, + expires: getTokenExpiry(token), + apiEndpoint: DEVIN_API_URL, + enterpriseUrl: DEVIN_WEBAPP_URL, + }; + } +} + +export async function exchangeDevinCliToken( + authorizationCode: string, + codeVerifier: string, + fetchImpl: FetchFunction = fetch, +): Promise { + const response = await fetchImpl(`${DEVIN_API_URL}${TOKEN_PATH}`, { + method: "POST", + headers: { + Accept: "application/json", + "Content-Type": "application/json", + }, + body: JSON.stringify({ + code: authorizationCode, + code_verifier: codeVerifier, + }), + }); + + if (!response.ok) { + const error = await response.text(); + throw new Error(`Devin CLI token exchange failed: ${response.status} ${error}`.trim()); + } + + const data = (await response.json()) as { token?: unknown }; + if (typeof data.token !== "string" || data.token.length === 0) { + throw new Error("Devin CLI token exchange returned an empty token"); + } + return data.token; +} + +function getTokenExpiry(token: string): number { + try { + const [, payload] = token.split("."); + if (payload) { + const decoded = JSON.parse(Buffer.from(payload, "base64url").toString("utf8")) as { exp?: unknown }; + if (typeof decoded.exp === "number" && Number.isFinite(decoded.exp)) { + return decoded.exp * 1000 - 5 * 60 * 1000; + } + } + } catch { + // Ignore malformed non-JWT tokens and use a conservative long-lived fallback. + } + return Date.now() + FALLBACK_EXPIRES_MS; +} diff --git a/packages/ai/src/registry/registry.ts b/packages/ai/src/registry/registry.ts index 078e2a551..fff0e5fcc 100644 --- a/packages/ai/src/registry/registry.ts +++ b/packages/ai/src/registry/registry.ts @@ -8,6 +8,7 @@ import { cerebrasProvider } from "./cerebras"; import { cloudflareAiGatewayProvider } from "./cloudflare-ai-gateway"; import { cursorProvider } from "./cursor"; import { deepseekProvider } from "./deepseek"; +import { devinProvider } from "./devin"; import { firepassProvider } from "./firepass"; import { fireworksProvider } from "./fireworks"; import { githubCopilotProvider } from "./github-copilot"; @@ -78,6 +79,7 @@ const ALL = [ openrouterProvider, githubCopilotProvider, cursorProvider, + devinProvider, googleAntigravityProvider, googleGeminiCliProvider, openaiCodexDeviceProvider, diff --git a/packages/ai/src/stream.ts b/packages/ai/src/stream.ts index 3012b51e4..9f071dddd 100644 --- a/packages/ai/src/stream.ts +++ b/packages/ai/src/stream.ts @@ -15,6 +15,7 @@ import { ProviderHttpError } from "./errors"; import type { BedrockOptions } from "./providers/amazon-bedrock"; import type { AnthropicOptions } from "./providers/anthropic"; import type { CursorOptions } from "./providers/cursor"; +import type { DevinOptions } from "./providers/devin"; import { isGitLabDuoModel, streamGitLabDuo } from "./providers/gitlab-duo"; import type { GoogleOptions } from "./providers/google"; import { getVertexAccessToken } from "./providers/google-auth"; @@ -37,6 +38,7 @@ import { streamAzureOpenAIResponses, streamBedrock, streamCursor, + streamDevin, streamGoogle, streamGoogleGeminiCli, streamGoogleVertex, @@ -293,22 +295,46 @@ function streamDispatch( case "openrouter": { const useResponses = $env.PI_OPENROUTER_RESPONSES !== "0"; if (useResponses) { - return streamOpenAIResponses(model as Model<"openai-responses">, context, providerOptions as any); + return streamOpenAIResponses( + model as Model<"openai-responses">, + context, + providerOptions as OptionsForApi<"openai-responses">, + ); } - return streamOpenAICompletions(model as Model<"openai-completions">, context, providerOptions as any); + return streamOpenAICompletions( + model as Model<"openai-completions">, + context, + providerOptions as OptionsForApi<"openai-completions">, + ); } case "openai-completions": - return streamOpenAICompletions(model as Model<"openai-completions">, context, providerOptions as any); + return streamOpenAICompletions( + model as Model<"openai-completions">, + context, + providerOptions as OptionsForApi<"openai-completions">, + ); case "openai-responses": - return streamOpenAIResponses(model as Model<"openai-responses">, context, providerOptions as any); + return streamOpenAIResponses( + model as Model<"openai-responses">, + context, + providerOptions as OptionsForApi<"openai-responses">, + ); case "azure-openai-responses": - return streamAzureOpenAIResponses(model as Model<"azure-openai-responses">, context, providerOptions as any); + return streamAzureOpenAIResponses( + model as Model<"azure-openai-responses">, + context, + providerOptions as OptionsForApi<"azure-openai-responses">, + ); case "openai-codex-responses": - return streamOpenAICodexResponses(model as Model<"openai-codex-responses">, context, providerOptions as any); + return streamOpenAICodexResponses( + model as Model<"openai-codex-responses">, + context, + providerOptions as OptionsForApi<"openai-codex-responses">, + ); case "google-generative-ai": return streamGoogle(model as Model<"google-generative-ai">, context, providerOptions); @@ -326,6 +352,9 @@ function streamDispatch( case "cursor-agent": return streamCursor(model as Model<"cursor-agent">, context, providerOptions as CursorOptions); + case "devin-agent": + return streamDevin(model as Model<"devin-agent">, context, providerOptions as DevinOptions); + default: throw new Error(`Unhandled API: ${api}`); } @@ -1117,6 +1146,18 @@ function mapOptionsForApi( }); } + case "devin-agent": { + const devinModel = model as Model<"devin-agent">; + const effort = + options?.reasoning && !options.disableReasoning + ? requireSupportedEffort(devinModel, options.reasoning) + : undefined; + return castApi<"devin-agent">({ + ...base, + chatModelUid: resolveWireModelId(devinModel, effort), + }); + } + default: throw new Error(`Unhandled API in mapOptionsForApi: ${model.api}`); } diff --git a/packages/ai/src/types.ts b/packages/ai/src/types.ts index 80d1a48a3..1d8b6a7ef 100644 --- a/packages/ai/src/types.ts +++ b/packages/ai/src/types.ts @@ -28,6 +28,7 @@ import type { AnthropicOptions } from "./providers/anthropic"; import type { StopDetails } from "./providers/anthropic-wire"; import type { AzureOpenAIResponsesOptions } from "./providers/azure-openai-responses"; import type { CursorOptions } from "./providers/cursor"; +import type { DevinOptions } from "./providers/devin"; import type { GoogleOptions } from "./providers/google"; import type { GoogleGeminiCliOptions } from "./providers/google-gemini-cli"; import type { GoogleVertexOptions } from "./providers/google-vertex"; @@ -66,6 +67,7 @@ export interface ApiOptionsMap { "google-vertex": GoogleVertexOptions; "ollama-chat": OllamaChatOptions; "cursor-agent": CursorOptions; + "devin-agent": DevinOptions; } // Compile-time exhaustiveness check - this will fail if ApiOptionsMap doesn't have all KnownApi keys type _CheckExhaustive = @@ -441,7 +443,7 @@ export interface ToolCall { type: "toolCall"; id: string; name: string; - arguments: Record; + arguments: Record; thoughtSignature?: string; // Google-specific: opaque signature for reusing thought context intent?: string; // Harness-level intent metadata extracted from traced tool arguments /** @@ -537,7 +539,7 @@ export interface AssistantMessage { ttft?: number; // Time to first token in milliseconds } -export interface ToolResultMessage { +export interface ToolResultMessage { role: "toolResult"; toolCallId: string; toolName: string; diff --git a/packages/ai/test/devin-login.test.ts b/packages/ai/test/devin-login.test.ts new file mode 100644 index 000000000..4f837d10b --- /dev/null +++ b/packages/ai/test/devin-login.test.ts @@ -0,0 +1,32 @@ +import { describe, expect, test } from "bun:test"; +import { exchangeDevinCliToken } from "@oh-my-pi/pi-ai/registry/oauth/devin"; +import type { FetchImpl } from "@oh-my-pi/pi-catalog/types"; + +describe("Devin CLI login", () => { + test("exchanges callback code with CLI token JSON endpoint", async () => { + let requestUrl = ""; + let requestInit: RequestInit | undefined; + const fetchImpl: FetchImpl = async (url, init) => { + requestUrl = String(url); + requestInit = init; + return new Response(JSON.stringify({ token: "devin-jwt" }), { + status: 200, + headers: { "Content-Type": "application/json" }, + }); + }; + + const token = await exchangeDevinCliToken("callback-code", "pkce-verifier", fetchImpl); + + expect(token).toBe("devin-jwt"); + expect(requestUrl).toBe("https://api.devin.ai/auth/cli/token"); + expect(requestInit?.method).toBe("POST"); + expect(requestInit?.headers).toEqual({ + Accept: "application/json", + "Content-Type": "application/json", + }); + expect(JSON.parse(String(requestInit?.body))).toEqual({ + code: "callback-code", + code_verifier: "pkce-verifier", + }); + }); +}); diff --git a/packages/ai/test/provider-registry.test.ts b/packages/ai/test/provider-registry.test.ts index 8c9c439f9..f7a2bed73 100644 --- a/packages/ai/test/provider-registry.test.ts +++ b/packages/ai/test/provider-registry.test.ts @@ -66,7 +66,7 @@ describe("provider registry auth surface", () => { test("paste-code login set is derived from pasteCodeFlow", () => { expect([...PASTE_CODE_LOGIN_PROVIDERS].sort()).toEqual( - ["anthropic", "gitlab-duo", "google-antigravity", "google-gemini-cli", "openai-codex"].sort(), + ["anthropic", "devin", "gitlab-duo", "google-antigravity", "google-gemini-cli", "openai-codex"].sort(), ); expect(PASTE_CODE_LOGIN_PROVIDERS.has("zenmux")).toBe(false); }); diff --git a/packages/ai/test/stream.test.ts b/packages/ai/test/stream.test.ts index 23bc84cd7..bdf1a7218 100644 --- a/packages/ai/test/stream.test.ts +++ b/packages/ai/test/stream.test.ts @@ -308,7 +308,9 @@ async function multiTurn(model: Model, options?: Options expect(block.id).toBeTruthy(); expect(block.arguments).toBeTruthy(); - const { a, b, operation } = block.arguments; + const a = Number(block.arguments.a); + const b = Number(block.arguments.b); + const operation = typeof block.arguments.operation === "string" ? block.arguments.operation : ""; let result: number; switch (operation) { case "add": diff --git a/packages/ai/test/tool-argument-coercion.test.ts b/packages/ai/test/tool-argument-coercion.test.ts index 6ad568941..419fb1dd9 100644 --- a/packages/ai/test/tool-argument-coercion.test.ts +++ b/packages/ai/test/tool-argument-coercion.test.ts @@ -692,7 +692,7 @@ describe("Tool argument coercion", () => { arguments: { payload: { items: "[4, 5]" } }, }; - const result = validateToolArguments(tool, toolCall); + const result = validateToolArguments(tool, toolCall) as { payload: { items: number[] } }; expect(result.payload.items).toEqual([4, 5]); }); diff --git a/packages/catalog/CHANGELOG.md b/packages/catalog/CHANGELOG.md index 1d99e2c76..3df433bbc 100644 --- a/packages/catalog/CHANGELOG.md +++ b/packages/catalog/CHANGELOG.md @@ -1,6 +1,10 @@ # Changelog ## [Unreleased] +### Added + +- Added support for Devin as a model provider +- Added capability to fetch dynamic models from the Devin model manager ## [16.1.11] - 2026-06-21 @@ -361,4 +365,4 @@ ### Removed -- Removed the runtime enrichment layer: `enrichModelThinking` (and its non-enumerable memo-slot cache), `refreshModelThinking`, `modelOmitsReasoningEffort`, and the `model-thinking` re-exports of generator-only policies. Thinking metadata is resolved exactly once inside `buildModel`; runtime helpers (`getSupportedEfforts`, `clampThinkingLevelForModel`, `requireSupportedEffort`, the effort mappers) are pure field reads. +- Removed the runtime enrichment layer: `enrichModelThinking` (and its non-enumerable memo-slot cache), `refreshModelThinking`, `modelOmitsReasoningEffort`, and the `model-thinking` re-exports of generator-only policies. Thinking metadata is resolved exactly once inside `buildModel`; runtime helpers (`getSupportedEfforts`, `clampThinkingLevelForModel`, `requireSupportedEffort`, the effort mappers) are pure field reads. \ No newline at end of file diff --git a/packages/catalog/scripts/generate-models.ts b/packages/catalog/scripts/generate-models.ts index 5967c67d5..1aa670b20 100644 --- a/packages/catalog/scripts/generate-models.ts +++ b/packages/catalog/scripts/generate-models.ts @@ -111,7 +111,8 @@ async function fetchProviderModelsFromCatalog(descriptor: CatalogProviderDescrip try { console.log(`Fetching models from ${descriptor.catalogDiscovery.label} model manager...`); - const manager = createModelManager(descriptor.createModelManagerOptions({ apiKey })); + const managerOptions = descriptor.createModelManagerOptions({ apiKey }); + const manager = createModelManager(managerOptions); const result = await manager.refresh("online"); // `stale: true` means the dynamic fetch failed and the manager fell back // to merging the local agent.db model cache over the static catalog — @@ -184,7 +185,7 @@ function applyGlobalModelsDevFallback( const providerScopedKeys = new Set(modelsDevModels.map(model => `${model.provider}/${model.id}`)); const globalReferences = createGlobalModelsDevReferenceMap(modelsDevModels); return models.map(model => { - if (providerScopedKeys.has(`${model.provider}/${model.id}`)) { + if (providerScopedKeys.has(`${model.provider}/${model.id}`) || model.provider === "devin") { return model; } const reference = globalReferences.get(model.id); diff --git a/packages/catalog/src/discovery/devin-gen/buf/validate/validate_pb.ts b/packages/catalog/src/discovery/devin-gen/buf/validate/validate_pb.ts new file mode 100644 index 000000000..42e2d572d --- /dev/null +++ b/packages/catalog/src/discovery/devin-gen/buf/validate/validate_pb.ts @@ -0,0 +1,1862 @@ +// @generated by protoc-gen-es v2.12.0 with parameter "target=ts" +// @generated from file buf/validate/validate.proto (package buf.validate, syntax proto2) +/* eslint-disable */ + +import type { GenEnum, GenExtension, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2"; +import { enumDesc, extDesc, fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2"; +import type { Duration, FieldDescriptorProto_Type, FieldOptions, MessageOptions, OneofOptions, Timestamp } from "@bufbuild/protobuf/wkt"; +import { file_google_protobuf_descriptor, file_google_protobuf_duration, file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt"; +import type { Message } from "@bufbuild/protobuf"; + +/** + * Describes the file buf/validate/validate.proto. + */ +export const file_buf_validate_validate: GenFile = /*@__PURE__*/ + fileDesc("ChtidWYvdmFsaWRhdGUvdmFsaWRhdGUucHJvdG8SDGJ1Zi52YWxpZGF0ZSI3CgRSdWxlEgoKAmlkGAEgASgJEg8KB21lc3NhZ2UYAiABKAkSEgoKZXhwcmVzc2lvbhgDIAEoCSJBCgxNZXNzYWdlUnVsZXMSEAoIZGlzYWJsZWQYASABKAgSHwoDY2VsGAMgAygLMhIuYnVmLnZhbGlkYXRlLlJ1bGUiHgoKT25lb2ZSdWxlcxIQCghyZXF1aXJlZBgBIAEoCCK/CAoKRmllbGRSdWxlcxIfCgNjZWwYFyADKAsyEi5idWYudmFsaWRhdGUuUnVsZRIQCghyZXF1aXJlZBgZIAEoCBIkCgZpZ25vcmUYGyABKA4yFC5idWYudmFsaWRhdGUuSWdub3JlEikKBWZsb2F0GAEgASgLMhguYnVmLnZhbGlkYXRlLkZsb2F0UnVsZXNIABIrCgZkb3VibGUYAiABKAsyGS5idWYudmFsaWRhdGUuRG91YmxlUnVsZXNIABIpCgVpbnQzMhgDIAEoCzIYLmJ1Zi52YWxpZGF0ZS5JbnQzMlJ1bGVzSAASKQoFaW50NjQYBCABKAsyGC5idWYudmFsaWRhdGUuSW50NjRSdWxlc0gAEisKBnVpbnQzMhgFIAEoCzIZLmJ1Zi52YWxpZGF0ZS5VSW50MzJSdWxlc0gAEisKBnVpbnQ2NBgGIAEoCzIZLmJ1Zi52YWxpZGF0ZS5VSW50NjRSdWxlc0gAEisKBnNpbnQzMhgHIAEoCzIZLmJ1Zi52YWxpZGF0ZS5TSW50MzJSdWxlc0gAEisKBnNpbnQ2NBgIIAEoCzIZLmJ1Zi52YWxpZGF0ZS5TSW50NjRSdWxlc0gAEi0KB2ZpeGVkMzIYCSABKAsyGi5idWYudmFsaWRhdGUuRml4ZWQzMlJ1bGVzSAASLQoHZml4ZWQ2NBgKIAEoCzIaLmJ1Zi52YWxpZGF0ZS5GaXhlZDY0UnVsZXNIABIvCghzZml4ZWQzMhgLIAEoCzIbLmJ1Zi52YWxpZGF0ZS5TRml4ZWQzMlJ1bGVzSAASLwoIc2ZpeGVkNjQYDCABKAsyGy5idWYudmFsaWRhdGUuU0ZpeGVkNjRSdWxlc0gAEicKBGJvb2wYDSABKAsyFy5idWYudmFsaWRhdGUuQm9vbFJ1bGVzSAASKwoGc3RyaW5nGA4gASgLMhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzSAASKQoFYnl0ZXMYDyABKAsyGC5idWYudmFsaWRhdGUuQnl0ZXNSdWxlc0gAEicKBGVudW0YECABKAsyFy5idWYudmFsaWRhdGUuRW51bVJ1bGVzSAASLwoIcmVwZWF0ZWQYEiABKAsyGy5idWYudmFsaWRhdGUuUmVwZWF0ZWRSdWxlc0gAEiUKA21hcBgTIAEoCzIWLmJ1Zi52YWxpZGF0ZS5NYXBSdWxlc0gAEiUKA2FueRgUIAEoCzIWLmJ1Zi52YWxpZGF0ZS5BbnlSdWxlc0gAEi8KCGR1cmF0aW9uGBUgASgLMhsuYnVmLnZhbGlkYXRlLkR1cmF0aW9uUnVsZXNIABIxCgl0aW1lc3RhbXAYFiABKAsyHC5idWYudmFsaWRhdGUuVGltZXN0YW1wUnVsZXNIAEIGCgR0eXBlSgQIGBAZSgQIGhAbUgdza2lwcGVkUgxpZ25vcmVfZW1wdHkiUwoPUHJlZGVmaW5lZFJ1bGVzEh8KA2NlbBgBIAMoCzISLmJ1Zi52YWxpZGF0ZS5SdWxlSgQIGBAZSgQIGhAbUhNza2lwcGVkaWdub3JlX2VtcHR5IroBCgpGbG9hdFJ1bGVzEg0KBWNvbnN0GAEgASgCEgwKAmx0GAIgASgCSAASDQoDbHRlGAMgASgCSAASDAoCZ3QYBCABKAJIARINCgNndGUYBSABKAJIARIKCgJpbhgGIAMoAhIOCgZub3RfaW4YByADKAISDgoGZmluaXRlGAggASgIEg8KB2V4YW1wbGUYCSADKAIqCQjoBxCAgICAAkILCglsZXNzX3RoYW5CDgoMZ3JlYXRlcl90aGFuIrsBCgtEb3VibGVSdWxlcxINCgVjb25zdBgBIAEoARIMCgJsdBgCIAEoAUgAEg0KA2x0ZRgDIAEoAUgAEgwKAmd0GAQgASgBSAESDQoDZ3RlGAUgASgBSAESCgoCaW4YBiADKAESDgoGbm90X2luGAcgAygBEg4KBmZpbml0ZRgIIAEoCBIPCgdleGFtcGxlGAkgAygBKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiKqAQoKSW50MzJSdWxlcxINCgVjb25zdBgBIAEoBRIMCgJsdBgCIAEoBUgAEg0KA2x0ZRgDIAEoBUgAEgwKAmd0GAQgASgFSAESDQoDZ3RlGAUgASgFSAESCgoCaW4YBiADKAUSDgoGbm90X2luGAcgAygFEg8KB2V4YW1wbGUYCCADKAUqCQjoBxCAgICAAkILCglsZXNzX3RoYW5CDgoMZ3JlYXRlcl90aGFuIqoBCgpJbnQ2NFJ1bGVzEg0KBWNvbnN0GAEgASgDEgwKAmx0GAIgASgDSAASDQoDbHRlGAMgASgDSAASDAoCZ3QYBCABKANIARINCgNndGUYBSABKANIARIKCgJpbhgGIAMoAxIOCgZub3RfaW4YByADKAMSDwoHZXhhbXBsZRgJIAMoAyoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4iqwEKC1VJbnQzMlJ1bGVzEg0KBWNvbnN0GAEgASgNEgwKAmx0GAIgASgNSAASDQoDbHRlGAMgASgNSAASDAoCZ3QYBCABKA1IARINCgNndGUYBSABKA1IARIKCgJpbhgGIAMoDRIOCgZub3RfaW4YByADKA0SDwoHZXhhbXBsZRgIIAMoDSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4iqwEKC1VJbnQ2NFJ1bGVzEg0KBWNvbnN0GAEgASgEEgwKAmx0GAIgASgESAASDQoDbHRlGAMgASgESAASDAoCZ3QYBCABKARIARINCgNndGUYBSABKARIARIKCgJpbhgGIAMoBBIOCgZub3RfaW4YByADKAQSDwoHZXhhbXBsZRgIIAMoBCoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4iqwEKC1NJbnQzMlJ1bGVzEg0KBWNvbnN0GAEgASgREgwKAmx0GAIgASgRSAASDQoDbHRlGAMgASgRSAASDAoCZ3QYBCABKBFIARINCgNndGUYBSABKBFIARIKCgJpbhgGIAMoERIOCgZub3RfaW4YByADKBESDwoHZXhhbXBsZRgIIAMoESoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4iqwEKC1NJbnQ2NFJ1bGVzEg0KBWNvbnN0GAEgASgSEgwKAmx0GAIgASgSSAASDQoDbHRlGAMgASgSSAASDAoCZ3QYBCABKBJIARINCgNndGUYBSABKBJIARIKCgJpbhgGIAMoEhIOCgZub3RfaW4YByADKBISDwoHZXhhbXBsZRgIIAMoEioJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4irAEKDEZpeGVkMzJSdWxlcxINCgVjb25zdBgBIAEoBxIMCgJsdBgCIAEoB0gAEg0KA2x0ZRgDIAEoB0gAEgwKAmd0GAQgASgHSAESDQoDZ3RlGAUgASgHSAESCgoCaW4YBiADKAcSDgoGbm90X2luGAcgAygHEg8KB2V4YW1wbGUYCCADKAcqCQjoBxCAgICAAkILCglsZXNzX3RoYW5CDgoMZ3JlYXRlcl90aGFuIqwBCgxGaXhlZDY0UnVsZXMSDQoFY29uc3QYASABKAYSDAoCbHQYAiABKAZIABINCgNsdGUYAyABKAZIABIMCgJndBgEIAEoBkgBEg0KA2d0ZRgFIAEoBkgBEgoKAmluGAYgAygGEg4KBm5vdF9pbhgHIAMoBhIPCgdleGFtcGxlGAggAygGKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiKtAQoNU0ZpeGVkMzJSdWxlcxINCgVjb25zdBgBIAEoDxIMCgJsdBgCIAEoD0gAEg0KA2x0ZRgDIAEoD0gAEgwKAmd0GAQgASgPSAESDQoDZ3RlGAUgASgPSAESCgoCaW4YBiADKA8SDgoGbm90X2luGAcgAygPEg8KB2V4YW1wbGUYCCADKA8qCQjoBxCAgICAAkILCglsZXNzX3RoYW5CDgoMZ3JlYXRlcl90aGFuIq0BCg1TRml4ZWQ2NFJ1bGVzEg0KBWNvbnN0GAEgASgQEgwKAmx0GAIgASgQSAASDQoDbHRlGAMgASgQSAASDAoCZ3QYBCABKBBIARINCgNndGUYBSABKBBIARIKCgJpbhgGIAMoEBIOCgZub3RfaW4YByADKBASDwoHZXhhbXBsZRgIIAMoECoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4iNgoJQm9vbFJ1bGVzEg0KBWNvbnN0GAEgASgIEg8KB2V4YW1wbGUYAiADKAgqCQjoBxCAgICAAiLJBQoLU3RyaW5nUnVsZXMSDQoFY29uc3QYASABKAkSCwoDbGVuGBMgASgEEg8KB21pbl9sZW4YAiABKAQSDwoHbWF4X2xlbhgDIAEoBBIRCglsZW5fYnl0ZXMYFCABKAQSEQoJbWluX2J5dGVzGAQgASgEEhEKCW1heF9ieXRlcxgFIAEoBBIPCgdwYXR0ZXJuGAYgASgJEg4KBnByZWZpeBgHIAEoCRIOCgZzdWZmaXgYCCABKAkSEAoIY29udGFpbnMYCSABKAkSFAoMbm90X2NvbnRhaW5zGBcgASgJEgoKAmluGAogAygJEg4KBm5vdF9pbhgLIAMoCRIPCgVlbWFpbBgMIAEoCEgAEhIKCGhvc3RuYW1lGA0gASgISAASDAoCaXAYDiABKAhIABIOCgRpcHY0GA8gASgISAASDgoEaXB2NhgQIAEoCEgAEg0KA3VyaRgRIAEoCEgAEhEKB3VyaV9yZWYYEiABKAhIABIRCgdhZGRyZXNzGBUgASgISAASDgoEdXVpZBgWIAEoCEgAEg8KBXR1dWlkGCEgASgISAASGwoRaXBfd2l0aF9wcmVmaXhsZW4YGiABKAhIABIdChNpcHY0X3dpdGhfcHJlZml4bGVuGBsgASgISAASHQoTaXB2Nl93aXRoX3ByZWZpeGxlbhgcIAEoCEgAEhMKCWlwX3ByZWZpeBgdIAEoCEgAEhUKC2lwdjRfcHJlZml4GB4gASgISAASFQoLaXB2Nl9wcmVmaXgYHyABKAhIABIXCg1ob3N0X2FuZF9wb3J0GCAgASgISAASNAoQd2VsbF9rbm93bl9yZWdleBgYIAEoDjIYLmJ1Zi52YWxpZGF0ZS5Lbm93blJlZ2V4SAASDgoGc3RyaWN0GBkgASgIEg8KB2V4YW1wbGUYIiADKAkqCQjoBxCAgICAAkIMCgp3ZWxsX2tub3duIoECCgpCeXRlc1J1bGVzEg0KBWNvbnN0GAEgASgMEgsKA2xlbhgNIAEoBBIPCgdtaW5fbGVuGAIgASgEEg8KB21heF9sZW4YAyABKAQSDwoHcGF0dGVybhgEIAEoCRIOCgZwcmVmaXgYBSABKAwSDgoGc3VmZml4GAYgASgMEhAKCGNvbnRhaW5zGAcgASgMEgoKAmluGAggAygMEg4KBm5vdF9pbhgJIAMoDBIMCgJpcBgKIAEoCEgAEg4KBGlwdjQYCyABKAhIABIOCgRpcHY2GAwgASgISAASDwoHZXhhbXBsZRgOIAMoDCoJCOgHEICAgIACQgwKCndlbGxfa25vd24iaAoJRW51bVJ1bGVzEg0KBWNvbnN0GAEgASgFEhQKDGRlZmluZWRfb25seRgCIAEoCBIKCgJpbhgDIAMoBRIOCgZub3RfaW4YBCADKAUSDwoHZXhhbXBsZRgFIAMoBSoJCOgHEICAgIACInkKDVJlcGVhdGVkUnVsZXMSEQoJbWluX2l0ZW1zGAEgASgEEhEKCW1heF9pdGVtcxgCIAEoBBIOCgZ1bmlxdWUYAyABKAgSJwoFaXRlbXMYBCABKAsyGC5idWYudmFsaWRhdGUuRmllbGRSdWxlcyoJCOgHEICAgIACIo0BCghNYXBSdWxlcxIRCgltaW5fcGFpcnMYASABKAQSEQoJbWF4X3BhaXJzGAIgASgEEiYKBGtleXMYBCABKAsyGC5idWYudmFsaWRhdGUuRmllbGRSdWxlcxIoCgZ2YWx1ZXMYBSABKAsyGC5idWYudmFsaWRhdGUuRmllbGRSdWxlcyoJCOgHEICAgIACIiYKCEFueVJ1bGVzEgoKAmluGAIgAygJEg4KBm5vdF9pbhgDIAMoCSKFAwoNRHVyYXRpb25SdWxlcxIoCgVjb25zdBgCIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhInCgJsdBgDIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbkgAEigKA2x0ZRgEIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbkgAEicKAmd0GAUgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uSAESKAoDZ3RlGAYgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uSAESJQoCaW4YByADKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24SKQoGbm90X2luGAggAygLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uEioKB2V4YW1wbGUYCSADKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24qCQjoBxCAgICAAkILCglsZXNzX3RoYW5CDgoMZ3JlYXRlcl90aGFuIokDCg5UaW1lc3RhbXBSdWxlcxIpCgVjb25zdBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASKAoCbHQYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAASKQoDbHRlGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAEhAKBmx0X25vdxgHIAEoCEgAEigKAmd0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgBEikKA2d0ZRgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIARIQCgZndF9ub3cYCCABKAhIARIpCgZ3aXRoaW4YCSABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24SKwoHZXhhbXBsZRgKIAMoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAqCQjoBxCAgICAAkILCglsZXNzX3RoYW5CDgoMZ3JlYXRlcl90aGFuIjkKClZpb2xhdGlvbnMSKwoKdmlvbGF0aW9ucxgBIAMoCzIXLmJ1Zi52YWxpZGF0ZS5WaW9sYXRpb24inwEKCVZpb2xhdGlvbhImCgVmaWVsZBgFIAEoCzIXLmJ1Zi52YWxpZGF0ZS5GaWVsZFBhdGgSJQoEcnVsZRgGIAEoCzIXLmJ1Zi52YWxpZGF0ZS5GaWVsZFBhdGgSDwoHcnVsZV9pZBgCIAEoCRIPCgdtZXNzYWdlGAMgASgJEg8KB2Zvcl9rZXkYBCABKAhKBAgBEAJSCmZpZWxkX3BhdGgiPQoJRmllbGRQYXRoEjAKCGVsZW1lbnRzGAEgAygLMh4uYnVmLnZhbGlkYXRlLkZpZWxkUGF0aEVsZW1lbnQi6QIKEEZpZWxkUGF0aEVsZW1lbnQSFAoMZmllbGRfbnVtYmVyGAEgASgFEhIKCmZpZWxkX25hbWUYAiABKAkSPgoKZmllbGRfdHlwZRgDIAEoDjIqLmdvb2dsZS5wcm90b2J1Zi5GaWVsZERlc2NyaXB0b3JQcm90by5UeXBlEjwKCGtleV90eXBlGAQgASgOMiouZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvLlR5cGUSPgoKdmFsdWVfdHlwZRgFIAEoDjIqLmdvb2dsZS5wcm90b2J1Zi5GaWVsZERlc2NyaXB0b3JQcm90by5UeXBlEg8KBWluZGV4GAYgASgESAASEgoIYm9vbF9rZXkYByABKAhIABIRCgdpbnRfa2V5GAggASgDSAASEgoIdWludF9rZXkYCSABKARIABIUCgpzdHJpbmdfa2V5GAogASgJSABCCwoJc3Vic2NyaXB0KocBCgZJZ25vcmUSFgoSSUdOT1JFX1VOU1BFQ0lGSUVEEAASGQoVSUdOT1JFX0lGX1VOUE9QVUxBVEVEEAESGwoXSUdOT1JFX0lGX0RFRkFVTFRfVkFMVUUQAhIRCg1JR05PUkVfQUxXQVlTEAMqGklHTk9SRV9FTVBUWUlHTk9SRV9ERUZBVUxUKm4KCktub3duUmVnZXgSGwoXS05PV05fUkVHRVhfVU5TUEVDSUZJRUQQABIgChxLTk9XTl9SRUdFWF9IVFRQX0hFQURFUl9OQU1FEAESIQodS05PV05fUkVHRVhfSFRUUF9IRUFERVJfVkFMVUUQAjpWCgdtZXNzYWdlEh8uZ29vZ2xlLnByb3RvYnVmLk1lc3NhZ2VPcHRpb25zGIcJIAEoCzIaLmJ1Zi52YWxpZGF0ZS5NZXNzYWdlUnVsZXNSB21lc3NhZ2U6TgoFb25lb2YSHS5nb29nbGUucHJvdG9idWYuT25lb2ZPcHRpb25zGIcJIAEoCzIYLmJ1Zi52YWxpZGF0ZS5PbmVvZlJ1bGVzUgVvbmVvZjpOCgVmaWVsZBIdLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMYhwkgASgLMhguYnVmLnZhbGlkYXRlLkZpZWxkUnVsZXNSBWZpZWxkOl0KCnByZWRlZmluZWQSHS5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zGIgJIAEoCzIdLmJ1Zi52YWxpZGF0ZS5QcmVkZWZpbmVkUnVsZXNSCnByZWRlZmluZWQ", [file_google_protobuf_descriptor, file_google_protobuf_duration, file_google_protobuf_timestamp]); + +/** + * @generated from message buf.validate.Rule + */ +export type Rule = Message<"buf.validate.Rule"> & { + /** + * @generated from field: optional string id = 1; + */ + id: string; + + /** + * @generated from field: optional string message = 2; + */ + message: string; + + /** + * @generated from field: optional string expression = 3; + */ + expression: string; +}; + +/** + * Describes the message buf.validate.Rule. + * Use `create(RuleSchema)` to create a new message. + */ +export const RuleSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_buf_validate_validate, 0); + +/** + * @generated from message buf.validate.MessageRules + */ +export type MessageRules = Message<"buf.validate.MessageRules"> & { + /** + * @generated from field: optional bool disabled = 1; + */ + disabled: boolean; + + /** + * @generated from field: repeated buf.validate.Rule cel = 3; + */ + cel: Rule[]; +}; + +/** + * Describes the message buf.validate.MessageRules. + * Use `create(MessageRulesSchema)` to create a new message. + */ +export const MessageRulesSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_buf_validate_validate, 1); + +/** + * @generated from message buf.validate.OneofRules + */ +export type OneofRules = Message<"buf.validate.OneofRules"> & { + /** + * @generated from field: optional bool required = 1; + */ + required: boolean; +}; + +/** + * Describes the message buf.validate.OneofRules. + * Use `create(OneofRulesSchema)` to create a new message. + */ +export const OneofRulesSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_buf_validate_validate, 2); + +/** + * @generated from message buf.validate.FieldRules + */ +export type FieldRules = Message<"buf.validate.FieldRules"> & { + /** + * @generated from field: repeated buf.validate.Rule cel = 23; + */ + cel: Rule[]; + + /** + * @generated from field: optional bool required = 25; + */ + required: boolean; + + /** + * @generated from field: optional buf.validate.Ignore ignore = 27; + */ + ignore: Ignore; + + /** + * @generated from oneof buf.validate.FieldRules.type + */ + type: { + /** + * @generated from field: buf.validate.FloatRules float = 1; + */ + value: FloatRules; + case: "float"; + } | { + /** + * @generated from field: buf.validate.DoubleRules double = 2; + */ + value: DoubleRules; + case: "double"; + } | { + /** + * @generated from field: buf.validate.Int32Rules int32 = 3; + */ + value: Int32Rules; + case: "int32"; + } | { + /** + * @generated from field: buf.validate.Int64Rules int64 = 4; + */ + value: Int64Rules; + case: "int64"; + } | { + /** + * @generated from field: buf.validate.UInt32Rules uint32 = 5; + */ + value: UInt32Rules; + case: "uint32"; + } | { + /** + * @generated from field: buf.validate.UInt64Rules uint64 = 6; + */ + value: UInt64Rules; + case: "uint64"; + } | { + /** + * @generated from field: buf.validate.SInt32Rules sint32 = 7; + */ + value: SInt32Rules; + case: "sint32"; + } | { + /** + * @generated from field: buf.validate.SInt64Rules sint64 = 8; + */ + value: SInt64Rules; + case: "sint64"; + } | { + /** + * @generated from field: buf.validate.Fixed32Rules fixed32 = 9; + */ + value: Fixed32Rules; + case: "fixed32"; + } | { + /** + * @generated from field: buf.validate.Fixed64Rules fixed64 = 10; + */ + value: Fixed64Rules; + case: "fixed64"; + } | { + /** + * @generated from field: buf.validate.SFixed32Rules sfixed32 = 11; + */ + value: SFixed32Rules; + case: "sfixed32"; + } | { + /** + * @generated from field: buf.validate.SFixed64Rules sfixed64 = 12; + */ + value: SFixed64Rules; + case: "sfixed64"; + } | { + /** + * @generated from field: buf.validate.BoolRules bool = 13; + */ + value: BoolRules; + case: "bool"; + } | { + /** + * @generated from field: buf.validate.StringRules string = 14; + */ + value: StringRules; + case: "string"; + } | { + /** + * @generated from field: buf.validate.BytesRules bytes = 15; + */ + value: BytesRules; + case: "bytes"; + } | { + /** + * @generated from field: buf.validate.EnumRules enum = 16; + */ + value: EnumRules; + case: "enum"; + } | { + /** + * @generated from field: buf.validate.RepeatedRules repeated = 18; + */ + value: RepeatedRules; + case: "repeated"; + } | { + /** + * @generated from field: buf.validate.MapRules map = 19; + */ + value: MapRules; + case: "map"; + } | { + /** + * @generated from field: buf.validate.AnyRules any = 20; + */ + value: AnyRules; + case: "any"; + } | { + /** + * @generated from field: buf.validate.DurationRules duration = 21; + */ + value: DurationRules; + case: "duration"; + } | { + /** + * @generated from field: buf.validate.TimestampRules timestamp = 22; + */ + value: TimestampRules; + case: "timestamp"; + } | { case: undefined; value?: undefined }; +}; + +/** + * Describes the message buf.validate.FieldRules. + * Use `create(FieldRulesSchema)` to create a new message. + */ +export const FieldRulesSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_buf_validate_validate, 3); + +/** + * @generated from message buf.validate.PredefinedRules + */ +export type PredefinedRules = Message<"buf.validate.PredefinedRules"> & { + /** + * @generated from field: repeated buf.validate.Rule cel = 1; + */ + cel: Rule[]; +}; + +/** + * Describes the message buf.validate.PredefinedRules. + * Use `create(PredefinedRulesSchema)` to create a new message. + */ +export const PredefinedRulesSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_buf_validate_validate, 4); + +/** + * @generated from message buf.validate.FloatRules + */ +export type FloatRules = Message<"buf.validate.FloatRules"> & { + /** + * @generated from field: optional float const = 1; + */ + const: number; + + /** + * @generated from oneof buf.validate.FloatRules.less_than + */ + lessThan: { + /** + * @generated from field: float lt = 2; + */ + value: number; + case: "lt"; + } | { + /** + * @generated from field: float lte = 3; + */ + value: number; + case: "lte"; + } | { case: undefined; value?: undefined }; + + /** + * @generated from oneof buf.validate.FloatRules.greater_than + */ + greaterThan: { + /** + * @generated from field: float gt = 4; + */ + value: number; + case: "gt"; + } | { + /** + * @generated from field: float gte = 5; + */ + value: number; + case: "gte"; + } | { case: undefined; value?: undefined }; + + /** + * @generated from field: repeated float in = 6; + */ + in: number[]; + + /** + * @generated from field: repeated float not_in = 7; + */ + notIn: number[]; + + /** + * @generated from field: optional bool finite = 8; + */ + finite: boolean; + + /** + * @generated from field: repeated float example = 9; + */ + example: number[]; +}; + +/** + * Describes the message buf.validate.FloatRules. + * Use `create(FloatRulesSchema)` to create a new message. + */ +export const FloatRulesSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_buf_validate_validate, 5); + +/** + * @generated from message buf.validate.DoubleRules + */ +export type DoubleRules = Message<"buf.validate.DoubleRules"> & { + /** + * @generated from field: optional double const = 1; + */ + const: number; + + /** + * @generated from oneof buf.validate.DoubleRules.less_than + */ + lessThan: { + /** + * @generated from field: double lt = 2; + */ + value: number; + case: "lt"; + } | { + /** + * @generated from field: double lte = 3; + */ + value: number; + case: "lte"; + } | { case: undefined; value?: undefined }; + + /** + * @generated from oneof buf.validate.DoubleRules.greater_than + */ + greaterThan: { + /** + * @generated from field: double gt = 4; + */ + value: number; + case: "gt"; + } | { + /** + * @generated from field: double gte = 5; + */ + value: number; + case: "gte"; + } | { case: undefined; value?: undefined }; + + /** + * @generated from field: repeated double in = 6; + */ + in: number[]; + + /** + * @generated from field: repeated double not_in = 7; + */ + notIn: number[]; + + /** + * @generated from field: optional bool finite = 8; + */ + finite: boolean; + + /** + * @generated from field: repeated double example = 9; + */ + example: number[]; +}; + +/** + * Describes the message buf.validate.DoubleRules. + * Use `create(DoubleRulesSchema)` to create a new message. + */ +export const DoubleRulesSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_buf_validate_validate, 6); + +/** + * @generated from message buf.validate.Int32Rules + */ +export type Int32Rules = Message<"buf.validate.Int32Rules"> & { + /** + * @generated from field: optional int32 const = 1; + */ + const: number; + + /** + * @generated from oneof buf.validate.Int32Rules.less_than + */ + lessThan: { + /** + * @generated from field: int32 lt = 2; + */ + value: number; + case: "lt"; + } | { + /** + * @generated from field: int32 lte = 3; + */ + value: number; + case: "lte"; + } | { case: undefined; value?: undefined }; + + /** + * @generated from oneof buf.validate.Int32Rules.greater_than + */ + greaterThan: { + /** + * @generated from field: int32 gt = 4; + */ + value: number; + case: "gt"; + } | { + /** + * @generated from field: int32 gte = 5; + */ + value: number; + case: "gte"; + } | { case: undefined; value?: undefined }; + + /** + * @generated from field: repeated int32 in = 6; + */ + in: number[]; + + /** + * @generated from field: repeated int32 not_in = 7; + */ + notIn: number[]; + + /** + * @generated from field: repeated int32 example = 8; + */ + example: number[]; +}; + +/** + * Describes the message buf.validate.Int32Rules. + * Use `create(Int32RulesSchema)` to create a new message. + */ +export const Int32RulesSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_buf_validate_validate, 7); + +/** + * @generated from message buf.validate.Int64Rules + */ +export type Int64Rules = Message<"buf.validate.Int64Rules"> & { + /** + * @generated from field: optional int64 const = 1; + */ + const: bigint; + + /** + * @generated from oneof buf.validate.Int64Rules.less_than + */ + lessThan: { + /** + * @generated from field: int64 lt = 2; + */ + value: bigint; + case: "lt"; + } | { + /** + * @generated from field: int64 lte = 3; + */ + value: bigint; + case: "lte"; + } | { case: undefined; value?: undefined }; + + /** + * @generated from oneof buf.validate.Int64Rules.greater_than + */ + greaterThan: { + /** + * @generated from field: int64 gt = 4; + */ + value: bigint; + case: "gt"; + } | { + /** + * @generated from field: int64 gte = 5; + */ + value: bigint; + case: "gte"; + } | { case: undefined; value?: undefined }; + + /** + * @generated from field: repeated int64 in = 6; + */ + in: bigint[]; + + /** + * @generated from field: repeated int64 not_in = 7; + */ + notIn: bigint[]; + + /** + * @generated from field: repeated int64 example = 9; + */ + example: bigint[]; +}; + +/** + * Describes the message buf.validate.Int64Rules. + * Use `create(Int64RulesSchema)` to create a new message. + */ +export const Int64RulesSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_buf_validate_validate, 8); + +/** + * @generated from message buf.validate.UInt32Rules + */ +export type UInt32Rules = Message<"buf.validate.UInt32Rules"> & { + /** + * @generated from field: optional uint32 const = 1; + */ + const: number; + + /** + * @generated from oneof buf.validate.UInt32Rules.less_than + */ + lessThan: { + /** + * @generated from field: uint32 lt = 2; + */ + value: number; + case: "lt"; + } | { + /** + * @generated from field: uint32 lte = 3; + */ + value: number; + case: "lte"; + } | { case: undefined; value?: undefined }; + + /** + * @generated from oneof buf.validate.UInt32Rules.greater_than + */ + greaterThan: { + /** + * @generated from field: uint32 gt = 4; + */ + value: number; + case: "gt"; + } | { + /** + * @generated from field: uint32 gte = 5; + */ + value: number; + case: "gte"; + } | { case: undefined; value?: undefined }; + + /** + * @generated from field: repeated uint32 in = 6; + */ + in: number[]; + + /** + * @generated from field: repeated uint32 not_in = 7; + */ + notIn: number[]; + + /** + * @generated from field: repeated uint32 example = 8; + */ + example: number[]; +}; + +/** + * Describes the message buf.validate.UInt32Rules. + * Use `create(UInt32RulesSchema)` to create a new message. + */ +export const UInt32RulesSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_buf_validate_validate, 9); + +/** + * @generated from message buf.validate.UInt64Rules + */ +export type UInt64Rules = Message<"buf.validate.UInt64Rules"> & { + /** + * @generated from field: optional uint64 const = 1; + */ + const: bigint; + + /** + * @generated from oneof buf.validate.UInt64Rules.less_than + */ + lessThan: { + /** + * @generated from field: uint64 lt = 2; + */ + value: bigint; + case: "lt"; + } | { + /** + * @generated from field: uint64 lte = 3; + */ + value: bigint; + case: "lte"; + } | { case: undefined; value?: undefined }; + + /** + * @generated from oneof buf.validate.UInt64Rules.greater_than + */ + greaterThan: { + /** + * @generated from field: uint64 gt = 4; + */ + value: bigint; + case: "gt"; + } | { + /** + * @generated from field: uint64 gte = 5; + */ + value: bigint; + case: "gte"; + } | { case: undefined; value?: undefined }; + + /** + * @generated from field: repeated uint64 in = 6; + */ + in: bigint[]; + + /** + * @generated from field: repeated uint64 not_in = 7; + */ + notIn: bigint[]; + + /** + * @generated from field: repeated uint64 example = 8; + */ + example: bigint[]; +}; + +/** + * Describes the message buf.validate.UInt64Rules. + * Use `create(UInt64RulesSchema)` to create a new message. + */ +export const UInt64RulesSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_buf_validate_validate, 10); + +/** + * @generated from message buf.validate.SInt32Rules + */ +export type SInt32Rules = Message<"buf.validate.SInt32Rules"> & { + /** + * @generated from field: optional sint32 const = 1; + */ + const: number; + + /** + * @generated from oneof buf.validate.SInt32Rules.less_than + */ + lessThan: { + /** + * @generated from field: sint32 lt = 2; + */ + value: number; + case: "lt"; + } | { + /** + * @generated from field: sint32 lte = 3; + */ + value: number; + case: "lte"; + } | { case: undefined; value?: undefined }; + + /** + * @generated from oneof buf.validate.SInt32Rules.greater_than + */ + greaterThan: { + /** + * @generated from field: sint32 gt = 4; + */ + value: number; + case: "gt"; + } | { + /** + * @generated from field: sint32 gte = 5; + */ + value: number; + case: "gte"; + } | { case: undefined; value?: undefined }; + + /** + * @generated from field: repeated sint32 in = 6; + */ + in: number[]; + + /** + * @generated from field: repeated sint32 not_in = 7; + */ + notIn: number[]; + + /** + * @generated from field: repeated sint32 example = 8; + */ + example: number[]; +}; + +/** + * Describes the message buf.validate.SInt32Rules. + * Use `create(SInt32RulesSchema)` to create a new message. + */ +export const SInt32RulesSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_buf_validate_validate, 11); + +/** + * @generated from message buf.validate.SInt64Rules + */ +export type SInt64Rules = Message<"buf.validate.SInt64Rules"> & { + /** + * @generated from field: optional sint64 const = 1; + */ + const: bigint; + + /** + * @generated from oneof buf.validate.SInt64Rules.less_than + */ + lessThan: { + /** + * @generated from field: sint64 lt = 2; + */ + value: bigint; + case: "lt"; + } | { + /** + * @generated from field: sint64 lte = 3; + */ + value: bigint; + case: "lte"; + } | { case: undefined; value?: undefined }; + + /** + * @generated from oneof buf.validate.SInt64Rules.greater_than + */ + greaterThan: { + /** + * @generated from field: sint64 gt = 4; + */ + value: bigint; + case: "gt"; + } | { + /** + * @generated from field: sint64 gte = 5; + */ + value: bigint; + case: "gte"; + } | { case: undefined; value?: undefined }; + + /** + * @generated from field: repeated sint64 in = 6; + */ + in: bigint[]; + + /** + * @generated from field: repeated sint64 not_in = 7; + */ + notIn: bigint[]; + + /** + * @generated from field: repeated sint64 example = 8; + */ + example: bigint[]; +}; + +/** + * Describes the message buf.validate.SInt64Rules. + * Use `create(SInt64RulesSchema)` to create a new message. + */ +export const SInt64RulesSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_buf_validate_validate, 12); + +/** + * @generated from message buf.validate.Fixed32Rules + */ +export type Fixed32Rules = Message<"buf.validate.Fixed32Rules"> & { + /** + * @generated from field: optional fixed32 const = 1; + */ + const: number; + + /** + * @generated from oneof buf.validate.Fixed32Rules.less_than + */ + lessThan: { + /** + * @generated from field: fixed32 lt = 2; + */ + value: number; + case: "lt"; + } | { + /** + * @generated from field: fixed32 lte = 3; + */ + value: number; + case: "lte"; + } | { case: undefined; value?: undefined }; + + /** + * @generated from oneof buf.validate.Fixed32Rules.greater_than + */ + greaterThan: { + /** + * @generated from field: fixed32 gt = 4; + */ + value: number; + case: "gt"; + } | { + /** + * @generated from field: fixed32 gte = 5; + */ + value: number; + case: "gte"; + } | { case: undefined; value?: undefined }; + + /** + * @generated from field: repeated fixed32 in = 6; + */ + in: number[]; + + /** + * @generated from field: repeated fixed32 not_in = 7; + */ + notIn: number[]; + + /** + * @generated from field: repeated fixed32 example = 8; + */ + example: number[]; +}; + +/** + * Describes the message buf.validate.Fixed32Rules. + * Use `create(Fixed32RulesSchema)` to create a new message. + */ +export const Fixed32RulesSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_buf_validate_validate, 13); + +/** + * @generated from message buf.validate.Fixed64Rules + */ +export type Fixed64Rules = Message<"buf.validate.Fixed64Rules"> & { + /** + * @generated from field: optional fixed64 const = 1; + */ + const: bigint; + + /** + * @generated from oneof buf.validate.Fixed64Rules.less_than + */ + lessThan: { + /** + * @generated from field: fixed64 lt = 2; + */ + value: bigint; + case: "lt"; + } | { + /** + * @generated from field: fixed64 lte = 3; + */ + value: bigint; + case: "lte"; + } | { case: undefined; value?: undefined }; + + /** + * @generated from oneof buf.validate.Fixed64Rules.greater_than + */ + greaterThan: { + /** + * @generated from field: fixed64 gt = 4; + */ + value: bigint; + case: "gt"; + } | { + /** + * @generated from field: fixed64 gte = 5; + */ + value: bigint; + case: "gte"; + } | { case: undefined; value?: undefined }; + + /** + * @generated from field: repeated fixed64 in = 6; + */ + in: bigint[]; + + /** + * @generated from field: repeated fixed64 not_in = 7; + */ + notIn: bigint[]; + + /** + * @generated from field: repeated fixed64 example = 8; + */ + example: bigint[]; +}; + +/** + * Describes the message buf.validate.Fixed64Rules. + * Use `create(Fixed64RulesSchema)` to create a new message. + */ +export const Fixed64RulesSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_buf_validate_validate, 14); + +/** + * @generated from message buf.validate.SFixed32Rules + */ +export type SFixed32Rules = Message<"buf.validate.SFixed32Rules"> & { + /** + * @generated from field: optional sfixed32 const = 1; + */ + const: number; + + /** + * @generated from oneof buf.validate.SFixed32Rules.less_than + */ + lessThan: { + /** + * @generated from field: sfixed32 lt = 2; + */ + value: number; + case: "lt"; + } | { + /** + * @generated from field: sfixed32 lte = 3; + */ + value: number; + case: "lte"; + } | { case: undefined; value?: undefined }; + + /** + * @generated from oneof buf.validate.SFixed32Rules.greater_than + */ + greaterThan: { + /** + * @generated from field: sfixed32 gt = 4; + */ + value: number; + case: "gt"; + } | { + /** + * @generated from field: sfixed32 gte = 5; + */ + value: number; + case: "gte"; + } | { case: undefined; value?: undefined }; + + /** + * @generated from field: repeated sfixed32 in = 6; + */ + in: number[]; + + /** + * @generated from field: repeated sfixed32 not_in = 7; + */ + notIn: number[]; + + /** + * @generated from field: repeated sfixed32 example = 8; + */ + example: number[]; +}; + +/** + * Describes the message buf.validate.SFixed32Rules. + * Use `create(SFixed32RulesSchema)` to create a new message. + */ +export const SFixed32RulesSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_buf_validate_validate, 15); + +/** + * @generated from message buf.validate.SFixed64Rules + */ +export type SFixed64Rules = Message<"buf.validate.SFixed64Rules"> & { + /** + * @generated from field: optional sfixed64 const = 1; + */ + const: bigint; + + /** + * @generated from oneof buf.validate.SFixed64Rules.less_than + */ + lessThan: { + /** + * @generated from field: sfixed64 lt = 2; + */ + value: bigint; + case: "lt"; + } | { + /** + * @generated from field: sfixed64 lte = 3; + */ + value: bigint; + case: "lte"; + } | { case: undefined; value?: undefined }; + + /** + * @generated from oneof buf.validate.SFixed64Rules.greater_than + */ + greaterThan: { + /** + * @generated from field: sfixed64 gt = 4; + */ + value: bigint; + case: "gt"; + } | { + /** + * @generated from field: sfixed64 gte = 5; + */ + value: bigint; + case: "gte"; + } | { case: undefined; value?: undefined }; + + /** + * @generated from field: repeated sfixed64 in = 6; + */ + in: bigint[]; + + /** + * @generated from field: repeated sfixed64 not_in = 7; + */ + notIn: bigint[]; + + /** + * @generated from field: repeated sfixed64 example = 8; + */ + example: bigint[]; +}; + +/** + * Describes the message buf.validate.SFixed64Rules. + * Use `create(SFixed64RulesSchema)` to create a new message. + */ +export const SFixed64RulesSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_buf_validate_validate, 16); + +/** + * @generated from message buf.validate.BoolRules + */ +export type BoolRules = Message<"buf.validate.BoolRules"> & { + /** + * @generated from field: optional bool const = 1; + */ + const: boolean; + + /** + * @generated from field: repeated bool example = 2; + */ + example: boolean[]; +}; + +/** + * Describes the message buf.validate.BoolRules. + * Use `create(BoolRulesSchema)` to create a new message. + */ +export const BoolRulesSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_buf_validate_validate, 17); + +/** + * @generated from message buf.validate.StringRules + */ +export type StringRules = Message<"buf.validate.StringRules"> & { + /** + * @generated from field: optional string const = 1; + */ + const: string; + + /** + * @generated from field: optional uint64 len = 19; + */ + len: bigint; + + /** + * @generated from field: optional uint64 min_len = 2; + */ + minLen: bigint; + + /** + * @generated from field: optional uint64 max_len = 3; + */ + maxLen: bigint; + + /** + * @generated from field: optional uint64 len_bytes = 20; + */ + lenBytes: bigint; + + /** + * @generated from field: optional uint64 min_bytes = 4; + */ + minBytes: bigint; + + /** + * @generated from field: optional uint64 max_bytes = 5; + */ + maxBytes: bigint; + + /** + * @generated from field: optional string pattern = 6; + */ + pattern: string; + + /** + * @generated from field: optional string prefix = 7; + */ + prefix: string; + + /** + * @generated from field: optional string suffix = 8; + */ + suffix: string; + + /** + * @generated from field: optional string contains = 9; + */ + contains: string; + + /** + * @generated from field: optional string not_contains = 23; + */ + notContains: string; + + /** + * @generated from field: repeated string in = 10; + */ + in: string[]; + + /** + * @generated from field: repeated string not_in = 11; + */ + notIn: string[]; + + /** + * @generated from oneof buf.validate.StringRules.well_known + */ + wellKnown: { + /** + * @generated from field: bool email = 12; + */ + value: boolean; + case: "email"; + } | { + /** + * @generated from field: bool hostname = 13; + */ + value: boolean; + case: "hostname"; + } | { + /** + * @generated from field: bool ip = 14; + */ + value: boolean; + case: "ip"; + } | { + /** + * @generated from field: bool ipv4 = 15; + */ + value: boolean; + case: "ipv4"; + } | { + /** + * @generated from field: bool ipv6 = 16; + */ + value: boolean; + case: "ipv6"; + } | { + /** + * @generated from field: bool uri = 17; + */ + value: boolean; + case: "uri"; + } | { + /** + * @generated from field: bool uri_ref = 18; + */ + value: boolean; + case: "uriRef"; + } | { + /** + * @generated from field: bool address = 21; + */ + value: boolean; + case: "address"; + } | { + /** + * @generated from field: bool uuid = 22; + */ + value: boolean; + case: "uuid"; + } | { + /** + * @generated from field: bool tuuid = 33; + */ + value: boolean; + case: "tuuid"; + } | { + /** + * @generated from field: bool ip_with_prefixlen = 26; + */ + value: boolean; + case: "ipWithPrefixlen"; + } | { + /** + * @generated from field: bool ipv4_with_prefixlen = 27; + */ + value: boolean; + case: "ipv4WithPrefixlen"; + } | { + /** + * @generated from field: bool ipv6_with_prefixlen = 28; + */ + value: boolean; + case: "ipv6WithPrefixlen"; + } | { + /** + * @generated from field: bool ip_prefix = 29; + */ + value: boolean; + case: "ipPrefix"; + } | { + /** + * @generated from field: bool ipv4_prefix = 30; + */ + value: boolean; + case: "ipv4Prefix"; + } | { + /** + * @generated from field: bool ipv6_prefix = 31; + */ + value: boolean; + case: "ipv6Prefix"; + } | { + /** + * @generated from field: bool host_and_port = 32; + */ + value: boolean; + case: "hostAndPort"; + } | { + /** + * @generated from field: buf.validate.KnownRegex well_known_regex = 24; + */ + value: KnownRegex; + case: "wellKnownRegex"; + } | { case: undefined; value?: undefined }; + + /** + * @generated from field: optional bool strict = 25; + */ + strict: boolean; + + /** + * @generated from field: repeated string example = 34; + */ + example: string[]; +}; + +/** + * Describes the message buf.validate.StringRules. + * Use `create(StringRulesSchema)` to create a new message. + */ +export const StringRulesSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_buf_validate_validate, 18); + +/** + * @generated from message buf.validate.BytesRules + */ +export type BytesRules = Message<"buf.validate.BytesRules"> & { + /** + * @generated from field: optional bytes const = 1; + */ + const: Uint8Array; + + /** + * @generated from field: optional uint64 len = 13; + */ + len: bigint; + + /** + * @generated from field: optional uint64 min_len = 2; + */ + minLen: bigint; + + /** + * @generated from field: optional uint64 max_len = 3; + */ + maxLen: bigint; + + /** + * @generated from field: optional string pattern = 4; + */ + pattern: string; + + /** + * @generated from field: optional bytes prefix = 5; + */ + prefix: Uint8Array; + + /** + * @generated from field: optional bytes suffix = 6; + */ + suffix: Uint8Array; + + /** + * @generated from field: optional bytes contains = 7; + */ + contains: Uint8Array; + + /** + * @generated from field: repeated bytes in = 8; + */ + in: Uint8Array[]; + + /** + * @generated from field: repeated bytes not_in = 9; + */ + notIn: Uint8Array[]; + + /** + * @generated from oneof buf.validate.BytesRules.well_known + */ + wellKnown: { + /** + * @generated from field: bool ip = 10; + */ + value: boolean; + case: "ip"; + } | { + /** + * @generated from field: bool ipv4 = 11; + */ + value: boolean; + case: "ipv4"; + } | { + /** + * @generated from field: bool ipv6 = 12; + */ + value: boolean; + case: "ipv6"; + } | { case: undefined; value?: undefined }; + + /** + * @generated from field: repeated bytes example = 14; + */ + example: Uint8Array[]; +}; + +/** + * Describes the message buf.validate.BytesRules. + * Use `create(BytesRulesSchema)` to create a new message. + */ +export const BytesRulesSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_buf_validate_validate, 19); + +/** + * @generated from message buf.validate.EnumRules + */ +export type EnumRules = Message<"buf.validate.EnumRules"> & { + /** + * @generated from field: optional int32 const = 1; + */ + const: number; + + /** + * @generated from field: optional bool defined_only = 2; + */ + definedOnly: boolean; + + /** + * @generated from field: repeated int32 in = 3; + */ + in: number[]; + + /** + * @generated from field: repeated int32 not_in = 4; + */ + notIn: number[]; + + /** + * @generated from field: repeated int32 example = 5; + */ + example: number[]; +}; + +/** + * Describes the message buf.validate.EnumRules. + * Use `create(EnumRulesSchema)` to create a new message. + */ +export const EnumRulesSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_buf_validate_validate, 20); + +/** + * @generated from message buf.validate.RepeatedRules + */ +export type RepeatedRules = Message<"buf.validate.RepeatedRules"> & { + /** + * @generated from field: optional uint64 min_items = 1; + */ + minItems: bigint; + + /** + * @generated from field: optional uint64 max_items = 2; + */ + maxItems: bigint; + + /** + * @generated from field: optional bool unique = 3; + */ + unique: boolean; + + /** + * @generated from field: optional buf.validate.FieldRules items = 4; + */ + items?: FieldRules | undefined; +}; + +/** + * Describes the message buf.validate.RepeatedRules. + * Use `create(RepeatedRulesSchema)` to create a new message. + */ +export const RepeatedRulesSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_buf_validate_validate, 21); + +/** + * @generated from message buf.validate.MapRules + */ +export type MapRules = Message<"buf.validate.MapRules"> & { + /** + * @generated from field: optional uint64 min_pairs = 1; + */ + minPairs: bigint; + + /** + * @generated from field: optional uint64 max_pairs = 2; + */ + maxPairs: bigint; + + /** + * @generated from field: optional buf.validate.FieldRules keys = 4; + */ + keys?: FieldRules | undefined; + + /** + * @generated from field: optional buf.validate.FieldRules values = 5; + */ + values?: FieldRules | undefined; +}; + +/** + * Describes the message buf.validate.MapRules. + * Use `create(MapRulesSchema)` to create a new message. + */ +export const MapRulesSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_buf_validate_validate, 22); + +/** + * @generated from message buf.validate.AnyRules + */ +export type AnyRules = Message<"buf.validate.AnyRules"> & { + /** + * @generated from field: repeated string in = 2; + */ + in: string[]; + + /** + * @generated from field: repeated string not_in = 3; + */ + notIn: string[]; +}; + +/** + * Describes the message buf.validate.AnyRules. + * Use `create(AnyRulesSchema)` to create a new message. + */ +export const AnyRulesSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_buf_validate_validate, 23); + +/** + * @generated from message buf.validate.DurationRules + */ +export type DurationRules = Message<"buf.validate.DurationRules"> & { + /** + * @generated from field: optional google.protobuf.Duration const = 2; + */ + const?: Duration | undefined; + + /** + * @generated from oneof buf.validate.DurationRules.less_than + */ + lessThan: { + /** + * @generated from field: google.protobuf.Duration lt = 3; + */ + value: Duration; + case: "lt"; + } | { + /** + * @generated from field: google.protobuf.Duration lte = 4; + */ + value: Duration; + case: "lte"; + } | { case: undefined; value?: undefined }; + + /** + * @generated from oneof buf.validate.DurationRules.greater_than + */ + greaterThan: { + /** + * @generated from field: google.protobuf.Duration gt = 5; + */ + value: Duration; + case: "gt"; + } | { + /** + * @generated from field: google.protobuf.Duration gte = 6; + */ + value: Duration; + case: "gte"; + } | { case: undefined; value?: undefined }; + + /** + * @generated from field: repeated google.protobuf.Duration in = 7; + */ + in: Duration[]; + + /** + * @generated from field: repeated google.protobuf.Duration not_in = 8; + */ + notIn: Duration[]; + + /** + * @generated from field: repeated google.protobuf.Duration example = 9; + */ + example: Duration[]; +}; + +/** + * Describes the message buf.validate.DurationRules. + * Use `create(DurationRulesSchema)` to create a new message. + */ +export const DurationRulesSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_buf_validate_validate, 24); + +/** + * @generated from message buf.validate.TimestampRules + */ +export type TimestampRules = Message<"buf.validate.TimestampRules"> & { + /** + * @generated from field: optional google.protobuf.Timestamp const = 2; + */ + const?: Timestamp | undefined; + + /** + * @generated from oneof buf.validate.TimestampRules.less_than + */ + lessThan: { + /** + * @generated from field: google.protobuf.Timestamp lt = 3; + */ + value: Timestamp; + case: "lt"; + } | { + /** + * @generated from field: google.protobuf.Timestamp lte = 4; + */ + value: Timestamp; + case: "lte"; + } | { + /** + * @generated from field: bool lt_now = 7; + */ + value: boolean; + case: "ltNow"; + } | { case: undefined; value?: undefined }; + + /** + * @generated from oneof buf.validate.TimestampRules.greater_than + */ + greaterThan: { + /** + * @generated from field: google.protobuf.Timestamp gt = 5; + */ + value: Timestamp; + case: "gt"; + } | { + /** + * @generated from field: google.protobuf.Timestamp gte = 6; + */ + value: Timestamp; + case: "gte"; + } | { + /** + * @generated from field: bool gt_now = 8; + */ + value: boolean; + case: "gtNow"; + } | { case: undefined; value?: undefined }; + + /** + * @generated from field: optional google.protobuf.Duration within = 9; + */ + within?: Duration | undefined; + + /** + * @generated from field: repeated google.protobuf.Timestamp example = 10; + */ + example: Timestamp[]; +}; + +/** + * Describes the message buf.validate.TimestampRules. + * Use `create(TimestampRulesSchema)` to create a new message. + */ +export const TimestampRulesSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_buf_validate_validate, 25); + +/** + * @generated from message buf.validate.Violations + */ +export type Violations = Message<"buf.validate.Violations"> & { + /** + * @generated from field: repeated buf.validate.Violation violations = 1; + */ + violations: Violation[]; +}; + +/** + * Describes the message buf.validate.Violations. + * Use `create(ViolationsSchema)` to create a new message. + */ +export const ViolationsSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_buf_validate_validate, 26); + +/** + * @generated from message buf.validate.Violation + */ +export type Violation = Message<"buf.validate.Violation"> & { + /** + * @generated from field: optional buf.validate.FieldPath field = 5; + */ + field?: FieldPath | undefined; + + /** + * @generated from field: optional buf.validate.FieldPath rule = 6; + */ + rule?: FieldPath | undefined; + + /** + * @generated from field: optional string rule_id = 2; + */ + ruleId: string; + + /** + * @generated from field: optional string message = 3; + */ + message: string; + + /** + * @generated from field: optional bool for_key = 4; + */ + forKey: boolean; +}; + +/** + * Describes the message buf.validate.Violation. + * Use `create(ViolationSchema)` to create a new message. + */ +export const ViolationSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_buf_validate_validate, 27); + +/** + * @generated from message buf.validate.FieldPath + */ +export type FieldPath = Message<"buf.validate.FieldPath"> & { + /** + * @generated from field: repeated buf.validate.FieldPathElement elements = 1; + */ + elements: FieldPathElement[]; +}; + +/** + * Describes the message buf.validate.FieldPath. + * Use `create(FieldPathSchema)` to create a new message. + */ +export const FieldPathSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_buf_validate_validate, 28); + +/** + * @generated from message buf.validate.FieldPathElement + */ +export type FieldPathElement = Message<"buf.validate.FieldPathElement"> & { + /** + * @generated from field: optional int32 field_number = 1; + */ + fieldNumber: number; + + /** + * @generated from field: optional string field_name = 2; + */ + fieldName: string; + + /** + * @generated from field: optional google.protobuf.FieldDescriptorProto.Type field_type = 3; + */ + fieldType: FieldDescriptorProto_Type; + + /** + * @generated from field: optional google.protobuf.FieldDescriptorProto.Type key_type = 4; + */ + keyType: FieldDescriptorProto_Type; + + /** + * @generated from field: optional google.protobuf.FieldDescriptorProto.Type value_type = 5; + */ + valueType: FieldDescriptorProto_Type; + + /** + * @generated from oneof buf.validate.FieldPathElement.subscript + */ + subscript: { + /** + * @generated from field: uint64 index = 6; + */ + value: bigint; + case: "index"; + } | { + /** + * @generated from field: bool bool_key = 7; + */ + value: boolean; + case: "boolKey"; + } | { + /** + * @generated from field: int64 int_key = 8; + */ + value: bigint; + case: "intKey"; + } | { + /** + * @generated from field: uint64 uint_key = 9; + */ + value: bigint; + case: "uintKey"; + } | { + /** + * @generated from field: string string_key = 10; + */ + value: string; + case: "stringKey"; + } | { case: undefined; value?: undefined }; +}; + +/** + * Describes the message buf.validate.FieldPathElement. + * Use `create(FieldPathElementSchema)` to create a new message. + */ +export const FieldPathElementSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_buf_validate_validate, 29); + +/** + * @generated from enum buf.validate.Ignore + */ +export enum Ignore { + /** + * @generated from enum value: IGNORE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: IGNORE_IF_UNPOPULATED = 1; + */ + IF_UNPOPULATED = 1, + + /** + * @generated from enum value: IGNORE_IF_DEFAULT_VALUE = 2; + */ + IF_DEFAULT_VALUE = 2, + + /** + * @generated from enum value: IGNORE_ALWAYS = 3; + */ + ALWAYS = 3, +} + +/** + * Describes the enum buf.validate.Ignore. + */ +export const IgnoreSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_buf_validate_validate, 0); + +/** + * @generated from enum buf.validate.KnownRegex + */ +export enum KnownRegex { + /** + * @generated from enum value: KNOWN_REGEX_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: KNOWN_REGEX_HTTP_HEADER_NAME = 1; + */ + HTTP_HEADER_NAME = 1, + + /** + * @generated from enum value: KNOWN_REGEX_HTTP_HEADER_VALUE = 2; + */ + HTTP_HEADER_VALUE = 2, +} + +/** + * Describes the enum buf.validate.KnownRegex. + */ +export const KnownRegexSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_buf_validate_validate, 1); + +/** + * @generated from extension: optional buf.validate.MessageRules message = 1159; + */ +export const message: GenExtension = /*@__PURE__*/ + extDesc(file_buf_validate_validate, 0); + +/** + * @generated from extension: optional buf.validate.OneofRules oneof = 1159; + */ +export const oneof: GenExtension = /*@__PURE__*/ + extDesc(file_buf_validate_validate, 1); + +/** + * @generated from extension: optional buf.validate.FieldRules field = 1159; + */ +export const field: GenExtension = /*@__PURE__*/ + extDesc(file_buf_validate_validate, 2); + +/** + * @generated from extension: optional buf.validate.PredefinedRules predefined = 1160; + */ +export const predefined: GenExtension = /*@__PURE__*/ + extDesc(file_buf_validate_validate, 3); + diff --git a/packages/catalog/src/discovery/devin-gen/exa/analytics_pb/analytics_pb.ts b/packages/catalog/src/discovery/devin-gen/exa/analytics_pb/analytics_pb.ts new file mode 100644 index 000000000..65a56ce87 --- /dev/null +++ b/packages/catalog/src/discovery/devin-gen/exa/analytics_pb/analytics_pb.ts @@ -0,0 +1,871 @@ +// @generated by protoc-gen-es v2.12.0 with parameter "target=ts" +// @generated from file exa/analytics_pb/analytics.proto (package exa.analytics_pb, syntax proto3) +/* eslint-disable */ + +import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2"; +import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2"; +import { file_buf_validate_validate } from "../../buf/validate/validate_pb"; +import type { CommandRequestSource, CompletionProfile, CompletionsRequest, CompletionWithLatencyInfo, Language, Metadata, Model, ModelProvider, PromptComponents, PromptStageLatency, ProviderSource, Repository, StopReason, SuperCompleteFilterReason, SupercompleteTriggerCondition } from "../codeium_common_pb/codeium_common_pb"; +import { file_exa_codeium_common_pb_codeium_common } from "../codeium_common_pb/codeium_common_pb"; +import type { ContextUseCase, RetrievedCodeContextItemMetadata } from "../context_module_pb/context_module_pb"; +import { file_exa_context_module_pb_context_module } from "../context_module_pb/context_module_pb"; +import type { AcknowledgementType, CortexStepType, CortexTrajectoryMetadata, CortexTrajectoryReference, CortexTrajectorySource, CortexTrajectoryStep, CortexTrajectoryType, CortexWorkflowState } from "../cortex_pb/cortex_pb"; +import { file_exa_cortex_pb_cortex } from "../cortex_pb/cortex_pb"; +import type { UnifiedPromptComponents } from "../prompt_pb/prompt_pb"; +import { file_exa_prompt_pb_prompt } from "../prompt_pb/prompt_pb"; +import type { Timestamp } from "@bufbuild/protobuf/wkt"; +import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt"; +import type { Message } from "@bufbuild/protobuf"; + +/** + * Describes the file exa/analytics_pb/analytics.proto. + */ +export const file_exa_analytics_pb_analytics: GenFile = /*@__PURE__*/ + fileDesc("CiBleGEvYW5hbHl0aWNzX3BiL2FuYWx5dGljcy5wcm90bxIQZXhhLmFuYWx5dGljc19wYiKbCAoZUmVjb3JkQ29tbWFuZFVzYWdlUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRIPCgdjb21tYW5kGAIgASgJEhEKCXNlbGVjdGlvbhgDIAEoCRJDCg5yZXF1ZXN0X3NvdXJjZRgEIAEoDjIrLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Db21tYW5kUmVxdWVzdFNvdXJjZRIRCglwcm9tcHRfaWQYBSABKAkSFQoNY29tcGxldGlvbl9pZBgGIAEoCRISCgpjb21wbGV0aW9uGAcgASgJEg4KBnByb21wdBgIIAEoCRI4ChJyZXF1ZXN0ZWRfbW9kZWxfaWQYCSABKA4yHC5leGEuY29kZWl1bV9jb21tb25fcGIuTW9kZWwSNgoLc3RvcF9yZWFzb24YCiABKA4yIS5leGEuY29kZWl1bV9jb21tb25fcGIuU3RvcFJlYXNvbhIxCghsYW5ndWFnZRgLIAEoDjIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5MYW5ndWFnZRI+Cg9wcm92aWRlcl9zb3VyY2UYDCABKA4yJS5leGEuY29kZWl1bV9jb21tb25fcGIuUHJvdmlkZXJTb3VyY2USSQoZY29tbWFuZF9wcm9tcHRfY29tcG9uZW50cxgNIAEoCzImLmV4YS5wcm9tcHRfcGIuVW5pZmllZFByb21wdENvbXBvbmVudHMSTQobY29ydGV4X3RyYWplY3RvcnlfcmVmZXJlbmNlGA4gASgLMiguZXhhLmNvcnRleF9wYi5Db3J0ZXhUcmFqZWN0b3J5UmVmZXJlbmNlElYKHHN1cGVyX2NvbXBsZXRlX2ZpbHRlcl9yZWFzb24YDyABKAsyMC5leGEuY29kZWl1bV9jb21tb25fcGIuU3VwZXJDb21wbGV0ZUZpbHRlclJlYXNvbhJdCh9zdXBlcmNvbXBsZXRlX3RyaWdnZXJfY29uZGl0aW9uGBEgASgOMjQuZXhhLmNvZGVpdW1fY29tbW9uX3BiLlN1cGVyY29tcGxldGVUcmlnZ2VyQ29uZGl0aW9uEkkKFnByb21wdF9zdGFnZV9sYXRlbmNpZXMYECADKAsyKS5leGEuY29kZWl1bV9jb21tb25fcGIuUHJvbXB0U3RhZ2VMYXRlbmN5EkQKEmNvbXBsZXRpb25fcHJvZmlsZRgSIAEoCzIoLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Db21wbGV0aW9uUHJvZmlsZRIXCg9jaGFyX2luc2VydGlvbnMYEyABKAUSFgoOY2hhcl9kZWxldGlvbnMYFCABKAUSHAoUdHJhamVjdG9yeV9zdGVwX29pZHMYFSADKAkiHAoaUmVjb3JkQ29tbWFuZFVzYWdlUmVzcG9uc2UiUwoZQmF0Y2hSZWNvcmRQcm9tcHRzUmVxdWVzdBI2Cgdwcm9tcHRzGAEgAygLMiUuZXhhLmFuYWx5dGljc19wYi5SZWNvcmRQcm9tcHRSZXF1ZXN0IhwKGkJhdGNoUmVjb3JkUHJvbXB0c1Jlc3BvbnNlIv0EChNSZWNvcmRQcm9tcHRSZXF1ZXN0EjEKCG1ldGFkYXRhGAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhEjoKB3JlcXVlc3QYAiABKAsyKS5leGEuY29kZWl1bV9jb21tb25fcGIuQ29tcGxldGlvbnNSZXF1ZXN0EhEKCXByb21wdF9pZBgDIAEoCRItCgl0aW1lc3RhbXAYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEgoKAmlwGAUgASgJEhkKEWluZmVyZW5jZV9hZGRyZXNzGAYgASgJEj4KD3Byb3ZpZGVyX3NvdXJjZRgHIAEoDjIlLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Qcm92aWRlclNvdXJjZRIaChJhcGlfc2VydmVyX2FkZHJlc3MYCCABKAkSNQoPZmlyc3RsaW5lX21vZGVsGAkgASgOMhwuZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1vZGVsEkIKEXByb21wdF9jb21wb25lbnRzGAogASgLMicuZXhhLmNvZGVpdW1fY29tbW9uX3BiLlByb21wdENvbXBvbmVudHMSHQoVaXNfc2VydmVyX3NpZGVfcHJvbXB0GAsgASgIEkkKGXVuaWZpZWRfcHJvbXB0X2NvbXBvbmVudHMYDCABKAsyJi5leGEucHJvbXB0X3BiLlVuaWZpZWRQcm9tcHRDb21wb25lbnRzEk0KG2NvcnRleF90cmFqZWN0b3J5X3JlZmVyZW5jZRgNIAEoCzIoLmV4YS5jb3J0ZXhfcGIuQ29ydGV4VHJhamVjdG9yeVJlZmVyZW5jZSKgAwoYUmVjb3JkQ29tcGxldGlvbnNSZXF1ZXN0EjEKCG1ldGFkYXRhGAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhElcKHWNvbXBsZXRpb25zX3dpdGhfbGF0ZW5jeV9pbmZvGAIgAygLMjAuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNvbXBsZXRpb25XaXRoTGF0ZW5jeUluZm8SEQoJcHJvbXB0X2lkGAMgASgJEhUKDXByb21wdF9sZW5ndGgYBCABKAQSPgoPcHJvdmlkZXJfc291cmNlGAUgASgOMiUuZXhhLmNvZGVpdW1fY29tbW9uX3BiLlByb3ZpZGVyU291cmNlEhUKDXJlbGF0aXZlX3BhdGgYBiABKAkSNQoKcmVwb3NpdG9yeRgHIAEoCzIhLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5SZXBvc2l0b3J5EhEKCW1vZGVsX3RhZxgIIAEoCRItCgl0aW1lc3RhbXAYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIhsKGVJlY29yZENvbXBsZXRpb25zUmVzcG9uc2UiYAodQmF0Y2hSZWNvcmRDb21wbGV0aW9uc1JlcXVlc3QSPwoLY29tcGxldGlvbnMYASADKAsyKi5leGEuYW5hbHl0aWNzX3BiLlJlY29yZENvbXBsZXRpb25zUmVxdWVzdCIgCh5CYXRjaFJlY29yZENvbXBsZXRpb25zUmVzcG9uc2UinQMKHFJlY29yZENvbnRleHRUb1Byb21wdFJlcXVlc3QSMQoIbWV0YWRhdGEYASABKAsyHy5leGEuY29kZWl1bV9jb21tb25fcGIuTWV0YWRhdGESOgoLcHJvbXB0X3VzZXIYAiABKA4yJS5leGEuY29udGV4dF9tb2R1bGVfcGIuQ29udGV4dFVzZUNhc2USFwoPY2hhdF9tZXNzYWdlX2lkGAMgASgJEmUKJHJldHJpZXZlZF9jb2RlX2NvbnRleHRfaXRlbV9tZXRhZGF0YRgEIAMoCzI3LmV4YS5jb250ZXh0X21vZHVsZV9wYi5SZXRyaWV2ZWRDb2RlQ29udGV4dEl0ZW1NZXRhZGF0YRISCgpsYXRlbmN5X21zGAUgASgEEi0KCXRpbWVzdGFtcBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASOAoMY29ydGV4X3N0YXRlGAcgASgLMiIuZXhhLmNvcnRleF9wYi5Db3J0ZXhXb3JrZmxvd1N0YXRlEhEKCXByb21wdF9pZBgIIAEoCSIfCh1SZWNvcmRDb250ZXh0VG9Qcm9tcHRSZXNwb25zZSKiAwodUmVjb3JkQ29ydGV4VHJhamVjdG9yeVJlcXVlc3QSMQoIbWV0YWRhdGEYASABKAsyHy5leGEuY29kZWl1bV9jb21tb25fcGIuTWV0YWRhdGESFQoNdHJhamVjdG9yeV9pZBgCIAEoCRISCgpjYXNjYWRlX2lkGAUgASgJEhUKCGFyZW5hX2lkGAggASgJSACIAQESPAoPdHJhamVjdG9yeV90eXBlGAMgASgOMiMuZXhhLmNvcnRleF9wYi5Db3J0ZXhUcmFqZWN0b3J5VHlwZRJAChF0cmFqZWN0b3J5X3NvdXJjZRgHIAEoDjIlLmV4YS5jb3J0ZXhfcGIuQ29ydGV4VHJhamVjdG9yeVNvdXJjZRI5CgdwYXJlbnRzGAQgAygLMiguZXhhLmNvcnRleF9wYi5Db3J0ZXhUcmFqZWN0b3J5UmVmZXJlbmNlEkQKE3RyYWplY3RvcnlfbWV0YWRhdGEYBiABKAsyJy5leGEuY29ydGV4X3BiLkNvcnRleFRyYWplY3RvcnlNZXRhZGF0YUILCglfYXJlbmFfaWQiIAoeUmVjb3JkQ29ydGV4VHJhamVjdG9yeVJlc3BvbnNlIogCCiFSZWNvcmRDb3J0ZXhUcmFqZWN0b3J5U3RlcFJlcXVlc3QSMQoIbWV0YWRhdGEYASABKAsyHy5leGEuY29kZWl1bV9jb21tb25fcGIuTWV0YWRhdGESMQoEc3RlcBgCIAEoCzIjLmV4YS5jb3J0ZXhfcGIuQ29ydGV4VHJhamVjdG9yeVN0ZXASOwoJcmVmZXJlbmNlGAMgASgLMiguZXhhLmNvcnRleF9wYi5Db3J0ZXhUcmFqZWN0b3J5UmVmZXJlbmNlEkAKFGFja25vd2xlZGdlbWVudF90eXBlGAQgASgOMiIuZXhhLmNvcnRleF9wYi5BY2tub3dsZWRnZW1lbnRUeXBlIiQKIlJlY29yZENvcnRleFRyYWplY3RvcnlTdGVwUmVzcG9uc2UiiQIKHlJlY29yZFRhYlRyYWplY3RvcnlTdGVwUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRIxCgRzdGVwGAIgASgLMiMuZXhhLmNvcnRleF9wYi5Db3J0ZXhUcmFqZWN0b3J5U3RlcBI7CglyZWZlcmVuY2UYAyABKAsyKC5leGEuY29ydGV4X3BiLkNvcnRleFRyYWplY3RvcnlSZWZlcmVuY2USCwoDb2lkGAQgASgJEjcKBXN0ZXBzGAUgAygLMiguZXhhLmFuYWx5dGljc19wYi5UYWJUcmFqZWN0b3J5U3RlcEVudHJ5IpUBChZUYWJUcmFqZWN0b3J5U3RlcEVudHJ5EjEKBHN0ZXAYASABKAsyIy5leGEuY29ydGV4X3BiLkNvcnRleFRyYWplY3RvcnlTdGVwEjsKCXJlZmVyZW5jZRgCIAEoCzIoLmV4YS5jb3J0ZXhfcGIuQ29ydGV4VHJhamVjdG9yeVJlZmVyZW5jZRILCgNvaWQYAyABKAkiSgofUmVjb3JkVGFiVHJhamVjdG9yeVN0ZXBSZXNwb25zZRIQCgh1cGxvYWRlZBgBIAEoCBIVCg11cGxvYWRlZF9vaWRzGAIgAygJIpsDCidSZWNvcmRBcmVuYU1vZGVUcmFqZWN0b3J5RGV0YWlsc1JlcXVlc3QSMQoIbWV0YWRhdGEYASABKAsyHy5leGEuY29kZWl1bV9jb21tb25fcGIuTWV0YWRhdGESEAoIYXJlbmFfaWQYAiABKAkSEgoKY2FzY2FkZV9pZBgDIAEoCRIVCg10cmFqZWN0b3J5X2lkGAQgASgJEhIKCnN0ZXBfaW5kZXgYBSABKA0SMAoJc3RlcF90eXBlGAYgASgOMh0uZXhhLmNvcnRleF9wYi5Db3J0ZXhTdGVwVHlwZRJAChRhY2tub3dsZWRnZW1lbnRfdHlwZRgHIAEoDjIiLmV4YS5jb3J0ZXhfcGIuQWNrbm93bGVkZ2VtZW50VHlwZRIrCgVtb2RlbBgIIAEoDjIcLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Nb2RlbBINCgVsYWJlbBgJIAEoCRI8Cg5tb2RlbF9wcm92aWRlchgKIAEoDjIkLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Nb2RlbFByb3ZpZGVyIioKKFJlY29yZEFyZW5hTW9kZVRyYWplY3RvcnlEZXRhaWxzUmVzcG9uc2Ui7gIKGlJlY29yZFJhd0NvbXBsZXRpb25SZXF1ZXN0EjEKCG1ldGFkYXRhGAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhEhUKDXRyYWplY3RvcnlfaWQYAiABKAkSEgoKY2FzY2FkZV9pZBgDIAEoCRISCgpzdGVwX2luZGV4GAQgASgFEhIKCm1vZGVsX25hbWUYBSABKAkSEgoKcmF3X3Byb21wdBgGIAEoCRIUCgxyYXdfcmVzcG9uc2UYByABKAkSDwoHbGF0ZW5jeRgIIAEoAxINCgVlcnJvchgJIAEoCRItCgl0aW1lc3RhbXAYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhEKCXByb21wdF9pZBgLIAEoCRI+Cg9wcm92aWRlcl9zb3VyY2UYDCABKA4yJS5leGEuY29kZWl1bV9jb21tb25fcGIuUHJvdmlkZXJTb3VyY2UiYQogQmF0Y2hSZWNvcmRSYXdDb21wbGV0aW9uc1JlcXVlc3QSPQoHcmVjb3JkcxgBIAMoCzIsLmV4YS5hbmFseXRpY3NfcGIuUmVjb3JkUmF3Q29tcGxldGlvblJlcXVlc3QiIwohQmF0Y2hSZWNvcmRSYXdDb21wbGV0aW9uc1Jlc3BvbnNlMuAHChBBbmFseXRpY3NTZXJ2aWNlEm8KElJlY29yZENvbW1hbmRVc2FnZRIrLmV4YS5hbmFseXRpY3NfcGIuUmVjb3JkQ29tbWFuZFVzYWdlUmVxdWVzdBosLmV4YS5hbmFseXRpY3NfcGIuUmVjb3JkQ29tbWFuZFVzYWdlUmVzcG9uc2USbAoRUmVjb3JkQ29tcGxldGlvbnMSKi5leGEuYW5hbHl0aWNzX3BiLlJlY29yZENvbXBsZXRpb25zUmVxdWVzdBorLmV4YS5hbmFseXRpY3NfcGIuUmVjb3JkQ29tcGxldGlvbnNSZXNwb25zZRJ4ChVSZWNvcmRDb250ZXh0VG9Qcm9tcHQSLi5leGEuYW5hbHl0aWNzX3BiLlJlY29yZENvbnRleHRUb1Byb21wdFJlcXVlc3QaLy5leGEuYW5hbHl0aWNzX3BiLlJlY29yZENvbnRleHRUb1Byb21wdFJlc3BvbnNlEnsKFlJlY29yZENvcnRleFRyYWplY3RvcnkSLy5leGEuYW5hbHl0aWNzX3BiLlJlY29yZENvcnRleFRyYWplY3RvcnlSZXF1ZXN0GjAuZXhhLmFuYWx5dGljc19wYi5SZWNvcmRDb3J0ZXhUcmFqZWN0b3J5UmVzcG9uc2UShwEKGlJlY29yZENvcnRleFRyYWplY3RvcnlTdGVwEjMuZXhhLmFuYWx5dGljc19wYi5SZWNvcmRDb3J0ZXhUcmFqZWN0b3J5U3RlcFJlcXVlc3QaNC5leGEuYW5hbHl0aWNzX3BiLlJlY29yZENvcnRleFRyYWplY3RvcnlTdGVwUmVzcG9uc2USfgoXUmVjb3JkVGFiVHJhamVjdG9yeVN0ZXASMC5leGEuYW5hbHl0aWNzX3BiLlJlY29yZFRhYlRyYWplY3RvcnlTdGVwUmVxdWVzdBoxLmV4YS5hbmFseXRpY3NfcGIuUmVjb3JkVGFiVHJhamVjdG9yeVN0ZXBSZXNwb25zZRJvChJCYXRjaFJlY29yZFByb21wdHMSKy5leGEuYW5hbHl0aWNzX3BiLkJhdGNoUmVjb3JkUHJvbXB0c1JlcXVlc3QaLC5leGEuYW5hbHl0aWNzX3BiLkJhdGNoUmVjb3JkUHJvbXB0c1Jlc3BvbnNlEnsKFkJhdGNoUmVjb3JkQ29tcGxldGlvbnMSLy5leGEuYW5hbHl0aWNzX3BiLkJhdGNoUmVjb3JkQ29tcGxldGlvbnNSZXF1ZXN0GjAuZXhhLmFuYWx5dGljc19wYi5CYXRjaFJlY29yZENvbXBsZXRpb25zUmVzcG9uc2ViBnByb3RvMw", [file_buf_validate_validate, file_exa_codeium_common_pb_codeium_common, file_exa_context_module_pb_context_module, file_exa_cortex_pb_cortex, file_exa_prompt_pb_prompt, file_google_protobuf_timestamp]); + +/** + * @generated from message exa.analytics_pb.RecordCommandUsageRequest + */ +export type RecordCommandUsageRequest = Message<"exa.analytics_pb.RecordCommandUsageRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string command = 2; + */ + command: string; + + /** + * @generated from field: string selection = 3; + */ + selection: string; + + /** + * @generated from field: exa.codeium_common_pb.CommandRequestSource request_source = 4; + */ + requestSource: CommandRequestSource; + + /** + * @generated from field: string prompt_id = 5; + */ + promptId: string; + + /** + * @generated from field: string completion_id = 6; + */ + completionId: string; + + /** + * @generated from field: string completion = 7; + */ + completion: string; + + /** + * @generated from field: string prompt = 8; + */ + prompt: string; + + /** + * @generated from field: exa.codeium_common_pb.Model requested_model_id = 9; + */ + requestedModelId: Model; + + /** + * @generated from field: exa.codeium_common_pb.StopReason stop_reason = 10; + */ + stopReason: StopReason; + + /** + * @generated from field: exa.codeium_common_pb.Language language = 11; + */ + language: Language; + + /** + * @generated from field: exa.codeium_common_pb.ProviderSource provider_source = 12; + */ + providerSource: ProviderSource; + + /** + * @generated from field: exa.prompt_pb.UnifiedPromptComponents command_prompt_components = 13; + */ + commandPromptComponents?: UnifiedPromptComponents | undefined; + + /** + * @generated from field: exa.cortex_pb.CortexTrajectoryReference cortex_trajectory_reference = 14; + */ + cortexTrajectoryReference?: CortexTrajectoryReference | undefined; + + /** + * @generated from field: exa.codeium_common_pb.SuperCompleteFilterReason super_complete_filter_reason = 15; + */ + superCompleteFilterReason?: SuperCompleteFilterReason | undefined; + + /** + * @generated from field: exa.codeium_common_pb.SupercompleteTriggerCondition supercomplete_trigger_condition = 17; + */ + supercompleteTriggerCondition: SupercompleteTriggerCondition; + + /** + * @generated from field: repeated exa.codeium_common_pb.PromptStageLatency prompt_stage_latencies = 16; + */ + promptStageLatencies: PromptStageLatency[]; + + /** + * @generated from field: exa.codeium_common_pb.CompletionProfile completion_profile = 18; + */ + completionProfile?: CompletionProfile | undefined; + + /** + * @generated from field: int32 char_insertions = 19; + */ + charInsertions: number; + + /** + * @generated from field: int32 char_deletions = 20; + */ + charDeletions: number; + + /** + * @generated from field: repeated string trajectory_step_oids = 21; + */ + trajectoryStepOids: string[]; +}; + +/** + * Describes the message exa.analytics_pb.RecordCommandUsageRequest. + * Use `create(RecordCommandUsageRequestSchema)` to create a new message. + */ +export const RecordCommandUsageRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_analytics_pb_analytics, 0); + +/** + * @generated from message exa.analytics_pb.RecordCommandUsageResponse + */ +export type RecordCommandUsageResponse = Message<"exa.analytics_pb.RecordCommandUsageResponse"> & { +}; + +/** + * Describes the message exa.analytics_pb.RecordCommandUsageResponse. + * Use `create(RecordCommandUsageResponseSchema)` to create a new message. + */ +export const RecordCommandUsageResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_analytics_pb_analytics, 1); + +/** + * @generated from message exa.analytics_pb.BatchRecordPromptsRequest + */ +export type BatchRecordPromptsRequest = Message<"exa.analytics_pb.BatchRecordPromptsRequest"> & { + /** + * @generated from field: repeated exa.analytics_pb.RecordPromptRequest prompts = 1; + */ + prompts: RecordPromptRequest[]; +}; + +/** + * Describes the message exa.analytics_pb.BatchRecordPromptsRequest. + * Use `create(BatchRecordPromptsRequestSchema)` to create a new message. + */ +export const BatchRecordPromptsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_analytics_pb_analytics, 2); + +/** + * @generated from message exa.analytics_pb.BatchRecordPromptsResponse + */ +export type BatchRecordPromptsResponse = Message<"exa.analytics_pb.BatchRecordPromptsResponse"> & { +}; + +/** + * Describes the message exa.analytics_pb.BatchRecordPromptsResponse. + * Use `create(BatchRecordPromptsResponseSchema)` to create a new message. + */ +export const BatchRecordPromptsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_analytics_pb_analytics, 3); + +/** + * @generated from message exa.analytics_pb.RecordPromptRequest + */ +export type RecordPromptRequest = Message<"exa.analytics_pb.RecordPromptRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: exa.codeium_common_pb.CompletionsRequest request = 2; + */ + request?: CompletionsRequest | undefined; + + /** + * @generated from field: string prompt_id = 3; + */ + promptId: string; + + /** + * @generated from field: google.protobuf.Timestamp timestamp = 4; + */ + timestamp?: Timestamp | undefined; + + /** + * @generated from field: string ip = 5; + */ + ip: string; + + /** + * @generated from field: string inference_address = 6; + */ + inferenceAddress: string; + + /** + * @generated from field: exa.codeium_common_pb.ProviderSource provider_source = 7; + */ + providerSource: ProviderSource; + + /** + * @generated from field: string api_server_address = 8; + */ + apiServerAddress: string; + + /** + * @generated from field: exa.codeium_common_pb.Model firstline_model = 9; + */ + firstlineModel: Model; + + /** + * @generated from field: exa.codeium_common_pb.PromptComponents prompt_components = 10; + */ + promptComponents?: PromptComponents | undefined; + + /** + * @generated from field: bool is_server_side_prompt = 11; + */ + isServerSidePrompt: boolean; + + /** + * @generated from field: exa.prompt_pb.UnifiedPromptComponents unified_prompt_components = 12; + */ + unifiedPromptComponents?: UnifiedPromptComponents | undefined; + + /** + * @generated from field: exa.cortex_pb.CortexTrajectoryReference cortex_trajectory_reference = 13; + */ + cortexTrajectoryReference?: CortexTrajectoryReference | undefined; +}; + +/** + * Describes the message exa.analytics_pb.RecordPromptRequest. + * Use `create(RecordPromptRequestSchema)` to create a new message. + */ +export const RecordPromptRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_analytics_pb_analytics, 4); + +/** + * @generated from message exa.analytics_pb.RecordCompletionsRequest + */ +export type RecordCompletionsRequest = Message<"exa.analytics_pb.RecordCompletionsRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: repeated exa.codeium_common_pb.CompletionWithLatencyInfo completions_with_latency_info = 2; + */ + completionsWithLatencyInfo: CompletionWithLatencyInfo[]; + + /** + * @generated from field: string prompt_id = 3; + */ + promptId: string; + + /** + * @generated from field: uint64 prompt_length = 4; + */ + promptLength: bigint; + + /** + * @generated from field: exa.codeium_common_pb.ProviderSource provider_source = 5; + */ + providerSource: ProviderSource; + + /** + * @generated from field: string relative_path = 6; + */ + relativePath: string; + + /** + * @generated from field: exa.codeium_common_pb.Repository repository = 7; + */ + repository?: Repository | undefined; + + /** + * @generated from field: string model_tag = 8; + */ + modelTag: string; + + /** + * @generated from field: google.protobuf.Timestamp timestamp = 9; + */ + timestamp?: Timestamp | undefined; +}; + +/** + * Describes the message exa.analytics_pb.RecordCompletionsRequest. + * Use `create(RecordCompletionsRequestSchema)` to create a new message. + */ +export const RecordCompletionsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_analytics_pb_analytics, 5); + +/** + * @generated from message exa.analytics_pb.RecordCompletionsResponse + */ +export type RecordCompletionsResponse = Message<"exa.analytics_pb.RecordCompletionsResponse"> & { +}; + +/** + * Describes the message exa.analytics_pb.RecordCompletionsResponse. + * Use `create(RecordCompletionsResponseSchema)` to create a new message. + */ +export const RecordCompletionsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_analytics_pb_analytics, 6); + +/** + * @generated from message exa.analytics_pb.BatchRecordCompletionsRequest + */ +export type BatchRecordCompletionsRequest = Message<"exa.analytics_pb.BatchRecordCompletionsRequest"> & { + /** + * @generated from field: repeated exa.analytics_pb.RecordCompletionsRequest completions = 1; + */ + completions: RecordCompletionsRequest[]; +}; + +/** + * Describes the message exa.analytics_pb.BatchRecordCompletionsRequest. + * Use `create(BatchRecordCompletionsRequestSchema)` to create a new message. + */ +export const BatchRecordCompletionsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_analytics_pb_analytics, 7); + +/** + * @generated from message exa.analytics_pb.BatchRecordCompletionsResponse + */ +export type BatchRecordCompletionsResponse = Message<"exa.analytics_pb.BatchRecordCompletionsResponse"> & { +}; + +/** + * Describes the message exa.analytics_pb.BatchRecordCompletionsResponse. + * Use `create(BatchRecordCompletionsResponseSchema)` to create a new message. + */ +export const BatchRecordCompletionsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_analytics_pb_analytics, 8); + +/** + * @generated from message exa.analytics_pb.RecordContextToPromptRequest + */ +export type RecordContextToPromptRequest = Message<"exa.analytics_pb.RecordContextToPromptRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: exa.context_module_pb.ContextUseCase prompt_user = 2; + */ + promptUser: ContextUseCase; + + /** + * @generated from field: string chat_message_id = 3; + */ + chatMessageId: string; + + /** + * @generated from field: repeated exa.context_module_pb.RetrievedCodeContextItemMetadata retrieved_code_context_item_metadata = 4; + */ + retrievedCodeContextItemMetadata: RetrievedCodeContextItemMetadata[]; + + /** + * @generated from field: uint64 latency_ms = 5; + */ + latencyMs: bigint; + + /** + * @generated from field: google.protobuf.Timestamp timestamp = 6; + */ + timestamp?: Timestamp | undefined; + + /** + * @generated from field: exa.cortex_pb.CortexWorkflowState cortex_state = 7; + */ + cortexState?: CortexWorkflowState | undefined; + + /** + * @generated from field: string prompt_id = 8; + */ + promptId: string; +}; + +/** + * Describes the message exa.analytics_pb.RecordContextToPromptRequest. + * Use `create(RecordContextToPromptRequestSchema)` to create a new message. + */ +export const RecordContextToPromptRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_analytics_pb_analytics, 9); + +/** + * @generated from message exa.analytics_pb.RecordContextToPromptResponse + */ +export type RecordContextToPromptResponse = Message<"exa.analytics_pb.RecordContextToPromptResponse"> & { +}; + +/** + * Describes the message exa.analytics_pb.RecordContextToPromptResponse. + * Use `create(RecordContextToPromptResponseSchema)` to create a new message. + */ +export const RecordContextToPromptResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_analytics_pb_analytics, 10); + +/** + * @generated from message exa.analytics_pb.RecordCortexTrajectoryRequest + */ +export type RecordCortexTrajectoryRequest = Message<"exa.analytics_pb.RecordCortexTrajectoryRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string trajectory_id = 2; + */ + trajectoryId: string; + + /** + * @generated from field: string cascade_id = 5; + */ + cascadeId: string; + + /** + * @generated from field: optional string arena_id = 8; + */ + arenaId?: string | undefined; + + /** + * @generated from field: exa.cortex_pb.CortexTrajectoryType trajectory_type = 3; + */ + trajectoryType: CortexTrajectoryType; + + /** + * @generated from field: exa.cortex_pb.CortexTrajectorySource trajectory_source = 7; + */ + trajectorySource: CortexTrajectorySource; + + /** + * @generated from field: repeated exa.cortex_pb.CortexTrajectoryReference parents = 4; + */ + parents: CortexTrajectoryReference[]; + + /** + * @generated from field: exa.cortex_pb.CortexTrajectoryMetadata trajectory_metadata = 6; + */ + trajectoryMetadata?: CortexTrajectoryMetadata | undefined; +}; + +/** + * Describes the message exa.analytics_pb.RecordCortexTrajectoryRequest. + * Use `create(RecordCortexTrajectoryRequestSchema)` to create a new message. + */ +export const RecordCortexTrajectoryRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_analytics_pb_analytics, 11); + +/** + * @generated from message exa.analytics_pb.RecordCortexTrajectoryResponse + */ +export type RecordCortexTrajectoryResponse = Message<"exa.analytics_pb.RecordCortexTrajectoryResponse"> & { +}; + +/** + * Describes the message exa.analytics_pb.RecordCortexTrajectoryResponse. + * Use `create(RecordCortexTrajectoryResponseSchema)` to create a new message. + */ +export const RecordCortexTrajectoryResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_analytics_pb_analytics, 12); + +/** + * @generated from message exa.analytics_pb.RecordCortexTrajectoryStepRequest + */ +export type RecordCortexTrajectoryStepRequest = Message<"exa.analytics_pb.RecordCortexTrajectoryStepRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: exa.cortex_pb.CortexTrajectoryStep step = 2; + */ + step?: CortexTrajectoryStep | undefined; + + /** + * @generated from field: exa.cortex_pb.CortexTrajectoryReference reference = 3; + */ + reference?: CortexTrajectoryReference | undefined; + + /** + * @generated from field: exa.cortex_pb.AcknowledgementType acknowledgement_type = 4; + */ + acknowledgementType: AcknowledgementType; +}; + +/** + * Describes the message exa.analytics_pb.RecordCortexTrajectoryStepRequest. + * Use `create(RecordCortexTrajectoryStepRequestSchema)` to create a new message. + */ +export const RecordCortexTrajectoryStepRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_analytics_pb_analytics, 13); + +/** + * @generated from message exa.analytics_pb.RecordCortexTrajectoryStepResponse + */ +export type RecordCortexTrajectoryStepResponse = Message<"exa.analytics_pb.RecordCortexTrajectoryStepResponse"> & { +}; + +/** + * Describes the message exa.analytics_pb.RecordCortexTrajectoryStepResponse. + * Use `create(RecordCortexTrajectoryStepResponseSchema)` to create a new message. + */ +export const RecordCortexTrajectoryStepResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_analytics_pb_analytics, 14); + +/** + * @generated from message exa.analytics_pb.RecordTabTrajectoryStepRequest + */ +export type RecordTabTrajectoryStepRequest = Message<"exa.analytics_pb.RecordTabTrajectoryStepRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: exa.cortex_pb.CortexTrajectoryStep step = 2; + */ + step?: CortexTrajectoryStep | undefined; + + /** + * @generated from field: exa.cortex_pb.CortexTrajectoryReference reference = 3; + */ + reference?: CortexTrajectoryReference | undefined; + + /** + * @generated from field: string oid = 4; + */ + oid: string; + + /** + * @generated from field: repeated exa.analytics_pb.TabTrajectoryStepEntry steps = 5; + */ + steps: TabTrajectoryStepEntry[]; +}; + +/** + * Describes the message exa.analytics_pb.RecordTabTrajectoryStepRequest. + * Use `create(RecordTabTrajectoryStepRequestSchema)` to create a new message. + */ +export const RecordTabTrajectoryStepRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_analytics_pb_analytics, 15); + +/** + * @generated from message exa.analytics_pb.TabTrajectoryStepEntry + */ +export type TabTrajectoryStepEntry = Message<"exa.analytics_pb.TabTrajectoryStepEntry"> & { + /** + * @generated from field: exa.cortex_pb.CortexTrajectoryStep step = 1; + */ + step?: CortexTrajectoryStep | undefined; + + /** + * @generated from field: exa.cortex_pb.CortexTrajectoryReference reference = 2; + */ + reference?: CortexTrajectoryReference | undefined; + + /** + * @generated from field: string oid = 3; + */ + oid: string; +}; + +/** + * Describes the message exa.analytics_pb.TabTrajectoryStepEntry. + * Use `create(TabTrajectoryStepEntrySchema)` to create a new message. + */ +export const TabTrajectoryStepEntrySchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_analytics_pb_analytics, 16); + +/** + * @generated from message exa.analytics_pb.RecordTabTrajectoryStepResponse + */ +export type RecordTabTrajectoryStepResponse = Message<"exa.analytics_pb.RecordTabTrajectoryStepResponse"> & { + /** + * @generated from field: bool uploaded = 1; + */ + uploaded: boolean; + + /** + * @generated from field: repeated string uploaded_oids = 2; + */ + uploadedOids: string[]; +}; + +/** + * Describes the message exa.analytics_pb.RecordTabTrajectoryStepResponse. + * Use `create(RecordTabTrajectoryStepResponseSchema)` to create a new message. + */ +export const RecordTabTrajectoryStepResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_analytics_pb_analytics, 17); + +/** + * @generated from message exa.analytics_pb.RecordArenaModeTrajectoryDetailsRequest + */ +export type RecordArenaModeTrajectoryDetailsRequest = Message<"exa.analytics_pb.RecordArenaModeTrajectoryDetailsRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string arena_id = 2; + */ + arenaId: string; + + /** + * @generated from field: string cascade_id = 3; + */ + cascadeId: string; + + /** + * @generated from field: string trajectory_id = 4; + */ + trajectoryId: string; + + /** + * @generated from field: uint32 step_index = 5; + */ + stepIndex: number; + + /** + * @generated from field: exa.cortex_pb.CortexStepType step_type = 6; + */ + stepType: CortexStepType; + + /** + * @generated from field: exa.cortex_pb.AcknowledgementType acknowledgement_type = 7; + */ + acknowledgementType: AcknowledgementType; + + /** + * @generated from field: exa.codeium_common_pb.Model model = 8; + */ + model: Model; + + /** + * @generated from field: string label = 9; + */ + label: string; + + /** + * @generated from field: exa.codeium_common_pb.ModelProvider model_provider = 10; + */ + modelProvider: ModelProvider; +}; + +/** + * Describes the message exa.analytics_pb.RecordArenaModeTrajectoryDetailsRequest. + * Use `create(RecordArenaModeTrajectoryDetailsRequestSchema)` to create a new message. + */ +export const RecordArenaModeTrajectoryDetailsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_analytics_pb_analytics, 18); + +/** + * @generated from message exa.analytics_pb.RecordArenaModeTrajectoryDetailsResponse + */ +export type RecordArenaModeTrajectoryDetailsResponse = Message<"exa.analytics_pb.RecordArenaModeTrajectoryDetailsResponse"> & { +}; + +/** + * Describes the message exa.analytics_pb.RecordArenaModeTrajectoryDetailsResponse. + * Use `create(RecordArenaModeTrajectoryDetailsResponseSchema)` to create a new message. + */ +export const RecordArenaModeTrajectoryDetailsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_analytics_pb_analytics, 19); + +/** + * @generated from message exa.analytics_pb.RecordRawCompletionRequest + */ +export type RecordRawCompletionRequest = Message<"exa.analytics_pb.RecordRawCompletionRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string trajectory_id = 2; + */ + trajectoryId: string; + + /** + * @generated from field: string cascade_id = 3; + */ + cascadeId: string; + + /** + * @generated from field: int32 step_index = 4; + */ + stepIndex: number; + + /** + * @generated from field: string model_name = 5; + */ + modelName: string; + + /** + * @generated from field: string raw_prompt = 6; + */ + rawPrompt: string; + + /** + * @generated from field: string raw_response = 7; + */ + rawResponse: string; + + /** + * @generated from field: int64 latency = 8; + */ + latency: bigint; + + /** + * @generated from field: string error = 9; + */ + error: string; + + /** + * @generated from field: google.protobuf.Timestamp timestamp = 10; + */ + timestamp?: Timestamp | undefined; + + /** + * @generated from field: string prompt_id = 11; + */ + promptId: string; + + /** + * @generated from field: exa.codeium_common_pb.ProviderSource provider_source = 12; + */ + providerSource: ProviderSource; +}; + +/** + * Describes the message exa.analytics_pb.RecordRawCompletionRequest. + * Use `create(RecordRawCompletionRequestSchema)` to create a new message. + */ +export const RecordRawCompletionRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_analytics_pb_analytics, 20); + +/** + * @generated from message exa.analytics_pb.BatchRecordRawCompletionsRequest + */ +export type BatchRecordRawCompletionsRequest = Message<"exa.analytics_pb.BatchRecordRawCompletionsRequest"> & { + /** + * @generated from field: repeated exa.analytics_pb.RecordRawCompletionRequest records = 1; + */ + records: RecordRawCompletionRequest[]; +}; + +/** + * Describes the message exa.analytics_pb.BatchRecordRawCompletionsRequest. + * Use `create(BatchRecordRawCompletionsRequestSchema)` to create a new message. + */ +export const BatchRecordRawCompletionsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_analytics_pb_analytics, 21); + +/** + * @generated from message exa.analytics_pb.BatchRecordRawCompletionsResponse + */ +export type BatchRecordRawCompletionsResponse = Message<"exa.analytics_pb.BatchRecordRawCompletionsResponse"> & { +}; + +/** + * Describes the message exa.analytics_pb.BatchRecordRawCompletionsResponse. + * Use `create(BatchRecordRawCompletionsResponseSchema)` to create a new message. + */ +export const BatchRecordRawCompletionsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_analytics_pb_analytics, 22); + +/** + * @generated from service exa.analytics_pb.AnalyticsService + */ +export const AnalyticsService: GenService<{ + /** + * @generated from rpc exa.analytics_pb.AnalyticsService.RecordCommandUsage + */ + recordCommandUsage: { + methodKind: "unary"; + input: typeof RecordCommandUsageRequestSchema; + output: typeof RecordCommandUsageResponseSchema; + }, + /** + * @generated from rpc exa.analytics_pb.AnalyticsService.RecordCompletions + */ + recordCompletions: { + methodKind: "unary"; + input: typeof RecordCompletionsRequestSchema; + output: typeof RecordCompletionsResponseSchema; + }, + /** + * @generated from rpc exa.analytics_pb.AnalyticsService.RecordContextToPrompt + */ + recordContextToPrompt: { + methodKind: "unary"; + input: typeof RecordContextToPromptRequestSchema; + output: typeof RecordContextToPromptResponseSchema; + }, + /** + * @generated from rpc exa.analytics_pb.AnalyticsService.RecordCortexTrajectory + */ + recordCortexTrajectory: { + methodKind: "unary"; + input: typeof RecordCortexTrajectoryRequestSchema; + output: typeof RecordCortexTrajectoryResponseSchema; + }, + /** + * @generated from rpc exa.analytics_pb.AnalyticsService.RecordCortexTrajectoryStep + */ + recordCortexTrajectoryStep: { + methodKind: "unary"; + input: typeof RecordCortexTrajectoryStepRequestSchema; + output: typeof RecordCortexTrajectoryStepResponseSchema; + }, + /** + * @generated from rpc exa.analytics_pb.AnalyticsService.RecordTabTrajectoryStep + */ + recordTabTrajectoryStep: { + methodKind: "unary"; + input: typeof RecordTabTrajectoryStepRequestSchema; + output: typeof RecordTabTrajectoryStepResponseSchema; + }, + /** + * @generated from rpc exa.analytics_pb.AnalyticsService.BatchRecordPrompts + */ + batchRecordPrompts: { + methodKind: "unary"; + input: typeof BatchRecordPromptsRequestSchema; + output: typeof BatchRecordPromptsResponseSchema; + }, + /** + * @generated from rpc exa.analytics_pb.AnalyticsService.BatchRecordCompletions + */ + batchRecordCompletions: { + methodKind: "unary"; + input: typeof BatchRecordCompletionsRequestSchema; + output: typeof BatchRecordCompletionsResponseSchema; + }, +}> = /*@__PURE__*/ + serviceDesc(file_exa_analytics_pb_analytics, 0); + diff --git a/packages/catalog/src/discovery/devin-gen/exa/api_server_pb/api_server_pb.ts b/packages/catalog/src/discovery/devin-gen/exa/api_server_pb/api_server_pb.ts new file mode 100644 index 000000000..2700b7861 --- /dev/null +++ b/packages/catalog/src/discovery/devin-gen/exa/api_server_pb/api_server_pb.ts @@ -0,0 +1,11083 @@ +// @generated by protoc-gen-es v2.12.0 with parameter "target=ts" +// @generated from file exa/api_server_pb/api_server.proto (package exa.api_server_pb, syntax proto3) +/* eslint-disable */ + +import type { GenEnum, GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2"; +import { enumDesc, fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2"; +import { file_buf_validate_validate } from "../../buf/validate/validate_pb"; +import type { BatchRecordCompletionsRequestSchema, BatchRecordCompletionsResponseSchema, BatchRecordPromptsRequestSchema, BatchRecordPromptsResponseSchema, BatchRecordRawCompletionsRequestSchema, BatchRecordRawCompletionsResponseSchema, RecordArenaModeTrajectoryDetailsRequestSchema, RecordArenaModeTrajectoryDetailsResponseSchema, RecordCommandUsageRequestSchema, RecordCommandUsageResponseSchema, RecordCompletionsRequestSchema, RecordCompletionsResponseSchema, RecordContextToPromptRequestSchema, RecordContextToPromptResponseSchema, RecordCortexTrajectoryRequestSchema, RecordCortexTrajectoryResponseSchema, RecordCortexTrajectoryStepRequestSchema, RecordCortexTrajectoryStepResponseSchema } from "../analytics_pb/analytics_pb"; +import { file_exa_analytics_pb_analytics } from "../analytics_pb/analytics_pb"; +import type { Bug } from "../bug_checker_pb/bug_checker_pb"; +import { file_exa_bug_checker_pb_bug_checker } from "../bug_checker_pb/bug_checker_pb"; +import type { ChatFeedbackType, ChatMessage, ChatMessagePrompt, ChatToolChoice, ChatToolDefinition, DeepWikiRequestType, DeepWikiSymbolType, PromptCacheOptions } from "../chat_pb/chat_pb"; +import { file_exa_chat_pb_chat } from "../chat_pb/chat_pb"; +import type { APIProvider, ArenaTier, AuthSource, BillingStrategy, CaptureFileRequestData, CciWithSubrange, ChatNodeConfig, ChatToolCall, ClientModelConfig, ClientModelSort, CodeSource, CompletionConfiguration, CompletionDeltaMap, CompletionExample, CompletionExampleWithMetadata, CompletionProfile, CompletionResponse, CompletionSource, CompletionsRequest, CompletionType, CompletionWithLatencyInfo, ContextInclusionType, ContextScope, ConversationalPlannerMode, CortexErrorCategory, DeepWikiModelType, DefaultOverrideModelConfig, DeploymentBuildStatus, DeploymentProvider, DeployTarget, DocumentPosition, EmbeddingResponse, EmbeddingsRequest, ErrorTrace, Event, ExperimentConfig, ExternalModel, IdeStatus, ImageData, IndexerStats, KnowledgeBaseItem, Language, LastUpdateRecord, LastUpdateRecordList, LifeguardConfig, Metadata, MetricsRecord, MockResponseData, Model, ModelFeatures, ModelInfo, ModelOrAlias, ModelPricingType, ModelProvider, ModelStatusInfo, ModelUsageStats, PromptComponents, ProviderSource, Repository, ResponseDimensionGroup, Rule, RuleViolation, SearchResultRecord, SearchResultType, StopReason, StreamingCompletion, StreamingCompletionResponse, TeamOrganizationalControls, TeamOrganizationalControls_AdaptiveSetting, TeamOrganizationalControls_AnthropicCyberRetentionSetting, TeamOrganizationalControls_CyberVerificationEnabled, TeamOrganizationalControls_ModelFilterMode, TeamOrganizationalControls_QuickReviewSetting, TeamsTier, ThirdPartyWebSearchConfig, UserStatus, ValidationStatus, WebDocsOption, WindsurfDeployment, WindsurfProject, WorkspaceIndexData, WorkspaceStats } from "../codeium_common_pb/codeium_common_pb"; +import { file_exa_codeium_common_pb_codeium_common } from "../codeium_common_pb/codeium_common_pb"; +import type { ContextRefreshReason } from "../context_module_pb/context_module_pb"; +import { file_exa_context_module_pb_context_module } from "../context_module_pb/context_module_pb"; +import type { CascadeConfig, CascadeTrajectorySummary, CortexRequestSource, CortexStepGeneratorMetadata, CortexTrajectory, CortexTrajectoryReference, CortexTrajectorySource, CortexTrajectoryStep, CortexTrajectoryType, CortexWorkflowState, StateInitializationData, TrajectoryShareStatus, WorkflowSpec } from "../cortex_pb/cortex_pb"; +import { file_exa_cortex_pb_cortex } from "../cortex_pb/cortex_pb"; +import type { UnifiedPromptComponents } from "../prompt_pb/prompt_pb"; +import { file_exa_prompt_pb_prompt } from "../prompt_pb/prompt_pb"; +import type { RecordTrustEventsRequestSchema, RecordTrustEventsResponseSchema } from "../trust_pb/trust_pb"; +import { file_exa_trust_pb_trust } from "../trust_pb/trust_pb"; +import type { Timestamp } from "@bufbuild/protobuf/wkt"; +import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt"; +import type { Message } from "@bufbuild/protobuf"; + +/** + * Describes the file exa/api_server_pb/api_server.proto. + */ +export const file_exa_api_server_pb_api_server: GenFile = /*@__PURE__*/ + fileDesc("CiJleGEvYXBpX3NlcnZlcl9wYi9hcGlfc2VydmVyLnByb3RvEhFleGEuYXBpX3NlcnZlcl9wYiLDAgoXQXNzaWduQXJlbmFNb2RlbFJlcXVlc3QSMQoIbWV0YWRhdGEYASABKAsyHy5leGEuY29kZWl1bV9jb21tb25fcGIuTWV0YWRhdGESEAoIYXJlbmFfaWQYAiABKAkSEwoLY2FzY2FkZV9pZHMYBCADKAkSOAoKYXJlbmFfdGllchgDIAEoDjIgLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5BcmVuYVRpZXJCAhgBEhgKEG1vZGVsX3JvdXRlcl91aWQYBSABKAkSIAoTY29udmVyZ2VkX2FyZW5hX2p3dBgGIAEoCUgAiAEBEiQKF2NvbnZlcmdlZF90cmFqZWN0b3J5X2lkGAcgASgJSAGIAQFCFgoUX2NvbnZlcmdlZF9hcmVuYV9qd3RCGgoYX2NvbnZlcmdlZF90cmFqZWN0b3J5X2lkInAKFEFyZW5hTW9kZWxBc3NpZ25tZW50EhIKCmNhc2NhZGVfaWQYASABKAkSHAoUYXJlbmFfYXNzaWdubWVudF9qd3QYAiABKAkSEQoJbW9kZWxfdWlkGAMgASgJEhMKC2hhcm5lc3NfdWlkGAQgASgJIlgKGEFzc2lnbkFyZW5hTW9kZWxSZXNwb25zZRI8Cgthc3NpZ25tZW50cxgBIAMoCzInLmV4YS5hcGlfc2VydmVyX3BiLkFyZW5hTW9kZWxBc3NpZ25tZW50IrgBChJBc3NpZ25Nb2RlbFJlcXVlc3QSMQoIbWV0YWRhdGEYASABKAsyHy5leGEuY29kZWl1bV9jb21tb25fcGIuTWV0YWRhdGESGAoQbW9kZWxfcm91dGVyX3VpZBgCIAEoCRISCgpjYXNjYWRlX2lkGAMgASgJEjsKE2NoYXRfbWVzc2FnZV9wcm9tcHQYBSABKAsyHi5leGEuY2hhdF9wYi5DaGF0TWVzc2FnZVByb21wdEoECAQQBSJSCg9Nb2RlbEFzc2lnbm1lbnQSFgoOYXNzaWdubWVudF9qd3QYASABKAkSEQoJbW9kZWxfdWlkGAIgASgJEhQKDGhhcm5lc3NfdWlkcxgDIAMoCSJNChNBc3NpZ25Nb2RlbFJlc3BvbnNlEjYKCmFzc2lnbm1lbnQYASABKAsyIi5leGEuYXBpX3NlcnZlcl9wYi5Nb2RlbEFzc2lnbm1lbnQiggEKF0dldFRyYW5zY3JpcHRpb25SZXF1ZXN0EjEKCG1ldGFkYXRhGAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhEhIKCmF1ZGlvX2RhdGEYAiABKAxKBAgDEARKBAgEEAVSBnByb21wdFIMbGF0ZW5jeV9pbmZvIjQKGEdldFRyYW5zY3JpcHRpb25SZXNwb25zZRIYChB0cmFuc2NyaWJlZF90ZXh0GAIgASgJIuEBChpSZWNvcmROZXdDb3J0ZXhQbGFuUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRIRCgljb3J0ZXhfaWQYAiABKAkSOgoOcmVxdWVzdF9zb3VyY2UYBiABKA4yIi5leGEuY29ydGV4X3BiLkNvcnRleFJlcXVlc3RTb3VyY2USEQoJcGxhbl9nb2FsGAMgASgJEhMKC2lucHV0X2ZpbGVzGAQgAygJEhkKEWlucHV0X2RpcmVjdG9yaWVzGAUgAygJIh0KG1JlY29yZE5ld0NvcnRleFBsYW5SZXNwb25zZSLmAQoYUmVjb3JkQ29ydGV4RXJyb3JSZXF1ZXN0EjEKCG1ldGFkYXRhGAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhEhEKCWNvcnRleF9pZBgCIAEoCRINCgVlcnJvchgDIAEoCRIUCgxlcnJvcl9kZXRhaWwYBCABKAkSPAoIY2F0ZWdvcnkYBSABKA4yKi5leGEuY29kZWl1bV9jb21tb25fcGIuQ29ydGV4RXJyb3JDYXRlZ29yeRITCgtjYXRlZ29yeV9pZBgGIAEoCRIMCgR0ZXN0GAcgASgJIhsKGVJlY29yZENvcnRleEVycm9yUmVzcG9uc2Ui3gIKHVJlY29yZENvcnRleENvZGluZ1BsYW5SZXF1ZXN0EjEKCG1ldGFkYXRhGAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhEhYKDmNvZGluZ19wbGFuX2lkGAIgASgJEhEKCWNvcnRleF9pZBgDIAEoCRIYChBjb2RpbmdfcGxhbl9nb2FsGAQgASgJEjsKDG1vZGVsX2NvbmZpZxgFIAEoCzIlLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5DaGF0Tm9kZUNvbmZpZxIVCg1zeXN0ZW1fcHJvbXB0GAYgASgJEjcKD21lc3NhZ2VfcHJvbXB0cxgHIAMoCzIeLmV4YS5jaGF0X3BiLkNoYXRNZXNzYWdlUHJvbXB0EhkKEW51bV9vdXRwdXRfdG9rZW5zGAogAygEEh0KFXJlc3BvbnNlX2xhdGVuY2llc19tcxgLIAMoBCIgCh5SZWNvcmRDb3J0ZXhDb2RpbmdQbGFuUmVzcG9uc2UiwQIKHVJlY29yZENvcnRleENvZGluZ1N0ZXBSZXF1ZXN0EjEKCG1ldGFkYXRhGAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhEhYKDmNvZGluZ19zdGVwX2lkGAIgASgJEhYKDmNvZGluZ19wbGFuX2lkGAMgASgJEhIKCnN0ZXBfaW5kZXgYBCABKA0SEwoLYWN0aW9uX3R5cGUYBSABKAkSEwoLaW5zdHJ1Y3Rpb24YBiABKAkSDgoGc291cmNlGAcgASgJEg4KBnRhcmdldBgIIAEoCRIYChBhY3Rpb25fc3BlY19qc29uGAkgASgJEhkKEXN0ZXBfb3V0bGluZV9qc29uGAogASgJEhQKDHN0ZXBfdmVyc2lvbhgLIAEoDRIUCgxwbGFuX3ZlcnNpb24YDCABKA0iIAoeUmVjb3JkQ29ydGV4Q29kaW5nU3RlcFJlc3BvbnNlIrwBCiVSZWNvcmRDb3J0ZXhDb2RpbmdTdGVwRmVlZGJhY2tSZXF1ZXN0EjEKCG1ldGFkYXRhGAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhEhYKDmNvZGluZ19zdGVwX2lkGAIgASgJEjEKCGZlZWRiYWNrGAMgASgOMh8uZXhhLmFwaV9zZXJ2ZXJfcGIuRmVlZGJhY2tUeXBlEhUKDWNvbXBsZXRpb25faWQYBCABKAkiKAomUmVjb3JkQ29ydGV4Q29kaW5nU3RlcEZlZWRiYWNrUmVzcG9uc2UihQEKG1JlY29yZENvcnRleEZlZWRiYWNrUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRIRCgljb3J0ZXhfaWQYAiABKAkSEAoIZmVlZGJhY2sYAyABKAkSDgoGcmF0aW5nGAQgASgFIh4KHFJlY29yZENvcnRleEZlZWRiYWNrUmVzcG9uc2UijgIKFVJlY29yZERlYm91bmNlUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRI+Cg9wcm92aWRlcl9zb3VyY2UYAiABKA4yJS5leGEuY29kZWl1bV9jb21tb25fcGIuUHJvdmlkZXJTb3VyY2USMQoIbGFuZ3VhZ2UYAyABKA4yHy5leGEuY29kZWl1bV9jb21tb25fcGIuTGFuZ3VhZ2USFwoPZWRpdG9yX2xhbmd1YWdlGAQgASgJEhkKEXByb21wdF9sYXRlbmN5X21zGAUgASgEEhsKE2RlYm91bmNlX2xhdGVuY3lfbXMYBiABKAQiGAoWUmVjb3JkRGVib3VuY2VSZXNwb25zZSK2AgoTT3Bwb3J0dW5pdHlNZXRhZGF0YRIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRIxCghsYW5ndWFnZRgCIAEoDjIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5MYW5ndWFnZRI+Cg9jb21wbGV0aW9uX3R5cGUYAyABKA4yJS5leGEuY29kZWl1bV9jb21tb25fcGIuQ29tcGxldGlvblR5cGUSQgoRY29tcGxldGlvbl9zb3VyY2UYBCABKA4yJy5leGEuY29kZWl1bV9jb21tb25fcGIuQ29tcGxldGlvblNvdXJjZRI1CgpyZXBvc2l0b3J5GAUgASgLMiEuZXhhLmNvZGVpdW1fY29tbW9uX3BiLlJlcG9zaXRvcnkiWwoaUmVjb3JkT3Bwb3J0dW5pdGllc1JlcXVlc3QSPQoNb3Bwb3J0dW5pdGllcxgBIAMoCzImLmV4YS5hcGlfc2VydmVyX3BiLk9wcG9ydHVuaXR5TWV0YWRhdGEiHQobUmVjb3JkT3Bwb3J0dW5pdGllc1Jlc3BvbnNlIp8CCg1CeXRlRGVsdGFJbmZvEjYKC2NvZGVfc291cmNlGAEgASgOMiEuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNvZGVTb3VyY2USEQoJbnVtX2J5dGVzGAIgASgFEj4KD2NvbXBsZXRpb25fdHlwZRgDIAEoDjIlLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Db21wbGV0aW9uVHlwZRI+Cg9wcm92aWRlcl9zb3VyY2UYBCABKA4yJS5leGEuY29kZWl1bV9jb21tb25fcGIuUHJvdmlkZXJTb3VyY2USFwoPZ2VuZXJhdG9yX21vZGVsGAUgASgJEhMKC2J5dGVzX2FkZGVkGAYgASgFEhUKDWJ5dGVzX2RlbGV0ZWQYByABKAUisAEKEUNvZGVUcmFja2VyVXBkYXRlEjEKCG1ldGFkYXRhGAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhEjEKCGxhbmd1YWdlGAIgASgOMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLkxhbmd1YWdlEjUKC2J5dGVfZGVsdGFzGAMgAygLMiAuZXhhLmFwaV9zZXJ2ZXJfcGIuQnl0ZURlbHRhSW5mbyJYCh9SZWNvcmRDb2RlVHJhY2tlclVwZGF0ZXNSZXF1ZXN0EjUKB3VwZGF0ZXMYASADKAsyJC5leGEuYXBpX3NlcnZlcl9wYi5Db2RlVHJhY2tlclVwZGF0ZSIiCiBSZWNvcmRDb2RlVHJhY2tlclVwZGF0ZXNSZXNwb25zZSJbCh5SZWNvcmRDb21wbGV0aW9uRXhhbXBsZVJlcXVlc3QSOQoHZXhhbXBsZRgBIAEoCzIoLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Db21wbGV0aW9uRXhhbXBsZSIhCh9SZWNvcmRDb21wbGV0aW9uRXhhbXBsZVJlc3BvbnNlIrYDChVHZXRDb21wbGV0aW9uc1JlcXVlc3QSMQoIbWV0YWRhdGEYASABKAsyHy5leGEuY29kZWl1bV9jb21tb25fcGIuTWV0YWRhdGESOgoHcmVxdWVzdBgCIAEoCzIpLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Db21wbGV0aW9uc1JlcXVlc3QSPgoPcHJvdmlkZXJfc291cmNlGAQgASgOMiUuZXhhLmNvZGVpdW1fY29tbW9uX3BiLlByb3ZpZGVyU291cmNlEkIKEXByb21wdF9jb21wb25lbnRzGAUgASgLMicuZXhhLmNvZGVpdW1fY29tbW9uX3BiLlByb21wdENvbXBvbmVudHMSQgoRZXhwZXJpbWVudF9jb25maWcYBiABKAsyJy5leGEuY29kZWl1bV9jb21tb25fcGIuRXhwZXJpbWVudENvbmZpZxJDChJtb2NrX3Jlc3BvbnNlX2RhdGEYAyABKAsyJy5leGEuY29kZWl1bV9jb21tb25fcGIuTW9ja1Jlc3BvbnNlRGF0YRIOCgZpc19kZXYYByABKAgSEQoJcHJvbXB0X2lkGAggASgJIrkBChZHZXRDb21wbGV0aW9uc1Jlc3BvbnNlEkYKE2NvbXBsZXRpb25fcmVzcG9uc2UYASABKAsyKS5leGEuY29kZWl1bV9jb21tb25fcGIuQ29tcGxldGlvblJlc3BvbnNlEg8KB2xhdGVuY3kYAiABKAESRgoTY29tcGxldGlvbnNfcmVxdWVzdBgDIAEoCzIpLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Db21wbGV0aW9uc1JlcXVlc3QiWgoUQ2NpV2l0aFN1YnJhbmdlQmF0Y2gSQgoSY2NpX3dpdGhfc3VicmFuZ2VzGAEgAygLMiYuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNjaVdpdGhTdWJyYW5nZSJ6ChFFYXJseVJldHVybkNvbmZpZxIdChVtaW5fY29tcGxldGVfZnJhY3Rpb24YASABKAESHgoWbWluX2FkZGl0aW9uYWxfd2FpdF9tcxgCIAEoBRImCh5taW5fYWRkaXRpb25hbF93YWl0X211bHRpcGxpZXIYAyABKAIikAIKEEdldE1RdWVyeVJlcXVlc3QSMQoIbWV0YWRhdGEYASABKAsyHy5leGEuY29kZWl1bV9jb21tb25fcGIuTWV0YWRhdGESKwoFbW9kZWwYAiABKA4yHC5leGEuY29kZWl1bV9jb21tb25fcGIuTW9kZWwSDQoFcXVlcnkYAyABKAkSSgoZY2NpX3dpdGhfc3VicmFuZ2VfYmF0Y2hlcxgEIAMoCzInLmV4YS5hcGlfc2VydmVyX3BiLkNjaVdpdGhTdWJyYW5nZUJhdGNoEkEKE2Vhcmx5X3JldHVybl9jb25maWcYBSABKAsyJC5leGEuYXBpX3NlcnZlcl9wYi5FYXJseVJldHVybkNvbmZpZyJlCg9TY29yZVdpdGhTdGF0dXMSNAoGc3RhdHVzGAEgASgOMiQuZXhhLmFwaV9zZXJ2ZXJfcGIuTVF1ZXJ5U2NvcmVTdGF0dXMSDQoFc2NvcmUYAiABKAISDQoFZXJyb3IYAyABKAkiQAoKU2NvcmVCYXRjaBIyCgZzY29yZXMYASADKAsyIi5leGEuYXBpX3NlcnZlcl9wYi5TY29yZVdpdGhTdGF0dXMieAoRR2V0TVF1ZXJ5UmVzcG9uc2USNAoNc2NvcmVfYmF0Y2hlcxgBIAMoCzIdLmV4YS5hcGlfc2VydmVyX3BiLlNjb3JlQmF0Y2gSEwoLc2NvcmVyX25hbWUYAiABKAkSGAoQdG9rZW5zX3Byb2Nlc3NlZBgDIAEoDSKUBAoeR2V0U3RyZWFtaW5nQ29tcGxldGlvbnNSZXF1ZXN0EjEKCG1ldGFkYXRhGAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhEjoKB3JlcXVlc3QYAiABKAsyKS5leGEuY29kZWl1bV9jb21tb25fcGIuQ29tcGxldGlvbnNSZXF1ZXN0Ej4KD3Byb3ZpZGVyX3NvdXJjZRgEIAEoDjIlLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Qcm92aWRlclNvdXJjZRJCChFwcm9tcHRfY29tcG9uZW50cxgFIAEoCzInLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Qcm9tcHRDb21wb25lbnRzEkIKEWV4cGVyaW1lbnRfY29uZmlnGAYgASgLMicuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkV4cGVyaW1lbnRDb25maWcSDgoGaXNfZGV2GAcgASgIEhEKCXByb21wdF9pZBgIIAEoCRJJChl1bmlmaWVkX3Byb21wdF9jb21wb25lbnRzGAkgASgLMiYuZXhhLnByb21wdF9wYi5VbmlmaWVkUHJvbXB0Q29tcG9uZW50cxJNChtjb3J0ZXhfdHJhamVjdG9yeV9yZWZlcmVuY2UYCiABKAsyKC5leGEuY29ydGV4X3BiLkNvcnRleFRyYWplY3RvcnlSZWZlcmVuY2UigwEKH0dldFN0cmVhbWluZ0NvbXBsZXRpb25zUmVzcG9uc2USTwoTY29tcGxldGlvbl9yZXNwb25zZRgBIAEoCzIyLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5TdHJlYW1pbmdDb21wbGV0aW9uUmVzcG9uc2USDwoHbGF0ZW5jeRgCIAEoASJNChhDYW5jZWxDb21wbGV0aW9uc1JlcXVlc3QSMQoIbWV0YWRhdGEYASABKAsyHy5leGEuY29kZWl1bV9jb21tb25fcGIuTWV0YWRhdGEiGwoZQ2FuY2VsQ29tcGxldGlvbnNSZXNwb25zZSLTAwoZR2V0Q2hhdENvbXBsZXRpb25zUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRI8ChRjaGF0X21lc3NhZ2VfcHJvbXB0cxgCIAMoCzIeLmV4YS5jaGF0X3BiLkNoYXRNZXNzYWdlUHJvbXB0EhUKDXN5c3RlbV9wcm9tcHQYAyABKAkSRgoTY29tcGxldGlvbnNfcmVxdWVzdBgEIAEoCzIpLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Db21wbGV0aW9uc1JlcXVlc3QSPgoPcHJvdmlkZXJfc291cmNlGAUgASgOMiUuZXhhLmNvZGVpdW1fY29tbW9uX3BiLlByb3ZpZGVyU291cmNlEi4KCG1vZGVsX2lkGAYgASgOMhwuZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1vZGVsEkIKEWV4cGVyaW1lbnRfY29uZmlnGAggASgLMicuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkV4cGVyaW1lbnRDb25maWcSEQoJcHJvbXB0X2lkGAkgASgJSgQIBxAIUhlza2lwX2NvbXBsZXRpb25fdGVsZW1ldHJ5InUKGkdldENoYXRDb21wbGV0aW9uc1Jlc3BvbnNlEkYKE2NvbXBsZXRpb25fcmVzcG9uc2UYASABKAsyKS5leGEuY29kZWl1bV9jb21tb25fcGIuQ29tcGxldGlvblJlc3BvbnNlEg8KB2xhdGVuY3kYAiABKAEifAorR2V0U3RyZWFtaW5nRXh0ZXJuYWxDaGF0Q29tcGxldGlvbnNSZXNwb25zZRI8CglkZWx0YV9tYXAYASABKAsyKS5leGEuY29kZWl1bV9jb21tb25fcGIuQ29tcGxldGlvbkRlbHRhTWFwEg8KB2xhdGVuY3kYAiABKAEi3AEKFEdldEVtYmVkZGluZ3NSZXF1ZXN0EjkKB3JlcXVlc3QYASABKAsyKC5leGEuY29kZWl1bV9jb21tb25fcGIuRW1iZWRkaW5nc1JlcXVlc3QSPQoMcmV0cnlfcG9saWN5GAMgASgOMicuZXhhLmFwaV9zZXJ2ZXJfcGIuRW1iZWRkaW5nUmV0cnlQb2xpY3kSNQoPZW1iZWRkaW5nX21vZGVsGAQgASgOMhwuZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1vZGVsSgQIAhADUg1oaWdoX3ByaW9yaXR5ImQKFUdldEVtYmVkZGluZ3NSZXNwb25zZRI6CghyZXNwb25zZRgBIAEoCzIoLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5FbWJlZGRpbmdSZXNwb25zZRIPCgdsYXRlbmN5GAIgASgBIu4DCiVCYXRjaFJlY29yZFVzZXJMYXN0VXBkYXRlVGltZXNSZXF1ZXN0EnEKFnVzZXJfbGFzdF91cGRhdGVfdGltZXMYASADKAsyUS5leGEuYXBpX3NlcnZlcl9wYi5CYXRjaFJlY29yZFVzZXJMYXN0VXBkYXRlVGltZXNSZXF1ZXN0LlVzZXJMYXN0VXBkYXRlVGltZXNFbnRyeRJ+Ch11c2VyX2xhc3RfdXBkYXRlX3JlY29yZF9saXN0cxgCIAMoCzJXLmV4YS5hcGlfc2VydmVyX3BiLkJhdGNoUmVjb3JkVXNlckxhc3RVcGRhdGVUaW1lc1JlcXVlc3QuVXNlckxhc3RVcGRhdGVSZWNvcmRMaXN0c0VudHJ5GmMKGFVzZXJMYXN0VXBkYXRlVGltZXNFbnRyeRILCgNrZXkYASABKAkSNgoFdmFsdWUYAiABKAsyJy5leGEuY29kZWl1bV9jb21tb25fcGIuTGFzdFVwZGF0ZVJlY29yZDoCOAEabQoeVXNlckxhc3RVcGRhdGVSZWNvcmRMaXN0c0VudHJ5EgsKA2tleRgBIAEoCRI6CgV2YWx1ZRgCIAEoCzIrLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5MYXN0VXBkYXRlUmVjb3JkTGlzdDoCOAEiKAomQmF0Y2hSZWNvcmRVc2VyTGFzdFVwZGF0ZVRpbWVzUmVzcG9uc2UinQMKHlJlY29yZENoYXRSZXF1ZXN0UmVjb3JkUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRI+CgxjaGF0X3JlcXVlc3QYAiABKAsyKC5leGEuYXBpX3NlcnZlcl9wYi5HZXRDaGF0TWVzc2FnZVJlcXVlc3QSGQoRZGlzYWJsZV90ZWxlbWV0cnkYAyABKAgSEgoKZGVwbG95bWVudBgEIAEoCRISCgpzdGFydF90aW1lGAUgASgJEhAKCGVuZF90aW1lGAYgASgJEjYKC3VzZXJfc3RhdHVzGAcgASgLMiEuZXhhLmNvZGVpdW1fY29tbW9uX3BiLlVzZXJTdGF0dXMSDQoFZXJyb3IYCCABKAkSEwoLcmVxdWVzdF91aWQYCSABKAkSFQoNcmVzcG9uc2VfdGV4dBgKIAEoCRJAChNyZXNwb25zZV90b29sX2NhbGxzGAsgAygLMiMuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNoYXRUb29sQ2FsbCJvCiRCYXRjaFJlY29yZENoYXRSZXF1ZXN0UmVjb3Jkc1JlcXVlc3QSRwoMY2hhdF9yZWNvcmRzGAEgAygLMjEuZXhhLmFwaV9zZXJ2ZXJfcGIuUmVjb3JkQ2hhdFJlcXVlc3RSZWNvcmRSZXF1ZXN0IicKJUJhdGNoUmVjb3JkQ2hhdFJlcXVlc3RSZWNvcmRzUmVzcG9uc2UiRQocR2V0Q29tcGxldGlvbkV4YW1wbGVzUmVxdWVzdBIUCgxtYXhfZXhhbXBsZXMYASABKA0SDwoHYXBpX2tleRgCIAEoCSJnCh1HZXRDb21wbGV0aW9uRXhhbXBsZXNSZXNwb25zZRJGCghleGFtcGxlcxgBIAMoCzI0LmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Db21wbGV0aW9uRXhhbXBsZVdpdGhNZXRhZGF0YSK2BAoWUHJvdmlkZUZlZWRiYWNrUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRIRCglwcm9tcHRfaWQYAiABKAkSFQoNY29tcGxldGlvbl9pZBgDIAEoCRI3CgZzb3VyY2UYBCABKA4yJy5leGEuY29kZWl1bV9jb21tb25fcGIuQ29tcGxldGlvblNvdXJjZRIxCghmZWVkYmFjaxgFIAEoDjIfLmV4YS5hcGlfc2VydmVyX3BiLkZlZWRiYWNrVHlwZRI4CgpleHRyYV9pbmZvGAwgASgOMiQuZXhhLmFwaV9zZXJ2ZXJfcGIuRmVlZGJhY2tFeHRyYUluZm8SEgoKbGF0ZW5jeV9tcxgGIAEoBBIaChJuZXR3b3JrX2xhdGVuY3lfbXMYCCABKAQSGwoTZGVib3VuY2VfbGF0ZW5jeV9tcxgJIAEoBBIZChFjbGllbnRfbGF0ZW5jeV9tcxgKIAEoBBIZChF0aW1lc3RhbXBfdW5peF9tcxgHIAEoAxIZChFmZWVkYmFja19kZWxheV9tcxgLIAEoAxI+Cg9wcm92aWRlcl9zb3VyY2UYDSABKA4yJS5leGEuY29kZWl1bV9jb21tb25fcGIuUHJvdmlkZXJTb3VyY2USGQoRdmlld19jb2x1bW5zX29wZW4YDiABKAQSIAoYaGFzX2FjdGl2ZV92aW1fZXh0ZW5zaW9uGA8gASgIIhkKF1Byb3ZpZGVGZWVkYmFja1Jlc3BvbnNlIoYBChhVcGxvYWRFcnJvclRyYWNlc1JlcXVlc3QSMQoIbWV0YWRhdGEYASABKAsyHy5leGEuY29kZWl1bV9jb21tb25fcGIuTWV0YWRhdGESNwoMZXJyb3JfdHJhY2VzGAIgAygLMiEuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkVycm9yVHJhY2UiGwoZVXBsb2FkRXJyb3JUcmFjZXNSZXNwb25zZSLkAgobUmVjb3JkQXN5bmNUZWxlbWV0cnlSZXF1ZXN0EjEKCG1ldGFkYXRhGAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhEjcKDGVycm9yX3RyYWNlcxgCIAMoCzIhLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5FcnJvclRyYWNlEkcKFHdvcmtzcGFjZV9pbmRleF9kYXRhGAMgAygLMikuZXhhLmNvZGVpdW1fY29tbW9uX3BiLldvcmtzcGFjZUluZGV4RGF0YRI+Cg93b3Jrc3BhY2Vfc3RhdHMYBCADKAsyJS5leGEuY29kZWl1bV9jb21tb25fcGIuV29ya3NwYWNlU3RhdHMSFAoMbWVtb3J5X3N0YXRzGAUgASgMEjoKDWluZGV4ZXJfc3RhdHMYBiABKAsyIy5leGEuY29kZWl1bV9jb21tb25fcGIuSW5kZXhlclN0YXRzIh4KHFJlY29yZEFzeW5jVGVsZW1ldHJ5UmVzcG9uc2UikwQKIVJlY29yZEF1dG9DYXNjYWRlVGVsZW1ldHJ5UmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRISCgpldmVudF90eXBlGA0gASgJEhMKC3Nlc3Npb25fa2V5GA4gASgJEg8KB2FwaV9rZXkYDyABKAkSGQoRZ2l0aHViX2NvbW1lbnRfaWQYECABKAkSEwoLZ2l0aHViX3JlcG8YESABKAkSFwoPZ2l0aHViX3VzZXJuYW1lGBIgASgJEhcKD3RodW1ic191cF9jb3VudBgTIAEoBRIZChF0aHVtYnNfZG93bl9jb3VudBgUIAEoBRITCgticmFuY2hfbmFtZRgVIAEoCRIVCg1icmFuY2hfc3RhdHVzGBYgASgJEg8KB3RlYW1faWQYFyABKAkSFAoMZ2l0aHViX293bmVyGBggASgJEhEKCXByX251bWJlchgZIAEoBRIWCg5pc19wdWJsaWNfcmVwbxgaIAEoCBIUCgxjb21tZW50X3R5cGUYGyABKAlKBAgCEANKBAgDEARKBAgEEAVKBAgFEAZKBAgGEAdKBAgHEAhKBAgIEAlKBAgJEApKBAgKEAtKBAgLEAxKBAgMEA1SAmV0UgJza1ICYWtSA2djaVICZ3JSAmd1UgN0dWNSA3RkY1ICYm5SAmJzUgN0aWQiJAoiUmVjb3JkQXV0b0Nhc2NhZGVUZWxlbWV0cnlSZXNwb25zZSKQAwolUmVjb3JkV2luZHN1cmZSZXZpZXdzVGVsZW1ldHJ5UmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRISCgpldmVudF90eXBlGAIgASgJEg8KB2FwaV9rZXkYAyABKAkSGQoRZ2l0aHViX2NvbW1lbnRfaWQYBCABKAkSEwoLZ2l0aHViX3JlcG8YBSABKAkSFwoPZ2l0aHViX3VzZXJuYW1lGAYgASgJEhcKD3RodW1ic191cF9jb3VudBgHIAEoBRIZChF0aHVtYnNfZG93bl9jb3VudBgIIAEoBRITCgticmFuY2hfbmFtZRgJIAEoCRIVCg1icmFuY2hfc3RhdHVzGAogASgJEg8KB3RlYW1faWQYCyABKAkSFAoMZ2l0aHViX293bmVyGAwgASgJEhEKCXByX251bWJlchgNIAEoBRIWCg5pc19wdWJsaWNfcmVwbxgOIAEoCBIUCgxjb21tZW50X3R5cGUYDyABKAkiKAomUmVjb3JkV2luZHN1cmZSZXZpZXdzVGVsZW1ldHJ5UmVzcG9uc2UihAIKIFJlY29yZFdpbmRzdXJmUmV2aWV3RXZlbnRSZXF1ZXN0EjEKCG1ldGFkYXRhGAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhEhIKCmV2ZW50X3R5cGUYAiABKAkSDwoHYXBpX2tleRgDIAEoCRIUCgxnaXRodWJfb3duZXIYBCABKAkSEwoLZ2l0aHViX3JlcG8YBSABKAkSFwoPZ2l0aHViX3VzZXJuYW1lGAYgASgJEg8KB3RlYW1faWQYByABKAkSDAoEY29zdBgIIAEoAhINCgVtb2RlbBgJIAEoCRIWCg5mYWlsdXJlX3JlYXNvbhgKIAEoCSIjCiFSZWNvcmRXaW5kc3VyZlJldmlld0V2ZW50UmVzcG9uc2UinwEKGEdldERldnN0cmFsU3RyZWFtUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRI8ChRjaGF0X21lc3NhZ2VfcHJvbXB0cxgCIAMoCzIeLmV4YS5jaGF0X3BiLkNoYXRNZXNzYWdlUHJvbXB0EhIKCnRvb2xzX2pzb24YAyABKAkiZAoZR2V0RGV2c3RyYWxTdHJlYW1SZXNwb25zZRIOCgZvdXRwdXQYAiABKAkSNwoKdG9vbF9jYWxscxgDIAMoCzIjLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5DaGF0VG9vbENhbGwi2gkKFUdldENoYXRNZXNzYWdlUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRIOCgZwcm9tcHQYAiABKAkSPAoUY2hhdF9tZXNzYWdlX3Byb21wdHMYAyADKAsyHi5leGEuY2hhdF9wYi5DaGF0TWVzc2FnZVByb21wdBIfChd1c2VfaW50ZXJuYWxfY2hhdF9tb2RlbBgFIAEoCBI9ChNpbnRlcm5hbF9jaGF0X21vZGVsGAYgASgOMhwuZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1vZGVsQgIYARIWCg5jaGF0X21vZGVsX3VpZBgVIAEoCRI/CgxyZXF1ZXN0X3R5cGUYByABKA4yKS5leGEuYXBpX3NlcnZlcl9wYi5DaGF0TWVzc2FnZVJlcXVlc3RUeXBlEkUKDWNvbmZpZ3VyYXRpb24YCCABKAsyLi5leGEuY29kZWl1bV9jb21tb25fcGIuQ29tcGxldGlvbkNvbmZpZ3VyYXRpb24SQgoRZXhwZXJpbWVudF9jb25maWcYCSABKAsyJy5leGEuY29kZWl1bV9jb21tb25fcGIuRXhwZXJpbWVudENvbmZpZxIuCgV0b29scxgKIAMoCzIfLmV4YS5jaGF0X3BiLkNoYXRUb29sRGVmaW5pdGlvbhIjChtkaXNhYmxlX3BhcmFsbGVsX3Rvb2xfY2FsbHMYCyABKAgSMAoLdG9vbF9jaG9pY2UYDCABKAsyGy5leGEuY2hhdF9wYi5DaGF0VG9vbENob2ljZRJEChtzeXN0ZW1fcHJvbXB0X2NhY2hlX29wdGlvbnMYDSABKAsyHy5leGEuY2hhdF9wYi5Qcm9tcHRDYWNoZU9wdGlvbnMSFwoPY2hhdF9tb2RlbF9uYW1lGA4gASgJEkYKFHRyYWplY3RvcnlfcmVmZXJlbmNlGA8gASgLMiguZXhhLmNvcnRleF9wYi5Db3J0ZXhUcmFqZWN0b3J5UmVmZXJlbmNlEhIKCmNhc2NhZGVfaWQYECABKAkSEQoJcHJvbXB0X2lkGBEgASgJEj4KD3Byb3ZpZGVyX3NvdXJjZRgSIAEoDjIlLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Qcm92aWRlclNvdXJjZRIxCghsYW5ndWFnZRgTIAEoDjIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5MYW5ndWFnZRJGCgxwbGFubmVyX21vZGUYFCABKA4yMC5leGEuY29kZWl1bV9jb21tb25fcGIuQ29udmVyc2F0aW9uYWxQbGFubmVyTW9kZRIUCgxleGVjdXRpb25faWQYFiABKAkSIQoUYXJlbmFfY29udmVyZ2VfY291bnQYGCABKAVIAIgBARIhChRhcmVuYV9hc3NpZ25tZW50X2p3dBgZIAEoCUgBiAEBEiEKFG1vZGVsX2Fzc2lnbm1lbnRfand0GBogASgJSAKIAQFCFwoVX2FyZW5hX2NvbnZlcmdlX2NvdW50QhcKFV9hcmVuYV9hc3NpZ25tZW50X2p3dEIXChVfbW9kZWxfYXNzaWdubWVudF9qd3RKBAgXEBhKBAgEEAVSCmFyZW5hX3RpZXJSCm1vZGVsX25hbWUipwgKFkdldENoYXRNZXNzYWdlUmVzcG9uc2USEgoKbWVzc2FnZV9pZBgBIAEoCRItCgl0aW1lc3RhbXAYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhIKCmRlbHRhX3RleHQYAyABKAkSFAoMZGVsdGFfdG9rZW5zGAQgASgNEjYKC3N0b3BfcmVhc29uGAUgASgOMiEuZXhhLmNvZGVpdW1fY29tbW9uX3BiLlN0b3BSZWFzb24SPQoQZGVsdGFfdG9vbF9jYWxscxgGIAMoCzIjLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5DaGF0VG9vbENhbGwSNQoFdXNhZ2UYByABKAsyJi5leGEuY29kZWl1bV9jb21tb25fcGIuTW9kZWxVc2FnZVN0YXRzEhMKC2NyZWRpdF9jb3N0GA4gASgFEg4KBnJlZGFjdBgIIAEoCBIWCg5kZWx0YV90aGlua2luZxgJIAEoCRIXCg9kZWx0YV9zaWduYXR1cmUYCiABKAkSGQoRdGhpbmtpbmdfcmVkYWN0ZWQYCyABKAgSDwoHbGF0ZW5jeRgMIAEoARJEChJjb21wbGV0aW9uX3Byb2ZpbGUYDSABKAsyKC5leGEuY29kZWl1bV9jb21tb25fcGIuQ29tcGxldGlvblByb2ZpbGUSEQoJb3V0cHV0X2lkGA8gASgJEhcKC3RoaW5raW5nX2lkGBAgASgJQgIYARISCgpyZXF1ZXN0X2lkGBEgASgJEh0KFWNvbW1pdHRlZF9jcmVkaXRfY29zdBgSIAEoBRIOCgZwcm9tcHQYEyABKAkSJAoYZ2VtaW5pX3Rob3VnaHRfc2lnbmF0dXJlGBQgASgMQgIYARIcChRkZWx0YV9zaWduYXR1cmVfdHlwZRgVIAEoCRIaChJjb21taXR0ZWRfYWN1X2Nvc3QYFiABKAESHQoQYWN0dWFsX21vZGVsX3VpZBgXIAEoCUgAiAEBEiQKHGFyZW5hX2ludm9jYXRpb25fY2FwX3JlYWNoZWQYGCABKAgSDQoFcGhhc2UYGSABKAkSLgohY29tbWl0dGVkX3F1b3RhX2Nvc3RfYmFzaXNfcG9pbnRzGBogASgDSAGIAQESKQocY29tbWl0dGVkX292ZXJhZ2VfY29zdF9jZW50cxgbIAEoA0gCiAEBElAKGXJlc3BvbnNlX2RpbWVuc2lvbl9ncm91cHMYHCADKAsyLS5leGEuY29kZWl1bV9jb21tb25fcGIuUmVzcG9uc2VEaW1lbnNpb25Hcm91cEITChFfYWN0dWFsX21vZGVsX3VpZEIkCiJfY29tbWl0dGVkX3F1b3RhX2Nvc3RfYmFzaXNfcG9pbnRzQh8KHV9jb21taXR0ZWRfb3ZlcmFnZV9jb3N0X2NlbnRzIqQBCiBDaGVja1VzZXJNZXNzYWdlUmF0ZUxpbWl0UmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRI6ChBtb2RlbF9kZXByZWNhdGVkGAIgASgOMhwuZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1vZGVsQgIYARIRCgltb2RlbF91aWQYAyABKAkilwEKIUNoZWNrVXNlck1lc3NhZ2VSYXRlTGltaXRSZXNwb25zZRIUCgxoYXNfY2FwYWNpdHkYASABKAgSDwoHbWVzc2FnZRgCIAEoCRIaChJtZXNzYWdlc19yZW1haW5pbmcYAyABKAUSFAoMbWF4X21lc3NhZ2VzGAQgASgFEhkKEXJlc2V0c19pbl9zZWNvbmRzGAUgASgDIp0CChJHZXREZWVwV2lraVJlcXVlc3QSMQoIbWV0YWRhdGEYASABKAsyHy5leGEuY29kZWl1bV9jb21tb25fcGIuTWV0YWRhdGESNgoMcmVxdWVzdF90eXBlGAIgASgOMiAuZXhhLmNoYXRfcGIuRGVlcFdpa2lSZXF1ZXN0VHlwZRITCgtzeW1ib2xfbmFtZRgDIAEoCRISCgpzeW1ib2xfdXJpGAQgASgJEg8KB2NvbnRleHQYBSABKAkSNAoLc3ltYm9sX3R5cGUYBiABKA4yHy5leGEuY2hhdF9wYi5EZWVwV2lraVN5bWJvbFR5cGUSEAoIbGFuZ3VhZ2UYByABKAkSGgoSZ2VuZXJhdGVfZm9sbG93dXBzGAggASgIIqUBChNHZXREZWVwV2lraVJlc3BvbnNlEjsKCHJlc3BvbnNlGAEgASgLMikuZXhhLmFwaV9zZXJ2ZXJfcGIuR2V0Q2hhdE1lc3NhZ2VSZXNwb25zZRI8Cgptb2RlbF90eXBlGAIgASgOMiguZXhhLmNvZGVpdW1fY29tbW9uX3BiLkRlZXBXaWtpTW9kZWxUeXBlEhMKC2lzX2ZvbGxvd3VwGAMgASgIIpwBChhDaGVja0NoYXRDYXBhY2l0eVJlcXVlc3QSMQoIbWV0YWRhdGEYASABKAsyHy5leGEuY29kZWl1bV9jb21tb25fcGIuTWV0YWRhdGESOgoQbW9kZWxfZGVwcmVjYXRlZBgCIAEoDjIcLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Nb2RlbEICGAESEQoJbW9kZWxfdWlkGAMgASgJIlsKGUNoZWNrQ2hhdENhcGFjaXR5UmVzcG9uc2USFAoMaGFzX2NhcGFjaXR5GAEgASgIEg8KB21lc3NhZ2UYAiABKAkSFwoPYWN0aXZlX3Nlc3Npb25zGAMgASgFIvgDCilHZXRTdHJlYW1pbmdNb2RlbEFQSVRleHRDb21wbGV0aW9uUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRIrCgVtb2RlbBgCIAEoDjIcLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Nb2RlbBIVCg1zeXN0ZW1fcHJvbXB0GAMgASgJEkQKG3N5c3RlbV9wcm9tcHRfY2FjaGVfb3B0aW9ucxgHIAEoCzIfLmV4YS5jaGF0X3BiLlByb21wdENhY2hlT3B0aW9ucxI8ChRjaGF0X21lc3NhZ2VfcHJvbXB0cxgEIAMoCzIeLmV4YS5jaGF0X3BiLkNoYXRNZXNzYWdlUHJvbXB0ElAKGGNvbXBsZXRpb25fY29uZmlndXJhdGlvbhgFIAEoCzIuLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Db21wbGV0aW9uQ29uZmlndXJhdGlvbhI/CgxyZXF1ZXN0X3R5cGUYBiABKA4yKS5leGEuYXBpX3NlcnZlcl9wYi5DaGF0TWVzc2FnZVJlcXVlc3RUeXBlEj0KE292ZXJyaWRlX21vZGVsX2luZm8YCCABKAsyIC5leGEuY29kZWl1bV9jb21tb25fcGIuTW9kZWxJbmZvImoKKkdldFN0cmVhbWluZ01vZGVsQVBJVGV4dENvbXBsZXRpb25SZXNwb25zZRI8CglkZWx0YV9tYXAYASABKAsyKS5leGEuY29kZWl1bV9jb21tb25fcGIuQ29tcGxldGlvbkRlbHRhTWFwIqMFChFSZWNvcmRDaGF0UmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRISCgpsYXRlbmN5X21zGAIgASgEEi4KDGNoYXRfbWVzc2FnZRgDIAEoCzIYLmV4YS5jaGF0X3BiLkNoYXRNZXNzYWdlEjwKFGNoYXRfbWVzc2FnZV9wcm9tcHRzGAQgAygLMh4uZXhhLmNoYXRfcGIuQ2hhdE1lc3NhZ2VQcm9tcHQSFQoNc3lzdGVtX3Byb21wdBgFIAEoCRJLChZjb250ZXh0X2luY2x1c2lvbl90eXBlGAYgASgOMisuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNvbnRleHRJbmNsdXNpb25UeXBlEiAKGGV4cGVyaW1lbnRfZmVhdHVyZXNfanNvbhgHIAEoCRIfChdleHBlcmltZW50X3ZhcmlhbnRfanNvbhgJIAEoCRIuCghtb2RlbF9pZBgIIAEoDjIcLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Nb2RlbBIUCgxhY3RpdmVfcmVwb3MYCiADKAkSGAoQZ3VpZGVsaW5lX3Byb21wdBgLIAEoCRJGChZjaGF0X3Byb21wdF9jb21wb25lbnRzGA0gASgLMiYuZXhhLnByb21wdF9wYi5VbmlmaWVkUHJvbXB0Q29tcG9uZW50cxJNChtjb3J0ZXhfdHJhamVjdG9yeV9yZWZlcmVuY2UYDiABKAsyKC5leGEuY29ydGV4X3BiLkNvcnRleFRyYWplY3RvcnlSZWZlcmVuY2USOwoOcGlubmVkX2NvbnRleHQYDyABKAsyIy5leGEuY29kZWl1bV9jb21tb25fcGIuQ29udGV4dFNjb3BlIhQKElJlY29yZENoYXRSZXNwb25zZSLSAQoZUmVjb3JkQ2hhdEZlZWRiYWNrUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRISCgptZXNzYWdlX2lkGAIgASgJEi8KCGZlZWRiYWNrGAMgASgOMh0uZXhhLmNoYXRfcGIuQ2hhdEZlZWRiYWNrVHlwZRIOCgZyZWFzb24YBCABKAkSLQoJdGltZXN0YW1wGAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCIcChpSZWNvcmRDaGF0RmVlZGJhY2tSZXNwb25zZSK6AQodUmVjb3JkQ2hhdFBhbmVsU2Vzc2lvblJlcXVlc3QSMQoIbWV0YWRhdGEYASABKAsyHy5leGEuY29kZWl1bV9jb21tb25fcGIuTWV0YWRhdGESMwoPc3RhcnRfdGltZXN0YW1wGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIxCg1lbmRfdGltZXN0YW1wGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCIgCh5SZWNvcmRDaGF0UGFuZWxTZXNzaW9uUmVzcG9uc2Ui3wUKG1JlY29yZENvbnRleHRSZWZyZXNoUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRJDCg5yZWZyZXNoX3JlYXNvbhgCIAEoDjIrLmV4YS5jb250ZXh0X21vZHVsZV9wYi5Db250ZXh0UmVmcmVzaFJlYXNvbhITCgtkaWRfcmVmcmVzaBgDIAEoCBImCh5jdXJyZW50X2RvY3VtZW50X2Fic29sdXRlX3BhdGgYBCABKAkSJgoeY3VycmVudF9kb2N1bWVudF9yZWxhdGl2ZV9wYXRoGAUgASgJEiIKGmN1cnJlbnRfZG9jdW1lbnRfd29ya3NwYWNlGAYgASgJEh8KF2N1cnJlbnRfY2hhdF9tZXNzYWdlX2lkGAcgASgJEkIKGWN1cnJlbnRfZG9jdW1lbnRfbGFuZ3VhZ2UYCCABKA4yHy5leGEuY29kZWl1bV9jb21tb25fcGIuTGFuZ3VhZ2USEgoKbGF0ZW5jeV9tcxgJIAEoBBIfChdzdGF0ZV91cGRhdGVfbGF0ZW5jeV9tcxgKIAEoBBJiChNjb2RlX2NvbnRleHRfY291bnRzGAsgAygLMkUuZXhhLmFwaV9zZXJ2ZXJfcGIuUmVjb3JkQ29udGV4dFJlZnJlc2hSZXF1ZXN0LkNvZGVDb250ZXh0Q291bnRzRW50cnkSLQoJdGltZXN0YW1wGAwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIeChZsb2NhbF9jb2RlYmFzZV9xdWVyaWVzGA0gAygJEiEKGWNvbnRleHRfbW9kdWxlX3N0YXRzX2pzb24YDiABKAkSFQoNcmVmcmVzaF9lcnJvchgPIAEoCRo4ChZDb2RlQ29udGV4dENvdW50c0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoBDoCOAEiHgocUmVjb3JkQ29udGV4dFJlZnJlc2hSZXNwb25zZSJ1ChJSZWNvcmRFdmVudFJlcXVlc3QSMQoIbWV0YWRhdGEYASABKAsyHy5leGEuY29kZWl1bV9jb21tb25fcGIuTWV0YWRhdGESLAoGZXZlbnRzGAIgAygLMhwuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkV2ZW50IhUKE1JlY29yZEV2ZW50UmVzcG9uc2UiwAEKGlJlY29yZFBpbm5lZENvbnRleHRSZXF1ZXN0EjEKCG1ldGFkYXRhGAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhEjIKBXNjb3BlGAIgASgLMiMuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNvbnRleHRTY29wZRI7Cg5wcmV2aW91c19zY29wZRgDIAEoCzIjLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Db250ZXh0U2NvcGUiHQobUmVjb3JkUGlubmVkQ29udGV4dFJlc3BvbnNlIrwBChNSZWNvcmRTZWFyY2hSZXF1ZXN0EjEKCG1ldGFkYXRhGAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhEg0KBXF1ZXJ5GAIgASgJEhEKCXNlYXJjaF9pZBgDIAEoCRISCgpsYXRlbmN5X21zGAQgASgEEjwKC3NlYXJjaF90eXBlGAUgASgOMicuZXhhLmNvZGVpdW1fY29tbW9uX3BiLlNlYXJjaFJlc3VsdFR5cGUisAIKE1JlY29yZE1RdWVyeVJlcXVlc3QSMQoIbWV0YWRhdGEYASABKAsyHy5leGEuY29kZWl1bV9jb21tb25fcGIuTWV0YWRhdGESFgoOcmVmcmVzaF9yZWFzb24YAiABKAkSDQoFcXVlcnkYAyABKAkSLQoJdGltZXN0YW1wGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIVCg1pdGVtc19zY2FubmVkGAUgASgDEhgKEHRva2Vuc19wcm9jZXNzZWQYBiABKAMSFwoPam9iX2R1cmF0aW9uX21zGAcgASgDEhIKCnJlcXVlc3RfaWQYCCABKAkSEgoKZXJyb3JfanNvbhgJIAEoCRIeChZyZWxldmFuY2Vfc2NvcmVyX21vZGVsGAogASgJIhYKFFJlY29yZE1RdWVyeVJlc3BvbnNlIuQDCh1SZWNvcmRDaGF0TW9kZWxOb2RlUnVuUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRIOCgZydW5faWQYAiABKAkSEgoKbWl4aW5fdHlwZRgDIAEoCRISCgpsYXRlbmN5X21zGAQgASgEEhUKDXN5c3RlbV9wcm9tcHQYBSABKAkSPAoUY2hhdF9tZXNzYWdlX3Byb21wdHMYBiADKAsyHi5leGEuY2hhdF9wYi5DaGF0TWVzc2FnZVByb21wdBJLChZjb250ZXh0X2luY2x1c2lvbl90eXBlGAcgASgOMisuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNvbnRleHRJbmNsdXNpb25UeXBlEi4KCG1vZGVsX2lkGAggASgOMhwuZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1vZGVsEi0KCXRpbWVzdGFtcBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDQoFZXJyb3IYCiABKAkSFgoObnVtX2l0ZXJhdGlvbnMYCyABKAUSGQoRY29tcGxldGlvbl90b2tlbnMYDCABKAUSFQoNcHJvbXB0X3Rva2VucxgNIAEoBSIgCh5SZWNvcmRDaGF0TW9kZWxOb2RlUnVuUmVzcG9uc2UihQIKF1JlY29yZENvcnRleFN0ZXBSZXF1ZXN0EjEKCG1ldGFkYXRhGAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhEhYKDmNvcnRleF9wbGFuX2lkGAIgASgJEjcKCnN0ZXBfcHJvdG8YAyABKAsyIy5leGEuY29ydGV4X3BiLkNvcnRleFRyYWplY3RvcnlTdGVwEhQKDGV4ZWN1dGlvbl9pZBgEIAEoCRI6Cg5zdGF0ZV9zbmFwc2hvdBgFIAEoCzIiLmV4YS5jb3J0ZXhfcGIuQ29ydGV4V29ya2Zsb3dTdGF0ZRIUCgxldmVudF9zb3VyY2UYBiABKAkiGgoYUmVjb3JkQ29ydGV4U3RlcFJlc3BvbnNlItsBCidSZWNvcmRUcmFqZWN0b3J5U2VnbWVudEFuYWx5dGljc1JlcXVlc3QSMQoIbWV0YWRhdGEYASABKAsyHy5leGEuY29kZWl1bV9jb21tb25fcGIuTWV0YWRhdGESOwoSdHJhamVjdG9yeV9zZWdtZW50GAIgASgLMh8uZXhhLmNvcnRleF9wYi5Db3J0ZXhUcmFqZWN0b3J5EhgKEHN0YXJ0X3N0ZXBfaW5kZXgYAyABKA0SJgoec3RhcnRfZ2VuZXJhdG9yX21ldGFkYXRhX2luZGV4GAQgASgNIioKKFJlY29yZFRyYWplY3RvcnlTZWdtZW50QW5hbHl0aWNzUmVzcG9uc2UipwMKJFJlY29yZFRyYWplY3RvcnlTZWdtZW50RXZlbnRzUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRIVCg10cmFqZWN0b3J5X2lkGAIgASgJEhQKDGV4ZWN1dGlvbl9pZBgDIAEoCRI1CgdyZWNvcmRzGAQgAygLMiQuZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldHJpY3NSZWNvcmQSEgoKZXZlbnRfdHlwZRgFIAEoCRJAChF0cmFqZWN0b3J5X3NvdXJjZRgGIAEoDjIlLmV4YS5jb3J0ZXhfcGIuQ29ydGV4VHJhamVjdG9yeVNvdXJjZRI8Cg90cmFqZWN0b3J5X3R5cGUYByABKA4yIy5leGEuY29ydGV4X3BiLkNvcnRleFRyYWplY3RvcnlUeXBlEkEKEG1vZGVsX2RlcHJlY2F0ZWQYCCABKAsyIy5leGEuY29kZWl1bV9jb21tb25fcGIuTW9kZWxPckFsaWFzQgIYARIRCgltb2RlbF91aWQYCSABKAkiJwolUmVjb3JkVHJhamVjdG9yeVNlZ21lbnRFdmVudHNSZXNwb25zZSL/AQokUmVjb3JkQ29ydGV4R2VuZXJhdG9yTWV0YWRhdGFSZXF1ZXN0EjEKCG1ldGFkYXRhGAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhEhUKDXRyYWplY3RvcnlfaWQYAiABKAkSEgoKY2FzY2FkZV9pZBgDIAEoCRJGChJnZW5lcmF0b3JfbWV0YWRhdGEYBCABKAsyKi5leGEuY29ydGV4X3BiLkNvcnRleFN0ZXBHZW5lcmF0b3JNZXRhZGF0YRIWCg5tZXRhZGF0YV9pbmRleBgFIAEoDRIZChFsYXN0X2NvbW1vbl9pbmRleBgGIAEoBSInCiVSZWNvcmRDb3J0ZXhHZW5lcmF0b3JNZXRhZGF0YVJlc3BvbnNlIq4DCiRSZWNvcmRDb21taXRNZXNzYWdlR2VuZXJhdGlvblJlcXVlc3QSMQoIbWV0YWRhdGEYASABKAsyHy5leGEuY29kZWl1bV9jb21tb25fcGIuTWV0YWRhdGESHgoWZ2VuZXJhdGlvbl9kdXJhdGlvbl9tcxgCIAEoBBIVCg1zeXN0ZW1fcHJvbXB0GAMgASgJEhMKC2Z1bGxfcHJvbXB0GAQgASgJEhUKDXByb21wdF90b2tlbnMYBSABKAUSGQoRY29tcGxldGlvbl90b2tlbnMYBiABKAUSEQoJcmVwb19yb290GAcgASgJEhMKC2JyYW5jaF9uYW1lGAggASgJEhoKEmxhdGVzdF9jb21taXRfaGFzaBgJIAEoCRIZChFudW1fZmlsZXNfY2hhbmdlZBgKIAEoDRIXCg9udW1fbGluZXNfYWRkZWQYCyABKA0SGQoRbnVtX2xpbmVzX2RlbGV0ZWQYDCABKA0SHgoWY29tbWl0X21lc3NhZ2Vfc3VtbWFyeRgNIAEoCRIiChpjb21taXRfbWVzc2FnZV9kZXNjcmlwdGlvbhgOIAEoCSInCiVSZWNvcmRDb3J0ZXhFeGVjdXRpb25NZXRhZGF0YVJlc3BvbnNlIosCCiRSZWNvcmRDb3J0ZXhFeGVjdXRpb25NZXRhZGF0YVJlcXVlc3QSMQoIbWV0YWRhdGEYASABKAsyHy5leGEuY29kZWl1bV9jb21tb25fcGIuTWV0YWRhdGESFAoMZXhlY3V0aW9uX2lkGAIgASgJEhIKCmNhc2NhZGVfaWQYAyABKAkSFQoNdHJhamVjdG9yeV9pZBgEIAEoCRIXCg9leHBlcmltZW50X2pzb24YBSABKAkSIAoYZXhwZXJpbWVudF92YXJpYW50c19qc29uGAYgASgJEjQKDmNhc2NhZGVfY29uZmlnGAcgASgLMhwuZXhhLmNvcnRleF9wYi5DYXNjYWRlQ29uZmlnIicKJVJlY29yZENvbW1pdE1lc3NhZ2VHZW5lcmF0aW9uUmVzcG9uc2UipAEKJFJlY29yZFN0YXRlSW5pdGlhbGl6YXRpb25EYXRhUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRJJChlzdGF0ZV9pbml0aWFsaXphdGlvbl9kYXRhGAIgASgLMiYuZXhhLmNvcnRleF9wYi5TdGF0ZUluaXRpYWxpemF0aW9uRGF0YSInCiVSZWNvcmRTdGF0ZUluaXRpYWxpemF0aW9uRGF0YVJlc3BvbnNlIqUCCh5SZWNvcmRDb21taXRNZXNzYWdlU2F2ZVJlcXVlc3QSMQoIbWV0YWRhdGEYASABKAsyHy5leGEuY29kZWl1bV9jb21tb25fcGIuTWV0YWRhdGESEQoJcmVwb19yb290GAIgASgJEhMKC2JyYW5jaF9uYW1lGAMgASgJEhMKC2NvbW1pdF9oYXNoGAQgASgJEhYKDmNvbW1pdF9tZXNzYWdlGAUgASgJEjQKEGNvbW1pdF90aW1lc3RhbXAYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhoKEnBhcmVudF9jb21taXRfaGFzaBgHIAEoCRITCgthdXRob3JfbmFtZRgIIAEoCRIUCgxhdXRob3JfZW1haWwYCSABKAkiIQofUmVjb3JkQ29tbWl0TWVzc2FnZVNhdmVSZXNwb25zZSIWChRSZWNvcmRTZWFyY2hSZXNwb25zZSKSAQoaUmVjb3JkU2VhcmNoUmVzdWx0c1JlcXVlc3QSMQoIbWV0YWRhdGEYASABKAsyHy5leGEuY29kZWl1bV9jb21tb25fcGIuTWV0YWRhdGESQQoOc2VhcmNoX3Jlc3VsdHMYAiADKAsyKS5leGEuY29kZWl1bV9jb21tb25fcGIuU2VhcmNoUmVzdWx0UmVjb3JkIh0KG1JlY29yZFNlYXJjaFJlc3VsdHNSZXNwb25zZSJiChpSZWNvcmRTZWFyY2hEb2NPcGVuUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRIRCglyZXN1bHRfaWQYAiABKAkiHQobUmVjb3JkU2VhcmNoRG9jT3BlblJlc3BvbnNlIqIBCh5SZWNvcmRTZWFyY2hSZXN1bHRzVmlld1JlcXVlc3QSMQoIbWV0YWRhdGEYASABKAsyHy5leGEuY29kZWl1bV9jb21tb25fcGIuTWV0YWRhdGESGQoRY2x1c3Rlcl9zZWFyY2hfaWQYAiABKAkSFwoPZXhhY3Rfc2VhcmNoX2lkGAMgASgJEhkKEXNlYXJjaF9yZXN1bHRfaWRzGAQgAygJIiEKH1JlY29yZFNlYXJjaFJlc3VsdHNWaWV3UmVzcG9uc2UiggMKEkNhcHR1cmVDb2RlUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRIRCglwcm9tcHRfaWQYAiABKAkSDAoEY29kZRgDIAEoCRITCgt0aW1lb3V0X3NlYxgEIAEoBBIXCg9jb21wbGV0aW9uX3RleHQYBSABKAkSHgoWcmVsYXRpdmVfZWRpdF9kaXN0YW5jZRgGIAEoAhIVCg1lZGl0X2Rpc3RhbmNlGAcgASgNEg0KBW1hdGNoGAggASgJEhsKE3N0YXJ0X2VkaXRfZGlzdGFuY2UYCSABKA0SEwoLc3RhcnRfbWF0Y2gYCiABKAkSPgoPcHJvdmlkZXJfc291cmNlGAsgASgOMiUuZXhhLmNvZGVpdW1fY29tbW9uX3BiLlByb3ZpZGVyU291cmNlEhUKDWNvbXBsZXRpb25faWQYDCABKAkSGwoTZGlhZ25vc3RpY19zZXZlcml0eRgNIAEoCSIVChNDYXB0dXJlQ29kZVJlc3BvbnNlIlEKEkNhcHR1cmVGaWxlUmVxdWVzdBI7CgRkYXRhGAEgASgLMi0uZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNhcHR1cmVGaWxlUmVxdWVzdERhdGEiFQoTQ2FwdHVyZUZpbGVSZXNwb25zZSIfCh1TdXBwb3J0c1JlbW90ZUluZGV4aW5nUmVxdWVzdCJCCh5TdXBwb3J0c1JlbW90ZUluZGV4aW5nUmVzcG9uc2USIAoYc3VwcG9ydHNfcmVtb3RlX2luZGV4aW5nGAEgASgIIkwKF0dldE1vZGVsU3RhdHVzZXNSZXF1ZXN0EjEKCG1ldGFkYXRhGAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhIl4KGEdldE1vZGVsU3RhdHVzZXNSZXNwb25zZRJCChJtb2RlbF9zdGF0dXNfaW5mb3MYASADKAsyJi5leGEuY29kZWl1bV9jb21tb25fcGIuTW9kZWxTdGF0dXNJbmZvIhoKGEdldE1vZGVsUHJvdmlkZXJzUmVxdWVzdCJhChFNb2RlbFByb3ZpZGVySW5mbxI2Cghwcm92aWRlchgBIAEoDjIkLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Nb2RlbFByb3ZpZGVyEhQKDGRpc3BsYXlfbmFtZRgCIAEoCSJaChlHZXRNb2RlbFByb3ZpZGVyc1Jlc3BvbnNlEj0KD21vZGVsX3Byb3ZpZGVycxgBIAMoCzIkLmV4YS5hcGlfc2VydmVyX3BiLk1vZGVsUHJvdmlkZXJJbmZvIncKG1JlZ2lzdGVyRXh0ZXJuYWxVc2VyUmVxdWVzdBILCgN1aWQYASABKAkSNgoLYXV0aF9zb3VyY2UYAiABKA4yIS5leGEuY29kZWl1bV9jb21tb25fcGIuQXV0aFNvdXJjZRITCgtwcml2YXRlX2tleRgDIAEoCSIeChxSZWdpc3RlckV4dGVybmFsVXNlclJlc3BvbnNlInUKGURlbGV0ZUV4dGVybmFsVXNlclJlcXVlc3QSCwoDdWlkGAEgASgJEjYKC2F1dGhfc291cmNlGAIgASgOMiEuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkF1dGhTb3VyY2USEwoLcHJpdmF0ZV9rZXkYAyABKAkiHAoaRGVsZXRlRXh0ZXJuYWxVc2VyUmVzcG9uc2UiNAoXR2V0U3Vic2NyaXB0aW9uc1JlcXVlc3QSGQoRZmlyZWJhc2VfaWRfdG9rZW4YASABKAkiiAEKGEdldFN1YnNjcmlwdGlvbnNSZXNwb25zZRIOCgZleGlzdHMYASABKAgSEgoKbmV3c2xldHRlchgCIAEoCBIaChJkaXNhYmxlZF90ZWxlbWV0cnkYAyABKAgSFgoOaW5ib3VuZF9zb3VyY2UYBCABKAkSFAoMc2lnbnVwX3N0YWdlGAUgASgJIjoKE0pvaW5XYWl0bGlzdFJlcXVlc3QSFAoMZmVhdHVyZV9uYW1lGAEgASgJEg0KBWVtYWlsGAIgASgJIiYKFEpvaW5XYWl0bGlzdFJlc3BvbnNlEg4KBnJlc3VsdBgBIAEoCSInChZTdWJzY3JpYmVUb0Jsb2dSZXF1ZXN0Eg0KBWVtYWlsGAEgASgJIhkKF1N1YnNjcmliZVRvQmxvZ1Jlc3BvbnNlIi0KHFVuc3Vic2NyaWJlRnJvbUVtYWlsc1JlcXVlc3QSDQoFZW1haWwYASABKAkiHwodVW5zdWJzY3JpYmVGcm9tRW1haWxzUmVzcG9uc2UiTAoYU2VuZFJlZmVycmFsRW1haWxSZXF1ZXN0Eg0KBWVtYWlsGAIgASgJEg8KB2RldGFpbHMYAyABKAlKBAgBEAJSCmF1dGhfdG9rZW4iGwoZU2VuZFJlZmVycmFsRW1haWxSZXNwb25zZSJDCi9BY2NvdW50T3duZXJzaGlwTm90aWZpY2F0aW9uVmVyaWZpY2F0aW9uUmVxdWVzdEoECAEQAlIKYXV0aF90b2tlbiJiCjBBY2NvdW50T3duZXJzaGlwTm90aWZpY2F0aW9uVmVyaWZpY2F0aW9uUmVzcG9uc2USEwoLc2hvdWxkX3Nob3cYASABKAgSGQoRdmVyaWZpY2F0aW9uX2NvZGUYAiABKAkiPgoqQWNjb3VudE93bmVyc2hpcE5vdGlmaWNhdGlvbkRpc21pc3NSZXF1ZXN0SgQIARACUgphdXRoX3Rva2VuIj4KK0FjY291bnRPd25lcnNoaXBOb3RpZmljYXRpb25EaXNtaXNzUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCIrCgtQaW5nUmVxdWVzdBIcChB3b3JrX2R1cmF0aW9uX21zGAEgASgEQgIYASIiCgxQaW5nUmVzcG9uc2USEgoKbGF0ZW5jeV9tcxgBIAEoBCIaChhHZXRFeHRlbnNpb25TdGF0c1JlcXVlc3QiZQoZR2V0RXh0ZW5zaW9uU3RhdHNSZXNwb25zZRIZChF2c19jb2RlX2Rvd25sb2FkcxgBIAEoAxIaChJqZXRicmFpbl9kb3dubG9hZHMYAiABKAMSEQoJdmltX3N0YXJzGAMgASgDImcKH1JlZ2lzdGVySHlicmlkRGVwbG95bWVudFJlcXVlc3QSDwoHdmVyc2lvbhgBIAEoCRIPCgd0ZWFtX2lkGAIgASgJEhAKCGJhc2VfdXJsGAMgASgJSgQIBBAFUgphdXRoX3Rva2VuIiIKIFJlZ2lzdGVySHlicmlkRGVwbG95bWVudFJlc3BvbnNlImsKJUNyZWF0ZUh5YnJpZERlcGxveW1lbnRJbnRlcm5hbFJlcXVlc3QSDwoHdmVyc2lvbhgBIAEoCRIPCgd0ZWFtX2lkGAIgASgJEhAKCGJhc2VfdXJsGAMgASgJEg4KBnNlY3JldBgEIAEoCSIoCiZDcmVhdGVIeWJyaWREZXBsb3ltZW50SW50ZXJuYWxSZXNwb25zZSJICiVSZW1vdmVIeWJyaWREZXBsb3ltZW50SW50ZXJuYWxSZXF1ZXN0Eg8KB3RlYW1faWQYASABKAkSDgoGc2VjcmV0GAIgASgJIigKJlJlbW92ZUh5YnJpZERlcGxveW1lbnRJbnRlcm5hbFJlc3BvbnNlIjUKI0dldEh5YnJpZERlcGxveW1lbnRzSW50ZXJuYWxSZXF1ZXN0Eg4KBnNlY3JldBgBIAEoCSJdChBIeWJyaWREZXBsb3ltZW50Eg8KB3RlYW1faWQYASABKAkSFQoNc2hhcmVkX3NlY3JldBgCIAEoCRIQCghiYXNlX3VybBgDIAEoCRIPCgd2ZXJzaW9uGAQgASgJImAKJEdldEh5YnJpZERlcGxveW1lbnRzSW50ZXJuYWxSZXNwb25zZRI4CgtkZXBsb3ltZW50cxgBIAMoCzIjLmV4YS5hcGlfc2VydmVyX3BiLkh5YnJpZERlcGxveW1lbnQiRwoiQ2hlY2tIeWJyaWREZXBsb3ltZW50U3RhdHVzUmVxdWVzdBIPCgd0ZWFtX2lkGAIgASgJSgQIARACUgphdXRoX3Rva2VuIm8KI0NoZWNrSHlicmlkRGVwbG95bWVudFN0YXR1c1Jlc3BvbnNlEjkKBnN0YXR1cxgBIAEoDjIpLmV4YS5hcGlfc2VydmVyX3BiLkh5YnJpZERlcGxveW1lbnRTdGF0dXMSDQoFZXJyb3IYAiABKAkipgIKG0xvZ0NvbXBsZXRpb25zSHlicmlkUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRJXCh1jb21wbGV0aW9uc193aXRoX2xhdGVuY3lfaW5mbxgCIAMoCzIwLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Db21wbGV0aW9uV2l0aExhdGVuY3lJbmZvEj4KD3Byb3ZpZGVyX3NvdXJjZRgDIAEoDjIlLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Qcm92aWRlclNvdXJjZRIRCglyZXBvX25hbWUYBCABKAkSFQoNcmVsYXRpdmVfcGF0aBgFIAEoCRIRCgltb2RlbF90YWcYBiABKAkiHgocTG9nQ29tcGxldGlvbnNIeWJyaWRSZXNwb25zZSKXAQoYTG9nRmVlZGJhY2tIeWJyaWRSZXF1ZXN0EjEKCG1ldGFkYXRhGAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhEhUKDWNvbXBsZXRpb25faWQYAiABKAkSMQoIZmVlZGJhY2sYAyABKA4yHy5leGEuYXBpX3NlcnZlcl9wYi5GZWVkYmFja1R5cGUiGwoZTG9nRmVlZGJhY2tIeWJyaWRSZXNwb25zZSLwAQoUTG9nQ2hhdEh5YnJpZFJlcXVlc3QSMQoIbWV0YWRhdGEYASABKAsyHy5leGEuY29kZWl1bV9jb21tb25fcGIuTWV0YWRhdGESMAoIbWVzc2FnZXMYAiADKAsyHi5leGEuY2hhdF9wYi5DaGF0TWVzc2FnZVByb21wdBIXCg9jb252ZXJzYXRpb25faWQYAyABKAkSFAoMYWN0aXZlX3JlcG9zGAQgAygJEi4KDGNoYXRfbWVzc2FnZRgFIAEoCzIYLmV4YS5jaGF0X3BiLkNoYXRNZXNzYWdlEhQKDG1lc3NhZ2VfdGV4dBgGIAEoCSIXChVMb2dDaGF0SHlicmlkUmVzcG9uc2UigAEKHkxvZ0Nhc2NhZGVTZXNzaW9uSHlicmlkUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRIXCg93b3Jrc3BhY2VfcGF0aHMYAiADKAkSEgoKY2FzY2FkZV9pZBgDIAEoCSIhCh9Mb2dDYXNjYWRlU2Vzc2lvbkh5YnJpZFJlc3BvbnNlIrUBCh1Mb2dDYXNjYWRlUHJvbXB0SHlicmlkUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRITCgt1c2VyX3Byb21wdBgCIAEoCRISCgptb2RlbF9uYW1lGAMgASgJEgwKBHJlcG8YBCABKAkSEgoKY2FzY2FkZV9pZBgFIAEoCRIWCg53b3Jrc3BhY2VfcGF0aBgGIAEoCSIgCh5Mb2dDYXNjYWRlUHJvbXB0SHlicmlkUmVzcG9uc2UiRQoQR2V0U3RhdHVzUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YSJhChFHZXRTdGF0dXNSZXNwb25zZRIwCgZzdGF0dXMYASABKAsyIC5leGEuY29kZWl1bV9jb21tb25fcGIuSWRlU3RhdHVzEhoKEnNob3dfcmV2aWV3X3Byb21wdBgCIAEoCCJgCh1HZXRDYXNjYWRlTW9kZWxDb25maWdzUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YUoECAIQA1IGZmlsdGVyIqkBCiRHZXRDYXNjYWRlTW9kZWxDb25maWdzRm9yU2l0ZVJlcXVlc3QSEwoHYXBpX2tleRgBIAEoCUICGAESFAoIaWRlX25hbWUYAiABKAlCAhgBEhcKC2lkZV92ZXJzaW9uGAMgASgJQgIYARIdChFleHRlbnNpb25fdmVyc2lvbhgEIAEoCUICGAFKBAgFEAZKBAgGEAdSBmZpbHRlclIKYXV0aF90b2tlbiKtAgoeR2V0Q2FzY2FkZU1vZGVsQ29uZmlnc1Jlc3BvbnNlEkYKFGNsaWVudF9tb2RlbF9jb25maWdzGAEgAygLMiguZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNsaWVudE1vZGVsQ29uZmlnEkIKEmNsaWVudF9tb2RlbF9zb3J0cxgCIAMoCzImLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5DbGllbnRNb2RlbFNvcnQSXQodZGVmYXVsdF9vdmVycmlkZV9tb2RlbF9jb25maWcYAyABKAsyMS5leGEuY29kZWl1bV9jb21tb25fcGIuRGVmYXVsdE92ZXJyaWRlTW9kZWxDb25maWdIAIgBAUIgCh5fZGVmYXVsdF9vdmVycmlkZV9tb2RlbF9jb25maWcirQEKJUdldENhc2NhZGVNb2RlbENvbmZpZ3NGb3JTaXRlUmVzcG9uc2USRgoUY2xpZW50X21vZGVsX2NvbmZpZ3MYASADKAsyKC5leGEuY29kZWl1bV9jb21tb25fcGIuQ2xpZW50TW9kZWxDb25maWdKBAgCEANKBAgDEARSEmNsaWVudF9tb2RlbF9zb3J0c1IcZGVmYXVsdF9vZmZfbW9kZWxzX2Zvcl90ZWFtcyJSCh1HZXRDb21tYW5kTW9kZWxDb25maWdzUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YSJoCh5HZXRDb21tYW5kTW9kZWxDb25maWdzUmVzcG9uc2USRgoUY2xpZW50X21vZGVsX2NvbmZpZ3MYASADKAsyKC5leGEuY29kZWl1bV9jb21tb25fcGIuQ2xpZW50TW9kZWxDb25maWciOAokR2V0Q29tbWFuZE1vZGVsQ29uZmlnc0ZvclNpdGVSZXF1ZXN0SgQIARACUgphdXRoX3Rva2VuIm8KJUdldENvbW1hbmRNb2RlbENvbmZpZ3NGb3JTaXRlUmVzcG9uc2USRgoUY2xpZW50X21vZGVsX2NvbmZpZ3MYASADKAsyKC5leGEuY29kZWl1bV9jb21tb25fcGIuQ2xpZW50TW9kZWxDb25maWciXAoZR2V0Q2xpTW9kZWxDb25maWdzUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YUoECAIQA1IGZmlsdGVyIv8BChpHZXRDbGlNb2RlbENvbmZpZ3NSZXNwb25zZRJGChRjbGllbnRfbW9kZWxfY29uZmlncxgBIAMoCzIoLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5DbGllbnRNb2RlbENvbmZpZxJdCh1kZWZhdWx0X292ZXJyaWRlX21vZGVsX2NvbmZpZxgDIAEoCzIxLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5EZWZhdWx0T3ZlcnJpZGVNb2RlbENvbmZpZ0gAiAEBQiAKHl9kZWZhdWx0X292ZXJyaWRlX21vZGVsX2NvbmZpZ0oECAIQA1ISY2xpZW50X21vZGVsX3NvcnRzIkIKIEdldENsaU1vZGVsQ29uZmlnc0ZvclNpdGVSZXF1ZXN0SgQIARACSgQIAhADUgphdXRoX3Rva2VuUgZmaWx0ZXIiqQEKIUdldENsaU1vZGVsQ29uZmlnc0ZvclNpdGVSZXNwb25zZRJGChRjbGllbnRfbW9kZWxfY29uZmlncxgBIAMoCzIoLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5DbGllbnRNb2RlbENvbmZpZ0oECAIQA0oECAMQBFISY2xpZW50X21vZGVsX3NvcnRzUhxkZWZhdWx0X29mZl9tb2RlbHNfZm9yX3RlYW1zIhIKEEdldENvbmZpZ1JlcXVlc3QiKwoRR2V0Q29uZmlnUmVzcG9uc2USFgoOcmVwb19ibGFja2xpc3QYASADKAkiigEKDlF1ZXJ5UGFyYW1ldGVyEkUKCnBhcmFtZXRlcnMYASADKAsyMS5leGEuYXBpX3NlcnZlcl9wYi5RdWVyeVBhcmFtZXRlci5QYXJhbWV0ZXJzRW50cnkaMQoPUGFyYW1ldGVyc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEieAoLUXVlcnlSZXN1bHQSOgoGcmVjb3JkGAEgAygLMiouZXhhLmFwaV9zZXJ2ZXJfcGIuUXVlcnlSZXN1bHQuUmVjb3JkRW50cnkaLQoLUmVjb3JkRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASKeAQoXUnVuQ29kZUFsaWdubWVudFJlcXVlc3QSMQoIbWV0YWRhdGEYASABKAsyHy5leGEuY29kZWl1bV9jb21tb25fcGIuTWV0YWRhdGESFAoMZmlsZV9jb250ZW50GAIgASgJEg4KBm9mZnNldBgDIAEoBRIqCgVydWxlcxgEIAMoCzIbLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5SdWxlIlQKGFJ1bkNvZGVBbGlnbm1lbnRSZXNwb25zZRI4Cgp2aW9sYXRpb25zGAEgAygLMiQuZXhhLmNvZGVpdW1fY29tbW9uX3BiLlJ1bGVWaW9sYXRpb24ikgEKHEdlbmVyYXRlU3ludGhldGljUnVsZVJlcXVlc3QSMQoIbWV0YWRhdGEYASABKAsyHy5leGEuY29kZWl1bV9jb21tb25fcGIuTWV0YWRhdGESFAoMY29tbWVudF9ib2R5GAIgASgJEhQKDGZpbGVfY29udGVudBgDIAEoCRITCgtsaW5lX251bWJlchgEIAEoBSJKCh1HZW5lcmF0ZVN5bnRoZXRpY1J1bGVSZXNwb25zZRIpCgRydWxlGAEgASgLMhsuZXhhLmNvZGVpdW1fY29tbW9uX3BiLlJ1bGUiUwoSRmlsZUV4dGVuc2lvblN0YXRzEhEKCWV4dGVuc2lvbhgBIAEoCRITCgtsaW5lc19hZGRlZBgCIAEoBRIVCg1saW5lc19kZWxldGVkGAMgASgFIo8BCglHaXRDb21taXQSLQoJdGltZXN0YW1wGAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBJDChRmaWxlX2V4dGVuc2lvbl9zdGF0cxgCIAMoCzIlLmV4YS5hcGlfc2VydmVyX3BiLkZpbGVFeHRlbnNpb25TdGF0cxIOCgZjb21taXQYAyABKAkilAEKGVJlY29yZEdpdFRlbGVtZXRyeVJlcXVlc3QSMQoIbWV0YWRhdGEYASABKAsyHy5leGEuY29kZWl1bV9jb21tb25fcGIuTWV0YWRhdGESMQoLZ2l0X2NvbW1pdHMYAiADKAsyHC5leGEuYXBpX3NlcnZlcl9wYi5HaXRDb21taXQSEQoJcmVwb19uYW1lGAMgASgJIhwKGlJlY29yZEdpdFRlbGVtZXRyeVJlc3BvbnNlInUKGVJlY29yZFByb2ZpbGluZ0RhdGFIZWFkZXISMQoIbWV0YWRhdGEYASABKAsyHy5leGEuY29kZWl1bV9jb21tb25fcGIuTWV0YWRhdGESEwoLYXBwbGljYXRpb24YAiABKAkSEAoIcmVzb3VyY2UYAyABKAkiJwoXUmVjb3JkUHJvZmlsaW5nRGF0YURhdGESDAoEZGF0YRgBIAEoDCKhAQoaUmVjb3JkUHJvZmlsaW5nRGF0YVJlcXVlc3QSPgoGaGVhZGVyGAEgASgLMiwuZXhhLmFwaV9zZXJ2ZXJfcGIuUmVjb3JkUHJvZmlsaW5nRGF0YUhlYWRlckgAEjoKBGRhdGEYAiABKAsyKi5leGEuYXBpX3NlcnZlcl9wYi5SZWNvcmRQcm9maWxpbmdEYXRhRGF0YUgAQgcKBWNodW5rIh0KG1JlY29yZFByb2ZpbGluZ0RhdGFSZXNwb25zZSLEAQobUmVjb3JkUmVhZFVybENvbnRlbnRSZXF1ZXN0EjEKCG1ldGFkYXRhGAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhEgsKA3VybBgCIAEoCRI+Cgx3ZWJfZG9jdW1lbnQYAyABKAsyKC5leGEuY29kZWl1bV9jb21tb25fcGIuS25vd2xlZGdlQmFzZUl0ZW0SEgoKbGF0ZW5jeV9tcxgEIAEoDRIRCglpc19jYWNoZWQYBSABKAgiHgocUmVjb3JkUmVhZFVybENvbnRlbnRSZXNwb25zZSJRChpHZXREZXBsb3ltZW50Q29uZmlnUmVxdWVzdBIzCgNrZXkYASABKA4yJi5leGEuYXBpX3NlcnZlcl9wYi5EZXBsb3ltZW50Q29uZmlnS2V5Ir8BChtHZXREZXBsb3ltZW50Q29uZmlnUmVzcG9uc2USDQoFdmFsdWUYASABKAkSLgoKY3JlYXRlZF9hdBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMwoPbGFzdF91cGRhdGVkX2F0GAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIXCg9sYXN0X3VwZGF0ZWRfYnkYBCABKAkSEwoLZGVzY3JpcHRpb24YBSABKAkidAodVXBzZXJ0RGVwbG95bWVudENvbmZpZ1JlcXVlc3QSMwoDa2V5GAEgASgOMiYuZXhhLmFwaV9zZXJ2ZXJfcGIuRGVwbG95bWVudENvbmZpZ0tleRINCgV2YWx1ZRgCIAEoCRIPCgdhcGlfa2V5GAMgASgJIiAKHlVwc2VydERlcGxveW1lbnRDb25maWdSZXNwb25zZSIoChdHZXRVc2VyQWxsb3dsaXN0UmVxdWVzdBINCgVlbWFpbBgBIAEoCSJtChhHZXRVc2VyQWxsb3dsaXN0UmVzcG9uc2USDQoFZW1haWwYASABKAkSEgoKY3JlYXRlZF9ieRgCIAEoCRIuCgpjcmVhdGVkX2F0GAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCI7ChZJbnNlcnRBbGxvd2xpc3RSZXF1ZXN0Eg0KBWVtYWlsGAEgASgJEhIKCmNyZWF0ZWRfYnkYAiABKAkiGQoXSW5zZXJ0QWxsb3dsaXN0UmVzcG9uc2UiOAoWRGVsZXRlQWxsb3dsaXN0UmVxdWVzdBINCgVlbWFpbBgBIAEoCRIPCgdhcGlfa2V5GAIgASgJIhkKF0RlbGV0ZUFsbG93bGlzdFJlc3BvbnNlIhUKE0dldEFsbG93bGlzdFJlcXVlc3QiVgoUR2V0QWxsb3dsaXN0UmVzcG9uc2USPgoJYWxsb3dsaXN0GAEgAygLMisuZXhhLmFwaV9zZXJ2ZXJfcGIuR2V0VXNlckFsbG93bGlzdFJlc3BvbnNlIpQHChlSZWNvcmRDYXNjYWRlVXNhZ2VSZXF1ZXN0EjEKCG1ldGFkYXRhGAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhEhUKDXRyYWplY3RvcnlfaWQYAiABKAkSEgoKc3RlcF9pbmRleBgDIAEoBRIbChNwcm9tcHRfY3JlZGl0c191c2VkGAQgASgFEhkKEWZsb3dfY3JlZGl0c191c2VkGAUgASgFEkYKDHBsYW5uZXJfbW9kZRgGIAEoDjIwLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Db252ZXJzYXRpb25hbFBsYW5uZXJNb2RlEhIKCmNhc2NhZGVfaWQYByABKAkSNgoFbW9kZWwYCCABKAsyIy5leGEuY29kZWl1bV9jb21tb25fcGIuTW9kZWxPckFsaWFzQgIYARIeChZyZWNvcmRfYW5hbHl0aWNzX3VzYWdlGAkgASgIEj0KDHByaWNpbmdfdHlwZRgKIAEoDjInLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Nb2RlbFByaWNpbmdUeXBlEkEKEW1vZGVsX3VzYWdlX3N0YXRzGAsgASgLMiYuZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1vZGVsVXNhZ2VTdGF0cxIVCg1pc191c2VyX2lucHV0GAwgASgIEj8KDHJlcXVlc3RfdHlwZRgNIAEoDjIpLmV4YS5hcGlfc2VydmVyX3BiLkNoYXRNZXNzYWdlUmVxdWVzdFR5cGUSHgoWY2FzY2FkZV9hY3VfbXVsdGlwbGllchgOIAEoARIUCgxleGVjdXRpb25faWQYECABKAkSGgoSY2xpX2FjdV9tdWx0aXBsaWVyGBEgASgBEhEKCW1vZGVsX3VpZBgSIAEoCRIeChZwcm9tcHRfY3JlZGl0c19wZXJfYWN1GBMgASgBEhgKEGxpc3RfY29zdF9taWNyb3MYFCABKAMSHgoWZGlzY291bnRlZF9jb3N0X21pY3JvcxgXIAEoAxJAChBiaWxsaW5nX3N0cmF0ZWd5GBUgASgOMiYuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkJpbGxpbmdTdHJhdGVneRIzCgl1c2VyX3RpZXIYFiABKA4yIC5leGEuY29kZWl1bV9jb21tb25fcGIuVGVhbXNUaWVySgQIDxAQUhdleHRlcm5hbF9hY3VfbXVsdGlwbGllciKdAQoaUmVjb3JkQ2FzY2FkZVVzYWdlUmVzcG9uc2USNgoLdXNlcl9zdGF0dXMYAiABKAsyIS5leGEuY29kZWl1bV9jb21tb25fcGIuVXNlclN0YXR1cxIbChNwcm9tcHRfY3JlZGl0c191c2VkGAMgASgFEhkKEWZsZXhfY3JlZGl0c191c2VkGAQgASgFSgQIARACUglwbGFuX2luZm8i2QEKGkdldFdlYlNlYXJjaFJlc3VsdHNSZXF1ZXN0EjEKCG1ldGFkYXRhGAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhEg0KBXF1ZXJ5GAIgASgJEg0KBWxpbWl0GAMgASgNEg4KBmRvbWFpbhgEIAEoCRJMChJ0aGlyZF9wYXJ0eV9jb25maWcYBSABKAsyMC5leGEuY29kZWl1bV9jb21tb25fcGIuVGhpcmRQYXJ0eVdlYlNlYXJjaENvbmZpZxIMCgRtb2RlGAYgASgJIoEBChtHZXRXZWJTZWFyY2hSZXN1bHRzUmVzcG9uc2USOQoHcmVzdWx0cxgBIAMoCzIoLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Lbm93bGVkZ2VCYXNlSXRlbRIWCg53ZWJfc2VhcmNoX3VybBgCIAEoCRIPCgdzdW1tYXJ5GAMgASgJIk0KGEdldFdlYkRvY3NPcHRpb25zUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YSJSChlHZXRXZWJEb2NzT3B0aW9uc1Jlc3BvbnNlEjUKB29wdGlvbnMYASADKAsyJC5leGEuY29kZWl1bV9jb21tb25fcGIuV2ViRG9jc09wdGlvbiIzChtHZXRXZWJTZWFyY2hSZWRpcmVjdFJlcXVlc3QSFAoMb3JpZ2luYWxfdXJsGAEgASgJIjQKHEdldFdlYlNlYXJjaFJlZGlyZWN0UmVzcG9uc2USFAoMcmVkaXJlY3RfdXJsGAEgASgJIm4KE1NoYXJlQ29kZU1hcFJlcXVlc3QSMQoIbWV0YWRhdGEYASABKAsyHy5leGEuY29kZWl1bV9jb21tb25fcGIuTWV0YWRhdGESFQoNY29kZV9tYXBfanNvbhgCIAEoCRINCgV0aXRsZRgDIAEoCSIpChRTaGFyZUNvZGVNYXBSZXNwb25zZRIRCglzaGFyZV91cmwYASABKAkiOgoRR2V0Q29kZU1hcFJlcXVlc3QSEwoLY29kZV9tYXBfaWQYAiABKAlKBAgBEAJSCmF1dGhfdG9rZW4ieQoSR2V0Q29kZU1hcFJlc3BvbnNlEhUKDWNvZGVfbWFwX2pzb24YASABKAkSEAoIaXNfb3duZXIYAiABKAgSFAoMc2hhcmluZ19tb2RlGAMgASgJEiQKHGhpZ2hlc3RfYWxsb3dlZF9zaGFyaW5nX21vZGUYBCABKAkiMAoZR2V0Q29kZU1hcE1ldGFkYXRhUmVxdWVzdBITCgtjb2RlX21hcF9pZBgBIAEoCSIrChpHZXRDb2RlTWFwTWV0YWRhdGFSZXNwb25zZRINCgV0aXRsZRgBIAEoCSJhChdHZXRTaGFyZWRDb2RlTWFwUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRITCgtjb2RlX21hcF9pZBgCIAEoCSIxChhHZXRTaGFyZWRDb2RlTWFwUmVzcG9uc2USFQoNY29kZV9tYXBfanNvbhgBIAEoCSJeCh9VcGRhdGVDb2RlTWFwU2hhcmluZ01vZGVSZXF1ZXN0EhMKC2NvZGVfbWFwX2lkGAIgASgJEhQKDHNoYXJpbmdfbW9kZRgDIAEoCUoECAEQAlIKYXV0aF90b2tlbiIiCiBVcGRhdGVDb2RlTWFwU2hhcmluZ01vZGVSZXNwb25zZSIxCh1MaXN0VXNlclNoYXJlZENvZGVNYXBzUmVxdWVzdEoECAEQAlIKYXV0aF90b2tlbiLZAQoUU2hhcmVkQ29kZU1hcFN1bW1hcnkSEwoLc3RvcmFnZV9rZXkYASABKAkSEQoJbWFwX3RpdGxlGAIgASgJEhQKDHNoYXJpbmdfbW9kZRgDIAEoCRIPCgd2ZXJzaW9uGAQgASgFEi4KCmNyZWF0ZWRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhIKCm93bmVyX25hbWUYByABKAkimwEKHkxpc3RVc2VyU2hhcmVkQ29kZU1hcHNSZXNwb25zZRI5Cghjb2RlbWFwcxgBIAMoCzInLmV4YS5hcGlfc2VydmVyX3BiLlNoYXJlZENvZGVNYXBTdW1tYXJ5Ej4KDXRlYW1fY29kZW1hcHMYAiADKAsyJy5leGEuYXBpX3NlcnZlcl9wYi5TaGFyZWRDb2RlTWFwU3VtbWFyeSJDChpEZWxldGVTaGFyZWRDb2RlTWFwUmVxdWVzdBITCgtjb2RlX21hcF9pZBgCIAEoCUoECAEQAlIKYXV0aF90b2tlbiIdChtEZWxldGVTaGFyZWRDb2RlTWFwUmVzcG9uc2UiuQEKGVF1ZXJ5SW1hZ2VGb3JQaXhlbFJlcXVlc3QSMQoIbWV0YWRhdGEYASABKAsyHy5leGEuY29kZWl1bV9jb21tb25fcGIuTWV0YWRhdGESLwoFaW1hZ2UYAiABKAsyIC5leGEuY29kZWl1bV9jb21tb25fcGIuSW1hZ2VEYXRhEhMKC2ltYWdlX3dpZHRoGAMgASgNEhQKDGltYWdlX2hlaWdodBgEIAEoDRINCgVxdWVyeRgFIAEoCSIyChpRdWVyeUltYWdlRm9yUGl4ZWxSZXNwb25zZRIJCgF4GAEgASgNEgkKAXkYAiABKA0i9wEKEk9pZGNQcm92aWRlckNvbmZpZxIRCgljbGllbnRfaWQYASABKAkSFQoNY2xpZW50X3NlY3JldBgCIAEoCRISCgppc3N1ZXJfdXJsGAMgASgJEhQKDHJlZGlyZWN0X3VybBgEIAEoCRIuCgpjcmVhdGVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIzCg9sYXN0X3VwZGF0ZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhcKD2xhc3RfdXBkYXRlZF9ieRgHIAEoCRIPCgd0ZWFtX2lkGAggASgJIngKG1JlZ2lzdGVyT2lkY1Byb3ZpZGVyUmVxdWVzdBIPCgdhcGlfa2V5GAEgASgJEjUKBmNvbmZpZxgCIAEoCzIlLmV4YS5hcGlfc2VydmVyX3BiLk9pZGNQcm92aWRlckNvbmZpZxIRCgl0ZWFtX25hbWUYAyABKAkiHgocUmVnaXN0ZXJPaWRjUHJvdmlkZXJSZXNwb25zZSLBAQoZVXBkYXRlT2lkY1Byb3ZpZGVyUmVxdWVzdBIPCgdhcGlfa2V5GAEgASgJEhEKCWNsaWVudF9pZBgCIAEoCRIaCg1jbGllbnRfc2VjcmV0GAMgASgJSACIAQESFwoKaXNzdWVyX3VybBgEIAEoCUgBiAEBEhkKDHJlZGlyZWN0X3VybBgFIAEoCUgCiAEBQhAKDl9jbGllbnRfc2VjcmV0Qg0KC19pc3N1ZXJfdXJsQg8KDV9yZWRpcmVjdF91cmwiHAoaVXBkYXRlT2lkY1Byb3ZpZGVyUmVzcG9uc2UiQQobR2V0VGVhbU9pZGNQcm92aWRlcnNSZXF1ZXN0Eg8KB2FwaV9rZXkYASABKAkSEQoJdGVhbV9uYW1lGAIgASgJIlgKHEdldFRlYW1PaWRjUHJvdmlkZXJzUmVzcG9uc2USOAoJcHJvdmlkZXJzGAEgAygLMiUuZXhhLmFwaV9zZXJ2ZXJfcGIuT2lkY1Byb3ZpZGVyQ29uZmlnIi0KGkdldEFsbE9pZGNQcm92aWRlcnNSZXF1ZXN0Eg8KB2FwaV9rZXkYASABKAkiVwobR2V0QWxsT2lkY1Byb3ZpZGVyc1Jlc3BvbnNlEjgKCXByb3ZpZGVycxgBIAMoCzIlLmV4YS5hcGlfc2VydmVyX3BiLk9pZGNQcm92aWRlckNvbmZpZyI/ChlEZWxldGVPaWRjUHJvdmlkZXJSZXF1ZXN0Eg8KB2FwaV9rZXkYASABKAkSEQoJY2xpZW50X2lkGAIgASgJIhwKGkRlbGV0ZU9pZGNQcm92aWRlclJlc3BvbnNlIjMKHkdldE9pZGNBdXRob3JpemF0aW9uVXJsUmVxdWVzdBIRCgljbGllbnRfaWQYASABKAkiQgofR2V0T2lkY0F1dGhvcml6YXRpb25VcmxSZXNwb25zZRIQCghhdXRoX3VybBgBIAEoCRINCgVzdGF0ZRgCIAEoCSJJChdFeGNoYW5nZU9pZGNDb2RlUmVxdWVzdBIMCgRjb2RlGAEgASgJEg0KBXN0YXRlGAIgASgJEhEKCWNsaWVudF9pZBgDIAEoCSJZChhFeGNoYW5nZU9pZGNDb2RlUmVzcG9uc2USFAoMYWNjZXNzX3Rva2VuGAEgASgJEhAKCGlkX3Rva2VuGAIgASgJEhUKDXJlZnJlc2hfdG9rZW4YAyABKAkiQwoXUmVmcmVzaE9pZGNUb2tlblJlcXVlc3QSEQoJY2xpZW50X2lkGAEgASgJEhUKDXJlZnJlc2hfdG9rZW4YAiABKAkiWQoYUmVmcmVzaE9pZGNUb2tlblJlc3BvbnNlEhQKDGFjY2Vzc190b2tlbhgBIAEoCRIQCghpZF90b2tlbhgCIAEoCRIVCg1yZWZyZXNoX3Rva2VuGAMgASgJIlkKJEdldFRlYW1Pcmdhbml6YXRpb25hbENvbnRyb2xzUmVxdWVzdBIxCghtZXRhZGF0YRgCIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YSI/CitHZXRUZWFtT3JnYW5pemF0aW9uYWxDb250cm9sc0ZvclNpdGVSZXF1ZXN0SgQIARACUgphdXRoX3Rva2VuImwKJUdldFRlYW1Pcmdhbml6YXRpb25hbENvbnRyb2xzUmVzcG9uc2USQwoIY29udHJvbHMYASABKAsyMS5leGEuY29kZWl1bV9jb21tb25fcGIuVGVhbU9yZ2FuaXphdGlvbmFsQ29udHJvbHMicwosR2V0VGVhbU9yZ2FuaXphdGlvbmFsQ29udHJvbHNGb3JTaXRlUmVzcG9uc2USQwoIY29udHJvbHMYASABKAsyMS5leGEuY29kZWl1bV9jb21tb25fcGIuVGVhbU9yZ2FuaXphdGlvbmFsQ29udHJvbHMioQEKJ1Vwc2VydFRlYW1Pcmdhbml6YXRpb25hbENvbnRyb2xzUmVxdWVzdBJDCghjb250cm9scxgBIAEoCzIxLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5UZWFtT3JnYW5pemF0aW9uYWxDb250cm9scxIxCghtZXRhZGF0YRgCIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YSIqCihVcHNlcnRUZWFtT3JnYW5pemF0aW9uYWxDb250cm9sc1Jlc3BvbnNlIocBCi5VcHNlcnRUZWFtT3JnYW5pemF0aW9uYWxDb250cm9sc0ZvclNpdGVSZXF1ZXN0EkMKCGNvbnRyb2xzGAEgASgLMjEuZXhhLmNvZGVpdW1fY29tbW9uX3BiLlRlYW1Pcmdhbml6YXRpb25hbENvbnRyb2xzSgQIAhADUgphdXRoX3Rva2VuIjEKL1Vwc2VydFRlYW1Pcmdhbml6YXRpb25hbENvbnRyb2xzRm9yU2l0ZVJlc3BvbnNlIlwKJ0RlbGV0ZVRlYW1Pcmdhbml6YXRpb25hbENvbnRyb2xzUmVxdWVzdBIxCghtZXRhZGF0YRgCIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YSIqCihEZWxldGVUZWFtT3JnYW5pemF0aW9uYWxDb250cm9sc1Jlc3BvbnNlIiEKD01vZGVsTGFiZWxzTGlzdBIOCgZsYWJlbHMYASADKAkiHQoNTW9kZWxVaWRzTGlzdBIMCgR1aWRzGAEgAygJIkkKEEFwaVByb3ZpZGVyc0xpc3QSNQoJcHJvdmlkZXJzGAEgAygOMiIuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkFQSVByb3ZpZGVyIk0KEk1vZGVsUHJvdmlkZXJzTGlzdBI3Cglwcm92aWRlcnMYASADKA4yJC5leGEuY29kZWl1bV9jb21tb25fcGIuTW9kZWxQcm92aWRlciIkChRCbG9ja2VkTW9kZWxUYWdzTGlzdBIMCgR0YWdzGAEgAygJIrMLCi9VcGRhdGVUZWFtT3JnYW5pemF0aW9uYWxDb250cm9sc0V4dGVybmFsUmVxdWVzdBJJChRjYXNjYWRlX21vZGVsX2xhYmVscxgCIAEoCzIiLmV4YS5hcGlfc2VydmVyX3BiLk1vZGVsTGFiZWxzTGlzdEICGAFIAIgBARJJChRjb21tYW5kX21vZGVsX2xhYmVscxgDIAEoCzIiLmV4YS5hcGlfc2VydmVyX3BiLk1vZGVsTGFiZWxzTGlzdEICGAFIAYgBARJFChBjbGlfbW9kZWxfbGFiZWxzGAQgASgLMiIuZXhhLmFwaV9zZXJ2ZXJfcGIuTW9kZWxMYWJlbHNMaXN0QgIYAUgCiAEBEkEKEmNhc2NhZGVfbW9kZWxfdWlkcxgFIAEoCzIgLmV4YS5hcGlfc2VydmVyX3BiLk1vZGVsVWlkc0xpc3RIA4gBARJBChJjb21tYW5kX21vZGVsX3VpZHMYBiABKAsyIC5leGEuYXBpX3NlcnZlcl9wYi5Nb2RlbFVpZHNMaXN0SASIAQESPQoOY2xpX21vZGVsX3VpZHMYByABKAsyIC5leGEuYXBpX3NlcnZlcl9wYi5Nb2RlbFVpZHNMaXN0SAWIAQESRwoVYWxsb3dlZF9hcGlfcHJvdmlkZXJzGAggASgLMiMuZXhhLmFwaV9zZXJ2ZXJfcGIuQXBpUHJvdmlkZXJzTGlzdEgGiAEBEksKF2FsbG93ZWRfbW9kZWxfcHJvdmlkZXJzGAkgASgLMiUuZXhhLmFwaV9zZXJ2ZXJfcGIuTW9kZWxQcm92aWRlcnNMaXN0SAeIAQESYQoRbW9kZWxfZmlsdGVyX21vZGUYCiABKA4yQS5leGEuY29kZWl1bV9jb21tb25fcGIuVGVhbU9yZ2FuaXphdGlvbmFsQ29udHJvbHMuTW9kZWxGaWx0ZXJNb2RlSAiIAQESYAoQYWRhcHRpdmVfc2V0dGluZxgLIAEoDjJBLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5UZWFtT3JnYW5pemF0aW9uYWxDb250cm9scy5BZGFwdGl2ZVNldHRpbmdICYgBARJIChJibG9ja2VkX21vZGVsX3RhZ3MYDCABKAsyJy5leGEuYXBpX3NlcnZlcl9wYi5CbG9ja2VkTW9kZWxUYWdzTGlzdEgKiAEBEmcKFHF1aWNrX3Jldmlld19zZXR0aW5nGA0gASgOMkQuZXhhLmNvZGVpdW1fY29tbW9uX3BiLlRlYW1Pcmdhbml6YXRpb25hbENvbnRyb2xzLlF1aWNrUmV2aWV3U2V0dGluZ0gLiAEBEoABCiFhbnRocm9waWNfY3liZXJfcmV0ZW50aW9uX3NldHRpbmcYDiABKA4yUC5leGEuY29kZWl1bV9jb21tb25fcGIuVGVhbU9yZ2FuaXphdGlvbmFsQ29udHJvbHMuQW50aHJvcGljQ3liZXJSZXRlbnRpb25TZXR0aW5nSAyIAQFCFwoVX2Nhc2NhZGVfbW9kZWxfbGFiZWxzQhcKFV9jb21tYW5kX21vZGVsX2xhYmVsc0ITChFfY2xpX21vZGVsX2xhYmVsc0IVChNfY2FzY2FkZV9tb2RlbF91aWRzQhUKE19jb21tYW5kX21vZGVsX3VpZHNCEQoPX2NsaV9tb2RlbF91aWRzQhgKFl9hbGxvd2VkX2FwaV9wcm92aWRlcnNCGgoYX2FsbG93ZWRfbW9kZWxfcHJvdmlkZXJzQhQKEl9tb2RlbF9maWx0ZXJfbW9kZUITChFfYWRhcHRpdmVfc2V0dGluZ0IVChNfYmxvY2tlZF9tb2RlbF90YWdzQhcKFV9xdWlja19yZXZpZXdfc2V0dGluZ0IkCiJfYW50aHJvcGljX2N5YmVyX3JldGVudGlvbl9zZXR0aW5nSgQIARACUghtZXRhZGF0YSIyCjBVcGRhdGVUZWFtT3JnYW5pemF0aW9uYWxDb250cm9sc0V4dGVybmFsUmVzcG9uc2UiXwoqR2V0V2luZHN1cmZKU0F2YWlsYWJsZURlcGxveVRhcmdldHNSZXF1ZXN0EjEKCG1ldGFkYXRhGAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhImoKK0dldFdpbmRzdXJmSlNBdmFpbGFibGVEZXBsb3lUYXJnZXRzUmVzcG9uc2USOwoOZGVwbG95X3RhcmdldHMYASADKAsyIy5leGEuY29kZWl1bV9jb21tb25fcGIuRGVwbG95VGFyZ2V0InIKJ1ZhbGlkYXRlV2luZHN1cmZKU0FwcFByb2plY3ROYW1lUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRIUCgxwcm9qZWN0X25hbWUYAiABKAkilgEKKFZhbGlkYXRlV2luZHN1cmZKU0FwcFByb2plY3ROYW1lUmVzcG9uc2USNwoGc3RhdHVzGAEgASgOMicuZXhhLmNvZGVpdW1fY29tbW9uX3BiLlZhbGlkYXRpb25TdGF0dXMSFgoOaW52YWxpZF9yZWFzb24YAyABKAkSGQoRYWx0ZXJuYXRpdmVfbmFtZXMYAiADKAkiwgQKGkRlcGxveVdpbmRzdXJmSlNBcHBSZXF1ZXN0El8KE2RlcGxveW1lbnRfbWV0YWRhdGEYASABKAsyQC5leGEuYXBpX3NlcnZlcl9wYi5EZXBsb3lXaW5kc3VyZkpTQXBwUmVxdWVzdC5EZXBsb3ltZW50TWV0YWRhdGFIABJXCgpmaWxlX2NodW5rGAIgASgLMkEuZXhhLmFwaV9zZXJ2ZXJfcGIuRGVwbG95V2luZHN1cmZKU0FwcFJlcXVlc3QuRGVwbG95bWVudEZpbGVDaHVua0gAGqACChJEZXBsb3ltZW50TWV0YWRhdGESMQoIbWV0YWRhdGEYASABKAsyHy5leGEuY29kZWl1bV9jb21tb25fcGIuTWV0YWRhdGESFAoMcHJvamVjdF9wYXRoGAIgASgJEhIKCnByb2plY3RfaWQYBiABKAkSFgoOc3ViZG9tYWluX25hbWUYAyABKAkSEQoJZnJhbWV3b3JrGAQgASgJEkYKE2RlcGxveW1lbnRfcHJvdmlkZXIYBSABKA4yKS5leGEuY29kZWl1bV9jb21tb25fcGIuRGVwbG95bWVudFByb3ZpZGVyEjoKDWRlcGxveV90YXJnZXQYByABKAsyIy5leGEuY29kZWl1bV9jb21tb25fcGIuRGVwbG95VGFyZ2V0Gj8KE0RlcGxveW1lbnRGaWxlQ2h1bmsSEQoJZmlsZV9wYXRoGAEgASgJEhUKDWZpbGVfY29udGVudHMYAiABKAxCBgoEZGF0YSKFAQobRGVwbG95V2luZHN1cmZKU0FwcFJlc3BvbnNlEj0KCmRlcGxveW1lbnQYASABKAsyKS5leGEuY29kZWl1bV9jb21tb25fcGIuV2luZHN1cmZEZXBsb3ltZW50EhQKDGlzX292ZXJ3cml0ZRgCIAEoCBIRCgljbGFpbV91cmwYAyABKAki6wEKGkNyZWF0ZVdpbmRzdXJmSlNBcHBSZXF1ZXN0EjEKCG1ldGFkYXRhGAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhEhYKDnN1YmRvbWFpbl9uYW1lGAIgASgJEkYKE2RlcGxveW1lbnRfcHJvdmlkZXIYAyABKA4yKS5leGEuY29kZWl1bV9jb21tb25fcGIuRGVwbG95bWVudFByb3ZpZGVyEjoKDWRlcGxveV90YXJnZXQYBCABKAsyIy5leGEuY29kZWl1bV9jb21tb25fcGIuRGVwbG95VGFyZ2V0IlYKG0NyZWF0ZVdpbmRzdXJmSlNBcHBSZXNwb25zZRI3Cgdwcm9qZWN0GAEgASgLMiYuZXhhLmNvZGVpdW1fY29tbW9uX3BiLldpbmRzdXJmUHJvamVjdCJBChpEZWxldGVXaW5kc3VyZkpTQXBwUmVxdWVzdBIPCgdhcGlfa2V5GAEgASgJEhIKCnByb2plY3RfaWQYAiABKAkiHQobRGVsZXRlV2luZHN1cmZKU0FwcFJlc3BvbnNlInUKLEdldFdpbmRzdXJmSlNBcHBEZXBsb3ltZW50Q2xhaW1TdGF0dXNSZXF1ZXN0EjEKCG1ldGFkYXRhGAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhEhIKCnByb2plY3RfaWQYAiABKAkiVgotR2V0V2luZHN1cmZKU0FwcERlcGxveW1lbnRDbGFpbVN0YXR1c1Jlc3BvbnNlEhIKCmlzX2NsYWltZWQYASABKAgSEQoJY2xhaW1fdXJsGAIgASgJIsMBCjJHZXREZXBsb3ltZW50UHJvdmlkZXJQcm9qZWN0TmFtZUJ5UHJvamVjdElkUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRISCgpwcm9qZWN0X2lkGAIgASgJEkYKE2RlcGxveW1lbnRfcHJvdmlkZXIYAyABKA4yKS5leGEuY29kZWl1bV9jb21tb25fcGIuRGVwbG95bWVudFByb3ZpZGVyInEKM0dldERlcGxveW1lbnRQcm92aWRlclByb2plY3ROYW1lQnlQcm9qZWN0SWRSZXNwb25zZRIUCgxwcm9qZWN0X25hbWUYASABKAkSEQoJc3ViZG9tYWluGAIgASgJEhEKCXRlYW1fc2x1ZxgDIAEoCSJ0CitHZXRXaW5kc3VyZkpTRGVwbG95VGFyZ2V0QnlQcm9qZWN0SWRSZXF1ZXN0EjEKCG1ldGFkYXRhGAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhEhIKCnByb2plY3RfaWQYAiABKAkiagosR2V0V2luZHN1cmZKU0RlcGxveVRhcmdldEJ5UHJvamVjdElkUmVzcG9uc2USOgoNZGVwbG95X3RhcmdldBgBIAEoCzIjLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5EZXBsb3lUYXJnZXQidgotR2V0V2luZHN1cmZKU0FwcERlcGxveW1lbnRzQnlQcm9qZWN0SWRSZXF1ZXN0EjEKCG1ldGFkYXRhGAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhEhIKCnByb2plY3RfaWQYAiABKAkicAouR2V0V2luZHN1cmZKU0FwcERlcGxveW1lbnRzQnlQcm9qZWN0SWRSZXNwb25zZRI+CgtkZXBsb3ltZW50cxgBIAMoCzIpLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5XaW5kc3VyZkRlcGxveW1lbnQiPQoYR2V0V2luZHN1cmZKU0FwcHNSZXF1ZXN0Eg8KB2FwaV9rZXkYASABKAlKBAgCEANSCmF1dGhfdG9rZW4ilwMKGUdldFdpbmRzdXJmSlNBcHBzUmVzcG9uc2USGwoTdW5jbGFpbWVkX2FwcHNfdXNlZBgBIAEoBRIcChR1bmNsYWltZWRfYXBwc19saW1pdBgCIAEoBRJICgRhcHBzGAMgAygLMjouZXhhLmFwaV9zZXJ2ZXJfcGIuR2V0V2luZHN1cmZKU0FwcHNSZXNwb25zZS5XaW5kc3VyZkpTQXBwGvQBCg1XaW5kc3VyZkpTQXBwEg8KB2FwcF91cmwYASABKAkSRgoTZGVwbG95bWVudF9wcm92aWRlchgCIAEoDjIpLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5EZXBsb3ltZW50UHJvdmlkZXISEgoKaXNfY2xhaW1lZBgDIAEoCBIRCgljbGFpbV91cmwYBCABKAkSMwoPZXhwaXJhdGlvbl90aW1lGAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBISCgpwcm9qZWN0X2lkGAYgASgJEhoKEnByb3ZpZGVyX3RlYW1fc2x1ZxgHIAEoCSJbCjRHZXRXaW5kc3VyZkpTQXBwRGVwbG95bWVudFN0YXR1c2VzQnlQcm9qZWN0SWRSZXF1ZXN0Eg8KB2FwaV9rZXkYASABKAkSEgoKcHJvamVjdF9pZBgCIAEoCSLsAgo1R2V0V2luZHN1cmZKU0FwcERlcGxveW1lbnRTdGF0dXNlc0J5UHJvamVjdElkUmVzcG9uc2USfgoTZGVwbG95bWVudF9zdGF0dXNlcxgBIAMoCzJhLmV4YS5hcGlfc2VydmVyX3BiLkdldFdpbmRzdXJmSlNBcHBEZXBsb3ltZW50U3RhdHVzZXNCeVByb2plY3RJZFJlc3BvbnNlLldpbmRzdXJmRGVwbG95bWVudFN0YXR1cxqyAQoYV2luZHN1cmZEZXBsb3ltZW50U3RhdHVzEj0KCmRlcGxveW1lbnQYASABKAsyKS5leGEuY29kZWl1bV9jb21tb25fcGIuV2luZHN1cmZEZXBsb3ltZW50EkIKDGJ1aWxkX3N0YXR1cxgCIAEoDjIsLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5EZXBsb3ltZW50QnVpbGRTdGF0dXMSEwoLYnVpbGRfZXJyb3IYAyABKAkiSwohR2V0V2luZHN1cmZKU0FwcERlcGxveW1lbnRSZXF1ZXN0Eg8KB2FwaV9rZXkYASABKAkSFQoNZGVwbG95bWVudF9pZBgCIAEoCSKrAgoiR2V0V2luZHN1cmZKU0FwcERlcGxveW1lbnRSZXNwb25zZRI9CgpkZXBsb3ltZW50GAEgASgLMikuZXhhLmNvZGVpdW1fY29tbW9uX3BiLldpbmRzdXJmRGVwbG95bWVudBJCCgxidWlsZF9zdGF0dXMYAiABKA4yLC5leGEuY29kZWl1bV9jb21tb25fcGIuRGVwbG95bWVudEJ1aWxkU3RhdHVzEhYKDmRlcGxveW1lbnRfdXJsGAMgASgJEhMKC2J1aWxkX2Vycm9yGAQgASgJEhIKCmJ1aWxkX2xvZ3MYBSABKAkSEgoKaXNfY2xhaW1lZBgGIAEoCBIRCgljbGFpbV91cmwYByABKAkSGgoScHJvdmlkZXJfdGVhbV9zbHVnGAggASgJImsKIEFwcGx5VHJhamVjdG9yeUhldXJpc3RpY3NSZXF1ZXN0EhIKCmhldXJpc3RpY3MYASADKAkSMwoKdHJhamVjdG9yeRgCIAEoCzIfLmV4YS5jb3J0ZXhfcGIuQ29ydGV4VHJhamVjdG9yeSJBCiFBcHBseVRyYWplY3RvcnlIZXVyaXN0aWNzUmVzcG9uc2USHAoUdHJpZ2dlcmVkX2hldXJpc3RpY3MYASADKAkijQMKIkNyZWF0ZVRyYWplY3RvcnlTaGFyZVN0cmVhbVJlcXVlc3QSUAoHaW5pdGlhbBgBIAEoCzI9LmV4YS5hcGlfc2VydmVyX3BiLkNyZWF0ZVRyYWplY3RvcnlTaGFyZVN0cmVhbVJlcXVlc3QuSW5pdGlhbEgAEkwKBWNodW5rGAIgASgLMjsuZXhhLmFwaV9zZXJ2ZXJfcGIuQ3JlYXRlVHJhamVjdG9yeVNoYXJlU3RyZWFtUmVxdWVzdC5DaHVua0gAGqMBCgdJbml0aWFsEjEKCG1ldGFkYXRhGAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhEjoKDHNoYXJlX3N0YXR1cxgCIAEoDjIkLmV4YS5jb3J0ZXhfcGIuVHJhamVjdG9yeVNoYXJlU3RhdHVzEhUKDXRyYWplY3RvcnlfaWQYAyABKAkSEgoKbnVtX2NodW5rcxgEIAEoBRoWCgVDaHVuaxINCgVjaHVuaxgBIAEoCUIJCgdyZXF1ZXN0IkQKI0NyZWF0ZVRyYWplY3RvcnlTaGFyZVN0cmVhbVJlc3BvbnNlEgsKA3VybBgBIAEoCRIQCghzaGFyZV9pZBgCIAEoCSI/ChtGZXRjaFRyYWplY3RvcnlTaGFyZVJlcXVlc3QSEAoIc2hhcmVfaWQYASABKAlKBAgCEANSCG1ldGFkYXRhIvEBChxGZXRjaFRyYWplY3RvcnlTaGFyZVJlc3BvbnNlEjMKCnRyYWplY3RvcnkYASABKAsyHy5leGEuY29ydGV4X3BiLkNvcnRleFRyYWplY3RvcnkSOAoHc3VtbWFyeRgCIAEoCzInLmV4YS5jb3J0ZXhfcGIuQ2FzY2FkZVRyYWplY3RvcnlTdW1tYXJ5EhEKCXVzZXJfbmFtZRgDIAEoCRIgChh1c2VyX3Byb2ZpbGVfcGljdHVyZV91cmwYBCABKAkSLQoJc2hhcmVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCJBChxEZWxldGVUcmFqZWN0b3J5U2hhcmVSZXF1ZXN0EhAKCHNoYXJlX2lkGAEgASgJEg8KB2FwaV9rZXkYAiABKAkiMAodRGVsZXRlVHJhamVjdG9yeVNoYXJlUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCLlAQoPVHJhamVjdG9yeVNoYXJlEhAKCHNoYXJlX2lkGAEgASgJEhUKDXRyYWplY3RvcnlfaWQYAiABKAkSMwoKdHJhamVjdG9yeRgDIAEoCzIfLmV4YS5jb3J0ZXhfcGIuQ29ydGV4VHJhamVjdG9yeRI4CgdzdW1tYXJ5GAQgASgLMicuZXhhLmNvcnRleF9wYi5DYXNjYWRlVHJhamVjdG9yeVN1bW1hcnkSOgoMc2hhcmVfc3RhdHVzGAUgASgOMiQuZXhhLmNvcnRleF9wYi5UcmFqZWN0b3J5U2hhcmVTdGF0dXMiRgohRmV0Y2hUcmFqZWN0b3J5U2hhcmVCeVVzZXJSZXF1ZXN0Eg8KB2FwaV9rZXkYASABKAlKBAgCEANSCmF1dGhfdG9rZW4ijQEKIkZldGNoVHJhamVjdG9yeVNoYXJlQnlVc2VyUmVzcG9uc2USEQoJdXNlcl9uYW1lGAEgASgJEiAKGHVzZXJfcHJvZmlsZV9waWN0dXJlX3VybBgCIAEoCRIyCgZzaGFyZXMYAyADKAsyIi5leGEuYXBpX3NlcnZlcl9wYi5UcmFqZWN0b3J5U2hhcmUiPQojSXNDb252ZXJzYXRpb25TaGFyaW5nQmxvY2tlZFJlcXVlc3RKBAgBEAJKBAgCEANSCmF1dGhfdG9rZW4iNwokSXNDb252ZXJzYXRpb25TaGFyaW5nQmxvY2tlZFJlc3BvbnNlEg8KB2Jsb2NrZWQYASABKAgiVwoiR2V0RGVmYXVsdFdvcmtmbG93VGVtcGxhdGVzUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YSJVCiNHZXREZWZhdWx0V29ya2Zsb3dUZW1wbGF0ZXNSZXNwb25zZRIuCgl3b3JrZmxvd3MYASADKAsyGy5leGEuY29ydGV4X3BiLldvcmtmbG93U3BlYyIrChhHZXRTdXBhYmFzZVNlY3JldFJlcXVlc3QSDwoHYXBpX2tleRgBIAEoCSIrChlHZXRTdXBhYmFzZVNlY3JldFJlc3BvbnNlEg4KBnNlY3JldBgBIAEoCSIYChZHZXRTU09Qcm92aWRlcnNSZXF1ZXN0IjUKF0dldFNTT1Byb3ZpZGVyc1Jlc3BvbnNlEhoKEnNzb19wcm92aWRlcnNfanNvbhgBIAEoCSInChZGaW5kVGVhbUJ5RW1haWxSZXF1ZXN0Eg0KBWVtYWlsGAEgASgJIkwKF0ZpbmRUZWFtQnlFbWFpbFJlc3BvbnNlEg8KB3RlYW1faWQYASABKAkSEQoJdGVhbV9uYW1lGAIgASgJEg0KBWZvdW5kGAMgASgIIj0KHUdldEV4dGVybmFsTW9kZWxzR3JvdXBSZXF1ZXN0EgoKAmlkGAIgASgNSgQIARACUgphdXRoX3Rva2VuIjAKHkdldEV4dGVybmFsTW9kZWxzR3JvdXBSZXNwb25zZRIOCgZncm91cHMYASADKAkiUAogVXBkYXRlRXh0ZXJuYWxNb2RlbHNHcm91cFJlcXVlc3QSCgoCaWQYAiABKA0SDgoGZ3JvdXBzGAMgAygJSgQIARACUgphdXRoX3Rva2VuIjMKIVVwZGF0ZUV4dGVybmFsTW9kZWxzR3JvdXBSZXNwb25zZRIOCgZncm91cHMYASADKAkiKgoXR2V0RXh0ZXJuYWxNb2RlbFJlcXVlc3QSDwoHYXBpX2tleRgBIAEoCSJQChhHZXRFeHRlcm5hbE1vZGVsUmVzcG9uc2USNAoGbW9kZWxzGAEgAygLMiQuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkV4dGVybmFsTW9kZWwiogIKG0NyZWF0ZUV4dGVybmFsTW9kZWxzUmVxdWVzdBISCgptb2RlbF9uYW1lGAIgASgJEhAKCGVuZHBvaW50GAMgASgJEg8KB2FwaV9rZXkYBCABKAkSLgoIbW9kZWxfaWQYBSABKA4yHC5leGEuY29kZWl1bV9jb21tb25fcGIuTW9kZWwSDgoGcmVnaW9uGAYgASgJEhIKCnByb2plY3RfaWQYByABKAkSEgoKYWNjZXNzX2tleRgIIAEoCRIZChFzZWNyZXRfYWNjZXNzX2tleRgJIAEoCRIdChVtYXhfY29tcGxldGlvbl90b2tlbnMYCiABKAUSGAoQbWF4X2lucHV0X3Rva2VucxgLIAEoBUoECAEQAlIKYXV0aF90b2tlbiLUAgobVXBkYXRlRXh0ZXJuYWxNb2RlbHNSZXF1ZXN0EhIKCm1vZGVsX25hbWUYAiABKAkSEAoIZW5kcG9pbnQYAyABKAkSDwoHYXBpX2tleRgEIAEoCRI3ChFvcmlnaW5hbF9tb2RlbF9pZBgFIAEoDjIcLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Nb2RlbBIOCgZyZWdpb24YBiABKAkSEgoKcHJvamVjdF9pZBgHIAEoCRISCgphY2Nlc3Nfa2V5GAggASgJEhkKEXNlY3JldF9hY2Nlc3Nfa2V5GAkgASgJEhsKE29yaWdpbmFsX21vZGVsX25hbWUYCiABKAkSCgoCaWQYCyABKA0SHQoVbWF4X2NvbXBsZXRpb25fdG9rZW5zGAwgASgFEhgKEG1heF9pbnB1dF90b2tlbnMYDSABKAVKBAgBEAJSCmF1dGhfdG9rZW4iHgocQ3JlYXRlRXh0ZXJuYWxNb2RlbHNSZXNwb25zZSJ/ChtEZWxldGVFeHRlcm5hbE1vZGVsc1JlcXVlc3QSEgoKbW9kZWxfbmFtZRgCIAEoCRIuCghtb2RlbF9pZBgDIAEoDjIcLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Nb2RlbBIKCgJpZBgLIAEoDUoECAEQAlIKYXV0aF90b2tlbiIeChxVcGRhdGVFeHRlcm5hbE1vZGVsc1Jlc3BvbnNlIh4KHERlbGV0ZUV4dGVybmFsTW9kZWxzUmVzcG9uc2UisAIKEENoZWNrQnVnc1JlcXVlc3QSMQoIbWV0YWRhdGEYASABKAsyHy5leGEuY29kZWl1bV9jb21tb25fcGIuTWV0YWRhdGESDAoEZGlmZhgCIAEoCRIRCglyZXBvX25hbWUYAyABKAkSEwoLY29tbWl0X2hhc2gYBCABKAkSEwoLYXV0aG9yX25hbWUYBSABKAkSDQoFbW9kZWwYBiABKAkSFgoOY29tbWl0X21lc3NhZ2UYByABKAkSFQoNbGluZXNfY2hhbmdlZBgIIAEoBRISCgp1c2VyX3J1bGVzGAkgAygJEg4KBm1ldGhvZBgKIAEoCRIWCg5zeW1ib2xfY29udGV4dBgLIAEoCRISCgpjaGVja190eXBlGAwgASgJEhAKCGJhc2VfcmVmGA0gASgJItkBChFDaGVja0J1Z3NSZXNwb25zZRIlCgRidWdzGAEgAygLMhcuZXhhLmJ1Z19jaGVja2VyX3BiLkJ1ZxIUCgxidWdfY2hlY2tfaWQYAiABKAkSEwoLbWV0aG9kX3VzZWQYAyABKAkSFgoKbW9kZWxfdXNlZBgEIAEoCUICGAESEwoLcGxheWdyb3VuZHMYBSABKAkSLgoIbW9kZWxfaWQYBiABKA4yHC5leGEuY29kZWl1bV9jb21tb25fcGIuTW9kZWwSFQoNYWdlbnRfdmVyc2lvbhgHIAEoCSJOChlHZXRMaWZlZ3VhcmRDb25maWdSZXF1ZXN0EjEKCG1ldGFkYXRhGAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhIlQKGkdldExpZmVndWFyZENvbmZpZ1Jlc3BvbnNlEjYKBmNvbmZpZxgBIAEoCzImLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5MaWZlZ3VhcmRDb25maWciawoQQWNjZXB0QnVnUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRIUCgxidWdfY2hlY2tfaWQYAiABKAkSDgoGYnVnX2lkGAMgASgJIhMKEUFjY2VwdEJ1Z1Jlc3BvbnNlImsKEFJlamVjdEJ1Z1JlcXVlc3QSMQoIbWV0YWRhdGEYASABKAsyHy5leGEuY29kZWl1bV9jb21tb25fcGIuTWV0YWRhdGESFAoMYnVnX2NoZWNrX2lkGAIgASgJEg4KBmJ1Z19pZBgDIAEoCSITChFSZWplY3RCdWdSZXNwb25zZSLBAQoWU3VibWl0QnVnUmVwb3J0UmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRITCgtkZXNjcmlwdGlvbhgCIAEoCRIQCghidWdfdHlwZRgDIAEoCRIYChBkaWFnbm9zdGljc19qc29uGAQgASgJEhIKCnNjcmVlbnNob3QYBSABKAwSEAoIdGFiX2luZm8YBiABKAkSDQoFb3RoZXIYByABKAkiLwoXU3VibWl0QnVnUmVwb3J0UmVzcG9uc2USFAoMbWVzc2FnZV9saW5rGAEgASgJIpwECg1HZXRUYWJSZXF1ZXN0EjEKCG1ldGFkYXRhGAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhEkkKGXVuaWZpZWRfcHJvbXB0X2NvbXBvbmVudHMYAiABKAsyJi5leGEucHJvbXB0X3BiLlVuaWZpZWRQcm9tcHRDb21wb25lbnRzEkIKEWV4cGVyaW1lbnRfY29uZmlnGAMgASgLMicuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkV4cGVyaW1lbnRDb25maWcSPgoPcHJvdmlkZXJfc291cmNlGAQgASgOMiUuZXhhLmNvZGVpdW1fY29tbW9uX3BiLlByb3ZpZGVyU291cmNlEhEKCXByb21wdF9pZBgFIAEoCRIxCghsYW5ndWFnZRgGIAEoDjIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5MYW5ndWFnZRIrCgVtb2RlbBgHIAEoDjIcLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Nb2RlbBJEChN0cmFqZWN0b3J5X3N0ZXBzX3YyGAkgASgLMicuZXhhLmFwaV9zZXJ2ZXJfcGIuVGFiVHJhamVjdG9yeVN0ZXBzVjISKQocc3RyZWFtaW5nX2NvbXBsZXRpb25fdmVyc2lvbhgKIAEoBUgAiAEBQh8KHV9zdHJlYW1pbmdfY29tcGxldGlvbl92ZXJzaW9uSgQICBAJItYFCg5HZXRUYWJSZXNwb25zZRJFCgxwcmVfcmVzcG9uc2UYASABKAsyLS5leGEuYXBpX3NlcnZlcl9wYi5HZXRUYWJSZXNwb25zZS5QcmVSZXNwb25zZUgAEkoKFHN0cmVhbWluZ19jb21wbGV0aW9uGAIgASgLMiouZXhhLmNvZGVpdW1fY29tbW9uX3BiLlN0cmVhbWluZ0NvbXBsZXRpb25IABJTChNtaXNzaW5nX2luZm9ybWF0aW9uGAMgASgLMjQuZXhhLmFwaV9zZXJ2ZXJfcGIuR2V0VGFiUmVzcG9uc2UuTWlzc2luZ0luZm9ybWF0aW9uSAASPgoXc3RyZWFtaW5nX2NvbXBsZXRpb25fdjIYBCABKAsyGy5leGEuYXBpX3NlcnZlcl9wYi5EZWx0YVRhYkgAGsQCCgtQcmVSZXNwb25zZRIOCgZwcm9tcHQYASABKAkSEgoKcmVxdWVzdF9pZBgCIAEoCRI8Cg5tb2RlbF9mZWF0dXJlcxgDIAEoCzIkLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Nb2RlbEZlYXR1cmVzElcKDnVyaXNfdG9faGFzaGVzGAUgAygLMj8uZXhhLmFwaV9zZXJ2ZXJfcGIuR2V0VGFiUmVzcG9uc2UuUHJlUmVzcG9uc2UuVXJpc1RvSGFzaGVzRW50cnkSPwoNY2FjaGVfaW5mb192MhgGIAEoCzIoLmV4YS5hcGlfc2VydmVyX3BiLlRyYWplY3RvcnlDYWNoZUluZm9WMhozChFVcmlzVG9IYXNoZXNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAQ6AjgBSgQIBBAFGkoKEk1pc3NpbmdJbmZvcm1hdGlvbhIMCgR1cmlzGAEgAygJEhcKCnN0YXJ0X3N0ZXAYAiABKANIAIgBAUINCgtfc3RhcnRfc3RlcEIJCgdtZXNzYWdlIv4ECghEZWx0YVRhYhIKCgJpZBgBIAEoCRIMCgRwYXRoGAIgASgJEhMKC2lzX2NvbXBsZXRlGAMgASgIEjsKC3N0b3BfcmVhc29uGAcgASgOMiEuZXhhLmNvZGVpdW1fY29tbW9uX3BiLlN0b3BSZWFzb25IAYgBARJNChNkZWx0YV9zdXBlcmNvbXBsZXRlGAQgASgLMi4uZXhhLmFwaV9zZXJ2ZXJfcGIuRGVsdGFUYWIuRGVsdGFTdXBlcmNvbXBsZXRlSAASQgoOZGVsdGFfdGFiX2p1bXAYBSABKAsyKC5leGEuYXBpX3NlcnZlcl9wYi5EZWx0YVRhYi5EZWx0YVRhYkp1bXBIABI7CgpkZWx0YV9ub29wGAYgASgLMiUuZXhhLmFwaV9zZXJ2ZXJfcGIuRGVsdGFUYWIuRGVsdGFOb29wSAAavQEKEkRlbHRhU3VwZXJjb21wbGV0ZRISCgpzdGFydF9saW5lGAEgASgEEhAKCGVuZF9saW5lGAIgASgEEhUKDWRlbHRhX29sZF9zdHIYAyABKAkSFQoNZGVsdGFfbmV3X3N0chgEIAEoCRIRCglpc19pbXBvcnQYBSABKAgSQAoPY3Vyc29yX3Bvc2l0aW9uGAYgASgLMicuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkRvY3VtZW50UG9zaXRpb24aUAoMRGVsdGFUYWJKdW1wEkAKD2N1cnNvcl9wb3NpdGlvbhgBIAEoCzInLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Eb2N1bWVudFBvc2l0aW9uGgsKCURlbHRhTm9vcEIHCgVkZWx0YUIOCgxfc3RvcF9yZWFzb24iOgoVVHJhamVjdG9yeUNhY2hlSW5mb1YyEhEKCWNhY2hlX2tleRgBIAEoCRIOCgZoYXNoZXMYAiADKAQiZwoUVGFiVHJhamVjdG9yeVN0ZXBzVjISDgoGaGFzaGVzGAEgAygEEj8KEnN0ZXBzX2FmdGVyX2hhc2hlcxgCIAMoCzIjLmV4YS5jb3J0ZXhfcGIuQ29ydGV4VHJhamVjdG9yeVN0ZXAiMgoeRW5yb2xsQ3liZXJWZXJpZmljYXRpb25SZXF1ZXN0SgQIARACUgphdXRoX3Rva2VuIlcKH0Vucm9sbEN5YmVyVmVyaWZpY2F0aW9uUmVzcG9uc2USFgoOZW5yb2xsbWVudF91cmwYASABKAkSHAoUYW50aHJvcGljX3Byb2ZpbGVfaWQYAiABKAkiPAooR2V0Q3liZXJWZXJpZmljYXRpb25FbnJvbGxtZW50VXJsUmVxdWVzdEoECAEQAlIKYXV0aF90b2tlbiJDCilHZXRDeWJlclZlcmlmaWNhdGlvbkVucm9sbG1lbnRVcmxSZXNwb25zZRIWCg5lbnJvbGxtZW50X3VybBgBIAEoCSKfAQouVXBkYXRlQW50aHJvcGljQ3liZXJWZXJpZmljYXRpb25FbmFibGVkUmVxdWVzdBJbCgdlbmFibGVkGAIgASgOMkouZXhhLmNvZGVpdW1fY29tbW9uX3BiLlRlYW1Pcmdhbml6YXRpb25hbENvbnRyb2xzLkN5YmVyVmVyaWZpY2F0aW9uRW5hYmxlZEoECAEQAlIKYXV0aF90b2tlbiIxCi9VcGRhdGVBbnRocm9waWNDeWJlclZlcmlmaWNhdGlvbkVuYWJsZWRSZXNwb25zZSIuChpHZXREZWNhZ29uQXV0aFRva2VuUmVxdWVzdEoECAEQAlIKYXV0aF90b2tlbiJQChtHZXREZWNhZ29uQXV0aFRva2VuUmVzcG9uc2USEQoJc2lnbmF0dXJlGAEgASgJEg0KBWVwb2NoGAIgASgDEg8KB3VzZXJfaWQYAyABKAkqnQEKEU1RdWVyeVNjb3JlU3RhdHVzEiQKIE1fUVVFUllfU0NPUkVfU1RBVFVTX1VOU1BFQ0lGSUVEEAASGwoXTV9RVUVSWV9TQ09SRV9TVEFUVVNfT0sQARIeChpNX1FVRVJZX1NDT1JFX1NUQVRVU19FUlJPUhACEiUKIU1fUVVFUllfU0NPUkVfU1RBVFVTX0VBUkxZX1JFVFVSThADKokBChRFbWJlZGRpbmdSZXRyeVBvbGljeRImCiJFTUJFRERJTkdfUkVUUllfUE9MSUNZX1VOU1BFQ0lGSUVEEAASHwobRU1CRURESU5HX1JFVFJZX1BPTElDWV9OT05FEAESKAokRU1CRURESU5HX1JFVFJZX1BPTElDWV9ISUdIX1BSSU9SSVRZEAIqwAUKFkNoYXRNZXNzYWdlUmVxdWVzdFR5cGUSKQolQ0hBVF9NRVNTQUdFX1JFUVVFU1RfVFlQRV9VTlNQRUNJRklFRBAAEiUKIUNIQVRfTUVTU0FHRV9SRVFVRVNUX1RZUEVfR0VORVJBTBABEisKJ0NIQVRfTUVTU0FHRV9SRVFVRVNUX1RZUEVfQ09OVEVYVF9DSEVDSxACEiIKHkNIQVRfTUVTU0FHRV9SRVFVRVNUX1RZUEVfUExBThADEiUKIUNIQVRfTUVTU0FHRV9SRVFVRVNUX1RZUEVfQ09NTUFORBAEEiUKIUNIQVRfTUVTU0FHRV9SRVFVRVNUX1RZUEVfQ0FTQ0FERRAFEiIKHkNIQVRfTUVTU0FHRV9SRVFVRVNUX1RZUEVfRVZBTBAGEi0KKUNIQVRfTUVTU0FHRV9SRVFVRVNUX1RZUEVfV0lORFNVUkZfUkVWSUVXEAcSLgoqQ0hBVF9NRVNTQUdFX1JFUVVFU1RfVFlQRV9WSUJFX0FORF9SRVBMQUNFEAgSJgoiQ0hBVF9NRVNTQUdFX1JFUVVFU1RfVFlQRV9ERUVQV0lLSRAJEiYKIkNIQVRfTUVTU0FHRV9SRVFVRVNUX1RZUEVfREVWU1RSQUwQChIwCixDSEFUX01FU1NBR0VfUkVRVUVTVF9UWVBFX0NPREVNQVBfR0VORVJBVElPThALEjEKLUNIQVRfTUVTU0FHRV9SRVFVRVNUX1RZUEVfQ09ERU1BUF9TVUdHRVNUSU9OUxAMEioKJkNIQVRfTUVTU0FHRV9SRVFVRVNUX1RZUEVfU01BUlRfRlJJRU5EEA0SJwojQ0hBVF9NRVNTQUdFX1JFUVVFU1RfVFlQRV9MSUZFR1VBUkQQDhIoCiRDSEFUX01FU1NBR0VfUkVRVUVTVF9UWVBFX0NIRUNLUE9JTlQQDyqMAQoWSHlicmlkRGVwbG95bWVudFN0YXR1cxIoCiRIWUJSSURfREVQTE9ZTUVOVF9TVEFUVVNfVU5TUEVDSUZJRUQQABIkCiBIWUJSSURfREVQTE9ZTUVOVF9TVEFUVVNfSEVBTFRIWRABEiIKHkhZQlJJRF9ERVBMT1lNRU5UX1NUQVRVU19FUlJPUhACKmEKDEZlZWRiYWNrVHlwZRIdChlGRUVEQkFDS19UWVBFX1VOU1BFQ0lGSUVEEAASGAoURkVFREJBQ0tfVFlQRV9BQ0NFUFQQARIYChRGRUVEQkFDS19UWVBFX1JFSkVDVBACKpACChFGZWVkYmFja0V4dHJhSW5mbxIjCh9GRUVEQkFDS19FWFRSQV9JTkZPX1VOU1BFQ0lGSUVEEAASKgomRkVFREJBQ0tfRVhUUkFfSU5GT19UWVBFRF9BU19TVUdHRVNURUQQARIoCiRGRUVEQkFDS19FWFRSQV9JTkZPX0RPQ1VNRU5UX0NIQU5HRUQQAhImCiJGRUVEQkFDS19FWFRSQV9JTkZPX1BBUlRJQUxfQUNDRVBUEAMSKgomRkVFREJBQ0tfRVhUUkFfSU5GT19JTlRFTlRJT05BTF9SRUpFQ1QQBBIsCihGRUVEQkFDS19FWFRSQV9JTkZPX0NMSUVOVF9GSUxURVJfUkVKRUNUEAUqlwEKE0RlcGxveW1lbnRDb25maWdLZXkSJQohREVQTE9ZTUVOVF9DT05GSUdfS0VZX1VOU1BFQ0lGSUVEEAASLQopREVQTE9ZTUVOVF9DT05GSUdfS0VZX0VOQUJMRV9FTUFJTF9TSUdOVVAQARIqCiZERVBMT1lNRU5UX0NPTkZJR19LRVlfU0FNTF9HUk9VUF9SRUdFWBACMpCpAQoQQXBpU2VydmVyU2VydmljZRJwChFHZXREZXZzdHJhbFN0cmVhbRIrLmV4YS5hcGlfc2VydmVyX3BiLkdldERldnN0cmFsU3RyZWFtUmVxdWVzdBosLmV4YS5hcGlfc2VydmVyX3BiLkdldERldnN0cmFsU3RyZWFtUmVzcG9uc2UwARJlCg5HZXRDb21wbGV0aW9ucxIoLmV4YS5hcGlfc2VydmVyX3BiLkdldENvbXBsZXRpb25zUmVxdWVzdBopLmV4YS5hcGlfc2VydmVyX3BiLkdldENvbXBsZXRpb25zUmVzcG9uc2USggEKF0dldFN0cmVhbWluZ0NvbXBsZXRpb25zEjEuZXhhLmFwaV9zZXJ2ZXJfcGIuR2V0U3RyZWFtaW5nQ29tcGxldGlvbnNSZXF1ZXN0GjIuZXhhLmFwaV9zZXJ2ZXJfcGIuR2V0U3RyZWFtaW5nQ29tcGxldGlvbnNSZXNwb25zZTABEm4KEUNhbmNlbENvbXBsZXRpb25zEisuZXhhLmFwaV9zZXJ2ZXJfcGIuQ2FuY2VsQ29tcGxldGlvbnNSZXF1ZXN0GiwuZXhhLmFwaV9zZXJ2ZXJfcGIuQ2FuY2VsQ29tcGxldGlvbnNSZXNwb25zZRJxChJHZXRDaGF0Q29tcGxldGlvbnMSLC5leGEuYXBpX3NlcnZlcl9wYi5HZXRDaGF0Q29tcGxldGlvbnNSZXF1ZXN0Gi0uZXhhLmFwaV9zZXJ2ZXJfcGIuR2V0Q2hhdENvbXBsZXRpb25zUmVzcG9uc2USlQEKI0dldFN0cmVhbWluZ0V4dGVybmFsQ2hhdENvbXBsZXRpb25zEiwuZXhhLmFwaV9zZXJ2ZXJfcGIuR2V0Q2hhdENvbXBsZXRpb25zUmVxdWVzdBo+LmV4YS5hcGlfc2VydmVyX3BiLkdldFN0cmVhbWluZ0V4dGVybmFsQ2hhdENvbXBsZXRpb25zUmVzcG9uc2UwARJiCg1HZXRFbWJlZGRpbmdzEicuZXhhLmFwaV9zZXJ2ZXJfcGIuR2V0RW1iZWRkaW5nc1JlcXVlc3QaKC5leGEuYXBpX3NlcnZlcl9wYi5HZXRFbWJlZGRpbmdzUmVzcG9uc2USZwoOR2V0Q2hhdE1lc3NhZ2USKC5leGEuYXBpX3NlcnZlcl9wYi5HZXRDaGF0TWVzc2FnZVJlcXVlc3QaKS5leGEuYXBpX3NlcnZlcl9wYi5HZXRDaGF0TWVzc2FnZVJlc3BvbnNlMAESawoQQXNzaWduQXJlbmFNb2RlbBIqLmV4YS5hcGlfc2VydmVyX3BiLkFzc2lnbkFyZW5hTW9kZWxSZXF1ZXN0GisuZXhhLmFwaV9zZXJ2ZXJfcGIuQXNzaWduQXJlbmFNb2RlbFJlc3BvbnNlElwKC0Fzc2lnbk1vZGVsEiUuZXhhLmFwaV9zZXJ2ZXJfcGIuQXNzaWduTW9kZWxSZXF1ZXN0GiYuZXhhLmFwaV9zZXJ2ZXJfcGIuQXNzaWduTW9kZWxSZXNwb25zZRKjAQoiR2V0U3RyZWFtaW5nTW9kZWxBUElUZXh0Q29tcGxldGlvbhI8LmV4YS5hcGlfc2VydmVyX3BiLkdldFN0cmVhbWluZ01vZGVsQVBJVGV4dENvbXBsZXRpb25SZXF1ZXN0Gj0uZXhhLmFwaV9zZXJ2ZXJfcGIuR2V0U3RyZWFtaW5nTW9kZWxBUElUZXh0Q29tcGxldGlvblJlc3BvbnNlMAESXgoLR2V0RGVlcFdpa2kSJS5leGEuYXBpX3NlcnZlcl9wYi5HZXREZWVwV2lraVJlcXVlc3QaJi5leGEuYXBpX3NlcnZlcl9wYi5HZXREZWVwV2lraVJlc3BvbnNlMAESTwoGR2V0VGFiEiAuZXhhLmFwaV9zZXJ2ZXJfcGIuR2V0VGFiUmVxdWVzdBohLmV4YS5hcGlfc2VydmVyX3BiLkdldFRhYlJlc3BvbnNlMAESbgoRQ2hlY2tDaGF0Q2FwYWNpdHkSKy5leGEuYXBpX3NlcnZlcl9wYi5DaGVja0NoYXRDYXBhY2l0eVJlcXVlc3QaLC5leGEuYXBpX3NlcnZlcl9wYi5DaGVja0NoYXRDYXBhY2l0eVJlc3BvbnNlEoYBChlDaGVja1VzZXJNZXNzYWdlUmF0ZUxpbWl0EjMuZXhhLmFwaV9zZXJ2ZXJfcGIuQ2hlY2tVc2VyTWVzc2FnZVJhdGVMaW1pdFJlcXVlc3QaNC5leGEuYXBpX3NlcnZlcl9wYi5DaGVja1VzZXJNZXNzYWdlUmF0ZUxpbWl0UmVzcG9uc2USkgEKHUdldFRlYW1Pcmdhbml6YXRpb25hbENvbnRyb2xzEjcuZXhhLmFwaV9zZXJ2ZXJfcGIuR2V0VGVhbU9yZ2FuaXphdGlvbmFsQ29udHJvbHNSZXF1ZXN0GjguZXhhLmFwaV9zZXJ2ZXJfcGIuR2V0VGVhbU9yZ2FuaXphdGlvbmFsQ29udHJvbHNSZXNwb25zZRKnAQokR2V0VGVhbU9yZ2FuaXphdGlvbmFsQ29udHJvbHNGb3JTaXRlEj4uZXhhLmFwaV9zZXJ2ZXJfcGIuR2V0VGVhbU9yZ2FuaXphdGlvbmFsQ29udHJvbHNGb3JTaXRlUmVxdWVzdBo/LmV4YS5hcGlfc2VydmVyX3BiLkdldFRlYW1Pcmdhbml6YXRpb25hbENvbnRyb2xzRm9yU2l0ZVJlc3BvbnNlEpsBCiBVcHNlcnRUZWFtT3JnYW5pemF0aW9uYWxDb250cm9scxI6LmV4YS5hcGlfc2VydmVyX3BiLlVwc2VydFRlYW1Pcmdhbml6YXRpb25hbENvbnRyb2xzUmVxdWVzdBo7LmV4YS5hcGlfc2VydmVyX3BiLlVwc2VydFRlYW1Pcmdhbml6YXRpb25hbENvbnRyb2xzUmVzcG9uc2USsAEKJ1Vwc2VydFRlYW1Pcmdhbml6YXRpb25hbENvbnRyb2xzRm9yU2l0ZRJBLmV4YS5hcGlfc2VydmVyX3BiLlVwc2VydFRlYW1Pcmdhbml6YXRpb25hbENvbnRyb2xzRm9yU2l0ZVJlcXVlc3QaQi5leGEuYXBpX3NlcnZlcl9wYi5VcHNlcnRUZWFtT3JnYW5pemF0aW9uYWxDb250cm9sc0ZvclNpdGVSZXNwb25zZRKzAQooVXBkYXRlVGVhbU9yZ2FuaXphdGlvbmFsQ29udHJvbHNFeHRlcm5hbBJCLmV4YS5hcGlfc2VydmVyX3BiLlVwZGF0ZVRlYW1Pcmdhbml6YXRpb25hbENvbnRyb2xzRXh0ZXJuYWxSZXF1ZXN0GkMuZXhhLmFwaV9zZXJ2ZXJfcGIuVXBkYXRlVGVhbU9yZ2FuaXphdGlvbmFsQ29udHJvbHNFeHRlcm5hbFJlc3BvbnNlEpsBCiBEZWxldGVUZWFtT3JnYW5pemF0aW9uYWxDb250cm9scxI6LmV4YS5hcGlfc2VydmVyX3BiLkRlbGV0ZVRlYW1Pcmdhbml6YXRpb25hbENvbnRyb2xzUmVxdWVzdBo7LmV4YS5hcGlfc2VydmVyX3BiLkRlbGV0ZVRlYW1Pcmdhbml6YXRpb25hbENvbnRyb2xzUmVzcG9uc2USVgoJR2V0TVF1ZXJ5EiMuZXhhLmFwaV9zZXJ2ZXJfcGIuR2V0TVF1ZXJ5UmVxdWVzdBokLmV4YS5hcGlfc2VydmVyX3BiLkdldE1RdWVyeVJlc3BvbnNlEmgKD1Byb3ZpZGVGZWVkYmFjaxIpLmV4YS5hcGlfc2VydmVyX3BiLlByb3ZpZGVGZWVkYmFja1JlcXVlc3QaKi5leGEuYXBpX3NlcnZlcl9wYi5Qcm92aWRlRmVlZGJhY2tSZXNwb25zZRJuChFVcGxvYWRFcnJvclRyYWNlcxIrLmV4YS5hcGlfc2VydmVyX3BiLlVwbG9hZEVycm9yVHJhY2VzUmVxdWVzdBosLmV4YS5hcGlfc2VydmVyX3BiLlVwbG9hZEVycm9yVHJhY2VzUmVzcG9uc2USdAoTUmVjb3JkT3Bwb3J0dW5pdGllcxItLmV4YS5hcGlfc2VydmVyX3BiLlJlY29yZE9wcG9ydHVuaXRpZXNSZXF1ZXN0Gi4uZXhhLmFwaV9zZXJ2ZXJfcGIuUmVjb3JkT3Bwb3J0dW5pdGllc1Jlc3BvbnNlEoMBChhSZWNvcmRDb2RlVHJhY2tlclVwZGF0ZXMSMi5leGEuYXBpX3NlcnZlcl9wYi5SZWNvcmRDb2RlVHJhY2tlclVwZGF0ZXNSZXF1ZXN0GjMuZXhhLmFwaV9zZXJ2ZXJfcGIuUmVjb3JkQ29kZVRyYWNrZXJVcGRhdGVzUmVzcG9uc2USgAEKF1JlY29yZENvbXBsZXRpb25FeGFtcGxlEjEuZXhhLmFwaV9zZXJ2ZXJfcGIuUmVjb3JkQ29tcGxldGlvbkV4YW1wbGVSZXF1ZXN0GjIuZXhhLmFwaV9zZXJ2ZXJfcGIuUmVjb3JkQ29tcGxldGlvbkV4YW1wbGVSZXNwb25zZRJ6ChVHZXRDb21wbGV0aW9uRXhhbXBsZXMSLy5leGEuYXBpX3NlcnZlcl9wYi5HZXRDb21wbGV0aW9uRXhhbXBsZXNSZXF1ZXN0GjAuZXhhLmFwaV9zZXJ2ZXJfcGIuR2V0Q29tcGxldGlvbkV4YW1wbGVzUmVzcG9uc2USbAoRUmVjb3JkQ29tcGxldGlvbnMSKi5leGEuYW5hbHl0aWNzX3BiLlJlY29yZENvbXBsZXRpb25zUmVxdWVzdBorLmV4YS5hbmFseXRpY3NfcGIuUmVjb3JkQ29tcGxldGlvbnNSZXNwb25zZRJ3ChRSZWNvcmRBc3luY1RlbGVtZXRyeRIuLmV4YS5hcGlfc2VydmVyX3BiLlJlY29yZEFzeW5jVGVsZW1ldHJ5UmVxdWVzdBovLmV4YS5hcGlfc2VydmVyX3BiLlJlY29yZEFzeW5jVGVsZW1ldHJ5UmVzcG9uc2USiQEKGlJlY29yZEF1dG9DYXNjYWRlVGVsZW1ldHJ5EjQuZXhhLmFwaV9zZXJ2ZXJfcGIuUmVjb3JkQXV0b0Nhc2NhZGVUZWxlbWV0cnlSZXF1ZXN0GjUuZXhhLmFwaV9zZXJ2ZXJfcGIuUmVjb3JkQXV0b0Nhc2NhZGVUZWxlbWV0cnlSZXNwb25zZRKVAQoeUmVjb3JkV2luZHN1cmZSZXZpZXdzVGVsZW1ldHJ5EjguZXhhLmFwaV9zZXJ2ZXJfcGIuUmVjb3JkV2luZHN1cmZSZXZpZXdzVGVsZW1ldHJ5UmVxdWVzdBo5LmV4YS5hcGlfc2VydmVyX3BiLlJlY29yZFdpbmRzdXJmUmV2aWV3c1RlbGVtZXRyeVJlc3BvbnNlEoYBChlSZWNvcmRXaW5kc3VyZlJldmlld0V2ZW50EjMuZXhhLmFwaV9zZXJ2ZXJfcGIuUmVjb3JkV2luZHN1cmZSZXZpZXdFdmVudFJlcXVlc3QaNC5leGEuYXBpX3NlcnZlcl9wYi5SZWNvcmRXaW5kc3VyZlJldmlld0V2ZW50UmVzcG9uc2USWQoKUmVjb3JkQ2hhdBIkLmV4YS5hcGlfc2VydmVyX3BiLlJlY29yZENoYXRSZXF1ZXN0GiUuZXhhLmFwaV9zZXJ2ZXJfcGIuUmVjb3JkQ2hhdFJlc3BvbnNlEnEKElJlY29yZENoYXRGZWVkYmFjaxIsLmV4YS5hcGlfc2VydmVyX3BiLlJlY29yZENoYXRGZWVkYmFja1JlcXVlc3QaLS5leGEuYXBpX3NlcnZlcl9wYi5SZWNvcmRDaGF0RmVlZGJhY2tSZXNwb25zZRJ9ChZSZWNvcmRDaGF0UGFuZWxTZXNzaW9uEjAuZXhhLmFwaV9zZXJ2ZXJfcGIuUmVjb3JkQ2hhdFBhbmVsU2Vzc2lvblJlcXVlc3QaMS5leGEuYXBpX3NlcnZlcl9wYi5SZWNvcmRDaGF0UGFuZWxTZXNzaW9uUmVzcG9uc2USdwoUUmVjb3JkQ29udGV4dFJlZnJlc2gSLi5leGEuYXBpX3NlcnZlcl9wYi5SZWNvcmRDb250ZXh0UmVmcmVzaFJlcXVlc3QaLy5leGEuYXBpX3NlcnZlcl9wYi5SZWNvcmRDb250ZXh0UmVmcmVzaFJlc3BvbnNlEngKFVJlY29yZENvbnRleHRUb1Byb21wdBIuLmV4YS5hbmFseXRpY3NfcGIuUmVjb3JkQ29udGV4dFRvUHJvbXB0UmVxdWVzdBovLmV4YS5hbmFseXRpY3NfcGIuUmVjb3JkQ29udGV4dFRvUHJvbXB0UmVzcG9uc2USXAoLUmVjb3JkRXZlbnQSJS5leGEuYXBpX3NlcnZlcl9wYi5SZWNvcmRFdmVudFJlcXVlc3QaJi5leGEuYXBpX3NlcnZlcl9wYi5SZWNvcmRFdmVudFJlc3BvbnNlEl8KDFJlY29yZFNlYXJjaBImLmV4YS5hcGlfc2VydmVyX3BiLlJlY29yZFNlYXJjaFJlcXVlc3QaJy5leGEuYXBpX3NlcnZlcl9wYi5SZWNvcmRTZWFyY2hSZXNwb25zZRJ0ChNSZWNvcmRTZWFyY2hSZXN1bHRzEi0uZXhhLmFwaV9zZXJ2ZXJfcGIuUmVjb3JkU2VhcmNoUmVzdWx0c1JlcXVlc3QaLi5leGEuYXBpX3NlcnZlcl9wYi5SZWNvcmRTZWFyY2hSZXN1bHRzUmVzcG9uc2USdAoTUmVjb3JkU2VhcmNoRG9jT3BlbhItLmV4YS5hcGlfc2VydmVyX3BiLlJlY29yZFNlYXJjaERvY09wZW5SZXF1ZXN0Gi4uZXhhLmFwaV9zZXJ2ZXJfcGIuUmVjb3JkU2VhcmNoRG9jT3BlblJlc3BvbnNlEoABChdSZWNvcmRTZWFyY2hSZXN1bHRzVmlldxIxLmV4YS5hcGlfc2VydmVyX3BiLlJlY29yZFNlYXJjaFJlc3VsdHNWaWV3UmVxdWVzdBoyLmV4YS5hcGlfc2VydmVyX3BiLlJlY29yZFNlYXJjaFJlc3VsdHNWaWV3UmVzcG9uc2USZQoOUmVjb3JkRGVib3VuY2USKC5leGEuYXBpX3NlcnZlcl9wYi5SZWNvcmREZWJvdW5jZVJlcXVlc3QaKS5leGEuYXBpX3NlcnZlcl9wYi5SZWNvcmREZWJvdW5jZVJlc3BvbnNlElwKC0NhcHR1cmVDb2RlEiUuZXhhLmFwaV9zZXJ2ZXJfcGIuQ2FwdHVyZUNvZGVSZXF1ZXN0GiYuZXhhLmFwaV9zZXJ2ZXJfcGIuQ2FwdHVyZUNvZGVSZXNwb25zZRJcCgtDYXB0dXJlRmlsZRIlLmV4YS5hcGlfc2VydmVyX3BiLkNhcHR1cmVGaWxlUmVxdWVzdBomLmV4YS5hcGlfc2VydmVyX3BiLkNhcHR1cmVGaWxlUmVzcG9uc2USdAoTUmVjb3JkUGlubmVkQ29udGV4dBItLmV4YS5hcGlfc2VydmVyX3BiLlJlY29yZFBpbm5lZENvbnRleHRSZXF1ZXN0Gi4uZXhhLmFwaV9zZXJ2ZXJfcGIuUmVjb3JkUGlubmVkQ29udGV4dFJlc3BvbnNlEm8KElJlY29yZENvbW1hbmRVc2FnZRIrLmV4YS5hbmFseXRpY3NfcGIuUmVjb3JkQ29tbWFuZFVzYWdlUmVxdWVzdBosLmV4YS5hbmFseXRpY3NfcGIuUmVjb3JkQ29tbWFuZFVzYWdlUmVzcG9uc2USfQoWUmVjb3JkQ2hhdE1vZGVsTm9kZVJ1bhIwLmV4YS5hcGlfc2VydmVyX3BiLlJlY29yZENoYXRNb2RlbE5vZGVSdW5SZXF1ZXN0GjEuZXhhLmFwaV9zZXJ2ZXJfcGIuUmVjb3JkQ2hhdE1vZGVsTm9kZVJ1blJlc3BvbnNlEl8KDFJlY29yZE1RdWVyeRImLmV4YS5hcGlfc2VydmVyX3BiLlJlY29yZE1RdWVyeVJlcXVlc3QaJy5leGEuYXBpX3NlcnZlcl9wYi5SZWNvcmRNUXVlcnlSZXNwb25zZRJrChBSZWNvcmRDb3J0ZXhTdGVwEiouZXhhLmFwaV9zZXJ2ZXJfcGIuUmVjb3JkQ29ydGV4U3RlcFJlcXVlc3QaKy5leGEuYXBpX3NlcnZlcl9wYi5SZWNvcmRDb3J0ZXhTdGVwUmVzcG9uc2USkgEKHVJlY29yZENvbW1pdE1lc3NhZ2VHZW5lcmF0aW9uEjcuZXhhLmFwaV9zZXJ2ZXJfcGIuUmVjb3JkQ29tbWl0TWVzc2FnZUdlbmVyYXRpb25SZXF1ZXN0GjguZXhhLmFwaV9zZXJ2ZXJfcGIuUmVjb3JkQ29tbWl0TWVzc2FnZUdlbmVyYXRpb25SZXNwb25zZRKAAQoXUmVjb3JkQ29tbWl0TWVzc2FnZVNhdmUSMS5leGEuYXBpX3NlcnZlcl9wYi5SZWNvcmRDb21taXRNZXNzYWdlU2F2ZVJlcXVlc3QaMi5leGEuYXBpX3NlcnZlcl9wYi5SZWNvcmRDb21taXRNZXNzYWdlU2F2ZVJlc3BvbnNlEnEKElJlY29yZEdpdFRlbGVtZXRyeRIsLmV4YS5hcGlfc2VydmVyX3BiLlJlY29yZEdpdFRlbGVtZXRyeVJlcXVlc3QaLS5leGEuYXBpX3NlcnZlcl9wYi5SZWNvcmRHaXRUZWxlbWV0cnlSZXNwb25zZRJ2ChNSZWNvcmRQcm9maWxpbmdEYXRhEi0uZXhhLmFwaV9zZXJ2ZXJfcGIuUmVjb3JkUHJvZmlsaW5nRGF0YVJlcXVlc3QaLi5leGEuYXBpX3NlcnZlcl9wYi5SZWNvcmRQcm9maWxpbmdEYXRhUmVzcG9uc2UoARJ3ChRSZWNvcmRSZWFkVXJsQ29udGVudBIuLmV4YS5hcGlfc2VydmVyX3BiLlJlY29yZFJlYWRVcmxDb250ZW50UmVxdWVzdBovLmV4YS5hcGlfc2VydmVyX3BiLlJlY29yZFJlYWRVcmxDb250ZW50UmVzcG9uc2USdAoTUmVjb3JkTmV3Q29ydGV4UGxhbhItLmV4YS5hcGlfc2VydmVyX3BiLlJlY29yZE5ld0NvcnRleFBsYW5SZXF1ZXN0Gi4uZXhhLmFwaV9zZXJ2ZXJfcGIuUmVjb3JkTmV3Q29ydGV4UGxhblJlc3BvbnNlEn0KFlJlY29yZENvcnRleENvZGluZ1BsYW4SMC5leGEuYXBpX3NlcnZlcl9wYi5SZWNvcmRDb3J0ZXhDb2RpbmdQbGFuUmVxdWVzdBoxLmV4YS5hcGlfc2VydmVyX3BiLlJlY29yZENvcnRleENvZGluZ1BsYW5SZXNwb25zZRJ9ChZSZWNvcmRDb3J0ZXhDb2RpbmdTdGVwEjAuZXhhLmFwaV9zZXJ2ZXJfcGIuUmVjb3JkQ29ydGV4Q29kaW5nU3RlcFJlcXVlc3QaMS5leGEuYXBpX3NlcnZlcl9wYi5SZWNvcmRDb3J0ZXhDb2RpbmdTdGVwUmVzcG9uc2USlQEKHlJlY29yZENvcnRleENvZGluZ1N0ZXBGZWVkYmFjaxI4LmV4YS5hcGlfc2VydmVyX3BiLlJlY29yZENvcnRleENvZGluZ1N0ZXBGZWVkYmFja1JlcXVlc3QaOS5leGEuYXBpX3NlcnZlcl9wYi5SZWNvcmRDb3J0ZXhDb2RpbmdTdGVwRmVlZGJhY2tSZXNwb25zZRJ3ChRSZWNvcmRDb3J0ZXhGZWVkYmFjaxIuLmV4YS5hcGlfc2VydmVyX3BiLlJlY29yZENvcnRleEZlZWRiYWNrUmVxdWVzdBovLmV4YS5hcGlfc2VydmVyX3BiLlJlY29yZENvcnRleEZlZWRiYWNrUmVzcG9uc2USbgoRUmVjb3JkQ29ydGV4RXJyb3ISKy5leGEuYXBpX3NlcnZlcl9wYi5SZWNvcmRDb3J0ZXhFcnJvclJlcXVlc3QaLC5leGEuYXBpX3NlcnZlcl9wYi5SZWNvcmRDb3J0ZXhFcnJvclJlc3BvbnNlEnsKFlJlY29yZENvcnRleFRyYWplY3RvcnkSLy5leGEuYW5hbHl0aWNzX3BiLlJlY29yZENvcnRleFRyYWplY3RvcnlSZXF1ZXN0GjAuZXhhLmFuYWx5dGljc19wYi5SZWNvcmRDb3J0ZXhUcmFqZWN0b3J5UmVzcG9uc2UShwEKGlJlY29yZENvcnRleFRyYWplY3RvcnlTdGVwEjMuZXhhLmFuYWx5dGljc19wYi5SZWNvcmRDb3J0ZXhUcmFqZWN0b3J5U3RlcFJlcXVlc3QaNC5leGEuYW5hbHl0aWNzX3BiLlJlY29yZENvcnRleFRyYWplY3RvcnlTdGVwUmVzcG9uc2USkgEKHVJlY29yZENvcnRleEdlbmVyYXRvck1ldGFkYXRhEjcuZXhhLmFwaV9zZXJ2ZXJfcGIuUmVjb3JkQ29ydGV4R2VuZXJhdG9yTWV0YWRhdGFSZXF1ZXN0GjguZXhhLmFwaV9zZXJ2ZXJfcGIuUmVjb3JkQ29ydGV4R2VuZXJhdG9yTWV0YWRhdGFSZXNwb25zZRKSAQodUmVjb3JkQ29ydGV4RXhlY3V0aW9uTWV0YWRhdGESNy5leGEuYXBpX3NlcnZlcl9wYi5SZWNvcmRDb3J0ZXhFeGVjdXRpb25NZXRhZGF0YVJlcXVlc3QaOC5leGEuYXBpX3NlcnZlcl9wYi5SZWNvcmRDb3J0ZXhFeGVjdXRpb25NZXRhZGF0YVJlc3BvbnNlEpIBCh1SZWNvcmRTdGF0ZUluaXRpYWxpemF0aW9uRGF0YRI3LmV4YS5hcGlfc2VydmVyX3BiLlJlY29yZFN0YXRlSW5pdGlhbGl6YXRpb25EYXRhUmVxdWVzdBo4LmV4YS5hcGlfc2VydmVyX3BiLlJlY29yZFN0YXRlSW5pdGlhbGl6YXRpb25EYXRhUmVzcG9uc2USjAEKG0dldERlZmF1bHRXb3JrZmxvd1RlbXBsYXRlcxI1LmV4YS5hcGlfc2VydmVyX3BiLkdldERlZmF1bHRXb3JrZmxvd1RlbXBsYXRlc1JlcXVlc3QaNi5leGEuYXBpX3NlcnZlcl9wYi5HZXREZWZhdWx0V29ya2Zsb3dUZW1wbGF0ZXNSZXNwb25zZRKZAQogUmVjb3JkQXJlbmFNb2RlVHJhamVjdG9yeURldGFpbHMSOS5leGEuYW5hbHl0aWNzX3BiLlJlY29yZEFyZW5hTW9kZVRyYWplY3RvcnlEZXRhaWxzUmVxdWVzdBo6LmV4YS5hbmFseXRpY3NfcGIuUmVjb3JkQXJlbmFNb2RlVHJhamVjdG9yeURldGFpbHNSZXNwb25zZRJvChJCYXRjaFJlY29yZFByb21wdHMSKy5leGEuYW5hbHl0aWNzX3BiLkJhdGNoUmVjb3JkUHJvbXB0c1JlcXVlc3QaLC5leGEuYW5hbHl0aWNzX3BiLkJhdGNoUmVjb3JkUHJvbXB0c1Jlc3BvbnNlEnsKFkJhdGNoUmVjb3JkQ29tcGxldGlvbnMSLy5leGEuYW5hbHl0aWNzX3BiLkJhdGNoUmVjb3JkQ29tcGxldGlvbnNSZXF1ZXN0GjAuZXhhLmFuYWx5dGljc19wYi5CYXRjaFJlY29yZENvbXBsZXRpb25zUmVzcG9uc2USlQEKHkJhdGNoUmVjb3JkVXNlckxhc3RVcGRhdGVUaW1lcxI4LmV4YS5hcGlfc2VydmVyX3BiLkJhdGNoUmVjb3JkVXNlckxhc3RVcGRhdGVUaW1lc1JlcXVlc3QaOS5leGEuYXBpX3NlcnZlcl9wYi5CYXRjaFJlY29yZFVzZXJMYXN0VXBkYXRlVGltZXNSZXNwb25zZRKSAQodQmF0Y2hSZWNvcmRDaGF0UmVxdWVzdFJlY29yZHMSNy5leGEuYXBpX3NlcnZlcl9wYi5CYXRjaFJlY29yZENoYXRSZXF1ZXN0UmVjb3Jkc1JlcXVlc3QaOC5leGEuYXBpX3NlcnZlcl9wYi5CYXRjaFJlY29yZENoYXRSZXF1ZXN0UmVjb3Jkc1Jlc3BvbnNlEoQBChlCYXRjaFJlY29yZFJhd0NvbXBsZXRpb25zEjIuZXhhLmFuYWx5dGljc19wYi5CYXRjaFJlY29yZFJhd0NvbXBsZXRpb25zUmVxdWVzdBozLmV4YS5hbmFseXRpY3NfcGIuQmF0Y2hSZWNvcmRSYXdDb21wbGV0aW9uc1Jlc3BvbnNlEncKFFJlZ2lzdGVyRXh0ZXJuYWxVc2VyEi4uZXhhLmFwaV9zZXJ2ZXJfcGIuUmVnaXN0ZXJFeHRlcm5hbFVzZXJSZXF1ZXN0Gi8uZXhhLmFwaV9zZXJ2ZXJfcGIuUmVnaXN0ZXJFeHRlcm5hbFVzZXJSZXNwb25zZRJxChJEZWxldGVFeHRlcm5hbFVzZXISLC5leGEuYXBpX3NlcnZlcl9wYi5EZWxldGVFeHRlcm5hbFVzZXJSZXF1ZXN0Gi0uZXhhLmFwaV9zZXJ2ZXJfcGIuRGVsZXRlRXh0ZXJuYWxVc2VyUmVzcG9uc2USRwoEUGluZxIeLmV4YS5hcGlfc2VydmVyX3BiLlBpbmdSZXF1ZXN0Gh8uZXhhLmFwaV9zZXJ2ZXJfcGIuUGluZ1Jlc3BvbnNlEl8KDEpvaW5XYWl0bGlzdBImLmV4YS5hcGlfc2VydmVyX3BiLkpvaW5XYWl0bGlzdFJlcXVlc3QaJy5leGEuYXBpX3NlcnZlcl9wYi5Kb2luV2FpdGxpc3RSZXNwb25zZRJuChFHZXRFeHRlbnNpb25TdGF0cxIrLmV4YS5hcGlfc2VydmVyX3BiLkdldEV4dGVuc2lvblN0YXRzUmVxdWVzdBosLmV4YS5hcGlfc2VydmVyX3BiLkdldEV4dGVuc2lvblN0YXRzUmVzcG9uc2USaAoPU3Vic2NyaWJlVG9CbG9nEikuZXhhLmFwaV9zZXJ2ZXJfcGIuU3Vic2NyaWJlVG9CbG9nUmVxdWVzdBoqLmV4YS5hcGlfc2VydmVyX3BiLlN1YnNjcmliZVRvQmxvZ1Jlc3BvbnNlEnoKFVVuc3Vic2NyaWJlRnJvbUVtYWlscxIvLmV4YS5hcGlfc2VydmVyX3BiLlVuc3Vic2NyaWJlRnJvbUVtYWlsc1JlcXVlc3QaMC5leGEuYXBpX3NlcnZlcl9wYi5VbnN1YnNjcmliZUZyb21FbWFpbHNSZXNwb25zZRJuChFTZW5kUmVmZXJyYWxFbWFpbBIrLmV4YS5hcGlfc2VydmVyX3BiLlNlbmRSZWZlcnJhbEVtYWlsUmVxdWVzdBosLmV4YS5hcGlfc2VydmVyX3BiLlNlbmRSZWZlcnJhbEVtYWlsUmVzcG9uc2USswEKKEFjY291bnRPd25lcnNoaXBOb3RpZmljYXRpb25WZXJpZmljYXRpb24SQi5leGEuYXBpX3NlcnZlcl9wYi5BY2NvdW50T3duZXJzaGlwTm90aWZpY2F0aW9uVmVyaWZpY2F0aW9uUmVxdWVzdBpDLmV4YS5hcGlfc2VydmVyX3BiLkFjY291bnRPd25lcnNoaXBOb3RpZmljYXRpb25WZXJpZmljYXRpb25SZXNwb25zZRKkAQojQWNjb3VudE93bmVyc2hpcE5vdGlmaWNhdGlvbkRpc21pc3MSPS5leGEuYXBpX3NlcnZlcl9wYi5BY2NvdW50T3duZXJzaGlwTm90aWZpY2F0aW9uRGlzbWlzc1JlcXVlc3QaPi5leGEuYXBpX3NlcnZlcl9wYi5BY2NvdW50T3duZXJzaGlwTm90aWZpY2F0aW9uRGlzbWlzc1Jlc3BvbnNlEoABChdFbnJvbGxDeWJlclZlcmlmaWNhdGlvbhIxLmV4YS5hcGlfc2VydmVyX3BiLkVucm9sbEN5YmVyVmVyaWZpY2F0aW9uUmVxdWVzdBoyLmV4YS5hcGlfc2VydmVyX3BiLkVucm9sbEN5YmVyVmVyaWZpY2F0aW9uUmVzcG9uc2USngEKIUdldEN5YmVyVmVyaWZpY2F0aW9uRW5yb2xsbWVudFVybBI7LmV4YS5hcGlfc2VydmVyX3BiLkdldEN5YmVyVmVyaWZpY2F0aW9uRW5yb2xsbWVudFVybFJlcXVlc3QaPC5leGEuYXBpX3NlcnZlcl9wYi5HZXRDeWJlclZlcmlmaWNhdGlvbkVucm9sbG1lbnRVcmxSZXNwb25zZRKwAQonVXBkYXRlQW50aHJvcGljQ3liZXJWZXJpZmljYXRpb25FbmFibGVkEkEuZXhhLmFwaV9zZXJ2ZXJfcGIuVXBkYXRlQW50aHJvcGljQ3liZXJWZXJpZmljYXRpb25FbmFibGVkUmVxdWVzdBpCLmV4YS5hcGlfc2VydmVyX3BiLlVwZGF0ZUFudGhyb3BpY0N5YmVyVmVyaWZpY2F0aW9uRW5hYmxlZFJlc3BvbnNlEnQKE0dldERlY2Fnb25BdXRoVG9rZW4SLS5leGEuYXBpX3NlcnZlcl9wYi5HZXREZWNhZ29uQXV0aFRva2VuUmVxdWVzdBouLmV4YS5hcGlfc2VydmVyX3BiLkdldERlY2Fnb25BdXRoVG9rZW5SZXNwb25zZRJrChBSdW5Db2RlQWxpZ25tZW50EiouZXhhLmFwaV9zZXJ2ZXJfcGIuUnVuQ29kZUFsaWdubWVudFJlcXVlc3QaKy5leGEuYXBpX3NlcnZlcl9wYi5SdW5Db2RlQWxpZ25tZW50UmVzcG9uc2USegoVR2VuZXJhdGVTeW50aGV0aWNSdWxlEi8uZXhhLmFwaV9zZXJ2ZXJfcGIuR2VuZXJhdGVTeW50aGV0aWNSdWxlUmVxdWVzdBowLmV4YS5hcGlfc2VydmVyX3BiLkdlbmVyYXRlU3ludGhldGljUnVsZVJlc3BvbnNlEmsKEEdldFVzZXJBbGxvd2xpc3QSKi5leGEuYXBpX3NlcnZlcl9wYi5HZXRVc2VyQWxsb3dsaXN0UmVxdWVzdBorLmV4YS5hcGlfc2VydmVyX3BiLkdldFVzZXJBbGxvd2xpc3RSZXNwb25zZRJoCg9JbnNlcnRBbGxvd2xpc3QSKS5leGEuYXBpX3NlcnZlcl9wYi5JbnNlcnRBbGxvd2xpc3RSZXF1ZXN0GiouZXhhLmFwaV9zZXJ2ZXJfcGIuSW5zZXJ0QWxsb3dsaXN0UmVzcG9uc2USaAoPRGVsZXRlQWxsb3dsaXN0EikuZXhhLmFwaV9zZXJ2ZXJfcGIuRGVsZXRlQWxsb3dsaXN0UmVxdWVzdBoqLmV4YS5hcGlfc2VydmVyX3BiLkRlbGV0ZUFsbG93bGlzdFJlc3BvbnNlEl8KDEdldEFsbG93bGlzdBImLmV4YS5hcGlfc2VydmVyX3BiLkdldEFsbG93bGlzdFJlcXVlc3QaJy5leGEuYXBpX3NlcnZlcl9wYi5HZXRBbGxvd2xpc3RSZXNwb25zZRKDAQoYUmVnaXN0ZXJIeWJyaWREZXBsb3ltZW50EjIuZXhhLmFwaV9zZXJ2ZXJfcGIuUmVnaXN0ZXJIeWJyaWREZXBsb3ltZW50UmVxdWVzdBozLmV4YS5hcGlfc2VydmVyX3BiLlJlZ2lzdGVySHlicmlkRGVwbG95bWVudFJlc3BvbnNlEpUBCh5DcmVhdGVIeWJyaWREZXBsb3ltZW50SW50ZXJuYWwSOC5leGEuYXBpX3NlcnZlcl9wYi5DcmVhdGVIeWJyaWREZXBsb3ltZW50SW50ZXJuYWxSZXF1ZXN0GjkuZXhhLmFwaV9zZXJ2ZXJfcGIuQ3JlYXRlSHlicmlkRGVwbG95bWVudEludGVybmFsUmVzcG9uc2USlQEKHlJlbW92ZUh5YnJpZERlcGxveW1lbnRJbnRlcm5hbBI4LmV4YS5hcGlfc2VydmVyX3BiLlJlbW92ZUh5YnJpZERlcGxveW1lbnRJbnRlcm5hbFJlcXVlc3QaOS5leGEuYXBpX3NlcnZlcl9wYi5SZW1vdmVIeWJyaWREZXBsb3ltZW50SW50ZXJuYWxSZXNwb25zZRKPAQocR2V0SHlicmlkRGVwbG95bWVudHNJbnRlcm5hbBI2LmV4YS5hcGlfc2VydmVyX3BiLkdldEh5YnJpZERlcGxveW1lbnRzSW50ZXJuYWxSZXF1ZXN0GjcuZXhhLmFwaV9zZXJ2ZXJfcGIuR2V0SHlicmlkRGVwbG95bWVudHNJbnRlcm5hbFJlc3BvbnNlEowBChtDaGVja0h5YnJpZERlcGxveW1lbnRTdGF0dXMSNS5leGEuYXBpX3NlcnZlcl9wYi5DaGVja0h5YnJpZERlcGxveW1lbnRTdGF0dXNSZXF1ZXN0GjYuZXhhLmFwaV9zZXJ2ZXJfcGIuQ2hlY2tIeWJyaWREZXBsb3ltZW50U3RhdHVzUmVzcG9uc2USdwoUTG9nQ29tcGxldGlvbnNIeWJyaWQSLi5leGEuYXBpX3NlcnZlcl9wYi5Mb2dDb21wbGV0aW9uc0h5YnJpZFJlcXVlc3QaLy5leGEuYXBpX3NlcnZlcl9wYi5Mb2dDb21wbGV0aW9uc0h5YnJpZFJlc3BvbnNlEm4KEUxvZ0ZlZWRiYWNrSHlicmlkEisuZXhhLmFwaV9zZXJ2ZXJfcGIuTG9nRmVlZGJhY2tIeWJyaWRSZXF1ZXN0GiwuZXhhLmFwaV9zZXJ2ZXJfcGIuTG9nRmVlZGJhY2tIeWJyaWRSZXNwb25zZRJiCg1Mb2dDaGF0SHlicmlkEicuZXhhLmFwaV9zZXJ2ZXJfcGIuTG9nQ2hhdEh5YnJpZFJlcXVlc3QaKC5leGEuYXBpX3NlcnZlcl9wYi5Mb2dDaGF0SHlicmlkUmVzcG9uc2USgAEKF0xvZ0Nhc2NhZGVTZXNzaW9uSHlicmlkEjEuZXhhLmFwaV9zZXJ2ZXJfcGIuTG9nQ2FzY2FkZVNlc3Npb25IeWJyaWRSZXF1ZXN0GjIuZXhhLmFwaV9zZXJ2ZXJfcGIuTG9nQ2FzY2FkZVNlc3Npb25IeWJyaWRSZXNwb25zZRJ9ChZMb2dDYXNjYWRlUHJvbXB0SHlicmlkEjAuZXhhLmFwaV9zZXJ2ZXJfcGIuTG9nQ2FzY2FkZVByb21wdEh5YnJpZFJlcXVlc3QaMS5leGEuYXBpX3NlcnZlcl9wYi5Mb2dDYXNjYWRlUHJvbXB0SHlicmlkUmVzcG9uc2USVgoJR2V0U3RhdHVzEiMuZXhhLmFwaV9zZXJ2ZXJfcGIuR2V0U3RhdHVzUmVxdWVzdBokLmV4YS5hcGlfc2VydmVyX3BiLkdldFN0YXR1c1Jlc3BvbnNlElYKCUdldENvbmZpZxIjLmV4YS5hcGlfc2VydmVyX3BiLkdldENvbmZpZ1JlcXVlc3QaJC5leGEuYXBpX3NlcnZlcl9wYi5HZXRDb25maWdSZXNwb25zZRJ9ChZHZXRDYXNjYWRlTW9kZWxDb25maWdzEjAuZXhhLmFwaV9zZXJ2ZXJfcGIuR2V0Q2FzY2FkZU1vZGVsQ29uZmlnc1JlcXVlc3QaMS5leGEuYXBpX3NlcnZlcl9wYi5HZXRDYXNjYWRlTW9kZWxDb25maWdzUmVzcG9uc2USkgEKHUdldENhc2NhZGVNb2RlbENvbmZpZ3NGb3JTaXRlEjcuZXhhLmFwaV9zZXJ2ZXJfcGIuR2V0Q2FzY2FkZU1vZGVsQ29uZmlnc0ZvclNpdGVSZXF1ZXN0GjguZXhhLmFwaV9zZXJ2ZXJfcGIuR2V0Q2FzY2FkZU1vZGVsQ29uZmlnc0ZvclNpdGVSZXNwb25zZRJ9ChZHZXRDb21tYW5kTW9kZWxDb25maWdzEjAuZXhhLmFwaV9zZXJ2ZXJfcGIuR2V0Q29tbWFuZE1vZGVsQ29uZmlnc1JlcXVlc3QaMS5leGEuYXBpX3NlcnZlcl9wYi5HZXRDb21tYW5kTW9kZWxDb25maWdzUmVzcG9uc2USkgEKHUdldENvbW1hbmRNb2RlbENvbmZpZ3NGb3JTaXRlEjcuZXhhLmFwaV9zZXJ2ZXJfcGIuR2V0Q29tbWFuZE1vZGVsQ29uZmlnc0ZvclNpdGVSZXF1ZXN0GjguZXhhLmFwaV9zZXJ2ZXJfcGIuR2V0Q29tbWFuZE1vZGVsQ29uZmlnc0ZvclNpdGVSZXNwb25zZRJxChJHZXRDbGlNb2RlbENvbmZpZ3MSLC5leGEuYXBpX3NlcnZlcl9wYi5HZXRDbGlNb2RlbENvbmZpZ3NSZXF1ZXN0Gi0uZXhhLmFwaV9zZXJ2ZXJfcGIuR2V0Q2xpTW9kZWxDb25maWdzUmVzcG9uc2UShgEKGUdldENsaU1vZGVsQ29uZmlnc0ZvclNpdGUSMy5leGEuYXBpX3NlcnZlcl9wYi5HZXRDbGlNb2RlbENvbmZpZ3NGb3JTaXRlUmVxdWVzdBo0LmV4YS5hcGlfc2VydmVyX3BiLkdldENsaU1vZGVsQ29uZmlnc0ZvclNpdGVSZXNwb25zZRKbAQogUmVjb3JkVHJhamVjdG9yeVNlZ21lbnRBbmFseXRpY3MSOi5leGEuYXBpX3NlcnZlcl9wYi5SZWNvcmRUcmFqZWN0b3J5U2VnbWVudEFuYWx5dGljc1JlcXVlc3QaOy5leGEuYXBpX3NlcnZlcl9wYi5SZWNvcmRUcmFqZWN0b3J5U2VnbWVudEFuYWx5dGljc1Jlc3BvbnNlEpIBCh1SZWNvcmRUcmFqZWN0b3J5U2VnbWVudEV2ZW50cxI3LmV4YS5hcGlfc2VydmVyX3BiLlJlY29yZFRyYWplY3RvcnlTZWdtZW50RXZlbnRzUmVxdWVzdBo4LmV4YS5hcGlfc2VydmVyX3BiLlJlY29yZFRyYWplY3RvcnlTZWdtZW50RXZlbnRzUmVzcG9uc2USfQoWU3VwcG9ydHNSZW1vdGVJbmRleGluZxIwLmV4YS5hcGlfc2VydmVyX3BiLlN1cHBvcnRzUmVtb3RlSW5kZXhpbmdSZXF1ZXN0GjEuZXhhLmFwaV9zZXJ2ZXJfcGIuU3VwcG9ydHNSZW1vdGVJbmRleGluZ1Jlc3BvbnNlEmsKEEdldE1vZGVsU3RhdHVzZXMSKi5leGEuYXBpX3NlcnZlcl9wYi5HZXRNb2RlbFN0YXR1c2VzUmVxdWVzdBorLmV4YS5hcGlfc2VydmVyX3BiLkdldE1vZGVsU3RhdHVzZXNSZXNwb25zZRJuChFHZXRNb2RlbFByb3ZpZGVycxIrLmV4YS5hcGlfc2VydmVyX3BiLkdldE1vZGVsUHJvdmlkZXJzUmVxdWVzdBosLmV4YS5hcGlfc2VydmVyX3BiLkdldE1vZGVsUHJvdmlkZXJzUmVzcG9uc2USdAoTR2V0RGVwbG95bWVudENvbmZpZxItLmV4YS5hcGlfc2VydmVyX3BiLkdldERlcGxveW1lbnRDb25maWdSZXF1ZXN0Gi4uZXhhLmFwaV9zZXJ2ZXJfcGIuR2V0RGVwbG95bWVudENvbmZpZ1Jlc3BvbnNlEn0KFlVwc2VydERlcGxveW1lbnRDb25maWcSMC5leGEuYXBpX3NlcnZlcl9wYi5VcHNlcnREZXBsb3ltZW50Q29uZmlnUmVxdWVzdBoxLmV4YS5hcGlfc2VydmVyX3BiLlVwc2VydERlcGxveW1lbnRDb25maWdSZXNwb25zZRJxChJSZWNvcmRDYXNjYWRlVXNhZ2USLC5leGEuYXBpX3NlcnZlcl9wYi5SZWNvcmRDYXNjYWRlVXNhZ2VSZXF1ZXN0Gi0uZXhhLmFwaV9zZXJ2ZXJfcGIuUmVjb3JkQ2FzY2FkZVVzYWdlUmVzcG9uc2UShgEKGUFwcGx5VHJhamVjdG9yeUhldXJpc3RpY3MSMy5leGEuYXBpX3NlcnZlcl9wYi5BcHBseVRyYWplY3RvcnlIZXVyaXN0aWNzUmVxdWVzdBo0LmV4YS5hcGlfc2VydmVyX3BiLkFwcGx5VHJhamVjdG9yeUhldXJpc3RpY3NSZXNwb25zZRJ0ChNHZXRXZWJTZWFyY2hSZXN1bHRzEi0uZXhhLmFwaV9zZXJ2ZXJfcGIuR2V0V2ViU2VhcmNoUmVzdWx0c1JlcXVlc3QaLi5leGEuYXBpX3NlcnZlcl9wYi5HZXRXZWJTZWFyY2hSZXN1bHRzUmVzcG9uc2USbgoRR2V0V2ViRG9jc09wdGlvbnMSKy5leGEuYXBpX3NlcnZlcl9wYi5HZXRXZWJEb2NzT3B0aW9uc1JlcXVlc3QaLC5leGEuYXBpX3NlcnZlcl9wYi5HZXRXZWJEb2NzT3B0aW9uc1Jlc3BvbnNlEncKFEdldFdlYlNlYXJjaFJlZGlyZWN0Ei4uZXhhLmFwaV9zZXJ2ZXJfcGIuR2V0V2ViU2VhcmNoUmVkaXJlY3RSZXF1ZXN0Gi8uZXhhLmFwaV9zZXJ2ZXJfcGIuR2V0V2ViU2VhcmNoUmVkaXJlY3RSZXNwb25zZRJfCgxTaGFyZUNvZGVNYXASJi5leGEuYXBpX3NlcnZlcl9wYi5TaGFyZUNvZGVNYXBSZXF1ZXN0GicuZXhhLmFwaV9zZXJ2ZXJfcGIuU2hhcmVDb2RlTWFwUmVzcG9uc2USWQoKR2V0Q29kZU1hcBIkLmV4YS5hcGlfc2VydmVyX3BiLkdldENvZGVNYXBSZXF1ZXN0GiUuZXhhLmFwaV9zZXJ2ZXJfcGIuR2V0Q29kZU1hcFJlc3BvbnNlEnEKEkdldENvZGVNYXBNZXRhZGF0YRIsLmV4YS5hcGlfc2VydmVyX3BiLkdldENvZGVNYXBNZXRhZGF0YVJlcXVlc3QaLS5leGEuYXBpX3NlcnZlcl9wYi5HZXRDb2RlTWFwTWV0YWRhdGFSZXNwb25zZRJrChBHZXRTaGFyZWRDb2RlTWFwEiouZXhhLmFwaV9zZXJ2ZXJfcGIuR2V0U2hhcmVkQ29kZU1hcFJlcXVlc3QaKy5leGEuYXBpX3NlcnZlcl9wYi5HZXRTaGFyZWRDb2RlTWFwUmVzcG9uc2USgwEKGFVwZGF0ZUNvZGVNYXBTaGFyaW5nTW9kZRIyLmV4YS5hcGlfc2VydmVyX3BiLlVwZGF0ZUNvZGVNYXBTaGFyaW5nTW9kZVJlcXVlc3QaMy5leGEuYXBpX3NlcnZlcl9wYi5VcGRhdGVDb2RlTWFwU2hhcmluZ01vZGVSZXNwb25zZRJ9ChZMaXN0VXNlclNoYXJlZENvZGVNYXBzEjAuZXhhLmFwaV9zZXJ2ZXJfcGIuTGlzdFVzZXJTaGFyZWRDb2RlTWFwc1JlcXVlc3QaMS5leGEuYXBpX3NlcnZlcl9wYi5MaXN0VXNlclNoYXJlZENvZGVNYXBzUmVzcG9uc2USdAoTRGVsZXRlU2hhcmVkQ29kZU1hcBItLmV4YS5hcGlfc2VydmVyX3BiLkRlbGV0ZVNoYXJlZENvZGVNYXBSZXF1ZXN0Gi4uZXhhLmFwaV9zZXJ2ZXJfcGIuRGVsZXRlU2hhcmVkQ29kZU1hcFJlc3BvbnNlEnEKElF1ZXJ5SW1hZ2VGb3JQaXhlbBIsLmV4YS5hcGlfc2VydmVyX3BiLlF1ZXJ5SW1hZ2VGb3JQaXhlbFJlcXVlc3QaLS5leGEuYXBpX3NlcnZlcl9wYi5RdWVyeUltYWdlRm9yUGl4ZWxSZXNwb25zZRKkAQojR2V0V2luZHN1cmZKU0F2YWlsYWJsZURlcGxveVRhcmdldHMSPS5leGEuYXBpX3NlcnZlcl9wYi5HZXRXaW5kc3VyZkpTQXZhaWxhYmxlRGVwbG95VGFyZ2V0c1JlcXVlc3QaPi5leGEuYXBpX3NlcnZlcl9wYi5HZXRXaW5kc3VyZkpTQXZhaWxhYmxlRGVwbG95VGFyZ2V0c1Jlc3BvbnNlEpsBCiBWYWxpZGF0ZVdpbmRzdXJmSlNBcHBQcm9qZWN0TmFtZRI6LmV4YS5hcGlfc2VydmVyX3BiLlZhbGlkYXRlV2luZHN1cmZKU0FwcFByb2plY3ROYW1lUmVxdWVzdBo7LmV4YS5hcGlfc2VydmVyX3BiLlZhbGlkYXRlV2luZHN1cmZKU0FwcFByb2plY3ROYW1lUmVzcG9uc2USdAoTQ3JlYXRlV2luZHN1cmZKU0FwcBItLmV4YS5hcGlfc2VydmVyX3BiLkNyZWF0ZVdpbmRzdXJmSlNBcHBSZXF1ZXN0Gi4uZXhhLmFwaV9zZXJ2ZXJfcGIuQ3JlYXRlV2luZHN1cmZKU0FwcFJlc3BvbnNlEnYKE0RlcGxveVdpbmRzdXJmSlNBcHASLS5leGEuYXBpX3NlcnZlcl9wYi5EZXBsb3lXaW5kc3VyZkpTQXBwUmVxdWVzdBouLmV4YS5hcGlfc2VydmVyX3BiLkRlcGxveVdpbmRzdXJmSlNBcHBSZXNwb25zZSgBEnQKE0RlbGV0ZVdpbmRzdXJmSlNBcHASLS5leGEuYXBpX3NlcnZlcl9wYi5EZWxldGVXaW5kc3VyZkpTQXBwUmVxdWVzdBouLmV4YS5hcGlfc2VydmVyX3BiLkRlbGV0ZVdpbmRzdXJmSlNBcHBSZXNwb25zZRKqAQolR2V0V2luZHN1cmZKU0FwcERlcGxveW1lbnRDbGFpbVN0YXR1cxI/LmV4YS5hcGlfc2VydmVyX3BiLkdldFdpbmRzdXJmSlNBcHBEZXBsb3ltZW50Q2xhaW1TdGF0dXNSZXF1ZXN0GkAuZXhhLmFwaV9zZXJ2ZXJfcGIuR2V0V2luZHN1cmZKU0FwcERlcGxveW1lbnRDbGFpbVN0YXR1c1Jlc3BvbnNlEq0BCiZHZXRXaW5kc3VyZkpTQXBwRGVwbG95bWVudHNCeVByb2plY3RJZBJALmV4YS5hcGlfc2VydmVyX3BiLkdldFdpbmRzdXJmSlNBcHBEZXBsb3ltZW50c0J5UHJvamVjdElkUmVxdWVzdBpBLmV4YS5hcGlfc2VydmVyX3BiLkdldFdpbmRzdXJmSlNBcHBEZXBsb3ltZW50c0J5UHJvamVjdElkUmVzcG9uc2USbgoRR2V0V2luZHN1cmZKU0FwcHMSKy5leGEuYXBpX3NlcnZlcl9wYi5HZXRXaW5kc3VyZkpTQXBwc1JlcXVlc3QaLC5leGEuYXBpX3NlcnZlcl9wYi5HZXRXaW5kc3VyZkpTQXBwc1Jlc3BvbnNlEsIBCi1HZXRXaW5kc3VyZkpTQXBwRGVwbG95bWVudFN0YXR1c2VzQnlQcm9qZWN0SWQSRy5leGEuYXBpX3NlcnZlcl9wYi5HZXRXaW5kc3VyZkpTQXBwRGVwbG95bWVudFN0YXR1c2VzQnlQcm9qZWN0SWRSZXF1ZXN0GkguZXhhLmFwaV9zZXJ2ZXJfcGIuR2V0V2luZHN1cmZKU0FwcERlcGxveW1lbnRTdGF0dXNlc0J5UHJvamVjdElkUmVzcG9uc2USiQEKGkdldFdpbmRzdXJmSlNBcHBEZXBsb3ltZW50EjQuZXhhLmFwaV9zZXJ2ZXJfcGIuR2V0V2luZHN1cmZKU0FwcERlcGxveW1lbnRSZXF1ZXN0GjUuZXhhLmFwaV9zZXJ2ZXJfcGIuR2V0V2luZHN1cmZKU0FwcERlcGxveW1lbnRSZXNwb25zZRK8AQorR2V0RGVwbG95bWVudFByb3ZpZGVyUHJvamVjdE5hbWVCeVByb2plY3RJZBJFLmV4YS5hcGlfc2VydmVyX3BiLkdldERlcGxveW1lbnRQcm92aWRlclByb2plY3ROYW1lQnlQcm9qZWN0SWRSZXF1ZXN0GkYuZXhhLmFwaV9zZXJ2ZXJfcGIuR2V0RGVwbG95bWVudFByb3ZpZGVyUHJvamVjdE5hbWVCeVByb2plY3RJZFJlc3BvbnNlEqcBCiRHZXRXaW5kc3VyZkpTRGVwbG95VGFyZ2V0QnlQcm9qZWN0SWQSPi5leGEuYXBpX3NlcnZlcl9wYi5HZXRXaW5kc3VyZkpTRGVwbG95VGFyZ2V0QnlQcm9qZWN0SWRSZXF1ZXN0Gj8uZXhhLmFwaV9zZXJ2ZXJfcGIuR2V0V2luZHN1cmZKU0RlcGxveVRhcmdldEJ5UHJvamVjdElkUmVzcG9uc2USawoQR2V0VHJhbnNjcmlwdGlvbhIqLmV4YS5hcGlfc2VydmVyX3BiLkdldFRyYW5zY3JpcHRpb25SZXF1ZXN0GisuZXhhLmFwaV9zZXJ2ZXJfcGIuR2V0VHJhbnNjcmlwdGlvblJlc3BvbnNlEncKFFJlZ2lzdGVyT2lkY1Byb3ZpZGVyEi4uZXhhLmFwaV9zZXJ2ZXJfcGIuUmVnaXN0ZXJPaWRjUHJvdmlkZXJSZXF1ZXN0Gi8uZXhhLmFwaV9zZXJ2ZXJfcGIuUmVnaXN0ZXJPaWRjUHJvdmlkZXJSZXNwb25zZRJxChJVcGRhdGVPaWRjUHJvdmlkZXISLC5leGEuYXBpX3NlcnZlcl9wYi5VcGRhdGVPaWRjUHJvdmlkZXJSZXF1ZXN0Gi0uZXhhLmFwaV9zZXJ2ZXJfcGIuVXBkYXRlT2lkY1Byb3ZpZGVyUmVzcG9uc2USdwoUR2V0VGVhbU9pZGNQcm92aWRlcnMSLi5leGEuYXBpX3NlcnZlcl9wYi5HZXRUZWFtT2lkY1Byb3ZpZGVyc1JlcXVlc3QaLy5leGEuYXBpX3NlcnZlcl9wYi5HZXRUZWFtT2lkY1Byb3ZpZGVyc1Jlc3BvbnNlEnQKE0dldEFsbE9pZGNQcm92aWRlcnMSLS5leGEuYXBpX3NlcnZlcl9wYi5HZXRBbGxPaWRjUHJvdmlkZXJzUmVxdWVzdBouLmV4YS5hcGlfc2VydmVyX3BiLkdldEFsbE9pZGNQcm92aWRlcnNSZXNwb25zZRJoCg9GaW5kVGVhbUJ5RW1haWwSKS5leGEuYXBpX3NlcnZlcl9wYi5GaW5kVGVhbUJ5RW1haWxSZXF1ZXN0GiouZXhhLmFwaV9zZXJ2ZXJfcGIuRmluZFRlYW1CeUVtYWlsUmVzcG9uc2UScQoSRGVsZXRlT2lkY1Byb3ZpZGVyEiwuZXhhLmFwaV9zZXJ2ZXJfcGIuRGVsZXRlT2lkY1Byb3ZpZGVyUmVxdWVzdBotLmV4YS5hcGlfc2VydmVyX3BiLkRlbGV0ZU9pZGNQcm92aWRlclJlc3BvbnNlEoABChdHZXRPaWRjQXV0aG9yaXphdGlvblVybBIxLmV4YS5hcGlfc2VydmVyX3BiLkdldE9pZGNBdXRob3JpemF0aW9uVXJsUmVxdWVzdBoyLmV4YS5hcGlfc2VydmVyX3BiLkdldE9pZGNBdXRob3JpemF0aW9uVXJsUmVzcG9uc2USawoQRXhjaGFuZ2VPaWRjQ29kZRIqLmV4YS5hcGlfc2VydmVyX3BiLkV4Y2hhbmdlT2lkY0NvZGVSZXF1ZXN0GisuZXhhLmFwaV9zZXJ2ZXJfcGIuRXhjaGFuZ2VPaWRjQ29kZVJlc3BvbnNlEmsKEFJlZnJlc2hPaWRjVG9rZW4SKi5leGEuYXBpX3NlcnZlcl9wYi5SZWZyZXNoT2lkY1Rva2VuUmVxdWVzdBorLmV4YS5hcGlfc2VydmVyX3BiLlJlZnJlc2hPaWRjVG9rZW5SZXNwb25zZRJuChFHZXRTdXBhYmFzZVNlY3JldBIrLmV4YS5hcGlfc2VydmVyX3BiLkdldFN1cGFiYXNlU2VjcmV0UmVxdWVzdBosLmV4YS5hcGlfc2VydmVyX3BiLkdldFN1cGFiYXNlU2VjcmV0UmVzcG9uc2USaAoPR2V0U1NPUHJvdmlkZXJzEikuZXhhLmFwaV9zZXJ2ZXJfcGIuR2V0U1NPUHJvdmlkZXJzUmVxdWVzdBoqLmV4YS5hcGlfc2VydmVyX3BiLkdldFNTT1Byb3ZpZGVyc1Jlc3BvbnNlEo4BChtDcmVhdGVUcmFqZWN0b3J5U2hhcmVTdHJlYW0SNS5leGEuYXBpX3NlcnZlcl9wYi5DcmVhdGVUcmFqZWN0b3J5U2hhcmVTdHJlYW1SZXF1ZXN0GjYuZXhhLmFwaV9zZXJ2ZXJfcGIuQ3JlYXRlVHJhamVjdG9yeVNoYXJlU3RyZWFtUmVzcG9uc2UoARJ3ChRGZXRjaFRyYWplY3RvcnlTaGFyZRIuLmV4YS5hcGlfc2VydmVyX3BiLkZldGNoVHJhamVjdG9yeVNoYXJlUmVxdWVzdBovLmV4YS5hcGlfc2VydmVyX3BiLkZldGNoVHJhamVjdG9yeVNoYXJlUmVzcG9uc2USegoVRGVsZXRlVHJhamVjdG9yeVNoYXJlEi8uZXhhLmFwaV9zZXJ2ZXJfcGIuRGVsZXRlVHJhamVjdG9yeVNoYXJlUmVxdWVzdBowLmV4YS5hcGlfc2VydmVyX3BiLkRlbGV0ZVRyYWplY3RvcnlTaGFyZVJlc3BvbnNlEokBChpGZXRjaFRyYWplY3RvcnlTaGFyZUJ5VXNlchI0LmV4YS5hcGlfc2VydmVyX3BiLkZldGNoVHJhamVjdG9yeVNoYXJlQnlVc2VyUmVxdWVzdBo1LmV4YS5hcGlfc2VydmVyX3BiLkZldGNoVHJhamVjdG9yeVNoYXJlQnlVc2VyUmVzcG9uc2USjwEKHElzQ29udmVyc2F0aW9uU2hhcmluZ0Jsb2NrZWQSNi5leGEuYXBpX3NlcnZlcl9wYi5Jc0NvbnZlcnNhdGlvblNoYXJpbmdCbG9ja2VkUmVxdWVzdBo3LmV4YS5hcGlfc2VydmVyX3BiLklzQ29udmVyc2F0aW9uU2hhcmluZ0Jsb2NrZWRSZXNwb25zZRJrChBHZXRFeHRlcm5hbE1vZGVsEiouZXhhLmFwaV9zZXJ2ZXJfcGIuR2V0RXh0ZXJuYWxNb2RlbFJlcXVlc3QaKy5leGEuYXBpX3NlcnZlcl9wYi5HZXRFeHRlcm5hbE1vZGVsUmVzcG9uc2USfQoWR2V0RXh0ZXJuYWxNb2RlbHNHcm91cBIwLmV4YS5hcGlfc2VydmVyX3BiLkdldEV4dGVybmFsTW9kZWxzR3JvdXBSZXF1ZXN0GjEuZXhhLmFwaV9zZXJ2ZXJfcGIuR2V0RXh0ZXJuYWxNb2RlbHNHcm91cFJlc3BvbnNlEncKFENyZWF0ZUV4dGVybmFsTW9kZWxzEi4uZXhhLmFwaV9zZXJ2ZXJfcGIuQ3JlYXRlRXh0ZXJuYWxNb2RlbHNSZXF1ZXN0Gi8uZXhhLmFwaV9zZXJ2ZXJfcGIuQ3JlYXRlRXh0ZXJuYWxNb2RlbHNSZXNwb25zZRJ3ChREZWxldGVFeHRlcm5hbE1vZGVscxIuLmV4YS5hcGlfc2VydmVyX3BiLkRlbGV0ZUV4dGVybmFsTW9kZWxzUmVxdWVzdBovLmV4YS5hcGlfc2VydmVyX3BiLkRlbGV0ZUV4dGVybmFsTW9kZWxzUmVzcG9uc2USdwoUVXBkYXRlRXh0ZXJuYWxNb2RlbHMSLi5leGEuYXBpX3NlcnZlcl9wYi5VcGRhdGVFeHRlcm5hbE1vZGVsc1JlcXVlc3QaLy5leGEuYXBpX3NlcnZlcl9wYi5VcGRhdGVFeHRlcm5hbE1vZGVsc1Jlc3BvbnNlEoYBChlVcGRhdGVFeHRlcm5hbE1vZGVsc0dyb3VwEjMuZXhhLmFwaV9zZXJ2ZXJfcGIuVXBkYXRlRXh0ZXJuYWxNb2RlbHNHcm91cFJlcXVlc3QaNC5leGEuYXBpX3NlcnZlcl9wYi5VcGRhdGVFeHRlcm5hbE1vZGVsc0dyb3VwUmVzcG9uc2USVgoJQ2hlY2tCdWdzEiMuZXhhLmFwaV9zZXJ2ZXJfcGIuQ2hlY2tCdWdzUmVxdWVzdBokLmV4YS5hcGlfc2VydmVyX3BiLkNoZWNrQnVnc1Jlc3BvbnNlEnEKEkdldExpZmVndWFyZENvbmZpZxIsLmV4YS5hcGlfc2VydmVyX3BiLkdldExpZmVndWFyZENvbmZpZ1JlcXVlc3QaLS5leGEuYXBpX3NlcnZlcl9wYi5HZXRMaWZlZ3VhcmRDb25maWdSZXNwb25zZRJoCg9TdWJtaXRCdWdSZXBvcnQSKS5leGEuYXBpX3NlcnZlcl9wYi5TdWJtaXRCdWdSZXBvcnRSZXF1ZXN0GiouZXhhLmFwaV9zZXJ2ZXJfcGIuU3VibWl0QnVnUmVwb3J0UmVzcG9uc2USVgoJQWNjZXB0QnVnEiMuZXhhLmFwaV9zZXJ2ZXJfcGIuQWNjZXB0QnVnUmVxdWVzdBokLmV4YS5hcGlfc2VydmVyX3BiLkFjY2VwdEJ1Z1Jlc3BvbnNlElYKCVJlamVjdEJ1ZxIjLmV4YS5hcGlfc2VydmVyX3BiLlJlamVjdEJ1Z1JlcXVlc3QaJC5leGEuYXBpX3NlcnZlcl9wYi5SZWplY3RCdWdSZXNwb25zZRJkChFSZWNvcmRUcnVzdEV2ZW50cxImLmV4YS50cnVzdF9wYi5SZWNvcmRUcnVzdEV2ZW50c1JlcXVlc3QaJy5leGEudHJ1c3RfcGIuUmVjb3JkVHJ1c3RFdmVudHNSZXNwb25zZWIGcHJvdG8z", [file_buf_validate_validate, file_exa_analytics_pb_analytics, file_exa_bug_checker_pb_bug_checker, file_exa_chat_pb_chat, file_exa_codeium_common_pb_codeium_common, file_exa_context_module_pb_context_module, file_exa_cortex_pb_cortex, file_exa_prompt_pb_prompt, file_exa_trust_pb_trust, file_google_protobuf_timestamp]); + +/** + * @generated from message exa.api_server_pb.AssignArenaModelRequest + */ +export type AssignArenaModelRequest = Message<"exa.api_server_pb.AssignArenaModelRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string arena_id = 2; + */ + arenaId: string; + + /** + * @generated from field: repeated string cascade_ids = 4; + */ + cascadeIds: string[]; + + /** + * @generated from field: exa.codeium_common_pb.ArenaTier arena_tier = 3 [deprecated = true]; + * @deprecated + */ + arenaTier: ArenaTier; + + /** + * @generated from field: string model_router_uid = 5; + */ + modelRouterUid: string; + + /** + * @generated from field: optional string converged_arena_jwt = 6; + */ + convergedArenaJwt?: string | undefined; + + /** + * @generated from field: optional string converged_trajectory_id = 7; + */ + convergedTrajectoryId?: string | undefined; +}; + +/** + * Describes the message exa.api_server_pb.AssignArenaModelRequest. + * Use `create(AssignArenaModelRequestSchema)` to create a new message. + */ +export const AssignArenaModelRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 0); + +/** + * @generated from message exa.api_server_pb.ArenaModelAssignment + */ +export type ArenaModelAssignment = Message<"exa.api_server_pb.ArenaModelAssignment"> & { + /** + * @generated from field: string cascade_id = 1; + */ + cascadeId: string; + + /** + * @generated from field: string arena_assignment_jwt = 2; + */ + arenaAssignmentJwt: string; + + /** + * @generated from field: string model_uid = 3; + */ + modelUid: string; + + /** + * @generated from field: string harness_uid = 4; + */ + harnessUid: string; +}; + +/** + * Describes the message exa.api_server_pb.ArenaModelAssignment. + * Use `create(ArenaModelAssignmentSchema)` to create a new message. + */ +export const ArenaModelAssignmentSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 1); + +/** + * @generated from message exa.api_server_pb.AssignArenaModelResponse + */ +export type AssignArenaModelResponse = Message<"exa.api_server_pb.AssignArenaModelResponse"> & { + /** + * @generated from field: repeated exa.api_server_pb.ArenaModelAssignment assignments = 1; + */ + assignments: ArenaModelAssignment[]; +}; + +/** + * Describes the message exa.api_server_pb.AssignArenaModelResponse. + * Use `create(AssignArenaModelResponseSchema)` to create a new message. + */ +export const AssignArenaModelResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 2); + +/** + * @generated from message exa.api_server_pb.AssignModelRequest + */ +export type AssignModelRequest = Message<"exa.api_server_pb.AssignModelRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string model_router_uid = 2; + */ + modelRouterUid: string; + + /** + * @generated from field: string cascade_id = 3; + */ + cascadeId: string; + + /** + * @generated from field: exa.chat_pb.ChatMessagePrompt chat_message_prompt = 5; + */ + chatMessagePrompt?: ChatMessagePrompt | undefined; +}; + +/** + * Describes the message exa.api_server_pb.AssignModelRequest. + * Use `create(AssignModelRequestSchema)` to create a new message. + */ +export const AssignModelRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 3); + +/** + * @generated from message exa.api_server_pb.ModelAssignment + */ +export type ModelAssignment = Message<"exa.api_server_pb.ModelAssignment"> & { + /** + * @generated from field: string assignment_jwt = 1; + */ + assignmentJwt: string; + + /** + * @generated from field: string model_uid = 2; + */ + modelUid: string; + + /** + * @generated from field: repeated string harness_uids = 3; + */ + harnessUids: string[]; +}; + +/** + * Describes the message exa.api_server_pb.ModelAssignment. + * Use `create(ModelAssignmentSchema)` to create a new message. + */ +export const ModelAssignmentSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 4); + +/** + * @generated from message exa.api_server_pb.AssignModelResponse + */ +export type AssignModelResponse = Message<"exa.api_server_pb.AssignModelResponse"> & { + /** + * @generated from field: exa.api_server_pb.ModelAssignment assignment = 1; + */ + assignment?: ModelAssignment | undefined; +}; + +/** + * Describes the message exa.api_server_pb.AssignModelResponse. + * Use `create(AssignModelResponseSchema)` to create a new message. + */ +export const AssignModelResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 5); + +/** + * @generated from message exa.api_server_pb.GetTranscriptionRequest + */ +export type GetTranscriptionRequest = Message<"exa.api_server_pb.GetTranscriptionRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: bytes audio_data = 2; + */ + audioData: Uint8Array; +}; + +/** + * Describes the message exa.api_server_pb.GetTranscriptionRequest. + * Use `create(GetTranscriptionRequestSchema)` to create a new message. + */ +export const GetTranscriptionRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 6); + +/** + * @generated from message exa.api_server_pb.GetTranscriptionResponse + */ +export type GetTranscriptionResponse = Message<"exa.api_server_pb.GetTranscriptionResponse"> & { + /** + * @generated from field: string transcribed_text = 2; + */ + transcribedText: string; +}; + +/** + * Describes the message exa.api_server_pb.GetTranscriptionResponse. + * Use `create(GetTranscriptionResponseSchema)` to create a new message. + */ +export const GetTranscriptionResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 7); + +/** + * @generated from message exa.api_server_pb.RecordNewCortexPlanRequest + */ +export type RecordNewCortexPlanRequest = Message<"exa.api_server_pb.RecordNewCortexPlanRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string cortex_id = 2; + */ + cortexId: string; + + /** + * @generated from field: exa.cortex_pb.CortexRequestSource request_source = 6; + */ + requestSource: CortexRequestSource; + + /** + * @generated from field: string plan_goal = 3; + */ + planGoal: string; + + /** + * @generated from field: repeated string input_files = 4; + */ + inputFiles: string[]; + + /** + * @generated from field: repeated string input_directories = 5; + */ + inputDirectories: string[]; +}; + +/** + * Describes the message exa.api_server_pb.RecordNewCortexPlanRequest. + * Use `create(RecordNewCortexPlanRequestSchema)` to create a new message. + */ +export const RecordNewCortexPlanRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 8); + +/** + * @generated from message exa.api_server_pb.RecordNewCortexPlanResponse + */ +export type RecordNewCortexPlanResponse = Message<"exa.api_server_pb.RecordNewCortexPlanResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.RecordNewCortexPlanResponse. + * Use `create(RecordNewCortexPlanResponseSchema)` to create a new message. + */ +export const RecordNewCortexPlanResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 9); + +/** + * @generated from message exa.api_server_pb.RecordCortexErrorRequest + */ +export type RecordCortexErrorRequest = Message<"exa.api_server_pb.RecordCortexErrorRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string cortex_id = 2; + */ + cortexId: string; + + /** + * @generated from field: string error = 3; + */ + error: string; + + /** + * @generated from field: string error_detail = 4; + */ + errorDetail: string; + + /** + * @generated from field: exa.codeium_common_pb.CortexErrorCategory category = 5; + */ + category: CortexErrorCategory; + + /** + * @generated from field: string category_id = 6; + */ + categoryId: string; + + /** + * @generated from field: string test = 7; + */ + test: string; +}; + +/** + * Describes the message exa.api_server_pb.RecordCortexErrorRequest. + * Use `create(RecordCortexErrorRequestSchema)` to create a new message. + */ +export const RecordCortexErrorRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 10); + +/** + * @generated from message exa.api_server_pb.RecordCortexErrorResponse + */ +export type RecordCortexErrorResponse = Message<"exa.api_server_pb.RecordCortexErrorResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.RecordCortexErrorResponse. + * Use `create(RecordCortexErrorResponseSchema)` to create a new message. + */ +export const RecordCortexErrorResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 11); + +/** + * @generated from message exa.api_server_pb.RecordCortexCodingPlanRequest + */ +export type RecordCortexCodingPlanRequest = Message<"exa.api_server_pb.RecordCortexCodingPlanRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string coding_plan_id = 2; + */ + codingPlanId: string; + + /** + * @generated from field: string cortex_id = 3; + */ + cortexId: string; + + /** + * @generated from field: string coding_plan_goal = 4; + */ + codingPlanGoal: string; + + /** + * @generated from field: exa.codeium_common_pb.ChatNodeConfig model_config = 5; + */ + modelConfig?: ChatNodeConfig | undefined; + + /** + * @generated from field: string system_prompt = 6; + */ + systemPrompt: string; + + /** + * @generated from field: repeated exa.chat_pb.ChatMessagePrompt message_prompts = 7; + */ + messagePrompts: ChatMessagePrompt[]; + + /** + * @generated from field: repeated uint64 num_output_tokens = 10; + */ + numOutputTokens: bigint[]; + + /** + * @generated from field: repeated uint64 response_latencies_ms = 11; + */ + responseLatenciesMs: bigint[]; +}; + +/** + * Describes the message exa.api_server_pb.RecordCortexCodingPlanRequest. + * Use `create(RecordCortexCodingPlanRequestSchema)` to create a new message. + */ +export const RecordCortexCodingPlanRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 12); + +/** + * @generated from message exa.api_server_pb.RecordCortexCodingPlanResponse + */ +export type RecordCortexCodingPlanResponse = Message<"exa.api_server_pb.RecordCortexCodingPlanResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.RecordCortexCodingPlanResponse. + * Use `create(RecordCortexCodingPlanResponseSchema)` to create a new message. + */ +export const RecordCortexCodingPlanResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 13); + +/** + * @generated from message exa.api_server_pb.RecordCortexCodingStepRequest + */ +export type RecordCortexCodingStepRequest = Message<"exa.api_server_pb.RecordCortexCodingStepRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string coding_step_id = 2; + */ + codingStepId: string; + + /** + * @generated from field: string coding_plan_id = 3; + */ + codingPlanId: string; + + /** + * @generated from field: uint32 step_index = 4; + */ + stepIndex: number; + + /** + * @generated from field: string action_type = 5; + */ + actionType: string; + + /** + * @generated from field: string instruction = 6; + */ + instruction: string; + + /** + * @generated from field: string source = 7; + */ + source: string; + + /** + * @generated from field: string target = 8; + */ + target: string; + + /** + * @generated from field: string action_spec_json = 9; + */ + actionSpecJson: string; + + /** + * @generated from field: string step_outline_json = 10; + */ + stepOutlineJson: string; + + /** + * @generated from field: uint32 step_version = 11; + */ + stepVersion: number; + + /** + * @generated from field: uint32 plan_version = 12; + */ + planVersion: number; +}; + +/** + * Describes the message exa.api_server_pb.RecordCortexCodingStepRequest. + * Use `create(RecordCortexCodingStepRequestSchema)` to create a new message. + */ +export const RecordCortexCodingStepRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 14); + +/** + * @generated from message exa.api_server_pb.RecordCortexCodingStepResponse + */ +export type RecordCortexCodingStepResponse = Message<"exa.api_server_pb.RecordCortexCodingStepResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.RecordCortexCodingStepResponse. + * Use `create(RecordCortexCodingStepResponseSchema)` to create a new message. + */ +export const RecordCortexCodingStepResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 15); + +/** + * @generated from message exa.api_server_pb.RecordCortexCodingStepFeedbackRequest + */ +export type RecordCortexCodingStepFeedbackRequest = Message<"exa.api_server_pb.RecordCortexCodingStepFeedbackRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string coding_step_id = 2; + */ + codingStepId: string; + + /** + * @generated from field: exa.api_server_pb.FeedbackType feedback = 3; + */ + feedback: FeedbackType; + + /** + * @generated from field: string completion_id = 4; + */ + completionId: string; +}; + +/** + * Describes the message exa.api_server_pb.RecordCortexCodingStepFeedbackRequest. + * Use `create(RecordCortexCodingStepFeedbackRequestSchema)` to create a new message. + */ +export const RecordCortexCodingStepFeedbackRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 16); + +/** + * @generated from message exa.api_server_pb.RecordCortexCodingStepFeedbackResponse + */ +export type RecordCortexCodingStepFeedbackResponse = Message<"exa.api_server_pb.RecordCortexCodingStepFeedbackResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.RecordCortexCodingStepFeedbackResponse. + * Use `create(RecordCortexCodingStepFeedbackResponseSchema)` to create a new message. + */ +export const RecordCortexCodingStepFeedbackResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 17); + +/** + * @generated from message exa.api_server_pb.RecordCortexFeedbackRequest + */ +export type RecordCortexFeedbackRequest = Message<"exa.api_server_pb.RecordCortexFeedbackRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string cortex_id = 2; + */ + cortexId: string; + + /** + * @generated from field: string feedback = 3; + */ + feedback: string; + + /** + * @generated from field: int32 rating = 4; + */ + rating: number; +}; + +/** + * Describes the message exa.api_server_pb.RecordCortexFeedbackRequest. + * Use `create(RecordCortexFeedbackRequestSchema)` to create a new message. + */ +export const RecordCortexFeedbackRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 18); + +/** + * @generated from message exa.api_server_pb.RecordCortexFeedbackResponse + */ +export type RecordCortexFeedbackResponse = Message<"exa.api_server_pb.RecordCortexFeedbackResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.RecordCortexFeedbackResponse. + * Use `create(RecordCortexFeedbackResponseSchema)` to create a new message. + */ +export const RecordCortexFeedbackResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 19); + +/** + * @generated from message exa.api_server_pb.RecordDebounceRequest + */ +export type RecordDebounceRequest = Message<"exa.api_server_pb.RecordDebounceRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: exa.codeium_common_pb.ProviderSource provider_source = 2; + */ + providerSource: ProviderSource; + + /** + * @generated from field: exa.codeium_common_pb.Language language = 3; + */ + language: Language; + + /** + * @generated from field: string editor_language = 4; + */ + editorLanguage: string; + + /** + * @generated from field: uint64 prompt_latency_ms = 5; + */ + promptLatencyMs: bigint; + + /** + * @generated from field: uint64 debounce_latency_ms = 6; + */ + debounceLatencyMs: bigint; +}; + +/** + * Describes the message exa.api_server_pb.RecordDebounceRequest. + * Use `create(RecordDebounceRequestSchema)` to create a new message. + */ +export const RecordDebounceRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 20); + +/** + * @generated from message exa.api_server_pb.RecordDebounceResponse + */ +export type RecordDebounceResponse = Message<"exa.api_server_pb.RecordDebounceResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.RecordDebounceResponse. + * Use `create(RecordDebounceResponseSchema)` to create a new message. + */ +export const RecordDebounceResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 21); + +/** + * @generated from message exa.api_server_pb.OpportunityMetadata + */ +export type OpportunityMetadata = Message<"exa.api_server_pb.OpportunityMetadata"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: exa.codeium_common_pb.Language language = 2; + */ + language: Language; + + /** + * @generated from field: exa.codeium_common_pb.CompletionType completion_type = 3; + */ + completionType: CompletionType; + + /** + * @generated from field: exa.codeium_common_pb.CompletionSource completion_source = 4; + */ + completionSource: CompletionSource; + + /** + * @generated from field: exa.codeium_common_pb.Repository repository = 5; + */ + repository?: Repository | undefined; +}; + +/** + * Describes the message exa.api_server_pb.OpportunityMetadata. + * Use `create(OpportunityMetadataSchema)` to create a new message. + */ +export const OpportunityMetadataSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 22); + +/** + * @generated from message exa.api_server_pb.RecordOpportunitiesRequest + */ +export type RecordOpportunitiesRequest = Message<"exa.api_server_pb.RecordOpportunitiesRequest"> & { + /** + * @generated from field: repeated exa.api_server_pb.OpportunityMetadata opportunities = 1; + */ + opportunities: OpportunityMetadata[]; +}; + +/** + * Describes the message exa.api_server_pb.RecordOpportunitiesRequest. + * Use `create(RecordOpportunitiesRequestSchema)` to create a new message. + */ +export const RecordOpportunitiesRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 23); + +/** + * @generated from message exa.api_server_pb.RecordOpportunitiesResponse + */ +export type RecordOpportunitiesResponse = Message<"exa.api_server_pb.RecordOpportunitiesResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.RecordOpportunitiesResponse. + * Use `create(RecordOpportunitiesResponseSchema)` to create a new message. + */ +export const RecordOpportunitiesResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 24); + +/** + * @generated from message exa.api_server_pb.ByteDeltaInfo + */ +export type ByteDeltaInfo = Message<"exa.api_server_pb.ByteDeltaInfo"> & { + /** + * @generated from field: exa.codeium_common_pb.CodeSource code_source = 1; + */ + codeSource: CodeSource; + + /** + * @generated from field: int32 num_bytes = 2; + */ + numBytes: number; + + /** + * @generated from field: exa.codeium_common_pb.CompletionType completion_type = 3; + */ + completionType: CompletionType; + + /** + * @generated from field: exa.codeium_common_pb.ProviderSource provider_source = 4; + */ + providerSource: ProviderSource; + + /** + * @generated from field: string generator_model = 5; + */ + generatorModel: string; + + /** + * @generated from field: int32 bytes_added = 6; + */ + bytesAdded: number; + + /** + * @generated from field: int32 bytes_deleted = 7; + */ + bytesDeleted: number; +}; + +/** + * Describes the message exa.api_server_pb.ByteDeltaInfo. + * Use `create(ByteDeltaInfoSchema)` to create a new message. + */ +export const ByteDeltaInfoSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 25); + +/** + * @generated from message exa.api_server_pb.CodeTrackerUpdate + */ +export type CodeTrackerUpdate = Message<"exa.api_server_pb.CodeTrackerUpdate"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: exa.codeium_common_pb.Language language = 2; + */ + language: Language; + + /** + * @generated from field: repeated exa.api_server_pb.ByteDeltaInfo byte_deltas = 3; + */ + byteDeltas: ByteDeltaInfo[]; +}; + +/** + * Describes the message exa.api_server_pb.CodeTrackerUpdate. + * Use `create(CodeTrackerUpdateSchema)` to create a new message. + */ +export const CodeTrackerUpdateSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 26); + +/** + * @generated from message exa.api_server_pb.RecordCodeTrackerUpdatesRequest + */ +export type RecordCodeTrackerUpdatesRequest = Message<"exa.api_server_pb.RecordCodeTrackerUpdatesRequest"> & { + /** + * @generated from field: repeated exa.api_server_pb.CodeTrackerUpdate updates = 1; + */ + updates: CodeTrackerUpdate[]; +}; + +/** + * Describes the message exa.api_server_pb.RecordCodeTrackerUpdatesRequest. + * Use `create(RecordCodeTrackerUpdatesRequestSchema)` to create a new message. + */ +export const RecordCodeTrackerUpdatesRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 27); + +/** + * @generated from message exa.api_server_pb.RecordCodeTrackerUpdatesResponse + */ +export type RecordCodeTrackerUpdatesResponse = Message<"exa.api_server_pb.RecordCodeTrackerUpdatesResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.RecordCodeTrackerUpdatesResponse. + * Use `create(RecordCodeTrackerUpdatesResponseSchema)` to create a new message. + */ +export const RecordCodeTrackerUpdatesResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 28); + +/** + * @generated from message exa.api_server_pb.RecordCompletionExampleRequest + */ +export type RecordCompletionExampleRequest = Message<"exa.api_server_pb.RecordCompletionExampleRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.CompletionExample example = 1; + */ + example?: CompletionExample | undefined; +}; + +/** + * Describes the message exa.api_server_pb.RecordCompletionExampleRequest. + * Use `create(RecordCompletionExampleRequestSchema)` to create a new message. + */ +export const RecordCompletionExampleRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 29); + +/** + * @generated from message exa.api_server_pb.RecordCompletionExampleResponse + */ +export type RecordCompletionExampleResponse = Message<"exa.api_server_pb.RecordCompletionExampleResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.RecordCompletionExampleResponse. + * Use `create(RecordCompletionExampleResponseSchema)` to create a new message. + */ +export const RecordCompletionExampleResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 30); + +/** + * @generated from message exa.api_server_pb.GetCompletionsRequest + */ +export type GetCompletionsRequest = Message<"exa.api_server_pb.GetCompletionsRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: exa.codeium_common_pb.CompletionsRequest request = 2; + */ + request?: CompletionsRequest | undefined; + + /** + * @generated from field: exa.codeium_common_pb.ProviderSource provider_source = 4; + */ + providerSource: ProviderSource; + + /** + * @generated from field: exa.codeium_common_pb.PromptComponents prompt_components = 5; + */ + promptComponents?: PromptComponents | undefined; + + /** + * @generated from field: exa.codeium_common_pb.ExperimentConfig experiment_config = 6; + */ + experimentConfig?: ExperimentConfig | undefined; + + /** + * @generated from field: exa.codeium_common_pb.MockResponseData mock_response_data = 3; + */ + mockResponseData?: MockResponseData | undefined; + + /** + * @generated from field: bool is_dev = 7; + */ + isDev: boolean; + + /** + * @generated from field: string prompt_id = 8; + */ + promptId: string; +}; + +/** + * Describes the message exa.api_server_pb.GetCompletionsRequest. + * Use `create(GetCompletionsRequestSchema)` to create a new message. + */ +export const GetCompletionsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 31); + +/** + * @generated from message exa.api_server_pb.GetCompletionsResponse + */ +export type GetCompletionsResponse = Message<"exa.api_server_pb.GetCompletionsResponse"> & { + /** + * @generated from field: exa.codeium_common_pb.CompletionResponse completion_response = 1; + */ + completionResponse?: CompletionResponse | undefined; + + /** + * @generated from field: double latency = 2; + */ + latency: number; + + /** + * @generated from field: exa.codeium_common_pb.CompletionsRequest completions_request = 3; + */ + completionsRequest?: CompletionsRequest | undefined; +}; + +/** + * Describes the message exa.api_server_pb.GetCompletionsResponse. + * Use `create(GetCompletionsResponseSchema)` to create a new message. + */ +export const GetCompletionsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 32); + +/** + * @generated from message exa.api_server_pb.CciWithSubrangeBatch + */ +export type CciWithSubrangeBatch = Message<"exa.api_server_pb.CciWithSubrangeBatch"> & { + /** + * @generated from field: repeated exa.codeium_common_pb.CciWithSubrange cci_with_subranges = 1; + */ + cciWithSubranges: CciWithSubrange[]; +}; + +/** + * Describes the message exa.api_server_pb.CciWithSubrangeBatch. + * Use `create(CciWithSubrangeBatchSchema)` to create a new message. + */ +export const CciWithSubrangeBatchSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 33); + +/** + * @generated from message exa.api_server_pb.EarlyReturnConfig + */ +export type EarlyReturnConfig = Message<"exa.api_server_pb.EarlyReturnConfig"> & { + /** + * @generated from field: double min_complete_fraction = 1; + */ + minCompleteFraction: number; + + /** + * @generated from field: int32 min_additional_wait_ms = 2; + */ + minAdditionalWaitMs: number; + + /** + * @generated from field: float min_additional_wait_multiplier = 3; + */ + minAdditionalWaitMultiplier: number; +}; + +/** + * Describes the message exa.api_server_pb.EarlyReturnConfig. + * Use `create(EarlyReturnConfigSchema)` to create a new message. + */ +export const EarlyReturnConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 34); + +/** + * @generated from message exa.api_server_pb.GetMQueryRequest + */ +export type GetMQueryRequest = Message<"exa.api_server_pb.GetMQueryRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: exa.codeium_common_pb.Model model = 2; + */ + model: Model; + + /** + * @generated from field: string query = 3; + */ + query: string; + + /** + * @generated from field: repeated exa.api_server_pb.CciWithSubrangeBatch cci_with_subrange_batches = 4; + */ + cciWithSubrangeBatches: CciWithSubrangeBatch[]; + + /** + * @generated from field: exa.api_server_pb.EarlyReturnConfig early_return_config = 5; + */ + earlyReturnConfig?: EarlyReturnConfig | undefined; +}; + +/** + * Describes the message exa.api_server_pb.GetMQueryRequest. + * Use `create(GetMQueryRequestSchema)` to create a new message. + */ +export const GetMQueryRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 35); + +/** + * @generated from message exa.api_server_pb.ScoreWithStatus + */ +export type ScoreWithStatus = Message<"exa.api_server_pb.ScoreWithStatus"> & { + /** + * @generated from field: exa.api_server_pb.MQueryScoreStatus status = 1; + */ + status: MQueryScoreStatus; + + /** + * @generated from field: float score = 2; + */ + score: number; + + /** + * @generated from field: string error = 3; + */ + error: string; +}; + +/** + * Describes the message exa.api_server_pb.ScoreWithStatus. + * Use `create(ScoreWithStatusSchema)` to create a new message. + */ +export const ScoreWithStatusSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 36); + +/** + * @generated from message exa.api_server_pb.ScoreBatch + */ +export type ScoreBatch = Message<"exa.api_server_pb.ScoreBatch"> & { + /** + * @generated from field: repeated exa.api_server_pb.ScoreWithStatus scores = 1; + */ + scores: ScoreWithStatus[]; +}; + +/** + * Describes the message exa.api_server_pb.ScoreBatch. + * Use `create(ScoreBatchSchema)` to create a new message. + */ +export const ScoreBatchSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 37); + +/** + * @generated from message exa.api_server_pb.GetMQueryResponse + */ +export type GetMQueryResponse = Message<"exa.api_server_pb.GetMQueryResponse"> & { + /** + * @generated from field: repeated exa.api_server_pb.ScoreBatch score_batches = 1; + */ + scoreBatches: ScoreBatch[]; + + /** + * @generated from field: string scorer_name = 2; + */ + scorerName: string; + + /** + * @generated from field: uint32 tokens_processed = 3; + */ + tokensProcessed: number; +}; + +/** + * Describes the message exa.api_server_pb.GetMQueryResponse. + * Use `create(GetMQueryResponseSchema)` to create a new message. + */ +export const GetMQueryResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 38); + +/** + * @generated from message exa.api_server_pb.GetStreamingCompletionsRequest + */ +export type GetStreamingCompletionsRequest = Message<"exa.api_server_pb.GetStreamingCompletionsRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: exa.codeium_common_pb.CompletionsRequest request = 2; + */ + request?: CompletionsRequest | undefined; + + /** + * @generated from field: exa.codeium_common_pb.ProviderSource provider_source = 4; + */ + providerSource: ProviderSource; + + /** + * @generated from field: exa.codeium_common_pb.PromptComponents prompt_components = 5; + */ + promptComponents?: PromptComponents | undefined; + + /** + * @generated from field: exa.codeium_common_pb.ExperimentConfig experiment_config = 6; + */ + experimentConfig?: ExperimentConfig | undefined; + + /** + * @generated from field: bool is_dev = 7; + */ + isDev: boolean; + + /** + * @generated from field: string prompt_id = 8; + */ + promptId: string; + + /** + * @generated from field: exa.prompt_pb.UnifiedPromptComponents unified_prompt_components = 9; + */ + unifiedPromptComponents?: UnifiedPromptComponents | undefined; + + /** + * @generated from field: exa.cortex_pb.CortexTrajectoryReference cortex_trajectory_reference = 10; + */ + cortexTrajectoryReference?: CortexTrajectoryReference | undefined; +}; + +/** + * Describes the message exa.api_server_pb.GetStreamingCompletionsRequest. + * Use `create(GetStreamingCompletionsRequestSchema)` to create a new message. + */ +export const GetStreamingCompletionsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 39); + +/** + * @generated from message exa.api_server_pb.GetStreamingCompletionsResponse + */ +export type GetStreamingCompletionsResponse = Message<"exa.api_server_pb.GetStreamingCompletionsResponse"> & { + /** + * @generated from field: exa.codeium_common_pb.StreamingCompletionResponse completion_response = 1; + */ + completionResponse?: StreamingCompletionResponse | undefined; + + /** + * @generated from field: double latency = 2; + */ + latency: number; +}; + +/** + * Describes the message exa.api_server_pb.GetStreamingCompletionsResponse. + * Use `create(GetStreamingCompletionsResponseSchema)` to create a new message. + */ +export const GetStreamingCompletionsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 40); + +/** + * @generated from message exa.api_server_pb.CancelCompletionsRequest + */ +export type CancelCompletionsRequest = Message<"exa.api_server_pb.CancelCompletionsRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; +}; + +/** + * Describes the message exa.api_server_pb.CancelCompletionsRequest. + * Use `create(CancelCompletionsRequestSchema)` to create a new message. + */ +export const CancelCompletionsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 41); + +/** + * @generated from message exa.api_server_pb.CancelCompletionsResponse + */ +export type CancelCompletionsResponse = Message<"exa.api_server_pb.CancelCompletionsResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.CancelCompletionsResponse. + * Use `create(CancelCompletionsResponseSchema)` to create a new message. + */ +export const CancelCompletionsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 42); + +/** + * @generated from message exa.api_server_pb.GetChatCompletionsRequest + */ +export type GetChatCompletionsRequest = Message<"exa.api_server_pb.GetChatCompletionsRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: repeated exa.chat_pb.ChatMessagePrompt chat_message_prompts = 2; + */ + chatMessagePrompts: ChatMessagePrompt[]; + + /** + * @generated from field: string system_prompt = 3; + */ + systemPrompt: string; + + /** + * @generated from field: exa.codeium_common_pb.CompletionsRequest completions_request = 4; + */ + completionsRequest?: CompletionsRequest | undefined; + + /** + * @generated from field: exa.codeium_common_pb.ProviderSource provider_source = 5; + */ + providerSource: ProviderSource; + + /** + * @generated from field: exa.codeium_common_pb.Model model_id = 6; + */ + modelId: Model; + + /** + * @generated from field: exa.codeium_common_pb.ExperimentConfig experiment_config = 8; + */ + experimentConfig?: ExperimentConfig | undefined; + + /** + * @generated from field: string prompt_id = 9; + */ + promptId: string; +}; + +/** + * Describes the message exa.api_server_pb.GetChatCompletionsRequest. + * Use `create(GetChatCompletionsRequestSchema)` to create a new message. + */ +export const GetChatCompletionsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 43); + +/** + * @generated from message exa.api_server_pb.GetChatCompletionsResponse + */ +export type GetChatCompletionsResponse = Message<"exa.api_server_pb.GetChatCompletionsResponse"> & { + /** + * @generated from field: exa.codeium_common_pb.CompletionResponse completion_response = 1; + */ + completionResponse?: CompletionResponse | undefined; + + /** + * @generated from field: double latency = 2; + */ + latency: number; +}; + +/** + * Describes the message exa.api_server_pb.GetChatCompletionsResponse. + * Use `create(GetChatCompletionsResponseSchema)` to create a new message. + */ +export const GetChatCompletionsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 44); + +/** + * @generated from message exa.api_server_pb.GetStreamingExternalChatCompletionsResponse + */ +export type GetStreamingExternalChatCompletionsResponse = Message<"exa.api_server_pb.GetStreamingExternalChatCompletionsResponse"> & { + /** + * @generated from field: exa.codeium_common_pb.CompletionDeltaMap delta_map = 1; + */ + deltaMap?: CompletionDeltaMap | undefined; + + /** + * @generated from field: double latency = 2; + */ + latency: number; +}; + +/** + * Describes the message exa.api_server_pb.GetStreamingExternalChatCompletionsResponse. + * Use `create(GetStreamingExternalChatCompletionsResponseSchema)` to create a new message. + */ +export const GetStreamingExternalChatCompletionsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 45); + +/** + * @generated from message exa.api_server_pb.GetEmbeddingsRequest + */ +export type GetEmbeddingsRequest = Message<"exa.api_server_pb.GetEmbeddingsRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.EmbeddingsRequest request = 1; + */ + request?: EmbeddingsRequest | undefined; + + /** + * @generated from field: exa.api_server_pb.EmbeddingRetryPolicy retry_policy = 3; + */ + retryPolicy: EmbeddingRetryPolicy; + + /** + * @generated from field: exa.codeium_common_pb.Model embedding_model = 4; + */ + embeddingModel: Model; +}; + +/** + * Describes the message exa.api_server_pb.GetEmbeddingsRequest. + * Use `create(GetEmbeddingsRequestSchema)` to create a new message. + */ +export const GetEmbeddingsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 46); + +/** + * @generated from message exa.api_server_pb.GetEmbeddingsResponse + */ +export type GetEmbeddingsResponse = Message<"exa.api_server_pb.GetEmbeddingsResponse"> & { + /** + * @generated from field: exa.codeium_common_pb.EmbeddingResponse response = 1; + */ + response?: EmbeddingResponse | undefined; + + /** + * @generated from field: double latency = 2; + */ + latency: number; +}; + +/** + * Describes the message exa.api_server_pb.GetEmbeddingsResponse. + * Use `create(GetEmbeddingsResponseSchema)` to create a new message. + */ +export const GetEmbeddingsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 47); + +/** + * @generated from message exa.api_server_pb.BatchRecordUserLastUpdateTimesRequest + */ +export type BatchRecordUserLastUpdateTimesRequest = Message<"exa.api_server_pb.BatchRecordUserLastUpdateTimesRequest"> & { + /** + * @generated from field: map user_last_update_times = 1; + */ + userLastUpdateTimes: { [key: string]: LastUpdateRecord }; + + /** + * @generated from field: map user_last_update_record_lists = 2; + */ + userLastUpdateRecordLists: { [key: string]: LastUpdateRecordList }; +}; + +/** + * Describes the message exa.api_server_pb.BatchRecordUserLastUpdateTimesRequest. + * Use `create(BatchRecordUserLastUpdateTimesRequestSchema)` to create a new message. + */ +export const BatchRecordUserLastUpdateTimesRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 48); + +/** + * @generated from message exa.api_server_pb.BatchRecordUserLastUpdateTimesResponse + */ +export type BatchRecordUserLastUpdateTimesResponse = Message<"exa.api_server_pb.BatchRecordUserLastUpdateTimesResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.BatchRecordUserLastUpdateTimesResponse. + * Use `create(BatchRecordUserLastUpdateTimesResponseSchema)` to create a new message. + */ +export const BatchRecordUserLastUpdateTimesResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 49); + +/** + * @generated from message exa.api_server_pb.RecordChatRequestRecordRequest + */ +export type RecordChatRequestRecordRequest = Message<"exa.api_server_pb.RecordChatRequestRecordRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: exa.api_server_pb.GetChatMessageRequest chat_request = 2; + */ + chatRequest?: GetChatMessageRequest | undefined; + + /** + * @generated from field: bool disable_telemetry = 3; + */ + disableTelemetry: boolean; + + /** + * @generated from field: string deployment = 4; + */ + deployment: string; + + /** + * @generated from field: string start_time = 5; + */ + startTime: string; + + /** + * @generated from field: string end_time = 6; + */ + endTime: string; + + /** + * @generated from field: exa.codeium_common_pb.UserStatus user_status = 7; + */ + userStatus?: UserStatus | undefined; + + /** + * @generated from field: string error = 8; + */ + error: string; + + /** + * @generated from field: string request_uid = 9; + */ + requestUid: string; + + /** + * @generated from field: string response_text = 10; + */ + responseText: string; + + /** + * @generated from field: repeated exa.codeium_common_pb.ChatToolCall response_tool_calls = 11; + */ + responseToolCalls: ChatToolCall[]; +}; + +/** + * Describes the message exa.api_server_pb.RecordChatRequestRecordRequest. + * Use `create(RecordChatRequestRecordRequestSchema)` to create a new message. + */ +export const RecordChatRequestRecordRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 50); + +/** + * @generated from message exa.api_server_pb.BatchRecordChatRequestRecordsRequest + */ +export type BatchRecordChatRequestRecordsRequest = Message<"exa.api_server_pb.BatchRecordChatRequestRecordsRequest"> & { + /** + * @generated from field: repeated exa.api_server_pb.RecordChatRequestRecordRequest chat_records = 1; + */ + chatRecords: RecordChatRequestRecordRequest[]; +}; + +/** + * Describes the message exa.api_server_pb.BatchRecordChatRequestRecordsRequest. + * Use `create(BatchRecordChatRequestRecordsRequestSchema)` to create a new message. + */ +export const BatchRecordChatRequestRecordsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 51); + +/** + * @generated from message exa.api_server_pb.BatchRecordChatRequestRecordsResponse + */ +export type BatchRecordChatRequestRecordsResponse = Message<"exa.api_server_pb.BatchRecordChatRequestRecordsResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.BatchRecordChatRequestRecordsResponse. + * Use `create(BatchRecordChatRequestRecordsResponseSchema)` to create a new message. + */ +export const BatchRecordChatRequestRecordsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 52); + +/** + * @generated from message exa.api_server_pb.GetCompletionExamplesRequest + */ +export type GetCompletionExamplesRequest = Message<"exa.api_server_pb.GetCompletionExamplesRequest"> & { + /** + * @generated from field: uint32 max_examples = 1; + */ + maxExamples: number; + + /** + * @generated from field: string api_key = 2; + */ + apiKey: string; +}; + +/** + * Describes the message exa.api_server_pb.GetCompletionExamplesRequest. + * Use `create(GetCompletionExamplesRequestSchema)` to create a new message. + */ +export const GetCompletionExamplesRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 53); + +/** + * @generated from message exa.api_server_pb.GetCompletionExamplesResponse + */ +export type GetCompletionExamplesResponse = Message<"exa.api_server_pb.GetCompletionExamplesResponse"> & { + /** + * @generated from field: repeated exa.codeium_common_pb.CompletionExampleWithMetadata examples = 1; + */ + examples: CompletionExampleWithMetadata[]; +}; + +/** + * Describes the message exa.api_server_pb.GetCompletionExamplesResponse. + * Use `create(GetCompletionExamplesResponseSchema)` to create a new message. + */ +export const GetCompletionExamplesResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 54); + +/** + * @generated from message exa.api_server_pb.ProvideFeedbackRequest + */ +export type ProvideFeedbackRequest = Message<"exa.api_server_pb.ProvideFeedbackRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string prompt_id = 2; + */ + promptId: string; + + /** + * @generated from field: string completion_id = 3; + */ + completionId: string; + + /** + * @generated from field: exa.codeium_common_pb.CompletionSource source = 4; + */ + source: CompletionSource; + + /** + * @generated from field: exa.api_server_pb.FeedbackType feedback = 5; + */ + feedback: FeedbackType; + + /** + * @generated from field: exa.api_server_pb.FeedbackExtraInfo extra_info = 12; + */ + extraInfo: FeedbackExtraInfo; + + /** + * @generated from field: uint64 latency_ms = 6; + */ + latencyMs: bigint; + + /** + * @generated from field: uint64 network_latency_ms = 8; + */ + networkLatencyMs: bigint; + + /** + * @generated from field: uint64 debounce_latency_ms = 9; + */ + debounceLatencyMs: bigint; + + /** + * @generated from field: uint64 client_latency_ms = 10; + */ + clientLatencyMs: bigint; + + /** + * @generated from field: int64 timestamp_unix_ms = 7; + */ + timestampUnixMs: bigint; + + /** + * @generated from field: int64 feedback_delay_ms = 11; + */ + feedbackDelayMs: bigint; + + /** + * @generated from field: exa.codeium_common_pb.ProviderSource provider_source = 13; + */ + providerSource: ProviderSource; + + /** + * @generated from field: uint64 view_columns_open = 14; + */ + viewColumnsOpen: bigint; + + /** + * @generated from field: bool has_active_vim_extension = 15; + */ + hasActiveVimExtension: boolean; +}; + +/** + * Describes the message exa.api_server_pb.ProvideFeedbackRequest. + * Use `create(ProvideFeedbackRequestSchema)` to create a new message. + */ +export const ProvideFeedbackRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 55); + +/** + * @generated from message exa.api_server_pb.ProvideFeedbackResponse + */ +export type ProvideFeedbackResponse = Message<"exa.api_server_pb.ProvideFeedbackResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.ProvideFeedbackResponse. + * Use `create(ProvideFeedbackResponseSchema)` to create a new message. + */ +export const ProvideFeedbackResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 56); + +/** + * @generated from message exa.api_server_pb.UploadErrorTracesRequest + */ +export type UploadErrorTracesRequest = Message<"exa.api_server_pb.UploadErrorTracesRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: repeated exa.codeium_common_pb.ErrorTrace error_traces = 2; + */ + errorTraces: ErrorTrace[]; +}; + +/** + * Describes the message exa.api_server_pb.UploadErrorTracesRequest. + * Use `create(UploadErrorTracesRequestSchema)` to create a new message. + */ +export const UploadErrorTracesRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 57); + +/** + * @generated from message exa.api_server_pb.UploadErrorTracesResponse + */ +export type UploadErrorTracesResponse = Message<"exa.api_server_pb.UploadErrorTracesResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.UploadErrorTracesResponse. + * Use `create(UploadErrorTracesResponseSchema)` to create a new message. + */ +export const UploadErrorTracesResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 58); + +/** + * @generated from message exa.api_server_pb.RecordAsyncTelemetryRequest + */ +export type RecordAsyncTelemetryRequest = Message<"exa.api_server_pb.RecordAsyncTelemetryRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: repeated exa.codeium_common_pb.ErrorTrace error_traces = 2; + */ + errorTraces: ErrorTrace[]; + + /** + * @generated from field: repeated exa.codeium_common_pb.WorkspaceIndexData workspace_index_data = 3; + */ + workspaceIndexData: WorkspaceIndexData[]; + + /** + * @generated from field: repeated exa.codeium_common_pb.WorkspaceStats workspace_stats = 4; + */ + workspaceStats: WorkspaceStats[]; + + /** + * @generated from field: bytes memory_stats = 5; + */ + memoryStats: Uint8Array; + + /** + * @generated from field: exa.codeium_common_pb.IndexerStats indexer_stats = 6; + */ + indexerStats?: IndexerStats | undefined; +}; + +/** + * Describes the message exa.api_server_pb.RecordAsyncTelemetryRequest. + * Use `create(RecordAsyncTelemetryRequestSchema)` to create a new message. + */ +export const RecordAsyncTelemetryRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 59); + +/** + * @generated from message exa.api_server_pb.RecordAsyncTelemetryResponse + */ +export type RecordAsyncTelemetryResponse = Message<"exa.api_server_pb.RecordAsyncTelemetryResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.RecordAsyncTelemetryResponse. + * Use `create(RecordAsyncTelemetryResponseSchema)` to create a new message. + */ +export const RecordAsyncTelemetryResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 60); + +/** + * @generated from message exa.api_server_pb.RecordAutoCascadeTelemetryRequest + */ +export type RecordAutoCascadeTelemetryRequest = Message<"exa.api_server_pb.RecordAutoCascadeTelemetryRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string event_type = 13; + */ + eventType: string; + + /** + * @generated from field: string session_key = 14; + */ + sessionKey: string; + + /** + * @generated from field: string api_key = 15; + */ + apiKey: string; + + /** + * @generated from field: string github_comment_id = 16; + */ + githubCommentId: string; + + /** + * @generated from field: string github_repo = 17; + */ + githubRepo: string; + + /** + * @generated from field: string github_username = 18; + */ + githubUsername: string; + + /** + * @generated from field: int32 thumbs_up_count = 19; + */ + thumbsUpCount: number; + + /** + * @generated from field: int32 thumbs_down_count = 20; + */ + thumbsDownCount: number; + + /** + * @generated from field: string branch_name = 21; + */ + branchName: string; + + /** + * @generated from field: string branch_status = 22; + */ + branchStatus: string; + + /** + * @generated from field: string team_id = 23; + */ + teamId: string; + + /** + * @generated from field: string github_owner = 24; + */ + githubOwner: string; + + /** + * @generated from field: int32 pr_number = 25; + */ + prNumber: number; + + /** + * @generated from field: bool is_public_repo = 26; + */ + isPublicRepo: boolean; + + /** + * @generated from field: string comment_type = 27; + */ + commentType: string; +}; + +/** + * Describes the message exa.api_server_pb.RecordAutoCascadeTelemetryRequest. + * Use `create(RecordAutoCascadeTelemetryRequestSchema)` to create a new message. + */ +export const RecordAutoCascadeTelemetryRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 61); + +/** + * @generated from message exa.api_server_pb.RecordAutoCascadeTelemetryResponse + */ +export type RecordAutoCascadeTelemetryResponse = Message<"exa.api_server_pb.RecordAutoCascadeTelemetryResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.RecordAutoCascadeTelemetryResponse. + * Use `create(RecordAutoCascadeTelemetryResponseSchema)` to create a new message. + */ +export const RecordAutoCascadeTelemetryResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 62); + +/** + * @generated from message exa.api_server_pb.RecordWindsurfReviewsTelemetryRequest + */ +export type RecordWindsurfReviewsTelemetryRequest = Message<"exa.api_server_pb.RecordWindsurfReviewsTelemetryRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string event_type = 2; + */ + eventType: string; + + /** + * @generated from field: string api_key = 3; + */ + apiKey: string; + + /** + * @generated from field: string github_comment_id = 4; + */ + githubCommentId: string; + + /** + * @generated from field: string github_repo = 5; + */ + githubRepo: string; + + /** + * @generated from field: string github_username = 6; + */ + githubUsername: string; + + /** + * @generated from field: int32 thumbs_up_count = 7; + */ + thumbsUpCount: number; + + /** + * @generated from field: int32 thumbs_down_count = 8; + */ + thumbsDownCount: number; + + /** + * @generated from field: string branch_name = 9; + */ + branchName: string; + + /** + * @generated from field: string branch_status = 10; + */ + branchStatus: string; + + /** + * @generated from field: string team_id = 11; + */ + teamId: string; + + /** + * @generated from field: string github_owner = 12; + */ + githubOwner: string; + + /** + * @generated from field: int32 pr_number = 13; + */ + prNumber: number; + + /** + * @generated from field: bool is_public_repo = 14; + */ + isPublicRepo: boolean; + + /** + * @generated from field: string comment_type = 15; + */ + commentType: string; +}; + +/** + * Describes the message exa.api_server_pb.RecordWindsurfReviewsTelemetryRequest. + * Use `create(RecordWindsurfReviewsTelemetryRequestSchema)` to create a new message. + */ +export const RecordWindsurfReviewsTelemetryRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 63); + +/** + * @generated from message exa.api_server_pb.RecordWindsurfReviewsTelemetryResponse + */ +export type RecordWindsurfReviewsTelemetryResponse = Message<"exa.api_server_pb.RecordWindsurfReviewsTelemetryResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.RecordWindsurfReviewsTelemetryResponse. + * Use `create(RecordWindsurfReviewsTelemetryResponseSchema)` to create a new message. + */ +export const RecordWindsurfReviewsTelemetryResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 64); + +/** + * @generated from message exa.api_server_pb.RecordWindsurfReviewEventRequest + */ +export type RecordWindsurfReviewEventRequest = Message<"exa.api_server_pb.RecordWindsurfReviewEventRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string event_type = 2; + */ + eventType: string; + + /** + * @generated from field: string api_key = 3; + */ + apiKey: string; + + /** + * @generated from field: string github_owner = 4; + */ + githubOwner: string; + + /** + * @generated from field: string github_repo = 5; + */ + githubRepo: string; + + /** + * @generated from field: string github_username = 6; + */ + githubUsername: string; + + /** + * @generated from field: string team_id = 7; + */ + teamId: string; + + /** + * @generated from field: float cost = 8; + */ + cost: number; + + /** + * @generated from field: string model = 9; + */ + model: string; + + /** + * @generated from field: string failure_reason = 10; + */ + failureReason: string; +}; + +/** + * Describes the message exa.api_server_pb.RecordWindsurfReviewEventRequest. + * Use `create(RecordWindsurfReviewEventRequestSchema)` to create a new message. + */ +export const RecordWindsurfReviewEventRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 65); + +/** + * @generated from message exa.api_server_pb.RecordWindsurfReviewEventResponse + */ +export type RecordWindsurfReviewEventResponse = Message<"exa.api_server_pb.RecordWindsurfReviewEventResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.RecordWindsurfReviewEventResponse. + * Use `create(RecordWindsurfReviewEventResponseSchema)` to create a new message. + */ +export const RecordWindsurfReviewEventResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 66); + +/** + * @generated from message exa.api_server_pb.GetDevstralStreamRequest + */ +export type GetDevstralStreamRequest = Message<"exa.api_server_pb.GetDevstralStreamRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: repeated exa.chat_pb.ChatMessagePrompt chat_message_prompts = 2; + */ + chatMessagePrompts: ChatMessagePrompt[]; + + /** + * @generated from field: string tools_json = 3; + */ + toolsJson: string; +}; + +/** + * Describes the message exa.api_server_pb.GetDevstralStreamRequest. + * Use `create(GetDevstralStreamRequestSchema)` to create a new message. + */ +export const GetDevstralStreamRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 67); + +/** + * @generated from message exa.api_server_pb.GetDevstralStreamResponse + */ +export type GetDevstralStreamResponse = Message<"exa.api_server_pb.GetDevstralStreamResponse"> & { + /** + * @generated from field: string output = 2; + */ + output: string; + + /** + * @generated from field: repeated exa.codeium_common_pb.ChatToolCall tool_calls = 3; + */ + toolCalls: ChatToolCall[]; +}; + +/** + * Describes the message exa.api_server_pb.GetDevstralStreamResponse. + * Use `create(GetDevstralStreamResponseSchema)` to create a new message. + */ +export const GetDevstralStreamResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 68); + +/** + * @generated from message exa.api_server_pb.GetChatMessageRequest + */ +export type GetChatMessageRequest = Message<"exa.api_server_pb.GetChatMessageRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string prompt = 2; + */ + prompt: string; + + /** + * @generated from field: repeated exa.chat_pb.ChatMessagePrompt chat_message_prompts = 3; + */ + chatMessagePrompts: ChatMessagePrompt[]; + + /** + * @generated from field: bool use_internal_chat_model = 5; + */ + useInternalChatModel: boolean; + + /** + * @generated from field: exa.codeium_common_pb.Model internal_chat_model = 6 [deprecated = true]; + * @deprecated + */ + internalChatModel: Model; + + /** + * @generated from field: string chat_model_uid = 21; + */ + chatModelUid: string; + + /** + * @generated from field: exa.api_server_pb.ChatMessageRequestType request_type = 7; + */ + requestType: ChatMessageRequestType; + + /** + * @generated from field: exa.codeium_common_pb.CompletionConfiguration configuration = 8; + */ + configuration?: CompletionConfiguration | undefined; + + /** + * @generated from field: exa.codeium_common_pb.ExperimentConfig experiment_config = 9; + */ + experimentConfig?: ExperimentConfig | undefined; + + /** + * @generated from field: repeated exa.chat_pb.ChatToolDefinition tools = 10; + */ + tools: ChatToolDefinition[]; + + /** + * @generated from field: bool disable_parallel_tool_calls = 11; + */ + disableParallelToolCalls: boolean; + + /** + * @generated from field: exa.chat_pb.ChatToolChoice tool_choice = 12; + */ + toolChoice?: ChatToolChoice | undefined; + + /** + * @generated from field: exa.chat_pb.PromptCacheOptions system_prompt_cache_options = 13; + */ + systemPromptCacheOptions?: PromptCacheOptions | undefined; + + /** + * @generated from field: string chat_model_name = 14; + */ + chatModelName: string; + + /** + * @generated from field: exa.cortex_pb.CortexTrajectoryReference trajectory_reference = 15; + */ + trajectoryReference?: CortexTrajectoryReference | undefined; + + /** + * @generated from field: string cascade_id = 16; + */ + cascadeId: string; + + /** + * @generated from field: string prompt_id = 17; + */ + promptId: string; + + /** + * @generated from field: exa.codeium_common_pb.ProviderSource provider_source = 18; + */ + providerSource: ProviderSource; + + /** + * @generated from field: exa.codeium_common_pb.Language language = 19; + */ + language: Language; + + /** + * @generated from field: exa.codeium_common_pb.ConversationalPlannerMode planner_mode = 20; + */ + plannerMode: ConversationalPlannerMode; + + /** + * @generated from field: string execution_id = 22; + */ + executionId: string; + + /** + * @generated from field: optional int32 arena_converge_count = 24; + */ + arenaConvergeCount?: number | undefined; + + /** + * @generated from field: optional string arena_assignment_jwt = 25; + */ + arenaAssignmentJwt?: string | undefined; + + /** + * @generated from field: optional string model_assignment_jwt = 26; + */ + modelAssignmentJwt?: string | undefined; +}; + +/** + * Describes the message exa.api_server_pb.GetChatMessageRequest. + * Use `create(GetChatMessageRequestSchema)` to create a new message. + */ +export const GetChatMessageRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 69); + +/** + * @generated from message exa.api_server_pb.GetChatMessageResponse + */ +export type GetChatMessageResponse = Message<"exa.api_server_pb.GetChatMessageResponse"> & { + /** + * @generated from field: string message_id = 1; + */ + messageId: string; + + /** + * @generated from field: google.protobuf.Timestamp timestamp = 2; + */ + timestamp?: Timestamp | undefined; + + /** + * @generated from field: string delta_text = 3; + */ + deltaText: string; + + /** + * @generated from field: uint32 delta_tokens = 4; + */ + deltaTokens: number; + + /** + * @generated from field: exa.codeium_common_pb.StopReason stop_reason = 5; + */ + stopReason: StopReason; + + /** + * @generated from field: repeated exa.codeium_common_pb.ChatToolCall delta_tool_calls = 6; + */ + deltaToolCalls: ChatToolCall[]; + + /** + * @generated from field: exa.codeium_common_pb.ModelUsageStats usage = 7; + */ + usage?: ModelUsageStats | undefined; + + /** + * @generated from field: int32 credit_cost = 14; + */ + creditCost: number; + + /** + * @generated from field: bool redact = 8; + */ + redact: boolean; + + /** + * @generated from field: string delta_thinking = 9; + */ + deltaThinking: string; + + /** + * @generated from field: string delta_signature = 10; + */ + deltaSignature: string; + + /** + * @generated from field: bool thinking_redacted = 11; + */ + thinkingRedacted: boolean; + + /** + * @generated from field: double latency = 12; + */ + latency: number; + + /** + * @generated from field: exa.codeium_common_pb.CompletionProfile completion_profile = 13; + */ + completionProfile?: CompletionProfile | undefined; + + /** + * @generated from field: string output_id = 15; + */ + outputId: string; + + /** + * @generated from field: string thinking_id = 16 [deprecated = true]; + * @deprecated + */ + thinkingId: string; + + /** + * @generated from field: string request_id = 17; + */ + requestId: string; + + /** + * @generated from field: int32 committed_credit_cost = 18; + */ + committedCreditCost: number; + + /** + * @generated from field: string prompt = 19; + */ + prompt: string; + + /** + * @generated from field: bytes gemini_thought_signature = 20 [deprecated = true]; + * @deprecated + */ + geminiThoughtSignature: Uint8Array; + + /** + * @generated from field: string delta_signature_type = 21; + */ + deltaSignatureType: string; + + /** + * @generated from field: double committed_acu_cost = 22; + */ + committedAcuCost: number; + + /** + * @generated from field: optional string actual_model_uid = 23; + */ + actualModelUid?: string | undefined; + + /** + * @generated from field: bool arena_invocation_cap_reached = 24; + */ + arenaInvocationCapReached: boolean; + + /** + * @generated from field: string phase = 25; + */ + phase: string; + + /** + * @generated from field: optional int64 committed_quota_cost_basis_points = 26; + */ + committedQuotaCostBasisPoints?: bigint | undefined; + + /** + * @generated from field: optional int64 committed_overage_cost_cents = 27; + */ + committedOverageCostCents?: bigint | undefined; + + /** + * @generated from field: repeated exa.codeium_common_pb.ResponseDimensionGroup response_dimension_groups = 28; + */ + responseDimensionGroups: ResponseDimensionGroup[]; +}; + +/** + * Describes the message exa.api_server_pb.GetChatMessageResponse. + * Use `create(GetChatMessageResponseSchema)` to create a new message. + */ +export const GetChatMessageResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 70); + +/** + * @generated from message exa.api_server_pb.CheckUserMessageRateLimitRequest + */ +export type CheckUserMessageRateLimitRequest = Message<"exa.api_server_pb.CheckUserMessageRateLimitRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: exa.codeium_common_pb.Model model_deprecated = 2 [deprecated = true]; + * @deprecated + */ + modelDeprecated: Model; + + /** + * @generated from field: string model_uid = 3; + */ + modelUid: string; +}; + +/** + * Describes the message exa.api_server_pb.CheckUserMessageRateLimitRequest. + * Use `create(CheckUserMessageRateLimitRequestSchema)` to create a new message. + */ +export const CheckUserMessageRateLimitRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 71); + +/** + * @generated from message exa.api_server_pb.CheckUserMessageRateLimitResponse + */ +export type CheckUserMessageRateLimitResponse = Message<"exa.api_server_pb.CheckUserMessageRateLimitResponse"> & { + /** + * @generated from field: bool has_capacity = 1; + */ + hasCapacity: boolean; + + /** + * @generated from field: string message = 2; + */ + message: string; + + /** + * @generated from field: int32 messages_remaining = 3; + */ + messagesRemaining: number; + + /** + * @generated from field: int32 max_messages = 4; + */ + maxMessages: number; + + /** + * @generated from field: int64 resets_in_seconds = 5; + */ + resetsInSeconds: bigint; +}; + +/** + * Describes the message exa.api_server_pb.CheckUserMessageRateLimitResponse. + * Use `create(CheckUserMessageRateLimitResponseSchema)` to create a new message. + */ +export const CheckUserMessageRateLimitResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 72); + +/** + * @generated from message exa.api_server_pb.GetDeepWikiRequest + */ +export type GetDeepWikiRequest = Message<"exa.api_server_pb.GetDeepWikiRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: exa.chat_pb.DeepWikiRequestType request_type = 2; + */ + requestType: DeepWikiRequestType; + + /** + * @generated from field: string symbol_name = 3; + */ + symbolName: string; + + /** + * @generated from field: string symbol_uri = 4; + */ + symbolUri: string; + + /** + * @generated from field: string context = 5; + */ + context: string; + + /** + * @generated from field: exa.chat_pb.DeepWikiSymbolType symbol_type = 6; + */ + symbolType: DeepWikiSymbolType; + + /** + * @generated from field: string language = 7; + */ + language: string; + + /** + * @generated from field: bool generate_followups = 8; + */ + generateFollowups: boolean; +}; + +/** + * Describes the message exa.api_server_pb.GetDeepWikiRequest. + * Use `create(GetDeepWikiRequestSchema)` to create a new message. + */ +export const GetDeepWikiRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 73); + +/** + * @generated from message exa.api_server_pb.GetDeepWikiResponse + */ +export type GetDeepWikiResponse = Message<"exa.api_server_pb.GetDeepWikiResponse"> & { + /** + * @generated from field: exa.api_server_pb.GetChatMessageResponse response = 1; + */ + response?: GetChatMessageResponse | undefined; + + /** + * @generated from field: exa.codeium_common_pb.DeepWikiModelType model_type = 2; + */ + modelType: DeepWikiModelType; + + /** + * @generated from field: bool is_followup = 3; + */ + isFollowup: boolean; +}; + +/** + * Describes the message exa.api_server_pb.GetDeepWikiResponse. + * Use `create(GetDeepWikiResponseSchema)` to create a new message. + */ +export const GetDeepWikiResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 74); + +/** + * @generated from message exa.api_server_pb.CheckChatCapacityRequest + */ +export type CheckChatCapacityRequest = Message<"exa.api_server_pb.CheckChatCapacityRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: exa.codeium_common_pb.Model model_deprecated = 2 [deprecated = true]; + * @deprecated + */ + modelDeprecated: Model; + + /** + * @generated from field: string model_uid = 3; + */ + modelUid: string; +}; + +/** + * Describes the message exa.api_server_pb.CheckChatCapacityRequest. + * Use `create(CheckChatCapacityRequestSchema)` to create a new message. + */ +export const CheckChatCapacityRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 75); + +/** + * @generated from message exa.api_server_pb.CheckChatCapacityResponse + */ +export type CheckChatCapacityResponse = Message<"exa.api_server_pb.CheckChatCapacityResponse"> & { + /** + * @generated from field: bool has_capacity = 1; + */ + hasCapacity: boolean; + + /** + * @generated from field: string message = 2; + */ + message: string; + + /** + * @generated from field: int32 active_sessions = 3; + */ + activeSessions: number; +}; + +/** + * Describes the message exa.api_server_pb.CheckChatCapacityResponse. + * Use `create(CheckChatCapacityResponseSchema)` to create a new message. + */ +export const CheckChatCapacityResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 76); + +/** + * @generated from message exa.api_server_pb.GetStreamingModelAPITextCompletionRequest + */ +export type GetStreamingModelAPITextCompletionRequest = Message<"exa.api_server_pb.GetStreamingModelAPITextCompletionRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: exa.codeium_common_pb.Model model = 2; + */ + model: Model; + + /** + * @generated from field: string system_prompt = 3; + */ + systemPrompt: string; + + /** + * @generated from field: exa.chat_pb.PromptCacheOptions system_prompt_cache_options = 7; + */ + systemPromptCacheOptions?: PromptCacheOptions | undefined; + + /** + * @generated from field: repeated exa.chat_pb.ChatMessagePrompt chat_message_prompts = 4; + */ + chatMessagePrompts: ChatMessagePrompt[]; + + /** + * @generated from field: exa.codeium_common_pb.CompletionConfiguration completion_configuration = 5; + */ + completionConfiguration?: CompletionConfiguration | undefined; + + /** + * @generated from field: exa.api_server_pb.ChatMessageRequestType request_type = 6; + */ + requestType: ChatMessageRequestType; + + /** + * @generated from field: exa.codeium_common_pb.ModelInfo override_model_info = 8; + */ + overrideModelInfo?: ModelInfo | undefined; +}; + +/** + * Describes the message exa.api_server_pb.GetStreamingModelAPITextCompletionRequest. + * Use `create(GetStreamingModelAPITextCompletionRequestSchema)` to create a new message. + */ +export const GetStreamingModelAPITextCompletionRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 77); + +/** + * @generated from message exa.api_server_pb.GetStreamingModelAPITextCompletionResponse + */ +export type GetStreamingModelAPITextCompletionResponse = Message<"exa.api_server_pb.GetStreamingModelAPITextCompletionResponse"> & { + /** + * @generated from field: exa.codeium_common_pb.CompletionDeltaMap delta_map = 1; + */ + deltaMap?: CompletionDeltaMap | undefined; +}; + +/** + * Describes the message exa.api_server_pb.GetStreamingModelAPITextCompletionResponse. + * Use `create(GetStreamingModelAPITextCompletionResponseSchema)` to create a new message. + */ +export const GetStreamingModelAPITextCompletionResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 78); + +/** + * @generated from message exa.api_server_pb.RecordChatRequest + */ +export type RecordChatRequest = Message<"exa.api_server_pb.RecordChatRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: uint64 latency_ms = 2; + */ + latencyMs: bigint; + + /** + * @generated from field: exa.chat_pb.ChatMessage chat_message = 3; + */ + chatMessage?: ChatMessage | undefined; + + /** + * @generated from field: repeated exa.chat_pb.ChatMessagePrompt chat_message_prompts = 4; + */ + chatMessagePrompts: ChatMessagePrompt[]; + + /** + * @generated from field: string system_prompt = 5; + */ + systemPrompt: string; + + /** + * @generated from field: exa.codeium_common_pb.ContextInclusionType context_inclusion_type = 6; + */ + contextInclusionType: ContextInclusionType; + + /** + * @generated from field: string experiment_features_json = 7; + */ + experimentFeaturesJson: string; + + /** + * @generated from field: string experiment_variant_json = 9; + */ + experimentVariantJson: string; + + /** + * @generated from field: exa.codeium_common_pb.Model model_id = 8; + */ + modelId: Model; + + /** + * @generated from field: repeated string active_repos = 10; + */ + activeRepos: string[]; + + /** + * @generated from field: string guideline_prompt = 11; + */ + guidelinePrompt: string; + + /** + * @generated from field: exa.prompt_pb.UnifiedPromptComponents chat_prompt_components = 13; + */ + chatPromptComponents?: UnifiedPromptComponents | undefined; + + /** + * @generated from field: exa.cortex_pb.CortexTrajectoryReference cortex_trajectory_reference = 14; + */ + cortexTrajectoryReference?: CortexTrajectoryReference | undefined; + + /** + * @generated from field: exa.codeium_common_pb.ContextScope pinned_context = 15; + */ + pinnedContext?: ContextScope | undefined; +}; + +/** + * Describes the message exa.api_server_pb.RecordChatRequest. + * Use `create(RecordChatRequestSchema)` to create a new message. + */ +export const RecordChatRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 79); + +/** + * @generated from message exa.api_server_pb.RecordChatResponse + */ +export type RecordChatResponse = Message<"exa.api_server_pb.RecordChatResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.RecordChatResponse. + * Use `create(RecordChatResponseSchema)` to create a new message. + */ +export const RecordChatResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 80); + +/** + * @generated from message exa.api_server_pb.RecordChatFeedbackRequest + */ +export type RecordChatFeedbackRequest = Message<"exa.api_server_pb.RecordChatFeedbackRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string message_id = 2; + */ + messageId: string; + + /** + * @generated from field: exa.chat_pb.ChatFeedbackType feedback = 3; + */ + feedback: ChatFeedbackType; + + /** + * @generated from field: string reason = 4; + */ + reason: string; + + /** + * @generated from field: google.protobuf.Timestamp timestamp = 5; + */ + timestamp?: Timestamp | undefined; +}; + +/** + * Describes the message exa.api_server_pb.RecordChatFeedbackRequest. + * Use `create(RecordChatFeedbackRequestSchema)` to create a new message. + */ +export const RecordChatFeedbackRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 81); + +/** + * @generated from message exa.api_server_pb.RecordChatFeedbackResponse + */ +export type RecordChatFeedbackResponse = Message<"exa.api_server_pb.RecordChatFeedbackResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.RecordChatFeedbackResponse. + * Use `create(RecordChatFeedbackResponseSchema)` to create a new message. + */ +export const RecordChatFeedbackResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 82); + +/** + * @generated from message exa.api_server_pb.RecordChatPanelSessionRequest + */ +export type RecordChatPanelSessionRequest = Message<"exa.api_server_pb.RecordChatPanelSessionRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: google.protobuf.Timestamp start_timestamp = 2; + */ + startTimestamp?: Timestamp | undefined; + + /** + * @generated from field: google.protobuf.Timestamp end_timestamp = 3; + */ + endTimestamp?: Timestamp | undefined; +}; + +/** + * Describes the message exa.api_server_pb.RecordChatPanelSessionRequest. + * Use `create(RecordChatPanelSessionRequestSchema)` to create a new message. + */ +export const RecordChatPanelSessionRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 83); + +/** + * @generated from message exa.api_server_pb.RecordChatPanelSessionResponse + */ +export type RecordChatPanelSessionResponse = Message<"exa.api_server_pb.RecordChatPanelSessionResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.RecordChatPanelSessionResponse. + * Use `create(RecordChatPanelSessionResponseSchema)` to create a new message. + */ +export const RecordChatPanelSessionResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 84); + +/** + * @generated from message exa.api_server_pb.RecordContextRefreshRequest + */ +export type RecordContextRefreshRequest = Message<"exa.api_server_pb.RecordContextRefreshRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: exa.context_module_pb.ContextRefreshReason refresh_reason = 2; + */ + refreshReason: ContextRefreshReason; + + /** + * @generated from field: bool did_refresh = 3; + */ + didRefresh: boolean; + + /** + * @generated from field: string current_document_absolute_path = 4; + */ + currentDocumentAbsolutePath: string; + + /** + * @generated from field: string current_document_relative_path = 5; + */ + currentDocumentRelativePath: string; + + /** + * @generated from field: string current_document_workspace = 6; + */ + currentDocumentWorkspace: string; + + /** + * @generated from field: string current_chat_message_id = 7; + */ + currentChatMessageId: string; + + /** + * @generated from field: exa.codeium_common_pb.Language current_document_language = 8; + */ + currentDocumentLanguage: Language; + + /** + * @generated from field: uint64 latency_ms = 9; + */ + latencyMs: bigint; + + /** + * @generated from field: uint64 state_update_latency_ms = 10; + */ + stateUpdateLatencyMs: bigint; + + /** + * @generated from field: map code_context_counts = 11; + */ + codeContextCounts: { [key: string]: bigint }; + + /** + * @generated from field: google.protobuf.Timestamp timestamp = 12; + */ + timestamp?: Timestamp | undefined; + + /** + * @generated from field: repeated string local_codebase_queries = 13; + */ + localCodebaseQueries: string[]; + + /** + * @generated from field: string context_module_stats_json = 14; + */ + contextModuleStatsJson: string; + + /** + * @generated from field: string refresh_error = 15; + */ + refreshError: string; +}; + +/** + * Describes the message exa.api_server_pb.RecordContextRefreshRequest. + * Use `create(RecordContextRefreshRequestSchema)` to create a new message. + */ +export const RecordContextRefreshRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 85); + +/** + * @generated from message exa.api_server_pb.RecordContextRefreshResponse + */ +export type RecordContextRefreshResponse = Message<"exa.api_server_pb.RecordContextRefreshResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.RecordContextRefreshResponse. + * Use `create(RecordContextRefreshResponseSchema)` to create a new message. + */ +export const RecordContextRefreshResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 86); + +/** + * @generated from message exa.api_server_pb.RecordEventRequest + */ +export type RecordEventRequest = Message<"exa.api_server_pb.RecordEventRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: repeated exa.codeium_common_pb.Event events = 2; + */ + events: Event[]; +}; + +/** + * Describes the message exa.api_server_pb.RecordEventRequest. + * Use `create(RecordEventRequestSchema)` to create a new message. + */ +export const RecordEventRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 87); + +/** + * @generated from message exa.api_server_pb.RecordEventResponse + */ +export type RecordEventResponse = Message<"exa.api_server_pb.RecordEventResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.RecordEventResponse. + * Use `create(RecordEventResponseSchema)` to create a new message. + */ +export const RecordEventResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 88); + +/** + * @generated from message exa.api_server_pb.RecordPinnedContextRequest + */ +export type RecordPinnedContextRequest = Message<"exa.api_server_pb.RecordPinnedContextRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: exa.codeium_common_pb.ContextScope scope = 2; + */ + scope?: ContextScope | undefined; + + /** + * @generated from field: exa.codeium_common_pb.ContextScope previous_scope = 3; + */ + previousScope?: ContextScope | undefined; +}; + +/** + * Describes the message exa.api_server_pb.RecordPinnedContextRequest. + * Use `create(RecordPinnedContextRequestSchema)` to create a new message. + */ +export const RecordPinnedContextRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 89); + +/** + * @generated from message exa.api_server_pb.RecordPinnedContextResponse + */ +export type RecordPinnedContextResponse = Message<"exa.api_server_pb.RecordPinnedContextResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.RecordPinnedContextResponse. + * Use `create(RecordPinnedContextResponseSchema)` to create a new message. + */ +export const RecordPinnedContextResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 90); + +/** + * @generated from message exa.api_server_pb.RecordSearchRequest + */ +export type RecordSearchRequest = Message<"exa.api_server_pb.RecordSearchRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string query = 2; + */ + query: string; + + /** + * @generated from field: string search_id = 3; + */ + searchId: string; + + /** + * @generated from field: uint64 latency_ms = 4; + */ + latencyMs: bigint; + + /** + * @generated from field: exa.codeium_common_pb.SearchResultType search_type = 5; + */ + searchType: SearchResultType; +}; + +/** + * Describes the message exa.api_server_pb.RecordSearchRequest. + * Use `create(RecordSearchRequestSchema)` to create a new message. + */ +export const RecordSearchRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 91); + +/** + * @generated from message exa.api_server_pb.RecordMQueryRequest + */ +export type RecordMQueryRequest = Message<"exa.api_server_pb.RecordMQueryRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string refresh_reason = 2; + */ + refreshReason: string; + + /** + * @generated from field: string query = 3; + */ + query: string; + + /** + * @generated from field: google.protobuf.Timestamp timestamp = 4; + */ + timestamp?: Timestamp | undefined; + + /** + * @generated from field: int64 items_scanned = 5; + */ + itemsScanned: bigint; + + /** + * @generated from field: int64 tokens_processed = 6; + */ + tokensProcessed: bigint; + + /** + * @generated from field: int64 job_duration_ms = 7; + */ + jobDurationMs: bigint; + + /** + * @generated from field: string request_id = 8; + */ + requestId: string; + + /** + * @generated from field: string error_json = 9; + */ + errorJson: string; + + /** + * @generated from field: string relevance_scorer_model = 10; + */ + relevanceScorerModel: string; +}; + +/** + * Describes the message exa.api_server_pb.RecordMQueryRequest. + * Use `create(RecordMQueryRequestSchema)` to create a new message. + */ +export const RecordMQueryRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 92); + +/** + * @generated from message exa.api_server_pb.RecordMQueryResponse + */ +export type RecordMQueryResponse = Message<"exa.api_server_pb.RecordMQueryResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.RecordMQueryResponse. + * Use `create(RecordMQueryResponseSchema)` to create a new message. + */ +export const RecordMQueryResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 93); + +/** + * @generated from message exa.api_server_pb.RecordChatModelNodeRunRequest + */ +export type RecordChatModelNodeRunRequest = Message<"exa.api_server_pb.RecordChatModelNodeRunRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string run_id = 2; + */ + runId: string; + + /** + * @generated from field: string mixin_type = 3; + */ + mixinType: string; + + /** + * @generated from field: uint64 latency_ms = 4; + */ + latencyMs: bigint; + + /** + * @generated from field: string system_prompt = 5; + */ + systemPrompt: string; + + /** + * @generated from field: repeated exa.chat_pb.ChatMessagePrompt chat_message_prompts = 6; + */ + chatMessagePrompts: ChatMessagePrompt[]; + + /** + * @generated from field: exa.codeium_common_pb.ContextInclusionType context_inclusion_type = 7; + */ + contextInclusionType: ContextInclusionType; + + /** + * @generated from field: exa.codeium_common_pb.Model model_id = 8; + */ + modelId: Model; + + /** + * @generated from field: google.protobuf.Timestamp timestamp = 9; + */ + timestamp?: Timestamp | undefined; + + /** + * @generated from field: string error = 10; + */ + error: string; + + /** + * @generated from field: int32 num_iterations = 11; + */ + numIterations: number; + + /** + * @generated from field: int32 completion_tokens = 12; + */ + completionTokens: number; + + /** + * @generated from field: int32 prompt_tokens = 13; + */ + promptTokens: number; +}; + +/** + * Describes the message exa.api_server_pb.RecordChatModelNodeRunRequest. + * Use `create(RecordChatModelNodeRunRequestSchema)` to create a new message. + */ +export const RecordChatModelNodeRunRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 94); + +/** + * @generated from message exa.api_server_pb.RecordChatModelNodeRunResponse + */ +export type RecordChatModelNodeRunResponse = Message<"exa.api_server_pb.RecordChatModelNodeRunResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.RecordChatModelNodeRunResponse. + * Use `create(RecordChatModelNodeRunResponseSchema)` to create a new message. + */ +export const RecordChatModelNodeRunResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 95); + +/** + * @generated from message exa.api_server_pb.RecordCortexStepRequest + */ +export type RecordCortexStepRequest = Message<"exa.api_server_pb.RecordCortexStepRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string cortex_plan_id = 2; + */ + cortexPlanId: string; + + /** + * @generated from field: exa.cortex_pb.CortexTrajectoryStep step_proto = 3; + */ + stepProto?: CortexTrajectoryStep | undefined; + + /** + * @generated from field: string execution_id = 4; + */ + executionId: string; + + /** + * @generated from field: exa.cortex_pb.CortexWorkflowState state_snapshot = 5; + */ + stateSnapshot?: CortexWorkflowState | undefined; + + /** + * @generated from field: string event_source = 6; + */ + eventSource: string; +}; + +/** + * Describes the message exa.api_server_pb.RecordCortexStepRequest. + * Use `create(RecordCortexStepRequestSchema)` to create a new message. + */ +export const RecordCortexStepRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 96); + +/** + * @generated from message exa.api_server_pb.RecordCortexStepResponse + */ +export type RecordCortexStepResponse = Message<"exa.api_server_pb.RecordCortexStepResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.RecordCortexStepResponse. + * Use `create(RecordCortexStepResponseSchema)` to create a new message. + */ +export const RecordCortexStepResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 97); + +/** + * @generated from message exa.api_server_pb.RecordTrajectorySegmentAnalyticsRequest + */ +export type RecordTrajectorySegmentAnalyticsRequest = Message<"exa.api_server_pb.RecordTrajectorySegmentAnalyticsRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: exa.cortex_pb.CortexTrajectory trajectory_segment = 2; + */ + trajectorySegment?: CortexTrajectory | undefined; + + /** + * @generated from field: uint32 start_step_index = 3; + */ + startStepIndex: number; + + /** + * @generated from field: uint32 start_generator_metadata_index = 4; + */ + startGeneratorMetadataIndex: number; +}; + +/** + * Describes the message exa.api_server_pb.RecordTrajectorySegmentAnalyticsRequest. + * Use `create(RecordTrajectorySegmentAnalyticsRequestSchema)` to create a new message. + */ +export const RecordTrajectorySegmentAnalyticsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 98); + +/** + * @generated from message exa.api_server_pb.RecordTrajectorySegmentAnalyticsResponse + */ +export type RecordTrajectorySegmentAnalyticsResponse = Message<"exa.api_server_pb.RecordTrajectorySegmentAnalyticsResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.RecordTrajectorySegmentAnalyticsResponse. + * Use `create(RecordTrajectorySegmentAnalyticsResponseSchema)` to create a new message. + */ +export const RecordTrajectorySegmentAnalyticsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 99); + +/** + * @generated from message exa.api_server_pb.RecordTrajectorySegmentEventsRequest + */ +export type RecordTrajectorySegmentEventsRequest = Message<"exa.api_server_pb.RecordTrajectorySegmentEventsRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string trajectory_id = 2; + */ + trajectoryId: string; + + /** + * @generated from field: string execution_id = 3; + */ + executionId: string; + + /** + * @generated from field: repeated exa.codeium_common_pb.MetricsRecord records = 4; + */ + records: MetricsRecord[]; + + /** + * @generated from field: string event_type = 5; + */ + eventType: string; + + /** + * @generated from field: exa.cortex_pb.CortexTrajectorySource trajectory_source = 6; + */ + trajectorySource: CortexTrajectorySource; + + /** + * @generated from field: exa.cortex_pb.CortexTrajectoryType trajectory_type = 7; + */ + trajectoryType: CortexTrajectoryType; + + /** + * @generated from field: exa.codeium_common_pb.ModelOrAlias model_deprecated = 8 [deprecated = true]; + * @deprecated + */ + modelDeprecated?: ModelOrAlias | undefined; + + /** + * @generated from field: string model_uid = 9; + */ + modelUid: string; +}; + +/** + * Describes the message exa.api_server_pb.RecordTrajectorySegmentEventsRequest. + * Use `create(RecordTrajectorySegmentEventsRequestSchema)` to create a new message. + */ +export const RecordTrajectorySegmentEventsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 100); + +/** + * @generated from message exa.api_server_pb.RecordTrajectorySegmentEventsResponse + */ +export type RecordTrajectorySegmentEventsResponse = Message<"exa.api_server_pb.RecordTrajectorySegmentEventsResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.RecordTrajectorySegmentEventsResponse. + * Use `create(RecordTrajectorySegmentEventsResponseSchema)` to create a new message. + */ +export const RecordTrajectorySegmentEventsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 101); + +/** + * @generated from message exa.api_server_pb.RecordCortexGeneratorMetadataRequest + */ +export type RecordCortexGeneratorMetadataRequest = Message<"exa.api_server_pb.RecordCortexGeneratorMetadataRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string trajectory_id = 2; + */ + trajectoryId: string; + + /** + * @generated from field: string cascade_id = 3; + */ + cascadeId: string; + + /** + * @generated from field: exa.cortex_pb.CortexStepGeneratorMetadata generator_metadata = 4; + */ + generatorMetadata?: CortexStepGeneratorMetadata | undefined; + + /** + * @generated from field: uint32 metadata_index = 5; + */ + metadataIndex: number; + + /** + * @generated from field: int32 last_common_index = 6; + */ + lastCommonIndex: number; +}; + +/** + * Describes the message exa.api_server_pb.RecordCortexGeneratorMetadataRequest. + * Use `create(RecordCortexGeneratorMetadataRequestSchema)` to create a new message. + */ +export const RecordCortexGeneratorMetadataRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 102); + +/** + * @generated from message exa.api_server_pb.RecordCortexGeneratorMetadataResponse + */ +export type RecordCortexGeneratorMetadataResponse = Message<"exa.api_server_pb.RecordCortexGeneratorMetadataResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.RecordCortexGeneratorMetadataResponse. + * Use `create(RecordCortexGeneratorMetadataResponseSchema)` to create a new message. + */ +export const RecordCortexGeneratorMetadataResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 103); + +/** + * @generated from message exa.api_server_pb.RecordCommitMessageGenerationRequest + */ +export type RecordCommitMessageGenerationRequest = Message<"exa.api_server_pb.RecordCommitMessageGenerationRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: uint64 generation_duration_ms = 2; + */ + generationDurationMs: bigint; + + /** + * @generated from field: string system_prompt = 3; + */ + systemPrompt: string; + + /** + * @generated from field: string full_prompt = 4; + */ + fullPrompt: string; + + /** + * @generated from field: int32 prompt_tokens = 5; + */ + promptTokens: number; + + /** + * @generated from field: int32 completion_tokens = 6; + */ + completionTokens: number; + + /** + * @generated from field: string repo_root = 7; + */ + repoRoot: string; + + /** + * @generated from field: string branch_name = 8; + */ + branchName: string; + + /** + * @generated from field: string latest_commit_hash = 9; + */ + latestCommitHash: string; + + /** + * @generated from field: uint32 num_files_changed = 10; + */ + numFilesChanged: number; + + /** + * @generated from field: uint32 num_lines_added = 11; + */ + numLinesAdded: number; + + /** + * @generated from field: uint32 num_lines_deleted = 12; + */ + numLinesDeleted: number; + + /** + * @generated from field: string commit_message_summary = 13; + */ + commitMessageSummary: string; + + /** + * @generated from field: string commit_message_description = 14; + */ + commitMessageDescription: string; +}; + +/** + * Describes the message exa.api_server_pb.RecordCommitMessageGenerationRequest. + * Use `create(RecordCommitMessageGenerationRequestSchema)` to create a new message. + */ +export const RecordCommitMessageGenerationRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 104); + +/** + * @generated from message exa.api_server_pb.RecordCortexExecutionMetadataResponse + */ +export type RecordCortexExecutionMetadataResponse = Message<"exa.api_server_pb.RecordCortexExecutionMetadataResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.RecordCortexExecutionMetadataResponse. + * Use `create(RecordCortexExecutionMetadataResponseSchema)` to create a new message. + */ +export const RecordCortexExecutionMetadataResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 105); + +/** + * @generated from message exa.api_server_pb.RecordCortexExecutionMetadataRequest + */ +export type RecordCortexExecutionMetadataRequest = Message<"exa.api_server_pb.RecordCortexExecutionMetadataRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string execution_id = 2; + */ + executionId: string; + + /** + * @generated from field: string cascade_id = 3; + */ + cascadeId: string; + + /** + * @generated from field: string trajectory_id = 4; + */ + trajectoryId: string; + + /** + * @generated from field: string experiment_json = 5; + */ + experimentJson: string; + + /** + * @generated from field: string experiment_variants_json = 6; + */ + experimentVariantsJson: string; + + /** + * @generated from field: exa.cortex_pb.CascadeConfig cascade_config = 7; + */ + cascadeConfig?: CascadeConfig | undefined; +}; + +/** + * Describes the message exa.api_server_pb.RecordCortexExecutionMetadataRequest. + * Use `create(RecordCortexExecutionMetadataRequestSchema)` to create a new message. + */ +export const RecordCortexExecutionMetadataRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 106); + +/** + * @generated from message exa.api_server_pb.RecordCommitMessageGenerationResponse + */ +export type RecordCommitMessageGenerationResponse = Message<"exa.api_server_pb.RecordCommitMessageGenerationResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.RecordCommitMessageGenerationResponse. + * Use `create(RecordCommitMessageGenerationResponseSchema)` to create a new message. + */ +export const RecordCommitMessageGenerationResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 107); + +/** + * @generated from message exa.api_server_pb.RecordStateInitializationDataRequest + */ +export type RecordStateInitializationDataRequest = Message<"exa.api_server_pb.RecordStateInitializationDataRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: exa.cortex_pb.StateInitializationData state_initialization_data = 2; + */ + stateInitializationData?: StateInitializationData | undefined; +}; + +/** + * Describes the message exa.api_server_pb.RecordStateInitializationDataRequest. + * Use `create(RecordStateInitializationDataRequestSchema)` to create a new message. + */ +export const RecordStateInitializationDataRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 108); + +/** + * @generated from message exa.api_server_pb.RecordStateInitializationDataResponse + */ +export type RecordStateInitializationDataResponse = Message<"exa.api_server_pb.RecordStateInitializationDataResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.RecordStateInitializationDataResponse. + * Use `create(RecordStateInitializationDataResponseSchema)` to create a new message. + */ +export const RecordStateInitializationDataResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 109); + +/** + * @generated from message exa.api_server_pb.RecordCommitMessageSaveRequest + */ +export type RecordCommitMessageSaveRequest = Message<"exa.api_server_pb.RecordCommitMessageSaveRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string repo_root = 2; + */ + repoRoot: string; + + /** + * @generated from field: string branch_name = 3; + */ + branchName: string; + + /** + * @generated from field: string commit_hash = 4; + */ + commitHash: string; + + /** + * @generated from field: string commit_message = 5; + */ + commitMessage: string; + + /** + * @generated from field: google.protobuf.Timestamp commit_timestamp = 6; + */ + commitTimestamp?: Timestamp | undefined; + + /** + * @generated from field: string parent_commit_hash = 7; + */ + parentCommitHash: string; + + /** + * @generated from field: string author_name = 8; + */ + authorName: string; + + /** + * @generated from field: string author_email = 9; + */ + authorEmail: string; +}; + +/** + * Describes the message exa.api_server_pb.RecordCommitMessageSaveRequest. + * Use `create(RecordCommitMessageSaveRequestSchema)` to create a new message. + */ +export const RecordCommitMessageSaveRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 110); + +/** + * @generated from message exa.api_server_pb.RecordCommitMessageSaveResponse + */ +export type RecordCommitMessageSaveResponse = Message<"exa.api_server_pb.RecordCommitMessageSaveResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.RecordCommitMessageSaveResponse. + * Use `create(RecordCommitMessageSaveResponseSchema)` to create a new message. + */ +export const RecordCommitMessageSaveResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 111); + +/** + * @generated from message exa.api_server_pb.RecordSearchResponse + */ +export type RecordSearchResponse = Message<"exa.api_server_pb.RecordSearchResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.RecordSearchResponse. + * Use `create(RecordSearchResponseSchema)` to create a new message. + */ +export const RecordSearchResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 112); + +/** + * @generated from message exa.api_server_pb.RecordSearchResultsRequest + */ +export type RecordSearchResultsRequest = Message<"exa.api_server_pb.RecordSearchResultsRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: repeated exa.codeium_common_pb.SearchResultRecord search_results = 2; + */ + searchResults: SearchResultRecord[]; +}; + +/** + * Describes the message exa.api_server_pb.RecordSearchResultsRequest. + * Use `create(RecordSearchResultsRequestSchema)` to create a new message. + */ +export const RecordSearchResultsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 113); + +/** + * @generated from message exa.api_server_pb.RecordSearchResultsResponse + */ +export type RecordSearchResultsResponse = Message<"exa.api_server_pb.RecordSearchResultsResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.RecordSearchResultsResponse. + * Use `create(RecordSearchResultsResponseSchema)` to create a new message. + */ +export const RecordSearchResultsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 114); + +/** + * @generated from message exa.api_server_pb.RecordSearchDocOpenRequest + */ +export type RecordSearchDocOpenRequest = Message<"exa.api_server_pb.RecordSearchDocOpenRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string result_id = 2; + */ + resultId: string; +}; + +/** + * Describes the message exa.api_server_pb.RecordSearchDocOpenRequest. + * Use `create(RecordSearchDocOpenRequestSchema)` to create a new message. + */ +export const RecordSearchDocOpenRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 115); + +/** + * @generated from message exa.api_server_pb.RecordSearchDocOpenResponse + */ +export type RecordSearchDocOpenResponse = Message<"exa.api_server_pb.RecordSearchDocOpenResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.RecordSearchDocOpenResponse. + * Use `create(RecordSearchDocOpenResponseSchema)` to create a new message. + */ +export const RecordSearchDocOpenResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 116); + +/** + * @generated from message exa.api_server_pb.RecordSearchResultsViewRequest + */ +export type RecordSearchResultsViewRequest = Message<"exa.api_server_pb.RecordSearchResultsViewRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string cluster_search_id = 2; + */ + clusterSearchId: string; + + /** + * @generated from field: string exact_search_id = 3; + */ + exactSearchId: string; + + /** + * @generated from field: repeated string search_result_ids = 4; + */ + searchResultIds: string[]; +}; + +/** + * Describes the message exa.api_server_pb.RecordSearchResultsViewRequest. + * Use `create(RecordSearchResultsViewRequestSchema)` to create a new message. + */ +export const RecordSearchResultsViewRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 117); + +/** + * @generated from message exa.api_server_pb.RecordSearchResultsViewResponse + */ +export type RecordSearchResultsViewResponse = Message<"exa.api_server_pb.RecordSearchResultsViewResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.RecordSearchResultsViewResponse. + * Use `create(RecordSearchResultsViewResponseSchema)` to create a new message. + */ +export const RecordSearchResultsViewResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 118); + +/** + * @generated from message exa.api_server_pb.CaptureCodeRequest + */ +export type CaptureCodeRequest = Message<"exa.api_server_pb.CaptureCodeRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string prompt_id = 2; + */ + promptId: string; + + /** + * @generated from field: string code = 3; + */ + code: string; + + /** + * @generated from field: uint64 timeout_sec = 4; + */ + timeoutSec: bigint; + + /** + * @generated from field: string completion_text = 5; + */ + completionText: string; + + /** + * @generated from field: float relative_edit_distance = 6; + */ + relativeEditDistance: number; + + /** + * @generated from field: uint32 edit_distance = 7; + */ + editDistance: number; + + /** + * @generated from field: string match = 8; + */ + match: string; + + /** + * @generated from field: uint32 start_edit_distance = 9; + */ + startEditDistance: number; + + /** + * @generated from field: string start_match = 10; + */ + startMatch: string; + + /** + * @generated from field: exa.codeium_common_pb.ProviderSource provider_source = 11; + */ + providerSource: ProviderSource; + + /** + * @generated from field: string completion_id = 12; + */ + completionId: string; + + /** + * @generated from field: string diagnostic_severity = 13; + */ + diagnosticSeverity: string; +}; + +/** + * Describes the message exa.api_server_pb.CaptureCodeRequest. + * Use `create(CaptureCodeRequestSchema)` to create a new message. + */ +export const CaptureCodeRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 119); + +/** + * @generated from message exa.api_server_pb.CaptureCodeResponse + */ +export type CaptureCodeResponse = Message<"exa.api_server_pb.CaptureCodeResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.CaptureCodeResponse. + * Use `create(CaptureCodeResponseSchema)` to create a new message. + */ +export const CaptureCodeResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 120); + +/** + * @generated from message exa.api_server_pb.CaptureFileRequest + */ +export type CaptureFileRequest = Message<"exa.api_server_pb.CaptureFileRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.CaptureFileRequestData data = 1; + */ + data?: CaptureFileRequestData | undefined; +}; + +/** + * Describes the message exa.api_server_pb.CaptureFileRequest. + * Use `create(CaptureFileRequestSchema)` to create a new message. + */ +export const CaptureFileRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 121); + +/** + * @generated from message exa.api_server_pb.CaptureFileResponse + */ +export type CaptureFileResponse = Message<"exa.api_server_pb.CaptureFileResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.CaptureFileResponse. + * Use `create(CaptureFileResponseSchema)` to create a new message. + */ +export const CaptureFileResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 122); + +/** + * @generated from message exa.api_server_pb.SupportsRemoteIndexingRequest + */ +export type SupportsRemoteIndexingRequest = Message<"exa.api_server_pb.SupportsRemoteIndexingRequest"> & { +}; + +/** + * Describes the message exa.api_server_pb.SupportsRemoteIndexingRequest. + * Use `create(SupportsRemoteIndexingRequestSchema)` to create a new message. + */ +export const SupportsRemoteIndexingRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 123); + +/** + * @generated from message exa.api_server_pb.SupportsRemoteIndexingResponse + */ +export type SupportsRemoteIndexingResponse = Message<"exa.api_server_pb.SupportsRemoteIndexingResponse"> & { + /** + * @generated from field: bool supports_remote_indexing = 1; + */ + supportsRemoteIndexing: boolean; +}; + +/** + * Describes the message exa.api_server_pb.SupportsRemoteIndexingResponse. + * Use `create(SupportsRemoteIndexingResponseSchema)` to create a new message. + */ +export const SupportsRemoteIndexingResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 124); + +/** + * @generated from message exa.api_server_pb.GetModelStatusesRequest + */ +export type GetModelStatusesRequest = Message<"exa.api_server_pb.GetModelStatusesRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; +}; + +/** + * Describes the message exa.api_server_pb.GetModelStatusesRequest. + * Use `create(GetModelStatusesRequestSchema)` to create a new message. + */ +export const GetModelStatusesRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 125); + +/** + * @generated from message exa.api_server_pb.GetModelStatusesResponse + */ +export type GetModelStatusesResponse = Message<"exa.api_server_pb.GetModelStatusesResponse"> & { + /** + * @generated from field: repeated exa.codeium_common_pb.ModelStatusInfo model_status_infos = 1; + */ + modelStatusInfos: ModelStatusInfo[]; +}; + +/** + * Describes the message exa.api_server_pb.GetModelStatusesResponse. + * Use `create(GetModelStatusesResponseSchema)` to create a new message. + */ +export const GetModelStatusesResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 126); + +/** + * @generated from message exa.api_server_pb.GetModelProvidersRequest + */ +export type GetModelProvidersRequest = Message<"exa.api_server_pb.GetModelProvidersRequest"> & { +}; + +/** + * Describes the message exa.api_server_pb.GetModelProvidersRequest. + * Use `create(GetModelProvidersRequestSchema)` to create a new message. + */ +export const GetModelProvidersRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 127); + +/** + * @generated from message exa.api_server_pb.ModelProviderInfo + */ +export type ModelProviderInfo = Message<"exa.api_server_pb.ModelProviderInfo"> & { + /** + * @generated from field: exa.codeium_common_pb.ModelProvider provider = 1; + */ + provider: ModelProvider; + + /** + * @generated from field: string display_name = 2; + */ + displayName: string; +}; + +/** + * Describes the message exa.api_server_pb.ModelProviderInfo. + * Use `create(ModelProviderInfoSchema)` to create a new message. + */ +export const ModelProviderInfoSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 128); + +/** + * @generated from message exa.api_server_pb.GetModelProvidersResponse + */ +export type GetModelProvidersResponse = Message<"exa.api_server_pb.GetModelProvidersResponse"> & { + /** + * @generated from field: repeated exa.api_server_pb.ModelProviderInfo model_providers = 1; + */ + modelProviders: ModelProviderInfo[]; +}; + +/** + * Describes the message exa.api_server_pb.GetModelProvidersResponse. + * Use `create(GetModelProvidersResponseSchema)` to create a new message. + */ +export const GetModelProvidersResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 129); + +/** + * @generated from message exa.api_server_pb.RegisterExternalUserRequest + */ +export type RegisterExternalUserRequest = Message<"exa.api_server_pb.RegisterExternalUserRequest"> & { + /** + * @generated from field: string uid = 1; + */ + uid: string; + + /** + * @generated from field: exa.codeium_common_pb.AuthSource auth_source = 2; + */ + authSource: AuthSource; + + /** + * @generated from field: string private_key = 3; + */ + privateKey: string; +}; + +/** + * Describes the message exa.api_server_pb.RegisterExternalUserRequest. + * Use `create(RegisterExternalUserRequestSchema)` to create a new message. + */ +export const RegisterExternalUserRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 130); + +/** + * @generated from message exa.api_server_pb.RegisterExternalUserResponse + */ +export type RegisterExternalUserResponse = Message<"exa.api_server_pb.RegisterExternalUserResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.RegisterExternalUserResponse. + * Use `create(RegisterExternalUserResponseSchema)` to create a new message. + */ +export const RegisterExternalUserResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 131); + +/** + * @generated from message exa.api_server_pb.DeleteExternalUserRequest + */ +export type DeleteExternalUserRequest = Message<"exa.api_server_pb.DeleteExternalUserRequest"> & { + /** + * @generated from field: string uid = 1; + */ + uid: string; + + /** + * @generated from field: exa.codeium_common_pb.AuthSource auth_source = 2; + */ + authSource: AuthSource; + + /** + * @generated from field: string private_key = 3; + */ + privateKey: string; +}; + +/** + * Describes the message exa.api_server_pb.DeleteExternalUserRequest. + * Use `create(DeleteExternalUserRequestSchema)` to create a new message. + */ +export const DeleteExternalUserRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 132); + +/** + * @generated from message exa.api_server_pb.DeleteExternalUserResponse + */ +export type DeleteExternalUserResponse = Message<"exa.api_server_pb.DeleteExternalUserResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.DeleteExternalUserResponse. + * Use `create(DeleteExternalUserResponseSchema)` to create a new message. + */ +export const DeleteExternalUserResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 133); + +/** + * @generated from message exa.api_server_pb.GetSubscriptionsRequest + */ +export type GetSubscriptionsRequest = Message<"exa.api_server_pb.GetSubscriptionsRequest"> & { + /** + * @generated from field: string firebase_id_token = 1; + */ + firebaseIdToken: string; +}; + +/** + * Describes the message exa.api_server_pb.GetSubscriptionsRequest. + * Use `create(GetSubscriptionsRequestSchema)` to create a new message. + */ +export const GetSubscriptionsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 134); + +/** + * @generated from message exa.api_server_pb.GetSubscriptionsResponse + */ +export type GetSubscriptionsResponse = Message<"exa.api_server_pb.GetSubscriptionsResponse"> & { + /** + * @generated from field: bool exists = 1; + */ + exists: boolean; + + /** + * @generated from field: bool newsletter = 2; + */ + newsletter: boolean; + + /** + * @generated from field: bool disabled_telemetry = 3; + */ + disabledTelemetry: boolean; + + /** + * @generated from field: string inbound_source = 4; + */ + inboundSource: string; + + /** + * @generated from field: string signup_stage = 5; + */ + signupStage: string; +}; + +/** + * Describes the message exa.api_server_pb.GetSubscriptionsResponse. + * Use `create(GetSubscriptionsResponseSchema)` to create a new message. + */ +export const GetSubscriptionsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 135); + +/** + * @generated from message exa.api_server_pb.JoinWaitlistRequest + */ +export type JoinWaitlistRequest = Message<"exa.api_server_pb.JoinWaitlistRequest"> & { + /** + * @generated from field: string feature_name = 1; + */ + featureName: string; + + /** + * @generated from field: string email = 2; + */ + email: string; +}; + +/** + * Describes the message exa.api_server_pb.JoinWaitlistRequest. + * Use `create(JoinWaitlistRequestSchema)` to create a new message. + */ +export const JoinWaitlistRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 136); + +/** + * @generated from message exa.api_server_pb.JoinWaitlistResponse + */ +export type JoinWaitlistResponse = Message<"exa.api_server_pb.JoinWaitlistResponse"> & { + /** + * @generated from field: string result = 1; + */ + result: string; +}; + +/** + * Describes the message exa.api_server_pb.JoinWaitlistResponse. + * Use `create(JoinWaitlistResponseSchema)` to create a new message. + */ +export const JoinWaitlistResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 137); + +/** + * @generated from message exa.api_server_pb.SubscribeToBlogRequest + */ +export type SubscribeToBlogRequest = Message<"exa.api_server_pb.SubscribeToBlogRequest"> & { + /** + * @generated from field: string email = 1; + */ + email: string; +}; + +/** + * Describes the message exa.api_server_pb.SubscribeToBlogRequest. + * Use `create(SubscribeToBlogRequestSchema)` to create a new message. + */ +export const SubscribeToBlogRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 138); + +/** + * @generated from message exa.api_server_pb.SubscribeToBlogResponse + */ +export type SubscribeToBlogResponse = Message<"exa.api_server_pb.SubscribeToBlogResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.SubscribeToBlogResponse. + * Use `create(SubscribeToBlogResponseSchema)` to create a new message. + */ +export const SubscribeToBlogResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 139); + +/** + * @generated from message exa.api_server_pb.UnsubscribeFromEmailsRequest + */ +export type UnsubscribeFromEmailsRequest = Message<"exa.api_server_pb.UnsubscribeFromEmailsRequest"> & { + /** + * @generated from field: string email = 1; + */ + email: string; +}; + +/** + * Describes the message exa.api_server_pb.UnsubscribeFromEmailsRequest. + * Use `create(UnsubscribeFromEmailsRequestSchema)` to create a new message. + */ +export const UnsubscribeFromEmailsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 140); + +/** + * @generated from message exa.api_server_pb.UnsubscribeFromEmailsResponse + */ +export type UnsubscribeFromEmailsResponse = Message<"exa.api_server_pb.UnsubscribeFromEmailsResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.UnsubscribeFromEmailsResponse. + * Use `create(UnsubscribeFromEmailsResponseSchema)` to create a new message. + */ +export const UnsubscribeFromEmailsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 141); + +/** + * @generated from message exa.api_server_pb.SendReferralEmailRequest + */ +export type SendReferralEmailRequest = Message<"exa.api_server_pb.SendReferralEmailRequest"> & { + /** + * @generated from field: string email = 2; + */ + email: string; + + /** + * @generated from field: string details = 3; + */ + details: string; +}; + +/** + * Describes the message exa.api_server_pb.SendReferralEmailRequest. + * Use `create(SendReferralEmailRequestSchema)` to create a new message. + */ +export const SendReferralEmailRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 142); + +/** + * @generated from message exa.api_server_pb.SendReferralEmailResponse + */ +export type SendReferralEmailResponse = Message<"exa.api_server_pb.SendReferralEmailResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.SendReferralEmailResponse. + * Use `create(SendReferralEmailResponseSchema)` to create a new message. + */ +export const SendReferralEmailResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 143); + +/** + * @generated from message exa.api_server_pb.AccountOwnershipNotificationVerificationRequest + */ +export type AccountOwnershipNotificationVerificationRequest = Message<"exa.api_server_pb.AccountOwnershipNotificationVerificationRequest"> & { +}; + +/** + * Describes the message exa.api_server_pb.AccountOwnershipNotificationVerificationRequest. + * Use `create(AccountOwnershipNotificationVerificationRequestSchema)` to create a new message. + */ +export const AccountOwnershipNotificationVerificationRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 144); + +/** + * @generated from message exa.api_server_pb.AccountOwnershipNotificationVerificationResponse + */ +export type AccountOwnershipNotificationVerificationResponse = Message<"exa.api_server_pb.AccountOwnershipNotificationVerificationResponse"> & { + /** + * @generated from field: bool should_show = 1; + */ + shouldShow: boolean; + + /** + * @generated from field: string verification_code = 2; + */ + verificationCode: string; +}; + +/** + * Describes the message exa.api_server_pb.AccountOwnershipNotificationVerificationResponse. + * Use `create(AccountOwnershipNotificationVerificationResponseSchema)` to create a new message. + */ +export const AccountOwnershipNotificationVerificationResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 145); + +/** + * @generated from message exa.api_server_pb.AccountOwnershipNotificationDismissRequest + */ +export type AccountOwnershipNotificationDismissRequest = Message<"exa.api_server_pb.AccountOwnershipNotificationDismissRequest"> & { +}; + +/** + * Describes the message exa.api_server_pb.AccountOwnershipNotificationDismissRequest. + * Use `create(AccountOwnershipNotificationDismissRequestSchema)` to create a new message. + */ +export const AccountOwnershipNotificationDismissRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 146); + +/** + * @generated from message exa.api_server_pb.AccountOwnershipNotificationDismissResponse + */ +export type AccountOwnershipNotificationDismissResponse = Message<"exa.api_server_pb.AccountOwnershipNotificationDismissResponse"> & { + /** + * @generated from field: bool success = 1; + */ + success: boolean; +}; + +/** + * Describes the message exa.api_server_pb.AccountOwnershipNotificationDismissResponse. + * Use `create(AccountOwnershipNotificationDismissResponseSchema)` to create a new message. + */ +export const AccountOwnershipNotificationDismissResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 147); + +/** + * @generated from message exa.api_server_pb.PingRequest + */ +export type PingRequest = Message<"exa.api_server_pb.PingRequest"> & { + /** + * @generated from field: uint64 work_duration_ms = 1 [deprecated = true]; + * @deprecated + */ + workDurationMs: bigint; +}; + +/** + * Describes the message exa.api_server_pb.PingRequest. + * Use `create(PingRequestSchema)` to create a new message. + */ +export const PingRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 148); + +/** + * @generated from message exa.api_server_pb.PingResponse + */ +export type PingResponse = Message<"exa.api_server_pb.PingResponse"> & { + /** + * @generated from field: uint64 latency_ms = 1; + */ + latencyMs: bigint; +}; + +/** + * Describes the message exa.api_server_pb.PingResponse. + * Use `create(PingResponseSchema)` to create a new message. + */ +export const PingResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 149); + +/** + * @generated from message exa.api_server_pb.GetExtensionStatsRequest + */ +export type GetExtensionStatsRequest = Message<"exa.api_server_pb.GetExtensionStatsRequest"> & { +}; + +/** + * Describes the message exa.api_server_pb.GetExtensionStatsRequest. + * Use `create(GetExtensionStatsRequestSchema)` to create a new message. + */ +export const GetExtensionStatsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 150); + +/** + * @generated from message exa.api_server_pb.GetExtensionStatsResponse + */ +export type GetExtensionStatsResponse = Message<"exa.api_server_pb.GetExtensionStatsResponse"> & { + /** + * @generated from field: int64 vs_code_downloads = 1; + */ + vsCodeDownloads: bigint; + + /** + * @generated from field: int64 jetbrain_downloads = 2; + */ + jetbrainDownloads: bigint; + + /** + * @generated from field: int64 vim_stars = 3; + */ + vimStars: bigint; +}; + +/** + * Describes the message exa.api_server_pb.GetExtensionStatsResponse. + * Use `create(GetExtensionStatsResponseSchema)` to create a new message. + */ +export const GetExtensionStatsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 151); + +/** + * @generated from message exa.api_server_pb.RegisterHybridDeploymentRequest + */ +export type RegisterHybridDeploymentRequest = Message<"exa.api_server_pb.RegisterHybridDeploymentRequest"> & { + /** + * @generated from field: string version = 1; + */ + version: string; + + /** + * @generated from field: string team_id = 2; + */ + teamId: string; + + /** + * @generated from field: string base_url = 3; + */ + baseUrl: string; +}; + +/** + * Describes the message exa.api_server_pb.RegisterHybridDeploymentRequest. + * Use `create(RegisterHybridDeploymentRequestSchema)` to create a new message. + */ +export const RegisterHybridDeploymentRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 152); + +/** + * @generated from message exa.api_server_pb.RegisterHybridDeploymentResponse + */ +export type RegisterHybridDeploymentResponse = Message<"exa.api_server_pb.RegisterHybridDeploymentResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.RegisterHybridDeploymentResponse. + * Use `create(RegisterHybridDeploymentResponseSchema)` to create a new message. + */ +export const RegisterHybridDeploymentResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 153); + +/** + * @generated from message exa.api_server_pb.CreateHybridDeploymentInternalRequest + */ +export type CreateHybridDeploymentInternalRequest = Message<"exa.api_server_pb.CreateHybridDeploymentInternalRequest"> & { + /** + * @generated from field: string version = 1; + */ + version: string; + + /** + * @generated from field: string team_id = 2; + */ + teamId: string; + + /** + * @generated from field: string base_url = 3; + */ + baseUrl: string; + + /** + * @generated from field: string secret = 4; + */ + secret: string; +}; + +/** + * Describes the message exa.api_server_pb.CreateHybridDeploymentInternalRequest. + * Use `create(CreateHybridDeploymentInternalRequestSchema)` to create a new message. + */ +export const CreateHybridDeploymentInternalRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 154); + +/** + * @generated from message exa.api_server_pb.CreateHybridDeploymentInternalResponse + */ +export type CreateHybridDeploymentInternalResponse = Message<"exa.api_server_pb.CreateHybridDeploymentInternalResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.CreateHybridDeploymentInternalResponse. + * Use `create(CreateHybridDeploymentInternalResponseSchema)` to create a new message. + */ +export const CreateHybridDeploymentInternalResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 155); + +/** + * @generated from message exa.api_server_pb.RemoveHybridDeploymentInternalRequest + */ +export type RemoveHybridDeploymentInternalRequest = Message<"exa.api_server_pb.RemoveHybridDeploymentInternalRequest"> & { + /** + * @generated from field: string team_id = 1; + */ + teamId: string; + + /** + * @generated from field: string secret = 2; + */ + secret: string; +}; + +/** + * Describes the message exa.api_server_pb.RemoveHybridDeploymentInternalRequest. + * Use `create(RemoveHybridDeploymentInternalRequestSchema)` to create a new message. + */ +export const RemoveHybridDeploymentInternalRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 156); + +/** + * @generated from message exa.api_server_pb.RemoveHybridDeploymentInternalResponse + */ +export type RemoveHybridDeploymentInternalResponse = Message<"exa.api_server_pb.RemoveHybridDeploymentInternalResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.RemoveHybridDeploymentInternalResponse. + * Use `create(RemoveHybridDeploymentInternalResponseSchema)` to create a new message. + */ +export const RemoveHybridDeploymentInternalResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 157); + +/** + * @generated from message exa.api_server_pb.GetHybridDeploymentsInternalRequest + */ +export type GetHybridDeploymentsInternalRequest = Message<"exa.api_server_pb.GetHybridDeploymentsInternalRequest"> & { + /** + * @generated from field: string secret = 1; + */ + secret: string; +}; + +/** + * Describes the message exa.api_server_pb.GetHybridDeploymentsInternalRequest. + * Use `create(GetHybridDeploymentsInternalRequestSchema)` to create a new message. + */ +export const GetHybridDeploymentsInternalRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 158); + +/** + * @generated from message exa.api_server_pb.HybridDeployment + */ +export type HybridDeployment = Message<"exa.api_server_pb.HybridDeployment"> & { + /** + * @generated from field: string team_id = 1; + */ + teamId: string; + + /** + * @generated from field: string shared_secret = 2; + */ + sharedSecret: string; + + /** + * @generated from field: string base_url = 3; + */ + baseUrl: string; + + /** + * @generated from field: string version = 4; + */ + version: string; +}; + +/** + * Describes the message exa.api_server_pb.HybridDeployment. + * Use `create(HybridDeploymentSchema)` to create a new message. + */ +export const HybridDeploymentSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 159); + +/** + * @generated from message exa.api_server_pb.GetHybridDeploymentsInternalResponse + */ +export type GetHybridDeploymentsInternalResponse = Message<"exa.api_server_pb.GetHybridDeploymentsInternalResponse"> & { + /** + * @generated from field: repeated exa.api_server_pb.HybridDeployment deployments = 1; + */ + deployments: HybridDeployment[]; +}; + +/** + * Describes the message exa.api_server_pb.GetHybridDeploymentsInternalResponse. + * Use `create(GetHybridDeploymentsInternalResponseSchema)` to create a new message. + */ +export const GetHybridDeploymentsInternalResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 160); + +/** + * @generated from message exa.api_server_pb.CheckHybridDeploymentStatusRequest + */ +export type CheckHybridDeploymentStatusRequest = Message<"exa.api_server_pb.CheckHybridDeploymentStatusRequest"> & { + /** + * @generated from field: string team_id = 2; + */ + teamId: string; +}; + +/** + * Describes the message exa.api_server_pb.CheckHybridDeploymentStatusRequest. + * Use `create(CheckHybridDeploymentStatusRequestSchema)` to create a new message. + */ +export const CheckHybridDeploymentStatusRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 161); + +/** + * @generated from message exa.api_server_pb.CheckHybridDeploymentStatusResponse + */ +export type CheckHybridDeploymentStatusResponse = Message<"exa.api_server_pb.CheckHybridDeploymentStatusResponse"> & { + /** + * @generated from field: exa.api_server_pb.HybridDeploymentStatus status = 1; + */ + status: HybridDeploymentStatus; + + /** + * @generated from field: string error = 2; + */ + error: string; +}; + +/** + * Describes the message exa.api_server_pb.CheckHybridDeploymentStatusResponse. + * Use `create(CheckHybridDeploymentStatusResponseSchema)` to create a new message. + */ +export const CheckHybridDeploymentStatusResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 162); + +/** + * @generated from message exa.api_server_pb.LogCompletionsHybridRequest + */ +export type LogCompletionsHybridRequest = Message<"exa.api_server_pb.LogCompletionsHybridRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: repeated exa.codeium_common_pb.CompletionWithLatencyInfo completions_with_latency_info = 2; + */ + completionsWithLatencyInfo: CompletionWithLatencyInfo[]; + + /** + * @generated from field: exa.codeium_common_pb.ProviderSource provider_source = 3; + */ + providerSource: ProviderSource; + + /** + * @generated from field: string repo_name = 4; + */ + repoName: string; + + /** + * @generated from field: string relative_path = 5; + */ + relativePath: string; + + /** + * @generated from field: string model_tag = 6; + */ + modelTag: string; +}; + +/** + * Describes the message exa.api_server_pb.LogCompletionsHybridRequest. + * Use `create(LogCompletionsHybridRequestSchema)` to create a new message. + */ +export const LogCompletionsHybridRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 163); + +/** + * @generated from message exa.api_server_pb.LogCompletionsHybridResponse + */ +export type LogCompletionsHybridResponse = Message<"exa.api_server_pb.LogCompletionsHybridResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.LogCompletionsHybridResponse. + * Use `create(LogCompletionsHybridResponseSchema)` to create a new message. + */ +export const LogCompletionsHybridResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 164); + +/** + * @generated from message exa.api_server_pb.LogFeedbackHybridRequest + */ +export type LogFeedbackHybridRequest = Message<"exa.api_server_pb.LogFeedbackHybridRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string completion_id = 2; + */ + completionId: string; + + /** + * @generated from field: exa.api_server_pb.FeedbackType feedback = 3; + */ + feedback: FeedbackType; +}; + +/** + * Describes the message exa.api_server_pb.LogFeedbackHybridRequest. + * Use `create(LogFeedbackHybridRequestSchema)` to create a new message. + */ +export const LogFeedbackHybridRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 165); + +/** + * @generated from message exa.api_server_pb.LogFeedbackHybridResponse + */ +export type LogFeedbackHybridResponse = Message<"exa.api_server_pb.LogFeedbackHybridResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.LogFeedbackHybridResponse. + * Use `create(LogFeedbackHybridResponseSchema)` to create a new message. + */ +export const LogFeedbackHybridResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 166); + +/** + * @generated from message exa.api_server_pb.LogChatHybridRequest + */ +export type LogChatHybridRequest = Message<"exa.api_server_pb.LogChatHybridRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: repeated exa.chat_pb.ChatMessagePrompt messages = 2; + */ + messages: ChatMessagePrompt[]; + + /** + * @generated from field: string conversation_id = 3; + */ + conversationId: string; + + /** + * @generated from field: repeated string active_repos = 4; + */ + activeRepos: string[]; + + /** + * @generated from field: exa.chat_pb.ChatMessage chat_message = 5; + */ + chatMessage?: ChatMessage | undefined; + + /** + * @generated from field: string message_text = 6; + */ + messageText: string; +}; + +/** + * Describes the message exa.api_server_pb.LogChatHybridRequest. + * Use `create(LogChatHybridRequestSchema)` to create a new message. + */ +export const LogChatHybridRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 167); + +/** + * @generated from message exa.api_server_pb.LogChatHybridResponse + */ +export type LogChatHybridResponse = Message<"exa.api_server_pb.LogChatHybridResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.LogChatHybridResponse. + * Use `create(LogChatHybridResponseSchema)` to create a new message. + */ +export const LogChatHybridResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 168); + +/** + * @generated from message exa.api_server_pb.LogCascadeSessionHybridRequest + */ +export type LogCascadeSessionHybridRequest = Message<"exa.api_server_pb.LogCascadeSessionHybridRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: repeated string workspace_paths = 2; + */ + workspacePaths: string[]; + + /** + * @generated from field: string cascade_id = 3; + */ + cascadeId: string; +}; + +/** + * Describes the message exa.api_server_pb.LogCascadeSessionHybridRequest. + * Use `create(LogCascadeSessionHybridRequestSchema)` to create a new message. + */ +export const LogCascadeSessionHybridRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 169); + +/** + * @generated from message exa.api_server_pb.LogCascadeSessionHybridResponse + */ +export type LogCascadeSessionHybridResponse = Message<"exa.api_server_pb.LogCascadeSessionHybridResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.LogCascadeSessionHybridResponse. + * Use `create(LogCascadeSessionHybridResponseSchema)` to create a new message. + */ +export const LogCascadeSessionHybridResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 170); + +/** + * @generated from message exa.api_server_pb.LogCascadePromptHybridRequest + */ +export type LogCascadePromptHybridRequest = Message<"exa.api_server_pb.LogCascadePromptHybridRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string user_prompt = 2; + */ + userPrompt: string; + + /** + * @generated from field: string model_name = 3; + */ + modelName: string; + + /** + * @generated from field: string repo = 4; + */ + repo: string; + + /** + * @generated from field: string cascade_id = 5; + */ + cascadeId: string; + + /** + * @generated from field: string workspace_path = 6; + */ + workspacePath: string; +}; + +/** + * Describes the message exa.api_server_pb.LogCascadePromptHybridRequest. + * Use `create(LogCascadePromptHybridRequestSchema)` to create a new message. + */ +export const LogCascadePromptHybridRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 171); + +/** + * @generated from message exa.api_server_pb.LogCascadePromptHybridResponse + */ +export type LogCascadePromptHybridResponse = Message<"exa.api_server_pb.LogCascadePromptHybridResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.LogCascadePromptHybridResponse. + * Use `create(LogCascadePromptHybridResponseSchema)` to create a new message. + */ +export const LogCascadePromptHybridResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 172); + +/** + * @generated from message exa.api_server_pb.GetStatusRequest + */ +export type GetStatusRequest = Message<"exa.api_server_pb.GetStatusRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; +}; + +/** + * Describes the message exa.api_server_pb.GetStatusRequest. + * Use `create(GetStatusRequestSchema)` to create a new message. + */ +export const GetStatusRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 173); + +/** + * @generated from message exa.api_server_pb.GetStatusResponse + */ +export type GetStatusResponse = Message<"exa.api_server_pb.GetStatusResponse"> & { + /** + * @generated from field: exa.codeium_common_pb.IdeStatus status = 1; + */ + status?: IdeStatus | undefined; + + /** + * @generated from field: bool show_review_prompt = 2; + */ + showReviewPrompt: boolean; +}; + +/** + * Describes the message exa.api_server_pb.GetStatusResponse. + * Use `create(GetStatusResponseSchema)` to create a new message. + */ +export const GetStatusResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 174); + +/** + * @generated from message exa.api_server_pb.GetCascadeModelConfigsRequest + */ +export type GetCascadeModelConfigsRequest = Message<"exa.api_server_pb.GetCascadeModelConfigsRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; +}; + +/** + * Describes the message exa.api_server_pb.GetCascadeModelConfigsRequest. + * Use `create(GetCascadeModelConfigsRequestSchema)` to create a new message. + */ +export const GetCascadeModelConfigsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 175); + +/** + * @generated from message exa.api_server_pb.GetCascadeModelConfigsForSiteRequest + */ +export type GetCascadeModelConfigsForSiteRequest = Message<"exa.api_server_pb.GetCascadeModelConfigsForSiteRequest"> & { + /** + * @generated from field: string api_key = 1 [deprecated = true]; + * @deprecated + */ + apiKey: string; + + /** + * @generated from field: string ide_name = 2 [deprecated = true]; + * @deprecated + */ + ideName: string; + + /** + * @generated from field: string ide_version = 3 [deprecated = true]; + * @deprecated + */ + ideVersion: string; + + /** + * @generated from field: string extension_version = 4 [deprecated = true]; + * @deprecated + */ + extensionVersion: string; +}; + +/** + * Describes the message exa.api_server_pb.GetCascadeModelConfigsForSiteRequest. + * Use `create(GetCascadeModelConfigsForSiteRequestSchema)` to create a new message. + */ +export const GetCascadeModelConfigsForSiteRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 176); + +/** + * @generated from message exa.api_server_pb.GetCascadeModelConfigsResponse + */ +export type GetCascadeModelConfigsResponse = Message<"exa.api_server_pb.GetCascadeModelConfigsResponse"> & { + /** + * @generated from field: repeated exa.codeium_common_pb.ClientModelConfig client_model_configs = 1; + */ + clientModelConfigs: ClientModelConfig[]; + + /** + * @generated from field: repeated exa.codeium_common_pb.ClientModelSort client_model_sorts = 2; + */ + clientModelSorts: ClientModelSort[]; + + /** + * @generated from field: optional exa.codeium_common_pb.DefaultOverrideModelConfig default_override_model_config = 3; + */ + defaultOverrideModelConfig?: DefaultOverrideModelConfig | undefined; +}; + +/** + * Describes the message exa.api_server_pb.GetCascadeModelConfigsResponse. + * Use `create(GetCascadeModelConfigsResponseSchema)` to create a new message. + */ +export const GetCascadeModelConfigsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 177); + +/** + * @generated from message exa.api_server_pb.GetCascadeModelConfigsForSiteResponse + */ +export type GetCascadeModelConfigsForSiteResponse = Message<"exa.api_server_pb.GetCascadeModelConfigsForSiteResponse"> & { + /** + * @generated from field: repeated exa.codeium_common_pb.ClientModelConfig client_model_configs = 1; + */ + clientModelConfigs: ClientModelConfig[]; +}; + +/** + * Describes the message exa.api_server_pb.GetCascadeModelConfigsForSiteResponse. + * Use `create(GetCascadeModelConfigsForSiteResponseSchema)` to create a new message. + */ +export const GetCascadeModelConfigsForSiteResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 178); + +/** + * @generated from message exa.api_server_pb.GetCommandModelConfigsRequest + */ +export type GetCommandModelConfigsRequest = Message<"exa.api_server_pb.GetCommandModelConfigsRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; +}; + +/** + * Describes the message exa.api_server_pb.GetCommandModelConfigsRequest. + * Use `create(GetCommandModelConfigsRequestSchema)` to create a new message. + */ +export const GetCommandModelConfigsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 179); + +/** + * @generated from message exa.api_server_pb.GetCommandModelConfigsResponse + */ +export type GetCommandModelConfigsResponse = Message<"exa.api_server_pb.GetCommandModelConfigsResponse"> & { + /** + * @generated from field: repeated exa.codeium_common_pb.ClientModelConfig client_model_configs = 1; + */ + clientModelConfigs: ClientModelConfig[]; +}; + +/** + * Describes the message exa.api_server_pb.GetCommandModelConfigsResponse. + * Use `create(GetCommandModelConfigsResponseSchema)` to create a new message. + */ +export const GetCommandModelConfigsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 180); + +/** + * @generated from message exa.api_server_pb.GetCommandModelConfigsForSiteRequest + */ +export type GetCommandModelConfigsForSiteRequest = Message<"exa.api_server_pb.GetCommandModelConfigsForSiteRequest"> & { +}; + +/** + * Describes the message exa.api_server_pb.GetCommandModelConfigsForSiteRequest. + * Use `create(GetCommandModelConfigsForSiteRequestSchema)` to create a new message. + */ +export const GetCommandModelConfigsForSiteRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 181); + +/** + * @generated from message exa.api_server_pb.GetCommandModelConfigsForSiteResponse + */ +export type GetCommandModelConfigsForSiteResponse = Message<"exa.api_server_pb.GetCommandModelConfigsForSiteResponse"> & { + /** + * @generated from field: repeated exa.codeium_common_pb.ClientModelConfig client_model_configs = 1; + */ + clientModelConfigs: ClientModelConfig[]; +}; + +/** + * Describes the message exa.api_server_pb.GetCommandModelConfigsForSiteResponse. + * Use `create(GetCommandModelConfigsForSiteResponseSchema)` to create a new message. + */ +export const GetCommandModelConfigsForSiteResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 182); + +/** + * @generated from message exa.api_server_pb.GetCliModelConfigsRequest + */ +export type GetCliModelConfigsRequest = Message<"exa.api_server_pb.GetCliModelConfigsRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; +}; + +/** + * Describes the message exa.api_server_pb.GetCliModelConfigsRequest. + * Use `create(GetCliModelConfigsRequestSchema)` to create a new message. + */ +export const GetCliModelConfigsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 183); + +/** + * @generated from message exa.api_server_pb.GetCliModelConfigsResponse + */ +export type GetCliModelConfigsResponse = Message<"exa.api_server_pb.GetCliModelConfigsResponse"> & { + /** + * @generated from field: repeated exa.codeium_common_pb.ClientModelConfig client_model_configs = 1; + */ + clientModelConfigs: ClientModelConfig[]; + + /** + * @generated from field: optional exa.codeium_common_pb.DefaultOverrideModelConfig default_override_model_config = 3; + */ + defaultOverrideModelConfig?: DefaultOverrideModelConfig | undefined; +}; + +/** + * Describes the message exa.api_server_pb.GetCliModelConfigsResponse. + * Use `create(GetCliModelConfigsResponseSchema)` to create a new message. + */ +export const GetCliModelConfigsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 184); + +/** + * @generated from message exa.api_server_pb.GetCliModelConfigsForSiteRequest + */ +export type GetCliModelConfigsForSiteRequest = Message<"exa.api_server_pb.GetCliModelConfigsForSiteRequest"> & { +}; + +/** + * Describes the message exa.api_server_pb.GetCliModelConfigsForSiteRequest. + * Use `create(GetCliModelConfigsForSiteRequestSchema)` to create a new message. + */ +export const GetCliModelConfigsForSiteRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 185); + +/** + * @generated from message exa.api_server_pb.GetCliModelConfigsForSiteResponse + */ +export type GetCliModelConfigsForSiteResponse = Message<"exa.api_server_pb.GetCliModelConfigsForSiteResponse"> & { + /** + * @generated from field: repeated exa.codeium_common_pb.ClientModelConfig client_model_configs = 1; + */ + clientModelConfigs: ClientModelConfig[]; +}; + +/** + * Describes the message exa.api_server_pb.GetCliModelConfigsForSiteResponse. + * Use `create(GetCliModelConfigsForSiteResponseSchema)` to create a new message. + */ +export const GetCliModelConfigsForSiteResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 186); + +/** + * @generated from message exa.api_server_pb.GetConfigRequest + */ +export type GetConfigRequest = Message<"exa.api_server_pb.GetConfigRequest"> & { +}; + +/** + * Describes the message exa.api_server_pb.GetConfigRequest. + * Use `create(GetConfigRequestSchema)` to create a new message. + */ +export const GetConfigRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 187); + +/** + * @generated from message exa.api_server_pb.GetConfigResponse + */ +export type GetConfigResponse = Message<"exa.api_server_pb.GetConfigResponse"> & { + /** + * @generated from field: repeated string repo_blacklist = 1; + */ + repoBlacklist: string[]; +}; + +/** + * Describes the message exa.api_server_pb.GetConfigResponse. + * Use `create(GetConfigResponseSchema)` to create a new message. + */ +export const GetConfigResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 188); + +/** + * @generated from message exa.api_server_pb.QueryParameter + */ +export type QueryParameter = Message<"exa.api_server_pb.QueryParameter"> & { + /** + * @generated from field: map parameters = 1; + */ + parameters: { [key: string]: string }; +}; + +/** + * Describes the message exa.api_server_pb.QueryParameter. + * Use `create(QueryParameterSchema)` to create a new message. + */ +export const QueryParameterSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 189); + +/** + * @generated from message exa.api_server_pb.QueryResult + */ +export type QueryResult = Message<"exa.api_server_pb.QueryResult"> & { + /** + * @generated from field: map record = 1; + */ + record: { [key: string]: string }; +}; + +/** + * Describes the message exa.api_server_pb.QueryResult. + * Use `create(QueryResultSchema)` to create a new message. + */ +export const QueryResultSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 190); + +/** + * @generated from message exa.api_server_pb.RunCodeAlignmentRequest + */ +export type RunCodeAlignmentRequest = Message<"exa.api_server_pb.RunCodeAlignmentRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string file_content = 2; + */ + fileContent: string; + + /** + * @generated from field: int32 offset = 3; + */ + offset: number; + + /** + * @generated from field: repeated exa.codeium_common_pb.Rule rules = 4; + */ + rules: Rule[]; +}; + +/** + * Describes the message exa.api_server_pb.RunCodeAlignmentRequest. + * Use `create(RunCodeAlignmentRequestSchema)` to create a new message. + */ +export const RunCodeAlignmentRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 191); + +/** + * @generated from message exa.api_server_pb.RunCodeAlignmentResponse + */ +export type RunCodeAlignmentResponse = Message<"exa.api_server_pb.RunCodeAlignmentResponse"> & { + /** + * @generated from field: repeated exa.codeium_common_pb.RuleViolation violations = 1; + */ + violations: RuleViolation[]; +}; + +/** + * Describes the message exa.api_server_pb.RunCodeAlignmentResponse. + * Use `create(RunCodeAlignmentResponseSchema)` to create a new message. + */ +export const RunCodeAlignmentResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 192); + +/** + * @generated from message exa.api_server_pb.GenerateSyntheticRuleRequest + */ +export type GenerateSyntheticRuleRequest = Message<"exa.api_server_pb.GenerateSyntheticRuleRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string comment_body = 2; + */ + commentBody: string; + + /** + * @generated from field: string file_content = 3; + */ + fileContent: string; + + /** + * @generated from field: int32 line_number = 4; + */ + lineNumber: number; +}; + +/** + * Describes the message exa.api_server_pb.GenerateSyntheticRuleRequest. + * Use `create(GenerateSyntheticRuleRequestSchema)` to create a new message. + */ +export const GenerateSyntheticRuleRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 193); + +/** + * @generated from message exa.api_server_pb.GenerateSyntheticRuleResponse + */ +export type GenerateSyntheticRuleResponse = Message<"exa.api_server_pb.GenerateSyntheticRuleResponse"> & { + /** + * @generated from field: exa.codeium_common_pb.Rule rule = 1; + */ + rule?: Rule | undefined; +}; + +/** + * Describes the message exa.api_server_pb.GenerateSyntheticRuleResponse. + * Use `create(GenerateSyntheticRuleResponseSchema)` to create a new message. + */ +export const GenerateSyntheticRuleResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 194); + +/** + * @generated from message exa.api_server_pb.FileExtensionStats + */ +export type FileExtensionStats = Message<"exa.api_server_pb.FileExtensionStats"> & { + /** + * @generated from field: string extension = 1; + */ + extension: string; + + /** + * @generated from field: int32 lines_added = 2; + */ + linesAdded: number; + + /** + * @generated from field: int32 lines_deleted = 3; + */ + linesDeleted: number; +}; + +/** + * Describes the message exa.api_server_pb.FileExtensionStats. + * Use `create(FileExtensionStatsSchema)` to create a new message. + */ +export const FileExtensionStatsSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 195); + +/** + * @generated from message exa.api_server_pb.GitCommit + */ +export type GitCommit = Message<"exa.api_server_pb.GitCommit"> & { + /** + * @generated from field: google.protobuf.Timestamp timestamp = 1; + */ + timestamp?: Timestamp | undefined; + + /** + * @generated from field: repeated exa.api_server_pb.FileExtensionStats file_extension_stats = 2; + */ + fileExtensionStats: FileExtensionStats[]; + + /** + * @generated from field: string commit = 3; + */ + commit: string; +}; + +/** + * Describes the message exa.api_server_pb.GitCommit. + * Use `create(GitCommitSchema)` to create a new message. + */ +export const GitCommitSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 196); + +/** + * @generated from message exa.api_server_pb.RecordGitTelemetryRequest + */ +export type RecordGitTelemetryRequest = Message<"exa.api_server_pb.RecordGitTelemetryRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: repeated exa.api_server_pb.GitCommit git_commits = 2; + */ + gitCommits: GitCommit[]; + + /** + * @generated from field: string repo_name = 3; + */ + repoName: string; +}; + +/** + * Describes the message exa.api_server_pb.RecordGitTelemetryRequest. + * Use `create(RecordGitTelemetryRequestSchema)` to create a new message. + */ +export const RecordGitTelemetryRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 197); + +/** + * @generated from message exa.api_server_pb.RecordGitTelemetryResponse + */ +export type RecordGitTelemetryResponse = Message<"exa.api_server_pb.RecordGitTelemetryResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.RecordGitTelemetryResponse. + * Use `create(RecordGitTelemetryResponseSchema)` to create a new message. + */ +export const RecordGitTelemetryResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 198); + +/** + * @generated from message exa.api_server_pb.RecordProfilingDataHeader + */ +export type RecordProfilingDataHeader = Message<"exa.api_server_pb.RecordProfilingDataHeader"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string application = 2; + */ + application: string; + + /** + * @generated from field: string resource = 3; + */ + resource: string; +}; + +/** + * Describes the message exa.api_server_pb.RecordProfilingDataHeader. + * Use `create(RecordProfilingDataHeaderSchema)` to create a new message. + */ +export const RecordProfilingDataHeaderSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 199); + +/** + * @generated from message exa.api_server_pb.RecordProfilingDataData + */ +export type RecordProfilingDataData = Message<"exa.api_server_pb.RecordProfilingDataData"> & { + /** + * @generated from field: bytes data = 1; + */ + data: Uint8Array; +}; + +/** + * Describes the message exa.api_server_pb.RecordProfilingDataData. + * Use `create(RecordProfilingDataDataSchema)` to create a new message. + */ +export const RecordProfilingDataDataSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 200); + +/** + * @generated from message exa.api_server_pb.RecordProfilingDataRequest + */ +export type RecordProfilingDataRequest = Message<"exa.api_server_pb.RecordProfilingDataRequest"> & { + /** + * @generated from oneof exa.api_server_pb.RecordProfilingDataRequest.chunk + */ + chunk: { + /** + * @generated from field: exa.api_server_pb.RecordProfilingDataHeader header = 1; + */ + value: RecordProfilingDataHeader; + case: "header"; + } | { + /** + * @generated from field: exa.api_server_pb.RecordProfilingDataData data = 2; + */ + value: RecordProfilingDataData; + case: "data"; + } | { case: undefined; value?: undefined }; +}; + +/** + * Describes the message exa.api_server_pb.RecordProfilingDataRequest. + * Use `create(RecordProfilingDataRequestSchema)` to create a new message. + */ +export const RecordProfilingDataRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 201); + +/** + * @generated from message exa.api_server_pb.RecordProfilingDataResponse + */ +export type RecordProfilingDataResponse = Message<"exa.api_server_pb.RecordProfilingDataResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.RecordProfilingDataResponse. + * Use `create(RecordProfilingDataResponseSchema)` to create a new message. + */ +export const RecordProfilingDataResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 202); + +/** + * @generated from message exa.api_server_pb.RecordReadUrlContentRequest + */ +export type RecordReadUrlContentRequest = Message<"exa.api_server_pb.RecordReadUrlContentRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string url = 2; + */ + url: string; + + /** + * @generated from field: exa.codeium_common_pb.KnowledgeBaseItem web_document = 3; + */ + webDocument?: KnowledgeBaseItem | undefined; + + /** + * @generated from field: uint32 latency_ms = 4; + */ + latencyMs: number; + + /** + * @generated from field: bool is_cached = 5; + */ + isCached: boolean; +}; + +/** + * Describes the message exa.api_server_pb.RecordReadUrlContentRequest. + * Use `create(RecordReadUrlContentRequestSchema)` to create a new message. + */ +export const RecordReadUrlContentRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 203); + +/** + * @generated from message exa.api_server_pb.RecordReadUrlContentResponse + */ +export type RecordReadUrlContentResponse = Message<"exa.api_server_pb.RecordReadUrlContentResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.RecordReadUrlContentResponse. + * Use `create(RecordReadUrlContentResponseSchema)` to create a new message. + */ +export const RecordReadUrlContentResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 204); + +/** + * @generated from message exa.api_server_pb.GetDeploymentConfigRequest + */ +export type GetDeploymentConfigRequest = Message<"exa.api_server_pb.GetDeploymentConfigRequest"> & { + /** + * @generated from field: exa.api_server_pb.DeploymentConfigKey key = 1; + */ + key: DeploymentConfigKey; +}; + +/** + * Describes the message exa.api_server_pb.GetDeploymentConfigRequest. + * Use `create(GetDeploymentConfigRequestSchema)` to create a new message. + */ +export const GetDeploymentConfigRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 205); + +/** + * @generated from message exa.api_server_pb.GetDeploymentConfigResponse + */ +export type GetDeploymentConfigResponse = Message<"exa.api_server_pb.GetDeploymentConfigResponse"> & { + /** + * @generated from field: string value = 1; + */ + value: string; + + /** + * @generated from field: google.protobuf.Timestamp created_at = 2; + */ + createdAt?: Timestamp | undefined; + + /** + * @generated from field: google.protobuf.Timestamp last_updated_at = 3; + */ + lastUpdatedAt?: Timestamp | undefined; + + /** + * @generated from field: string last_updated_by = 4; + */ + lastUpdatedBy: string; + + /** + * @generated from field: string description = 5; + */ + description: string; +}; + +/** + * Describes the message exa.api_server_pb.GetDeploymentConfigResponse. + * Use `create(GetDeploymentConfigResponseSchema)` to create a new message. + */ +export const GetDeploymentConfigResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 206); + +/** + * @generated from message exa.api_server_pb.UpsertDeploymentConfigRequest + */ +export type UpsertDeploymentConfigRequest = Message<"exa.api_server_pb.UpsertDeploymentConfigRequest"> & { + /** + * @generated from field: exa.api_server_pb.DeploymentConfigKey key = 1; + */ + key: DeploymentConfigKey; + + /** + * @generated from field: string value = 2; + */ + value: string; + + /** + * @generated from field: string api_key = 3; + */ + apiKey: string; +}; + +/** + * Describes the message exa.api_server_pb.UpsertDeploymentConfigRequest. + * Use `create(UpsertDeploymentConfigRequestSchema)` to create a new message. + */ +export const UpsertDeploymentConfigRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 207); + +/** + * @generated from message exa.api_server_pb.UpsertDeploymentConfigResponse + */ +export type UpsertDeploymentConfigResponse = Message<"exa.api_server_pb.UpsertDeploymentConfigResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.UpsertDeploymentConfigResponse. + * Use `create(UpsertDeploymentConfigResponseSchema)` to create a new message. + */ +export const UpsertDeploymentConfigResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 208); + +/** + * @generated from message exa.api_server_pb.GetUserAllowlistRequest + */ +export type GetUserAllowlistRequest = Message<"exa.api_server_pb.GetUserAllowlistRequest"> & { + /** + * @generated from field: string email = 1; + */ + email: string; +}; + +/** + * Describes the message exa.api_server_pb.GetUserAllowlistRequest. + * Use `create(GetUserAllowlistRequestSchema)` to create a new message. + */ +export const GetUserAllowlistRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 209); + +/** + * @generated from message exa.api_server_pb.GetUserAllowlistResponse + */ +export type GetUserAllowlistResponse = Message<"exa.api_server_pb.GetUserAllowlistResponse"> & { + /** + * @generated from field: string email = 1; + */ + email: string; + + /** + * @generated from field: string created_by = 2; + */ + createdBy: string; + + /** + * @generated from field: google.protobuf.Timestamp created_at = 3; + */ + createdAt?: Timestamp | undefined; +}; + +/** + * Describes the message exa.api_server_pb.GetUserAllowlistResponse. + * Use `create(GetUserAllowlistResponseSchema)` to create a new message. + */ +export const GetUserAllowlistResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 210); + +/** + * @generated from message exa.api_server_pb.InsertAllowlistRequest + */ +export type InsertAllowlistRequest = Message<"exa.api_server_pb.InsertAllowlistRequest"> & { + /** + * @generated from field: string email = 1; + */ + email: string; + + /** + * @generated from field: string created_by = 2; + */ + createdBy: string; +}; + +/** + * Describes the message exa.api_server_pb.InsertAllowlistRequest. + * Use `create(InsertAllowlistRequestSchema)` to create a new message. + */ +export const InsertAllowlistRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 211); + +/** + * @generated from message exa.api_server_pb.InsertAllowlistResponse + */ +export type InsertAllowlistResponse = Message<"exa.api_server_pb.InsertAllowlistResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.InsertAllowlistResponse. + * Use `create(InsertAllowlistResponseSchema)` to create a new message. + */ +export const InsertAllowlistResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 212); + +/** + * @generated from message exa.api_server_pb.DeleteAllowlistRequest + */ +export type DeleteAllowlistRequest = Message<"exa.api_server_pb.DeleteAllowlistRequest"> & { + /** + * @generated from field: string email = 1; + */ + email: string; + + /** + * @generated from field: string api_key = 2; + */ + apiKey: string; +}; + +/** + * Describes the message exa.api_server_pb.DeleteAllowlistRequest. + * Use `create(DeleteAllowlistRequestSchema)` to create a new message. + */ +export const DeleteAllowlistRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 213); + +/** + * @generated from message exa.api_server_pb.DeleteAllowlistResponse + */ +export type DeleteAllowlistResponse = Message<"exa.api_server_pb.DeleteAllowlistResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.DeleteAllowlistResponse. + * Use `create(DeleteAllowlistResponseSchema)` to create a new message. + */ +export const DeleteAllowlistResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 214); + +/** + * @generated from message exa.api_server_pb.GetAllowlistRequest + */ +export type GetAllowlistRequest = Message<"exa.api_server_pb.GetAllowlistRequest"> & { +}; + +/** + * Describes the message exa.api_server_pb.GetAllowlistRequest. + * Use `create(GetAllowlistRequestSchema)` to create a new message. + */ +export const GetAllowlistRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 215); + +/** + * @generated from message exa.api_server_pb.GetAllowlistResponse + */ +export type GetAllowlistResponse = Message<"exa.api_server_pb.GetAllowlistResponse"> & { + /** + * @generated from field: repeated exa.api_server_pb.GetUserAllowlistResponse allowlist = 1; + */ + allowlist: GetUserAllowlistResponse[]; +}; + +/** + * Describes the message exa.api_server_pb.GetAllowlistResponse. + * Use `create(GetAllowlistResponseSchema)` to create a new message. + */ +export const GetAllowlistResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 216); + +/** + * @generated from message exa.api_server_pb.RecordCascadeUsageRequest + */ +export type RecordCascadeUsageRequest = Message<"exa.api_server_pb.RecordCascadeUsageRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string trajectory_id = 2; + */ + trajectoryId: string; + + /** + * @generated from field: int32 step_index = 3; + */ + stepIndex: number; + + /** + * @generated from field: int32 prompt_credits_used = 4; + */ + promptCreditsUsed: number; + + /** + * @generated from field: int32 flow_credits_used = 5; + */ + flowCreditsUsed: number; + + /** + * @generated from field: exa.codeium_common_pb.ConversationalPlannerMode planner_mode = 6; + */ + plannerMode: ConversationalPlannerMode; + + /** + * @generated from field: string cascade_id = 7; + */ + cascadeId: string; + + /** + * @generated from field: exa.codeium_common_pb.ModelOrAlias model = 8 [deprecated = true]; + * @deprecated + */ + model?: ModelOrAlias | undefined; + + /** + * @generated from field: bool record_analytics_usage = 9; + */ + recordAnalyticsUsage: boolean; + + /** + * @generated from field: exa.codeium_common_pb.ModelPricingType pricing_type = 10; + */ + pricingType: ModelPricingType; + + /** + * @generated from field: exa.codeium_common_pb.ModelUsageStats model_usage_stats = 11; + */ + modelUsageStats?: ModelUsageStats | undefined; + + /** + * @generated from field: bool is_user_input = 12; + */ + isUserInput: boolean; + + /** + * @generated from field: exa.api_server_pb.ChatMessageRequestType request_type = 13; + */ + requestType: ChatMessageRequestType; + + /** + * @generated from field: double cascade_acu_multiplier = 14; + */ + cascadeAcuMultiplier: number; + + /** + * @generated from field: string execution_id = 16; + */ + executionId: string; + + /** + * @generated from field: double cli_acu_multiplier = 17; + */ + cliAcuMultiplier: number; + + /** + * @generated from field: string model_uid = 18; + */ + modelUid: string; + + /** + * @generated from field: double prompt_credits_per_acu = 19; + */ + promptCreditsPerAcu: number; + + /** + * @generated from field: int64 list_cost_micros = 20; + */ + listCostMicros: bigint; + + /** + * @generated from field: int64 discounted_cost_micros = 23; + */ + discountedCostMicros: bigint; + + /** + * @generated from field: exa.codeium_common_pb.BillingStrategy billing_strategy = 21; + */ + billingStrategy: BillingStrategy; + + /** + * @generated from field: exa.codeium_common_pb.TeamsTier user_tier = 22; + */ + userTier: TeamsTier; +}; + +/** + * Describes the message exa.api_server_pb.RecordCascadeUsageRequest. + * Use `create(RecordCascadeUsageRequestSchema)` to create a new message. + */ +export const RecordCascadeUsageRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 217); + +/** + * @generated from message exa.api_server_pb.RecordCascadeUsageResponse + */ +export type RecordCascadeUsageResponse = Message<"exa.api_server_pb.RecordCascadeUsageResponse"> & { + /** + * @generated from field: exa.codeium_common_pb.UserStatus user_status = 2; + */ + userStatus?: UserStatus | undefined; + + /** + * @generated from field: int32 prompt_credits_used = 3; + */ + promptCreditsUsed: number; + + /** + * @generated from field: int32 flex_credits_used = 4; + */ + flexCreditsUsed: number; +}; + +/** + * Describes the message exa.api_server_pb.RecordCascadeUsageResponse. + * Use `create(RecordCascadeUsageResponseSchema)` to create a new message. + */ +export const RecordCascadeUsageResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 218); + +/** + * @generated from message exa.api_server_pb.GetWebSearchResultsRequest + */ +export type GetWebSearchResultsRequest = Message<"exa.api_server_pb.GetWebSearchResultsRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string query = 2; + */ + query: string; + + /** + * @generated from field: uint32 limit = 3; + */ + limit: number; + + /** + * @generated from field: string domain = 4; + */ + domain: string; + + /** + * @generated from field: exa.codeium_common_pb.ThirdPartyWebSearchConfig third_party_config = 5; + */ + thirdPartyConfig?: ThirdPartyWebSearchConfig | undefined; + + /** + * @generated from field: string mode = 6; + */ + mode: string; +}; + +/** + * Describes the message exa.api_server_pb.GetWebSearchResultsRequest. + * Use `create(GetWebSearchResultsRequestSchema)` to create a new message. + */ +export const GetWebSearchResultsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 219); + +/** + * @generated from message exa.api_server_pb.GetWebSearchResultsResponse + */ +export type GetWebSearchResultsResponse = Message<"exa.api_server_pb.GetWebSearchResultsResponse"> & { + /** + * @generated from field: repeated exa.codeium_common_pb.KnowledgeBaseItem results = 1; + */ + results: KnowledgeBaseItem[]; + + /** + * @generated from field: string web_search_url = 2; + */ + webSearchUrl: string; + + /** + * @generated from field: string summary = 3; + */ + summary: string; +}; + +/** + * Describes the message exa.api_server_pb.GetWebSearchResultsResponse. + * Use `create(GetWebSearchResultsResponseSchema)` to create a new message. + */ +export const GetWebSearchResultsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 220); + +/** + * @generated from message exa.api_server_pb.GetWebDocsOptionsRequest + */ +export type GetWebDocsOptionsRequest = Message<"exa.api_server_pb.GetWebDocsOptionsRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; +}; + +/** + * Describes the message exa.api_server_pb.GetWebDocsOptionsRequest. + * Use `create(GetWebDocsOptionsRequestSchema)` to create a new message. + */ +export const GetWebDocsOptionsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 221); + +/** + * @generated from message exa.api_server_pb.GetWebDocsOptionsResponse + */ +export type GetWebDocsOptionsResponse = Message<"exa.api_server_pb.GetWebDocsOptionsResponse"> & { + /** + * @generated from field: repeated exa.codeium_common_pb.WebDocsOption options = 1; + */ + options: WebDocsOption[]; +}; + +/** + * Describes the message exa.api_server_pb.GetWebDocsOptionsResponse. + * Use `create(GetWebDocsOptionsResponseSchema)` to create a new message. + */ +export const GetWebDocsOptionsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 222); + +/** + * @generated from message exa.api_server_pb.GetWebSearchRedirectRequest + */ +export type GetWebSearchRedirectRequest = Message<"exa.api_server_pb.GetWebSearchRedirectRequest"> & { + /** + * @generated from field: string original_url = 1; + */ + originalUrl: string; +}; + +/** + * Describes the message exa.api_server_pb.GetWebSearchRedirectRequest. + * Use `create(GetWebSearchRedirectRequestSchema)` to create a new message. + */ +export const GetWebSearchRedirectRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 223); + +/** + * @generated from message exa.api_server_pb.GetWebSearchRedirectResponse + */ +export type GetWebSearchRedirectResponse = Message<"exa.api_server_pb.GetWebSearchRedirectResponse"> & { + /** + * @generated from field: string redirect_url = 1; + */ + redirectUrl: string; +}; + +/** + * Describes the message exa.api_server_pb.GetWebSearchRedirectResponse. + * Use `create(GetWebSearchRedirectResponseSchema)` to create a new message. + */ +export const GetWebSearchRedirectResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 224); + +/** + * @generated from message exa.api_server_pb.ShareCodeMapRequest + */ +export type ShareCodeMapRequest = Message<"exa.api_server_pb.ShareCodeMapRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string code_map_json = 2; + */ + codeMapJson: string; + + /** + * @generated from field: string title = 3; + */ + title: string; +}; + +/** + * Describes the message exa.api_server_pb.ShareCodeMapRequest. + * Use `create(ShareCodeMapRequestSchema)` to create a new message. + */ +export const ShareCodeMapRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 225); + +/** + * @generated from message exa.api_server_pb.ShareCodeMapResponse + */ +export type ShareCodeMapResponse = Message<"exa.api_server_pb.ShareCodeMapResponse"> & { + /** + * @generated from field: string share_url = 1; + */ + shareUrl: string; +}; + +/** + * Describes the message exa.api_server_pb.ShareCodeMapResponse. + * Use `create(ShareCodeMapResponseSchema)` to create a new message. + */ +export const ShareCodeMapResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 226); + +/** + * @generated from message exa.api_server_pb.GetCodeMapRequest + */ +export type GetCodeMapRequest = Message<"exa.api_server_pb.GetCodeMapRequest"> & { + /** + * @generated from field: string code_map_id = 2; + */ + codeMapId: string; +}; + +/** + * Describes the message exa.api_server_pb.GetCodeMapRequest. + * Use `create(GetCodeMapRequestSchema)` to create a new message. + */ +export const GetCodeMapRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 227); + +/** + * @generated from message exa.api_server_pb.GetCodeMapResponse + */ +export type GetCodeMapResponse = Message<"exa.api_server_pb.GetCodeMapResponse"> & { + /** + * @generated from field: string code_map_json = 1; + */ + codeMapJson: string; + + /** + * @generated from field: bool is_owner = 2; + */ + isOwner: boolean; + + /** + * @generated from field: string sharing_mode = 3; + */ + sharingMode: string; + + /** + * @generated from field: string highest_allowed_sharing_mode = 4; + */ + highestAllowedSharingMode: string; +}; + +/** + * Describes the message exa.api_server_pb.GetCodeMapResponse. + * Use `create(GetCodeMapResponseSchema)` to create a new message. + */ +export const GetCodeMapResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 228); + +/** + * @generated from message exa.api_server_pb.GetCodeMapMetadataRequest + */ +export type GetCodeMapMetadataRequest = Message<"exa.api_server_pb.GetCodeMapMetadataRequest"> & { + /** + * @generated from field: string code_map_id = 1; + */ + codeMapId: string; +}; + +/** + * Describes the message exa.api_server_pb.GetCodeMapMetadataRequest. + * Use `create(GetCodeMapMetadataRequestSchema)` to create a new message. + */ +export const GetCodeMapMetadataRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 229); + +/** + * @generated from message exa.api_server_pb.GetCodeMapMetadataResponse + */ +export type GetCodeMapMetadataResponse = Message<"exa.api_server_pb.GetCodeMapMetadataResponse"> & { + /** + * @generated from field: string title = 1; + */ + title: string; +}; + +/** + * Describes the message exa.api_server_pb.GetCodeMapMetadataResponse. + * Use `create(GetCodeMapMetadataResponseSchema)` to create a new message. + */ +export const GetCodeMapMetadataResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 230); + +/** + * @generated from message exa.api_server_pb.GetSharedCodeMapRequest + */ +export type GetSharedCodeMapRequest = Message<"exa.api_server_pb.GetSharedCodeMapRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string code_map_id = 2; + */ + codeMapId: string; +}; + +/** + * Describes the message exa.api_server_pb.GetSharedCodeMapRequest. + * Use `create(GetSharedCodeMapRequestSchema)` to create a new message. + */ +export const GetSharedCodeMapRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 231); + +/** + * @generated from message exa.api_server_pb.GetSharedCodeMapResponse + */ +export type GetSharedCodeMapResponse = Message<"exa.api_server_pb.GetSharedCodeMapResponse"> & { + /** + * @generated from field: string code_map_json = 1; + */ + codeMapJson: string; +}; + +/** + * Describes the message exa.api_server_pb.GetSharedCodeMapResponse. + * Use `create(GetSharedCodeMapResponseSchema)` to create a new message. + */ +export const GetSharedCodeMapResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 232); + +/** + * @generated from message exa.api_server_pb.UpdateCodeMapSharingModeRequest + */ +export type UpdateCodeMapSharingModeRequest = Message<"exa.api_server_pb.UpdateCodeMapSharingModeRequest"> & { + /** + * @generated from field: string code_map_id = 2; + */ + codeMapId: string; + + /** + * @generated from field: string sharing_mode = 3; + */ + sharingMode: string; +}; + +/** + * Describes the message exa.api_server_pb.UpdateCodeMapSharingModeRequest. + * Use `create(UpdateCodeMapSharingModeRequestSchema)` to create a new message. + */ +export const UpdateCodeMapSharingModeRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 233); + +/** + * @generated from message exa.api_server_pb.UpdateCodeMapSharingModeResponse + */ +export type UpdateCodeMapSharingModeResponse = Message<"exa.api_server_pb.UpdateCodeMapSharingModeResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.UpdateCodeMapSharingModeResponse. + * Use `create(UpdateCodeMapSharingModeResponseSchema)` to create a new message. + */ +export const UpdateCodeMapSharingModeResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 234); + +/** + * @generated from message exa.api_server_pb.ListUserSharedCodeMapsRequest + */ +export type ListUserSharedCodeMapsRequest = Message<"exa.api_server_pb.ListUserSharedCodeMapsRequest"> & { +}; + +/** + * Describes the message exa.api_server_pb.ListUserSharedCodeMapsRequest. + * Use `create(ListUserSharedCodeMapsRequestSchema)` to create a new message. + */ +export const ListUserSharedCodeMapsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 235); + +/** + * @generated from message exa.api_server_pb.SharedCodeMapSummary + */ +export type SharedCodeMapSummary = Message<"exa.api_server_pb.SharedCodeMapSummary"> & { + /** + * @generated from field: string storage_key = 1; + */ + storageKey: string; + + /** + * @generated from field: string map_title = 2; + */ + mapTitle: string; + + /** + * @generated from field: string sharing_mode = 3; + */ + sharingMode: string; + + /** + * @generated from field: int32 version = 4; + */ + version: number; + + /** + * @generated from field: google.protobuf.Timestamp created_at = 5; + */ + createdAt?: Timestamp | undefined; + + /** + * @generated from field: google.protobuf.Timestamp updated_at = 6; + */ + updatedAt?: Timestamp | undefined; + + /** + * @generated from field: string owner_name = 7; + */ + ownerName: string; +}; + +/** + * Describes the message exa.api_server_pb.SharedCodeMapSummary. + * Use `create(SharedCodeMapSummarySchema)` to create a new message. + */ +export const SharedCodeMapSummarySchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 236); + +/** + * @generated from message exa.api_server_pb.ListUserSharedCodeMapsResponse + */ +export type ListUserSharedCodeMapsResponse = Message<"exa.api_server_pb.ListUserSharedCodeMapsResponse"> & { + /** + * @generated from field: repeated exa.api_server_pb.SharedCodeMapSummary codemaps = 1; + */ + codemaps: SharedCodeMapSummary[]; + + /** + * @generated from field: repeated exa.api_server_pb.SharedCodeMapSummary team_codemaps = 2; + */ + teamCodemaps: SharedCodeMapSummary[]; +}; + +/** + * Describes the message exa.api_server_pb.ListUserSharedCodeMapsResponse. + * Use `create(ListUserSharedCodeMapsResponseSchema)` to create a new message. + */ +export const ListUserSharedCodeMapsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 237); + +/** + * @generated from message exa.api_server_pb.DeleteSharedCodeMapRequest + */ +export type DeleteSharedCodeMapRequest = Message<"exa.api_server_pb.DeleteSharedCodeMapRequest"> & { + /** + * @generated from field: string code_map_id = 2; + */ + codeMapId: string; +}; + +/** + * Describes the message exa.api_server_pb.DeleteSharedCodeMapRequest. + * Use `create(DeleteSharedCodeMapRequestSchema)` to create a new message. + */ +export const DeleteSharedCodeMapRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 238); + +/** + * @generated from message exa.api_server_pb.DeleteSharedCodeMapResponse + */ +export type DeleteSharedCodeMapResponse = Message<"exa.api_server_pb.DeleteSharedCodeMapResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.DeleteSharedCodeMapResponse. + * Use `create(DeleteSharedCodeMapResponseSchema)` to create a new message. + */ +export const DeleteSharedCodeMapResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 239); + +/** + * @generated from message exa.api_server_pb.QueryImageForPixelRequest + */ +export type QueryImageForPixelRequest = Message<"exa.api_server_pb.QueryImageForPixelRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: exa.codeium_common_pb.ImageData image = 2; + */ + image?: ImageData | undefined; + + /** + * @generated from field: uint32 image_width = 3; + */ + imageWidth: number; + + /** + * @generated from field: uint32 image_height = 4; + */ + imageHeight: number; + + /** + * @generated from field: string query = 5; + */ + query: string; +}; + +/** + * Describes the message exa.api_server_pb.QueryImageForPixelRequest. + * Use `create(QueryImageForPixelRequestSchema)` to create a new message. + */ +export const QueryImageForPixelRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 240); + +/** + * @generated from message exa.api_server_pb.QueryImageForPixelResponse + */ +export type QueryImageForPixelResponse = Message<"exa.api_server_pb.QueryImageForPixelResponse"> & { + /** + * @generated from field: uint32 x = 1; + */ + x: number; + + /** + * @generated from field: uint32 y = 2; + */ + y: number; +}; + +/** + * Describes the message exa.api_server_pb.QueryImageForPixelResponse. + * Use `create(QueryImageForPixelResponseSchema)` to create a new message. + */ +export const QueryImageForPixelResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 241); + +/** + * @generated from message exa.api_server_pb.OidcProviderConfig + */ +export type OidcProviderConfig = Message<"exa.api_server_pb.OidcProviderConfig"> & { + /** + * @generated from field: string client_id = 1; + */ + clientId: string; + + /** + * @generated from field: string client_secret = 2; + */ + clientSecret: string; + + /** + * @generated from field: string issuer_url = 3; + */ + issuerUrl: string; + + /** + * @generated from field: string redirect_url = 4; + */ + redirectUrl: string; + + /** + * @generated from field: google.protobuf.Timestamp created_at = 5; + */ + createdAt?: Timestamp | undefined; + + /** + * @generated from field: google.protobuf.Timestamp last_updated_at = 6; + */ + lastUpdatedAt?: Timestamp | undefined; + + /** + * @generated from field: string last_updated_by = 7; + */ + lastUpdatedBy: string; + + /** + * @generated from field: string team_id = 8; + */ + teamId: string; +}; + +/** + * Describes the message exa.api_server_pb.OidcProviderConfig. + * Use `create(OidcProviderConfigSchema)` to create a new message. + */ +export const OidcProviderConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 242); + +/** + * @generated from message exa.api_server_pb.RegisterOidcProviderRequest + */ +export type RegisterOidcProviderRequest = Message<"exa.api_server_pb.RegisterOidcProviderRequest"> & { + /** + * @generated from field: string api_key = 1; + */ + apiKey: string; + + /** + * @generated from field: exa.api_server_pb.OidcProviderConfig config = 2; + */ + config?: OidcProviderConfig | undefined; + + /** + * @generated from field: string team_name = 3; + */ + teamName: string; +}; + +/** + * Describes the message exa.api_server_pb.RegisterOidcProviderRequest. + * Use `create(RegisterOidcProviderRequestSchema)` to create a new message. + */ +export const RegisterOidcProviderRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 243); + +/** + * @generated from message exa.api_server_pb.RegisterOidcProviderResponse + */ +export type RegisterOidcProviderResponse = Message<"exa.api_server_pb.RegisterOidcProviderResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.RegisterOidcProviderResponse. + * Use `create(RegisterOidcProviderResponseSchema)` to create a new message. + */ +export const RegisterOidcProviderResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 244); + +/** + * @generated from message exa.api_server_pb.UpdateOidcProviderRequest + */ +export type UpdateOidcProviderRequest = Message<"exa.api_server_pb.UpdateOidcProviderRequest"> & { + /** + * @generated from field: string api_key = 1; + */ + apiKey: string; + + /** + * @generated from field: string client_id = 2; + */ + clientId: string; + + /** + * @generated from field: optional string client_secret = 3; + */ + clientSecret?: string | undefined; + + /** + * @generated from field: optional string issuer_url = 4; + */ + issuerUrl?: string | undefined; + + /** + * @generated from field: optional string redirect_url = 5; + */ + redirectUrl?: string | undefined; +}; + +/** + * Describes the message exa.api_server_pb.UpdateOidcProviderRequest. + * Use `create(UpdateOidcProviderRequestSchema)` to create a new message. + */ +export const UpdateOidcProviderRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 245); + +/** + * @generated from message exa.api_server_pb.UpdateOidcProviderResponse + */ +export type UpdateOidcProviderResponse = Message<"exa.api_server_pb.UpdateOidcProviderResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.UpdateOidcProviderResponse. + * Use `create(UpdateOidcProviderResponseSchema)` to create a new message. + */ +export const UpdateOidcProviderResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 246); + +/** + * @generated from message exa.api_server_pb.GetTeamOidcProvidersRequest + */ +export type GetTeamOidcProvidersRequest = Message<"exa.api_server_pb.GetTeamOidcProvidersRequest"> & { + /** + * @generated from field: string api_key = 1; + */ + apiKey: string; + + /** + * @generated from field: string team_name = 2; + */ + teamName: string; +}; + +/** + * Describes the message exa.api_server_pb.GetTeamOidcProvidersRequest. + * Use `create(GetTeamOidcProvidersRequestSchema)` to create a new message. + */ +export const GetTeamOidcProvidersRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 247); + +/** + * @generated from message exa.api_server_pb.GetTeamOidcProvidersResponse + */ +export type GetTeamOidcProvidersResponse = Message<"exa.api_server_pb.GetTeamOidcProvidersResponse"> & { + /** + * @generated from field: repeated exa.api_server_pb.OidcProviderConfig providers = 1; + */ + providers: OidcProviderConfig[]; +}; + +/** + * Describes the message exa.api_server_pb.GetTeamOidcProvidersResponse. + * Use `create(GetTeamOidcProvidersResponseSchema)` to create a new message. + */ +export const GetTeamOidcProvidersResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 248); + +/** + * @generated from message exa.api_server_pb.GetAllOidcProvidersRequest + */ +export type GetAllOidcProvidersRequest = Message<"exa.api_server_pb.GetAllOidcProvidersRequest"> & { + /** + * @generated from field: string api_key = 1; + */ + apiKey: string; +}; + +/** + * Describes the message exa.api_server_pb.GetAllOidcProvidersRequest. + * Use `create(GetAllOidcProvidersRequestSchema)` to create a new message. + */ +export const GetAllOidcProvidersRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 249); + +/** + * @generated from message exa.api_server_pb.GetAllOidcProvidersResponse + */ +export type GetAllOidcProvidersResponse = Message<"exa.api_server_pb.GetAllOidcProvidersResponse"> & { + /** + * @generated from field: repeated exa.api_server_pb.OidcProviderConfig providers = 1; + */ + providers: OidcProviderConfig[]; +}; + +/** + * Describes the message exa.api_server_pb.GetAllOidcProvidersResponse. + * Use `create(GetAllOidcProvidersResponseSchema)` to create a new message. + */ +export const GetAllOidcProvidersResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 250); + +/** + * @generated from message exa.api_server_pb.DeleteOidcProviderRequest + */ +export type DeleteOidcProviderRequest = Message<"exa.api_server_pb.DeleteOidcProviderRequest"> & { + /** + * @generated from field: string api_key = 1; + */ + apiKey: string; + + /** + * @generated from field: string client_id = 2; + */ + clientId: string; +}; + +/** + * Describes the message exa.api_server_pb.DeleteOidcProviderRequest. + * Use `create(DeleteOidcProviderRequestSchema)` to create a new message. + */ +export const DeleteOidcProviderRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 251); + +/** + * @generated from message exa.api_server_pb.DeleteOidcProviderResponse + */ +export type DeleteOidcProviderResponse = Message<"exa.api_server_pb.DeleteOidcProviderResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.DeleteOidcProviderResponse. + * Use `create(DeleteOidcProviderResponseSchema)` to create a new message. + */ +export const DeleteOidcProviderResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 252); + +/** + * @generated from message exa.api_server_pb.GetOidcAuthorizationUrlRequest + */ +export type GetOidcAuthorizationUrlRequest = Message<"exa.api_server_pb.GetOidcAuthorizationUrlRequest"> & { + /** + * @generated from field: string client_id = 1; + */ + clientId: string; +}; + +/** + * Describes the message exa.api_server_pb.GetOidcAuthorizationUrlRequest. + * Use `create(GetOidcAuthorizationUrlRequestSchema)` to create a new message. + */ +export const GetOidcAuthorizationUrlRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 253); + +/** + * @generated from message exa.api_server_pb.GetOidcAuthorizationUrlResponse + */ +export type GetOidcAuthorizationUrlResponse = Message<"exa.api_server_pb.GetOidcAuthorizationUrlResponse"> & { + /** + * @generated from field: string auth_url = 1; + */ + authUrl: string; + + /** + * @generated from field: string state = 2; + */ + state: string; +}; + +/** + * Describes the message exa.api_server_pb.GetOidcAuthorizationUrlResponse. + * Use `create(GetOidcAuthorizationUrlResponseSchema)` to create a new message. + */ +export const GetOidcAuthorizationUrlResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 254); + +/** + * @generated from message exa.api_server_pb.ExchangeOidcCodeRequest + */ +export type ExchangeOidcCodeRequest = Message<"exa.api_server_pb.ExchangeOidcCodeRequest"> & { + /** + * @generated from field: string code = 1; + */ + code: string; + + /** + * @generated from field: string state = 2; + */ + state: string; + + /** + * @generated from field: string client_id = 3; + */ + clientId: string; +}; + +/** + * Describes the message exa.api_server_pb.ExchangeOidcCodeRequest. + * Use `create(ExchangeOidcCodeRequestSchema)` to create a new message. + */ +export const ExchangeOidcCodeRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 255); + +/** + * @generated from message exa.api_server_pb.ExchangeOidcCodeResponse + */ +export type ExchangeOidcCodeResponse = Message<"exa.api_server_pb.ExchangeOidcCodeResponse"> & { + /** + * @generated from field: string access_token = 1; + */ + accessToken: string; + + /** + * @generated from field: string id_token = 2; + */ + idToken: string; + + /** + * @generated from field: string refresh_token = 3; + */ + refreshToken: string; +}; + +/** + * Describes the message exa.api_server_pb.ExchangeOidcCodeResponse. + * Use `create(ExchangeOidcCodeResponseSchema)` to create a new message. + */ +export const ExchangeOidcCodeResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 256); + +/** + * @generated from message exa.api_server_pb.RefreshOidcTokenRequest + */ +export type RefreshOidcTokenRequest = Message<"exa.api_server_pb.RefreshOidcTokenRequest"> & { + /** + * @generated from field: string client_id = 1; + */ + clientId: string; + + /** + * @generated from field: string refresh_token = 2; + */ + refreshToken: string; +}; + +/** + * Describes the message exa.api_server_pb.RefreshOidcTokenRequest. + * Use `create(RefreshOidcTokenRequestSchema)` to create a new message. + */ +export const RefreshOidcTokenRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 257); + +/** + * @generated from message exa.api_server_pb.RefreshOidcTokenResponse + */ +export type RefreshOidcTokenResponse = Message<"exa.api_server_pb.RefreshOidcTokenResponse"> & { + /** + * @generated from field: string access_token = 1; + */ + accessToken: string; + + /** + * @generated from field: string id_token = 2; + */ + idToken: string; + + /** + * @generated from field: string refresh_token = 3; + */ + refreshToken: string; +}; + +/** + * Describes the message exa.api_server_pb.RefreshOidcTokenResponse. + * Use `create(RefreshOidcTokenResponseSchema)` to create a new message. + */ +export const RefreshOidcTokenResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 258); + +/** + * @generated from message exa.api_server_pb.GetTeamOrganizationalControlsRequest + */ +export type GetTeamOrganizationalControlsRequest = Message<"exa.api_server_pb.GetTeamOrganizationalControlsRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 2; + */ + metadata?: Metadata | undefined; +}; + +/** + * Describes the message exa.api_server_pb.GetTeamOrganizationalControlsRequest. + * Use `create(GetTeamOrganizationalControlsRequestSchema)` to create a new message. + */ +export const GetTeamOrganizationalControlsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 259); + +/** + * @generated from message exa.api_server_pb.GetTeamOrganizationalControlsForSiteRequest + */ +export type GetTeamOrganizationalControlsForSiteRequest = Message<"exa.api_server_pb.GetTeamOrganizationalControlsForSiteRequest"> & { +}; + +/** + * Describes the message exa.api_server_pb.GetTeamOrganizationalControlsForSiteRequest. + * Use `create(GetTeamOrganizationalControlsForSiteRequestSchema)` to create a new message. + */ +export const GetTeamOrganizationalControlsForSiteRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 260); + +/** + * @generated from message exa.api_server_pb.GetTeamOrganizationalControlsResponse + */ +export type GetTeamOrganizationalControlsResponse = Message<"exa.api_server_pb.GetTeamOrganizationalControlsResponse"> & { + /** + * @generated from field: exa.codeium_common_pb.TeamOrganizationalControls controls = 1; + */ + controls?: TeamOrganizationalControls | undefined; +}; + +/** + * Describes the message exa.api_server_pb.GetTeamOrganizationalControlsResponse. + * Use `create(GetTeamOrganizationalControlsResponseSchema)` to create a new message. + */ +export const GetTeamOrganizationalControlsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 261); + +/** + * @generated from message exa.api_server_pb.GetTeamOrganizationalControlsForSiteResponse + */ +export type GetTeamOrganizationalControlsForSiteResponse = Message<"exa.api_server_pb.GetTeamOrganizationalControlsForSiteResponse"> & { + /** + * @generated from field: exa.codeium_common_pb.TeamOrganizationalControls controls = 1; + */ + controls?: TeamOrganizationalControls | undefined; +}; + +/** + * Describes the message exa.api_server_pb.GetTeamOrganizationalControlsForSiteResponse. + * Use `create(GetTeamOrganizationalControlsForSiteResponseSchema)` to create a new message. + */ +export const GetTeamOrganizationalControlsForSiteResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 262); + +/** + * @generated from message exa.api_server_pb.UpsertTeamOrganizationalControlsRequest + */ +export type UpsertTeamOrganizationalControlsRequest = Message<"exa.api_server_pb.UpsertTeamOrganizationalControlsRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.TeamOrganizationalControls controls = 1; + */ + controls?: TeamOrganizationalControls | undefined; + + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 2; + */ + metadata?: Metadata | undefined; +}; + +/** + * Describes the message exa.api_server_pb.UpsertTeamOrganizationalControlsRequest. + * Use `create(UpsertTeamOrganizationalControlsRequestSchema)` to create a new message. + */ +export const UpsertTeamOrganizationalControlsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 263); + +/** + * @generated from message exa.api_server_pb.UpsertTeamOrganizationalControlsResponse + */ +export type UpsertTeamOrganizationalControlsResponse = Message<"exa.api_server_pb.UpsertTeamOrganizationalControlsResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.UpsertTeamOrganizationalControlsResponse. + * Use `create(UpsertTeamOrganizationalControlsResponseSchema)` to create a new message. + */ +export const UpsertTeamOrganizationalControlsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 264); + +/** + * @generated from message exa.api_server_pb.UpsertTeamOrganizationalControlsForSiteRequest + */ +export type UpsertTeamOrganizationalControlsForSiteRequest = Message<"exa.api_server_pb.UpsertTeamOrganizationalControlsForSiteRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.TeamOrganizationalControls controls = 1; + */ + controls?: TeamOrganizationalControls | undefined; +}; + +/** + * Describes the message exa.api_server_pb.UpsertTeamOrganizationalControlsForSiteRequest. + * Use `create(UpsertTeamOrganizationalControlsForSiteRequestSchema)` to create a new message. + */ +export const UpsertTeamOrganizationalControlsForSiteRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 265); + +/** + * @generated from message exa.api_server_pb.UpsertTeamOrganizationalControlsForSiteResponse + */ +export type UpsertTeamOrganizationalControlsForSiteResponse = Message<"exa.api_server_pb.UpsertTeamOrganizationalControlsForSiteResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.UpsertTeamOrganizationalControlsForSiteResponse. + * Use `create(UpsertTeamOrganizationalControlsForSiteResponseSchema)` to create a new message. + */ +export const UpsertTeamOrganizationalControlsForSiteResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 266); + +/** + * @generated from message exa.api_server_pb.DeleteTeamOrganizationalControlsRequest + */ +export type DeleteTeamOrganizationalControlsRequest = Message<"exa.api_server_pb.DeleteTeamOrganizationalControlsRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 2; + */ + metadata?: Metadata | undefined; +}; + +/** + * Describes the message exa.api_server_pb.DeleteTeamOrganizationalControlsRequest. + * Use `create(DeleteTeamOrganizationalControlsRequestSchema)` to create a new message. + */ +export const DeleteTeamOrganizationalControlsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 267); + +/** + * @generated from message exa.api_server_pb.DeleteTeamOrganizationalControlsResponse + */ +export type DeleteTeamOrganizationalControlsResponse = Message<"exa.api_server_pb.DeleteTeamOrganizationalControlsResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.DeleteTeamOrganizationalControlsResponse. + * Use `create(DeleteTeamOrganizationalControlsResponseSchema)` to create a new message. + */ +export const DeleteTeamOrganizationalControlsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 268); + +/** + * @generated from message exa.api_server_pb.ModelLabelsList + */ +export type ModelLabelsList = Message<"exa.api_server_pb.ModelLabelsList"> & { + /** + * @generated from field: repeated string labels = 1; + */ + labels: string[]; +}; + +/** + * Describes the message exa.api_server_pb.ModelLabelsList. + * Use `create(ModelLabelsListSchema)` to create a new message. + */ +export const ModelLabelsListSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 269); + +/** + * @generated from message exa.api_server_pb.ModelUidsList + */ +export type ModelUidsList = Message<"exa.api_server_pb.ModelUidsList"> & { + /** + * @generated from field: repeated string uids = 1; + */ + uids: string[]; +}; + +/** + * Describes the message exa.api_server_pb.ModelUidsList. + * Use `create(ModelUidsListSchema)` to create a new message. + */ +export const ModelUidsListSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 270); + +/** + * @generated from message exa.api_server_pb.ApiProvidersList + */ +export type ApiProvidersList = Message<"exa.api_server_pb.ApiProvidersList"> & { + /** + * @generated from field: repeated exa.codeium_common_pb.APIProvider providers = 1; + */ + providers: APIProvider[]; +}; + +/** + * Describes the message exa.api_server_pb.ApiProvidersList. + * Use `create(ApiProvidersListSchema)` to create a new message. + */ +export const ApiProvidersListSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 271); + +/** + * @generated from message exa.api_server_pb.ModelProvidersList + */ +export type ModelProvidersList = Message<"exa.api_server_pb.ModelProvidersList"> & { + /** + * @generated from field: repeated exa.codeium_common_pb.ModelProvider providers = 1; + */ + providers: ModelProvider[]; +}; + +/** + * Describes the message exa.api_server_pb.ModelProvidersList. + * Use `create(ModelProvidersListSchema)` to create a new message. + */ +export const ModelProvidersListSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 272); + +/** + * @generated from message exa.api_server_pb.BlockedModelTagsList + */ +export type BlockedModelTagsList = Message<"exa.api_server_pb.BlockedModelTagsList"> & { + /** + * @generated from field: repeated string tags = 1; + */ + tags: string[]; +}; + +/** + * Describes the message exa.api_server_pb.BlockedModelTagsList. + * Use `create(BlockedModelTagsListSchema)` to create a new message. + */ +export const BlockedModelTagsListSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 273); + +/** + * @generated from message exa.api_server_pb.UpdateTeamOrganizationalControlsExternalRequest + */ +export type UpdateTeamOrganizationalControlsExternalRequest = Message<"exa.api_server_pb.UpdateTeamOrganizationalControlsExternalRequest"> & { + /** + * @generated from field: optional exa.api_server_pb.ModelLabelsList cascade_model_labels = 2 [deprecated = true]; + * @deprecated + */ + cascadeModelLabels?: ModelLabelsList | undefined; + + /** + * @generated from field: optional exa.api_server_pb.ModelLabelsList command_model_labels = 3 [deprecated = true]; + * @deprecated + */ + commandModelLabels?: ModelLabelsList | undefined; + + /** + * @generated from field: optional exa.api_server_pb.ModelLabelsList cli_model_labels = 4 [deprecated = true]; + * @deprecated + */ + cliModelLabels?: ModelLabelsList | undefined; + + /** + * @generated from field: optional exa.api_server_pb.ModelUidsList cascade_model_uids = 5; + */ + cascadeModelUids?: ModelUidsList | undefined; + + /** + * @generated from field: optional exa.api_server_pb.ModelUidsList command_model_uids = 6; + */ + commandModelUids?: ModelUidsList | undefined; + + /** + * @generated from field: optional exa.api_server_pb.ModelUidsList cli_model_uids = 7; + */ + cliModelUids?: ModelUidsList | undefined; + + /** + * @generated from field: optional exa.api_server_pb.ApiProvidersList allowed_api_providers = 8; + */ + allowedApiProviders?: ApiProvidersList | undefined; + + /** + * @generated from field: optional exa.api_server_pb.ModelProvidersList allowed_model_providers = 9; + */ + allowedModelProviders?: ModelProvidersList | undefined; + + /** + * @generated from field: optional exa.codeium_common_pb.TeamOrganizationalControls.ModelFilterMode model_filter_mode = 10; + */ + modelFilterMode?: TeamOrganizationalControls_ModelFilterMode | undefined; + + /** + * @generated from field: optional exa.codeium_common_pb.TeamOrganizationalControls.AdaptiveSetting adaptive_setting = 11; + */ + adaptiveSetting?: TeamOrganizationalControls_AdaptiveSetting | undefined; + + /** + * @generated from field: optional exa.api_server_pb.BlockedModelTagsList blocked_model_tags = 12; + */ + blockedModelTags?: BlockedModelTagsList | undefined; + + /** + * @generated from field: optional exa.codeium_common_pb.TeamOrganizationalControls.QuickReviewSetting quick_review_setting = 13; + */ + quickReviewSetting?: TeamOrganizationalControls_QuickReviewSetting | undefined; + + /** + * @generated from field: optional exa.codeium_common_pb.TeamOrganizationalControls.AnthropicCyberRetentionSetting anthropic_cyber_retention_setting = 14; + */ + anthropicCyberRetentionSetting?: TeamOrganizationalControls_AnthropicCyberRetentionSetting | undefined; +}; + +/** + * Describes the message exa.api_server_pb.UpdateTeamOrganizationalControlsExternalRequest. + * Use `create(UpdateTeamOrganizationalControlsExternalRequestSchema)` to create a new message. + */ +export const UpdateTeamOrganizationalControlsExternalRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 274); + +/** + * @generated from message exa.api_server_pb.UpdateTeamOrganizationalControlsExternalResponse + */ +export type UpdateTeamOrganizationalControlsExternalResponse = Message<"exa.api_server_pb.UpdateTeamOrganizationalControlsExternalResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.UpdateTeamOrganizationalControlsExternalResponse. + * Use `create(UpdateTeamOrganizationalControlsExternalResponseSchema)` to create a new message. + */ +export const UpdateTeamOrganizationalControlsExternalResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 275); + +/** + * @generated from message exa.api_server_pb.GetWindsurfJSAvailableDeployTargetsRequest + */ +export type GetWindsurfJSAvailableDeployTargetsRequest = Message<"exa.api_server_pb.GetWindsurfJSAvailableDeployTargetsRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; +}; + +/** + * Describes the message exa.api_server_pb.GetWindsurfJSAvailableDeployTargetsRequest. + * Use `create(GetWindsurfJSAvailableDeployTargetsRequestSchema)` to create a new message. + */ +export const GetWindsurfJSAvailableDeployTargetsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 276); + +/** + * @generated from message exa.api_server_pb.GetWindsurfJSAvailableDeployTargetsResponse + */ +export type GetWindsurfJSAvailableDeployTargetsResponse = Message<"exa.api_server_pb.GetWindsurfJSAvailableDeployTargetsResponse"> & { + /** + * @generated from field: repeated exa.codeium_common_pb.DeployTarget deploy_targets = 1; + */ + deployTargets: DeployTarget[]; +}; + +/** + * Describes the message exa.api_server_pb.GetWindsurfJSAvailableDeployTargetsResponse. + * Use `create(GetWindsurfJSAvailableDeployTargetsResponseSchema)` to create a new message. + */ +export const GetWindsurfJSAvailableDeployTargetsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 277); + +/** + * @generated from message exa.api_server_pb.ValidateWindsurfJSAppProjectNameRequest + */ +export type ValidateWindsurfJSAppProjectNameRequest = Message<"exa.api_server_pb.ValidateWindsurfJSAppProjectNameRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string project_name = 2; + */ + projectName: string; +}; + +/** + * Describes the message exa.api_server_pb.ValidateWindsurfJSAppProjectNameRequest. + * Use `create(ValidateWindsurfJSAppProjectNameRequestSchema)` to create a new message. + */ +export const ValidateWindsurfJSAppProjectNameRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 278); + +/** + * @generated from message exa.api_server_pb.ValidateWindsurfJSAppProjectNameResponse + */ +export type ValidateWindsurfJSAppProjectNameResponse = Message<"exa.api_server_pb.ValidateWindsurfJSAppProjectNameResponse"> & { + /** + * @generated from field: exa.codeium_common_pb.ValidationStatus status = 1; + */ + status: ValidationStatus; + + /** + * @generated from field: string invalid_reason = 3; + */ + invalidReason: string; + + /** + * @generated from field: repeated string alternative_names = 2; + */ + alternativeNames: string[]; +}; + +/** + * Describes the message exa.api_server_pb.ValidateWindsurfJSAppProjectNameResponse. + * Use `create(ValidateWindsurfJSAppProjectNameResponseSchema)` to create a new message. + */ +export const ValidateWindsurfJSAppProjectNameResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 279); + +/** + * @generated from message exa.api_server_pb.DeployWindsurfJSAppRequest + */ +export type DeployWindsurfJSAppRequest = Message<"exa.api_server_pb.DeployWindsurfJSAppRequest"> & { + /** + * @generated from oneof exa.api_server_pb.DeployWindsurfJSAppRequest.data + */ + data: { + /** + * @generated from field: exa.api_server_pb.DeployWindsurfJSAppRequest.DeploymentMetadata deployment_metadata = 1; + */ + value: DeployWindsurfJSAppRequest_DeploymentMetadata; + case: "deploymentMetadata"; + } | { + /** + * @generated from field: exa.api_server_pb.DeployWindsurfJSAppRequest.DeploymentFileChunk file_chunk = 2; + */ + value: DeployWindsurfJSAppRequest_DeploymentFileChunk; + case: "fileChunk"; + } | { case: undefined; value?: undefined }; +}; + +/** + * Describes the message exa.api_server_pb.DeployWindsurfJSAppRequest. + * Use `create(DeployWindsurfJSAppRequestSchema)` to create a new message. + */ +export const DeployWindsurfJSAppRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 280); + +/** + * @generated from message exa.api_server_pb.DeployWindsurfJSAppRequest.DeploymentMetadata + */ +export type DeployWindsurfJSAppRequest_DeploymentMetadata = Message<"exa.api_server_pb.DeployWindsurfJSAppRequest.DeploymentMetadata"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string project_path = 2; + */ + projectPath: string; + + /** + * @generated from field: string project_id = 6; + */ + projectId: string; + + /** + * @generated from field: string subdomain_name = 3; + */ + subdomainName: string; + + /** + * @generated from field: string framework = 4; + */ + framework: string; + + /** + * @generated from field: exa.codeium_common_pb.DeploymentProvider deployment_provider = 5; + */ + deploymentProvider: DeploymentProvider; + + /** + * @generated from field: exa.codeium_common_pb.DeployTarget deploy_target = 7; + */ + deployTarget?: DeployTarget | undefined; +}; + +/** + * Describes the message exa.api_server_pb.DeployWindsurfJSAppRequest.DeploymentMetadata. + * Use `create(DeployWindsurfJSAppRequest_DeploymentMetadataSchema)` to create a new message. + */ +export const DeployWindsurfJSAppRequest_DeploymentMetadataSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 280, 0); + +/** + * @generated from message exa.api_server_pb.DeployWindsurfJSAppRequest.DeploymentFileChunk + */ +export type DeployWindsurfJSAppRequest_DeploymentFileChunk = Message<"exa.api_server_pb.DeployWindsurfJSAppRequest.DeploymentFileChunk"> & { + /** + * @generated from field: string file_path = 1; + */ + filePath: string; + + /** + * @generated from field: bytes file_contents = 2; + */ + fileContents: Uint8Array; +}; + +/** + * Describes the message exa.api_server_pb.DeployWindsurfJSAppRequest.DeploymentFileChunk. + * Use `create(DeployWindsurfJSAppRequest_DeploymentFileChunkSchema)` to create a new message. + */ +export const DeployWindsurfJSAppRequest_DeploymentFileChunkSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 280, 1); + +/** + * @generated from message exa.api_server_pb.DeployWindsurfJSAppResponse + */ +export type DeployWindsurfJSAppResponse = Message<"exa.api_server_pb.DeployWindsurfJSAppResponse"> & { + /** + * @generated from field: exa.codeium_common_pb.WindsurfDeployment deployment = 1; + */ + deployment?: WindsurfDeployment | undefined; + + /** + * @generated from field: bool is_overwrite = 2; + */ + isOverwrite: boolean; + + /** + * @generated from field: string claim_url = 3; + */ + claimUrl: string; +}; + +/** + * Describes the message exa.api_server_pb.DeployWindsurfJSAppResponse. + * Use `create(DeployWindsurfJSAppResponseSchema)` to create a new message. + */ +export const DeployWindsurfJSAppResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 281); + +/** + * @generated from message exa.api_server_pb.CreateWindsurfJSAppRequest + */ +export type CreateWindsurfJSAppRequest = Message<"exa.api_server_pb.CreateWindsurfJSAppRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string subdomain_name = 2; + */ + subdomainName: string; + + /** + * @generated from field: exa.codeium_common_pb.DeploymentProvider deployment_provider = 3; + */ + deploymentProvider: DeploymentProvider; + + /** + * @generated from field: exa.codeium_common_pb.DeployTarget deploy_target = 4; + */ + deployTarget?: DeployTarget | undefined; +}; + +/** + * Describes the message exa.api_server_pb.CreateWindsurfJSAppRequest. + * Use `create(CreateWindsurfJSAppRequestSchema)` to create a new message. + */ +export const CreateWindsurfJSAppRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 282); + +/** + * @generated from message exa.api_server_pb.CreateWindsurfJSAppResponse + */ +export type CreateWindsurfJSAppResponse = Message<"exa.api_server_pb.CreateWindsurfJSAppResponse"> & { + /** + * @generated from field: exa.codeium_common_pb.WindsurfProject project = 1; + */ + project?: WindsurfProject | undefined; +}; + +/** + * Describes the message exa.api_server_pb.CreateWindsurfJSAppResponse. + * Use `create(CreateWindsurfJSAppResponseSchema)` to create a new message. + */ +export const CreateWindsurfJSAppResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 283); + +/** + * @generated from message exa.api_server_pb.DeleteWindsurfJSAppRequest + */ +export type DeleteWindsurfJSAppRequest = Message<"exa.api_server_pb.DeleteWindsurfJSAppRequest"> & { + /** + * @generated from field: string api_key = 1; + */ + apiKey: string; + + /** + * @generated from field: string project_id = 2; + */ + projectId: string; +}; + +/** + * Describes the message exa.api_server_pb.DeleteWindsurfJSAppRequest. + * Use `create(DeleteWindsurfJSAppRequestSchema)` to create a new message. + */ +export const DeleteWindsurfJSAppRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 284); + +/** + * @generated from message exa.api_server_pb.DeleteWindsurfJSAppResponse + */ +export type DeleteWindsurfJSAppResponse = Message<"exa.api_server_pb.DeleteWindsurfJSAppResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.DeleteWindsurfJSAppResponse. + * Use `create(DeleteWindsurfJSAppResponseSchema)` to create a new message. + */ +export const DeleteWindsurfJSAppResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 285); + +/** + * @generated from message exa.api_server_pb.GetWindsurfJSAppDeploymentClaimStatusRequest + */ +export type GetWindsurfJSAppDeploymentClaimStatusRequest = Message<"exa.api_server_pb.GetWindsurfJSAppDeploymentClaimStatusRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string project_id = 2; + */ + projectId: string; +}; + +/** + * Describes the message exa.api_server_pb.GetWindsurfJSAppDeploymentClaimStatusRequest. + * Use `create(GetWindsurfJSAppDeploymentClaimStatusRequestSchema)` to create a new message. + */ +export const GetWindsurfJSAppDeploymentClaimStatusRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 286); + +/** + * @generated from message exa.api_server_pb.GetWindsurfJSAppDeploymentClaimStatusResponse + */ +export type GetWindsurfJSAppDeploymentClaimStatusResponse = Message<"exa.api_server_pb.GetWindsurfJSAppDeploymentClaimStatusResponse"> & { + /** + * @generated from field: bool is_claimed = 1; + */ + isClaimed: boolean; + + /** + * @generated from field: string claim_url = 2; + */ + claimUrl: string; +}; + +/** + * Describes the message exa.api_server_pb.GetWindsurfJSAppDeploymentClaimStatusResponse. + * Use `create(GetWindsurfJSAppDeploymentClaimStatusResponseSchema)` to create a new message. + */ +export const GetWindsurfJSAppDeploymentClaimStatusResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 287); + +/** + * @generated from message exa.api_server_pb.GetDeploymentProviderProjectNameByProjectIdRequest + */ +export type GetDeploymentProviderProjectNameByProjectIdRequest = Message<"exa.api_server_pb.GetDeploymentProviderProjectNameByProjectIdRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string project_id = 2; + */ + projectId: string; + + /** + * @generated from field: exa.codeium_common_pb.DeploymentProvider deployment_provider = 3; + */ + deploymentProvider: DeploymentProvider; +}; + +/** + * Describes the message exa.api_server_pb.GetDeploymentProviderProjectNameByProjectIdRequest. + * Use `create(GetDeploymentProviderProjectNameByProjectIdRequestSchema)` to create a new message. + */ +export const GetDeploymentProviderProjectNameByProjectIdRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 288); + +/** + * @generated from message exa.api_server_pb.GetDeploymentProviderProjectNameByProjectIdResponse + */ +export type GetDeploymentProviderProjectNameByProjectIdResponse = Message<"exa.api_server_pb.GetDeploymentProviderProjectNameByProjectIdResponse"> & { + /** + * @generated from field: string project_name = 1; + */ + projectName: string; + + /** + * @generated from field: string subdomain = 2; + */ + subdomain: string; + + /** + * @generated from field: string team_slug = 3; + */ + teamSlug: string; +}; + +/** + * Describes the message exa.api_server_pb.GetDeploymentProviderProjectNameByProjectIdResponse. + * Use `create(GetDeploymentProviderProjectNameByProjectIdResponseSchema)` to create a new message. + */ +export const GetDeploymentProviderProjectNameByProjectIdResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 289); + +/** + * @generated from message exa.api_server_pb.GetWindsurfJSDeployTargetByProjectIdRequest + */ +export type GetWindsurfJSDeployTargetByProjectIdRequest = Message<"exa.api_server_pb.GetWindsurfJSDeployTargetByProjectIdRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string project_id = 2; + */ + projectId: string; +}; + +/** + * Describes the message exa.api_server_pb.GetWindsurfJSDeployTargetByProjectIdRequest. + * Use `create(GetWindsurfJSDeployTargetByProjectIdRequestSchema)` to create a new message. + */ +export const GetWindsurfJSDeployTargetByProjectIdRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 290); + +/** + * @generated from message exa.api_server_pb.GetWindsurfJSDeployTargetByProjectIdResponse + */ +export type GetWindsurfJSDeployTargetByProjectIdResponse = Message<"exa.api_server_pb.GetWindsurfJSDeployTargetByProjectIdResponse"> & { + /** + * @generated from field: exa.codeium_common_pb.DeployTarget deploy_target = 1; + */ + deployTarget?: DeployTarget | undefined; +}; + +/** + * Describes the message exa.api_server_pb.GetWindsurfJSDeployTargetByProjectIdResponse. + * Use `create(GetWindsurfJSDeployTargetByProjectIdResponseSchema)` to create a new message. + */ +export const GetWindsurfJSDeployTargetByProjectIdResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 291); + +/** + * @generated from message exa.api_server_pb.GetWindsurfJSAppDeploymentsByProjectIdRequest + */ +export type GetWindsurfJSAppDeploymentsByProjectIdRequest = Message<"exa.api_server_pb.GetWindsurfJSAppDeploymentsByProjectIdRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string project_id = 2; + */ + projectId: string; +}; + +/** + * Describes the message exa.api_server_pb.GetWindsurfJSAppDeploymentsByProjectIdRequest. + * Use `create(GetWindsurfJSAppDeploymentsByProjectIdRequestSchema)` to create a new message. + */ +export const GetWindsurfJSAppDeploymentsByProjectIdRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 292); + +/** + * @generated from message exa.api_server_pb.GetWindsurfJSAppDeploymentsByProjectIdResponse + */ +export type GetWindsurfJSAppDeploymentsByProjectIdResponse = Message<"exa.api_server_pb.GetWindsurfJSAppDeploymentsByProjectIdResponse"> & { + /** + * @generated from field: repeated exa.codeium_common_pb.WindsurfDeployment deployments = 1; + */ + deployments: WindsurfDeployment[]; +}; + +/** + * Describes the message exa.api_server_pb.GetWindsurfJSAppDeploymentsByProjectIdResponse. + * Use `create(GetWindsurfJSAppDeploymentsByProjectIdResponseSchema)` to create a new message. + */ +export const GetWindsurfJSAppDeploymentsByProjectIdResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 293); + +/** + * @generated from message exa.api_server_pb.GetWindsurfJSAppsRequest + */ +export type GetWindsurfJSAppsRequest = Message<"exa.api_server_pb.GetWindsurfJSAppsRequest"> & { + /** + * @generated from field: string api_key = 1; + */ + apiKey: string; +}; + +/** + * Describes the message exa.api_server_pb.GetWindsurfJSAppsRequest. + * Use `create(GetWindsurfJSAppsRequestSchema)` to create a new message. + */ +export const GetWindsurfJSAppsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 294); + +/** + * @generated from message exa.api_server_pb.GetWindsurfJSAppsResponse + */ +export type GetWindsurfJSAppsResponse = Message<"exa.api_server_pb.GetWindsurfJSAppsResponse"> & { + /** + * @generated from field: int32 unclaimed_apps_used = 1; + */ + unclaimedAppsUsed: number; + + /** + * @generated from field: int32 unclaimed_apps_limit = 2; + */ + unclaimedAppsLimit: number; + + /** + * @generated from field: repeated exa.api_server_pb.GetWindsurfJSAppsResponse.WindsurfJSApp apps = 3; + */ + apps: GetWindsurfJSAppsResponse_WindsurfJSApp[]; +}; + +/** + * Describes the message exa.api_server_pb.GetWindsurfJSAppsResponse. + * Use `create(GetWindsurfJSAppsResponseSchema)` to create a new message. + */ +export const GetWindsurfJSAppsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 295); + +/** + * @generated from message exa.api_server_pb.GetWindsurfJSAppsResponse.WindsurfJSApp + */ +export type GetWindsurfJSAppsResponse_WindsurfJSApp = Message<"exa.api_server_pb.GetWindsurfJSAppsResponse.WindsurfJSApp"> & { + /** + * @generated from field: string app_url = 1; + */ + appUrl: string; + + /** + * @generated from field: exa.codeium_common_pb.DeploymentProvider deployment_provider = 2; + */ + deploymentProvider: DeploymentProvider; + + /** + * @generated from field: bool is_claimed = 3; + */ + isClaimed: boolean; + + /** + * @generated from field: string claim_url = 4; + */ + claimUrl: string; + + /** + * @generated from field: google.protobuf.Timestamp expiration_time = 5; + */ + expirationTime?: Timestamp | undefined; + + /** + * @generated from field: string project_id = 6; + */ + projectId: string; + + /** + * @generated from field: string provider_team_slug = 7; + */ + providerTeamSlug: string; +}; + +/** + * Describes the message exa.api_server_pb.GetWindsurfJSAppsResponse.WindsurfJSApp. + * Use `create(GetWindsurfJSAppsResponse_WindsurfJSAppSchema)` to create a new message. + */ +export const GetWindsurfJSAppsResponse_WindsurfJSAppSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 295, 0); + +/** + * @generated from message exa.api_server_pb.GetWindsurfJSAppDeploymentStatusesByProjectIdRequest + */ +export type GetWindsurfJSAppDeploymentStatusesByProjectIdRequest = Message<"exa.api_server_pb.GetWindsurfJSAppDeploymentStatusesByProjectIdRequest"> & { + /** + * @generated from field: string api_key = 1; + */ + apiKey: string; + + /** + * @generated from field: string project_id = 2; + */ + projectId: string; +}; + +/** + * Describes the message exa.api_server_pb.GetWindsurfJSAppDeploymentStatusesByProjectIdRequest. + * Use `create(GetWindsurfJSAppDeploymentStatusesByProjectIdRequestSchema)` to create a new message. + */ +export const GetWindsurfJSAppDeploymentStatusesByProjectIdRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 296); + +/** + * @generated from message exa.api_server_pb.GetWindsurfJSAppDeploymentStatusesByProjectIdResponse + */ +export type GetWindsurfJSAppDeploymentStatusesByProjectIdResponse = Message<"exa.api_server_pb.GetWindsurfJSAppDeploymentStatusesByProjectIdResponse"> & { + /** + * @generated from field: repeated exa.api_server_pb.GetWindsurfJSAppDeploymentStatusesByProjectIdResponse.WindsurfDeploymentStatus deployment_statuses = 1; + */ + deploymentStatuses: GetWindsurfJSAppDeploymentStatusesByProjectIdResponse_WindsurfDeploymentStatus[]; +}; + +/** + * Describes the message exa.api_server_pb.GetWindsurfJSAppDeploymentStatusesByProjectIdResponse. + * Use `create(GetWindsurfJSAppDeploymentStatusesByProjectIdResponseSchema)` to create a new message. + */ +export const GetWindsurfJSAppDeploymentStatusesByProjectIdResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 297); + +/** + * @generated from message exa.api_server_pb.GetWindsurfJSAppDeploymentStatusesByProjectIdResponse.WindsurfDeploymentStatus + */ +export type GetWindsurfJSAppDeploymentStatusesByProjectIdResponse_WindsurfDeploymentStatus = Message<"exa.api_server_pb.GetWindsurfJSAppDeploymentStatusesByProjectIdResponse.WindsurfDeploymentStatus"> & { + /** + * @generated from field: exa.codeium_common_pb.WindsurfDeployment deployment = 1; + */ + deployment?: WindsurfDeployment | undefined; + + /** + * @generated from field: exa.codeium_common_pb.DeploymentBuildStatus build_status = 2; + */ + buildStatus: DeploymentBuildStatus; + + /** + * @generated from field: string build_error = 3; + */ + buildError: string; +}; + +/** + * Describes the message exa.api_server_pb.GetWindsurfJSAppDeploymentStatusesByProjectIdResponse.WindsurfDeploymentStatus. + * Use `create(GetWindsurfJSAppDeploymentStatusesByProjectIdResponse_WindsurfDeploymentStatusSchema)` to create a new message. + */ +export const GetWindsurfJSAppDeploymentStatusesByProjectIdResponse_WindsurfDeploymentStatusSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 297, 0); + +/** + * @generated from message exa.api_server_pb.GetWindsurfJSAppDeploymentRequest + */ +export type GetWindsurfJSAppDeploymentRequest = Message<"exa.api_server_pb.GetWindsurfJSAppDeploymentRequest"> & { + /** + * @generated from field: string api_key = 1; + */ + apiKey: string; + + /** + * @generated from field: string deployment_id = 2; + */ + deploymentId: string; +}; + +/** + * Describes the message exa.api_server_pb.GetWindsurfJSAppDeploymentRequest. + * Use `create(GetWindsurfJSAppDeploymentRequestSchema)` to create a new message. + */ +export const GetWindsurfJSAppDeploymentRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 298); + +/** + * @generated from message exa.api_server_pb.GetWindsurfJSAppDeploymentResponse + */ +export type GetWindsurfJSAppDeploymentResponse = Message<"exa.api_server_pb.GetWindsurfJSAppDeploymentResponse"> & { + /** + * @generated from field: exa.codeium_common_pb.WindsurfDeployment deployment = 1; + */ + deployment?: WindsurfDeployment | undefined; + + /** + * @generated from field: exa.codeium_common_pb.DeploymentBuildStatus build_status = 2; + */ + buildStatus: DeploymentBuildStatus; + + /** + * @generated from field: string deployment_url = 3; + */ + deploymentUrl: string; + + /** + * @generated from field: string build_error = 4; + */ + buildError: string; + + /** + * @generated from field: string build_logs = 5; + */ + buildLogs: string; + + /** + * @generated from field: bool is_claimed = 6; + */ + isClaimed: boolean; + + /** + * @generated from field: string claim_url = 7; + */ + claimUrl: string; + + /** + * @generated from field: string provider_team_slug = 8; + */ + providerTeamSlug: string; +}; + +/** + * Describes the message exa.api_server_pb.GetWindsurfJSAppDeploymentResponse. + * Use `create(GetWindsurfJSAppDeploymentResponseSchema)` to create a new message. + */ +export const GetWindsurfJSAppDeploymentResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 299); + +/** + * @generated from message exa.api_server_pb.ApplyTrajectoryHeuristicsRequest + */ +export type ApplyTrajectoryHeuristicsRequest = Message<"exa.api_server_pb.ApplyTrajectoryHeuristicsRequest"> & { + /** + * @generated from field: repeated string heuristics = 1; + */ + heuristics: string[]; + + /** + * @generated from field: exa.cortex_pb.CortexTrajectory trajectory = 2; + */ + trajectory?: CortexTrajectory | undefined; +}; + +/** + * Describes the message exa.api_server_pb.ApplyTrajectoryHeuristicsRequest. + * Use `create(ApplyTrajectoryHeuristicsRequestSchema)` to create a new message. + */ +export const ApplyTrajectoryHeuristicsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 300); + +/** + * @generated from message exa.api_server_pb.ApplyTrajectoryHeuristicsResponse + */ +export type ApplyTrajectoryHeuristicsResponse = Message<"exa.api_server_pb.ApplyTrajectoryHeuristicsResponse"> & { + /** + * @generated from field: repeated string triggered_heuristics = 1; + */ + triggeredHeuristics: string[]; +}; + +/** + * Describes the message exa.api_server_pb.ApplyTrajectoryHeuristicsResponse. + * Use `create(ApplyTrajectoryHeuristicsResponseSchema)` to create a new message. + */ +export const ApplyTrajectoryHeuristicsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 301); + +/** + * @generated from message exa.api_server_pb.CreateTrajectoryShareStreamRequest + */ +export type CreateTrajectoryShareStreamRequest = Message<"exa.api_server_pb.CreateTrajectoryShareStreamRequest"> & { + /** + * @generated from oneof exa.api_server_pb.CreateTrajectoryShareStreamRequest.request + */ + request: { + /** + * @generated from field: exa.api_server_pb.CreateTrajectoryShareStreamRequest.Initial initial = 1; + */ + value: CreateTrajectoryShareStreamRequest_Initial; + case: "initial"; + } | { + /** + * @generated from field: exa.api_server_pb.CreateTrajectoryShareStreamRequest.Chunk chunk = 2; + */ + value: CreateTrajectoryShareStreamRequest_Chunk; + case: "chunk"; + } | { case: undefined; value?: undefined }; +}; + +/** + * Describes the message exa.api_server_pb.CreateTrajectoryShareStreamRequest. + * Use `create(CreateTrajectoryShareStreamRequestSchema)` to create a new message. + */ +export const CreateTrajectoryShareStreamRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 302); + +/** + * @generated from message exa.api_server_pb.CreateTrajectoryShareStreamRequest.Initial + */ +export type CreateTrajectoryShareStreamRequest_Initial = Message<"exa.api_server_pb.CreateTrajectoryShareStreamRequest.Initial"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: exa.cortex_pb.TrajectoryShareStatus share_status = 2; + */ + shareStatus: TrajectoryShareStatus; + + /** + * @generated from field: string trajectory_id = 3; + */ + trajectoryId: string; + + /** + * @generated from field: int32 num_chunks = 4; + */ + numChunks: number; +}; + +/** + * Describes the message exa.api_server_pb.CreateTrajectoryShareStreamRequest.Initial. + * Use `create(CreateTrajectoryShareStreamRequest_InitialSchema)` to create a new message. + */ +export const CreateTrajectoryShareStreamRequest_InitialSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 302, 0); + +/** + * @generated from message exa.api_server_pb.CreateTrajectoryShareStreamRequest.Chunk + */ +export type CreateTrajectoryShareStreamRequest_Chunk = Message<"exa.api_server_pb.CreateTrajectoryShareStreamRequest.Chunk"> & { + /** + * @generated from field: string chunk = 1; + */ + chunk: string; +}; + +/** + * Describes the message exa.api_server_pb.CreateTrajectoryShareStreamRequest.Chunk. + * Use `create(CreateTrajectoryShareStreamRequest_ChunkSchema)` to create a new message. + */ +export const CreateTrajectoryShareStreamRequest_ChunkSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 302, 1); + +/** + * @generated from message exa.api_server_pb.CreateTrajectoryShareStreamResponse + */ +export type CreateTrajectoryShareStreamResponse = Message<"exa.api_server_pb.CreateTrajectoryShareStreamResponse"> & { + /** + * @generated from field: string url = 1; + */ + url: string; + + /** + * @generated from field: string share_id = 2; + */ + shareId: string; +}; + +/** + * Describes the message exa.api_server_pb.CreateTrajectoryShareStreamResponse. + * Use `create(CreateTrajectoryShareStreamResponseSchema)` to create a new message. + */ +export const CreateTrajectoryShareStreamResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 303); + +/** + * @generated from message exa.api_server_pb.FetchTrajectoryShareRequest + */ +export type FetchTrajectoryShareRequest = Message<"exa.api_server_pb.FetchTrajectoryShareRequest"> & { + /** + * @generated from field: string share_id = 1; + */ + shareId: string; +}; + +/** + * Describes the message exa.api_server_pb.FetchTrajectoryShareRequest. + * Use `create(FetchTrajectoryShareRequestSchema)` to create a new message. + */ +export const FetchTrajectoryShareRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 304); + +/** + * @generated from message exa.api_server_pb.FetchTrajectoryShareResponse + */ +export type FetchTrajectoryShareResponse = Message<"exa.api_server_pb.FetchTrajectoryShareResponse"> & { + /** + * @generated from field: exa.cortex_pb.CortexTrajectory trajectory = 1; + */ + trajectory?: CortexTrajectory | undefined; + + /** + * @generated from field: exa.cortex_pb.CascadeTrajectorySummary summary = 2; + */ + summary?: CascadeTrajectorySummary | undefined; + + /** + * @generated from field: string user_name = 3; + */ + userName: string; + + /** + * @generated from field: string user_profile_picture_url = 4; + */ + userProfilePictureUrl: string; + + /** + * @generated from field: google.protobuf.Timestamp shared_at = 5; + */ + sharedAt?: Timestamp | undefined; +}; + +/** + * Describes the message exa.api_server_pb.FetchTrajectoryShareResponse. + * Use `create(FetchTrajectoryShareResponseSchema)` to create a new message. + */ +export const FetchTrajectoryShareResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 305); + +/** + * @generated from message exa.api_server_pb.DeleteTrajectoryShareRequest + */ +export type DeleteTrajectoryShareRequest = Message<"exa.api_server_pb.DeleteTrajectoryShareRequest"> & { + /** + * @generated from field: string share_id = 1; + */ + shareId: string; + + /** + * @generated from field: string api_key = 2; + */ + apiKey: string; +}; + +/** + * Describes the message exa.api_server_pb.DeleteTrajectoryShareRequest. + * Use `create(DeleteTrajectoryShareRequestSchema)` to create a new message. + */ +export const DeleteTrajectoryShareRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 306); + +/** + * @generated from message exa.api_server_pb.DeleteTrajectoryShareResponse + */ +export type DeleteTrajectoryShareResponse = Message<"exa.api_server_pb.DeleteTrajectoryShareResponse"> & { + /** + * @generated from field: bool success = 1; + */ + success: boolean; +}; + +/** + * Describes the message exa.api_server_pb.DeleteTrajectoryShareResponse. + * Use `create(DeleteTrajectoryShareResponseSchema)` to create a new message. + */ +export const DeleteTrajectoryShareResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 307); + +/** + * @generated from message exa.api_server_pb.TrajectoryShare + */ +export type TrajectoryShare = Message<"exa.api_server_pb.TrajectoryShare"> & { + /** + * @generated from field: string share_id = 1; + */ + shareId: string; + + /** + * @generated from field: string trajectory_id = 2; + */ + trajectoryId: string; + + /** + * @generated from field: exa.cortex_pb.CortexTrajectory trajectory = 3; + */ + trajectory?: CortexTrajectory | undefined; + + /** + * @generated from field: exa.cortex_pb.CascadeTrajectorySummary summary = 4; + */ + summary?: CascadeTrajectorySummary | undefined; + + /** + * @generated from field: exa.cortex_pb.TrajectoryShareStatus share_status = 5; + */ + shareStatus: TrajectoryShareStatus; +}; + +/** + * Describes the message exa.api_server_pb.TrajectoryShare. + * Use `create(TrajectoryShareSchema)` to create a new message. + */ +export const TrajectoryShareSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 308); + +/** + * @generated from message exa.api_server_pb.FetchTrajectoryShareByUserRequest + */ +export type FetchTrajectoryShareByUserRequest = Message<"exa.api_server_pb.FetchTrajectoryShareByUserRequest"> & { + /** + * @generated from field: string api_key = 1; + */ + apiKey: string; +}; + +/** + * Describes the message exa.api_server_pb.FetchTrajectoryShareByUserRequest. + * Use `create(FetchTrajectoryShareByUserRequestSchema)` to create a new message. + */ +export const FetchTrajectoryShareByUserRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 309); + +/** + * @generated from message exa.api_server_pb.FetchTrajectoryShareByUserResponse + */ +export type FetchTrajectoryShareByUserResponse = Message<"exa.api_server_pb.FetchTrajectoryShareByUserResponse"> & { + /** + * @generated from field: string user_name = 1; + */ + userName: string; + + /** + * @generated from field: string user_profile_picture_url = 2; + */ + userProfilePictureUrl: string; + + /** + * @generated from field: repeated exa.api_server_pb.TrajectoryShare shares = 3; + */ + shares: TrajectoryShare[]; +}; + +/** + * Describes the message exa.api_server_pb.FetchTrajectoryShareByUserResponse. + * Use `create(FetchTrajectoryShareByUserResponseSchema)` to create a new message. + */ +export const FetchTrajectoryShareByUserResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 310); + +/** + * @generated from message exa.api_server_pb.IsConversationSharingBlockedRequest + */ +export type IsConversationSharingBlockedRequest = Message<"exa.api_server_pb.IsConversationSharingBlockedRequest"> & { +}; + +/** + * Describes the message exa.api_server_pb.IsConversationSharingBlockedRequest. + * Use `create(IsConversationSharingBlockedRequestSchema)` to create a new message. + */ +export const IsConversationSharingBlockedRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 311); + +/** + * @generated from message exa.api_server_pb.IsConversationSharingBlockedResponse + */ +export type IsConversationSharingBlockedResponse = Message<"exa.api_server_pb.IsConversationSharingBlockedResponse"> & { + /** + * @generated from field: bool blocked = 1; + */ + blocked: boolean; +}; + +/** + * Describes the message exa.api_server_pb.IsConversationSharingBlockedResponse. + * Use `create(IsConversationSharingBlockedResponseSchema)` to create a new message. + */ +export const IsConversationSharingBlockedResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 312); + +/** + * @generated from message exa.api_server_pb.GetDefaultWorkflowTemplatesRequest + */ +export type GetDefaultWorkflowTemplatesRequest = Message<"exa.api_server_pb.GetDefaultWorkflowTemplatesRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; +}; + +/** + * Describes the message exa.api_server_pb.GetDefaultWorkflowTemplatesRequest. + * Use `create(GetDefaultWorkflowTemplatesRequestSchema)` to create a new message. + */ +export const GetDefaultWorkflowTemplatesRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 313); + +/** + * @generated from message exa.api_server_pb.GetDefaultWorkflowTemplatesResponse + */ +export type GetDefaultWorkflowTemplatesResponse = Message<"exa.api_server_pb.GetDefaultWorkflowTemplatesResponse"> & { + /** + * @generated from field: repeated exa.cortex_pb.WorkflowSpec workflows = 1; + */ + workflows: WorkflowSpec[]; +}; + +/** + * Describes the message exa.api_server_pb.GetDefaultWorkflowTemplatesResponse. + * Use `create(GetDefaultWorkflowTemplatesResponseSchema)` to create a new message. + */ +export const GetDefaultWorkflowTemplatesResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 314); + +/** + * @generated from message exa.api_server_pb.GetSupabaseSecretRequest + */ +export type GetSupabaseSecretRequest = Message<"exa.api_server_pb.GetSupabaseSecretRequest"> & { + /** + * @generated from field: string api_key = 1; + */ + apiKey: string; +}; + +/** + * Describes the message exa.api_server_pb.GetSupabaseSecretRequest. + * Use `create(GetSupabaseSecretRequestSchema)` to create a new message. + */ +export const GetSupabaseSecretRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 315); + +/** + * @generated from message exa.api_server_pb.GetSupabaseSecretResponse + */ +export type GetSupabaseSecretResponse = Message<"exa.api_server_pb.GetSupabaseSecretResponse"> & { + /** + * @generated from field: string secret = 1; + */ + secret: string; +}; + +/** + * Describes the message exa.api_server_pb.GetSupabaseSecretResponse. + * Use `create(GetSupabaseSecretResponseSchema)` to create a new message. + */ +export const GetSupabaseSecretResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 316); + +/** + * @generated from message exa.api_server_pb.GetSSOProvidersRequest + */ +export type GetSSOProvidersRequest = Message<"exa.api_server_pb.GetSSOProvidersRequest"> & { +}; + +/** + * Describes the message exa.api_server_pb.GetSSOProvidersRequest. + * Use `create(GetSSOProvidersRequestSchema)` to create a new message. + */ +export const GetSSOProvidersRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 317); + +/** + * @generated from message exa.api_server_pb.GetSSOProvidersResponse + */ +export type GetSSOProvidersResponse = Message<"exa.api_server_pb.GetSSOProvidersResponse"> & { + /** + * @generated from field: string sso_providers_json = 1; + */ + ssoProvidersJson: string; +}; + +/** + * Describes the message exa.api_server_pb.GetSSOProvidersResponse. + * Use `create(GetSSOProvidersResponseSchema)` to create a new message. + */ +export const GetSSOProvidersResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 318); + +/** + * @generated from message exa.api_server_pb.FindTeamByEmailRequest + */ +export type FindTeamByEmailRequest = Message<"exa.api_server_pb.FindTeamByEmailRequest"> & { + /** + * @generated from field: string email = 1; + */ + email: string; +}; + +/** + * Describes the message exa.api_server_pb.FindTeamByEmailRequest. + * Use `create(FindTeamByEmailRequestSchema)` to create a new message. + */ +export const FindTeamByEmailRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 319); + +/** + * @generated from message exa.api_server_pb.FindTeamByEmailResponse + */ +export type FindTeamByEmailResponse = Message<"exa.api_server_pb.FindTeamByEmailResponse"> & { + /** + * @generated from field: string team_id = 1; + */ + teamId: string; + + /** + * @generated from field: string team_name = 2; + */ + teamName: string; + + /** + * @generated from field: bool found = 3; + */ + found: boolean; +}; + +/** + * Describes the message exa.api_server_pb.FindTeamByEmailResponse. + * Use `create(FindTeamByEmailResponseSchema)` to create a new message. + */ +export const FindTeamByEmailResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 320); + +/** + * @generated from message exa.api_server_pb.GetExternalModelsGroupRequest + */ +export type GetExternalModelsGroupRequest = Message<"exa.api_server_pb.GetExternalModelsGroupRequest"> & { + /** + * @generated from field: uint32 id = 2; + */ + id: number; +}; + +/** + * Describes the message exa.api_server_pb.GetExternalModelsGroupRequest. + * Use `create(GetExternalModelsGroupRequestSchema)` to create a new message. + */ +export const GetExternalModelsGroupRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 321); + +/** + * @generated from message exa.api_server_pb.GetExternalModelsGroupResponse + */ +export type GetExternalModelsGroupResponse = Message<"exa.api_server_pb.GetExternalModelsGroupResponse"> & { + /** + * @generated from field: repeated string groups = 1; + */ + groups: string[]; +}; + +/** + * Describes the message exa.api_server_pb.GetExternalModelsGroupResponse. + * Use `create(GetExternalModelsGroupResponseSchema)` to create a new message. + */ +export const GetExternalModelsGroupResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 322); + +/** + * @generated from message exa.api_server_pb.UpdateExternalModelsGroupRequest + */ +export type UpdateExternalModelsGroupRequest = Message<"exa.api_server_pb.UpdateExternalModelsGroupRequest"> & { + /** + * @generated from field: uint32 id = 2; + */ + id: number; + + /** + * @generated from field: repeated string groups = 3; + */ + groups: string[]; +}; + +/** + * Describes the message exa.api_server_pb.UpdateExternalModelsGroupRequest. + * Use `create(UpdateExternalModelsGroupRequestSchema)` to create a new message. + */ +export const UpdateExternalModelsGroupRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 323); + +/** + * @generated from message exa.api_server_pb.UpdateExternalModelsGroupResponse + */ +export type UpdateExternalModelsGroupResponse = Message<"exa.api_server_pb.UpdateExternalModelsGroupResponse"> & { + /** + * @generated from field: repeated string groups = 1; + */ + groups: string[]; +}; + +/** + * Describes the message exa.api_server_pb.UpdateExternalModelsGroupResponse. + * Use `create(UpdateExternalModelsGroupResponseSchema)` to create a new message. + */ +export const UpdateExternalModelsGroupResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 324); + +/** + * @generated from message exa.api_server_pb.GetExternalModelRequest + */ +export type GetExternalModelRequest = Message<"exa.api_server_pb.GetExternalModelRequest"> & { + /** + * @generated from field: string api_key = 1; + */ + apiKey: string; +}; + +/** + * Describes the message exa.api_server_pb.GetExternalModelRequest. + * Use `create(GetExternalModelRequestSchema)` to create a new message. + */ +export const GetExternalModelRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 325); + +/** + * @generated from message exa.api_server_pb.GetExternalModelResponse + */ +export type GetExternalModelResponse = Message<"exa.api_server_pb.GetExternalModelResponse"> & { + /** + * @generated from field: repeated exa.codeium_common_pb.ExternalModel models = 1; + */ + models: ExternalModel[]; +}; + +/** + * Describes the message exa.api_server_pb.GetExternalModelResponse. + * Use `create(GetExternalModelResponseSchema)` to create a new message. + */ +export const GetExternalModelResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 326); + +/** + * @generated from message exa.api_server_pb.CreateExternalModelsRequest + */ +export type CreateExternalModelsRequest = Message<"exa.api_server_pb.CreateExternalModelsRequest"> & { + /** + * @generated from field: string model_name = 2; + */ + modelName: string; + + /** + * @generated from field: string endpoint = 3; + */ + endpoint: string; + + /** + * @generated from field: string api_key = 4; + */ + apiKey: string; + + /** + * @generated from field: exa.codeium_common_pb.Model model_id = 5; + */ + modelId: Model; + + /** + * @generated from field: string region = 6; + */ + region: string; + + /** + * @generated from field: string project_id = 7; + */ + projectId: string; + + /** + * @generated from field: string access_key = 8; + */ + accessKey: string; + + /** + * @generated from field: string secret_access_key = 9; + */ + secretAccessKey: string; + + /** + * @generated from field: int32 max_completion_tokens = 10; + */ + maxCompletionTokens: number; + + /** + * @generated from field: int32 max_input_tokens = 11; + */ + maxInputTokens: number; +}; + +/** + * Describes the message exa.api_server_pb.CreateExternalModelsRequest. + * Use `create(CreateExternalModelsRequestSchema)` to create a new message. + */ +export const CreateExternalModelsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 327); + +/** + * @generated from message exa.api_server_pb.UpdateExternalModelsRequest + */ +export type UpdateExternalModelsRequest = Message<"exa.api_server_pb.UpdateExternalModelsRequest"> & { + /** + * @generated from field: string model_name = 2; + */ + modelName: string; + + /** + * @generated from field: string endpoint = 3; + */ + endpoint: string; + + /** + * @generated from field: string api_key = 4; + */ + apiKey: string; + + /** + * @generated from field: exa.codeium_common_pb.Model original_model_id = 5; + */ + originalModelId: Model; + + /** + * @generated from field: string region = 6; + */ + region: string; + + /** + * @generated from field: string project_id = 7; + */ + projectId: string; + + /** + * @generated from field: string access_key = 8; + */ + accessKey: string; + + /** + * @generated from field: string secret_access_key = 9; + */ + secretAccessKey: string; + + /** + * @generated from field: string original_model_name = 10; + */ + originalModelName: string; + + /** + * @generated from field: uint32 id = 11; + */ + id: number; + + /** + * @generated from field: int32 max_completion_tokens = 12; + */ + maxCompletionTokens: number; + + /** + * @generated from field: int32 max_input_tokens = 13; + */ + maxInputTokens: number; +}; + +/** + * Describes the message exa.api_server_pb.UpdateExternalModelsRequest. + * Use `create(UpdateExternalModelsRequestSchema)` to create a new message. + */ +export const UpdateExternalModelsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 328); + +/** + * @generated from message exa.api_server_pb.CreateExternalModelsResponse + */ +export type CreateExternalModelsResponse = Message<"exa.api_server_pb.CreateExternalModelsResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.CreateExternalModelsResponse. + * Use `create(CreateExternalModelsResponseSchema)` to create a new message. + */ +export const CreateExternalModelsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 329); + +/** + * @generated from message exa.api_server_pb.DeleteExternalModelsRequest + */ +export type DeleteExternalModelsRequest = Message<"exa.api_server_pb.DeleteExternalModelsRequest"> & { + /** + * @generated from field: string model_name = 2; + */ + modelName: string; + + /** + * @generated from field: exa.codeium_common_pb.Model model_id = 3; + */ + modelId: Model; + + /** + * @generated from field: uint32 id = 11; + */ + id: number; +}; + +/** + * Describes the message exa.api_server_pb.DeleteExternalModelsRequest. + * Use `create(DeleteExternalModelsRequestSchema)` to create a new message. + */ +export const DeleteExternalModelsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 330); + +/** + * @generated from message exa.api_server_pb.UpdateExternalModelsResponse + */ +export type UpdateExternalModelsResponse = Message<"exa.api_server_pb.UpdateExternalModelsResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.UpdateExternalModelsResponse. + * Use `create(UpdateExternalModelsResponseSchema)` to create a new message. + */ +export const UpdateExternalModelsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 331); + +/** + * @generated from message exa.api_server_pb.DeleteExternalModelsResponse + */ +export type DeleteExternalModelsResponse = Message<"exa.api_server_pb.DeleteExternalModelsResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.DeleteExternalModelsResponse. + * Use `create(DeleteExternalModelsResponseSchema)` to create a new message. + */ +export const DeleteExternalModelsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 332); + +/** + * @generated from message exa.api_server_pb.CheckBugsRequest + */ +export type CheckBugsRequest = Message<"exa.api_server_pb.CheckBugsRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string diff = 2; + */ + diff: string; + + /** + * @generated from field: string repo_name = 3; + */ + repoName: string; + + /** + * @generated from field: string commit_hash = 4; + */ + commitHash: string; + + /** + * @generated from field: string author_name = 5; + */ + authorName: string; + + /** + * @generated from field: string model = 6; + */ + model: string; + + /** + * @generated from field: string commit_message = 7; + */ + commitMessage: string; + + /** + * @generated from field: int32 lines_changed = 8; + */ + linesChanged: number; + + /** + * @generated from field: repeated string user_rules = 9; + */ + userRules: string[]; + + /** + * @generated from field: string method = 10; + */ + method: string; + + /** + * @generated from field: string symbol_context = 11; + */ + symbolContext: string; + + /** + * @generated from field: string check_type = 12; + */ + checkType: string; + + /** + * @generated from field: string base_ref = 13; + */ + baseRef: string; +}; + +/** + * Describes the message exa.api_server_pb.CheckBugsRequest. + * Use `create(CheckBugsRequestSchema)` to create a new message. + */ +export const CheckBugsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 333); + +/** + * @generated from message exa.api_server_pb.CheckBugsResponse + */ +export type CheckBugsResponse = Message<"exa.api_server_pb.CheckBugsResponse"> & { + /** + * @generated from field: repeated exa.bug_checker_pb.Bug bugs = 1; + */ + bugs: Bug[]; + + /** + * @generated from field: string bug_check_id = 2; + */ + bugCheckId: string; + + /** + * @generated from field: string method_used = 3; + */ + methodUsed: string; + + /** + * @generated from field: string model_used = 4 [deprecated = true]; + * @deprecated + */ + modelUsed: string; + + /** + * @generated from field: string playgrounds = 5; + */ + playgrounds: string; + + /** + * @generated from field: exa.codeium_common_pb.Model model_id = 6; + */ + modelId: Model; + + /** + * @generated from field: string agent_version = 7; + */ + agentVersion: string; +}; + +/** + * Describes the message exa.api_server_pb.CheckBugsResponse. + * Use `create(CheckBugsResponseSchema)` to create a new message. + */ +export const CheckBugsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 334); + +/** + * @generated from message exa.api_server_pb.GetLifeguardConfigRequest + */ +export type GetLifeguardConfigRequest = Message<"exa.api_server_pb.GetLifeguardConfigRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; +}; + +/** + * Describes the message exa.api_server_pb.GetLifeguardConfigRequest. + * Use `create(GetLifeguardConfigRequestSchema)` to create a new message. + */ +export const GetLifeguardConfigRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 335); + +/** + * @generated from message exa.api_server_pb.GetLifeguardConfigResponse + */ +export type GetLifeguardConfigResponse = Message<"exa.api_server_pb.GetLifeguardConfigResponse"> & { + /** + * @generated from field: exa.codeium_common_pb.LifeguardConfig config = 1; + */ + config?: LifeguardConfig | undefined; +}; + +/** + * Describes the message exa.api_server_pb.GetLifeguardConfigResponse. + * Use `create(GetLifeguardConfigResponseSchema)` to create a new message. + */ +export const GetLifeguardConfigResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 336); + +/** + * @generated from message exa.api_server_pb.AcceptBugRequest + */ +export type AcceptBugRequest = Message<"exa.api_server_pb.AcceptBugRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string bug_check_id = 2; + */ + bugCheckId: string; + + /** + * @generated from field: string bug_id = 3; + */ + bugId: string; +}; + +/** + * Describes the message exa.api_server_pb.AcceptBugRequest. + * Use `create(AcceptBugRequestSchema)` to create a new message. + */ +export const AcceptBugRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 337); + +/** + * @generated from message exa.api_server_pb.AcceptBugResponse + */ +export type AcceptBugResponse = Message<"exa.api_server_pb.AcceptBugResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.AcceptBugResponse. + * Use `create(AcceptBugResponseSchema)` to create a new message. + */ +export const AcceptBugResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 338); + +/** + * @generated from message exa.api_server_pb.RejectBugRequest + */ +export type RejectBugRequest = Message<"exa.api_server_pb.RejectBugRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string bug_check_id = 2; + */ + bugCheckId: string; + + /** + * @generated from field: string bug_id = 3; + */ + bugId: string; +}; + +/** + * Describes the message exa.api_server_pb.RejectBugRequest. + * Use `create(RejectBugRequestSchema)` to create a new message. + */ +export const RejectBugRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 339); + +/** + * @generated from message exa.api_server_pb.RejectBugResponse + */ +export type RejectBugResponse = Message<"exa.api_server_pb.RejectBugResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.RejectBugResponse. + * Use `create(RejectBugResponseSchema)` to create a new message. + */ +export const RejectBugResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 340); + +/** + * @generated from message exa.api_server_pb.SubmitBugReportRequest + */ +export type SubmitBugReportRequest = Message<"exa.api_server_pb.SubmitBugReportRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string description = 2; + */ + description: string; + + /** + * @generated from field: string bug_type = 3; + */ + bugType: string; + + /** + * @generated from field: string diagnostics_json = 4; + */ + diagnosticsJson: string; + + /** + * @generated from field: bytes screenshot = 5; + */ + screenshot: Uint8Array; + + /** + * @generated from field: string tab_info = 6; + */ + tabInfo: string; + + /** + * @generated from field: string other = 7; + */ + other: string; +}; + +/** + * Describes the message exa.api_server_pb.SubmitBugReportRequest. + * Use `create(SubmitBugReportRequestSchema)` to create a new message. + */ +export const SubmitBugReportRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 341); + +/** + * @generated from message exa.api_server_pb.SubmitBugReportResponse + */ +export type SubmitBugReportResponse = Message<"exa.api_server_pb.SubmitBugReportResponse"> & { + /** + * @generated from field: string message_link = 1; + */ + messageLink: string; +}; + +/** + * Describes the message exa.api_server_pb.SubmitBugReportResponse. + * Use `create(SubmitBugReportResponseSchema)` to create a new message. + */ +export const SubmitBugReportResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 342); + +/** + * @generated from message exa.api_server_pb.GetTabRequest + */ +export type GetTabRequest = Message<"exa.api_server_pb.GetTabRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: exa.prompt_pb.UnifiedPromptComponents unified_prompt_components = 2; + */ + unifiedPromptComponents?: UnifiedPromptComponents | undefined; + + /** + * @generated from field: exa.codeium_common_pb.ExperimentConfig experiment_config = 3; + */ + experimentConfig?: ExperimentConfig | undefined; + + /** + * @generated from field: exa.codeium_common_pb.ProviderSource provider_source = 4; + */ + providerSource: ProviderSource; + + /** + * @generated from field: string prompt_id = 5; + */ + promptId: string; + + /** + * @generated from field: exa.codeium_common_pb.Language language = 6; + */ + language: Language; + + /** + * @generated from field: exa.codeium_common_pb.Model model = 7; + */ + model: Model; + + /** + * @generated from field: exa.api_server_pb.TabTrajectoryStepsV2 trajectory_steps_v2 = 9; + */ + trajectoryStepsV2?: TabTrajectoryStepsV2 | undefined; + + /** + * @generated from field: optional int32 streaming_completion_version = 10; + */ + streamingCompletionVersion?: number | undefined; +}; + +/** + * Describes the message exa.api_server_pb.GetTabRequest. + * Use `create(GetTabRequestSchema)` to create a new message. + */ +export const GetTabRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 343); + +/** + * @generated from message exa.api_server_pb.GetTabResponse + */ +export type GetTabResponse = Message<"exa.api_server_pb.GetTabResponse"> & { + /** + * @generated from oneof exa.api_server_pb.GetTabResponse.message + */ + message: { + /** + * @generated from field: exa.api_server_pb.GetTabResponse.PreResponse pre_response = 1; + */ + value: GetTabResponse_PreResponse; + case: "preResponse"; + } | { + /** + * @generated from field: exa.codeium_common_pb.StreamingCompletion streaming_completion = 2; + */ + value: StreamingCompletion; + case: "streamingCompletion"; + } | { + /** + * @generated from field: exa.api_server_pb.GetTabResponse.MissingInformation missing_information = 3; + */ + value: GetTabResponse_MissingInformation; + case: "missingInformation"; + } | { + /** + * @generated from field: exa.api_server_pb.DeltaTab streaming_completion_v2 = 4; + */ + value: DeltaTab; + case: "streamingCompletionV2"; + } | { case: undefined; value?: undefined }; +}; + +/** + * Describes the message exa.api_server_pb.GetTabResponse. + * Use `create(GetTabResponseSchema)` to create a new message. + */ +export const GetTabResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 344); + +/** + * @generated from message exa.api_server_pb.GetTabResponse.PreResponse + */ +export type GetTabResponse_PreResponse = Message<"exa.api_server_pb.GetTabResponse.PreResponse"> & { + /** + * @generated from field: string prompt = 1; + */ + prompt: string; + + /** + * @generated from field: string request_id = 2; + */ + requestId: string; + + /** + * @generated from field: exa.codeium_common_pb.ModelFeatures model_features = 3; + */ + modelFeatures?: ModelFeatures | undefined; + + /** + * @generated from field: map uris_to_hashes = 5; + */ + urisToHashes: { [key: string]: bigint }; + + /** + * @generated from field: exa.api_server_pb.TrajectoryCacheInfoV2 cache_info_v2 = 6; + */ + cacheInfoV2?: TrajectoryCacheInfoV2 | undefined; +}; + +/** + * Describes the message exa.api_server_pb.GetTabResponse.PreResponse. + * Use `create(GetTabResponse_PreResponseSchema)` to create a new message. + */ +export const GetTabResponse_PreResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 344, 0); + +/** + * @generated from message exa.api_server_pb.GetTabResponse.MissingInformation + */ +export type GetTabResponse_MissingInformation = Message<"exa.api_server_pb.GetTabResponse.MissingInformation"> & { + /** + * @generated from field: repeated string uris = 1; + */ + uris: string[]; + + /** + * @generated from field: optional int64 start_step = 2; + */ + startStep?: bigint | undefined; +}; + +/** + * Describes the message exa.api_server_pb.GetTabResponse.MissingInformation. + * Use `create(GetTabResponse_MissingInformationSchema)` to create a new message. + */ +export const GetTabResponse_MissingInformationSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 344, 1); + +/** + * @generated from message exa.api_server_pb.DeltaTab + */ +export type DeltaTab = Message<"exa.api_server_pb.DeltaTab"> & { + /** + * @generated from field: string id = 1; + */ + id: string; + + /** + * @generated from field: string path = 2; + */ + path: string; + + /** + * @generated from field: bool is_complete = 3; + */ + isComplete: boolean; + + /** + * @generated from field: optional exa.codeium_common_pb.StopReason stop_reason = 7; + */ + stopReason?: StopReason | undefined; + + /** + * @generated from oneof exa.api_server_pb.DeltaTab.delta + */ + delta: { + /** + * @generated from field: exa.api_server_pb.DeltaTab.DeltaSupercomplete delta_supercomplete = 4; + */ + value: DeltaTab_DeltaSupercomplete; + case: "deltaSupercomplete"; + } | { + /** + * @generated from field: exa.api_server_pb.DeltaTab.DeltaTabJump delta_tab_jump = 5; + */ + value: DeltaTab_DeltaTabJump; + case: "deltaTabJump"; + } | { + /** + * @generated from field: exa.api_server_pb.DeltaTab.DeltaNoop delta_noop = 6; + */ + value: DeltaTab_DeltaNoop; + case: "deltaNoop"; + } | { case: undefined; value?: undefined }; +}; + +/** + * Describes the message exa.api_server_pb.DeltaTab. + * Use `create(DeltaTabSchema)` to create a new message. + */ +export const DeltaTabSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 345); + +/** + * @generated from message exa.api_server_pb.DeltaTab.DeltaSupercomplete + */ +export type DeltaTab_DeltaSupercomplete = Message<"exa.api_server_pb.DeltaTab.DeltaSupercomplete"> & { + /** + * @generated from field: uint64 start_line = 1; + */ + startLine: bigint; + + /** + * @generated from field: uint64 end_line = 2; + */ + endLine: bigint; + + /** + * @generated from field: string delta_old_str = 3; + */ + deltaOldStr: string; + + /** + * @generated from field: string delta_new_str = 4; + */ + deltaNewStr: string; + + /** + * @generated from field: bool is_import = 5; + */ + isImport: boolean; + + /** + * @generated from field: exa.codeium_common_pb.DocumentPosition cursor_position = 6; + */ + cursorPosition?: DocumentPosition | undefined; +}; + +/** + * Describes the message exa.api_server_pb.DeltaTab.DeltaSupercomplete. + * Use `create(DeltaTab_DeltaSupercompleteSchema)` to create a new message. + */ +export const DeltaTab_DeltaSupercompleteSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 345, 0); + +/** + * @generated from message exa.api_server_pb.DeltaTab.DeltaTabJump + */ +export type DeltaTab_DeltaTabJump = Message<"exa.api_server_pb.DeltaTab.DeltaTabJump"> & { + /** + * @generated from field: exa.codeium_common_pb.DocumentPosition cursor_position = 1; + */ + cursorPosition?: DocumentPosition | undefined; +}; + +/** + * Describes the message exa.api_server_pb.DeltaTab.DeltaTabJump. + * Use `create(DeltaTab_DeltaTabJumpSchema)` to create a new message. + */ +export const DeltaTab_DeltaTabJumpSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 345, 1); + +/** + * @generated from message exa.api_server_pb.DeltaTab.DeltaNoop + */ +export type DeltaTab_DeltaNoop = Message<"exa.api_server_pb.DeltaTab.DeltaNoop"> & { +}; + +/** + * Describes the message exa.api_server_pb.DeltaTab.DeltaNoop. + * Use `create(DeltaTab_DeltaNoopSchema)` to create a new message. + */ +export const DeltaTab_DeltaNoopSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 345, 2); + +/** + * @generated from message exa.api_server_pb.TrajectoryCacheInfoV2 + */ +export type TrajectoryCacheInfoV2 = Message<"exa.api_server_pb.TrajectoryCacheInfoV2"> & { + /** + * @generated from field: string cache_key = 1; + */ + cacheKey: string; + + /** + * @generated from field: repeated uint64 hashes = 2; + */ + hashes: bigint[]; +}; + +/** + * Describes the message exa.api_server_pb.TrajectoryCacheInfoV2. + * Use `create(TrajectoryCacheInfoV2Schema)` to create a new message. + */ +export const TrajectoryCacheInfoV2Schema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 346); + +/** + * @generated from message exa.api_server_pb.TabTrajectoryStepsV2 + */ +export type TabTrajectoryStepsV2 = Message<"exa.api_server_pb.TabTrajectoryStepsV2"> & { + /** + * @generated from field: repeated uint64 hashes = 1; + */ + hashes: bigint[]; + + /** + * @generated from field: repeated exa.cortex_pb.CortexTrajectoryStep steps_after_hashes = 2; + */ + stepsAfterHashes: CortexTrajectoryStep[]; +}; + +/** + * Describes the message exa.api_server_pb.TabTrajectoryStepsV2. + * Use `create(TabTrajectoryStepsV2Schema)` to create a new message. + */ +export const TabTrajectoryStepsV2Schema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 347); + +/** + * @generated from message exa.api_server_pb.EnrollCyberVerificationRequest + */ +export type EnrollCyberVerificationRequest = Message<"exa.api_server_pb.EnrollCyberVerificationRequest"> & { +}; + +/** + * Describes the message exa.api_server_pb.EnrollCyberVerificationRequest. + * Use `create(EnrollCyberVerificationRequestSchema)` to create a new message. + */ +export const EnrollCyberVerificationRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 348); + +/** + * @generated from message exa.api_server_pb.EnrollCyberVerificationResponse + */ +export type EnrollCyberVerificationResponse = Message<"exa.api_server_pb.EnrollCyberVerificationResponse"> & { + /** + * @generated from field: string enrollment_url = 1; + */ + enrollmentUrl: string; + + /** + * @generated from field: string anthropic_profile_id = 2; + */ + anthropicProfileId: string; +}; + +/** + * Describes the message exa.api_server_pb.EnrollCyberVerificationResponse. + * Use `create(EnrollCyberVerificationResponseSchema)` to create a new message. + */ +export const EnrollCyberVerificationResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 349); + +/** + * @generated from message exa.api_server_pb.GetCyberVerificationEnrollmentUrlRequest + */ +export type GetCyberVerificationEnrollmentUrlRequest = Message<"exa.api_server_pb.GetCyberVerificationEnrollmentUrlRequest"> & { +}; + +/** + * Describes the message exa.api_server_pb.GetCyberVerificationEnrollmentUrlRequest. + * Use `create(GetCyberVerificationEnrollmentUrlRequestSchema)` to create a new message. + */ +export const GetCyberVerificationEnrollmentUrlRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 350); + +/** + * @generated from message exa.api_server_pb.GetCyberVerificationEnrollmentUrlResponse + */ +export type GetCyberVerificationEnrollmentUrlResponse = Message<"exa.api_server_pb.GetCyberVerificationEnrollmentUrlResponse"> & { + /** + * @generated from field: string enrollment_url = 1; + */ + enrollmentUrl: string; +}; + +/** + * Describes the message exa.api_server_pb.GetCyberVerificationEnrollmentUrlResponse. + * Use `create(GetCyberVerificationEnrollmentUrlResponseSchema)` to create a new message. + */ +export const GetCyberVerificationEnrollmentUrlResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 351); + +/** + * @generated from message exa.api_server_pb.UpdateAnthropicCyberVerificationEnabledRequest + */ +export type UpdateAnthropicCyberVerificationEnabledRequest = Message<"exa.api_server_pb.UpdateAnthropicCyberVerificationEnabledRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.TeamOrganizationalControls.CyberVerificationEnabled enabled = 2; + */ + enabled: TeamOrganizationalControls_CyberVerificationEnabled; +}; + +/** + * Describes the message exa.api_server_pb.UpdateAnthropicCyberVerificationEnabledRequest. + * Use `create(UpdateAnthropicCyberVerificationEnabledRequestSchema)` to create a new message. + */ +export const UpdateAnthropicCyberVerificationEnabledRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 352); + +/** + * @generated from message exa.api_server_pb.UpdateAnthropicCyberVerificationEnabledResponse + */ +export type UpdateAnthropicCyberVerificationEnabledResponse = Message<"exa.api_server_pb.UpdateAnthropicCyberVerificationEnabledResponse"> & { +}; + +/** + * Describes the message exa.api_server_pb.UpdateAnthropicCyberVerificationEnabledResponse. + * Use `create(UpdateAnthropicCyberVerificationEnabledResponseSchema)` to create a new message. + */ +export const UpdateAnthropicCyberVerificationEnabledResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 353); + +/** + * @generated from message exa.api_server_pb.GetDecagonAuthTokenRequest + */ +export type GetDecagonAuthTokenRequest = Message<"exa.api_server_pb.GetDecagonAuthTokenRequest"> & { +}; + +/** + * Describes the message exa.api_server_pb.GetDecagonAuthTokenRequest. + * Use `create(GetDecagonAuthTokenRequestSchema)` to create a new message. + */ +export const GetDecagonAuthTokenRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 354); + +/** + * @generated from message exa.api_server_pb.GetDecagonAuthTokenResponse + */ +export type GetDecagonAuthTokenResponse = Message<"exa.api_server_pb.GetDecagonAuthTokenResponse"> & { + /** + * @generated from field: string signature = 1; + */ + signature: string; + + /** + * @generated from field: int64 epoch = 2; + */ + epoch: bigint; + + /** + * @generated from field: string user_id = 3; + */ + userId: string; +}; + +/** + * Describes the message exa.api_server_pb.GetDecagonAuthTokenResponse. + * Use `create(GetDecagonAuthTokenResponseSchema)` to create a new message. + */ +export const GetDecagonAuthTokenResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_api_server_pb_api_server, 355); + +/** + * @generated from enum exa.api_server_pb.MQueryScoreStatus + */ +export enum MQueryScoreStatus { + /** + * @generated from enum value: M_QUERY_SCORE_STATUS_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: M_QUERY_SCORE_STATUS_OK = 1; + */ + OK = 1, + + /** + * @generated from enum value: M_QUERY_SCORE_STATUS_ERROR = 2; + */ + ERROR = 2, + + /** + * @generated from enum value: M_QUERY_SCORE_STATUS_EARLY_RETURN = 3; + */ + EARLY_RETURN = 3, +} + +/** + * Describes the enum exa.api_server_pb.MQueryScoreStatus. + */ +export const MQueryScoreStatusSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_api_server_pb_api_server, 0); + +/** + * @generated from enum exa.api_server_pb.EmbeddingRetryPolicy + */ +export enum EmbeddingRetryPolicy { + /** + * @generated from enum value: EMBEDDING_RETRY_POLICY_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: EMBEDDING_RETRY_POLICY_NONE = 1; + */ + NONE = 1, + + /** + * @generated from enum value: EMBEDDING_RETRY_POLICY_HIGH_PRIORITY = 2; + */ + HIGH_PRIORITY = 2, +} + +/** + * Describes the enum exa.api_server_pb.EmbeddingRetryPolicy. + */ +export const EmbeddingRetryPolicySchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_api_server_pb_api_server, 1); + +/** + * @generated from enum exa.api_server_pb.ChatMessageRequestType + */ +export enum ChatMessageRequestType { + /** + * @generated from enum value: CHAT_MESSAGE_REQUEST_TYPE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: CHAT_MESSAGE_REQUEST_TYPE_GENERAL = 1; + */ + GENERAL = 1, + + /** + * @generated from enum value: CHAT_MESSAGE_REQUEST_TYPE_CONTEXT_CHECK = 2; + */ + CONTEXT_CHECK = 2, + + /** + * @generated from enum value: CHAT_MESSAGE_REQUEST_TYPE_PLAN = 3; + */ + PLAN = 3, + + /** + * @generated from enum value: CHAT_MESSAGE_REQUEST_TYPE_COMMAND = 4; + */ + COMMAND = 4, + + /** + * @generated from enum value: CHAT_MESSAGE_REQUEST_TYPE_CASCADE = 5; + */ + CASCADE = 5, + + /** + * @generated from enum value: CHAT_MESSAGE_REQUEST_TYPE_EVAL = 6; + */ + EVAL = 6, + + /** + * @generated from enum value: CHAT_MESSAGE_REQUEST_TYPE_WINDSURF_REVIEW = 7; + */ + WINDSURF_REVIEW = 7, + + /** + * @generated from enum value: CHAT_MESSAGE_REQUEST_TYPE_VIBE_AND_REPLACE = 8; + */ + VIBE_AND_REPLACE = 8, + + /** + * @generated from enum value: CHAT_MESSAGE_REQUEST_TYPE_DEEPWIKI = 9; + */ + DEEPWIKI = 9, + + /** + * @generated from enum value: CHAT_MESSAGE_REQUEST_TYPE_DEVSTRAL = 10; + */ + DEVSTRAL = 10, + + /** + * @generated from enum value: CHAT_MESSAGE_REQUEST_TYPE_CODEMAP_GENERATION = 11; + */ + CODEMAP_GENERATION = 11, + + /** + * @generated from enum value: CHAT_MESSAGE_REQUEST_TYPE_CODEMAP_SUGGESTIONS = 12; + */ + CODEMAP_SUGGESTIONS = 12, + + /** + * @generated from enum value: CHAT_MESSAGE_REQUEST_TYPE_SMART_FRIEND = 13; + */ + SMART_FRIEND = 13, + + /** + * @generated from enum value: CHAT_MESSAGE_REQUEST_TYPE_LIFEGUARD = 14; + */ + LIFEGUARD = 14, + + /** + * @generated from enum value: CHAT_MESSAGE_REQUEST_TYPE_CHECKPOINT = 15; + */ + CHECKPOINT = 15, +} + +/** + * Describes the enum exa.api_server_pb.ChatMessageRequestType. + */ +export const ChatMessageRequestTypeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_api_server_pb_api_server, 2); + +/** + * @generated from enum exa.api_server_pb.HybridDeploymentStatus + */ +export enum HybridDeploymentStatus { + /** + * @generated from enum value: HYBRID_DEPLOYMENT_STATUS_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: HYBRID_DEPLOYMENT_STATUS_HEALTHY = 1; + */ + HEALTHY = 1, + + /** + * @generated from enum value: HYBRID_DEPLOYMENT_STATUS_ERROR = 2; + */ + ERROR = 2, +} + +/** + * Describes the enum exa.api_server_pb.HybridDeploymentStatus. + */ +export const HybridDeploymentStatusSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_api_server_pb_api_server, 3); + +/** + * @generated from enum exa.api_server_pb.FeedbackType + */ +export enum FeedbackType { + /** + * @generated from enum value: FEEDBACK_TYPE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: FEEDBACK_TYPE_ACCEPT = 1; + */ + ACCEPT = 1, + + /** + * @generated from enum value: FEEDBACK_TYPE_REJECT = 2; + */ + REJECT = 2, +} + +/** + * Describes the enum exa.api_server_pb.FeedbackType. + */ +export const FeedbackTypeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_api_server_pb_api_server, 4); + +/** + * @generated from enum exa.api_server_pb.FeedbackExtraInfo + */ +export enum FeedbackExtraInfo { + /** + * @generated from enum value: FEEDBACK_EXTRA_INFO_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: FEEDBACK_EXTRA_INFO_TYPED_AS_SUGGESTED = 1; + */ + TYPED_AS_SUGGESTED = 1, + + /** + * @generated from enum value: FEEDBACK_EXTRA_INFO_DOCUMENT_CHANGED = 2; + */ + DOCUMENT_CHANGED = 2, + + /** + * @generated from enum value: FEEDBACK_EXTRA_INFO_PARTIAL_ACCEPT = 3; + */ + PARTIAL_ACCEPT = 3, + + /** + * @generated from enum value: FEEDBACK_EXTRA_INFO_INTENTIONAL_REJECT = 4; + */ + INTENTIONAL_REJECT = 4, + + /** + * @generated from enum value: FEEDBACK_EXTRA_INFO_CLIENT_FILTER_REJECT = 5; + */ + CLIENT_FILTER_REJECT = 5, +} + +/** + * Describes the enum exa.api_server_pb.FeedbackExtraInfo. + */ +export const FeedbackExtraInfoSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_api_server_pb_api_server, 5); + +/** + * @generated from enum exa.api_server_pb.DeploymentConfigKey + */ +export enum DeploymentConfigKey { + /** + * @generated from enum value: DEPLOYMENT_CONFIG_KEY_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: DEPLOYMENT_CONFIG_KEY_ENABLE_EMAIL_SIGNUP = 1; + */ + ENABLE_EMAIL_SIGNUP = 1, + + /** + * @generated from enum value: DEPLOYMENT_CONFIG_KEY_SAML_GROUP_REGEX = 2; + */ + SAML_GROUP_REGEX = 2, +} + +/** + * Describes the enum exa.api_server_pb.DeploymentConfigKey. + */ +export const DeploymentConfigKeySchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_api_server_pb_api_server, 6); + +/** + * @generated from service exa.api_server_pb.ApiServerService + */ +export const ApiServerService: GenService<{ + /** + * @generated from rpc exa.api_server_pb.ApiServerService.GetDevstralStream + */ + getDevstralStream: { + methodKind: "server_streaming"; + input: typeof GetDevstralStreamRequestSchema; + output: typeof GetDevstralStreamResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.GetCompletions + */ + getCompletions: { + methodKind: "unary"; + input: typeof GetCompletionsRequestSchema; + output: typeof GetCompletionsResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.GetStreamingCompletions + */ + getStreamingCompletions: { + methodKind: "server_streaming"; + input: typeof GetStreamingCompletionsRequestSchema; + output: typeof GetStreamingCompletionsResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.CancelCompletions + */ + cancelCompletions: { + methodKind: "unary"; + input: typeof CancelCompletionsRequestSchema; + output: typeof CancelCompletionsResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.GetChatCompletions + */ + getChatCompletions: { + methodKind: "unary"; + input: typeof GetChatCompletionsRequestSchema; + output: typeof GetChatCompletionsResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.GetStreamingExternalChatCompletions + */ + getStreamingExternalChatCompletions: { + methodKind: "server_streaming"; + input: typeof GetChatCompletionsRequestSchema; + output: typeof GetStreamingExternalChatCompletionsResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.GetEmbeddings + */ + getEmbeddings: { + methodKind: "unary"; + input: typeof GetEmbeddingsRequestSchema; + output: typeof GetEmbeddingsResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.GetChatMessage + */ + getChatMessage: { + methodKind: "server_streaming"; + input: typeof GetChatMessageRequestSchema; + output: typeof GetChatMessageResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.AssignArenaModel + */ + assignArenaModel: { + methodKind: "unary"; + input: typeof AssignArenaModelRequestSchema; + output: typeof AssignArenaModelResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.AssignModel + */ + assignModel: { + methodKind: "unary"; + input: typeof AssignModelRequestSchema; + output: typeof AssignModelResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.GetStreamingModelAPITextCompletion + */ + getStreamingModelAPITextCompletion: { + methodKind: "server_streaming"; + input: typeof GetStreamingModelAPITextCompletionRequestSchema; + output: typeof GetStreamingModelAPITextCompletionResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.GetDeepWiki + */ + getDeepWiki: { + methodKind: "server_streaming"; + input: typeof GetDeepWikiRequestSchema; + output: typeof GetDeepWikiResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.GetTab + */ + getTab: { + methodKind: "server_streaming"; + input: typeof GetTabRequestSchema; + output: typeof GetTabResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.CheckChatCapacity + */ + checkChatCapacity: { + methodKind: "unary"; + input: typeof CheckChatCapacityRequestSchema; + output: typeof CheckChatCapacityResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.CheckUserMessageRateLimit + */ + checkUserMessageRateLimit: { + methodKind: "unary"; + input: typeof CheckUserMessageRateLimitRequestSchema; + output: typeof CheckUserMessageRateLimitResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.GetTeamOrganizationalControls + */ + getTeamOrganizationalControls: { + methodKind: "unary"; + input: typeof GetTeamOrganizationalControlsRequestSchema; + output: typeof GetTeamOrganizationalControlsResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.GetTeamOrganizationalControlsForSite + */ + getTeamOrganizationalControlsForSite: { + methodKind: "unary"; + input: typeof GetTeamOrganizationalControlsForSiteRequestSchema; + output: typeof GetTeamOrganizationalControlsForSiteResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.UpsertTeamOrganizationalControls + */ + upsertTeamOrganizationalControls: { + methodKind: "unary"; + input: typeof UpsertTeamOrganizationalControlsRequestSchema; + output: typeof UpsertTeamOrganizationalControlsResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.UpsertTeamOrganizationalControlsForSite + */ + upsertTeamOrganizationalControlsForSite: { + methodKind: "unary"; + input: typeof UpsertTeamOrganizationalControlsForSiteRequestSchema; + output: typeof UpsertTeamOrganizationalControlsForSiteResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.UpdateTeamOrganizationalControlsExternal + */ + updateTeamOrganizationalControlsExternal: { + methodKind: "unary"; + input: typeof UpdateTeamOrganizationalControlsExternalRequestSchema; + output: typeof UpdateTeamOrganizationalControlsExternalResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.DeleteTeamOrganizationalControls + */ + deleteTeamOrganizationalControls: { + methodKind: "unary"; + input: typeof DeleteTeamOrganizationalControlsRequestSchema; + output: typeof DeleteTeamOrganizationalControlsResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.GetMQuery + */ + getMQuery: { + methodKind: "unary"; + input: typeof GetMQueryRequestSchema; + output: typeof GetMQueryResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.ProvideFeedback + */ + provideFeedback: { + methodKind: "unary"; + input: typeof ProvideFeedbackRequestSchema; + output: typeof ProvideFeedbackResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.UploadErrorTraces + */ + uploadErrorTraces: { + methodKind: "unary"; + input: typeof UploadErrorTracesRequestSchema; + output: typeof UploadErrorTracesResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.RecordOpportunities + */ + recordOpportunities: { + methodKind: "unary"; + input: typeof RecordOpportunitiesRequestSchema; + output: typeof RecordOpportunitiesResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.RecordCodeTrackerUpdates + */ + recordCodeTrackerUpdates: { + methodKind: "unary"; + input: typeof RecordCodeTrackerUpdatesRequestSchema; + output: typeof RecordCodeTrackerUpdatesResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.RecordCompletionExample + */ + recordCompletionExample: { + methodKind: "unary"; + input: typeof RecordCompletionExampleRequestSchema; + output: typeof RecordCompletionExampleResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.GetCompletionExamples + */ + getCompletionExamples: { + methodKind: "unary"; + input: typeof GetCompletionExamplesRequestSchema; + output: typeof GetCompletionExamplesResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.RecordCompletions + */ + recordCompletions: { + methodKind: "unary"; + input: typeof RecordCompletionsRequestSchema; + output: typeof RecordCompletionsResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.RecordAsyncTelemetry + */ + recordAsyncTelemetry: { + methodKind: "unary"; + input: typeof RecordAsyncTelemetryRequestSchema; + output: typeof RecordAsyncTelemetryResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.RecordAutoCascadeTelemetry + */ + recordAutoCascadeTelemetry: { + methodKind: "unary"; + input: typeof RecordAutoCascadeTelemetryRequestSchema; + output: typeof RecordAutoCascadeTelemetryResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.RecordWindsurfReviewsTelemetry + */ + recordWindsurfReviewsTelemetry: { + methodKind: "unary"; + input: typeof RecordWindsurfReviewsTelemetryRequestSchema; + output: typeof RecordWindsurfReviewsTelemetryResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.RecordWindsurfReviewEvent + */ + recordWindsurfReviewEvent: { + methodKind: "unary"; + input: typeof RecordWindsurfReviewEventRequestSchema; + output: typeof RecordWindsurfReviewEventResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.RecordChat + */ + recordChat: { + methodKind: "unary"; + input: typeof RecordChatRequestSchema; + output: typeof RecordChatResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.RecordChatFeedback + */ + recordChatFeedback: { + methodKind: "unary"; + input: typeof RecordChatFeedbackRequestSchema; + output: typeof RecordChatFeedbackResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.RecordChatPanelSession + */ + recordChatPanelSession: { + methodKind: "unary"; + input: typeof RecordChatPanelSessionRequestSchema; + output: typeof RecordChatPanelSessionResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.RecordContextRefresh + */ + recordContextRefresh: { + methodKind: "unary"; + input: typeof RecordContextRefreshRequestSchema; + output: typeof RecordContextRefreshResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.RecordContextToPrompt + */ + recordContextToPrompt: { + methodKind: "unary"; + input: typeof RecordContextToPromptRequestSchema; + output: typeof RecordContextToPromptResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.RecordEvent + */ + recordEvent: { + methodKind: "unary"; + input: typeof RecordEventRequestSchema; + output: typeof RecordEventResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.RecordSearch + */ + recordSearch: { + methodKind: "unary"; + input: typeof RecordSearchRequestSchema; + output: typeof RecordSearchResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.RecordSearchResults + */ + recordSearchResults: { + methodKind: "unary"; + input: typeof RecordSearchResultsRequestSchema; + output: typeof RecordSearchResultsResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.RecordSearchDocOpen + */ + recordSearchDocOpen: { + methodKind: "unary"; + input: typeof RecordSearchDocOpenRequestSchema; + output: typeof RecordSearchDocOpenResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.RecordSearchResultsView + */ + recordSearchResultsView: { + methodKind: "unary"; + input: typeof RecordSearchResultsViewRequestSchema; + output: typeof RecordSearchResultsViewResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.RecordDebounce + */ + recordDebounce: { + methodKind: "unary"; + input: typeof RecordDebounceRequestSchema; + output: typeof RecordDebounceResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.CaptureCode + */ + captureCode: { + methodKind: "unary"; + input: typeof CaptureCodeRequestSchema; + output: typeof CaptureCodeResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.CaptureFile + */ + captureFile: { + methodKind: "unary"; + input: typeof CaptureFileRequestSchema; + output: typeof CaptureFileResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.RecordPinnedContext + */ + recordPinnedContext: { + methodKind: "unary"; + input: typeof RecordPinnedContextRequestSchema; + output: typeof RecordPinnedContextResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.RecordCommandUsage + */ + recordCommandUsage: { + methodKind: "unary"; + input: typeof RecordCommandUsageRequestSchema; + output: typeof RecordCommandUsageResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.RecordChatModelNodeRun + */ + recordChatModelNodeRun: { + methodKind: "unary"; + input: typeof RecordChatModelNodeRunRequestSchema; + output: typeof RecordChatModelNodeRunResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.RecordMQuery + */ + recordMQuery: { + methodKind: "unary"; + input: typeof RecordMQueryRequestSchema; + output: typeof RecordMQueryResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.RecordCortexStep + */ + recordCortexStep: { + methodKind: "unary"; + input: typeof RecordCortexStepRequestSchema; + output: typeof RecordCortexStepResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.RecordCommitMessageGeneration + */ + recordCommitMessageGeneration: { + methodKind: "unary"; + input: typeof RecordCommitMessageGenerationRequestSchema; + output: typeof RecordCommitMessageGenerationResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.RecordCommitMessageSave + */ + recordCommitMessageSave: { + methodKind: "unary"; + input: typeof RecordCommitMessageSaveRequestSchema; + output: typeof RecordCommitMessageSaveResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.RecordGitTelemetry + */ + recordGitTelemetry: { + methodKind: "unary"; + input: typeof RecordGitTelemetryRequestSchema; + output: typeof RecordGitTelemetryResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.RecordProfilingData + */ + recordProfilingData: { + methodKind: "client_streaming"; + input: typeof RecordProfilingDataRequestSchema; + output: typeof RecordProfilingDataResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.RecordReadUrlContent + */ + recordReadUrlContent: { + methodKind: "unary"; + input: typeof RecordReadUrlContentRequestSchema; + output: typeof RecordReadUrlContentResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.RecordNewCortexPlan + */ + recordNewCortexPlan: { + methodKind: "unary"; + input: typeof RecordNewCortexPlanRequestSchema; + output: typeof RecordNewCortexPlanResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.RecordCortexCodingPlan + */ + recordCortexCodingPlan: { + methodKind: "unary"; + input: typeof RecordCortexCodingPlanRequestSchema; + output: typeof RecordCortexCodingPlanResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.RecordCortexCodingStep + */ + recordCortexCodingStep: { + methodKind: "unary"; + input: typeof RecordCortexCodingStepRequestSchema; + output: typeof RecordCortexCodingStepResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.RecordCortexCodingStepFeedback + */ + recordCortexCodingStepFeedback: { + methodKind: "unary"; + input: typeof RecordCortexCodingStepFeedbackRequestSchema; + output: typeof RecordCortexCodingStepFeedbackResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.RecordCortexFeedback + */ + recordCortexFeedback: { + methodKind: "unary"; + input: typeof RecordCortexFeedbackRequestSchema; + output: typeof RecordCortexFeedbackResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.RecordCortexError + */ + recordCortexError: { + methodKind: "unary"; + input: typeof RecordCortexErrorRequestSchema; + output: typeof RecordCortexErrorResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.RecordCortexTrajectory + */ + recordCortexTrajectory: { + methodKind: "unary"; + input: typeof RecordCortexTrajectoryRequestSchema; + output: typeof RecordCortexTrajectoryResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.RecordCortexTrajectoryStep + */ + recordCortexTrajectoryStep: { + methodKind: "unary"; + input: typeof RecordCortexTrajectoryStepRequestSchema; + output: typeof RecordCortexTrajectoryStepResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.RecordCortexGeneratorMetadata + */ + recordCortexGeneratorMetadata: { + methodKind: "unary"; + input: typeof RecordCortexGeneratorMetadataRequestSchema; + output: typeof RecordCortexGeneratorMetadataResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.RecordCortexExecutionMetadata + */ + recordCortexExecutionMetadata: { + methodKind: "unary"; + input: typeof RecordCortexExecutionMetadataRequestSchema; + output: typeof RecordCortexExecutionMetadataResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.RecordStateInitializationData + */ + recordStateInitializationData: { + methodKind: "unary"; + input: typeof RecordStateInitializationDataRequestSchema; + output: typeof RecordStateInitializationDataResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.GetDefaultWorkflowTemplates + */ + getDefaultWorkflowTemplates: { + methodKind: "unary"; + input: typeof GetDefaultWorkflowTemplatesRequestSchema; + output: typeof GetDefaultWorkflowTemplatesResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.RecordArenaModeTrajectoryDetails + */ + recordArenaModeTrajectoryDetails: { + methodKind: "unary"; + input: typeof RecordArenaModeTrajectoryDetailsRequestSchema; + output: typeof RecordArenaModeTrajectoryDetailsResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.BatchRecordPrompts + */ + batchRecordPrompts: { + methodKind: "unary"; + input: typeof BatchRecordPromptsRequestSchema; + output: typeof BatchRecordPromptsResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.BatchRecordCompletions + */ + batchRecordCompletions: { + methodKind: "unary"; + input: typeof BatchRecordCompletionsRequestSchema; + output: typeof BatchRecordCompletionsResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.BatchRecordUserLastUpdateTimes + */ + batchRecordUserLastUpdateTimes: { + methodKind: "unary"; + input: typeof BatchRecordUserLastUpdateTimesRequestSchema; + output: typeof BatchRecordUserLastUpdateTimesResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.BatchRecordChatRequestRecords + */ + batchRecordChatRequestRecords: { + methodKind: "unary"; + input: typeof BatchRecordChatRequestRecordsRequestSchema; + output: typeof BatchRecordChatRequestRecordsResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.BatchRecordRawCompletions + */ + batchRecordRawCompletions: { + methodKind: "unary"; + input: typeof BatchRecordRawCompletionsRequestSchema; + output: typeof BatchRecordRawCompletionsResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.RegisterExternalUser + */ + registerExternalUser: { + methodKind: "unary"; + input: typeof RegisterExternalUserRequestSchema; + output: typeof RegisterExternalUserResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.DeleteExternalUser + */ + deleteExternalUser: { + methodKind: "unary"; + input: typeof DeleteExternalUserRequestSchema; + output: typeof DeleteExternalUserResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.Ping + */ + ping: { + methodKind: "unary"; + input: typeof PingRequestSchema; + output: typeof PingResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.JoinWaitlist + */ + joinWaitlist: { + methodKind: "unary"; + input: typeof JoinWaitlistRequestSchema; + output: typeof JoinWaitlistResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.GetExtensionStats + */ + getExtensionStats: { + methodKind: "unary"; + input: typeof GetExtensionStatsRequestSchema; + output: typeof GetExtensionStatsResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.SubscribeToBlog + */ + subscribeToBlog: { + methodKind: "unary"; + input: typeof SubscribeToBlogRequestSchema; + output: typeof SubscribeToBlogResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.UnsubscribeFromEmails + */ + unsubscribeFromEmails: { + methodKind: "unary"; + input: typeof UnsubscribeFromEmailsRequestSchema; + output: typeof UnsubscribeFromEmailsResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.SendReferralEmail + */ + sendReferralEmail: { + methodKind: "unary"; + input: typeof SendReferralEmailRequestSchema; + output: typeof SendReferralEmailResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.AccountOwnershipNotificationVerification + */ + accountOwnershipNotificationVerification: { + methodKind: "unary"; + input: typeof AccountOwnershipNotificationVerificationRequestSchema; + output: typeof AccountOwnershipNotificationVerificationResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.AccountOwnershipNotificationDismiss + */ + accountOwnershipNotificationDismiss: { + methodKind: "unary"; + input: typeof AccountOwnershipNotificationDismissRequestSchema; + output: typeof AccountOwnershipNotificationDismissResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.EnrollCyberVerification + */ + enrollCyberVerification: { + methodKind: "unary"; + input: typeof EnrollCyberVerificationRequestSchema; + output: typeof EnrollCyberVerificationResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.GetCyberVerificationEnrollmentUrl + */ + getCyberVerificationEnrollmentUrl: { + methodKind: "unary"; + input: typeof GetCyberVerificationEnrollmentUrlRequestSchema; + output: typeof GetCyberVerificationEnrollmentUrlResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.UpdateAnthropicCyberVerificationEnabled + */ + updateAnthropicCyberVerificationEnabled: { + methodKind: "unary"; + input: typeof UpdateAnthropicCyberVerificationEnabledRequestSchema; + output: typeof UpdateAnthropicCyberVerificationEnabledResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.GetDecagonAuthToken + */ + getDecagonAuthToken: { + methodKind: "unary"; + input: typeof GetDecagonAuthTokenRequestSchema; + output: typeof GetDecagonAuthTokenResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.RunCodeAlignment + */ + runCodeAlignment: { + methodKind: "unary"; + input: typeof RunCodeAlignmentRequestSchema; + output: typeof RunCodeAlignmentResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.GenerateSyntheticRule + */ + generateSyntheticRule: { + methodKind: "unary"; + input: typeof GenerateSyntheticRuleRequestSchema; + output: typeof GenerateSyntheticRuleResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.GetUserAllowlist + */ + getUserAllowlist: { + methodKind: "unary"; + input: typeof GetUserAllowlistRequestSchema; + output: typeof GetUserAllowlistResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.InsertAllowlist + */ + insertAllowlist: { + methodKind: "unary"; + input: typeof InsertAllowlistRequestSchema; + output: typeof InsertAllowlistResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.DeleteAllowlist + */ + deleteAllowlist: { + methodKind: "unary"; + input: typeof DeleteAllowlistRequestSchema; + output: typeof DeleteAllowlistResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.GetAllowlist + */ + getAllowlist: { + methodKind: "unary"; + input: typeof GetAllowlistRequestSchema; + output: typeof GetAllowlistResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.RegisterHybridDeployment + */ + registerHybridDeployment: { + methodKind: "unary"; + input: typeof RegisterHybridDeploymentRequestSchema; + output: typeof RegisterHybridDeploymentResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.CreateHybridDeploymentInternal + */ + createHybridDeploymentInternal: { + methodKind: "unary"; + input: typeof CreateHybridDeploymentInternalRequestSchema; + output: typeof CreateHybridDeploymentInternalResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.RemoveHybridDeploymentInternal + */ + removeHybridDeploymentInternal: { + methodKind: "unary"; + input: typeof RemoveHybridDeploymentInternalRequestSchema; + output: typeof RemoveHybridDeploymentInternalResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.GetHybridDeploymentsInternal + */ + getHybridDeploymentsInternal: { + methodKind: "unary"; + input: typeof GetHybridDeploymentsInternalRequestSchema; + output: typeof GetHybridDeploymentsInternalResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.CheckHybridDeploymentStatus + */ + checkHybridDeploymentStatus: { + methodKind: "unary"; + input: typeof CheckHybridDeploymentStatusRequestSchema; + output: typeof CheckHybridDeploymentStatusResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.LogCompletionsHybrid + */ + logCompletionsHybrid: { + methodKind: "unary"; + input: typeof LogCompletionsHybridRequestSchema; + output: typeof LogCompletionsHybridResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.LogFeedbackHybrid + */ + logFeedbackHybrid: { + methodKind: "unary"; + input: typeof LogFeedbackHybridRequestSchema; + output: typeof LogFeedbackHybridResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.LogChatHybrid + */ + logChatHybrid: { + methodKind: "unary"; + input: typeof LogChatHybridRequestSchema; + output: typeof LogChatHybridResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.LogCascadeSessionHybrid + */ + logCascadeSessionHybrid: { + methodKind: "unary"; + input: typeof LogCascadeSessionHybridRequestSchema; + output: typeof LogCascadeSessionHybridResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.LogCascadePromptHybrid + */ + logCascadePromptHybrid: { + methodKind: "unary"; + input: typeof LogCascadePromptHybridRequestSchema; + output: typeof LogCascadePromptHybridResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.GetStatus + */ + getStatus: { + methodKind: "unary"; + input: typeof GetStatusRequestSchema; + output: typeof GetStatusResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.GetConfig + */ + getConfig: { + methodKind: "unary"; + input: typeof GetConfigRequestSchema; + output: typeof GetConfigResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.GetCascadeModelConfigs + */ + getCascadeModelConfigs: { + methodKind: "unary"; + input: typeof GetCascadeModelConfigsRequestSchema; + output: typeof GetCascadeModelConfigsResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.GetCascadeModelConfigsForSite + */ + getCascadeModelConfigsForSite: { + methodKind: "unary"; + input: typeof GetCascadeModelConfigsForSiteRequestSchema; + output: typeof GetCascadeModelConfigsForSiteResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.GetCommandModelConfigs + */ + getCommandModelConfigs: { + methodKind: "unary"; + input: typeof GetCommandModelConfigsRequestSchema; + output: typeof GetCommandModelConfigsResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.GetCommandModelConfigsForSite + */ + getCommandModelConfigsForSite: { + methodKind: "unary"; + input: typeof GetCommandModelConfigsForSiteRequestSchema; + output: typeof GetCommandModelConfigsForSiteResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.GetCliModelConfigs + */ + getCliModelConfigs: { + methodKind: "unary"; + input: typeof GetCliModelConfigsRequestSchema; + output: typeof GetCliModelConfigsResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.GetCliModelConfigsForSite + */ + getCliModelConfigsForSite: { + methodKind: "unary"; + input: typeof GetCliModelConfigsForSiteRequestSchema; + output: typeof GetCliModelConfigsForSiteResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.RecordTrajectorySegmentAnalytics + */ + recordTrajectorySegmentAnalytics: { + methodKind: "unary"; + input: typeof RecordTrajectorySegmentAnalyticsRequestSchema; + output: typeof RecordTrajectorySegmentAnalyticsResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.RecordTrajectorySegmentEvents + */ + recordTrajectorySegmentEvents: { + methodKind: "unary"; + input: typeof RecordTrajectorySegmentEventsRequestSchema; + output: typeof RecordTrajectorySegmentEventsResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.SupportsRemoteIndexing + */ + supportsRemoteIndexing: { + methodKind: "unary"; + input: typeof SupportsRemoteIndexingRequestSchema; + output: typeof SupportsRemoteIndexingResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.GetModelStatuses + */ + getModelStatuses: { + methodKind: "unary"; + input: typeof GetModelStatusesRequestSchema; + output: typeof GetModelStatusesResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.GetModelProviders + */ + getModelProviders: { + methodKind: "unary"; + input: typeof GetModelProvidersRequestSchema; + output: typeof GetModelProvidersResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.GetDeploymentConfig + */ + getDeploymentConfig: { + methodKind: "unary"; + input: typeof GetDeploymentConfigRequestSchema; + output: typeof GetDeploymentConfigResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.UpsertDeploymentConfig + */ + upsertDeploymentConfig: { + methodKind: "unary"; + input: typeof UpsertDeploymentConfigRequestSchema; + output: typeof UpsertDeploymentConfigResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.RecordCascadeUsage + */ + recordCascadeUsage: { + methodKind: "unary"; + input: typeof RecordCascadeUsageRequestSchema; + output: typeof RecordCascadeUsageResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.ApplyTrajectoryHeuristics + */ + applyTrajectoryHeuristics: { + methodKind: "unary"; + input: typeof ApplyTrajectoryHeuristicsRequestSchema; + output: typeof ApplyTrajectoryHeuristicsResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.GetWebSearchResults + */ + getWebSearchResults: { + methodKind: "unary"; + input: typeof GetWebSearchResultsRequestSchema; + output: typeof GetWebSearchResultsResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.GetWebDocsOptions + */ + getWebDocsOptions: { + methodKind: "unary"; + input: typeof GetWebDocsOptionsRequestSchema; + output: typeof GetWebDocsOptionsResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.GetWebSearchRedirect + */ + getWebSearchRedirect: { + methodKind: "unary"; + input: typeof GetWebSearchRedirectRequestSchema; + output: typeof GetWebSearchRedirectResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.ShareCodeMap + */ + shareCodeMap: { + methodKind: "unary"; + input: typeof ShareCodeMapRequestSchema; + output: typeof ShareCodeMapResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.GetCodeMap + */ + getCodeMap: { + methodKind: "unary"; + input: typeof GetCodeMapRequestSchema; + output: typeof GetCodeMapResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.GetCodeMapMetadata + */ + getCodeMapMetadata: { + methodKind: "unary"; + input: typeof GetCodeMapMetadataRequestSchema; + output: typeof GetCodeMapMetadataResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.GetSharedCodeMap + */ + getSharedCodeMap: { + methodKind: "unary"; + input: typeof GetSharedCodeMapRequestSchema; + output: typeof GetSharedCodeMapResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.UpdateCodeMapSharingMode + */ + updateCodeMapSharingMode: { + methodKind: "unary"; + input: typeof UpdateCodeMapSharingModeRequestSchema; + output: typeof UpdateCodeMapSharingModeResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.ListUserSharedCodeMaps + */ + listUserSharedCodeMaps: { + methodKind: "unary"; + input: typeof ListUserSharedCodeMapsRequestSchema; + output: typeof ListUserSharedCodeMapsResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.DeleteSharedCodeMap + */ + deleteSharedCodeMap: { + methodKind: "unary"; + input: typeof DeleteSharedCodeMapRequestSchema; + output: typeof DeleteSharedCodeMapResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.QueryImageForPixel + */ + queryImageForPixel: { + methodKind: "unary"; + input: typeof QueryImageForPixelRequestSchema; + output: typeof QueryImageForPixelResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.GetWindsurfJSAvailableDeployTargets + */ + getWindsurfJSAvailableDeployTargets: { + methodKind: "unary"; + input: typeof GetWindsurfJSAvailableDeployTargetsRequestSchema; + output: typeof GetWindsurfJSAvailableDeployTargetsResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.ValidateWindsurfJSAppProjectName + */ + validateWindsurfJSAppProjectName: { + methodKind: "unary"; + input: typeof ValidateWindsurfJSAppProjectNameRequestSchema; + output: typeof ValidateWindsurfJSAppProjectNameResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.CreateWindsurfJSApp + */ + createWindsurfJSApp: { + methodKind: "unary"; + input: typeof CreateWindsurfJSAppRequestSchema; + output: typeof CreateWindsurfJSAppResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.DeployWindsurfJSApp + */ + deployWindsurfJSApp: { + methodKind: "client_streaming"; + input: typeof DeployWindsurfJSAppRequestSchema; + output: typeof DeployWindsurfJSAppResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.DeleteWindsurfJSApp + */ + deleteWindsurfJSApp: { + methodKind: "unary"; + input: typeof DeleteWindsurfJSAppRequestSchema; + output: typeof DeleteWindsurfJSAppResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.GetWindsurfJSAppDeploymentClaimStatus + */ + getWindsurfJSAppDeploymentClaimStatus: { + methodKind: "unary"; + input: typeof GetWindsurfJSAppDeploymentClaimStatusRequestSchema; + output: typeof GetWindsurfJSAppDeploymentClaimStatusResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.GetWindsurfJSAppDeploymentsByProjectId + */ + getWindsurfJSAppDeploymentsByProjectId: { + methodKind: "unary"; + input: typeof GetWindsurfJSAppDeploymentsByProjectIdRequestSchema; + output: typeof GetWindsurfJSAppDeploymentsByProjectIdResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.GetWindsurfJSApps + */ + getWindsurfJSApps: { + methodKind: "unary"; + input: typeof GetWindsurfJSAppsRequestSchema; + output: typeof GetWindsurfJSAppsResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.GetWindsurfJSAppDeploymentStatusesByProjectId + */ + getWindsurfJSAppDeploymentStatusesByProjectId: { + methodKind: "unary"; + input: typeof GetWindsurfJSAppDeploymentStatusesByProjectIdRequestSchema; + output: typeof GetWindsurfJSAppDeploymentStatusesByProjectIdResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.GetWindsurfJSAppDeployment + */ + getWindsurfJSAppDeployment: { + methodKind: "unary"; + input: typeof GetWindsurfJSAppDeploymentRequestSchema; + output: typeof GetWindsurfJSAppDeploymentResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.GetDeploymentProviderProjectNameByProjectId + */ + getDeploymentProviderProjectNameByProjectId: { + methodKind: "unary"; + input: typeof GetDeploymentProviderProjectNameByProjectIdRequestSchema; + output: typeof GetDeploymentProviderProjectNameByProjectIdResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.GetWindsurfJSDeployTargetByProjectId + */ + getWindsurfJSDeployTargetByProjectId: { + methodKind: "unary"; + input: typeof GetWindsurfJSDeployTargetByProjectIdRequestSchema; + output: typeof GetWindsurfJSDeployTargetByProjectIdResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.GetTranscription + */ + getTranscription: { + methodKind: "unary"; + input: typeof GetTranscriptionRequestSchema; + output: typeof GetTranscriptionResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.RegisterOidcProvider + */ + registerOidcProvider: { + methodKind: "unary"; + input: typeof RegisterOidcProviderRequestSchema; + output: typeof RegisterOidcProviderResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.UpdateOidcProvider + */ + updateOidcProvider: { + methodKind: "unary"; + input: typeof UpdateOidcProviderRequestSchema; + output: typeof UpdateOidcProviderResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.GetTeamOidcProviders + */ + getTeamOidcProviders: { + methodKind: "unary"; + input: typeof GetTeamOidcProvidersRequestSchema; + output: typeof GetTeamOidcProvidersResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.GetAllOidcProviders + */ + getAllOidcProviders: { + methodKind: "unary"; + input: typeof GetAllOidcProvidersRequestSchema; + output: typeof GetAllOidcProvidersResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.FindTeamByEmail + */ + findTeamByEmail: { + methodKind: "unary"; + input: typeof FindTeamByEmailRequestSchema; + output: typeof FindTeamByEmailResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.DeleteOidcProvider + */ + deleteOidcProvider: { + methodKind: "unary"; + input: typeof DeleteOidcProviderRequestSchema; + output: typeof DeleteOidcProviderResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.GetOidcAuthorizationUrl + */ + getOidcAuthorizationUrl: { + methodKind: "unary"; + input: typeof GetOidcAuthorizationUrlRequestSchema; + output: typeof GetOidcAuthorizationUrlResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.ExchangeOidcCode + */ + exchangeOidcCode: { + methodKind: "unary"; + input: typeof ExchangeOidcCodeRequestSchema; + output: typeof ExchangeOidcCodeResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.RefreshOidcToken + */ + refreshOidcToken: { + methodKind: "unary"; + input: typeof RefreshOidcTokenRequestSchema; + output: typeof RefreshOidcTokenResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.GetSupabaseSecret + */ + getSupabaseSecret: { + methodKind: "unary"; + input: typeof GetSupabaseSecretRequestSchema; + output: typeof GetSupabaseSecretResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.GetSSOProviders + */ + getSSOProviders: { + methodKind: "unary"; + input: typeof GetSSOProvidersRequestSchema; + output: typeof GetSSOProvidersResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.CreateTrajectoryShareStream + */ + createTrajectoryShareStream: { + methodKind: "client_streaming"; + input: typeof CreateTrajectoryShareStreamRequestSchema; + output: typeof CreateTrajectoryShareStreamResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.FetchTrajectoryShare + */ + fetchTrajectoryShare: { + methodKind: "unary"; + input: typeof FetchTrajectoryShareRequestSchema; + output: typeof FetchTrajectoryShareResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.DeleteTrajectoryShare + */ + deleteTrajectoryShare: { + methodKind: "unary"; + input: typeof DeleteTrajectoryShareRequestSchema; + output: typeof DeleteTrajectoryShareResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.FetchTrajectoryShareByUser + */ + fetchTrajectoryShareByUser: { + methodKind: "unary"; + input: typeof FetchTrajectoryShareByUserRequestSchema; + output: typeof FetchTrajectoryShareByUserResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.IsConversationSharingBlocked + */ + isConversationSharingBlocked: { + methodKind: "unary"; + input: typeof IsConversationSharingBlockedRequestSchema; + output: typeof IsConversationSharingBlockedResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.GetExternalModel + */ + getExternalModel: { + methodKind: "unary"; + input: typeof GetExternalModelRequestSchema; + output: typeof GetExternalModelResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.GetExternalModelsGroup + */ + getExternalModelsGroup: { + methodKind: "unary"; + input: typeof GetExternalModelsGroupRequestSchema; + output: typeof GetExternalModelsGroupResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.CreateExternalModels + */ + createExternalModels: { + methodKind: "unary"; + input: typeof CreateExternalModelsRequestSchema; + output: typeof CreateExternalModelsResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.DeleteExternalModels + */ + deleteExternalModels: { + methodKind: "unary"; + input: typeof DeleteExternalModelsRequestSchema; + output: typeof DeleteExternalModelsResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.UpdateExternalModels + */ + updateExternalModels: { + methodKind: "unary"; + input: typeof UpdateExternalModelsRequestSchema; + output: typeof UpdateExternalModelsResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.UpdateExternalModelsGroup + */ + updateExternalModelsGroup: { + methodKind: "unary"; + input: typeof UpdateExternalModelsGroupRequestSchema; + output: typeof UpdateExternalModelsGroupResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.CheckBugs + */ + checkBugs: { + methodKind: "unary"; + input: typeof CheckBugsRequestSchema; + output: typeof CheckBugsResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.GetLifeguardConfig + */ + getLifeguardConfig: { + methodKind: "unary"; + input: typeof GetLifeguardConfigRequestSchema; + output: typeof GetLifeguardConfigResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.SubmitBugReport + */ + submitBugReport: { + methodKind: "unary"; + input: typeof SubmitBugReportRequestSchema; + output: typeof SubmitBugReportResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.AcceptBug + */ + acceptBug: { + methodKind: "unary"; + input: typeof AcceptBugRequestSchema; + output: typeof AcceptBugResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.RejectBug + */ + rejectBug: { + methodKind: "unary"; + input: typeof RejectBugRequestSchema; + output: typeof RejectBugResponseSchema; + }, + /** + * @generated from rpc exa.api_server_pb.ApiServerService.RecordTrustEvents + */ + recordTrustEvents: { + methodKind: "unary"; + input: typeof RecordTrustEventsRequestSchema; + output: typeof RecordTrustEventsResponseSchema; + }, +}> = /*@__PURE__*/ + serviceDesc(file_exa_api_server_pb_api_server, 0); + diff --git a/packages/catalog/src/discovery/devin-gen/exa/auth_pb/auth_pb.ts b/packages/catalog/src/discovery/devin-gen/exa/auth_pb/auth_pb.ts new file mode 100644 index 000000000..a4f605692 --- /dev/null +++ b/packages/catalog/src/discovery/devin-gen/exa/auth_pb/auth_pb.ts @@ -0,0 +1,71 @@ +// @generated by protoc-gen-es v2.12.0 with parameter "target=ts" +// @generated from file exa/auth_pb/auth.proto (package exa.auth_pb, syntax proto3) +/* eslint-disable */ + +import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2"; +import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2"; +import { file_buf_validate_validate } from "../../buf/validate/validate_pb"; +import type { Metadata } from "../codeium_common_pb/codeium_common_pb"; +import { file_exa_codeium_common_pb_codeium_common } from "../codeium_common_pb/codeium_common_pb"; +import type { Message } from "@bufbuild/protobuf"; + +/** + * Describes the file exa/auth_pb/auth.proto. + */ +export const file_exa_auth_pb_auth: GenFile = /*@__PURE__*/ + fileDesc("ChZleGEvYXV0aF9wYi9hdXRoLnByb3RvEgtleGEuYXV0aF9wYiJGChFHZXRVc2VySnd0UmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YSJFChJHZXRVc2VySnd0UmVzcG9uc2USEAoIdXNlcl9qd3QYASABKAkSHQoVY3VzdG9tX2FwaV9zZXJ2ZXJfdXJsGAIgASgJMlwKC0F1dGhTZXJ2aWNlEk0KCkdldFVzZXJKd3QSHi5leGEuYXV0aF9wYi5HZXRVc2VySnd0UmVxdWVzdBofLmV4YS5hdXRoX3BiLkdldFVzZXJKd3RSZXNwb25zZWIGcHJvdG8z", [file_buf_validate_validate, file_exa_codeium_common_pb_codeium_common]); + +/** + * @generated from message exa.auth_pb.GetUserJwtRequest + */ +export type GetUserJwtRequest = Message<"exa.auth_pb.GetUserJwtRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; +}; + +/** + * Describes the message exa.auth_pb.GetUserJwtRequest. + * Use `create(GetUserJwtRequestSchema)` to create a new message. + */ +export const GetUserJwtRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_auth_pb_auth, 0); + +/** + * @generated from message exa.auth_pb.GetUserJwtResponse + */ +export type GetUserJwtResponse = Message<"exa.auth_pb.GetUserJwtResponse"> & { + /** + * @generated from field: string user_jwt = 1; + */ + userJwt: string; + + /** + * @generated from field: string custom_api_server_url = 2; + */ + customApiServerUrl: string; +}; + +/** + * Describes the message exa.auth_pb.GetUserJwtResponse. + * Use `create(GetUserJwtResponseSchema)` to create a new message. + */ +export const GetUserJwtResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_auth_pb_auth, 1); + +/** + * @generated from service exa.auth_pb.AuthService + */ +export const AuthService: GenService<{ + /** + * @generated from rpc exa.auth_pb.AuthService.GetUserJwt + */ + getUserJwt: { + methodKind: "unary"; + input: typeof GetUserJwtRequestSchema; + output: typeof GetUserJwtResponseSchema; + }, +}> = /*@__PURE__*/ + serviceDesc(file_exa_auth_pb_auth, 0); + diff --git a/packages/catalog/src/discovery/devin-gen/exa/auto_cascade_common_pb/auto_cascade_common_pb.ts b/packages/catalog/src/discovery/devin-gen/exa/auto_cascade_common_pb/auto_cascade_common_pb.ts new file mode 100644 index 000000000..c01182d21 --- /dev/null +++ b/packages/catalog/src/discovery/devin-gen/exa/auto_cascade_common_pb/auto_cascade_common_pb.ts @@ -0,0 +1,348 @@ +// @generated by protoc-gen-es v2.12.0 with parameter "target=ts" +// @generated from file exa/auto_cascade_common_pb/auto_cascade_common.proto (package exa.auto_cascade_common_pb, syntax proto3) +/* eslint-disable */ + +import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2"; +import { enumDesc, fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2"; +import { file_buf_validate_validate } from "../../buf/validate/validate_pb"; +import type { CascadeRunStatus, CortexTrajectory } from "../cortex_pb/cortex_pb"; +import { file_exa_cortex_pb_cortex } from "../cortex_pb/cortex_pb"; +import type { Timestamp } from "@bufbuild/protobuf/wkt"; +import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt"; +import type { Message } from "@bufbuild/protobuf"; + +/** + * Describes the file exa/auto_cascade_common_pb/auto_cascade_common.proto. + */ +export const file_exa_auto_cascade_common_pb_auto_cascade_common: GenFile = /*@__PURE__*/ + fileDesc("CjRleGEvYXV0b19jYXNjYWRlX2NvbW1vbl9wYi9hdXRvX2Nhc2NhZGVfY29tbW9uLnByb3RvEhpleGEuYXV0b19jYXNjYWRlX2NvbW1vbl9wYiJQCgtHaXRSZXBvSW5mbxIRCglyZXBvX25hbWUYASABKAkSDgoGYnJhbmNoGAIgASgJEg4KBmNvbW1pdBgDIAEoCRIOCgZwcl91cmwYBCABKAki7wIKC1Nlc3Npb25JbmZvEhIKCnNlc3Npb25faWQYASABKAkSEwoLZXhwbGFuYXRpb24YAiABKAkSDwoHc3NoX3VybBgDIAEoCRIvCgZzdGF0dXMYBCABKA4yHy5leGEuY29ydGV4X3BiLkNhc2NhZGVSdW5TdGF0dXMSDwoHc3VtbWFyeRgFIAEoCRIzCgp0cmFqZWN0b3J5GAYgASgLMh8uZXhhLmNvcnRleF9wYi5Db3J0ZXhUcmFqZWN0b3J5EhMKC3Nlc3Npb25fa2V5GAcgASgJEi4KCmNyZWF0ZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjoKCWdpdF9yZXBvcxgJIAMoCzInLmV4YS5hdXRvX2Nhc2NhZGVfY29tbW9uX3BiLkdpdFJlcG9JbmZvEi4KCnVwZGF0ZWRfYXQYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIrIBCgxTZXNzaW9uSW5mb3MSSAoIc2Vzc2lvbnMYASADKAsyNi5leGEuYXV0b19jYXNjYWRlX2NvbW1vbl9wYi5TZXNzaW9uSW5mb3MuU2Vzc2lvbnNFbnRyeRpYCg1TZXNzaW9uc0VudHJ5EgsKA2tleRgBIAEoCRI2CgV2YWx1ZRgCIAEoCzInLmV4YS5hdXRvX2Nhc2NhZGVfY29tbW9uX3BiLlNlc3Npb25JbmZvOgI4ASKmAgoVR2l0aHViUHVsbFJlcXVlc3RJbmZvEgsKA3VybBgBIAEoCRINCgVvd25lchgCIAEoCRIMCgRyZXBvGAMgASgJEg0KBXRpdGxlGAQgASgJEg4KBm51bWJlchgFIAEoCRJCCgljaV9zdGF0dXMYBiABKA4yLy5leGEuYXV0b19jYXNjYWRlX2NvbW1vbl9wYi5HaXRodWJDSUNoZWNrU3RhdHVzElAKDWJyYW5jaF9zdGF0dXMYByABKA4yOS5leGEuYXV0b19jYXNjYWRlX2NvbW1vbl9wYi5HaXRodWJQdWxsUmVxdWVzdEJyYW5jaFN0YXR1cxIuCgp1cGRhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCJMChZHaXRodWJJbnN0YWxsYXRpb25JbmZvEhcKD2luc3RhbGxhdGlvbl9pZBgBIAEoCRIZChFvcmdhbml6YXRpb25fbmFtZRgCIAEoCSq9AQoMQnJhbmNoU3RhdHVzEh0KGUJSQU5DSF9TVEFUVVNfVU5TUEVDSUZJRUQQABIXChNCUkFOQ0hfU1RBVFVTX05PX1BSEAESGQoVQlJBTkNIX1NUQVRVU19QUl9PUEVOEAISGwoXQlJBTkNIX1NUQVRVU19QUl9DTE9TRUQQAxIbChdCUkFOQ0hfU1RBVFVTX1BSX01FUkdFRBAEEiAKHEJSQU5DSF9TVEFUVVNfSEFTX1NVR0dFU1RJT04QBSqpAQoLQ29tbWVudFR5cGUSHAoYQ09NTUVOVF9UWVBFX1VOU1BFQ0lGSUVEEAASJgoiQ09NTUVOVF9UWVBFX01BTlVBTF9SRVZJRVdfVFJJR0dFUhABEhUKEUNPTU1FTlRfVFlQRV9MR1RNEAISHAoYQ09NTUVOVF9UWVBFX1JFVklFV19CT0RZEAMSHwobQ09NTUVOVF9UWVBFX1JFVklFV19DT01NRU5UEAQqqAEKE0dpdGh1YkNJQ2hlY2tTdGF0dXMSJgoiR0lUSFVCX0NJX0NIRUNLX1NUQVRVU19VTlNQRUNJRklFRBAAEiIKHkdJVEhVQl9DSV9DSEVDS19TVEFUVVNfU1VDQ0VTUxABEiEKHUdJVEhVQl9DSV9DSEVDS19TVEFUVVNfRkFJTEVEEAISIgoeR0lUSFVCX0NJX0NIRUNLX1NUQVRVU19QRU5ESU5HEAMqhwIKHUdpdGh1YlB1bGxSZXF1ZXN0QnJhbmNoU3RhdHVzEjEKLUdJVEhVQl9QVUxMX1JFUVVFU1RfQlJBTkNIX1NUQVRVU19VTlNQRUNJRklFRBAAEioKJkdJVEhVQl9QVUxMX1JFUVVFU1RfQlJBTkNIX1NUQVRVU19PUEVOEAESLAooR0lUSFVCX1BVTExfUkVRVUVTVF9CUkFOQ0hfU1RBVFVTX0NMT1NFRBACEisKJ0dJVEhVQl9QVUxMX1JFUVVFU1RfQlJBTkNIX1NUQVRVU19EUkFGVBADEiwKKEdJVEhVQl9QVUxMX1JFUVVFU1RfQlJBTkNIX1NUQVRVU19NRVJHRUQQBGIGcHJvdG8z", [file_buf_validate_validate, file_exa_cortex_pb_cortex, file_google_protobuf_timestamp]); + +/** + * @generated from message exa.auto_cascade_common_pb.GitRepoInfo + */ +export type GitRepoInfo = Message<"exa.auto_cascade_common_pb.GitRepoInfo"> & { + /** + * @generated from field: string repo_name = 1; + */ + repoName: string; + + /** + * @generated from field: string branch = 2; + */ + branch: string; + + /** + * @generated from field: string commit = 3; + */ + commit: string; + + /** + * @generated from field: string pr_url = 4; + */ + prUrl: string; +}; + +/** + * Describes the message exa.auto_cascade_common_pb.GitRepoInfo. + * Use `create(GitRepoInfoSchema)` to create a new message. + */ +export const GitRepoInfoSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_auto_cascade_common_pb_auto_cascade_common, 0); + +/** + * @generated from message exa.auto_cascade_common_pb.SessionInfo + */ +export type SessionInfo = Message<"exa.auto_cascade_common_pb.SessionInfo"> & { + /** + * @generated from field: string session_id = 1; + */ + sessionId: string; + + /** + * @generated from field: string explanation = 2; + */ + explanation: string; + + /** + * @generated from field: string ssh_url = 3; + */ + sshUrl: string; + + /** + * @generated from field: exa.cortex_pb.CascadeRunStatus status = 4; + */ + status: CascadeRunStatus; + + /** + * @generated from field: string summary = 5; + */ + summary: string; + + /** + * @generated from field: exa.cortex_pb.CortexTrajectory trajectory = 6; + */ + trajectory?: CortexTrajectory | undefined; + + /** + * @generated from field: string session_key = 7; + */ + sessionKey: string; + + /** + * @generated from field: google.protobuf.Timestamp created_at = 8; + */ + createdAt?: Timestamp | undefined; + + /** + * @generated from field: repeated exa.auto_cascade_common_pb.GitRepoInfo git_repos = 9; + */ + gitRepos: GitRepoInfo[]; + + /** + * @generated from field: google.protobuf.Timestamp updated_at = 10; + */ + updatedAt?: Timestamp | undefined; +}; + +/** + * Describes the message exa.auto_cascade_common_pb.SessionInfo. + * Use `create(SessionInfoSchema)` to create a new message. + */ +export const SessionInfoSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_auto_cascade_common_pb_auto_cascade_common, 1); + +/** + * @generated from message exa.auto_cascade_common_pb.SessionInfos + */ +export type SessionInfos = Message<"exa.auto_cascade_common_pb.SessionInfos"> & { + /** + * @generated from field: map sessions = 1; + */ + sessions: { [key: string]: SessionInfo }; +}; + +/** + * Describes the message exa.auto_cascade_common_pb.SessionInfos. + * Use `create(SessionInfosSchema)` to create a new message. + */ +export const SessionInfosSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_auto_cascade_common_pb_auto_cascade_common, 2); + +/** + * @generated from message exa.auto_cascade_common_pb.GithubPullRequestInfo + */ +export type GithubPullRequestInfo = Message<"exa.auto_cascade_common_pb.GithubPullRequestInfo"> & { + /** + * @generated from field: string url = 1; + */ + url: string; + + /** + * @generated from field: string owner = 2; + */ + owner: string; + + /** + * @generated from field: string repo = 3; + */ + repo: string; + + /** + * @generated from field: string title = 4; + */ + title: string; + + /** + * @generated from field: string number = 5; + */ + number: string; + + /** + * @generated from field: exa.auto_cascade_common_pb.GithubCICheckStatus ci_status = 6; + */ + ciStatus: GithubCICheckStatus; + + /** + * @generated from field: exa.auto_cascade_common_pb.GithubPullRequestBranchStatus branch_status = 7; + */ + branchStatus: GithubPullRequestBranchStatus; + + /** + * @generated from field: google.protobuf.Timestamp updated_at = 8; + */ + updatedAt?: Timestamp | undefined; +}; + +/** + * Describes the message exa.auto_cascade_common_pb.GithubPullRequestInfo. + * Use `create(GithubPullRequestInfoSchema)` to create a new message. + */ +export const GithubPullRequestInfoSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_auto_cascade_common_pb_auto_cascade_common, 3); + +/** + * @generated from message exa.auto_cascade_common_pb.GithubInstallationInfo + */ +export type GithubInstallationInfo = Message<"exa.auto_cascade_common_pb.GithubInstallationInfo"> & { + /** + * @generated from field: string installation_id = 1; + */ + installationId: string; + + /** + * @generated from field: string organization_name = 2; + */ + organizationName: string; +}; + +/** + * Describes the message exa.auto_cascade_common_pb.GithubInstallationInfo. + * Use `create(GithubInstallationInfoSchema)` to create a new message. + */ +export const GithubInstallationInfoSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_auto_cascade_common_pb_auto_cascade_common, 4); + +/** + * @generated from enum exa.auto_cascade_common_pb.BranchStatus + */ +export enum BranchStatus { + /** + * @generated from enum value: BRANCH_STATUS_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: BRANCH_STATUS_NO_PR = 1; + */ + NO_PR = 1, + + /** + * @generated from enum value: BRANCH_STATUS_PR_OPEN = 2; + */ + PR_OPEN = 2, + + /** + * @generated from enum value: BRANCH_STATUS_PR_CLOSED = 3; + */ + PR_CLOSED = 3, + + /** + * @generated from enum value: BRANCH_STATUS_PR_MERGED = 4; + */ + PR_MERGED = 4, + + /** + * @generated from enum value: BRANCH_STATUS_HAS_SUGGESTION = 5; + */ + HAS_SUGGESTION = 5, +} + +/** + * Describes the enum exa.auto_cascade_common_pb.BranchStatus. + */ +export const BranchStatusSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_auto_cascade_common_pb_auto_cascade_common, 0); + +/** + * @generated from enum exa.auto_cascade_common_pb.CommentType + */ +export enum CommentType { + /** + * @generated from enum value: COMMENT_TYPE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: COMMENT_TYPE_MANUAL_REVIEW_TRIGGER = 1; + */ + MANUAL_REVIEW_TRIGGER = 1, + + /** + * @generated from enum value: COMMENT_TYPE_LGTM = 2; + */ + LGTM = 2, + + /** + * @generated from enum value: COMMENT_TYPE_REVIEW_BODY = 3; + */ + REVIEW_BODY = 3, + + /** + * @generated from enum value: COMMENT_TYPE_REVIEW_COMMENT = 4; + */ + REVIEW_COMMENT = 4, +} + +/** + * Describes the enum exa.auto_cascade_common_pb.CommentType. + */ +export const CommentTypeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_auto_cascade_common_pb_auto_cascade_common, 1); + +/** + * @generated from enum exa.auto_cascade_common_pb.GithubCICheckStatus + */ +export enum GithubCICheckStatus { + /** + * @generated from enum value: GITHUB_CI_CHECK_STATUS_UNSPECIFIED = 0; + */ + GITHUB_CI_CHECK_STATUS_UNSPECIFIED = 0, + + /** + * @generated from enum value: GITHUB_CI_CHECK_STATUS_SUCCESS = 1; + */ + GITHUB_CI_CHECK_STATUS_SUCCESS = 1, + + /** + * @generated from enum value: GITHUB_CI_CHECK_STATUS_FAILED = 2; + */ + GITHUB_CI_CHECK_STATUS_FAILED = 2, + + /** + * @generated from enum value: GITHUB_CI_CHECK_STATUS_PENDING = 3; + */ + GITHUB_CI_CHECK_STATUS_PENDING = 3, +} + +/** + * Describes the enum exa.auto_cascade_common_pb.GithubCICheckStatus. + */ +export const GithubCICheckStatusSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_auto_cascade_common_pb_auto_cascade_common, 2); + +/** + * @generated from enum exa.auto_cascade_common_pb.GithubPullRequestBranchStatus + */ +export enum GithubPullRequestBranchStatus { + /** + * @generated from enum value: GITHUB_PULL_REQUEST_BRANCH_STATUS_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: GITHUB_PULL_REQUEST_BRANCH_STATUS_OPEN = 1; + */ + OPEN = 1, + + /** + * @generated from enum value: GITHUB_PULL_REQUEST_BRANCH_STATUS_CLOSED = 2; + */ + CLOSED = 2, + + /** + * @generated from enum value: GITHUB_PULL_REQUEST_BRANCH_STATUS_DRAFT = 3; + */ + DRAFT = 3, + + /** + * @generated from enum value: GITHUB_PULL_REQUEST_BRANCH_STATUS_MERGED = 4; + */ + MERGED = 4, +} + +/** + * Describes the enum exa.auto_cascade_common_pb.GithubPullRequestBranchStatus. + */ +export const GithubPullRequestBranchStatusSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_auto_cascade_common_pb_auto_cascade_common, 3); + diff --git a/packages/catalog/src/discovery/devin-gen/exa/bug_checker_pb/bug_checker_pb.ts b/packages/catalog/src/discovery/devin-gen/exa/bug_checker_pb/bug_checker_pb.ts new file mode 100644 index 000000000..1a816e641 --- /dev/null +++ b/packages/catalog/src/discovery/devin-gen/exa/bug_checker_pb/bug_checker_pb.ts @@ -0,0 +1,103 @@ +// @generated by protoc-gen-es v2.12.0 with parameter "target=ts" +// @generated from file exa/bug_checker_pb/bug_checker.proto (package exa.bug_checker_pb, syntax proto3) +/* eslint-disable */ + +import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2"; +import { fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2"; +import type { Message } from "@bufbuild/protobuf"; + +/** + * Describes the file exa/bug_checker_pb/bug_checker.proto. + */ +export const file_exa_bug_checker_pb_bug_checker: GenFile = /*@__PURE__*/ + fileDesc("CiRleGEvYnVnX2NoZWNrZXJfcGIvYnVnX2NoZWNrZXIucHJvdG8SEmV4YS5idWdfY2hlY2tlcl9wYiInCgNGaXgSDwoHb2xkX3N0chgBIAEoCRIPCgduZXdfc3RyGAIgASgJItMBCgNCdWcSCgoCaWQYASABKAkSDAoEZmlsZRgCIAEoCRINCgVzdGFydBgDIAEoBRILCgNlbmQYBCABKAUSDQoFdGl0bGUYBSABKAkSEwoLZGVzY3JpcHRpb24YBiABKAkSEAoIc2V2ZXJpdHkYByABKAkSEgoKcmVzb2x1dGlvbhgIIAEoCRISCgpjb25maWRlbmNlGAkgASgBEhIKCmNhdGVnb3JpZXMYCiADKAkSJAoDZml4GAsgASgLMhcuZXhhLmJ1Z19jaGVja2VyX3BiLkZpeGIGcHJvdG8z"); + +/** + * @generated from message exa.bug_checker_pb.Fix + */ +export type Fix = Message<"exa.bug_checker_pb.Fix"> & { + /** + * @generated from field: string old_str = 1; + */ + oldStr: string; + + /** + * @generated from field: string new_str = 2; + */ + newStr: string; +}; + +/** + * Describes the message exa.bug_checker_pb.Fix. + * Use `create(FixSchema)` to create a new message. + */ +export const FixSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_bug_checker_pb_bug_checker, 0); + +/** + * @generated from message exa.bug_checker_pb.Bug + */ +export type Bug = Message<"exa.bug_checker_pb.Bug"> & { + /** + * @generated from field: string id = 1; + */ + id: string; + + /** + * @generated from field: string file = 2; + */ + file: string; + + /** + * @generated from field: int32 start = 3; + */ + start: number; + + /** + * @generated from field: int32 end = 4; + */ + end: number; + + /** + * @generated from field: string title = 5; + */ + title: string; + + /** + * @generated from field: string description = 6; + */ + description: string; + + /** + * @generated from field: string severity = 7; + */ + severity: string; + + /** + * @generated from field: string resolution = 8; + */ + resolution: string; + + /** + * @generated from field: double confidence = 9; + */ + confidence: number; + + /** + * @generated from field: repeated string categories = 10; + */ + categories: string[]; + + /** + * @generated from field: exa.bug_checker_pb.Fix fix = 11; + */ + fix?: Fix | undefined; +}; + +/** + * Describes the message exa.bug_checker_pb.Bug. + * Use `create(BugSchema)` to create a new message. + */ +export const BugSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_bug_checker_pb_bug_checker, 1); + diff --git a/packages/catalog/src/discovery/devin-gen/exa/cascade_plugins_pb/cascade_plugins_pb.ts b/packages/catalog/src/discovery/devin-gen/exa/cascade_plugins_pb/cascade_plugins_pb.ts new file mode 100644 index 000000000..071181f3d --- /dev/null +++ b/packages/catalog/src/discovery/devin-gen/exa/cascade_plugins_pb/cascade_plugins_pb.ts @@ -0,0 +1,1198 @@ +// @generated by protoc-gen-es v2.12.0 with parameter "target=ts" +// @generated from file exa/cascade_plugins_pb/cascade_plugins.proto (package exa.cascade_plugins_pb, syntax proto3) +/* eslint-disable */ + +import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2"; +import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2"; +import { file_buf_validate_validate } from "../../buf/validate/validate_pb"; +import type { Metadata } from "../codeium_common_pb/codeium_common_pb"; +import { file_exa_codeium_common_pb_codeium_common } from "../codeium_common_pb/codeium_common_pb"; +import type { Message } from "@bufbuild/protobuf"; + +/** + * Describes the file exa/cascade_plugins_pb/cascade_plugins.proto. + */ +export const file_exa_cascade_plugins_pb_cascade_plugins: GenFile = /*@__PURE__*/ + fileDesc("CixleGEvY2FzY2FkZV9wbHVnaW5zX3BiL2Nhc2NhZGVfcGx1Z2lucy5wcm90bxIWZXhhLmNhc2NhZGVfcGx1Z2luc19wYiLhAwoVQ2FzY2FkZVBsdWdpblRlbXBsYXRlEg0KBXRpdGxlGAEgASgJEgoKAmlkGAIgASgJEgwKBGxpbmsYAyABKAkSEwoLZGVzY3JpcHRpb24YBCABKAkSUQoIY29tbWFuZHMYBSADKAsyOy5leGEuY2FzY2FkZV9wbHVnaW5zX3BiLkNhc2NhZGVQbHVnaW5UZW1wbGF0ZS5Db21tYW5kc0VudHJ5QgIYARJBCgVsb2NhbBgJIAEoCzIwLmV4YS5jYXNjYWRlX3BsdWdpbnNfcGIuQ2FzY2FkZVBsdWdpbkxvY2FsQ29uZmlnSAASQwoGcmVtb3RlGAogASgLMjEuZXhhLmNhc2NhZGVfcGx1Z2luc19wYi5DYXNjYWRlUGx1Z2luUmVtb3RlQ29uZmlnSAASGgoSaW5zdGFsbGF0aW9uX2NvdW50GAYgASgDEhMKC3RydXN0X2xldmVsGAcgASgJEg4KBnJlYWRtZRgIIAEoCRpdCg1Db21tYW5kc0VudHJ5EgsKA2tleRgBIAEoCRI7CgV2YWx1ZRgCIAEoCzIsLmV4YS5jYXNjYWRlX3BsdWdpbnNfcGIuQ2FzY2FkZVBsdWdpbkNvbW1hbmQ6AjgBQg8KDWNvbmZpZ3VyYXRpb24iywEKGENhc2NhZGVQbHVnaW5Mb2NhbENvbmZpZxJQCghjb21tYW5kcxgFIAMoCzI+LmV4YS5jYXNjYWRlX3BsdWdpbnNfcGIuQ2FzY2FkZVBsdWdpbkxvY2FsQ29uZmlnLkNvbW1hbmRzRW50cnkaXQoNQ29tbWFuZHNFbnRyeRILCgNrZXkYASABKAkSOwoFdmFsdWUYAiABKAsyLC5leGEuY2FzY2FkZV9wbHVnaW5zX3BiLkNhc2NhZGVQbHVnaW5Db21tYW5kOgI4ASKnAQoUQ2FzY2FkZVBsdWdpbkNvbW1hbmQSRgoIdGVtcGxhdGUYASABKAsyNC5leGEuY2FzY2FkZV9wbHVnaW5zX3BiLkNhc2NhZGVQbHVnaW5Db21tYW5kVGVtcGxhdGUSRwoJdmFyaWFibGVzGAIgAygLMjQuZXhhLmNhc2NhZGVfcGx1Z2luc19wYi5DYXNjYWRlUGx1Z2luQ29tbWFuZFZhcmlhYmxlIrUBChxDYXNjYWRlUGx1Z2luQ29tbWFuZFRlbXBsYXRlEg8KB2NvbW1hbmQYASABKAkSDAoEYXJncxgCIAMoCRJKCgNlbnYYAyADKAsyPS5leGEuY2FzY2FkZV9wbHVnaW5zX3BiLkNhc2NhZGVQbHVnaW5Db21tYW5kVGVtcGxhdGUuRW52RW50cnkaKgoIRW52RW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASJsChxDYXNjYWRlUGx1Z2luQ29tbWFuZFZhcmlhYmxlEgwKBG5hbWUYASABKAkSDQoFdGl0bGUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSDAoEbGluaxgEIAEoCRIMCgR0eXBlGAUgASgJImgKGUNhc2NhZGVQbHVnaW5SZW1vdGVDb25maWcSSwoIdGVtcGxhdGUYASABKAsyOS5leGEuY2FzY2FkZV9wbHVnaW5zX3BiLkNhc2NhZGVQbHVnaW5SZW1vdGVDb25maWdUZW1wbGF0ZSLAAQohQ2FzY2FkZVBsdWdpblJlbW90ZUNvbmZpZ1RlbXBsYXRlEhIKCnNlcnZlcl91cmwYASABKAkSVwoHaGVhZGVycxgCIAMoCzJGLmV4YS5jYXNjYWRlX3BsdWdpbnNfcGIuQ2FzY2FkZVBsdWdpblJlbW90ZUNvbmZpZ1RlbXBsYXRlLkhlYWRlcnNFbnRyeRouCgxIZWFkZXJzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASKSAQohR2V0QXZhaWxhYmxlQ2FzY2FkZVBsdWdpbnNSZXF1ZXN0EjEKCG1ldGFkYXRhGAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhEgoKAm9zGAIgASgJEh0KDHNlYXJjaF9xdWVyeRgDIAEoCUICGAFIAIgBAUIPCg1fc2VhcmNoX3F1ZXJ5ImQKIkdldEF2YWlsYWJsZUNhc2NhZGVQbHVnaW5zUmVzcG9uc2USPgoHcGx1Z2lucxgBIAMoCzItLmV4YS5jYXNjYWRlX3BsdWdpbnNfcGIuQ2FzY2FkZVBsdWdpblRlbXBsYXRlImMKG0luc3RhbGxDYXNjYWRlUGx1Z2luUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRIRCglwbHVnaW5faWQYAiABKAkiOgocSW5zdGFsbENhc2NhZGVQbHVnaW5SZXNwb25zZRIaChJpbnN0YWxsYXRpb25fY291bnQYASABKAMibwobR2V0Q2FzY2FkZVBsdWdpbkJ5SWRSZXF1ZXN0EjEKCG1ldGFkYXRhGAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhEgoKAm9zGAIgASgJEhEKCXBsdWdpbl9pZBgDIAEoCSJdChxHZXRDYXNjYWRlUGx1Z2luQnlJZFJlc3BvbnNlEj0KBnBsdWdpbhgBIAEoCzItLmV4YS5jYXNjYWRlX3BsdWdpbnNfcGIuQ2FzY2FkZVBsdWdpblRlbXBsYXRlIjkKDU1jcENsaWVudEluZm8SEQoJY2xpZW50X2lkGAEgASgJEhUKDWNsaWVudF9zZWNyZXQYAiABKAkiTQoYR2V0TWNwQ2xpZW50SW5mb3NSZXF1ZXN0EjEKCG1ldGFkYXRhGAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhItABChlHZXRNY3BDbGllbnRJbmZvc1Jlc3BvbnNlElgKDGNsaWVudF9pbmZvcxgBIAMoCzJCLmV4YS5jYXNjYWRlX3BsdWdpbnNfcGIuR2V0TWNwQ2xpZW50SW5mb3NSZXNwb25zZS5DbGllbnRJbmZvc0VudHJ5GlkKEENsaWVudEluZm9zRW50cnkSCwoDa2V5GAEgASgJEjQKBXZhbHVlGAIgASgLMiUuZXhhLmNhc2NhZGVfcGx1Z2luc19wYi5NY3BDbGllbnRJbmZvOgI4ASKcAQocR2V0TWNwUmVnaXN0cnlTZXJ2ZXJzUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRIUCgxzZWFyY2hfcXVlcnkYAiABKAkSDQoFbGltaXQYAyABKAUSDgoGY3Vyc29yGAQgASgJEhQKDHJlZ2lzdHJ5X3VybBgFIAEoCSJ/Ch1HZXRNY3BSZWdpc3RyeVNlcnZlcnNSZXNwb25zZRI6CgdzZXJ2ZXJzGAEgAygLMikuZXhhLmNhc2NhZGVfcGx1Z2luc19wYi5NY3BSZWdpc3RyeVNlcnZlchINCgVjb3VudBgCIAEoBRITCgtuZXh0X2N1cnNvchgDIAEoCSKgAQoWTWNwUmVnaXN0cnlBcGlSZXNwb25zZRJICghtZXRhZGF0YRgBIAEoCzI2LmV4YS5jYXNjYWRlX3BsdWdpbnNfcGIuTWNwUmVnaXN0cnlBcGlSZXNwb25zZU1ldGFkYXRhEjwKB3NlcnZlcnMYAiADKAsyKy5leGEuY2FzY2FkZV9wbHVnaW5zX3BiLk1jcFJlZ2lzdHJ5QXBpRW50cnkiRAoeTWNwUmVnaXN0cnlBcGlSZXNwb25zZU1ldGFkYXRhEg0KBWNvdW50GAEgASgFEhMKC25leHRfY3Vyc29yGAIgASgJIo8BChNNY3BSZWdpc3RyeUFwaUVudHJ5Ej0KBG1ldGEYASABKAsyLy5leGEuY2FzY2FkZV9wbHVnaW5zX3BiLk1jcFJlZ2lzdHJ5T2ZmaWNpYWxNZXRhEjkKBnNlcnZlchgCIAEoCzIpLmV4YS5jYXNjYWRlX3BsdWdpbnNfcGIuTWNwUmVnaXN0cnlTZXJ2ZXIiYgoXTWNwUmVnaXN0cnlPZmZpY2lhbE1ldGESRwoIb2ZmaWNpYWwYASABKAsyNS5leGEuY2FzY2FkZV9wbHVnaW5zX3BiLk1jcFJlZ2lzdHJ5T2ZmaWNpYWxNZXRhRGV0YWlsIoQBCh1NY3BSZWdpc3RyeU9mZmljaWFsTWV0YURldGFpbBIRCglpc19sYXRlc3QYASABKAgSDgoGc3RhdHVzGAIgASgJEhYKDnN0YXR1c19tZXNzYWdlGAMgASgJEhQKDHB1Ymxpc2hlZF9hdBgEIAEoCRISCgp1cGRhdGVkX2F0GAUgASgJIpMDChFNY3BSZWdpc3RyeVNlcnZlchIMCgRuYW1lGAEgASgJEg0KBXRpdGxlGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEg8KB3ZlcnNpb24YBCABKAkSEwoLd2Vic2l0ZV91cmwYBSABKAkSQQoKcmVwb3NpdG9yeRgGIAEoCzItLmV4YS5jYXNjYWRlX3BsdWdpbnNfcGIuTWNwUmVnaXN0cnlSZXBvc2l0b3J5EjwKCHBhY2thZ2VzGAcgAygLMiouZXhhLmNhc2NhZGVfcGx1Z2luc19wYi5NY3BSZWdpc3RyeVBhY2thZ2USOgoHcmVtb3RlcxgIIAMoCzIpLmV4YS5jYXNjYWRlX3BsdWdpbnNfcGIuTWNwUmVnaXN0cnlSZW1vdGUSNgoFaWNvbnMYCSADKAsyJy5leGEuY2FzY2FkZV9wbHVnaW5zX3BiLk1jcFJlZ2lzdHJ5SWNvbhIRCglpc19sYXRlc3QYCiABKAgSDgoGc3RhdHVzGAsgASgJEg4KBnNjaGVtYRgMIAEoCSJTChVNY3BSZWdpc3RyeVJlcG9zaXRvcnkSCwoDdXJsGAEgASgJEg4KBnNvdXJjZRgCIAEoCRIKCgJpZBgDIAEoCRIRCglzdWJmb2xkZXIYBCABKAkiTwoPTWNwUmVnaXN0cnlJY29uEgsKA3NyYxgBIAEoCRIRCgltaW1lX3R5cGUYAiABKAkSDQoFdGhlbWUYAyABKAkSDQoFc2l6ZXMYBCADKAkivgMKEk1jcFJlZ2lzdHJ5UGFja2FnZRIVCg1yZWdpc3RyeV90eXBlGAEgASgJEhIKCmlkZW50aWZpZXIYAiABKAkSDwoHdmVyc2lvbhgDIAEoCRIUCgxydW50aW1lX2hpbnQYBCABKAkSVQoVZW52aXJvbm1lbnRfdmFyaWFibGVzGAUgAygLMjYuZXhhLmNhc2NhZGVfcGx1Z2luc19wYi5NY3BSZWdpc3RyeUVudmlyb25tZW50VmFyaWFibGUSPwoJdHJhbnNwb3J0GAYgASgLMiwuZXhhLmNhc2NhZGVfcGx1Z2luc19wYi5NY3BSZWdpc3RyeVRyYW5zcG9ydBJGChFwYWNrYWdlX2FyZ3VtZW50cxgHIAMoCzIrLmV4YS5jYXNjYWRlX3BsdWdpbnNfcGIuTWNwUmVnaXN0cnlBcmd1bWVudBJGChFydW50aW1lX2FyZ3VtZW50cxgIIAMoCzIrLmV4YS5jYXNjYWRlX3BsdWdpbnNfcGIuTWNwUmVnaXN0cnlBcmd1bWVudBIZChFyZWdpc3RyeV9iYXNlX3VybBgJIAEoCRITCgtmaWxlX3NoYTI1NhgKIAEoCSKgAgoUTWNwUmVnaXN0cnlUcmFuc3BvcnQSDAoEdHlwZRgBIAEoCRILCgN1cmwYAiABKAkSQQoHaGVhZGVycxgDIAMoCzIwLmV4YS5jYXNjYWRlX3BsdWdpbnNfcGIuTWNwUmVnaXN0cnlLZXlWYWx1ZUlucHV0Ek4KCXZhcmlhYmxlcxgEIAMoCzI7LmV4YS5jYXNjYWRlX3BsdWdpbnNfcGIuTWNwUmVnaXN0cnlUcmFuc3BvcnQuVmFyaWFibGVzRW50cnkaWgoOVmFyaWFibGVzRW50cnkSCwoDa2V5GAEgASgJEjcKBXZhbHVlGAIgASgLMiguZXhhLmNhc2NhZGVfcGx1Z2luc19wYi5NY3BSZWdpc3RyeUlucHV0OgI4ASL3AgoeTWNwUmVnaXN0cnlFbnZpcm9ubWVudFZhcmlhYmxlEgwKBG5hbWUYASABKAkSEwoLZGVzY3JpcHRpb24YAiABKAkSEwoLaXNfcmVxdWlyZWQYAyABKAgSEQoJaXNfc2VjcmV0GAQgASgIEg8KB2RlZmF1bHQYBSABKAkSDQoFdmFsdWUYBiABKAkSEwoLcGxhY2Vob2xkZXIYByABKAkSDgoGZm9ybWF0GAggASgJEg8KB2Nob2ljZXMYCSADKAkSWAoJdmFyaWFibGVzGAogAygLMkUuZXhhLmNhc2NhZGVfcGx1Z2luc19wYi5NY3BSZWdpc3RyeUVudmlyb25tZW50VmFyaWFibGUuVmFyaWFibGVzRW50cnkaWgoOVmFyaWFibGVzRW50cnkSCwoDa2V5GAEgASgJEjcKBXZhbHVlGAIgASgLMiguZXhhLmNhc2NhZGVfcGx1Z2luc19wYi5NY3BSZWdpc3RyeUlucHV0OgI4ASKaAgoRTWNwUmVnaXN0cnlSZW1vdGUSDAoEdHlwZRgBIAEoCRILCgN1cmwYAiABKAkSQQoHaGVhZGVycxgDIAMoCzIwLmV4YS5jYXNjYWRlX3BsdWdpbnNfcGIuTWNwUmVnaXN0cnlLZXlWYWx1ZUlucHV0EksKCXZhcmlhYmxlcxgEIAMoCzI4LmV4YS5jYXNjYWRlX3BsdWdpbnNfcGIuTWNwUmVnaXN0cnlSZW1vdGUuVmFyaWFibGVzRW50cnkaWgoOVmFyaWFibGVzRW50cnkSCwoDa2V5GAEgASgJEjcKBXZhbHVlGAIgASgLMiguZXhhLmNhc2NhZGVfcGx1Z2luc19wYi5NY3BSZWdpc3RyeUlucHV0OgI4ASLrAgoYTWNwUmVnaXN0cnlLZXlWYWx1ZUlucHV0EgwKBG5hbWUYASABKAkSEwoLZGVzY3JpcHRpb24YAiABKAkSEwoLaXNfcmVxdWlyZWQYAyABKAgSEQoJaXNfc2VjcmV0GAQgASgIEg8KB2RlZmF1bHQYBSABKAkSDQoFdmFsdWUYBiABKAkSEwoLcGxhY2Vob2xkZXIYByABKAkSDgoGZm9ybWF0GAggASgJEg8KB2Nob2ljZXMYCSADKAkSUgoJdmFyaWFibGVzGAogAygLMj8uZXhhLmNhc2NhZGVfcGx1Z2luc19wYi5NY3BSZWdpc3RyeUtleVZhbHVlSW5wdXQuVmFyaWFibGVzRW50cnkaWgoOVmFyaWFibGVzRW50cnkSCwoDa2V5GAEgASgJEjcKBXZhbHVlGAIgASgLMiguZXhhLmNhc2NhZGVfcGx1Z2luc19wYi5NY3BSZWdpc3RyeUlucHV0OgI4ASKlAQoQTWNwUmVnaXN0cnlJbnB1dBITCgtkZXNjcmlwdGlvbhgBIAEoCRITCgtpc19yZXF1aXJlZBgCIAEoCBIRCglpc19zZWNyZXQYAyABKAgSDwoHZGVmYXVsdBgEIAEoCRINCgV2YWx1ZRgFIAEoCRITCgtwbGFjZWhvbGRlchgGIAEoCRIOCgZmb3JtYXQYByABKAkSDwoHY2hvaWNlcxgIIAMoCSKYAwoTTWNwUmVnaXN0cnlBcmd1bWVudBIMCgR0eXBlGAEgASgJEgwKBG5hbWUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSEwoLaXNfcmVxdWlyZWQYBCABKAgSEQoJaXNfc2VjcmV0GAUgASgIEhMKC2lzX3JlcGVhdGVkGAYgASgIEg8KB2RlZmF1bHQYByABKAkSDQoFdmFsdWUYCCABKAkSEwoLcGxhY2Vob2xkZXIYCSABKAkSDgoGZm9ybWF0GAogASgJEg8KB2Nob2ljZXMYCyADKAkSEgoKdmFsdWVfaGludBgMIAEoCRJNCgl2YXJpYWJsZXMYDSADKAsyOi5leGEuY2FzY2FkZV9wbHVnaW5zX3BiLk1jcFJlZ2lzdHJ5QXJndW1lbnQuVmFyaWFibGVzRW50cnkaWgoOVmFyaWFibGVzRW50cnkSCwoDa2V5GAEgASgJEjcKBXZhbHVlGAIgASgLMiguZXhhLmNhc2NhZGVfcGx1Z2luc19wYi5NY3BSZWdpc3RyeUlucHV0OgI4ASJgChpHZXRBbGxBY3BSZWdpc3RyaWVzUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRIPCgd2ZXJzaW9uGAIgASgJIjQKG0dldEFsbEFjcFJlZ2lzdHJpZXNSZXNwb25zZRIVCg1yZWdpc3RyeV9qc29uGAEgASgJMq8FChVDYXNjYWRlUGx1Z2luc1NlcnZpY2USkwEKGkdldEF2YWlsYWJsZUNhc2NhZGVQbHVnaW5zEjkuZXhhLmNhc2NhZGVfcGx1Z2luc19wYi5HZXRBdmFpbGFibGVDYXNjYWRlUGx1Z2luc1JlcXVlc3QaOi5leGEuY2FzY2FkZV9wbHVnaW5zX3BiLkdldEF2YWlsYWJsZUNhc2NhZGVQbHVnaW5zUmVzcG9uc2USgQEKFEluc3RhbGxDYXNjYWRlUGx1Z2luEjMuZXhhLmNhc2NhZGVfcGx1Z2luc19wYi5JbnN0YWxsQ2FzY2FkZVBsdWdpblJlcXVlc3QaNC5leGEuY2FzY2FkZV9wbHVnaW5zX3BiLkluc3RhbGxDYXNjYWRlUGx1Z2luUmVzcG9uc2USgQEKFEdldENhc2NhZGVQbHVnaW5CeUlkEjMuZXhhLmNhc2NhZGVfcGx1Z2luc19wYi5HZXRDYXNjYWRlUGx1Z2luQnlJZFJlcXVlc3QaNC5leGEuY2FzY2FkZV9wbHVnaW5zX3BiLkdldENhc2NhZGVQbHVnaW5CeUlkUmVzcG9uc2USeAoRR2V0TWNwQ2xpZW50SW5mb3MSMC5leGEuY2FzY2FkZV9wbHVnaW5zX3BiLkdldE1jcENsaWVudEluZm9zUmVxdWVzdBoxLmV4YS5jYXNjYWRlX3BsdWdpbnNfcGIuR2V0TWNwQ2xpZW50SW5mb3NSZXNwb25zZRJ+ChNHZXRBbGxBY3BSZWdpc3RyaWVzEjIuZXhhLmNhc2NhZGVfcGx1Z2luc19wYi5HZXRBbGxBY3BSZWdpc3RyaWVzUmVxdWVzdBozLmV4YS5jYXNjYWRlX3BsdWdpbnNfcGIuR2V0QWxsQWNwUmVnaXN0cmllc1Jlc3BvbnNlYgZwcm90bzM", [file_buf_validate_validate, file_exa_codeium_common_pb_codeium_common]); + +/** + * @generated from message exa.cascade_plugins_pb.CascadePluginTemplate + */ +export type CascadePluginTemplate = Message<"exa.cascade_plugins_pb.CascadePluginTemplate"> & { + /** + * @generated from field: string title = 1; + */ + title: string; + + /** + * @generated from field: string id = 2; + */ + id: string; + + /** + * @generated from field: string link = 3; + */ + link: string; + + /** + * @generated from field: string description = 4; + */ + description: string; + + /** + * @generated from field: map commands = 5 [deprecated = true]; + * @deprecated + */ + commands: { [key: string]: CascadePluginCommand }; + + /** + * @generated from oneof exa.cascade_plugins_pb.CascadePluginTemplate.configuration + */ + configuration: { + /** + * @generated from field: exa.cascade_plugins_pb.CascadePluginLocalConfig local = 9; + */ + value: CascadePluginLocalConfig; + case: "local"; + } | { + /** + * @generated from field: exa.cascade_plugins_pb.CascadePluginRemoteConfig remote = 10; + */ + value: CascadePluginRemoteConfig; + case: "remote"; + } | { case: undefined; value?: undefined }; + + /** + * @generated from field: int64 installation_count = 6; + */ + installationCount: bigint; + + /** + * @generated from field: string trust_level = 7; + */ + trustLevel: string; + + /** + * @generated from field: string readme = 8; + */ + readme: string; +}; + +/** + * Describes the message exa.cascade_plugins_pb.CascadePluginTemplate. + * Use `create(CascadePluginTemplateSchema)` to create a new message. + */ +export const CascadePluginTemplateSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cascade_plugins_pb_cascade_plugins, 0); + +/** + * @generated from message exa.cascade_plugins_pb.CascadePluginLocalConfig + */ +export type CascadePluginLocalConfig = Message<"exa.cascade_plugins_pb.CascadePluginLocalConfig"> & { + /** + * @generated from field: map commands = 5; + */ + commands: { [key: string]: CascadePluginCommand }; +}; + +/** + * Describes the message exa.cascade_plugins_pb.CascadePluginLocalConfig. + * Use `create(CascadePluginLocalConfigSchema)` to create a new message. + */ +export const CascadePluginLocalConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cascade_plugins_pb_cascade_plugins, 1); + +/** + * @generated from message exa.cascade_plugins_pb.CascadePluginCommand + */ +export type CascadePluginCommand = Message<"exa.cascade_plugins_pb.CascadePluginCommand"> & { + /** + * @generated from field: exa.cascade_plugins_pb.CascadePluginCommandTemplate template = 1; + */ + template?: CascadePluginCommandTemplate | undefined; + + /** + * @generated from field: repeated exa.cascade_plugins_pb.CascadePluginCommandVariable variables = 2; + */ + variables: CascadePluginCommandVariable[]; +}; + +/** + * Describes the message exa.cascade_plugins_pb.CascadePluginCommand. + * Use `create(CascadePluginCommandSchema)` to create a new message. + */ +export const CascadePluginCommandSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cascade_plugins_pb_cascade_plugins, 2); + +/** + * @generated from message exa.cascade_plugins_pb.CascadePluginCommandTemplate + */ +export type CascadePluginCommandTemplate = Message<"exa.cascade_plugins_pb.CascadePluginCommandTemplate"> & { + /** + * @generated from field: string command = 1; + */ + command: string; + + /** + * @generated from field: repeated string args = 2; + */ + args: string[]; + + /** + * @generated from field: map env = 3; + */ + env: { [key: string]: string }; +}; + +/** + * Describes the message exa.cascade_plugins_pb.CascadePluginCommandTemplate. + * Use `create(CascadePluginCommandTemplateSchema)` to create a new message. + */ +export const CascadePluginCommandTemplateSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cascade_plugins_pb_cascade_plugins, 3); + +/** + * @generated from message exa.cascade_plugins_pb.CascadePluginCommandVariable + */ +export type CascadePluginCommandVariable = Message<"exa.cascade_plugins_pb.CascadePluginCommandVariable"> & { + /** + * @generated from field: string name = 1; + */ + name: string; + + /** + * @generated from field: string title = 2; + */ + title: string; + + /** + * @generated from field: string description = 3; + */ + description: string; + + /** + * @generated from field: string link = 4; + */ + link: string; + + /** + * @generated from field: string type = 5; + */ + type: string; +}; + +/** + * Describes the message exa.cascade_plugins_pb.CascadePluginCommandVariable. + * Use `create(CascadePluginCommandVariableSchema)` to create a new message. + */ +export const CascadePluginCommandVariableSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cascade_plugins_pb_cascade_plugins, 4); + +/** + * @generated from message exa.cascade_plugins_pb.CascadePluginRemoteConfig + */ +export type CascadePluginRemoteConfig = Message<"exa.cascade_plugins_pb.CascadePluginRemoteConfig"> & { + /** + * @generated from field: exa.cascade_plugins_pb.CascadePluginRemoteConfigTemplate template = 1; + */ + template?: CascadePluginRemoteConfigTemplate | undefined; +}; + +/** + * Describes the message exa.cascade_plugins_pb.CascadePluginRemoteConfig. + * Use `create(CascadePluginRemoteConfigSchema)` to create a new message. + */ +export const CascadePluginRemoteConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cascade_plugins_pb_cascade_plugins, 5); + +/** + * @generated from message exa.cascade_plugins_pb.CascadePluginRemoteConfigTemplate + */ +export type CascadePluginRemoteConfigTemplate = Message<"exa.cascade_plugins_pb.CascadePluginRemoteConfigTemplate"> & { + /** + * @generated from field: string server_url = 1; + */ + serverUrl: string; + + /** + * @generated from field: map headers = 2; + */ + headers: { [key: string]: string }; +}; + +/** + * Describes the message exa.cascade_plugins_pb.CascadePluginRemoteConfigTemplate. + * Use `create(CascadePluginRemoteConfigTemplateSchema)` to create a new message. + */ +export const CascadePluginRemoteConfigTemplateSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cascade_plugins_pb_cascade_plugins, 6); + +/** + * @generated from message exa.cascade_plugins_pb.GetAvailableCascadePluginsRequest + */ +export type GetAvailableCascadePluginsRequest = Message<"exa.cascade_plugins_pb.GetAvailableCascadePluginsRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string os = 2; + */ + os: string; + + /** + * @generated from field: optional string search_query = 3 [deprecated = true]; + * @deprecated + */ + searchQuery?: string | undefined; +}; + +/** + * Describes the message exa.cascade_plugins_pb.GetAvailableCascadePluginsRequest. + * Use `create(GetAvailableCascadePluginsRequestSchema)` to create a new message. + */ +export const GetAvailableCascadePluginsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cascade_plugins_pb_cascade_plugins, 7); + +/** + * @generated from message exa.cascade_plugins_pb.GetAvailableCascadePluginsResponse + */ +export type GetAvailableCascadePluginsResponse = Message<"exa.cascade_plugins_pb.GetAvailableCascadePluginsResponse"> & { + /** + * @generated from field: repeated exa.cascade_plugins_pb.CascadePluginTemplate plugins = 1; + */ + plugins: CascadePluginTemplate[]; +}; + +/** + * Describes the message exa.cascade_plugins_pb.GetAvailableCascadePluginsResponse. + * Use `create(GetAvailableCascadePluginsResponseSchema)` to create a new message. + */ +export const GetAvailableCascadePluginsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cascade_plugins_pb_cascade_plugins, 8); + +/** + * @generated from message exa.cascade_plugins_pb.InstallCascadePluginRequest + */ +export type InstallCascadePluginRequest = Message<"exa.cascade_plugins_pb.InstallCascadePluginRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string plugin_id = 2; + */ + pluginId: string; +}; + +/** + * Describes the message exa.cascade_plugins_pb.InstallCascadePluginRequest. + * Use `create(InstallCascadePluginRequestSchema)` to create a new message. + */ +export const InstallCascadePluginRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cascade_plugins_pb_cascade_plugins, 9); + +/** + * @generated from message exa.cascade_plugins_pb.InstallCascadePluginResponse + */ +export type InstallCascadePluginResponse = Message<"exa.cascade_plugins_pb.InstallCascadePluginResponse"> & { + /** + * @generated from field: int64 installation_count = 1; + */ + installationCount: bigint; +}; + +/** + * Describes the message exa.cascade_plugins_pb.InstallCascadePluginResponse. + * Use `create(InstallCascadePluginResponseSchema)` to create a new message. + */ +export const InstallCascadePluginResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cascade_plugins_pb_cascade_plugins, 10); + +/** + * @generated from message exa.cascade_plugins_pb.GetCascadePluginByIdRequest + */ +export type GetCascadePluginByIdRequest = Message<"exa.cascade_plugins_pb.GetCascadePluginByIdRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string os = 2; + */ + os: string; + + /** + * @generated from field: string plugin_id = 3; + */ + pluginId: string; +}; + +/** + * Describes the message exa.cascade_plugins_pb.GetCascadePluginByIdRequest. + * Use `create(GetCascadePluginByIdRequestSchema)` to create a new message. + */ +export const GetCascadePluginByIdRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cascade_plugins_pb_cascade_plugins, 11); + +/** + * @generated from message exa.cascade_plugins_pb.GetCascadePluginByIdResponse + */ +export type GetCascadePluginByIdResponse = Message<"exa.cascade_plugins_pb.GetCascadePluginByIdResponse"> & { + /** + * @generated from field: exa.cascade_plugins_pb.CascadePluginTemplate plugin = 1; + */ + plugin?: CascadePluginTemplate | undefined; +}; + +/** + * Describes the message exa.cascade_plugins_pb.GetCascadePluginByIdResponse. + * Use `create(GetCascadePluginByIdResponseSchema)` to create a new message. + */ +export const GetCascadePluginByIdResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cascade_plugins_pb_cascade_plugins, 12); + +/** + * @generated from message exa.cascade_plugins_pb.McpClientInfo + */ +export type McpClientInfo = Message<"exa.cascade_plugins_pb.McpClientInfo"> & { + /** + * @generated from field: string client_id = 1; + */ + clientId: string; + + /** + * @generated from field: string client_secret = 2; + */ + clientSecret: string; +}; + +/** + * Describes the message exa.cascade_plugins_pb.McpClientInfo. + * Use `create(McpClientInfoSchema)` to create a new message. + */ +export const McpClientInfoSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cascade_plugins_pb_cascade_plugins, 13); + +/** + * @generated from message exa.cascade_plugins_pb.GetMcpClientInfosRequest + */ +export type GetMcpClientInfosRequest = Message<"exa.cascade_plugins_pb.GetMcpClientInfosRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; +}; + +/** + * Describes the message exa.cascade_plugins_pb.GetMcpClientInfosRequest. + * Use `create(GetMcpClientInfosRequestSchema)` to create a new message. + */ +export const GetMcpClientInfosRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cascade_plugins_pb_cascade_plugins, 14); + +/** + * @generated from message exa.cascade_plugins_pb.GetMcpClientInfosResponse + */ +export type GetMcpClientInfosResponse = Message<"exa.cascade_plugins_pb.GetMcpClientInfosResponse"> & { + /** + * @generated from field: map client_infos = 1; + */ + clientInfos: { [key: string]: McpClientInfo }; +}; + +/** + * Describes the message exa.cascade_plugins_pb.GetMcpClientInfosResponse. + * Use `create(GetMcpClientInfosResponseSchema)` to create a new message. + */ +export const GetMcpClientInfosResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cascade_plugins_pb_cascade_plugins, 15); + +/** + * @generated from message exa.cascade_plugins_pb.GetMcpRegistryServersRequest + */ +export type GetMcpRegistryServersRequest = Message<"exa.cascade_plugins_pb.GetMcpRegistryServersRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string search_query = 2; + */ + searchQuery: string; + + /** + * @generated from field: int32 limit = 3; + */ + limit: number; + + /** + * @generated from field: string cursor = 4; + */ + cursor: string; + + /** + * @generated from field: string registry_url = 5; + */ + registryUrl: string; +}; + +/** + * Describes the message exa.cascade_plugins_pb.GetMcpRegistryServersRequest. + * Use `create(GetMcpRegistryServersRequestSchema)` to create a new message. + */ +export const GetMcpRegistryServersRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cascade_plugins_pb_cascade_plugins, 16); + +/** + * @generated from message exa.cascade_plugins_pb.GetMcpRegistryServersResponse + */ +export type GetMcpRegistryServersResponse = Message<"exa.cascade_plugins_pb.GetMcpRegistryServersResponse"> & { + /** + * @generated from field: repeated exa.cascade_plugins_pb.McpRegistryServer servers = 1; + */ + servers: McpRegistryServer[]; + + /** + * @generated from field: int32 count = 2; + */ + count: number; + + /** + * @generated from field: string next_cursor = 3; + */ + nextCursor: string; +}; + +/** + * Describes the message exa.cascade_plugins_pb.GetMcpRegistryServersResponse. + * Use `create(GetMcpRegistryServersResponseSchema)` to create a new message. + */ +export const GetMcpRegistryServersResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cascade_plugins_pb_cascade_plugins, 17); + +/** + * @generated from message exa.cascade_plugins_pb.McpRegistryApiResponse + */ +export type McpRegistryApiResponse = Message<"exa.cascade_plugins_pb.McpRegistryApiResponse"> & { + /** + * @generated from field: exa.cascade_plugins_pb.McpRegistryApiResponseMetadata metadata = 1; + */ + metadata?: McpRegistryApiResponseMetadata | undefined; + + /** + * @generated from field: repeated exa.cascade_plugins_pb.McpRegistryApiEntry servers = 2; + */ + servers: McpRegistryApiEntry[]; +}; + +/** + * Describes the message exa.cascade_plugins_pb.McpRegistryApiResponse. + * Use `create(McpRegistryApiResponseSchema)` to create a new message. + */ +export const McpRegistryApiResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cascade_plugins_pb_cascade_plugins, 18); + +/** + * @generated from message exa.cascade_plugins_pb.McpRegistryApiResponseMetadata + */ +export type McpRegistryApiResponseMetadata = Message<"exa.cascade_plugins_pb.McpRegistryApiResponseMetadata"> & { + /** + * @generated from field: int32 count = 1; + */ + count: number; + + /** + * @generated from field: string next_cursor = 2; + */ + nextCursor: string; +}; + +/** + * Describes the message exa.cascade_plugins_pb.McpRegistryApiResponseMetadata. + * Use `create(McpRegistryApiResponseMetadataSchema)` to create a new message. + */ +export const McpRegistryApiResponseMetadataSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cascade_plugins_pb_cascade_plugins, 19); + +/** + * @generated from message exa.cascade_plugins_pb.McpRegistryApiEntry + */ +export type McpRegistryApiEntry = Message<"exa.cascade_plugins_pb.McpRegistryApiEntry"> & { + /** + * @generated from field: exa.cascade_plugins_pb.McpRegistryOfficialMeta meta = 1; + */ + meta?: McpRegistryOfficialMeta | undefined; + + /** + * @generated from field: exa.cascade_plugins_pb.McpRegistryServer server = 2; + */ + server?: McpRegistryServer | undefined; +}; + +/** + * Describes the message exa.cascade_plugins_pb.McpRegistryApiEntry. + * Use `create(McpRegistryApiEntrySchema)` to create a new message. + */ +export const McpRegistryApiEntrySchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cascade_plugins_pb_cascade_plugins, 20); + +/** + * @generated from message exa.cascade_plugins_pb.McpRegistryOfficialMeta + */ +export type McpRegistryOfficialMeta = Message<"exa.cascade_plugins_pb.McpRegistryOfficialMeta"> & { + /** + * @generated from field: exa.cascade_plugins_pb.McpRegistryOfficialMetaDetail official = 1; + */ + official?: McpRegistryOfficialMetaDetail | undefined; +}; + +/** + * Describes the message exa.cascade_plugins_pb.McpRegistryOfficialMeta. + * Use `create(McpRegistryOfficialMetaSchema)` to create a new message. + */ +export const McpRegistryOfficialMetaSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cascade_plugins_pb_cascade_plugins, 21); + +/** + * @generated from message exa.cascade_plugins_pb.McpRegistryOfficialMetaDetail + */ +export type McpRegistryOfficialMetaDetail = Message<"exa.cascade_plugins_pb.McpRegistryOfficialMetaDetail"> & { + /** + * @generated from field: bool is_latest = 1; + */ + isLatest: boolean; + + /** + * @generated from field: string status = 2; + */ + status: string; + + /** + * @generated from field: string status_message = 3; + */ + statusMessage: string; + + /** + * @generated from field: string published_at = 4; + */ + publishedAt: string; + + /** + * @generated from field: string updated_at = 5; + */ + updatedAt: string; +}; + +/** + * Describes the message exa.cascade_plugins_pb.McpRegistryOfficialMetaDetail. + * Use `create(McpRegistryOfficialMetaDetailSchema)` to create a new message. + */ +export const McpRegistryOfficialMetaDetailSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cascade_plugins_pb_cascade_plugins, 22); + +/** + * @generated from message exa.cascade_plugins_pb.McpRegistryServer + */ +export type McpRegistryServer = Message<"exa.cascade_plugins_pb.McpRegistryServer"> & { + /** + * @generated from field: string name = 1; + */ + name: string; + + /** + * @generated from field: string title = 2; + */ + title: string; + + /** + * @generated from field: string description = 3; + */ + description: string; + + /** + * @generated from field: string version = 4; + */ + version: string; + + /** + * @generated from field: string website_url = 5; + */ + websiteUrl: string; + + /** + * @generated from field: exa.cascade_plugins_pb.McpRegistryRepository repository = 6; + */ + repository?: McpRegistryRepository | undefined; + + /** + * @generated from field: repeated exa.cascade_plugins_pb.McpRegistryPackage packages = 7; + */ + packages: McpRegistryPackage[]; + + /** + * @generated from field: repeated exa.cascade_plugins_pb.McpRegistryRemote remotes = 8; + */ + remotes: McpRegistryRemote[]; + + /** + * @generated from field: repeated exa.cascade_plugins_pb.McpRegistryIcon icons = 9; + */ + icons: McpRegistryIcon[]; + + /** + * @generated from field: bool is_latest = 10; + */ + isLatest: boolean; + + /** + * @generated from field: string status = 11; + */ + status: string; + + /** + * @generated from field: string schema = 12; + */ + schema: string; +}; + +/** + * Describes the message exa.cascade_plugins_pb.McpRegistryServer. + * Use `create(McpRegistryServerSchema)` to create a new message. + */ +export const McpRegistryServerSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cascade_plugins_pb_cascade_plugins, 23); + +/** + * @generated from message exa.cascade_plugins_pb.McpRegistryRepository + */ +export type McpRegistryRepository = Message<"exa.cascade_plugins_pb.McpRegistryRepository"> & { + /** + * @generated from field: string url = 1; + */ + url: string; + + /** + * @generated from field: string source = 2; + */ + source: string; + + /** + * @generated from field: string id = 3; + */ + id: string; + + /** + * @generated from field: string subfolder = 4; + */ + subfolder: string; +}; + +/** + * Describes the message exa.cascade_plugins_pb.McpRegistryRepository. + * Use `create(McpRegistryRepositorySchema)` to create a new message. + */ +export const McpRegistryRepositorySchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cascade_plugins_pb_cascade_plugins, 24); + +/** + * @generated from message exa.cascade_plugins_pb.McpRegistryIcon + */ +export type McpRegistryIcon = Message<"exa.cascade_plugins_pb.McpRegistryIcon"> & { + /** + * @generated from field: string src = 1; + */ + src: string; + + /** + * @generated from field: string mime_type = 2; + */ + mimeType: string; + + /** + * @generated from field: string theme = 3; + */ + theme: string; + + /** + * @generated from field: repeated string sizes = 4; + */ + sizes: string[]; +}; + +/** + * Describes the message exa.cascade_plugins_pb.McpRegistryIcon. + * Use `create(McpRegistryIconSchema)` to create a new message. + */ +export const McpRegistryIconSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cascade_plugins_pb_cascade_plugins, 25); + +/** + * @generated from message exa.cascade_plugins_pb.McpRegistryPackage + */ +export type McpRegistryPackage = Message<"exa.cascade_plugins_pb.McpRegistryPackage"> & { + /** + * @generated from field: string registry_type = 1; + */ + registryType: string; + + /** + * @generated from field: string identifier = 2; + */ + identifier: string; + + /** + * @generated from field: string version = 3; + */ + version: string; + + /** + * @generated from field: string runtime_hint = 4; + */ + runtimeHint: string; + + /** + * @generated from field: repeated exa.cascade_plugins_pb.McpRegistryEnvironmentVariable environment_variables = 5; + */ + environmentVariables: McpRegistryEnvironmentVariable[]; + + /** + * @generated from field: exa.cascade_plugins_pb.McpRegistryTransport transport = 6; + */ + transport?: McpRegistryTransport | undefined; + + /** + * @generated from field: repeated exa.cascade_plugins_pb.McpRegistryArgument package_arguments = 7; + */ + packageArguments: McpRegistryArgument[]; + + /** + * @generated from field: repeated exa.cascade_plugins_pb.McpRegistryArgument runtime_arguments = 8; + */ + runtimeArguments: McpRegistryArgument[]; + + /** + * @generated from field: string registry_base_url = 9; + */ + registryBaseUrl: string; + + /** + * @generated from field: string file_sha256 = 10; + */ + fileSha256: string; +}; + +/** + * Describes the message exa.cascade_plugins_pb.McpRegistryPackage. + * Use `create(McpRegistryPackageSchema)` to create a new message. + */ +export const McpRegistryPackageSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cascade_plugins_pb_cascade_plugins, 26); + +/** + * @generated from message exa.cascade_plugins_pb.McpRegistryTransport + */ +export type McpRegistryTransport = Message<"exa.cascade_plugins_pb.McpRegistryTransport"> & { + /** + * @generated from field: string type = 1; + */ + type: string; + + /** + * @generated from field: string url = 2; + */ + url: string; + + /** + * @generated from field: repeated exa.cascade_plugins_pb.McpRegistryKeyValueInput headers = 3; + */ + headers: McpRegistryKeyValueInput[]; + + /** + * @generated from field: map variables = 4; + */ + variables: { [key: string]: McpRegistryInput }; +}; + +/** + * Describes the message exa.cascade_plugins_pb.McpRegistryTransport. + * Use `create(McpRegistryTransportSchema)` to create a new message. + */ +export const McpRegistryTransportSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cascade_plugins_pb_cascade_plugins, 27); + +/** + * @generated from message exa.cascade_plugins_pb.McpRegistryEnvironmentVariable + */ +export type McpRegistryEnvironmentVariable = Message<"exa.cascade_plugins_pb.McpRegistryEnvironmentVariable"> & { + /** + * @generated from field: string name = 1; + */ + name: string; + + /** + * @generated from field: string description = 2; + */ + description: string; + + /** + * @generated from field: bool is_required = 3; + */ + isRequired: boolean; + + /** + * @generated from field: bool is_secret = 4; + */ + isSecret: boolean; + + /** + * @generated from field: string default = 5; + */ + default: string; + + /** + * @generated from field: string value = 6; + */ + value: string; + + /** + * @generated from field: string placeholder = 7; + */ + placeholder: string; + + /** + * @generated from field: string format = 8; + */ + format: string; + + /** + * @generated from field: repeated string choices = 9; + */ + choices: string[]; + + /** + * @generated from field: map variables = 10; + */ + variables: { [key: string]: McpRegistryInput }; +}; + +/** + * Describes the message exa.cascade_plugins_pb.McpRegistryEnvironmentVariable. + * Use `create(McpRegistryEnvironmentVariableSchema)` to create a new message. + */ +export const McpRegistryEnvironmentVariableSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cascade_plugins_pb_cascade_plugins, 28); + +/** + * @generated from message exa.cascade_plugins_pb.McpRegistryRemote + */ +export type McpRegistryRemote = Message<"exa.cascade_plugins_pb.McpRegistryRemote"> & { + /** + * @generated from field: string type = 1; + */ + type: string; + + /** + * @generated from field: string url = 2; + */ + url: string; + + /** + * @generated from field: repeated exa.cascade_plugins_pb.McpRegistryKeyValueInput headers = 3; + */ + headers: McpRegistryKeyValueInput[]; + + /** + * @generated from field: map variables = 4; + */ + variables: { [key: string]: McpRegistryInput }; +}; + +/** + * Describes the message exa.cascade_plugins_pb.McpRegistryRemote. + * Use `create(McpRegistryRemoteSchema)` to create a new message. + */ +export const McpRegistryRemoteSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cascade_plugins_pb_cascade_plugins, 29); + +/** + * @generated from message exa.cascade_plugins_pb.McpRegistryKeyValueInput + */ +export type McpRegistryKeyValueInput = Message<"exa.cascade_plugins_pb.McpRegistryKeyValueInput"> & { + /** + * @generated from field: string name = 1; + */ + name: string; + + /** + * @generated from field: string description = 2; + */ + description: string; + + /** + * @generated from field: bool is_required = 3; + */ + isRequired: boolean; + + /** + * @generated from field: bool is_secret = 4; + */ + isSecret: boolean; + + /** + * @generated from field: string default = 5; + */ + default: string; + + /** + * @generated from field: string value = 6; + */ + value: string; + + /** + * @generated from field: string placeholder = 7; + */ + placeholder: string; + + /** + * @generated from field: string format = 8; + */ + format: string; + + /** + * @generated from field: repeated string choices = 9; + */ + choices: string[]; + + /** + * @generated from field: map variables = 10; + */ + variables: { [key: string]: McpRegistryInput }; +}; + +/** + * Describes the message exa.cascade_plugins_pb.McpRegistryKeyValueInput. + * Use `create(McpRegistryKeyValueInputSchema)` to create a new message. + */ +export const McpRegistryKeyValueInputSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cascade_plugins_pb_cascade_plugins, 30); + +/** + * @generated from message exa.cascade_plugins_pb.McpRegistryInput + */ +export type McpRegistryInput = Message<"exa.cascade_plugins_pb.McpRegistryInput"> & { + /** + * @generated from field: string description = 1; + */ + description: string; + + /** + * @generated from field: bool is_required = 2; + */ + isRequired: boolean; + + /** + * @generated from field: bool is_secret = 3; + */ + isSecret: boolean; + + /** + * @generated from field: string default = 4; + */ + default: string; + + /** + * @generated from field: string value = 5; + */ + value: string; + + /** + * @generated from field: string placeholder = 6; + */ + placeholder: string; + + /** + * @generated from field: string format = 7; + */ + format: string; + + /** + * @generated from field: repeated string choices = 8; + */ + choices: string[]; +}; + +/** + * Describes the message exa.cascade_plugins_pb.McpRegistryInput. + * Use `create(McpRegistryInputSchema)` to create a new message. + */ +export const McpRegistryInputSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cascade_plugins_pb_cascade_plugins, 31); + +/** + * @generated from message exa.cascade_plugins_pb.McpRegistryArgument + */ +export type McpRegistryArgument = Message<"exa.cascade_plugins_pb.McpRegistryArgument"> & { + /** + * @generated from field: string type = 1; + */ + type: string; + + /** + * @generated from field: string name = 2; + */ + name: string; + + /** + * @generated from field: string description = 3; + */ + description: string; + + /** + * @generated from field: bool is_required = 4; + */ + isRequired: boolean; + + /** + * @generated from field: bool is_secret = 5; + */ + isSecret: boolean; + + /** + * @generated from field: bool is_repeated = 6; + */ + isRepeated: boolean; + + /** + * @generated from field: string default = 7; + */ + default: string; + + /** + * @generated from field: string value = 8; + */ + value: string; + + /** + * @generated from field: string placeholder = 9; + */ + placeholder: string; + + /** + * @generated from field: string format = 10; + */ + format: string; + + /** + * @generated from field: repeated string choices = 11; + */ + choices: string[]; + + /** + * @generated from field: string value_hint = 12; + */ + valueHint: string; + + /** + * @generated from field: map variables = 13; + */ + variables: { [key: string]: McpRegistryInput }; +}; + +/** + * Describes the message exa.cascade_plugins_pb.McpRegistryArgument. + * Use `create(McpRegistryArgumentSchema)` to create a new message. + */ +export const McpRegistryArgumentSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cascade_plugins_pb_cascade_plugins, 32); + +/** + * @generated from message exa.cascade_plugins_pb.GetAllAcpRegistriesRequest + */ +export type GetAllAcpRegistriesRequest = Message<"exa.cascade_plugins_pb.GetAllAcpRegistriesRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string version = 2; + */ + version: string; +}; + +/** + * Describes the message exa.cascade_plugins_pb.GetAllAcpRegistriesRequest. + * Use `create(GetAllAcpRegistriesRequestSchema)` to create a new message. + */ +export const GetAllAcpRegistriesRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cascade_plugins_pb_cascade_plugins, 33); + +/** + * @generated from message exa.cascade_plugins_pb.GetAllAcpRegistriesResponse + */ +export type GetAllAcpRegistriesResponse = Message<"exa.cascade_plugins_pb.GetAllAcpRegistriesResponse"> & { + /** + * @generated from field: string registry_json = 1; + */ + registryJson: string; +}; + +/** + * Describes the message exa.cascade_plugins_pb.GetAllAcpRegistriesResponse. + * Use `create(GetAllAcpRegistriesResponseSchema)` to create a new message. + */ +export const GetAllAcpRegistriesResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cascade_plugins_pb_cascade_plugins, 34); + +/** + * @generated from service exa.cascade_plugins_pb.CascadePluginsService + */ +export const CascadePluginsService: GenService<{ + /** + * @generated from rpc exa.cascade_plugins_pb.CascadePluginsService.GetAvailableCascadePlugins + */ + getAvailableCascadePlugins: { + methodKind: "unary"; + input: typeof GetAvailableCascadePluginsRequestSchema; + output: typeof GetAvailableCascadePluginsResponseSchema; + }, + /** + * @generated from rpc exa.cascade_plugins_pb.CascadePluginsService.InstallCascadePlugin + */ + installCascadePlugin: { + methodKind: "unary"; + input: typeof InstallCascadePluginRequestSchema; + output: typeof InstallCascadePluginResponseSchema; + }, + /** + * @generated from rpc exa.cascade_plugins_pb.CascadePluginsService.GetCascadePluginById + */ + getCascadePluginById: { + methodKind: "unary"; + input: typeof GetCascadePluginByIdRequestSchema; + output: typeof GetCascadePluginByIdResponseSchema; + }, + /** + * @generated from rpc exa.cascade_plugins_pb.CascadePluginsService.GetMcpClientInfos + */ + getMcpClientInfos: { + methodKind: "unary"; + input: typeof GetMcpClientInfosRequestSchema; + output: typeof GetMcpClientInfosResponseSchema; + }, + /** + * @generated from rpc exa.cascade_plugins_pb.CascadePluginsService.GetAllAcpRegistries + */ + getAllAcpRegistries: { + methodKind: "unary"; + input: typeof GetAllAcpRegistriesRequestSchema; + output: typeof GetAllAcpRegistriesResponseSchema; + }, +}> = /*@__PURE__*/ + serviceDesc(file_exa_cascade_plugins_pb_cascade_plugins, 0); + diff --git a/packages/catalog/src/discovery/devin-gen/exa/chat_pb/chat_pb.ts b/packages/catalog/src/discovery/devin-gen/exa/chat_pb/chat_pb.ts new file mode 100644 index 000000000..f6e703548 --- /dev/null +++ b/packages/catalog/src/discovery/devin-gen/exa/chat_pb/chat_pb.ts @@ -0,0 +1,2063 @@ +// @generated by protoc-gen-es v2.12.0 with parameter "target=ts" +// @generated from file exa/chat_pb/chat.proto (package exa.chat_pb, syntax proto3) +/* eslint-disable */ + +import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2"; +import { enumDesc, fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2"; +import { file_buf_validate_validate } from "../../buf/validate/validate_pb"; +import type { ChatMessageSource, ChatToolCall, ClassInfo, CodeContextItem, CodeContextType, ContextInclusionType, Document, ExperimentConfig, ExperimentKey, FunctionInfo, GitRepoInfo, ImageData, KnowledgeBaseItemWithMetadata, Language, Metadata, Model, PromptAnnotationRange, TextOrScopeItem } from "../codeium_common_pb/codeium_common_pb"; +import { file_exa_codeium_common_pb_codeium_common } from "../codeium_common_pb/codeium_common_pb"; +import type { DiffBlock } from "../diff_action_pb/diff_action_pb"; +import { file_exa_diff_action_pb_diff_action } from "../diff_action_pb/diff_action_pb"; +import type { Timestamp } from "@bufbuild/protobuf/wkt"; +import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt"; +import type { Message } from "@bufbuild/protobuf"; + +/** + * Describes the file exa/chat_pb/chat.proto. + */ +export const file_exa_chat_pb_chat: GenFile = /*@__PURE__*/ + fileDesc("ChZleGEvY2hhdF9wYi9jaGF0LnByb3RvEgtleGEuY2hhdF9wYiJtCg1Db2RlQmxvY2tJbmZvEhIKCnJhd19zb3VyY2UYASABKAkSEgoKc3RhcnRfbGluZRgCIAEoBRIRCglzdGFydF9jb2wYAyABKAUSEAoIZW5kX2xpbmUYBCABKAUSDwoHZW5kX2NvbBgFIAEoBSLSBQoLQ2hhdE1ldHJpY3MSIgoacmVzcG9uc2Vfc3RyZWFtX2xhdGVuY3lfbXMYASABKAQSIgoacmVmcmVzaF9jb250ZXh0X2xhdGVuY3lfbXMYAiABKAQSNAosc2hvdWxkX2dldF9sb2NhbF9jb250ZXh0X2Zvcl9jaGF0X2xhdGVuY3lfbXMYAyABKAQSKQohc2hvdWxkX2dldF9sb2NhbF9jb250ZXh0X2Zvcl9jaGF0GAQgASgIEigKIGNvbXB1dGVfY2hhbmdlX2V2ZW50c19sYXRlbmN5X21zGAUgASgEEikKIWNvbnRleHRfdG9fY2hhdF9wcm9tcHRfbGF0ZW5jeV9tcxgGIAEoBBIZChFudW1fcHJvbXB0X3Rva2VucxgHIAEoBRIgChhudW1fc3lzdGVtX3Byb21wdF90b2tlbnMYCCABKAUSGAoQbnVtX2lucHV0X3Rva2VucxgQIAEoBBIzCg9zdGFydF90aW1lc3RhbXAYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjEKDWVuZF90aW1lc3RhbXAYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiUKHWFjdGl2ZV9kb2N1bWVudF9hYnNvbHV0ZV9wYXRoGAsgASgJEk0KHWxhc3RfYWN0aXZlX2NvZGVfY29udGV4dF9pdGVtGAwgASgLMiYuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNvZGVDb250ZXh0SXRlbRIZChFudW1faW5kZXhlZF9maWxlcxgNIAEoBBImCh5udW1faW5kZXhlZF9jb2RlX2NvbnRleHRfaXRlbXMYDiABKAQSOgoQbW9kZWxfZGVwcmVjYXRlZBgPIAEoDjIcLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Nb2RlbEICGAESEQoJbW9kZWxfdWlkGBEgASgJIlQKDUludGVudEdlbmVyaWMSDAoEdGV4dBgBIAEoCRI1CgVpdGVtcxgCIAMoCzImLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5UZXh0T3JTY29wZUl0ZW0ivAEKFUludGVudEZ1bmN0aW9uRXhwbGFpbhI6Cg1mdW5jdGlvbl9pbmZvGAEgASgLMiMuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkZ1bmN0aW9uSW5mbxIxCghsYW5ndWFnZRgCIAEoDjIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5MYW5ndWFnZRInChtmaWxlX3BhdGhfbWlncmF0ZV9tZV90b191cmkYAyABKAlCAhgBEgsKA3VyaRgEIAEoCSLbAQoWSW50ZW50RnVuY3Rpb25SZWZhY3RvchI6Cg1mdW5jdGlvbl9pbmZvGAEgASgLMiMuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkZ1bmN0aW9uSW5mbxIxCghsYW5ndWFnZRgCIAEoDjIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5MYW5ndWFnZRInChtmaWxlX3BhdGhfbWlncmF0ZV9tZV90b191cmkYAyABKAlCAhgBEhwKFHJlZmFjdG9yX2Rlc2NyaXB0aW9uGAQgASgJEgsKA3VyaRgFIAEoCSLUAQoXSW50ZW50RnVuY3Rpb25Vbml0VGVzdHMSOgoNZnVuY3Rpb25faW5mbxgBIAEoCzIjLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5GdW5jdGlvbkluZm8SMQoIbGFuZ3VhZ2UYAiABKA4yHy5leGEuY29kZWl1bV9jb21tb25fcGIuTGFuZ3VhZ2USJwobZmlsZV9wYXRoX21pZ3JhdGVfbWVfdG9fdXJpGAMgASgJQgIYARILCgN1cmkYBSABKAkSFAoMaW5zdHJ1Y3Rpb25zGAQgASgJIr4BChdJbnRlbnRGdW5jdGlvbkRvY3N0cmluZxI6Cg1mdW5jdGlvbl9pbmZvGAEgASgLMiMuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkZ1bmN0aW9uSW5mbxIxCghsYW5ndWFnZRgCIAEoDjIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5MYW5ndWFnZRInChtmaWxlX3BhdGhfbWlncmF0ZV9tZV90b191cmkYAyABKAlCAhgBEgsKA3VyaRgEIAEoCSKzAQoSSW50ZW50Q2xhc3NFeHBsYWluEjQKCmNsYXNzX2luZm8YASABKAsyIC5leGEuY29kZWl1bV9jb21tb25fcGIuQ2xhc3NJbmZvEjEKCGxhbmd1YWdlGAIgASgOMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLkxhbmd1YWdlEicKG2ZpbGVfcGF0aF9taWdyYXRlX21lX3RvX3VyaRgDIAEoCUICGAESCwoDdXJpGAQgASgJIrYBChZJbnRlbnRDb2RlQmxvY2tFeHBsYWluEjMKD2NvZGVfYmxvY2tfaW5mbxgBIAEoCzIaLmV4YS5jaGF0X3BiLkNvZGVCbG9ja0luZm8SMQoIbGFuZ3VhZ2UYAiABKA4yHy5leGEuY29kZWl1bV9jb21tb25fcGIuTGFuZ3VhZ2USJwobZmlsZV9wYXRoX21pZ3JhdGVfbWVfdG9fdXJpGAMgASgJQgIYARILCgN1cmkYBCABKAki1QEKF0ludGVudENvZGVCbG9ja1JlZmFjdG9yEjMKD2NvZGVfYmxvY2tfaW5mbxgBIAEoCzIaLmV4YS5jaGF0X3BiLkNvZGVCbG9ja0luZm8SMQoIbGFuZ3VhZ2UYAiABKA4yHy5leGEuY29kZWl1bV9jb21tb25fcGIuTGFuZ3VhZ2USJwobZmlsZV9wYXRoX21pZ3JhdGVfbWVfdG9fdXJpGAMgASgJQgIYARILCgN1cmkYBSABKAkSHAoUcmVmYWN0b3JfZGVzY3JpcHRpb24YBCABKAkiiAIKFEludGVudFByb2JsZW1FeHBsYWluEhoKEmRpYWdub3N0aWNfbWVzc2FnZRgBIAEoCRI0ChBwcm9ibGVtYXRpY19jb2RlGAIgASgLMhouZXhhLmNoYXRfcGIuQ29kZUJsb2NrSW5mbxIgChhzdXJyb3VuZGluZ19jb2RlX3NuaXBwZXQYAyABKAkSMQoIbGFuZ3VhZ2UYBCABKA4yHy5leGEuY29kZWl1bV9jb21tb25fcGIuTGFuZ3VhZ2USJwobZmlsZV9wYXRoX21pZ3JhdGVfbWVfdG9fdXJpGAUgASgJQgIYARILCgN1cmkYByABKAkSEwoLbGluZV9udW1iZXIYBiABKAUipwEKEkludGVudEdlbmVyYXRlQ29kZRITCgtpbnN0cnVjdGlvbhgBIAEoCRIxCghsYW5ndWFnZRgCIAEoDjIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5MYW5ndWFnZRInChtmaWxlX3BhdGhfbWlncmF0ZV9tZV90b191cmkYAyABKAlCAhgBEgsKA3VyaRgFIAEoCRITCgtsaW5lX251bWJlchgEIAEoBSIdCgxJbnRlbnRTZWFyY2gSDQoFcXVlcnkYASABKAkiiAEKD0ludGVudEZhc3RBcHBseRIUCgxkaWZmX291dGxpbmUYASABKAkSMQoIbGFuZ3VhZ2UYAiABKA4yHy5leGEuY29kZWl1bV9jb21tb25fcGIuTGFuZ3VhZ2USLAoIb2xkX2NvZGUYAyABKAsyGi5leGEuY2hhdF9wYi5Db2RlQmxvY2tJbmZvIoYGChFDaGF0TWVzc2FnZUludGVudBItCgdnZW5lcmljGAEgASgLMhouZXhhLmNoYXRfcGIuSW50ZW50R2VuZXJpY0gAEj4KEGV4cGxhaW5fZnVuY3Rpb24YAiABKAsyIi5leGEuY2hhdF9wYi5JbnRlbnRGdW5jdGlvbkV4cGxhaW5IABJCChJmdW5jdGlvbl9kb2NzdHJpbmcYAyABKAsyJC5leGEuY2hhdF9wYi5JbnRlbnRGdW5jdGlvbkRvY3N0cmluZ0gAEkAKEWZ1bmN0aW9uX3JlZmFjdG9yGAQgASgLMiMuZXhhLmNoYXRfcGIuSW50ZW50RnVuY3Rpb25SZWZhY3RvckgAEkEKEmV4cGxhaW5fY29kZV9ibG9jaxgFIAEoCzIjLmV4YS5jaGF0X3BiLkludGVudENvZGVCbG9ja0V4cGxhaW5IABJDChNjb2RlX2Jsb2NrX3JlZmFjdG9yGAYgASgLMiQuZXhhLmNoYXRfcGIuSW50ZW50Q29kZUJsb2NrUmVmYWN0b3JIABJDChNmdW5jdGlvbl91bml0X3Rlc3RzGAcgASgLMiQuZXhhLmNoYXRfcGIuSW50ZW50RnVuY3Rpb25Vbml0VGVzdHNIABI8Cg9wcm9ibGVtX2V4cGxhaW4YCCABKAsyIS5leGEuY2hhdF9wYi5JbnRlbnRQcm9ibGVtRXhwbGFpbkgAEjgKDWdlbmVyYXRlX2NvZGUYCSABKAsyHy5leGEuY2hhdF9wYi5JbnRlbnRHZW5lcmF0ZUNvZGVIABI4Cg1leHBsYWluX2NsYXNzGAogASgLMh8uZXhhLmNoYXRfcGIuSW50ZW50Q2xhc3NFeHBsYWluSAASKwoGc2VhcmNoGAsgASgLMhkuZXhhLmNoYXRfcGIuSW50ZW50U2VhcmNoSAASMgoKZmFzdF9hcHBseRgNIAEoCzIcLmV4YS5jaGF0X3BiLkludGVudEZhc3RBcHBseUgAEhIKCm51bV90b2tlbnMYDCABKA1CCAoGaW50ZW50IhkKF0NoYXRNZXNzYWdlQWN0aW9uU2VhcmNoItIBChVDaGF0TWVzc2FnZUFjdGlvbkVkaXQSJwobZmlsZV9wYXRoX21pZ3JhdGVfbWVfdG9fdXJpGAEgASgJQgIYARILCgN1cmkYBiABKAkSKwoEZGlmZhgCIAEoCzIdLmV4YS5kaWZmX2FjdGlvbl9wYi5EaWZmQmxvY2sSMQoIbGFuZ3VhZ2UYAyABKA4yHy5leGEuY29kZWl1bV9jb21tb25fcGIuTGFuZ3VhZ2USEAoIdGV4dF9wcmUYBCABKAkSEQoJdGV4dF9wb3N0GAUgASgJIj4KGENoYXRNZXNzYWdlQWN0aW9uR2VuZXJpYxIMCgR0ZXh0GAEgASgJEhQKDGRpc3BsYXlfdGV4dBgCIAEoCSJnCiFDaGF0TWVzc2FnZVN0YXR1c0NvbnRleHRSZWxldmFuY3kSEgoKaXNfbG9hZGluZxgBIAEoCBITCgtpc19yZWxldmFudBgCIAEoCBIZChFxdWVyeV9zdWdnZXN0aW9ucxgDIAMoCSJqChFDaGF0TWVzc2FnZVN0YXR1cxJLChFjb250ZXh0X3JlbGV2YW5jeRgBIAEoCzIuLmV4YS5jaGF0X3BiLkNoYXRNZXNzYWdlU3RhdHVzQ29udGV4dFJlbGV2YW5jeUgAQggKBnN0YXR1cyIgChBDaGF0TWVzc2FnZUVycm9yEgwKBHRleHQYASABKAki0gMKEUNoYXRNZXNzYWdlQWN0aW9uEjgKB2dlbmVyaWMYASABKAsyJS5leGEuY2hhdF9wYi5DaGF0TWVzc2FnZUFjdGlvbkdlbmVyaWNIABIyCgRlZGl0GAMgASgLMiIuZXhhLmNoYXRfcGIuQ2hhdE1lc3NhZ2VBY3Rpb25FZGl0SAASNgoGc2VhcmNoGAUgASgLMiQuZXhhLmNoYXRfcGIuQ2hhdE1lc3NhZ2VBY3Rpb25TZWFyY2hIABISCgpudW1fdG9rZW5zGAIgASgNEj0KDWNvbnRleHRfaXRlbXMYBCADKAsyJi5leGEuY29kZWl1bV9jb21tb25fcGIuQ29kZUNvbnRleHRJdGVtEjIKDWxhdGVzdF9pbnRlbnQYBiABKA4yGy5leGEuY2hhdF9wYi5DaGF0SW50ZW50VHlwZRIyChBnZW5lcmF0aW9uX3N0YXRzGAcgASgLMhguZXhhLmNoYXRfcGIuQ2hhdE1ldHJpY3MSUgoUa25vd2xlZGdlX2Jhc2VfaXRlbXMYCCADKAsyNC5leGEuY29kZWl1bV9jb21tb25fcGIuS25vd2xlZGdlQmFzZUl0ZW1XaXRoTWV0YWRhdGFCCAoGYWN0aW9uIs4DCgtDaGF0TWVzc2FnZRISCgptZXNzYWdlX2lkGAEgASgJEjgKBnNvdXJjZRgCIAEoDjIoLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5DaGF0TWVzc2FnZVNvdXJjZRItCgl0aW1lc3RhbXAYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhcKD2NvbnZlcnNhdGlvbl9pZBgEIAEoCRIwCgZpbnRlbnQYBSABKAsyHi5leGEuY2hhdF9wYi5DaGF0TWVzc2FnZUludGVudEgAEjAKBmFjdGlvbhgGIAEoCzIeLmV4YS5jaGF0X3BiLkNoYXRNZXNzYWdlQWN0aW9uSAASLgoFZXJyb3IYByABKAsyHS5leGEuY2hhdF9wYi5DaGF0TWVzc2FnZUVycm9ySAASMAoGc3RhdHVzGAggASgLMh4uZXhhLmNoYXRfcGIuQ2hhdE1lc3NhZ2VTdGF0dXNIABITCgtpbl9wcm9ncmVzcxgJIAEoCBIzCgdyZXF1ZXN0GAogASgLMiIuZXhhLmNoYXRfcGIuR2V0Q2hhdE1lc3NhZ2VSZXF1ZXN0Eg4KBnJlZGFjdBgLIAEoCEIJCgdjb250ZW50IjoKDENvbnZlcnNhdGlvbhIqCghtZXNzYWdlcxgBIAMoCzIYLmV4YS5jaGF0X3BiLkNoYXRNZXNzYWdlItsBCg5SYXdDaGF0TWVzc2FnZRISCgptZXNzYWdlX2lkGAEgASgJEjgKBnNvdXJjZRgCIAEoDjIoLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5DaGF0TWVzc2FnZVNvdXJjZRItCgl0aW1lc3RhbXAYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhcKD2NvbnZlcnNhdGlvbl9pZBgEIAEoCRIMCgR0ZXh0GAUgASgJEhMKC2luX3Byb2dyZXNzGAYgASgIEhAKCGlzX2Vycm9yGAcgASgIImUKE0RlZXBXaWtpU3ltYm9sUmFuZ2USEgoKc3RhcnRfbGluZRgBIAEoAxIUCgxzdGFydF9jb2x1bW4YAiABKAMSEAoIZW5kX2xpbmUYAyABKAMSEgoKZW5kX2NvbHVtbhgEIAEoAyK9AgoVRGVlcFdpa2lTeW1ib2xDb250ZXh0EhMKC3N5bWJvbF9uYW1lGAEgASgJEhIKCnN5bWJvbF91cmkYAiABKAkSNgoMc3ltYm9sX3JhbmdlGAMgASgLMiAuZXhhLmNoYXRfcGIuRGVlcFdpa2lTeW1ib2xSYW5nZRI0CgtzeW1ib2xfdHlwZRgEIAEoDjIfLmV4YS5jaGF0X3BiLkRlZXBXaWtpU3ltYm9sVHlwZRIUCgxmaWxlX2NvbnRleHQYBSABKAkSFQoNdXNhZ2VfY29udGV4dBgGIAEoCRIVCg10cmFjZV9jb250ZXh0GAcgASgJEhoKEnF1aWNrX2dyZXBfY29udGV4dBgIIAEoCRItCgl0aW1lc3RhbXAYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIvABChREZWVwV2lraUhvdmVyQ29udGV4dBITCgtzeW1ib2xfbmFtZRgBIAEoCRISCgpzeW1ib2xfdXJpGAIgASgJEjYKDHN5bWJvbF9yYW5nZRgDIAEoCzIgLmV4YS5jaGF0X3BiLkRlZXBXaWtpU3ltYm9sUmFuZ2USNAoLc3ltYm9sX3R5cGUYBCABKA4yHy5leGEuY2hhdF9wYi5EZWVwV2lraVN5bWJvbFR5cGUSEgoKaG92ZXJfdGV4dBgFIAEoCRItCgl0aW1lc3RhbXAYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIjUKDVBhcmFtZXRlckluZm8SDQoFbGFiZWwYASABKAkSFQoNZG9jdW1lbnRhdGlvbhgCIAEoCSKOAQoQRnVuY3Rpb25DYWxsSW5mbxIXCg9zaWduYXR1cmVfbGFiZWwYASABKAkSGAoQYWN0aXZlX3BhcmFtZXRlchgCIAEoBRIXCg9wYXJhbWV0ZXJfY291bnQYAyABKAUSLgoKcGFyYW1ldGVycxgEIAMoCzIaLmV4YS5jaGF0X3BiLlBhcmFtZXRlckluZm8ikAEKD0RlZXBXaWtpQ29udGV4dBJCChdlbmNsb3NpbmdfaG92ZXJfY29udGV4dBgBIAEoCzIhLmV4YS5jaGF0X3BiLkRlZXBXaWtpSG92ZXJDb250ZXh0EjkKEmZ1bmN0aW9uX2NhbGxfaW5mbxgCIAEoCzIdLmV4YS5jaGF0X3BiLkZ1bmN0aW9uQ2FsbEluZm8igQIKEkdldERlZXBXaWtpUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRI2CgxyZXF1ZXN0X3R5cGUYAiABKA4yIC5leGEuY2hhdF9wYi5EZWVwV2lraVJlcXVlc3RUeXBlEhMKC3N5bWJvbF9uYW1lGAMgASgJEhIKCnN5bWJvbF91cmkYBCABKAkSDwoHY29udGV4dBgFIAEoCRI0CgtzeW1ib2xfdHlwZRgGIAEoDjIfLmV4YS5jaGF0X3BiLkRlZXBXaWtpU3ltYm9sVHlwZRIQCghsYW5ndWFnZRgHIAEoCSKNBQoRQ2hhdE1lc3NhZ2VQcm9tcHQSEgoKbWVzc2FnZV9pZBgBIAEoCRI4CgZzb3VyY2UYAiABKA4yKC5leGEuY29kZWl1bV9jb21tb25fcGIuQ2hhdE1lc3NhZ2VTb3VyY2USDgoGcHJvbXB0GAMgASgJEhIKCm51bV90b2tlbnMYBCABKA0SHwoXc2FmZV9mb3JfY29kZV90ZWxlbWV0cnkYBSABKAgSNwoKdG9vbF9jYWxscxgGIAMoCzIjLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5DaGF0VG9vbENhbGwSFAoMdG9vbF9jYWxsX2lkGAcgASgJEj0KFHByb21wdF9jYWNoZV9vcHRpb25zGAggASgLMh8uZXhhLmNoYXRfcGIuUHJvbXB0Q2FjaGVPcHRpb25zEhwKFHRvb2xfcmVzdWx0X2lzX2Vycm9yGAkgASgIEjAKBmltYWdlcxgKIAMoCzIgLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5JbWFnZURhdGESEAoIdGhpbmtpbmcYCyABKAkSEQoJc2lnbmF0dXJlGAwgASgJEhkKEXRoaW5raW5nX3JlZGFjdGVkGA0gASgIEk4KGHByb21wdF9hbm5vdGF0aW9uX3JhbmdlcxgOIAMoCzIsLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Qcm9tcHRBbm5vdGF0aW9uUmFuZ2USEQoJb3V0cHV0X2lkGA8gASgJEhcKC3RoaW5raW5nX2lkGBAgASgJQgIYARIkChhnZW1pbmlfdGhvdWdodF9zaWduYXR1cmUYESABKAxCAhgBEhYKDnNpZ25hdHVyZV90eXBlGBIgASgJEg0KBXBoYXNlGBMgASgJIkEKElByb21wdENhY2hlT3B0aW9ucxIrCgR0eXBlGAEgASgOMh0uZXhhLmNoYXRfcGIuQ2FjaGVDb250cm9sVHlwZSLfAwoSQ2hhdFRvb2xEZWZpbml0aW9uEgwKBG5hbWUYASABKAkSEwoLZGVzY3JpcHRpb24YAiABKAkSGgoSanNvbl9zY2hlbWFfc3RyaW5nGAMgASgJEh8KF2F0dHJpYnV0aW9uX2ZpZWxkX25hbWVzGAUgAygJEhMKC3NlcnZlcl9uYW1lGAYgASgJEhsKDnJlYWRfb25seV9oaW50GAcgASgISACIAQESRAoTY29tcHV0ZXJfdXNlX2NvbmZpZxgIIAEoCzIiLmV4YS5jaGF0X3BiLkNvbXB1dGVyVXNlVG9vbENvbmZpZ0gBiAEBEhsKDmlzX2N1c3RvbV90b29sGAkgASgISAKIAQESIAoTY3VzdG9tX3Rvb2xfZ3JhbW1hchgKIAEoCUgDiAEBEicKGmN1c3RvbV90b29sX2dyYW1tYXJfc3ludGF4GAsgASgJSASIAQESDgoGc3RyaWN0GAwgASgIQhEKD19yZWFkX29ubHlfaGludEIWChRfY29tcHV0ZXJfdXNlX2NvbmZpZ0IRCg9faXNfY3VzdG9tX3Rvb2xCFgoUX2N1c3RvbV90b29sX2dyYW1tYXJCHQobX2N1c3RvbV90b29sX2dyYW1tYXJfc3ludGF4SgQIBBAFImQKFUNvbXB1dGVyVXNlVG9vbENvbmZpZxIYChBkaXNwbGF5X3dpZHRoX3B4GAEgASgFEhkKEWRpc3BsYXlfaGVpZ2h0X3B4GAIgASgFEhYKDmRpc3BsYXlfbnVtYmVyGAMgASgFIkYKDkNoYXRUb29sQ2hvaWNlEhUKC29wdGlvbl9uYW1lGAEgASgJSAASEwoJdG9vbF9uYW1lGAIgASgJSABCCAoGY2hvaWNlIoQBChlDaGF0TWVudGlvbnNTZWFyY2hSZXF1ZXN0Eg0KBXF1ZXJ5GAEgASgJEj0KDWFsbG93ZWRfdHlwZXMYAiADKA4yJi5leGEuY29kZWl1bV9jb21tb25fcGIuQ29kZUNvbnRleHRUeXBlEhkKEWluY2x1ZGVfcmVwb19pbmZvGAMgASgIIo8BChpDaGF0TWVudGlvbnNTZWFyY2hSZXNwb25zZRI5CgljY2lfaXRlbXMYASADKAsyJi5leGEuY29kZWl1bV9jb21tb25fcGIuQ29kZUNvbnRleHRJdGVtEjYKCnJlcG9faW5mb3MYAiADKAsyIi5leGEuY29kZWl1bV9jb21tb25fcGIuR2l0UmVwb0luZm8iswYKFUdldENoYXRNZXNzYWdlUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRIvCg1jaGF0X21lc3NhZ2VzGAMgAygLMhguZXhhLmNoYXRfcGIuQ2hhdE1lc3NhZ2USOAoPYWN0aXZlX2RvY3VtZW50GAUgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLkRvY3VtZW50EhoKEm9wZW5fZG9jdW1lbnRfdXJpcxgMIAMoCRIWCg53b3Jrc3BhY2VfdXJpcxgNIAMoCRIYChBhY3RpdmVfc2VsZWN0aW9uGAsgASgJEksKFmNvbnRleHRfaW5jbHVzaW9uX3R5cGUYCCABKA4yKy5leGEuY29kZWl1bV9jb21tb25fcGIuQ29udGV4dEluY2x1c2lvblR5cGUSMAoKY2hhdF9tb2RlbBgJIAEoDjIcLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Nb2RlbBIeChZzeXN0ZW1fcHJvbXB0X292ZXJyaWRlGAogASgJEhcKD2NoYXRfbW9kZWxfbmFtZRgOIAEoCRJmChxlbnRlcnByaXNlX2NoYXRfbW9kZWxfY29uZmlnGA8gASgLMkAuZXhhLmNoYXRfcGIuR2V0Q2hhdE1lc3NhZ2VSZXF1ZXN0LkVudGVycHJpc2VFeHRlcm5hbE1vZGVsQ29uZmlnEkYKEWV4cGVyaW1lbnRfY29uZmlnGAQgASgLMicuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkV4cGVyaW1lbnRDb25maWdCAhgBEjIKJm9wZW5fZG9jdW1lbnRfcGF0aHNfbWlncmF0ZV9tZV90b191cmlzGAYgAygJQgIYARIuCiJ3b3Jrc3BhY2VfcGF0aHNfbWlncmF0ZV9tZV90b191cmlzGAcgAygJQgIYARpUCh1FbnRlcnByaXNlRXh0ZXJuYWxNb2RlbENvbmZpZxIZChFtYXhfb3V0cHV0X3Rva2VucxgCIAEoBRIYChBtYXhfaW5wdXRfdG9rZW5zGAMgASgFSgQIAhADUgZwcm9tcHQi6QEKGFJhd0dldENoYXRNZXNzYWdlUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRIvCg1jaGF0X21lc3NhZ2VzGAIgAygLMhguZXhhLmNoYXRfcGIuQ2hhdE1lc3NhZ2USHgoWc3lzdGVtX3Byb21wdF9vdmVycmlkZRgDIAEoCRIwCgpjaGF0X21vZGVsGAQgASgOMhwuZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1vZGVsEhcKD2NoYXRfbW9kZWxfbmFtZRgFIAEoCSJlChRDaGF0RXhwZXJpbWVudFN0YXR1cxI8Cg5leHBlcmltZW50X2tleRgBIAEoDjIkLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5FeHBlcmltZW50S2V5Eg8KB2VuYWJsZWQYAiABKAgifwoURm9ybWF0dGVkQ2hhdE1lc3NhZ2USNgoEcm9sZRgBIAEoDjIoLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5DaGF0TWVzc2FnZVNvdXJjZRIOCgZoZWFkZXIYAiABKAkSDwoHY29udGVudBgDIAEoCRIOCgZmb290ZXIYBCABKAkq/wEKEENoYXRGZWVkYmFja1R5cGUSHQoZRkVFREJBQ0tfVFlQRV9VTlNQRUNJRklFRBAAEhgKFEZFRURCQUNLX1RZUEVfQUNDRVBUEAESGAoURkVFREJBQ0tfVFlQRV9SRUpFQ1QQAhIYChRGRUVEQkFDS19UWVBFX0NPUElFRBADEh0KGUZFRURCQUNLX1RZUEVfQUNDRVBUX0RJRkYQBBIdChlGRUVEQkFDS19UWVBFX1JFSkVDVF9ESUZGEAUSHAoYRkVFREJBQ0tfVFlQRV9BUFBMWV9ESUZGEAYSIgoeRkVFREJBQ0tfVFlQRV9JTlNFUlRfQVRfQ1VSU09SEAcqsAMKDkNoYXRJbnRlbnRUeXBlEhsKF0NIQVRfSU5URU5UX1VOU1BFQ0lGSUVEEAASFwoTQ0hBVF9JTlRFTlRfR0VORVJJQxABEiAKHENIQVRfSU5URU5UX0ZVTkNUSU9OX0VYUExBSU4QAhIiCh5DSEFUX0lOVEVOVF9GVU5DVElPTl9ET0NTVFJJTkcQAxIhCh1DSEFUX0lOVEVOVF9GVU5DVElPTl9SRUZBQ1RPUhAEEiIKHkNIQVRfSU5URU5UX0NPREVfQkxPQ0tfRVhQTEFJThAFEiMKH0NIQVRfSU5URU5UX0NPREVfQkxPQ0tfUkVGQUNUT1IQBhIjCh9DSEFUX0lOVEVOVF9GVU5DVElPTl9VTklUX1RFU1RTEAcSHwobQ0hBVF9JTlRFTlRfUFJPQkxFTV9FWFBMQUlOEAgSHQoZQ0hBVF9JTlRFTlRfR0VORVJBVEVfQ09ERRAJEh0KGUNIQVRfSU5URU5UX0NMQVNTX0VYUExBSU4QChIWChJDSEFUX0lOVEVOVF9TRUFSQ0gQCxIaChZDSEFUX0lOVEVOVF9GQVNUX0FQUExZEAwqhQEKE0RlZXBXaWtpUmVxdWVzdFR5cGUSJgoiREVFUF9XSUtJX1JFUVVFU1RfVFlQRV9VTlNQRUNJRklFRBAAEiIKHkRFRVBfV0lLSV9SRVFVRVNUX1RZUEVfU1VNTUFSWRABEiIKHkRFRVBfV0lLSV9SRVFVRVNUX1RZUEVfQVJUSUNMRRACKsYHChJEZWVwV2lraVN5bWJvbFR5cGUSJQohREVFUF9XSUtJX1NZTUJPTF9UWVBFX1VOU1BFQ0lGSUVEEAASHgoaREVFUF9XSUtJX1NZTUJPTF9UWVBFX0ZJTEUQARIgChxERUVQX1dJS0lfU1lNQk9MX1RZUEVfTU9EVUxFEAISIwofREVFUF9XSUtJX1NZTUJPTF9UWVBFX05BTUVTUEFDRRADEiEKHURFRVBfV0lLSV9TWU1CT0xfVFlQRV9QQUNLQUdFEAQSHwobREVFUF9XSUtJX1NZTUJPTF9UWVBFX0NMQVNTEAUSIAocREVFUF9XSUtJX1NZTUJPTF9UWVBFX01FVEhPRBAGEiIKHkRFRVBfV0lLSV9TWU1CT0xfVFlQRV9QUk9QRVJUWRAHEh8KG0RFRVBfV0lLSV9TWU1CT0xfVFlQRV9GSUVMRBAIEiUKIURFRVBfV0lLSV9TWU1CT0xfVFlQRV9DT05TVFJVQ1RPUhAJEh4KGkRFRVBfV0lLSV9TWU1CT0xfVFlQRV9FTlVNEAoSIwofREVFUF9XSUtJX1NZTUJPTF9UWVBFX0lOVEVSRkFDRRALEiIKHkRFRVBfV0lLSV9TWU1CT0xfVFlQRV9GVU5DVElPThAMEiIKHkRFRVBfV0lLSV9TWU1CT0xfVFlQRV9WQVJJQUJMRRANEiIKHkRFRVBfV0lLSV9TWU1CT0xfVFlQRV9DT05TVEFOVBAOEiAKHERFRVBfV0lLSV9TWU1CT0xfVFlQRV9TVFJJTkcQDxIgChxERUVQX1dJS0lfU1lNQk9MX1RZUEVfTlVNQkVSEBASIQodREVFUF9XSUtJX1NZTUJPTF9UWVBFX0JPT0xFQU4QERIfChtERUVQX1dJS0lfU1lNQk9MX1RZUEVfQVJSQVkQEhIgChxERUVQX1dJS0lfU1lNQk9MX1RZUEVfT0JKRUNUEBMSHQoZREVFUF9XSUtJX1NZTUJPTF9UWVBFX0tFWRAUEh4KGkRFRVBfV0lLSV9TWU1CT0xfVFlQRV9OVUxMEBUSJQohREVFUF9XSUtJX1NZTUJPTF9UWVBFX0VOVU1fTUVNQkVSEBYSIAocREVFUF9XSUtJX1NZTUJPTF9UWVBFX1NUUlVDVBAXEh8KG0RFRVBfV0lLSV9TWU1CT0xfVFlQRV9FVkVOVBAYEiIKHkRFRVBfV0lLSV9TWU1CT0xfVFlQRV9PUEVSQVRPUhAZEigKJERFRVBfV0lLSV9TWU1CT0xfVFlQRV9UWVBFX1BBUkFNRVRFUhAaKlgKEENhY2hlQ29udHJvbFR5cGUSIgoeQ0FDSEVfQ09OVFJPTF9UWVBFX1VOU1BFQ0lGSUVEEAASIAocQ0FDSEVfQ09OVFJPTF9UWVBFX0VQSEVNRVJBTBABYgZwcm90bzM", [file_buf_validate_validate, file_exa_codeium_common_pb_codeium_common, file_exa_diff_action_pb_diff_action, file_google_protobuf_timestamp]); + +/** + * @generated from message exa.chat_pb.CodeBlockInfo + */ +export type CodeBlockInfo = Message<"exa.chat_pb.CodeBlockInfo"> & { + /** + * @generated from field: string raw_source = 1; + */ + rawSource: string; + + /** + * @generated from field: int32 start_line = 2; + */ + startLine: number; + + /** + * @generated from field: int32 start_col = 3; + */ + startCol: number; + + /** + * @generated from field: int32 end_line = 4; + */ + endLine: number; + + /** + * @generated from field: int32 end_col = 5; + */ + endCol: number; +}; + +/** + * Describes the message exa.chat_pb.CodeBlockInfo. + * Use `create(CodeBlockInfoSchema)` to create a new message. + */ +export const CodeBlockInfoSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_chat_pb_chat, 0); + +/** + * @generated from message exa.chat_pb.ChatMetrics + */ +export type ChatMetrics = Message<"exa.chat_pb.ChatMetrics"> & { + /** + * @generated from field: uint64 response_stream_latency_ms = 1; + */ + responseStreamLatencyMs: bigint; + + /** + * @generated from field: uint64 refresh_context_latency_ms = 2; + */ + refreshContextLatencyMs: bigint; + + /** + * @generated from field: uint64 should_get_local_context_for_chat_latency_ms = 3; + */ + shouldGetLocalContextForChatLatencyMs: bigint; + + /** + * @generated from field: bool should_get_local_context_for_chat = 4; + */ + shouldGetLocalContextForChat: boolean; + + /** + * @generated from field: uint64 compute_change_events_latency_ms = 5; + */ + computeChangeEventsLatencyMs: bigint; + + /** + * @generated from field: uint64 context_to_chat_prompt_latency_ms = 6; + */ + contextToChatPromptLatencyMs: bigint; + + /** + * @generated from field: int32 num_prompt_tokens = 7; + */ + numPromptTokens: number; + + /** + * @generated from field: int32 num_system_prompt_tokens = 8; + */ + numSystemPromptTokens: number; + + /** + * @generated from field: uint64 num_input_tokens = 16; + */ + numInputTokens: bigint; + + /** + * @generated from field: google.protobuf.Timestamp start_timestamp = 9; + */ + startTimestamp?: Timestamp | undefined; + + /** + * @generated from field: google.protobuf.Timestamp end_timestamp = 10; + */ + endTimestamp?: Timestamp | undefined; + + /** + * @generated from field: string active_document_absolute_path = 11; + */ + activeDocumentAbsolutePath: string; + + /** + * @generated from field: exa.codeium_common_pb.CodeContextItem last_active_code_context_item = 12; + */ + lastActiveCodeContextItem?: CodeContextItem | undefined; + + /** + * @generated from field: uint64 num_indexed_files = 13; + */ + numIndexedFiles: bigint; + + /** + * @generated from field: uint64 num_indexed_code_context_items = 14; + */ + numIndexedCodeContextItems: bigint; + + /** + * @generated from field: exa.codeium_common_pb.Model model_deprecated = 15 [deprecated = true]; + * @deprecated + */ + modelDeprecated: Model; + + /** + * @generated from field: string model_uid = 17; + */ + modelUid: string; +}; + +/** + * Describes the message exa.chat_pb.ChatMetrics. + * Use `create(ChatMetricsSchema)` to create a new message. + */ +export const ChatMetricsSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_chat_pb_chat, 1); + +/** + * @generated from message exa.chat_pb.IntentGeneric + */ +export type IntentGeneric = Message<"exa.chat_pb.IntentGeneric"> & { + /** + * @generated from field: string text = 1; + */ + text: string; + + /** + * @generated from field: repeated exa.codeium_common_pb.TextOrScopeItem items = 2; + */ + items: TextOrScopeItem[]; +}; + +/** + * Describes the message exa.chat_pb.IntentGeneric. + * Use `create(IntentGenericSchema)` to create a new message. + */ +export const IntentGenericSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_chat_pb_chat, 2); + +/** + * @generated from message exa.chat_pb.IntentFunctionExplain + */ +export type IntentFunctionExplain = Message<"exa.chat_pb.IntentFunctionExplain"> & { + /** + * @generated from field: exa.codeium_common_pb.FunctionInfo function_info = 1; + */ + functionInfo?: FunctionInfo | undefined; + + /** + * @generated from field: exa.codeium_common_pb.Language language = 2; + */ + language: Language; + + /** + * @generated from field: string file_path_migrate_me_to_uri = 3 [deprecated = true]; + * @deprecated + */ + filePathMigrateMeToUri: string; + + /** + * @generated from field: string uri = 4; + */ + uri: string; +}; + +/** + * Describes the message exa.chat_pb.IntentFunctionExplain. + * Use `create(IntentFunctionExplainSchema)` to create a new message. + */ +export const IntentFunctionExplainSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_chat_pb_chat, 3); + +/** + * @generated from message exa.chat_pb.IntentFunctionRefactor + */ +export type IntentFunctionRefactor = Message<"exa.chat_pb.IntentFunctionRefactor"> & { + /** + * @generated from field: exa.codeium_common_pb.FunctionInfo function_info = 1; + */ + functionInfo?: FunctionInfo | undefined; + + /** + * @generated from field: exa.codeium_common_pb.Language language = 2; + */ + language: Language; + + /** + * @generated from field: string file_path_migrate_me_to_uri = 3 [deprecated = true]; + * @deprecated + */ + filePathMigrateMeToUri: string; + + /** + * @generated from field: string refactor_description = 4; + */ + refactorDescription: string; + + /** + * @generated from field: string uri = 5; + */ + uri: string; +}; + +/** + * Describes the message exa.chat_pb.IntentFunctionRefactor. + * Use `create(IntentFunctionRefactorSchema)` to create a new message. + */ +export const IntentFunctionRefactorSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_chat_pb_chat, 4); + +/** + * @generated from message exa.chat_pb.IntentFunctionUnitTests + */ +export type IntentFunctionUnitTests = Message<"exa.chat_pb.IntentFunctionUnitTests"> & { + /** + * @generated from field: exa.codeium_common_pb.FunctionInfo function_info = 1; + */ + functionInfo?: FunctionInfo | undefined; + + /** + * @generated from field: exa.codeium_common_pb.Language language = 2; + */ + language: Language; + + /** + * @generated from field: string file_path_migrate_me_to_uri = 3 [deprecated = true]; + * @deprecated + */ + filePathMigrateMeToUri: string; + + /** + * @generated from field: string uri = 5; + */ + uri: string; + + /** + * @generated from field: string instructions = 4; + */ + instructions: string; +}; + +/** + * Describes the message exa.chat_pb.IntentFunctionUnitTests. + * Use `create(IntentFunctionUnitTestsSchema)` to create a new message. + */ +export const IntentFunctionUnitTestsSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_chat_pb_chat, 5); + +/** + * @generated from message exa.chat_pb.IntentFunctionDocstring + */ +export type IntentFunctionDocstring = Message<"exa.chat_pb.IntentFunctionDocstring"> & { + /** + * @generated from field: exa.codeium_common_pb.FunctionInfo function_info = 1; + */ + functionInfo?: FunctionInfo | undefined; + + /** + * @generated from field: exa.codeium_common_pb.Language language = 2; + */ + language: Language; + + /** + * @generated from field: string file_path_migrate_me_to_uri = 3 [deprecated = true]; + * @deprecated + */ + filePathMigrateMeToUri: string; + + /** + * @generated from field: string uri = 4; + */ + uri: string; +}; + +/** + * Describes the message exa.chat_pb.IntentFunctionDocstring. + * Use `create(IntentFunctionDocstringSchema)` to create a new message. + */ +export const IntentFunctionDocstringSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_chat_pb_chat, 6); + +/** + * @generated from message exa.chat_pb.IntentClassExplain + */ +export type IntentClassExplain = Message<"exa.chat_pb.IntentClassExplain"> & { + /** + * @generated from field: exa.codeium_common_pb.ClassInfo class_info = 1; + */ + classInfo?: ClassInfo | undefined; + + /** + * @generated from field: exa.codeium_common_pb.Language language = 2; + */ + language: Language; + + /** + * @generated from field: string file_path_migrate_me_to_uri = 3 [deprecated = true]; + * @deprecated + */ + filePathMigrateMeToUri: string; + + /** + * @generated from field: string uri = 4; + */ + uri: string; +}; + +/** + * Describes the message exa.chat_pb.IntentClassExplain. + * Use `create(IntentClassExplainSchema)` to create a new message. + */ +export const IntentClassExplainSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_chat_pb_chat, 7); + +/** + * @generated from message exa.chat_pb.IntentCodeBlockExplain + */ +export type IntentCodeBlockExplain = Message<"exa.chat_pb.IntentCodeBlockExplain"> & { + /** + * @generated from field: exa.chat_pb.CodeBlockInfo code_block_info = 1; + */ + codeBlockInfo?: CodeBlockInfo | undefined; + + /** + * @generated from field: exa.codeium_common_pb.Language language = 2; + */ + language: Language; + + /** + * @generated from field: string file_path_migrate_me_to_uri = 3 [deprecated = true]; + * @deprecated + */ + filePathMigrateMeToUri: string; + + /** + * @generated from field: string uri = 4; + */ + uri: string; +}; + +/** + * Describes the message exa.chat_pb.IntentCodeBlockExplain. + * Use `create(IntentCodeBlockExplainSchema)` to create a new message. + */ +export const IntentCodeBlockExplainSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_chat_pb_chat, 8); + +/** + * @generated from message exa.chat_pb.IntentCodeBlockRefactor + */ +export type IntentCodeBlockRefactor = Message<"exa.chat_pb.IntentCodeBlockRefactor"> & { + /** + * @generated from field: exa.chat_pb.CodeBlockInfo code_block_info = 1; + */ + codeBlockInfo?: CodeBlockInfo | undefined; + + /** + * @generated from field: exa.codeium_common_pb.Language language = 2; + */ + language: Language; + + /** + * @generated from field: string file_path_migrate_me_to_uri = 3 [deprecated = true]; + * @deprecated + */ + filePathMigrateMeToUri: string; + + /** + * @generated from field: string uri = 5; + */ + uri: string; + + /** + * @generated from field: string refactor_description = 4; + */ + refactorDescription: string; +}; + +/** + * Describes the message exa.chat_pb.IntentCodeBlockRefactor. + * Use `create(IntentCodeBlockRefactorSchema)` to create a new message. + */ +export const IntentCodeBlockRefactorSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_chat_pb_chat, 9); + +/** + * @generated from message exa.chat_pb.IntentProblemExplain + */ +export type IntentProblemExplain = Message<"exa.chat_pb.IntentProblemExplain"> & { + /** + * @generated from field: string diagnostic_message = 1; + */ + diagnosticMessage: string; + + /** + * @generated from field: exa.chat_pb.CodeBlockInfo problematic_code = 2; + */ + problematicCode?: CodeBlockInfo | undefined; + + /** + * @generated from field: string surrounding_code_snippet = 3; + */ + surroundingCodeSnippet: string; + + /** + * @generated from field: exa.codeium_common_pb.Language language = 4; + */ + language: Language; + + /** + * @generated from field: string file_path_migrate_me_to_uri = 5 [deprecated = true]; + * @deprecated + */ + filePathMigrateMeToUri: string; + + /** + * @generated from field: string uri = 7; + */ + uri: string; + + /** + * @generated from field: int32 line_number = 6; + */ + lineNumber: number; +}; + +/** + * Describes the message exa.chat_pb.IntentProblemExplain. + * Use `create(IntentProblemExplainSchema)` to create a new message. + */ +export const IntentProblemExplainSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_chat_pb_chat, 10); + +/** + * @generated from message exa.chat_pb.IntentGenerateCode + */ +export type IntentGenerateCode = Message<"exa.chat_pb.IntentGenerateCode"> & { + /** + * @generated from field: string instruction = 1; + */ + instruction: string; + + /** + * @generated from field: exa.codeium_common_pb.Language language = 2; + */ + language: Language; + + /** + * @generated from field: string file_path_migrate_me_to_uri = 3 [deprecated = true]; + * @deprecated + */ + filePathMigrateMeToUri: string; + + /** + * @generated from field: string uri = 5; + */ + uri: string; + + /** + * @generated from field: int32 line_number = 4; + */ + lineNumber: number; +}; + +/** + * Describes the message exa.chat_pb.IntentGenerateCode. + * Use `create(IntentGenerateCodeSchema)` to create a new message. + */ +export const IntentGenerateCodeSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_chat_pb_chat, 11); + +/** + * @generated from message exa.chat_pb.IntentSearch + */ +export type IntentSearch = Message<"exa.chat_pb.IntentSearch"> & { + /** + * @generated from field: string query = 1; + */ + query: string; +}; + +/** + * Describes the message exa.chat_pb.IntentSearch. + * Use `create(IntentSearchSchema)` to create a new message. + */ +export const IntentSearchSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_chat_pb_chat, 12); + +/** + * @generated from message exa.chat_pb.IntentFastApply + */ +export type IntentFastApply = Message<"exa.chat_pb.IntentFastApply"> & { + /** + * @generated from field: string diff_outline = 1; + */ + diffOutline: string; + + /** + * @generated from field: exa.codeium_common_pb.Language language = 2; + */ + language: Language; + + /** + * @generated from field: exa.chat_pb.CodeBlockInfo old_code = 3; + */ + oldCode?: CodeBlockInfo | undefined; +}; + +/** + * Describes the message exa.chat_pb.IntentFastApply. + * Use `create(IntentFastApplySchema)` to create a new message. + */ +export const IntentFastApplySchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_chat_pb_chat, 13); + +/** + * @generated from message exa.chat_pb.ChatMessageIntent + */ +export type ChatMessageIntent = Message<"exa.chat_pb.ChatMessageIntent"> & { + /** + * @generated from oneof exa.chat_pb.ChatMessageIntent.intent + */ + intent: { + /** + * @generated from field: exa.chat_pb.IntentGeneric generic = 1; + */ + value: IntentGeneric; + case: "generic"; + } | { + /** + * @generated from field: exa.chat_pb.IntentFunctionExplain explain_function = 2; + */ + value: IntentFunctionExplain; + case: "explainFunction"; + } | { + /** + * @generated from field: exa.chat_pb.IntentFunctionDocstring function_docstring = 3; + */ + value: IntentFunctionDocstring; + case: "functionDocstring"; + } | { + /** + * @generated from field: exa.chat_pb.IntentFunctionRefactor function_refactor = 4; + */ + value: IntentFunctionRefactor; + case: "functionRefactor"; + } | { + /** + * @generated from field: exa.chat_pb.IntentCodeBlockExplain explain_code_block = 5; + */ + value: IntentCodeBlockExplain; + case: "explainCodeBlock"; + } | { + /** + * @generated from field: exa.chat_pb.IntentCodeBlockRefactor code_block_refactor = 6; + */ + value: IntentCodeBlockRefactor; + case: "codeBlockRefactor"; + } | { + /** + * @generated from field: exa.chat_pb.IntentFunctionUnitTests function_unit_tests = 7; + */ + value: IntentFunctionUnitTests; + case: "functionUnitTests"; + } | { + /** + * @generated from field: exa.chat_pb.IntentProblemExplain problem_explain = 8; + */ + value: IntentProblemExplain; + case: "problemExplain"; + } | { + /** + * @generated from field: exa.chat_pb.IntentGenerateCode generate_code = 9; + */ + value: IntentGenerateCode; + case: "generateCode"; + } | { + /** + * @generated from field: exa.chat_pb.IntentClassExplain explain_class = 10; + */ + value: IntentClassExplain; + case: "explainClass"; + } | { + /** + * @generated from field: exa.chat_pb.IntentSearch search = 11; + */ + value: IntentSearch; + case: "search"; + } | { + /** + * @generated from field: exa.chat_pb.IntentFastApply fast_apply = 13; + */ + value: IntentFastApply; + case: "fastApply"; + } | { case: undefined; value?: undefined }; + + /** + * @generated from field: uint32 num_tokens = 12; + */ + numTokens: number; +}; + +/** + * Describes the message exa.chat_pb.ChatMessageIntent. + * Use `create(ChatMessageIntentSchema)` to create a new message. + */ +export const ChatMessageIntentSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_chat_pb_chat, 14); + +/** + * @generated from message exa.chat_pb.ChatMessageActionSearch + */ +export type ChatMessageActionSearch = Message<"exa.chat_pb.ChatMessageActionSearch"> & { +}; + +/** + * Describes the message exa.chat_pb.ChatMessageActionSearch. + * Use `create(ChatMessageActionSearchSchema)` to create a new message. + */ +export const ChatMessageActionSearchSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_chat_pb_chat, 15); + +/** + * @generated from message exa.chat_pb.ChatMessageActionEdit + */ +export type ChatMessageActionEdit = Message<"exa.chat_pb.ChatMessageActionEdit"> & { + /** + * @generated from field: string file_path_migrate_me_to_uri = 1 [deprecated = true]; + * @deprecated + */ + filePathMigrateMeToUri: string; + + /** + * @generated from field: string uri = 6; + */ + uri: string; + + /** + * @generated from field: exa.diff_action_pb.DiffBlock diff = 2; + */ + diff?: DiffBlock | undefined; + + /** + * @generated from field: exa.codeium_common_pb.Language language = 3; + */ + language: Language; + + /** + * @generated from field: string text_pre = 4; + */ + textPre: string; + + /** + * @generated from field: string text_post = 5; + */ + textPost: string; +}; + +/** + * Describes the message exa.chat_pb.ChatMessageActionEdit. + * Use `create(ChatMessageActionEditSchema)` to create a new message. + */ +export const ChatMessageActionEditSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_chat_pb_chat, 16); + +/** + * @generated from message exa.chat_pb.ChatMessageActionGeneric + */ +export type ChatMessageActionGeneric = Message<"exa.chat_pb.ChatMessageActionGeneric"> & { + /** + * @generated from field: string text = 1; + */ + text: string; + + /** + * @generated from field: string display_text = 2; + */ + displayText: string; +}; + +/** + * Describes the message exa.chat_pb.ChatMessageActionGeneric. + * Use `create(ChatMessageActionGenericSchema)` to create a new message. + */ +export const ChatMessageActionGenericSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_chat_pb_chat, 17); + +/** + * @generated from message exa.chat_pb.ChatMessageStatusContextRelevancy + */ +export type ChatMessageStatusContextRelevancy = Message<"exa.chat_pb.ChatMessageStatusContextRelevancy"> & { + /** + * @generated from field: bool is_loading = 1; + */ + isLoading: boolean; + + /** + * @generated from field: bool is_relevant = 2; + */ + isRelevant: boolean; + + /** + * @generated from field: repeated string query_suggestions = 3; + */ + querySuggestions: string[]; +}; + +/** + * Describes the message exa.chat_pb.ChatMessageStatusContextRelevancy. + * Use `create(ChatMessageStatusContextRelevancySchema)` to create a new message. + */ +export const ChatMessageStatusContextRelevancySchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_chat_pb_chat, 18); + +/** + * @generated from message exa.chat_pb.ChatMessageStatus + */ +export type ChatMessageStatus = Message<"exa.chat_pb.ChatMessageStatus"> & { + /** + * @generated from oneof exa.chat_pb.ChatMessageStatus.status + */ + status: { + /** + * @generated from field: exa.chat_pb.ChatMessageStatusContextRelevancy context_relevancy = 1; + */ + value: ChatMessageStatusContextRelevancy; + case: "contextRelevancy"; + } | { case: undefined; value?: undefined }; +}; + +/** + * Describes the message exa.chat_pb.ChatMessageStatus. + * Use `create(ChatMessageStatusSchema)` to create a new message. + */ +export const ChatMessageStatusSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_chat_pb_chat, 19); + +/** + * @generated from message exa.chat_pb.ChatMessageError + */ +export type ChatMessageError = Message<"exa.chat_pb.ChatMessageError"> & { + /** + * @generated from field: string text = 1; + */ + text: string; +}; + +/** + * Describes the message exa.chat_pb.ChatMessageError. + * Use `create(ChatMessageErrorSchema)` to create a new message. + */ +export const ChatMessageErrorSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_chat_pb_chat, 20); + +/** + * @generated from message exa.chat_pb.ChatMessageAction + */ +export type ChatMessageAction = Message<"exa.chat_pb.ChatMessageAction"> & { + /** + * @generated from oneof exa.chat_pb.ChatMessageAction.action + */ + action: { + /** + * @generated from field: exa.chat_pb.ChatMessageActionGeneric generic = 1; + */ + value: ChatMessageActionGeneric; + case: "generic"; + } | { + /** + * @generated from field: exa.chat_pb.ChatMessageActionEdit edit = 3; + */ + value: ChatMessageActionEdit; + case: "edit"; + } | { + /** + * @generated from field: exa.chat_pb.ChatMessageActionSearch search = 5; + */ + value: ChatMessageActionSearch; + case: "search"; + } | { case: undefined; value?: undefined }; + + /** + * @generated from field: uint32 num_tokens = 2; + */ + numTokens: number; + + /** + * @generated from field: repeated exa.codeium_common_pb.CodeContextItem context_items = 4; + */ + contextItems: CodeContextItem[]; + + /** + * @generated from field: exa.chat_pb.ChatIntentType latest_intent = 6; + */ + latestIntent: ChatIntentType; + + /** + * @generated from field: exa.chat_pb.ChatMetrics generation_stats = 7; + */ + generationStats?: ChatMetrics | undefined; + + /** + * @generated from field: repeated exa.codeium_common_pb.KnowledgeBaseItemWithMetadata knowledge_base_items = 8; + */ + knowledgeBaseItems: KnowledgeBaseItemWithMetadata[]; +}; + +/** + * Describes the message exa.chat_pb.ChatMessageAction. + * Use `create(ChatMessageActionSchema)` to create a new message. + */ +export const ChatMessageActionSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_chat_pb_chat, 21); + +/** + * @generated from message exa.chat_pb.ChatMessage + */ +export type ChatMessage = Message<"exa.chat_pb.ChatMessage"> & { + /** + * @generated from field: string message_id = 1; + */ + messageId: string; + + /** + * @generated from field: exa.codeium_common_pb.ChatMessageSource source = 2; + */ + source: ChatMessageSource; + + /** + * @generated from field: google.protobuf.Timestamp timestamp = 3; + */ + timestamp?: Timestamp | undefined; + + /** + * @generated from field: string conversation_id = 4; + */ + conversationId: string; + + /** + * @generated from oneof exa.chat_pb.ChatMessage.content + */ + content: { + /** + * @generated from field: exa.chat_pb.ChatMessageIntent intent = 5; + */ + value: ChatMessageIntent; + case: "intent"; + } | { + /** + * @generated from field: exa.chat_pb.ChatMessageAction action = 6; + */ + value: ChatMessageAction; + case: "action"; + } | { + /** + * @generated from field: exa.chat_pb.ChatMessageError error = 7; + */ + value: ChatMessageError; + case: "error"; + } | { + /** + * @generated from field: exa.chat_pb.ChatMessageStatus status = 8; + */ + value: ChatMessageStatus; + case: "status"; + } | { case: undefined; value?: undefined }; + + /** + * @generated from field: bool in_progress = 9; + */ + inProgress: boolean; + + /** + * @generated from field: exa.chat_pb.GetChatMessageRequest request = 10; + */ + request?: GetChatMessageRequest | undefined; + + /** + * @generated from field: bool redact = 11; + */ + redact: boolean; +}; + +/** + * Describes the message exa.chat_pb.ChatMessage. + * Use `create(ChatMessageSchema)` to create a new message. + */ +export const ChatMessageSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_chat_pb_chat, 22); + +/** + * @generated from message exa.chat_pb.Conversation + */ +export type Conversation = Message<"exa.chat_pb.Conversation"> & { + /** + * @generated from field: repeated exa.chat_pb.ChatMessage messages = 1; + */ + messages: ChatMessage[]; +}; + +/** + * Describes the message exa.chat_pb.Conversation. + * Use `create(ConversationSchema)` to create a new message. + */ +export const ConversationSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_chat_pb_chat, 23); + +/** + * @generated from message exa.chat_pb.RawChatMessage + */ +export type RawChatMessage = Message<"exa.chat_pb.RawChatMessage"> & { + /** + * @generated from field: string message_id = 1; + */ + messageId: string; + + /** + * @generated from field: exa.codeium_common_pb.ChatMessageSource source = 2; + */ + source: ChatMessageSource; + + /** + * @generated from field: google.protobuf.Timestamp timestamp = 3; + */ + timestamp?: Timestamp | undefined; + + /** + * @generated from field: string conversation_id = 4; + */ + conversationId: string; + + /** + * @generated from field: string text = 5; + */ + text: string; + + /** + * @generated from field: bool in_progress = 6; + */ + inProgress: boolean; + + /** + * @generated from field: bool is_error = 7; + */ + isError: boolean; +}; + +/** + * Describes the message exa.chat_pb.RawChatMessage. + * Use `create(RawChatMessageSchema)` to create a new message. + */ +export const RawChatMessageSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_chat_pb_chat, 24); + +/** + * @generated from message exa.chat_pb.DeepWikiSymbolRange + */ +export type DeepWikiSymbolRange = Message<"exa.chat_pb.DeepWikiSymbolRange"> & { + /** + * @generated from field: int64 start_line = 1; + */ + startLine: bigint; + + /** + * @generated from field: int64 start_column = 2; + */ + startColumn: bigint; + + /** + * @generated from field: int64 end_line = 3; + */ + endLine: bigint; + + /** + * @generated from field: int64 end_column = 4; + */ + endColumn: bigint; +}; + +/** + * Describes the message exa.chat_pb.DeepWikiSymbolRange. + * Use `create(DeepWikiSymbolRangeSchema)` to create a new message. + */ +export const DeepWikiSymbolRangeSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_chat_pb_chat, 25); + +/** + * @generated from message exa.chat_pb.DeepWikiSymbolContext + */ +export type DeepWikiSymbolContext = Message<"exa.chat_pb.DeepWikiSymbolContext"> & { + /** + * @generated from field: string symbol_name = 1; + */ + symbolName: string; + + /** + * @generated from field: string symbol_uri = 2; + */ + symbolUri: string; + + /** + * @generated from field: exa.chat_pb.DeepWikiSymbolRange symbol_range = 3; + */ + symbolRange?: DeepWikiSymbolRange | undefined; + + /** + * @generated from field: exa.chat_pb.DeepWikiSymbolType symbol_type = 4; + */ + symbolType: DeepWikiSymbolType; + + /** + * @generated from field: string file_context = 5; + */ + fileContext: string; + + /** + * @generated from field: string usage_context = 6; + */ + usageContext: string; + + /** + * @generated from field: string trace_context = 7; + */ + traceContext: string; + + /** + * @generated from field: string quick_grep_context = 8; + */ + quickGrepContext: string; + + /** + * @generated from field: google.protobuf.Timestamp timestamp = 9; + */ + timestamp?: Timestamp | undefined; +}; + +/** + * Describes the message exa.chat_pb.DeepWikiSymbolContext. + * Use `create(DeepWikiSymbolContextSchema)` to create a new message. + */ +export const DeepWikiSymbolContextSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_chat_pb_chat, 26); + +/** + * @generated from message exa.chat_pb.DeepWikiHoverContext + */ +export type DeepWikiHoverContext = Message<"exa.chat_pb.DeepWikiHoverContext"> & { + /** + * @generated from field: string symbol_name = 1; + */ + symbolName: string; + + /** + * @generated from field: string symbol_uri = 2; + */ + symbolUri: string; + + /** + * @generated from field: exa.chat_pb.DeepWikiSymbolRange symbol_range = 3; + */ + symbolRange?: DeepWikiSymbolRange | undefined; + + /** + * @generated from field: exa.chat_pb.DeepWikiSymbolType symbol_type = 4; + */ + symbolType: DeepWikiSymbolType; + + /** + * @generated from field: string hover_text = 5; + */ + hoverText: string; + + /** + * @generated from field: google.protobuf.Timestamp timestamp = 6; + */ + timestamp?: Timestamp | undefined; +}; + +/** + * Describes the message exa.chat_pb.DeepWikiHoverContext. + * Use `create(DeepWikiHoverContextSchema)` to create a new message. + */ +export const DeepWikiHoverContextSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_chat_pb_chat, 27); + +/** + * @generated from message exa.chat_pb.ParameterInfo + */ +export type ParameterInfo = Message<"exa.chat_pb.ParameterInfo"> & { + /** + * @generated from field: string label = 1; + */ + label: string; + + /** + * @generated from field: string documentation = 2; + */ + documentation: string; +}; + +/** + * Describes the message exa.chat_pb.ParameterInfo. + * Use `create(ParameterInfoSchema)` to create a new message. + */ +export const ParameterInfoSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_chat_pb_chat, 28); + +/** + * @generated from message exa.chat_pb.FunctionCallInfo + */ +export type FunctionCallInfo = Message<"exa.chat_pb.FunctionCallInfo"> & { + /** + * @generated from field: string signature_label = 1; + */ + signatureLabel: string; + + /** + * @generated from field: int32 active_parameter = 2; + */ + activeParameter: number; + + /** + * @generated from field: int32 parameter_count = 3; + */ + parameterCount: number; + + /** + * @generated from field: repeated exa.chat_pb.ParameterInfo parameters = 4; + */ + parameters: ParameterInfo[]; +}; + +/** + * Describes the message exa.chat_pb.FunctionCallInfo. + * Use `create(FunctionCallInfoSchema)` to create a new message. + */ +export const FunctionCallInfoSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_chat_pb_chat, 29); + +/** + * @generated from message exa.chat_pb.DeepWikiContext + */ +export type DeepWikiContext = Message<"exa.chat_pb.DeepWikiContext"> & { + /** + * @generated from field: exa.chat_pb.DeepWikiHoverContext enclosing_hover_context = 1; + */ + enclosingHoverContext?: DeepWikiHoverContext | undefined; + + /** + * @generated from field: exa.chat_pb.FunctionCallInfo function_call_info = 2; + */ + functionCallInfo?: FunctionCallInfo | undefined; +}; + +/** + * Describes the message exa.chat_pb.DeepWikiContext. + * Use `create(DeepWikiContextSchema)` to create a new message. + */ +export const DeepWikiContextSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_chat_pb_chat, 30); + +/** + * @generated from message exa.chat_pb.GetDeepWikiRequest + */ +export type GetDeepWikiRequest = Message<"exa.chat_pb.GetDeepWikiRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: exa.chat_pb.DeepWikiRequestType request_type = 2; + */ + requestType: DeepWikiRequestType; + + /** + * @generated from field: string symbol_name = 3; + */ + symbolName: string; + + /** + * @generated from field: string symbol_uri = 4; + */ + symbolUri: string; + + /** + * @generated from field: string context = 5; + */ + context: string; + + /** + * @generated from field: exa.chat_pb.DeepWikiSymbolType symbol_type = 6; + */ + symbolType: DeepWikiSymbolType; + + /** + * @generated from field: string language = 7; + */ + language: string; +}; + +/** + * Describes the message exa.chat_pb.GetDeepWikiRequest. + * Use `create(GetDeepWikiRequestSchema)` to create a new message. + */ +export const GetDeepWikiRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_chat_pb_chat, 31); + +/** + * @generated from message exa.chat_pb.ChatMessagePrompt + */ +export type ChatMessagePrompt = Message<"exa.chat_pb.ChatMessagePrompt"> & { + /** + * @generated from field: string message_id = 1; + */ + messageId: string; + + /** + * @generated from field: exa.codeium_common_pb.ChatMessageSource source = 2; + */ + source: ChatMessageSource; + + /** + * @generated from field: string prompt = 3; + */ + prompt: string; + + /** + * @generated from field: uint32 num_tokens = 4; + */ + numTokens: number; + + /** + * @generated from field: bool safe_for_code_telemetry = 5; + */ + safeForCodeTelemetry: boolean; + + /** + * @generated from field: repeated exa.codeium_common_pb.ChatToolCall tool_calls = 6; + */ + toolCalls: ChatToolCall[]; + + /** + * @generated from field: string tool_call_id = 7; + */ + toolCallId: string; + + /** + * @generated from field: exa.chat_pb.PromptCacheOptions prompt_cache_options = 8; + */ + promptCacheOptions?: PromptCacheOptions | undefined; + + /** + * @generated from field: bool tool_result_is_error = 9; + */ + toolResultIsError: boolean; + + /** + * @generated from field: repeated exa.codeium_common_pb.ImageData images = 10; + */ + images: ImageData[]; + + /** + * @generated from field: string thinking = 11; + */ + thinking: string; + + /** + * @generated from field: string signature = 12; + */ + signature: string; + + /** + * @generated from field: bool thinking_redacted = 13; + */ + thinkingRedacted: boolean; + + /** + * @generated from field: repeated exa.codeium_common_pb.PromptAnnotationRange prompt_annotation_ranges = 14; + */ + promptAnnotationRanges: PromptAnnotationRange[]; + + /** + * @generated from field: string output_id = 15; + */ + outputId: string; + + /** + * @generated from field: string thinking_id = 16 [deprecated = true]; + * @deprecated + */ + thinkingId: string; + + /** + * @generated from field: bytes gemini_thought_signature = 17 [deprecated = true]; + * @deprecated + */ + geminiThoughtSignature: Uint8Array; + + /** + * @generated from field: string signature_type = 18; + */ + signatureType: string; + + /** + * @generated from field: string phase = 19; + */ + phase: string; +}; + +/** + * Describes the message exa.chat_pb.ChatMessagePrompt. + * Use `create(ChatMessagePromptSchema)` to create a new message. + */ +export const ChatMessagePromptSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_chat_pb_chat, 32); + +/** + * @generated from message exa.chat_pb.PromptCacheOptions + */ +export type PromptCacheOptions = Message<"exa.chat_pb.PromptCacheOptions"> & { + /** + * @generated from field: exa.chat_pb.CacheControlType type = 1; + */ + type: CacheControlType; +}; + +/** + * Describes the message exa.chat_pb.PromptCacheOptions. + * Use `create(PromptCacheOptionsSchema)` to create a new message. + */ +export const PromptCacheOptionsSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_chat_pb_chat, 33); + +/** + * @generated from message exa.chat_pb.ChatToolDefinition + */ +export type ChatToolDefinition = Message<"exa.chat_pb.ChatToolDefinition"> & { + /** + * @generated from field: string name = 1; + */ + name: string; + + /** + * @generated from field: string description = 2; + */ + description: string; + + /** + * @generated from field: string json_schema_string = 3; + */ + jsonSchemaString: string; + + /** + * @generated from field: repeated string attribution_field_names = 5; + */ + attributionFieldNames: string[]; + + /** + * @generated from field: string server_name = 6; + */ + serverName: string; + + /** + * @generated from field: optional bool read_only_hint = 7; + */ + readOnlyHint?: boolean | undefined; + + /** + * @generated from field: optional exa.chat_pb.ComputerUseToolConfig computer_use_config = 8; + */ + computerUseConfig?: ComputerUseToolConfig | undefined; + + /** + * @generated from field: optional bool is_custom_tool = 9; + */ + isCustomTool?: boolean | undefined; + + /** + * @generated from field: optional string custom_tool_grammar = 10; + */ + customToolGrammar?: string | undefined; + + /** + * @generated from field: optional string custom_tool_grammar_syntax = 11; + */ + customToolGrammarSyntax?: string | undefined; + + /** + * @generated from field: bool strict = 12; + */ + strict: boolean; +}; + +/** + * Describes the message exa.chat_pb.ChatToolDefinition. + * Use `create(ChatToolDefinitionSchema)` to create a new message. + */ +export const ChatToolDefinitionSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_chat_pb_chat, 34); + +/** + * @generated from message exa.chat_pb.ComputerUseToolConfig + */ +export type ComputerUseToolConfig = Message<"exa.chat_pb.ComputerUseToolConfig"> & { + /** + * @generated from field: int32 display_width_px = 1; + */ + displayWidthPx: number; + + /** + * @generated from field: int32 display_height_px = 2; + */ + displayHeightPx: number; + + /** + * @generated from field: int32 display_number = 3; + */ + displayNumber: number; +}; + +/** + * Describes the message exa.chat_pb.ComputerUseToolConfig. + * Use `create(ComputerUseToolConfigSchema)` to create a new message. + */ +export const ComputerUseToolConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_chat_pb_chat, 35); + +/** + * @generated from message exa.chat_pb.ChatToolChoice + */ +export type ChatToolChoice = Message<"exa.chat_pb.ChatToolChoice"> & { + /** + * @generated from oneof exa.chat_pb.ChatToolChoice.choice + */ + choice: { + /** + * @generated from field: string option_name = 1; + */ + value: string; + case: "optionName"; + } | { + /** + * @generated from field: string tool_name = 2; + */ + value: string; + case: "toolName"; + } | { case: undefined; value?: undefined }; +}; + +/** + * Describes the message exa.chat_pb.ChatToolChoice. + * Use `create(ChatToolChoiceSchema)` to create a new message. + */ +export const ChatToolChoiceSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_chat_pb_chat, 36); + +/** + * @generated from message exa.chat_pb.ChatMentionsSearchRequest + */ +export type ChatMentionsSearchRequest = Message<"exa.chat_pb.ChatMentionsSearchRequest"> & { + /** + * @generated from field: string query = 1; + */ + query: string; + + /** + * @generated from field: repeated exa.codeium_common_pb.CodeContextType allowed_types = 2; + */ + allowedTypes: CodeContextType[]; + + /** + * @generated from field: bool include_repo_info = 3; + */ + includeRepoInfo: boolean; +}; + +/** + * Describes the message exa.chat_pb.ChatMentionsSearchRequest. + * Use `create(ChatMentionsSearchRequestSchema)` to create a new message. + */ +export const ChatMentionsSearchRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_chat_pb_chat, 37); + +/** + * @generated from message exa.chat_pb.ChatMentionsSearchResponse + */ +export type ChatMentionsSearchResponse = Message<"exa.chat_pb.ChatMentionsSearchResponse"> & { + /** + * @generated from field: repeated exa.codeium_common_pb.CodeContextItem cci_items = 1; + */ + cciItems: CodeContextItem[]; + + /** + * @generated from field: repeated exa.codeium_common_pb.GitRepoInfo repo_infos = 2; + */ + repoInfos: GitRepoInfo[]; +}; + +/** + * Describes the message exa.chat_pb.ChatMentionsSearchResponse. + * Use `create(ChatMentionsSearchResponseSchema)` to create a new message. + */ +export const ChatMentionsSearchResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_chat_pb_chat, 38); + +/** + * @generated from message exa.chat_pb.GetChatMessageRequest + */ +export type GetChatMessageRequest = Message<"exa.chat_pb.GetChatMessageRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: repeated exa.chat_pb.ChatMessage chat_messages = 3; + */ + chatMessages: ChatMessage[]; + + /** + * @generated from field: exa.codeium_common_pb.Document active_document = 5; + */ + activeDocument?: Document | undefined; + + /** + * @generated from field: repeated string open_document_uris = 12; + */ + openDocumentUris: string[]; + + /** + * @generated from field: repeated string workspace_uris = 13; + */ + workspaceUris: string[]; + + /** + * @generated from field: string active_selection = 11; + */ + activeSelection: string; + + /** + * @generated from field: exa.codeium_common_pb.ContextInclusionType context_inclusion_type = 8; + */ + contextInclusionType: ContextInclusionType; + + /** + * @generated from field: exa.codeium_common_pb.Model chat_model = 9; + */ + chatModel: Model; + + /** + * @generated from field: string system_prompt_override = 10; + */ + systemPromptOverride: string; + + /** + * @generated from field: string chat_model_name = 14; + */ + chatModelName: string; + + /** + * @generated from field: exa.chat_pb.GetChatMessageRequest.EnterpriseExternalModelConfig enterprise_chat_model_config = 15; + */ + enterpriseChatModelConfig?: GetChatMessageRequest_EnterpriseExternalModelConfig | undefined; + + /** + * @generated from field: exa.codeium_common_pb.ExperimentConfig experiment_config = 4 [deprecated = true]; + * @deprecated + */ + experimentConfig?: ExperimentConfig | undefined; + + /** + * @generated from field: repeated string open_document_paths_migrate_me_to_uris = 6 [deprecated = true]; + * @deprecated + */ + openDocumentPathsMigrateMeToUris: string[]; + + /** + * @generated from field: repeated string workspace_paths_migrate_me_to_uris = 7 [deprecated = true]; + * @deprecated + */ + workspacePathsMigrateMeToUris: string[]; +}; + +/** + * Describes the message exa.chat_pb.GetChatMessageRequest. + * Use `create(GetChatMessageRequestSchema)` to create a new message. + */ +export const GetChatMessageRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_chat_pb_chat, 39); + +/** + * @generated from message exa.chat_pb.GetChatMessageRequest.EnterpriseExternalModelConfig + */ +export type GetChatMessageRequest_EnterpriseExternalModelConfig = Message<"exa.chat_pb.GetChatMessageRequest.EnterpriseExternalModelConfig"> & { + /** + * @generated from field: int32 max_output_tokens = 2; + */ + maxOutputTokens: number; + + /** + * @generated from field: int32 max_input_tokens = 3; + */ + maxInputTokens: number; +}; + +/** + * Describes the message exa.chat_pb.GetChatMessageRequest.EnterpriseExternalModelConfig. + * Use `create(GetChatMessageRequest_EnterpriseExternalModelConfigSchema)` to create a new message. + */ +export const GetChatMessageRequest_EnterpriseExternalModelConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_chat_pb_chat, 39, 0); + +/** + * @generated from message exa.chat_pb.RawGetChatMessageRequest + */ +export type RawGetChatMessageRequest = Message<"exa.chat_pb.RawGetChatMessageRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: repeated exa.chat_pb.ChatMessage chat_messages = 2; + */ + chatMessages: ChatMessage[]; + + /** + * @generated from field: string system_prompt_override = 3; + */ + systemPromptOverride: string; + + /** + * @generated from field: exa.codeium_common_pb.Model chat_model = 4; + */ + chatModel: Model; + + /** + * @generated from field: string chat_model_name = 5; + */ + chatModelName: string; +}; + +/** + * Describes the message exa.chat_pb.RawGetChatMessageRequest. + * Use `create(RawGetChatMessageRequestSchema)` to create a new message. + */ +export const RawGetChatMessageRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_chat_pb_chat, 40); + +/** + * @generated from message exa.chat_pb.ChatExperimentStatus + */ +export type ChatExperimentStatus = Message<"exa.chat_pb.ChatExperimentStatus"> & { + /** + * @generated from field: exa.codeium_common_pb.ExperimentKey experiment_key = 1; + */ + experimentKey: ExperimentKey; + + /** + * @generated from field: bool enabled = 2; + */ + enabled: boolean; +}; + +/** + * Describes the message exa.chat_pb.ChatExperimentStatus. + * Use `create(ChatExperimentStatusSchema)` to create a new message. + */ +export const ChatExperimentStatusSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_chat_pb_chat, 41); + +/** + * @generated from message exa.chat_pb.FormattedChatMessage + */ +export type FormattedChatMessage = Message<"exa.chat_pb.FormattedChatMessage"> & { + /** + * @generated from field: exa.codeium_common_pb.ChatMessageSource role = 1; + */ + role: ChatMessageSource; + + /** + * @generated from field: string header = 2; + */ + header: string; + + /** + * @generated from field: string content = 3; + */ + content: string; + + /** + * @generated from field: string footer = 4; + */ + footer: string; +}; + +/** + * Describes the message exa.chat_pb.FormattedChatMessage. + * Use `create(FormattedChatMessageSchema)` to create a new message. + */ +export const FormattedChatMessageSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_chat_pb_chat, 42); + +/** + * @generated from enum exa.chat_pb.ChatFeedbackType + */ +export enum ChatFeedbackType { + /** + * @generated from enum value: FEEDBACK_TYPE_UNSPECIFIED = 0; + */ + FEEDBACK_TYPE_UNSPECIFIED = 0, + + /** + * @generated from enum value: FEEDBACK_TYPE_ACCEPT = 1; + */ + FEEDBACK_TYPE_ACCEPT = 1, + + /** + * @generated from enum value: FEEDBACK_TYPE_REJECT = 2; + */ + FEEDBACK_TYPE_REJECT = 2, + + /** + * @generated from enum value: FEEDBACK_TYPE_COPIED = 3; + */ + FEEDBACK_TYPE_COPIED = 3, + + /** + * @generated from enum value: FEEDBACK_TYPE_ACCEPT_DIFF = 4; + */ + FEEDBACK_TYPE_ACCEPT_DIFF = 4, + + /** + * @generated from enum value: FEEDBACK_TYPE_REJECT_DIFF = 5; + */ + FEEDBACK_TYPE_REJECT_DIFF = 5, + + /** + * @generated from enum value: FEEDBACK_TYPE_APPLY_DIFF = 6; + */ + FEEDBACK_TYPE_APPLY_DIFF = 6, + + /** + * @generated from enum value: FEEDBACK_TYPE_INSERT_AT_CURSOR = 7; + */ + FEEDBACK_TYPE_INSERT_AT_CURSOR = 7, +} + +/** + * Describes the enum exa.chat_pb.ChatFeedbackType. + */ +export const ChatFeedbackTypeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_chat_pb_chat, 0); + +/** + * @generated from enum exa.chat_pb.ChatIntentType + */ +export enum ChatIntentType { + /** + * @generated from enum value: CHAT_INTENT_UNSPECIFIED = 0; + */ + CHAT_INTENT_UNSPECIFIED = 0, + + /** + * @generated from enum value: CHAT_INTENT_GENERIC = 1; + */ + CHAT_INTENT_GENERIC = 1, + + /** + * @generated from enum value: CHAT_INTENT_FUNCTION_EXPLAIN = 2; + */ + CHAT_INTENT_FUNCTION_EXPLAIN = 2, + + /** + * @generated from enum value: CHAT_INTENT_FUNCTION_DOCSTRING = 3; + */ + CHAT_INTENT_FUNCTION_DOCSTRING = 3, + + /** + * @generated from enum value: CHAT_INTENT_FUNCTION_REFACTOR = 4; + */ + CHAT_INTENT_FUNCTION_REFACTOR = 4, + + /** + * @generated from enum value: CHAT_INTENT_CODE_BLOCK_EXPLAIN = 5; + */ + CHAT_INTENT_CODE_BLOCK_EXPLAIN = 5, + + /** + * @generated from enum value: CHAT_INTENT_CODE_BLOCK_REFACTOR = 6; + */ + CHAT_INTENT_CODE_BLOCK_REFACTOR = 6, + + /** + * @generated from enum value: CHAT_INTENT_FUNCTION_UNIT_TESTS = 7; + */ + CHAT_INTENT_FUNCTION_UNIT_TESTS = 7, + + /** + * @generated from enum value: CHAT_INTENT_PROBLEM_EXPLAIN = 8; + */ + CHAT_INTENT_PROBLEM_EXPLAIN = 8, + + /** + * @generated from enum value: CHAT_INTENT_GENERATE_CODE = 9; + */ + CHAT_INTENT_GENERATE_CODE = 9, + + /** + * @generated from enum value: CHAT_INTENT_CLASS_EXPLAIN = 10; + */ + CHAT_INTENT_CLASS_EXPLAIN = 10, + + /** + * @generated from enum value: CHAT_INTENT_SEARCH = 11; + */ + CHAT_INTENT_SEARCH = 11, + + /** + * @generated from enum value: CHAT_INTENT_FAST_APPLY = 12; + */ + CHAT_INTENT_FAST_APPLY = 12, +} + +/** + * Describes the enum exa.chat_pb.ChatIntentType. + */ +export const ChatIntentTypeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_chat_pb_chat, 1); + +/** + * @generated from enum exa.chat_pb.DeepWikiRequestType + */ +export enum DeepWikiRequestType { + /** + * @generated from enum value: DEEP_WIKI_REQUEST_TYPE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: DEEP_WIKI_REQUEST_TYPE_SUMMARY = 1; + */ + SUMMARY = 1, + + /** + * @generated from enum value: DEEP_WIKI_REQUEST_TYPE_ARTICLE = 2; + */ + ARTICLE = 2, +} + +/** + * Describes the enum exa.chat_pb.DeepWikiRequestType. + */ +export const DeepWikiRequestTypeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_chat_pb_chat, 2); + +/** + * @generated from enum exa.chat_pb.DeepWikiSymbolType + */ +export enum DeepWikiSymbolType { + /** + * @generated from enum value: DEEP_WIKI_SYMBOL_TYPE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: DEEP_WIKI_SYMBOL_TYPE_FILE = 1; + */ + FILE = 1, + + /** + * @generated from enum value: DEEP_WIKI_SYMBOL_TYPE_MODULE = 2; + */ + MODULE = 2, + + /** + * @generated from enum value: DEEP_WIKI_SYMBOL_TYPE_NAMESPACE = 3; + */ + NAMESPACE = 3, + + /** + * @generated from enum value: DEEP_WIKI_SYMBOL_TYPE_PACKAGE = 4; + */ + PACKAGE = 4, + + /** + * @generated from enum value: DEEP_WIKI_SYMBOL_TYPE_CLASS = 5; + */ + CLASS = 5, + + /** + * @generated from enum value: DEEP_WIKI_SYMBOL_TYPE_METHOD = 6; + */ + METHOD = 6, + + /** + * @generated from enum value: DEEP_WIKI_SYMBOL_TYPE_PROPERTY = 7; + */ + PROPERTY = 7, + + /** + * @generated from enum value: DEEP_WIKI_SYMBOL_TYPE_FIELD = 8; + */ + FIELD = 8, + + /** + * @generated from enum value: DEEP_WIKI_SYMBOL_TYPE_CONSTRUCTOR = 9; + */ + CONSTRUCTOR = 9, + + /** + * @generated from enum value: DEEP_WIKI_SYMBOL_TYPE_ENUM = 10; + */ + ENUM = 10, + + /** + * @generated from enum value: DEEP_WIKI_SYMBOL_TYPE_INTERFACE = 11; + */ + INTERFACE = 11, + + /** + * @generated from enum value: DEEP_WIKI_SYMBOL_TYPE_FUNCTION = 12; + */ + FUNCTION = 12, + + /** + * @generated from enum value: DEEP_WIKI_SYMBOL_TYPE_VARIABLE = 13; + */ + VARIABLE = 13, + + /** + * @generated from enum value: DEEP_WIKI_SYMBOL_TYPE_CONSTANT = 14; + */ + CONSTANT = 14, + + /** + * @generated from enum value: DEEP_WIKI_SYMBOL_TYPE_STRING = 15; + */ + STRING = 15, + + /** + * @generated from enum value: DEEP_WIKI_SYMBOL_TYPE_NUMBER = 16; + */ + NUMBER = 16, + + /** + * @generated from enum value: DEEP_WIKI_SYMBOL_TYPE_BOOLEAN = 17; + */ + BOOLEAN = 17, + + /** + * @generated from enum value: DEEP_WIKI_SYMBOL_TYPE_ARRAY = 18; + */ + ARRAY = 18, + + /** + * @generated from enum value: DEEP_WIKI_SYMBOL_TYPE_OBJECT = 19; + */ + OBJECT = 19, + + /** + * @generated from enum value: DEEP_WIKI_SYMBOL_TYPE_KEY = 20; + */ + KEY = 20, + + /** + * @generated from enum value: DEEP_WIKI_SYMBOL_TYPE_NULL = 21; + */ + NULL = 21, + + /** + * @generated from enum value: DEEP_WIKI_SYMBOL_TYPE_ENUM_MEMBER = 22; + */ + ENUM_MEMBER = 22, + + /** + * @generated from enum value: DEEP_WIKI_SYMBOL_TYPE_STRUCT = 23; + */ + STRUCT = 23, + + /** + * @generated from enum value: DEEP_WIKI_SYMBOL_TYPE_EVENT = 24; + */ + EVENT = 24, + + /** + * @generated from enum value: DEEP_WIKI_SYMBOL_TYPE_OPERATOR = 25; + */ + OPERATOR = 25, + + /** + * @generated from enum value: DEEP_WIKI_SYMBOL_TYPE_TYPE_PARAMETER = 26; + */ + TYPE_PARAMETER = 26, +} + +/** + * Describes the enum exa.chat_pb.DeepWikiSymbolType. + */ +export const DeepWikiSymbolTypeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_chat_pb_chat, 3); + +/** + * @generated from enum exa.chat_pb.CacheControlType + */ +export enum CacheControlType { + /** + * @generated from enum value: CACHE_CONTROL_TYPE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: CACHE_CONTROL_TYPE_EPHEMERAL = 1; + */ + EPHEMERAL = 1, +} + +/** + * Describes the enum exa.chat_pb.CacheControlType. + */ +export const CacheControlTypeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_chat_pb_chat, 4); + diff --git a/packages/catalog/src/discovery/devin-gen/exa/code_edit/code_edit_pb/code_edit_pb.ts b/packages/catalog/src/discovery/devin-gen/exa/code_edit/code_edit_pb/code_edit_pb.ts new file mode 100644 index 000000000..cc37f7c0f --- /dev/null +++ b/packages/catalog/src/discovery/devin-gen/exa/code_edit/code_edit_pb/code_edit_pb.ts @@ -0,0 +1,810 @@ +// @generated by protoc-gen-es v2.12.0 with parameter "target=ts" +// @generated from file exa/code_edit/code_edit_pb/code_edit.proto (package exa.code_edit.code_edit_pb, syntax proto3) +/* eslint-disable */ + +import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2"; +import { enumDesc, fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2"; +import type { CodeContextItem, GitRepoInfo } from "../../codeium_common_pb/codeium_common_pb"; +import { file_exa_codeium_common_pb_codeium_common } from "../../codeium_common_pb/codeium_common_pb"; +import type { CodeContextItemWithRetrievalMetadata } from "../../context_module_pb/context_module_pb"; +import { file_exa_context_module_pb_context_module } from "../../context_module_pb/context_module_pb"; +import type { IndexStats } from "../../index_pb/index_pb"; +import { file_exa_index_pb_index } from "../../index_pb/index_pb"; +import type { Message } from "@bufbuild/protobuf"; + +/** + * Describes the file exa/code_edit/code_edit_pb/code_edit.proto. + */ +export const file_exa_code_edit_code_edit_pb_code_edit: GenFile = /*@__PURE__*/ + fileDesc("CipleGEvY29kZV9lZGl0L2NvZGVfZWRpdF9wYi9jb2RlX2VkaXQucHJvdG8SGmV4YS5jb2RlX2VkaXQuY29kZV9lZGl0X3BiIp8BChNSZWxldmFudENvZGVDb250ZXh0EkEKEWNvZGVfY29udGV4dF9pdGVtGAEgASgLMiYuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNvZGVDb250ZXh0SXRlbRJFChByZWxldmFuY2VfcmVhc29uGAMgASgOMisuZXhhLmNvZGVfZWRpdC5jb2RlX2VkaXRfcGIuUmVsZXZhbmNlUmVhc29uIk0KD0ludGVudFJlbGV2YW5jZRIOCgZpbnRlbnQYASABKAkSFwoPcmVsZXZhbmNlX3Njb3JlGAIgASgCEhEKCXJhdGlvbmFsZRgDIAEoCSLEAwoVQ29kZUNvbnRleHRJdGVtQ2hhbmdlEjkKCXN0YXJ0X2NjaRgBIAEoCzImLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Db2RlQ29udGV4dEl0ZW0SNwoHZW5kX2NjaRgCIAEoCzImLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Db2RlQ29udGV4dEl0ZW0STwoWcmVsZXZhbnRfY29kZV9jb250ZXh0cxgDIAMoCzIvLmV4YS5jb2RlX2VkaXQuY29kZV9lZGl0X3BiLlJlbGV2YW50Q29kZUNvbnRleHQSZQoTZGVzY3JpcHRpb25fYnlfdHlwZRgEIAMoCzJILmV4YS5jb2RlX2VkaXQuY29kZV9lZGl0X3BiLkNvZGVDb250ZXh0SXRlbUNoYW5nZS5EZXNjcmlwdGlvbkJ5VHlwZUVudHJ5EkUKEGludGVudF9yZWxldmFuY2UYBSADKAsyKy5leGEuY29kZV9lZGl0LmNvZGVfZWRpdF9wYi5JbnRlbnRSZWxldmFuY2UaOAoWRGVzY3JpcHRpb25CeVR5cGVFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIqYDCgpGaWxlQ2hhbmdlEi0KIXN0YXJ0X2ZpbGVfcGF0aF9taWdyYXRlX21lX3RvX3VyaRgBIAEoCUICGAESFgoOc3RhcnRfZmlsZV91cmkYCiABKAkSGwoTc3RhcnRfZmlsZV9yZWxfcGF0aBgIIAEoCRIrCh9lbmRfZmlsZV9wYXRoX21pZ3JhdGVfbWVfdG9fdXJpGAIgASgJQgIYARIUCgxlbmRfZmlsZV91cmkYCyABKAkSGQoRZW5kX2ZpbGVfcmVsX3BhdGgYCSABKAkSGAoQb2xkX2ZpbGVfY29udGVudBgDIAEoCRIYChBuZXdfZmlsZV9jb250ZW50GAQgASgJElQKGWNvZGVfY29udGV4dF9pdGVtX2NoYW5nZXMYBiADKAsyMS5leGEuY29kZV9lZGl0LmNvZGVfZWRpdF9wYi5Db2RlQ29udGV4dEl0ZW1DaGFuZ2USTAocdW5jaGFuZ2VkX2NvZGVfY29udGV4dF9pdGVtcxgHIAMoCzImLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Db2RlQ29udGV4dEl0ZW0icQoGSW50ZW50Eg4KBmludGVudBgBIAEoCRI7CgtpbnRlbnRfdHlwZRgCIAEoDjImLmV4YS5jb2RlX2VkaXQuY29kZV9lZGl0X3BiLkludGVudFR5cGUSGgoSaW5jbHVkZV90ZXN0X2ZpbGVzGAMgASgIIvwDChVDb2RlQ2hhbmdlV2l0aENvbnRleHQSNgoKcmVwb3NpdG9yeRgBIAEoCzIiLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5HaXRSZXBvSW5mbxI8CgxmaWxlX2NoYW5nZXMYAiADKAsyJi5leGEuY29kZV9lZGl0LmNvZGVfZWRpdF9wYi5GaWxlQ2hhbmdlEkEKEXRlc3RfZmlsZV9jaGFuZ2VzGAkgAygLMiYuZXhhLmNvZGVfZWRpdC5jb2RlX2VkaXRfcGIuRmlsZUNoYW5nZRIOCgZpbnRlbnQYAyABKAkSOwoKZ2l0X2NvbW1pdBgEIAEoCzIlLmV4YS5jb2RlX2VkaXQuY29kZV9lZGl0X3BiLkdpdENvbW1pdEgAEi0KC2luZGV4X3N0YXRzGAUgASgLMhguZXhhLmluZGV4X3BiLkluZGV4U3RhdHMSPgoOdW5yZWxhdGVkX2NjaXMYBiADKAsyJi5leGEuY29kZWl1bV9jb21tb25fcGIuQ29kZUNvbnRleHRJdGVtEj0KEXN5bnRoZXRpY19pbnRlbnRzGAggAygLMiIuZXhhLmNvZGVfZWRpdC5jb2RlX2VkaXRfcGIuSW50ZW50QhkKF2NvZGVfY2hhbmdlX2RhdGFfc291cmNlSgQIBxAIUg5pbnRlbnRfYnlfdHlwZSI8CglHaXRDb21taXQSEwoLY29tbWl0X2hhc2gYASABKAkSGgoScGFyZW50X2NvbW1pdF9oYXNoGAIgASgJIpYBChlDb21taXRUb0ZpbGVDaGFuZ2VSZXF1ZXN0EhEKCXJlcG9fcm9vdBgBIAEoCRI2CgpyZXBvc2l0b3J5GAIgASgLMiIuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkdpdFJlcG9JbmZvEh4KFnVucmVsYXRlZF9jY2lfbXVsdGlwbGUYAyABKAUSDgoGZGJfZGlyGAQgASgJIigKDEdpdEZpbGVQYXRjaBIMCgRmcm9tGAEgASgJEgoKAnRvGAIgASgJIuUBChpDb21taXRUb0ZpbGVDaGFuZ2VSZXNwb25zZRI8CgxmaWxlX2NoYW5nZXMYASADKAsyJi5leGEuY29kZV9lZGl0LmNvZGVfZWRpdF9wYi5GaWxlQ2hhbmdlEhoKEnBhcmVudF9jb21taXRfaGFzaBgCIAEoCRItCgtpbmRleF9zdGF0cxgDIAEoCzIYLmV4YS5pbmRleF9wYi5JbmRleFN0YXRzEj4KDnVucmVsYXRlZF9jY2lzGAQgAygLMiYuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNvZGVDb250ZXh0SXRlbSL/AQoVQ29kZVJldHJpZXZhbEV2YWxUYXNrEjYKCnJlcG9zaXRvcnkYASABKAsyIi5leGEuY29kZWl1bV9jb21tb25fcGIuR2l0UmVwb0luZm8SOgoLY29tbWl0X2luZm8YBSABKAsyJS5leGEuY29kZV9lZGl0LmNvZGVfZWRpdF9wYi5HaXRDb21taXQSDQoFcXVlcnkYAiABKAkSTQoUdGFyZ2V0X2NvZGVfY29udGV4dHMYAyADKAsyLy5leGEuY29kZV9lZGl0LmNvZGVfZWRpdF9wYi5SZWxldmFudENvZGVDb250ZXh0EhQKDHN1YmRpcmVjdG9yeRgEIAEoCSKpAgoTQ29kZVJldHJpZXZhbFJlc3VsdBI2CgpyZXBvc2l0b3J5GAEgASgLMiIuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkdpdFJlcG9JbmZvEhYKDnJldHJpZXZlcl9uYW1lGAMgASgJEkEKDnJldHJpZXZlcl9pbmZvGAQgASgLMikuZXhhLmNvZGVfZWRpdC5jb2RlX2VkaXRfcGIuUmV0cmlldmVySW5mbxJgChtjb2RlX2NvbnRleHRfd2l0aF9tZXRhZGF0YXMYBSADKAsyOy5leGEuY29udGV4dF9tb2R1bGVfcGIuQ29kZUNvbnRleHRJdGVtV2l0aFJldHJpZXZhbE1ldGFkYXRhSgQIAhADUhdyZXRyaWV2ZWRfY29kZV9jb250ZXh0cyJ1ChdSZXRyaWV2ZXJDbGFzc2lmaWNhdGlvbhIXCg9yZWxldmFuY2Vfc2NvcmUYASABKAISQQoOcmV0cmlldmVyX2luZm8YAiABKAsyKS5leGEuY29kZV9lZGl0LmNvZGVfZWRpdF9wYi5SZXRyaWV2ZXJJbmZvIsoBCiFDb2RlQ29udGV4dEl0ZW1XaXRoQ2xhc3NpZmljYXRpb24SSgoRY29kZV9jb250ZXh0X2l0ZW0YASABKAsyLy5leGEuY29kZV9lZGl0LmNvZGVfZWRpdF9wYi5SZWxldmFudENvZGVDb250ZXh0EhAKCHJlbGV2YW50GAIgASgIEkcKCnByZWRpY3Rpb24YAyABKAsyMy5leGEuY29kZV9lZGl0LmNvZGVfZWRpdF9wYi5SZXRyaWV2ZXJDbGFzc2lmaWNhdGlvbiJcCg1SZXRyaWV2ZXJJbmZvEjcKBHR5cGUYASABKA4yKS5leGEuY29kZV9lZGl0LmNvZGVfZWRpdF9wYi5SZXRyaWV2ZXJUeXBlEhIKCm1vZGVsX25hbWUYAiABKAkilgIKEFJldHJpZXZhbE1ldHJpY3MSQQoOcmV0cmlldmVyX2luZm8YASABKAsyKS5leGEuY29kZV9lZGl0LmNvZGVfZWRpdF9wYi5SZXRyaWV2ZXJJbmZvEhcKD3ByZWNpc2lvbl9zY29yZRgCIAEoAhIUCgxyZWNhbGxfc2NvcmUYAyABKAISFgoOYWNjdXJhY3lfc2NvcmUYBCABKAISLQolbGFiZWxfcmFua2luZ19hdmVyYWdlX3ByZWNpc2lvbl9zY29yZRgFIAEoAhIVCg1yb2NfYXVjX3Njb3JlGAYgASgCEh8KF2F2ZXJhZ2VfcHJlY2lzaW9uX3Njb3JlGAcgASgCEhEKCXRocmVzaG9sZBgIIAEoAiLpAQoXQ29kZVJldHJpZXZhbEV2YWxSZXN1bHQSNgoKcmVwb3NpdG9yeRgBIAEoCzIiLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5HaXRSZXBvSW5mbxJXChBjbGFzc2lmaWVkX2l0ZW1zGAIgAygLMj0uZXhhLmNvZGVfZWRpdC5jb2RlX2VkaXRfcGIuQ29kZUNvbnRleHRJdGVtV2l0aENsYXNzaWZpY2F0aW9uEj0KB21ldHJpY3MYAyABKAsyLC5leGEuY29kZV9lZGl0LmNvZGVfZWRpdF9wYi5SZXRyaWV2YWxNZXRyaWNzIlQKEUluc3RydWN0aW9uV2l0aElkEgoKAmlkGAEgASgFEgwKBGZpbGUYAiABKAkSEAoIZnVuY3Rpb24YAyABKAkSEwoLaW5zdHJ1Y3Rpb24YBCABKAkiXAoVSW5zdHJ1Y3Rpb25XaXRoSWRMaXN0EkMKDGluc3RydWN0aW9ucxgBIAMoCzItLmV4YS5jb2RlX2VkaXQuY29kZV9lZGl0X3BiLkluc3RydWN0aW9uV2l0aElkKu8BCg9SZWxldmFuY2VSZWFzb24SIAocUkVMRVZBTkNFX1JFQVNPTl9VTlNQRUNJRklFRBAAEiQKIFJFTEVWQU5DRV9SRUFTT05fU0FNRV9DT01NSVRfT0xEEAESJAogUkVMRVZBTkNFX1JFQVNPTl9TQU1FX0NPTU1JVF9ORVcQAhIkCiBSRUxFVkFOQ0VfUkVBU09OX1JFRl9JTl9ERUxFVElPThADEiUKIVJFTEVWQU5DRV9SRUFTT05fUkVGX0lOX0lOU0VSVElPThAEEiEKHVJFTEVWQU5DRV9SRUFTT05fTk9UX1JFTEVWQU5UEGMqfgoPRGVzY3JpcHRpb25UeXBlEiAKHERFU0NSSVBUSU9OX1RZUEVfVU5TUEVDSUZJRUQQABIhCh1ERVNDUklQVElPTl9UWVBFX0VESVRfQ09NTUFORBABEiYKIkRFU0NSSVBUSU9OX1RZUEVfSU5TRVJUSU9OX0NPTU1BTkQQAirOAQoKSW50ZW50VHlwZRIbChdJTlRFTlRfVFlQRV9VTlNQRUNJRklFRBAAEhsKF0lOVEVOVF9UWVBFX0NPTU1JVF9HT0FMEAESGwoXSU5URU5UX1RZUEVfRElGRl9TRUFSQ0gQAhIcChhJTlRFTlRfVFlQRV9DTEVBTl9DT01NSVQQAxIkCiBJTlRFTlRfVFlQRV9DQ0lfU0lHTkFUVVJFX1NFQVJDSBAEEiUKIUlOVEVOVF9UWVBFX0NDSV9SQVdfU09VUkNFX1NFQVJDSBAFKsEDCg1SZXRyaWV2ZXJUeXBlEh4KGlJFVFJJRVZFUl9UWVBFX1VOU1BFQ0lGSUVEEAASJwojUkVUUklFVkVSX1RZUEVfQ09OVEVYVF9NT0RVTEVfTE9DQUwQARIoCiRSRVRSSUVWRVJfVFlQRV9DT05URVhUX01PRFVMRV9TRUFSQ0gQAhIZChVSRVRSSUVWRVJfVFlQRV9TRUFSQ0gQAxIgChxSRVRSSUVWRVJfVFlQRV9NUVVFUllfT1BFTkFJEAQSIQodUkVUUklFVkVSX1RZUEVfTVFVRVJZX0NPREVJVU0QBRI2CjJSRVRSSUVWRVJfVFlQRV9DT05URVhUX01PRFVMRV9TRUFSQ0hfTVFVRVJZX1NDT1JFUhAGEh8KG1JFVFJJRVZFUl9UWVBFX0NPTU1JVF9HUkFQSBAHEh8KG1JFVFJJRVZFUl9UWVBFX01PUlBIX05PUk1BTBAIEiEKHVJFVFJJRVZFUl9UWVBFX01PUlBIX0FEVkFOQ0VEEAkSIQodUkVUUklFVkVSX1RZUEVfR1JBUEhfQ0xVU1RFUlMQChIdChlSRVRSSUVWRVJfVFlQRV9PUEVOU0VBUkNIEAtiBnByb3RvMw", [file_exa_codeium_common_pb_codeium_common, file_exa_context_module_pb_context_module, file_exa_index_pb_index]); + +/** + * @generated from message exa.code_edit.code_edit_pb.RelevantCodeContext + */ +export type RelevantCodeContext = Message<"exa.code_edit.code_edit_pb.RelevantCodeContext"> & { + /** + * @generated from field: exa.codeium_common_pb.CodeContextItem code_context_item = 1; + */ + codeContextItem?: CodeContextItem | undefined; + + /** + * @generated from field: exa.code_edit.code_edit_pb.RelevanceReason relevance_reason = 3; + */ + relevanceReason: RelevanceReason; +}; + +/** + * Describes the message exa.code_edit.code_edit_pb.RelevantCodeContext. + * Use `create(RelevantCodeContextSchema)` to create a new message. + */ +export const RelevantCodeContextSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_code_edit_code_edit_pb_code_edit, 0); + +/** + * @generated from message exa.code_edit.code_edit_pb.IntentRelevance + */ +export type IntentRelevance = Message<"exa.code_edit.code_edit_pb.IntentRelevance"> & { + /** + * @generated from field: string intent = 1; + */ + intent: string; + + /** + * @generated from field: float relevance_score = 2; + */ + relevanceScore: number; + + /** + * @generated from field: string rationale = 3; + */ + rationale: string; +}; + +/** + * Describes the message exa.code_edit.code_edit_pb.IntentRelevance. + * Use `create(IntentRelevanceSchema)` to create a new message. + */ +export const IntentRelevanceSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_code_edit_code_edit_pb_code_edit, 1); + +/** + * @generated from message exa.code_edit.code_edit_pb.CodeContextItemChange + */ +export type CodeContextItemChange = Message<"exa.code_edit.code_edit_pb.CodeContextItemChange"> & { + /** + * @generated from field: exa.codeium_common_pb.CodeContextItem start_cci = 1; + */ + startCci?: CodeContextItem | undefined; + + /** + * @generated from field: exa.codeium_common_pb.CodeContextItem end_cci = 2; + */ + endCci?: CodeContextItem | undefined; + + /** + * @generated from field: repeated exa.code_edit.code_edit_pb.RelevantCodeContext relevant_code_contexts = 3; + */ + relevantCodeContexts: RelevantCodeContext[]; + + /** + * @generated from field: map description_by_type = 4; + */ + descriptionByType: { [key: string]: string }; + + /** + * @generated from field: repeated exa.code_edit.code_edit_pb.IntentRelevance intent_relevance = 5; + */ + intentRelevance: IntentRelevance[]; +}; + +/** + * Describes the message exa.code_edit.code_edit_pb.CodeContextItemChange. + * Use `create(CodeContextItemChangeSchema)` to create a new message. + */ +export const CodeContextItemChangeSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_code_edit_code_edit_pb_code_edit, 2); + +/** + * @generated from message exa.code_edit.code_edit_pb.FileChange + */ +export type FileChange = Message<"exa.code_edit.code_edit_pb.FileChange"> & { + /** + * @generated from field: string start_file_path_migrate_me_to_uri = 1 [deprecated = true]; + * @deprecated + */ + startFilePathMigrateMeToUri: string; + + /** + * @generated from field: string start_file_uri = 10; + */ + startFileUri: string; + + /** + * @generated from field: string start_file_rel_path = 8; + */ + startFileRelPath: string; + + /** + * @generated from field: string end_file_path_migrate_me_to_uri = 2 [deprecated = true]; + * @deprecated + */ + endFilePathMigrateMeToUri: string; + + /** + * @generated from field: string end_file_uri = 11; + */ + endFileUri: string; + + /** + * @generated from field: string end_file_rel_path = 9; + */ + endFileRelPath: string; + + /** + * @generated from field: string old_file_content = 3; + */ + oldFileContent: string; + + /** + * @generated from field: string new_file_content = 4; + */ + newFileContent: string; + + /** + * @generated from field: repeated exa.code_edit.code_edit_pb.CodeContextItemChange code_context_item_changes = 6; + */ + codeContextItemChanges: CodeContextItemChange[]; + + /** + * @generated from field: repeated exa.codeium_common_pb.CodeContextItem unchanged_code_context_items = 7; + */ + unchangedCodeContextItems: CodeContextItem[]; +}; + +/** + * Describes the message exa.code_edit.code_edit_pb.FileChange. + * Use `create(FileChangeSchema)` to create a new message. + */ +export const FileChangeSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_code_edit_code_edit_pb_code_edit, 3); + +/** + * @generated from message exa.code_edit.code_edit_pb.Intent + */ +export type Intent = Message<"exa.code_edit.code_edit_pb.Intent"> & { + /** + * @generated from field: string intent = 1; + */ + intent: string; + + /** + * @generated from field: exa.code_edit.code_edit_pb.IntentType intent_type = 2; + */ + intentType: IntentType; + + /** + * @generated from field: bool include_test_files = 3; + */ + includeTestFiles: boolean; +}; + +/** + * Describes the message exa.code_edit.code_edit_pb.Intent. + * Use `create(IntentSchema)` to create a new message. + */ +export const IntentSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_code_edit_code_edit_pb_code_edit, 4); + +/** + * @generated from message exa.code_edit.code_edit_pb.CodeChangeWithContext + */ +export type CodeChangeWithContext = Message<"exa.code_edit.code_edit_pb.CodeChangeWithContext"> & { + /** + * @generated from field: exa.codeium_common_pb.GitRepoInfo repository = 1; + */ + repository?: GitRepoInfo | undefined; + + /** + * @generated from field: repeated exa.code_edit.code_edit_pb.FileChange file_changes = 2; + */ + fileChanges: FileChange[]; + + /** + * @generated from field: repeated exa.code_edit.code_edit_pb.FileChange test_file_changes = 9; + */ + testFileChanges: FileChange[]; + + /** + * @generated from field: string intent = 3; + */ + intent: string; + + /** + * @generated from oneof exa.code_edit.code_edit_pb.CodeChangeWithContext.code_change_data_source + */ + codeChangeDataSource: { + /** + * @generated from field: exa.code_edit.code_edit_pb.GitCommit git_commit = 4; + */ + value: GitCommit; + case: "gitCommit"; + } | { case: undefined; value?: undefined }; + + /** + * @generated from field: exa.index_pb.IndexStats index_stats = 5; + */ + indexStats?: IndexStats | undefined; + + /** + * @generated from field: repeated exa.codeium_common_pb.CodeContextItem unrelated_ccis = 6; + */ + unrelatedCcis: CodeContextItem[]; + + /** + * @generated from field: repeated exa.code_edit.code_edit_pb.Intent synthetic_intents = 8; + */ + syntheticIntents: Intent[]; +}; + +/** + * Describes the message exa.code_edit.code_edit_pb.CodeChangeWithContext. + * Use `create(CodeChangeWithContextSchema)` to create a new message. + */ +export const CodeChangeWithContextSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_code_edit_code_edit_pb_code_edit, 5); + +/** + * @generated from message exa.code_edit.code_edit_pb.GitCommit + */ +export type GitCommit = Message<"exa.code_edit.code_edit_pb.GitCommit"> & { + /** + * @generated from field: string commit_hash = 1; + */ + commitHash: string; + + /** + * @generated from field: string parent_commit_hash = 2; + */ + parentCommitHash: string; +}; + +/** + * Describes the message exa.code_edit.code_edit_pb.GitCommit. + * Use `create(GitCommitSchema)` to create a new message. + */ +export const GitCommitSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_code_edit_code_edit_pb_code_edit, 6); + +/** + * @generated from message exa.code_edit.code_edit_pb.CommitToFileChangeRequest + */ +export type CommitToFileChangeRequest = Message<"exa.code_edit.code_edit_pb.CommitToFileChangeRequest"> & { + /** + * @generated from field: string repo_root = 1; + */ + repoRoot: string; + + /** + * @generated from field: exa.codeium_common_pb.GitRepoInfo repository = 2; + */ + repository?: GitRepoInfo | undefined; + + /** + * @generated from field: int32 unrelated_cci_multiple = 3; + */ + unrelatedCciMultiple: number; + + /** + * @generated from field: string db_dir = 4; + */ + dbDir: string; +}; + +/** + * Describes the message exa.code_edit.code_edit_pb.CommitToFileChangeRequest. + * Use `create(CommitToFileChangeRequestSchema)` to create a new message. + */ +export const CommitToFileChangeRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_code_edit_code_edit_pb_code_edit, 7); + +/** + * @generated from message exa.code_edit.code_edit_pb.GitFilePatch + */ +export type GitFilePatch = Message<"exa.code_edit.code_edit_pb.GitFilePatch"> & { + /** + * @generated from field: string from = 1; + */ + from: string; + + /** + * @generated from field: string to = 2; + */ + to: string; +}; + +/** + * Describes the message exa.code_edit.code_edit_pb.GitFilePatch. + * Use `create(GitFilePatchSchema)` to create a new message. + */ +export const GitFilePatchSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_code_edit_code_edit_pb_code_edit, 8); + +/** + * @generated from message exa.code_edit.code_edit_pb.CommitToFileChangeResponse + */ +export type CommitToFileChangeResponse = Message<"exa.code_edit.code_edit_pb.CommitToFileChangeResponse"> & { + /** + * @generated from field: repeated exa.code_edit.code_edit_pb.FileChange file_changes = 1; + */ + fileChanges: FileChange[]; + + /** + * @generated from field: string parent_commit_hash = 2; + */ + parentCommitHash: string; + + /** + * @generated from field: exa.index_pb.IndexStats index_stats = 3; + */ + indexStats?: IndexStats | undefined; + + /** + * @generated from field: repeated exa.codeium_common_pb.CodeContextItem unrelated_ccis = 4; + */ + unrelatedCcis: CodeContextItem[]; +}; + +/** + * Describes the message exa.code_edit.code_edit_pb.CommitToFileChangeResponse. + * Use `create(CommitToFileChangeResponseSchema)` to create a new message. + */ +export const CommitToFileChangeResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_code_edit_code_edit_pb_code_edit, 9); + +/** + * @generated from message exa.code_edit.code_edit_pb.CodeRetrievalEvalTask + */ +export type CodeRetrievalEvalTask = Message<"exa.code_edit.code_edit_pb.CodeRetrievalEvalTask"> & { + /** + * @generated from field: exa.codeium_common_pb.GitRepoInfo repository = 1; + */ + repository?: GitRepoInfo | undefined; + + /** + * @generated from field: exa.code_edit.code_edit_pb.GitCommit commit_info = 5; + */ + commitInfo?: GitCommit | undefined; + + /** + * @generated from field: string query = 2; + */ + query: string; + + /** + * @generated from field: repeated exa.code_edit.code_edit_pb.RelevantCodeContext target_code_contexts = 3; + */ + targetCodeContexts: RelevantCodeContext[]; + + /** + * @generated from field: string subdirectory = 4; + */ + subdirectory: string; +}; + +/** + * Describes the message exa.code_edit.code_edit_pb.CodeRetrievalEvalTask. + * Use `create(CodeRetrievalEvalTaskSchema)` to create a new message. + */ +export const CodeRetrievalEvalTaskSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_code_edit_code_edit_pb_code_edit, 10); + +/** + * @generated from message exa.code_edit.code_edit_pb.CodeRetrievalResult + */ +export type CodeRetrievalResult = Message<"exa.code_edit.code_edit_pb.CodeRetrievalResult"> & { + /** + * @generated from field: exa.codeium_common_pb.GitRepoInfo repository = 1; + */ + repository?: GitRepoInfo | undefined; + + /** + * @generated from field: string retriever_name = 3; + */ + retrieverName: string; + + /** + * @generated from field: exa.code_edit.code_edit_pb.RetrieverInfo retriever_info = 4; + */ + retrieverInfo?: RetrieverInfo | undefined; + + /** + * @generated from field: repeated exa.context_module_pb.CodeContextItemWithRetrievalMetadata code_context_with_metadatas = 5; + */ + codeContextWithMetadatas: CodeContextItemWithRetrievalMetadata[]; +}; + +/** + * Describes the message exa.code_edit.code_edit_pb.CodeRetrievalResult. + * Use `create(CodeRetrievalResultSchema)` to create a new message. + */ +export const CodeRetrievalResultSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_code_edit_code_edit_pb_code_edit, 11); + +/** + * @generated from message exa.code_edit.code_edit_pb.RetrieverClassification + */ +export type RetrieverClassification = Message<"exa.code_edit.code_edit_pb.RetrieverClassification"> & { + /** + * @generated from field: float relevance_score = 1; + */ + relevanceScore: number; + + /** + * @generated from field: exa.code_edit.code_edit_pb.RetrieverInfo retriever_info = 2; + */ + retrieverInfo?: RetrieverInfo | undefined; +}; + +/** + * Describes the message exa.code_edit.code_edit_pb.RetrieverClassification. + * Use `create(RetrieverClassificationSchema)` to create a new message. + */ +export const RetrieverClassificationSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_code_edit_code_edit_pb_code_edit, 12); + +/** + * @generated from message exa.code_edit.code_edit_pb.CodeContextItemWithClassification + */ +export type CodeContextItemWithClassification = Message<"exa.code_edit.code_edit_pb.CodeContextItemWithClassification"> & { + /** + * @generated from field: exa.code_edit.code_edit_pb.RelevantCodeContext code_context_item = 1; + */ + codeContextItem?: RelevantCodeContext | undefined; + + /** + * @generated from field: bool relevant = 2; + */ + relevant: boolean; + + /** + * @generated from field: exa.code_edit.code_edit_pb.RetrieverClassification prediction = 3; + */ + prediction?: RetrieverClassification | undefined; +}; + +/** + * Describes the message exa.code_edit.code_edit_pb.CodeContextItemWithClassification. + * Use `create(CodeContextItemWithClassificationSchema)` to create a new message. + */ +export const CodeContextItemWithClassificationSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_code_edit_code_edit_pb_code_edit, 13); + +/** + * @generated from message exa.code_edit.code_edit_pb.RetrieverInfo + */ +export type RetrieverInfo = Message<"exa.code_edit.code_edit_pb.RetrieverInfo"> & { + /** + * @generated from field: exa.code_edit.code_edit_pb.RetrieverType type = 1; + */ + type: RetrieverType; + + /** + * @generated from field: string model_name = 2; + */ + modelName: string; +}; + +/** + * Describes the message exa.code_edit.code_edit_pb.RetrieverInfo. + * Use `create(RetrieverInfoSchema)` to create a new message. + */ +export const RetrieverInfoSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_code_edit_code_edit_pb_code_edit, 14); + +/** + * @generated from message exa.code_edit.code_edit_pb.RetrievalMetrics + */ +export type RetrievalMetrics = Message<"exa.code_edit.code_edit_pb.RetrievalMetrics"> & { + /** + * @generated from field: exa.code_edit.code_edit_pb.RetrieverInfo retriever_info = 1; + */ + retrieverInfo?: RetrieverInfo | undefined; + + /** + * @generated from field: float precision_score = 2; + */ + precisionScore: number; + + /** + * @generated from field: float recall_score = 3; + */ + recallScore: number; + + /** + * @generated from field: float accuracy_score = 4; + */ + accuracyScore: number; + + /** + * @generated from field: float label_ranking_average_precision_score = 5; + */ + labelRankingAveragePrecisionScore: number; + + /** + * @generated from field: float roc_auc_score = 6; + */ + rocAucScore: number; + + /** + * @generated from field: float average_precision_score = 7; + */ + averagePrecisionScore: number; + + /** + * @generated from field: float threshold = 8; + */ + threshold: number; +}; + +/** + * Describes the message exa.code_edit.code_edit_pb.RetrievalMetrics. + * Use `create(RetrievalMetricsSchema)` to create a new message. + */ +export const RetrievalMetricsSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_code_edit_code_edit_pb_code_edit, 15); + +/** + * @generated from message exa.code_edit.code_edit_pb.CodeRetrievalEvalResult + */ +export type CodeRetrievalEvalResult = Message<"exa.code_edit.code_edit_pb.CodeRetrievalEvalResult"> & { + /** + * @generated from field: exa.codeium_common_pb.GitRepoInfo repository = 1; + */ + repository?: GitRepoInfo | undefined; + + /** + * @generated from field: repeated exa.code_edit.code_edit_pb.CodeContextItemWithClassification classified_items = 2; + */ + classifiedItems: CodeContextItemWithClassification[]; + + /** + * @generated from field: exa.code_edit.code_edit_pb.RetrievalMetrics metrics = 3; + */ + metrics?: RetrievalMetrics | undefined; +}; + +/** + * Describes the message exa.code_edit.code_edit_pb.CodeRetrievalEvalResult. + * Use `create(CodeRetrievalEvalResultSchema)` to create a new message. + */ +export const CodeRetrievalEvalResultSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_code_edit_code_edit_pb_code_edit, 16); + +/** + * @generated from message exa.code_edit.code_edit_pb.InstructionWithId + */ +export type InstructionWithId = Message<"exa.code_edit.code_edit_pb.InstructionWithId"> & { + /** + * @generated from field: int32 id = 1; + */ + id: number; + + /** + * @generated from field: string file = 2; + */ + file: string; + + /** + * @generated from field: string function = 3; + */ + function: string; + + /** + * @generated from field: string instruction = 4; + */ + instruction: string; +}; + +/** + * Describes the message exa.code_edit.code_edit_pb.InstructionWithId. + * Use `create(InstructionWithIdSchema)` to create a new message. + */ +export const InstructionWithIdSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_code_edit_code_edit_pb_code_edit, 17); + +/** + * @generated from message exa.code_edit.code_edit_pb.InstructionWithIdList + */ +export type InstructionWithIdList = Message<"exa.code_edit.code_edit_pb.InstructionWithIdList"> & { + /** + * @generated from field: repeated exa.code_edit.code_edit_pb.InstructionWithId instructions = 1; + */ + instructions: InstructionWithId[]; +}; + +/** + * Describes the message exa.code_edit.code_edit_pb.InstructionWithIdList. + * Use `create(InstructionWithIdListSchema)` to create a new message. + */ +export const InstructionWithIdListSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_code_edit_code_edit_pb_code_edit, 18); + +/** + * @generated from enum exa.code_edit.code_edit_pb.RelevanceReason + */ +export enum RelevanceReason { + /** + * @generated from enum value: RELEVANCE_REASON_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: RELEVANCE_REASON_SAME_COMMIT_OLD = 1; + */ + SAME_COMMIT_OLD = 1, + + /** + * @generated from enum value: RELEVANCE_REASON_SAME_COMMIT_NEW = 2; + */ + SAME_COMMIT_NEW = 2, + + /** + * @generated from enum value: RELEVANCE_REASON_REF_IN_DELETION = 3; + */ + REF_IN_DELETION = 3, + + /** + * @generated from enum value: RELEVANCE_REASON_REF_IN_INSERTION = 4; + */ + REF_IN_INSERTION = 4, + + /** + * @generated from enum value: RELEVANCE_REASON_NOT_RELEVANT = 99; + */ + NOT_RELEVANT = 99, +} + +/** + * Describes the enum exa.code_edit.code_edit_pb.RelevanceReason. + */ +export const RelevanceReasonSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_code_edit_code_edit_pb_code_edit, 0); + +/** + * @generated from enum exa.code_edit.code_edit_pb.DescriptionType + */ +export enum DescriptionType { + /** + * @generated from enum value: DESCRIPTION_TYPE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: DESCRIPTION_TYPE_EDIT_COMMAND = 1; + */ + EDIT_COMMAND = 1, + + /** + * @generated from enum value: DESCRIPTION_TYPE_INSERTION_COMMAND = 2; + */ + INSERTION_COMMAND = 2, +} + +/** + * Describes the enum exa.code_edit.code_edit_pb.DescriptionType. + */ +export const DescriptionTypeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_code_edit_code_edit_pb_code_edit, 1); + +/** + * @generated from enum exa.code_edit.code_edit_pb.IntentType + */ +export enum IntentType { + /** + * @generated from enum value: INTENT_TYPE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: INTENT_TYPE_COMMIT_GOAL = 1; + */ + COMMIT_GOAL = 1, + + /** + * @generated from enum value: INTENT_TYPE_DIFF_SEARCH = 2; + */ + DIFF_SEARCH = 2, + + /** + * @generated from enum value: INTENT_TYPE_CLEAN_COMMIT = 3; + */ + CLEAN_COMMIT = 3, + + /** + * @generated from enum value: INTENT_TYPE_CCI_SIGNATURE_SEARCH = 4; + */ + CCI_SIGNATURE_SEARCH = 4, + + /** + * @generated from enum value: INTENT_TYPE_CCI_RAW_SOURCE_SEARCH = 5; + */ + CCI_RAW_SOURCE_SEARCH = 5, +} + +/** + * Describes the enum exa.code_edit.code_edit_pb.IntentType. + */ +export const IntentTypeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_code_edit_code_edit_pb_code_edit, 2); + +/** + * @generated from enum exa.code_edit.code_edit_pb.RetrieverType + */ +export enum RetrieverType { + /** + * @generated from enum value: RETRIEVER_TYPE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: RETRIEVER_TYPE_CONTEXT_MODULE_LOCAL = 1; + */ + CONTEXT_MODULE_LOCAL = 1, + + /** + * @generated from enum value: RETRIEVER_TYPE_CONTEXT_MODULE_SEARCH = 2; + */ + CONTEXT_MODULE_SEARCH = 2, + + /** + * @generated from enum value: RETRIEVER_TYPE_SEARCH = 3; + */ + SEARCH = 3, + + /** + * @generated from enum value: RETRIEVER_TYPE_MQUERY_OPENAI = 4; + */ + MQUERY_OPENAI = 4, + + /** + * @generated from enum value: RETRIEVER_TYPE_MQUERY_CODEIUM = 5; + */ + MQUERY_CODEIUM = 5, + + /** + * @generated from enum value: RETRIEVER_TYPE_CONTEXT_MODULE_SEARCH_MQUERY_SCORER = 6; + */ + CONTEXT_MODULE_SEARCH_MQUERY_SCORER = 6, + + /** + * @generated from enum value: RETRIEVER_TYPE_COMMIT_GRAPH = 7; + */ + COMMIT_GRAPH = 7, + + /** + * @generated from enum value: RETRIEVER_TYPE_MORPH_NORMAL = 8; + */ + MORPH_NORMAL = 8, + + /** + * @generated from enum value: RETRIEVER_TYPE_MORPH_ADVANCED = 9; + */ + MORPH_ADVANCED = 9, + + /** + * @generated from enum value: RETRIEVER_TYPE_GRAPH_CLUSTERS = 10; + */ + GRAPH_CLUSTERS = 10, + + /** + * @generated from enum value: RETRIEVER_TYPE_OPENSEARCH = 11; + */ + OPENSEARCH = 11, +} + +/** + * Describes the enum exa.code_edit.code_edit_pb.RetrieverType. + */ +export const RetrieverTypeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_code_edit_code_edit_pb_code_edit, 3); + diff --git a/packages/catalog/src/discovery/devin-gen/exa/codeium_common_pb/codeium_common_pb.ts b/packages/catalog/src/discovery/devin-gen/exa/codeium_common_pb/codeium_common_pb.ts new file mode 100644 index 000000000..37f85c9b1 --- /dev/null +++ b/packages/catalog/src/discovery/devin-gen/exa/codeium_common_pb/codeium_common_pb.ts @@ -0,0 +1,18354 @@ +// @generated by protoc-gen-es v2.12.0 with parameter "target=ts" +// @generated from file exa/codeium_common_pb/codeium_common.proto (package exa.codeium_common_pb, syntax proto3) +/* eslint-disable */ + +import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2"; +import { enumDesc, fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2"; +import { file_buf_validate_validate } from "../../buf/validate/validate_pb"; +import type { Duration, Timestamp } from "@bufbuild/protobuf/wkt"; +import { file_google_protobuf_duration, file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt"; +import type { Message } from "@bufbuild/protobuf"; + +/** + * Describes the file exa/codeium_common_pb/codeium_common.proto. + */ +export const file_exa_codeium_common_pb_codeium_common: GenFile = /*@__PURE__*/ + fileDesc("CipleGEvY29kZWl1bV9jb21tb25fcGIvY29kZWl1bV9jb21tb24ucHJvdG8SFWV4YS5jb2RlaXVtX2NvbW1vbl9wYiKMCAoSQ29tcGxldGlvbnNSZXF1ZXN0EkUKDWNvbmZpZ3VyYXRpb24YASABKAsyLi5leGEuY29kZWl1bV9jb21tb25fcGIuQ29tcGxldGlvbkNvbmZpZ3VyYXRpb24SDgoGcHJvbXB0GAIgASgJEhYKDmNvbnRleHRfcHJvbXB0GBUgASgJEgsKA3VpZBgZIAEoCRJIChVwcm9tcHRfZWxlbWVudF9yYW5nZXMYCCADKAsyKS5leGEuY29kZWl1bV9jb21tb25fcGIuUHJvbXB0RWxlbWVudFJhbmdlEk8KGXByb21wdF9lbGVtZW50X2tpbmRfaW5mb3MYCSADKAsyLC5leGEuY29kZWl1bV9jb21tb25fcGIuUHJvbXB0RWxlbWVudEtpbmRJbmZvEhkKEXByb21wdF9sYXRlbmN5X21zGAsgASgEEkkKFnByb21wdF9zdGFnZV9sYXRlbmNpZXMYDCADKAsyKS5leGEuY29kZWl1bV9jb21tb25fcGIuUHJvbXB0U3RhZ2VMYXRlbmN5EhsKE251bV90b2tlbml6ZWRfYnl0ZXMYFCABKAQSFwoPZWRpdG9yX2xhbmd1YWdlGAMgASgJEjEKCGxhbmd1YWdlGAQgASgOMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLkxhbmd1YWdlEicKH2Fic29sdXRlX3BhdGhfdXJpX2Zvcl90ZWxlbWV0cnkYBSABKAkSIwobcmVsYXRpdmVfcGF0aF9mb3JfdGVsZW1ldHJ5GAYgASgJEiMKG3dvcmtzcGFjZV91cmlfZm9yX3RlbGVtZXRyeRgNIAEoCRIgChhleHBlcmltZW50X2ZlYXR1cmVzX2pzb24YByABKAkSHwoXZXhwZXJpbWVudF92YXJpYW50X2pzb24YEyABKAkSKwoFbW9kZWwYCiABKA4yHC5leGEuY29kZWl1bV9jb21tb25fcGIuTW9kZWwSFwoPaGFzX2xpbmVfc3VmZml4GA4gASgIEhkKEXNob3VsZF9pbmxpbmVfZmltGA8gASgIEjUKCnJlcG9zaXRvcnkYECABKAsyIS5leGEuY29kZWl1bV9jb21tb25fcGIuUmVwb3NpdG9yeRIRCgltb2RlbF90YWcYESABKAkSFwoPZXhwZXJpbWVudF90YWdzGBIgAygJEhMKC2V2YWxfc3VmZml4GBYgASgJEk4KGHByb21wdF9hbm5vdGF0aW9uX3JhbmdlcxgXIAMoCzIsLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Qcm9tcHRBbm5vdGF0aW9uUmFuZ2USMQopc3VwcG9ydHNfcGFja2VkX3N0cmVhbWluZ19jb21wbGV0aW9uX21hcHMYGCABKAgiyAMKF0NvbXBsZXRpb25Db25maWd1cmF0aW9uEhcKD251bV9jb21wbGV0aW9ucxgBIAEoBBISCgptYXhfdG9rZW5zGAIgASgEEhQKDG1heF9uZXdsaW5lcxgDIAEoBBIbChNtaW5fbG9nX3Byb2JhYmlsaXR5GAQgASgBEhMKC3RlbXBlcmF0dXJlGAUgASgBEhkKEWZpcnN0X3RlbXBlcmF0dXJlGAYgASgBEg0KBXRvcF9rGAcgASgEEg0KBXRvcF9wGAggASgBEhUKDXN0b3BfcGF0dGVybnMYCSADKAkSDAoEc2VlZBgKIAEoBBIeChZmaW1fZW90X3Byb2JfdGhyZXNob2xkGAsgASgBEh0KFXVzZV9maW1fZW90X3RocmVzaG9sZBgMIAEoCBIgChhkb19ub3Rfc2NvcmVfc3RvcF90b2tlbnMYDSABKAgSKgoic3FydF9sZW5fbm9ybWFsaXplZF9sb2dfcHJvYl9zY29yZRgOIAEoCBIfChdsYXN0X21lc3NhZ2VfaXNfcGFydGlhbBgPIAEoCBIWCg5yZXR1cm5fbG9ncHJvYhgQIAEoCBIUCgxzZXJ2aWNlX3RpZXIYESABKAkitgEKElByb21wdEVsZW1lbnRSYW5nZRI2CgRraW5kGAEgASgOMiguZXhhLmNvZGVpdW1fY29tbW9uX3BiLlByb21wdEVsZW1lbnRLaW5kEhkKEWJ5dGVfb2Zmc2V0X3N0YXJ0GAIgASgEEhcKD2J5dGVfb2Zmc2V0X2VuZBgDIAEoBBIaChJ0b2tlbl9vZmZzZXRfc3RhcnQYBCABKAQSGAoQdG9rZW5fb2Zmc2V0X2VuZBgFIAEoBCJTCg1BY3Rpb25Qb2ludGVyEhYKDmNvcnRleF9wbGFuX2lkGAEgASgJEhQKDGNvZGVfcGxhbl9pZBgCIAEoCRIUCgxhY3Rpb25faW5kZXgYAyABKAUilgEKFVByb21wdEFubm90YXRpb25SYW5nZRI5CgRraW5kGAEgASgOMisuZXhhLmNvZGVpdW1fY29tbW9uX3BiLlByb21wdEFubm90YXRpb25LaW5kEhkKEWJ5dGVfb2Zmc2V0X3N0YXJ0GAIgASgEEhcKD2J5dGVfb2Zmc2V0X2VuZBgDIAEoBBIOCgZzdWZmaXgYBCABKAki6QEKFUV4cGVyaW1lbnRXaXRoVmFyaWFudBI1CgNrZXkYASABKA4yJC5leGEuY29kZWl1bV9jb21tb25fcGIuRXhwZXJpbWVudEtleUICGAESEgoKa2V5X3N0cmluZxgFIAEoCRIQCghkaXNhYmxlZBgGIAEoCBIQCgZzdHJpbmcYAiABKAlIABIOCgRqc29uGAMgASgJSAASDQoDY3N2GAQgASgJSAASNwoGc291cmNlGAcgASgOMicuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkV4cGVyaW1lbnRTb3VyY2VCCQoHcGF5bG9hZCKpAwoQRXhwZXJpbWVudENvbmZpZxJBCgtleHBlcmltZW50cxgGIAMoCzIsLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5FeHBlcmltZW50V2l0aFZhcmlhbnQSRgoYZm9yY2VfZW5hYmxlX2V4cGVyaW1lbnRzGAEgAygOMiQuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkV4cGVyaW1lbnRLZXkSRwoZZm9yY2VfZGlzYWJsZV9leHBlcmltZW50cxgCIAMoDjIkLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5FeHBlcmltZW50S2V5ElwKJmZvcmNlX2VuYWJsZV9leHBlcmltZW50c193aXRoX3ZhcmlhbnRzGAMgAygLMiwuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkV4cGVyaW1lbnRXaXRoVmFyaWFudBInCh9mb3JjZV9lbmFibGVfZXhwZXJpbWVudF9zdHJpbmdzGAQgAygJEigKIGZvcmNlX2Rpc2FibGVfZXhwZXJpbWVudF9zdHJpbmdzGAUgAygJEhAKCGRldl9tb2RlGAcgASgIIrkBCiZFeHBlcmltZW50TGFuZ3VhZ2VTZXJ2ZXJWZXJzaW9uUGF5bG9hZBILCgNzaGEYASABKAkSGAoQY3JjMzJjX2xpbnV4X3g2NBgCIAEoCRIYChBjcmMzMmNfbGludXhfYXJtGAMgASgJEhgKEGNyYzMyY19tYWNvc194NjQYBCABKAkSGAoQY3JjMzJjX21hY29zX2FybRgFIAEoCRIaChJjcmMzMmNfd2luZG93c194NjQYBiABKAkiVAocRXhwZXJpbWVudE1vZGVsQ29uZmlnUGF5bG9hZBISCgptb2RlbF9uYW1lGAEgASgJEiAKGGNvbnRleHRfY2hlY2tfbW9kZWxfbmFtZRgCIAEoCSI2CiBFeHBlcmltZW50TWlkZGxlTW9kZVRva2VuUGF5bG9hZBISCgptb2RlX3Rva2VuGAEgASgJIj0KKEV4cGVyaW1lbnRNdWx0aWxpbmVNb2RlbFRocmVzaG9sZFBheWxvYWQSEQoJdGhyZXNob2xkGAEgASgCIrADChdFeHBlcmltZW50U2VudHJ5UGF5bG9hZBITCgtzYW1wbGVfcmF0ZRgCIAEoARJrChhwcm9jZWR1cmVfdG9fc2FtcGxlX3JhdGUYAyADKAsySS5leGEuY29kZWl1bV9jb21tb25fcGIuRXhwZXJpbWVudFNlbnRyeVBheWxvYWQuUHJvY2VkdXJlVG9TYW1wbGVSYXRlRW50cnkSbgoaZXJyb3JfbWF0Y2hfdG9fc2FtcGxlX3JhdGUYBSADKAsySi5leGEuY29kZWl1bV9jb21tb25fcGIuRXhwZXJpbWVudFNlbnRyeVBheWxvYWQuRXJyb3JNYXRjaFRvU2FtcGxlUmF0ZUVudHJ5GjwKGlByb2NlZHVyZVRvU2FtcGxlUmF0ZUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoAToCOAEaPQobRXJyb3JNYXRjaFRvU2FtcGxlUmF0ZUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoAToCOAFKBAgBEAJKBAgEEAVSEmRzbl90b19zYW1wbGVfcmF0ZVIGaWdub3JlIp0OChpUZWFtT3JnYW5pemF0aW9uYWxDb250cm9scxIPCgd0ZWFtX2lkGAEgASgJEiAKFGNhc2NhZGVfbW9kZWxfbGFiZWxzGAIgAygJQgIYARIgChRjb21tYW5kX21vZGVsX2xhYmVscxgDIAMoCUICGAESLgoKY3JlYXRlZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASHgoWZXh0ZW5zaW9uX21vZGVsX2xhYmVscxgGIAMoCRJBChVhbGxvd2VkX2FwaV9wcm92aWRlcnMYCCADKA4yIi5leGEuY29kZWl1bV9jb21tb25fcGIuQVBJUHJvdmlkZXISHAoQY2xpX21vZGVsX2xhYmVscxgJIAMoCUICGAESRQoXYWxsb3dlZF9tb2RlbF9wcm92aWRlcnMYCiADKA4yJC5leGEuY29kZWl1bV9jb21tb25fcGIuTW9kZWxQcm92aWRlchIaChJjYXNjYWRlX21vZGVsX3VpZHMYCyADKAkSGgoSY29tbWFuZF9tb2RlbF91aWRzGAwgAygJEhYKDmNsaV9tb2RlbF91aWRzGA0gAygJElwKEW1vZGVsX2ZpbHRlcl9tb2RlGA4gASgOMkEuZXhhLmNvZGVpdW1fY29tbW9uX3BiLlRlYW1Pcmdhbml6YXRpb25hbENvbnRyb2xzLk1vZGVsRmlsdGVyTW9kZRJbChBhZGFwdGl2ZV9zZXR0aW5nGA8gASgOMkEuZXhhLmNvZGVpdW1fY29tbW9uX3BiLlRlYW1Pcmdhbml6YXRpb25hbENvbnRyb2xzLkFkYXB0aXZlU2V0dGluZxIcChRhbnRocm9waWNfcHJvZmlsZV9pZBgQIAEoCRIrCiNhbnRocm9waWNfY3liZXJfdmVyaWZpY2F0aW9uX3N0YXR1cxgRIAEoCRJ4CiRhbnRocm9waWNfY3liZXJfdmVyaWZpY2F0aW9uX2VuYWJsZWQYEiABKA4ySi5leGEuY29kZWl1bV9jb21tb25fcGIuVGVhbU9yZ2FuaXphdGlvbmFsQ29udHJvbHMuQ3liZXJWZXJpZmljYXRpb25FbmFibGVkEhoKEmJsb2NrZWRfbW9kZWxfdGFncxgTIAMoCRJiChRxdWlja19yZXZpZXdfc2V0dGluZxgUIAEoDjJELmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5UZWFtT3JnYW5pemF0aW9uYWxDb250cm9scy5RdWlja1Jldmlld1NldHRpbmcSewohYW50aHJvcGljX2N5YmVyX3JldGVudGlvbl9zZXR0aW5nGBUgASgOMlAuZXhhLmNvZGVpdW1fY29tbW9uX3BiLlRlYW1Pcmdhbml6YXRpb25hbENvbnRyb2xzLkFudGhyb3BpY0N5YmVyUmV0ZW50aW9uU2V0dGluZyJ3Cg9Nb2RlbEZpbHRlck1vZGUSIQodTU9ERUxfRklMVEVSX01PREVfVU5TUEVDSUZJRUQQABIeChpNT0RFTF9GSUxURVJfTU9ERV9CWV9NT0RFTBABEiEKHU1PREVMX0ZJTFRFUl9NT0RFX0JZX1BST1ZJREVSEAIicAoPQWRhcHRpdmVTZXR0aW5nEiAKHEFEQVBUSVZFX1NFVFRJTkdfVU5TUEVDSUZJRUQQABIcChhBREFQVElWRV9TRVRUSU5HX0VOQUJMRUQQARIdChlBREFQVElWRV9TRVRUSU5HX0RJU0FCTEVEEAIijQEKGEN5YmVyVmVyaWZpY2F0aW9uRW5hYmxlZBIqCiZDWUJFUl9WRVJJRklDQVRJT05fRU5BQkxFRF9VTlNQRUNJRklFRBAAEiEKHUNZQkVSX1ZFUklGSUNBVElPTl9FTkFCTEVEX09OEAESIgoeQ1lCRVJfVkVSSUZJQ0FUSU9OX0VOQUJMRURfT0ZGEAIifwoSUXVpY2tSZXZpZXdTZXR0aW5nEiQKIFFVSUNLX1JFVklFV19TRVRUSU5HX1VOU1BFQ0lGSUVEEAASIAocUVVJQ0tfUkVWSUVXX1NFVFRJTkdfRU5BQkxFRBABEiEKHVFVSUNLX1JFVklFV19TRVRUSU5HX0RJU0FCTEVEEAIisgEKHkFudGhyb3BpY0N5YmVyUmV0ZW50aW9uU2V0dGluZxIxCi1BTlRIUk9QSUNfQ1lCRVJfUkVURU5USU9OX1NFVFRJTkdfVU5TUEVDSUZJRUQQABItCilBTlRIUk9QSUNfQ1lCRVJfUkVURU5USU9OX1NFVFRJTkdfRU5BQkxFRBABEi4KKkFOVEhST1BJQ19DWUJFUl9SRVRFTlRJT05fU0VUVElOR19ESVNBQkxFRBACSgQIBxAIIvgBCi1FeHBlcmltZW50UHJvZmlsaW5nVGVsZW1ldHJ5U2FtcGxlUmF0ZVBheWxvYWQShgEKG21lbW9yeV91c2FnZV90b19zYW1wbGVfcmF0ZRgBIAMoCzJhLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5FeHBlcmltZW50UHJvZmlsaW5nVGVsZW1ldHJ5U2FtcGxlUmF0ZVBheWxvYWQuTWVtb3J5VXNhZ2VUb1NhbXBsZVJhdGVFbnRyeRo+ChxNZW1vcnlVc2FnZVRvU2FtcGxlUmF0ZUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoAToCOAEilAEKDE1vZGVsT3JBbGlhcxIxCgVtb2RlbBgBIAEoDjIcLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Nb2RlbEICGAFIABIyCgVhbGlhcxgCIAEoDjIhLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Nb2RlbEFsaWFzSAASEwoJbW9kZWxfdWlkGAMgASgJSABCCAoGY2hvaWNlIswBChVQcm9tcHRFbGVtZW50S2luZEluZm8SNgoEa2luZBgBIAEoDjIoLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Qcm9tcHRFbGVtZW50S2luZBI8Cg5leHBlcmltZW50X2tleRgCIAEoDjIkLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5FeHBlcmltZW50S2V5Eg8KB2VuYWJsZWQYAyABKAgSFgoObnVtX2NvbnNpZGVyZWQYBCABKAQSFAoMbnVtX2luY2x1ZGVkGAUgASgEIoEBCh5Qcm9tcHRFbGVtZW50SW5jbHVzaW9uTWV0YWRhdGESEAoIaW5jbHVkZWQYASABKAgSTQoQZXhjbHVzaW9uX3JlYXNvbhgCIAEoDjIzLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Qcm9tcHRFbGVtZW50RXhjbHVzaW9uUmVhc29uIjYKElByb21wdFN0YWdlTGF0ZW5jeRIMCgRuYW1lGAEgASgJEhIKCmxhdGVuY3lfbXMYAiABKAQi6gIKEkNvbXBsZXRpb25SZXNwb25zZRI2Cgtjb21wbGV0aW9ucxgBIAMoCzIhLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Db21wbGV0aW9uEhIKCm1heF90b2tlbnMYAiABKAQSEwoLdGVtcGVyYXR1cmUYAyABKAESDQoFdG9wX2sYBCABKAQSDQoFdG9wX3AYBSABKAESFQoNc3RvcF9wYXR0ZXJucxgGIAMoCRIVCg1wcm9tcHRfbGVuZ3RoGAcgASgEEhEKCXByb21wdF9pZBgIIAEoCRIRCgltb2RlbF90YWcYCiABKAkSSQoSY29tcGxldGlvbl9wcm9maWxlGAsgASgLMiguZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNvbXBsZXRpb25Qcm9maWxlSACIAQFCFQoTX2NvbXBsZXRpb25fcHJvZmlsZUoECAkQClIZcnVubmVyX2NvbXBsZXRpb25fbGF0ZW5jeSLQAwoKQ29tcGxldGlvbhIVCg1jb21wbGV0aW9uX2lkGAEgASgJEhMKC3JlcXVlc3RfdWlkGBEgASgJEgwKBHRleHQYAiABKAkSDAoEc3RvcBgEIAEoCRINCgVzY29yZRgFIAEoARIOCgZ0b2tlbnMYBiADKAQSFgoOZGVjb2RlZF90b2tlbnMYByADKAkSFQoNcHJvYmFiaWxpdGllcxgIIAMoARIeChZhZGp1c3RlZF9wcm9iYWJpbGl0aWVzGAkgAygBEhAKCGxvZ3Byb2JzGBAgAygBEhgKEGdlbmVyYXRlZF9sZW5ndGgYCiABKAQSNgoLc3RvcF9yZWFzb24YDCABKA4yIS5leGEuY29kZWl1bV9jb21tb25fcGIuU3RvcFJlYXNvbhI7Cg5maWx0ZXJfcmVhc29ucxgNIAMoDjIjLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5GaWx0ZXJSZWFzb24SFQoNb3JpZ2luYWxfdGV4dBgOIAEoCRI3Cgp0b29sX2NhbGxzGA8gAygLMiMuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNoYXRUb29sQ2FsbEoECAMQBEoECAsQDFIGcHJlZml4UgdlbnRyb3B5It4CChdTdHJlYW1pbmdDb21wbGV0aW9uSW5mbxIWCg5jb21wbGV0aW9uX2lkcxgBIAMoCRISCgptYXhfdG9rZW5zGAIgASgEEhMKC3RlbXBlcmF0dXJlGAMgASgBEg0KBXRvcF9rGAQgASgEEg0KBXRvcF9wGAUgASgBEhUKDXN0b3BfcGF0dGVybnMYBiADKAkSFQoNcHJvbXB0X2xlbmd0aBgHIAEoBBIRCglwcm9tcHRfaWQYCSABKAkSEQoJbW9kZWxfdGFnGAggASgJEkYKE2NvbXBsZXRpb25zX3JlcXVlc3QYCiABKAsyKS5leGEuY29kZWl1bV9jb21tb25fcGIuQ29tcGxldGlvbnNSZXF1ZXN0EkgKEGV2YWxfc3VmZml4X2luZm8YCyABKAsyLi5leGEuY29kZWl1bV9jb21tb25fcGIuU3RyZWFtaW5nRXZhbFN1ZmZpeEluZm8i2wIKHFNpbmdsZU1vZGVsQ29tcGxldGlvblByb2ZpbGUSHwoXdG90YWxfcHJlZmlsbF9wYXNzX3RpbWUYASABKAESHQoVYXZnX3ByZWZpbGxfcGFzc190aW1lGAIgASgBEhoKEm51bV9wcmVmaWxsX3Bhc3NlcxgDIAEoBBIhChl0b3RhbF9zcGVjX2NvcHlfcGFzc190aW1lGAcgASgBEh8KF2F2Z19zcGVjX2NvcHlfcGFzc190aW1lGAggASgBEhwKFG51bV9zcGVjX2NvcHlfcGFzc2VzGAkgASgEEiIKGnRvdGFsX2dlbmVyYXRpb25fcGFzc190aW1lGAQgASgBEiAKGGF2Z19nZW5lcmF0aW9uX3Bhc3NfdGltZRgFIAEoARIdChVudW1fZ2VuZXJhdGlvbl9wYXNzZXMYBiABKAQSGAoQdG90YWxfbW9kZWxfdGltZRgKIAEoASKAAwoRQ29tcGxldGlvblByb2ZpbGUSSgoNbW9kZWxfcHJvZmlsZRgBIAEoCzIzLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5TaW5nbGVNb2RlbENvbXBsZXRpb25Qcm9maWxlElUKE2RyYWZ0X21vZGVsX3Byb2ZpbGUYAiABKAsyMy5leGEuY29kZWl1bV9jb21tb25fcGIuU2luZ2xlTW9kZWxDb21wbGV0aW9uUHJvZmlsZUgAiAEBEiIKGnRpbWVfdG9fZmlyc3RfcHJlZmlsbF9wYXNzGAMgASgBEhsKE3RpbWVfdG9fZmlyc3RfdG9rZW4YBCABKAESHQoVdG90YWxfY29tcGxldGlvbl90aW1lGAUgASgBEkAKC21vZGVsX3VzYWdlGAYgASgLMiYuZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1vZGVsVXNhZ2VTdGF0c0gBiAEBQhYKFF9kcmFmdF9tb2RlbF9wcm9maWxlQg4KDF9tb2RlbF91c2FnZSKrAwoTU3RyZWFtaW5nQ29tcGxldGlvbhIVCg1kZWNvZGVkX3Rva2VuGAEgASgMEg0KBXRva2VuGAIgASgEEhMKC3Byb2JhYmlsaXR5GAMgASgBEhwKFGFkanVzdGVkX3Byb2JhYmlsaXR5GAQgASgBEg8KB2xvZ3Byb2IYCSABKAESGwoTY29tcGxldGlvbl9maW5pc2hlZBgFIAEoCBIMCgRzdG9wGAYgASgJEjYKC3N0b3BfcmVhc29uGAcgASgOMiEuZXhhLmNvZGVpdW1fY29tbW9uX3BiLlN0b3BSZWFzb24SYQoUYXR0cmlidXRpb25fc3RhdHVzZXMYCCADKAsyQy5leGEuY29kZWl1bV9jb21tb25fcGIuU3RyZWFtaW5nQ29tcGxldGlvbi5BdHRyaWJ1dGlvblN0YXR1c2VzRW50cnkaZAoYQXR0cmlidXRpb25TdGF0dXNlc0VudHJ5EgsKA2tleRgBIAEoDRI3CgV2YWx1ZRgCIAEoDjIoLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5BdHRyaWJ1dGlvblN0YXR1czoCOAEizQEKFlN0cmVhbWluZ0NvbXBsZXRpb25NYXASUwoLY29tcGxldGlvbnMYASADKAsyPi5leGEuY29kZWl1bV9jb21tb25fcGIuU3RyZWFtaW5nQ29tcGxldGlvbk1hcC5Db21wbGV0aW9uc0VudHJ5Gl4KEENvbXBsZXRpb25zRW50cnkSCwoDa2V5GAEgASgFEjkKBXZhbHVlGAIgASgLMiouZXhhLmNvZGVpdW1fY29tbW9uX3BiLlN0cmVhbWluZ0NvbXBsZXRpb246AjgBImcKHVBhY2tlZFN0cmVhbWluZ0NvbXBsZXRpb25NYXBzEkYKD2NvbXBsZXRpb25fbWFwcxgBIAMoCzItLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5TdHJlYW1pbmdDb21wbGV0aW9uTWFwIk8KF1N0cmVhbWluZ0V2YWxTdWZmaXhJbmZvEiEKGXBlcl90b2tlbl9sb2dfbGlrZWxpaG9vZHMYASADKAISEQoJaXNfZ3JlZWR5GAIgASgIIo4DChtTdHJlYW1pbmdDb21wbGV0aW9uUmVzcG9uc2USSQoPY29tcGxldGlvbl9pbmZvGAEgASgLMi4uZXhhLmNvZGVpdW1fY29tbW9uX3BiLlN0cmVhbWluZ0NvbXBsZXRpb25JbmZvSAASRwoOY29tcGxldGlvbl9tYXAYAiABKAsyLS5leGEuY29kZWl1bV9jb21tb25fcGIuU3RyZWFtaW5nQ29tcGxldGlvbk1hcEgAElYKFnBhY2tlZF9jb21wbGV0aW9uX21hcHMYBCABKAsyNC5leGEuY29kZWl1bV9jb21tb25fcGIuUGFja2VkU3RyZWFtaW5nQ29tcGxldGlvbk1hcHNIABJJChJjb21wbGV0aW9uX3Byb2ZpbGUYBSABKAsyKC5leGEuY29kZWl1bV9jb21tb25fcGIuQ29tcGxldGlvblByb2ZpbGVIAYgBAUIJCgdwYXlsb2FkQhUKE19jb21wbGV0aW9uX3Byb2ZpbGVKBAgDEARSEGV2YWxfc3VmZml4X2luZm8i9gIKFUNvbXBsZXRpb25MYXRlbmN5SW5mbxIdChVhcGlfc2VydmVyX2xhdGVuY3lfbXMYASABKAQSIgoabGFuZ3VhZ2Vfc2VydmVyX2xhdGVuY3lfbXMYAiABKAQSGgoSbmV0d29ya19sYXRlbmN5X21zGAMgASgEEigKIGFwaV9zZXJ2ZXJfZmlyc3RfYnl0ZV9sYXRlbmN5X21zGAQgASgEEi0KJWxhbmd1YWdlX3NlcnZlcl9maXJzdF9ieXRlX2xhdGVuY3lfbXMYBSABKAQSJQodbmV0d29ya19maXJzdF9ieXRlX2xhdGVuY3lfbXMYBiABKAQSKAogYXBpX3NlcnZlcl9maXJzdF9saW5lX2xhdGVuY3lfbXMYByABKAQSLQolbGFuZ3VhZ2Vfc2VydmVyX2ZpcnN0X2xpbmVfbGF0ZW5jeV9tcxgIIAEoBBIlCh1uZXR3b3JrX2ZpcnN0X2xpbmVfbGF0ZW5jeV9tcxgJIAEoBCKWAQoZQ29tcGxldGlvbldpdGhMYXRlbmN5SW5mbxI1Cgpjb21wbGV0aW9uGAEgASgLMiEuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNvbXBsZXRpb24SQgoMbGF0ZW5jeV9pbmZvGAIgASgLMiwuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNvbXBsZXRpb25MYXRlbmN5SW5mbyLFAQoRRW1iZWRkaW5nc1JlcXVlc3QSDwoHcHJvbXB0cxgBIAMoCRI6Cghwcmlvcml0eRgCIAEoDjIoLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5FbWJlZGRpbmdQcmlvcml0eRI2CgZwcmVmaXgYAyABKA4yJi5leGEuY29kZWl1bV9jb21tb25fcGIuRW1iZWRkaW5nUHJlZml4EisKBW1vZGVsGAQgASgOMhwuZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1vZGVsIhsKCUVtYmVkZGluZxIOCgZ2YWx1ZXMYASADKAIicgoRRW1iZWRkaW5nUmVzcG9uc2USNAoKZW1iZWRkaW5ncxgBIAMoCzIgLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5FbWJlZGRpbmcSJwofcHJvbXB0c19leGNlZWRlZF9jb250ZXh0X2xlbmd0aBgCIAEoCCJMCg5SZXdhcmRzUmVxdWVzdBIOCgZwcmVmaXgYAiABKAkSDQoFaXRlbXMYAyADKAkSGwoTaGFzX2luc3RydWN0X3Rva2VucxgEIAEoCCJKCg9SZXdhcmRzUmVzcG9uc2USDgoGdmFsdWVzGAEgAygCEicKH3Byb21wdHNfZXhjZWVkZWRfY29udGV4dF9sZW5ndGgYAiABKAgi5AUKCE1ldGFkYXRhEhAKCGlkZV9uYW1lGAEgASgJEhMKC2lkZV92ZXJzaW9uGAcgASgJEhAKCGlkZV90eXBlGBwgASgJEhYKDmV4dGVuc2lvbl9uYW1lGAwgASgJEhkKEWV4dGVuc2lvbl92ZXJzaW9uGAIgASgJEg8KB2FwaV9rZXkYAyABKAkSDgoGbG9jYWxlGAQgASgJEgoKAm9zGAUgASgJEhAKCGhhcmR3YXJlGAggASgJEhkKEWRpc2FibGVfdGVsZW1ldHJ5GAYgASgIEhIKCnNlc3Npb25faWQYCiABKAkSMAoMbHNfdGltZXN0YW1wGBAgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBISCgpyZXF1ZXN0X2lkGAkgASgEEhYKDnNvdXJjZV9hZGRyZXNzGAsgASgJEhIKCnVzZXJfYWdlbnQYDSABKAkSCwoDdXJsGA4gASgJEjYKC2F1dGhfc291cmNlGA8gASgOMiEuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkF1dGhTb3VyY2USFgoOZXh0ZW5zaW9uX3BhdGgYESABKAkSDwoHdXNlcl9pZBgUIAEoCRIQCgh1c2VyX2p3dBgVIAEoCRIVCg1mb3JjZV90ZWFtX2lkGBYgASgJEhoKEmRldmljZV9maW5nZXJwcmludBgYIAEoCRISCgp0cmlnZ2VyX2lkGBkgASgJEhEKCXBsYW5fbmFtZRgaIAEoCRIKCgJpZBgbIAEoCRIYChBpbXBlcnNvbmF0ZV90aWVyGB0gASgJEkYKGHN1cHBvcnRlZF9tb2RlbF9kaXNwbGF5cxgeIAMoDjIkLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5EaXNwbGF5T3B0aW9uEgkKAWYYHyABKAkSDwoHdGVhbV9pZBggIAEoCUoECBMQFEoECBcQGFIKaXBfYWRkcmVzc1IQd2luZHN1cmZfdmVyc2lvbiJiCg1FZGl0b3JPcHRpb25zEhAKCHRhYl9zaXplGAEgASgEEhUKDWluc2VydF9zcGFjZXMYAiABKAgSKAogZGlzYWJsZV9hdXRvY29tcGxldGVfaW5fY29tbWVudHMYAyABKAgiYAoKRXJyb3JUcmFjZRIQCghlcnJvcl9pZBgBIAEoCRIZChF0aW1lc3RhbXBfdW5peF9tcxgCIAEoAxISCgpzdGFja3RyYWNlGAMgASgJEhEKCXJlY292ZXJlZBgEIAEoCCJsCgVFdmVudBI0CgpldmVudF90eXBlGAEgASgOMiAuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkV2ZW50VHlwZRISCgpldmVudF9qc29uGAIgASgJEhkKEXRpbWVzdGFtcF91bml4X21zGAMgASgDIp8DChJTZWFyY2hSZXN1bHRSZWNvcmQSEQoJc2VhcmNoX2lkGAEgASgJEhEKCXJlc3VsdF9pZBgCIAEoCRIVCg1hYnNvbHV0ZV9wYXRoGAMgASgJEj0KD3dvcmtzcGFjZV9wYXRocxgEIAMoCzIkLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Xb3Jrc3BhY2VQYXRoEgwKBHRleHQYBSABKAkSRAoSZW1iZWRkaW5nX21ldGFkYXRhGAYgASgLMiguZXhhLmNvZGVpdW1fY29tbW9uX3BiLkVtYmVkZGluZ01ldGFkYXRhEhgKEHNpbWlsYXJpdHlfc2NvcmUYByABKAISHgoWbnVtX3Jlc3VsdHNfaW5fY2x1c3RlchgIIAEoAxIbChNyZXByZXNlbnRhdGl2ZV9wYXRoGAkgASgJEh0KFW1lYW5fc2ltaWxhcml0eV9zY29yZRgKIAEoAhJDChJzZWFyY2hfcmVzdWx0X3R5cGUYCyABKA4yJy5leGEuY29kZWl1bV9jb21tb25fcGIuU2VhcmNoUmVzdWx0VHlwZSJmCg1Xb3Jrc3BhY2VQYXRoEicKG3dvcmtzcGFjZV9taWdyYXRlX21lX3RvX3VyaRgBIAEoCUICGAESFQoNd29ya3NwYWNlX3VyaRgDIAEoCRIVCg1yZWxhdGl2ZV9wYXRoGAIgASgJIoIBChFFbWJlZGRpbmdNZXRhZGF0YRIRCglub2RlX25hbWUYASABKAkSEgoKc3RhcnRfbGluZRgCIAEoDRIQCghlbmRfbGluZRgDIAEoDRI0CgplbWJlZF90eXBlGAQgASgOMiAuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkVtYmVkVHlwZSJKChBNb2NrUmVzcG9uc2VEYXRhEjYKC2NvbXBsZXRpb25zGAEgAygLMiEuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNvbXBsZXRpb24ijQMKEldvcmtzcGFjZUluZGV4RGF0YRIjCht3b3Jrc3BhY2VfdXJpX2Zvcl90ZWxlbWV0cnkYASABKAkSMgoOaW5kZXhpbmdfc3RhcnQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjAKDGluZGV4aW5nX2VuZBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASNQoSZW1iZWRkaW5nX2R1cmF0aW9uGAQgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uEhcKD251bV9maWxlc190b3RhbBgFIAEoAxIaChJudW1fZmlsZXNfdG9fZW1iZWQYBiABKAMSFwoPbnVtX25vZGVzX3RvdGFsGAcgASgDEhoKEm51bV9ub2Rlc190b19lbWJlZBgIIAEoAxISCgpudW1fdG9rZW5zGAkgASgDEigKIG51bV9oaWdoX3ByaW9yaXR5X25vZGVzX3RvX2VtYmVkGAogASgDEg0KBWVycm9yGAsgASgJIrUCCg5Xb3Jrc3BhY2VTdGF0cxIRCgl3b3Jrc3BhY2UYAyABKAkSRgoJbnVtX2ZpbGVzGAEgAygLMjMuZXhhLmNvZGVpdW1fY29tbW9uX3BiLldvcmtzcGFjZVN0YXRzLk51bUZpbGVzRW50cnkSRgoJbnVtX2J5dGVzGAIgAygLMjMuZXhhLmNvZGVpdW1fY29tbW9uX3BiLldvcmtzcGFjZVN0YXRzLk51bUJ5dGVzRW50cnkSHgoWaW5pdGlhbF9zY2FuX2NvbXBsZXRlZBgEIAEoCBovCg1OdW1GaWxlc0VudHJ5EgsKA2tleRgBIAEoBRINCgV2YWx1ZRgCIAEoAzoCOAEaLwoNTnVtQnl0ZXNFbnRyeRILCgNrZXkYASABKAUSDQoFdmFsdWUYAiABKAM6AjgBIoABChRQYXJ0aWFsSW5kZXhNZXRhZGF0YRIXCg9udW1fdG90YWxfZmlsZXMYASABKA0SGQoRbnVtX2luZGV4ZWRfZmlsZXMYAiABKA0SNAoQY3V0b2ZmX3RpbWVzdGFtcBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAi0wIKDEZ1bmN0aW9uSW5mbxISCgpyYXdfc291cmNlGAEgASgJEhYKDmNsZWFuX2Z1bmN0aW9uGAIgASgJEhEKCWRvY3N0cmluZxgDIAEoCRIRCglub2RlX25hbWUYBCABKAkSDgoGcGFyYW1zGAUgASgJEhcKD2RlZmluaXRpb25fbGluZRgGIAEoBRISCgpzdGFydF9saW5lGAcgASgFEhAKCGVuZF9saW5lGAggASgFEhEKCXN0YXJ0X2NvbBgJIAEoBRIPCgdlbmRfY29sGAogASgFEhoKEmxlYWRpbmdfd2hpdGVzcGFjZRgLIAEoCRIxCghsYW5ndWFnZRgMIAEoDjIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5MYW5ndWFnZRIXCg9ib2R5X3N0YXJ0X2xpbmUYDSABKAUSFgoOYm9keV9zdGFydF9jb2wYDiABKAUi+QIKCUNsYXNzSW5mbxISCgpyYXdfc291cmNlGAEgASgJEhIKCnN0YXJ0X2xpbmUYAiABKAUSEAoIZW5kX2xpbmUYAyABKAUSEQoJc3RhcnRfY29sGAQgASgFEg8KB2VuZF9jb2wYBSABKAUSGgoSbGVhZGluZ193aGl0ZXNwYWNlGAYgASgJEh8KF2ZpZWxkc19hbmRfY29uc3RydWN0b3JzGAcgAygJEhEKCWRvY3N0cmluZxgIIAEoCRIRCglub2RlX25hbWUYCSABKAkSNAoHbWV0aG9kcxgKIAMoCzIjLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5GdW5jdGlvbkluZm8SFAoMbm9kZV9saW5lYWdlGAsgAygJEhMKC2lzX2V4cG9ydGVkGAwgASgIEjEKCGxhbmd1YWdlGA0gASgOMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLkxhbmd1YWdlEhcKD2RlZmluaXRpb25fbGluZRgOIAEoBSJeChVUZWFtc0ZlYXR1cmVzTWV0YWRhdGESEQoJaXNfYWN0aXZlGAEgASgIEh4KFnN0cmlwZV9zdWJzY3JpcHRpb25faWQYAiABKAkSEgoKaGFzX2FjY2VzcxgDIAEoCCJdCgtQcm9tb1N0YXR1cxIRCglpc19hY3RpdmUYASABKAgSLAoIZW5kX2RhdGUYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg0KBWxhYmVsGAMgASgJIjAKCkZhc3RTdGF0dXMSEQoJaXNfYWN0aXZlGAEgASgIEg8KB3Rvb2x0aXAYAiABKAkiOgoLQXJlbmFDb25maWcSGQoRdG9rZW5zX3Blcl9zZWNvbmQYAiABKAJKBAgBEAJSCmFyZW5hX3RpZXIivgEKDk1vZGVsRGltZW5zaW9uEg0KBWxhYmVsGAEgASgJEg0KBXZhbHVlGAIgASgCEhMKC2Rlbm9taW5hdG9yGAMgASgJEhEKCW1pbl9yYW5nZRgEIAEoAhIRCgltYXhfcmFuZ2UYBSABKAISNwoEa2luZBgGIAEoDjIpLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Nb2RlbERpbWVuc2lvbktpbmQSEQoEaW5mbxgHIAEoCUgAiAEBQgcKBV9pbmZvInEKE01vZGVsRGlzYWJsZWRSZWFzb24SFAoMc2hvcnRfcmVhc29uGAEgASgJEhgKC2Rlc2NyaXB0aW9uGAIgASgJSACIAQESEQoEbGluaxgDIAEoCUgBiAEBQg4KDF9kZXNjcmlwdGlvbkIHCgVfbGluayKaCgoRQ2xpZW50TW9kZWxDb25maWcSDQoFbGFiZWwYASABKAkSOwoObW9kZWxfb3JfYWxpYXMYAiABKAsyIy5leGEuY29kZWl1bV9jb21tb25fcGIuTW9kZWxPckFsaWFzEhEKCW1vZGVsX3VpZBgWIAEoCRIZChFjcmVkaXRfbXVsdGlwbGllchgDIAEoAhI9CgxwcmljaW5nX3R5cGUYDSABKA4yJy5leGEuY29kZWl1bV9jb21tb25fcGIuTW9kZWxQcmljaW5nVHlwZRIQCghkaXNhYmxlZBgEIAEoCBIXCg9zdXBwb3J0c19pbWFnZXMYBSABKAgSFwoPc3VwcG9ydHNfbGVnYWN5GAYgASgIEhIKCmlzX3ByZW1pdW0YByABKAgSHAoUYmV0YV93YXJuaW5nX21lc3NhZ2UYCCABKAkSDwoHaXNfYmV0YRgJIAEoCBI2Cghwcm92aWRlchgKIAEoDjIkLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Nb2RlbFByb3ZpZGVyEhYKDmlzX3JlY29tbWVuZGVkGAsgASgIEjcKDWFsbG93ZWRfdGllcnMYDCADKA4yIC5leGEuY29kZWl1bV9jb21tb25fcGIuVGVhbXNUaWVyEjgKDGFwaV9wcm92aWRlchgOIAEoDjIiLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5BUElQcm92aWRlchIOCgZpc19uZXcYDyABKAgSFwoPcGFydGlhbF9yb2xsb3V0GBAgASgIEhgKEHJvbGxvdXRfZnJhY3Rpb24YESABKAISEgoKbWF4X3Rva2VucxgSIAEoBRI4Cgxwcm9tb19zdGF0dXMYEyABKAsyIi5leGEuY29kZWl1bV9jb21tb25fcGIuUHJvbW9TdGF0dXMSGwoTaXNfY2FwYWNpdHlfbGltaXRlZBgUIAEoCBI2CgtmYXN0X3N0YXR1cxgVIAEoCzIhLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5GYXN0U3RhdHVzEjQKCm1vZGVsX2luZm8YFyABKAsyIC5leGEuY29kZWl1bV9jb21tb25fcGIuTW9kZWxJbmZvEj0KD21vZGVsX2Nvc3RfdGllchgYIAEoDjIkLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Nb2RlbENvc3RUaWVyEhgKC2Rlc2NyaXB0aW9uGBsgASgJSACIAQESIwoWc21hcnRfZnJpZW5kX21vZGVsX3VpZBgdIAEoCUgBiAEBEkkKFW1vZGVsX2ZhbWlseV9tZXRhZGF0YRgeIAEoCzIqLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Nb2RlbEZhbWlseU1ldGFkYXRhEiIKGmlzX2RlZmF1bHRfbW9kZWxfaW5fZmFtaWx5GB8gASgIEj8KEG1vZGVsX2RpbWVuc2lvbnMYICADKAsyJS5leGEuY29kZWl1bV9jb21tb25fcGIuTW9kZWxEaW1lbnNpb24SSAoPZGlzYWJsZWRfcmVhc29uGCEgASgLMiouZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1vZGVsRGlzYWJsZWRSZWFzb25IAogBAUIOCgxfZGVzY3JpcHRpb25CGQoXX3NtYXJ0X2ZyaWVuZF9tb2RlbF91aWRCEgoQX2Rpc2FibGVkX3JlYXNvbkoECBkQGkoECBoQG0oECBwQHVIKYXJlbmFfdGllclIRdG9rZW5zX3Blcl9zZWNvbmQijwEKGkRlZmF1bHRPdmVycmlkZU1vZGVsQ29uZmlnEkoKGW1vZGVsX29yX2FsaWFzX2RlcHJlY2F0ZWQYASABKAsyIy5leGEuY29kZWl1bV9jb21tb25fcGIuTW9kZWxPckFsaWFzQgIYARIRCgltb2RlbF91aWQYAyABKAkSEgoKdmVyc2lvbl9pZBgCIAEoCSKIAQoPQ2xpZW50TW9kZWxTb3J0EgwKBG5hbWUYASABKAkSNwoGZ3JvdXBzGAIgAygLMicuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNsaWVudE1vZGVsR3JvdXASGwoOZGlzcGxheV9tZXRyaWMYAyABKAlIAIgBAUIRCg9fZGlzcGxheV9tZXRyaWMiPAoQQ2xpZW50TW9kZWxHcm91cBISCgpncm91cF9uYW1lGAEgASgJEhQKDG1vZGVsX2xhYmVscxgCIAMoCSLiAgoWQ2FzY2FkZU1vZGVsQ29uZmlnRGF0YRJGChRjbGllbnRfbW9kZWxfY29uZmlncxgBIAMoCzIoLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5DbGllbnRNb2RlbENvbmZpZxJCChJjbGllbnRfbW9kZWxfc29ydHMYAiADKAsyJi5leGEuY29kZWl1bV9jb21tb25fcGIuQ2xpZW50TW9kZWxTb3J0El0KHWRlZmF1bHRfb3ZlcnJpZGVfbW9kZWxfY29uZmlnGAMgASgLMjEuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkRlZmF1bHRPdmVycmlkZU1vZGVsQ29uZmlnSACIAQESHAoUYXJlbmFfbW9kZV9jb3N0X2Zhc3QYBCABKAISHQoVYXJlbmFfbW9kZV9jb3N0X3NtYXJ0GAUgASgCQiAKHl9kZWZhdWx0X292ZXJyaWRlX21vZGVsX2NvbmZpZyJsChJBbGxvd2VkTW9kZWxDb25maWcSOwoObW9kZWxfb3JfYWxpYXMYASABKAsyIy5leGEuY29kZWl1bV9jb21tb25fcGIuTW9kZWxPckFsaWFzEhkKEWNyZWRpdF9tdWx0aXBsaWVyGAIgASgCIvkLCghQbGFuSW5mbxI0Cgp0ZWFtc190aWVyGAEgASgOMiAuZXhhLmNvZGVpdW1fY29tbW9uX3BiLlRlYW1zVGllchIRCglwbGFuX25hbWUYAiABKAkSIgoaaGFzX2F1dG9jb21wbGV0ZV9mYXN0X21vZGUYAyABKAgSIwobYWxsb3dfc3RpY2t5X3ByZW1pdW1fbW9kZWxzGAQgASgIEhgKEGhhc19mb3JnZV9hY2Nlc3MYBSABKAgSJgoeZGlzYWJsZV9jb2RlX3NuaXBwZXRfdGVsZW1ldHJ5GAsgASgIEiQKHGFsbG93X3ByZW1pdW1fY29tbWFuZF9tb2RlbHMYDyABKAgSFwoPaGFzX3RhYl90b19qdW1wGBcgASgIEiUKHW1heF9udW1fcHJlbWl1bV9jaGF0X21lc3NhZ2VzGAYgASgDEiEKGW1heF9udW1fY2hhdF9pbnB1dF90b2tlbnMYByABKAMSLgombWF4X2N1c3RvbV9jaGF0X2luc3RydWN0aW9uX2NoYXJhY3RlcnMYCCABKAMSJAocbWF4X251bV9waW5uZWRfY29udGV4dF9pdGVtcxgJIAEoAxIcChRtYXhfbG9jYWxfaW5kZXhfc2l6ZRgKIAEoAxIfChNtYXhfdW5jbGFpbWVkX3NpdGVzGBogASgFQgIYARIeChZtb250aGx5X3Byb21wdF9jcmVkaXRzGAwgASgFEhwKFG1vbnRobHlfZmxvd19jcmVkaXRzGA0gASgFEisKI21vbnRobHlfZmxleF9jcmVkaXRfcHVyY2hhc2VfYW1vdW50GA4gASgFEhAKCGlzX3RlYW1zGBEgASgIEhUKDWlzX2VudGVycHJpc2UYECABKAgSGQoRaGFzX3BhaWRfZmVhdHVyZXMYICABKAgSHAoUY2FuX2J1eV9tb3JlX2NyZWRpdHMYEiABKAgSIgoaY2FzY2FkZV93ZWJfc2VhcmNoX2VuYWJsZWQYEyABKAgSHgoWY2FuX2N1c3RvbWl6ZV9hcHBfaWNvbhgUIAEoCBIlCh1jYXNjYWRlX2Nhbl9hdXRvX3J1bl9jb21tYW5kcxgWIAEoCBIkChxjYW5fZ2VuZXJhdGVfY29tbWl0X21lc3NhZ2VzGBkgASgIEh4KFmtub3dsZWRnZV9iYXNlX2VuYWJsZWQYGyABKAgSVAodY2FzY2FkZV9hbGxvd2VkX21vZGVsc19jb25maWcYFSADKAsyKS5leGEuY29kZWl1bV9jb21tb25fcGIuQWxsb3dlZE1vZGVsQ29uZmlnQgIYARI+ChNkZWZhdWx0X3RlYW1fY29uZmlnGBggASgLMiEuZXhhLmNvZGVpdW1fY29tbW9uX3BiLlRlYW1Db25maWcSHwoXY2FuX3NoYXJlX2NvbnZlcnNhdGlvbnMYHCABKAgSJwofY2FuX2FsbG93X2Nhc2NhZGVfaW5fYmFja2dyb3VuZBgdIAEoCBJXChVkZWZhdWx0X3RlYW1fZmVhdHVyZXMYHiADKAsyOC5leGEuY29kZWl1bV9jb21tb25fcGIuUGxhbkluZm8uRGVmYXVsdFRlYW1GZWF0dXJlc0VudHJ5EhcKD2Jyb3dzZXJfZW5hYmxlZBgfIAEoCBI4CgpkZXZpbl9pbmZvGCEgASgLMiQuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkRldmluUGxhbkluZm8SEAoIaXNfZGV2aW4YIiABKAgSQAoQYmlsbGluZ19zdHJhdGVneRgjIAEoDjImLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5CaWxsaW5nU3RyYXRlZ3kSGAoQaGlkZV9kYWlseV9xdW90YRgkIAEoCBIZChFoaWRlX3dlZWtseV9xdW90YRglIAEoCBpoChhEZWZhdWx0VGVhbUZlYXR1cmVzRW50cnkSCwoDa2V5GAEgASgFEjsKBXZhbHVlGAIgASgLMiwuZXhhLmNvZGVpdW1fY29tbW9uX3BiLlRlYW1zRmVhdHVyZXNNZXRhZGF0YToCOAEi3wEKDURldmluUGxhbkluZm8SFwoPY2FuX3VzZV9jYXNjYWRlGAEgASgIEhMKC2Nhbl91c2VfY2xpGAIgASgIEhAKCGlzX2FkbWluGAMgASgIEg4KBm9yZ19pZBgEIAEoCRITCgt3ZWJhcHBfaG9zdBgFIAEoCRIhChRkZXZpbl9yZXZpZXdfZW5hYmxlZBgGIAEoCEgAiAEBEg8KB2FwaV91cmwYByABKAkSHAoUYWNjb3VudF9kaXNwbGF5X25hbWUYCCABKAlCFwoVX2RldmluX3Jldmlld19lbmFibGVkIt4BCgtUb3BVcFN0YXR1cxJLChl0b3BfdXBfdHJhbnNhY3Rpb25fc3RhdHVzGAEgASgOMiguZXhhLmNvZGVpdW1fY29tbW9uX3BiLlRyYW5zYWN0aW9uU3RhdHVzEhYKDnRvcF91cF9lbmFibGVkGAIgASgIEh0KFW1vbnRobHlfdG9wX3VwX2Ftb3VudBgDIAEoBRIUCgx0b3BfdXBfc3BlbnQYBCABKAUSGAoQdG9wX3VwX2luY3JlbWVudBgFIAEoBRIbChN0b3BfdXBfY3JpdGVyaWFfbWV0GAYgASgIIugFCgpQbGFuU3RhdHVzEjIKCXBsYW5faW5mbxgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5QbGFuSW5mbxIuCgpwbGFuX3N0YXJ0GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIsCghwbGFuX2VuZBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASIAoYYXZhaWxhYmxlX3Byb21wdF9jcmVkaXRzGAggASgFEh4KFmF2YWlsYWJsZV9mbG93X2NyZWRpdHMYCSABKAUSHgoWYXZhaWxhYmxlX2ZsZXhfY3JlZGl0cxgEIAEoBRIZChF1c2VkX2ZsZXhfY3JlZGl0cxgHIAEoBRIZChF1c2VkX2Zsb3dfY3JlZGl0cxgFIAEoBRIbChN1c2VkX3Byb21wdF9jcmVkaXRzGAYgASgFEjkKDXRvcF91cF9zdGF0dXMYCiABKAsyIi5leGEuY29kZWl1bV9jb21tb25fcGIuVG9wVXBTdGF0dXMSJQodd2FzX3JlZHVjZWRfYnlfb3JwaGFuZWRfdXNhZ2UYCyABKAgSRQoTZ3JhY2VfcGVyaW9kX3N0YXR1cxgMIAEoDjIoLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5HcmFjZVBlcmlvZFN0YXR1cxI0ChBncmFjZV9wZXJpb2RfZW5kGA0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIlCh1kYWlseV9xdW90YV9yZW1haW5pbmdfcGVyY2VudBgOIAEoBRImCh53ZWVrbHlfcXVvdGFfcmVtYWluaW5nX3BlcmNlbnQYDyABKAUSHgoWb3ZlcmFnZV9iYWxhbmNlX21pY3JvcxgQIAEoAxIhChlkYWlseV9xdW90YV9yZXNldF9hdF91bml4GBEgASgDEiIKGndlZWtseV9xdW90YV9yZXNldF9hdF91bml4GBIgASgDIvMGCgpVc2VyU3RhdHVzEgsKA3BybxgBIAEoCBIZChFkaXNhYmxlX3RlbGVtZXRyeRgCIAEoCBIMCgRuYW1lGAMgASgJEiUKHWlnbm9yZV9jaGF0X3RlbGVtZXRyeV9zZXR0aW5nGAQgASgIEg8KB3RlYW1faWQYBSABKAkSOgoLdGVhbV9zdGF0dXMYBiABKA4yJS5leGEuY29kZWl1bV9jb21tb25fcGIuVXNlclRlYW1TdGF0dXMSDQoFZW1haWwYByABKAkSOgoNdXNlcl9mZWF0dXJlcxgJIAMoDjIjLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Vc2VyRmVhdHVyZXMSPAoOdGVhbXNfZmVhdHVyZXMYCCADKA4yJC5leGEuY29kZWl1bV9jb21tb25fcGIuVGVhbXNGZWF0dXJlcxI0Cgp0ZWFtc190aWVyGAogASgOMiAuZXhhLmNvZGVpdW1fY29tbW9uX3BiLlRlYW1zVGllchI2CgtwZXJtaXNzaW9ucxgLIAMoDjIhLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5QZXJtaXNzaW9uEjYKC3BsYW5fc3RhdHVzGA0gASgLMiEuZXhhLmNvZGVpdW1fY29tbW9uX3BiLlBsYW5TdGF0dXMSGQoRaGFzX3VzZWRfd2luZHN1cmYYHyABKAgSIAoYdXNlcl91c2VkX3Byb21wdF9jcmVkaXRzGBwgASgDEh4KFnVzZXJfdXNlZF9mbG93X2NyZWRpdHMYHSABKAMSGwoTaGFzX2ZpbmdlcnByaW50X3NldBgeIAEoCBI2Cgt0ZWFtX2NvbmZpZxggIAEoCzIhLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5UZWFtQ29uZmlnElAKGWNhc2NhZGVfbW9kZWxfY29uZmlnX2RhdGEYISABKAsyLS5leGEuY29kZWl1bV9jb21tb25fcGIuQ2FzY2FkZU1vZGVsQ29uZmlnRGF0YRI/Cht3aW5kc3VyZl9wcm9fdHJpYWxfZW5kX3RpbWUYIiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiUKHW1heF9udW1fcHJlbWl1bV9jaGF0X21lc3NhZ2VzGCMgASgDEg8KB3VzZXJfaWQYJCABKAlKBAgMEA1SCXBsYW5faW5mbyKVAQoQU2NtV29ya3NwYWNlSW5mbxJBCg1wZXJmb3JjZV9pbmZvGAEgASgLMiguZXhhLmNvZGVpdW1fY29tbW9uX3BiLlBlcmZvcmNlRGVwb3RJbmZvSAASNgoIZ2l0X2luZm8YAiABKAsyIi5leGEuY29kZWl1bV9jb21tb25fcGIuR2l0UmVwb0luZm9IAEIGCgRpbmZvIlQKEVBlcmZvcmNlRGVwb3RJbmZvEhIKCmRlcG90X25hbWUYASABKAkSFQoNdmVyc2lvbl9hbGlhcxgCIAEoCRIUCgxiYXNlX3A0ZF91cmwYAyABKAkitAEKC0dpdFJlcG9JbmZvEgwKBG5hbWUYASABKAkSDQoFb3duZXIYAiABKAkSEQoJcmVwb19uYW1lGAUgASgJEg4KBmNvbW1pdBgDIAEoCRIVCg12ZXJzaW9uX2FsaWFzGAQgASgJEjgKDHNjbV9wcm92aWRlchgGIAEoDjIiLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5TY21Qcm92aWRlchIUCgxiYXNlX2dpdF91cmwYByABKAkiqgUKD0NvZGVDb250ZXh0SXRlbRIrCh9hYnNvbHV0ZV9wYXRoX21pZ3JhdGVfbWVfdG9fdXJpGAEgASgJQgIYARIUCgxhYnNvbHV0ZV91cmkYECABKAkSPQoPd29ya3NwYWNlX3BhdGhzGAIgAygLMiQuZXhhLmNvZGVpdW1fY29tbW9uX3BiLldvcmtzcGFjZVBhdGgSEQoJbm9kZV9uYW1lGAMgASgJEhQKDG5vZGVfbGluZWFnZRgEIAMoCRISCgpzdGFydF9saW5lGAUgASgNEhEKCXN0YXJ0X2NvbBgMIAEoDRIQCghlbmRfbGluZRgGIAEoDRIPCgdlbmRfY29sGA0gASgNEjwKDGNvbnRleHRfdHlwZRgHIAEoDjImLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Db2RlQ29udGV4dFR5cGUSMQoIbGFuZ3VhZ2UYCiABKA4yHy5leGEuY29kZWl1bV9jb21tb25fcGIuTGFuZ3VhZ2USUgoPc25pcHBldF9ieV90eXBlGAsgAygLMjkuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNvZGVDb250ZXh0SXRlbS5TbmlwcGV0QnlUeXBlRW50cnkSNQoJcmVwb19pbmZvGA4gASgLMiIuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkdpdFJlcG9JbmZvEhkKEWZpbGVfY29udGVudF9oYXNoGA8gASgMGmEKElNuaXBwZXRCeVR5cGVFbnRyeRILCgNrZXkYASABKAkSOgoFdmFsdWUYAiABKAsyKy5leGEuY29kZWl1bV9jb21tb25fcGIuU25pcHBldFdpdGhXb3JkQ291bnQ6AjgBSgQICBAJSgQICRAKUgxjb2RlX3NuaXBwZXRSDmNvZGVfc2lnbmF0dXJlIusBChRTbmlwcGV0V2l0aFdvcmRDb3VudBIPCgdzbmlwcGV0GAEgASgJEmQKFndvcmRfY291bnRfYnlfc3BsaXR0ZXIYAiADKAsyRC5leGEuY29kZWl1bV9jb21tb25fcGIuU25pcHBldFdpdGhXb3JkQ291bnQuV29yZENvdW50QnlTcGxpdHRlckVudHJ5GlwKGFdvcmRDb3VudEJ5U3BsaXR0ZXJFbnRyeRILCgNrZXkYASABKAkSLwoFdmFsdWUYAiABKAsyIC5leGEuY29kZWl1bV9jb21tb25fcGIuV29yZENvdW50OgI4ASKMAQoJV29yZENvdW50EkoKDndvcmRfY291bnRfbWFwGAEgAygLMjIuZXhhLmNvZGVpdW1fY29tbW9uX3BiLldvcmRDb3VudC5Xb3JkQ291bnRNYXBFbnRyeRozChFXb3JkQ291bnRNYXBFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAM6AjgBIq8BCgpSZXBvc2l0b3J5EhUKDWNvbXB1dGVkX25hbWUYASABKAkSFgoOZ2l0X29yaWdpbl91cmwYAiABKAkSGAoQZ2l0X3Vwc3RyZWFtX3VybBgDIAEoCRIVCg1yZXBvcnRlZF9uYW1lGAQgASgJEhIKCm1vZGVsX25hbWUYBSABKAkSFQoNc3VibW9kdWxlX3VybBgGIAEoCRIWCg5zdWJtb2R1bGVfcGF0aBgHIAEoCSL/AQoWQ2FwdHVyZUZpbGVSZXF1ZXN0RGF0YRIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRIRCglwcm9tcHRfaWQYAiABKAkSEQoJZmlsZV9wYXRoGAMgASgJEh0KFW9yaWdpbmFsX2ZpbGVfY29udGVudBgEIAEoCRIXCg9jb21wbGV0aW9uX3RleHQYBSABKAkSFAoMc3RhcnRfb2Zmc2V0GAYgASgEEhIKCmVuZF9vZmZzZXQYByABKAQSEwoLY3Vyc29yX2xpbmUYCCABKAQSFQoNY3Vyc29yX2NvbHVtbhgJIAEoBCLRAQoUQ29tcGxldGlvblN0YXRpc3RpY3MSFwoPbnVtX2FjY2VwdGFuY2VzGAEgASgNEhYKDm51bV9yZWplY3Rpb25zGAIgASgNEhoKEm51bV9saW5lc19hY2NlcHRlZBgDIAEoDRIaChJudW1fYnl0ZXNfYWNjZXB0ZWQYBCABKA0SEQoJbnVtX3VzZXJzGAUgASgNEh0KFWFjdGl2ZV9kZXZlbG9wZXJfZGF5cxgGIAEoDRIeChZhY3RpdmVfZGV2ZWxvcGVyX2hvdXJzGAcgASgNIpIBChVDb21wbGV0aW9uQnlEYXRlRW50cnkSLQoJdGltZXN0YW1wGAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBJKChVjb21wbGV0aW9uX3N0YXRpc3RpY3MYAiABKAsyKy5leGEuY29kZWl1bV9jb21tb25fcGIuQ29tcGxldGlvblN0YXRpc3RpY3MimgEKGUNvbXBsZXRpb25CeUxhbmd1YWdlRW50cnkSMQoIbGFuZ3VhZ2UYASABKA4yHy5leGEuY29kZWl1bV9jb21tb25fcGIuTGFuZ3VhZ2USSgoVY29tcGxldGlvbl9zdGF0aXN0aWNzGAIgASgLMisuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNvbXBsZXRpb25TdGF0aXN0aWNzIkQKCUNoYXRTdGF0cxISCgpjaGF0c19zZW50GAEgASgEEh0KFWFjdGl2ZV9kZXZlbG9wZXJfZGF5cxgPIAEoDUoECAIQDyJ7ChRDaGF0U3RhdHNCeURhdGVFbnRyeRItCgl0aW1lc3RhbXAYASABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjQKCmNoYXRfc3RhdHMYAiABKAsyIC5leGEuY29kZWl1bV9jb21tb25fcGIuQ2hhdFN0YXRzIn0KFUNoYXRTdGF0c0J5TW9kZWxFbnRyeRIuCghtb2RlbF9pZBgBIAEoDjIcLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Nb2RlbBI0CgpjaGF0X3N0YXRzGAIgASgLMiAuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNoYXRTdGF0cyKqAwoMQ29tbWFuZFN0YXRzEhQKDG51bV9jb21tYW5kcxgBIAEoBBIdChVudW1fY29tbWFuZHNfYWNjZXB0ZWQYAiABKAQSHQoVbnVtX2NvbW1hbmRzX3JlamVjdGVkGAMgASgEEhEKCW51bV9lZGl0cxgEIAEoBBIXCg9udW1fZ2VuZXJhdGlvbnMYBSABKAQSEQoJbG9jX2FkZGVkGAYgASgEEhMKC2xvY19yZW1vdmVkGAcgASgEEhMKC2J5dGVzX2FkZGVkGAggASgEEhUKDWJ5dGVzX3JlbW92ZWQYCSABKAQSFAoMbG9jX3NlbGVjdGVkGAogASgEEhYKDmJ5dGVzX3NlbGVjdGVkGAsgASgEElwKFm51bV9jb21tYW5kc19ieV9zb3VyY2UYDCADKAsyPC5leGEuY29kZWl1bV9jb21tb25fcGIuQ29tbWFuZFN0YXRzLk51bUNvbW1hbmRzQnlTb3VyY2VFbnRyeRo6ChhOdW1Db21tYW5kc0J5U291cmNlRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgEOgI4ASKEAQoXQ29tbWFuZFN0YXRzQnlEYXRlRW50cnkSLQoJdGltZXN0YW1wGAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI6Cg1jb21tYW5kX3N0YXRzGAIgASgLMiMuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNvbW1hbmRTdGF0cyLoBAoOVXNlclRhYmxlU3RhdHMSDAoEbmFtZRgBIAEoCRINCgVlbWFpbBgCIAEoCRI0ChBsYXN0X3VwZGF0ZV90aW1lGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIPCgdhcGlfa2V5GAQgASgJEhcKD2Rpc2FibGVfY29kZWl1bRgFIAEoCBITCgthY3RpdmVfZGF5cxgGIAEoDRIMCgRyb2xlGAcgASgJEi8KC3NpZ251cF90aW1lGAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBJAChxsYXN0X2F1dG9jb21wbGV0ZV91c2FnZV90aW1lGAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI4ChRsYXN0X2NoYXRfdXNhZ2VfdGltZRgKIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASOwoXbGFzdF9jb21tYW5kX3VzYWdlX3RpbWUYCyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhsKE3Byb21wdF9jcmVkaXRzX3VzZWQYDCABKAMSOgoLdGVhbV9zdGF0dXMYDSABKA4yJS5leGEuY29kZWl1bV9jb21tb25fcGIuVXNlclRlYW1TdGF0dXMSFgoOdGFic19nZW5lcmF0ZWQYDiABKAMSGAoQY2FzY2FkZV9tZXNzYWdlcxgPIAEoAxIbChN1bmlxdWVfY2FzY2FkZV90YWJzGBAgASgDEhEKCWlkZXNfdXNlZBgRIAMoCRIRCglhY3VzX3VzZWQYEiABKAEidwoPQ2FzY2FkZU5VWFN0YXRlEjUKBWV2ZW50GAEgASgOMiYuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNhc2NhZGVOVVhFdmVudBItCgl0aW1lc3RhbXAYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wInEKDFVzZXJOVVhTdGF0ZRIyCgVldmVudBgBIAEoDjIjLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Vc2VyTlVYRXZlbnQSLQoJdGltZXN0YW1wGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCJNChdDb252ZXJzYXRpb25CcmFpbkNvbmZpZxIyCglwbGFuX21vZGUYASABKA4yHy5leGEuY29kZWl1bV9jb21tb25fcGIuUGxhbk1vZGUiJAoQRmVhdHVyZVVzYWdlRGF0YRIQCghoYXNfdXNlZBgBIAEoCCKjAwoQQ2FzY2FkZU5VWENvbmZpZxILCgN1aWQYASABKA0SOwoIbG9jYXRpb24YAiABKA4yKS5leGEuY29kZWl1bV9jb21tb25fcGIuQ2FzY2FkZU5VWExvY2F0aW9uEjkKB3RyaWdnZXIYAyABKA4yKC5leGEuY29kZWl1bV9jb21tb25fcGIuQ2FzY2FkZU5VWFRyaWdnZXISHAoUYW5hbHl0aWNzX2V2ZW50X25hbWUYBCABKAkSEQoJbWFpbl90ZXh0GAUgASgJEhwKFG9uX2hvdmVyX2V4cGxhbmF0aW9uGAYgASgJEhYKDmxlYXJuX21vcmVfdXJsGAcgASgJEhAKCHByaW9yaXR5GAggASgFEj0KDW9sZF9udXhfZXZlbnQYCSABKA4yJi5leGEuY29kZWl1bV9jb21tb25fcGIuQ2FzY2FkZU5VWEV2ZW50EjMKBGljb24YCiABKA4yJS5leGEuY29kZWl1bV9jb21tb25fcGIuQ2FzY2FkZU5VWEljb24SHQoVcmVxdWlyZXNfaWRsZV9jYXNjYWRlGAsgASgIIqUuCgxVc2VyU2V0dGluZ3MSKgoib3Blbl9tb3N0X3JlY2VudF9jaGF0X2NvbnZlcnNhdGlvbhgBIAEoCBI5ChNsYXN0X3NlbGVjdGVkX21vZGVsGAIgASgOMhwuZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1vZGVsEkAKEHRoZW1lX3ByZWZlcmVuY2UYAyABKA4yJi5leGEuY29kZWl1bV9jb21tb25fcGIuVGhlbWVQcmVmZXJlbmNlEkUKE2V4dGVuc2lvbl9wYW5lbF90YWIYBCABKA4yKC5leGEuY29kZWl1bV9jb21tb25fcGIuRXh0ZW5zaW9uUGFuZWxUYWISMgoJZm9udF9zaXplGAUgASgOMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLkZvbnRTaXplElgKHXJlbWVtYmVyX2xhc3RfbW9kZWxfc2VsZWN0aW9uGAcgASgOMjEuZXhhLmNvZGVpdW1fY29tbW9uX3BiLlJlbWVtYmVyTGFzdE1vZGVsU2VsZWN0aW9uEkQKEmF1dG9jb21wbGV0ZV9zcGVlZBgGIAEoDjIoLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5BdXRvY29tcGxldGVTcGVlZBIgChhsYXN0X3NlbGVjdGVkX21vZGVsX25hbWUYCCABKAkSQgoSY2FzY2FkZV9udXhfc3RhdGVzGAsgAygLMiYuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNhc2NhZGVOVVhTdGF0ZRJLCg1zZWVuX251eF91aWRzGDwgAygLMjQuZXhhLmNvZGVpdW1fY29tbW9uX3BiLlVzZXJTZXR0aW5ncy5TZWVuTnV4VWlkc0VudHJ5ElUKJmxhc3Rfc2VsZWN0ZWRfY2FzY2FkZV9tb2RlbF9kZXByZWNhdGVkGAkgASgOMhwuZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1vZGVsQgIYAUgAiAEBEmUKL2xhc3Rfc2VsZWN0ZWRfY2FzY2FkZV9tb2RlbF9vcl9hbGlhc19kZXByZWNhdGVkGB4gASgLMiMuZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1vZGVsT3JBbGlhc0ICGAFIAYgBARI7CipsYXN0X3NlbGVjdGVkX2Nhc2NhZGVfbW9kZWxfdWlkX2RlcHJlY2F0ZWQYWyABKAlCAhgBSAKIAQESYgofY2FzY2FkZV9wbGFubmVyX21vZGVfZGVwcmVjYXRlZBgNIAEoDjIwLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Db252ZXJzYXRpb25hbFBsYW5uZXJNb2RlQgIYAUgDiAEBEkIKE2xhc3RfbW9kZWxfb3ZlcnJpZGUYLiABKA4yHC5leGEuY29kZWl1bV9jb21tb25fcGIuTW9kZWxCAhgBSASIAQESMwombGFzdF9tb2RlbF9kZWZhdWx0X292ZXJyaWRlX3ZlcnNpb25faWQYOiABKAlIBYgBARIpChxjYXNjYWRlX21vZGVsX2V4cGxpY2l0bHlfc2V0GFcgASgISAaIAQESKwofY2FzY2FkZV9hbGxvd2VkX2NvbW1hbmRzX3ByZWZpeBgOIAMoCUICGAESKgoeY2FzY2FkZV9kZW5pZWRfY29tbWFuZHNfcHJlZml4GA8gAygJQgIYARIgChhjYXNjYWRlX2FsbG93ZWRfY29tbWFuZHMYVSADKAkSHwoXY2FzY2FkZV9kZW5pZWRfY29tbWFuZHMYViADKAkSPAoPdXNlcl9udXhfc3RhdGVzGBEgAygLMiMuZXhhLmNvZGVpdW1fY29tbW9uX3BiLlVzZXJOVVhTdGF0ZRInChtjYXNjYWRlX3dlYl9zZWFyY2hfZGlzYWJsZWQYEiABKAhCAhgBEiAKFGRpc2FibGVfYXV0b2NvbXBsZXRlGBMgASgIQgIYARIhChVkaXNhYmxlX3N1cGVyY29tcGxldGUYFCABKAhCAhgBEh8KF2Rpc2FibGVfc2VsZWN0aW9uX3BvcHVwGBUgASgIEioKImRpc2FibGVfZXhwbGFpbl9wcm9ibGVtX2lubGF5X2hpbnQYFiABKAgSKAocZGlzYWJsZV9pbmxheV9oaW50X3Nob3J0Y3V0cxgXIAEoCEICGAESJgoeZGlzYWJsZV9vcGVuX2Nhc2NhZGVfb25fcmVsb2FkGBggASgIEiYKHmRpc2FibGVfYXV0b19vcGVuX2VkaXRlZF9maWxlcxgZIAEoCBIfChNkaXNhYmxlX3RhYl90b19qdW1wGBogASgIQgIYARJaCh1jYXNjYWRlX2F1dG9fZXhlY3V0aW9uX3BvbGljeRgbIAEoDjIzLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5DYXNjYWRlQ29tbWFuZHNBdXRvRXhlY3V0aW9uEikKGGxhc3Rfc2VsZWN0ZWRfY2FzY2FkZV9pZBgcIAEoCUICGAFIB4gBARIvCidleHBsYWluX2FuZF9maXhfaW5fY3VycmVudF9jb252ZXJzYXRpb24YHSABKAgSOwovYWxsb3dfY2FzY2FkZV9hY2Nlc3NfZ2l0aWdub3JlX2ZpbGVzX2RlcHJlY2F0ZWQYHyABKAhCAhgBEiYKHmRpc2FibGVfY2FzY2FkZV9hdXRvX2ZpeF9saW50cxggIAEoCBIoCiBkaXNhYmxlX2Nhc2NhZGVfYnJvd3Nlcl9wcmV2aWV3cxghIAEoCBIUCgxkZXRlY3RfcHJveHkYIiABKAgSHQoVZGlzYWJsZV90YWJfdG9faW1wb3J0GCMgASgIEiUKHXVzZV9jbGlwYm9hcmRfZm9yX2NvbXBsZXRpb25zGCQgASgIEiYKHmRpc2FibGVfaGlnaGxpZ2h0X2FmdGVyX2FjY2VwdBglIAEoCBIjChtsYXN0X3NlbGVjdGVkX25ld19jb252b190YWIYJiABKAkSJgoeZGlzYWJsZV9hdXRvX2dlbmVyYXRlX21lbW9yaWVzGCcgASgIEiwKIGVuYWJsZV9zb3VuZHNfZm9yX3NwZWNpYWxfZXZlbnRzGCggASgIQgIYARIdChFlbmFibGVfdGFiX3NvdW5kcxgpIAEoCEICGAESJwobYWxsb3dfY2FzY2FkZV9pbl9iYWNrZ3JvdW5kGCogASgIQgIYARI1Cgt0YWJfdG9fanVtcBgrIAEoDjIgLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5UYWJUb0p1bXASRwoSY2FzY2FkZV93ZWJfc2VhcmNoGCwgASgOMisuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNhc2NhZGVXZWJTZWFyY2hUb29sEiIKGmVuYWJsZV90ZXJtaW5hbF9jb21wbGV0aW9uGC0gASgIEhIKCmlzX3Nub296ZWQYNyABKAgSIwobZW5hYmxlX2NvbW1hbmRfY2FzY2FkZV9tb2RlGDEgASgIElUKEmZlYXR1cmVfdXNhZ2VfZGF0YRgvIAMoCzI5LmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Vc2VyU2V0dGluZ3MuRmVhdHVyZVVzYWdlRGF0YUVudHJ5EiUKHWRpc2FibGVfY2FzY2FkZV9pbl9iYWNrZ3JvdW5kGDAgASgIEhgKEGN1c3RvbV93b3Jrc3BhY2UYMiADKAkSaQoaY29udmVyc2F0aW9uX2JyYWluX2NvbmZpZ3MYMyADKAsyQS5leGEuY29kZWl1bV9jb21tb25fcGIuVXNlclNldHRpbmdzLkNvbnZlcnNhdGlvbkJyYWluQ29uZmlnc0VudHJ5QgIYARJEChtnbG9iYWxfcGxhbl9tb2RlX3ByZWZlcmVuY2UYNiABKA4yHy5leGEuY29kZWl1bV9jb21tb25fcGIuUGxhbk1vZGUSTgocY2FjaGVkX2Nhc2NhZGVfbW9kZWxfY29uZmlncxg0IAMoCzIoLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5DbGllbnRNb2RlbENvbmZpZxJKChpjYWNoZWRfY2FzY2FkZV9tb2RlbF9zb3J0cxg1IAMoCzImLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5DbGllbnRNb2RlbFNvcnQSfwo1YXV0b19jb250aW51ZV9vbl9tYXhfZ2VuZXJhdG9yX2ludm9jYXRpb25zX2RlcHJlY2F0ZWQYOyABKA4yPC5leGEuY29kZWl1bV9jb21tb25fcGIuQXV0b0NvbnRpbnVlT25NYXhHZW5lcmF0b3JJbnZvY2F0aW9uc0ICGAESMwoncmVjZW50bHlfdXNlZF9jYXNjYWRlX21vZGVsc19kZXByZWNhdGVkGD0gAygJQgIYARIvCidjYXNjYWRlX2Rpc21pc3NlZF9zdWdnZXN0aW9uX3dvcmtzcGFjZXMYPiADKAkSRAoSYW5ub3RhdGlvbnNfY29uZmlnGD8gASgOMiguZXhhLmNvZGVpdW1fY29tbW9uX3BiLkFubm90YXRpb25zQ29uZmlnEiMKG2VuYWJsZV9hdXRvbWF0aWNfc2NyZWVuc2hvdBhAIAEoCBJmCiRicm93c2VyX2V4cGVyaW1lbnRhbF9mZWF0dXJlc19jb25maWcYQiABKA4yOC5leGEuY29kZWl1bV9jb21tb25fcGIuQnJvd3NlckV4cGVyaW1lbnRhbEZlYXR1cmVzQ29uZmlnElMKGmNvbW1hbmRfcG9wdXBfYXV0b2NvbXBsZXRlGEMgASgOMi8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNvbW1hbmRQb3B1cEF1dG9jb21wbGV0ZRIkChxlbmFibGVfaW5zdGFudF9jb250ZXh0X2FnZW50GE0gASgIEiUKHWRpc2FibGVfaW5zdGFudF9jb250ZXh0X2FnZW50GE4gASgIEloKK2xhc3Rfc2VsZWN0ZWRfc21hcnRfZnJpZW5kX21vZGVsX2RlcHJlY2F0ZWQYTyABKA4yHC5leGEuY29kZWl1bV9jb21tb25fcGIuTW9kZWxCAhgBSAiIAQESQAovbGFzdF9zZWxlY3RlZF9zbWFydF9mcmllbmRfbW9kZWxfdWlkX2RlcHJlY2F0ZWQYXCABKAlCAhgBSAmIAQESLwonZW5hYmxlX2Nhc2NhZGVfY29tcGxldGlvbl9ub3RpZmljYXRpb25zGFEgASgIEi4KJmVuYWJsZV9jYXNjYWRlX2Fsd2F5c19ub3RpZnlfb25fZmluaXNoGFIgASgIEk0KGmNvbXBsZXRpb25fbW9kZV9kZXByZWNhdGVkGFMgASgOMiUuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNvbXBsZXRpb25Nb2RlQgIYARJQChhzdXBlcmNvbXBsZXRlX2FnZ3Jlc3Npb24YYSABKA4yLi5leGEuY29kZWl1bV9jb21tb25fcGIuU3VwZXJjb21wbGV0ZUFnZ3Jlc3Npb24SIwobZW5hYmxlX2lubGF5X2hpbnRfc2hvcnRjdXRzGFQgASgIEigKIGNhc2NhZGVfdXNlcl9hbGxvd2VkX3dlYl9vcmlnaW5zGFggAygJEisKI2Nhc2NhZGVfcmVtb3ZlZF9kZWZhdWx0X3dlYl9vcmlnaW5zGFkgAygJEmoKKmNhc2NhZGVfd2ViX3JlcXVlc3RzX2F1dG9fZXhlY3V0aW9uX3BvbGljeRhaIAEoDjI2LmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5DYXNjYWRlV2ViUmVxdWVzdHNBdXRvRXhlY3V0aW9uEiYKHmxhc3Rfc3BlY2lmaWNfYXJlbmFfbW9kZWxfdWlkcxhdIAMoCRIkChxhcmVuYV9hbHdheXNfb3Blbl9mdWxsc2NyZWVuGF4gASgIEiQKF2xhc3RfYXJlbmFfbW9kZV9lbmFibGVkGF8gASgISAqIAQESbgofbW9kZWxfZ3JvdXBfdmFyaWFudF9wcmVmZXJlbmNlcxhiIAMoCzJFLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Vc2VyU2V0dGluZ3MuTW9kZWxHcm91cFZhcmlhbnRQcmVmZXJlbmNlc0VudHJ5EjAKJHBpbm5lZF9jYXNjYWRlX21vZGVsX3VpZHNfZGVwcmVjYXRlZBhjIAMoCUICGAEaMgoQU2Vlbk51eFVpZHNFbnRyeRILCgNrZXkYASABKA0SDQoFdmFsdWUYAiABKAg6AjgBGmAKFUZlYXR1cmVVc2FnZURhdGFFbnRyeRILCgNrZXkYASABKAkSNgoFdmFsdWUYAiABKAsyJy5leGEuY29kZWl1bV9jb21tb25fcGIuRmVhdHVyZVVzYWdlRGF0YToCOAEabwodQ29udmVyc2F0aW9uQnJhaW5Db25maWdzRW50cnkSCwoDa2V5GAEgASgJEj0KBXZhbHVlGAIgASgLMi4uZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNvbnZlcnNhdGlvbkJyYWluQ29uZmlnOgI4ARpDCiFNb2RlbEdyb3VwVmFyaWFudFByZWZlcmVuY2VzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4AUIpCidfbGFzdF9zZWxlY3RlZF9jYXNjYWRlX21vZGVsX2RlcHJlY2F0ZWRCMgowX2xhc3Rfc2VsZWN0ZWRfY2FzY2FkZV9tb2RlbF9vcl9hbGlhc19kZXByZWNhdGVkQi0KK19sYXN0X3NlbGVjdGVkX2Nhc2NhZGVfbW9kZWxfdWlkX2RlcHJlY2F0ZWRCIgogX2Nhc2NhZGVfcGxhbm5lcl9tb2RlX2RlcHJlY2F0ZWRCFgoUX2xhc3RfbW9kZWxfb3ZlcnJpZGVCKQonX2xhc3RfbW9kZWxfZGVmYXVsdF9vdmVycmlkZV92ZXJzaW9uX2lkQh8KHV9jYXNjYWRlX21vZGVsX2V4cGxpY2l0bHlfc2V0QhsKGV9sYXN0X3NlbGVjdGVkX2Nhc2NhZGVfaWRCLgosX2xhc3Rfc2VsZWN0ZWRfc21hcnRfZnJpZW5kX21vZGVsX2RlcHJlY2F0ZWRCMgowX2xhc3Rfc2VsZWN0ZWRfc21hcnRfZnJpZW5kX21vZGVsX3VpZF9kZXByZWNhdGVkQhoKGF9sYXN0X2FyZW5hX21vZGVfZW5hYmxlZEoECAoQC0oECAwQDUoECBAQEUoECDgQOUoECDkQOkoECEEQQkoECEQQRUoECEUQRkoECEYQR0oECEcQSEoECEgQSUoECEkQSkoECEoQS0oECEsQTEoECEwQTUoECFAQUUoECGAQYVIVY2FzY2FkZV90b29sc19lbmFibGVkUhZjYXNjYWRlX3JlYWRfb25seV9tb2RlUiFlbmFibGVfbW9kZWxfYmFzZWRfYXV0b19leGVjdXRpb25SGmNhc2NhZGVfcnVuX2V4dGVuc2lvbl9jb2RlUiNjYXNjYWRlX3J1bl9leHRlbnNpb25fY29kZV9hdXRvX3J1blIaY2FzY2FkZV9pbnB1dF9hdXRvY29tcGxldGVSIGNsYXVkZV9jb2RlX2FwcGVuZF9zeXN0ZW1fcHJvbXB0UhRjbGF1ZGVfY29kZV9jbGlfcGF0aFIZY2xhdWRlX2NvZGVfc3lzdGVtX3Byb21wdFIVY2xhdWRlX2NvZGVfbWF4X3R1cm5zUhZjbGF1ZGVfY29kZV9tY3BfY29uZmlnUhBjbGF1ZGVfY29kZV9tb2RlUhdjbGF1ZGVfY29kZV9kaXJlY3Rvcmllc1IgY2xhdWRlX2NvZGVfc3lzdGVtX3Byb21wdF9hcHBlbmRSEWNsYXVkZV9jb2RlX21vZGVsUhFkaXNhYmxlX3N1cGVyZmxvd1IYbGFzdF9hcmVuYV9tb2RlX2NhdGVnb3J5IpUHCg1Nb2RlbEZlYXR1cmVzEh8KF3N1cHBvcnRzX2NvbnRleHRfdG9rZW5zGAIgASgIEh4KFnJlcXVpcmVzX2luc3RydWN0X3RhZ3MYAyABKAgSHAoUcmVxdWlyZXNfZmltX2NvbnRleHQYBCABKAgSJwofcmVxdWlyZXNfY29udGV4dF9zbmlwcGV0X3ByZWZpeBgFIAEoCBInCh9yZXF1aXJlc19jb250ZXh0X3JlbGV2YW5jZV90YWdzGAYgASgIEh4KFnJlcXVpcmVzX2xsYW1hM190b2tlbnMYByABKAgSGQoRemVyb19zaG90X2NhcGFibGUYCCABKAgSLAogcmVxdWlyZXNfYXV0b2NvbXBsZXRlX2FzX2NvbW1hbmQYCSABKAhCAhgBEisKI3N1cHBvcnRzX2N1cnNvcl9hd2FyZV9zdXBlcmNvbXBsZXRlGAogASgIEhcKD3N1cHBvcnRzX2ltYWdlcxgLIAEoCBIfChdzdXBwb3J0c19pbWFnZV9jYXB0aW9ucxgUIAEoCBIbChNzdXBwb3J0c190b29sX2NhbGxzGAwgASgIEiQKHHN1cHBvcnRzX3BhcmFsbGVsX3Rvb2xfY2FsbHMYFSABKAgSIwobc3VwcG9ydHNfY3VtdWxhdGl2ZV9jb250ZXh0GA0gASgIEiEKGXRhYl9qdW1wX3ByaW50X2xpbmVfcmFuZ2UYDiABKAgSGQoRc3VwcG9ydHNfdGhpbmtpbmcYDyABKAgSGwoTaW50ZXJsZWF2ZV90aGlua2luZxgYIAEoCBIZChFwcmVzZXJ2ZV90aGlua2luZxgZIAEoCBInCh9zdXBwb3J0c19lc3RpbWF0ZV90b2tlbl9jb3VudGVyGBEgASgIEikKIWFkZF9jdXJzb3JfdG9fZmluZF9yZXBsYWNlX3RhcmdldBgSIAEoCBIsCiRzdXBwb3J0c190YWJfanVtcF91c2Vfd2hvbGVfZG9jdW1lbnQYEyABKAgSJAoccmVxdWlyZXNfc3VwZXJjb21wbGV0ZV9jbGVhbhgWIAEoCBIaChJ0YWJfcm91dGVfdG9fbW9kYWwYFyABKAgSIgoac3VwcG9ydHNfcmVqZWN0aW9uX2NvbnRleHQYGiABKAhKBAgBEAJKBAgQEBFSFHN1cHBvcnRzX21pZGRsZV9tb2RlUhtzdXBwb3J0c19lc3RpbWF0ZV90b2tlbml6ZXIiowIKDUV4dGVybmFsTW9kZWwSEwoLaXNfaW50ZXJuYWwYASABKAgSLgoIbW9kZWxfaWQYAiABKA4yHC5leGEuY29kZWl1bV9jb21tb25fcGIuTW9kZWwSEgoKbW9kZWxfbmFtZRgDIAEoCRIQCghiYXNlX3VybBgEIAEoCRIPCgdhcGlfa2V5GAUgASgJEhIKCmFjY2Vzc19rZXkYBiABKAkSGQoRc2VjcmV0X2FjY2Vzc19rZXkYByABKAkSDgoGcmVnaW9uGAggASgJEhIKCnByb2plY3RfaWQYCSABKAkSCgoCaWQYCiABKA0SHQoVbWF4X2NvbXBsZXRpb25fdG9rZW5zGAsgASgFEhgKEG1heF9pbnB1dF90b2tlbnMYDCABKAUicAoVT3BlbkFJSW5mZXJlbmNlQ29uZmlnEhgKEHJlYXNvbmluZ19lZmZvcnQYASABKAkSFAoMc2VydmljZV90aWVyGAIgASgJEicKH2V4dGVuZGVkX3Byb21wdF9jYWNoZV9yZXRlbnRpb24YAyABKAgiMQoVR29vZ2xlSW5mZXJlbmNlQ29uZmlnEhgKEHJlYXNvbmluZ19lZmZvcnQYASABKAkiYwoYQW50aHJvcGljSW5mZXJlbmNlQ29uZmlnEhAKCHRoaW5raW5nGAEgASgIEg4KBmVmZm9ydBgCIAEoCRIRCglmYXN0X21vZGUYAyABKAgSEgoKY29udGV4dF8xbRgEIAEoCCLhAQoPSW5mZXJlbmNlQ29uZmlnEj4KBm9wZW5haRgBIAEoCzIsLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5PcGVuQUlJbmZlcmVuY2VDb25maWdIABI+CgZnb29nbGUYAiABKAsyLC5leGEuY29kZWl1bV9jb21tb25fcGIuR29vZ2xlSW5mZXJlbmNlQ29uZmlnSAASRAoJYW50aHJvcGljGAMgASgLMi8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLkFudGhyb3BpY0luZmVyZW5jZUNvbmZpZ0gAQggKBmNvbmZpZyKjBwoJTW9kZWxJbmZvEjIKCG1vZGVsX2lkGAEgASgOMhwuZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1vZGVsQgIYARIRCgltb2RlbF91aWQYESABKAkSEwoLaXNfaW50ZXJuYWwYAiABKAgSNAoKbW9kZWxfdHlwZRgDIAEoDjIgLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Nb2RlbFR5cGUSEgoKbWF4X3Rva2VucxgEIAEoBRIWCg50b2tlbml6ZXJfdHlwZRgFIAEoCRI8Cg5tb2RlbF9mZWF0dXJlcxgGIAEoCzIkLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Nb2RlbEZlYXR1cmVzEjgKDGFwaV9wcm92aWRlchgHIAEoDjIiLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5BUElQcm92aWRlchISCgptb2RlbF9uYW1lGAggASgJEhgKEHN1cHBvcnRzX2NvbnRleHQYCSABKAgSEQoJZW1iZWRfZGltGAogASgFEhAKCGJhc2VfdXJsGAsgASgJEhcKD2NoYXRfbW9kZWxfbmFtZRgMIAEoCRIZChFtYXhfb3V0cHV0X3Rva2VucxgNIAEoBRJJChVwcm9tcHRfdGVtcGxhdGVyX3R5cGUYDiABKA4yKi5leGEuY29kZWl1bV9jb21tb25fcGIuUHJvbXB0VGVtcGxhdGVyVHlwZRJFChN0b29sX2Zvcm1hdHRlcl90eXBlGA8gASgOMiguZXhhLmNvZGVpdW1fY29tbW9uX3BiLlRvb2xGb3JtYXR0ZXJUeXBlEhwKFGluZmVyZW5jZV9zZXJ2ZXJfdXJsGBIgASgJEhQKDGhhcm5lc3NfdWlkcxgUIAMoCRI9CgxhcmVuYV9jb25maWcYFSABKAsyIi5leGEuY29kZWl1bV9jb21tb25fcGIuQXJlbmFDb25maWdIAIgBARI8Cg5kaXNwbGF5X29wdGlvbhgWIAEoDjIkLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5EaXNwbGF5T3B0aW9uEhgKEG1vZGVsX2ZhbWlseV91aWQYFyABKAkSQAoQaW5mZXJlbmNlX2NvbmZpZxgYIAEoCzImLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5JbmZlcmVuY2VDb25maWcSFwoPaXNfbW9kZWxfcm91dGVyGBkgASgIQg8KDV9hcmVuYV9jb25maWdKBAgTEBRSCmFyZW5hX3RpZXIiNwoYTW9kZWxGYW1pbHlNZXRhZGF0YVZhbHVlEg0KBW9yZGVyGAEgASgFEgwKBG5hbWUYAiABKAkiZwoYTW9kZWxGYW1pbHlNZXRhZGF0YUVudHJ5EgsKA2tleRgBIAEoCRI+CgV2YWx1ZRgCIAEoCzIvLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Nb2RlbEZhbWlseU1ldGFkYXRhVmFsdWUilwEKE01vZGVsRmFtaWx5TWV0YWRhdGESGgoSbW9kZWxfZmFtaWx5X2xhYmVsGAEgASgJEkAKB2VudHJpZXMYAiADKAsyLy5leGEuY29kZWl1bV9jb21tb25fcGIuTW9kZWxGYW1pbHlNZXRhZGF0YUVudHJ5EiIKGmlzX2RlZmF1bHRfbW9kZWxfaW5fZmFtaWx5GAMgASgIIsoBChhBcGlQcm92aWRlclJvdXRpbmdDb25maWcSUAoJbW9kZWxfbWFwGAEgAygLMj0uZXhhLmNvZGVpdW1fY29tbW9uX3BiLkFwaVByb3ZpZGVyUm91dGluZ0NvbmZpZy5Nb2RlbE1hcEVudHJ5GlwKDU1vZGVsTWFwRW50cnkSCwoDa2V5GAEgASgJEjoKBXZhbHVlGAIgASgLMisuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkFwaVByb3ZpZGVyQ29uZmlnTWFwOgI4ASLIAQoUQXBpUHJvdmlkZXJDb25maWdNYXASUgoMcHJvdmlkZXJfbWFwGAEgAygLMjwuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkFwaVByb3ZpZGVyQ29uZmlnTWFwLlByb3ZpZGVyTWFwRW50cnkaXAoQUHJvdmlkZXJNYXBFbnRyeRILCgNrZXkYASABKAkSNwoFdmFsdWUYAiABKAsyKC5leGEuY29kZWl1bV9jb21tb25fcGIuQXBpUHJvdmlkZXJDb25maWc6AjgBIlIKEUFwaVByb3ZpZGVyQ29uZmlnEg4KBndlaWdodBgBIAEoDRIZChFjYWNoZV90dGxfbWludXRlcxgCIAEoDRISCgptb2RlbF9uYW1lGAMgASgJIrwBChNTaGFkb3dUcmFmZmljQ29uZmlnEksKCW1vZGVsX21hcBgBIAMoCzI4LmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5TaGFkb3dUcmFmZmljQ29uZmlnLk1vZGVsTWFwRW50cnkaWAoNTW9kZWxNYXBFbnRyeRILCgNrZXkYASABKAkSNgoFdmFsdWUYAiABKAsyJy5leGEuY29kZWl1bV9jb21tb25fcGIuU2hhZG93VGFyZ2V0TGlzdDoCOAEiSAoQU2hhZG93VGFyZ2V0TGlzdBI0Cgd0YXJnZXRzGAEgAygLMiMuZXhhLmNvZGVpdW1fY29tbW9uX3BiLlNoYWRvd1RhcmdldCJYCgxTaGFkb3dUYXJnZXQSEAoIcHJvdmlkZXIYASABKAkSDQoFbW9kZWwYAiABKAkSEgoKbW9kZWxfbmFtZRgDIAEoCRITCgtzYW1wbGVfcmF0ZRgEIAEoASKIAQoLTW9kZWxDb25maWcSOgoQZ2VuZXJhdGlvbl9tb2RlbBgBIAEoCzIgLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Nb2RlbEluZm8SPQoTY29udGV4dF9jaGVja19tb2RlbBgCIAEoCzIgLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Nb2RlbEluZm8imgEKD01vZGVsU3RhdHVzSW5mbxIvCgVtb2RlbBgBIAEoDjIcLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Nb2RlbEICGAESEQoJbW9kZWxfdWlkGAQgASgJEg8KB21lc3NhZ2UYAiABKAkSMgoGc3RhdHVzGAMgASgOMiIuZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1vZGVsU3RhdHVzIo8BChFDb21wbGV0aW9uRXhhbXBsZRILCgN1aWQYASABKAkSFQoNY29tcGxldGlvbl9pZBgCIAEoCRIRCglmaWxlX3BhdGgYAyABKAkSFAoMc2hvcnRfcHJlZml4GAQgASgJEhcKD2NvbXBsZXRpb25fdGV4dBgFIAEoCRIUCgxzaG9ydF9zdWZmaXgYBiABKAkimAEKHUNvbXBsZXRpb25FeGFtcGxlV2l0aE1ldGFkYXRhEjkKB2V4YW1wbGUYASABKAsyKC5leGEuY29kZWl1bV9jb21tb25fcGIuQ29tcGxldGlvbkV4YW1wbGUSDAoEbmFtZRgCIAEoCRIoCgR0aW1lGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEoECAMQBCKAAQoPQ2NpV2l0aFN1YnJhbmdlEjMKA2NjaRgBIAEoCzImLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Db2RlQ29udGV4dEl0ZW0SOAoIc3VicmFuZ2UYAiABKAsyJi5leGEuY29kZWl1bV9jb21tb25fcGIuQ29udGV4dFN1YnJhbmdlInwKD0NvbnRleHRTdWJyYW5nZRI/CgxzbmlwcGV0X3R5cGUYASABKA4yKS5leGEuY29kZWl1bV9jb21tb25fcGIuQ29udGV4dFNuaXBwZXRUeXBlEhQKDHN0YXJ0X29mZnNldBgCIAEoAxISCgplbmRfb2Zmc2V0GAMgASgDIqQECg1QYXRoU2NvcGVJdGVtEisKH2Fic29sdXRlX3BhdGhfbWlncmF0ZV9tZV90b191cmkYASABKAlCAhgBEhQKDGFic29sdXRlX3VyaRgFIAEoCRKbAQo1d29ya3NwYWNlX3JlbGF0aXZlX3BhdGhzX21pZ3JhdGVfbWVfdG9fd29ya3NwYWNlX3VyaXMYAiADKAsyWC5leGEuY29kZWl1bV9jb21tb25fcGIuUGF0aFNjb3BlSXRlbS5Xb3Jrc3BhY2VSZWxhdGl2ZVBhdGhzTWlncmF0ZU1lVG9Xb3Jrc3BhY2VVcmlzRW50cnlCAhgBEnAKIHdvcmtzcGFjZV91cmlzX3RvX3JlbGF0aXZlX3BhdGhzGAYgAygLMkYuZXhhLmNvZGVpdW1fY29tbW9uX3BiLlBhdGhTY29wZUl0ZW0uV29ya3NwYWNlVXJpc1RvUmVsYXRpdmVQYXRoc0VudHJ5EhEKCW51bV9maWxlcxgDIAEoDRIRCgludW1fYnl0ZXMYBCABKAQaVQozV29ya3NwYWNlUmVsYXRpdmVQYXRoc01pZ3JhdGVNZVRvV29ya3NwYWNlVXJpc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaQwohV29ya3NwYWNlVXJpc1RvUmVsYXRpdmVQYXRoc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEiSwoNRmlsZUxpbmVSYW5nZRIUCgxhYnNvbHV0ZV91cmkYASABKAkSEgoKc3RhcnRfbGluZRgCIAEoDRIQCghlbmRfbGluZRgDIAEoDSJZChBGaWxlUmFuZ2VDb250ZW50Eg8KB2NvbnRlbnQYASABKAkSNAoGc291cmNlGAIgASgLMiQuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkZpbGVMaW5lUmFuZ2UifAoJVGV4dEJsb2NrEg8KB2NvbnRlbnQYASABKAkSPwoPZmlsZV9saW5lX3JhbmdlGAIgASgLMiQuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkZpbGVMaW5lUmFuZ2VIABIPCgVsYWJlbBgDIAEoCUgAQgwKCmlkZW50aWZpZXIiTAoTUmVwb3NpdG9yeVNjb3BlSXRlbRI1CglyZXBvX2luZm8YASABKAsyIi5leGEuY29kZWl1bV9jb21tb25fcGIuR2l0UmVwb0luZm8idwoXUmVwb3NpdG9yeVBhdGhTY29wZUl0ZW0SNQoJcmVwb19pbmZvGAEgASgLMiIuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkdpdFJlcG9JbmZvEhUKDXJlbGF0aXZlX3BhdGgYAiABKAkSDgoGaXNfZGlyGAMgASgIIvIBChZLbm93bGVkZ2VCYXNlU2NvcGVJdGVtEhMKC2RvY3VtZW50X2lkGAEgASgJEjEKBWluZGV4GAcgASgOMiIuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkluZGV4Q2hvaWNlEjoKDWRvY3VtZW50X3R5cGUYCCABKA4yIy5leGEuY29kZWl1bV9jb21tb25fcGIuRG9jdW1lbnRUeXBlEhQKDGRpc3BsYXlfbmFtZRgDIAEoCRITCgtkZXNjcmlwdGlvbhgEIAEoCRIWCg5kaXNwbGF5X3NvdXJjZRgFIAEoCRILCgN1cmwYBiABKAlKBAgCEAMiZwoOQ29uc29sZUxvZ0xpbmUSFQoNdGltZXN0YW1wX3N0chgBIAEoCRIMCgR0eXBlGAIgASgJEg4KBm91dHB1dBgDIAEoCRIgChhjb25zb2xlX21lc3NhZ2VfbG9jYXRpb24YBCABKAkiYwoTQ29uc29sZUxvZ1Njb3BlSXRlbRI0CgVsaW5lcxgBIAMoCzIlLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Db25zb2xlTG9nTGluZRIWCg5zZXJ2ZXJfYWRkcmVzcxgCIAEoCSKkAQoTRE9NRWxlbWVudFNjb3BlSXRlbRIQCgh0YWdfbmFtZRgBIAEoCRISCgpvdXRlcl9odG1sGAIgASgJEgoKAmlkGAMgASgJEhwKFHJlYWN0X2NvbXBvbmVudF9uYW1lGAQgASgJEj0KD2ZpbGVfbGluZV9yYW5nZRgFIAEoCzIkLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5GaWxlTGluZVJhbmdlIrIDCgdET01UcmVlEjQKBHJvb3QYASABKAsyJi5leGEuY29kZWl1bV9jb21tb25fcGIuRE9NVHJlZS5ET01Ob2RlEhEKCW51bV9ub2RlcxgCIAEoDRpCCgtCb3VuZGluZ0JveBIJCgF4GAEgASgCEgkKAXkYAiABKAISDQoFd2lkdGgYAyABKAISDgoGaGVpZ2h0GAQgASgCGpkCCgdET01Ob2RlEjgKCGNoaWxkcmVuGAEgAygLMiYuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkRPTVRyZWUuRE9NTm9kZRIQCgh0YWdfbmFtZRgCIAEoCRIKCgJpZBgDIAEoCRITCgtjbGFzc19uYW1lcxgEIAMoCRIUCgx0ZXh0X2NvbnRlbnQYBSABKAkSOAoEYmJveBgGIAEoCzIqLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5ET01UcmVlLkJvdW5kaW5nQm94EhIKCmFyaWFfbGFiZWwYByABKAkSDQoFdGl0bGUYCCABKAkSCwoDYWx0GAkgASgJEhMKC3BsYWNlaG9sZGVyGAogASgJEgwKBGhyZWYYCyABKAki3gEKD1JlY2lwZVNjb3BlSXRlbRIRCglyZWNpcGVfaWQYASABKAkSDQoFdGl0bGUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSFQoNc3lzdGVtX3Byb21wdBgEIAEoCRIQCgN1cmkYBSABKAlIAIgBARJQCg5leGVjdXRpb25fbW9kZRgGIAEoDjIzLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5DYXNjYWRlQ29tbWFuZHNBdXRvRXhlY3V0aW9uSAGIAQFCBgoEX3VyaUIRCg9fZXhlY3V0aW9uX21vZGUiawoQQ29kZU1hcFNjb3BlSXRlbRINCgV0aXRsZRgBIAEoCRIPCgdjb250ZW50GAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEhUKCGxvY2F0aW9uGAQgASgJSACIAQFCCwoJX2xvY2F0aW9uIkoKDVJ1bGVTY29wZUl0ZW0SEQoJcnVsZV9wYXRoGAEgASgJEhEKCXJ1bGVfbmFtZRgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCSKOAQoOU2tpbGxTY29wZUl0ZW0SEgoKc2tpbGxfbmFtZRgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCRIQCgN1cmkYAyABKAlIAIgBARIWCg5yZXNvdXJjZV9jb3VudBgEIAEoBRIQCghiYXNlX2RpchgFIAEoCRIPCgdjb250ZW50GAYgASgJQgYKBF91cmkiagoRUGxhbkZpbGVTY29wZUl0ZW0SEQoJcGxhbl9wYXRoGAEgASgJEg0KBXRpdGxlGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEh4KFnJlcXVlc3RfaW1wbGVtZW50YXRpb24YBCABKAgi1wEKEk1jcFByb21wdFNjb3BlSXRlbRITCgtzZXJ2ZXJfbmFtZRgBIAEoCRITCgtwcm9tcHRfbmFtZRgCIAEoCRJLCglhcmd1bWVudHMYAyADKAsyOC5leGEuY29kZWl1bV9jb21tb25fcGIuTWNwUHJvbXB0U2NvcGVJdGVtLkFyZ3VtZW50c0VudHJ5EhgKEHJlc29sdmVkX2NvbnRlbnQYBCABKAkaMAoOQXJndW1lbnRzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASKRAQoPTWNwUmVzb3VyY2VJdGVtEgsKA3VyaRgBIAEoCRIMCgRuYW1lGAIgASgJEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQESFgoJbWltZV90eXBlGAQgASgJSAGIAQESEwoLc2VydmVyX25hbWUYBSABKAlCDgoMX2Rlc2NyaXB0aW9uQgwKCl9taW1lX3R5cGUiYQoUQnJvd3NlclBhZ2VTY29wZUl0ZW0SCwoDdXJsGAEgASgJEg0KBXRpdGxlGAIgASgJEhwKFHZpc2libGVfdGV4dF9jb250ZW50GAMgASgJEg8KB3BhZ2VfaWQYBCABKAkivQEKGUJyb3dzZXJDb2RlQmxvY2tTY29wZUl0ZW0SCwoDdXJsGAEgASgJEg0KBXRpdGxlGAIgASgJEhQKDGNvZGVfY29udGVudBgDIAEoCRIxCghsYW5ndWFnZRgEIAEoDjIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5MYW5ndWFnZRIZCgxjb250ZXh0X3RleHQYBSABKAlIAIgBARIPCgdwYWdlX2lkGAYgASgJQg8KDV9jb250ZXh0X3RleHQiSgoUQnJvd3NlclRleHRTY29wZUl0ZW0SCwoDdXJsGAEgASgJEhQKDHZpc2libGVfdGV4dBgCIAEoCRIPCgdwYWdlX2lkGAMgASgJInsKFUNvbnZlcnNhdGlvblNjb3BlSXRlbRIKCgJpZBgBIAEoCRINCgV0aXRsZRgCIAEoCRI2ChJsYXN0X21vZGlmaWVkX3RpbWUYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg8KB3N1bW1hcnkYBCABKAkiRAoVVXNlckFjdGl2aXR5U2NvcGVJdGVtEgoKAmlkGAEgASgJEg4KBmJyYW5jaBgCIAEoCRIPCgdjdXJyZW50GAMgASgIIlwKEVRlcm1pbmFsU2NvcGVJdGVtEhIKCnByb2Nlc3NfaWQYASABKAkSDAoEbmFtZRgCIAEoCRIUCgxsYXN0X2NvbW1hbmQYAyABKAkSDwoHY29udGVudBgEIAEoCSJSChVHaXRodWJQdWxsUmVxdWVzdEl0ZW0SCwoDdXJsGAEgASgJEg0KBXRpdGxlGAIgASgJEg0KBW93bmVyGAMgASgJEg4KBm51bWJlchgEIAEoCSKmAQoNR2l0Q29tbWl0RGF0YRILCgNzaGEYASABKAkSEQoJc2hvcnRfc2hhGAIgASgJEg8KB3N1YmplY3QYAyABKAkSDgoGYXV0aG9yGAQgASgJEi0KCXRpbWVzdGFtcBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEgoKaW5zZXJ0aW9ucxgGIAEoBRIRCglkZWxldGlvbnMYByABKAUipgEKC0dpdERpZmZEYXRhEhMKC2JyYW5jaF9uYW1lGAEgASgJEhMKC2Jhc2VfYnJhbmNoGAIgASgJEhYKDm1lcmdlX2Jhc2Vfc2hhGAMgASgJEhUKDWZpbGVzX2NoYW5nZWQYBCABKAUSEgoKaW5zZXJ0aW9ucxgFIAEoBRIRCglkZWxldGlvbnMYBiABKAUSFwoPYnJhbmNoX2hlYWRfc2hhGAcgASgJIl4KFUdpdFdvcmtpbmdDaGFuZ2VzRGF0YRIUCgxzdGFnZWRfY291bnQYASABKAUSFgoOdW5zdGFnZWRfY291bnQYAiABKAUSFwoPdW50cmFja2VkX2NvdW50GAMgASgFIpwCCgxHaXRTY29wZUl0ZW0SFQoNcmVwb19yb290X3VyaRgBIAEoCRIZChFyZXBvX2Rpc3BsYXlfbmFtZRgGIAEoCRI2CgZjb21taXQYAiABKAsyJC5leGEuY29kZWl1bV9jb21tb25fcGIuR2l0Q29tbWl0RGF0YUgAEjIKBGRpZmYYAyABKAsyIi5leGEuY29kZWl1bV9jb21tb25fcGIuR2l0RGlmZkRhdGFIABJHCg93b3JraW5nX2NoYW5nZXMYBCABKAsyLC5leGEuY29kZWl1bV9jb21tb25fcGIuR2l0V29ya2luZ0NoYW5nZXNEYXRhSAASGQoRZm9ybWF0dGVkX2NvbnRlbnQYBSABKAlCCgoIZ2l0X2RhdGEiuA8KEENvbnRleHRTY29wZUl0ZW0SNAoEZmlsZRgBIAEoCzIkLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5QYXRoU2NvcGVJdGVtSAASOQoJZGlyZWN0b3J5GAIgASgLMiQuZXhhLmNvZGVpdW1fY29tbW9uX3BiLlBhdGhTY29wZUl0ZW1IABJACgpyZXBvc2l0b3J5GAMgASgLMiouZXhhLmNvZGVpdW1fY29tbW9uX3BiLlJlcG9zaXRvcnlTY29wZUl0ZW1IABI+Cgxjb2RlX2NvbnRleHQYBCABKAsyJi5leGEuY29kZWl1bV9jb21tb25fcGIuQ29kZUNvbnRleHRJdGVtSAASQwoRY2NpX3dpdGhfc3VicmFuZ2UYBiABKAsyJi5leGEuY29kZWl1bV9jb21tb25fcGIuQ2NpV2l0aFN1YnJhbmdlSAASSQoPcmVwb3NpdG9yeV9wYXRoGAcgASgLMi4uZXhhLmNvZGVpdW1fY29tbW9uX3BiLlJlcG9zaXRvcnlQYXRoU2NvcGVJdGVtSAASPgoFc2xhY2sYCCABKAsyLS5leGEuY29kZWl1bV9jb21tb25fcGIuS25vd2xlZGdlQmFzZVNjb3BlSXRlbUgAEj8KBmdpdGh1YhgJIAEoCzItLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Lbm93bGVkZ2VCYXNlU2NvcGVJdGVtSAASPwoPZmlsZV9saW5lX3JhbmdlGAogASgLMiQuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkZpbGVMaW5lUmFuZ2VIABI2Cgp0ZXh0X2Jsb2NrGAsgASgLMiAuZXhhLmNvZGVpdW1fY29tbW9uX3BiLlRleHRCbG9ja0gAEj0KBGppcmEYDCABKAsyLS5leGEuY29kZWl1bV9jb21tb25fcGIuS25vd2xlZGdlQmFzZVNjb3BlSXRlbUgAEkUKDGdvb2dsZV9kcml2ZRgNIAEoCzItLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Lbm93bGVkZ2VCYXNlU2NvcGVJdGVtSAASQQoLY29uc29sZV9sb2cYDiABKAsyKi5leGEuY29kZWl1bV9jb21tb25fcGIuQ29uc29sZUxvZ1Njb3BlSXRlbUgAEkEKC2RvbV9lbGVtZW50GA8gASgLMiouZXhhLmNvZGVpdW1fY29tbW9uX3BiLkRPTUVsZW1lbnRTY29wZUl0ZW1IABI4CgZyZWNpcGUYECABKAsyJi5leGEuY29kZWl1bV9jb21tb25fcGIuUmVjaXBlU2NvcGVJdGVtSAASQgoJa25vd2xlZGdlGBEgASgLMi0uZXhhLmNvZGVpdW1fY29tbW9uX3BiLktub3dsZWRnZUJhc2VTY29wZUl0ZW1IABI0CgRydWxlGBIgASgLMiQuZXhhLmNvZGVpdW1fY29tbW9uX3BiLlJ1bGVTY29wZUl0ZW1IABI+CgxtY3BfcmVzb3VyY2UYEyABKAsyJi5leGEuY29kZWl1bV9jb21tb25fcGIuTWNwUmVzb3VyY2VJdGVtSAASQwoMYnJvd3Nlcl9wYWdlGBQgASgLMisuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkJyb3dzZXJQYWdlU2NvcGVJdGVtSAASTgoSYnJvd3Nlcl9jb2RlX2Jsb2NrGBUgASgLMjAuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkJyb3dzZXJDb2RlQmxvY2tTY29wZUl0ZW1IABJDCgxicm93c2VyX3RleHQYFiABKAsyKy5leGEuY29kZWl1bV9jb21tb25fcGIuQnJvd3NlclRleHRTY29wZUl0ZW1IABJECgxjb252ZXJzYXRpb24YFyABKAsyLC5leGEuY29kZWl1bV9jb21tb25fcGIuQ29udmVyc2F0aW9uU2NvcGVJdGVtSAASRQoNdXNlcl9hY3Rpdml0eRgYIAEoCzIsLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Vc2VyQWN0aXZpdHlTY29wZUl0ZW1IABI8Cgh0ZXJtaW5hbBgZIAEoCzIoLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5UZXJtaW5hbFNjb3BlSXRlbUgAEksKE2dpdGh1Yl9wdWxsX3JlcXVlc3QYGiABKAsyLC5leGEuY29kZWl1bV9jb21tb25fcGIuR2l0aHViUHVsbFJlcXVlc3RJdGVtSAASOwoIY29kZV9tYXAYGyABKAsyJy5leGEuY29kZWl1bV9jb21tb25fcGIuQ29kZU1hcFNjb3BlSXRlbUgAEj8KCm1jcF9wcm9tcHQYHCABKAsyKS5leGEuY29kZWl1bV9jb21tb25fcGIuTWNwUHJvbXB0U2NvcGVJdGVtSAASNgoFc2tpbGwYHSABKAsyJS5leGEuY29kZWl1bV9jb21tb25fcGIuU2tpbGxTY29wZUl0ZW1IABI9CglwbGFuX2ZpbGUYHiABKAsyKC5leGEuY29kZWl1bV9jb21tb25fcGIuUGxhbkZpbGVTY29wZUl0ZW1IABIyCgNnaXQYHyABKAsyIy5leGEuY29kZWl1bV9jb21tb25fcGIuR2l0U2NvcGVJdGVtSABCDAoKc2NvcGVfaXRlbSJGCgxDb250ZXh0U2NvcGUSNgoFaXRlbXMYASADKAsyJy5leGEuY29kZWl1bV9jb21tb25fcGIuQ29udGV4dFNjb3BlSXRlbSKMAgoTTm9kZUV4ZWN1dGlvblJlY29yZBIRCglub2RlX25hbWUYASABKAkSLgoKc3RhcnRfdGltZRgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLAoIZW5kX3RpbWUYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhgKEGdyYXBoX3N0YXRlX2pzb24YBSABKAwSIgoaZ3JhcGhfc3RhdGVfanNvbl9udW1fYnl0ZXMYBiABKAQSRgoSc3ViZ3JhcGhfZXhlY3V0aW9uGAQgASgLMiouZXhhLmNvZGVpdW1fY29tbW9uX3BiLkdyYXBoRXhlY3V0aW9uU3RhdGUijwEKE0dyYXBoRXhlY3V0aW9uU3RhdGUSOwoHY3VycmVudBgBIAEoCzIqLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Ob2RlRXhlY3V0aW9uUmVjb3JkEjsKB2hpc3RvcnkYAiADKAsyKi5leGEuY29kZWl1bV9jb21tb25fcGIuTm9kZUV4ZWN1dGlvblJlY29yZCJACglHdWlkZWxpbmUSMwoFaXRlbXMYASADKAsyJC5leGEuY29kZWl1bV9jb21tb25fcGIuR3VpZGVsaW5lSXRlbSIiCg1HdWlkZWxpbmVJdGVtEhEKCWd1aWRlbGluZRgBIAEoCSKnAQoOQ2hhdE5vZGVDb25maWcSKwoFbW9kZWwYASABKA4yHC5leGEuY29kZWl1bV9jb21tb25fcGIuTW9kZWwSGAoQbWF4X2lucHV0X3Rva2VucxgCIAEoDRITCgt0ZW1wZXJhdHVyZRgDIAEoAhIZChFtYXhfb3V0cHV0X3Rva2VucxgEIAEoDRIeChZvcmRlcl9zbmlwcGV0c19ieV9maWxlGAUgASgIIrQCCgxNUXVlcnlDb25maWcSGQoRc2hvdWxkX2JhdGNoX2NjaXMYASABKAgSHwoXbWF4X3Rva2Vuc19wZXJfc3VicmFuZ2UYAiABKAMSGgoSbnVtX3BhcnNlcl93b3JrZXJzGAMgASgDEioKIm51bV93b3JrZXJzX3Blcl9kaXN0cmlidXRlZF9zY29yZXIYBCABKAMSDwoHdmVyYm9zZRgFIAEoCBIZChFpZ25vcmVfZXh0ZW5zaW9ucxgGIAMoCRIeChZpZ25vcmVfZGlyZWN0b3J5X3N0dWJzGAcgAygJEiMKG21pbl90b2tlbl9zcGFjZV9mb3JfY29udGV4dBgIIAEoDRIYChBtYXhfdGFyZ2V0X2ZpbGVzGAkgASgNEhUKDXRvcF9jY2lfY291bnQYCiABKA0itAMKD0NvbXBsZXRpb25EZWx0YRISCgpkZWx0YV90ZXh0GAEgASgJEhQKDGRlbHRhX3Rva2VucxgCIAEoDRI2CgtzdG9wX3JlYXNvbhgDIAEoDjIhLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5TdG9wUmVhc29uEjUKBXVzYWdlGAQgASgLMiYuZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1vZGVsVXNhZ2VTdGF0cxI9ChBkZWx0YV90b29sX2NhbGxzGAUgAygLMiMuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNoYXRUb29sQ2FsbBIWCg5kZWx0YV90aGlua2luZxgGIAEoCRIXCg9kZWx0YV9zaWduYXR1cmUYByABKAkSGQoRdGhpbmtpbmdfcmVkYWN0ZWQYCCABKAgSEQoJb3V0cHV0X2lkGAkgASgJEhcKC3RoaW5raW5nX2lkGAogASgJQgIYARIkChhnZW1pbmlfdGhvdWdodF9zaWduYXR1cmUYCyABKAxCAhgBEhwKFGRlbHRhX3NpZ25hdHVyZV90eXBlGAwgASgJEg0KBXBoYXNlGA0gASgJIogCChJDb21wbGV0aW9uRGVsdGFNYXASRQoGZGVsdGFzGAEgAygLMjUuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNvbXBsZXRpb25EZWx0YU1hcC5EZWx0YXNFbnRyeRIOCgZwcm9tcHQYAiABKAkSRAoSY29tcGxldGlvbl9wcm9maWxlGAMgASgLMiguZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNvbXBsZXRpb25Qcm9maWxlGlUKC0RlbHRhc0VudHJ5EgsKA2tleRgBIAEoBRI1CgV2YWx1ZRgCIAEoCzImLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Db21wbGV0aW9uRGVsdGE6AjgBIj8KEkNoYXRDb21wbGV0aW9uSW5mbxIOCgZwcm9tcHQYASABKAkSGQoRaW5mZXJlbmNlX2FkZHJlc3MYAiABKAkikQEKDENoYXRUb29sQ2FsbBIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEhYKDmFyZ3VtZW50c19qc29uGAMgASgJEhgKEGludmFsaWRfanNvbl9zdHIYBCABKAkSGAoQaW52YWxpZF9qc29uX2VychgFIAEoCRIbChNpc19jdXN0b21fdG9vbF9jYWxsGAYgASgIIk8KCUlkZVN0YXR1cxIxCgVsZXZlbBgBIAEoDjIiLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5TdGF0dXNMZXZlbBIPCgdtZXNzYWdlGAIgASgJIicKBlN0YXR1cxIMCgRjb2RlGAEgASgFEg8KB21lc3NhZ2UYAiABKAkiLAoQRG9jdW1lbnRQb3NpdGlvbhILCgNyb3cYASABKAQSCwoDY29sGAIgASgEIrEBCgVSYW5nZRIUCgxzdGFydF9vZmZzZXQYASABKAQSEgoKZW5kX29mZnNldBgCIAEoBBI/Cg5zdGFydF9wb3NpdGlvbhgDIAEoCzInLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Eb2N1bWVudFBvc2l0aW9uEj0KDGVuZF9wb3NpdGlvbhgEIAEoCzInLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Eb2N1bWVudFBvc2l0aW9uIuQFCghEb2N1bWVudBIrCh9hYnNvbHV0ZV9wYXRoX21pZ3JhdGVfbWVfdG9fdXJpGAEgASgJQgIYARIUCgxhYnNvbHV0ZV91cmkYDCABKAkSNQopcmVsYXRpdmVfcGF0aF9taWdyYXRlX21lX3RvX3dvcmtzcGFjZV91cmkYAiABKAlCAhgBEhUKDXdvcmtzcGFjZV91cmkYDSABKAkSDAoEdGV4dBgDIAEoCRIXCg9lZGl0b3JfbGFuZ3VhZ2UYBCABKAkSMQoIbGFuZ3VhZ2UYBSABKA4yHy5leGEuY29kZWl1bV9jb21tb25fcGIuTGFuZ3VhZ2USFQoNY3Vyc29yX29mZnNldBgGIAEoBBJACg9jdXJzb3JfcG9zaXRpb24YCCABKAsyJy5leGEuY29kZWl1bV9jb21tb25fcGIuRG9jdW1lbnRQb3NpdGlvbhITCgtsaW5lX2VuZGluZxgHIAEoCRIzCg12aXNpYmxlX3JhbmdlGAkgASgLMhwuZXhhLmNvZGVpdW1fY29tbW9uX3BiLlJhbmdlEhcKD2lzX2N1dG9mZl9zdGFydBgKIAEoCBIVCg1pc19jdXRvZmZfZW5kGAsgASgIEhoKEmxpbmVzX2N1dG9mZl9zdGFydBgOIAEoBRIYChBsaW5lc19jdXRvZmZfZW5kGA8gASgFEi0KCXRpbWVzdGFtcBgQIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEAoIaXNfZGlydHkYESABKAgSEwoLaXNfbm90ZWJvb2sYEyABKAgSNAoQbGFzdF9hY2Nlc3NfdGltZRgVIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMAoKc2VsZWN0aW9ucxgWIAMoCzIcLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5SYW5nZRIRCgRoYXNoGBcgASgESACIAQFCBwoFX2hhc2hKBAgSEBNKBAgUEBUiwwEKEFByb21wdENvbXBvbmVudHMSMQoIZG9jdW1lbnQYASABKAsyHy5leGEuY29kZWl1bV9jb21tb25fcGIuRG9jdW1lbnQSOAoPb3RoZXJfZG9jdW1lbnRzGAIgAygLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLkRvY3VtZW50EkIKEmNvZGVfY29udGV4dF9pdGVtcxgDIAMoCzImLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Db2RlQ29udGV4dEl0ZW0iYwoPVGV4dE9yU2NvcGVJdGVtEg4KBHRleHQYASABKAlIABI3CgRpdGVtGAIgASgLMicuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNvbnRleHRTY29wZUl0ZW1IAEIHCgVjaHVuayKBAQoTUGlubmVkQ29udGV4dENvbmZpZxIXCg9tYXRjaF9yZXBvX25hbWUYASABKAkSEgoKbWF0Y2hfcGF0aBgCIAEoCRI9Cg9waW5uZWRfY29udGV4dHMYAyADKAsyJC5leGEuY29kZWl1bV9jb21tb25fcGIuUGlubmVkQ29udGV4dCJhCg1QaW5uZWRDb250ZXh0EkAKD3JlcG9zaXRvcnlfcGF0aBgBIAEoCzIlLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5SZXBvc2l0b3J5UGF0aEgAQg4KDGNvbnRleHRfaXRlbSJSCg5SZXBvc2l0b3J5UGF0aBIYChByZW1vdGVfcmVwb19uYW1lGAEgASgJEg8KB3ZlcnNpb24YAiABKAkSFQoNcmVsYXRpdmVfcGF0aBgDIAEoCSJoChpEZWZhdWx0UGlubmVkQ29udGV4dENvbmZpZxJKChZwaW5uZWRfY29udGV4dF9jb25maWdzGAEgAygLMiouZXhhLmNvZGVpdW1fY29tbW9uX3BiLlBpbm5lZENvbnRleHRDb25maWciIgoEUnVsZRIKCgJpZBgBIAEoCRIOCgZwcm9tcHQYAiABKAkibAoNUnVsZVZpb2xhdGlvbhIKCgJpZBgBIAEoCRIpCgRydWxlGAIgASgLMhsuZXhhLmNvZGVpdW1fY29tbW9uX3BiLlJ1bGUSEgoKc3RhcnRfbGluZRgDIAEoBRIQCghlbmRfbGluZRgEIAEoBSJEChlMYW5ndWFnZVNlcnZlckRpYWdub3N0aWNzEgwKBGxvZ3MYASADKAkSGQoRZ29yb3V0aW5lX3Byb2ZpbGUYAiABKAwiRwoMSW5kZXhlclN0YXRzEjcKCGRhdGFiYXNlGAEgASgLMiUuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkluZGV4ZXJEYlN0YXRzIqUBCg5JbmRleGVyRGJTdGF0cxJMChJsb2NhbF9zcWxpdGVfZmFpc3MYASABKAsyLi5leGEuY29kZWl1bV9jb21tb25fcGIuTG9jYWxTcWxpdGVGYWlzc0RiU3RhdHNIABI6Cghwb3N0Z3JlcxgCIAEoCzImLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Qb3N0Z3Jlc0RiU3RhdHNIAEIJCgdiYWNrZW5kIokBChdMb2NhbFNxbGl0ZUZhaXNzRGJTdGF0cxJBChFmYWlzc19zdGF0ZV9zdGF0cxgBIAMoCzImLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5GYWlzc1N0YXRlU3RhdHMSGAoQdG90YWxfaXRlbV9jb3VudBgCIAEoAxIRCglxdWFudGl6ZWQYAyABKAgiegoPRmFpc3NTdGF0ZVN0YXRzEkAKEGVtYmVkZGluZ19zb3VyY2UYASABKA4yJi5leGEuY29kZWl1bV9jb21tb25fcGIuRW1iZWRkaW5nU291cmNlEhEKCXdvcmtzcGFjZRgCIAEoCRISCgppdGVtX2NvdW50GAMgASgDIhEKD1Bvc3RncmVzRGJTdGF0cyJxChBMYXN0VXBkYXRlUmVjb3JkEigKBHRpbWUYASABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjMKBHR5cGUYAiABKA4yJS5leGEuY29kZWl1bV9jb21tb25fcGIuTGFzdFVwZGF0ZVR5cGUiUAoUTGFzdFVwZGF0ZVJlY29yZExpc3QSOAoHcmVjb3JkcxgBIAMoCzInLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5MYXN0VXBkYXRlUmVjb3JkItYDCg9Nb2RlbFVzYWdlU3RhdHMSOgoQbW9kZWxfZGVwcmVjYXRlZBgBIAEoDjIcLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Nb2RlbEICGAESEQoJbW9kZWxfdWlkGAkgASgJEhkKEWJpbGxpbmdfbW9kZWxfdWlkGAogASgJEhsKE3JlcXVlc3RlZF9tb2RlbF91aWQYCyABKAkSFAoMaW5wdXRfdG9rZW5zGAIgASgEEhUKDW91dHB1dF90b2tlbnMYAyABKAQSGgoSY2FjaGVfd3JpdGVfdG9rZW5zGAQgASgEEhkKEWNhY2hlX3JlYWRfdG9rZW5zGAUgASgEEjgKDGFwaV9wcm92aWRlchgGIAEoDjIiLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5BUElQcm92aWRlchISCgptZXNzYWdlX2lkGAcgASgJElMKD3Jlc3BvbnNlX2hlYWRlchgIIAMoCzI6LmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Nb2RlbFVzYWdlU3RhdHMuUmVzcG9uc2VIZWFkZXJFbnRyeRo1ChNSZXNwb25zZUhlYWRlckVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEiKwoZU3VwZXJDb21wbGV0ZUZpbHRlclJlYXNvbhIOCgZyZWFzb24YASABKAkiKgoNRGlhZ25vc3RpY0ZpeBIKCgJpZBgBIAEoCRINCgV0aXRsZRgCIAEoCSKMAgoOQ29kZURpYWdub3N0aWMSKwoFcmFuZ2UYASABKAsyHC5leGEuY29kZWl1bV9jb21tb25fcGIuUmFuZ2USDwoHbWVzc2FnZRgCIAEoCRIQCghzZXZlcml0eRgDIAEoCRIOCgZzb3VyY2UYBCABKAkSCwoDdXJpGAUgASgJEg8KAmlkGAYgASgJSACIAQESMQoIbGFuZ3VhZ2UYByABKA4yHy5leGEuY29kZWl1bV9jb21tb25fcGIuTGFuZ3VhZ2USDQoFc2NvcmUYCCABKAMSMwoFZml4ZXMYCSADKAsyJC5leGEuY29kZWl1bV9jb21tb25fcGIuRGlhZ25vc3RpY0ZpeEIFCgNfaWQi1AEKFkludGVsbGlzZW5zZVN1Z2dlc3Rpb24SKwoFcmFuZ2UYASABKAsyHC5leGEuY29kZWl1bV9jb21tb25fcGIuUmFuZ2USDAoEdGV4dBgCIAEoCRINCgVsYWJlbBgDIAEoCRIUCgxsYWJlbF9kZXRhaWwYBCABKAkSEwoLZGVzY3JpcHRpb24YBSABKAkSDgoGZGV0YWlsGAYgASgJEhUKDWRvY3VtZW50YXRpb24YByABKAkSDAoEa2luZBgIIAEoCRIQCghzZWxlY3RlZBgJIAEoCCLuAQoURG9jdW1lbnRMaW5lc0VsZW1lbnQSPAoOZG9jdW1lbnRfcXVlcnkYASABKAsyJC5leGEuY29kZWl1bV9jb21tb25fcGIuRG9jdW1lbnRRdWVyeRJNCh1vdmVybGFwcGVkX2NvZGVfY29udGV4dF9pdGVtcxgCIAMoCzImLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Db2RlQ29udGV4dEl0ZW0SJAocZmlyc3RfZWxlbWVudF9zdWZmaXhfb3ZlcmxhcBgDIAEoDRIjChtsYXN0X2VsZW1lbnRfcHJlZml4X292ZXJsYXAYBCABKA0iegoNRG9jdW1lbnRRdWVyeRIMCgR0ZXh0GAEgASgJEhUKDWN1cnNvcl9vZmZzZXQYAiABKAUSEgoKc3RhcnRfbGluZRgDIAEoDRIQCghlbmRfbGluZRgEIAEoDRIeChZ1c2VfY2hhcmFjdGVyX3Bvc2l0aW9uGAUgASgIIscBChZEb2N1bWVudE91dGxpbmVFbGVtZW50EkMKEWNvZGVfY29udGV4dF9pdGVtGAEgASgLMiYuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNvZGVDb250ZXh0SXRlbUgAEk0KFmRvY3VtZW50X2xpbmVzX2VsZW1lbnQYAiABKAsyKy5leGEuY29kZWl1bV9jb21tb25fcGIuRG9jdW1lbnRMaW5lc0VsZW1lbnRIABIOCgR0ZXh0GAMgASgJSABCCQoHZWxlbWVudCJnCg9Eb2N1bWVudE91dGxpbmUSPwoIZWxlbWVudHMYASADKAsyLS5leGEuY29kZWl1bV9jb21tb25fcGIuRG9jdW1lbnRPdXRsaW5lRWxlbWVudBITCgtzdGFydF9pbmRleBgCIAEoAyKaAgoMUHJvZHVjdEV2ZW50EhIKCmV2ZW50X25hbWUYASABKAkSDwoHYXBpX2tleRgCIAEoCRIXCg9pbnN0YWxsYXRpb25faWQYAyABKAkSEAoIaWRlX25hbWUYBCABKAkSCgoCb3MYBSABKAkSFwoPY29kZWl1bV92ZXJzaW9uGAYgASgJEhMKC2lkZV92ZXJzaW9uGAcgASgJEhMKC2R1cmF0aW9uX21zGAggASgEEj0KBWV4dHJhGAkgAygLMi4uZXhhLmNvZGVpdW1fY29tbW9uX3BiLlByb2R1Y3RFdmVudC5FeHRyYUVudHJ5GiwKCkV4dHJhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASLkAQoPQ29kZWJhc2VDbHVzdGVyEgoKAmlkGAUgASgJEgwKBG5hbWUYASABKAkSEwoLZGVzY3JpcHRpb24YAiABKAkSGQoRY29kZWJhc2Vfcm9vdF91cmkYBiABKAkSEgoKZmlsZV9uYW1lcxgDIAMoCRIXCg9jb21taXRfbWVzc2FnZXMYBCADKAkSEgoKY29tbWl0X3NoYRgHIAMoCRIbChNjb21taXRfZGVzY3JpcHRpb25zGAggAygJEhkKEWZpbGVfZGVzY3JpcHRpb25zGAkgAygJEg4KBmludGVudBgKIAEoCSJPChNDb2RlYmFzZUNsdXN0ZXJMaXN0EjgKCGNsdXN0ZXJzGAEgAygLMiYuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNvZGViYXNlQ2x1c3RlciKEAQoSS25vd2xlZGdlQmFzZUNodW5rEg4KBHRleHQYASABKAlIABI+Cg5tYXJrZG93bl9jaHVuaxgDIAEoCzIkLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NYXJrZG93bkNodW5rSAASEAoIcG9zaXRpb24YAiABKAVCDAoKY2h1bmtfdHlwZSK0AgoRS25vd2xlZGdlQmFzZUl0ZW0SEwoLZG9jdW1lbnRfaWQYASABKAkSCwoDdXJsGAMgASgJEg0KBXRpdGxlGAQgASgJEi0KCXRpbWVzdGFtcBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASOQoGY2h1bmtzGAYgAygLMikuZXhhLmNvZGVpdW1fY29tbW9uX3BiLktub3dsZWRnZUJhc2VDaHVuaxIPCgdzdW1tYXJ5GAcgASgJEi8KBWltYWdlGAggASgLMiAuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkltYWdlRGF0YRIwCghkb21fdHJlZRgJIAEoCzIeLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5ET01UcmVlEhAKBHRleHQYAiABKAlCAhgBIqcBCh1Lbm93bGVkZ2VCYXNlSXRlbVdpdGhNZXRhZGF0YRJFChNrbm93bGVkZ2VfYmFzZV9pdGVtGAEgASgLMiguZXhhLmNvZGVpdW1fY29tbW9uX3BiLktub3dsZWRnZUJhc2VJdGVtEg0KBXNjb3JlGAIgASgCEhIKCmluZGV4X25hbWUYAyABKAkSHAoUZG9jdW1lbnRfc291cmNlX25hbWUYBCABKAkiqgEKEktub3dsZWRnZUJhc2VHcm91cBITCgtkZXNjcmlwdGlvbhgBIAEoCRJCCgRpdGVtGAIgASgLMjQuZXhhLmNvZGVpdW1fY29tbW9uX3BiLktub3dsZWRnZUJhc2VJdGVtV2l0aE1ldGFkYXRhEjsKCGNoaWxkcmVuGAMgAygLMikuZXhhLmNvZGVpdW1fY29tbW9uX3BiLktub3dsZWRnZUJhc2VHcm91cCJECglJbWFnZURhdGESEwoLYmFzZTY0X2RhdGEYASABKAkSEQoJbWltZV90eXBlGAIgASgJEg8KB2NhcHRpb24YAyABKAkiKwoIVGV4dERhdGESDAoEdGV4dBgBIAEoCRIRCgltaW1lX3R5cGUYAiABKAkiugEKDU1hcmtkb3duQ2h1bmsSRAoHaGVhZGVycxgBIAMoCzIzLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NYXJrZG93bkNodW5rLk1hcmtkb3duSGVhZGVyEgwKBHRleHQYAiABKAkaVQoOTWFya2Rvd25IZWFkZXISNQoEdHlwZRgBIAEoDjInLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NYXJrZG93bk5vZGVUeXBlEgwKBHRleHQYAiABKAkiiwIKGlRlcm1pbmFsU2hlbGxDb21tYW5kSGVhZGVyEjEKCG1ldGFkYXRhGAcgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhEhMKC3Rlcm1pbmFsX2lkGAEgASgJEhQKDGNvbW1hbmRfbGluZRgDIAEoCRILCgNjd2QYBCABKAkSLgoKc3RhcnRfdGltZRgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASQQoGc291cmNlGAYgASgOMjEuZXhhLmNvZGVpdW1fY29tbW9uX3BiLlRlcm1pbmFsU2hlbGxDb21tYW5kU291cmNlSgQIAhADUglzaGVsbF9waWQiLAoYVGVybWluYWxTaGVsbENvbW1hbmREYXRhEhAKCHJhd19kYXRhGAEgASgMIsUBChtUZXJtaW5hbFNoZWxsQ29tbWFuZFRyYWlsZXISFgoJZXhpdF9jb2RlGAEgASgFSACIAQESLAoIZW5kX3RpbWUYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhgKC2Z1bGxfb3V0cHV0GAMgASgJSAGIAQESGAoLYW5zaV9vdXRwdXQYBCABKAlIAogBAUIMCgpfZXhpdF9jb2RlQg4KDF9mdWxsX291dHB1dEIOCgxfYW5zaV9vdXRwdXQi9wEKH1Rlcm1pbmFsU2hlbGxDb21tYW5kU3RyZWFtQ2h1bmsSQwoGaGVhZGVyGAEgASgLMjEuZXhhLmNvZGVpdW1fY29tbW9uX3BiLlRlcm1pbmFsU2hlbGxDb21tYW5kSGVhZGVySAASPwoEZGF0YRgCIAEoCzIvLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5UZXJtaW5hbFNoZWxsQ29tbWFuZERhdGFIABJFCgd0cmFpbGVyGAMgASgLMjIuZXhhLmNvZGVpdW1fY29tbW9uX3BiLlRlcm1pbmFsU2hlbGxDb21tYW5kVHJhaWxlckgAQgcKBXZhbHVlIqcDChRUZXJtaW5hbFNoZWxsQ29tbWFuZBIKCgJpZBgKIAEoCRIUCgxjb21tYW5kX2xpbmUYAiABKAkSCwoDY3dkGAMgASgJEg4KBm91dHB1dBgEIAEoDBIWCglleGl0X2NvZGUYBSABKAVIAIgBARIuCgpzdGFydF90aW1lGAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIsCghlbmRfdGltZRgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASNQoRbGFzdF91cGRhdGVkX3RpbWUYCyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEkEKBnN0YXR1cxgIIAEoDjIxLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5UZXJtaW5hbFNoZWxsQ29tbWFuZFN0YXR1cxJBCgZzb3VyY2UYCSABKA4yMS5leGEuY29kZWl1bV9jb21tb25fcGIuVGVybWluYWxTaGVsbENvbW1hbmRTb3VyY2VCDAoKX2V4aXRfY29kZUoECAEQAlIJc2hlbGxfcGlkIl0KE1Rlcm1pbmFsQ29tbWFuZERhdGESEwoLdGVybWluYWxfaWQYASABKAkSEAoIcGxhdGZvcm0YAiABKAkSCwoDY3dkGAMgASgJEhIKCnNoZWxsX25hbWUYBCABKAkiiAQKD1dpbmRzdXJmUHJvamVjdBIbChN3aW5kc3VyZl9wcm9qZWN0X2lkGAEgASgJEhAKCGF1dGhfdWlkGAIgASgJEkYKE2RlcGxveW1lbnRfcHJvdmlkZXIYAyABKA4yKS5leGEuY29kZWl1bV9jb21tb25fcGIuRGVwbG95bWVudFByb3ZpZGVyEhsKE3Byb3ZpZGVyX3Byb2plY3RfaWQYBCABKAkSFAoMcHJvamVjdF9uYW1lGAUgASgJEi4KCmNyZWF0ZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg4KBmRvbWFpbhgIIAEoCRIWCg5zdWJkb21haW5fbmFtZRgJIAEoCRIuCgpleHBpcmVzX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgpjbGFpbWVkX2F0GAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI0ChBkZXByb3Zpc2lvbmVkX2F0GAwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIYChBwcm92aWRlcl90ZWFtX2lkGA4gASgJEhMKC3Byb2plY3RfdXJsGA0gASgJIowFChJXaW5kc3VyZkRlcGxveW1lbnQSHgoWd2luZHN1cmZfZGVwbG95bWVudF9pZBgBIAEoCRIQCghhdXRoX3VpZBgCIAEoCRJGChNkZXBsb3ltZW50X3Byb3ZpZGVyGAMgASgOMikuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkRlcGxveW1lbnRQcm92aWRlchIeChZwcm92aWRlcl9kZXBsb3ltZW50X2lkGA4gASgJEhsKE3dpbmRzdXJmX3Byb2plY3RfaWQYEyABKAkSEgoKcHJvamVjdF9pZBgEIAEoCRIUCgxwcm9qZWN0X25hbWUYBSABKAkSFgoOd29ya3NwYWNlX3BhdGgYBiABKAkSLgoKY3JlYXRlZF9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDgoGZG9tYWluGBAgASgJEhYKDnN1YmRvbWFpbl9uYW1lGBEgASgJEhgKEHByb3ZpZGVyX3RlYW1faWQYFCABKAkSLgoKZXhwaXJlc19hdBgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASFgoOZGVwbG95bWVudF91cmwYDCABKAkSLgoKY2xhaW1lZF9hdBgPIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASNAoQZGVwcm92aXNpb25lZF9hdBgNIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASGAoQYnVpbGRfc3RhdHVzX3VybBgJIAEoCRITCgtwcm9qZWN0X3VybBgKIAEoCSKwAQoMRGVwbG95VGFyZ2V0EkYKE2RlcGxveW1lbnRfcHJvdmlkZXIYASABKA4yKS5leGEuY29kZWl1bV9jb21tb25fcGIuRGVwbG95bWVudFByb3ZpZGVyEhIKCmlzX3NhbmRib3gYAiABKAgSGAoQcHJvdmlkZXJfdGVhbV9pZBgDIAEoCRIaChJwcm92aWRlcl90ZWFtX3NsdWcYBCABKAkSDgoGZG9tYWluGAUgASgJIoABCg1XZWJEb2NzT3B0aW9uEg0KBWxhYmVsGAEgASgJEhIKCGRvY3NfdXJsGAIgASgJSAASHAoSZG9jc19zZWFyY2hfZG9tYWluGAMgASgJSAASEAoIc3lub255bXMYBCADKAkSEwoLaXNfZmVhdHVyZWQYBSABKAhCBwoFdmFsdWUi4hEKClRlYW1Db25maWcSDwoHdGVhbV9pZBgBIAEoCRIeChZ1c2VyX3Byb21wdF9jcmVkaXRfY2FwGAIgASgFEhwKFHVzZXJfZmxvd19jcmVkaXRfY2FwGAMgASgFEiMKG2F1dG9fcHJvdmlzaW9uX2Nhc2NhZGVfc2VhdBgEIAEoCBIZChFhbGxvd19tY3Bfc2VydmVycxgFIAEoCBIfChdhbGxvd19hdXRvX3J1bl9jb21tYW5kcxgHIAEoCBIbChNtYXhfdW5jbGFpbWVkX3NpdGVzGAkgASgFEh0KFWFsbG93X2FwcF9kZXBsb3ltZW50cxgKIAEoCBIlCh1hbGxvd19zYW5kYm94X2FwcF9kZXBsb3ltZW50cxgTIAEoCBIjChthbGxvd190ZWFtc19hcHBfZGVwbG95bWVudHMYFCABKAgSHQoVbWF4X25ld19zaXRlc19wZXJfZGF5GAsgASgFEhwKFGFsbG93X2dpdGh1Yl9yZXZpZXdzGAwgASgIEiYKHmFsbG93X2dpdGh1Yl9kZXNjcmlwdGlvbl9lZGl0cxgNIAEoCBImCh5wdWxsX3JlcXVlc3RfcmV2aWV3X2d1aWRlbGluZXMYDiABKAkSKwojcHVsbF9yZXF1ZXN0X2Rlc2NyaXB0aW9uX2d1aWRlbGluZXMYECABKAkSGgoSZGlzYWJsZV90b29sX2NhbGxzGA8gASgIEigKIGFsbG93X2luZGl2aWR1YWxfbGV2ZWxfYW5hbHl0aWNzGBEgASgIEicKGmFsbG93X2NvbnZlcnNhdGlvbl9zaGFyaW5nGBIgASgISACIAQESKwoecHVsbF9yZXF1ZXN0X3Jldmlld19yYXRlX2xpbWl0GBUgASgFSAGIAQESGQoRYWxsb3dfYXR0cmlidXRpb24YFiABKAgSQwoTYWxsb3dlZF9tY3Bfc2VydmVycxgXIAMoCzImLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NY3BTZXJ2ZXJDb25maWcSIQoZYWxsb3dfZ2l0aHViX2F1dG9fcmV2aWV3cxgYIAEoCBIrCiNhbGxvd19icm93c2VyX2V4cGVyaW1lbnRhbF9mZWF0dXJlcxgZIAEoCBI1Ci1kaXNhYmxlX3Rvb2xfY2FsbF9leGVjdXRpb25fb3V0c2lkZV93b3Jrc3BhY2UYGiABKAgSHgoWYWxsb3dfdmliZV9hbmRfcmVwbGFjZRgbIAEoCBIYChBkaXNhYmxlX2RlZXB3aWtpGBwgASgIEh4KFnVzZXJfYWRkX29uX2NyZWRpdF9jYXAYHiABKAUSGAoQZGlzYWJsZV9jb2RlbWFwcxgfIAEoCBIdChVhbGxvd19jb2RlbWFwX3NoYXJpbmcYICABKAkSHAoUZGlzYWJsZV9mYXN0X2NvbnRleHQYISABKAgSGQoRZGlzYWJsZV9saWZlZ3VhcmQYIiABKAgSGQoRYWxsb3dlZF9pcF9yYW5nZXMYIyADKAkSXQogbWF4X2Nhc2NhZGVfYXV0b19leGVjdXRpb25fbGV2ZWwYJSABKA4yMy5leGEuY29kZWl1bV9jb21tb25fcGIuQ2FzY2FkZUNvbW1hbmRzQXV0b0V4ZWN1dGlvbhInChpjYXNjYWRlX3dlYl9zZWFyY2hfZW5hYmxlZBgmIAEoCEgCiAEBEhsKE3Rlcm1pbmFsX2FsbG93X2xpc3QYJyADKAkSGgoSdGVybWluYWxfZGVueV9saXN0GCggAygJEh0KFWNsaV9wZXJtaXNzaW9uc19hbGxvdxgpIAMoCRIcChRjbGlfcGVybWlzc2lvbnNfZGVueRgqIAMoCRIbChNjbGlfcGVybWlzc2lvbnNfYXNrGCsgAygJEhkKEWRlZmF1bHRfbW9kZWxfdWlkGCwgASgJEhgKEGFsbG93X2FyZW5hX21vZGUYLSABKAgSGgoSY2FzY2FkZV9ob29rc19qc29uGC4gASgJEiAKGGFsbG93X2J1bmRsaW5nX2RldmluX2NsaRgvIAEoCBIZChFtY3BfcmVnaXN0cnlfdXJscxgxIAMoCRIcChRlbmZvcmNlX21jcF9yZWdpc3RyeRg8IAEoCBIcChRjbGlfZGVmYXVsdF9kaXNhYmxlZBgyIAEoCBIbChNhY3BfcmVnaXN0cnlfY29uZmlnGDMgASgJEk8KGHNhbmRib3hfZW5mb3JjZW1lbnRfbW9kZRg3IAEoDjItLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5TYW5kYm94RW5mb3JjZW1lbnRNb2RlEh8KF3NhbmRib3hfYWxsb3dlZF9kb21haW5zGDggAygJEh4KFnNhbmRib3hfZGVuaWVkX2RvbWFpbnMYOSADKAkSIgoaZGV2aW5fdGVybWluYWxfYWNwX2VuYWJsZWQYOiABKAgSHwoXZGV2aW5fY2xvdWRfYWNwX2VuYWJsZWQYOyABKAgSJgoedXNlcl9jb25maWd1cmVkX2Jhbm5lcl9lbmFibGVkGD0gASgIEiQKHHVzZXJfY29uZmlndXJlZF9iYW5uZXJfbGFiZWwYPiABKAkSJAocdXNlcl9jb25maWd1cmVkX2Jhbm5lcl9jb2xvchg/IAEoCRIXCg9kaXNhYmxlX2Nhc2NhZGUYQCABKAgSGAoQZXh0ZW5zaW9uX3BvbGljeRhBIAEoCRIkChdhcGlfa2V5X2V4cGlyYXRpb25fZGF5cxhCIAEoBUgDiAEBEhcKD2Rpc2FibGVfcGx1Z2lucxhDIAEoCEIdChtfYWxsb3dfY29udmVyc2F0aW9uX3NoYXJpbmdCIQofX3B1bGxfcmVxdWVzdF9yZXZpZXdfcmF0ZV9saW1pdEIdChtfY2FzY2FkZV93ZWJfc2VhcmNoX2VuYWJsZWRCGgoYX2FwaV9rZXlfZXhwaXJhdGlvbl9kYXlzSgQICBAJSgQIHRAeSgQIMBAxSgQINBA1SgQINRA2SgQINhA3UhhjdXN0b21fcHJvdmlkZXJfc2V0dGluZ3MiPwoWV2ViQXBwRGVwbG95bWVudENvbmZpZxISCgpwcm9qZWN0X2lkGAEgASgJEhEKCWZyYW1ld29yaxgCIAEoCSKnAQoPTWNwU2VydmVyQ29uZmlnEhEKCXNlcnZlcl9pZBgBIAEoCRI2CgVsb2NhbBgCIAEoCzIlLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NY3BMb2NhbFNlcnZlckgAEjgKBnJlbW90ZRgDIAEoCzImLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NY3BSZW1vdGVTZXJ2ZXJIAEIPCg1jb25maWd1cmF0aW9uIpgBCg5NY3BMb2NhbFNlcnZlchIPCgdjb21tYW5kGAEgASgJEgwKBGFyZ3MYAiADKAkSOwoDZW52GAMgAygLMi4uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1jcExvY2FsU2VydmVyLkVudkVudHJ5GioKCEVudkVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEiogEKD01jcFJlbW90ZVNlcnZlchIMCgR0eXBlGAEgASgJEgsKA3VybBgCIAEoCRJECgdoZWFkZXJzGAMgAygLMjMuZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1jcFJlbW90ZVNlcnZlci5IZWFkZXJzRW50cnkaLgoMSGVhZGVyc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEiswEKDlVubGVhc2hDb250ZXh0Eg8KB3VzZXJfaWQYASABKAkSEgoKc2Vzc2lvbl9pZBgCIAEoCRJJCgpwcm9wZXJ0aWVzGAMgAygLMjUuZXhhLmNvZGVpdW1fY29tbW9uX3BiLlVubGVhc2hDb250ZXh0LlByb3BlcnRpZXNFbnRyeRoxCg9Qcm9wZXJ0aWVzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASLEAQoTQnJvd3NlclBhZ2VNZXRhZGF0YRILCgN1cmwYASABKAkSDwoHcGFnZV9pZBgCIAEoCRISCgpwYWdlX3RpdGxlGAMgASgJEhYKDnZpZXdwb3J0X3dpZHRoGAQgASgNEhcKD3ZpZXdwb3J0X2hlaWdodBgFIAEoDRITCgtmYXZpY29uX3VybBgGIAEoCRI1ChFsYXN0X3Zpc2l0ZWRfdGltZRgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAisQEKF0Jyb3dzZXJDbGlja0ludGVyYWN0aW9uEhkKEXZpZXdwb3J0X3Njcm9sbF94GAEgASgNEhkKEXZpZXdwb3J0X3Njcm9sbF95GAIgASgNEg8KB2NsaWNrX3gYAyABKA0SDwoHY2xpY2tfeRgEIAEoDRIfChd0YXJnZXRfZWxlbWVudF90YWdfbmFtZRgFIAEoCRIdChV0YXJnZXRfZWxlbWVudF94X3BhdGgYBiABKAkiUAoYQnJvd3NlclNjcm9sbEludGVyYWN0aW9uEhkKEXZpZXdwb3J0X3Njcm9sbF94GAEgASgNEhkKEXZpZXdwb3J0X3Njcm9sbF95GAIgASgNIpkCChJCcm93c2VySW50ZXJhY3Rpb24SLQoJdGltZXN0YW1wGAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBJBCg1wYWdlX21ldGFkYXRhGAIgASgLMiouZXhhLmNvZGVpdW1fY29tbW9uX3BiLkJyb3dzZXJQYWdlTWV0YWRhdGESPwoFY2xpY2sYAyABKAsyLi5leGEuY29kZWl1bV9jb21tb25fcGIuQnJvd3NlckNsaWNrSW50ZXJhY3Rpb25IABJBCgZzY3JvbGwYBCABKAsyLy5leGEuY29kZWl1bV9jb21tb25fcGIuQnJvd3NlclNjcm9sbEludGVyYWN0aW9uSABCDQoLaW50ZXJhY3Rpb24i7QEKDU1ldHJpY3NSZWNvcmQSDAoEbmFtZRgBIAEoCRINCgV2YWx1ZRgCIAEoAhJCCgdkZXRhaWxzGAMgAygLMjEuZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldHJpY3NSZWNvcmQuRGV0YWlsc0VudHJ5EhQKDGxvd2VyX2JldHRlchgEIAEoCBIPCgdpc19ib29sGAUgASgIEg0KBWVycm9yGAYgASgJEhUKDXRyYWplY3RvcnlfaWQYByABKAkaLgoMRGV0YWlsc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEiaAoRTW9kZWxOb3RpZmljYXRpb24SLwoFbW9kZWwYASABKA4yHC5leGEuY29kZWl1bV9jb21tb25fcGIuTW9kZWxCAhgBEhEKCW1vZGVsX3VpZBgDIAEoCRIPCgdtZXNzYWdlGAIgASgJImsKIk1vZGVsTm90aWZpY2F0aW9uRXhwZXJpbWVudFBheWxvYWQSRQoTbW9kZWxfbm90aWZpY2F0aW9ucxgBIAMoCzIoLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Nb2RlbE5vdGlmaWNhdGlvbiJqCgxMc3BSZWZlcmVuY2USCwoDdXJpGAEgASgJEisKBXJhbmdlGAIgASgLMhwuZXhhLmNvZGVpdW1fY29tbW9uX3BiLlJhbmdlEhQKB3NuaXBwZXQYAyABKAlIAIgBAUIKCghfc25pcHBldCJQCipDYXNjYWRlTW9kZWxIZWFkZXJXYXJuaW5nRXhwZXJpbWVudFBheWxvYWQSDAoEdGV4dBgBIAEoCRIUCgx0b29sdGlwX3RleHQYAiABKAkieAoOQ29kZUFubm90YXRpb24SCgoCaWQYASABKAkSCwoDdXJpGAIgASgJEgwKBGxpbmUYAyABKA0SDwoHY29udGVudBgEIAEoCRIuCgpjcmVhdGVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCJSChRDb2RlQW5ub3RhdGlvbnNTdGF0ZRI6Cgthbm5vdGF0aW9ucxgBIAMoCzIlLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Db2RlQW5ub3RhdGlvbiJsChVUcmFqZWN0b3J5RGVzY3JpcHRpb24SJAoaY2FzY2FkZV9jb252ZXJzYXRpb25fdGl0bGUYASABKAlIABIeChRtYWlubGluZV9icmFuY2hfbmFtZRgCIAEoCUgAQg0KC2Rlc2NyaXB0aW9uIqEBChlUaGlyZFBhcnR5V2ViU2VhcmNoQ29uZmlnEkQKCHByb3ZpZGVyGAEgASgOMjIuZXhhLmNvZGVpdW1fY29tbW9uX3BiLlRoaXJkUGFydHlXZWJTZWFyY2hQcm92aWRlchI+CgVtb2RlbBgCIAEoDjIvLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5UaGlyZFBhcnR5V2ViU2VhcmNoTW9kZWwiKwoKR1JQQ1N0YXR1cxIMCgRjb2RlGAEgASgFEg8KB21lc3NhZ2UYAiABKAkiKgoTQ2FzY2FkZURhdGFNZXRhZGF0YRITCgtpZGVfdmVyc2lvbhgBIAEoCSKGAQoTTGlmZWd1YXJkTW9kZUNvbmZpZxIPCgdlbmFibGVkGAEgASgIEisKBW1vZGVsGAIgASgOMhwuZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1vZGVsEhoKEm1vZGVsX2Rpc3BsYXlfbmFtZRgDIAEoCRIVCg1hZ2VudF92ZXJzaW9uGAQgASgJIq0BCg9MaWZlZ3VhcmRDb25maWcSQAoFbW9kZXMYASADKAsyMS5leGEuY29kZWl1bV9jb21tb25fcGIuTGlmZWd1YXJkQ29uZmlnLk1vZGVzRW50cnkaWAoKTW9kZXNFbnRyeRILCgNrZXkYASABKAkSOQoFdmFsdWUYAiABKAsyKi5leGEuY29kZWl1bV9jb21tb25fcGIuTGlmZWd1YXJkTW9kZUNvbmZpZzoCOAEiZQoWUmVzcG9uc2VEaW1lbnNpb25Hcm91cBINCgV0aXRsZRgBIAEoCRI8CgpkaW1lbnNpb25zGAIgAygLMiguZXhhLmNvZGVpdW1fY29tbW9uX3BiLlJlc3BvbnNlRGltZW5zaW9uIqICChFSZXNwb25zZURpbWVuc2lvbhJNCg1jb3B5YWJsZV9jb2RlGAIgASgLMjQuZXhhLmNvZGVpdW1fY29tbW9uX3BiLlJlc3BvbnNlRGltZW5zaW9uQ29weWFibGVDb2RlSAASQAoGbWV0cmljGAMgASgLMi4uZXhhLmNvZGVpdW1fY29tbW9uX3BiLlJlc3BvbnNlRGltZW5zaW9uTWV0cmljSAASVQoRY3VtdWxhdGl2ZV9tZXRyaWMYBCABKAsyOC5leGEuY29kZWl1bV9jb21tb25fcGIuUmVzcG9uc2VEaW1lbnNpb25DdW11bGF0aXZlTWV0cmljSAASCwoDdWlkGAUgASgJQgsKCWRpbWVuc2lvbkoECAEQAlIFbGFiZWwiPQodUmVzcG9uc2VEaW1lbnNpb25Db3B5YWJsZUNvZGUSDQoFbGFiZWwYASABKAkSDQoFdmFsdWUYAiABKAkiNwoXUmVzcG9uc2VEaW1lbnNpb25NZXRyaWMSDQoFbGFiZWwYASABKAkSDQoFdmFsdWUYAiABKAkidAohUmVzcG9uc2VEaW1lbnNpb25DdW11bGF0aXZlTWV0cmljEg0KBWxhYmVsGAEgASgJEg0KBXZhbHVlGAIgASgCEgwKBHRhaWwYAyABKAkSEwoLcGx1cmFsX3RhaWwYBCABKAkSDgoGcHJlZml4GAUgASgJKsADCg5Qcm92aWRlclNvdXJjZRIfChtQUk9WSURFUl9TT1VSQ0VfVU5TUEVDSUZJRUQQABIgChxQUk9WSURFUl9TT1VSQ0VfQVVUT0NPTVBMRVRFEAESGAoUUFJPVklERVJfU09VUkNFX0NIQVQQAhIkCiBQUk9WSURFUl9TT1VSQ0VfQ09NTUFORF9HRU5FUkFURRAEEiAKHFBST1ZJREVSX1NPVVJDRV9DT01NQU5EX0VESVQQBRIhCh1QUk9WSURFUl9TT1VSQ0VfU1VQRVJDT01QTEVURRAGEiAKHFBST1ZJREVSX1NPVVJDRV9DT01NQU5EX1BMQU4QBxIZChVQUk9WSURFUl9TT1VSQ0VfUVVFUlkQCBIeChpQUk9WSURFUl9TT1VSQ0VfRkFTVF9BUFBMWRAJEiQKIFBST1ZJREVSX1NPVVJDRV9DT01NQU5EX1RFUk1JTkFMEAoSHAoYUFJPVklERVJfU09VUkNFX1RBQl9KVU1QEAsSGwoXUFJPVklERVJfU09VUkNFX0NBU0NBREUQDCIECAMQAyoiUFJPVklERVJfU09VUkNFX1NVUEVSQ09NUExFVEVfQ0hBVCrmBQoRUHJvbXB0RWxlbWVudEtpbmQSIwofUFJPTVBUX0VMRU1FTlRfS0lORF9VTlNQRUNJRklFRBAAEiMKH1BST01QVF9FTEVNRU5UX0tJTkRfRklMRV9NQVJLRVIQAhImCiJQUk9NUFRfRUxFTUVOVF9LSU5EX09USEVSX0RPQ1VNRU5UEAQSJQohUFJPTVBUX0VMRU1FTlRfS0lORF9CRUZPUkVfQ1VSU09SEAUSJAogUFJPTVBUX0VMRU1FTlRfS0lORF9BRlRFUl9DVVJTT1IQBxIbChdQUk9NUFRfRUxFTUVOVF9LSU5EX0ZJTRAIEhsKF1BST01QVF9FTEVNRU5UX0tJTkRfU09UEAkSGwoXUFJPTVBUX0VMRU1FTlRfS0lORF9FT1QQChIpCiVQUk9NUFRfRUxFTUVOVF9LSU5EX0NPREVfQ09OVEVYVF9JVEVNEA0SIwofUFJPTVBUX0VMRU1FTlRfS0lORF9JTlNUUlVDVElPThAOEiEKHVBST01QVF9FTEVNRU5UX0tJTkRfU0VMRUNUSU9OEA8SJwojUFJPTVBUX0VMRU1FTlRfS0lORF9UUkFKRUNUT1JZX1NURVAQEBInCiNQUk9NUFRfRUxFTUVOVF9LSU5EX0FDVElWRV9ET0NVTUVOVBAREiYKIlBST01QVF9FTEVNRU5UX0tJTkRfQ0FDSEVEX01FU1NBR0UQEiIECAEQASIECAMQAyIECAYQBiIECAsQCyIECAwQDCojUFJPTVBUX0VMRU1FTlRfS0lORF9MQU5HVUFHRV9NQVJLRVIqJFBST01QVF9FTEVNRU5UX0tJTkRfU0lCTElOR19GVU5DVElPTioiUFJPTVBUX0VMRU1FTlRfS0lORF9GSUxFX1NFUEFSQVRPUiohUFJPTVBUX0VMRU1FTlRfS0lORF9TRUFSQ0hfUkVTVUxUKh5QUk9NUFRfRUxFTUVOVF9LSU5EX1RPUF9PRl9ET0MqiAEKFFByb21wdEFubm90YXRpb25LaW5kEiYKIlBST01QVF9BTk5PVEFUSU9OX0tJTkRfVU5TUEVDSUZJRUQQABIfChtQUk9NUFRfQU5OT1RBVElPTl9LSU5EX0NPUFkQARInCiNQUk9NUFRfQU5OT1RBVElPTl9LSU5EX1BST01QVF9DQUNIRRACKtdDCg1FeHBlcmltZW50S2V5Eg8KC1VOU1BFQ0lGSUVEEAASGwoXVVNFX0lOVEVSTkFMX0NIQVRfTU9ERUwQJBIQCgxSRUNPUkRfRklMRVMQLxIZChVOT19TQU1QTEVSX0VBUkxZX1NUT1AQMBIXChNDTV9NRU1PUllfVEVMRU1FVFJZEDUSGwoXTEFOR1VBR0VfU0VSVkVSX1ZFUlNJT04QNxIfChtMQU5HVUFHRV9TRVJWRVJfQVVUT19SRUxPQUQQOBISCg5PTkxZX01VTFRJTElORRA8EhoKFlVTRV9BVVRPQ09NUExFVEVfTU9ERUwQQBInCiNVU0VfQVRUUklCVVRJT05fRk9SX0lORElWSURVQUxfVElFUhBEEhUKEUNIQVRfTU9ERUxfQ09ORklHEE4SGAoUQ09NTUFORF9NT0RFTF9DT05GSUcQTxITCg9NSU5fSURFX1ZFUlNJT04QURIdChlBUElfU0VSVkVSX1ZFUkJPU0VfRVJST1JTEFQSGQoVREVGQVVMVF9FTkFCTEVfU0VBUkNIEFYSHQoZQ09MTEVDVF9PTkJPQVJESU5HX0VWRU5UUxBXEh8KG0NPTExFQ1RfRVhBTVBMRV9DT01QTEVUSU9OUxBYEhcKE1VTRV9NVUxUSUxJTkVfTU9ERUwQWRIbChdBVFRSSUJVVElPTl9LSUxMX1NXSVRDSBBcEhIKDkZBU1RfTVVMVElMSU5FEF4SFQoRU0lOR0xFX0NPTVBMRVRJT04QXxIiCh5TVE9QX0ZJUlNUX05PTl9XSElURVNQQUNFX0xJTkUQYBIRCg1DT1JURVhfQ09ORklHEGYSHQoZTU9ERUxfQ0hBVF8xMTEyMV9WQVJJQU5UUxBnEh0KGUlOQ0xVREVfUFJPTVBUX0NPTVBPTkVOVFMQaRIZChVOT05fVEVBTVNfS0lMTF9TV0lUQ0gQahIYChRQRVJTSVNUX0NPREVfVFJBQ0tFUhBsEiUKIUNIQVRfQ09NUExFVElPTl9UT0tFTlNfU09GVF9MSU1JVBByEhoKFkNIQVRfVE9LRU5TX1NPRlRfTElNSVQQcxIdChlESVNBQkxFX0NPTVBMRVRJT05TX0NBQ0hFEHYSGwoXTExBTUEzXzQwNUJfS0lMTF9TV0lUQ0gQdxIkCiBVU0VfQ09NTUFORF9ET0NTVFJJTkdfR0VORVJBVElPThB5EhgKFEVOQUJMRV9TVVBFUkNPTVBMRVRFEHsSCwoGU0VOVFJZEIgBEhQKD0ZBU1RfU0lOR0xFTElORRCQARIgChtSMl9MQU5HVUFHRV9TRVJWRVJfRE9XTkxPQUQQkwESEAoLU1BMSVRfTU9ERUwQmAESIAobV0lORFNVUkZfU0VOVFJZX1NBTVBMRV9SQVRFEMYBEhYKEUFQSV9TRVJWRVJfQ1VUT0ZGEJ4BEhsKFkZBU1RfU1BFRURfS0lMTF9TV0lUQ0gQnwESGQoUUFJFRElDVElWRV9NVUxUSUxJTkUQoAESHwobU1VQRVJDT01QTEVURV9GSUxURVJfUkVWRVJUEH0SJQohU1VQRVJDT01QTEVURV9GSUxURVJfUFJFRklYX01BVENIEH4SKAokU1VQRVJDT01QTEVURV9GSUxURVJfU0NPUkVfVEhSRVNIT0xEEH8SJwoiU1VQRVJDT01QTEVURV9GSUxURVJfSU5TRVJUSU9OX0NBUBCAARImCiFTVVBFUkNPTVBMRVRFX0ZJTFRFUl9ERUxFVElPTl9DQVAQhQESKQokU1VQRVJDT01QTEVURV9GSUxURVJfV0hJVEVTUEFDRV9PTkxZEJwBEh8KGlNVUEVSQ09NUExFVEVfRklMVEVSX05PX09QEKoBEiYKIVNVUEVSQ09NUExFVEVfRklMVEVSX1NVRkZJWF9NQVRDSBCwARIqCiVTVVBFUkNPTVBMRVRFX0ZJTFRFUl9QUkVWSU9VU0xZX1NIT1dOELYBEhwKF1NVUEVSQ09NUExFVEVfTUlOX1NDT1JFEIEBEiEKHFNVUEVSQ09NUExFVEVfTUFYX0lOU0VSVElPTlMQggESHgoZU1VQRVJDT01QTEVURV9MSU5FX1JBRElVUxCDARIgChtTVVBFUkNPTVBMRVRFX01BWF9ERUxFVElPTlMQhAESKAojU1VQRVJDT01QTEVURV9SRUNFTlRfU1RFUFNfRFVSQVRJT04QigESJwoiU1VQRVJDT01QTEVURV9NQVhfVFJBSkVDVE9SWV9TVEVQUxCaARIrCiZTVVBFUkNPTVBMRVRFX01BWF9UUkFKRUNUT1JZX1NURVBfU0laRRDLARInCiJTVVBFUkNPTVBMRVRFX0RJU0FCTEVfVFlQSU5HX0NBQ0hFEOcBEjIKLVNVUEVSQ09NUExFVEVfQUxXQVlTX1VTRV9DQUNIRV9PTl9FUVVBTF9TVEFURRClAhIxCixTVVBFUkNPTVBMRVRFX0NBQ0hFX09OX1BBUkVOVF9JRF9LSUxMX1NXSVRDSBCpAhIhChxTVVBFUkNPTVBMRVRFX1BSVU5FX1JFU1BPTlNFEIwBEjUKMFNVUEVSQ09NUExFVEVfUFJVTkVfTUFYX0lOU0VSVF9ERUxFVEVfTElORV9ERUxUQRCNARIfChpTVVBFUkNPTVBMRVRFX01PREVMX0NPTkZJRxCRARIjCh5TVVBFUkNPTVBMRVRFX01PREVMX0NPTkZJR19MT1cQygISJAofU1VQRVJDT01QTEVURV9NT0RFTF9DT05GSUdfSElHSBDLAhIZChRTVVBFUkNPTVBMRVRFX09OX1RBQhCXARIlCiBTVVBFUkNPTVBMRVRFX0lOTElORV9QVVJFX0RFTEVURRCrARI0Ci9TVVBFUkNPTVBMRVRFX0lOTElORV9SSUNIX0dIT1NUX1RFWFRfSU5TRVJUSU9OUxDaARIeChlNT0RFTF9DSEFUXzE5ODIxX1ZBUklBTlRTELQCEioKJVNVUEVSQ09NUExFVEVfTUFYX0NPTkNVUlJFTlRfUkVRVUVTVFMQnAISIAobQ09NTUFORF9QUk9NUFRfQ0FDSEVfQ09ORklHEP8BEh0KGENVTVVMQVRJVkVfUFJPTVBUX0NPTkZJRxCAAhIlCiBDVU1VTEFUSVZFX1BST01QVF9DQVNDQURFX0NPTkZJRxCXAhImCiFUQUJfSlVNUF9DVU1VTEFUSVZFX1BST01QVF9DT05GSUcQrQISKQokQ09NUExFVElPTl9TUEVFRF9TVVBFUkNPTVBMRVRFX0NBQ0hFEM8BEi4KKUNPTVBMRVRJT05fU1BFRURfUFJFRElDVElWRV9TVVBFUkNPTVBMRVRFENABEiQKH0NPTVBMRVRJT05fU1BFRURfVEFCX0pVTVBfQ0FDSEUQ0QESKQokQ09NUExFVElPTl9TUEVFRF9QUkVESUNUSVZFX1RBQl9KVU1QENIBEkAKO0NPTVBMRVRJT05fU1BFRURfQkxPQ0tfVEFCX0pVTVBfT05fUFJFRElDVElWRV9TVVBFUkNPTVBMRVRFEKYCEiAKG0pFVEJSQUlOU19FTkFCTEVfT05CT0FSRElORxCJARIsCidFTkFCTEVfQVVUT0NPTVBMRVRFX0RVUklOR19JTlRFTExJU0VOU0UQkgESFwoSQ09NTUFORF9CT1hfT05fVE9QEJsBEiUKIENPTlRFWFRfQUNUSVZFX0RPQ1VNRU5UX0ZSQUNUSU9OEJUBEiAKG0NPTlRFWFRfRk9SQ0VfTE9DQUxfQ09OVEVYVBCyARIrCiZDUk9TU19TRUxMX0VYVEVOU0lPTl9ET1dOTE9BRF9XSU5EU1VSRhDcARI3CjJNT0RFTF9MTEFNQV8zXzFfNzBCX0lOU1RSVUNUX0xPTkdfQ09OVEVYVF9WQVJJQU5UUxCnAhInCiJVU0VfQVVUT0NPTVBMRVRFX01PREVMX1NFUlZFUl9TSURFEKMBEh0KGFNVUEVSQ09NUExFVEVfTk9fQ09OVEVYVBClARIhChxTVVBFUkNPTVBMRVRFX05PX0FDVElWRV9OT0RFEKYBEhUKEFRBQl9KVU1QX0VOQUJMRUQQqAESHAoXVEFCX0pVTVBfQUNDRVBUX0VOQUJMRUQQqQESGQoUVEFCX0pVTVBfTElORV9SQURJVVMQsQESHwoaVEFCX0pVTVBfTUlOX0ZJTFRFUl9SQURJVVMQxQESHAoXVEFCX0pVTVBfT05fQUNDRVBUX09OTFkQzQESIQocVEFCX0pVTVBfRklMVEVSX0lOX1NFTEVDVElPThDXARIaChVUQUJfSlVNUF9NT0RFTF9DT05GSUcQ7QESGgoVVEFCX0pVTVBfRklMVEVSX05PX09QEO4BEhsKFlRBQl9KVU1QX0ZJTFRFUl9SRVZFUlQQ7wESJAofVEFCX0pVTVBfRklMVEVSX1NDT1JFX1RIUkVTSE9MRBDwARIkCh9UQUJfSlVNUF9GSUxURVJfV0hJVEVTUEFDRV9PTkxZEPEBEiIKHVRBQl9KVU1QX0ZJTFRFUl9JTlNFUlRJT05fQ0FQEPIBEiEKHFRBQl9KVU1QX0ZJTFRFUl9ERUxFVElPTl9DQVAQ8wESHAoXVEFCX0pVTVBfUFJVTkVfUkVTUE9OU0UQhAISMAorVEFCX0pVTVBfUFJVTkVfTUFYX0lOU0VSVF9ERUxFVEVfTElORV9ERUxUQRCFAhIiCh1UQUJfSlVNUF9TVE9QX1RPS0VOX01JRFNUUkVBTRC9AhIfChpWSUVXRURfRklMRV9UUkFDS0VSX0NPTkZJRxDTARImCiFTTkFQU0hPVF9UT19TVEVQX09QVElPTlNfT1ZFUlJJREUQsQISHwoaU1RSRUFNSU5HX0VYVEVSTkFMX0NPTU1BTkQQrAESIAobVVNFX1NQRUNJQUxfRURJVF9DT0RFX0JMT0NLELMBEh8KGkVOQUJMRV9TVUdHRVNURURfUkVTUE9OU0VTELsBEhoKFUNBU0NBREVfQkFTRV9NT0RFTF9JRBC+ARInCiJDQVNDQURFX1BMQU5fQkFTRURfQ09ORklHX09WRVJSSURFEIoCEiMKHkNBU0NBREVfR0xPQkFMX0NPTkZJR19PVkVSUklERRDUARIwCitDQVNDQURFX0JBQ0tHUk9VTkRfUkVTRUFSQ0hfQ09ORklHX09WRVJSSURFEMEBEhoKFUNBU0NBREVfRU5GT1JDRV9RVU9UQRDMARImCiFDQVNDQURFX0VOQUJMRV9BVVRPTUFURURfTUVNT1JJRVMQ4AESIwoeQ0FTQ0FERV9NRU1PUllfQ09ORklHX09WRVJSSURFELoCEioKJUNBU0NBREVfVVNFX1JFUExBQ0VfQ09OVEVOVF9FRElUX1RPT0wQ5AESKwomQ0FTQ0FERV9WSUVXX0ZJTEVfVE9PTF9DT05GSUdfT1ZFUlJJREUQggISKAojQ0FTQ0FERV9VU0VfRVhQRVJJTUVOVF9DSEVDS1BPSU5URVIQ9wESHQoYQ0FTQ0FERV9FTkFCTEVfTUNQX1RPT0xTEPUBEhsKFkNBU0NBREVfQVVUT19GSVhfTElOVFMQkwISLQooVVNFX0FOVEhST1BJQ19UT0tFTl9FRkZJQ0lFTlRfVE9PTFNfQkVUQRCoAhIoCiNDQVNDQURFX1VTRVJfTUVNT1JJRVNfSU5fU1lTX1BST01QVBChAhIkCh9DQVNDQURFX0VOQUJMRV9QUk9YWV9XRUJfU0VSVkVSEKICEiAKG0NPTExBUFNFX0FTU0lTVEFOVF9NRVNTQUdFUxC4AhIjCh5DQVNDQURFX0RFRkFVTFRfTU9ERUxfT1ZFUlJJREUQwQISFgoRRU5BQkxFX1NNQVJUX0NPUFkQtQESKQogRU5BQkxFX0NPTU1JVF9NRVNTQUdFX0dFTkVSQVRJT04QuQEaAggBEh0KGFNLSVBfQ09OU0lTVEVOQ1lfTUFOQUdFUhDCARIjCh5GSVJFV09SS1NfT05fREVNQU5EX0RFUExPWU1FTlQQlAISIQocQVBJX1NFUlZFUl9DTElFTlRfVVNFX0hUVFBfMhDKARIlCiBBVVRPQ09NUExFVEVfREVGQVVMVF9ERUJPVU5DRV9NUxDVARIiCh1BVVRPQ09NUExFVEVfRkFTVF9ERUJPVU5DRV9NUxDWARIkCh9QUk9GSUxJTkdfVEVMRU1FVFJZX1NBTVBMRV9SQVRFENsBEh8KGlNUUkVBTV9VU0VSX1NIRUxMX0NPTU1BTkRTEOEBEiUKIEFQSV9TRVJWRVJfUFJPTVBUX0NBQ0hFX1JFUExJQ0FTELMCEiMKHkFQSV9TRVJWRVJfRU5BQkxFX01PUkVfTE9HR0lORxCQAhIhChxDT01NQU5EX0lOSkVDVF9VU0VSX01FTU9SSUVTEOkBEiQKH0FVVE9DT01QTEVURV9ISURERU5fRVJST1JfUkVHRVgQ6gESJQogRElTQUJMRV9JREVfQ09NUExFVElPTlNfREVCT1VOQ0UQlgISGQoURU5BQkxFX1FVSUNLX0FDVElPTlMQ+gESIgodUVVJQ0tfQUNUSU9OU19XSElURUxJU1RfUkVHRVgQ+wESHwoWQ0FTQ0FERV9ORVdfTU9ERUxTX05VWBCDAhoCCAESJgodQ0FTQ0FERV9ORVdfV0FWRV8yX01PREVMU19OVVgQjgIaAggBEiAKG1NVUEVSQ09NUExFVEVfRkFTVF9ERUJPVU5DRRCGAhIjCh5TVVBFUkNPTVBMRVRFX1JFR1VMQVJfREVCT1VOQ0UQhwISHAoXWE1MX1RPT0xfUEFSU0lOR19NT0RFTFMQjAISKwomU1VQRVJDT01QTEVURV9ET05UX0ZJTFRFUl9NSURfU1RSRUFNRUQQjQISLQooQU5OT1lBTkNFX01BTkFHRVJfTUFYX05BVklHQVRJT05fUkVOREVSUxCdAhI1CjBBTk5PWUFOQ0VfTUFOQUdFUl9JTkxJTkVfUFJFVkVOVElPTl9USFJFU0hPTERfTVMQngISQwo+QU5OT1lBTkNFX01BTkFHRVJfSU5MSU5FX1BSRVZFTlRJT05fTUFYX0lOVEVOVElPTkFMX1JFSkVDVElPTlMQnwISPAo3QU5OT1lBTkNFX01BTkFHRVJfSU5MSU5FX1BSRVZFTlRJT05fTUFYX0FVVE9fUkVKRUNUSU9OUxCgAhIeChlVU0VfQ1VTVE9NX0NIQVJBQ1RFUl9ESUZGEKQCEh0KGEZPUkNFX05PTl9PUFRJTUlaRURfRElGRhCqAhIoCiNDQVNDQURFX1dFQl9BUFBfREVQTE9ZTUVOVFNfRU5BQkxFRBCsAhIqCiVDQVNDQURFX1JFQ0lQRVNfQVRfTUVOVElPTl9WSVNJQklMSVRZELwCEhwKF0lNUExJQ0lUX1VTRVNfQ0xJUEJPQVJEELYCEh4KGURJU0FCTEVfU1VQRVJDT01QTEVURV9QQ1cQrwISJAofQkxPQ0tfVEFCX09OX1NIT1dOX0FVVE9DT01QTEVURRCwAhIbChZDQVNDQURFX1dFQl9TRUFSQ0hfTlVYELcCEhgKE01PREVMX05PVElGSUNBVElPTlMQvwISHAoXTU9ERUxfU0VMRUNUT1JfTlVYX0NPUFkQwAISIgodQ0FTQ0FERV9UT09MX0NBTExfUFJJQ0lOR19OVVgQwgISGAoTQ0FTQ0FERV9QTFVHSU5TX1RBQhDDAhIZChRXQVZFXzhfUlVMRVNfRU5BQkxFRBDEAhIdChhXQVZFXzhfS05PV0xFREdFX0VOQUJMRUQQxQISFwoSQ0FTQ0FERV9PTkJPQVJESU5HEMYCEh4KGUNBU0NBREVfT05CT0FSRElOR19SRVZFUlQQxwISKwomQ0FTQ0FERV9XSU5EU1VSRl9CUk9XU0VSX1RPT0xTX0VOQUJMRUQQyAISIQocQ0FTQ0FERV9NT0RFTF9IRUFERVJfV0FSTklORxDJAhIOCglURVNUX09OTFkQ5wciBgjsARDsASIECAEQIyIECCUQKyIECCwQLCIECC0QLSIECC4QLiIECDEQMSIECDIQMiIECDMQMyIECDQQNCIECDkQOSIECDoQOiIECDsQOyIECD0QPSIECD4QPiIECD8QPyIECEEQQSIECEIQQiIECEMQQyIECEUQRSIECEYQRiIECEcQRyIECEgQSCIECEkQSSIECEoQSiIECEsQSyIECEwQTCIECE0QTSIECFAQUCIECFIQUiIECFMQUyIECFUQVSIECFoQWiIECFsQWyIECF0QXSIECGIQYiIECGMQYyIECGQQZCIECGUQZSIECGgQaCIECGsQayIECG4QbiIECG8QbyIECHAQcCIECHEQcSIECHQQdCIECHgQeCIECHoQeiIECHwQfCIGCIYBEIYBIgYIhwEQhwEiBgiLARCLASIGCI4BEI4BIgYIjwEQjwEiBgiWARCWASIGCJ0BEJ0BIgYIoQEQoQEiBgiiARCiASIGCKcBEKcBIgYIrQEQrQEiBgiuARCuASIGCK8BEK8BIgYItAEQtAEiBgi3ARC3ASIGCLgBELgBIgYIugEQugEiBgi8ARC8ASIGCL0BEL0BIgYIwwEQwwEiBgjEARDEASIGCMcBEMcBIgYIyAEQyAEiBgjOARDOASIGCNgBENgBIgYI2QEQ2QEiBgjdARDdASIGCN4BEN4BIgYI3wEQ3wEiBgjiARDiASIGCOMBEOMBIgYI5QEQ5QEiBgjmARDmASIGCOgBEOgBIgYI6wEQ6wEiBgj0ARD0ASIGCPYBEPYBIgYI+AEQ+AEiBgj8ARD8ASIGCP0BEP0BIgYI/gEQ/gEiBgiBAhCBAiIGCIgCEIgCIgYIiQIQiQIiBgiLAhCLAiIGCJICEJICIgYIlQIQlQIiBgiYAhCYAiIGCJkCEJkCIgYImgIQmgIiBgijAhCjAiIGCKsCEKsCIgYIrgIQrgIiBgiyAhCyAiIGCLkCELkCIgYIuwIQuwIiBgi+AhC+AioLRklMRV9NQVJLRVIqDlVTRV9NT0RFTF8zMzU2KhFTQU1QTElOR19DSEFOR0VfMSoQU0NPUklOR19DSEFOR0VfMSoQU0NPUklOR19DSEFOR0VfMiocRE9OVF9QUlVORV9NVUxUSUxJTkVfT1ZFUkxBUCoVVVNFX0ZJTV9FT1RfVEhSRVNIT0xEKhhET19OT1RfU0NPUkVfU1RPUF9UT0tFTlMqHFNRUlRfTEVOX05PUk1fTE9HX1BST0JfU0NPUkUqDlVTRV9NT0RFTF8zNTU0KhFVU0VfTU9ERUxfMzU1NF9EQyoRU0lCTElOR19GVU5DVElPTlMqB1VTRV9GSU0qEkhJR0hFUl9URU1QRVJBVFVSRSoOVVNFX01PREVMXzQzMDAqDlVTRV9NT0RFTF80NTMxKg5VU0VfTU9ERUxfNDg2MSodU0VBUkNIX0NPTkRJVElPTkVEX0dFTkVSQVRJT04qDlVTRV9NT0RFTF81MjAyKg5VU0VfTU9ERUxfNTQzOSoOVVNFX01PREVMXzU1MTkqCklOTElORV9GSU0qEklOQ0xVREVfVE9QX09GX0RPQyoYVlNDT0RFX1VTRV9HUlBDX1BST1RPQ09MKhFYQkFUQ0hFUl9GQUxMQkFDSyoHTE9XRVJfUCoOVVNFX01PREVMXzUzMDUqDlVTRV9NT0RFTF81NDc2KiBVU0VfSU5GRVJFTkNFX1NFUlZFUl9DT01QTEVUSU9OUyoOVVNFX01PREVMXzYyODIqGENPTlRFWFRfRk9SX0FVVE9DT01QTEVURSoOVVNFX01PREVMXzY1NjkqEENPTlRFWFRfRk9SX0NIQVQqFlJFT1JERVJfQ09OVEVYVF9QUk9NUFQqHVJFR1VMQVJMWV9VUExPQURfTUVNT1JZX1NUQVRTKg5VU0VfTU9ERUxfNzc0NyoOVVNFX01PREVMXzc3MjUqEVVTRV9HUFRfNF9DT01NQU5EKg5SQU5HRV9UUkFDS0lORyoUUFJVTkVfQkFEX0lOTElORV9GSU0qDExJTUlUX1BSRUZJWCoUVVNFX1JFTU9URV9FTUJFRERJTkcqHFVTRV9DSEFUX0lOU1RSVUNUX0NPTVBMRVRJT04qD1BJTkdfQVBJX1NFUlZFUioOU09SVF9FT01fRklSU1QqDlVTRV9NT0RFTF83MTU4Kg5VU0VfTU9ERUxfODI3NioOVVNFX01PREVMXzc0NjgqDlVTRV9NT0RFTF84NTIzKg1JTlRFTlRfRklMVEVSKhVTVFJFQU1JTkdfQ09NUExFVElPTlMqHFNUUkVBTUlOR19DT01QTEVUSU9OU19DVVRPRkYqEFNXSVRDSF9MSU5FX1RZUEUqDlVTRV9NT0RFTF85NTg5Kg5KVVBZVEVSX0ZPUk1BVCoOVVNFX01PREVMXzg2MTUqDlVTRV9NT0RFTF84Njg0Kg5VU0VfTU9ERUxfODI1MSoOVVNFX01PREVMXzgzNDEqD1VTRV9NT0RFTF8xMDg4MCoZTU9ERUxfQ0hBVF8xMDU0Nl9WQVJJQU5UUyoQSU5URU5UX0lORkVSRU5DRSoSTU9ERUxfMTI0NzFfVE9LRU5TKhFVU0VfTVFVRVJZX1NDT1JFUioZVVNFX1FVQU5USVpFRF9GQUlTU19JTkRFWCoZTVVMVElMSU5FX01PREVMX1RIUkVTSE9MRCoXVVNFX1NVUEVSQ09NUExFVEVfTU9ERUwqGFVTRV9JTkZFUkVOQ0VfQVBJX1NFUlZFUiobQ0FTQ0FERV9XRUJfVE9PTFNfUkVBRF9VUkxTKiFDQVNDQURFX1VTRV9TVUJBR0VOVF9DSEVDS1BPSU5URVIqG1VTRV9PUEVOQUlfSU5URVJGQUNFX0NMSUVOVCoZVEFCX0pVTVBfUFJJTlRfTElORV9SQU5HRSocQ0FTQ0FERV9GUkVFX0NPTkZJR19PVkVSUklERSofQ0FTQ0FERV9QUkVNSVVNX0NPTkZJR19PVkVSUklERSojVVNFX0dDUF9BUElfU0VSVkVSX0ZPUl9QUkVNSVVNX0NIQVQqGlVTRV9PUEVOQUlfT0ZGSUNJQUxfQ0xJRU5UKh5FU1RJTUFURV9UT0tFTklaRVJfS0lMTF9TV0lUQ0gqH0VOQUJMRV9TSEVMTF9DT01NQU5EX1RSQUpFQ1RPUlkqEkVOQUJMRV9SVU5fQ09NTUFORCoaQ0FTQ0FERV9XRUJfU0VBUkNIX0VOQUJMRUQqJUNBU0NBREVfRU5BQkxFX0lERV9URVJNSU5BTF9FWEVDVVRJT04qDUlNUExJQ0lUX1BMQU4qG1JVTl9SRVNFQVJDSF9TVEFURV9QUk9WSURFUioXVVNFX0lNUExJQ0lUX1RSQUpFQ1RPUlkqGk9QRU5fVU5JVkVSU0lUWV9PTl9TVEFSVFVQKh5TVVBFUkNPTVBMRVRFX1VTRV9DVVJSRU5UX0xJTkUqGUFQSV9TRVJWRVJfTElWRU5FU1NfUFJPQkUqnwEKEEV4cGVyaW1lbnRTb3VyY2USIQodRVhQRVJJTUVOVF9TT1VSQ0VfVU5TUEVDSUZJRUQQABIfChtFWFBFUklNRU5UX1NPVVJDRV9FWFRFTlNJT04QARIlCiFFWFBFUklNRU5UX1NPVVJDRV9MQU5HVUFHRV9TRVJWRVIQAhIgChxFWFBFUklNRU5UX1NPVVJDRV9BUElfU0VSVkVSEAMqvgEKCk1vZGVsQWxpYXMSGwoXTU9ERUxfQUxJQVNfVU5TUEVDSUZJRUQQABIcChhNT0RFTF9BTElBU19DQVNDQURFX0JBU0UQARIVChFNT0RFTF9BTElBU19WSVNUQRADEhUKEU1PREVMX0FMSUFTX1NIQU1VEAQSFQoRTU9ERUxfQUxJQVNfU1dFXzEQBRIaChZNT0RFTF9BTElBU19TV0VfMV9MSVRFEAYSFAoQTU9ERUxfQUxJQVNfQVVUTxAHKoZZCgVNb2RlbBIVChFNT0RFTF9VTlNQRUNJRklFRBAAEhQKEE1PREVMX0VNQkVEXzY1OTEQFBIOCgpNT0RFTF84MzQxECESDgoKTU9ERUxfODUyOBAqEg4KCk1PREVMXzkwMjQQKRIPCgtNT0RFTF8xNDYwMhBwEg8KC01PREVMXzE1MTMzEHMSDwoLTU9ERUxfMTUzMDIQdxIPCgtNT0RFTF8xNTMzNRB5Eg8KC01PREVMXzE1MzM2EHoSEAoLTU9ERUxfMTU5MzEQpwESFAoQTU9ERUxfUVVFUllfOTkwNRAwEhUKEU1PREVMX1FVRVJZXzExNzkxEEISFAoQTU9ERUxfQ0hBVF8xMTEyMBA5EhQKEE1PREVMX0NIQVRfMTExMjEQOhIUChBNT0RFTF9DSEFUXzEyMTE5EEYSFAoQTU9ERUxfQ0hBVF8xMjEyMRBFEhQKEE1PREVMX0NIQVRfMTI0MzcQShIUChBNT0RFTF9DSEFUXzEyNDkxEEwSFAoQTU9ERUxfQ0hBVF8xMjYyMxBOEhQKEE1PREVMX0NIQVRfMTI5NTAQTxIUChBNT0RFTF9DSEFUXzEyOTY4EGUSFAoQTU9ERUxfQ0hBVF8xMzQwNBBmEhQKEE1PREVMX0NIQVRfMTM1NjYQZxIUChBNT0RFTF9DSEFUXzEzOTMwEGwSFAoQTU9ERUxfQ0hBVF8xNDI1NRBuEhQKEE1PREVMX0NIQVRfMTQyNTYQbxIUChBNT0RFTF9DSEFUXzE0OTQyEHISFAoQTU9ERUxfQ0hBVF8xNTMwNRB4EhQKEE1PREVMX0NIQVRfMTU2MDAQexIUChBNT0RFTF9DSEFUXzE2ODAxEHwSFQoQTU9ERUxfQ0hBVF8xNjcxOBCvARIVChBNT0RFTF9DSEFUXzE1NzI5EKgBEhUKEE1PREVMX0NIQVRfMTY1NzkQrQESHAoXTU9ERUxfQ0hBVF8xNjU3OV9DUlVTT0UQrgESFQoQTU9ERUxfQ0hBVF8xODgwNRC1ARIVChBNT0RFTF9DSEFUXzE4NDY4ENIBEhUKEE1PREVMX0NIQVRfMTk0ODQQ6QESFQoQTU9ERUxfQ0hBVF8yMDcwNhDrARIVChBNT0RFTF9DSEFUXzIxNzc5EPUBEhUKEE1PREVMX0NIQVRfMTkwNDAQ0wESFQoQTU9ERUxfQ0hBVF8xOTgyMBDlARIVChBNT0RFTF9DSEFUXzE5ODIxEOYBEhwKF01PREVMX0NIQVRfMTk4MjFfQ1JVU09FEPQBEhUKEE1PREVMX0NIQVRfMjMzMTAQjQISFQoQTU9ERUxfQ0hBVF8yODU4MBDKAhIVChBNT0RFTF9DSEFUXzI4NTgxEMsCEhUKEE1PREVMX0NIQVRfMjg1ODIQzAISFQoQTU9ERUxfQ0hBVF8yODU4MxDNAhIVChBNT0RFTF9DSEFUXzI4NTg0EM4CEhUKEE1PREVMX0NIQVRfMTk4MjIQ5wESFQoQTU9ERUxfQ0hBVF8yMjc5OBD/ARIVChBNT0RFTF9DSEFUXzIyNzk5EIACEhUKEE1PREVMX0NIQVRfMjI4MDAQgQISFQoQTU9ERUxfQ0hBVF8yMzE1MRCLAhIVChBNT0RFTF9DSEFUXzIzMTUyEIwCEhgKE01PREVMX1RBQl9BUk1BRElMTE8Q9AMSFQoQTU9ERUxfVEFCX0JBU0VfMRD1AxIdChhNT0RFTF9UQUJfRVhQRVJJTUVOVEFMXzEQ9gMSHQoYTU9ERUxfVEFCX0VYUEVSSU1FTlRBTF8yEPcDEh0KGE1PREVMX1RBQl9FWFBFUklNRU5UQUxfMxD4AxIdChhNT0RFTF9UQUJfRVhQRVJJTUVOVEFMXzQQ+QMSHQoYTU9ERUxfVEFCX0VYUEVSSU1FTlRBTF81EPoDEh0KGE1PREVMX1RBQl9FWFBFUklNRU5UQUxfNhD7AxIdChhNT0RFTF9UQUJfRVhQRVJJTUVOVEFMXzcQ/AMSHQoYTU9ERUxfVEFCX0VYUEVSSU1FTlRBTF84EP0DEh0KGE1PREVMX1RBQl9FWFBFUklNRU5UQUxfORD+AxIeChlNT0RFTF9UQUJfRVhQRVJJTUVOVEFMXzEwEP8DEhgKE01PREVMX0NBU0NBREVfMjI4OTMQjgISGAoTTU9ERUxfQ0FTQ0FERV8yMDA2NBDhARIYChNNT0RFTF9DQVNDQURFXzIwMDY1EOwBEhgKE01PREVMX0NBU0NBREVfMjAwNjYQ7QESGAoTTU9ERUxfQ0FTQ0FERV8yMDA2NxDuARIYChNNT0RFTF9DQVNDQURFXzIwMDY4EO8BEhgKE01PREVMX0NBU0NBREVfMjAwNjkQ8AESGAoTTU9ERUxfQ0FTQ0FERV8yMDA3MBD6ARIYChNNT0RFTF9DQVNDQURFXzIwMDcxEPsBEhgKE01PREVMX0NBU0NBREVfMjAwNzIQ/AESGAoTTU9ERUxfQ0FTQ0FERV8yMDA3MxD9ARIYChNNT0RFTF9DQVNDQURFXzIwMDc0EP4BEhgKE01PREVMX0NBU0NBREVfMjAwNzUQswISGAoTTU9ERUxfQ0FTQ0FERV8yMDA3NhC0AhIYChNNT0RFTF9DQVNDQURFXzIwMDc3ELUCEhgKE01PREVMX0NBU0NBREVfMjAwNzgQtgISGAoTTU9ERUxfQ0FTQ0FERV8yMDA3ORC3AhIYChNNT0RFTF9DQVNDQURFXzIwMDgwEKkCEhgKE01PREVMX0NBU0NBREVfMjAwODEQqgISGAoTTU9ERUxfQ0FTQ0FERV8yMDA4MhCrAhIYChNNT0RFTF9DQVNDQURFXzIwMDgzEKwCEhgKE01PREVMX0NBU0NBREVfMjAwODQQrQISGAoTTU9ERUxfQ0FTQ0FERV8yMDA4NRCuAhIYChNNT0RFTF9DQVNDQURFXzIwMDg2EK8CEhgKE01PREVMX0NBU0NBREVfMjAwODcQsAISGAoTTU9ERUxfQ0FTQ0FERV8yMDA4OBCxAhIYChNNT0RFTF9DQVNDQURFXzIwMDg5ELICEh8KGk1PREVMX0RFRVBTRUVLX1YzX0lOVEVSTkFMEPcBEiQKH01PREVMX0RFRVBTRUVLX1YzXzAzMjRfSU5URVJOQUwQ+AESHwoaTU9ERUxfREVFUFNFRUtfUjFfSU5URVJOQUwQ+QESJgohTU9ERUxfQU5USFJPUElDX1dJTkRTVVJGX1JFU0VBUkNIEPEBEjMKKk1PREVMX0FOVEhST1BJQ19XSU5EU1VSRl9SRVNFQVJDSF9USElOS0lORxDyARoCCAESFQoRTU9ERUxfRFJBRlRfMTE0MDgQQRIaChZNT0RFTF9EUkFGVF9DSEFUXzExODgzEEMSGgoWTU9ERUxfRFJBRlRfQ0hBVF8xMjE5NhBIEhoKFk1PREVMX0RSQUZUX0NIQVRfMTI0MTMQSRIaChZNT0RFTF9EUkFGVF9DSEFUXzEzMTc1EGgSGwoWTU9ERUxfRFJBRlRfQ0hBVF8xOTgyMxDoARIbChZNT0RFTF9EUkFGVF9DSEFUXzIwNzA3EPMBEhsKFk1PREVMX0RSQUZUX0NIQVRfMjI4MDEQggISGwoWTU9ERUxfRFJBRlRfQ0hBVF8yMzUwOBCRAhIeChlNT0RFTF9EUkFGVF9DQVNDQURFXzIzNjcyEJICEhgKFE1PREVMX0NIQVRfM181X1RVUkJPEBwSFAoQTU9ERUxfQ0hBVF9HUFRfNBAeEiEKHU1PREVMX0NIQVRfR1BUXzRfMTEwNl9QUkVWSUVXECUSIwofTU9ERUxfVEVYVF9FTUJFRERJTkdfT1BFTkFJX0FEQRBbEigKI01PREVMX1RFWFRfRU1CRURESU5HX09QRU5BSV8zX1NNQUxMEKMBEigKI01PREVMX1RFWFRfRU1CRURESU5HX09QRU5BSV8zX0xBUkdFEKQBEiAKHE1PREVMX0NIQVRfR1BUXzRPXzIwMjRfMDVfMTMQRxIgChxNT0RFTF9DSEFUX0dQVF80T18yMDI0XzA4XzA2EG0SJQohTU9ERUxfQ0hBVF9HUFRfNE9fTUlOSV8yMDI0XzA3XzE4EHESIgodTU9ERUxfQ0hBVF9HUFRfNF8xXzIwMjVfMDRfMTQQgwISJwoiTU9ERUxfQ0hBVF9HUFRfNF8xX01JTklfMjAyNV8wNF8xNBCEAhInCiJNT0RFTF9DSEFUX0dQVF80XzFfTkFOT18yMDI1XzA0XzE0EIUCEh0KFU1PREVMX0NIQVRfTzFfUFJFVklFVxB1GgIIARIaChJNT0RFTF9DSEFUX08xX01JTkkQdhoCCAESFgoNTU9ERUxfQ0hBVF9PMRCqARoCCAESFwoSTU9ERUxfQ0hBVF9PM19NSU5JEM8BEhsKFk1PREVMX0NIQVRfTzNfTUlOSV9MT1cQ1QESHAoXTU9ERUxfQ0hBVF9PM19NSU5JX0hJR0gQ1gESEgoNTU9ERUxfQ0hBVF9PMxDaARIWChFNT0RFTF9DSEFUX08zX0xPVxCGAhIXChJNT0RFTF9DSEFUX08zX0hJR0gQhwISFwoSTU9ERUxfQ0hBVF9PNF9NSU5JEIgCEhsKFk1PREVMX0NIQVRfTzRfTUlOSV9MT1cQiQISHAoXTU9ERUxfQ0hBVF9PNF9NSU5JX0hJR0gQigISGwoSTU9ERUxfQ0hBVF9HUFRfNF81EOQBGgIIARIcChdNT0RFTF9DT0RFWF9NSU5JX0xBVEVTVBCfAhIgChtNT0RFTF9DT0RFWF9NSU5JX0xBVEVTVF9MT1cQoAISIQocTU9ERUxfQ09ERVhfTUlOSV9MQVRFU1RfSElHSBChAhIcChdNT0RFTF9PM19QUk9fMjAyNV8wNl8xMBCmAhIgChtNT0RFTF9PM19QUk9fMjAyNV8wNl8xMF9MT1cQpwISIQocTU9ERUxfTzNfUFJPXzIwMjVfMDZfMTBfSElHSBCoAhIXChJNT0RFTF9HUFRfT1NTXzEyMEIQxgISFQoQTU9ERUxfR1BUXzVfTkFOTxDRAhIdChhNT0RFTF9DSEFUX0dQVF81X01JTklNQUwQ0gISGQoUTU9ERUxfQ0hBVF9HUFRfNV9MT1cQ0wISFQoQTU9ERUxfQ0hBVF9HUFRfNRDUAhIaChVNT0RFTF9DSEFUX0dQVF81X0hJR0gQ1QISGwoWTU9ERUxfQ0hBVF9HUFRfNV9DT0RFWBDaAhIhChxNT0RFTF9HUFRfNV8xX0NPREVYX01JTklfTE9XEIEDEiQKH01PREVMX0dQVF81XzFfQ09ERVhfTUlOSV9NRURJVU0QggMSIgodTU9ERUxfR1BUXzVfMV9DT0RFWF9NSU5JX0hJR0gQgwMSHAoXTU9ERUxfR1BUXzVfMV9DT0RFWF9MT1cQhAMSHwoaTU9ERUxfR1BUXzVfMV9DT0RFWF9NRURJVU0QhQMSHQoYTU9ERUxfR1BUXzVfMV9DT0RFWF9ISUdIEIYDEiAKG01PREVMX0dQVF81XzFfQ09ERVhfTUFYX0xPVxCLAxIjCh5NT0RFTF9HUFRfNV8xX0NPREVYX01BWF9NRURJVU0QjAMSIQocTU9ERUxfR1BUXzVfMV9DT0RFWF9NQVhfSElHSBCNAxIjChtNT0RFTF9HT09HTEVfR0VNSU5JXzFfMF9QUk8QPRoCCAESIwobTU9ERUxfR09PR0xFX0dFTUlOSV8xXzVfUFJPED4aAggBEiUKHE1PREVMX0dPT0dMRV9HRU1JTklfRVhQXzEyMDYQtwEaAggBEiIKHU1PREVMX0dPT0dMRV9HRU1JTklfMl8wX0ZMQVNIELgBEiAKG01PREVMX0dPT0dMRV9HRU1JTklfMl81X1BSTxD2ARI0CitNT0RFTF9HT09HTEVfR0VNSU5JXzJfNV9GTEFTSF9QUkVWSUVXXzA0XzE3EJACGgIIARI0CitNT0RFTF9HT09HTEVfR0VNSU5JXzJfNV9GTEFTSF9QUkVWSUVXXzA1XzIwEJMCGgIIARI9CjRNT0RFTF9HT09HTEVfR0VNSU5JXzJfNV9GTEFTSF9QUkVWSUVXXzA1XzIwX1RISU5LSU5HEJQCGgIIARIiCh1NT0RFTF9HT09HTEVfR0VNSU5JXzJfNV9GTEFTSBC4AhIrCiZNT0RFTF9HT09HTEVfR0VNSU5JXzJfNV9GTEFTSF9USElOS0lORxC5AhInCiJNT0RFTF9HT09HTEVfR0VNSU5JXzJfNV9GTEFTSF9MSVRFENcCEiQKH01PREVMX0dPT0dMRV9HRU1JTklfM18wX1BST19MT1cQ+gISJQogTU9ERUxfR09PR0xFX0dFTUlOSV8zXzBfUFJPX0hJR0gQ+wISLAojTU9ERUxfR09PR0xFX0dFTUlOSV8zXzBfUFJPX01JTklNQUwQmwMaAggBEisKIk1PREVMX0dPT0dMRV9HRU1JTklfM18wX1BST19NRURJVU0QnAMaAggBEioKJU1PREVMX0dPT0dMRV9HRU1JTklfM18wX0ZMQVNIX01JTklNQUwQnQMSJgohTU9ERUxfR09PR0xFX0dFTUlOSV8zXzBfRkxBU0hfTE9XEJ4DEikKJE1PREVMX0dPT0dMRV9HRU1JTklfM18wX0ZMQVNIX01FRElVTRCfAxInCiJNT0RFTF9HT09HTEVfR0VNSU5JXzNfMF9GTEFTSF9ISUdIEKADEiAKHE1PREVMX0NMQVVERV8zX09QVVNfMjAyNDAyMjkQPxIiCh5NT0RFTF9DTEFVREVfM19TT05ORVRfMjAyNDAyMjkQQBIiCh1NT0RFTF9DTEFVREVfM19IQUlLVV8yMDI0MDMwNxCsARIkCh9NT0RFTF9DTEFVREVfM181X0hBSUtVXzIwMjQxMDIyEKsBEiQKIE1PREVMX0NMQVVERV8zXzVfU09OTkVUXzIwMjQwNjIwEFASJQogTU9ERUxfQ0xBVURFXzNfNV9TT05ORVRfMjAyNDEwMjIQpgESJQogTU9ERUxfQ0xBVURFXzNfN19TT05ORVRfMjAyNTAyMTkQ4gESLgopTU9ERUxfQ0xBVURFXzNfN19TT05ORVRfMjAyNTAyMTlfVEhJTktJTkcQ4wESIQocTU9ERUxfQ0xBVURFXzNfNV9TT05ORVRfQllPSxCcAhIhChxNT0RFTF9DTEFVREVfM183X1NPTk5FVF9CWU9LEJ0CEi0KKE1PREVMX0NMQVVERV8zXzdfU09OTkVUX09QRU5fUk9VVEVSX0JZT0sQvwISKgolTU9ERUxfQ0xBVURFXzNfN19TT05ORVRfVEhJTktJTkdfQllPSxCeAhI2CjFNT0RFTF9DTEFVREVfM183X1NPTk5FVF9USElOS0lOR19PUEVOX1JPVVRFUl9CWU9LEMACEh0KGE1PREVMX0NMQVVERV80X09QVVNfQllPSxCVAhImCiFNT0RFTF9DTEFVREVfNF9PUFVTX1RISU5LSU5HX0JZT0sQlgISGAoTTU9ERUxfQ0xBVURFXzRfT1BVUxCiAhIhChxNT0RFTF9DTEFVREVfNF9PUFVTX1RISU5LSU5HEKMCEh8KGk1PREVMX0NMQVVERV80X1NPTk5FVF9CWU9LEJcCEisKJk1PREVMX0NMQVVERV80X1NPTk5FVF9PUEVOX1JPVVRFUl9CWU9LEMECEigKI01PREVMX0NMQVVERV80X1NPTk5FVF9USElOS0lOR19CWU9LEJgCEjQKL01PREVMX0NMQVVERV80X1NPTk5FVF9USElOS0lOR19PUEVOX1JPVVRFUl9CWU9LEMICEhoKFU1PREVMX0NMQVVERV80X1NPTk5FVBCZAhIjCh5NT0RFTF9DTEFVREVfNF9TT05ORVRfVEhJTktJTkcQmgISGgoVTU9ERUxfQ0xBVURFXzRfMV9PUFVTEMgCEiMKHk1PREVMX0NMQVVERV80XzFfT1BVU19USElOS0lORxDJAhIcChdNT0RFTF9DTEFVREVfNF81X1NPTk5FVBDhAhIlCiBNT0RFTF9DTEFVREVfNF81X1NPTk5FVF9USElOS0lORxDiAhIfChpNT0RFTF9DTEFVREVfNF81X1NPTk5FVF8xTRDyAhIoCiNNT0RFTF9DTEFVREVfNF81X1NPTk5FVF9USElOS0lOR18xTRDzAhIaChVNT0RFTF9DTEFVREVfNF81X09QVVMQhwMSIwoeTU9ERUxfQ0xBVURFXzRfNV9PUFVTX1RISU5LSU5HEIgDEikKIE1PREVMX0NMQVVERV80X1NPTk5FVF9EQVRBQlJJQ0tTEKQCGgIIARIyCilNT0RFTF9DTEFVREVfNF9TT05ORVRfVEhJTktJTkdfREFUQUJSSUNLUxClAhoCCAESLwonTU9ERUxfVE9HRVRIRVJBSV9URVhUX0VNQkVERElOR19NMl9CRVJUEFEaAggBEi8KJk1PREVMX1RPR0VUSEVSQUlfTExBTUFfM18xXzhCX0lOU1RSVUNUEKUBGgIIARIxCilNT0RFTF9IVUdHSU5HX0ZBQ0VfVEVYVF9FTUJFRERJTkdfTTJfQkVSVBBSGgIIARIyCipNT0RFTF9IVUdHSU5HX0ZBQ0VfVEVYVF9FTUJFRERJTkdfVUFFX0NPREUQUxoCCAESLQolTU9ERUxfSFVHR0lOR19GQUNFX1RFWFRfRU1CRURESU5HX0JHRRBUGgIIARIvCidNT0RFTF9IVUdHSU5HX0ZBQ0VfVEVYVF9FTUJFRERJTkdfQkxBREUQVRoCCAESNgouTU9ERUxfSFVHR0lOR19GQUNFX1RFWFRfRU1CRURESU5HX0FSQ1RJQ19MQVJHRRBWGgIIARIxCilNT0RFTF9IVUdHSU5HX0ZBQ0VfVEVYVF9FTUJFRERJTkdfRTVfQkFTRRBXGgIIARIvCidNT0RFTF9IVUdHSU5HX0ZBQ0VfVEVYVF9FTUJFRERJTkdfTVhCQUkQWBoCCAESHwobTU9ERUxfTExBTUFfM18xXzhCX0lOU1RSVUNUEGoSIAocTU9ERUxfTExBTUFfM18xXzcwQl9JTlNUUlVDVBBrEiEKHU1PREVMX0xMQU1BXzNfMV80MDVCX0lOU1RSVUNUEGkSIQocTU9ERUxfTExBTUFfM18zXzcwQl9JTlNUUlVDVBDQARIkCh9NT0RFTF9MTEFNQV8zXzNfNzBCX0lOU1RSVUNUX1IxENEBEi0KKU1PREVMX0xMQU1BXzNfMV83MEJfSU5TVFJVQ1RfTE9OR19DT05URVhUEHQSJAobTU9ERUxfTExBTUFfM18xXzhCX0hFUk1FU18zELABGgIIARIlChxNT0RFTF9MTEFNQV8zXzFfNzBCX0hFUk1FU18zELEBGgIIARIfChpNT0RFTF9RV0VOXzJfNV83Ql9JTlNUUlVDVBCyARIgChtNT0RFTF9RV0VOXzJfNV8zMkJfSU5TVFJVQ1QQswESIAobTU9ERUxfUVdFTl8yXzVfNzJCX0lOU1RSVUNUELQBEiMKHk1PREVMX1FXRU5fMl81XzMyQl9JTlNUUlVDVF9SMRDgARIfChpNT0RFTF9RV0VOXzNfMjM1Ql9JTlNUUlVDVBDEAhIlCiBNT0RFTF9RV0VOXzNfQ09ERVJfNDgwQl9JTlNUUlVDVBDFAhIqCiVNT0RFTF9RV0VOXzNfQ09ERVJfNDgwQl9JTlNUUlVDVF9GQVNUEMcCEhIKDU1PREVMX0dMTV80XzUQ1gISFwoSTU9ERUxfR0xNXzRfNV9GQVNUEOACEhIKDU1PREVMX0dMTV80XzYQ5AISFwoSTU9ERUxfR0xNXzRfNl9GQVNUEOUCEhIKDU1PREVMX0dMTV80XzcQoQMSFwoSTU9ERUxfR0xNXzRfN19GQVNUEKIDEhIKDU1PREVMX1NXRV8xXzUQ5wISGwoWTU9ERUxfU1dFXzFfNV9SRURJUkVDVBDpAhIbChZNT0RFTF9TV0VfMV81X1RISU5LSU5HEPECEhcKEk1PREVMX1NXRV8xXzVfU0xPVxD5AhISCg1NT0RFTF9TV0VfMV82EKQDEhcKEk1PREVMX1NXRV8xXzZfRkFTVBClAxIYChNNT0RFTF9DT0RFTUFQX1NNQUxMEOYCEhkKFE1PREVMX0NPREVNQVBfTUVESVVNEOgCEhgKE01PREVMX0NPREVNQVBfU01BUlQQ6gISJAofTU9ERUxfQ09HTklUSU9OX0lOU1RBTlRfQ09OVEVYVBDjAhIkCh9NT0RFTF9MTEFNQV9GVF9ERUVQV0lLSV9BUlRJQ0xFEM8CEiIKHU1PREVMX0xMQU1BX0ZUX0RFRVBXSUtJX0hPVkVSENACEh0KGE1PREVMX0xMQU1BX0ZUX0xJRkVHVUFSRBCOAxIeChlNT0RFTF9DT0dOSVRJT05fTElGRUdVQVJEEJoDEiUKHU1PREVMX05PTUlDX1RFWFRfRU1CRURESU5HX1YxEFkaAggBEicKH01PREVMX05PTUlDX1RFWFRfRU1CRURESU5HX1YxXzUQWhoCCAESFAoQTU9ERUxfTUlTVFJBTF83QhBNEiEKHU1PREVMX1NBTEVTRk9SQ0VfRU1CRURESU5HXzJSEGMSFgoRTU9ERUxfQ1VTVE9NX1ZMTE0QtgESGAoQTU9ERUxfVEVJX0JHRV9NMxBcGgIIARIlCh1NT0RFTF9URUlfTk9NSUNfRU1CRURfVEVYVF9WMRBdGgIIARIsCiRNT0RFTF9URUlfSU5URkxPQVRfRTVfTEFSR0VfSU5TVFJVQ1QQXhoCCAESKgoiTU9ERUxfVEVJX1NOT1dGTEFLRV9BUkNUSUNfRU1CRURfTBBfGgIIARIjChtNT0RFTF9URUlfVUFFX0NPREVfTEFSR0VfVjEQYBoCCAESFwoPTU9ERUxfVEVJX0IxQURFEGEaAggBEigKIE1PREVMX1RFSV9XSEVSRUlTQUlfVUFFX0xBUkdFX1YxEGIaAggBEi0KJU1PREVMX1RFSV9XSEVSRUlTQUlfVUFFX0NPREVfTEFSR0VfVjEQZBoCCAESIAoXTU9ERUxfT1BFTkFJX0NPTVBBVElCTEUQyAEaAggBEiMKGk1PREVMX0FOVEhST1BJQ19DT01QQVRJQkxFEMkBGgIIARIgChdNT0RFTF9WRVJURVhfQ09NUEFUSUJMRRDKARoCCAESIQoYTU9ERUxfQkVEUk9DS19DT01QQVRJQkxFEMsBGgIIARIfChZNT0RFTF9BWlVSRV9DT01QQVRJQkxFEMwBGgIIARIWChFNT0RFTF9ERUVQU0VFS19WMxDNARIWChFNT0RFTF9ERUVQU0VFS19SMRDOARIbChZNT0RFTF9ERUVQU0VFS19SMV9TTE9XENcBEhsKFk1PREVMX0RFRVBTRUVLX1IxX0ZBU1QQ2AESEgoNTU9ERUxfS0lNSV9LMhDDAhIVChBNT0RFTF9NSU5JTUFYX00yEPACEhcKEk1PREVMX01JTklNQVhfTTJfMRCjAxIYChNNT0RFTF9ERUVQU0VFS19WM18yEJkDEhsKFk1PREVMX0tJTUlfSzJfVEhJTktJTkcQigMSHQoYTU9ERUxfQ1VTVE9NX09QRU5fUk9VVEVSELkBEhUKEE1PREVMX1hBSV9HUk9LXzIQ1AESFQoQTU9ERUxfWEFJX0dST0tfMxDZARIkCh9NT0RFTF9YQUlfR1JPS18zX01JTklfUkVBU09OSU5HEOoBEh0KGE1PREVMX1hBSV9HUk9LX0NPREVfRkFTVBDZAhIUCg9NT0RFTF9QUklWQVRFXzEQ2wESFAoPTU9ERUxfUFJJVkFURV8yENwBEhQKD01PREVMX1BSSVZBVEVfMxDdARIUCg9NT0RFTF9QUklWQVRFXzQQ3gESFAoPTU9ERUxfUFJJVkFURV81EN8BEhQKD01PREVMX1BSSVZBVEVfNhC6AhIUCg9NT0RFTF9QUklWQVRFXzcQuwISFAoPTU9ERUxfUFJJVkFURV84ELwCEhQKD01PREVMX1BSSVZBVEVfORC9AhIVChBNT0RFTF9QUklWQVRFXzEwEL4CEhUKEE1PREVMX1BSSVZBVEVfMTEQ2wISFQoQTU9ERUxfUFJJVkFURV8xMhDcAhIVChBNT0RFTF9QUklWQVRFXzEzEN0CEhUKEE1PREVMX1BSSVZBVEVfMTQQ3gISFQoQTU9ERUxfUFJJVkFURV8xNRDfAhIVChBNT0RFTF9QUklWQVRFXzE2EOsCEhUKEE1PREVMX1BSSVZBVEVfMTcQ7AISFQoQTU9ERUxfUFJJVkFURV8xOBDtAhIVChBNT0RFTF9QUklWQVRFXzE5EO4CEhUKEE1PREVMX1BSSVZBVEVfMjAQ7wISFQoQTU9ERUxfUFJJVkFURV8yMRD0AhIVChBNT0RFTF9QUklWQVRFXzIyEPUCEhUKEE1PREVMX1BSSVZBVEVfMjMQ9gISFQoQTU9ERUxfUFJJVkFURV8yNBD3AhIVChBNT0RFTF9QUklWQVRFXzI1EPgCEhUKEE1PREVMX1BSSVZBVEVfMjYQ/AISFQoQTU9ERUxfUFJJVkFURV8yNxD9AhIVChBNT0RFTF9QUklWQVRFXzI4EP4CEhUKEE1PREVMX1BSSVZBVEVfMjkQ/wISFQoQTU9ERUxfUFJJVkFURV8zMBCAAxIXChJNT0RFTF9HUFRfNV8yX05PTkUQjwMSFgoRTU9ERUxfR1BUXzVfMl9MT1cQkAMSGQoUTU9ERUxfR1BUXzVfMl9NRURJVU0QkQMSFwoSTU9ERUxfR1BUXzVfMl9ISUdIEJIDEhgKE01PREVMX0dQVF81XzJfWEhJR0gQkwMSIAobTU9ERUxfR1BUXzVfMl9OT05FX1BSSU9SSVRZEJQDEh8KGk1PREVMX0dQVF81XzJfTE9XX1BSSU9SSVRZEJUDEiIKHU1PREVMX0dQVF81XzJfTUVESVVNX1BSSU9SSVRZEJYDEiAKG01PREVMX0dQVF81XzJfSElHSF9QUklPUklUWRCXAxIhChxNT0RFTF9HUFRfNV8yX1hISUdIX1BSSU9SSVRZEJgDEhwKF01PREVMX0dQVF81XzJfQ09ERVhfTE9XEKYDEh8KGk1PREVMX0dQVF81XzJfQ09ERVhfTUVESVVNEKcDEh0KGE1PREVMX0dQVF81XzJfQ09ERVhfSElHSBCoAxIeChlNT0RFTF9HUFRfNV8yX0NPREVYX1hISUdIEKkDEiUKIE1PREVMX0dQVF81XzJfQ09ERVhfTE9XX1BSSU9SSVRZEKoDEigKI01PREVMX0dQVF81XzJfQ09ERVhfTUVESVVNX1BSSU9SSVRZEKsDEiYKIU1PREVMX0dQVF81XzJfQ09ERVhfSElHSF9QUklPUklUWRCsAxInCiJNT0RFTF9HUFRfNV8yX0NPREVYX1hISUdIX1BSSU9SSVRZEK0DEhkKFE1PREVMX1NHTEFOR19ST0xMT1VUENgEIgYIgAQQ1wQiBAgBEAEiBAgCEAIiBAgDEAMiBAgEEAQiBAgFEAUiBAgGEAYiBAgHEAciBAgIEAgiBAgJEAkiBAgKEAoiBAgLEAsiBAgMEAwiBAgNEA0iBAgPEA8iBAgQEBAiBAgREBEiBAgSEBIiBAgTEBMiBAgVEBUiBAgWEBYiBAgXEBciBAgYEBgiBAgZEBkiBAgaEBoiBAgbEBsiBAgdEB0iBAgfEB8iBAggECAiBAgiECIiBAgjECMiBAgkECQiBAgmECYiBAgnECciBAgoECgiBAgrECsiBAgsECwiBAguEC4iBAgvEC8iBAgxEDEiBAgyEDIiBAgzEDMiBAg0EDQiBAg1EDUiBAg2EDYiBAg3EDciBAg4EDgiBAg7EDsiBAg8EDwiBAhEEEQiBAhLEEsiBgjYAhDYAiIGCIkDEIkDIgYIoAYQoAYqEE1PREVMX0lOSVRfTVVMVEkqCk1PREVMXzMzNTYqD01PREVMX0lOSVRfTU9OTyoKTU9ERUxfMzU1NCoNTU9ERUxfMzU1NF9EQyoKTU9ERUxfMzY2OSoKTU9ERUxfNDMwMCoKTU9ERUxfNDUzMSoKTU9ERUxfNTM0OSoKTU9ERUxfNTUxOSoKTU9ERUxfNTMwNSoKTU9ERUxfNDg2MSoKTU9ERUxfNTQ3NioKTU9ERUxfNTIwMioKTU9ERUxfQ0hBVCoKTU9ERUxfNjU2OSoKTU9ERUxfNzc0NyoKTU9ERUxfNzcyNSoPTU9ERUxfQ0hBVF83ODI5KhBNT0RFTF9RVUVSWV85MjEwKgpNT0RFTF82MjgyKgpNT0RFTF82NTkyKgpNT0RFTF83MTU4KhBNT0RFTF9RVUVSWV85NDkxKhBNT0RFTF9DSEFUXzEwNzc3KgpNT0RFTF83NDY4KgpNT0RFTF84Mjc2KgpNT0RFTF84NTIzKgpNT0RFTF84NjE1KgpNT0RFTF84Njg0KgpNT0RFTF85MTMzKgpNT0RFTF85NTg5Kg9NT0RFTF9DSEFUXzY2MTIqD01PREVMX0NIQVRfNzA2NioPTU9ERUxfQ0hBVF83OTg0KhBNT0RFTF9DSEFUXzEwMjAyKgpNT0RFTF84MjUxKgtNT0RFTF8xMDg4MCoLTU9ERUxfMTEyMDYqEU1PREVMX1JFV0FSRF85MjM2Kg9NT0RFTF9DSEFUXzk0MzkqD01PREVMX0NIQVRfOTQ1MyoQTU9ERUxfQ0hBVF8xMDU0NioQTU9ERUxfQ0hBVF8xMDgyMSoQTU9ERUxfQ0hBVF8xMjA0MiodTU9ERUxfQ0hBVF9HUFRfM181X1RVUkJPXzExMDYqIU1PREVMX0NIQVRfR1BUXzNfNV9UVVJCT18xNktfMDYxMyodTU9ERUxfQ0hBVF9HUFRfM181X1RVUkJPXzAxMjUqIU1PREVMX0NIQVRfR1BUXzRfVFVSQk9fMjAyNF8wNF8wOSoLTU9ERUxfMTI0NzEqEE1PREVMX0NIQVRfMTEwMTIqKE1PREVMX0xMQU1BXzNfMV83MEJfSU5TVFJVQ1RfMzJLX0NPTlRFWFQqHU1PREVMX1JPVVRJTkdfR1JPVVBfREVFUF9XSUtJKhFNT0RFTF9DTEFVREVfQ09ERSrPAQoRRGVlcFdpa2lNb2RlbFR5cGUSJAogREVFUF9XSUtJX01PREVMX1RZUEVfVU5TUEVDSUZJRUQQABIqCiZERUVQX1dJS0lfTU9ERUxfVFlQRV9DQVBBQ0lUWV9GQUxMQkFDSxABEiIKHkRFRVBfV0lLSV9NT0RFTF9UWVBFX0xJVEVfRlJFRRACEiIKHkRFRVBfV0lLSV9NT0RFTF9UWVBFX0xJVEVfUEFJRBADEiAKHERFRVBfV0lLSV9NT0RFTF9UWVBFX1BSRU1JVU0QBCrJAQocUHJvbXB0RWxlbWVudEV4Y2x1c2lvblJlYXNvbhIZChVFWENMVVNJT05fVU5TUEVDSUZJRUQQABIjCh9FWENMVVNJT05fRUxFTUVOVF9LSU5EX0RJU0FCTEVEEAESKAokRVhDTFVTSU9OX0VMRU1FTlRfTUlTU0lOR19ERVBFTkRFTkNZEAISGgoWRVhDTFVTSU9OX1RPS0VOX0JVREdFVBADEiMKH0VYQ0xVU0lPTl9BQ1RJVkVfU09VUkNFX09WRVJMQVAQBCq5AwoKU3RvcFJlYXNvbhIbChdTVE9QX1JFQVNPTl9VTlNQRUNJRklFRBAAEhoKFlNUT1BfUkVBU09OX0lOQ09NUExFVEUQARIcChhTVE9QX1JFQVNPTl9TVE9QX1BBVFRFUk4QAhIaChZTVE9QX1JFQVNPTl9NQVhfVE9LRU5TEAMSHAoYU1RPUF9SRUFTT05fTUlOX0xPR19QUk9CEAQSHAoYU1RPUF9SRUFTT05fTUFYX05FV0xJTkVTEAUSGgoWU1RPUF9SRUFTT05fRVhJVF9TQ09QRRAGEicKI1NUT1BfUkVBU09OX05PTkZJTklURV9MT0dJVF9PUl9QUk9CEAcSKQolU1RPUF9SRUFTT05fRklSU1RfTk9OX1dISVRFU1BBQ0VfTElORRAIEhcKE1NUT1BfUkVBU09OX1BBUlRJQUwQCRIdChlTVE9QX1JFQVNPTl9GVU5DVElPTl9DQUxMEAoSHgoaU1RPUF9SRUFTT05fQ09OVEVOVF9GSUxURVIQCxIdChlTVE9QX1JFQVNPTl9OT05fSU5TRVJUSU9OEAwSFQoRU1RPUF9SRUFTT05fRVJST1IQDSq7AgoMRmlsdGVyUmVhc29uEhYKEkZJTFRFUl9SRUFTT05fTk9ORRAAEhwKGEZJTFRFUl9SRUFTT05fSU5DT01QTEVURRABEhcKE0ZJTFRFUl9SRUFTT05fRU1QVFkQAhIcChhGSUxURVJfUkVBU09OX1JFUEVUSVRJVkUQAxIbChdGSUxURVJfUkVBU09OX0RVUExJQ0FURRAEEhsKF0ZJTFRFUl9SRUFTT05fTE9OR19MSU5FEAUSJAogRklMVEVSX1JFQVNPTl9DT01QTEVUSU9OU19DVVRPRkYQBhIdChlGSUxURVJfUkVBU09OX0FUVFJJQlVUSU9OEAcSHgoaRklMVEVSX1JFQVNPTl9OT05fTUFUQ0hJTkcQCBIfChtGSUxURVJfUkVBU09OX05PTl9JTlNFUlRJT04QCSrvAQoRQXR0cmlidXRpb25TdGF0dXMSIgoeQVRUUklCVVRJT05fU1RBVFVTX1VOU1BFQ0lGSUVEEAASHwobQVRUUklCVVRJT05fU1RBVFVTX05FV19DT0RFEAESIQodQVRUUklCVVRJT05fU1RBVFVTX05PX0xJQ0VOU0UQAhIkCiBBVFRSSUJVVElPTl9TVEFUVVNfTk9OUEVSTUlTU0lWRRADEiEKHUFUVFJJQlVUSU9OX1NUQVRVU19QRVJNSVNTSVZFEAQSKQolQVRUUklCVVRJT05fU1RBVFVTX1BFUk1JU1NJVkVfQkxPQ0tFRBAFKnAKEUVtYmVkZGluZ1ByaW9yaXR5EiIKHkVNQkVERElOR19QUklPUklUWV9VTlNQRUNJRklFRBAAEhsKF0VNQkVERElOR19QUklPUklUWV9ISUdIEAESGgoWRU1CRURESU5HX1BSSU9SSVRZX0xPVxACKs0BCg9FbWJlZGRpbmdQcmVmaXgSIAocRU1CRURESU5HX1BSRUZJWF9VTlNQRUNJRklFRBAAEiMKH0VNQkVERElOR19QUkVGSVhfTk9NSUNfRE9DVU1FTlQQARIhCh1FTUJFRERJTkdfUFJFRklYX05PTUlDX1NFQVJDSBACEikKJUVNQkVERElOR19QUkVGSVhfTk9NSUNfQ0xBU1NJRklDQVRJT04QAxIlCiFFTUJFRERJTkdfUFJFRklYX05PTUlDX0NMVVNURVJJTkcQBCp/Cg9FbWJlZGRpbmdTb3VyY2USIAocRU1CRURESU5HX1NPVVJDRV9VTlNQRUNJRklFRBAAEiYKIkVNQkVERElOR19TT1VSQ0VfQ09ERV9DT05URVhUX0lURU0QARIiCh5FTUJFRERJTkdfU09VUkNFX0NPTU1JVF9JTlRFTlQQAiqAAgoKQXV0aFNvdXJjZRIXChNBVVRIX1NPVVJDRV9DT0RFSVVNEAASGAoUQVVUSF9TT1VSQ0VfREVFUE5PVEUQARIfChdBVVRIX1NPVVJDRV9DT0RFU0FOREJPWBACGgIIARIaChZBVVRIX1NPVVJDRV9TVEFDS0JMSVRaEAMSFwoTQVVUSF9TT1VSQ0VfVkFMVE9XThAEEhMKD0FVVEhfU09VUkNFX0hFWBAFEhoKEkFVVEhfU09VUkNFX1pBUElFUhAGGgIIARIbChdBVVRIX1NPVVJDRV9TVVBFUkJMT0NLUxAHEhsKF0FVVEhfU09VUkNFX0VNQkFSQ0FERVJPEAgqpAQKCUV2ZW50VHlwZRIaChZFVkVOVF9UWVBFX1VOU1BFQ0lGSUVEEAASHQoZRVZFTlRfVFlQRV9FTkFCTEVfQ09ERUlVTRABEh4KGkVWRU5UX1RZUEVfRElTQUJMRV9DT0RFSVVNEAISJwojRVZFTlRfVFlQRV9TSE9XX1BSRVZJT1VTX0NPTVBMRVRJT04QAxIjCh9FVkVOVF9UWVBFX1NIT1dfTkVYVF9DT01QTEVUSU9OEAQSHQoZRVZFTlRfVFlQRV9DT1BJTE9UX1NUQVRVUxAFEiQKIEVWRU5UX1RZUEVfQ09NUExFVElPTl9TVVBQUkVTU0VEEAYSGwoXRVZFTlRfVFlQRV9NRU1PUllfU1RBVFMQCBIsCihFVkVOVF9UWVBFX0xPQ0FMX0NPTlRFWFRfUkVMRVZBTkNFX0NIRUNLEAkSJAogRVZFTlRfVFlQRV9BQ1RJVkVfRURJVE9SX0NIQU5HRUQQChIoCiRFVkVOVF9UWVBFX1NIT1dfUFJFVklPVVNfQ09SVEVYX1NURVAQCxIkCiBFVkVOVF9UWVBFX1NIT1dfTkVYVF9DT1JURVhfU1RFUBAMEhwKGEVWRU5UX1RZUEVfSU5ERVhFUl9TVEFUUxANEicKI0VWRU5UX1RZUEVfU1lTVEVNX01FVFJJQ1NfVEVMRU1FVFJZEA4iBAgHEAcqG0VWRU5UX1RZUEVfSU5URU5UX01PREVMX1JVTip0ChBTZWFyY2hSZXN1bHRUeXBlEiIKHlNFQVJDSF9SRVNVTFRfVFlQRV9VTlNQRUNJRklFRBAAEh4KGlNFQVJDSF9SRVNVTFRfVFlQRV9DTFVTVEVSEAESHAoYU0VBUkNIX1JFU1VMVF9UWVBFX0VYQUNUEAIq4AEKCUVtYmVkVHlwZRIaChZFTUJFRF9UWVBFX1VOU1BFQ0lGSUVEEAASGQoVRU1CRURfVFlQRV9SQVdfU09VUkNFEAESGAoURU1CRURfVFlQRV9ET0NTVFJJTkcQAhIXChNFTUJFRF9UWVBFX0ZVTkNUSU9OEAMSFwoTRU1CRURfVFlQRV9OT0RFUEFUSBAEEhoKFkVNQkVEX1RZUEVfREVDTEFSQVRJT04QBRIaChZFTUJFRF9UWVBFX05BSVZFX0NIVU5LEAYSGAoURU1CRURfVFlQRV9TSUdOQVRVUkUQByqcAQoQQ29tcGxldGlvblNvdXJjZRIhCh1DT01QTEVUSU9OX1NPVVJDRV9VTlNQRUNJRklFRBAAEikKJUNPTVBMRVRJT05fU09VUkNFX1RZUElOR19BU19TVUdHRVNURUQQARIbChdDT01QTEVUSU9OX1NPVVJDRV9DQUNIRRACEh0KGUNPTVBMRVRJT05fU09VUkNFX05FVFdPUksQAyqlAQoOQ29tcGxldGlvblR5cGUSHwobQ09NUExFVElPTl9UWVBFX1VOU1BFQ0lGSUVEEAASGgoWQ09NUExFVElPTl9UWVBFX1NJTkdMRRABEhkKFUNPTVBMRVRJT05fVFlQRV9NVUxUSRACEh4KGkNPTVBMRVRJT05fVFlQRV9JTkxJTkVfRklNEAMSGwoXQ09NUExFVElPTl9UWVBFX0NBU0NBREUQBCrEDwoITGFuZ3VhZ2USGAoUTEFOR1VBR0VfVU5TUEVDSUZJRUQQABIOCgpMQU5HVUFHRV9DEAESFAoQTEFOR1VBR0VfQ0xPSlVSRRACEhkKFUxBTkdVQUdFX0NPRkZFRVNDUklQVBADEhAKDExBTkdVQUdFX0NQUBAEEhMKD0xBTkdVQUdFX0NTSEFSUBAFEhAKDExBTkdVQUdFX0NTUxAGEhQKEExBTkdVQUdFX0NVREFDUFAQBxIXChNMQU5HVUFHRV9ET0NLRVJGSUxFEAgSDwoLTEFOR1VBR0VfR08QCRITCg9MQU5HVUFHRV9HUk9PVlkQChIXChNMQU5HVUFHRV9IQU5ETEVCQVJTEAsSFAoQTEFOR1VBR0VfSEFTS0VMTBAMEhAKDExBTkdVQUdFX0hDTBANEhEKDUxBTkdVQUdFX0hUTUwQDhIQCgxMQU5HVUFHRV9JTkkQDxIRCg1MQU5HVUFHRV9KQVZBEBASFwoTTEFOR1VBR0VfSkFWQVNDUklQVBAREhEKDUxBTkdVQUdFX0pTT04QEhISCg5MQU5HVUFHRV9KVUxJQRATEhMKD0xBTkdVQUdFX0tPVExJThAUEhIKDkxBTkdVQUdFX0xBVEVYEBUSEQoNTEFOR1VBR0VfTEVTUxAWEhAKDExBTkdVQUdFX0xVQRAXEhUKEUxBTkdVQUdFX01BS0VGSUxFEBgSFQoRTEFOR1VBR0VfTUFSS0RPV04QGRIXChNMQU5HVUFHRV9PQkpFQ1RJVkVDEBoSGQoVTEFOR1VBR0VfT0JKRUNUSVZFQ1BQEBsSEQoNTEFOR1VBR0VfUEVSTBAcEhAKDExBTkdVQUdFX1BIUBAdEhYKEkxBTkdVQUdFX1BMQUlOVEVYVBAeEhUKEUxBTkdVQUdFX1BST1RPQlVGEB8SEgoOTEFOR1VBR0VfUEJUWFQQIBITCg9MQU5HVUFHRV9QWVRIT04QIRIOCgpMQU5HVUFHRV9SECISEQoNTEFOR1VBR0VfUlVCWRAjEhEKDUxBTkdVQUdFX1JVU1QQJBIRCg1MQU5HVUFHRV9TQVNTECUSEgoOTEFOR1VBR0VfU0NBTEEQJhIRCg1MQU5HVUFHRV9TQ1NTECcSEgoOTEFOR1VBR0VfU0hFTEwQKBIQCgxMQU5HVUFHRV9TUUwQKRIVChFMQU5HVUFHRV9TVEFSTEFSSxAqEhIKDkxBTkdVQUdFX1NXSUZUECsSEAoMTEFOR1VBR0VfVFNYECwSFwoTTEFOR1VBR0VfVFlQRVNDUklQVBAtEhgKFExBTkdVQUdFX1ZJU1VBTEJBU0lDEC4SEAoMTEFOR1VBR0VfVlVFEC8SEAoMTEFOR1VBR0VfWE1MEDASEAoMTEFOR1VBR0VfWFNMEDESEQoNTEFOR1VBR0VfWUFNTBAyEhMKD0xBTkdVQUdFX1NWRUxURRAzEhEKDUxBTkdVQUdFX1RPTUwQNBIRCg1MQU5HVUFHRV9EQVJUEDUSEAoMTEFOR1VBR0VfUlNUEDYSEgoOTEFOR1VBR0VfT0NBTUwQNxISCg5MQU5HVUFHRV9DTUFLRRA4EhMKD0xBTkdVQUdFX1BBU0NBTBA5EhMKD0xBTkdVQUdFX0VMSVhJUhA6EhMKD0xBTkdVQUdFX0ZTSEFSUBA7EhEKDUxBTkdVQUdFX0xJU1AQPBITCg9MQU5HVUFHRV9NQVRMQUIQPRIXChNMQU5HVUFHRV9QT1dFUlNIRUxMED4SFQoRTEFOR1VBR0VfU09MSURJVFkQPxIQCgxMQU5HVUFHRV9BREEQQBIcChhMQU5HVUFHRV9PQ0FNTF9JTlRFUkZBQ0UQQRIeChpMQU5HVUFHRV9UUkVFX1NJVFRFUl9RVUVSWRBCEhAKDExBTkdVQUdFX0FQTBBDEhUKEUxBTkdVQUdFX0FTU0VNQkxZEEQSEgoOTEFOR1VBR0VfQ09CT0wQRRIUChBMQU5HVUFHRV9DUllTVEFMEEYSFwoTTEFOR1VBR0VfRU1BQ1NfTElTUBBHEhMKD0xBTkdVQUdFX0VSTEFORxBIEhQKEExBTkdVQUdFX0ZPUlRSQU4QSRIVChFMQU5HVUFHRV9GUkVFRk9STRBKEhMKD0xBTkdVQUdFX0dSQURMRRBLEhEKDUxBTkdVQUdFX0hBQ0sQTBISCg5MQU5HVUFHRV9NQVZFThBNEhkKFUxBTkdVQUdFX002OEtBU1NFTUJMWRBOEhAKDExBTkdVQUdFX1NBUxBPEhkKFUxBTkdVQUdFX1VOSVhBU1NFTUJMWRBQEhAKDExBTkdVQUdFX1ZCQRBREhYKEkxBTkdVQUdFX1ZJTVNDUklQVBBSEhgKFExBTkdVQUdFX1dFQkFTU0VNQkxZEFMSEgoOTEFOR1VBR0VfQkxBREUQVBISCg5MQU5HVUFHRV9BU1RSTxBVEhIKDkxBTkdVQUdFX01VTVBTEFYSFQoRTEFOR1VBR0VfR0RTQ1JJUFQQVxIQCgxMQU5HVUFHRV9OSU0QWBITCg9MQU5HVUFHRV9QUk9MT0cQWRIcChhMQU5HVUFHRV9NQVJLRE9XTl9JTkxJTkUQWhIRCg1MQU5HVUFHRV9BUEVYEFsSHQoZTEFOR1VBR0VfSlVQWVRFUl9OT1RFQk9PSxBcKtwBChFDaGF0TWVzc2FnZVNvdXJjZRIjCh9DSEFUX01FU1NBR0VfU09VUkNFX1VOU1BFQ0lGSUVEEAASHAoYQ0hBVF9NRVNTQUdFX1NPVVJDRV9VU0VSEAESHgoaQ0hBVF9NRVNTQUdFX1NPVVJDRV9TWVNURU0QAhIfChtDSEFUX01FU1NBR0VfU09VUkNFX1VOS05PV04QAxIcChhDSEFUX01FU1NBR0VfU09VUkNFX1RPT0wQBBIlCiFDSEFUX01FU1NBR0VfU09VUkNFX1NZU1RFTV9QUk9NUFQQBSqOAQoOVXNlclRlYW1TdGF0dXMSIAocVVNFUl9URUFNX1NUQVRVU19VTlNQRUNJRklFRBAAEhwKGFVTRVJfVEVBTV9TVEFUVVNfUEVORElORxABEh0KGVVTRVJfVEVBTV9TVEFUVVNfQVBQUk9WRUQQAhIdChlVU0VSX1RFQU1fU1RBVFVTX1JFSkVDVEVEEAMqewoRQ2xpQWNjZXNzT3ZlcnJpZGUSIwofQ0xJX0FDQ0VTU19PVkVSUklERV9VTlNQRUNJRklFRBAAEh8KG0NMSV9BQ0NFU1NfT1ZFUlJJREVfRU5BQkxFRBABEiAKHENMSV9BQ0NFU1NfT1ZFUlJJREVfRElTQUJMRUQQAiqPAgoNVGVhbXNGZWF0dXJlcxIeChpURUFNU19GRUFUVVJFU19VTlNQRUNJRklFRBAAEhYKElRFQU1TX0ZFQVRVUkVTX1NTTxABEh4KGlRFQU1TX0ZFQVRVUkVTX0FUVFJJQlVUSU9OEAISFgoSVEVBTVNfRkVBVFVSRVNfUEhJEAMSGQoVVEVBTVNfRkVBVFVSRVNfQ09SVEVYEAQSIgoeVEVBTVNfRkVBVFVSRVNfT1BFTkFJX0RJU0FCTEVEEAUSKwonVEVBTVNfRkVBVFVSRVNfUkVNT1RFX0lOREVYSU5HX0RJU0FCTEVEEAYSIgoeVEVBTVNfRkVBVFVSRVNfQVBJX0tFWV9FTkFCTEVEEAcqZgoMVXNlckZlYXR1cmVzEh0KGVVTRVJfRkVBVFVSRVNfVU5TUEVDSUZJRUQQABIYChRVU0VSX0ZFQVRVUkVTX0NPUlRFWBABEh0KGVVTRVJfRkVBVFVSRVNfQ09SVEVYX1RFU1QQAiqCCAoKUGVybWlzc2lvbhIaChZQRVJNSVNTSU9OX1VOU1BFQ0lGSUVEEAASHwobUEVSTUlTU0lPTl9BVFRSSUJVVElPTl9SRUFEEAESHQoZUEVSTUlTU0lPTl9BTkFMWVRJQ1NfUkVBRBACEhsKF1BFUk1JU1NJT05fTElDRU5TRV9SRUFEEAMSHQoZUEVSTUlTU0lPTl9URUFNX1VTRVJfUkVBRBAEEh8KG1BFUk1JU1NJT05fVEVBTV9VU0VSX1VQREFURRAFEh8KG1BFUk1JU1NJT05fVEVBTV9VU0VSX0RFTEVURRAGEh8KG1BFUk1JU1NJT05fVEVBTV9VU0VSX0lOVklURRAREhwKGFBFUk1JU1NJT05fSU5ERVhJTkdfUkVBRBAHEh4KGlBFUk1JU1NJT05fSU5ERVhJTkdfQ1JFQVRFEAgSHgoaUEVSTUlTU0lPTl9JTkRFWElOR19VUERBVEUQCRIeChpQRVJNSVNTSU9OX0lOREVYSU5HX0RFTEVURRAKEiIKHlBFUk1JU1NJT05fSU5ERVhJTkdfTUFOQUdFTUVOVBAbEh4KGlBFUk1JU1NJT05fRklORVRVTklOR19SRUFEEBMSIAocUEVSTUlTU0lPTl9GSU5FVFVOSU5HX0NSRUFURRAUEiAKHFBFUk1JU1NJT05fRklORVRVTklOR19VUERBVEUQFRIgChxQRVJNSVNTSU9OX0ZJTkVUVU5JTkdfREVMRVRFEBYSFwoTUEVSTUlTU0lPTl9TU09fUkVBRBALEhgKFFBFUk1JU1NJT05fU1NPX1dSSVRFEAwSHwobUEVSTUlTU0lPTl9TRVJWSUNFX0tFWV9SRUFEEA0SIQodUEVSTUlTU0lPTl9TRVJWSUNFX0tFWV9DUkVBVEUQDhIhCh1QRVJNSVNTSU9OX1NFUlZJQ0VfS0VZX1VQREFURRAcEiEKHVBFUk1JU1NJT05fU0VSVklDRV9LRVlfREVMRVRFEA8SGAoUUEVSTUlTU0lPTl9ST0xFX1JFQUQQFxIaChZQRVJNSVNTSU9OX1JPTEVfQ1JFQVRFEBgSGgoWUEVSTUlTU0lPTl9ST0xFX1VQREFURRAZEhoKFlBFUk1JU1NJT05fUk9MRV9ERUxFVEUQGhIbChdQRVJNSVNTSU9OX0JJTExJTkdfUkVBRBAQEhwKGFBFUk1JU1NJT05fQklMTElOR19XUklURRASEiMKH1BFUk1JU1NJT05fRVhURVJOQUxfQ0hBVF9VUERBVEUQHRIhCh1QRVJNSVNTSU9OX1RFQU1fU0VUVElOR1NfUkVBRBAeEiMKH1BFUk1JU1NJT05fVEVBTV9TRVRUSU5HU19VUERBVEUQHyrSBAoJVGVhbXNUaWVyEhoKFlRFQU1TX1RJRVJfVU5TUEVDSUZJRUQQABIUChBURUFNU19USUVSX1RFQU1TEAESEgoOVEVBTVNfVElFUl9QUk8QAhIUChBURUFNU19USUVSX1RSSUFMEAkSHgoaVEVBTVNfVElFUl9FTlRFUlBSSVNFX1NBQVMQAxIVChFURUFNU19USUVSX0hZQlJJRBAEEiUKIVRFQU1TX1RJRVJfRU5URVJQUklTRV9TRUxGX0hPU1RFRBAFEiQKIFRFQU1TX1RJRVJfRU5URVJQUklTRV9TRUxGX1NFUlZFEAoSHwobVEVBTVNfVElFUl9ERVZJTl9FTlRFUlBSSVNFEAwSGgoWVEVBTVNfVElFUl9ERVZJTl9URUFNUxAOEh0KGVRFQU1TX1RJRVJfREVWSU5fVEVBTVNfVjIQDxIYChRURUFNU19USUVSX0RFVklOX1BSTxAQEhgKFFRFQU1TX1RJRVJfREVWSU5fTUFYEBESEgoOVEVBTVNfVElFUl9NQVgQEhIZChVURUFNU19USUVSX0RFVklOX0ZSRUUQExIaChZURUFNU19USUVSX0RFVklOX1RSSUFMEBQSHwoXVEVBTVNfVElFUl9XQUlUTElTVF9QUk8QBhoCCAESHQoZVEVBTVNfVElFUl9URUFNU19VTFRJTUFURRAHEh8KF1RFQU1TX1RJRVJfUFJPX1VMVElNQVRFEAgaAggBEikKIVRFQU1TX1RJRVJfRU5URVJQUklTRV9TQUFTX1BPT0xFRBALGgIIASq/AgoNTW9kZWxQcm92aWRlchIeChpNT0RFTF9QUk9WSURFUl9VTlNQRUNJRklFRBAAEhsKF01PREVMX1BST1ZJREVSX1dJTkRTVVJGEAESGQoVTU9ERUxfUFJPVklERVJfT1BFTkFJEAISHAoYTU9ERUxfUFJPVklERVJfQU5USFJPUElDEAMSGQoVTU9ERUxfUFJPVklERVJfR09PR0xFEAQSFgoSTU9ERUxfUFJPVklERVJfWEFJEAUSGwoXTU9ERUxfUFJPVklERVJfREVFUFNFRUsQBhIbChdNT0RFTF9QUk9WSURFUl9NT09OU0hPVBAHEhcKE01PREVMX1BST1ZJREVSX1FXRU4QCBIWChJNT0RFTF9QUk9WSURFUl9aQUkQCRIaChZNT0RFTF9QUk9WSURFUl9NSU5JTUFYEAoqhwEKD0JpbGxpbmdTdHJhdGVneRIgChxCSUxMSU5HX1NUUkFURUdZX1VOU1BFQ0lGSUVEEAASHAoYQklMTElOR19TVFJBVEVHWV9DUkVESVRTEAESGgoWQklMTElOR19TVFJBVEVHWV9RVU9UQRACEhgKFEJJTExJTkdfU1RSQVRFR1lfQUNVEAMq2gEKEE1vZGVsUHJpY2luZ1R5cGUSIgoeTU9ERUxfUFJJQ0lOR19UWVBFX1VOU1BFQ0lGSUVEEAASJAogTU9ERUxfUFJJQ0lOR19UWVBFX1NUQVRJQ19DUkVESVQQARIaChZNT0RFTF9QUklDSU5HX1RZUEVfQVBJEAISGwoXTU9ERUxfUFJJQ0lOR19UWVBFX0JZT0sQAxIgChxNT0RFTF9QUklDSU5HX1RZUEVfQUNVX1RPS0VOEAQSIQodTU9ERUxfUFJJQ0lOR19UWVBFX0FDVV9DUkVESVQQBSqZAQoNTW9kZWxDb3N0VGllchIfChtNT0RFTF9DT1NUX1RJRVJfVU5TUEVDSUZJRUQQABIXChNNT0RFTF9DT1NUX1RJRVJfTE9XEAESGgoWTU9ERUxfQ09TVF9USUVSX01FRElVTRACEhgKFE1PREVMX0NPU1RfVElFUl9ISUdIEAMSGAoUTU9ERUxfQ09TVF9USUVSX0ZSRUUQBCp+ChJNb2RlbERpbWVuc2lvbktpbmQSJAogTU9ERUxfRElNRU5TSU9OX0tJTkRfVU5TUEVDSUZJRUQQABIdChlNT0RFTF9ESU1FTlNJT05fS0lORF9DT1NUEAESIwofTU9ERUxfRElNRU5TSU9OX0tJTkRfQ09TVF9GVVpaWRACKr0BChFUcmFuc2FjdGlvblN0YXR1cxIiCh5UUkFOU0FDVElPTl9TVEFUVVNfVU5TUEVDSUZJRUQQABIgChxUUkFOU0FDVElPTl9TVEFUVVNfU1VDQ0VFREVEEAESIQodVFJBTlNBQ1RJT05fU1RBVFVTX1BST0NFU1NJTkcQAhIdChlUUkFOU0FDVElPTl9TVEFUVVNfRkFJTEVEEAMSIAocVFJBTlNBQ1RJT05fU1RBVFVTX05PX0FDVElWRRAEKpcBChFHcmFjZVBlcmlvZFN0YXR1cxIjCh9HUkFDRV9QRVJJT0RfU1RBVFVTX1VOU1BFQ0lGSUVEEAASHAoYR1JBQ0VfUEVSSU9EX1NUQVRVU19OT05FEAESHgoaR1JBQ0VfUEVSSU9EX1NUQVRVU19BQ1RJVkUQAhIfChtHUkFDRV9QRVJJT0RfU1RBVFVTX0VYUElSRUQQAyqYAQoLU2NtUHJvdmlkZXISHAoYU0NNX1BST1ZJREVSX1VOU1BFQ0lGSUVEEAASFwoTU0NNX1BST1ZJREVSX0dJVEhVQhABEhcKE1NDTV9QUk9WSURFUl9HSVRMQUIQAhIaChZTQ01fUFJPVklERVJfQklUQlVDS0VUEAMSHQoZU0NNX1BST1ZJREVSX0FaVVJFX0RFVk9QUxAEKkwKB1NjbVR5cGUSGAoUU0NNX1RZUEVfVU5TUEVDSUZJRUQQABIQCgxTQ01fVFlQRV9HSVQQARIVChFTQ01fVFlQRV9QRVJGT1JDRRACKuQCCg9Db2RlQ29udGV4dFR5cGUSIQodQ09ERV9DT05URVhUX1RZUEVfVU5TUEVDSUZJRUQQABIeChpDT0RFX0NPTlRFWFRfVFlQRV9GVU5DVElPThABEhsKF0NPREVfQ09OVEVYVF9UWVBFX0NMQVNTEAISHAoYQ09ERV9DT05URVhUX1RZUEVfSU1QT1JUEAMSJQohQ09ERV9DT05URVhUX1RZUEVfTkFJVkVfTElORUNIVU5LEAQSKAokQ09ERV9DT05URVhUX1RZUEVfUkVGRVJFTkNFX0ZVTkNUSU9OEAUSJQohQ09ERV9DT05URVhUX1RZUEVfUkVGRVJFTkNFX0NMQVNTEAYSGgoWQ09ERV9DT05URVhUX1RZUEVfRklMRRAHEh4KGkNPREVfQ09OVEVYVF9UWVBFX1RFUk1JTkFMEAgSHwobQ09ERV9DT05URVhUX1RZUEVfRElSRUNUT1JZEAkqwAMKEUNvZGVDb250ZXh0U291cmNlEiMKH0NPREVfQ09OVEVYVF9TT1VSQ0VfVU5TUEVDSUZJRUQQABIhCh1DT0RFX0NPTlRFWFRfU09VUkNFX09QRU5fRE9DUxABEiUKIUNPREVfQ09OVEVYVF9TT1VSQ0VfU0VBUkNIX1JFU1VMVBACEh4KGkNPREVfQ09OVEVYVF9TT1VSQ0VfSU1QT1JUEAMSJwojQ09ERV9DT05URVhUX1NPVVJDRV9MT0NBTF9ESVJFQ1RPUlkQBBInCiNDT0RFX0NPTlRFWFRfU09VUkNFX0xBU1RfQUNUSVZFX0RPQxAFEiQKIENPREVfQ09OVEVYVF9TT1VSQ0VfT1JBQ0xFX0lURU1TEAYSJgoiQ09ERV9DT05URVhUX1NPVVJDRV9QSU5ORURfQ09OVEVYVBAHEiYKIkNPREVfQ09OVEVYVF9TT1VSQ0VfUkVTRUFSQ0hfU1RBVEUQCBIuCipDT0RFX0NPTlRFWFRfU09VUkNFX0dST1VORF9UUlVUSF9QTEFOX0VESVQQCRIkCiBDT0RFX0NPTlRFWFRfU09VUkNFX0NPTU1JVF9HUkFQSBAKKqYBChJDb250ZXh0U25pcHBldFR5cGUSJAogQ09OVEVYVF9TTklQUEVUX1RZUEVfVU5TUEVDSUZJRUQQABIjCh9DT05URVhUX1NOSVBQRVRfVFlQRV9SQVdfU09VUkNFEAESIgoeQ09OVEVYVF9TTklQUEVUX1RZUEVfU0lHTkFUVVJFEAISIQodQ09OVEVYVF9TTklQUEVUX1RZUEVfTk9ERVBBVEgQAypdChBDb21taXRJbnRlbnRUeXBlEiIKHkNPTU1JVF9JTlRFTlRfVFlQRV9VTlNQRUNJRklFRBAAEiUKIUNPTU1JVF9JTlRFTlRfVFlQRV9DT01NSVRfTUVTU0FHRRABKpEBCgdHcHVUeXBlEhgKFEdQVV9UWVBFX1VOU1BFQ0lGSUVEEAASDwoLR1BVX1RZUEVfTDQQARIPCgtHUFVfVFlQRV9UNBACEhAKDEdQVV9UWVBFX0ExMBADEhEKDUdQVV9UWVBFX0ExMDAQBBIRCg1HUFVfVFlQRV9WMTAwEAUSEgoOR1BVX1RZUEVfQTUwMDAQBiqGAQoUQ29udGV4dEluY2x1c2lvblR5cGUSJgoiQ09OVEVYVF9JTkNMVVNJT05fVFlQRV9VTlNQRUNJRklFRBAAEiIKHkNPTlRFWFRfSU5DTFVTSU9OX1RZUEVfSU5DTFVERRABEiIKHkNPTlRFWFRfSU5DTFVTSU9OX1RZUEVfRVhDTFVERRACKoUBCg9UaGVtZVByZWZlcmVuY2USIAocVEhFTUVfUFJFRkVSRU5DRV9VTlNQRUNJRklFRBAAEhkKFVRIRU1FX1BSRUZFUkVOQ0VfQVVUTxABEhoKFlRIRU1FX1BSRUZFUkVOQ0VfTElHSFQQAhIZChVUSEVNRV9QUkVGRVJFTkNFX0RBUksQAypmCghGb250U2l6ZRIZChVGT05UX1NJWkVfVU5TUEVDSUZJRUQQABITCg9GT05UX1NJWkVfU01BTEwQARIVChFGT05UX1NJWkVfREVGQVVMVBACEhMKD0ZPTlRfU0laRV9MQVJHRRADKpEBChFBdXRvY29tcGxldGVTcGVlZBIiCh5BVVRPQ09NUExFVEVfU1BFRURfVU5TUEVDSUZJRUQQABIbChdBVVRPQ09NUExFVEVfU1BFRURfU0xPVxABEh4KGkFVVE9DT01QTEVURV9TUEVFRF9ERUZBVUxUEAISGwoXQVVUT0NPTVBMRVRFX1NQRUVEX0ZBU1QQAyr7AQocQ2FzY2FkZUNvbW1hbmRzQXV0b0V4ZWN1dGlvbhIvCitDQVNDQURFX0NPTU1BTkRTX0FVVE9fRVhFQ1VUSU9OX1VOU1BFQ0lGSUVEEAASJwojQ0FTQ0FERV9DT01NQU5EU19BVVRPX0VYRUNVVElPTl9PRkYQARIoCiRDQVNDQURFX0NPTU1BTkRTX0FVVE9fRVhFQ1VUSU9OX0FVVE8QAhIpCiVDQVNDQURFX0NPTU1BTkRTX0FVVE9fRVhFQ1VUSU9OX0VBR0VSEAMSLAooQ0FTQ0FERV9DT01NQU5EU19BVVRPX0VYRUNVVElPTl9ESVNBQkxFRBAEKuoBCh9DYXNjYWRlV2ViUmVxdWVzdHNBdXRvRXhlY3V0aW9uEjMKL0NBU0NBREVfV0VCX1JFUVVFU1RTX0FVVE9fRVhFQ1VUSU9OX1VOU1BFQ0lGSUVEEAASMAosQ0FTQ0FERV9XRUJfUkVRVUVTVFNfQVVUT19FWEVDVVRJT05fRElTQUJMRUQQARIxCi1DQVNDQURFX1dFQl9SRVFVRVNUU19BVVRPX0VYRUNVVElPTl9BTExPV0xJU1QQAhItCilDQVNDQURFX1dFQl9SRVFVRVNUU19BVVRPX0VYRUNVVElPTl9UVVJCTxADKpYCChFFeHRlbnNpb25QYW5lbFRhYhIjCh9FWFRFTlNJT05fUEFORUxfVEFCX1VOU1BFQ0lGSUVEEAASHAoYRVhURU5TSU9OX1BBTkVMX1RBQl9DSEFUEAESHwobRVhURU5TSU9OX1BBTkVMX1RBQl9QUk9GSUxFEAISHQoZRVhURU5TSU9OX1BBTkVMX1RBQl9CUkFJThAEEh8KG0VYVEVOU0lPTl9QQU5FTF9UQUJfQ09NTUFORBAFEh4KGkVYVEVOU0lPTl9QQU5FTF9UQUJfQ09SVEVYEAYSHQoZRVhURU5TSU9OX1BBTkVMX1RBQl9ERUJVRxAHIgQIAxADKhhFWFRFTlNJT05fUEFORUxfVEFCX1BMQU4qogEKGlJlbWVtYmVyTGFzdE1vZGVsU2VsZWN0aW9uEi0KKVJFTUVNQkVSX0xBU1RfTU9ERUxfU0VMRUNUSU9OX1VOU1BFQ0lGSUVEEAASKQolUkVNRU1CRVJfTEFTVF9NT0RFTF9TRUxFQ1RJT05fRU5BQkxFRBABEioKJlJFTUVNQkVSX0xBU1RfTU9ERUxfU0VMRUNUSU9OX0RJU0FCTEVEEAIqxQQKD0Nhc2NhZGVOVVhFdmVudBIhCh1DQVNDQURFX05VWF9FVkVOVF9VTlNQRUNJRklFRBAAEiMKH0NBU0NBREVfTlVYX0VWRU5UX0RJRkZfT1ZFUlZJRVcQARIgChxDQVNDQURFX05VWF9FVkVOVF9XRUJfU0VBUkNIEAISJgoiQ0FTQ0FERV9OVVhfRVZFTlRfTkVXX01PREVMU19XQVZFMhADEh8KG0NBU0NBREVfTlVYX0VWRU5UX1RPT0xfQ0FMTBAEEigKJENBU0NBREVfTlVYX0VWRU5UX01PREVMX1NFTEVDVE9SX05VWBAFEisKJ0NBU0NBREVfTlVYX0VWRU5UX1RPT0xfQ0FMTF9QUklDSU5HX05VWBAGEiUKIUNBU0NBREVfTlVYX0VWRU5UX1dSSVRFX0NIQVRfTU9ERRAHEiEKHUNBU0NBREVfTlVYX0VWRU5UX1JFVkVSVF9TVEVQEAgSGwoXQ0FTQ0FERV9OVVhfRVZFTlRfUlVMRVMQCRIhCh1DQVNDQURFX05VWF9FVkVOVF9XRUJfTUVOVElPThAKEigKJENBU0NBREVfTlVYX0VWRU5UX0JBQ0tHUk9VTkRfQ0FTQ0FERRALEisKJ0NBU0NBREVfTlVYX0VWRU5UX0FOVEhST1BJQ19BUElfUFJJQ0lORxAMEh8KG0NBU0NBREVfTlVYX0VWRU5UX1BMQU5fTU9ERRANEiYKIkNBU0NBREVfTlVYX0VWRU5UX09QRU5fQlJPV1NFUl9VUkwQDipeCgxVc2VyTlVYRXZlbnQSHgoaVVNFUl9OVVhfRVZFTlRfVU5TUEVDSUZJRUQQABIuCipVU0VSX05VWF9FVkVOVF9ESVNNSVNTX1dJTkRTVVJGX0NST1NTX1NFTEwQASrCAgoZQ29udmVyc2F0aW9uYWxQbGFubmVyTW9kZRIrCidDT05WRVJTQVRJT05BTF9QTEFOTkVSX01PREVfVU5TUEVDSUZJRUQQABInCiNDT05WRVJTQVRJT05BTF9QTEFOTkVSX01PREVfREVGQVVMVBABEikKJUNPTlZFUlNBVElPTkFMX1BMQU5ORVJfTU9ERV9SRUFEX09OTFkQAhInCiNDT05WRVJTQVRJT05BTF9QTEFOTkVSX01PREVfTk9fVE9PTBADEisKI0NPTlZFUlNBVElPTkFMX1BMQU5ORVJfTU9ERV9FWFBMT1JFEAQaAggBEigKJENPTlZFUlNBVElPTkFMX1BMQU5ORVJfTU9ERV9QTEFOTklORxAFEiQKIENPTlZFUlNBVElPTkFMX1BMQU5ORVJfTU9ERV9BVVRPEAYqWwoJVGFiVG9KdW1wEhsKF1RBQl9UT19KVU1QX1VOU1BFQ0lGSUVEEAASFwoTVEFCX1RPX0pVTVBfRU5BQkxFRBABEhgKFFRBQl9UT19KVU1QX0RJU0FCTEVEEAIqigEKFENhc2NhZGVXZWJTZWFyY2hUb29sEicKI0NBU0NBREVfV0VCX1NFQVJDSF9UT09MX1VOU1BFQ0lGSUVEEAASIwofQ0FTQ0FERV9XRUJfU0VBUkNIX1RPT0xfRU5BQkxFRBABEiQKIENBU0NBREVfV0VCX1NFQVJDSF9UT09MX0RJU0FCTEVEEAIqlwEKGENvbW1hbmRQb3B1cEF1dG9jb21wbGV0ZRIqCiZDT01NQU5EX1BPUFVQX0FVVE9DT01QTEVURV9VTlNQRUNJRklFRBAAEiYKIkNPTU1BTkRfUE9QVVBfQVVUT0NPTVBMRVRFX0VOQUJMRUQQARInCiNDT01NQU5EX1BPUFVQX0FVVE9DT01QTEVURV9ESVNBQkxFRBACKqICChBGZWF0dXJlVXNhZ2VUeXBlEiIKHkZFQVRVUkVfVVNBR0VfVFlQRV9VTlNQRUNJRklFRBAAEiYKIkZFQVRVUkVfVVNBR0VfVFlQRV9DQVNDQURFX0JST1dTRVIQARItCilGRUFUVVJFX1VTQUdFX1RZUEVfQ0FTQ0FERV9XRUJfQVRfTUVOVElPThACEi0KKUZFQVRVUkVfVVNBR0VfVFlQRV9DQVNDQURFX1JFVkVSVF9UT19TVEVQEAMSMwovRkVBVFVSRV9VU0FHRV9UWVBFX0NBU0NBREVfQ0xJQ0tfTU9ERUxfU0VMRUNUT1IQBBIvCitGRUFUVVJFX1VTQUdFX1RZUEVfQ0FTQ0FERV9NRVNTQUdFX0ZFRURCQUNLEAUqSgoIUGxhbk1vZGUSGQoVUExBTl9NT0RFX1VOU1BFQ0lGSUVEEAASEAoMUExBTl9NT0RFX09OEAESEQoNUExBTl9NT0RFX09GRhACKtQBCiVBdXRvQ29udGludWVPbk1heEdlbmVyYXRvckludm9jYXRpb25zEjoKNkFVVE9fQ09OVElOVUVfT05fTUFYX0dFTkVSQVRPUl9JTlZPQ0FUSU9OU19VTlNQRUNJRklFRBAAEjYKMkFVVE9fQ09OVElOVUVfT05fTUFYX0dFTkVSQVRPUl9JTlZPQ0FUSU9OU19FTkFCTEVEEAESNwozQVVUT19DT05USU5VRV9PTl9NQVhfR0VORVJBVE9SX0lOVk9DQVRJT05TX0RJU0FCTEVEEAIq0QIKEkNhc2NhZGVOVVhMb2NhdGlvbhIkCiBDQVNDQURFX05VWF9MT0NBVElPTl9VTlNQRUNJRklFRBAAEiYKIkNBU0NBREVfTlVYX0xPQ0FUSU9OX0NBU0NBREVfSU5QVVQQARInCiNDQVNDQURFX05VWF9MT0NBVElPTl9NT0RFTF9TRUxFQ1RPUhACEiIKHkNBU0NBREVfTlVYX0xPQ0FUSU9OX1JVTEVTX1RBQhAEEiQKIENBU0NBREVfTlVYX0xPQ0FUSU9OX1JFVkVSVF9TVEVQEAYSIgoeQ0FTQ0FERV9OVVhfTE9DQVRJT05fUExBTl9NT0RFEAcSKAokQ0FTQ0FERV9OVVhfTE9DQVRJT05fV1JJVEVfQ0hBVF9NT0RFEAgSIAocQ0FTQ0FERV9OVVhfTE9DQVRJT05fVE9PTEJBUhAJIgQIAxADIgQIBRAFKnoKDkNhc2NhZGVOVVhJY29uEiAKHENBU0NBREVfTlVYX0lDT05fVU5TUEVDSUZJRUQQABIfChtDQVNDQURFX05VWF9JQ09OX1dFQl9TRUFSQ0gQARIlCiFDQVNDQURFX05VWF9JQ09OX1dJTkRTVVJGX0JST1dTRVIQAiq4AQoRQ2FzY2FkZU5VWFRyaWdnZXISIwofQ0FTQ0FERV9OVVhfVFJJR0dFUl9VTlNQRUNJRklFRBAAEioKJkNBU0NBREVfTlVYX1RSSUdHRVJfUFJPRFVDRURfQ09ERV9ESUZGEAESKAokQ0FTQ0FERV9OVVhfVFJJR0dFUl9PUEVOX0JST1dTRVJfVVJMEAMSIgoeQ0FTQ0FERV9OVVhfVFJJR0dFUl9XRUJfU0VBUkNIEAQiBAgCEAIqeAoRQW5ub3RhdGlvbnNDb25maWcSIgoeQU5OT1RBVElPTlNfQ09ORklHX1VOU1BFQ0lGSUVEEAASHgoaQU5OT1RBVElPTlNfQ09ORklHX0VOQUJMRUQQARIfChtBTk5PVEFUSU9OU19DT05GSUdfRElTQUJMRUQQAiq+AQohQnJvd3NlckV4cGVyaW1lbnRhbEZlYXR1cmVzQ29uZmlnEjQKMEJST1dTRVJfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTX0NPTkZJR19VTlNQRUNJRklFRBAAEjAKLEJST1dTRVJfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTX0NPTkZJR19FTkFCTEVEEAESMQotQlJPV1NFUl9FWFBFUklNRU5UQUxfRkVBVFVSRVNfQ09ORklHX0RJU0FCTEVEEAIqjwEKDkNvbXBsZXRpb25Nb2RlEh8KG0NPTVBMRVRJT05fTU9ERV9VTlNQRUNJRklFRBAAEiEKHUNPTVBMRVRJT05fTU9ERV9TVVBFUkNPTVBMRVRFEAESIAocQ09NUExFVElPTl9NT0RFX0FVVE9DT01QTEVURRACEhcKE0NPTVBMRVRJT05fTU9ERV9PRkYQAyqtAQoXU3VwZXJjb21wbGV0ZUFnZ3Jlc3Npb24SKAokU1VQRVJDT01QTEVURV9BR0dSRVNTSU9OX1VOU1BFQ0lGSUVEEAASIAocU1VQRVJDT01QTEVURV9BR0dSRVNTSU9OX0xPVxABEiMKH1NVUEVSQ09NUExFVEVfQUdHUkVTU0lPTl9NRURJVU0QAhIhCh1TVVBFUkNPTVBMRVRFX0FHR1JFU1NJT05fSElHSBADKoMBCglNb2RlbFR5cGUSGgoWTU9ERUxfVFlQRV9VTlNQRUNJRklFRBAAEhkKFU1PREVMX1RZUEVfQ09NUExFVElPThABEhMKD01PREVMX1RZUEVfQ0hBVBACEhQKEE1PREVMX1RZUEVfRU1CRUQQAxIUChBNT0RFTF9UWVBFX1FVRVJZEAQqsQEKDURpc3BsYXlPcHRpb24SHgoaRElTUExBWV9PUFRJT05fVU5TUEVDSUZJRUQQABIYChRESVNQTEFZX09QVElPTl9BUkVOQRABEiQKIERJU1BMQVlfT1BUSU9OX0JBVFRMRV9HUk9VUF9PTkxZEAISHwobRElTUExBWV9PUFRJT05fTU9ERUxfUk9VVEVSEAMSHwobRElTUExBWV9PUFRJT05fUVVJQ0tfUkVWSUVXEAQqUgoJQXJlbmFUaWVyEhoKFkFSRU5BX1RJRVJfVU5TUEVDSUZJRUQQABITCg9BUkVOQV9USUVSX0ZBU1QQARIUChBBUkVOQV9USUVSX1NNQVJUEAIqyA4KC0FQSVByb3ZpZGVyEhwKGEFQSV9QUk9WSURFUl9VTlNQRUNJRklFRBAAEhkKFUFQSV9QUk9WSURFUl9JTlRFUk5BTBABEhcKE0FQSV9QUk9WSURFUl9PUEVOQUkQAhIeChpBUElfUFJPVklERVJfR09PR0xFX1ZFUlRFWBADEhoKFkFQSV9QUk9WSURFUl9BTlRIUk9QSUMQBBIVChFBUElfUFJPVklERVJfVkxMTRAFEhwKGEFQSV9QUk9WSURFUl9UT0dFVEhFUl9BSRAGEiEKGUFQSV9QUk9WSURFUl9IVUdHSU5HX0ZBQ0UQBxoCCAESGgoSQVBJX1BST1ZJREVSX05PTUlDEAgaAggBEhgKEEFQSV9QUk9WSURFUl9URUkQCRoCCAESKwonQVBJX1BST1ZJREVSX09QRU5BSV9DT01QQVRJQkxFX0VYVEVSTkFMEAoSLgoqQVBJX1BST1ZJREVSX0FOVEhST1BJQ19DT01QQVRJQkxFX0VYVEVSTkFMEAsSKwonQVBJX1BST1ZJREVSX1ZFUlRFWF9DT01QQVRJQkxFX0VYVEVSTkFMEAwSLAooQVBJX1BST1ZJREVSX0JFRFJPQ0tfQ09NUEFUSUJMRV9FWFRFUk5BTBANEioKJkFQSV9QUk9WSURFUl9BWlVSRV9DT01QQVRJQkxFX0VYVEVSTkFMEA4SJgoeQVBJX1BST1ZJREVSX0FOVEhST1BJQ19CRURST0NLEA8aAggBEhoKFkFQSV9QUk9WSURFUl9GSVJFV09SS1MQEBIcChhBUElfUFJPVklERVJfT1BFTl9ST1VURVIQERIUChBBUElfUFJPVklERVJfWEFJEBISHwobQVBJX1BST1ZJREVSX0FOVEhST1BJQ19CWU9LEBQSGQoVQVBJX1BST1ZJREVSX0NFUkVCUkFTEBUSGQoVQVBJX1BST1ZJREVSX1hBSV9CWU9LEBYSHgoaQVBJX1BST1ZJREVSX0dFTUlOSV9PUEVOQUkQFxIiChpBUElfUFJPVklERVJfR09PR0xFX0dFTUlOSRAYGgIIARIkCiBBUElfUFJPVklERVJfR09PR0xFX0dFTkFJX1ZFUlRFWBAZEiUKHUFQSV9QUk9WSURFUl9BTlRIUk9QSUNfVkVSVEVYEBoaAggBEhsKF0FQSV9QUk9WSURFUl9EQVRBQlJJQ0tTEBsSIQodQVBJX1BST1ZJREVSX09QRU5fUk9VVEVSX0JZT0sQHBIgChxBUElfUFJPVklERVJfQU5USFJPUElDX0RFVklOEB0SIAocQVBJX1BST1ZJREVSX0ZJUkVXT1JLU19ERVZJThAeEhUKEUFQSV9QUk9WSURFUl9HUk9REB8SHQoZQVBJX1BST1ZJREVSX09QRU5BSV9ERVZJThAgEiIKHkFQSV9QUk9WSURFUl9MTEFNQV9GVF9ERUVQV0lLSRAhEh0KGUFQSV9QUk9WSURFUl9YQUlfSU5URVJOQUwQIhIaChZBUElfUFJPVklERVJfRkxPT0RHQVRFECQSJQohQVBJX1BST1ZJREVSX0FOVEhST1BJQ19CRURST0NLX1VTECUSKQolQVBJX1BST1ZJREVSX0FOVEhST1BJQ19CRURST0NLX0dMT0JBTBAmEhYKEkFQSV9QUk9WSURFUl9NT0RBTBAoEiQKIEFQSV9QUk9WSURFUl9HT09HTEVfR0VNSU5JX0RFVklOECkSJAogQVBJX1BST1ZJREVSX0ZJUkVXT1JLU19DT0dOSVRJT04QKhIrCidBUElfUFJPVklERVJfR09PR0xFX0dFTkFJX1ZFUlRFWF9HTE9CQUwQKxIkCiBBUElfUFJPVklERVJfQU5USFJPUElDX1ZFUlRFWF9VUxAsEiQKIEFQSV9QUk9WSURFUl9BTlRIUk9QSUNfVkVSVEVYX0VVEC0SKAokQVBJX1BST1ZJREVSX0FOVEhST1BJQ19WRVJURVhfR0xPQkFMEC4SLQopQVBJX1BST1ZJREVSX0ZJUkVXT1JLU19DT0dOSVRJT05fSU5URVJOQUwQLxIlCiFBUElfUFJPVklERVJfQU5USFJPUElDX0RBVEFCUklDS1MQMBIiCh5BUElfUFJPVklERVJfR0VNSU5JX0RBVEFCUklDS1MQMRIWChJBUElfUFJPVklERVJfTUlNSUMQMhIiCh5BUElfUFJPVklERVJfQU5USFJPUElDX05PTl9aRFIQMxIoCiRBUElfUFJPVklERVJfQU5USFJPUElDX0RFVklOX05PTl9aRFIQNBIzCi9BUElfUFJPVklERVJfREFUQV9SRVRFTlRJT05fV09SS1NQQUNFX0FOVEhST1BJQxA1EhcKE0FQSV9QUk9WSURFUl9TR0xBTkcQPBInCiNBUElfUFJPVklERVJfQVpVUkVfT1BFTkFJX0ZFREVSQVRFRBA9IgQIIxAjIgQIJxAnIgQIExATKlwKC01vZGVsU3RhdHVzEhwKGE1PREVMX1NUQVRVU19VTlNQRUNJRklFRBAAEhUKEU1PREVMX1NUQVRVU19JTkZPEAESGAoUTU9ERUxfU1RBVFVTX1dBUk5JTkcQAiqjAQoKQ29kZVNvdXJjZRIbChdDT0RFX1NPVVJDRV9VTlNQRUNJRklFRBAAEhQKEENPREVfU09VUkNFX0JBU0UQARIXChNDT0RFX1NPVVJDRV9DT0RFSVVNEAISFAoQQ09ERV9TT1VSQ0VfVVNFUhADEhoKFkNPREVfU09VUkNFX1VTRVJfTEFSR0UQBBIXChNDT0RFX1NPVVJDRV9VTktOT1dOEAUq1wIKDERvY3VtZW50VHlwZRIdChlET0NVTUVOVF9UWVBFX1VOU1BFQ0lGSUVEEAASHwobRE9DVU1FTlRfVFlQRV9TTEFDS19NRVNTQUdFEAESHwobRE9DVU1FTlRfVFlQRV9TTEFDS19DSEFOTkVMEAISHgoaRE9DVU1FTlRfVFlQRV9HSVRIVUJfSVNTVUUQAxImCiJET0NVTUVOVF9UWVBFX0dJVEhVQl9JU1NVRV9DT01NRU5UEAQSHQoZRE9DVU1FTlRfVFlQRV9HSVRIVUJfUkVQTxAIEiMKH0RPQ1VNRU5UX1RZUEVfR09PR0xFX0RSSVZFX0ZJTEUQBRIlCiFET0NVTUVOVF9UWVBFX0dPT0dMRV9EUklWRV9GT0xERVIQBhIcChhET0NVTUVOVF9UWVBFX0pJUkFfSVNTVUUQBxIVChFET0NVTUVOVF9UWVBFX0NDSRAJKtEIChBDb250ZXh0U2NvcGVUeXBlEiIKHkNPTlRFWFRfU0NPUEVfVFlQRV9VTlNQRUNJRklFRBAAEhsKF0NPTlRFWFRfU0NPUEVfVFlQRV9GSUxFEAESIAocQ09OVEVYVF9TQ09QRV9UWVBFX0RJUkVDVE9SWRACEiEKHUNPTlRFWFRfU0NPUEVfVFlQRV9SRVBPU0lUT1JZEAMSIwofQ09OVEVYVF9TQ09QRV9UWVBFX0NPREVfQ09OVEVYVBAEEigKJENPTlRFWFRfU0NPUEVfVFlQRV9DQ0lfV0lUSF9TVUJSQU5HRRAFEiYKIkNPTlRFWFRfU0NPUEVfVFlQRV9SRVBPU0lUT1JZX1BBVEgQBhIcChhDT05URVhUX1NDT1BFX1RZUEVfU0xBQ0sQBxIdChlDT05URVhUX1NDT1BFX1RZUEVfR0lUSFVCEAgSJgoiQ09OVEVYVF9TQ09QRV9UWVBFX0ZJTEVfTElORV9SQU5HRRAJEiEKHUNPTlRFWFRfU0NPUEVfVFlQRV9URVhUX0JMT0NLEAoSGwoXQ09OVEVYVF9TQ09QRV9UWVBFX0pJUkEQCxIjCh9DT05URVhUX1NDT1BFX1RZUEVfR09PR0xFX0RSSVZFEAwSIgoeQ09OVEVYVF9TQ09QRV9UWVBFX0NPTlNPTEVfTE9HEA0SIgoeQ09OVEVYVF9TQ09QRV9UWVBFX0RPTV9FTEVNRU5UEA4SHQoZQ09OVEVYVF9TQ09QRV9UWVBFX1JFQ0lQRRAPEiAKHENPTlRFWFRfU0NPUEVfVFlQRV9LTk9XTEVER0UQEBIbChdDT05URVhUX1NDT1BFX1RZUEVfUlVMRRAREiMKH0NPTlRFWFRfU0NPUEVfVFlQRV9NQ1BfUkVTT1VSQ0UQEhIjCh9DT05URVhUX1NDT1BFX1RZUEVfQlJPV1NFUl9QQUdFEBMSKQolQ09OVEVYVF9TQ09QRV9UWVBFX0JST1dTRVJfQ09ERV9CTE9DSxAUEiMKH0NPTlRFWFRfU0NPUEVfVFlQRV9CUk9XU0VSX1RFWFQQFRIjCh9DT05URVhUX1NDT1BFX1RZUEVfQ09OVkVSU0FUSU9OEBYSJAogQ09OVEVYVF9TQ09QRV9UWVBFX1VTRVJfQUNUSVZJVFkQFxIfChtDT05URVhUX1NDT1BFX1RZUEVfVEVSTUlOQUwQGBIqCiZDT05URVhUX1NDT1BFX1RZUEVfR0lUSFVCX1BVTExfUkVRVUVTVBAZEh8KG0NPTlRFWFRfU0NPUEVfVFlQRV9DT0RFX01BUBAaEiEKHUNPTlRFWFRfU0NPUEVfVFlQRV9NQ1BfUFJPTVBUEBsSHAoYQ09OVEVYVF9TQ09QRV9UWVBFX1NLSUxMEBwSIAocQ09OVEVYVF9TQ09QRV9UWVBFX1BMQU5fRklMRRAdEhoKFkNPTlRFWFRfU0NPUEVfVFlQRV9HSVQQHiqfBQoUQ29tbWFuZFJlcXVlc3RTb3VyY2USJgoiQ09NTUFORF9SRVFVRVNUX1NPVVJDRV9VTlNQRUNJRklFRBAAEiIKHkNPTU1BTkRfUkVRVUVTVF9TT1VSQ0VfREVGQVVMVBABEi0KKUNPTU1BTkRfUkVRVUVTVF9TT1VSQ0VfRlVOQ1RJT05fQ09ERV9MRU5TEAISKgomQ09NTUFORF9SRVFVRVNUX1NPVVJDRV9DTEFTU19DT0RFX0xFTlMQAxIvCitDT01NQU5EX1JFUVVFU1RfU09VUkNFX1JJR0hUX0NMSUNLX1JFRkFDVE9SEAQSMwovQ09NTUFORF9SRVFVRVNUX1NPVVJDRV9TRUxFQ1RJT05fSElOVF9DT0RFX0xFTlMQBRIuCipDT01NQU5EX1JFUVVFU1RfU09VUkNFX0xJTkVfSElOVF9DT0RFX0xFTlMQBhIfChtDT01NQU5EX1JFUVVFU1RfU09VUkNFX1BMQU4QBxIjCh9DT01NQU5EX1JFUVVFU1RfU09VUkNFX0ZPTExPV1VQEAgSLgoqQ09NTUFORF9SRVFVRVNUX1NPVVJDRV9QQVNURV9BTkRfVFJBTlNMQVRFEAkSKAokQ09NTUFORF9SRVFVRVNUX1NPVVJDRV9TVVBFUkNPTVBMRVRFEAoSLQopQ09NTUFORF9SRVFVRVNUX1NPVVJDRV9GVU5DVElPTl9ET0NTVFJJTkcQCxIlCiFDT01NQU5EX1JFUVVFU1RfU09VUkNFX0ZBU1RfQVBQTFkQDBIjCh9DT01NQU5EX1JFUVVFU1RfU09VUkNFX1RFUk1JTkFMEA0SIwofQ09NTUFORF9SRVFVRVNUX1NPVVJDRV9UQUJfSlVNUBAOIgQIDxAPIgQIEBAQKowBCgtTdGF0dXNMZXZlbBIcChhTVEFUVVNfTEVWRUxfVU5TUEVDSUZJRUQQABIWChJTVEFUVVNfTEVWRUxfRVJST1IQARIYChRTVEFUVVNfTEVWRUxfV0FSTklORxACEhUKEVNUQVRVU19MRVZFTF9JTkZPEAMSFgoSU1RBVFVTX0xFVkVMX0RFQlVHEAQqsQEKE0NvcnRleEVycm9yQ2F0ZWdvcnkSJQohQ09SVEVYX0VSUk9SX0NBVEVHT1JZX1VOU1BFQ0lGSUVEEAASIQodQ09SVEVYX0VSUk9SX0NBVEVHT1JZX09WRVJBTEwQARIoCiRDT1JURVhfRVJST1JfQ0FURUdPUllfQUNUSU9OX1BSRVBBUkUQAhImCiJDT1JURVhfRVJST1JfQ0FURUdPUllfQUNUSU9OX0FQUExZEAMq3AEKDkxhc3RVcGRhdGVUeXBlEiAKHExBU1RfVVBEQVRFX1RZUEVfVU5TUEVDSUZJRUQQABIcChhMQVNUX1VQREFURV9UWVBFX09WRVJBTEwQARIxCi1MQVNUX1VQREFURV9UWVBFX0xBU1RfQVVUT0NPTVBMRVRFX1VTQUdFX1RJTUUQAhIpCiVMQVNUX1VQREFURV9UWVBFX0xBU1RfQ0hBVF9VU0FHRV9USU1FEAMSLAooTEFTVF9VUERBVEVfVFlQRV9MQVNUX0NPTU1BTkRfVVNBR0VfVElNRRAEKqwBChRPbmJvYXJkaW5nQWN0aW9uVHlwZRImCiJPTkJPQVJESU5HX0FDVElPTl9UWVBFX1VOU1BFQ0lGSUVEEAASJwojT05CT0FSRElOR19BQ1RJT05fVFlQRV9BVVRPQ09NUExFVEUQARIiCh5PTkJPQVJESU5HX0FDVElPTl9UWVBFX0NPTU1BTkQQAhIfChtPTkJPQVJESU5HX0FDVElPTl9UWVBFX0NIQVQQAyrzBAodU3VwZXJjb21wbGV0ZVRyaWdnZXJDb25kaXRpb24SLworU1VQRVJDT01QTEVURV9UUklHR0VSX0NPTkRJVElPTl9VTlNQRUNJRklFRBAAEjcKM1NVUEVSQ09NUExFVEVfVFJJR0dFUl9DT05ESVRJT05fQVVUT0NPTVBMRVRFX0FDQ0VQVBABEjoKNlNVUEVSQ09NUExFVEVfVFJJR0dFUl9DT05ESVRJT05fQ1VSU09SX0xJTkVfTkFWSUdBVElPThACEioKJlNVUEVSQ09NUExFVEVfVFJJR0dFUl9DT05ESVRJT05fVFlQSU5HEAMSKgomU1VQRVJDT01QTEVURV9UUklHR0VSX0NPTkRJVElPTl9GT1JDRUQQBBIzCi9TVVBFUkNPTVBMRVRFX1RSSUdHRVJfQ09ORElUSU9OX1RBQl9KVU1QX0FDQ0VQVBAFEjgKNFNVUEVSQ09NUExFVEVfVFJJR0dFUl9DT05ESVRJT05fU1VQRVJDT01QTEVURV9BQ0NFUFQQBhI3CjNTVVBFUkNPTVBMRVRFX1RSSUdHRVJfQ09ORElUSU9OX1RBQl9KVU1QX1BSRURJQ1RJVkUQBxI7CjdTVVBFUkNPTVBMRVRFX1RSSUdHRVJfQ09ORElUSU9OX0FVVE9DT01QTEVURV9QUkVESUNUSVZFEAgSPAo4U1VQRVJDT01QTEVURV9UUklHR0VSX0NPTkRJVElPTl9TVVBFUkNPTVBMRVRFX1BSRURJQ1RJVkUQCRIxCi1TVVBFUkNPTVBMRVRFX1RSSUdHRVJfQ09ORElUSU9OX1RBQl9KVU1QX0VESVQQCiriPQoQUHJvZHVjdEV2ZW50VHlwZRIVChFFVkVOVF9VTlNQRUNJRklFRBAAEhoKFVdJTkRTVVJGX0VESVRPUl9SRUFEWRD7ARIdChhXSU5EU1VSRl9FWFRFTlNJT05fU1RBUlQQ/QESIAocV0lORFNVUkZfRVhURU5TSU9OX0FDVElWQVRFRBAgEhUKEUxTX0RPV05MT0FEX1NUQVJUEAESGAoUTFNfRE9XTkxPQURfQ09NUExFVEUQAhIXChNMU19ET1dOTE9BRF9GQUlMVVJFEAUSFgoRTFNfQklOQVJZX1NUQVJUVVAQ+gESDgoKTFNfU1RBUlRVUBADEg4KCkxTX0ZBSUxVUkUQBBIZChVBVVRPQ09NUExFVEVfQUNDRVBURUQQBhIiCh5BVVRPQ09NUExFVEVfT05FX1dPUkRfQUNDRVBURUQQBxIVChFDSEFUX01FU1NBR0VfU0VOVBAIEhcKE0NIQVRfTUVOVElPTl9JTlNFUlQQDRIaChZDSEFUX01FTlRJT05fTUVOVV9PUEVOEBMSFgoSQ0hBVF9PUEVOX1NFVFRJTkdTEA4SHgoaQ0hBVF9PUEVOX0NPTlRFWFRfU0VUVElOR1MQDxIWChJDSEFUX1dJVEhfQ09ERUJBU0UQEBIZChVDSEFUX05FV19DT05WRVJTQVRJT04QERIVChFDSEFUX0NIQU5HRV9NT0RFTBASEiEKHUNIQVRfVE9HR0xFX0ZPQ1VTX0lOU0VSVF9URVhUECISFQoRRlVOQ1RJT05fUkVGQUNUT1IQHBIWChJFWFBMQUlOX0NPREVfQkxPQ0sQHRIaChZGVU5DVElPTl9BRERfRE9DU1RSSU5HEB4SEwoPRVhQTEFJTl9QUk9CTEVNEB8SFgoSQ09NTUFORF9CT1hfT1BFTkVEEAkSFQoRQ09NTUFORF9TVUJNSVRURUQQChIUChBDT01NQU5EX0FDQ0VQVEVEEAsSFAoQQ09NTUFORF9SRUpFQ1RFRBAMEiUKIVdTX09OQk9BUkRJTkdfTEFORElOR19QQUdFX09QRU5FRBAUEiMKH1dTX09OQk9BUkRJTkdfU0VUVVBfUEFHRV9PUEVORUQQFRIpCiVXU19PTkJPQVJESU5HX0tFWUJJTkRJTkdTX1BBR0VfT1BFTkVEEBYSLQopV1NfT05CT0FSRElOR19NSUdSQVRJT05fU0NPUEVfUEFHRV9PUEVORUQQFxIkCiBXU19PTkJPQVJESU5HX0lNUE9SVF9QQUdFX09QRU5FRBAYEiIKHldTX09OQk9BUkRJTkdfQVVUSF9QQUdFX09QRU5FRBAZEikKJVdTX09OQk9BUkRJTkdfQVVUSF9NQU5VQUxfUEFHRV9PUEVORUQQGhIqCiZXU19PTkJPQVJESU5HX0NIT09TRV9USEVNRV9QQUdFX09QRU5FRBAjEhsKF1dTX09OQk9BUkRJTkdfQ09NUExFVEVEEBsSGQoVV1NfU0tJUFBFRF9PTkJPQVJESU5HEEUSGQoVV1NfU0VUVElOR1NfUEFHRV9PUEVOEEgSLAooV1NfU0VUVElOR1NfUEFHRV9PUEVOX1dJVEhfU0VUVElOR19GT0NVUxBJEiAKG0VNUFRZX1dPUktTUEFDRV9QQUdFX09QRU5FRBDRARIwCitFTVBUWV9XT1JLU1BBQ0VfUEFHRV9SRUNFTlRfRk9MREVSU19DTElDS0VEENIBEi0KKEVNUFRZX1dPUktTUEFDRV9QQUdFX09QRU5fRk9MREVSX0NMSUNLRUQQ0wESMgotRU1QVFlfV09SS1NQQUNFX1BBR0VfR0VORVJBVEVfUFJPSkVDVF9DTElDS0VEENQBEhQKEFBST1ZJREVfRkVFREJBQ0sQIRIYChRDQVNDQURFX01FU1NBR0VfU0VOVBAkEiYKHldTX09QRU5fQ0FTQ0FERV9NRU1PUklFU19QQU5FTBAmGgIIARIcChhQUk9WSURFX01FU1NBR0VfRkVFREJBQ0sQKRIaChZDQVNDQURFX01FTU9SWV9ERUxFVEVEECoSGgoWQ0FTQ0FERV9TVEVQX0NPTVBMRVRFRBArEiEKHUFDS05PV0xFREdFX0NBU0NBREVfQ09ERV9FRElUECwSLAooQ0FTQ0FERV9XRUJfVE9PTFNfT1BFTl9SRUFEX1VSTF9NQVJLRE9XThAtEikKJUNBU0NBREVfV0VCX1RPT0xTX09QRU5fQ0hVTktfTUFSS0RPV04QLhIbChdDQVNDQURFX01DUF9TRVJWRVJfSU5JVBBAEiYKIkNBU0NBREVfS05PV0xFREdFX0JBU0VfSVRFTV9PUEVORUQQcRIXChNDQVNDQURFX1ZJRVdfTE9BREVEEHcSKAojQ0FTQ0FERV9DT05URVhUX1NDT1BFX0lURU1fQVRUQUNIRUQQrQESFwoTQ0FTQ0FERV9DTElDS19FVkVOVBBBEhwKGENBU0NBREVfSU1QUkVTU0lPTl9FVkVOVBBDEhIKDk9QRU5fQ0hBTkdFTE9HECUSEwoPQ1VSU09SX0RFVEVDVEVEECcSEwoPVlNDT0RFX0RFVEVDVEVEECgSFwoSSkVUQlJBSU5TX0RFVEVDVEVEEJkBEjAKLENST1NTX1NFTExfRVhURU5TSU9OX0RPV05MT0FEX1dJTkRTVVJGX0NMSUNLEC8SOwo3Q1JPU1NfU0VMTF9FWFRFTlNJT05fRE9XTkxPQURfV0lORFNVUkZfTlVER0VfSU1QUkVTU0lPThAwEicKI1dTX1BST0JMRU1TX1RBQl9TRU5EX0FMTF9UT19DQVNDQURFEDESLworV1NfUFJPQkxFTVNfVEFCX1NFTkRfQUxMX0lOX0ZJTEVfVE9fQ0FTQ0FERRAyEh8KF1dTX0NBU0NBREVfQkFSX0ZJTEVfTkFWEDMaAggBEhsKF1dTX0NBU0NBREVfQkFSX0hVTktfTkFWEDQSHgoaV1NfQ0FTQ0FERV9CQVJfQUNDRVBUX0ZJTEUQNRIeChpXU19DQVNDQURFX0JBUl9SRUpFQ1RfRklMRRA2EiEKHVdTX0NVU1RPTV9BUFBfSUNPTl9NT0RBTF9PUEVOEDcSJQohV1NfQ1VTVE9NX0FQUF9JQ09OX1NFTEVDVF9DTEFTU0lDEDgSKwonV1NfQ1VTVE9NX0FQUF9JQ09OX1NFTEVDVF9DTEFTU0lDX0xJR0hUEDkSIwofV1NfQ1VTVE9NX0FQUF9JQ09OX1NFTEVDVF9SRVRSTxA6EicKI1dTX0NVU1RPTV9BUFBfSUNPTl9TRUxFQ1RfQkxVRVBSSU5UEDsSKAokV1NfQ1VTVE9NX0FQUF9JQ09OX1NFTEVDVF9IQU5EX0RSQVdOEDwSJAogV1NfQ1VTVE9NX0FQUF9JQ09OX1NFTEVDVF9TVU5TRVQQPRInCiNXU19DVVNUT01fQVBQX0lDT05fU0VMRUNUX1ZBTEVOVElORRBCEigKJFdTX0NVU1RPTV9BUFBfSUNPTl9TRUxFQ1RfUElYRUxfU1VSRhBSEhsKF0VOVEVSRURfTUNQX1RPT0xCQVJfVEFCED8SHAoYQ0xJQ0tFRF9UT19DT05GSUdVUkVfTUNQED4SFwoTV1NfU0VUVElOR1NfVVBEQVRFRBBEEh8KG0JST1dTRVJfUFJFVklFV19ET01fRUxFTUVOVBBGEiIKHkJST1dTRVJfUFJFVklFV19DT05TT0xFX09VVFBVVBBHEh8KG1dTX1NFVFRJTkdTX0NIQU5HRURfQllfVVNFUhBKEiYKIldTX0dFTkVSQVRFX0NPTU1JVF9NRVNTQUdFX0NMSUNLRUQQSxImCiJXU19HRU5FUkFURV9DT01NSVRfTUVTU0FHRV9FUlJPUkVEEEwSJAogV1NfQ0xJQ0tFRF9DT01NSVRfRlJPTV9TQ01fUEFORUwQTRInCiNXU19DQU5DRUxFRF9HRU5FUkFURV9DT01NSVRfTUVTU0FHRRBPEhcKE1VTSU5HX0RFVl9FWFRFTlNJT04QThIkCiBXU19BUFBfREVQTE9ZTUVOVF9DUkVBVEVfUFJPSkVDVBBQEiQKIFdTX0FQUF9ERVBMT1lNRU5UX0RFUExPWV9QUk9KRUNUEFESLQopQ0FTQ0FERV9PUEVOX0FDVElWRV9DT05WRVJTQVRJT05fRFJPUERPV04QchIyCi5DQVNDQURFX1NFTEVDVF9BQ1RJVkVfQ09OVkVSU0FUSU9OX09OX0RST1BET1dOEHMSNAowQ0FTQ0FERV9OQVZJR0FURV9BQ1RJVkVfQ09OVkVSU0FUSU9OX09OX0RST1BET1dOEHoSKwonQ0FTQ0FERV9TTk9PWkVfQ09OVkVSU0FUSU9OX09OX0RST1BET1dOEHsSKwonQ0FTQ0FERV9UT0dHTEVfTk9USUZJQ0FUSU9OX09OX0RST1BET1dOEHwSKwonQ0FTQ0FERV9TRUxFQ1RfTk9USUZJQ0FUSU9OX09OX0RST1BET1dOEH0SLQopQ0FTQ0FERV9OQVZJR0FURV9OT1RJRklDQVRJT05fT05fRFJPUERPV04QfhIsCihDQVNDQURFX0RJU01JU1NfTk9USUZJQ0FUSU9OX09OX0RST1BET1dOEH8SJwoiQ0FTQ0FERV9UUkFKRUNUT1JZX1NIQVJFX0NPUFlfTElOSxCJARIpCiRDQVNDQURFX1RSQUpFQ1RPUllfU0hBUkVfQ1JFQVRFX0xJTksQigESJgohQ0FTQ0FERV9DVVNUT01JWkFUSU9OU19UQUJfQ0hBTkdFEIsBEhoKFUNBU0NBREVfV09SS0ZMT1dfT1BFThCMARIhChxDQVNDQURFX05FV19XT1JLRkxPV19DTElDS0VEEI0BEigKI0NBU0NBREVfTkVXX0dMT0JBTF9XT1JLRkxPV19DTElDS0VEELgBEiUKIENBU0NBREVfV09SS0ZMT1dfUkVGUkVTSF9DTElDS0VEEI4BEhYKEUNBU0NBREVfUlVMRV9PUEVOEI8BEh0KGENBU0NBREVfTkVXX1JVTEVfQ0xJQ0tFRBCQARIkCh9DQVNDQURFX05FV19HTE9CQUxfUlVMRV9DTElDS0VEEJEBEiEKHENBU0NBREVfUlVMRV9SRUZSRVNIX0NMSUNLRUQQkgESLQooQ0FTQ0FERV9JTVBPUlRfUlVMRVNfRlJPTV9DVVJTT1JfQ0xJQ0tFRBCTARIrCiZXU19JTVBPUlRfQ1VSU09SX1JVTEVTX0NPTU1BTkRfUEFMRVRURRCYARIeChpDQVNDQURFX0NIQU5HRVNfQUNDRVBUX0FMTBBTEh4KGkNBU0NBREVfQ0hBTkdFU19SRUpFQ1RfQUxMEFQSGQoVQ0FTQ0FERV9NRU1PUklFU19FRElUEFUSGQoVQ0FTQ0FERV9NRU1PUklFU19WSUVXEFYSFgoRS0VZQk9BUkRfU0hPUlRDVVQQiAESHQoZQ0FTQ0FERV9JTlNFUlRfQVRfTUVOVElPThBXEhYKEkNBU0NBREVfRVJST1JfU1RFUBB4EjIKLkNBU0NBREVfU1VHR0VTVEVEX1JFU1BPTlNFU19TVUdHRVNUSU9OX0NMSUNLRUQQeRIgChtDQVNDQURFX1BMVUdJTl9QQU5FTF9PUEVORUQQgAESHwoaQ0FTQ0FERV9QTFVHSU5fUEFHRV9PUEVORUQQgQESHQoYQ0FTQ0FERV9QTFVHSU5fSU5TVEFMTEVEEIIBEhwKF0NBU0NBREVfUExVR0lOX0RJU0FCTEVEEIMBEhsKFkNBU0NBREVfUExVR0lOX0VOQUJMRUQQhAESJgohQ0FTQ0FERV9QTFVHSU5fSU5TVEFMTEFUSU9OX0VSUk9SEIUBEiAKG0NBU0NBREVfUExVR0lOX1RPT0xfRU5BQkxFRBCGARIhChxDQVNDQURFX1BMVUdJTl9UT09MX0RJU0FCTEVEEIcBEhoKFldFQlNJVEVfTk9UX0ZPVU5EX1BBR0UQWBIjCh9XRUJTSVRFX0FVVEhfUkVESVJFQ1RfTE9OR19XQUlUEFkSHwobV0VCU0lURV9BVVRIX1JFRElSRUNUX0VSUk9SEFoSIQodV0VCU0lURV9BVVRIX1JFRElSRUNUX1NVQ0NFU1MQcBIXChJXRUJTSVRFX1BBR0VfVklTSVQQrwESGAoTV0VCU0lURV9TSUdOVVBfSU5GTxCwARIgChtXRUJTSVRFX1NUQVJUX1BMQU5fQ0hFQ0tPVVQQsQESIQocV0VCU0lURV9TVEFSVF9VUERBVEVfUEFZTUVOVBDKARIgChtXRUJTSVRFX1NUQVJUX1ZJRVdfSU5WT0lDRVMQywESJAofV0VCU0lURV9VTklWRVJTSVRZX0xFQ1RVUkVfVklFVxDWARImCiFXRUJTSVRFX0RJU0FMTE9XX0VOVEVSUFJJU0VfTE9HSU4Q4AESHwoaV0VCU0lURV9TU09fTE9HSU5fUkVESVJFQ1QQ4QESHQoYV0VCU0lURV9BVFRFTVBUX1RPX0xPR0lOEOIBEh0KGFdFQlNJVEVfU1VDQ0VTU0ZVTF9MT0dJThDjARIZChRXRUJTSVRFX0ZBSUxFRF9MT0dJThDkARIVChFKQl9PUEVOX1BMQU5fSU5GTxBbEhgKEEpCX1NOT09aRV9QTFVHSU4QXBoCCAESHwoXSkJfVE9HR0xFX1BMVUdJTl9TVEFUVVMQXRoCCAESFQoRSkJfU1dJVENIX0NIQU5ORUwQXhIUChBKQl9PUEVOX1NFVFRJTkdTEF8SFAoQSkJfUExVR0lOX0xPR19JThBgEhUKEUpCX1BMVUdJTl9MT0dfT1VUEGESGwoXSkJfT1BFTl9RVUlDS19SRUZFUkVOQ0UQYhIeChpKQl9FRElUX0tFWUJPQVJEX1NIT1JUQ1VUUxBjEh8KG0pCX0NBU0NBREVfQkFSX0NBU0NBREVfSUNPThBkEhsKF0pCX0NBU0NBREVfQkFSX0ZJTEVfTkFWEGUSGwoXSkJfQ0FTQ0FERV9CQVJfSFVOS19OQVYQZhIeChpKQl9DQVNDQURFX0JBUl9BQ0NFUFRfRklMRRBnEh4KGkpCX0NBU0NBREVfQkFSX1JFSkVDVF9GSUxFEGgSGAoUSkJfSU5MQVlfSFVOS19BQ0NFUFQQaRIYChRKQl9JTkxBWV9IVU5LX1JFSkVDVBBqEhUKEUpCX0RJRkZfUkVfUkVOREVSEGsSGAoUSkJfT05CT0FSRElOR19PUEVORUQQbBIbChdKQl9PTkJPQVJESU5HX0NPTVBMRVRFRBBtEhkKFUpCX09OQk9BUkRJTkdfU0tJUFBFRBBuEhwKGEpCX09OQk9BUkRJTkdfTEVBUk5fTU9SRRBvEh4KGkpCX0RJRkZfUkVTT0xVVElPTl9FUlJPUkVEEHQSJAogSkJfQUNLTk9XTEVER0VfQ09ERV9FRElUX0VSUk9SRUQQdRIhCh1KQl9PUEVOX1NFVFRJTkdTX05PVElGSUNBVElPThB2EhYKEUpCX01DUF9BRERfU0VSVkVSEJQBEhcKEkpCX01DUF9TQVZFX0NPTkZJRxCVARIYChNKQl9NQ1BfRVhQQU5EX1RPT0xTEJYBEh4KGUpCX0RJU0FCTEVfQVVUT0dFTl9NRU1PUlkQlwESGwoWSkJfVE9HR0xFX0FVVE9DT01QTEVURRCaARIfChpKQl9MT0dJTl9NQU5VQUxfQVVUSF9UT0tFThCuARIUCg9KQl9BVVRPX1VQREFURUQQswESFgoRSkJfRFJBR19EUk9QX0ZJTEUQtgESHQoYSkJfQVVUT19PUEVOX0NIQVRfV0lORE9XELcBEicKIldTX1RFUk1JTkFMX0lOVEVHUkFUSU9OX0ZPUkNFX0VYSVQQmwESIAobS05PV0xFREdFX0JBU0VfSVRFTV9DUkVBVEVEEJwBEh8KGktOT1dMRURHRV9CQVNFX0lURU1fRURJVEVEEJ0BEiAKG0tOT1dMRURHRV9CQVNFX0lURU1fREVMRVRFRBCeARIdChhLTk9XTEVER0VfQkFTRV9JVEVNX1JFQUQQnwESJQogS05PV0xFREdFX0JBU0VfQ09OTkVDVElPTl9DUkVBVEUQoAESJQogS05PV0xFREdFX0JBU0VfQ09OTkVDVElPTl9SRU1PVkUQoQESKQokVEVBTV9DT05GSUdfVE9HR0xFX0FVVE9fUlVOX0NPTU1BTkRTEKIBEiMKHlRFQU1fQ09ORklHX1RPR0dMRV9NQ1BfU0VSVkVSUxCjARInCiJURUFNX0NPTkZJR19UT0dHTEVfQVBQX0RFUExPWU1FTlRTEKQBEi8KKlRFQU1fQ09ORklHX1RPR0dMRV9TQU5EQk9YX0FQUF9ERVBMT1lNRU5UUxClARItCihURUFNX0NPTkZJR19UT0dHTEVfVEVBTVNfQVBQX0RFUExPWU1FTlRTEKYBEiYKIVRFQU1fQ09ORklHX1RPR0dMRV9HSVRIVUJfUkVWSUVXUxCnARIwCitURUFNX0NPTkZJR19UT0dHTEVfR0lUSFVCX0RFU0NSSVBUSU9OX0VESVRTEKgBEiwKJ1RFQU1fQ09ORklHX1RPR0dMRV9QUl9SRVZJRVdfR1VJREVMSU5FUxCpARIxCixURUFNX0NPTkZJR19UT0dHTEVfUFJfREVTQ1JJUFRJT05fR1VJREVMSU5FUxCqARIyCi1URUFNX0NPTkZJR19UT0dHTEVfSU5ESVZJRFVBTF9MRVZFTF9BTkFMWVRJQ1MQqwESLAonVEVBTV9DT05GSUdfVE9HR0xFX0NPTlZFUlNBVElPTl9TSEFSSU5HEKwBEiMKHlRFQU1fQ09ORklHX1VQREFURV9NQ1BfU0VSVkVSUxCyARIrCiZURUFNX0NPTkZJR19UT0dHTEVfR0lUSFVCX0FVVE9fUkVWSUVXUxDPARInCiJURUFNX0NPTkZJR19VUERBVEVfVE9QX1VQX1NFVFRJTkdTENUBEhEKDEJST1dTRVJfT1BFThC0ARIsCidDQVNDQURFX1dFQl9UT09MU19PUEVOX0JST1dTRVJfTUFSS0RPV04QtQESHgoZQlJPV1NFUl9QQUdFX0xPQURfU1VDQ0VTUxDOARIoCiNCUk9XU0VSX1RPT0xCQVJfSU5TRVJUX1BBR0VfTUVOVElPThDQARIgChtCUk9XU0VSX0lOU0VSVF9URVhUX0NPTlRFTlQQ1wESHgoZQlJPV1NFUl9JTlNFUlRfU0NSRUVOU0hPVBDYARIeChlCUk9XU0VSX0lOU0VSVF9DT0RFX0JMT0NLENkBEh0KGEJST1dTRVJfSU5TRVJUX0xPR19CTE9DSxDaARIiCh1CUk9XU0VSX0lOU0VSVF9DT05TT0xFX09VVFBVVBDbARIfChpCUk9XU0VSX0lOU0VSVF9ET01fRUxFTUVOVBDcARIiCh1TVVBFUkNPTVBMRVRFX1JFUVVFU1RfU1RBUlRFRBDDARIcChdTVVBFUkNPTVBMRVRFX0NBQ0hFX0hJVBDEARIpCiRTVVBFUkNPTVBMRVRFX0VSUk9SX0dFVFRJTkdfUkVTUE9OU0UQxQESHgoZU1VQRVJDT01QTEVURV9OT19SRVNQT05TRRC5ARIkCh9TVVBFUkNPTVBMRVRFX1JFUVVFU1RfU1VDQ0VFREVEELoBEhsKFlNVUEVSQ09NUExFVEVfRklMVEVSRUQQuwESHQoYVEFCX0pVTVBfUkVRVUVTVF9TVEFSVEVEELwBEhcKElRBQl9KVU1QX0NBQ0hFX0hJVBC9ARIkCh9UQUJfSlVNUF9FUlJPUl9HRVRUSU5HX1JFU1BPTlNFEL4BEhkKFFRBQl9KVU1QX05PX1JFU1BPTlNFEL8BEiEKHFRBQl9KVU1QX1BST0NFU1NJTkdfQ09NUExFVEUQwAESFgoRVEFCX0pVTVBfRklMVEVSRUQQwQESHwoaVEFCX0pVTVBfRVJST1JfVUlfUkVOREVSRUQQwgESJAofQVVUT19DQVNDQURFX1BSX1RJVExFX0dFTkVSQVRFRBDGARIqCiVBVVRPX0NBU0NBREVfUFJfREVTQ1JJUFRJT05fR0VORVJBVEVEEMcBEiUKIEFVVE9fQ0FTQ0FERV9QUl9SRVZJRVdfUkVRVUVTVEVEEMgBEiUKIEFVVE9fQ0FTQ0FERV9QUl9SRVZJRVdfR0VORVJBVEVEEMkBEikKJEFVVE9fQ0FTQ0FERV9HSVRIVUJfQ09OTkVDVElPTl9BRERFRBDMARIrCiZBVVRPX0NBU0NBREVfR0lUSFVCX0NPTk5FQ1RJT05fUkVNT1ZFRBDNARIiCh1BVVRPQ09NUExFVEVfQ0hBVF9OT19SRVNQT05TRRDdARItCihBVVRPQ09NUExFVEVfQ0hBVF9FUlJPUl9HRVRUSU5HX1JFU1BPTlNFEN4BEicKIkFVVE9DT01QTEVURV9DSEFUX1JFUVVFU1RfQUNDRVBURUQQ3wEq4gEKC0luZGV4Q2hvaWNlEhwKGElOREVYX0NIT0lDRV9VTlNQRUNJRklFRBAAEhwKGElOREVYX0NIT0lDRV9HSVRIVUJfQkFTRRABEhsKF0lOREVYX0NIT0lDRV9TTEFDS19CQVNFEAISJAocSU5ERVhfQ0hPSUNFX1NMQUNLX0FHR1JFR0FURRADGgIIARIiCh5JTkRFWF9DSE9JQ0VfR09PR0xFX0RSSVZFX0JBU0UQBBIaChZJTkRFWF9DSE9JQ0VfSklSQV9CQVNFEAUSFAoQSU5ERVhfQ0hPSUNFX1NDTRAGKvwBChBNYXJrZG93bk5vZGVUeXBlEiIKHk1BUktET1dOX05PREVfVFlQRV9VTlNQRUNJRklFRBAAEh8KG01BUktET1dOX05PREVfVFlQRV9IRUFERVJfMRABEh8KG01BUktET1dOX05PREVfVFlQRV9IRUFERVJfMhACEh8KG01BUktET1dOX05PREVfVFlQRV9IRUFERVJfMxADEh8KG01BUktET1dOX05PREVfVFlQRV9IRUFERVJfNBAEEh8KG01BUktET1dOX05PREVfVFlQRV9IRUFERVJfNRAFEh8KG01BUktET1dOX05PREVfVFlQRV9IRUFERVJfNhAGKp4BChpUZXJtaW5hbFNoZWxsQ29tbWFuZFNvdXJjZRItCilURVJNSU5BTF9TSEVMTF9DT01NQU5EX1NPVVJDRV9VTlNQRUNJRklFRBAAEiYKIlRFUk1JTkFMX1NIRUxMX0NPTU1BTkRfU09VUkNFX1VTRVIQARIpCiVURVJNSU5BTF9TSEVMTF9DT01NQU5EX1NPVVJDRV9DQVNDQURFEAIqowEKGlRlcm1pbmFsU2hlbGxDb21tYW5kU3RhdHVzEi0KKVRFUk1JTkFMX1NIRUxMX0NPTU1BTkRfU1RBVFVTX1VOU1BFQ0lGSUVEEAASKQolVEVSTUlOQUxfU0hFTExfQ09NTUFORF9TVEFUVVNfUlVOTklORxABEisKJ1RFUk1JTkFMX1NIRUxMX0NPTU1BTkRfU1RBVFVTX0NPTVBMRVRFRBACKqACChVEZXBsb3ltZW50QnVpbGRTdGF0dXMSJwojREVQTE9ZTUVOVF9CVUlMRF9TVEFUVVNfVU5TUEVDSUZJRUQQABIiCh5ERVBMT1lNRU5UX0JVSUxEX1NUQVRVU19RVUVVRUQQARIoCiRERVBMT1lNRU5UX0JVSUxEX1NUQVRVU19JTklUSUFMSVpJTkcQAhIkCiBERVBMT1lNRU5UX0JVSUxEX1NUQVRVU19CVUlMRElORxADEiEKHURFUExPWU1FTlRfQlVJTERfU1RBVFVTX0VSUk9SEAQSIQodREVQTE9ZTUVOVF9CVUlMRF9TVEFUVVNfUkVBRFkQBRIkCiBERVBMT1lNRU5UX0JVSUxEX1NUQVRVU19DQU5DRUxFRBAGKp4BChJEZXBsb3ltZW50UHJvdmlkZXISIwofREVQTE9ZTUVOVF9QUk9WSURFUl9VTlNQRUNJRklFRBAAEh4KGkRFUExPWU1FTlRfUFJPVklERVJfVkVSQ0VMEAESHwobREVQTE9ZTUVOVF9QUk9WSURFUl9ORVRMSUZZEAISIgoeREVQTE9ZTUVOVF9QUk9WSURFUl9DTE9VREZMQVJFEAMqsAEKEFZhbGlkYXRpb25TdGF0dXMSIQodVkFMSURBVElPTl9TVEFUVVNfVU5TUEVDSUZJRUQQABIfChtWQUxJREFUSU9OX1NUQVRVU19BVkFJTEFCTEUQARIcChhWQUxJREFUSU9OX1NUQVRVU19JTl9VU0UQAhIbChdWQUxJREFUSU9OX1NUQVRVU19UQUtFThADEh0KGVZBTElEQVRJT05fU1RBVFVTX0lOVkFMSUQQBCqQAQoWU2FuZGJveEVuZm9yY2VtZW50TW9kZRIoCiRTQU5EQk9YX0VORk9SQ0VNRU5UX01PREVfVU5TUEVDSUZJRUQQABIlCiFTQU5EQk9YX0VORk9SQ0VNRU5UX01PREVfT1BUSU9OQUwQARIlCiFTQU5EQk9YX0VORk9SQ0VNRU5UX01PREVfUkVRVUlSRUQQAiq9AgoTUHJvbXB0VGVtcGxhdGVyVHlwZRIlCiFQUk9NUFRfVEVNUExBVEVSX1RZUEVfVU5TUEVDSUZJRUQQABIhCh1QUk9NUFRfVEVNUExBVEVSX1RZUEVfTExBTUFfMhABEiEKHVBST01QVF9URU1QTEFURVJfVFlQRV9MTEFNQV8zEAISIAocUFJPTVBUX1RFTVBMQVRFUl9UWVBFX0NIQVRNTBADEikKJVBST01QVF9URU1QTEFURVJfVFlQRV9DSEFUX1RSQU5TQ1JJUFQQBBIlCiFQUk9NUFRfVEVNUExBVEVSX1RZUEVfREVFUFNFRUtfVjIQBRIlCiFQUk9NUFRfVEVNUExBVEVSX1RZUEVfREVFUFNFRUtfVjMQBhIeChpQUk9NUFRfVEVNUExBVEVSX1RZUEVfS0lNSRAHKqcCChFUb29sRm9ybWF0dGVyVHlwZRIjCh9UT09MX0ZPUk1BVFRFUl9UWVBFX1VOU1BFQ0lGSUVEEAASHwobVE9PTF9GT1JNQVRURVJfVFlQRV9MTEFNQV8zEAESHgoaVE9PTF9GT1JNQVRURVJfVFlQRV9IRVJNRVMQAhIbChdUT09MX0ZPUk1BVFRFUl9UWVBFX1hNTBADEicKI1RPT0xfRk9STUFUVEVSX1RZUEVfQ0hBVF9UUkFOU0NSSVBUEAQSHAoYVE9PTF9GT1JNQVRURVJfVFlQRV9LSU1JEAUSIQodVE9PTF9GT1JNQVRURVJfVFlQRV9RV0VOQ09ERVIQBhIlCiFUT09MX0ZPUk1BVFRFUl9UWVBFX1NVUEVSQ09NUExFVEUQByr1AQoZQnJvd3Nlckluc3RhbGxhdGlvblN0YXR1cxIrCidCUk9XU0VSX0lOU1RBTExBVElPTl9TVEFUVVNfVU5TUEVDSUZJRUQQABItCilCUk9XU0VSX0lOU1RBTExBVElPTl9TVEFUVVNfTk9UX0lOU1RBTExFRBABEisKJ0JST1dTRVJfSU5TVEFMTEFUSU9OX1NUQVRVU19JTl9QUk9HUkVTUxACEigKJEJST1dTRVJfSU5TVEFMTEFUSU9OX1NUQVRVU19DT01QTEVURRADEiUKIUJST1dTRVJfSU5TVEFMTEFUSU9OX1NUQVRVU19FUlJPUhAEKncKDlRyYWplY3RvcnlUeXBlEh8KG1RSQUpFQ1RPUllfVFlQRV9VTlNQRUNJRklFRBAAEhsKF1RSQUpFQ1RPUllfVFlQRV9DQVNDQURFEAESJwojVFJBSkVDVE9SWV9UWVBFX01BSU5MSU5FX1RSQUpFQ1RPUlkQAiqvAgoYUmVmcmVzaEN1c3RvbWl6YXRpb25UeXBlEioKJlJFRlJFU0hfQ1VTVE9NSVpBVElPTl9UWVBFX1VOU1BFQ0lGSUVEEAASIwofUkVGUkVTSF9DVVNUT01JWkFUSU9OX1RZUEVfUlVMRRABEicKI1JFRlJFU0hfQ1VTVE9NSVpBVElPTl9UWVBFX1dPUktGTE9XEAISKgomUkVGUkVTSF9DVVNUT01JWkFUSU9OX1RZUEVfVVNFUl9NRU1PUlkQAxIkCiBSRUZSRVNIX0NVU1RPTUlaQVRJT05fVFlQRV9TS0lMTBAEEiMKH1JFRlJFU0hfQ1VTVE9NSVpBVElPTl9UWVBFX1BMQU4QBRIiCh5SRUZSRVNIX0NVU1RPTUlaQVRJT05fVFlQRV9NQ1AQBip6ChtUaGlyZFBhcnR5V2ViU2VhcmNoUHJvdmlkZXISLworVEhJUkRfUEFSVFlfV0VCX1NFQVJDSF9QUk9WSURFUl9VTlNQRUNJRklFRBAAEioKJlRISVJEX1BBUlRZX1dFQl9TRUFSQ0hfUFJPVklERVJfT1BFTkFJEAEqwQEKGFRoaXJkUGFydHlXZWJTZWFyY2hNb2RlbBIsCihUSElSRF9QQVJUWV9XRUJfU0VBUkNIX01PREVMX1VOU1BFQ0lGSUVEEAASIwofVEhJUkRfUEFSVFlfV0VCX1NFQVJDSF9NT0RFTF9PMxABEigKJFRISVJEX1BBUlRZX1dFQl9TRUFSQ0hfTU9ERUxfR1BUXzRfMRACEigKJFRISVJEX1BBUlRZX1dFQl9TRUFSQ0hfTU9ERUxfTzRfTUlOSRADYgZwcm90bzM", [file_buf_validate_validate, file_google_protobuf_duration, file_google_protobuf_timestamp]); + +/** + * @generated from message exa.codeium_common_pb.CompletionsRequest + */ +export type CompletionsRequest = Message<"exa.codeium_common_pb.CompletionsRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.CompletionConfiguration configuration = 1; + */ + configuration?: CompletionConfiguration | undefined; + + /** + * @generated from field: string prompt = 2; + */ + prompt: string; + + /** + * @generated from field: string context_prompt = 21; + */ + contextPrompt: string; + + /** + * @generated from field: string uid = 25; + */ + uid: string; + + /** + * @generated from field: repeated exa.codeium_common_pb.PromptElementRange prompt_element_ranges = 8; + */ + promptElementRanges: PromptElementRange[]; + + /** + * @generated from field: repeated exa.codeium_common_pb.PromptElementKindInfo prompt_element_kind_infos = 9; + */ + promptElementKindInfos: PromptElementKindInfo[]; + + /** + * @generated from field: uint64 prompt_latency_ms = 11; + */ + promptLatencyMs: bigint; + + /** + * @generated from field: repeated exa.codeium_common_pb.PromptStageLatency prompt_stage_latencies = 12; + */ + promptStageLatencies: PromptStageLatency[]; + + /** + * @generated from field: uint64 num_tokenized_bytes = 20; + */ + numTokenizedBytes: bigint; + + /** + * @generated from field: string editor_language = 3; + */ + editorLanguage: string; + + /** + * @generated from field: exa.codeium_common_pb.Language language = 4; + */ + language: Language; + + /** + * @generated from field: string absolute_path_uri_for_telemetry = 5; + */ + absolutePathUriForTelemetry: string; + + /** + * @generated from field: string relative_path_for_telemetry = 6; + */ + relativePathForTelemetry: string; + + /** + * @generated from field: string workspace_uri_for_telemetry = 13; + */ + workspaceUriForTelemetry: string; + + /** + * @generated from field: string experiment_features_json = 7; + */ + experimentFeaturesJson: string; + + /** + * @generated from field: string experiment_variant_json = 19; + */ + experimentVariantJson: string; + + /** + * @generated from field: exa.codeium_common_pb.Model model = 10; + */ + model: Model; + + /** + * @generated from field: bool has_line_suffix = 14; + */ + hasLineSuffix: boolean; + + /** + * @generated from field: bool should_inline_fim = 15; + */ + shouldInlineFim: boolean; + + /** + * @generated from field: exa.codeium_common_pb.Repository repository = 16; + */ + repository?: Repository | undefined; + + /** + * @generated from field: string model_tag = 17; + */ + modelTag: string; + + /** + * @generated from field: repeated string experiment_tags = 18; + */ + experimentTags: string[]; + + /** + * @generated from field: string eval_suffix = 22; + */ + evalSuffix: string; + + /** + * @generated from field: repeated exa.codeium_common_pb.PromptAnnotationRange prompt_annotation_ranges = 23; + */ + promptAnnotationRanges: PromptAnnotationRange[]; + + /** + * @generated from field: bool supports_packed_streaming_completion_maps = 24; + */ + supportsPackedStreamingCompletionMaps: boolean; +}; + +/** + * Describes the message exa.codeium_common_pb.CompletionsRequest. + * Use `create(CompletionsRequestSchema)` to create a new message. + */ +export const CompletionsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 0); + +/** + * @generated from message exa.codeium_common_pb.CompletionConfiguration + */ +export type CompletionConfiguration = Message<"exa.codeium_common_pb.CompletionConfiguration"> & { + /** + * @generated from field: uint64 num_completions = 1; + */ + numCompletions: bigint; + + /** + * @generated from field: uint64 max_tokens = 2; + */ + maxTokens: bigint; + + /** + * @generated from field: uint64 max_newlines = 3; + */ + maxNewlines: bigint; + + /** + * @generated from field: double min_log_probability = 4; + */ + minLogProbability: number; + + /** + * @generated from field: double temperature = 5; + */ + temperature: number; + + /** + * @generated from field: double first_temperature = 6; + */ + firstTemperature: number; + + /** + * @generated from field: uint64 top_k = 7; + */ + topK: bigint; + + /** + * @generated from field: double top_p = 8; + */ + topP: number; + + /** + * @generated from field: repeated string stop_patterns = 9; + */ + stopPatterns: string[]; + + /** + * @generated from field: uint64 seed = 10; + */ + seed: bigint; + + /** + * @generated from field: double fim_eot_prob_threshold = 11; + */ + fimEotProbThreshold: number; + + /** + * @generated from field: bool use_fim_eot_threshold = 12; + */ + useFimEotThreshold: boolean; + + /** + * @generated from field: bool do_not_score_stop_tokens = 13; + */ + doNotScoreStopTokens: boolean; + + /** + * @generated from field: bool sqrt_len_normalized_log_prob_score = 14; + */ + sqrtLenNormalizedLogProbScore: boolean; + + /** + * @generated from field: bool last_message_is_partial = 15; + */ + lastMessageIsPartial: boolean; + + /** + * @generated from field: bool return_logprob = 16; + */ + returnLogprob: boolean; + + /** + * @generated from field: string service_tier = 17; + */ + serviceTier: string; +}; + +/** + * Describes the message exa.codeium_common_pb.CompletionConfiguration. + * Use `create(CompletionConfigurationSchema)` to create a new message. + */ +export const CompletionConfigurationSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 1); + +/** + * @generated from message exa.codeium_common_pb.PromptElementRange + */ +export type PromptElementRange = Message<"exa.codeium_common_pb.PromptElementRange"> & { + /** + * @generated from field: exa.codeium_common_pb.PromptElementKind kind = 1; + */ + kind: PromptElementKind; + + /** + * @generated from field: uint64 byte_offset_start = 2; + */ + byteOffsetStart: bigint; + + /** + * @generated from field: uint64 byte_offset_end = 3; + */ + byteOffsetEnd: bigint; + + /** + * @generated from field: uint64 token_offset_start = 4; + */ + tokenOffsetStart: bigint; + + /** + * @generated from field: uint64 token_offset_end = 5; + */ + tokenOffsetEnd: bigint; +}; + +/** + * Describes the message exa.codeium_common_pb.PromptElementRange. + * Use `create(PromptElementRangeSchema)` to create a new message. + */ +export const PromptElementRangeSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 2); + +/** + * @generated from message exa.codeium_common_pb.ActionPointer + */ +export type ActionPointer = Message<"exa.codeium_common_pb.ActionPointer"> & { + /** + * @generated from field: string cortex_plan_id = 1; + */ + cortexPlanId: string; + + /** + * @generated from field: string code_plan_id = 2; + */ + codePlanId: string; + + /** + * @generated from field: int32 action_index = 3; + */ + actionIndex: number; +}; + +/** + * Describes the message exa.codeium_common_pb.ActionPointer. + * Use `create(ActionPointerSchema)` to create a new message. + */ +export const ActionPointerSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 3); + +/** + * @generated from message exa.codeium_common_pb.PromptAnnotationRange + */ +export type PromptAnnotationRange = Message<"exa.codeium_common_pb.PromptAnnotationRange"> & { + /** + * @generated from field: exa.codeium_common_pb.PromptAnnotationKind kind = 1; + */ + kind: PromptAnnotationKind; + + /** + * @generated from field: uint64 byte_offset_start = 2; + */ + byteOffsetStart: bigint; + + /** + * @generated from field: uint64 byte_offset_end = 3; + */ + byteOffsetEnd: bigint; + + /** + * @generated from field: string suffix = 4; + */ + suffix: string; +}; + +/** + * Describes the message exa.codeium_common_pb.PromptAnnotationRange. + * Use `create(PromptAnnotationRangeSchema)` to create a new message. + */ +export const PromptAnnotationRangeSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 4); + +/** + * @generated from message exa.codeium_common_pb.ExperimentWithVariant + */ +export type ExperimentWithVariant = Message<"exa.codeium_common_pb.ExperimentWithVariant"> & { + /** + * @generated from field: exa.codeium_common_pb.ExperimentKey key = 1 [deprecated = true]; + * @deprecated + */ + key: ExperimentKey; + + /** + * @generated from field: string key_string = 5; + */ + keyString: string; + + /** + * @generated from field: bool disabled = 6; + */ + disabled: boolean; + + /** + * @generated from oneof exa.codeium_common_pb.ExperimentWithVariant.payload + */ + payload: { + /** + * @generated from field: string string = 2; + */ + value: string; + case: "string"; + } | { + /** + * @generated from field: string json = 3; + */ + value: string; + case: "json"; + } | { + /** + * @generated from field: string csv = 4; + */ + value: string; + case: "csv"; + } | { case: undefined; value?: undefined }; + + /** + * @generated from field: exa.codeium_common_pb.ExperimentSource source = 7; + */ + source: ExperimentSource; +}; + +/** + * Describes the message exa.codeium_common_pb.ExperimentWithVariant. + * Use `create(ExperimentWithVariantSchema)` to create a new message. + */ +export const ExperimentWithVariantSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 5); + +/** + * @generated from message exa.codeium_common_pb.ExperimentConfig + */ +export type ExperimentConfig = Message<"exa.codeium_common_pb.ExperimentConfig"> & { + /** + * @generated from field: repeated exa.codeium_common_pb.ExperimentWithVariant experiments = 6; + */ + experiments: ExperimentWithVariant[]; + + /** + * @generated from field: repeated exa.codeium_common_pb.ExperimentKey force_enable_experiments = 1; + */ + forceEnableExperiments: ExperimentKey[]; + + /** + * @generated from field: repeated exa.codeium_common_pb.ExperimentKey force_disable_experiments = 2; + */ + forceDisableExperiments: ExperimentKey[]; + + /** + * @generated from field: repeated exa.codeium_common_pb.ExperimentWithVariant force_enable_experiments_with_variants = 3; + */ + forceEnableExperimentsWithVariants: ExperimentWithVariant[]; + + /** + * @generated from field: repeated string force_enable_experiment_strings = 4; + */ + forceEnableExperimentStrings: string[]; + + /** + * @generated from field: repeated string force_disable_experiment_strings = 5; + */ + forceDisableExperimentStrings: string[]; + + /** + * @generated from field: bool dev_mode = 7; + */ + devMode: boolean; +}; + +/** + * Describes the message exa.codeium_common_pb.ExperimentConfig. + * Use `create(ExperimentConfigSchema)` to create a new message. + */ +export const ExperimentConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 6); + +/** + * @generated from message exa.codeium_common_pb.ExperimentLanguageServerVersionPayload + */ +export type ExperimentLanguageServerVersionPayload = Message<"exa.codeium_common_pb.ExperimentLanguageServerVersionPayload"> & { + /** + * @generated from field: string sha = 1; + */ + sha: string; + + /** + * @generated from field: string crc32c_linux_x64 = 2; + */ + crc32cLinuxX64: string; + + /** + * @generated from field: string crc32c_linux_arm = 3; + */ + crc32cLinuxArm: string; + + /** + * @generated from field: string crc32c_macos_x64 = 4; + */ + crc32cMacosX64: string; + + /** + * @generated from field: string crc32c_macos_arm = 5; + */ + crc32cMacosArm: string; + + /** + * @generated from field: string crc32c_windows_x64 = 6; + */ + crc32cWindowsX64: string; +}; + +/** + * Describes the message exa.codeium_common_pb.ExperimentLanguageServerVersionPayload. + * Use `create(ExperimentLanguageServerVersionPayloadSchema)` to create a new message. + */ +export const ExperimentLanguageServerVersionPayloadSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 7); + +/** + * @generated from message exa.codeium_common_pb.ExperimentModelConfigPayload + */ +export type ExperimentModelConfigPayload = Message<"exa.codeium_common_pb.ExperimentModelConfigPayload"> & { + /** + * @generated from field: string model_name = 1; + */ + modelName: string; + + /** + * @generated from field: string context_check_model_name = 2; + */ + contextCheckModelName: string; +}; + +/** + * Describes the message exa.codeium_common_pb.ExperimentModelConfigPayload. + * Use `create(ExperimentModelConfigPayloadSchema)` to create a new message. + */ +export const ExperimentModelConfigPayloadSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 8); + +/** + * @generated from message exa.codeium_common_pb.ExperimentMiddleModeTokenPayload + */ +export type ExperimentMiddleModeTokenPayload = Message<"exa.codeium_common_pb.ExperimentMiddleModeTokenPayload"> & { + /** + * @generated from field: string mode_token = 1; + */ + modeToken: string; +}; + +/** + * Describes the message exa.codeium_common_pb.ExperimentMiddleModeTokenPayload. + * Use `create(ExperimentMiddleModeTokenPayloadSchema)` to create a new message. + */ +export const ExperimentMiddleModeTokenPayloadSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 9); + +/** + * @generated from message exa.codeium_common_pb.ExperimentMultilineModelThresholdPayload + */ +export type ExperimentMultilineModelThresholdPayload = Message<"exa.codeium_common_pb.ExperimentMultilineModelThresholdPayload"> & { + /** + * @generated from field: float threshold = 1; + */ + threshold: number; +}; + +/** + * Describes the message exa.codeium_common_pb.ExperimentMultilineModelThresholdPayload. + * Use `create(ExperimentMultilineModelThresholdPayloadSchema)` to create a new message. + */ +export const ExperimentMultilineModelThresholdPayloadSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 10); + +/** + * @generated from message exa.codeium_common_pb.ExperimentSentryPayload + */ +export type ExperimentSentryPayload = Message<"exa.codeium_common_pb.ExperimentSentryPayload"> & { + /** + * @generated from field: double sample_rate = 2; + */ + sampleRate: number; + + /** + * @generated from field: map procedure_to_sample_rate = 3; + */ + procedureToSampleRate: { [key: string]: number }; + + /** + * @generated from field: map error_match_to_sample_rate = 5; + */ + errorMatchToSampleRate: { [key: string]: number }; +}; + +/** + * Describes the message exa.codeium_common_pb.ExperimentSentryPayload. + * Use `create(ExperimentSentryPayloadSchema)` to create a new message. + */ +export const ExperimentSentryPayloadSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 11); + +/** + * @generated from message exa.codeium_common_pb.TeamOrganizationalControls + */ +export type TeamOrganizationalControls = Message<"exa.codeium_common_pb.TeamOrganizationalControls"> & { + /** + * @generated from field: string team_id = 1; + */ + teamId: string; + + /** + * @generated from field: repeated string cascade_model_labels = 2 [deprecated = true]; + * @deprecated + */ + cascadeModelLabels: string[]; + + /** + * @generated from field: repeated string command_model_labels = 3 [deprecated = true]; + * @deprecated + */ + commandModelLabels: string[]; + + /** + * @generated from field: google.protobuf.Timestamp created_at = 4; + */ + createdAt?: Timestamp | undefined; + + /** + * @generated from field: google.protobuf.Timestamp updated_at = 5; + */ + updatedAt?: Timestamp | undefined; + + /** + * @generated from field: repeated string extension_model_labels = 6; + */ + extensionModelLabels: string[]; + + /** + * @generated from field: repeated exa.codeium_common_pb.APIProvider allowed_api_providers = 8; + */ + allowedApiProviders: APIProvider[]; + + /** + * @generated from field: repeated string cli_model_labels = 9 [deprecated = true]; + * @deprecated + */ + cliModelLabels: string[]; + + /** + * @generated from field: repeated exa.codeium_common_pb.ModelProvider allowed_model_providers = 10; + */ + allowedModelProviders: ModelProvider[]; + + /** + * @generated from field: repeated string cascade_model_uids = 11; + */ + cascadeModelUids: string[]; + + /** + * @generated from field: repeated string command_model_uids = 12; + */ + commandModelUids: string[]; + + /** + * @generated from field: repeated string cli_model_uids = 13; + */ + cliModelUids: string[]; + + /** + * @generated from field: exa.codeium_common_pb.TeamOrganizationalControls.ModelFilterMode model_filter_mode = 14; + */ + modelFilterMode: TeamOrganizationalControls_ModelFilterMode; + + /** + * @generated from field: exa.codeium_common_pb.TeamOrganizationalControls.AdaptiveSetting adaptive_setting = 15; + */ + adaptiveSetting: TeamOrganizationalControls_AdaptiveSetting; + + /** + * @generated from field: string anthropic_profile_id = 16; + */ + anthropicProfileId: string; + + /** + * @generated from field: string anthropic_cyber_verification_status = 17; + */ + anthropicCyberVerificationStatus: string; + + /** + * @generated from field: exa.codeium_common_pb.TeamOrganizationalControls.CyberVerificationEnabled anthropic_cyber_verification_enabled = 18; + */ + anthropicCyberVerificationEnabled: TeamOrganizationalControls_CyberVerificationEnabled; + + /** + * @generated from field: repeated string blocked_model_tags = 19; + */ + blockedModelTags: string[]; + + /** + * @generated from field: exa.codeium_common_pb.TeamOrganizationalControls.QuickReviewSetting quick_review_setting = 20; + */ + quickReviewSetting: TeamOrganizationalControls_QuickReviewSetting; + + /** + * @generated from field: exa.codeium_common_pb.TeamOrganizationalControls.AnthropicCyberRetentionSetting anthropic_cyber_retention_setting = 21; + */ + anthropicCyberRetentionSetting: TeamOrganizationalControls_AnthropicCyberRetentionSetting; +}; + +/** + * Describes the message exa.codeium_common_pb.TeamOrganizationalControls. + * Use `create(TeamOrganizationalControlsSchema)` to create a new message. + */ +export const TeamOrganizationalControlsSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 12); + +/** + * @generated from enum exa.codeium_common_pb.TeamOrganizationalControls.ModelFilterMode + */ +export enum TeamOrganizationalControls_ModelFilterMode { + /** + * @generated from enum value: MODEL_FILTER_MODE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: MODEL_FILTER_MODE_BY_MODEL = 1; + */ + BY_MODEL = 1, + + /** + * @generated from enum value: MODEL_FILTER_MODE_BY_PROVIDER = 2; + */ + BY_PROVIDER = 2, +} + +/** + * Describes the enum exa.codeium_common_pb.TeamOrganizationalControls.ModelFilterMode. + */ +export const TeamOrganizationalControls_ModelFilterModeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 12, 0); + +/** + * @generated from enum exa.codeium_common_pb.TeamOrganizationalControls.AdaptiveSetting + */ +export enum TeamOrganizationalControls_AdaptiveSetting { + /** + * @generated from enum value: ADAPTIVE_SETTING_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: ADAPTIVE_SETTING_ENABLED = 1; + */ + ENABLED = 1, + + /** + * @generated from enum value: ADAPTIVE_SETTING_DISABLED = 2; + */ + DISABLED = 2, +} + +/** + * Describes the enum exa.codeium_common_pb.TeamOrganizationalControls.AdaptiveSetting. + */ +export const TeamOrganizationalControls_AdaptiveSettingSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 12, 1); + +/** + * @generated from enum exa.codeium_common_pb.TeamOrganizationalControls.CyberVerificationEnabled + */ +export enum TeamOrganizationalControls_CyberVerificationEnabled { + /** + * @generated from enum value: CYBER_VERIFICATION_ENABLED_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: CYBER_VERIFICATION_ENABLED_ON = 1; + */ + ON = 1, + + /** + * @generated from enum value: CYBER_VERIFICATION_ENABLED_OFF = 2; + */ + OFF = 2, +} + +/** + * Describes the enum exa.codeium_common_pb.TeamOrganizationalControls.CyberVerificationEnabled. + */ +export const TeamOrganizationalControls_CyberVerificationEnabledSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 12, 2); + +/** + * @generated from enum exa.codeium_common_pb.TeamOrganizationalControls.QuickReviewSetting + */ +export enum TeamOrganizationalControls_QuickReviewSetting { + /** + * @generated from enum value: QUICK_REVIEW_SETTING_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: QUICK_REVIEW_SETTING_ENABLED = 1; + */ + ENABLED = 1, + + /** + * @generated from enum value: QUICK_REVIEW_SETTING_DISABLED = 2; + */ + DISABLED = 2, +} + +/** + * Describes the enum exa.codeium_common_pb.TeamOrganizationalControls.QuickReviewSetting. + */ +export const TeamOrganizationalControls_QuickReviewSettingSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 12, 3); + +/** + * @generated from enum exa.codeium_common_pb.TeamOrganizationalControls.AnthropicCyberRetentionSetting + */ +export enum TeamOrganizationalControls_AnthropicCyberRetentionSetting { + /** + * @generated from enum value: ANTHROPIC_CYBER_RETENTION_SETTING_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: ANTHROPIC_CYBER_RETENTION_SETTING_ENABLED = 1; + */ + ENABLED = 1, + + /** + * @generated from enum value: ANTHROPIC_CYBER_RETENTION_SETTING_DISABLED = 2; + */ + DISABLED = 2, +} + +/** + * Describes the enum exa.codeium_common_pb.TeamOrganizationalControls.AnthropicCyberRetentionSetting. + */ +export const TeamOrganizationalControls_AnthropicCyberRetentionSettingSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 12, 4); + +/** + * @generated from message exa.codeium_common_pb.ExperimentProfilingTelemetrySampleRatePayload + */ +export type ExperimentProfilingTelemetrySampleRatePayload = Message<"exa.codeium_common_pb.ExperimentProfilingTelemetrySampleRatePayload"> & { + /** + * @generated from field: map memory_usage_to_sample_rate = 1; + */ + memoryUsageToSampleRate: { [key: string]: number }; +}; + +/** + * Describes the message exa.codeium_common_pb.ExperimentProfilingTelemetrySampleRatePayload. + * Use `create(ExperimentProfilingTelemetrySampleRatePayloadSchema)` to create a new message. + */ +export const ExperimentProfilingTelemetrySampleRatePayloadSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 13); + +/** + * @generated from message exa.codeium_common_pb.ModelOrAlias + */ +export type ModelOrAlias = Message<"exa.codeium_common_pb.ModelOrAlias"> & { + /** + * @generated from oneof exa.codeium_common_pb.ModelOrAlias.choice + */ + choice: { + /** + * @generated from field: exa.codeium_common_pb.Model model = 1 [deprecated = true]; + * @deprecated + */ + value: Model; + case: "model"; + } | { + /** + * @generated from field: exa.codeium_common_pb.ModelAlias alias = 2; + */ + value: ModelAlias; + case: "alias"; + } | { + /** + * @generated from field: string model_uid = 3; + */ + value: string; + case: "modelUid"; + } | { case: undefined; value?: undefined }; +}; + +/** + * Describes the message exa.codeium_common_pb.ModelOrAlias. + * Use `create(ModelOrAliasSchema)` to create a new message. + */ +export const ModelOrAliasSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 14); + +/** + * @generated from message exa.codeium_common_pb.PromptElementKindInfo + */ +export type PromptElementKindInfo = Message<"exa.codeium_common_pb.PromptElementKindInfo"> & { + /** + * @generated from field: exa.codeium_common_pb.PromptElementKind kind = 1; + */ + kind: PromptElementKind; + + /** + * @generated from field: exa.codeium_common_pb.ExperimentKey experiment_key = 2; + */ + experimentKey: ExperimentKey; + + /** + * @generated from field: bool enabled = 3; + */ + enabled: boolean; + + /** + * @generated from field: uint64 num_considered = 4; + */ + numConsidered: bigint; + + /** + * @generated from field: uint64 num_included = 5; + */ + numIncluded: bigint; +}; + +/** + * Describes the message exa.codeium_common_pb.PromptElementKindInfo. + * Use `create(PromptElementKindInfoSchema)` to create a new message. + */ +export const PromptElementKindInfoSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 15); + +/** + * @generated from message exa.codeium_common_pb.PromptElementInclusionMetadata + */ +export type PromptElementInclusionMetadata = Message<"exa.codeium_common_pb.PromptElementInclusionMetadata"> & { + /** + * @generated from field: bool included = 1; + */ + included: boolean; + + /** + * @generated from field: exa.codeium_common_pb.PromptElementExclusionReason exclusion_reason = 2; + */ + exclusionReason: PromptElementExclusionReason; +}; + +/** + * Describes the message exa.codeium_common_pb.PromptElementInclusionMetadata. + * Use `create(PromptElementInclusionMetadataSchema)` to create a new message. + */ +export const PromptElementInclusionMetadataSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 16); + +/** + * @generated from message exa.codeium_common_pb.PromptStageLatency + */ +export type PromptStageLatency = Message<"exa.codeium_common_pb.PromptStageLatency"> & { + /** + * @generated from field: string name = 1; + */ + name: string; + + /** + * @generated from field: uint64 latency_ms = 2; + */ + latencyMs: bigint; +}; + +/** + * Describes the message exa.codeium_common_pb.PromptStageLatency. + * Use `create(PromptStageLatencySchema)` to create a new message. + */ +export const PromptStageLatencySchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 17); + +/** + * @generated from message exa.codeium_common_pb.CompletionResponse + */ +export type CompletionResponse = Message<"exa.codeium_common_pb.CompletionResponse"> & { + /** + * @generated from field: repeated exa.codeium_common_pb.Completion completions = 1; + */ + completions: Completion[]; + + /** + * @generated from field: uint64 max_tokens = 2; + */ + maxTokens: bigint; + + /** + * @generated from field: double temperature = 3; + */ + temperature: number; + + /** + * @generated from field: uint64 top_k = 4; + */ + topK: bigint; + + /** + * @generated from field: double top_p = 5; + */ + topP: number; + + /** + * @generated from field: repeated string stop_patterns = 6; + */ + stopPatterns: string[]; + + /** + * @generated from field: uint64 prompt_length = 7; + */ + promptLength: bigint; + + /** + * @generated from field: string prompt_id = 8; + */ + promptId: string; + + /** + * @generated from field: string model_tag = 10; + */ + modelTag: string; + + /** + * @generated from field: optional exa.codeium_common_pb.CompletionProfile completion_profile = 11; + */ + completionProfile?: CompletionProfile | undefined; +}; + +/** + * Describes the message exa.codeium_common_pb.CompletionResponse. + * Use `create(CompletionResponseSchema)` to create a new message. + */ +export const CompletionResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 18); + +/** + * @generated from message exa.codeium_common_pb.Completion + */ +export type Completion = Message<"exa.codeium_common_pb.Completion"> & { + /** + * @generated from field: string completion_id = 1; + */ + completionId: string; + + /** + * @generated from field: string request_uid = 17; + */ + requestUid: string; + + /** + * @generated from field: string text = 2; + */ + text: string; + + /** + * @generated from field: string stop = 4; + */ + stop: string; + + /** + * @generated from field: double score = 5; + */ + score: number; + + /** + * @generated from field: repeated uint64 tokens = 6; + */ + tokens: bigint[]; + + /** + * @generated from field: repeated string decoded_tokens = 7; + */ + decodedTokens: string[]; + + /** + * @generated from field: repeated double probabilities = 8; + */ + probabilities: number[]; + + /** + * @generated from field: repeated double adjusted_probabilities = 9; + */ + adjustedProbabilities: number[]; + + /** + * @generated from field: repeated double logprobs = 16; + */ + logprobs: number[]; + + /** + * @generated from field: uint64 generated_length = 10; + */ + generatedLength: bigint; + + /** + * @generated from field: exa.codeium_common_pb.StopReason stop_reason = 12; + */ + stopReason: StopReason; + + /** + * @generated from field: repeated exa.codeium_common_pb.FilterReason filter_reasons = 13; + */ + filterReasons: FilterReason[]; + + /** + * @generated from field: string original_text = 14; + */ + originalText: string; + + /** + * @generated from field: repeated exa.codeium_common_pb.ChatToolCall tool_calls = 15; + */ + toolCalls: ChatToolCall[]; +}; + +/** + * Describes the message exa.codeium_common_pb.Completion. + * Use `create(CompletionSchema)` to create a new message. + */ +export const CompletionSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 19); + +/** + * @generated from message exa.codeium_common_pb.StreamingCompletionInfo + */ +export type StreamingCompletionInfo = Message<"exa.codeium_common_pb.StreamingCompletionInfo"> & { + /** + * @generated from field: repeated string completion_ids = 1; + */ + completionIds: string[]; + + /** + * @generated from field: uint64 max_tokens = 2; + */ + maxTokens: bigint; + + /** + * @generated from field: double temperature = 3; + */ + temperature: number; + + /** + * @generated from field: uint64 top_k = 4; + */ + topK: bigint; + + /** + * @generated from field: double top_p = 5; + */ + topP: number; + + /** + * @generated from field: repeated string stop_patterns = 6; + */ + stopPatterns: string[]; + + /** + * @generated from field: uint64 prompt_length = 7; + */ + promptLength: bigint; + + /** + * @generated from field: string prompt_id = 9; + */ + promptId: string; + + /** + * @generated from field: string model_tag = 8; + */ + modelTag: string; + + /** + * @generated from field: exa.codeium_common_pb.CompletionsRequest completions_request = 10; + */ + completionsRequest?: CompletionsRequest | undefined; + + /** + * @generated from field: exa.codeium_common_pb.StreamingEvalSuffixInfo eval_suffix_info = 11; + */ + evalSuffixInfo?: StreamingEvalSuffixInfo | undefined; +}; + +/** + * Describes the message exa.codeium_common_pb.StreamingCompletionInfo. + * Use `create(StreamingCompletionInfoSchema)` to create a new message. + */ +export const StreamingCompletionInfoSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 20); + +/** + * @generated from message exa.codeium_common_pb.SingleModelCompletionProfile + */ +export type SingleModelCompletionProfile = Message<"exa.codeium_common_pb.SingleModelCompletionProfile"> & { + /** + * @generated from field: double total_prefill_pass_time = 1; + */ + totalPrefillPassTime: number; + + /** + * @generated from field: double avg_prefill_pass_time = 2; + */ + avgPrefillPassTime: number; + + /** + * @generated from field: uint64 num_prefill_passes = 3; + */ + numPrefillPasses: bigint; + + /** + * @generated from field: double total_spec_copy_pass_time = 7; + */ + totalSpecCopyPassTime: number; + + /** + * @generated from field: double avg_spec_copy_pass_time = 8; + */ + avgSpecCopyPassTime: number; + + /** + * @generated from field: uint64 num_spec_copy_passes = 9; + */ + numSpecCopyPasses: bigint; + + /** + * @generated from field: double total_generation_pass_time = 4; + */ + totalGenerationPassTime: number; + + /** + * @generated from field: double avg_generation_pass_time = 5; + */ + avgGenerationPassTime: number; + + /** + * @generated from field: uint64 num_generation_passes = 6; + */ + numGenerationPasses: bigint; + + /** + * @generated from field: double total_model_time = 10; + */ + totalModelTime: number; +}; + +/** + * Describes the message exa.codeium_common_pb.SingleModelCompletionProfile. + * Use `create(SingleModelCompletionProfileSchema)` to create a new message. + */ +export const SingleModelCompletionProfileSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 21); + +/** + * @generated from message exa.codeium_common_pb.CompletionProfile + */ +export type CompletionProfile = Message<"exa.codeium_common_pb.CompletionProfile"> & { + /** + * @generated from field: exa.codeium_common_pb.SingleModelCompletionProfile model_profile = 1; + */ + modelProfile?: SingleModelCompletionProfile | undefined; + + /** + * @generated from field: optional exa.codeium_common_pb.SingleModelCompletionProfile draft_model_profile = 2; + */ + draftModelProfile?: SingleModelCompletionProfile | undefined; + + /** + * @generated from field: double time_to_first_prefill_pass = 3; + */ + timeToFirstPrefillPass: number; + + /** + * @generated from field: double time_to_first_token = 4; + */ + timeToFirstToken: number; + + /** + * @generated from field: double total_completion_time = 5; + */ + totalCompletionTime: number; + + /** + * @generated from field: optional exa.codeium_common_pb.ModelUsageStats model_usage = 6; + */ + modelUsage?: ModelUsageStats | undefined; +}; + +/** + * Describes the message exa.codeium_common_pb.CompletionProfile. + * Use `create(CompletionProfileSchema)` to create a new message. + */ +export const CompletionProfileSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 22); + +/** + * @generated from message exa.codeium_common_pb.StreamingCompletion + */ +export type StreamingCompletion = Message<"exa.codeium_common_pb.StreamingCompletion"> & { + /** + * @generated from field: bytes decoded_token = 1; + */ + decodedToken: Uint8Array; + + /** + * @generated from field: uint64 token = 2; + */ + token: bigint; + + /** + * @generated from field: double probability = 3; + */ + probability: number; + + /** + * @generated from field: double adjusted_probability = 4; + */ + adjustedProbability: number; + + /** + * @generated from field: double logprob = 9; + */ + logprob: number; + + /** + * @generated from field: bool completion_finished = 5; + */ + completionFinished: boolean; + + /** + * @generated from field: string stop = 6; + */ + stop: string; + + /** + * @generated from field: exa.codeium_common_pb.StopReason stop_reason = 7; + */ + stopReason: StopReason; + + /** + * @generated from field: map attribution_statuses = 8; + */ + attributionStatuses: { [key: number]: AttributionStatus }; +}; + +/** + * Describes the message exa.codeium_common_pb.StreamingCompletion. + * Use `create(StreamingCompletionSchema)` to create a new message. + */ +export const StreamingCompletionSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 23); + +/** + * @generated from message exa.codeium_common_pb.StreamingCompletionMap + */ +export type StreamingCompletionMap = Message<"exa.codeium_common_pb.StreamingCompletionMap"> & { + /** + * @generated from field: map completions = 1; + */ + completions: { [key: number]: StreamingCompletion }; +}; + +/** + * Describes the message exa.codeium_common_pb.StreamingCompletionMap. + * Use `create(StreamingCompletionMapSchema)` to create a new message. + */ +export const StreamingCompletionMapSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 24); + +/** + * @generated from message exa.codeium_common_pb.PackedStreamingCompletionMaps + */ +export type PackedStreamingCompletionMaps = Message<"exa.codeium_common_pb.PackedStreamingCompletionMaps"> & { + /** + * @generated from field: repeated exa.codeium_common_pb.StreamingCompletionMap completion_maps = 1; + */ + completionMaps: StreamingCompletionMap[]; +}; + +/** + * Describes the message exa.codeium_common_pb.PackedStreamingCompletionMaps. + * Use `create(PackedStreamingCompletionMapsSchema)` to create a new message. + */ +export const PackedStreamingCompletionMapsSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 25); + +/** + * @generated from message exa.codeium_common_pb.StreamingEvalSuffixInfo + */ +export type StreamingEvalSuffixInfo = Message<"exa.codeium_common_pb.StreamingEvalSuffixInfo"> & { + /** + * @generated from field: repeated float per_token_log_likelihoods = 1; + */ + perTokenLogLikelihoods: number[]; + + /** + * @generated from field: bool is_greedy = 2; + */ + isGreedy: boolean; +}; + +/** + * Describes the message exa.codeium_common_pb.StreamingEvalSuffixInfo. + * Use `create(StreamingEvalSuffixInfoSchema)` to create a new message. + */ +export const StreamingEvalSuffixInfoSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 26); + +/** + * @generated from message exa.codeium_common_pb.StreamingCompletionResponse + */ +export type StreamingCompletionResponse = Message<"exa.codeium_common_pb.StreamingCompletionResponse"> & { + /** + * @generated from oneof exa.codeium_common_pb.StreamingCompletionResponse.payload + */ + payload: { + /** + * @generated from field: exa.codeium_common_pb.StreamingCompletionInfo completion_info = 1; + */ + value: StreamingCompletionInfo; + case: "completionInfo"; + } | { + /** + * @generated from field: exa.codeium_common_pb.StreamingCompletionMap completion_map = 2; + */ + value: StreamingCompletionMap; + case: "completionMap"; + } | { + /** + * @generated from field: exa.codeium_common_pb.PackedStreamingCompletionMaps packed_completion_maps = 4; + */ + value: PackedStreamingCompletionMaps; + case: "packedCompletionMaps"; + } | { case: undefined; value?: undefined }; + + /** + * @generated from field: optional exa.codeium_common_pb.CompletionProfile completion_profile = 5; + */ + completionProfile?: CompletionProfile | undefined; +}; + +/** + * Describes the message exa.codeium_common_pb.StreamingCompletionResponse. + * Use `create(StreamingCompletionResponseSchema)` to create a new message. + */ +export const StreamingCompletionResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 27); + +/** + * @generated from message exa.codeium_common_pb.CompletionLatencyInfo + */ +export type CompletionLatencyInfo = Message<"exa.codeium_common_pb.CompletionLatencyInfo"> & { + /** + * @generated from field: uint64 api_server_latency_ms = 1; + */ + apiServerLatencyMs: bigint; + + /** + * @generated from field: uint64 language_server_latency_ms = 2; + */ + languageServerLatencyMs: bigint; + + /** + * @generated from field: uint64 network_latency_ms = 3; + */ + networkLatencyMs: bigint; + + /** + * @generated from field: uint64 api_server_first_byte_latency_ms = 4; + */ + apiServerFirstByteLatencyMs: bigint; + + /** + * @generated from field: uint64 language_server_first_byte_latency_ms = 5; + */ + languageServerFirstByteLatencyMs: bigint; + + /** + * @generated from field: uint64 network_first_byte_latency_ms = 6; + */ + networkFirstByteLatencyMs: bigint; + + /** + * @generated from field: uint64 api_server_first_line_latency_ms = 7; + */ + apiServerFirstLineLatencyMs: bigint; + + /** + * @generated from field: uint64 language_server_first_line_latency_ms = 8; + */ + languageServerFirstLineLatencyMs: bigint; + + /** + * @generated from field: uint64 network_first_line_latency_ms = 9; + */ + networkFirstLineLatencyMs: bigint; +}; + +/** + * Describes the message exa.codeium_common_pb.CompletionLatencyInfo. + * Use `create(CompletionLatencyInfoSchema)` to create a new message. + */ +export const CompletionLatencyInfoSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 28); + +/** + * @generated from message exa.codeium_common_pb.CompletionWithLatencyInfo + */ +export type CompletionWithLatencyInfo = Message<"exa.codeium_common_pb.CompletionWithLatencyInfo"> & { + /** + * @generated from field: exa.codeium_common_pb.Completion completion = 1; + */ + completion?: Completion | undefined; + + /** + * @generated from field: exa.codeium_common_pb.CompletionLatencyInfo latency_info = 2; + */ + latencyInfo?: CompletionLatencyInfo | undefined; +}; + +/** + * Describes the message exa.codeium_common_pb.CompletionWithLatencyInfo. + * Use `create(CompletionWithLatencyInfoSchema)` to create a new message. + */ +export const CompletionWithLatencyInfoSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 29); + +/** + * @generated from message exa.codeium_common_pb.EmbeddingsRequest + */ +export type EmbeddingsRequest = Message<"exa.codeium_common_pb.EmbeddingsRequest"> & { + /** + * @generated from field: repeated string prompts = 1; + */ + prompts: string[]; + + /** + * @generated from field: exa.codeium_common_pb.EmbeddingPriority priority = 2; + */ + priority: EmbeddingPriority; + + /** + * @generated from field: exa.codeium_common_pb.EmbeddingPrefix prefix = 3; + */ + prefix: EmbeddingPrefix; + + /** + * @generated from field: exa.codeium_common_pb.Model model = 4; + */ + model: Model; +}; + +/** + * Describes the message exa.codeium_common_pb.EmbeddingsRequest. + * Use `create(EmbeddingsRequestSchema)` to create a new message. + */ +export const EmbeddingsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 30); + +/** + * @generated from message exa.codeium_common_pb.Embedding + */ +export type Embedding = Message<"exa.codeium_common_pb.Embedding"> & { + /** + * @generated from field: repeated float values = 1; + */ + values: number[]; +}; + +/** + * Describes the message exa.codeium_common_pb.Embedding. + * Use `create(EmbeddingSchema)` to create a new message. + */ +export const EmbeddingSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 31); + +/** + * @generated from message exa.codeium_common_pb.EmbeddingResponse + */ +export type EmbeddingResponse = Message<"exa.codeium_common_pb.EmbeddingResponse"> & { + /** + * @generated from field: repeated exa.codeium_common_pb.Embedding embeddings = 1; + */ + embeddings: Embedding[]; + + /** + * @generated from field: bool prompts_exceeded_context_length = 2; + */ + promptsExceededContextLength: boolean; +}; + +/** + * Describes the message exa.codeium_common_pb.EmbeddingResponse. + * Use `create(EmbeddingResponseSchema)` to create a new message. + */ +export const EmbeddingResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 32); + +/** + * @generated from message exa.codeium_common_pb.RewardsRequest + */ +export type RewardsRequest = Message<"exa.codeium_common_pb.RewardsRequest"> & { + /** + * @generated from field: string prefix = 2; + */ + prefix: string; + + /** + * @generated from field: repeated string items = 3; + */ + items: string[]; + + /** + * @generated from field: bool has_instruct_tokens = 4; + */ + hasInstructTokens: boolean; +}; + +/** + * Describes the message exa.codeium_common_pb.RewardsRequest. + * Use `create(RewardsRequestSchema)` to create a new message. + */ +export const RewardsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 33); + +/** + * @generated from message exa.codeium_common_pb.RewardsResponse + */ +export type RewardsResponse = Message<"exa.codeium_common_pb.RewardsResponse"> & { + /** + * @generated from field: repeated float values = 1; + */ + values: number[]; + + /** + * @generated from field: bool prompts_exceeded_context_length = 2; + */ + promptsExceededContextLength: boolean; +}; + +/** + * Describes the message exa.codeium_common_pb.RewardsResponse. + * Use `create(RewardsResponseSchema)` to create a new message. + */ +export const RewardsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 34); + +/** + * @generated from message exa.codeium_common_pb.Metadata + */ +export type Metadata = Message<"exa.codeium_common_pb.Metadata"> & { + /** + * @generated from field: string ide_name = 1; + */ + ideName: string; + + /** + * @generated from field: string ide_version = 7; + */ + ideVersion: string; + + /** + * @generated from field: string ide_type = 28; + */ + ideType: string; + + /** + * @generated from field: string extension_name = 12; + */ + extensionName: string; + + /** + * @generated from field: string extension_version = 2; + */ + extensionVersion: string; + + /** + * @generated from field: string api_key = 3; + */ + apiKey: string; + + /** + * @generated from field: string locale = 4; + */ + locale: string; + + /** + * @generated from field: string os = 5; + */ + os: string; + + /** + * @generated from field: string hardware = 8; + */ + hardware: string; + + /** + * @generated from field: bool disable_telemetry = 6; + */ + disableTelemetry: boolean; + + /** + * @generated from field: string session_id = 10; + */ + sessionId: string; + + /** + * @generated from field: google.protobuf.Timestamp ls_timestamp = 16; + */ + lsTimestamp?: Timestamp | undefined; + + /** + * @generated from field: uint64 request_id = 9; + */ + requestId: bigint; + + /** + * @generated from field: string source_address = 11; + */ + sourceAddress: string; + + /** + * @generated from field: string user_agent = 13; + */ + userAgent: string; + + /** + * @generated from field: string url = 14; + */ + url: string; + + /** + * @generated from field: exa.codeium_common_pb.AuthSource auth_source = 15; + */ + authSource: AuthSource; + + /** + * @generated from field: string extension_path = 17; + */ + extensionPath: string; + + /** + * @generated from field: string user_id = 20; + */ + userId: string; + + /** + * @generated from field: string user_jwt = 21; + */ + userJwt: string; + + /** + * @generated from field: string force_team_id = 22; + */ + forceTeamId: string; + + /** + * @generated from field: string device_fingerprint = 24; + */ + deviceFingerprint: string; + + /** + * @generated from field: string trigger_id = 25; + */ + triggerId: string; + + /** + * @generated from field: string plan_name = 26; + */ + planName: string; + + /** + * @generated from field: string id = 27; + */ + id: string; + + /** + * @generated from field: string impersonate_tier = 29; + */ + impersonateTier: string; + + /** + * @generated from field: repeated exa.codeium_common_pb.DisplayOption supported_model_displays = 30; + */ + supportedModelDisplays: DisplayOption[]; + + /** + * @generated from field: string f = 31; + */ + f: string; + + /** + * @generated from field: string team_id = 32; + */ + teamId: string; +}; + +/** + * Describes the message exa.codeium_common_pb.Metadata. + * Use `create(MetadataSchema)` to create a new message. + */ +export const MetadataSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 35); + +/** + * @generated from message exa.codeium_common_pb.EditorOptions + */ +export type EditorOptions = Message<"exa.codeium_common_pb.EditorOptions"> & { + /** + * @generated from field: uint64 tab_size = 1; + */ + tabSize: bigint; + + /** + * @generated from field: bool insert_spaces = 2; + */ + insertSpaces: boolean; + + /** + * @generated from field: bool disable_autocomplete_in_comments = 3; + */ + disableAutocompleteInComments: boolean; +}; + +/** + * Describes the message exa.codeium_common_pb.EditorOptions. + * Use `create(EditorOptionsSchema)` to create a new message. + */ +export const EditorOptionsSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 36); + +/** + * @generated from message exa.codeium_common_pb.ErrorTrace + */ +export type ErrorTrace = Message<"exa.codeium_common_pb.ErrorTrace"> & { + /** + * @generated from field: string error_id = 1; + */ + errorId: string; + + /** + * @generated from field: int64 timestamp_unix_ms = 2; + */ + timestampUnixMs: bigint; + + /** + * @generated from field: string stacktrace = 3; + */ + stacktrace: string; + + /** + * @generated from field: bool recovered = 4; + */ + recovered: boolean; +}; + +/** + * Describes the message exa.codeium_common_pb.ErrorTrace. + * Use `create(ErrorTraceSchema)` to create a new message. + */ +export const ErrorTraceSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 37); + +/** + * @generated from message exa.codeium_common_pb.Event + */ +export type Event = Message<"exa.codeium_common_pb.Event"> & { + /** + * @generated from field: exa.codeium_common_pb.EventType event_type = 1; + */ + eventType: EventType; + + /** + * @generated from field: string event_json = 2; + */ + eventJson: string; + + /** + * @generated from field: int64 timestamp_unix_ms = 3; + */ + timestampUnixMs: bigint; +}; + +/** + * Describes the message exa.codeium_common_pb.Event. + * Use `create(EventSchema)` to create a new message. + */ +export const EventSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 38); + +/** + * @generated from message exa.codeium_common_pb.SearchResultRecord + */ +export type SearchResultRecord = Message<"exa.codeium_common_pb.SearchResultRecord"> & { + /** + * @generated from field: string search_id = 1; + */ + searchId: string; + + /** + * @generated from field: string result_id = 2; + */ + resultId: string; + + /** + * @generated from field: string absolute_path = 3; + */ + absolutePath: string; + + /** + * @generated from field: repeated exa.codeium_common_pb.WorkspacePath workspace_paths = 4; + */ + workspacePaths: WorkspacePath[]; + + /** + * @generated from field: string text = 5; + */ + text: string; + + /** + * @generated from field: exa.codeium_common_pb.EmbeddingMetadata embedding_metadata = 6; + */ + embeddingMetadata?: EmbeddingMetadata | undefined; + + /** + * @generated from field: float similarity_score = 7; + */ + similarityScore: number; + + /** + * @generated from field: int64 num_results_in_cluster = 8; + */ + numResultsInCluster: bigint; + + /** + * @generated from field: string representative_path = 9; + */ + representativePath: string; + + /** + * @generated from field: float mean_similarity_score = 10; + */ + meanSimilarityScore: number; + + /** + * @generated from field: exa.codeium_common_pb.SearchResultType search_result_type = 11; + */ + searchResultType: SearchResultType; +}; + +/** + * Describes the message exa.codeium_common_pb.SearchResultRecord. + * Use `create(SearchResultRecordSchema)` to create a new message. + */ +export const SearchResultRecordSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 39); + +/** + * @generated from message exa.codeium_common_pb.WorkspacePath + */ +export type WorkspacePath = Message<"exa.codeium_common_pb.WorkspacePath"> & { + /** + * @generated from field: string workspace_migrate_me_to_uri = 1 [deprecated = true]; + * @deprecated + */ + workspaceMigrateMeToUri: string; + + /** + * @generated from field: string workspace_uri = 3; + */ + workspaceUri: string; + + /** + * @generated from field: string relative_path = 2; + */ + relativePath: string; +}; + +/** + * Describes the message exa.codeium_common_pb.WorkspacePath. + * Use `create(WorkspacePathSchema)` to create a new message. + */ +export const WorkspacePathSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 40); + +/** + * @generated from message exa.codeium_common_pb.EmbeddingMetadata + */ +export type EmbeddingMetadata = Message<"exa.codeium_common_pb.EmbeddingMetadata"> & { + /** + * @generated from field: string node_name = 1; + */ + nodeName: string; + + /** + * @generated from field: uint32 start_line = 2; + */ + startLine: number; + + /** + * @generated from field: uint32 end_line = 3; + */ + endLine: number; + + /** + * @generated from field: exa.codeium_common_pb.EmbedType embed_type = 4; + */ + embedType: EmbedType; +}; + +/** + * Describes the message exa.codeium_common_pb.EmbeddingMetadata. + * Use `create(EmbeddingMetadataSchema)` to create a new message. + */ +export const EmbeddingMetadataSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 41); + +/** + * @generated from message exa.codeium_common_pb.MockResponseData + */ +export type MockResponseData = Message<"exa.codeium_common_pb.MockResponseData"> & { + /** + * @generated from field: repeated exa.codeium_common_pb.Completion completions = 1; + */ + completions: Completion[]; +}; + +/** + * Describes the message exa.codeium_common_pb.MockResponseData. + * Use `create(MockResponseDataSchema)` to create a new message. + */ +export const MockResponseDataSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 42); + +/** + * @generated from message exa.codeium_common_pb.WorkspaceIndexData + */ +export type WorkspaceIndexData = Message<"exa.codeium_common_pb.WorkspaceIndexData"> & { + /** + * @generated from field: string workspace_uri_for_telemetry = 1; + */ + workspaceUriForTelemetry: string; + + /** + * @generated from field: google.protobuf.Timestamp indexing_start = 2; + */ + indexingStart?: Timestamp | undefined; + + /** + * @generated from field: google.protobuf.Timestamp indexing_end = 3; + */ + indexingEnd?: Timestamp | undefined; + + /** + * @generated from field: google.protobuf.Duration embedding_duration = 4; + */ + embeddingDuration?: Duration | undefined; + + /** + * @generated from field: int64 num_files_total = 5; + */ + numFilesTotal: bigint; + + /** + * @generated from field: int64 num_files_to_embed = 6; + */ + numFilesToEmbed: bigint; + + /** + * @generated from field: int64 num_nodes_total = 7; + */ + numNodesTotal: bigint; + + /** + * @generated from field: int64 num_nodes_to_embed = 8; + */ + numNodesToEmbed: bigint; + + /** + * @generated from field: int64 num_tokens = 9; + */ + numTokens: bigint; + + /** + * @generated from field: int64 num_high_priority_nodes_to_embed = 10; + */ + numHighPriorityNodesToEmbed: bigint; + + /** + * @generated from field: string error = 11; + */ + error: string; +}; + +/** + * Describes the message exa.codeium_common_pb.WorkspaceIndexData. + * Use `create(WorkspaceIndexDataSchema)` to create a new message. + */ +export const WorkspaceIndexDataSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 43); + +/** + * @generated from message exa.codeium_common_pb.WorkspaceStats + */ +export type WorkspaceStats = Message<"exa.codeium_common_pb.WorkspaceStats"> & { + /** + * @generated from field: string workspace = 3; + */ + workspace: string; + + /** + * @generated from field: map num_files = 1; + */ + numFiles: { [key: number]: bigint }; + + /** + * @generated from field: map num_bytes = 2; + */ + numBytes: { [key: number]: bigint }; + + /** + * @generated from field: bool initial_scan_completed = 4; + */ + initialScanCompleted: boolean; +}; + +/** + * Describes the message exa.codeium_common_pb.WorkspaceStats. + * Use `create(WorkspaceStatsSchema)` to create a new message. + */ +export const WorkspaceStatsSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 44); + +/** + * @generated from message exa.codeium_common_pb.PartialIndexMetadata + */ +export type PartialIndexMetadata = Message<"exa.codeium_common_pb.PartialIndexMetadata"> & { + /** + * @generated from field: uint32 num_total_files = 1; + */ + numTotalFiles: number; + + /** + * @generated from field: uint32 num_indexed_files = 2; + */ + numIndexedFiles: number; + + /** + * @generated from field: google.protobuf.Timestamp cutoff_timestamp = 3; + */ + cutoffTimestamp?: Timestamp | undefined; +}; + +/** + * Describes the message exa.codeium_common_pb.PartialIndexMetadata. + * Use `create(PartialIndexMetadataSchema)` to create a new message. + */ +export const PartialIndexMetadataSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 45); + +/** + * @generated from message exa.codeium_common_pb.FunctionInfo + */ +export type FunctionInfo = Message<"exa.codeium_common_pb.FunctionInfo"> & { + /** + * @generated from field: string raw_source = 1; + */ + rawSource: string; + + /** + * @generated from field: string clean_function = 2; + */ + cleanFunction: string; + + /** + * @generated from field: string docstring = 3; + */ + docstring: string; + + /** + * @generated from field: string node_name = 4; + */ + nodeName: string; + + /** + * @generated from field: string params = 5; + */ + params: string; + + /** + * @generated from field: int32 definition_line = 6; + */ + definitionLine: number; + + /** + * @generated from field: int32 start_line = 7; + */ + startLine: number; + + /** + * @generated from field: int32 end_line = 8; + */ + endLine: number; + + /** + * @generated from field: int32 start_col = 9; + */ + startCol: number; + + /** + * @generated from field: int32 end_col = 10; + */ + endCol: number; + + /** + * @generated from field: string leading_whitespace = 11; + */ + leadingWhitespace: string; + + /** + * @generated from field: exa.codeium_common_pb.Language language = 12; + */ + language: Language; + + /** + * @generated from field: int32 body_start_line = 13; + */ + bodyStartLine: number; + + /** + * @generated from field: int32 body_start_col = 14; + */ + bodyStartCol: number; +}; + +/** + * Describes the message exa.codeium_common_pb.FunctionInfo. + * Use `create(FunctionInfoSchema)` to create a new message. + */ +export const FunctionInfoSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 46); + +/** + * @generated from message exa.codeium_common_pb.ClassInfo + */ +export type ClassInfo = Message<"exa.codeium_common_pb.ClassInfo"> & { + /** + * @generated from field: string raw_source = 1; + */ + rawSource: string; + + /** + * @generated from field: int32 start_line = 2; + */ + startLine: number; + + /** + * @generated from field: int32 end_line = 3; + */ + endLine: number; + + /** + * @generated from field: int32 start_col = 4; + */ + startCol: number; + + /** + * @generated from field: int32 end_col = 5; + */ + endCol: number; + + /** + * @generated from field: string leading_whitespace = 6; + */ + leadingWhitespace: string; + + /** + * @generated from field: repeated string fields_and_constructors = 7; + */ + fieldsAndConstructors: string[]; + + /** + * @generated from field: string docstring = 8; + */ + docstring: string; + + /** + * @generated from field: string node_name = 9; + */ + nodeName: string; + + /** + * @generated from field: repeated exa.codeium_common_pb.FunctionInfo methods = 10; + */ + methods: FunctionInfo[]; + + /** + * @generated from field: repeated string node_lineage = 11; + */ + nodeLineage: string[]; + + /** + * @generated from field: bool is_exported = 12; + */ + isExported: boolean; + + /** + * @generated from field: exa.codeium_common_pb.Language language = 13; + */ + language: Language; + + /** + * @generated from field: int32 definition_line = 14; + */ + definitionLine: number; +}; + +/** + * Describes the message exa.codeium_common_pb.ClassInfo. + * Use `create(ClassInfoSchema)` to create a new message. + */ +export const ClassInfoSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 47); + +/** + * @generated from message exa.codeium_common_pb.TeamsFeaturesMetadata + */ +export type TeamsFeaturesMetadata = Message<"exa.codeium_common_pb.TeamsFeaturesMetadata"> & { + /** + * @generated from field: bool is_active = 1; + */ + isActive: boolean; + + /** + * @generated from field: string stripe_subscription_id = 2; + */ + stripeSubscriptionId: string; + + /** + * @generated from field: bool has_access = 3; + */ + hasAccess: boolean; +}; + +/** + * Describes the message exa.codeium_common_pb.TeamsFeaturesMetadata. + * Use `create(TeamsFeaturesMetadataSchema)` to create a new message. + */ +export const TeamsFeaturesMetadataSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 48); + +/** + * @generated from message exa.codeium_common_pb.PromoStatus + */ +export type PromoStatus = Message<"exa.codeium_common_pb.PromoStatus"> & { + /** + * @generated from field: bool is_active = 1; + */ + isActive: boolean; + + /** + * @generated from field: google.protobuf.Timestamp end_date = 2; + */ + endDate?: Timestamp | undefined; + + /** + * @generated from field: string label = 3; + */ + label: string; +}; + +/** + * Describes the message exa.codeium_common_pb.PromoStatus. + * Use `create(PromoStatusSchema)` to create a new message. + */ +export const PromoStatusSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 49); + +/** + * @generated from message exa.codeium_common_pb.FastStatus + */ +export type FastStatus = Message<"exa.codeium_common_pb.FastStatus"> & { + /** + * @generated from field: bool is_active = 1; + */ + isActive: boolean; + + /** + * @generated from field: string tooltip = 2; + */ + tooltip: string; +}; + +/** + * Describes the message exa.codeium_common_pb.FastStatus. + * Use `create(FastStatusSchema)` to create a new message. + */ +export const FastStatusSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 50); + +/** + * @generated from message exa.codeium_common_pb.ArenaConfig + */ +export type ArenaConfig = Message<"exa.codeium_common_pb.ArenaConfig"> & { + /** + * @generated from field: float tokens_per_second = 2; + */ + tokensPerSecond: number; +}; + +/** + * Describes the message exa.codeium_common_pb.ArenaConfig. + * Use `create(ArenaConfigSchema)` to create a new message. + */ +export const ArenaConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 51); + +/** + * @generated from message exa.codeium_common_pb.ModelDimension + */ +export type ModelDimension = Message<"exa.codeium_common_pb.ModelDimension"> & { + /** + * @generated from field: string label = 1; + */ + label: string; + + /** + * @generated from field: float value = 2; + */ + value: number; + + /** + * @generated from field: string denominator = 3; + */ + denominator: string; + + /** + * @generated from field: float min_range = 4; + */ + minRange: number; + + /** + * @generated from field: float max_range = 5; + */ + maxRange: number; + + /** + * @generated from field: exa.codeium_common_pb.ModelDimensionKind kind = 6; + */ + kind: ModelDimensionKind; + + /** + * @generated from field: optional string info = 7; + */ + info?: string | undefined; +}; + +/** + * Describes the message exa.codeium_common_pb.ModelDimension. + * Use `create(ModelDimensionSchema)` to create a new message. + */ +export const ModelDimensionSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 52); + +/** + * @generated from message exa.codeium_common_pb.ModelDisabledReason + */ +export type ModelDisabledReason = Message<"exa.codeium_common_pb.ModelDisabledReason"> & { + /** + * @generated from field: string short_reason = 1; + */ + shortReason: string; + + /** + * @generated from field: optional string description = 2; + */ + description?: string | undefined; + + /** + * @generated from field: optional string link = 3; + */ + link?: string | undefined; +}; + +/** + * Describes the message exa.codeium_common_pb.ModelDisabledReason. + * Use `create(ModelDisabledReasonSchema)` to create a new message. + */ +export const ModelDisabledReasonSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 53); + +/** + * @generated from message exa.codeium_common_pb.ClientModelConfig + */ +export type ClientModelConfig = Message<"exa.codeium_common_pb.ClientModelConfig"> & { + /** + * @generated from field: string label = 1; + */ + label: string; + + /** + * @generated from field: exa.codeium_common_pb.ModelOrAlias model_or_alias = 2; + */ + modelOrAlias?: ModelOrAlias | undefined; + + /** + * @generated from field: string model_uid = 22; + */ + modelUid: string; + + /** + * @generated from field: float credit_multiplier = 3; + */ + creditMultiplier: number; + + /** + * @generated from field: exa.codeium_common_pb.ModelPricingType pricing_type = 13; + */ + pricingType: ModelPricingType; + + /** + * @generated from field: bool disabled = 4; + */ + disabled: boolean; + + /** + * @generated from field: bool supports_images = 5; + */ + supportsImages: boolean; + + /** + * @generated from field: bool supports_legacy = 6; + */ + supportsLegacy: boolean; + + /** + * @generated from field: bool is_premium = 7; + */ + isPremium: boolean; + + /** + * @generated from field: string beta_warning_message = 8; + */ + betaWarningMessage: string; + + /** + * @generated from field: bool is_beta = 9; + */ + isBeta: boolean; + + /** + * @generated from field: exa.codeium_common_pb.ModelProvider provider = 10; + */ + provider: ModelProvider; + + /** + * @generated from field: bool is_recommended = 11; + */ + isRecommended: boolean; + + /** + * @generated from field: repeated exa.codeium_common_pb.TeamsTier allowed_tiers = 12; + */ + allowedTiers: TeamsTier[]; + + /** + * @generated from field: exa.codeium_common_pb.APIProvider api_provider = 14; + */ + apiProvider: APIProvider; + + /** + * @generated from field: bool is_new = 15; + */ + isNew: boolean; + + /** + * @generated from field: bool partial_rollout = 16; + */ + partialRollout: boolean; + + /** + * @generated from field: float rollout_fraction = 17; + */ + rolloutFraction: number; + + /** + * @generated from field: int32 max_tokens = 18; + */ + maxTokens: number; + + /** + * @generated from field: exa.codeium_common_pb.PromoStatus promo_status = 19; + */ + promoStatus?: PromoStatus | undefined; + + /** + * @generated from field: bool is_capacity_limited = 20; + */ + isCapacityLimited: boolean; + + /** + * @generated from field: exa.codeium_common_pb.FastStatus fast_status = 21; + */ + fastStatus?: FastStatus | undefined; + + /** + * @generated from field: exa.codeium_common_pb.ModelInfo model_info = 23; + */ + modelInfo?: ModelInfo | undefined; + + /** + * @generated from field: exa.codeium_common_pb.ModelCostTier model_cost_tier = 24; + */ + modelCostTier: ModelCostTier; + + /** + * @generated from field: optional string description = 27; + */ + description?: string | undefined; + + /** + * @generated from field: optional string smart_friend_model_uid = 29; + */ + smartFriendModelUid?: string | undefined; + + /** + * @generated from field: exa.codeium_common_pb.ModelFamilyMetadata model_family_metadata = 30; + */ + modelFamilyMetadata?: ModelFamilyMetadata | undefined; + + /** + * @generated from field: bool is_default_model_in_family = 31; + */ + isDefaultModelInFamily: boolean; + + /** + * @generated from field: repeated exa.codeium_common_pb.ModelDimension model_dimensions = 32; + */ + modelDimensions: ModelDimension[]; + + /** + * @generated from field: optional exa.codeium_common_pb.ModelDisabledReason disabled_reason = 33; + */ + disabledReason?: ModelDisabledReason | undefined; +}; + +/** + * Describes the message exa.codeium_common_pb.ClientModelConfig. + * Use `create(ClientModelConfigSchema)` to create a new message. + */ +export const ClientModelConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 54); + +/** + * @generated from message exa.codeium_common_pb.DefaultOverrideModelConfig + */ +export type DefaultOverrideModelConfig = Message<"exa.codeium_common_pb.DefaultOverrideModelConfig"> & { + /** + * @generated from field: exa.codeium_common_pb.ModelOrAlias model_or_alias_deprecated = 1 [deprecated = true]; + * @deprecated + */ + modelOrAliasDeprecated?: ModelOrAlias | undefined; + + /** + * @generated from field: string model_uid = 3; + */ + modelUid: string; + + /** + * @generated from field: string version_id = 2; + */ + versionId: string; +}; + +/** + * Describes the message exa.codeium_common_pb.DefaultOverrideModelConfig. + * Use `create(DefaultOverrideModelConfigSchema)` to create a new message. + */ +export const DefaultOverrideModelConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 55); + +/** + * @generated from message exa.codeium_common_pb.ClientModelSort + */ +export type ClientModelSort = Message<"exa.codeium_common_pb.ClientModelSort"> & { + /** + * @generated from field: string name = 1; + */ + name: string; + + /** + * @generated from field: repeated exa.codeium_common_pb.ClientModelGroup groups = 2; + */ + groups: ClientModelGroup[]; + + /** + * @generated from field: optional string display_metric = 3; + */ + displayMetric?: string | undefined; +}; + +/** + * Describes the message exa.codeium_common_pb.ClientModelSort. + * Use `create(ClientModelSortSchema)` to create a new message. + */ +export const ClientModelSortSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 56); + +/** + * @generated from message exa.codeium_common_pb.ClientModelGroup + */ +export type ClientModelGroup = Message<"exa.codeium_common_pb.ClientModelGroup"> & { + /** + * @generated from field: string group_name = 1; + */ + groupName: string; + + /** + * @generated from field: repeated string model_labels = 2; + */ + modelLabels: string[]; +}; + +/** + * Describes the message exa.codeium_common_pb.ClientModelGroup. + * Use `create(ClientModelGroupSchema)` to create a new message. + */ +export const ClientModelGroupSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 57); + +/** + * @generated from message exa.codeium_common_pb.CascadeModelConfigData + */ +export type CascadeModelConfigData = Message<"exa.codeium_common_pb.CascadeModelConfigData"> & { + /** + * @generated from field: repeated exa.codeium_common_pb.ClientModelConfig client_model_configs = 1; + */ + clientModelConfigs: ClientModelConfig[]; + + /** + * @generated from field: repeated exa.codeium_common_pb.ClientModelSort client_model_sorts = 2; + */ + clientModelSorts: ClientModelSort[]; + + /** + * @generated from field: optional exa.codeium_common_pb.DefaultOverrideModelConfig default_override_model_config = 3; + */ + defaultOverrideModelConfig?: DefaultOverrideModelConfig | undefined; + + /** + * @generated from field: float arena_mode_cost_fast = 4; + */ + arenaModeCostFast: number; + + /** + * @generated from field: float arena_mode_cost_smart = 5; + */ + arenaModeCostSmart: number; +}; + +/** + * Describes the message exa.codeium_common_pb.CascadeModelConfigData. + * Use `create(CascadeModelConfigDataSchema)` to create a new message. + */ +export const CascadeModelConfigDataSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 58); + +/** + * @generated from message exa.codeium_common_pb.AllowedModelConfig + */ +export type AllowedModelConfig = Message<"exa.codeium_common_pb.AllowedModelConfig"> & { + /** + * @generated from field: exa.codeium_common_pb.ModelOrAlias model_or_alias = 1; + */ + modelOrAlias?: ModelOrAlias | undefined; + + /** + * @generated from field: float credit_multiplier = 2; + */ + creditMultiplier: number; +}; + +/** + * Describes the message exa.codeium_common_pb.AllowedModelConfig. + * Use `create(AllowedModelConfigSchema)` to create a new message. + */ +export const AllowedModelConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 59); + +/** + * @generated from message exa.codeium_common_pb.PlanInfo + */ +export type PlanInfo = Message<"exa.codeium_common_pb.PlanInfo"> & { + /** + * @generated from field: exa.codeium_common_pb.TeamsTier teams_tier = 1; + */ + teamsTier: TeamsTier; + + /** + * @generated from field: string plan_name = 2; + */ + planName: string; + + /** + * @generated from field: bool has_autocomplete_fast_mode = 3; + */ + hasAutocompleteFastMode: boolean; + + /** + * @generated from field: bool allow_sticky_premium_models = 4; + */ + allowStickyPremiumModels: boolean; + + /** + * @generated from field: bool has_forge_access = 5; + */ + hasForgeAccess: boolean; + + /** + * @generated from field: bool disable_code_snippet_telemetry = 11; + */ + disableCodeSnippetTelemetry: boolean; + + /** + * @generated from field: bool allow_premium_command_models = 15; + */ + allowPremiumCommandModels: boolean; + + /** + * @generated from field: bool has_tab_to_jump = 23; + */ + hasTabToJump: boolean; + + /** + * @generated from field: int64 max_num_premium_chat_messages = 6; + */ + maxNumPremiumChatMessages: bigint; + + /** + * @generated from field: int64 max_num_chat_input_tokens = 7; + */ + maxNumChatInputTokens: bigint; + + /** + * @generated from field: int64 max_custom_chat_instruction_characters = 8; + */ + maxCustomChatInstructionCharacters: bigint; + + /** + * @generated from field: int64 max_num_pinned_context_items = 9; + */ + maxNumPinnedContextItems: bigint; + + /** + * @generated from field: int64 max_local_index_size = 10; + */ + maxLocalIndexSize: bigint; + + /** + * @generated from field: int32 max_unclaimed_sites = 26 [deprecated = true]; + * @deprecated + */ + maxUnclaimedSites: number; + + /** + * @generated from field: int32 monthly_prompt_credits = 12; + */ + monthlyPromptCredits: number; + + /** + * @generated from field: int32 monthly_flow_credits = 13; + */ + monthlyFlowCredits: number; + + /** + * @generated from field: int32 monthly_flex_credit_purchase_amount = 14; + */ + monthlyFlexCreditPurchaseAmount: number; + + /** + * @generated from field: bool is_teams = 17; + */ + isTeams: boolean; + + /** + * @generated from field: bool is_enterprise = 16; + */ + isEnterprise: boolean; + + /** + * @generated from field: bool has_paid_features = 32; + */ + hasPaidFeatures: boolean; + + /** + * @generated from field: bool can_buy_more_credits = 18; + */ + canBuyMoreCredits: boolean; + + /** + * @generated from field: bool cascade_web_search_enabled = 19; + */ + cascadeWebSearchEnabled: boolean; + + /** + * @generated from field: bool can_customize_app_icon = 20; + */ + canCustomizeAppIcon: boolean; + + /** + * @generated from field: bool cascade_can_auto_run_commands = 22; + */ + cascadeCanAutoRunCommands: boolean; + + /** + * @generated from field: bool can_generate_commit_messages = 25; + */ + canGenerateCommitMessages: boolean; + + /** + * @generated from field: bool knowledge_base_enabled = 27; + */ + knowledgeBaseEnabled: boolean; + + /** + * @generated from field: repeated exa.codeium_common_pb.AllowedModelConfig cascade_allowed_models_config = 21 [deprecated = true]; + * @deprecated + */ + cascadeAllowedModelsConfig: AllowedModelConfig[]; + + /** + * @generated from field: exa.codeium_common_pb.TeamConfig default_team_config = 24; + */ + defaultTeamConfig?: TeamConfig | undefined; + + /** + * @generated from field: bool can_share_conversations = 28; + */ + canShareConversations: boolean; + + /** + * @generated from field: bool can_allow_cascade_in_background = 29; + */ + canAllowCascadeInBackground: boolean; + + /** + * @generated from field: map default_team_features = 30; + */ + defaultTeamFeatures: { [key: number]: TeamsFeaturesMetadata }; + + /** + * @generated from field: bool browser_enabled = 31; + */ + browserEnabled: boolean; + + /** + * @generated from field: exa.codeium_common_pb.DevinPlanInfo devin_info = 33; + */ + devinInfo?: DevinPlanInfo | undefined; + + /** + * @generated from field: bool is_devin = 34; + */ + isDevin: boolean; + + /** + * @generated from field: exa.codeium_common_pb.BillingStrategy billing_strategy = 35; + */ + billingStrategy: BillingStrategy; + + /** + * @generated from field: bool hide_daily_quota = 36; + */ + hideDailyQuota: boolean; + + /** + * @generated from field: bool hide_weekly_quota = 37; + */ + hideWeeklyQuota: boolean; +}; + +/** + * Describes the message exa.codeium_common_pb.PlanInfo. + * Use `create(PlanInfoSchema)` to create a new message. + */ +export const PlanInfoSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 60); + +/** + * @generated from message exa.codeium_common_pb.DevinPlanInfo + */ +export type DevinPlanInfo = Message<"exa.codeium_common_pb.DevinPlanInfo"> & { + /** + * @generated from field: bool can_use_cascade = 1; + */ + canUseCascade: boolean; + + /** + * @generated from field: bool can_use_cli = 2; + */ + canUseCli: boolean; + + /** + * @generated from field: bool is_admin = 3; + */ + isAdmin: boolean; + + /** + * @generated from field: string org_id = 4; + */ + orgId: string; + + /** + * @generated from field: string webapp_host = 5; + */ + webappHost: string; + + /** + * @generated from field: optional bool devin_review_enabled = 6; + */ + devinReviewEnabled?: boolean | undefined; + + /** + * @generated from field: string api_url = 7; + */ + apiUrl: string; + + /** + * @generated from field: string account_display_name = 8; + */ + accountDisplayName: string; +}; + +/** + * Describes the message exa.codeium_common_pb.DevinPlanInfo. + * Use `create(DevinPlanInfoSchema)` to create a new message. + */ +export const DevinPlanInfoSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 61); + +/** + * @generated from message exa.codeium_common_pb.TopUpStatus + */ +export type TopUpStatus = Message<"exa.codeium_common_pb.TopUpStatus"> & { + /** + * @generated from field: exa.codeium_common_pb.TransactionStatus top_up_transaction_status = 1; + */ + topUpTransactionStatus: TransactionStatus; + + /** + * @generated from field: bool top_up_enabled = 2; + */ + topUpEnabled: boolean; + + /** + * @generated from field: int32 monthly_top_up_amount = 3; + */ + monthlyTopUpAmount: number; + + /** + * @generated from field: int32 top_up_spent = 4; + */ + topUpSpent: number; + + /** + * @generated from field: int32 top_up_increment = 5; + */ + topUpIncrement: number; + + /** + * @generated from field: bool top_up_criteria_met = 6; + */ + topUpCriteriaMet: boolean; +}; + +/** + * Describes the message exa.codeium_common_pb.TopUpStatus. + * Use `create(TopUpStatusSchema)` to create a new message. + */ +export const TopUpStatusSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 62); + +/** + * @generated from message exa.codeium_common_pb.PlanStatus + */ +export type PlanStatus = Message<"exa.codeium_common_pb.PlanStatus"> & { + /** + * @generated from field: exa.codeium_common_pb.PlanInfo plan_info = 1; + */ + planInfo?: PlanInfo | undefined; + + /** + * @generated from field: google.protobuf.Timestamp plan_start = 2; + */ + planStart?: Timestamp | undefined; + + /** + * @generated from field: google.protobuf.Timestamp plan_end = 3; + */ + planEnd?: Timestamp | undefined; + + /** + * @generated from field: int32 available_prompt_credits = 8; + */ + availablePromptCredits: number; + + /** + * @generated from field: int32 available_flow_credits = 9; + */ + availableFlowCredits: number; + + /** + * @generated from field: int32 available_flex_credits = 4; + */ + availableFlexCredits: number; + + /** + * @generated from field: int32 used_flex_credits = 7; + */ + usedFlexCredits: number; + + /** + * @generated from field: int32 used_flow_credits = 5; + */ + usedFlowCredits: number; + + /** + * @generated from field: int32 used_prompt_credits = 6; + */ + usedPromptCredits: number; + + /** + * @generated from field: exa.codeium_common_pb.TopUpStatus top_up_status = 10; + */ + topUpStatus?: TopUpStatus | undefined; + + /** + * @generated from field: bool was_reduced_by_orphaned_usage = 11; + */ + wasReducedByOrphanedUsage: boolean; + + /** + * @generated from field: exa.codeium_common_pb.GracePeriodStatus grace_period_status = 12; + */ + gracePeriodStatus: GracePeriodStatus; + + /** + * @generated from field: google.protobuf.Timestamp grace_period_end = 13; + */ + gracePeriodEnd?: Timestamp | undefined; + + /** + * @generated from field: int32 daily_quota_remaining_percent = 14; + */ + dailyQuotaRemainingPercent: number; + + /** + * @generated from field: int32 weekly_quota_remaining_percent = 15; + */ + weeklyQuotaRemainingPercent: number; + + /** + * @generated from field: int64 overage_balance_micros = 16; + */ + overageBalanceMicros: bigint; + + /** + * @generated from field: int64 daily_quota_reset_at_unix = 17; + */ + dailyQuotaResetAtUnix: bigint; + + /** + * @generated from field: int64 weekly_quota_reset_at_unix = 18; + */ + weeklyQuotaResetAtUnix: bigint; +}; + +/** + * Describes the message exa.codeium_common_pb.PlanStatus. + * Use `create(PlanStatusSchema)` to create a new message. + */ +export const PlanStatusSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 63); + +/** + * @generated from message exa.codeium_common_pb.UserStatus + */ +export type UserStatus = Message<"exa.codeium_common_pb.UserStatus"> & { + /** + * @generated from field: bool pro = 1; + */ + pro: boolean; + + /** + * @generated from field: bool disable_telemetry = 2; + */ + disableTelemetry: boolean; + + /** + * @generated from field: string name = 3; + */ + name: string; + + /** + * @generated from field: bool ignore_chat_telemetry_setting = 4; + */ + ignoreChatTelemetrySetting: boolean; + + /** + * @generated from field: string team_id = 5; + */ + teamId: string; + + /** + * @generated from field: exa.codeium_common_pb.UserTeamStatus team_status = 6; + */ + teamStatus: UserTeamStatus; + + /** + * @generated from field: string email = 7; + */ + email: string; + + /** + * @generated from field: repeated exa.codeium_common_pb.UserFeatures user_features = 9; + */ + userFeatures: UserFeatures[]; + + /** + * @generated from field: repeated exa.codeium_common_pb.TeamsFeatures teams_features = 8; + */ + teamsFeatures: TeamsFeatures[]; + + /** + * @generated from field: exa.codeium_common_pb.TeamsTier teams_tier = 10; + */ + teamsTier: TeamsTier; + + /** + * @generated from field: repeated exa.codeium_common_pb.Permission permissions = 11; + */ + permissions: Permission[]; + + /** + * @generated from field: exa.codeium_common_pb.PlanStatus plan_status = 13; + */ + planStatus?: PlanStatus | undefined; + + /** + * @generated from field: bool has_used_windsurf = 31; + */ + hasUsedWindsurf: boolean; + + /** + * @generated from field: int64 user_used_prompt_credits = 28; + */ + userUsedPromptCredits: bigint; + + /** + * @generated from field: int64 user_used_flow_credits = 29; + */ + userUsedFlowCredits: bigint; + + /** + * @generated from field: bool has_fingerprint_set = 30; + */ + hasFingerprintSet: boolean; + + /** + * @generated from field: exa.codeium_common_pb.TeamConfig team_config = 32; + */ + teamConfig?: TeamConfig | undefined; + + /** + * @generated from field: exa.codeium_common_pb.CascadeModelConfigData cascade_model_config_data = 33; + */ + cascadeModelConfigData?: CascadeModelConfigData | undefined; + + /** + * @generated from field: google.protobuf.Timestamp windsurf_pro_trial_end_time = 34; + */ + windsurfProTrialEndTime?: Timestamp | undefined; + + /** + * @generated from field: int64 max_num_premium_chat_messages = 35; + */ + maxNumPremiumChatMessages: bigint; + + /** + * @generated from field: string user_id = 36; + */ + userId: string; +}; + +/** + * Describes the message exa.codeium_common_pb.UserStatus. + * Use `create(UserStatusSchema)` to create a new message. + */ +export const UserStatusSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 64); + +/** + * @generated from message exa.codeium_common_pb.ScmWorkspaceInfo + */ +export type ScmWorkspaceInfo = Message<"exa.codeium_common_pb.ScmWorkspaceInfo"> & { + /** + * @generated from oneof exa.codeium_common_pb.ScmWorkspaceInfo.info + */ + info: { + /** + * @generated from field: exa.codeium_common_pb.PerforceDepotInfo perforce_info = 1; + */ + value: PerforceDepotInfo; + case: "perforceInfo"; + } | { + /** + * @generated from field: exa.codeium_common_pb.GitRepoInfo git_info = 2; + */ + value: GitRepoInfo; + case: "gitInfo"; + } | { case: undefined; value?: undefined }; +}; + +/** + * Describes the message exa.codeium_common_pb.ScmWorkspaceInfo. + * Use `create(ScmWorkspaceInfoSchema)` to create a new message. + */ +export const ScmWorkspaceInfoSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 65); + +/** + * @generated from message exa.codeium_common_pb.PerforceDepotInfo + */ +export type PerforceDepotInfo = Message<"exa.codeium_common_pb.PerforceDepotInfo"> & { + /** + * @generated from field: string depot_name = 1; + */ + depotName: string; + + /** + * @generated from field: string version_alias = 2; + */ + versionAlias: string; + + /** + * @generated from field: string base_p4d_url = 3; + */ + baseP4dUrl: string; +}; + +/** + * Describes the message exa.codeium_common_pb.PerforceDepotInfo. + * Use `create(PerforceDepotInfoSchema)` to create a new message. + */ +export const PerforceDepotInfoSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 66); + +/** + * @generated from message exa.codeium_common_pb.GitRepoInfo + */ +export type GitRepoInfo = Message<"exa.codeium_common_pb.GitRepoInfo"> & { + /** + * @generated from field: string name = 1; + */ + name: string; + + /** + * @generated from field: string owner = 2; + */ + owner: string; + + /** + * @generated from field: string repo_name = 5; + */ + repoName: string; + + /** + * @generated from field: string commit = 3; + */ + commit: string; + + /** + * @generated from field: string version_alias = 4; + */ + versionAlias: string; + + /** + * @generated from field: exa.codeium_common_pb.ScmProvider scm_provider = 6; + */ + scmProvider: ScmProvider; + + /** + * @generated from field: string base_git_url = 7; + */ + baseGitUrl: string; +}; + +/** + * Describes the message exa.codeium_common_pb.GitRepoInfo. + * Use `create(GitRepoInfoSchema)` to create a new message. + */ +export const GitRepoInfoSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 67); + +/** + * @generated from message exa.codeium_common_pb.CodeContextItem + */ +export type CodeContextItem = Message<"exa.codeium_common_pb.CodeContextItem"> & { + /** + * @generated from field: string absolute_path_migrate_me_to_uri = 1 [deprecated = true]; + * @deprecated + */ + absolutePathMigrateMeToUri: string; + + /** + * @generated from field: string absolute_uri = 16; + */ + absoluteUri: string; + + /** + * @generated from field: repeated exa.codeium_common_pb.WorkspacePath workspace_paths = 2; + */ + workspacePaths: WorkspacePath[]; + + /** + * @generated from field: string node_name = 3; + */ + nodeName: string; + + /** + * @generated from field: repeated string node_lineage = 4; + */ + nodeLineage: string[]; + + /** + * @generated from field: uint32 start_line = 5; + */ + startLine: number; + + /** + * @generated from field: uint32 start_col = 12; + */ + startCol: number; + + /** + * @generated from field: uint32 end_line = 6; + */ + endLine: number; + + /** + * @generated from field: uint32 end_col = 13; + */ + endCol: number; + + /** + * @generated from field: exa.codeium_common_pb.CodeContextType context_type = 7; + */ + contextType: CodeContextType; + + /** + * @generated from field: exa.codeium_common_pb.Language language = 10; + */ + language: Language; + + /** + * @generated from field: map snippet_by_type = 11; + */ + snippetByType: { [key: string]: SnippetWithWordCount }; + + /** + * @generated from field: exa.codeium_common_pb.GitRepoInfo repo_info = 14; + */ + repoInfo?: GitRepoInfo | undefined; + + /** + * @generated from field: bytes file_content_hash = 15; + */ + fileContentHash: Uint8Array; +}; + +/** + * Describes the message exa.codeium_common_pb.CodeContextItem. + * Use `create(CodeContextItemSchema)` to create a new message. + */ +export const CodeContextItemSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 68); + +/** + * @generated from message exa.codeium_common_pb.SnippetWithWordCount + */ +export type SnippetWithWordCount = Message<"exa.codeium_common_pb.SnippetWithWordCount"> & { + /** + * @generated from field: string snippet = 1; + */ + snippet: string; + + /** + * @generated from field: map word_count_by_splitter = 2; + */ + wordCountBySplitter: { [key: string]: WordCount }; +}; + +/** + * Describes the message exa.codeium_common_pb.SnippetWithWordCount. + * Use `create(SnippetWithWordCountSchema)` to create a new message. + */ +export const SnippetWithWordCountSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 69); + +/** + * @generated from message exa.codeium_common_pb.WordCount + */ +export type WordCount = Message<"exa.codeium_common_pb.WordCount"> & { + /** + * @generated from field: map word_count_map = 1; + */ + wordCountMap: { [key: string]: bigint }; +}; + +/** + * Describes the message exa.codeium_common_pb.WordCount. + * Use `create(WordCountSchema)` to create a new message. + */ +export const WordCountSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 70); + +/** + * @generated from message exa.codeium_common_pb.Repository + */ +export type Repository = Message<"exa.codeium_common_pb.Repository"> & { + /** + * @generated from field: string computed_name = 1; + */ + computedName: string; + + /** + * @generated from field: string git_origin_url = 2; + */ + gitOriginUrl: string; + + /** + * @generated from field: string git_upstream_url = 3; + */ + gitUpstreamUrl: string; + + /** + * @generated from field: string reported_name = 4; + */ + reportedName: string; + + /** + * @generated from field: string model_name = 5; + */ + modelName: string; + + /** + * @generated from field: string submodule_url = 6; + */ + submoduleUrl: string; + + /** + * @generated from field: string submodule_path = 7; + */ + submodulePath: string; +}; + +/** + * Describes the message exa.codeium_common_pb.Repository. + * Use `create(RepositorySchema)` to create a new message. + */ +export const RepositorySchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 71); + +/** + * @generated from message exa.codeium_common_pb.CaptureFileRequestData + */ +export type CaptureFileRequestData = Message<"exa.codeium_common_pb.CaptureFileRequestData"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string prompt_id = 2; + */ + promptId: string; + + /** + * @generated from field: string file_path = 3; + */ + filePath: string; + + /** + * @generated from field: string original_file_content = 4; + */ + originalFileContent: string; + + /** + * @generated from field: string completion_text = 5; + */ + completionText: string; + + /** + * @generated from field: uint64 start_offset = 6; + */ + startOffset: bigint; + + /** + * @generated from field: uint64 end_offset = 7; + */ + endOffset: bigint; + + /** + * @generated from field: uint64 cursor_line = 8; + */ + cursorLine: bigint; + + /** + * @generated from field: uint64 cursor_column = 9; + */ + cursorColumn: bigint; +}; + +/** + * Describes the message exa.codeium_common_pb.CaptureFileRequestData. + * Use `create(CaptureFileRequestDataSchema)` to create a new message. + */ +export const CaptureFileRequestDataSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 72); + +/** + * @generated from message exa.codeium_common_pb.CompletionStatistics + */ +export type CompletionStatistics = Message<"exa.codeium_common_pb.CompletionStatistics"> & { + /** + * @generated from field: uint32 num_acceptances = 1; + */ + numAcceptances: number; + + /** + * @generated from field: uint32 num_rejections = 2; + */ + numRejections: number; + + /** + * @generated from field: uint32 num_lines_accepted = 3; + */ + numLinesAccepted: number; + + /** + * @generated from field: uint32 num_bytes_accepted = 4; + */ + numBytesAccepted: number; + + /** + * @generated from field: uint32 num_users = 5; + */ + numUsers: number; + + /** + * @generated from field: uint32 active_developer_days = 6; + */ + activeDeveloperDays: number; + + /** + * @generated from field: uint32 active_developer_hours = 7; + */ + activeDeveloperHours: number; +}; + +/** + * Describes the message exa.codeium_common_pb.CompletionStatistics. + * Use `create(CompletionStatisticsSchema)` to create a new message. + */ +export const CompletionStatisticsSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 73); + +/** + * @generated from message exa.codeium_common_pb.CompletionByDateEntry + */ +export type CompletionByDateEntry = Message<"exa.codeium_common_pb.CompletionByDateEntry"> & { + /** + * @generated from field: google.protobuf.Timestamp timestamp = 1; + */ + timestamp?: Timestamp | undefined; + + /** + * @generated from field: exa.codeium_common_pb.CompletionStatistics completion_statistics = 2; + */ + completionStatistics?: CompletionStatistics | undefined; +}; + +/** + * Describes the message exa.codeium_common_pb.CompletionByDateEntry. + * Use `create(CompletionByDateEntrySchema)` to create a new message. + */ +export const CompletionByDateEntrySchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 74); + +/** + * @generated from message exa.codeium_common_pb.CompletionByLanguageEntry + */ +export type CompletionByLanguageEntry = Message<"exa.codeium_common_pb.CompletionByLanguageEntry"> & { + /** + * @generated from field: exa.codeium_common_pb.Language language = 1; + */ + language: Language; + + /** + * @generated from field: exa.codeium_common_pb.CompletionStatistics completion_statistics = 2; + */ + completionStatistics?: CompletionStatistics | undefined; +}; + +/** + * Describes the message exa.codeium_common_pb.CompletionByLanguageEntry. + * Use `create(CompletionByLanguageEntrySchema)` to create a new message. + */ +export const CompletionByLanguageEntrySchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 75); + +/** + * @generated from message exa.codeium_common_pb.ChatStats + */ +export type ChatStats = Message<"exa.codeium_common_pb.ChatStats"> & { + /** + * @generated from field: uint64 chats_sent = 1; + */ + chatsSent: bigint; + + /** + * @generated from field: uint32 active_developer_days = 15; + */ + activeDeveloperDays: number; +}; + +/** + * Describes the message exa.codeium_common_pb.ChatStats. + * Use `create(ChatStatsSchema)` to create a new message. + */ +export const ChatStatsSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 76); + +/** + * @generated from message exa.codeium_common_pb.ChatStatsByDateEntry + */ +export type ChatStatsByDateEntry = Message<"exa.codeium_common_pb.ChatStatsByDateEntry"> & { + /** + * @generated from field: google.protobuf.Timestamp timestamp = 1; + */ + timestamp?: Timestamp | undefined; + + /** + * @generated from field: exa.codeium_common_pb.ChatStats chat_stats = 2; + */ + chatStats?: ChatStats | undefined; +}; + +/** + * Describes the message exa.codeium_common_pb.ChatStatsByDateEntry. + * Use `create(ChatStatsByDateEntrySchema)` to create a new message. + */ +export const ChatStatsByDateEntrySchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 77); + +/** + * @generated from message exa.codeium_common_pb.ChatStatsByModelEntry + */ +export type ChatStatsByModelEntry = Message<"exa.codeium_common_pb.ChatStatsByModelEntry"> & { + /** + * @generated from field: exa.codeium_common_pb.Model model_id = 1; + */ + modelId: Model; + + /** + * @generated from field: exa.codeium_common_pb.ChatStats chat_stats = 2; + */ + chatStats?: ChatStats | undefined; +}; + +/** + * Describes the message exa.codeium_common_pb.ChatStatsByModelEntry. + * Use `create(ChatStatsByModelEntrySchema)` to create a new message. + */ +export const ChatStatsByModelEntrySchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 78); + +/** + * @generated from message exa.codeium_common_pb.CommandStats + */ +export type CommandStats = Message<"exa.codeium_common_pb.CommandStats"> & { + /** + * @generated from field: uint64 num_commands = 1; + */ + numCommands: bigint; + + /** + * @generated from field: uint64 num_commands_accepted = 2; + */ + numCommandsAccepted: bigint; + + /** + * @generated from field: uint64 num_commands_rejected = 3; + */ + numCommandsRejected: bigint; + + /** + * @generated from field: uint64 num_edits = 4; + */ + numEdits: bigint; + + /** + * @generated from field: uint64 num_generations = 5; + */ + numGenerations: bigint; + + /** + * @generated from field: uint64 loc_added = 6; + */ + locAdded: bigint; + + /** + * @generated from field: uint64 loc_removed = 7; + */ + locRemoved: bigint; + + /** + * @generated from field: uint64 bytes_added = 8; + */ + bytesAdded: bigint; + + /** + * @generated from field: uint64 bytes_removed = 9; + */ + bytesRemoved: bigint; + + /** + * @generated from field: uint64 loc_selected = 10; + */ + locSelected: bigint; + + /** + * @generated from field: uint64 bytes_selected = 11; + */ + bytesSelected: bigint; + + /** + * @generated from field: map num_commands_by_source = 12; + */ + numCommandsBySource: { [key: string]: bigint }; +}; + +/** + * Describes the message exa.codeium_common_pb.CommandStats. + * Use `create(CommandStatsSchema)` to create a new message. + */ +export const CommandStatsSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 79); + +/** + * @generated from message exa.codeium_common_pb.CommandStatsByDateEntry + */ +export type CommandStatsByDateEntry = Message<"exa.codeium_common_pb.CommandStatsByDateEntry"> & { + /** + * @generated from field: google.protobuf.Timestamp timestamp = 1; + */ + timestamp?: Timestamp | undefined; + + /** + * @generated from field: exa.codeium_common_pb.CommandStats command_stats = 2; + */ + commandStats?: CommandStats | undefined; +}; + +/** + * Describes the message exa.codeium_common_pb.CommandStatsByDateEntry. + * Use `create(CommandStatsByDateEntrySchema)` to create a new message. + */ +export const CommandStatsByDateEntrySchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 80); + +/** + * @generated from message exa.codeium_common_pb.UserTableStats + */ +export type UserTableStats = Message<"exa.codeium_common_pb.UserTableStats"> & { + /** + * @generated from field: string name = 1; + */ + name: string; + + /** + * @generated from field: string email = 2; + */ + email: string; + + /** + * @generated from field: google.protobuf.Timestamp last_update_time = 3; + */ + lastUpdateTime?: Timestamp | undefined; + + /** + * @generated from field: string api_key = 4; + */ + apiKey: string; + + /** + * @generated from field: bool disable_codeium = 5; + */ + disableCodeium: boolean; + + /** + * @generated from field: uint32 active_days = 6; + */ + activeDays: number; + + /** + * @generated from field: string role = 7; + */ + role: string; + + /** + * @generated from field: google.protobuf.Timestamp signup_time = 8; + */ + signupTime?: Timestamp | undefined; + + /** + * @generated from field: google.protobuf.Timestamp last_autocomplete_usage_time = 9; + */ + lastAutocompleteUsageTime?: Timestamp | undefined; + + /** + * @generated from field: google.protobuf.Timestamp last_chat_usage_time = 10; + */ + lastChatUsageTime?: Timestamp | undefined; + + /** + * @generated from field: google.protobuf.Timestamp last_command_usage_time = 11; + */ + lastCommandUsageTime?: Timestamp | undefined; + + /** + * @generated from field: int64 prompt_credits_used = 12; + */ + promptCreditsUsed: bigint; + + /** + * @generated from field: exa.codeium_common_pb.UserTeamStatus team_status = 13; + */ + teamStatus: UserTeamStatus; + + /** + * @generated from field: int64 tabs_generated = 14; + */ + tabsGenerated: bigint; + + /** + * @generated from field: int64 cascade_messages = 15; + */ + cascadeMessages: bigint; + + /** + * @generated from field: int64 unique_cascade_tabs = 16; + */ + uniqueCascadeTabs: bigint; + + /** + * @generated from field: repeated string ides_used = 17; + */ + idesUsed: string[]; + + /** + * @generated from field: double acus_used = 18; + */ + acusUsed: number; +}; + +/** + * Describes the message exa.codeium_common_pb.UserTableStats. + * Use `create(UserTableStatsSchema)` to create a new message. + */ +export const UserTableStatsSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 81); + +/** + * @generated from message exa.codeium_common_pb.CascadeNUXState + */ +export type CascadeNUXState = Message<"exa.codeium_common_pb.CascadeNUXState"> & { + /** + * @generated from field: exa.codeium_common_pb.CascadeNUXEvent event = 1; + */ + event: CascadeNUXEvent; + + /** + * @generated from field: google.protobuf.Timestamp timestamp = 2; + */ + timestamp?: Timestamp | undefined; +}; + +/** + * Describes the message exa.codeium_common_pb.CascadeNUXState. + * Use `create(CascadeNUXStateSchema)` to create a new message. + */ +export const CascadeNUXStateSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 82); + +/** + * @generated from message exa.codeium_common_pb.UserNUXState + */ +export type UserNUXState = Message<"exa.codeium_common_pb.UserNUXState"> & { + /** + * @generated from field: exa.codeium_common_pb.UserNUXEvent event = 1; + */ + event: UserNUXEvent; + + /** + * @generated from field: google.protobuf.Timestamp timestamp = 2; + */ + timestamp?: Timestamp | undefined; +}; + +/** + * Describes the message exa.codeium_common_pb.UserNUXState. + * Use `create(UserNUXStateSchema)` to create a new message. + */ +export const UserNUXStateSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 83); + +/** + * @generated from message exa.codeium_common_pb.ConversationBrainConfig + */ +export type ConversationBrainConfig = Message<"exa.codeium_common_pb.ConversationBrainConfig"> & { + /** + * @generated from field: exa.codeium_common_pb.PlanMode plan_mode = 1; + */ + planMode: PlanMode; +}; + +/** + * Describes the message exa.codeium_common_pb.ConversationBrainConfig. + * Use `create(ConversationBrainConfigSchema)` to create a new message. + */ +export const ConversationBrainConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 84); + +/** + * @generated from message exa.codeium_common_pb.FeatureUsageData + */ +export type FeatureUsageData = Message<"exa.codeium_common_pb.FeatureUsageData"> & { + /** + * @generated from field: bool has_used = 1; + */ + hasUsed: boolean; +}; + +/** + * Describes the message exa.codeium_common_pb.FeatureUsageData. + * Use `create(FeatureUsageDataSchema)` to create a new message. + */ +export const FeatureUsageDataSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 85); + +/** + * @generated from message exa.codeium_common_pb.CascadeNUXConfig + */ +export type CascadeNUXConfig = Message<"exa.codeium_common_pb.CascadeNUXConfig"> & { + /** + * @generated from field: uint32 uid = 1; + */ + uid: number; + + /** + * @generated from field: exa.codeium_common_pb.CascadeNUXLocation location = 2; + */ + location: CascadeNUXLocation; + + /** + * @generated from field: exa.codeium_common_pb.CascadeNUXTrigger trigger = 3; + */ + trigger: CascadeNUXTrigger; + + /** + * @generated from field: string analytics_event_name = 4; + */ + analyticsEventName: string; + + /** + * @generated from field: string main_text = 5; + */ + mainText: string; + + /** + * @generated from field: string on_hover_explanation = 6; + */ + onHoverExplanation: string; + + /** + * @generated from field: string learn_more_url = 7; + */ + learnMoreUrl: string; + + /** + * @generated from field: int32 priority = 8; + */ + priority: number; + + /** + * @generated from field: exa.codeium_common_pb.CascadeNUXEvent old_nux_event = 9; + */ + oldNuxEvent: CascadeNUXEvent; + + /** + * @generated from field: exa.codeium_common_pb.CascadeNUXIcon icon = 10; + */ + icon: CascadeNUXIcon; + + /** + * @generated from field: bool requires_idle_cascade = 11; + */ + requiresIdleCascade: boolean; +}; + +/** + * Describes the message exa.codeium_common_pb.CascadeNUXConfig. + * Use `create(CascadeNUXConfigSchema)` to create a new message. + */ +export const CascadeNUXConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 86); + +/** + * @generated from message exa.codeium_common_pb.UserSettings + */ +export type UserSettings = Message<"exa.codeium_common_pb.UserSettings"> & { + /** + * @generated from field: bool open_most_recent_chat_conversation = 1; + */ + openMostRecentChatConversation: boolean; + + /** + * @generated from field: exa.codeium_common_pb.Model last_selected_model = 2; + */ + lastSelectedModel: Model; + + /** + * @generated from field: exa.codeium_common_pb.ThemePreference theme_preference = 3; + */ + themePreference: ThemePreference; + + /** + * @generated from field: exa.codeium_common_pb.ExtensionPanelTab extension_panel_tab = 4; + */ + extensionPanelTab: ExtensionPanelTab; + + /** + * @generated from field: exa.codeium_common_pb.FontSize font_size = 5; + */ + fontSize: FontSize; + + /** + * @generated from field: exa.codeium_common_pb.RememberLastModelSelection remember_last_model_selection = 7; + */ + rememberLastModelSelection: RememberLastModelSelection; + + /** + * @generated from field: exa.codeium_common_pb.AutocompleteSpeed autocomplete_speed = 6; + */ + autocompleteSpeed: AutocompleteSpeed; + + /** + * @generated from field: string last_selected_model_name = 8; + */ + lastSelectedModelName: string; + + /** + * @generated from field: repeated exa.codeium_common_pb.CascadeNUXState cascade_nux_states = 11; + */ + cascadeNuxStates: CascadeNUXState[]; + + /** + * @generated from field: map seen_nux_uids = 60; + */ + seenNuxUids: { [key: number]: boolean }; + + /** + * @generated from field: optional exa.codeium_common_pb.Model last_selected_cascade_model_deprecated = 9 [deprecated = true]; + * @deprecated + */ + lastSelectedCascadeModelDeprecated?: Model | undefined; + + /** + * @generated from field: optional exa.codeium_common_pb.ModelOrAlias last_selected_cascade_model_or_alias_deprecated = 30 [deprecated = true]; + * @deprecated + */ + lastSelectedCascadeModelOrAliasDeprecated?: ModelOrAlias | undefined; + + /** + * @generated from field: optional string last_selected_cascade_model_uid_deprecated = 91 [deprecated = true]; + * @deprecated + */ + lastSelectedCascadeModelUidDeprecated?: string | undefined; + + /** + * @generated from field: optional exa.codeium_common_pb.ConversationalPlannerMode cascade_planner_mode_deprecated = 13 [deprecated = true]; + * @deprecated + */ + cascadePlannerModeDeprecated?: ConversationalPlannerMode | undefined; + + /** + * @generated from field: optional exa.codeium_common_pb.Model last_model_override = 46 [deprecated = true]; + * @deprecated + */ + lastModelOverride?: Model | undefined; + + /** + * @generated from field: optional string last_model_default_override_version_id = 58; + */ + lastModelDefaultOverrideVersionId?: string | undefined; + + /** + * @generated from field: optional bool cascade_model_explicitly_set = 87; + */ + cascadeModelExplicitlySet?: boolean | undefined; + + /** + * @generated from field: repeated string cascade_allowed_commands_prefix = 14 [deprecated = true]; + * @deprecated + */ + cascadeAllowedCommandsPrefix: string[]; + + /** + * @generated from field: repeated string cascade_denied_commands_prefix = 15 [deprecated = true]; + * @deprecated + */ + cascadeDeniedCommandsPrefix: string[]; + + /** + * @generated from field: repeated string cascade_allowed_commands = 85; + */ + cascadeAllowedCommands: string[]; + + /** + * @generated from field: repeated string cascade_denied_commands = 86; + */ + cascadeDeniedCommands: string[]; + + /** + * @generated from field: repeated exa.codeium_common_pb.UserNUXState user_nux_states = 17; + */ + userNuxStates: UserNUXState[]; + + /** + * @generated from field: bool cascade_web_search_disabled = 18 [deprecated = true]; + * @deprecated + */ + cascadeWebSearchDisabled: boolean; + + /** + * @generated from field: bool disable_autocomplete = 19 [deprecated = true]; + * @deprecated + */ + disableAutocomplete: boolean; + + /** + * @generated from field: bool disable_supercomplete = 20 [deprecated = true]; + * @deprecated + */ + disableSupercomplete: boolean; + + /** + * @generated from field: bool disable_selection_popup = 21; + */ + disableSelectionPopup: boolean; + + /** + * @generated from field: bool disable_explain_problem_inlay_hint = 22; + */ + disableExplainProblemInlayHint: boolean; + + /** + * @generated from field: bool disable_inlay_hint_shortcuts = 23 [deprecated = true]; + * @deprecated + */ + disableInlayHintShortcuts: boolean; + + /** + * @generated from field: bool disable_open_cascade_on_reload = 24; + */ + disableOpenCascadeOnReload: boolean; + + /** + * @generated from field: bool disable_auto_open_edited_files = 25; + */ + disableAutoOpenEditedFiles: boolean; + + /** + * @generated from field: bool disable_tab_to_jump = 26 [deprecated = true]; + * @deprecated + */ + disableTabToJump: boolean; + + /** + * @generated from field: exa.codeium_common_pb.CascadeCommandsAutoExecution cascade_auto_execution_policy = 27; + */ + cascadeAutoExecutionPolicy: CascadeCommandsAutoExecution; + + /** + * @generated from field: optional string last_selected_cascade_id = 28 [deprecated = true]; + * @deprecated + */ + lastSelectedCascadeId?: string | undefined; + + /** + * @generated from field: bool explain_and_fix_in_current_conversation = 29; + */ + explainAndFixInCurrentConversation: boolean; + + /** + * @generated from field: bool allow_cascade_access_gitignore_files_deprecated = 31 [deprecated = true]; + * @deprecated + */ + allowCascadeAccessGitignoreFilesDeprecated: boolean; + + /** + * @generated from field: bool disable_cascade_auto_fix_lints = 32; + */ + disableCascadeAutoFixLints: boolean; + + /** + * @generated from field: bool disable_cascade_browser_previews = 33; + */ + disableCascadeBrowserPreviews: boolean; + + /** + * @generated from field: bool detect_proxy = 34; + */ + detectProxy: boolean; + + /** + * @generated from field: bool disable_tab_to_import = 35; + */ + disableTabToImport: boolean; + + /** + * @generated from field: bool use_clipboard_for_completions = 36; + */ + useClipboardForCompletions: boolean; + + /** + * @generated from field: bool disable_highlight_after_accept = 37; + */ + disableHighlightAfterAccept: boolean; + + /** + * @generated from field: string last_selected_new_convo_tab = 38; + */ + lastSelectedNewConvoTab: string; + + /** + * @generated from field: bool disable_auto_generate_memories = 39; + */ + disableAutoGenerateMemories: boolean; + + /** + * @generated from field: bool enable_sounds_for_special_events = 40 [deprecated = true]; + * @deprecated + */ + enableSoundsForSpecialEvents: boolean; + + /** + * @generated from field: bool enable_tab_sounds = 41 [deprecated = true]; + * @deprecated + */ + enableTabSounds: boolean; + + /** + * @generated from field: bool allow_cascade_in_background = 42 [deprecated = true]; + * @deprecated + */ + allowCascadeInBackground: boolean; + + /** + * @generated from field: exa.codeium_common_pb.TabToJump tab_to_jump = 43; + */ + tabToJump: TabToJump; + + /** + * @generated from field: exa.codeium_common_pb.CascadeWebSearchTool cascade_web_search = 44; + */ + cascadeWebSearch: CascadeWebSearchTool; + + /** + * @generated from field: bool enable_terminal_completion = 45; + */ + enableTerminalCompletion: boolean; + + /** + * @generated from field: bool is_snoozed = 55; + */ + isSnoozed: boolean; + + /** + * @generated from field: bool enable_command_cascade_mode = 49; + */ + enableCommandCascadeMode: boolean; + + /** + * @generated from field: map feature_usage_data = 47; + */ + featureUsageData: { [key: string]: FeatureUsageData }; + + /** + * @generated from field: bool disable_cascade_in_background = 48; + */ + disableCascadeInBackground: boolean; + + /** + * @generated from field: repeated string custom_workspace = 50; + */ + customWorkspace: string[]; + + /** + * @generated from field: map conversation_brain_configs = 51 [deprecated = true]; + * @deprecated + */ + conversationBrainConfigs: { [key: string]: ConversationBrainConfig }; + + /** + * @generated from field: exa.codeium_common_pb.PlanMode global_plan_mode_preference = 54; + */ + globalPlanModePreference: PlanMode; + + /** + * @generated from field: repeated exa.codeium_common_pb.ClientModelConfig cached_cascade_model_configs = 52; + */ + cachedCascadeModelConfigs: ClientModelConfig[]; + + /** + * @generated from field: repeated exa.codeium_common_pb.ClientModelSort cached_cascade_model_sorts = 53; + */ + cachedCascadeModelSorts: ClientModelSort[]; + + /** + * @generated from field: exa.codeium_common_pb.AutoContinueOnMaxGeneratorInvocations auto_continue_on_max_generator_invocations_deprecated = 59 [deprecated = true]; + * @deprecated + */ + autoContinueOnMaxGeneratorInvocationsDeprecated: AutoContinueOnMaxGeneratorInvocations; + + /** + * @generated from field: repeated string recently_used_cascade_models_deprecated = 61 [deprecated = true]; + * @deprecated + */ + recentlyUsedCascadeModelsDeprecated: string[]; + + /** + * @generated from field: repeated string cascade_dismissed_suggestion_workspaces = 62; + */ + cascadeDismissedSuggestionWorkspaces: string[]; + + /** + * @generated from field: exa.codeium_common_pb.AnnotationsConfig annotations_config = 63; + */ + annotationsConfig: AnnotationsConfig; + + /** + * @generated from field: bool enable_automatic_screenshot = 64; + */ + enableAutomaticScreenshot: boolean; + + /** + * @generated from field: exa.codeium_common_pb.BrowserExperimentalFeaturesConfig browser_experimental_features_config = 66; + */ + browserExperimentalFeaturesConfig: BrowserExperimentalFeaturesConfig; + + /** + * @generated from field: exa.codeium_common_pb.CommandPopupAutocomplete command_popup_autocomplete = 67; + */ + commandPopupAutocomplete: CommandPopupAutocomplete; + + /** + * @generated from field: bool enable_instant_context_agent = 77; + */ + enableInstantContextAgent: boolean; + + /** + * @generated from field: bool disable_instant_context_agent = 78; + */ + disableInstantContextAgent: boolean; + + /** + * @generated from field: optional exa.codeium_common_pb.Model last_selected_smart_friend_model_deprecated = 79 [deprecated = true]; + * @deprecated + */ + lastSelectedSmartFriendModelDeprecated?: Model | undefined; + + /** + * @generated from field: optional string last_selected_smart_friend_model_uid_deprecated = 92 [deprecated = true]; + * @deprecated + */ + lastSelectedSmartFriendModelUidDeprecated?: string | undefined; + + /** + * @generated from field: bool enable_cascade_completion_notifications = 81; + */ + enableCascadeCompletionNotifications: boolean; + + /** + * @generated from field: bool enable_cascade_always_notify_on_finish = 82; + */ + enableCascadeAlwaysNotifyOnFinish: boolean; + + /** + * @generated from field: exa.codeium_common_pb.CompletionMode completion_mode_deprecated = 83 [deprecated = true]; + * @deprecated + */ + completionModeDeprecated: CompletionMode; + + /** + * @generated from field: exa.codeium_common_pb.SupercompleteAggression supercomplete_aggression = 97; + */ + supercompleteAggression: SupercompleteAggression; + + /** + * @generated from field: bool enable_inlay_hint_shortcuts = 84; + */ + enableInlayHintShortcuts: boolean; + + /** + * @generated from field: repeated string cascade_user_allowed_web_origins = 88; + */ + cascadeUserAllowedWebOrigins: string[]; + + /** + * @generated from field: repeated string cascade_removed_default_web_origins = 89; + */ + cascadeRemovedDefaultWebOrigins: string[]; + + /** + * @generated from field: exa.codeium_common_pb.CascadeWebRequestsAutoExecution cascade_web_requests_auto_execution_policy = 90; + */ + cascadeWebRequestsAutoExecutionPolicy: CascadeWebRequestsAutoExecution; + + /** + * @generated from field: repeated string last_specific_arena_model_uids = 93; + */ + lastSpecificArenaModelUids: string[]; + + /** + * @generated from field: bool arena_always_open_fullscreen = 94; + */ + arenaAlwaysOpenFullscreen: boolean; + + /** + * @generated from field: optional bool last_arena_mode_enabled = 95; + */ + lastArenaModeEnabled?: boolean | undefined; + + /** + * @generated from field: map model_group_variant_preferences = 98; + */ + modelGroupVariantPreferences: { [key: string]: string }; + + /** + * @generated from field: repeated string pinned_cascade_model_uids_deprecated = 99 [deprecated = true]; + * @deprecated + */ + pinnedCascadeModelUidsDeprecated: string[]; +}; + +/** + * Describes the message exa.codeium_common_pb.UserSettings. + * Use `create(UserSettingsSchema)` to create a new message. + */ +export const UserSettingsSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 87); + +/** + * @generated from message exa.codeium_common_pb.ModelFeatures + */ +export type ModelFeatures = Message<"exa.codeium_common_pb.ModelFeatures"> & { + /** + * @generated from field: bool supports_context_tokens = 2; + */ + supportsContextTokens: boolean; + + /** + * @generated from field: bool requires_instruct_tags = 3; + */ + requiresInstructTags: boolean; + + /** + * @generated from field: bool requires_fim_context = 4; + */ + requiresFimContext: boolean; + + /** + * @generated from field: bool requires_context_snippet_prefix = 5; + */ + requiresContextSnippetPrefix: boolean; + + /** + * @generated from field: bool requires_context_relevance_tags = 6; + */ + requiresContextRelevanceTags: boolean; + + /** + * @generated from field: bool requires_llama3_tokens = 7; + */ + requiresLlama3Tokens: boolean; + + /** + * @generated from field: bool zero_shot_capable = 8; + */ + zeroShotCapable: boolean; + + /** + * @generated from field: bool requires_autocomplete_as_command = 9 [deprecated = true]; + * @deprecated + */ + requiresAutocompleteAsCommand: boolean; + + /** + * @generated from field: bool supports_cursor_aware_supercomplete = 10; + */ + supportsCursorAwareSupercomplete: boolean; + + /** + * @generated from field: bool supports_images = 11; + */ + supportsImages: boolean; + + /** + * @generated from field: bool supports_image_captions = 20; + */ + supportsImageCaptions: boolean; + + /** + * @generated from field: bool supports_tool_calls = 12; + */ + supportsToolCalls: boolean; + + /** + * @generated from field: bool supports_parallel_tool_calls = 21; + */ + supportsParallelToolCalls: boolean; + + /** + * @generated from field: bool supports_cumulative_context = 13; + */ + supportsCumulativeContext: boolean; + + /** + * @generated from field: bool tab_jump_print_line_range = 14; + */ + tabJumpPrintLineRange: boolean; + + /** + * @generated from field: bool supports_thinking = 15; + */ + supportsThinking: boolean; + + /** + * @generated from field: bool interleave_thinking = 24; + */ + interleaveThinking: boolean; + + /** + * @generated from field: bool preserve_thinking = 25; + */ + preserveThinking: boolean; + + /** + * @generated from field: bool supports_estimate_token_counter = 17; + */ + supportsEstimateTokenCounter: boolean; + + /** + * @generated from field: bool add_cursor_to_find_replace_target = 18; + */ + addCursorToFindReplaceTarget: boolean; + + /** + * @generated from field: bool supports_tab_jump_use_whole_document = 19; + */ + supportsTabJumpUseWholeDocument: boolean; + + /** + * @generated from field: bool requires_supercomplete_clean = 22; + */ + requiresSupercompleteClean: boolean; + + /** + * @generated from field: bool tab_route_to_modal = 23; + */ + tabRouteToModal: boolean; + + /** + * @generated from field: bool supports_rejection_context = 26; + */ + supportsRejectionContext: boolean; +}; + +/** + * Describes the message exa.codeium_common_pb.ModelFeatures. + * Use `create(ModelFeaturesSchema)` to create a new message. + */ +export const ModelFeaturesSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 88); + +/** + * @generated from message exa.codeium_common_pb.ExternalModel + */ +export type ExternalModel = Message<"exa.codeium_common_pb.ExternalModel"> & { + /** + * @generated from field: bool is_internal = 1; + */ + isInternal: boolean; + + /** + * @generated from field: exa.codeium_common_pb.Model model_id = 2; + */ + modelId: Model; + + /** + * @generated from field: string model_name = 3; + */ + modelName: string; + + /** + * @generated from field: string base_url = 4; + */ + baseUrl: string; + + /** + * @generated from field: string api_key = 5; + */ + apiKey: string; + + /** + * @generated from field: string access_key = 6; + */ + accessKey: string; + + /** + * @generated from field: string secret_access_key = 7; + */ + secretAccessKey: string; + + /** + * @generated from field: string region = 8; + */ + region: string; + + /** + * @generated from field: string project_id = 9; + */ + projectId: string; + + /** + * @generated from field: uint32 id = 10; + */ + id: number; + + /** + * @generated from field: int32 max_completion_tokens = 11; + */ + maxCompletionTokens: number; + + /** + * @generated from field: int32 max_input_tokens = 12; + */ + maxInputTokens: number; +}; + +/** + * Describes the message exa.codeium_common_pb.ExternalModel. + * Use `create(ExternalModelSchema)` to create a new message. + */ +export const ExternalModelSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 89); + +/** + * @generated from message exa.codeium_common_pb.OpenAIInferenceConfig + */ +export type OpenAIInferenceConfig = Message<"exa.codeium_common_pb.OpenAIInferenceConfig"> & { + /** + * @generated from field: string reasoning_effort = 1; + */ + reasoningEffort: string; + + /** + * @generated from field: string service_tier = 2; + */ + serviceTier: string; + + /** + * @generated from field: bool extended_prompt_cache_retention = 3; + */ + extendedPromptCacheRetention: boolean; +}; + +/** + * Describes the message exa.codeium_common_pb.OpenAIInferenceConfig. + * Use `create(OpenAIInferenceConfigSchema)` to create a new message. + */ +export const OpenAIInferenceConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 90); + +/** + * @generated from message exa.codeium_common_pb.GoogleInferenceConfig + */ +export type GoogleInferenceConfig = Message<"exa.codeium_common_pb.GoogleInferenceConfig"> & { + /** + * @generated from field: string reasoning_effort = 1; + */ + reasoningEffort: string; +}; + +/** + * Describes the message exa.codeium_common_pb.GoogleInferenceConfig. + * Use `create(GoogleInferenceConfigSchema)` to create a new message. + */ +export const GoogleInferenceConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 91); + +/** + * @generated from message exa.codeium_common_pb.AnthropicInferenceConfig + */ +export type AnthropicInferenceConfig = Message<"exa.codeium_common_pb.AnthropicInferenceConfig"> & { + /** + * @generated from field: bool thinking = 1; + */ + thinking: boolean; + + /** + * @generated from field: string effort = 2; + */ + effort: string; + + /** + * @generated from field: bool fast_mode = 3; + */ + fastMode: boolean; + + /** + * @generated from field: bool context_1m = 4; + */ + context1m: boolean; +}; + +/** + * Describes the message exa.codeium_common_pb.AnthropicInferenceConfig. + * Use `create(AnthropicInferenceConfigSchema)` to create a new message. + */ +export const AnthropicInferenceConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 92); + +/** + * @generated from message exa.codeium_common_pb.InferenceConfig + */ +export type InferenceConfig = Message<"exa.codeium_common_pb.InferenceConfig"> & { + /** + * @generated from oneof exa.codeium_common_pb.InferenceConfig.config + */ + config: { + /** + * @generated from field: exa.codeium_common_pb.OpenAIInferenceConfig openai = 1; + */ + value: OpenAIInferenceConfig; + case: "openai"; + } | { + /** + * @generated from field: exa.codeium_common_pb.GoogleInferenceConfig google = 2; + */ + value: GoogleInferenceConfig; + case: "google"; + } | { + /** + * @generated from field: exa.codeium_common_pb.AnthropicInferenceConfig anthropic = 3; + */ + value: AnthropicInferenceConfig; + case: "anthropic"; + } | { case: undefined; value?: undefined }; +}; + +/** + * Describes the message exa.codeium_common_pb.InferenceConfig. + * Use `create(InferenceConfigSchema)` to create a new message. + */ +export const InferenceConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 93); + +/** + * @generated from message exa.codeium_common_pb.ModelInfo + */ +export type ModelInfo = Message<"exa.codeium_common_pb.ModelInfo"> & { + /** + * @generated from field: exa.codeium_common_pb.Model model_id = 1 [deprecated = true]; + * @deprecated + */ + modelId: Model; + + /** + * @generated from field: string model_uid = 17; + */ + modelUid: string; + + /** + * @generated from field: bool is_internal = 2; + */ + isInternal: boolean; + + /** + * @generated from field: exa.codeium_common_pb.ModelType model_type = 3; + */ + modelType: ModelType; + + /** + * @generated from field: int32 max_tokens = 4; + */ + maxTokens: number; + + /** + * @generated from field: string tokenizer_type = 5; + */ + tokenizerType: string; + + /** + * @generated from field: exa.codeium_common_pb.ModelFeatures model_features = 6; + */ + modelFeatures?: ModelFeatures | undefined; + + /** + * @generated from field: exa.codeium_common_pb.APIProvider api_provider = 7; + */ + apiProvider: APIProvider; + + /** + * @generated from field: string model_name = 8; + */ + modelName: string; + + /** + * @generated from field: bool supports_context = 9; + */ + supportsContext: boolean; + + /** + * @generated from field: int32 embed_dim = 10; + */ + embedDim: number; + + /** + * @generated from field: string base_url = 11; + */ + baseUrl: string; + + /** + * @generated from field: string chat_model_name = 12; + */ + chatModelName: string; + + /** + * @generated from field: int32 max_output_tokens = 13; + */ + maxOutputTokens: number; + + /** + * @generated from field: exa.codeium_common_pb.PromptTemplaterType prompt_templater_type = 14; + */ + promptTemplaterType: PromptTemplaterType; + + /** + * @generated from field: exa.codeium_common_pb.ToolFormatterType tool_formatter_type = 15; + */ + toolFormatterType: ToolFormatterType; + + /** + * @generated from field: string inference_server_url = 18; + */ + inferenceServerUrl: string; + + /** + * @generated from field: repeated string harness_uids = 20; + */ + harnessUids: string[]; + + /** + * @generated from field: optional exa.codeium_common_pb.ArenaConfig arena_config = 21; + */ + arenaConfig?: ArenaConfig | undefined; + + /** + * @generated from field: exa.codeium_common_pb.DisplayOption display_option = 22; + */ + displayOption: DisplayOption; + + /** + * @generated from field: string model_family_uid = 23; + */ + modelFamilyUid: string; + + /** + * @generated from field: exa.codeium_common_pb.InferenceConfig inference_config = 24; + */ + inferenceConfig?: InferenceConfig | undefined; + + /** + * @generated from field: bool is_model_router = 25; + */ + isModelRouter: boolean; +}; + +/** + * Describes the message exa.codeium_common_pb.ModelInfo. + * Use `create(ModelInfoSchema)` to create a new message. + */ +export const ModelInfoSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 94); + +/** + * @generated from message exa.codeium_common_pb.ModelFamilyMetadataValue + */ +export type ModelFamilyMetadataValue = Message<"exa.codeium_common_pb.ModelFamilyMetadataValue"> & { + /** + * @generated from field: int32 order = 1; + */ + order: number; + + /** + * @generated from field: string name = 2; + */ + name: string; +}; + +/** + * Describes the message exa.codeium_common_pb.ModelFamilyMetadataValue. + * Use `create(ModelFamilyMetadataValueSchema)` to create a new message. + */ +export const ModelFamilyMetadataValueSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 95); + +/** + * @generated from message exa.codeium_common_pb.ModelFamilyMetadataEntry + */ +export type ModelFamilyMetadataEntry = Message<"exa.codeium_common_pb.ModelFamilyMetadataEntry"> & { + /** + * @generated from field: string key = 1; + */ + key: string; + + /** + * @generated from field: exa.codeium_common_pb.ModelFamilyMetadataValue value = 2; + */ + value?: ModelFamilyMetadataValue | undefined; +}; + +/** + * Describes the message exa.codeium_common_pb.ModelFamilyMetadataEntry. + * Use `create(ModelFamilyMetadataEntrySchema)` to create a new message. + */ +export const ModelFamilyMetadataEntrySchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 96); + +/** + * @generated from message exa.codeium_common_pb.ModelFamilyMetadata + */ +export type ModelFamilyMetadata = Message<"exa.codeium_common_pb.ModelFamilyMetadata"> & { + /** + * @generated from field: string model_family_label = 1; + */ + modelFamilyLabel: string; + + /** + * @generated from field: repeated exa.codeium_common_pb.ModelFamilyMetadataEntry entries = 2; + */ + entries: ModelFamilyMetadataEntry[]; + + /** + * @generated from field: bool is_default_model_in_family = 3; + */ + isDefaultModelInFamily: boolean; +}; + +/** + * Describes the message exa.codeium_common_pb.ModelFamilyMetadata. + * Use `create(ModelFamilyMetadataSchema)` to create a new message. + */ +export const ModelFamilyMetadataSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 97); + +/** + * @generated from message exa.codeium_common_pb.ApiProviderRoutingConfig + */ +export type ApiProviderRoutingConfig = Message<"exa.codeium_common_pb.ApiProviderRoutingConfig"> & { + /** + * @generated from field: map model_map = 1; + */ + modelMap: { [key: string]: ApiProviderConfigMap }; +}; + +/** + * Describes the message exa.codeium_common_pb.ApiProviderRoutingConfig. + * Use `create(ApiProviderRoutingConfigSchema)` to create a new message. + */ +export const ApiProviderRoutingConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 98); + +/** + * @generated from message exa.codeium_common_pb.ApiProviderConfigMap + */ +export type ApiProviderConfigMap = Message<"exa.codeium_common_pb.ApiProviderConfigMap"> & { + /** + * @generated from field: map provider_map = 1; + */ + providerMap: { [key: string]: ApiProviderConfig }; +}; + +/** + * Describes the message exa.codeium_common_pb.ApiProviderConfigMap. + * Use `create(ApiProviderConfigMapSchema)` to create a new message. + */ +export const ApiProviderConfigMapSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 99); + +/** + * @generated from message exa.codeium_common_pb.ApiProviderConfig + */ +export type ApiProviderConfig = Message<"exa.codeium_common_pb.ApiProviderConfig"> & { + /** + * @generated from field: uint32 weight = 1; + */ + weight: number; + + /** + * @generated from field: uint32 cache_ttl_minutes = 2; + */ + cacheTtlMinutes: number; + + /** + * @generated from field: string model_name = 3; + */ + modelName: string; +}; + +/** + * Describes the message exa.codeium_common_pb.ApiProviderConfig. + * Use `create(ApiProviderConfigSchema)` to create a new message. + */ +export const ApiProviderConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 100); + +/** + * @generated from message exa.codeium_common_pb.ShadowTrafficConfig + */ +export type ShadowTrafficConfig = Message<"exa.codeium_common_pb.ShadowTrafficConfig"> & { + /** + * @generated from field: map model_map = 1; + */ + modelMap: { [key: string]: ShadowTargetList }; +}; + +/** + * Describes the message exa.codeium_common_pb.ShadowTrafficConfig. + * Use `create(ShadowTrafficConfigSchema)` to create a new message. + */ +export const ShadowTrafficConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 101); + +/** + * @generated from message exa.codeium_common_pb.ShadowTargetList + */ +export type ShadowTargetList = Message<"exa.codeium_common_pb.ShadowTargetList"> & { + /** + * @generated from field: repeated exa.codeium_common_pb.ShadowTarget targets = 1; + */ + targets: ShadowTarget[]; +}; + +/** + * Describes the message exa.codeium_common_pb.ShadowTargetList. + * Use `create(ShadowTargetListSchema)` to create a new message. + */ +export const ShadowTargetListSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 102); + +/** + * @generated from message exa.codeium_common_pb.ShadowTarget + */ +export type ShadowTarget = Message<"exa.codeium_common_pb.ShadowTarget"> & { + /** + * @generated from field: string provider = 1; + */ + provider: string; + + /** + * @generated from field: string model = 2; + */ + model: string; + + /** + * @generated from field: string model_name = 3; + */ + modelName: string; + + /** + * @generated from field: double sample_rate = 4; + */ + sampleRate: number; +}; + +/** + * Describes the message exa.codeium_common_pb.ShadowTarget. + * Use `create(ShadowTargetSchema)` to create a new message. + */ +export const ShadowTargetSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 103); + +/** + * @generated from message exa.codeium_common_pb.ModelConfig + */ +export type ModelConfig = Message<"exa.codeium_common_pb.ModelConfig"> & { + /** + * @generated from field: exa.codeium_common_pb.ModelInfo generation_model = 1; + */ + generationModel?: ModelInfo | undefined; + + /** + * @generated from field: exa.codeium_common_pb.ModelInfo context_check_model = 2; + */ + contextCheckModel?: ModelInfo | undefined; +}; + +/** + * Describes the message exa.codeium_common_pb.ModelConfig. + * Use `create(ModelConfigSchema)` to create a new message. + */ +export const ModelConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 104); + +/** + * @generated from message exa.codeium_common_pb.ModelStatusInfo + */ +export type ModelStatusInfo = Message<"exa.codeium_common_pb.ModelStatusInfo"> & { + /** + * @generated from field: exa.codeium_common_pb.Model model = 1 [deprecated = true]; + * @deprecated + */ + model: Model; + + /** + * @generated from field: string model_uid = 4; + */ + modelUid: string; + + /** + * @generated from field: string message = 2; + */ + message: string; + + /** + * @generated from field: exa.codeium_common_pb.ModelStatus status = 3; + */ + status: ModelStatus; +}; + +/** + * Describes the message exa.codeium_common_pb.ModelStatusInfo. + * Use `create(ModelStatusInfoSchema)` to create a new message. + */ +export const ModelStatusInfoSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 105); + +/** + * @generated from message exa.codeium_common_pb.CompletionExample + */ +export type CompletionExample = Message<"exa.codeium_common_pb.CompletionExample"> & { + /** + * @generated from field: string uid = 1; + */ + uid: string; + + /** + * @generated from field: string completion_id = 2; + */ + completionId: string; + + /** + * @generated from field: string file_path = 3; + */ + filePath: string; + + /** + * @generated from field: string short_prefix = 4; + */ + shortPrefix: string; + + /** + * @generated from field: string completion_text = 5; + */ + completionText: string; + + /** + * @generated from field: string short_suffix = 6; + */ + shortSuffix: string; +}; + +/** + * Describes the message exa.codeium_common_pb.CompletionExample. + * Use `create(CompletionExampleSchema)` to create a new message. + */ +export const CompletionExampleSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 106); + +/** + * @generated from message exa.codeium_common_pb.CompletionExampleWithMetadata + */ +export type CompletionExampleWithMetadata = Message<"exa.codeium_common_pb.CompletionExampleWithMetadata"> & { + /** + * @generated from field: exa.codeium_common_pb.CompletionExample example = 1; + */ + example?: CompletionExample | undefined; + + /** + * @generated from field: string name = 2; + */ + name: string; + + /** + * @generated from field: google.protobuf.Timestamp time = 4; + */ + time?: Timestamp | undefined; +}; + +/** + * Describes the message exa.codeium_common_pb.CompletionExampleWithMetadata. + * Use `create(CompletionExampleWithMetadataSchema)` to create a new message. + */ +export const CompletionExampleWithMetadataSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 107); + +/** + * @generated from message exa.codeium_common_pb.CciWithSubrange + */ +export type CciWithSubrange = Message<"exa.codeium_common_pb.CciWithSubrange"> & { + /** + * @generated from field: exa.codeium_common_pb.CodeContextItem cci = 1; + */ + cci?: CodeContextItem | undefined; + + /** + * @generated from field: exa.codeium_common_pb.ContextSubrange subrange = 2; + */ + subrange?: ContextSubrange | undefined; +}; + +/** + * Describes the message exa.codeium_common_pb.CciWithSubrange. + * Use `create(CciWithSubrangeSchema)` to create a new message. + */ +export const CciWithSubrangeSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 108); + +/** + * @generated from message exa.codeium_common_pb.ContextSubrange + */ +export type ContextSubrange = Message<"exa.codeium_common_pb.ContextSubrange"> & { + /** + * @generated from field: exa.codeium_common_pb.ContextSnippetType snippet_type = 1; + */ + snippetType: ContextSnippetType; + + /** + * @generated from field: int64 start_offset = 2; + */ + startOffset: bigint; + + /** + * @generated from field: int64 end_offset = 3; + */ + endOffset: bigint; +}; + +/** + * Describes the message exa.codeium_common_pb.ContextSubrange. + * Use `create(ContextSubrangeSchema)` to create a new message. + */ +export const ContextSubrangeSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 109); + +/** + * @generated from message exa.codeium_common_pb.PathScopeItem + */ +export type PathScopeItem = Message<"exa.codeium_common_pb.PathScopeItem"> & { + /** + * @generated from field: string absolute_path_migrate_me_to_uri = 1 [deprecated = true]; + * @deprecated + */ + absolutePathMigrateMeToUri: string; + + /** + * @generated from field: string absolute_uri = 5; + */ + absoluteUri: string; + + /** + * @generated from field: map workspace_relative_paths_migrate_me_to_workspace_uris = 2 [deprecated = true]; + * @deprecated + */ + workspaceRelativePathsMigrateMeToWorkspaceUris: { [key: string]: string }; + + /** + * @generated from field: map workspace_uris_to_relative_paths = 6; + */ + workspaceUrisToRelativePaths: { [key: string]: string }; + + /** + * @generated from field: uint32 num_files = 3; + */ + numFiles: number; + + /** + * @generated from field: uint64 num_bytes = 4; + */ + numBytes: bigint; +}; + +/** + * Describes the message exa.codeium_common_pb.PathScopeItem. + * Use `create(PathScopeItemSchema)` to create a new message. + */ +export const PathScopeItemSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 110); + +/** + * @generated from message exa.codeium_common_pb.FileLineRange + */ +export type FileLineRange = Message<"exa.codeium_common_pb.FileLineRange"> & { + /** + * @generated from field: string absolute_uri = 1; + */ + absoluteUri: string; + + /** + * @generated from field: uint32 start_line = 2; + */ + startLine: number; + + /** + * @generated from field: uint32 end_line = 3; + */ + endLine: number; +}; + +/** + * Describes the message exa.codeium_common_pb.FileLineRange. + * Use `create(FileLineRangeSchema)` to create a new message. + */ +export const FileLineRangeSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 111); + +/** + * @generated from message exa.codeium_common_pb.FileRangeContent + */ +export type FileRangeContent = Message<"exa.codeium_common_pb.FileRangeContent"> & { + /** + * @generated from field: string content = 1; + */ + content: string; + + /** + * @generated from field: exa.codeium_common_pb.FileLineRange source = 2; + */ + source?: FileLineRange | undefined; +}; + +/** + * Describes the message exa.codeium_common_pb.FileRangeContent. + * Use `create(FileRangeContentSchema)` to create a new message. + */ +export const FileRangeContentSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 112); + +/** + * @generated from message exa.codeium_common_pb.TextBlock + */ +export type TextBlock = Message<"exa.codeium_common_pb.TextBlock"> & { + /** + * @generated from field: string content = 1; + */ + content: string; + + /** + * @generated from oneof exa.codeium_common_pb.TextBlock.identifier + */ + identifier: { + /** + * @generated from field: exa.codeium_common_pb.FileLineRange file_line_range = 2; + */ + value: FileLineRange; + case: "fileLineRange"; + } | { + /** + * @generated from field: string label = 3; + */ + value: string; + case: "label"; + } | { case: undefined; value?: undefined }; +}; + +/** + * Describes the message exa.codeium_common_pb.TextBlock. + * Use `create(TextBlockSchema)` to create a new message. + */ +export const TextBlockSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 113); + +/** + * @generated from message exa.codeium_common_pb.RepositoryScopeItem + */ +export type RepositoryScopeItem = Message<"exa.codeium_common_pb.RepositoryScopeItem"> & { + /** + * @generated from field: exa.codeium_common_pb.GitRepoInfo repo_info = 1; + */ + repoInfo?: GitRepoInfo | undefined; +}; + +/** + * Describes the message exa.codeium_common_pb.RepositoryScopeItem. + * Use `create(RepositoryScopeItemSchema)` to create a new message. + */ +export const RepositoryScopeItemSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 114); + +/** + * @generated from message exa.codeium_common_pb.RepositoryPathScopeItem + */ +export type RepositoryPathScopeItem = Message<"exa.codeium_common_pb.RepositoryPathScopeItem"> & { + /** + * @generated from field: exa.codeium_common_pb.GitRepoInfo repo_info = 1; + */ + repoInfo?: GitRepoInfo | undefined; + + /** + * @generated from field: string relative_path = 2; + */ + relativePath: string; + + /** + * @generated from field: bool is_dir = 3; + */ + isDir: boolean; +}; + +/** + * Describes the message exa.codeium_common_pb.RepositoryPathScopeItem. + * Use `create(RepositoryPathScopeItemSchema)` to create a new message. + */ +export const RepositoryPathScopeItemSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 115); + +/** + * @generated from message exa.codeium_common_pb.KnowledgeBaseScopeItem + */ +export type KnowledgeBaseScopeItem = Message<"exa.codeium_common_pb.KnowledgeBaseScopeItem"> & { + /** + * @generated from field: string document_id = 1; + */ + documentId: string; + + /** + * @generated from field: exa.codeium_common_pb.IndexChoice index = 7; + */ + index: IndexChoice; + + /** + * @generated from field: exa.codeium_common_pb.DocumentType document_type = 8; + */ + documentType: DocumentType; + + /** + * @generated from field: string display_name = 3; + */ + displayName: string; + + /** + * @generated from field: string description = 4; + */ + description: string; + + /** + * @generated from field: string display_source = 5; + */ + displaySource: string; + + /** + * @generated from field: string url = 6; + */ + url: string; +}; + +/** + * Describes the message exa.codeium_common_pb.KnowledgeBaseScopeItem. + * Use `create(KnowledgeBaseScopeItemSchema)` to create a new message. + */ +export const KnowledgeBaseScopeItemSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 116); + +/** + * @generated from message exa.codeium_common_pb.ConsoleLogLine + */ +export type ConsoleLogLine = Message<"exa.codeium_common_pb.ConsoleLogLine"> & { + /** + * @generated from field: string timestamp_str = 1; + */ + timestampStr: string; + + /** + * @generated from field: string type = 2; + */ + type: string; + + /** + * @generated from field: string output = 3; + */ + output: string; + + /** + * @generated from field: string console_message_location = 4; + */ + consoleMessageLocation: string; +}; + +/** + * Describes the message exa.codeium_common_pb.ConsoleLogLine. + * Use `create(ConsoleLogLineSchema)` to create a new message. + */ +export const ConsoleLogLineSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 117); + +/** + * @generated from message exa.codeium_common_pb.ConsoleLogScopeItem + */ +export type ConsoleLogScopeItem = Message<"exa.codeium_common_pb.ConsoleLogScopeItem"> & { + /** + * @generated from field: repeated exa.codeium_common_pb.ConsoleLogLine lines = 1; + */ + lines: ConsoleLogLine[]; + + /** + * @generated from field: string server_address = 2; + */ + serverAddress: string; +}; + +/** + * Describes the message exa.codeium_common_pb.ConsoleLogScopeItem. + * Use `create(ConsoleLogScopeItemSchema)` to create a new message. + */ +export const ConsoleLogScopeItemSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 118); + +/** + * @generated from message exa.codeium_common_pb.DOMElementScopeItem + */ +export type DOMElementScopeItem = Message<"exa.codeium_common_pb.DOMElementScopeItem"> & { + /** + * @generated from field: string tag_name = 1; + */ + tagName: string; + + /** + * @generated from field: string outer_html = 2; + */ + outerHtml: string; + + /** + * @generated from field: string id = 3; + */ + id: string; + + /** + * @generated from field: string react_component_name = 4; + */ + reactComponentName: string; + + /** + * @generated from field: exa.codeium_common_pb.FileLineRange file_line_range = 5; + */ + fileLineRange?: FileLineRange | undefined; +}; + +/** + * Describes the message exa.codeium_common_pb.DOMElementScopeItem. + * Use `create(DOMElementScopeItemSchema)` to create a new message. + */ +export const DOMElementScopeItemSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 119); + +/** + * @generated from message exa.codeium_common_pb.DOMTree + */ +export type DOMTree = Message<"exa.codeium_common_pb.DOMTree"> & { + /** + * @generated from field: exa.codeium_common_pb.DOMTree.DOMNode root = 1; + */ + root?: DOMTree_DOMNode | undefined; + + /** + * @generated from field: uint32 num_nodes = 2; + */ + numNodes: number; +}; + +/** + * Describes the message exa.codeium_common_pb.DOMTree. + * Use `create(DOMTreeSchema)` to create a new message. + */ +export const DOMTreeSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 120); + +/** + * @generated from message exa.codeium_common_pb.DOMTree.BoundingBox + */ +export type DOMTree_BoundingBox = Message<"exa.codeium_common_pb.DOMTree.BoundingBox"> & { + /** + * @generated from field: float x = 1; + */ + x: number; + + /** + * @generated from field: float y = 2; + */ + y: number; + + /** + * @generated from field: float width = 3; + */ + width: number; + + /** + * @generated from field: float height = 4; + */ + height: number; +}; + +/** + * Describes the message exa.codeium_common_pb.DOMTree.BoundingBox. + * Use `create(DOMTree_BoundingBoxSchema)` to create a new message. + */ +export const DOMTree_BoundingBoxSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 120, 0); + +/** + * @generated from message exa.codeium_common_pb.DOMTree.DOMNode + */ +export type DOMTree_DOMNode = Message<"exa.codeium_common_pb.DOMTree.DOMNode"> & { + /** + * @generated from field: repeated exa.codeium_common_pb.DOMTree.DOMNode children = 1; + */ + children: DOMTree_DOMNode[]; + + /** + * @generated from field: string tag_name = 2; + */ + tagName: string; + + /** + * @generated from field: string id = 3; + */ + id: string; + + /** + * @generated from field: repeated string class_names = 4; + */ + classNames: string[]; + + /** + * @generated from field: string text_content = 5; + */ + textContent: string; + + /** + * @generated from field: exa.codeium_common_pb.DOMTree.BoundingBox bbox = 6; + */ + bbox?: DOMTree_BoundingBox | undefined; + + /** + * @generated from field: string aria_label = 7; + */ + ariaLabel: string; + + /** + * @generated from field: string title = 8; + */ + title: string; + + /** + * @generated from field: string alt = 9; + */ + alt: string; + + /** + * @generated from field: string placeholder = 10; + */ + placeholder: string; + + /** + * @generated from field: string href = 11; + */ + href: string; +}; + +/** + * Describes the message exa.codeium_common_pb.DOMTree.DOMNode. + * Use `create(DOMTree_DOMNodeSchema)` to create a new message. + */ +export const DOMTree_DOMNodeSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 120, 1); + +/** + * @generated from message exa.codeium_common_pb.RecipeScopeItem + */ +export type RecipeScopeItem = Message<"exa.codeium_common_pb.RecipeScopeItem"> & { + /** + * @generated from field: string recipe_id = 1; + */ + recipeId: string; + + /** + * @generated from field: string title = 2; + */ + title: string; + + /** + * @generated from field: string description = 3; + */ + description: string; + + /** + * @generated from field: string system_prompt = 4; + */ + systemPrompt: string; + + /** + * @generated from field: optional string uri = 5; + */ + uri?: string | undefined; + + /** + * @generated from field: optional exa.codeium_common_pb.CascadeCommandsAutoExecution execution_mode = 6; + */ + executionMode?: CascadeCommandsAutoExecution | undefined; +}; + +/** + * Describes the message exa.codeium_common_pb.RecipeScopeItem. + * Use `create(RecipeScopeItemSchema)` to create a new message. + */ +export const RecipeScopeItemSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 121); + +/** + * @generated from message exa.codeium_common_pb.CodeMapScopeItem + */ +export type CodeMapScopeItem = Message<"exa.codeium_common_pb.CodeMapScopeItem"> & { + /** + * @generated from field: string title = 1; + */ + title: string; + + /** + * @generated from field: string content = 2; + */ + content: string; + + /** + * @generated from field: string description = 3; + */ + description: string; + + /** + * @generated from field: optional string location = 4; + */ + location?: string | undefined; +}; + +/** + * Describes the message exa.codeium_common_pb.CodeMapScopeItem. + * Use `create(CodeMapScopeItemSchema)` to create a new message. + */ +export const CodeMapScopeItemSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 122); + +/** + * @generated from message exa.codeium_common_pb.RuleScopeItem + */ +export type RuleScopeItem = Message<"exa.codeium_common_pb.RuleScopeItem"> & { + /** + * @generated from field: string rule_path = 1; + */ + rulePath: string; + + /** + * @generated from field: string rule_name = 2; + */ + ruleName: string; + + /** + * @generated from field: string description = 3; + */ + description: string; +}; + +/** + * Describes the message exa.codeium_common_pb.RuleScopeItem. + * Use `create(RuleScopeItemSchema)` to create a new message. + */ +export const RuleScopeItemSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 123); + +/** + * @generated from message exa.codeium_common_pb.SkillScopeItem + */ +export type SkillScopeItem = Message<"exa.codeium_common_pb.SkillScopeItem"> & { + /** + * @generated from field: string skill_name = 1; + */ + skillName: string; + + /** + * @generated from field: string description = 2; + */ + description: string; + + /** + * @generated from field: optional string uri = 3; + */ + uri?: string | undefined; + + /** + * @generated from field: int32 resource_count = 4; + */ + resourceCount: number; + + /** + * @generated from field: string base_dir = 5; + */ + baseDir: string; + + /** + * @generated from field: string content = 6; + */ + content: string; +}; + +/** + * Describes the message exa.codeium_common_pb.SkillScopeItem. + * Use `create(SkillScopeItemSchema)` to create a new message. + */ +export const SkillScopeItemSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 124); + +/** + * @generated from message exa.codeium_common_pb.PlanFileScopeItem + */ +export type PlanFileScopeItem = Message<"exa.codeium_common_pb.PlanFileScopeItem"> & { + /** + * @generated from field: string plan_path = 1; + */ + planPath: string; + + /** + * @generated from field: string title = 2; + */ + title: string; + + /** + * @generated from field: string description = 3; + */ + description: string; + + /** + * @generated from field: bool request_implementation = 4; + */ + requestImplementation: boolean; +}; + +/** + * Describes the message exa.codeium_common_pb.PlanFileScopeItem. + * Use `create(PlanFileScopeItemSchema)` to create a new message. + */ +export const PlanFileScopeItemSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 125); + +/** + * @generated from message exa.codeium_common_pb.McpPromptScopeItem + */ +export type McpPromptScopeItem = Message<"exa.codeium_common_pb.McpPromptScopeItem"> & { + /** + * @generated from field: string server_name = 1; + */ + serverName: string; + + /** + * @generated from field: string prompt_name = 2; + */ + promptName: string; + + /** + * @generated from field: map arguments = 3; + */ + arguments: { [key: string]: string }; + + /** + * @generated from field: string resolved_content = 4; + */ + resolvedContent: string; +}; + +/** + * Describes the message exa.codeium_common_pb.McpPromptScopeItem. + * Use `create(McpPromptScopeItemSchema)` to create a new message. + */ +export const McpPromptScopeItemSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 126); + +/** + * @generated from message exa.codeium_common_pb.McpResourceItem + */ +export type McpResourceItem = Message<"exa.codeium_common_pb.McpResourceItem"> & { + /** + * @generated from field: string uri = 1; + */ + uri: string; + + /** + * @generated from field: string name = 2; + */ + name: string; + + /** + * @generated from field: optional string description = 3; + */ + description?: string | undefined; + + /** + * @generated from field: optional string mime_type = 4; + */ + mimeType?: string | undefined; + + /** + * @generated from field: string server_name = 5; + */ + serverName: string; +}; + +/** + * Describes the message exa.codeium_common_pb.McpResourceItem. + * Use `create(McpResourceItemSchema)` to create a new message. + */ +export const McpResourceItemSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 127); + +/** + * @generated from message exa.codeium_common_pb.BrowserPageScopeItem + */ +export type BrowserPageScopeItem = Message<"exa.codeium_common_pb.BrowserPageScopeItem"> & { + /** + * @generated from field: string url = 1; + */ + url: string; + + /** + * @generated from field: string title = 2; + */ + title: string; + + /** + * @generated from field: string visible_text_content = 3; + */ + visibleTextContent: string; + + /** + * @generated from field: string page_id = 4; + */ + pageId: string; +}; + +/** + * Describes the message exa.codeium_common_pb.BrowserPageScopeItem. + * Use `create(BrowserPageScopeItemSchema)` to create a new message. + */ +export const BrowserPageScopeItemSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 128); + +/** + * @generated from message exa.codeium_common_pb.BrowserCodeBlockScopeItem + */ +export type BrowserCodeBlockScopeItem = Message<"exa.codeium_common_pb.BrowserCodeBlockScopeItem"> & { + /** + * @generated from field: string url = 1; + */ + url: string; + + /** + * @generated from field: string title = 2; + */ + title: string; + + /** + * @generated from field: string code_content = 3; + */ + codeContent: string; + + /** + * @generated from field: exa.codeium_common_pb.Language language = 4; + */ + language: Language; + + /** + * @generated from field: optional string context_text = 5; + */ + contextText?: string | undefined; + + /** + * @generated from field: string page_id = 6; + */ + pageId: string; +}; + +/** + * Describes the message exa.codeium_common_pb.BrowserCodeBlockScopeItem. + * Use `create(BrowserCodeBlockScopeItemSchema)` to create a new message. + */ +export const BrowserCodeBlockScopeItemSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 129); + +/** + * @generated from message exa.codeium_common_pb.BrowserTextScopeItem + */ +export type BrowserTextScopeItem = Message<"exa.codeium_common_pb.BrowserTextScopeItem"> & { + /** + * @generated from field: string url = 1; + */ + url: string; + + /** + * @generated from field: string visible_text = 2; + */ + visibleText: string; + + /** + * @generated from field: string page_id = 3; + */ + pageId: string; +}; + +/** + * Describes the message exa.codeium_common_pb.BrowserTextScopeItem. + * Use `create(BrowserTextScopeItemSchema)` to create a new message. + */ +export const BrowserTextScopeItemSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 130); + +/** + * @generated from message exa.codeium_common_pb.ConversationScopeItem + */ +export type ConversationScopeItem = Message<"exa.codeium_common_pb.ConversationScopeItem"> & { + /** + * @generated from field: string id = 1; + */ + id: string; + + /** + * @generated from field: string title = 2; + */ + title: string; + + /** + * @generated from field: google.protobuf.Timestamp last_modified_time = 3; + */ + lastModifiedTime?: Timestamp | undefined; + + /** + * @generated from field: string summary = 4; + */ + summary: string; +}; + +/** + * Describes the message exa.codeium_common_pb.ConversationScopeItem. + * Use `create(ConversationScopeItemSchema)` to create a new message. + */ +export const ConversationScopeItemSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 131); + +/** + * @generated from message exa.codeium_common_pb.UserActivityScopeItem + */ +export type UserActivityScopeItem = Message<"exa.codeium_common_pb.UserActivityScopeItem"> & { + /** + * @generated from field: string id = 1; + */ + id: string; + + /** + * @generated from field: string branch = 2; + */ + branch: string; + + /** + * @generated from field: bool current = 3; + */ + current: boolean; +}; + +/** + * Describes the message exa.codeium_common_pb.UserActivityScopeItem. + * Use `create(UserActivityScopeItemSchema)` to create a new message. + */ +export const UserActivityScopeItemSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 132); + +/** + * @generated from message exa.codeium_common_pb.TerminalScopeItem + */ +export type TerminalScopeItem = Message<"exa.codeium_common_pb.TerminalScopeItem"> & { + /** + * @generated from field: string process_id = 1; + */ + processId: string; + + /** + * @generated from field: string name = 2; + */ + name: string; + + /** + * @generated from field: string last_command = 3; + */ + lastCommand: string; + + /** + * @generated from field: string content = 4; + */ + content: string; +}; + +/** + * Describes the message exa.codeium_common_pb.TerminalScopeItem. + * Use `create(TerminalScopeItemSchema)` to create a new message. + */ +export const TerminalScopeItemSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 133); + +/** + * @generated from message exa.codeium_common_pb.GithubPullRequestItem + */ +export type GithubPullRequestItem = Message<"exa.codeium_common_pb.GithubPullRequestItem"> & { + /** + * @generated from field: string url = 1; + */ + url: string; + + /** + * @generated from field: string title = 2; + */ + title: string; + + /** + * @generated from field: string owner = 3; + */ + owner: string; + + /** + * @generated from field: string number = 4; + */ + number: string; +}; + +/** + * Describes the message exa.codeium_common_pb.GithubPullRequestItem. + * Use `create(GithubPullRequestItemSchema)` to create a new message. + */ +export const GithubPullRequestItemSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 134); + +/** + * @generated from message exa.codeium_common_pb.GitCommitData + */ +export type GitCommitData = Message<"exa.codeium_common_pb.GitCommitData"> & { + /** + * @generated from field: string sha = 1; + */ + sha: string; + + /** + * @generated from field: string short_sha = 2; + */ + shortSha: string; + + /** + * @generated from field: string subject = 3; + */ + subject: string; + + /** + * @generated from field: string author = 4; + */ + author: string; + + /** + * @generated from field: google.protobuf.Timestamp timestamp = 5; + */ + timestamp?: Timestamp | undefined; + + /** + * @generated from field: int32 insertions = 6; + */ + insertions: number; + + /** + * @generated from field: int32 deletions = 7; + */ + deletions: number; +}; + +/** + * Describes the message exa.codeium_common_pb.GitCommitData. + * Use `create(GitCommitDataSchema)` to create a new message. + */ +export const GitCommitDataSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 135); + +/** + * @generated from message exa.codeium_common_pb.GitDiffData + */ +export type GitDiffData = Message<"exa.codeium_common_pb.GitDiffData"> & { + /** + * @generated from field: string branch_name = 1; + */ + branchName: string; + + /** + * @generated from field: string base_branch = 2; + */ + baseBranch: string; + + /** + * @generated from field: string merge_base_sha = 3; + */ + mergeBaseSha: string; + + /** + * @generated from field: int32 files_changed = 4; + */ + filesChanged: number; + + /** + * @generated from field: int32 insertions = 5; + */ + insertions: number; + + /** + * @generated from field: int32 deletions = 6; + */ + deletions: number; + + /** + * @generated from field: string branch_head_sha = 7; + */ + branchHeadSha: string; +}; + +/** + * Describes the message exa.codeium_common_pb.GitDiffData. + * Use `create(GitDiffDataSchema)` to create a new message. + */ +export const GitDiffDataSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 136); + +/** + * @generated from message exa.codeium_common_pb.GitWorkingChangesData + */ +export type GitWorkingChangesData = Message<"exa.codeium_common_pb.GitWorkingChangesData"> & { + /** + * @generated from field: int32 staged_count = 1; + */ + stagedCount: number; + + /** + * @generated from field: int32 unstaged_count = 2; + */ + unstagedCount: number; + + /** + * @generated from field: int32 untracked_count = 3; + */ + untrackedCount: number; +}; + +/** + * Describes the message exa.codeium_common_pb.GitWorkingChangesData. + * Use `create(GitWorkingChangesDataSchema)` to create a new message. + */ +export const GitWorkingChangesDataSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 137); + +/** + * @generated from message exa.codeium_common_pb.GitScopeItem + */ +export type GitScopeItem = Message<"exa.codeium_common_pb.GitScopeItem"> & { + /** + * @generated from field: string repo_root_uri = 1; + */ + repoRootUri: string; + + /** + * @generated from field: string repo_display_name = 6; + */ + repoDisplayName: string; + + /** + * @generated from oneof exa.codeium_common_pb.GitScopeItem.git_data + */ + gitData: { + /** + * @generated from field: exa.codeium_common_pb.GitCommitData commit = 2; + */ + value: GitCommitData; + case: "commit"; + } | { + /** + * @generated from field: exa.codeium_common_pb.GitDiffData diff = 3; + */ + value: GitDiffData; + case: "diff"; + } | { + /** + * @generated from field: exa.codeium_common_pb.GitWorkingChangesData working_changes = 4; + */ + value: GitWorkingChangesData; + case: "workingChanges"; + } | { case: undefined; value?: undefined }; + + /** + * @generated from field: string formatted_content = 5; + */ + formattedContent: string; +}; + +/** + * Describes the message exa.codeium_common_pb.GitScopeItem. + * Use `create(GitScopeItemSchema)` to create a new message. + */ +export const GitScopeItemSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 138); + +/** + * @generated from message exa.codeium_common_pb.ContextScopeItem + */ +export type ContextScopeItem = Message<"exa.codeium_common_pb.ContextScopeItem"> & { + /** + * @generated from oneof exa.codeium_common_pb.ContextScopeItem.scope_item + */ + scopeItem: { + /** + * @generated from field: exa.codeium_common_pb.PathScopeItem file = 1; + */ + value: PathScopeItem; + case: "file"; + } | { + /** + * @generated from field: exa.codeium_common_pb.PathScopeItem directory = 2; + */ + value: PathScopeItem; + case: "directory"; + } | { + /** + * @generated from field: exa.codeium_common_pb.RepositoryScopeItem repository = 3; + */ + value: RepositoryScopeItem; + case: "repository"; + } | { + /** + * @generated from field: exa.codeium_common_pb.CodeContextItem code_context = 4; + */ + value: CodeContextItem; + case: "codeContext"; + } | { + /** + * @generated from field: exa.codeium_common_pb.CciWithSubrange cci_with_subrange = 6; + */ + value: CciWithSubrange; + case: "cciWithSubrange"; + } | { + /** + * @generated from field: exa.codeium_common_pb.RepositoryPathScopeItem repository_path = 7; + */ + value: RepositoryPathScopeItem; + case: "repositoryPath"; + } | { + /** + * @generated from field: exa.codeium_common_pb.KnowledgeBaseScopeItem slack = 8; + */ + value: KnowledgeBaseScopeItem; + case: "slack"; + } | { + /** + * @generated from field: exa.codeium_common_pb.KnowledgeBaseScopeItem github = 9; + */ + value: KnowledgeBaseScopeItem; + case: "github"; + } | { + /** + * @generated from field: exa.codeium_common_pb.FileLineRange file_line_range = 10; + */ + value: FileLineRange; + case: "fileLineRange"; + } | { + /** + * @generated from field: exa.codeium_common_pb.TextBlock text_block = 11; + */ + value: TextBlock; + case: "textBlock"; + } | { + /** + * @generated from field: exa.codeium_common_pb.KnowledgeBaseScopeItem jira = 12; + */ + value: KnowledgeBaseScopeItem; + case: "jira"; + } | { + /** + * @generated from field: exa.codeium_common_pb.KnowledgeBaseScopeItem google_drive = 13; + */ + value: KnowledgeBaseScopeItem; + case: "googleDrive"; + } | { + /** + * @generated from field: exa.codeium_common_pb.ConsoleLogScopeItem console_log = 14; + */ + value: ConsoleLogScopeItem; + case: "consoleLog"; + } | { + /** + * @generated from field: exa.codeium_common_pb.DOMElementScopeItem dom_element = 15; + */ + value: DOMElementScopeItem; + case: "domElement"; + } | { + /** + * @generated from field: exa.codeium_common_pb.RecipeScopeItem recipe = 16; + */ + value: RecipeScopeItem; + case: "recipe"; + } | { + /** + * @generated from field: exa.codeium_common_pb.KnowledgeBaseScopeItem knowledge = 17; + */ + value: KnowledgeBaseScopeItem; + case: "knowledge"; + } | { + /** + * @generated from field: exa.codeium_common_pb.RuleScopeItem rule = 18; + */ + value: RuleScopeItem; + case: "rule"; + } | { + /** + * @generated from field: exa.codeium_common_pb.McpResourceItem mcp_resource = 19; + */ + value: McpResourceItem; + case: "mcpResource"; + } | { + /** + * @generated from field: exa.codeium_common_pb.BrowserPageScopeItem browser_page = 20; + */ + value: BrowserPageScopeItem; + case: "browserPage"; + } | { + /** + * @generated from field: exa.codeium_common_pb.BrowserCodeBlockScopeItem browser_code_block = 21; + */ + value: BrowserCodeBlockScopeItem; + case: "browserCodeBlock"; + } | { + /** + * @generated from field: exa.codeium_common_pb.BrowserTextScopeItem browser_text = 22; + */ + value: BrowserTextScopeItem; + case: "browserText"; + } | { + /** + * @generated from field: exa.codeium_common_pb.ConversationScopeItem conversation = 23; + */ + value: ConversationScopeItem; + case: "conversation"; + } | { + /** + * @generated from field: exa.codeium_common_pb.UserActivityScopeItem user_activity = 24; + */ + value: UserActivityScopeItem; + case: "userActivity"; + } | { + /** + * @generated from field: exa.codeium_common_pb.TerminalScopeItem terminal = 25; + */ + value: TerminalScopeItem; + case: "terminal"; + } | { + /** + * @generated from field: exa.codeium_common_pb.GithubPullRequestItem github_pull_request = 26; + */ + value: GithubPullRequestItem; + case: "githubPullRequest"; + } | { + /** + * @generated from field: exa.codeium_common_pb.CodeMapScopeItem code_map = 27; + */ + value: CodeMapScopeItem; + case: "codeMap"; + } | { + /** + * @generated from field: exa.codeium_common_pb.McpPromptScopeItem mcp_prompt = 28; + */ + value: McpPromptScopeItem; + case: "mcpPrompt"; + } | { + /** + * @generated from field: exa.codeium_common_pb.SkillScopeItem skill = 29; + */ + value: SkillScopeItem; + case: "skill"; + } | { + /** + * @generated from field: exa.codeium_common_pb.PlanFileScopeItem plan_file = 30; + */ + value: PlanFileScopeItem; + case: "planFile"; + } | { + /** + * @generated from field: exa.codeium_common_pb.GitScopeItem git = 31; + */ + value: GitScopeItem; + case: "git"; + } | { case: undefined; value?: undefined }; +}; + +/** + * Describes the message exa.codeium_common_pb.ContextScopeItem. + * Use `create(ContextScopeItemSchema)` to create a new message. + */ +export const ContextScopeItemSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 139); + +/** + * @generated from message exa.codeium_common_pb.ContextScope + */ +export type ContextScope = Message<"exa.codeium_common_pb.ContextScope"> & { + /** + * @generated from field: repeated exa.codeium_common_pb.ContextScopeItem items = 1; + */ + items: ContextScopeItem[]; +}; + +/** + * Describes the message exa.codeium_common_pb.ContextScope. + * Use `create(ContextScopeSchema)` to create a new message. + */ +export const ContextScopeSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 140); + +/** + * @generated from message exa.codeium_common_pb.NodeExecutionRecord + */ +export type NodeExecutionRecord = Message<"exa.codeium_common_pb.NodeExecutionRecord"> & { + /** + * @generated from field: string node_name = 1; + */ + nodeName: string; + + /** + * @generated from field: google.protobuf.Timestamp start_time = 2; + */ + startTime?: Timestamp | undefined; + + /** + * @generated from field: google.protobuf.Timestamp end_time = 3; + */ + endTime?: Timestamp | undefined; + + /** + * @generated from field: bytes graph_state_json = 5; + */ + graphStateJson: Uint8Array; + + /** + * @generated from field: uint64 graph_state_json_num_bytes = 6; + */ + graphStateJsonNumBytes: bigint; + + /** + * @generated from field: exa.codeium_common_pb.GraphExecutionState subgraph_execution = 4; + */ + subgraphExecution?: GraphExecutionState | undefined; +}; + +/** + * Describes the message exa.codeium_common_pb.NodeExecutionRecord. + * Use `create(NodeExecutionRecordSchema)` to create a new message. + */ +export const NodeExecutionRecordSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 141); + +/** + * @generated from message exa.codeium_common_pb.GraphExecutionState + */ +export type GraphExecutionState = Message<"exa.codeium_common_pb.GraphExecutionState"> & { + /** + * @generated from field: exa.codeium_common_pb.NodeExecutionRecord current = 1; + */ + current?: NodeExecutionRecord | undefined; + + /** + * @generated from field: repeated exa.codeium_common_pb.NodeExecutionRecord history = 2; + */ + history: NodeExecutionRecord[]; +}; + +/** + * Describes the message exa.codeium_common_pb.GraphExecutionState. + * Use `create(GraphExecutionStateSchema)` to create a new message. + */ +export const GraphExecutionStateSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 142); + +/** + * @generated from message exa.codeium_common_pb.Guideline + */ +export type Guideline = Message<"exa.codeium_common_pb.Guideline"> & { + /** + * @generated from field: repeated exa.codeium_common_pb.GuidelineItem items = 1; + */ + items: GuidelineItem[]; +}; + +/** + * Describes the message exa.codeium_common_pb.Guideline. + * Use `create(GuidelineSchema)` to create a new message. + */ +export const GuidelineSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 143); + +/** + * @generated from message exa.codeium_common_pb.GuidelineItem + */ +export type GuidelineItem = Message<"exa.codeium_common_pb.GuidelineItem"> & { + /** + * @generated from field: string guideline = 1; + */ + guideline: string; +}; + +/** + * Describes the message exa.codeium_common_pb.GuidelineItem. + * Use `create(GuidelineItemSchema)` to create a new message. + */ +export const GuidelineItemSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 144); + +/** + * @generated from message exa.codeium_common_pb.ChatNodeConfig + */ +export type ChatNodeConfig = Message<"exa.codeium_common_pb.ChatNodeConfig"> & { + /** + * @generated from field: exa.codeium_common_pb.Model model = 1; + */ + model: Model; + + /** + * @generated from field: uint32 max_input_tokens = 2; + */ + maxInputTokens: number; + + /** + * @generated from field: float temperature = 3; + */ + temperature: number; + + /** + * @generated from field: uint32 max_output_tokens = 4; + */ + maxOutputTokens: number; + + /** + * @generated from field: bool order_snippets_by_file = 5; + */ + orderSnippetsByFile: boolean; +}; + +/** + * Describes the message exa.codeium_common_pb.ChatNodeConfig. + * Use `create(ChatNodeConfigSchema)` to create a new message. + */ +export const ChatNodeConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 145); + +/** + * @generated from message exa.codeium_common_pb.MQueryConfig + */ +export type MQueryConfig = Message<"exa.codeium_common_pb.MQueryConfig"> & { + /** + * @generated from field: bool should_batch_ccis = 1; + */ + shouldBatchCcis: boolean; + + /** + * @generated from field: int64 max_tokens_per_subrange = 2; + */ + maxTokensPerSubrange: bigint; + + /** + * @generated from field: int64 num_parser_workers = 3; + */ + numParserWorkers: bigint; + + /** + * @generated from field: int64 num_workers_per_distributed_scorer = 4; + */ + numWorkersPerDistributedScorer: bigint; + + /** + * @generated from field: bool verbose = 5; + */ + verbose: boolean; + + /** + * @generated from field: repeated string ignore_extensions = 6; + */ + ignoreExtensions: string[]; + + /** + * @generated from field: repeated string ignore_directory_stubs = 7; + */ + ignoreDirectoryStubs: string[]; + + /** + * @generated from field: uint32 min_token_space_for_context = 8; + */ + minTokenSpaceForContext: number; + + /** + * @generated from field: uint32 max_target_files = 9; + */ + maxTargetFiles: number; + + /** + * @generated from field: uint32 top_cci_count = 10; + */ + topCciCount: number; +}; + +/** + * Describes the message exa.codeium_common_pb.MQueryConfig. + * Use `create(MQueryConfigSchema)` to create a new message. + */ +export const MQueryConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 146); + +/** + * @generated from message exa.codeium_common_pb.CompletionDelta + */ +export type CompletionDelta = Message<"exa.codeium_common_pb.CompletionDelta"> & { + /** + * @generated from field: string delta_text = 1; + */ + deltaText: string; + + /** + * @generated from field: uint32 delta_tokens = 2; + */ + deltaTokens: number; + + /** + * @generated from field: exa.codeium_common_pb.StopReason stop_reason = 3; + */ + stopReason: StopReason; + + /** + * @generated from field: exa.codeium_common_pb.ModelUsageStats usage = 4; + */ + usage?: ModelUsageStats | undefined; + + /** + * @generated from field: repeated exa.codeium_common_pb.ChatToolCall delta_tool_calls = 5; + */ + deltaToolCalls: ChatToolCall[]; + + /** + * @generated from field: string delta_thinking = 6; + */ + deltaThinking: string; + + /** + * @generated from field: string delta_signature = 7; + */ + deltaSignature: string; + + /** + * @generated from field: bool thinking_redacted = 8; + */ + thinkingRedacted: boolean; + + /** + * @generated from field: string output_id = 9; + */ + outputId: string; + + /** + * @generated from field: string thinking_id = 10 [deprecated = true]; + * @deprecated + */ + thinkingId: string; + + /** + * @generated from field: bytes gemini_thought_signature = 11 [deprecated = true]; + * @deprecated + */ + geminiThoughtSignature: Uint8Array; + + /** + * @generated from field: string delta_signature_type = 12; + */ + deltaSignatureType: string; + + /** + * @generated from field: string phase = 13; + */ + phase: string; +}; + +/** + * Describes the message exa.codeium_common_pb.CompletionDelta. + * Use `create(CompletionDeltaSchema)` to create a new message. + */ +export const CompletionDeltaSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 147); + +/** + * @generated from message exa.codeium_common_pb.CompletionDeltaMap + */ +export type CompletionDeltaMap = Message<"exa.codeium_common_pb.CompletionDeltaMap"> & { + /** + * @generated from field: map deltas = 1; + */ + deltas: { [key: number]: CompletionDelta }; + + /** + * @generated from field: string prompt = 2; + */ + prompt: string; + + /** + * @generated from field: exa.codeium_common_pb.CompletionProfile completion_profile = 3; + */ + completionProfile?: CompletionProfile | undefined; +}; + +/** + * Describes the message exa.codeium_common_pb.CompletionDeltaMap. + * Use `create(CompletionDeltaMapSchema)` to create a new message. + */ +export const CompletionDeltaMapSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 148); + +/** + * @generated from message exa.codeium_common_pb.ChatCompletionInfo + */ +export type ChatCompletionInfo = Message<"exa.codeium_common_pb.ChatCompletionInfo"> & { + /** + * @generated from field: string prompt = 1; + */ + prompt: string; + + /** + * @generated from field: string inference_address = 2; + */ + inferenceAddress: string; +}; + +/** + * Describes the message exa.codeium_common_pb.ChatCompletionInfo. + * Use `create(ChatCompletionInfoSchema)` to create a new message. + */ +export const ChatCompletionInfoSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 149); + +/** + * @generated from message exa.codeium_common_pb.ChatToolCall + */ +export type ChatToolCall = Message<"exa.codeium_common_pb.ChatToolCall"> & { + /** + * @generated from field: string id = 1; + */ + id: string; + + /** + * @generated from field: string name = 2; + */ + name: string; + + /** + * @generated from field: string arguments_json = 3; + */ + argumentsJson: string; + + /** + * @generated from field: string invalid_json_str = 4; + */ + invalidJsonStr: string; + + /** + * @generated from field: string invalid_json_err = 5; + */ + invalidJsonErr: string; + + /** + * @generated from field: bool is_custom_tool_call = 6; + */ + isCustomToolCall: boolean; +}; + +/** + * Describes the message exa.codeium_common_pb.ChatToolCall. + * Use `create(ChatToolCallSchema)` to create a new message. + */ +export const ChatToolCallSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 150); + +/** + * @generated from message exa.codeium_common_pb.IdeStatus + */ +export type IdeStatus = Message<"exa.codeium_common_pb.IdeStatus"> & { + /** + * @generated from field: exa.codeium_common_pb.StatusLevel level = 1; + */ + level: StatusLevel; + + /** + * @generated from field: string message = 2; + */ + message: string; +}; + +/** + * Describes the message exa.codeium_common_pb.IdeStatus. + * Use `create(IdeStatusSchema)` to create a new message. + */ +export const IdeStatusSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 151); + +/** + * @generated from message exa.codeium_common_pb.Status + */ +export type Status = Message<"exa.codeium_common_pb.Status"> & { + /** + * @generated from field: int32 code = 1; + */ + code: number; + + /** + * @generated from field: string message = 2; + */ + message: string; +}; + +/** + * Describes the message exa.codeium_common_pb.Status. + * Use `create(StatusSchema)` to create a new message. + */ +export const StatusSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 152); + +/** + * @generated from message exa.codeium_common_pb.DocumentPosition + */ +export type DocumentPosition = Message<"exa.codeium_common_pb.DocumentPosition"> & { + /** + * @generated from field: uint64 row = 1; + */ + row: bigint; + + /** + * @generated from field: uint64 col = 2; + */ + col: bigint; +}; + +/** + * Describes the message exa.codeium_common_pb.DocumentPosition. + * Use `create(DocumentPositionSchema)` to create a new message. + */ +export const DocumentPositionSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 153); + +/** + * @generated from message exa.codeium_common_pb.Range + */ +export type Range = Message<"exa.codeium_common_pb.Range"> & { + /** + * @generated from field: uint64 start_offset = 1; + */ + startOffset: bigint; + + /** + * @generated from field: uint64 end_offset = 2; + */ + endOffset: bigint; + + /** + * @generated from field: exa.codeium_common_pb.DocumentPosition start_position = 3; + */ + startPosition?: DocumentPosition | undefined; + + /** + * @generated from field: exa.codeium_common_pb.DocumentPosition end_position = 4; + */ + endPosition?: DocumentPosition | undefined; +}; + +/** + * Describes the message exa.codeium_common_pb.Range. + * Use `create(RangeSchema)` to create a new message. + */ +export const RangeSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 154); + +/** + * @generated from message exa.codeium_common_pb.Document + */ +export type Document = Message<"exa.codeium_common_pb.Document"> & { + /** + * @generated from field: string absolute_path_migrate_me_to_uri = 1 [deprecated = true]; + * @deprecated + */ + absolutePathMigrateMeToUri: string; + + /** + * @generated from field: string absolute_uri = 12; + */ + absoluteUri: string; + + /** + * @generated from field: string relative_path_migrate_me_to_workspace_uri = 2 [deprecated = true]; + * @deprecated + */ + relativePathMigrateMeToWorkspaceUri: string; + + /** + * @generated from field: string workspace_uri = 13; + */ + workspaceUri: string; + + /** + * @generated from field: string text = 3; + */ + text: string; + + /** + * @generated from field: string editor_language = 4; + */ + editorLanguage: string; + + /** + * @generated from field: exa.codeium_common_pb.Language language = 5; + */ + language: Language; + + /** + * @generated from field: uint64 cursor_offset = 6; + */ + cursorOffset: bigint; + + /** + * @generated from field: exa.codeium_common_pb.DocumentPosition cursor_position = 8; + */ + cursorPosition?: DocumentPosition | undefined; + + /** + * @generated from field: string line_ending = 7; + */ + lineEnding: string; + + /** + * @generated from field: exa.codeium_common_pb.Range visible_range = 9; + */ + visibleRange?: Range | undefined; + + /** + * @generated from field: bool is_cutoff_start = 10; + */ + isCutoffStart: boolean; + + /** + * @generated from field: bool is_cutoff_end = 11; + */ + isCutoffEnd: boolean; + + /** + * @generated from field: int32 lines_cutoff_start = 14; + */ + linesCutoffStart: number; + + /** + * @generated from field: int32 lines_cutoff_end = 15; + */ + linesCutoffEnd: number; + + /** + * @generated from field: google.protobuf.Timestamp timestamp = 16; + */ + timestamp?: Timestamp | undefined; + + /** + * @generated from field: bool is_dirty = 17; + */ + isDirty: boolean; + + /** + * @generated from field: bool is_notebook = 19; + */ + isNotebook: boolean; + + /** + * @generated from field: google.protobuf.Timestamp last_access_time = 21; + */ + lastAccessTime?: Timestamp | undefined; + + /** + * @generated from field: repeated exa.codeium_common_pb.Range selections = 22; + */ + selections: Range[]; + + /** + * @generated from field: optional uint64 hash = 23; + */ + hash?: bigint | undefined; +}; + +/** + * Describes the message exa.codeium_common_pb.Document. + * Use `create(DocumentSchema)` to create a new message. + */ +export const DocumentSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 155); + +/** + * @generated from message exa.codeium_common_pb.PromptComponents + */ +export type PromptComponents = Message<"exa.codeium_common_pb.PromptComponents"> & { + /** + * @generated from field: exa.codeium_common_pb.Document document = 1; + */ + document?: Document | undefined; + + /** + * @generated from field: repeated exa.codeium_common_pb.Document other_documents = 2; + */ + otherDocuments: Document[]; + + /** + * @generated from field: repeated exa.codeium_common_pb.CodeContextItem code_context_items = 3; + */ + codeContextItems: CodeContextItem[]; +}; + +/** + * Describes the message exa.codeium_common_pb.PromptComponents. + * Use `create(PromptComponentsSchema)` to create a new message. + */ +export const PromptComponentsSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 156); + +/** + * @generated from message exa.codeium_common_pb.TextOrScopeItem + */ +export type TextOrScopeItem = Message<"exa.codeium_common_pb.TextOrScopeItem"> & { + /** + * @generated from oneof exa.codeium_common_pb.TextOrScopeItem.chunk + */ + chunk: { + /** + * @generated from field: string text = 1; + */ + value: string; + case: "text"; + } | { + /** + * @generated from field: exa.codeium_common_pb.ContextScopeItem item = 2; + */ + value: ContextScopeItem; + case: "item"; + } | { case: undefined; value?: undefined }; +}; + +/** + * Describes the message exa.codeium_common_pb.TextOrScopeItem. + * Use `create(TextOrScopeItemSchema)` to create a new message. + */ +export const TextOrScopeItemSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 157); + +/** + * @generated from message exa.codeium_common_pb.PinnedContextConfig + */ +export type PinnedContextConfig = Message<"exa.codeium_common_pb.PinnedContextConfig"> & { + /** + * @generated from field: string match_repo_name = 1; + */ + matchRepoName: string; + + /** + * @generated from field: string match_path = 2; + */ + matchPath: string; + + /** + * @generated from field: repeated exa.codeium_common_pb.PinnedContext pinned_contexts = 3; + */ + pinnedContexts: PinnedContext[]; +}; + +/** + * Describes the message exa.codeium_common_pb.PinnedContextConfig. + * Use `create(PinnedContextConfigSchema)` to create a new message. + */ +export const PinnedContextConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 158); + +/** + * @generated from message exa.codeium_common_pb.PinnedContext + */ +export type PinnedContext = Message<"exa.codeium_common_pb.PinnedContext"> & { + /** + * @generated from oneof exa.codeium_common_pb.PinnedContext.context_item + */ + contextItem: { + /** + * @generated from field: exa.codeium_common_pb.RepositoryPath repository_path = 1; + */ + value: RepositoryPath; + case: "repositoryPath"; + } | { case: undefined; value?: undefined }; +}; + +/** + * Describes the message exa.codeium_common_pb.PinnedContext. + * Use `create(PinnedContextSchema)` to create a new message. + */ +export const PinnedContextSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 159); + +/** + * @generated from message exa.codeium_common_pb.RepositoryPath + */ +export type RepositoryPath = Message<"exa.codeium_common_pb.RepositoryPath"> & { + /** + * @generated from field: string remote_repo_name = 1; + */ + remoteRepoName: string; + + /** + * @generated from field: string version = 2; + */ + version: string; + + /** + * @generated from field: string relative_path = 3; + */ + relativePath: string; +}; + +/** + * Describes the message exa.codeium_common_pb.RepositoryPath. + * Use `create(RepositoryPathSchema)` to create a new message. + */ +export const RepositoryPathSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 160); + +/** + * @generated from message exa.codeium_common_pb.DefaultPinnedContextConfig + */ +export type DefaultPinnedContextConfig = Message<"exa.codeium_common_pb.DefaultPinnedContextConfig"> & { + /** + * @generated from field: repeated exa.codeium_common_pb.PinnedContextConfig pinned_context_configs = 1; + */ + pinnedContextConfigs: PinnedContextConfig[]; +}; + +/** + * Describes the message exa.codeium_common_pb.DefaultPinnedContextConfig. + * Use `create(DefaultPinnedContextConfigSchema)` to create a new message. + */ +export const DefaultPinnedContextConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 161); + +/** + * @generated from message exa.codeium_common_pb.Rule + */ +export type Rule = Message<"exa.codeium_common_pb.Rule"> & { + /** + * @generated from field: string id = 1; + */ + id: string; + + /** + * @generated from field: string prompt = 2; + */ + prompt: string; +}; + +/** + * Describes the message exa.codeium_common_pb.Rule. + * Use `create(RuleSchema)` to create a new message. + */ +export const RuleSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 162); + +/** + * @generated from message exa.codeium_common_pb.RuleViolation + */ +export type RuleViolation = Message<"exa.codeium_common_pb.RuleViolation"> & { + /** + * @generated from field: string id = 1; + */ + id: string; + + /** + * @generated from field: exa.codeium_common_pb.Rule rule = 2; + */ + rule?: Rule | undefined; + + /** + * @generated from field: int32 start_line = 3; + */ + startLine: number; + + /** + * @generated from field: int32 end_line = 4; + */ + endLine: number; +}; + +/** + * Describes the message exa.codeium_common_pb.RuleViolation. + * Use `create(RuleViolationSchema)` to create a new message. + */ +export const RuleViolationSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 163); + +/** + * @generated from message exa.codeium_common_pb.LanguageServerDiagnostics + */ +export type LanguageServerDiagnostics = Message<"exa.codeium_common_pb.LanguageServerDiagnostics"> & { + /** + * @generated from field: repeated string logs = 1; + */ + logs: string[]; + + /** + * @generated from field: bytes goroutine_profile = 2; + */ + goroutineProfile: Uint8Array; +}; + +/** + * Describes the message exa.codeium_common_pb.LanguageServerDiagnostics. + * Use `create(LanguageServerDiagnosticsSchema)` to create a new message. + */ +export const LanguageServerDiagnosticsSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 164); + +/** + * @generated from message exa.codeium_common_pb.IndexerStats + */ +export type IndexerStats = Message<"exa.codeium_common_pb.IndexerStats"> & { + /** + * @generated from field: exa.codeium_common_pb.IndexerDbStats database = 1; + */ + database?: IndexerDbStats | undefined; +}; + +/** + * Describes the message exa.codeium_common_pb.IndexerStats. + * Use `create(IndexerStatsSchema)` to create a new message. + */ +export const IndexerStatsSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 165); + +/** + * @generated from message exa.codeium_common_pb.IndexerDbStats + */ +export type IndexerDbStats = Message<"exa.codeium_common_pb.IndexerDbStats"> & { + /** + * @generated from oneof exa.codeium_common_pb.IndexerDbStats.backend + */ + backend: { + /** + * @generated from field: exa.codeium_common_pb.LocalSqliteFaissDbStats local_sqlite_faiss = 1; + */ + value: LocalSqliteFaissDbStats; + case: "localSqliteFaiss"; + } | { + /** + * @generated from field: exa.codeium_common_pb.PostgresDbStats postgres = 2; + */ + value: PostgresDbStats; + case: "postgres"; + } | { case: undefined; value?: undefined }; +}; + +/** + * Describes the message exa.codeium_common_pb.IndexerDbStats. + * Use `create(IndexerDbStatsSchema)` to create a new message. + */ +export const IndexerDbStatsSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 166); + +/** + * @generated from message exa.codeium_common_pb.LocalSqliteFaissDbStats + */ +export type LocalSqliteFaissDbStats = Message<"exa.codeium_common_pb.LocalSqliteFaissDbStats"> & { + /** + * @generated from field: repeated exa.codeium_common_pb.FaissStateStats faiss_state_stats = 1; + */ + faissStateStats: FaissStateStats[]; + + /** + * @generated from field: int64 total_item_count = 2; + */ + totalItemCount: bigint; + + /** + * @generated from field: bool quantized = 3; + */ + quantized: boolean; +}; + +/** + * Describes the message exa.codeium_common_pb.LocalSqliteFaissDbStats. + * Use `create(LocalSqliteFaissDbStatsSchema)` to create a new message. + */ +export const LocalSqliteFaissDbStatsSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 167); + +/** + * @generated from message exa.codeium_common_pb.FaissStateStats + */ +export type FaissStateStats = Message<"exa.codeium_common_pb.FaissStateStats"> & { + /** + * @generated from field: exa.codeium_common_pb.EmbeddingSource embedding_source = 1; + */ + embeddingSource: EmbeddingSource; + + /** + * @generated from field: string workspace = 2; + */ + workspace: string; + + /** + * @generated from field: int64 item_count = 3; + */ + itemCount: bigint; +}; + +/** + * Describes the message exa.codeium_common_pb.FaissStateStats. + * Use `create(FaissStateStatsSchema)` to create a new message. + */ +export const FaissStateStatsSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 168); + +/** + * @generated from message exa.codeium_common_pb.PostgresDbStats + */ +export type PostgresDbStats = Message<"exa.codeium_common_pb.PostgresDbStats"> & { +}; + +/** + * Describes the message exa.codeium_common_pb.PostgresDbStats. + * Use `create(PostgresDbStatsSchema)` to create a new message. + */ +export const PostgresDbStatsSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 169); + +/** + * @generated from message exa.codeium_common_pb.LastUpdateRecord + */ +export type LastUpdateRecord = Message<"exa.codeium_common_pb.LastUpdateRecord"> & { + /** + * @generated from field: google.protobuf.Timestamp time = 1; + */ + time?: Timestamp | undefined; + + /** + * @generated from field: exa.codeium_common_pb.LastUpdateType type = 2; + */ + type: LastUpdateType; +}; + +/** + * Describes the message exa.codeium_common_pb.LastUpdateRecord. + * Use `create(LastUpdateRecordSchema)` to create a new message. + */ +export const LastUpdateRecordSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 170); + +/** + * @generated from message exa.codeium_common_pb.LastUpdateRecordList + */ +export type LastUpdateRecordList = Message<"exa.codeium_common_pb.LastUpdateRecordList"> & { + /** + * @generated from field: repeated exa.codeium_common_pb.LastUpdateRecord records = 1; + */ + records: LastUpdateRecord[]; +}; + +/** + * Describes the message exa.codeium_common_pb.LastUpdateRecordList. + * Use `create(LastUpdateRecordListSchema)` to create a new message. + */ +export const LastUpdateRecordListSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 171); + +/** + * @generated from message exa.codeium_common_pb.ModelUsageStats + */ +export type ModelUsageStats = Message<"exa.codeium_common_pb.ModelUsageStats"> & { + /** + * @generated from field: exa.codeium_common_pb.Model model_deprecated = 1 [deprecated = true]; + * @deprecated + */ + modelDeprecated: Model; + + /** + * @generated from field: string model_uid = 9; + */ + modelUid: string; + + /** + * @generated from field: string billing_model_uid = 10; + */ + billingModelUid: string; + + /** + * @generated from field: string requested_model_uid = 11; + */ + requestedModelUid: string; + + /** + * @generated from field: uint64 input_tokens = 2; + */ + inputTokens: bigint; + + /** + * @generated from field: uint64 output_tokens = 3; + */ + outputTokens: bigint; + + /** + * @generated from field: uint64 cache_write_tokens = 4; + */ + cacheWriteTokens: bigint; + + /** + * @generated from field: uint64 cache_read_tokens = 5; + */ + cacheReadTokens: bigint; + + /** + * @generated from field: exa.codeium_common_pb.APIProvider api_provider = 6; + */ + apiProvider: APIProvider; + + /** + * @generated from field: string message_id = 7; + */ + messageId: string; + + /** + * @generated from field: map response_header = 8; + */ + responseHeader: { [key: string]: string }; +}; + +/** + * Describes the message exa.codeium_common_pb.ModelUsageStats. + * Use `create(ModelUsageStatsSchema)` to create a new message. + */ +export const ModelUsageStatsSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 172); + +/** + * @generated from message exa.codeium_common_pb.SuperCompleteFilterReason + */ +export type SuperCompleteFilterReason = Message<"exa.codeium_common_pb.SuperCompleteFilterReason"> & { + /** + * @generated from field: string reason = 1; + */ + reason: string; +}; + +/** + * Describes the message exa.codeium_common_pb.SuperCompleteFilterReason. + * Use `create(SuperCompleteFilterReasonSchema)` to create a new message. + */ +export const SuperCompleteFilterReasonSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 173); + +/** + * @generated from message exa.codeium_common_pb.DiagnosticFix + */ +export type DiagnosticFix = Message<"exa.codeium_common_pb.DiagnosticFix"> & { + /** + * @generated from field: string id = 1; + */ + id: string; + + /** + * @generated from field: string title = 2; + */ + title: string; +}; + +/** + * Describes the message exa.codeium_common_pb.DiagnosticFix. + * Use `create(DiagnosticFixSchema)` to create a new message. + */ +export const DiagnosticFixSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 174); + +/** + * @generated from message exa.codeium_common_pb.CodeDiagnostic + */ +export type CodeDiagnostic = Message<"exa.codeium_common_pb.CodeDiagnostic"> & { + /** + * @generated from field: exa.codeium_common_pb.Range range = 1; + */ + range?: Range | undefined; + + /** + * @generated from field: string message = 2; + */ + message: string; + + /** + * @generated from field: string severity = 3; + */ + severity: string; + + /** + * @generated from field: string source = 4; + */ + source: string; + + /** + * @generated from field: string uri = 5; + */ + uri: string; + + /** + * @generated from field: optional string id = 6; + */ + id?: string | undefined; + + /** + * @generated from field: exa.codeium_common_pb.Language language = 7; + */ + language: Language; + + /** + * @generated from field: int64 score = 8; + */ + score: bigint; + + /** + * @generated from field: repeated exa.codeium_common_pb.DiagnosticFix fixes = 9; + */ + fixes: DiagnosticFix[]; +}; + +/** + * Describes the message exa.codeium_common_pb.CodeDiagnostic. + * Use `create(CodeDiagnosticSchema)` to create a new message. + */ +export const CodeDiagnosticSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 175); + +/** + * @generated from message exa.codeium_common_pb.IntellisenseSuggestion + */ +export type IntellisenseSuggestion = Message<"exa.codeium_common_pb.IntellisenseSuggestion"> & { + /** + * @generated from field: exa.codeium_common_pb.Range range = 1; + */ + range?: Range | undefined; + + /** + * @generated from field: string text = 2; + */ + text: string; + + /** + * @generated from field: string label = 3; + */ + label: string; + + /** + * @generated from field: string label_detail = 4; + */ + labelDetail: string; + + /** + * @generated from field: string description = 5; + */ + description: string; + + /** + * @generated from field: string detail = 6; + */ + detail: string; + + /** + * @generated from field: string documentation = 7; + */ + documentation: string; + + /** + * @generated from field: string kind = 8; + */ + kind: string; + + /** + * @generated from field: bool selected = 9; + */ + selected: boolean; +}; + +/** + * Describes the message exa.codeium_common_pb.IntellisenseSuggestion. + * Use `create(IntellisenseSuggestionSchema)` to create a new message. + */ +export const IntellisenseSuggestionSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 176); + +/** + * @generated from message exa.codeium_common_pb.DocumentLinesElement + */ +export type DocumentLinesElement = Message<"exa.codeium_common_pb.DocumentLinesElement"> & { + /** + * @generated from field: exa.codeium_common_pb.DocumentQuery document_query = 1; + */ + documentQuery?: DocumentQuery | undefined; + + /** + * @generated from field: repeated exa.codeium_common_pb.CodeContextItem overlapped_code_context_items = 2; + */ + overlappedCodeContextItems: CodeContextItem[]; + + /** + * @generated from field: uint32 first_element_suffix_overlap = 3; + */ + firstElementSuffixOverlap: number; + + /** + * @generated from field: uint32 last_element_prefix_overlap = 4; + */ + lastElementPrefixOverlap: number; +}; + +/** + * Describes the message exa.codeium_common_pb.DocumentLinesElement. + * Use `create(DocumentLinesElementSchema)` to create a new message. + */ +export const DocumentLinesElementSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 177); + +/** + * @generated from message exa.codeium_common_pb.DocumentQuery + */ +export type DocumentQuery = Message<"exa.codeium_common_pb.DocumentQuery"> & { + /** + * @generated from field: string text = 1; + */ + text: string; + + /** + * @generated from field: int32 cursor_offset = 2; + */ + cursorOffset: number; + + /** + * @generated from field: uint32 start_line = 3; + */ + startLine: number; + + /** + * @generated from field: uint32 end_line = 4; + */ + endLine: number; + + /** + * @generated from field: bool use_character_position = 5; + */ + useCharacterPosition: boolean; +}; + +/** + * Describes the message exa.codeium_common_pb.DocumentQuery. + * Use `create(DocumentQuerySchema)` to create a new message. + */ +export const DocumentQuerySchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 178); + +/** + * @generated from message exa.codeium_common_pb.DocumentOutlineElement + */ +export type DocumentOutlineElement = Message<"exa.codeium_common_pb.DocumentOutlineElement"> & { + /** + * @generated from oneof exa.codeium_common_pb.DocumentOutlineElement.element + */ + element: { + /** + * @generated from field: exa.codeium_common_pb.CodeContextItem code_context_item = 1; + */ + value: CodeContextItem; + case: "codeContextItem"; + } | { + /** + * @generated from field: exa.codeium_common_pb.DocumentLinesElement document_lines_element = 2; + */ + value: DocumentLinesElement; + case: "documentLinesElement"; + } | { + /** + * @generated from field: string text = 3; + */ + value: string; + case: "text"; + } | { case: undefined; value?: undefined }; +}; + +/** + * Describes the message exa.codeium_common_pb.DocumentOutlineElement. + * Use `create(DocumentOutlineElementSchema)` to create a new message. + */ +export const DocumentOutlineElementSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 179); + +/** + * @generated from message exa.codeium_common_pb.DocumentOutline + */ +export type DocumentOutline = Message<"exa.codeium_common_pb.DocumentOutline"> & { + /** + * @generated from field: repeated exa.codeium_common_pb.DocumentOutlineElement elements = 1; + */ + elements: DocumentOutlineElement[]; + + /** + * @generated from field: int64 start_index = 2; + */ + startIndex: bigint; +}; + +/** + * Describes the message exa.codeium_common_pb.DocumentOutline. + * Use `create(DocumentOutlineSchema)` to create a new message. + */ +export const DocumentOutlineSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 180); + +/** + * @generated from message exa.codeium_common_pb.ProductEvent + */ +export type ProductEvent = Message<"exa.codeium_common_pb.ProductEvent"> & { + /** + * @generated from field: string event_name = 1; + */ + eventName: string; + + /** + * @generated from field: string api_key = 2; + */ + apiKey: string; + + /** + * @generated from field: string installation_id = 3; + */ + installationId: string; + + /** + * @generated from field: string ide_name = 4; + */ + ideName: string; + + /** + * @generated from field: string os = 5; + */ + os: string; + + /** + * @generated from field: string codeium_version = 6; + */ + codeiumVersion: string; + + /** + * @generated from field: string ide_version = 7; + */ + ideVersion: string; + + /** + * @generated from field: uint64 duration_ms = 8; + */ + durationMs: bigint; + + /** + * @generated from field: map extra = 9; + */ + extra: { [key: string]: string }; +}; + +/** + * Describes the message exa.codeium_common_pb.ProductEvent. + * Use `create(ProductEventSchema)` to create a new message. + */ +export const ProductEventSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 181); + +/** + * @generated from message exa.codeium_common_pb.CodebaseCluster + */ +export type CodebaseCluster = Message<"exa.codeium_common_pb.CodebaseCluster"> & { + /** + * @generated from field: string id = 5; + */ + id: string; + + /** + * @generated from field: string name = 1; + */ + name: string; + + /** + * @generated from field: string description = 2; + */ + description: string; + + /** + * @generated from field: string codebase_root_uri = 6; + */ + codebaseRootUri: string; + + /** + * @generated from field: repeated string file_names = 3; + */ + fileNames: string[]; + + /** + * @generated from field: repeated string commit_messages = 4; + */ + commitMessages: string[]; + + /** + * @generated from field: repeated string commit_sha = 7; + */ + commitSha: string[]; + + /** + * @generated from field: repeated string commit_descriptions = 8; + */ + commitDescriptions: string[]; + + /** + * @generated from field: repeated string file_descriptions = 9; + */ + fileDescriptions: string[]; + + /** + * @generated from field: string intent = 10; + */ + intent: string; +}; + +/** + * Describes the message exa.codeium_common_pb.CodebaseCluster. + * Use `create(CodebaseClusterSchema)` to create a new message. + */ +export const CodebaseClusterSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 182); + +/** + * @generated from message exa.codeium_common_pb.CodebaseClusterList + */ +export type CodebaseClusterList = Message<"exa.codeium_common_pb.CodebaseClusterList"> & { + /** + * @generated from field: repeated exa.codeium_common_pb.CodebaseCluster clusters = 1; + */ + clusters: CodebaseCluster[]; +}; + +/** + * Describes the message exa.codeium_common_pb.CodebaseClusterList. + * Use `create(CodebaseClusterListSchema)` to create a new message. + */ +export const CodebaseClusterListSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 183); + +/** + * @generated from message exa.codeium_common_pb.KnowledgeBaseChunk + */ +export type KnowledgeBaseChunk = Message<"exa.codeium_common_pb.KnowledgeBaseChunk"> & { + /** + * @generated from oneof exa.codeium_common_pb.KnowledgeBaseChunk.chunk_type + */ + chunkType: { + /** + * @generated from field: string text = 1; + */ + value: string; + case: "text"; + } | { + /** + * @generated from field: exa.codeium_common_pb.MarkdownChunk markdown_chunk = 3; + */ + value: MarkdownChunk; + case: "markdownChunk"; + } | { case: undefined; value?: undefined }; + + /** + * @generated from field: int32 position = 2; + */ + position: number; +}; + +/** + * Describes the message exa.codeium_common_pb.KnowledgeBaseChunk. + * Use `create(KnowledgeBaseChunkSchema)` to create a new message. + */ +export const KnowledgeBaseChunkSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 184); + +/** + * @generated from message exa.codeium_common_pb.KnowledgeBaseItem + */ +export type KnowledgeBaseItem = Message<"exa.codeium_common_pb.KnowledgeBaseItem"> & { + /** + * @generated from field: string document_id = 1; + */ + documentId: string; + + /** + * @generated from field: string url = 3; + */ + url: string; + + /** + * @generated from field: string title = 4; + */ + title: string; + + /** + * @generated from field: google.protobuf.Timestamp timestamp = 5; + */ + timestamp?: Timestamp | undefined; + + /** + * @generated from field: repeated exa.codeium_common_pb.KnowledgeBaseChunk chunks = 6; + */ + chunks: KnowledgeBaseChunk[]; + + /** + * @generated from field: string summary = 7; + */ + summary: string; + + /** + * @generated from field: exa.codeium_common_pb.ImageData image = 8; + */ + image?: ImageData | undefined; + + /** + * @generated from field: exa.codeium_common_pb.DOMTree dom_tree = 9; + */ + domTree?: DOMTree | undefined; + + /** + * @generated from field: string text = 2 [deprecated = true]; + * @deprecated + */ + text: string; +}; + +/** + * Describes the message exa.codeium_common_pb.KnowledgeBaseItem. + * Use `create(KnowledgeBaseItemSchema)` to create a new message. + */ +export const KnowledgeBaseItemSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 185); + +/** + * @generated from message exa.codeium_common_pb.KnowledgeBaseItemWithMetadata + */ +export type KnowledgeBaseItemWithMetadata = Message<"exa.codeium_common_pb.KnowledgeBaseItemWithMetadata"> & { + /** + * @generated from field: exa.codeium_common_pb.KnowledgeBaseItem knowledge_base_item = 1; + */ + knowledgeBaseItem?: KnowledgeBaseItem | undefined; + + /** + * @generated from field: float score = 2; + */ + score: number; + + /** + * @generated from field: string index_name = 3; + */ + indexName: string; + + /** + * @generated from field: string document_source_name = 4; + */ + documentSourceName: string; +}; + +/** + * Describes the message exa.codeium_common_pb.KnowledgeBaseItemWithMetadata. + * Use `create(KnowledgeBaseItemWithMetadataSchema)` to create a new message. + */ +export const KnowledgeBaseItemWithMetadataSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 186); + +/** + * @generated from message exa.codeium_common_pb.KnowledgeBaseGroup + */ +export type KnowledgeBaseGroup = Message<"exa.codeium_common_pb.KnowledgeBaseGroup"> & { + /** + * @generated from field: string description = 1; + */ + description: string; + + /** + * @generated from field: exa.codeium_common_pb.KnowledgeBaseItemWithMetadata item = 2; + */ + item?: KnowledgeBaseItemWithMetadata | undefined; + + /** + * @generated from field: repeated exa.codeium_common_pb.KnowledgeBaseGroup children = 3; + */ + children: KnowledgeBaseGroup[]; +}; + +/** + * Describes the message exa.codeium_common_pb.KnowledgeBaseGroup. + * Use `create(KnowledgeBaseGroupSchema)` to create a new message. + */ +export const KnowledgeBaseGroupSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 187); + +/** + * @generated from message exa.codeium_common_pb.ImageData + */ +export type ImageData = Message<"exa.codeium_common_pb.ImageData"> & { + /** + * @generated from field: string base64_data = 1; + */ + base64Data: string; + + /** + * @generated from field: string mime_type = 2; + */ + mimeType: string; + + /** + * @generated from field: string caption = 3; + */ + caption: string; +}; + +/** + * Describes the message exa.codeium_common_pb.ImageData. + * Use `create(ImageDataSchema)` to create a new message. + */ +export const ImageDataSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 188); + +/** + * @generated from message exa.codeium_common_pb.TextData + */ +export type TextData = Message<"exa.codeium_common_pb.TextData"> & { + /** + * @generated from field: string text = 1; + */ + text: string; + + /** + * @generated from field: string mime_type = 2; + */ + mimeType: string; +}; + +/** + * Describes the message exa.codeium_common_pb.TextData. + * Use `create(TextDataSchema)` to create a new message. + */ +export const TextDataSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 189); + +/** + * @generated from message exa.codeium_common_pb.MarkdownChunk + */ +export type MarkdownChunk = Message<"exa.codeium_common_pb.MarkdownChunk"> & { + /** + * @generated from field: repeated exa.codeium_common_pb.MarkdownChunk.MarkdownHeader headers = 1; + */ + headers: MarkdownChunk_MarkdownHeader[]; + + /** + * @generated from field: string text = 2; + */ + text: string; +}; + +/** + * Describes the message exa.codeium_common_pb.MarkdownChunk. + * Use `create(MarkdownChunkSchema)` to create a new message. + */ +export const MarkdownChunkSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 190); + +/** + * @generated from message exa.codeium_common_pb.MarkdownChunk.MarkdownHeader + */ +export type MarkdownChunk_MarkdownHeader = Message<"exa.codeium_common_pb.MarkdownChunk.MarkdownHeader"> & { + /** + * @generated from field: exa.codeium_common_pb.MarkdownNodeType type = 1; + */ + type: MarkdownNodeType; + + /** + * @generated from field: string text = 2; + */ + text: string; +}; + +/** + * Describes the message exa.codeium_common_pb.MarkdownChunk.MarkdownHeader. + * Use `create(MarkdownChunk_MarkdownHeaderSchema)` to create a new message. + */ +export const MarkdownChunk_MarkdownHeaderSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 190, 0); + +/** + * @generated from message exa.codeium_common_pb.TerminalShellCommandHeader + */ +export type TerminalShellCommandHeader = Message<"exa.codeium_common_pb.TerminalShellCommandHeader"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 7; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string terminal_id = 1; + */ + terminalId: string; + + /** + * @generated from field: string command_line = 3; + */ + commandLine: string; + + /** + * @generated from field: string cwd = 4; + */ + cwd: string; + + /** + * @generated from field: google.protobuf.Timestamp start_time = 5; + */ + startTime?: Timestamp | undefined; + + /** + * @generated from field: exa.codeium_common_pb.TerminalShellCommandSource source = 6; + */ + source: TerminalShellCommandSource; +}; + +/** + * Describes the message exa.codeium_common_pb.TerminalShellCommandHeader. + * Use `create(TerminalShellCommandHeaderSchema)` to create a new message. + */ +export const TerminalShellCommandHeaderSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 191); + +/** + * @generated from message exa.codeium_common_pb.TerminalShellCommandData + */ +export type TerminalShellCommandData = Message<"exa.codeium_common_pb.TerminalShellCommandData"> & { + /** + * @generated from field: bytes raw_data = 1; + */ + rawData: Uint8Array; +}; + +/** + * Describes the message exa.codeium_common_pb.TerminalShellCommandData. + * Use `create(TerminalShellCommandDataSchema)` to create a new message. + */ +export const TerminalShellCommandDataSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 192); + +/** + * @generated from message exa.codeium_common_pb.TerminalShellCommandTrailer + */ +export type TerminalShellCommandTrailer = Message<"exa.codeium_common_pb.TerminalShellCommandTrailer"> & { + /** + * @generated from field: optional int32 exit_code = 1; + */ + exitCode?: number | undefined; + + /** + * @generated from field: google.protobuf.Timestamp end_time = 2; + */ + endTime?: Timestamp | undefined; + + /** + * @generated from field: optional string full_output = 3; + */ + fullOutput?: string | undefined; + + /** + * @generated from field: optional string ansi_output = 4; + */ + ansiOutput?: string | undefined; +}; + +/** + * Describes the message exa.codeium_common_pb.TerminalShellCommandTrailer. + * Use `create(TerminalShellCommandTrailerSchema)` to create a new message. + */ +export const TerminalShellCommandTrailerSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 193); + +/** + * @generated from message exa.codeium_common_pb.TerminalShellCommandStreamChunk + */ +export type TerminalShellCommandStreamChunk = Message<"exa.codeium_common_pb.TerminalShellCommandStreamChunk"> & { + /** + * @generated from oneof exa.codeium_common_pb.TerminalShellCommandStreamChunk.value + */ + value: { + /** + * @generated from field: exa.codeium_common_pb.TerminalShellCommandHeader header = 1; + */ + value: TerminalShellCommandHeader; + case: "header"; + } | { + /** + * @generated from field: exa.codeium_common_pb.TerminalShellCommandData data = 2; + */ + value: TerminalShellCommandData; + case: "data"; + } | { + /** + * @generated from field: exa.codeium_common_pb.TerminalShellCommandTrailer trailer = 3; + */ + value: TerminalShellCommandTrailer; + case: "trailer"; + } | { case: undefined; value?: undefined }; +}; + +/** + * Describes the message exa.codeium_common_pb.TerminalShellCommandStreamChunk. + * Use `create(TerminalShellCommandStreamChunkSchema)` to create a new message. + */ +export const TerminalShellCommandStreamChunkSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 194); + +/** + * @generated from message exa.codeium_common_pb.TerminalShellCommand + */ +export type TerminalShellCommand = Message<"exa.codeium_common_pb.TerminalShellCommand"> & { + /** + * @generated from field: string id = 10; + */ + id: string; + + /** + * @generated from field: string command_line = 2; + */ + commandLine: string; + + /** + * @generated from field: string cwd = 3; + */ + cwd: string; + + /** + * @generated from field: bytes output = 4; + */ + output: Uint8Array; + + /** + * @generated from field: optional int32 exit_code = 5; + */ + exitCode?: number | undefined; + + /** + * @generated from field: google.protobuf.Timestamp start_time = 6; + */ + startTime?: Timestamp | undefined; + + /** + * @generated from field: google.protobuf.Timestamp end_time = 7; + */ + endTime?: Timestamp | undefined; + + /** + * @generated from field: google.protobuf.Timestamp last_updated_time = 11; + */ + lastUpdatedTime?: Timestamp | undefined; + + /** + * @generated from field: exa.codeium_common_pb.TerminalShellCommandStatus status = 8; + */ + status: TerminalShellCommandStatus; + + /** + * @generated from field: exa.codeium_common_pb.TerminalShellCommandSource source = 9; + */ + source: TerminalShellCommandSource; +}; + +/** + * Describes the message exa.codeium_common_pb.TerminalShellCommand. + * Use `create(TerminalShellCommandSchema)` to create a new message. + */ +export const TerminalShellCommandSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 195); + +/** + * @generated from message exa.codeium_common_pb.TerminalCommandData + */ +export type TerminalCommandData = Message<"exa.codeium_common_pb.TerminalCommandData"> & { + /** + * @generated from field: string terminal_id = 1; + */ + terminalId: string; + + /** + * @generated from field: string platform = 2; + */ + platform: string; + + /** + * @generated from field: string cwd = 3; + */ + cwd: string; + + /** + * @generated from field: string shell_name = 4; + */ + shellName: string; +}; + +/** + * Describes the message exa.codeium_common_pb.TerminalCommandData. + * Use `create(TerminalCommandDataSchema)` to create a new message. + */ +export const TerminalCommandDataSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 196); + +/** + * @generated from message exa.codeium_common_pb.WindsurfProject + */ +export type WindsurfProject = Message<"exa.codeium_common_pb.WindsurfProject"> & { + /** + * @generated from field: string windsurf_project_id = 1; + */ + windsurfProjectId: string; + + /** + * @generated from field: string auth_uid = 2; + */ + authUid: string; + + /** + * @generated from field: exa.codeium_common_pb.DeploymentProvider deployment_provider = 3; + */ + deploymentProvider: DeploymentProvider; + + /** + * @generated from field: string provider_project_id = 4; + */ + providerProjectId: string; + + /** + * @generated from field: string project_name = 5; + */ + projectName: string; + + /** + * @generated from field: google.protobuf.Timestamp created_at = 6; + */ + createdAt?: Timestamp | undefined; + + /** + * @generated from field: google.protobuf.Timestamp updated_at = 7; + */ + updatedAt?: Timestamp | undefined; + + /** + * @generated from field: string domain = 8; + */ + domain: string; + + /** + * @generated from field: string subdomain_name = 9; + */ + subdomainName: string; + + /** + * @generated from field: google.protobuf.Timestamp expires_at = 10; + */ + expiresAt?: Timestamp | undefined; + + /** + * @generated from field: google.protobuf.Timestamp claimed_at = 11; + */ + claimedAt?: Timestamp | undefined; + + /** + * @generated from field: google.protobuf.Timestamp deprovisioned_at = 12; + */ + deprovisionedAt?: Timestamp | undefined; + + /** + * @generated from field: string provider_team_id = 14; + */ + providerTeamId: string; + + /** + * @generated from field: string project_url = 13; + */ + projectUrl: string; +}; + +/** + * Describes the message exa.codeium_common_pb.WindsurfProject. + * Use `create(WindsurfProjectSchema)` to create a new message. + */ +export const WindsurfProjectSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 197); + +/** + * @generated from message exa.codeium_common_pb.WindsurfDeployment + */ +export type WindsurfDeployment = Message<"exa.codeium_common_pb.WindsurfDeployment"> & { + /** + * @generated from field: string windsurf_deployment_id = 1; + */ + windsurfDeploymentId: string; + + /** + * @generated from field: string auth_uid = 2; + */ + authUid: string; + + /** + * @generated from field: exa.codeium_common_pb.DeploymentProvider deployment_provider = 3; + */ + deploymentProvider: DeploymentProvider; + + /** + * @generated from field: string provider_deployment_id = 14; + */ + providerDeploymentId: string; + + /** + * @generated from field: string windsurf_project_id = 19; + */ + windsurfProjectId: string; + + /** + * @generated from field: string project_id = 4; + */ + projectId: string; + + /** + * @generated from field: string project_name = 5; + */ + projectName: string; + + /** + * @generated from field: string workspace_path = 6; + */ + workspacePath: string; + + /** + * @generated from field: google.protobuf.Timestamp created_at = 7; + */ + createdAt?: Timestamp | undefined; + + /** + * @generated from field: google.protobuf.Timestamp updated_at = 8; + */ + updatedAt?: Timestamp | undefined; + + /** + * @generated from field: string domain = 16; + */ + domain: string; + + /** + * @generated from field: string subdomain_name = 17; + */ + subdomainName: string; + + /** + * @generated from field: string provider_team_id = 20; + */ + providerTeamId: string; + + /** + * @generated from field: google.protobuf.Timestamp expires_at = 11; + */ + expiresAt?: Timestamp | undefined; + + /** + * @generated from field: string deployment_url = 12; + */ + deploymentUrl: string; + + /** + * @generated from field: google.protobuf.Timestamp claimed_at = 15; + */ + claimedAt?: Timestamp | undefined; + + /** + * @generated from field: google.protobuf.Timestamp deprovisioned_at = 13; + */ + deprovisionedAt?: Timestamp | undefined; + + /** + * @generated from field: string build_status_url = 9; + */ + buildStatusUrl: string; + + /** + * @generated from field: string project_url = 10; + */ + projectUrl: string; +}; + +/** + * Describes the message exa.codeium_common_pb.WindsurfDeployment. + * Use `create(WindsurfDeploymentSchema)` to create a new message. + */ +export const WindsurfDeploymentSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 198); + +/** + * @generated from message exa.codeium_common_pb.DeployTarget + */ +export type DeployTarget = Message<"exa.codeium_common_pb.DeployTarget"> & { + /** + * @generated from field: exa.codeium_common_pb.DeploymentProvider deployment_provider = 1; + */ + deploymentProvider: DeploymentProvider; + + /** + * @generated from field: bool is_sandbox = 2; + */ + isSandbox: boolean; + + /** + * @generated from field: string provider_team_id = 3; + */ + providerTeamId: string; + + /** + * @generated from field: string provider_team_slug = 4; + */ + providerTeamSlug: string; + + /** + * @generated from field: string domain = 5; + */ + domain: string; +}; + +/** + * Describes the message exa.codeium_common_pb.DeployTarget. + * Use `create(DeployTargetSchema)` to create a new message. + */ +export const DeployTargetSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 199); + +/** + * @generated from message exa.codeium_common_pb.WebDocsOption + */ +export type WebDocsOption = Message<"exa.codeium_common_pb.WebDocsOption"> & { + /** + * @generated from field: string label = 1; + */ + label: string; + + /** + * @generated from oneof exa.codeium_common_pb.WebDocsOption.value + */ + value: { + /** + * @generated from field: string docs_url = 2; + */ + value: string; + case: "docsUrl"; + } | { + /** + * @generated from field: string docs_search_domain = 3; + */ + value: string; + case: "docsSearchDomain"; + } | { case: undefined; value?: undefined }; + + /** + * @generated from field: repeated string synonyms = 4; + */ + synonyms: string[]; + + /** + * @generated from field: bool is_featured = 5; + */ + isFeatured: boolean; +}; + +/** + * Describes the message exa.codeium_common_pb.WebDocsOption. + * Use `create(WebDocsOptionSchema)` to create a new message. + */ +export const WebDocsOptionSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 200); + +/** + * @generated from message exa.codeium_common_pb.TeamConfig + */ +export type TeamConfig = Message<"exa.codeium_common_pb.TeamConfig"> & { + /** + * @generated from field: string team_id = 1; + */ + teamId: string; + + /** + * @generated from field: int32 user_prompt_credit_cap = 2; + */ + userPromptCreditCap: number; + + /** + * @generated from field: int32 user_flow_credit_cap = 3; + */ + userFlowCreditCap: number; + + /** + * @generated from field: bool auto_provision_cascade_seat = 4; + */ + autoProvisionCascadeSeat: boolean; + + /** + * @generated from field: bool allow_mcp_servers = 5; + */ + allowMcpServers: boolean; + + /** + * @generated from field: bool allow_auto_run_commands = 7; + */ + allowAutoRunCommands: boolean; + + /** + * @generated from field: int32 max_unclaimed_sites = 9; + */ + maxUnclaimedSites: number; + + /** + * @generated from field: bool allow_app_deployments = 10; + */ + allowAppDeployments: boolean; + + /** + * @generated from field: bool allow_sandbox_app_deployments = 19; + */ + allowSandboxAppDeployments: boolean; + + /** + * @generated from field: bool allow_teams_app_deployments = 20; + */ + allowTeamsAppDeployments: boolean; + + /** + * @generated from field: int32 max_new_sites_per_day = 11; + */ + maxNewSitesPerDay: number; + + /** + * @generated from field: bool allow_github_reviews = 12; + */ + allowGithubReviews: boolean; + + /** + * @generated from field: bool allow_github_description_edits = 13; + */ + allowGithubDescriptionEdits: boolean; + + /** + * @generated from field: string pull_request_review_guidelines = 14; + */ + pullRequestReviewGuidelines: string; + + /** + * @generated from field: string pull_request_description_guidelines = 16; + */ + pullRequestDescriptionGuidelines: string; + + /** + * @generated from field: bool disable_tool_calls = 15; + */ + disableToolCalls: boolean; + + /** + * @generated from field: bool allow_individual_level_analytics = 17; + */ + allowIndividualLevelAnalytics: boolean; + + /** + * @generated from field: optional bool allow_conversation_sharing = 18; + */ + allowConversationSharing?: boolean | undefined; + + /** + * @generated from field: optional int32 pull_request_review_rate_limit = 21; + */ + pullRequestReviewRateLimit?: number | undefined; + + /** + * @generated from field: bool allow_attribution = 22; + */ + allowAttribution: boolean; + + /** + * @generated from field: repeated exa.codeium_common_pb.McpServerConfig allowed_mcp_servers = 23; + */ + allowedMcpServers: McpServerConfig[]; + + /** + * @generated from field: bool allow_github_auto_reviews = 24; + */ + allowGithubAutoReviews: boolean; + + /** + * @generated from field: bool allow_browser_experimental_features = 25; + */ + allowBrowserExperimentalFeatures: boolean; + + /** + * @generated from field: bool disable_tool_call_execution_outside_workspace = 26; + */ + disableToolCallExecutionOutsideWorkspace: boolean; + + /** + * @generated from field: bool allow_vibe_and_replace = 27; + */ + allowVibeAndReplace: boolean; + + /** + * @generated from field: bool disable_deepwiki = 28; + */ + disableDeepwiki: boolean; + + /** + * @generated from field: int32 user_add_on_credit_cap = 30; + */ + userAddOnCreditCap: number; + + /** + * @generated from field: bool disable_codemaps = 31; + */ + disableCodemaps: boolean; + + /** + * @generated from field: string allow_codemap_sharing = 32; + */ + allowCodemapSharing: string; + + /** + * @generated from field: bool disable_fast_context = 33; + */ + disableFastContext: boolean; + + /** + * @generated from field: bool disable_lifeguard = 34; + */ + disableLifeguard: boolean; + + /** + * @generated from field: repeated string allowed_ip_ranges = 35; + */ + allowedIpRanges: string[]; + + /** + * @generated from field: exa.codeium_common_pb.CascadeCommandsAutoExecution max_cascade_auto_execution_level = 37; + */ + maxCascadeAutoExecutionLevel: CascadeCommandsAutoExecution; + + /** + * @generated from field: optional bool cascade_web_search_enabled = 38; + */ + cascadeWebSearchEnabled?: boolean | undefined; + + /** + * @generated from field: repeated string terminal_allow_list = 39; + */ + terminalAllowList: string[]; + + /** + * @generated from field: repeated string terminal_deny_list = 40; + */ + terminalDenyList: string[]; + + /** + * @generated from field: repeated string cli_permissions_allow = 41; + */ + cliPermissionsAllow: string[]; + + /** + * @generated from field: repeated string cli_permissions_deny = 42; + */ + cliPermissionsDeny: string[]; + + /** + * @generated from field: repeated string cli_permissions_ask = 43; + */ + cliPermissionsAsk: string[]; + + /** + * @generated from field: string default_model_uid = 44; + */ + defaultModelUid: string; + + /** + * @generated from field: bool allow_arena_mode = 45; + */ + allowArenaMode: boolean; + + /** + * @generated from field: string cascade_hooks_json = 46; + */ + cascadeHooksJson: string; + + /** + * @generated from field: bool allow_bundling_devin_cli = 47; + */ + allowBundlingDevinCli: boolean; + + /** + * @generated from field: repeated string mcp_registry_urls = 49; + */ + mcpRegistryUrls: string[]; + + /** + * @generated from field: bool enforce_mcp_registry = 60; + */ + enforceMcpRegistry: boolean; + + /** + * @generated from field: bool cli_default_disabled = 50; + */ + cliDefaultDisabled: boolean; + + /** + * @generated from field: string acp_registry_config = 51; + */ + acpRegistryConfig: string; + + /** + * @generated from field: exa.codeium_common_pb.SandboxEnforcementMode sandbox_enforcement_mode = 55; + */ + sandboxEnforcementMode: SandboxEnforcementMode; + + /** + * @generated from field: repeated string sandbox_allowed_domains = 56; + */ + sandboxAllowedDomains: string[]; + + /** + * @generated from field: repeated string sandbox_denied_domains = 57; + */ + sandboxDeniedDomains: string[]; + + /** + * @generated from field: bool devin_terminal_acp_enabled = 58; + */ + devinTerminalAcpEnabled: boolean; + + /** + * @generated from field: bool devin_cloud_acp_enabled = 59; + */ + devinCloudAcpEnabled: boolean; + + /** + * @generated from field: bool user_configured_banner_enabled = 61; + */ + userConfiguredBannerEnabled: boolean; + + /** + * @generated from field: string user_configured_banner_label = 62; + */ + userConfiguredBannerLabel: string; + + /** + * @generated from field: string user_configured_banner_color = 63; + */ + userConfiguredBannerColor: string; + + /** + * @generated from field: bool disable_cascade = 64; + */ + disableCascade: boolean; + + /** + * @generated from field: string extension_policy = 65; + */ + extensionPolicy: string; + + /** + * @generated from field: optional int32 api_key_expiration_days = 66; + */ + apiKeyExpirationDays?: number | undefined; + + /** + * @generated from field: bool disable_plugins = 67; + */ + disablePlugins: boolean; +}; + +/** + * Describes the message exa.codeium_common_pb.TeamConfig. + * Use `create(TeamConfigSchema)` to create a new message. + */ +export const TeamConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 201); + +/** + * @generated from message exa.codeium_common_pb.WebAppDeploymentConfig + */ +export type WebAppDeploymentConfig = Message<"exa.codeium_common_pb.WebAppDeploymentConfig"> & { + /** + * @generated from field: string project_id = 1; + */ + projectId: string; + + /** + * @generated from field: string framework = 2; + */ + framework: string; +}; + +/** + * Describes the message exa.codeium_common_pb.WebAppDeploymentConfig. + * Use `create(WebAppDeploymentConfigSchema)` to create a new message. + */ +export const WebAppDeploymentConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 202); + +/** + * @generated from message exa.codeium_common_pb.McpServerConfig + */ +export type McpServerConfig = Message<"exa.codeium_common_pb.McpServerConfig"> & { + /** + * @generated from field: string server_id = 1; + */ + serverId: string; + + /** + * @generated from oneof exa.codeium_common_pb.McpServerConfig.configuration + */ + configuration: { + /** + * @generated from field: exa.codeium_common_pb.McpLocalServer local = 2; + */ + value: McpLocalServer; + case: "local"; + } | { + /** + * @generated from field: exa.codeium_common_pb.McpRemoteServer remote = 3; + */ + value: McpRemoteServer; + case: "remote"; + } | { case: undefined; value?: undefined }; +}; + +/** + * Describes the message exa.codeium_common_pb.McpServerConfig. + * Use `create(McpServerConfigSchema)` to create a new message. + */ +export const McpServerConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 203); + +/** + * @generated from message exa.codeium_common_pb.McpLocalServer + */ +export type McpLocalServer = Message<"exa.codeium_common_pb.McpLocalServer"> & { + /** + * @generated from field: string command = 1; + */ + command: string; + + /** + * @generated from field: repeated string args = 2; + */ + args: string[]; + + /** + * @generated from field: map env = 3; + */ + env: { [key: string]: string }; +}; + +/** + * Describes the message exa.codeium_common_pb.McpLocalServer. + * Use `create(McpLocalServerSchema)` to create a new message. + */ +export const McpLocalServerSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 204); + +/** + * @generated from message exa.codeium_common_pb.McpRemoteServer + */ +export type McpRemoteServer = Message<"exa.codeium_common_pb.McpRemoteServer"> & { + /** + * @generated from field: string type = 1; + */ + type: string; + + /** + * @generated from field: string url = 2; + */ + url: string; + + /** + * @generated from field: map headers = 3; + */ + headers: { [key: string]: string }; +}; + +/** + * Describes the message exa.codeium_common_pb.McpRemoteServer. + * Use `create(McpRemoteServerSchema)` to create a new message. + */ +export const McpRemoteServerSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 205); + +/** + * @generated from message exa.codeium_common_pb.UnleashContext + */ +export type UnleashContext = Message<"exa.codeium_common_pb.UnleashContext"> & { + /** + * @generated from field: string user_id = 1; + */ + userId: string; + + /** + * @generated from field: string session_id = 2; + */ + sessionId: string; + + /** + * @generated from field: map properties = 3; + */ + properties: { [key: string]: string }; +}; + +/** + * Describes the message exa.codeium_common_pb.UnleashContext. + * Use `create(UnleashContextSchema)` to create a new message. + */ +export const UnleashContextSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 206); + +/** + * @generated from message exa.codeium_common_pb.BrowserPageMetadata + */ +export type BrowserPageMetadata = Message<"exa.codeium_common_pb.BrowserPageMetadata"> & { + /** + * @generated from field: string url = 1; + */ + url: string; + + /** + * @generated from field: string page_id = 2; + */ + pageId: string; + + /** + * @generated from field: string page_title = 3; + */ + pageTitle: string; + + /** + * @generated from field: uint32 viewport_width = 4; + */ + viewportWidth: number; + + /** + * @generated from field: uint32 viewport_height = 5; + */ + viewportHeight: number; + + /** + * @generated from field: string favicon_url = 6; + */ + faviconUrl: string; + + /** + * @generated from field: google.protobuf.Timestamp last_visited_time = 7; + */ + lastVisitedTime?: Timestamp | undefined; +}; + +/** + * Describes the message exa.codeium_common_pb.BrowserPageMetadata. + * Use `create(BrowserPageMetadataSchema)` to create a new message. + */ +export const BrowserPageMetadataSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 207); + +/** + * @generated from message exa.codeium_common_pb.BrowserClickInteraction + */ +export type BrowserClickInteraction = Message<"exa.codeium_common_pb.BrowserClickInteraction"> & { + /** + * @generated from field: uint32 viewport_scroll_x = 1; + */ + viewportScrollX: number; + + /** + * @generated from field: uint32 viewport_scroll_y = 2; + */ + viewportScrollY: number; + + /** + * @generated from field: uint32 click_x = 3; + */ + clickX: number; + + /** + * @generated from field: uint32 click_y = 4; + */ + clickY: number; + + /** + * @generated from field: string target_element_tag_name = 5; + */ + targetElementTagName: string; + + /** + * @generated from field: string target_element_x_path = 6; + */ + targetElementXPath: string; +}; + +/** + * Describes the message exa.codeium_common_pb.BrowserClickInteraction. + * Use `create(BrowserClickInteractionSchema)` to create a new message. + */ +export const BrowserClickInteractionSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 208); + +/** + * @generated from message exa.codeium_common_pb.BrowserScrollInteraction + */ +export type BrowserScrollInteraction = Message<"exa.codeium_common_pb.BrowserScrollInteraction"> & { + /** + * @generated from field: uint32 viewport_scroll_x = 1; + */ + viewportScrollX: number; + + /** + * @generated from field: uint32 viewport_scroll_y = 2; + */ + viewportScrollY: number; +}; + +/** + * Describes the message exa.codeium_common_pb.BrowserScrollInteraction. + * Use `create(BrowserScrollInteractionSchema)` to create a new message. + */ +export const BrowserScrollInteractionSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 209); + +/** + * @generated from message exa.codeium_common_pb.BrowserInteraction + */ +export type BrowserInteraction = Message<"exa.codeium_common_pb.BrowserInteraction"> & { + /** + * @generated from field: google.protobuf.Timestamp timestamp = 1; + */ + timestamp?: Timestamp | undefined; + + /** + * @generated from field: exa.codeium_common_pb.BrowserPageMetadata page_metadata = 2; + */ + pageMetadata?: BrowserPageMetadata | undefined; + + /** + * @generated from oneof exa.codeium_common_pb.BrowserInteraction.interaction + */ + interaction: { + /** + * @generated from field: exa.codeium_common_pb.BrowserClickInteraction click = 3; + */ + value: BrowserClickInteraction; + case: "click"; + } | { + /** + * @generated from field: exa.codeium_common_pb.BrowserScrollInteraction scroll = 4; + */ + value: BrowserScrollInteraction; + case: "scroll"; + } | { case: undefined; value?: undefined }; +}; + +/** + * Describes the message exa.codeium_common_pb.BrowserInteraction. + * Use `create(BrowserInteractionSchema)` to create a new message. + */ +export const BrowserInteractionSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 210); + +/** + * @generated from message exa.codeium_common_pb.MetricsRecord + */ +export type MetricsRecord = Message<"exa.codeium_common_pb.MetricsRecord"> & { + /** + * @generated from field: string name = 1; + */ + name: string; + + /** + * @generated from field: float value = 2; + */ + value: number; + + /** + * @generated from field: map details = 3; + */ + details: { [key: string]: string }; + + /** + * @generated from field: bool lower_better = 4; + */ + lowerBetter: boolean; + + /** + * @generated from field: bool is_bool = 5; + */ + isBool: boolean; + + /** + * @generated from field: string error = 6; + */ + error: string; + + /** + * @generated from field: string trajectory_id = 7; + */ + trajectoryId: string; +}; + +/** + * Describes the message exa.codeium_common_pb.MetricsRecord. + * Use `create(MetricsRecordSchema)` to create a new message. + */ +export const MetricsRecordSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 211); + +/** + * @generated from message exa.codeium_common_pb.ModelNotification + */ +export type ModelNotification = Message<"exa.codeium_common_pb.ModelNotification"> & { + /** + * @generated from field: exa.codeium_common_pb.Model model = 1 [deprecated = true]; + * @deprecated + */ + model: Model; + + /** + * @generated from field: string model_uid = 3; + */ + modelUid: string; + + /** + * @generated from field: string message = 2; + */ + message: string; +}; + +/** + * Describes the message exa.codeium_common_pb.ModelNotification. + * Use `create(ModelNotificationSchema)` to create a new message. + */ +export const ModelNotificationSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 212); + +/** + * @generated from message exa.codeium_common_pb.ModelNotificationExperimentPayload + */ +export type ModelNotificationExperimentPayload = Message<"exa.codeium_common_pb.ModelNotificationExperimentPayload"> & { + /** + * @generated from field: repeated exa.codeium_common_pb.ModelNotification model_notifications = 1; + */ + modelNotifications: ModelNotification[]; +}; + +/** + * Describes the message exa.codeium_common_pb.ModelNotificationExperimentPayload. + * Use `create(ModelNotificationExperimentPayloadSchema)` to create a new message. + */ +export const ModelNotificationExperimentPayloadSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 213); + +/** + * @generated from message exa.codeium_common_pb.LspReference + */ +export type LspReference = Message<"exa.codeium_common_pb.LspReference"> & { + /** + * @generated from field: string uri = 1; + */ + uri: string; + + /** + * @generated from field: exa.codeium_common_pb.Range range = 2; + */ + range?: Range | undefined; + + /** + * @generated from field: optional string snippet = 3; + */ + snippet?: string | undefined; +}; + +/** + * Describes the message exa.codeium_common_pb.LspReference. + * Use `create(LspReferenceSchema)` to create a new message. + */ +export const LspReferenceSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 214); + +/** + * @generated from message exa.codeium_common_pb.CascadeModelHeaderWarningExperimentPayload + */ +export type CascadeModelHeaderWarningExperimentPayload = Message<"exa.codeium_common_pb.CascadeModelHeaderWarningExperimentPayload"> & { + /** + * @generated from field: string text = 1; + */ + text: string; + + /** + * @generated from field: string tooltip_text = 2; + */ + tooltipText: string; +}; + +/** + * Describes the message exa.codeium_common_pb.CascadeModelHeaderWarningExperimentPayload. + * Use `create(CascadeModelHeaderWarningExperimentPayloadSchema)` to create a new message. + */ +export const CascadeModelHeaderWarningExperimentPayloadSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 215); + +/** + * @generated from message exa.codeium_common_pb.CodeAnnotation + */ +export type CodeAnnotation = Message<"exa.codeium_common_pb.CodeAnnotation"> & { + /** + * @generated from field: string id = 1; + */ + id: string; + + /** + * @generated from field: string uri = 2; + */ + uri: string; + + /** + * @generated from field: uint32 line = 3; + */ + line: number; + + /** + * @generated from field: string content = 4; + */ + content: string; + + /** + * @generated from field: google.protobuf.Timestamp created_at = 5; + */ + createdAt?: Timestamp | undefined; +}; + +/** + * Describes the message exa.codeium_common_pb.CodeAnnotation. + * Use `create(CodeAnnotationSchema)` to create a new message. + */ +export const CodeAnnotationSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 216); + +/** + * @generated from message exa.codeium_common_pb.CodeAnnotationsState + */ +export type CodeAnnotationsState = Message<"exa.codeium_common_pb.CodeAnnotationsState"> & { + /** + * @generated from field: repeated exa.codeium_common_pb.CodeAnnotation annotations = 1; + */ + annotations: CodeAnnotation[]; +}; + +/** + * Describes the message exa.codeium_common_pb.CodeAnnotationsState. + * Use `create(CodeAnnotationsStateSchema)` to create a new message. + */ +export const CodeAnnotationsStateSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 217); + +/** + * @generated from message exa.codeium_common_pb.TrajectoryDescription + */ +export type TrajectoryDescription = Message<"exa.codeium_common_pb.TrajectoryDescription"> & { + /** + * @generated from oneof exa.codeium_common_pb.TrajectoryDescription.description + */ + description: { + /** + * @generated from field: string cascade_conversation_title = 1; + */ + value: string; + case: "cascadeConversationTitle"; + } | { + /** + * @generated from field: string mainline_branch_name = 2; + */ + value: string; + case: "mainlineBranchName"; + } | { case: undefined; value?: undefined }; +}; + +/** + * Describes the message exa.codeium_common_pb.TrajectoryDescription. + * Use `create(TrajectoryDescriptionSchema)` to create a new message. + */ +export const TrajectoryDescriptionSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 218); + +/** + * @generated from message exa.codeium_common_pb.ThirdPartyWebSearchConfig + */ +export type ThirdPartyWebSearchConfig = Message<"exa.codeium_common_pb.ThirdPartyWebSearchConfig"> & { + /** + * @generated from field: exa.codeium_common_pb.ThirdPartyWebSearchProvider provider = 1; + */ + provider: ThirdPartyWebSearchProvider; + + /** + * @generated from field: exa.codeium_common_pb.ThirdPartyWebSearchModel model = 2; + */ + model: ThirdPartyWebSearchModel; +}; + +/** + * Describes the message exa.codeium_common_pb.ThirdPartyWebSearchConfig. + * Use `create(ThirdPartyWebSearchConfigSchema)` to create a new message. + */ +export const ThirdPartyWebSearchConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 219); + +/** + * @generated from message exa.codeium_common_pb.GRPCStatus + */ +export type GRPCStatus = Message<"exa.codeium_common_pb.GRPCStatus"> & { + /** + * @generated from field: int32 code = 1; + */ + code: number; + + /** + * @generated from field: string message = 2; + */ + message: string; +}; + +/** + * Describes the message exa.codeium_common_pb.GRPCStatus. + * Use `create(GRPCStatusSchema)` to create a new message. + */ +export const GRPCStatusSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 220); + +/** + * @generated from message exa.codeium_common_pb.CascadeDataMetadata + */ +export type CascadeDataMetadata = Message<"exa.codeium_common_pb.CascadeDataMetadata"> & { + /** + * @generated from field: string ide_version = 1; + */ + ideVersion: string; +}; + +/** + * Describes the message exa.codeium_common_pb.CascadeDataMetadata. + * Use `create(CascadeDataMetadataSchema)` to create a new message. + */ +export const CascadeDataMetadataSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 221); + +/** + * @generated from message exa.codeium_common_pb.LifeguardModeConfig + */ +export type LifeguardModeConfig = Message<"exa.codeium_common_pb.LifeguardModeConfig"> & { + /** + * @generated from field: bool enabled = 1; + */ + enabled: boolean; + + /** + * @generated from field: exa.codeium_common_pb.Model model = 2; + */ + model: Model; + + /** + * @generated from field: string model_display_name = 3; + */ + modelDisplayName: string; + + /** + * @generated from field: string agent_version = 4; + */ + agentVersion: string; +}; + +/** + * Describes the message exa.codeium_common_pb.LifeguardModeConfig. + * Use `create(LifeguardModeConfigSchema)` to create a new message. + */ +export const LifeguardModeConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 222); + +/** + * @generated from message exa.codeium_common_pb.LifeguardConfig + */ +export type LifeguardConfig = Message<"exa.codeium_common_pb.LifeguardConfig"> & { + /** + * @generated from field: map modes = 1; + */ + modes: { [key: string]: LifeguardModeConfig }; +}; + +/** + * Describes the message exa.codeium_common_pb.LifeguardConfig. + * Use `create(LifeguardConfigSchema)` to create a new message. + */ +export const LifeguardConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 223); + +/** + * @generated from message exa.codeium_common_pb.ResponseDimensionGroup + */ +export type ResponseDimensionGroup = Message<"exa.codeium_common_pb.ResponseDimensionGroup"> & { + /** + * @generated from field: string title = 1; + */ + title: string; + + /** + * @generated from field: repeated exa.codeium_common_pb.ResponseDimension dimensions = 2; + */ + dimensions: ResponseDimension[]; +}; + +/** + * Describes the message exa.codeium_common_pb.ResponseDimensionGroup. + * Use `create(ResponseDimensionGroupSchema)` to create a new message. + */ +export const ResponseDimensionGroupSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 224); + +/** + * @generated from message exa.codeium_common_pb.ResponseDimension + */ +export type ResponseDimension = Message<"exa.codeium_common_pb.ResponseDimension"> & { + /** + * @generated from oneof exa.codeium_common_pb.ResponseDimension.dimension + */ + dimension: { + /** + * @generated from field: exa.codeium_common_pb.ResponseDimensionCopyableCode copyable_code = 2; + */ + value: ResponseDimensionCopyableCode; + case: "copyableCode"; + } | { + /** + * @generated from field: exa.codeium_common_pb.ResponseDimensionMetric metric = 3; + */ + value: ResponseDimensionMetric; + case: "metric"; + } | { + /** + * @generated from field: exa.codeium_common_pb.ResponseDimensionCumulativeMetric cumulative_metric = 4; + */ + value: ResponseDimensionCumulativeMetric; + case: "cumulativeMetric"; + } | { case: undefined; value?: undefined }; + + /** + * @generated from field: string uid = 5; + */ + uid: string; +}; + +/** + * Describes the message exa.codeium_common_pb.ResponseDimension. + * Use `create(ResponseDimensionSchema)` to create a new message. + */ +export const ResponseDimensionSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 225); + +/** + * @generated from message exa.codeium_common_pb.ResponseDimensionCopyableCode + */ +export type ResponseDimensionCopyableCode = Message<"exa.codeium_common_pb.ResponseDimensionCopyableCode"> & { + /** + * @generated from field: string label = 1; + */ + label: string; + + /** + * @generated from field: string value = 2; + */ + value: string; +}; + +/** + * Describes the message exa.codeium_common_pb.ResponseDimensionCopyableCode. + * Use `create(ResponseDimensionCopyableCodeSchema)` to create a new message. + */ +export const ResponseDimensionCopyableCodeSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 226); + +/** + * @generated from message exa.codeium_common_pb.ResponseDimensionMetric + */ +export type ResponseDimensionMetric = Message<"exa.codeium_common_pb.ResponseDimensionMetric"> & { + /** + * @generated from field: string label = 1; + */ + label: string; + + /** + * @generated from field: string value = 2; + */ + value: string; +}; + +/** + * Describes the message exa.codeium_common_pb.ResponseDimensionMetric. + * Use `create(ResponseDimensionMetricSchema)` to create a new message. + */ +export const ResponseDimensionMetricSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 227); + +/** + * @generated from message exa.codeium_common_pb.ResponseDimensionCumulativeMetric + */ +export type ResponseDimensionCumulativeMetric = Message<"exa.codeium_common_pb.ResponseDimensionCumulativeMetric"> & { + /** + * @generated from field: string label = 1; + */ + label: string; + + /** + * @generated from field: float value = 2; + */ + value: number; + + /** + * @generated from field: string tail = 3; + */ + tail: string; + + /** + * @generated from field: string plural_tail = 4; + */ + pluralTail: string; + + /** + * @generated from field: string prefix = 5; + */ + prefix: string; +}; + +/** + * Describes the message exa.codeium_common_pb.ResponseDimensionCumulativeMetric. + * Use `create(ResponseDimensionCumulativeMetricSchema)` to create a new message. + */ +export const ResponseDimensionCumulativeMetricSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_codeium_common_pb_codeium_common, 228); + +/** + * @generated from enum exa.codeium_common_pb.ProviderSource + */ +export enum ProviderSource { + /** + * @generated from enum value: PROVIDER_SOURCE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: PROVIDER_SOURCE_AUTOCOMPLETE = 1; + */ + AUTOCOMPLETE = 1, + + /** + * @generated from enum value: PROVIDER_SOURCE_CHAT = 2; + */ + CHAT = 2, + + /** + * @generated from enum value: PROVIDER_SOURCE_COMMAND_GENERATE = 4; + */ + COMMAND_GENERATE = 4, + + /** + * @generated from enum value: PROVIDER_SOURCE_COMMAND_EDIT = 5; + */ + COMMAND_EDIT = 5, + + /** + * @generated from enum value: PROVIDER_SOURCE_SUPERCOMPLETE = 6; + */ + SUPERCOMPLETE = 6, + + /** + * @generated from enum value: PROVIDER_SOURCE_COMMAND_PLAN = 7; + */ + COMMAND_PLAN = 7, + + /** + * @generated from enum value: PROVIDER_SOURCE_QUERY = 8; + */ + QUERY = 8, + + /** + * @generated from enum value: PROVIDER_SOURCE_FAST_APPLY = 9; + */ + FAST_APPLY = 9, + + /** + * @generated from enum value: PROVIDER_SOURCE_COMMAND_TERMINAL = 10; + */ + COMMAND_TERMINAL = 10, + + /** + * @generated from enum value: PROVIDER_SOURCE_TAB_JUMP = 11; + */ + TAB_JUMP = 11, + + /** + * @generated from enum value: PROVIDER_SOURCE_CASCADE = 12; + */ + CASCADE = 12, +} + +/** + * Describes the enum exa.codeium_common_pb.ProviderSource. + */ +export const ProviderSourceSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 0); + +/** + * @generated from enum exa.codeium_common_pb.PromptElementKind + */ +export enum PromptElementKind { + /** + * @generated from enum value: PROMPT_ELEMENT_KIND_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: PROMPT_ELEMENT_KIND_FILE_MARKER = 2; + */ + FILE_MARKER = 2, + + /** + * @generated from enum value: PROMPT_ELEMENT_KIND_OTHER_DOCUMENT = 4; + */ + OTHER_DOCUMENT = 4, + + /** + * @generated from enum value: PROMPT_ELEMENT_KIND_BEFORE_CURSOR = 5; + */ + BEFORE_CURSOR = 5, + + /** + * @generated from enum value: PROMPT_ELEMENT_KIND_AFTER_CURSOR = 7; + */ + AFTER_CURSOR = 7, + + /** + * @generated from enum value: PROMPT_ELEMENT_KIND_FIM = 8; + */ + FIM = 8, + + /** + * @generated from enum value: PROMPT_ELEMENT_KIND_SOT = 9; + */ + SOT = 9, + + /** + * @generated from enum value: PROMPT_ELEMENT_KIND_EOT = 10; + */ + EOT = 10, + + /** + * @generated from enum value: PROMPT_ELEMENT_KIND_CODE_CONTEXT_ITEM = 13; + */ + CODE_CONTEXT_ITEM = 13, + + /** + * @generated from enum value: PROMPT_ELEMENT_KIND_INSTRUCTION = 14; + */ + INSTRUCTION = 14, + + /** + * @generated from enum value: PROMPT_ELEMENT_KIND_SELECTION = 15; + */ + SELECTION = 15, + + /** + * @generated from enum value: PROMPT_ELEMENT_KIND_TRAJECTORY_STEP = 16; + */ + TRAJECTORY_STEP = 16, + + /** + * @generated from enum value: PROMPT_ELEMENT_KIND_ACTIVE_DOCUMENT = 17; + */ + ACTIVE_DOCUMENT = 17, + + /** + * @generated from enum value: PROMPT_ELEMENT_KIND_CACHED_MESSAGE = 18; + */ + CACHED_MESSAGE = 18, +} + +/** + * Describes the enum exa.codeium_common_pb.PromptElementKind. + */ +export const PromptElementKindSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 1); + +/** + * @generated from enum exa.codeium_common_pb.PromptAnnotationKind + */ +export enum PromptAnnotationKind { + /** + * @generated from enum value: PROMPT_ANNOTATION_KIND_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: PROMPT_ANNOTATION_KIND_COPY = 1; + */ + COPY = 1, + + /** + * @generated from enum value: PROMPT_ANNOTATION_KIND_PROMPT_CACHE = 2; + */ + PROMPT_CACHE = 2, +} + +/** + * Describes the enum exa.codeium_common_pb.PromptAnnotationKind. + */ +export const PromptAnnotationKindSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 2); + +/** + * @generated from enum exa.codeium_common_pb.ExperimentKey + */ +export enum ExperimentKey { + /** + * @generated from enum value: UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: USE_INTERNAL_CHAT_MODEL = 36; + */ + USE_INTERNAL_CHAT_MODEL = 36, + + /** + * @generated from enum value: RECORD_FILES = 47; + */ + RECORD_FILES = 47, + + /** + * @generated from enum value: NO_SAMPLER_EARLY_STOP = 48; + */ + NO_SAMPLER_EARLY_STOP = 48, + + /** + * @generated from enum value: CM_MEMORY_TELEMETRY = 53; + */ + CM_MEMORY_TELEMETRY = 53, + + /** + * @generated from enum value: LANGUAGE_SERVER_VERSION = 55; + */ + LANGUAGE_SERVER_VERSION = 55, + + /** + * @generated from enum value: LANGUAGE_SERVER_AUTO_RELOAD = 56; + */ + LANGUAGE_SERVER_AUTO_RELOAD = 56, + + /** + * @generated from enum value: ONLY_MULTILINE = 60; + */ + ONLY_MULTILINE = 60, + + /** + * @generated from enum value: USE_AUTOCOMPLETE_MODEL = 64; + */ + USE_AUTOCOMPLETE_MODEL = 64, + + /** + * @generated from enum value: USE_ATTRIBUTION_FOR_INDIVIDUAL_TIER = 68; + */ + USE_ATTRIBUTION_FOR_INDIVIDUAL_TIER = 68, + + /** + * @generated from enum value: CHAT_MODEL_CONFIG = 78; + */ + CHAT_MODEL_CONFIG = 78, + + /** + * @generated from enum value: COMMAND_MODEL_CONFIG = 79; + */ + COMMAND_MODEL_CONFIG = 79, + + /** + * @generated from enum value: MIN_IDE_VERSION = 81; + */ + MIN_IDE_VERSION = 81, + + /** + * @generated from enum value: API_SERVER_VERBOSE_ERRORS = 84; + */ + API_SERVER_VERBOSE_ERRORS = 84, + + /** + * @generated from enum value: DEFAULT_ENABLE_SEARCH = 86; + */ + DEFAULT_ENABLE_SEARCH = 86, + + /** + * @generated from enum value: COLLECT_ONBOARDING_EVENTS = 87; + */ + COLLECT_ONBOARDING_EVENTS = 87, + + /** + * @generated from enum value: COLLECT_EXAMPLE_COMPLETIONS = 88; + */ + COLLECT_EXAMPLE_COMPLETIONS = 88, + + /** + * @generated from enum value: USE_MULTILINE_MODEL = 89; + */ + USE_MULTILINE_MODEL = 89, + + /** + * @generated from enum value: ATTRIBUTION_KILL_SWITCH = 92; + */ + ATTRIBUTION_KILL_SWITCH = 92, + + /** + * @generated from enum value: FAST_MULTILINE = 94; + */ + FAST_MULTILINE = 94, + + /** + * @generated from enum value: SINGLE_COMPLETION = 95; + */ + SINGLE_COMPLETION = 95, + + /** + * @generated from enum value: STOP_FIRST_NON_WHITESPACE_LINE = 96; + */ + STOP_FIRST_NON_WHITESPACE_LINE = 96, + + /** + * @generated from enum value: CORTEX_CONFIG = 102; + */ + CORTEX_CONFIG = 102, + + /** + * @generated from enum value: MODEL_CHAT_11121_VARIANTS = 103; + */ + MODEL_CHAT_11121_VARIANTS = 103, + + /** + * @generated from enum value: INCLUDE_PROMPT_COMPONENTS = 105; + */ + INCLUDE_PROMPT_COMPONENTS = 105, + + /** + * @generated from enum value: NON_TEAMS_KILL_SWITCH = 106; + */ + NON_TEAMS_KILL_SWITCH = 106, + + /** + * @generated from enum value: PERSIST_CODE_TRACKER = 108; + */ + PERSIST_CODE_TRACKER = 108, + + /** + * @generated from enum value: CHAT_COMPLETION_TOKENS_SOFT_LIMIT = 114; + */ + CHAT_COMPLETION_TOKENS_SOFT_LIMIT = 114, + + /** + * @generated from enum value: CHAT_TOKENS_SOFT_LIMIT = 115; + */ + CHAT_TOKENS_SOFT_LIMIT = 115, + + /** + * @generated from enum value: DISABLE_COMPLETIONS_CACHE = 118; + */ + DISABLE_COMPLETIONS_CACHE = 118, + + /** + * @generated from enum value: LLAMA3_405B_KILL_SWITCH = 119; + */ + LLAMA3_405B_KILL_SWITCH = 119, + + /** + * @generated from enum value: USE_COMMAND_DOCSTRING_GENERATION = 121; + */ + USE_COMMAND_DOCSTRING_GENERATION = 121, + + /** + * @generated from enum value: ENABLE_SUPERCOMPLETE = 123; + */ + ENABLE_SUPERCOMPLETE = 123, + + /** + * @generated from enum value: SENTRY = 136; + */ + SENTRY = 136, + + /** + * @generated from enum value: FAST_SINGLELINE = 144; + */ + FAST_SINGLELINE = 144, + + /** + * @generated from enum value: R2_LANGUAGE_SERVER_DOWNLOAD = 147; + */ + R2_LANGUAGE_SERVER_DOWNLOAD = 147, + + /** + * @generated from enum value: SPLIT_MODEL = 152; + */ + SPLIT_MODEL = 152, + + /** + * @generated from enum value: WINDSURF_SENTRY_SAMPLE_RATE = 198; + */ + WINDSURF_SENTRY_SAMPLE_RATE = 198, + + /** + * @generated from enum value: API_SERVER_CUTOFF = 158; + */ + API_SERVER_CUTOFF = 158, + + /** + * @generated from enum value: FAST_SPEED_KILL_SWITCH = 159; + */ + FAST_SPEED_KILL_SWITCH = 159, + + /** + * @generated from enum value: PREDICTIVE_MULTILINE = 160; + */ + PREDICTIVE_MULTILINE = 160, + + /** + * @generated from enum value: SUPERCOMPLETE_FILTER_REVERT = 125; + */ + SUPERCOMPLETE_FILTER_REVERT = 125, + + /** + * @generated from enum value: SUPERCOMPLETE_FILTER_PREFIX_MATCH = 126; + */ + SUPERCOMPLETE_FILTER_PREFIX_MATCH = 126, + + /** + * @generated from enum value: SUPERCOMPLETE_FILTER_SCORE_THRESHOLD = 127; + */ + SUPERCOMPLETE_FILTER_SCORE_THRESHOLD = 127, + + /** + * @generated from enum value: SUPERCOMPLETE_FILTER_INSERTION_CAP = 128; + */ + SUPERCOMPLETE_FILTER_INSERTION_CAP = 128, + + /** + * @generated from enum value: SUPERCOMPLETE_FILTER_DELETION_CAP = 133; + */ + SUPERCOMPLETE_FILTER_DELETION_CAP = 133, + + /** + * @generated from enum value: SUPERCOMPLETE_FILTER_WHITESPACE_ONLY = 156; + */ + SUPERCOMPLETE_FILTER_WHITESPACE_ONLY = 156, + + /** + * @generated from enum value: SUPERCOMPLETE_FILTER_NO_OP = 170; + */ + SUPERCOMPLETE_FILTER_NO_OP = 170, + + /** + * @generated from enum value: SUPERCOMPLETE_FILTER_SUFFIX_MATCH = 176; + */ + SUPERCOMPLETE_FILTER_SUFFIX_MATCH = 176, + + /** + * @generated from enum value: SUPERCOMPLETE_FILTER_PREVIOUSLY_SHOWN = 182; + */ + SUPERCOMPLETE_FILTER_PREVIOUSLY_SHOWN = 182, + + /** + * @generated from enum value: SUPERCOMPLETE_MIN_SCORE = 129; + */ + SUPERCOMPLETE_MIN_SCORE = 129, + + /** + * @generated from enum value: SUPERCOMPLETE_MAX_INSERTIONS = 130; + */ + SUPERCOMPLETE_MAX_INSERTIONS = 130, + + /** + * @generated from enum value: SUPERCOMPLETE_LINE_RADIUS = 131; + */ + SUPERCOMPLETE_LINE_RADIUS = 131, + + /** + * @generated from enum value: SUPERCOMPLETE_MAX_DELETIONS = 132; + */ + SUPERCOMPLETE_MAX_DELETIONS = 132, + + /** + * @generated from enum value: SUPERCOMPLETE_RECENT_STEPS_DURATION = 138; + */ + SUPERCOMPLETE_RECENT_STEPS_DURATION = 138, + + /** + * @generated from enum value: SUPERCOMPLETE_MAX_TRAJECTORY_STEPS = 154; + */ + SUPERCOMPLETE_MAX_TRAJECTORY_STEPS = 154, + + /** + * @generated from enum value: SUPERCOMPLETE_MAX_TRAJECTORY_STEP_SIZE = 203; + */ + SUPERCOMPLETE_MAX_TRAJECTORY_STEP_SIZE = 203, + + /** + * @generated from enum value: SUPERCOMPLETE_DISABLE_TYPING_CACHE = 231; + */ + SUPERCOMPLETE_DISABLE_TYPING_CACHE = 231, + + /** + * @generated from enum value: SUPERCOMPLETE_ALWAYS_USE_CACHE_ON_EQUAL_STATE = 293; + */ + SUPERCOMPLETE_ALWAYS_USE_CACHE_ON_EQUAL_STATE = 293, + + /** + * @generated from enum value: SUPERCOMPLETE_CACHE_ON_PARENT_ID_KILL_SWITCH = 297; + */ + SUPERCOMPLETE_CACHE_ON_PARENT_ID_KILL_SWITCH = 297, + + /** + * @generated from enum value: SUPERCOMPLETE_PRUNE_RESPONSE = 140; + */ + SUPERCOMPLETE_PRUNE_RESPONSE = 140, + + /** + * @generated from enum value: SUPERCOMPLETE_PRUNE_MAX_INSERT_DELETE_LINE_DELTA = 141; + */ + SUPERCOMPLETE_PRUNE_MAX_INSERT_DELETE_LINE_DELTA = 141, + + /** + * @generated from enum value: SUPERCOMPLETE_MODEL_CONFIG = 145; + */ + SUPERCOMPLETE_MODEL_CONFIG = 145, + + /** + * @generated from enum value: SUPERCOMPLETE_MODEL_CONFIG_LOW = 330; + */ + SUPERCOMPLETE_MODEL_CONFIG_LOW = 330, + + /** + * @generated from enum value: SUPERCOMPLETE_MODEL_CONFIG_HIGH = 331; + */ + SUPERCOMPLETE_MODEL_CONFIG_HIGH = 331, + + /** + * @generated from enum value: SUPERCOMPLETE_ON_TAB = 151; + */ + SUPERCOMPLETE_ON_TAB = 151, + + /** + * @generated from enum value: SUPERCOMPLETE_INLINE_PURE_DELETE = 171; + */ + SUPERCOMPLETE_INLINE_PURE_DELETE = 171, + + /** + * @generated from enum value: SUPERCOMPLETE_INLINE_RICH_GHOST_TEXT_INSERTIONS = 218; + */ + SUPERCOMPLETE_INLINE_RICH_GHOST_TEXT_INSERTIONS = 218, + + /** + * @generated from enum value: MODEL_CHAT_19821_VARIANTS = 308; + */ + MODEL_CHAT_19821_VARIANTS = 308, + + /** + * @generated from enum value: SUPERCOMPLETE_MAX_CONCURRENT_REQUESTS = 284; + */ + SUPERCOMPLETE_MAX_CONCURRENT_REQUESTS = 284, + + /** + * @generated from enum value: COMMAND_PROMPT_CACHE_CONFIG = 255; + */ + COMMAND_PROMPT_CACHE_CONFIG = 255, + + /** + * @generated from enum value: CUMULATIVE_PROMPT_CONFIG = 256; + */ + CUMULATIVE_PROMPT_CONFIG = 256, + + /** + * @generated from enum value: CUMULATIVE_PROMPT_CASCADE_CONFIG = 279; + */ + CUMULATIVE_PROMPT_CASCADE_CONFIG = 279, + + /** + * @generated from enum value: TAB_JUMP_CUMULATIVE_PROMPT_CONFIG = 301; + */ + TAB_JUMP_CUMULATIVE_PROMPT_CONFIG = 301, + + /** + * @generated from enum value: COMPLETION_SPEED_SUPERCOMPLETE_CACHE = 207; + */ + COMPLETION_SPEED_SUPERCOMPLETE_CACHE = 207, + + /** + * @generated from enum value: COMPLETION_SPEED_PREDICTIVE_SUPERCOMPLETE = 208; + */ + COMPLETION_SPEED_PREDICTIVE_SUPERCOMPLETE = 208, + + /** + * @generated from enum value: COMPLETION_SPEED_TAB_JUMP_CACHE = 209; + */ + COMPLETION_SPEED_TAB_JUMP_CACHE = 209, + + /** + * @generated from enum value: COMPLETION_SPEED_PREDICTIVE_TAB_JUMP = 210; + */ + COMPLETION_SPEED_PREDICTIVE_TAB_JUMP = 210, + + /** + * @generated from enum value: COMPLETION_SPEED_BLOCK_TAB_JUMP_ON_PREDICTIVE_SUPERCOMPLETE = 294; + */ + COMPLETION_SPEED_BLOCK_TAB_JUMP_ON_PREDICTIVE_SUPERCOMPLETE = 294, + + /** + * @generated from enum value: JETBRAINS_ENABLE_ONBOARDING = 137; + */ + JETBRAINS_ENABLE_ONBOARDING = 137, + + /** + * @generated from enum value: ENABLE_AUTOCOMPLETE_DURING_INTELLISENSE = 146; + */ + ENABLE_AUTOCOMPLETE_DURING_INTELLISENSE = 146, + + /** + * @generated from enum value: COMMAND_BOX_ON_TOP = 155; + */ + COMMAND_BOX_ON_TOP = 155, + + /** + * @generated from enum value: CONTEXT_ACTIVE_DOCUMENT_FRACTION = 149; + */ + CONTEXT_ACTIVE_DOCUMENT_FRACTION = 149, + + /** + * @generated from enum value: CONTEXT_FORCE_LOCAL_CONTEXT = 178; + */ + CONTEXT_FORCE_LOCAL_CONTEXT = 178, + + /** + * @generated from enum value: CROSS_SELL_EXTENSION_DOWNLOAD_WINDSURF = 220; + */ + CROSS_SELL_EXTENSION_DOWNLOAD_WINDSURF = 220, + + /** + * @generated from enum value: MODEL_LLAMA_3_1_70B_INSTRUCT_LONG_CONTEXT_VARIANTS = 295; + */ + MODEL_LLAMA_3_1_70B_INSTRUCT_LONG_CONTEXT_VARIANTS = 295, + + /** + * @generated from enum value: USE_AUTOCOMPLETE_MODEL_SERVER_SIDE = 163; + */ + USE_AUTOCOMPLETE_MODEL_SERVER_SIDE = 163, + + /** + * @generated from enum value: SUPERCOMPLETE_NO_CONTEXT = 165; + */ + SUPERCOMPLETE_NO_CONTEXT = 165, + + /** + * @generated from enum value: SUPERCOMPLETE_NO_ACTIVE_NODE = 166; + */ + SUPERCOMPLETE_NO_ACTIVE_NODE = 166, + + /** + * @generated from enum value: TAB_JUMP_ENABLED = 168; + */ + TAB_JUMP_ENABLED = 168, + + /** + * @generated from enum value: TAB_JUMP_ACCEPT_ENABLED = 169; + */ + TAB_JUMP_ACCEPT_ENABLED = 169, + + /** + * @generated from enum value: TAB_JUMP_LINE_RADIUS = 177; + */ + TAB_JUMP_LINE_RADIUS = 177, + + /** + * @generated from enum value: TAB_JUMP_MIN_FILTER_RADIUS = 197; + */ + TAB_JUMP_MIN_FILTER_RADIUS = 197, + + /** + * @generated from enum value: TAB_JUMP_ON_ACCEPT_ONLY = 205; + */ + TAB_JUMP_ON_ACCEPT_ONLY = 205, + + /** + * @generated from enum value: TAB_JUMP_FILTER_IN_SELECTION = 215; + */ + TAB_JUMP_FILTER_IN_SELECTION = 215, + + /** + * @generated from enum value: TAB_JUMP_MODEL_CONFIG = 237; + */ + TAB_JUMP_MODEL_CONFIG = 237, + + /** + * @generated from enum value: TAB_JUMP_FILTER_NO_OP = 238; + */ + TAB_JUMP_FILTER_NO_OP = 238, + + /** + * @generated from enum value: TAB_JUMP_FILTER_REVERT = 239; + */ + TAB_JUMP_FILTER_REVERT = 239, + + /** + * @generated from enum value: TAB_JUMP_FILTER_SCORE_THRESHOLD = 240; + */ + TAB_JUMP_FILTER_SCORE_THRESHOLD = 240, + + /** + * @generated from enum value: TAB_JUMP_FILTER_WHITESPACE_ONLY = 241; + */ + TAB_JUMP_FILTER_WHITESPACE_ONLY = 241, + + /** + * @generated from enum value: TAB_JUMP_FILTER_INSERTION_CAP = 242; + */ + TAB_JUMP_FILTER_INSERTION_CAP = 242, + + /** + * @generated from enum value: TAB_JUMP_FILTER_DELETION_CAP = 243; + */ + TAB_JUMP_FILTER_DELETION_CAP = 243, + + /** + * @generated from enum value: TAB_JUMP_PRUNE_RESPONSE = 260; + */ + TAB_JUMP_PRUNE_RESPONSE = 260, + + /** + * @generated from enum value: TAB_JUMP_PRUNE_MAX_INSERT_DELETE_LINE_DELTA = 261; + */ + TAB_JUMP_PRUNE_MAX_INSERT_DELETE_LINE_DELTA = 261, + + /** + * @generated from enum value: TAB_JUMP_STOP_TOKEN_MIDSTREAM = 317; + */ + TAB_JUMP_STOP_TOKEN_MIDSTREAM = 317, + + /** + * @generated from enum value: VIEWED_FILE_TRACKER_CONFIG = 211; + */ + VIEWED_FILE_TRACKER_CONFIG = 211, + + /** + * @generated from enum value: SNAPSHOT_TO_STEP_OPTIONS_OVERRIDE = 305; + */ + SNAPSHOT_TO_STEP_OPTIONS_OVERRIDE = 305, + + /** + * @generated from enum value: STREAMING_EXTERNAL_COMMAND = 172; + */ + STREAMING_EXTERNAL_COMMAND = 172, + + /** + * @generated from enum value: USE_SPECIAL_EDIT_CODE_BLOCK = 179; + */ + USE_SPECIAL_EDIT_CODE_BLOCK = 179, + + /** + * @generated from enum value: ENABLE_SUGGESTED_RESPONSES = 187; + */ + ENABLE_SUGGESTED_RESPONSES = 187, + + /** + * @generated from enum value: CASCADE_BASE_MODEL_ID = 190; + */ + CASCADE_BASE_MODEL_ID = 190, + + /** + * @generated from enum value: CASCADE_PLAN_BASED_CONFIG_OVERRIDE = 266; + */ + CASCADE_PLAN_BASED_CONFIG_OVERRIDE = 266, + + /** + * @generated from enum value: CASCADE_GLOBAL_CONFIG_OVERRIDE = 212; + */ + CASCADE_GLOBAL_CONFIG_OVERRIDE = 212, + + /** + * @generated from enum value: CASCADE_BACKGROUND_RESEARCH_CONFIG_OVERRIDE = 193; + */ + CASCADE_BACKGROUND_RESEARCH_CONFIG_OVERRIDE = 193, + + /** + * @generated from enum value: CASCADE_ENFORCE_QUOTA = 204; + */ + CASCADE_ENFORCE_QUOTA = 204, + + /** + * @generated from enum value: CASCADE_ENABLE_AUTOMATED_MEMORIES = 224; + */ + CASCADE_ENABLE_AUTOMATED_MEMORIES = 224, + + /** + * @generated from enum value: CASCADE_MEMORY_CONFIG_OVERRIDE = 314; + */ + CASCADE_MEMORY_CONFIG_OVERRIDE = 314, + + /** + * @generated from enum value: CASCADE_USE_REPLACE_CONTENT_EDIT_TOOL = 228; + */ + CASCADE_USE_REPLACE_CONTENT_EDIT_TOOL = 228, + + /** + * @generated from enum value: CASCADE_VIEW_FILE_TOOL_CONFIG_OVERRIDE = 258; + */ + CASCADE_VIEW_FILE_TOOL_CONFIG_OVERRIDE = 258, + + /** + * @generated from enum value: CASCADE_USE_EXPERIMENT_CHECKPOINTER = 247; + */ + CASCADE_USE_EXPERIMENT_CHECKPOINTER = 247, + + /** + * @generated from enum value: CASCADE_ENABLE_MCP_TOOLS = 245; + */ + CASCADE_ENABLE_MCP_TOOLS = 245, + + /** + * @generated from enum value: CASCADE_AUTO_FIX_LINTS = 275; + */ + CASCADE_AUTO_FIX_LINTS = 275, + + /** + * @generated from enum value: USE_ANTHROPIC_TOKEN_EFFICIENT_TOOLS_BETA = 296; + */ + USE_ANTHROPIC_TOKEN_EFFICIENT_TOOLS_BETA = 296, + + /** + * @generated from enum value: CASCADE_USER_MEMORIES_IN_SYS_PROMPT = 289; + */ + CASCADE_USER_MEMORIES_IN_SYS_PROMPT = 289, + + /** + * @generated from enum value: CASCADE_ENABLE_PROXY_WEB_SERVER = 290; + */ + CASCADE_ENABLE_PROXY_WEB_SERVER = 290, + + /** + * @generated from enum value: COLLAPSE_ASSISTANT_MESSAGES = 312; + */ + COLLAPSE_ASSISTANT_MESSAGES = 312, + + /** + * @generated from enum value: CASCADE_DEFAULT_MODEL_OVERRIDE = 321; + */ + CASCADE_DEFAULT_MODEL_OVERRIDE = 321, + + /** + * @generated from enum value: ENABLE_SMART_COPY = 181; + */ + ENABLE_SMART_COPY = 181, + + /** + * @generated from enum value: ENABLE_COMMIT_MESSAGE_GENERATION = 185 [deprecated = true]; + * @deprecated + */ + ENABLE_COMMIT_MESSAGE_GENERATION = 185, + + /** + * @generated from enum value: SKIP_CONSISTENCY_MANAGER = 194; + */ + SKIP_CONSISTENCY_MANAGER = 194, + + /** + * @generated from enum value: FIREWORKS_ON_DEMAND_DEPLOYMENT = 276; + */ + FIREWORKS_ON_DEMAND_DEPLOYMENT = 276, + + /** + * @generated from enum value: API_SERVER_CLIENT_USE_HTTP_2 = 202; + */ + API_SERVER_CLIENT_USE_HTTP_2 = 202, + + /** + * @generated from enum value: AUTOCOMPLETE_DEFAULT_DEBOUNCE_MS = 213; + */ + AUTOCOMPLETE_DEFAULT_DEBOUNCE_MS = 213, + + /** + * @generated from enum value: AUTOCOMPLETE_FAST_DEBOUNCE_MS = 214; + */ + AUTOCOMPLETE_FAST_DEBOUNCE_MS = 214, + + /** + * @generated from enum value: PROFILING_TELEMETRY_SAMPLE_RATE = 219; + */ + PROFILING_TELEMETRY_SAMPLE_RATE = 219, + + /** + * @generated from enum value: STREAM_USER_SHELL_COMMANDS = 225; + */ + STREAM_USER_SHELL_COMMANDS = 225, + + /** + * @generated from enum value: API_SERVER_PROMPT_CACHE_REPLICAS = 307; + */ + API_SERVER_PROMPT_CACHE_REPLICAS = 307, + + /** + * @generated from enum value: API_SERVER_ENABLE_MORE_LOGGING = 272; + */ + API_SERVER_ENABLE_MORE_LOGGING = 272, + + /** + * @generated from enum value: COMMAND_INJECT_USER_MEMORIES = 233; + */ + COMMAND_INJECT_USER_MEMORIES = 233, + + /** + * @generated from enum value: AUTOCOMPLETE_HIDDEN_ERROR_REGEX = 234; + */ + AUTOCOMPLETE_HIDDEN_ERROR_REGEX = 234, + + /** + * @generated from enum value: DISABLE_IDE_COMPLETIONS_DEBOUNCE = 278; + */ + DISABLE_IDE_COMPLETIONS_DEBOUNCE = 278, + + /** + * @generated from enum value: ENABLE_QUICK_ACTIONS = 250; + */ + ENABLE_QUICK_ACTIONS = 250, + + /** + * @generated from enum value: QUICK_ACTIONS_WHITELIST_REGEX = 251; + */ + QUICK_ACTIONS_WHITELIST_REGEX = 251, + + /** + * @generated from enum value: CASCADE_NEW_MODELS_NUX = 259 [deprecated = true]; + * @deprecated + */ + CASCADE_NEW_MODELS_NUX = 259, + + /** + * @generated from enum value: CASCADE_NEW_WAVE_2_MODELS_NUX = 270 [deprecated = true]; + * @deprecated + */ + CASCADE_NEW_WAVE_2_MODELS_NUX = 270, + + /** + * @generated from enum value: SUPERCOMPLETE_FAST_DEBOUNCE = 262; + */ + SUPERCOMPLETE_FAST_DEBOUNCE = 262, + + /** + * @generated from enum value: SUPERCOMPLETE_REGULAR_DEBOUNCE = 263; + */ + SUPERCOMPLETE_REGULAR_DEBOUNCE = 263, + + /** + * @generated from enum value: XML_TOOL_PARSING_MODELS = 268; + */ + XML_TOOL_PARSING_MODELS = 268, + + /** + * @generated from enum value: SUPERCOMPLETE_DONT_FILTER_MID_STREAMED = 269; + */ + SUPERCOMPLETE_DONT_FILTER_MID_STREAMED = 269, + + /** + * @generated from enum value: ANNOYANCE_MANAGER_MAX_NAVIGATION_RENDERS = 285; + */ + ANNOYANCE_MANAGER_MAX_NAVIGATION_RENDERS = 285, + + /** + * @generated from enum value: ANNOYANCE_MANAGER_INLINE_PREVENTION_THRESHOLD_MS = 286; + */ + ANNOYANCE_MANAGER_INLINE_PREVENTION_THRESHOLD_MS = 286, + + /** + * @generated from enum value: ANNOYANCE_MANAGER_INLINE_PREVENTION_MAX_INTENTIONAL_REJECTIONS = 287; + */ + ANNOYANCE_MANAGER_INLINE_PREVENTION_MAX_INTENTIONAL_REJECTIONS = 287, + + /** + * @generated from enum value: ANNOYANCE_MANAGER_INLINE_PREVENTION_MAX_AUTO_REJECTIONS = 288; + */ + ANNOYANCE_MANAGER_INLINE_PREVENTION_MAX_AUTO_REJECTIONS = 288, + + /** + * @generated from enum value: USE_CUSTOM_CHARACTER_DIFF = 292; + */ + USE_CUSTOM_CHARACTER_DIFF = 292, + + /** + * @generated from enum value: FORCE_NON_OPTIMIZED_DIFF = 298; + */ + FORCE_NON_OPTIMIZED_DIFF = 298, + + /** + * @generated from enum value: CASCADE_WEB_APP_DEPLOYMENTS_ENABLED = 300; + */ + CASCADE_WEB_APP_DEPLOYMENTS_ENABLED = 300, + + /** + * @generated from enum value: CASCADE_RECIPES_AT_MENTION_VISIBILITY = 316; + */ + CASCADE_RECIPES_AT_MENTION_VISIBILITY = 316, + + /** + * @generated from enum value: IMPLICIT_USES_CLIPBOARD = 310; + */ + IMPLICIT_USES_CLIPBOARD = 310, + + /** + * @generated from enum value: DISABLE_SUPERCOMPLETE_PCW = 303; + */ + DISABLE_SUPERCOMPLETE_PCW = 303, + + /** + * @generated from enum value: BLOCK_TAB_ON_SHOWN_AUTOCOMPLETE = 304; + */ + BLOCK_TAB_ON_SHOWN_AUTOCOMPLETE = 304, + + /** + * @generated from enum value: CASCADE_WEB_SEARCH_NUX = 311; + */ + CASCADE_WEB_SEARCH_NUX = 311, + + /** + * @generated from enum value: MODEL_NOTIFICATIONS = 319; + */ + MODEL_NOTIFICATIONS = 319, + + /** + * @generated from enum value: MODEL_SELECTOR_NUX_COPY = 320; + */ + MODEL_SELECTOR_NUX_COPY = 320, + + /** + * @generated from enum value: CASCADE_TOOL_CALL_PRICING_NUX = 322; + */ + CASCADE_TOOL_CALL_PRICING_NUX = 322, + + /** + * @generated from enum value: CASCADE_PLUGINS_TAB = 323; + */ + CASCADE_PLUGINS_TAB = 323, + + /** + * @generated from enum value: WAVE_8_RULES_ENABLED = 324; + */ + WAVE_8_RULES_ENABLED = 324, + + /** + * @generated from enum value: WAVE_8_KNOWLEDGE_ENABLED = 325; + */ + WAVE_8_KNOWLEDGE_ENABLED = 325, + + /** + * @generated from enum value: CASCADE_ONBOARDING = 326; + */ + CASCADE_ONBOARDING = 326, + + /** + * @generated from enum value: CASCADE_ONBOARDING_REVERT = 327; + */ + CASCADE_ONBOARDING_REVERT = 327, + + /** + * @generated from enum value: CASCADE_WINDSURF_BROWSER_TOOLS_ENABLED = 328; + */ + CASCADE_WINDSURF_BROWSER_TOOLS_ENABLED = 328, + + /** + * @generated from enum value: CASCADE_MODEL_HEADER_WARNING = 329; + */ + CASCADE_MODEL_HEADER_WARNING = 329, + + /** + * @generated from enum value: TEST_ONLY = 999; + */ + TEST_ONLY = 999, +} + +/** + * Describes the enum exa.codeium_common_pb.ExperimentKey. + */ +export const ExperimentKeySchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 3); + +/** + * @generated from enum exa.codeium_common_pb.ExperimentSource + */ +export enum ExperimentSource { + /** + * @generated from enum value: EXPERIMENT_SOURCE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: EXPERIMENT_SOURCE_EXTENSION = 1; + */ + EXTENSION = 1, + + /** + * @generated from enum value: EXPERIMENT_SOURCE_LANGUAGE_SERVER = 2; + */ + LANGUAGE_SERVER = 2, + + /** + * @generated from enum value: EXPERIMENT_SOURCE_API_SERVER = 3; + */ + API_SERVER = 3, +} + +/** + * Describes the enum exa.codeium_common_pb.ExperimentSource. + */ +export const ExperimentSourceSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 4); + +/** + * @generated from enum exa.codeium_common_pb.ModelAlias + */ +export enum ModelAlias { + /** + * @generated from enum value: MODEL_ALIAS_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: MODEL_ALIAS_CASCADE_BASE = 1; + */ + CASCADE_BASE = 1, + + /** + * @generated from enum value: MODEL_ALIAS_VISTA = 3; + */ + VISTA = 3, + + /** + * @generated from enum value: MODEL_ALIAS_SHAMU = 4; + */ + SHAMU = 4, + + /** + * @generated from enum value: MODEL_ALIAS_SWE_1 = 5; + */ + SWE_1 = 5, + + /** + * @generated from enum value: MODEL_ALIAS_SWE_1_LITE = 6; + */ + SWE_1_LITE = 6, + + /** + * @generated from enum value: MODEL_ALIAS_AUTO = 7; + */ + AUTO = 7, +} + +/** + * Describes the enum exa.codeium_common_pb.ModelAlias. + */ +export const ModelAliasSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 5); + +/** + * @generated from enum exa.codeium_common_pb.Model + */ +export enum Model { + /** + * @generated from enum value: MODEL_UNSPECIFIED = 0; + */ + MODEL_UNSPECIFIED = 0, + + /** + * @generated from enum value: MODEL_EMBED_6591 = 20; + */ + MODEL_EMBED_6591 = 20, + + /** + * @generated from enum value: MODEL_8341 = 33; + */ + MODEL_8341 = 33, + + /** + * @generated from enum value: MODEL_8528 = 42; + */ + MODEL_8528 = 42, + + /** + * @generated from enum value: MODEL_9024 = 41; + */ + MODEL_9024 = 41, + + /** + * @generated from enum value: MODEL_14602 = 112; + */ + MODEL_14602 = 112, + + /** + * @generated from enum value: MODEL_15133 = 115; + */ + MODEL_15133 = 115, + + /** + * @generated from enum value: MODEL_15302 = 119; + */ + MODEL_15302 = 119, + + /** + * @generated from enum value: MODEL_15335 = 121; + */ + MODEL_15335 = 121, + + /** + * @generated from enum value: MODEL_15336 = 122; + */ + MODEL_15336 = 122, + + /** + * @generated from enum value: MODEL_15931 = 167; + */ + MODEL_15931 = 167, + + /** + * @generated from enum value: MODEL_QUERY_9905 = 48; + */ + MODEL_QUERY_9905 = 48, + + /** + * @generated from enum value: MODEL_QUERY_11791 = 66; + */ + MODEL_QUERY_11791 = 66, + + /** + * @generated from enum value: MODEL_CHAT_11120 = 57; + */ + MODEL_CHAT_11120 = 57, + + /** + * @generated from enum value: MODEL_CHAT_11121 = 58; + */ + MODEL_CHAT_11121 = 58, + + /** + * @generated from enum value: MODEL_CHAT_12119 = 70; + */ + MODEL_CHAT_12119 = 70, + + /** + * @generated from enum value: MODEL_CHAT_12121 = 69; + */ + MODEL_CHAT_12121 = 69, + + /** + * @generated from enum value: MODEL_CHAT_12437 = 74; + */ + MODEL_CHAT_12437 = 74, + + /** + * @generated from enum value: MODEL_CHAT_12491 = 76; + */ + MODEL_CHAT_12491 = 76, + + /** + * @generated from enum value: MODEL_CHAT_12623 = 78; + */ + MODEL_CHAT_12623 = 78, + + /** + * @generated from enum value: MODEL_CHAT_12950 = 79; + */ + MODEL_CHAT_12950 = 79, + + /** + * @generated from enum value: MODEL_CHAT_12968 = 101; + */ + MODEL_CHAT_12968 = 101, + + /** + * @generated from enum value: MODEL_CHAT_13404 = 102; + */ + MODEL_CHAT_13404 = 102, + + /** + * @generated from enum value: MODEL_CHAT_13566 = 103; + */ + MODEL_CHAT_13566 = 103, + + /** + * @generated from enum value: MODEL_CHAT_13930 = 108; + */ + MODEL_CHAT_13930 = 108, + + /** + * @generated from enum value: MODEL_CHAT_14255 = 110; + */ + MODEL_CHAT_14255 = 110, + + /** + * @generated from enum value: MODEL_CHAT_14256 = 111; + */ + MODEL_CHAT_14256 = 111, + + /** + * @generated from enum value: MODEL_CHAT_14942 = 114; + */ + MODEL_CHAT_14942 = 114, + + /** + * @generated from enum value: MODEL_CHAT_15305 = 120; + */ + MODEL_CHAT_15305 = 120, + + /** + * @generated from enum value: MODEL_CHAT_15600 = 123; + */ + MODEL_CHAT_15600 = 123, + + /** + * @generated from enum value: MODEL_CHAT_16801 = 124; + */ + MODEL_CHAT_16801 = 124, + + /** + * @generated from enum value: MODEL_CHAT_16718 = 175; + */ + MODEL_CHAT_16718 = 175, + + /** + * @generated from enum value: MODEL_CHAT_15729 = 168; + */ + MODEL_CHAT_15729 = 168, + + /** + * @generated from enum value: MODEL_CHAT_16579 = 173; + */ + MODEL_CHAT_16579 = 173, + + /** + * @generated from enum value: MODEL_CHAT_16579_CRUSOE = 174; + */ + MODEL_CHAT_16579_CRUSOE = 174, + + /** + * @generated from enum value: MODEL_CHAT_18805 = 181; + */ + MODEL_CHAT_18805 = 181, + + /** + * @generated from enum value: MODEL_CHAT_18468 = 210; + */ + MODEL_CHAT_18468 = 210, + + /** + * @generated from enum value: MODEL_CHAT_19484 = 233; + */ + MODEL_CHAT_19484 = 233, + + /** + * @generated from enum value: MODEL_CHAT_20706 = 235; + */ + MODEL_CHAT_20706 = 235, + + /** + * @generated from enum value: MODEL_CHAT_21779 = 245; + */ + MODEL_CHAT_21779 = 245, + + /** + * @generated from enum value: MODEL_CHAT_19040 = 211; + */ + MODEL_CHAT_19040 = 211, + + /** + * @generated from enum value: MODEL_CHAT_19820 = 229; + */ + MODEL_CHAT_19820 = 229, + + /** + * @generated from enum value: MODEL_CHAT_19821 = 230; + */ + MODEL_CHAT_19821 = 230, + + /** + * @generated from enum value: MODEL_CHAT_19821_CRUSOE = 244; + */ + MODEL_CHAT_19821_CRUSOE = 244, + + /** + * @generated from enum value: MODEL_CHAT_23310 = 269; + */ + MODEL_CHAT_23310 = 269, + + /** + * @generated from enum value: MODEL_CHAT_28580 = 330; + */ + MODEL_CHAT_28580 = 330, + + /** + * @generated from enum value: MODEL_CHAT_28581 = 331; + */ + MODEL_CHAT_28581 = 331, + + /** + * @generated from enum value: MODEL_CHAT_28582 = 332; + */ + MODEL_CHAT_28582 = 332, + + /** + * @generated from enum value: MODEL_CHAT_28583 = 333; + */ + MODEL_CHAT_28583 = 333, + + /** + * @generated from enum value: MODEL_CHAT_28584 = 334; + */ + MODEL_CHAT_28584 = 334, + + /** + * @generated from enum value: MODEL_CHAT_19822 = 231; + */ + MODEL_CHAT_19822 = 231, + + /** + * @generated from enum value: MODEL_CHAT_22798 = 255; + */ + MODEL_CHAT_22798 = 255, + + /** + * @generated from enum value: MODEL_CHAT_22799 = 256; + */ + MODEL_CHAT_22799 = 256, + + /** + * @generated from enum value: MODEL_CHAT_22800 = 257; + */ + MODEL_CHAT_22800 = 257, + + /** + * @generated from enum value: MODEL_CHAT_23151 = 267; + */ + MODEL_CHAT_23151 = 267, + + /** + * @generated from enum value: MODEL_CHAT_23152 = 268; + */ + MODEL_CHAT_23152 = 268, + + /** + * @generated from enum value: MODEL_TAB_ARMADILLO = 500; + */ + MODEL_TAB_ARMADILLO = 500, + + /** + * @generated from enum value: MODEL_TAB_BASE_1 = 501; + */ + MODEL_TAB_BASE_1 = 501, + + /** + * @generated from enum value: MODEL_TAB_EXPERIMENTAL_1 = 502; + */ + MODEL_TAB_EXPERIMENTAL_1 = 502, + + /** + * @generated from enum value: MODEL_TAB_EXPERIMENTAL_2 = 503; + */ + MODEL_TAB_EXPERIMENTAL_2 = 503, + + /** + * @generated from enum value: MODEL_TAB_EXPERIMENTAL_3 = 504; + */ + MODEL_TAB_EXPERIMENTAL_3 = 504, + + /** + * @generated from enum value: MODEL_TAB_EXPERIMENTAL_4 = 505; + */ + MODEL_TAB_EXPERIMENTAL_4 = 505, + + /** + * @generated from enum value: MODEL_TAB_EXPERIMENTAL_5 = 506; + */ + MODEL_TAB_EXPERIMENTAL_5 = 506, + + /** + * @generated from enum value: MODEL_TAB_EXPERIMENTAL_6 = 507; + */ + MODEL_TAB_EXPERIMENTAL_6 = 507, + + /** + * @generated from enum value: MODEL_TAB_EXPERIMENTAL_7 = 508; + */ + MODEL_TAB_EXPERIMENTAL_7 = 508, + + /** + * @generated from enum value: MODEL_TAB_EXPERIMENTAL_8 = 509; + */ + MODEL_TAB_EXPERIMENTAL_8 = 509, + + /** + * @generated from enum value: MODEL_TAB_EXPERIMENTAL_9 = 510; + */ + MODEL_TAB_EXPERIMENTAL_9 = 510, + + /** + * @generated from enum value: MODEL_TAB_EXPERIMENTAL_10 = 511; + */ + MODEL_TAB_EXPERIMENTAL_10 = 511, + + /** + * @generated from enum value: MODEL_CASCADE_22893 = 270; + */ + MODEL_CASCADE_22893 = 270, + + /** + * @generated from enum value: MODEL_CASCADE_20064 = 225; + */ + MODEL_CASCADE_20064 = 225, + + /** + * @generated from enum value: MODEL_CASCADE_20065 = 236; + */ + MODEL_CASCADE_20065 = 236, + + /** + * @generated from enum value: MODEL_CASCADE_20066 = 237; + */ + MODEL_CASCADE_20066 = 237, + + /** + * @generated from enum value: MODEL_CASCADE_20067 = 238; + */ + MODEL_CASCADE_20067 = 238, + + /** + * @generated from enum value: MODEL_CASCADE_20068 = 239; + */ + MODEL_CASCADE_20068 = 239, + + /** + * @generated from enum value: MODEL_CASCADE_20069 = 240; + */ + MODEL_CASCADE_20069 = 240, + + /** + * @generated from enum value: MODEL_CASCADE_20070 = 250; + */ + MODEL_CASCADE_20070 = 250, + + /** + * @generated from enum value: MODEL_CASCADE_20071 = 251; + */ + MODEL_CASCADE_20071 = 251, + + /** + * @generated from enum value: MODEL_CASCADE_20072 = 252; + */ + MODEL_CASCADE_20072 = 252, + + /** + * @generated from enum value: MODEL_CASCADE_20073 = 253; + */ + MODEL_CASCADE_20073 = 253, + + /** + * @generated from enum value: MODEL_CASCADE_20074 = 254; + */ + MODEL_CASCADE_20074 = 254, + + /** + * @generated from enum value: MODEL_CASCADE_20075 = 307; + */ + MODEL_CASCADE_20075 = 307, + + /** + * @generated from enum value: MODEL_CASCADE_20076 = 308; + */ + MODEL_CASCADE_20076 = 308, + + /** + * @generated from enum value: MODEL_CASCADE_20077 = 309; + */ + MODEL_CASCADE_20077 = 309, + + /** + * @generated from enum value: MODEL_CASCADE_20078 = 310; + */ + MODEL_CASCADE_20078 = 310, + + /** + * @generated from enum value: MODEL_CASCADE_20079 = 311; + */ + MODEL_CASCADE_20079 = 311, + + /** + * @generated from enum value: MODEL_CASCADE_20080 = 297; + */ + MODEL_CASCADE_20080 = 297, + + /** + * @generated from enum value: MODEL_CASCADE_20081 = 298; + */ + MODEL_CASCADE_20081 = 298, + + /** + * @generated from enum value: MODEL_CASCADE_20082 = 299; + */ + MODEL_CASCADE_20082 = 299, + + /** + * @generated from enum value: MODEL_CASCADE_20083 = 300; + */ + MODEL_CASCADE_20083 = 300, + + /** + * @generated from enum value: MODEL_CASCADE_20084 = 301; + */ + MODEL_CASCADE_20084 = 301, + + /** + * @generated from enum value: MODEL_CASCADE_20085 = 302; + */ + MODEL_CASCADE_20085 = 302, + + /** + * @generated from enum value: MODEL_CASCADE_20086 = 303; + */ + MODEL_CASCADE_20086 = 303, + + /** + * @generated from enum value: MODEL_CASCADE_20087 = 304; + */ + MODEL_CASCADE_20087 = 304, + + /** + * @generated from enum value: MODEL_CASCADE_20088 = 305; + */ + MODEL_CASCADE_20088 = 305, + + /** + * @generated from enum value: MODEL_CASCADE_20089 = 306; + */ + MODEL_CASCADE_20089 = 306, + + /** + * @generated from enum value: MODEL_DEEPSEEK_V3_INTERNAL = 247; + */ + MODEL_DEEPSEEK_V3_INTERNAL = 247, + + /** + * @generated from enum value: MODEL_DEEPSEEK_V3_0324_INTERNAL = 248; + */ + MODEL_DEEPSEEK_V3_0324_INTERNAL = 248, + + /** + * @generated from enum value: MODEL_DEEPSEEK_R1_INTERNAL = 249; + */ + MODEL_DEEPSEEK_R1_INTERNAL = 249, + + /** + * @generated from enum value: MODEL_ANTHROPIC_WINDSURF_RESEARCH = 241; + */ + MODEL_ANTHROPIC_WINDSURF_RESEARCH = 241, + + /** + * @generated from enum value: MODEL_ANTHROPIC_WINDSURF_RESEARCH_THINKING = 242 [deprecated = true]; + * @deprecated + */ + MODEL_ANTHROPIC_WINDSURF_RESEARCH_THINKING = 242, + + /** + * @generated from enum value: MODEL_DRAFT_11408 = 65; + */ + MODEL_DRAFT_11408 = 65, + + /** + * @generated from enum value: MODEL_DRAFT_CHAT_11883 = 67; + */ + MODEL_DRAFT_CHAT_11883 = 67, + + /** + * @generated from enum value: MODEL_DRAFT_CHAT_12196 = 72; + */ + MODEL_DRAFT_CHAT_12196 = 72, + + /** + * @generated from enum value: MODEL_DRAFT_CHAT_12413 = 73; + */ + MODEL_DRAFT_CHAT_12413 = 73, + + /** + * @generated from enum value: MODEL_DRAFT_CHAT_13175 = 104; + */ + MODEL_DRAFT_CHAT_13175 = 104, + + /** + * @generated from enum value: MODEL_DRAFT_CHAT_19823 = 232; + */ + MODEL_DRAFT_CHAT_19823 = 232, + + /** + * @generated from enum value: MODEL_DRAFT_CHAT_20707 = 243; + */ + MODEL_DRAFT_CHAT_20707 = 243, + + /** + * @generated from enum value: MODEL_DRAFT_CHAT_22801 = 258; + */ + MODEL_DRAFT_CHAT_22801 = 258, + + /** + * @generated from enum value: MODEL_DRAFT_CHAT_23508 = 273; + */ + MODEL_DRAFT_CHAT_23508 = 273, + + /** + * @generated from enum value: MODEL_DRAFT_CASCADE_23672 = 274; + */ + MODEL_DRAFT_CASCADE_23672 = 274, + + /** + * @generated from enum value: MODEL_CHAT_3_5_TURBO = 28; + */ + MODEL_CHAT_3_5_TURBO = 28, + + /** + * @generated from enum value: MODEL_CHAT_GPT_4 = 30; + */ + MODEL_CHAT_GPT_4 = 30, + + /** + * @generated from enum value: MODEL_CHAT_GPT_4_1106_PREVIEW = 37; + */ + MODEL_CHAT_GPT_4_1106_PREVIEW = 37, + + /** + * @generated from enum value: MODEL_TEXT_EMBEDDING_OPENAI_ADA = 91; + */ + MODEL_TEXT_EMBEDDING_OPENAI_ADA = 91, + + /** + * @generated from enum value: MODEL_TEXT_EMBEDDING_OPENAI_3_SMALL = 163; + */ + MODEL_TEXT_EMBEDDING_OPENAI_3_SMALL = 163, + + /** + * @generated from enum value: MODEL_TEXT_EMBEDDING_OPENAI_3_LARGE = 164; + */ + MODEL_TEXT_EMBEDDING_OPENAI_3_LARGE = 164, + + /** + * @generated from enum value: MODEL_CHAT_GPT_4O_2024_05_13 = 71; + */ + MODEL_CHAT_GPT_4O_2024_05_13 = 71, + + /** + * @generated from enum value: MODEL_CHAT_GPT_4O_2024_08_06 = 109; + */ + MODEL_CHAT_GPT_4O_2024_08_06 = 109, + + /** + * @generated from enum value: MODEL_CHAT_GPT_4O_MINI_2024_07_18 = 113; + */ + MODEL_CHAT_GPT_4O_MINI_2024_07_18 = 113, + + /** + * @generated from enum value: MODEL_CHAT_GPT_4_1_2025_04_14 = 259; + */ + MODEL_CHAT_GPT_4_1_2025_04_14 = 259, + + /** + * @generated from enum value: MODEL_CHAT_GPT_4_1_MINI_2025_04_14 = 260; + */ + MODEL_CHAT_GPT_4_1_MINI_2025_04_14 = 260, + + /** + * @generated from enum value: MODEL_CHAT_GPT_4_1_NANO_2025_04_14 = 261; + */ + MODEL_CHAT_GPT_4_1_NANO_2025_04_14 = 261, + + /** + * @generated from enum value: MODEL_CHAT_O1_PREVIEW = 117 [deprecated = true]; + * @deprecated + */ + MODEL_CHAT_O1_PREVIEW = 117, + + /** + * @generated from enum value: MODEL_CHAT_O1_MINI = 118 [deprecated = true]; + * @deprecated + */ + MODEL_CHAT_O1_MINI = 118, + + /** + * @generated from enum value: MODEL_CHAT_O1 = 170 [deprecated = true]; + * @deprecated + */ + MODEL_CHAT_O1 = 170, + + /** + * @generated from enum value: MODEL_CHAT_O3_MINI = 207; + */ + MODEL_CHAT_O3_MINI = 207, + + /** + * @generated from enum value: MODEL_CHAT_O3_MINI_LOW = 213; + */ + MODEL_CHAT_O3_MINI_LOW = 213, + + /** + * @generated from enum value: MODEL_CHAT_O3_MINI_HIGH = 214; + */ + MODEL_CHAT_O3_MINI_HIGH = 214, + + /** + * @generated from enum value: MODEL_CHAT_O3 = 218; + */ + MODEL_CHAT_O3 = 218, + + /** + * @generated from enum value: MODEL_CHAT_O3_LOW = 262; + */ + MODEL_CHAT_O3_LOW = 262, + + /** + * @generated from enum value: MODEL_CHAT_O3_HIGH = 263; + */ + MODEL_CHAT_O3_HIGH = 263, + + /** + * @generated from enum value: MODEL_CHAT_O4_MINI = 264; + */ + MODEL_CHAT_O4_MINI = 264, + + /** + * @generated from enum value: MODEL_CHAT_O4_MINI_LOW = 265; + */ + MODEL_CHAT_O4_MINI_LOW = 265, + + /** + * @generated from enum value: MODEL_CHAT_O4_MINI_HIGH = 266; + */ + MODEL_CHAT_O4_MINI_HIGH = 266, + + /** + * @generated from enum value: MODEL_CHAT_GPT_4_5 = 228 [deprecated = true]; + * @deprecated + */ + MODEL_CHAT_GPT_4_5 = 228, + + /** + * @generated from enum value: MODEL_CODEX_MINI_LATEST = 287; + */ + MODEL_CODEX_MINI_LATEST = 287, + + /** + * @generated from enum value: MODEL_CODEX_MINI_LATEST_LOW = 288; + */ + MODEL_CODEX_MINI_LATEST_LOW = 288, + + /** + * @generated from enum value: MODEL_CODEX_MINI_LATEST_HIGH = 289; + */ + MODEL_CODEX_MINI_LATEST_HIGH = 289, + + /** + * @generated from enum value: MODEL_O3_PRO_2025_06_10 = 294; + */ + MODEL_O3_PRO_2025_06_10 = 294, + + /** + * @generated from enum value: MODEL_O3_PRO_2025_06_10_LOW = 295; + */ + MODEL_O3_PRO_2025_06_10_LOW = 295, + + /** + * @generated from enum value: MODEL_O3_PRO_2025_06_10_HIGH = 296; + */ + MODEL_O3_PRO_2025_06_10_HIGH = 296, + + /** + * @generated from enum value: MODEL_GPT_OSS_120B = 326; + */ + MODEL_GPT_OSS_120B = 326, + + /** + * @generated from enum value: MODEL_GPT_5_NANO = 337; + */ + MODEL_GPT_5_NANO = 337, + + /** + * @generated from enum value: MODEL_CHAT_GPT_5_MINIMAL = 338; + */ + MODEL_CHAT_GPT_5_MINIMAL = 338, + + /** + * @generated from enum value: MODEL_CHAT_GPT_5_LOW = 339; + */ + MODEL_CHAT_GPT_5_LOW = 339, + + /** + * @generated from enum value: MODEL_CHAT_GPT_5 = 340; + */ + MODEL_CHAT_GPT_5 = 340, + + /** + * @generated from enum value: MODEL_CHAT_GPT_5_HIGH = 341; + */ + MODEL_CHAT_GPT_5_HIGH = 341, + + /** + * @generated from enum value: MODEL_CHAT_GPT_5_CODEX = 346; + */ + MODEL_CHAT_GPT_5_CODEX = 346, + + /** + * @generated from enum value: MODEL_GPT_5_1_CODEX_MINI_LOW = 385; + */ + MODEL_GPT_5_1_CODEX_MINI_LOW = 385, + + /** + * @generated from enum value: MODEL_GPT_5_1_CODEX_MINI_MEDIUM = 386; + */ + MODEL_GPT_5_1_CODEX_MINI_MEDIUM = 386, + + /** + * @generated from enum value: MODEL_GPT_5_1_CODEX_MINI_HIGH = 387; + */ + MODEL_GPT_5_1_CODEX_MINI_HIGH = 387, + + /** + * @generated from enum value: MODEL_GPT_5_1_CODEX_LOW = 388; + */ + MODEL_GPT_5_1_CODEX_LOW = 388, + + /** + * @generated from enum value: MODEL_GPT_5_1_CODEX_MEDIUM = 389; + */ + MODEL_GPT_5_1_CODEX_MEDIUM = 389, + + /** + * @generated from enum value: MODEL_GPT_5_1_CODEX_HIGH = 390; + */ + MODEL_GPT_5_1_CODEX_HIGH = 390, + + /** + * @generated from enum value: MODEL_GPT_5_1_CODEX_MAX_LOW = 395; + */ + MODEL_GPT_5_1_CODEX_MAX_LOW = 395, + + /** + * @generated from enum value: MODEL_GPT_5_1_CODEX_MAX_MEDIUM = 396; + */ + MODEL_GPT_5_1_CODEX_MAX_MEDIUM = 396, + + /** + * @generated from enum value: MODEL_GPT_5_1_CODEX_MAX_HIGH = 397; + */ + MODEL_GPT_5_1_CODEX_MAX_HIGH = 397, + + /** + * @generated from enum value: MODEL_GOOGLE_GEMINI_1_0_PRO = 61 [deprecated = true]; + * @deprecated + */ + MODEL_GOOGLE_GEMINI_1_0_PRO = 61, + + /** + * @generated from enum value: MODEL_GOOGLE_GEMINI_1_5_PRO = 62 [deprecated = true]; + * @deprecated + */ + MODEL_GOOGLE_GEMINI_1_5_PRO = 62, + + /** + * @generated from enum value: MODEL_GOOGLE_GEMINI_EXP_1206 = 183 [deprecated = true]; + * @deprecated + */ + MODEL_GOOGLE_GEMINI_EXP_1206 = 183, + + /** + * @generated from enum value: MODEL_GOOGLE_GEMINI_2_0_FLASH = 184; + */ + MODEL_GOOGLE_GEMINI_2_0_FLASH = 184, + + /** + * @generated from enum value: MODEL_GOOGLE_GEMINI_2_5_PRO = 246; + */ + MODEL_GOOGLE_GEMINI_2_5_PRO = 246, + + /** + * @generated from enum value: MODEL_GOOGLE_GEMINI_2_5_FLASH_PREVIEW_04_17 = 272 [deprecated = true]; + * @deprecated + */ + MODEL_GOOGLE_GEMINI_2_5_FLASH_PREVIEW_04_17 = 272, + + /** + * @generated from enum value: MODEL_GOOGLE_GEMINI_2_5_FLASH_PREVIEW_05_20 = 275 [deprecated = true]; + * @deprecated + */ + MODEL_GOOGLE_GEMINI_2_5_FLASH_PREVIEW_05_20 = 275, + + /** + * @generated from enum value: MODEL_GOOGLE_GEMINI_2_5_FLASH_PREVIEW_05_20_THINKING = 276 [deprecated = true]; + * @deprecated + */ + MODEL_GOOGLE_GEMINI_2_5_FLASH_PREVIEW_05_20_THINKING = 276, + + /** + * @generated from enum value: MODEL_GOOGLE_GEMINI_2_5_FLASH = 312; + */ + MODEL_GOOGLE_GEMINI_2_5_FLASH = 312, + + /** + * @generated from enum value: MODEL_GOOGLE_GEMINI_2_5_FLASH_THINKING = 313; + */ + MODEL_GOOGLE_GEMINI_2_5_FLASH_THINKING = 313, + + /** + * @generated from enum value: MODEL_GOOGLE_GEMINI_2_5_FLASH_LITE = 343; + */ + MODEL_GOOGLE_GEMINI_2_5_FLASH_LITE = 343, + + /** + * @generated from enum value: MODEL_GOOGLE_GEMINI_3_0_PRO_LOW = 378; + */ + MODEL_GOOGLE_GEMINI_3_0_PRO_LOW = 378, + + /** + * @generated from enum value: MODEL_GOOGLE_GEMINI_3_0_PRO_HIGH = 379; + */ + MODEL_GOOGLE_GEMINI_3_0_PRO_HIGH = 379, + + /** + * @generated from enum value: MODEL_GOOGLE_GEMINI_3_0_PRO_MINIMAL = 411 [deprecated = true]; + * @deprecated + */ + MODEL_GOOGLE_GEMINI_3_0_PRO_MINIMAL = 411, + + /** + * @generated from enum value: MODEL_GOOGLE_GEMINI_3_0_PRO_MEDIUM = 412 [deprecated = true]; + * @deprecated + */ + MODEL_GOOGLE_GEMINI_3_0_PRO_MEDIUM = 412, + + /** + * @generated from enum value: MODEL_GOOGLE_GEMINI_3_0_FLASH_MINIMAL = 413; + */ + MODEL_GOOGLE_GEMINI_3_0_FLASH_MINIMAL = 413, + + /** + * @generated from enum value: MODEL_GOOGLE_GEMINI_3_0_FLASH_LOW = 414; + */ + MODEL_GOOGLE_GEMINI_3_0_FLASH_LOW = 414, + + /** + * @generated from enum value: MODEL_GOOGLE_GEMINI_3_0_FLASH_MEDIUM = 415; + */ + MODEL_GOOGLE_GEMINI_3_0_FLASH_MEDIUM = 415, + + /** + * @generated from enum value: MODEL_GOOGLE_GEMINI_3_0_FLASH_HIGH = 416; + */ + MODEL_GOOGLE_GEMINI_3_0_FLASH_HIGH = 416, + + /** + * @generated from enum value: MODEL_CLAUDE_3_OPUS_20240229 = 63; + */ + MODEL_CLAUDE_3_OPUS_20240229 = 63, + + /** + * @generated from enum value: MODEL_CLAUDE_3_SONNET_20240229 = 64; + */ + MODEL_CLAUDE_3_SONNET_20240229 = 64, + + /** + * @generated from enum value: MODEL_CLAUDE_3_HAIKU_20240307 = 172; + */ + MODEL_CLAUDE_3_HAIKU_20240307 = 172, + + /** + * @generated from enum value: MODEL_CLAUDE_3_5_HAIKU_20241022 = 171; + */ + MODEL_CLAUDE_3_5_HAIKU_20241022 = 171, + + /** + * @generated from enum value: MODEL_CLAUDE_3_5_SONNET_20240620 = 80; + */ + MODEL_CLAUDE_3_5_SONNET_20240620 = 80, + + /** + * @generated from enum value: MODEL_CLAUDE_3_5_SONNET_20241022 = 166; + */ + MODEL_CLAUDE_3_5_SONNET_20241022 = 166, + + /** + * @generated from enum value: MODEL_CLAUDE_3_7_SONNET_20250219 = 226; + */ + MODEL_CLAUDE_3_7_SONNET_20250219 = 226, + + /** + * @generated from enum value: MODEL_CLAUDE_3_7_SONNET_20250219_THINKING = 227; + */ + MODEL_CLAUDE_3_7_SONNET_20250219_THINKING = 227, + + /** + * @generated from enum value: MODEL_CLAUDE_3_5_SONNET_BYOK = 284; + */ + MODEL_CLAUDE_3_5_SONNET_BYOK = 284, + + /** + * @generated from enum value: MODEL_CLAUDE_3_7_SONNET_BYOK = 285; + */ + MODEL_CLAUDE_3_7_SONNET_BYOK = 285, + + /** + * @generated from enum value: MODEL_CLAUDE_3_7_SONNET_OPEN_ROUTER_BYOK = 319; + */ + MODEL_CLAUDE_3_7_SONNET_OPEN_ROUTER_BYOK = 319, + + /** + * @generated from enum value: MODEL_CLAUDE_3_7_SONNET_THINKING_BYOK = 286; + */ + MODEL_CLAUDE_3_7_SONNET_THINKING_BYOK = 286, + + /** + * @generated from enum value: MODEL_CLAUDE_3_7_SONNET_THINKING_OPEN_ROUTER_BYOK = 320; + */ + MODEL_CLAUDE_3_7_SONNET_THINKING_OPEN_ROUTER_BYOK = 320, + + /** + * @generated from enum value: MODEL_CLAUDE_4_OPUS_BYOK = 277; + */ + MODEL_CLAUDE_4_OPUS_BYOK = 277, + + /** + * @generated from enum value: MODEL_CLAUDE_4_OPUS_THINKING_BYOK = 278; + */ + MODEL_CLAUDE_4_OPUS_THINKING_BYOK = 278, + + /** + * @generated from enum value: MODEL_CLAUDE_4_OPUS = 290; + */ + MODEL_CLAUDE_4_OPUS = 290, + + /** + * @generated from enum value: MODEL_CLAUDE_4_OPUS_THINKING = 291; + */ + MODEL_CLAUDE_4_OPUS_THINKING = 291, + + /** + * @generated from enum value: MODEL_CLAUDE_4_SONNET_BYOK = 279; + */ + MODEL_CLAUDE_4_SONNET_BYOK = 279, + + /** + * @generated from enum value: MODEL_CLAUDE_4_SONNET_OPEN_ROUTER_BYOK = 321; + */ + MODEL_CLAUDE_4_SONNET_OPEN_ROUTER_BYOK = 321, + + /** + * @generated from enum value: MODEL_CLAUDE_4_SONNET_THINKING_BYOK = 280; + */ + MODEL_CLAUDE_4_SONNET_THINKING_BYOK = 280, + + /** + * @generated from enum value: MODEL_CLAUDE_4_SONNET_THINKING_OPEN_ROUTER_BYOK = 322; + */ + MODEL_CLAUDE_4_SONNET_THINKING_OPEN_ROUTER_BYOK = 322, + + /** + * @generated from enum value: MODEL_CLAUDE_4_SONNET = 281; + */ + MODEL_CLAUDE_4_SONNET = 281, + + /** + * @generated from enum value: MODEL_CLAUDE_4_SONNET_THINKING = 282; + */ + MODEL_CLAUDE_4_SONNET_THINKING = 282, + + /** + * @generated from enum value: MODEL_CLAUDE_4_1_OPUS = 328; + */ + MODEL_CLAUDE_4_1_OPUS = 328, + + /** + * @generated from enum value: MODEL_CLAUDE_4_1_OPUS_THINKING = 329; + */ + MODEL_CLAUDE_4_1_OPUS_THINKING = 329, + + /** + * @generated from enum value: MODEL_CLAUDE_4_5_SONNET = 353; + */ + MODEL_CLAUDE_4_5_SONNET = 353, + + /** + * @generated from enum value: MODEL_CLAUDE_4_5_SONNET_THINKING = 354; + */ + MODEL_CLAUDE_4_5_SONNET_THINKING = 354, + + /** + * @generated from enum value: MODEL_CLAUDE_4_5_SONNET_1M = 370; + */ + MODEL_CLAUDE_4_5_SONNET_1M = 370, + + /** + * @generated from enum value: MODEL_CLAUDE_4_5_SONNET_THINKING_1M = 371; + */ + MODEL_CLAUDE_4_5_SONNET_THINKING_1M = 371, + + /** + * @generated from enum value: MODEL_CLAUDE_4_5_OPUS = 391; + */ + MODEL_CLAUDE_4_5_OPUS = 391, + + /** + * @generated from enum value: MODEL_CLAUDE_4_5_OPUS_THINKING = 392; + */ + MODEL_CLAUDE_4_5_OPUS_THINKING = 392, + + /** + * @generated from enum value: MODEL_CLAUDE_4_SONNET_DATABRICKS = 292 [deprecated = true]; + * @deprecated + */ + MODEL_CLAUDE_4_SONNET_DATABRICKS = 292, + + /** + * @generated from enum value: MODEL_CLAUDE_4_SONNET_THINKING_DATABRICKS = 293 [deprecated = true]; + * @deprecated + */ + MODEL_CLAUDE_4_SONNET_THINKING_DATABRICKS = 293, + + /** + * @generated from enum value: MODEL_TOGETHERAI_TEXT_EMBEDDING_M2_BERT = 81 [deprecated = true]; + * @deprecated + */ + MODEL_TOGETHERAI_TEXT_EMBEDDING_M2_BERT = 81, + + /** + * @generated from enum value: MODEL_TOGETHERAI_LLAMA_3_1_8B_INSTRUCT = 165 [deprecated = true]; + * @deprecated + */ + MODEL_TOGETHERAI_LLAMA_3_1_8B_INSTRUCT = 165, + + /** + * @generated from enum value: MODEL_HUGGING_FACE_TEXT_EMBEDDING_M2_BERT = 82 [deprecated = true]; + * @deprecated + */ + MODEL_HUGGING_FACE_TEXT_EMBEDDING_M2_BERT = 82, + + /** + * @generated from enum value: MODEL_HUGGING_FACE_TEXT_EMBEDDING_UAE_CODE = 83 [deprecated = true]; + * @deprecated + */ + MODEL_HUGGING_FACE_TEXT_EMBEDDING_UAE_CODE = 83, + + /** + * @generated from enum value: MODEL_HUGGING_FACE_TEXT_EMBEDDING_BGE = 84 [deprecated = true]; + * @deprecated + */ + MODEL_HUGGING_FACE_TEXT_EMBEDDING_BGE = 84, + + /** + * @generated from enum value: MODEL_HUGGING_FACE_TEXT_EMBEDDING_BLADE = 85 [deprecated = true]; + * @deprecated + */ + MODEL_HUGGING_FACE_TEXT_EMBEDDING_BLADE = 85, + + /** + * @generated from enum value: MODEL_HUGGING_FACE_TEXT_EMBEDDING_ARCTIC_LARGE = 86 [deprecated = true]; + * @deprecated + */ + MODEL_HUGGING_FACE_TEXT_EMBEDDING_ARCTIC_LARGE = 86, + + /** + * @generated from enum value: MODEL_HUGGING_FACE_TEXT_EMBEDDING_E5_BASE = 87 [deprecated = true]; + * @deprecated + */ + MODEL_HUGGING_FACE_TEXT_EMBEDDING_E5_BASE = 87, + + /** + * @generated from enum value: MODEL_HUGGING_FACE_TEXT_EMBEDDING_MXBAI = 88 [deprecated = true]; + * @deprecated + */ + MODEL_HUGGING_FACE_TEXT_EMBEDDING_MXBAI = 88, + + /** + * @generated from enum value: MODEL_LLAMA_3_1_8B_INSTRUCT = 106; + */ + MODEL_LLAMA_3_1_8B_INSTRUCT = 106, + + /** + * @generated from enum value: MODEL_LLAMA_3_1_70B_INSTRUCT = 107; + */ + MODEL_LLAMA_3_1_70B_INSTRUCT = 107, + + /** + * @generated from enum value: MODEL_LLAMA_3_1_405B_INSTRUCT = 105; + */ + MODEL_LLAMA_3_1_405B_INSTRUCT = 105, + + /** + * @generated from enum value: MODEL_LLAMA_3_3_70B_INSTRUCT = 208; + */ + MODEL_LLAMA_3_3_70B_INSTRUCT = 208, + + /** + * @generated from enum value: MODEL_LLAMA_3_3_70B_INSTRUCT_R1 = 209; + */ + MODEL_LLAMA_3_3_70B_INSTRUCT_R1 = 209, + + /** + * @generated from enum value: MODEL_LLAMA_3_1_70B_INSTRUCT_LONG_CONTEXT = 116; + */ + MODEL_LLAMA_3_1_70B_INSTRUCT_LONG_CONTEXT = 116, + + /** + * @generated from enum value: MODEL_LLAMA_3_1_8B_HERMES_3 = 176 [deprecated = true]; + * @deprecated + */ + MODEL_LLAMA_3_1_8B_HERMES_3 = 176, + + /** + * @generated from enum value: MODEL_LLAMA_3_1_70B_HERMES_3 = 177 [deprecated = true]; + * @deprecated + */ + MODEL_LLAMA_3_1_70B_HERMES_3 = 177, + + /** + * @generated from enum value: MODEL_QWEN_2_5_7B_INSTRUCT = 178; + */ + MODEL_QWEN_2_5_7B_INSTRUCT = 178, + + /** + * @generated from enum value: MODEL_QWEN_2_5_32B_INSTRUCT = 179; + */ + MODEL_QWEN_2_5_32B_INSTRUCT = 179, + + /** + * @generated from enum value: MODEL_QWEN_2_5_72B_INSTRUCT = 180; + */ + MODEL_QWEN_2_5_72B_INSTRUCT = 180, + + /** + * @generated from enum value: MODEL_QWEN_2_5_32B_INSTRUCT_R1 = 224; + */ + MODEL_QWEN_2_5_32B_INSTRUCT_R1 = 224, + + /** + * @generated from enum value: MODEL_QWEN_3_235B_INSTRUCT = 324; + */ + MODEL_QWEN_3_235B_INSTRUCT = 324, + + /** + * @generated from enum value: MODEL_QWEN_3_CODER_480B_INSTRUCT = 325; + */ + MODEL_QWEN_3_CODER_480B_INSTRUCT = 325, + + /** + * @generated from enum value: MODEL_QWEN_3_CODER_480B_INSTRUCT_FAST = 327; + */ + MODEL_QWEN_3_CODER_480B_INSTRUCT_FAST = 327, + + /** + * @generated from enum value: MODEL_GLM_4_5 = 342; + */ + MODEL_GLM_4_5 = 342, + + /** + * @generated from enum value: MODEL_GLM_4_5_FAST = 352; + */ + MODEL_GLM_4_5_FAST = 352, + + /** + * @generated from enum value: MODEL_GLM_4_6 = 356; + */ + MODEL_GLM_4_6 = 356, + + /** + * @generated from enum value: MODEL_GLM_4_6_FAST = 357; + */ + MODEL_GLM_4_6_FAST = 357, + + /** + * @generated from enum value: MODEL_GLM_4_7 = 417; + */ + MODEL_GLM_4_7 = 417, + + /** + * @generated from enum value: MODEL_GLM_4_7_FAST = 418; + */ + MODEL_GLM_4_7_FAST = 418, + + /** + * @generated from enum value: MODEL_SWE_1_5 = 359; + */ + MODEL_SWE_1_5 = 359, + + /** + * @generated from enum value: MODEL_SWE_1_5_REDIRECT = 361; + */ + MODEL_SWE_1_5_REDIRECT = 361, + + /** + * @generated from enum value: MODEL_SWE_1_5_THINKING = 369; + */ + MODEL_SWE_1_5_THINKING = 369, + + /** + * @generated from enum value: MODEL_SWE_1_5_SLOW = 377; + */ + MODEL_SWE_1_5_SLOW = 377, + + /** + * @generated from enum value: MODEL_SWE_1_6 = 420; + */ + MODEL_SWE_1_6 = 420, + + /** + * @generated from enum value: MODEL_SWE_1_6_FAST = 421; + */ + MODEL_SWE_1_6_FAST = 421, + + /** + * @generated from enum value: MODEL_CODEMAP_SMALL = 358; + */ + MODEL_CODEMAP_SMALL = 358, + + /** + * @generated from enum value: MODEL_CODEMAP_MEDIUM = 360; + */ + MODEL_CODEMAP_MEDIUM = 360, + + /** + * @generated from enum value: MODEL_CODEMAP_SMART = 362; + */ + MODEL_CODEMAP_SMART = 362, + + /** + * @generated from enum value: MODEL_COGNITION_INSTANT_CONTEXT = 355; + */ + MODEL_COGNITION_INSTANT_CONTEXT = 355, + + /** + * @generated from enum value: MODEL_LLAMA_FT_DEEPWIKI_ARTICLE = 335; + */ + MODEL_LLAMA_FT_DEEPWIKI_ARTICLE = 335, + + /** + * @generated from enum value: MODEL_LLAMA_FT_DEEPWIKI_HOVER = 336; + */ + MODEL_LLAMA_FT_DEEPWIKI_HOVER = 336, + + /** + * @generated from enum value: MODEL_LLAMA_FT_LIFEGUARD = 398; + */ + MODEL_LLAMA_FT_LIFEGUARD = 398, + + /** + * @generated from enum value: MODEL_COGNITION_LIFEGUARD = 410; + */ + MODEL_COGNITION_LIFEGUARD = 410, + + /** + * @generated from enum value: MODEL_NOMIC_TEXT_EMBEDDING_V1 = 89 [deprecated = true]; + * @deprecated + */ + MODEL_NOMIC_TEXT_EMBEDDING_V1 = 89, + + /** + * @generated from enum value: MODEL_NOMIC_TEXT_EMBEDDING_V1_5 = 90 [deprecated = true]; + * @deprecated + */ + MODEL_NOMIC_TEXT_EMBEDDING_V1_5 = 90, + + /** + * @generated from enum value: MODEL_MISTRAL_7B = 77; + */ + MODEL_MISTRAL_7B = 77, + + /** + * @generated from enum value: MODEL_SALESFORCE_EMBEDDING_2R = 99; + */ + MODEL_SALESFORCE_EMBEDDING_2R = 99, + + /** + * @generated from enum value: MODEL_CUSTOM_VLLM = 182; + */ + MODEL_CUSTOM_VLLM = 182, + + /** + * @generated from enum value: MODEL_TEI_BGE_M3 = 92 [deprecated = true]; + * @deprecated + */ + MODEL_TEI_BGE_M3 = 92, + + /** + * @generated from enum value: MODEL_TEI_NOMIC_EMBED_TEXT_V1 = 93 [deprecated = true]; + * @deprecated + */ + MODEL_TEI_NOMIC_EMBED_TEXT_V1 = 93, + + /** + * @generated from enum value: MODEL_TEI_INTFLOAT_E5_LARGE_INSTRUCT = 94 [deprecated = true]; + * @deprecated + */ + MODEL_TEI_INTFLOAT_E5_LARGE_INSTRUCT = 94, + + /** + * @generated from enum value: MODEL_TEI_SNOWFLAKE_ARCTIC_EMBED_L = 95 [deprecated = true]; + * @deprecated + */ + MODEL_TEI_SNOWFLAKE_ARCTIC_EMBED_L = 95, + + /** + * @generated from enum value: MODEL_TEI_UAE_CODE_LARGE_V1 = 96 [deprecated = true]; + * @deprecated + */ + MODEL_TEI_UAE_CODE_LARGE_V1 = 96, + + /** + * @generated from enum value: MODEL_TEI_B1ADE = 97 [deprecated = true]; + * @deprecated + */ + MODEL_TEI_B1ADE = 97, + + /** + * @generated from enum value: MODEL_TEI_WHEREISAI_UAE_LARGE_V1 = 98 [deprecated = true]; + * @deprecated + */ + MODEL_TEI_WHEREISAI_UAE_LARGE_V1 = 98, + + /** + * @generated from enum value: MODEL_TEI_WHEREISAI_UAE_CODE_LARGE_V1 = 100 [deprecated = true]; + * @deprecated + */ + MODEL_TEI_WHEREISAI_UAE_CODE_LARGE_V1 = 100, + + /** + * @generated from enum value: MODEL_OPENAI_COMPATIBLE = 200 [deprecated = true]; + * @deprecated + */ + MODEL_OPENAI_COMPATIBLE = 200, + + /** + * @generated from enum value: MODEL_ANTHROPIC_COMPATIBLE = 201 [deprecated = true]; + * @deprecated + */ + MODEL_ANTHROPIC_COMPATIBLE = 201, + + /** + * @generated from enum value: MODEL_VERTEX_COMPATIBLE = 202 [deprecated = true]; + * @deprecated + */ + MODEL_VERTEX_COMPATIBLE = 202, + + /** + * @generated from enum value: MODEL_BEDROCK_COMPATIBLE = 203 [deprecated = true]; + * @deprecated + */ + MODEL_BEDROCK_COMPATIBLE = 203, + + /** + * @generated from enum value: MODEL_AZURE_COMPATIBLE = 204 [deprecated = true]; + * @deprecated + */ + MODEL_AZURE_COMPATIBLE = 204, + + /** + * @generated from enum value: MODEL_DEEPSEEK_V3 = 205; + */ + MODEL_DEEPSEEK_V3 = 205, + + /** + * @generated from enum value: MODEL_DEEPSEEK_R1 = 206; + */ + MODEL_DEEPSEEK_R1 = 206, + + /** + * @generated from enum value: MODEL_DEEPSEEK_R1_SLOW = 215; + */ + MODEL_DEEPSEEK_R1_SLOW = 215, + + /** + * @generated from enum value: MODEL_DEEPSEEK_R1_FAST = 216; + */ + MODEL_DEEPSEEK_R1_FAST = 216, + + /** + * @generated from enum value: MODEL_KIMI_K2 = 323; + */ + MODEL_KIMI_K2 = 323, + + /** + * @generated from enum value: MODEL_MINIMAX_M2 = 368; + */ + MODEL_MINIMAX_M2 = 368, + + /** + * @generated from enum value: MODEL_MINIMAX_M2_1 = 419; + */ + MODEL_MINIMAX_M2_1 = 419, + + /** + * @generated from enum value: MODEL_DEEPSEEK_V3_2 = 409; + */ + MODEL_DEEPSEEK_V3_2 = 409, + + /** + * @generated from enum value: MODEL_KIMI_K2_THINKING = 394; + */ + MODEL_KIMI_K2_THINKING = 394, + + /** + * @generated from enum value: MODEL_CUSTOM_OPEN_ROUTER = 185; + */ + MODEL_CUSTOM_OPEN_ROUTER = 185, + + /** + * @generated from enum value: MODEL_XAI_GROK_2 = 212; + */ + MODEL_XAI_GROK_2 = 212, + + /** + * @generated from enum value: MODEL_XAI_GROK_3 = 217; + */ + MODEL_XAI_GROK_3 = 217, + + /** + * @generated from enum value: MODEL_XAI_GROK_3_MINI_REASONING = 234; + */ + MODEL_XAI_GROK_3_MINI_REASONING = 234, + + /** + * @generated from enum value: MODEL_XAI_GROK_CODE_FAST = 345; + */ + MODEL_XAI_GROK_CODE_FAST = 345, + + /** + * @generated from enum value: MODEL_PRIVATE_1 = 219; + */ + MODEL_PRIVATE_1 = 219, + + /** + * @generated from enum value: MODEL_PRIVATE_2 = 220; + */ + MODEL_PRIVATE_2 = 220, + + /** + * @generated from enum value: MODEL_PRIVATE_3 = 221; + */ + MODEL_PRIVATE_3 = 221, + + /** + * @generated from enum value: MODEL_PRIVATE_4 = 222; + */ + MODEL_PRIVATE_4 = 222, + + /** + * @generated from enum value: MODEL_PRIVATE_5 = 223; + */ + MODEL_PRIVATE_5 = 223, + + /** + * @generated from enum value: MODEL_PRIVATE_6 = 314; + */ + MODEL_PRIVATE_6 = 314, + + /** + * @generated from enum value: MODEL_PRIVATE_7 = 315; + */ + MODEL_PRIVATE_7 = 315, + + /** + * @generated from enum value: MODEL_PRIVATE_8 = 316; + */ + MODEL_PRIVATE_8 = 316, + + /** + * @generated from enum value: MODEL_PRIVATE_9 = 317; + */ + MODEL_PRIVATE_9 = 317, + + /** + * @generated from enum value: MODEL_PRIVATE_10 = 318; + */ + MODEL_PRIVATE_10 = 318, + + /** + * @generated from enum value: MODEL_PRIVATE_11 = 347; + */ + MODEL_PRIVATE_11 = 347, + + /** + * @generated from enum value: MODEL_PRIVATE_12 = 348; + */ + MODEL_PRIVATE_12 = 348, + + /** + * @generated from enum value: MODEL_PRIVATE_13 = 349; + */ + MODEL_PRIVATE_13 = 349, + + /** + * @generated from enum value: MODEL_PRIVATE_14 = 350; + */ + MODEL_PRIVATE_14 = 350, + + /** + * @generated from enum value: MODEL_PRIVATE_15 = 351; + */ + MODEL_PRIVATE_15 = 351, + + /** + * @generated from enum value: MODEL_PRIVATE_16 = 363; + */ + MODEL_PRIVATE_16 = 363, + + /** + * @generated from enum value: MODEL_PRIVATE_17 = 364; + */ + MODEL_PRIVATE_17 = 364, + + /** + * @generated from enum value: MODEL_PRIVATE_18 = 365; + */ + MODEL_PRIVATE_18 = 365, + + /** + * @generated from enum value: MODEL_PRIVATE_19 = 366; + */ + MODEL_PRIVATE_19 = 366, + + /** + * @generated from enum value: MODEL_PRIVATE_20 = 367; + */ + MODEL_PRIVATE_20 = 367, + + /** + * @generated from enum value: MODEL_PRIVATE_21 = 372; + */ + MODEL_PRIVATE_21 = 372, + + /** + * @generated from enum value: MODEL_PRIVATE_22 = 373; + */ + MODEL_PRIVATE_22 = 373, + + /** + * @generated from enum value: MODEL_PRIVATE_23 = 374; + */ + MODEL_PRIVATE_23 = 374, + + /** + * @generated from enum value: MODEL_PRIVATE_24 = 375; + */ + MODEL_PRIVATE_24 = 375, + + /** + * @generated from enum value: MODEL_PRIVATE_25 = 376; + */ + MODEL_PRIVATE_25 = 376, + + /** + * @generated from enum value: MODEL_PRIVATE_26 = 380; + */ + MODEL_PRIVATE_26 = 380, + + /** + * @generated from enum value: MODEL_PRIVATE_27 = 381; + */ + MODEL_PRIVATE_27 = 381, + + /** + * @generated from enum value: MODEL_PRIVATE_28 = 382; + */ + MODEL_PRIVATE_28 = 382, + + /** + * @generated from enum value: MODEL_PRIVATE_29 = 383; + */ + MODEL_PRIVATE_29 = 383, + + /** + * @generated from enum value: MODEL_PRIVATE_30 = 384; + */ + MODEL_PRIVATE_30 = 384, + + /** + * @generated from enum value: MODEL_GPT_5_2_NONE = 399; + */ + MODEL_GPT_5_2_NONE = 399, + + /** + * @generated from enum value: MODEL_GPT_5_2_LOW = 400; + */ + MODEL_GPT_5_2_LOW = 400, + + /** + * @generated from enum value: MODEL_GPT_5_2_MEDIUM = 401; + */ + MODEL_GPT_5_2_MEDIUM = 401, + + /** + * @generated from enum value: MODEL_GPT_5_2_HIGH = 402; + */ + MODEL_GPT_5_2_HIGH = 402, + + /** + * @generated from enum value: MODEL_GPT_5_2_XHIGH = 403; + */ + MODEL_GPT_5_2_XHIGH = 403, + + /** + * @generated from enum value: MODEL_GPT_5_2_NONE_PRIORITY = 404; + */ + MODEL_GPT_5_2_NONE_PRIORITY = 404, + + /** + * @generated from enum value: MODEL_GPT_5_2_LOW_PRIORITY = 405; + */ + MODEL_GPT_5_2_LOW_PRIORITY = 405, + + /** + * @generated from enum value: MODEL_GPT_5_2_MEDIUM_PRIORITY = 406; + */ + MODEL_GPT_5_2_MEDIUM_PRIORITY = 406, + + /** + * @generated from enum value: MODEL_GPT_5_2_HIGH_PRIORITY = 407; + */ + MODEL_GPT_5_2_HIGH_PRIORITY = 407, + + /** + * @generated from enum value: MODEL_GPT_5_2_XHIGH_PRIORITY = 408; + */ + MODEL_GPT_5_2_XHIGH_PRIORITY = 408, + + /** + * @generated from enum value: MODEL_GPT_5_2_CODEX_LOW = 422; + */ + MODEL_GPT_5_2_CODEX_LOW = 422, + + /** + * @generated from enum value: MODEL_GPT_5_2_CODEX_MEDIUM = 423; + */ + MODEL_GPT_5_2_CODEX_MEDIUM = 423, + + /** + * @generated from enum value: MODEL_GPT_5_2_CODEX_HIGH = 424; + */ + MODEL_GPT_5_2_CODEX_HIGH = 424, + + /** + * @generated from enum value: MODEL_GPT_5_2_CODEX_XHIGH = 425; + */ + MODEL_GPT_5_2_CODEX_XHIGH = 425, + + /** + * @generated from enum value: MODEL_GPT_5_2_CODEX_LOW_PRIORITY = 426; + */ + MODEL_GPT_5_2_CODEX_LOW_PRIORITY = 426, + + /** + * @generated from enum value: MODEL_GPT_5_2_CODEX_MEDIUM_PRIORITY = 427; + */ + MODEL_GPT_5_2_CODEX_MEDIUM_PRIORITY = 427, + + /** + * @generated from enum value: MODEL_GPT_5_2_CODEX_HIGH_PRIORITY = 428; + */ + MODEL_GPT_5_2_CODEX_HIGH_PRIORITY = 428, + + /** + * @generated from enum value: MODEL_GPT_5_2_CODEX_XHIGH_PRIORITY = 429; + */ + MODEL_GPT_5_2_CODEX_XHIGH_PRIORITY = 429, + + /** + * @generated from enum value: MODEL_SGLANG_ROLLOUT = 600; + */ + MODEL_SGLANG_ROLLOUT = 600, +} + +/** + * Describes the enum exa.codeium_common_pb.Model. + */ +export const ModelSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 6); + +/** + * @generated from enum exa.codeium_common_pb.DeepWikiModelType + */ +export enum DeepWikiModelType { + /** + * @generated from enum value: DEEP_WIKI_MODEL_TYPE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: DEEP_WIKI_MODEL_TYPE_CAPACITY_FALLBACK = 1; + */ + CAPACITY_FALLBACK = 1, + + /** + * @generated from enum value: DEEP_WIKI_MODEL_TYPE_LITE_FREE = 2; + */ + LITE_FREE = 2, + + /** + * @generated from enum value: DEEP_WIKI_MODEL_TYPE_LITE_PAID = 3; + */ + LITE_PAID = 3, + + /** + * @generated from enum value: DEEP_WIKI_MODEL_TYPE_PREMIUM = 4; + */ + PREMIUM = 4, +} + +/** + * Describes the enum exa.codeium_common_pb.DeepWikiModelType. + */ +export const DeepWikiModelTypeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 7); + +/** + * @generated from enum exa.codeium_common_pb.PromptElementExclusionReason + */ +export enum PromptElementExclusionReason { + /** + * @generated from enum value: EXCLUSION_UNSPECIFIED = 0; + */ + EXCLUSION_UNSPECIFIED = 0, + + /** + * @generated from enum value: EXCLUSION_ELEMENT_KIND_DISABLED = 1; + */ + EXCLUSION_ELEMENT_KIND_DISABLED = 1, + + /** + * @generated from enum value: EXCLUSION_ELEMENT_MISSING_DEPENDENCY = 2; + */ + EXCLUSION_ELEMENT_MISSING_DEPENDENCY = 2, + + /** + * @generated from enum value: EXCLUSION_TOKEN_BUDGET = 3; + */ + EXCLUSION_TOKEN_BUDGET = 3, + + /** + * @generated from enum value: EXCLUSION_ACTIVE_SOURCE_OVERLAP = 4; + */ + EXCLUSION_ACTIVE_SOURCE_OVERLAP = 4, +} + +/** + * Describes the enum exa.codeium_common_pb.PromptElementExclusionReason. + */ +export const PromptElementExclusionReasonSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 8); + +/** + * @generated from enum exa.codeium_common_pb.StopReason + */ +export enum StopReason { + /** + * @generated from enum value: STOP_REASON_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: STOP_REASON_INCOMPLETE = 1; + */ + INCOMPLETE = 1, + + /** + * @generated from enum value: STOP_REASON_STOP_PATTERN = 2; + */ + STOP_PATTERN = 2, + + /** + * @generated from enum value: STOP_REASON_MAX_TOKENS = 3; + */ + MAX_TOKENS = 3, + + /** + * @generated from enum value: STOP_REASON_MIN_LOG_PROB = 4; + */ + MIN_LOG_PROB = 4, + + /** + * @generated from enum value: STOP_REASON_MAX_NEWLINES = 5; + */ + MAX_NEWLINES = 5, + + /** + * @generated from enum value: STOP_REASON_EXIT_SCOPE = 6; + */ + EXIT_SCOPE = 6, + + /** + * @generated from enum value: STOP_REASON_NONFINITE_LOGIT_OR_PROB = 7; + */ + NONFINITE_LOGIT_OR_PROB = 7, + + /** + * @generated from enum value: STOP_REASON_FIRST_NON_WHITESPACE_LINE = 8; + */ + FIRST_NON_WHITESPACE_LINE = 8, + + /** + * @generated from enum value: STOP_REASON_PARTIAL = 9; + */ + PARTIAL = 9, + + /** + * @generated from enum value: STOP_REASON_FUNCTION_CALL = 10; + */ + FUNCTION_CALL = 10, + + /** + * @generated from enum value: STOP_REASON_CONTENT_FILTER = 11; + */ + CONTENT_FILTER = 11, + + /** + * @generated from enum value: STOP_REASON_NON_INSERTION = 12; + */ + NON_INSERTION = 12, + + /** + * @generated from enum value: STOP_REASON_ERROR = 13; + */ + ERROR = 13, +} + +/** + * Describes the enum exa.codeium_common_pb.StopReason. + */ +export const StopReasonSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 9); + +/** + * @generated from enum exa.codeium_common_pb.FilterReason + */ +export enum FilterReason { + /** + * @generated from enum value: FILTER_REASON_NONE = 0; + */ + NONE = 0, + + /** + * @generated from enum value: FILTER_REASON_INCOMPLETE = 1; + */ + INCOMPLETE = 1, + + /** + * @generated from enum value: FILTER_REASON_EMPTY = 2; + */ + EMPTY = 2, + + /** + * @generated from enum value: FILTER_REASON_REPETITIVE = 3; + */ + REPETITIVE = 3, + + /** + * @generated from enum value: FILTER_REASON_DUPLICATE = 4; + */ + DUPLICATE = 4, + + /** + * @generated from enum value: FILTER_REASON_LONG_LINE = 5; + */ + LONG_LINE = 5, + + /** + * @generated from enum value: FILTER_REASON_COMPLETIONS_CUTOFF = 6; + */ + COMPLETIONS_CUTOFF = 6, + + /** + * @generated from enum value: FILTER_REASON_ATTRIBUTION = 7; + */ + ATTRIBUTION = 7, + + /** + * @generated from enum value: FILTER_REASON_NON_MATCHING = 8; + */ + NON_MATCHING = 8, + + /** + * @generated from enum value: FILTER_REASON_NON_INSERTION = 9; + */ + NON_INSERTION = 9, +} + +/** + * Describes the enum exa.codeium_common_pb.FilterReason. + */ +export const FilterReasonSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 10); + +/** + * @generated from enum exa.codeium_common_pb.AttributionStatus + */ +export enum AttributionStatus { + /** + * @generated from enum value: ATTRIBUTION_STATUS_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: ATTRIBUTION_STATUS_NEW_CODE = 1; + */ + NEW_CODE = 1, + + /** + * @generated from enum value: ATTRIBUTION_STATUS_NO_LICENSE = 2; + */ + NO_LICENSE = 2, + + /** + * @generated from enum value: ATTRIBUTION_STATUS_NONPERMISSIVE = 3; + */ + NONPERMISSIVE = 3, + + /** + * @generated from enum value: ATTRIBUTION_STATUS_PERMISSIVE = 4; + */ + PERMISSIVE = 4, + + /** + * @generated from enum value: ATTRIBUTION_STATUS_PERMISSIVE_BLOCKED = 5; + */ + PERMISSIVE_BLOCKED = 5, +} + +/** + * Describes the enum exa.codeium_common_pb.AttributionStatus. + */ +export const AttributionStatusSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 11); + +/** + * @generated from enum exa.codeium_common_pb.EmbeddingPriority + */ +export enum EmbeddingPriority { + /** + * @generated from enum value: EMBEDDING_PRIORITY_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: EMBEDDING_PRIORITY_HIGH = 1; + */ + HIGH = 1, + + /** + * @generated from enum value: EMBEDDING_PRIORITY_LOW = 2; + */ + LOW = 2, +} + +/** + * Describes the enum exa.codeium_common_pb.EmbeddingPriority. + */ +export const EmbeddingPrioritySchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 12); + +/** + * @generated from enum exa.codeium_common_pb.EmbeddingPrefix + */ +export enum EmbeddingPrefix { + /** + * @generated from enum value: EMBEDDING_PREFIX_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: EMBEDDING_PREFIX_NOMIC_DOCUMENT = 1; + */ + NOMIC_DOCUMENT = 1, + + /** + * @generated from enum value: EMBEDDING_PREFIX_NOMIC_SEARCH = 2; + */ + NOMIC_SEARCH = 2, + + /** + * @generated from enum value: EMBEDDING_PREFIX_NOMIC_CLASSIFICATION = 3; + */ + NOMIC_CLASSIFICATION = 3, + + /** + * @generated from enum value: EMBEDDING_PREFIX_NOMIC_CLUSTERING = 4; + */ + NOMIC_CLUSTERING = 4, +} + +/** + * Describes the enum exa.codeium_common_pb.EmbeddingPrefix. + */ +export const EmbeddingPrefixSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 13); + +/** + * @generated from enum exa.codeium_common_pb.EmbeddingSource + */ +export enum EmbeddingSource { + /** + * @generated from enum value: EMBEDDING_SOURCE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: EMBEDDING_SOURCE_CODE_CONTEXT_ITEM = 1; + */ + CODE_CONTEXT_ITEM = 1, + + /** + * @generated from enum value: EMBEDDING_SOURCE_COMMIT_INTENT = 2; + */ + COMMIT_INTENT = 2, +} + +/** + * Describes the enum exa.codeium_common_pb.EmbeddingSource. + */ +export const EmbeddingSourceSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 14); + +/** + * @generated from enum exa.codeium_common_pb.AuthSource + */ +export enum AuthSource { + /** + * @generated from enum value: AUTH_SOURCE_CODEIUM = 0; + */ + CODEIUM = 0, + + /** + * @generated from enum value: AUTH_SOURCE_DEEPNOTE = 1; + */ + DEEPNOTE = 1, + + /** + * @generated from enum value: AUTH_SOURCE_CODESANDBOX = 2 [deprecated = true]; + * @deprecated + */ + CODESANDBOX = 2, + + /** + * @generated from enum value: AUTH_SOURCE_STACKBLITZ = 3; + */ + STACKBLITZ = 3, + + /** + * @generated from enum value: AUTH_SOURCE_VALTOWN = 4; + */ + VALTOWN = 4, + + /** + * @generated from enum value: AUTH_SOURCE_HEX = 5; + */ + HEX = 5, + + /** + * @generated from enum value: AUTH_SOURCE_ZAPIER = 6 [deprecated = true]; + * @deprecated + */ + ZAPIER = 6, + + /** + * @generated from enum value: AUTH_SOURCE_SUPERBLOCKS = 7; + */ + SUPERBLOCKS = 7, + + /** + * @generated from enum value: AUTH_SOURCE_EMBARCADERO = 8; + */ + EMBARCADERO = 8, +} + +/** + * Describes the enum exa.codeium_common_pb.AuthSource. + */ +export const AuthSourceSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 15); + +/** + * @generated from enum exa.codeium_common_pb.EventType + */ +export enum EventType { + /** + * @generated from enum value: EVENT_TYPE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: EVENT_TYPE_ENABLE_CODEIUM = 1; + */ + ENABLE_CODEIUM = 1, + + /** + * @generated from enum value: EVENT_TYPE_DISABLE_CODEIUM = 2; + */ + DISABLE_CODEIUM = 2, + + /** + * @generated from enum value: EVENT_TYPE_SHOW_PREVIOUS_COMPLETION = 3; + */ + SHOW_PREVIOUS_COMPLETION = 3, + + /** + * @generated from enum value: EVENT_TYPE_SHOW_NEXT_COMPLETION = 4; + */ + SHOW_NEXT_COMPLETION = 4, + + /** + * @generated from enum value: EVENT_TYPE_COPILOT_STATUS = 5; + */ + COPILOT_STATUS = 5, + + /** + * @generated from enum value: EVENT_TYPE_COMPLETION_SUPPRESSED = 6; + */ + COMPLETION_SUPPRESSED = 6, + + /** + * @generated from enum value: EVENT_TYPE_MEMORY_STATS = 8; + */ + MEMORY_STATS = 8, + + /** + * @generated from enum value: EVENT_TYPE_LOCAL_CONTEXT_RELEVANCE_CHECK = 9; + */ + LOCAL_CONTEXT_RELEVANCE_CHECK = 9, + + /** + * @generated from enum value: EVENT_TYPE_ACTIVE_EDITOR_CHANGED = 10; + */ + ACTIVE_EDITOR_CHANGED = 10, + + /** + * @generated from enum value: EVENT_TYPE_SHOW_PREVIOUS_CORTEX_STEP = 11; + */ + SHOW_PREVIOUS_CORTEX_STEP = 11, + + /** + * @generated from enum value: EVENT_TYPE_SHOW_NEXT_CORTEX_STEP = 12; + */ + SHOW_NEXT_CORTEX_STEP = 12, + + /** + * @generated from enum value: EVENT_TYPE_INDEXER_STATS = 13; + */ + INDEXER_STATS = 13, + + /** + * @generated from enum value: EVENT_TYPE_SYSTEM_METRICS_TELEMETRY = 14; + */ + SYSTEM_METRICS_TELEMETRY = 14, +} + +/** + * Describes the enum exa.codeium_common_pb.EventType. + */ +export const EventTypeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 16); + +/** + * @generated from enum exa.codeium_common_pb.SearchResultType + */ +export enum SearchResultType { + /** + * @generated from enum value: SEARCH_RESULT_TYPE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: SEARCH_RESULT_TYPE_CLUSTER = 1; + */ + CLUSTER = 1, + + /** + * @generated from enum value: SEARCH_RESULT_TYPE_EXACT = 2; + */ + EXACT = 2, +} + +/** + * Describes the enum exa.codeium_common_pb.SearchResultType. + */ +export const SearchResultTypeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 17); + +/** + * @generated from enum exa.codeium_common_pb.EmbedType + */ +export enum EmbedType { + /** + * @generated from enum value: EMBED_TYPE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: EMBED_TYPE_RAW_SOURCE = 1; + */ + RAW_SOURCE = 1, + + /** + * @generated from enum value: EMBED_TYPE_DOCSTRING = 2; + */ + DOCSTRING = 2, + + /** + * @generated from enum value: EMBED_TYPE_FUNCTION = 3; + */ + FUNCTION = 3, + + /** + * @generated from enum value: EMBED_TYPE_NODEPATH = 4; + */ + NODEPATH = 4, + + /** + * @generated from enum value: EMBED_TYPE_DECLARATION = 5; + */ + DECLARATION = 5, + + /** + * @generated from enum value: EMBED_TYPE_NAIVE_CHUNK = 6; + */ + NAIVE_CHUNK = 6, + + /** + * @generated from enum value: EMBED_TYPE_SIGNATURE = 7; + */ + SIGNATURE = 7, +} + +/** + * Describes the enum exa.codeium_common_pb.EmbedType. + */ +export const EmbedTypeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 18); + +/** + * @generated from enum exa.codeium_common_pb.CompletionSource + */ +export enum CompletionSource { + /** + * @generated from enum value: COMPLETION_SOURCE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: COMPLETION_SOURCE_TYPING_AS_SUGGESTED = 1; + */ + TYPING_AS_SUGGESTED = 1, + + /** + * @generated from enum value: COMPLETION_SOURCE_CACHE = 2; + */ + CACHE = 2, + + /** + * @generated from enum value: COMPLETION_SOURCE_NETWORK = 3; + */ + NETWORK = 3, +} + +/** + * Describes the enum exa.codeium_common_pb.CompletionSource. + */ +export const CompletionSourceSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 19); + +/** + * @generated from enum exa.codeium_common_pb.CompletionType + */ +export enum CompletionType { + /** + * @generated from enum value: COMPLETION_TYPE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: COMPLETION_TYPE_SINGLE = 1; + */ + SINGLE = 1, + + /** + * @generated from enum value: COMPLETION_TYPE_MULTI = 2; + */ + MULTI = 2, + + /** + * @generated from enum value: COMPLETION_TYPE_INLINE_FIM = 3; + */ + INLINE_FIM = 3, + + /** + * @generated from enum value: COMPLETION_TYPE_CASCADE = 4; + */ + CASCADE = 4, +} + +/** + * Describes the enum exa.codeium_common_pb.CompletionType. + */ +export const CompletionTypeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 20); + +/** + * @generated from enum exa.codeium_common_pb.Language + */ +export enum Language { + /** + * @generated from enum value: LANGUAGE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: LANGUAGE_C = 1; + */ + C = 1, + + /** + * @generated from enum value: LANGUAGE_CLOJURE = 2; + */ + CLOJURE = 2, + + /** + * @generated from enum value: LANGUAGE_COFFEESCRIPT = 3; + */ + COFFEESCRIPT = 3, + + /** + * @generated from enum value: LANGUAGE_CPP = 4; + */ + CPP = 4, + + /** + * @generated from enum value: LANGUAGE_CSHARP = 5; + */ + CSHARP = 5, + + /** + * @generated from enum value: LANGUAGE_CSS = 6; + */ + CSS = 6, + + /** + * @generated from enum value: LANGUAGE_CUDACPP = 7; + */ + CUDACPP = 7, + + /** + * @generated from enum value: LANGUAGE_DOCKERFILE = 8; + */ + DOCKERFILE = 8, + + /** + * @generated from enum value: LANGUAGE_GO = 9; + */ + GO = 9, + + /** + * @generated from enum value: LANGUAGE_GROOVY = 10; + */ + GROOVY = 10, + + /** + * @generated from enum value: LANGUAGE_HANDLEBARS = 11; + */ + HANDLEBARS = 11, + + /** + * @generated from enum value: LANGUAGE_HASKELL = 12; + */ + HASKELL = 12, + + /** + * @generated from enum value: LANGUAGE_HCL = 13; + */ + HCL = 13, + + /** + * @generated from enum value: LANGUAGE_HTML = 14; + */ + HTML = 14, + + /** + * @generated from enum value: LANGUAGE_INI = 15; + */ + INI = 15, + + /** + * @generated from enum value: LANGUAGE_JAVA = 16; + */ + JAVA = 16, + + /** + * @generated from enum value: LANGUAGE_JAVASCRIPT = 17; + */ + JAVASCRIPT = 17, + + /** + * @generated from enum value: LANGUAGE_JSON = 18; + */ + JSON = 18, + + /** + * @generated from enum value: LANGUAGE_JULIA = 19; + */ + JULIA = 19, + + /** + * @generated from enum value: LANGUAGE_KOTLIN = 20; + */ + KOTLIN = 20, + + /** + * @generated from enum value: LANGUAGE_LATEX = 21; + */ + LATEX = 21, + + /** + * @generated from enum value: LANGUAGE_LESS = 22; + */ + LESS = 22, + + /** + * @generated from enum value: LANGUAGE_LUA = 23; + */ + LUA = 23, + + /** + * @generated from enum value: LANGUAGE_MAKEFILE = 24; + */ + MAKEFILE = 24, + + /** + * @generated from enum value: LANGUAGE_MARKDOWN = 25; + */ + MARKDOWN = 25, + + /** + * @generated from enum value: LANGUAGE_OBJECTIVEC = 26; + */ + OBJECTIVEC = 26, + + /** + * @generated from enum value: LANGUAGE_OBJECTIVECPP = 27; + */ + OBJECTIVECPP = 27, + + /** + * @generated from enum value: LANGUAGE_PERL = 28; + */ + PERL = 28, + + /** + * @generated from enum value: LANGUAGE_PHP = 29; + */ + PHP = 29, + + /** + * @generated from enum value: LANGUAGE_PLAINTEXT = 30; + */ + PLAINTEXT = 30, + + /** + * @generated from enum value: LANGUAGE_PROTOBUF = 31; + */ + PROTOBUF = 31, + + /** + * @generated from enum value: LANGUAGE_PBTXT = 32; + */ + PBTXT = 32, + + /** + * @generated from enum value: LANGUAGE_PYTHON = 33; + */ + PYTHON = 33, + + /** + * @generated from enum value: LANGUAGE_R = 34; + */ + R = 34, + + /** + * @generated from enum value: LANGUAGE_RUBY = 35; + */ + RUBY = 35, + + /** + * @generated from enum value: LANGUAGE_RUST = 36; + */ + RUST = 36, + + /** + * @generated from enum value: LANGUAGE_SASS = 37; + */ + SASS = 37, + + /** + * @generated from enum value: LANGUAGE_SCALA = 38; + */ + SCALA = 38, + + /** + * @generated from enum value: LANGUAGE_SCSS = 39; + */ + SCSS = 39, + + /** + * @generated from enum value: LANGUAGE_SHELL = 40; + */ + SHELL = 40, + + /** + * @generated from enum value: LANGUAGE_SQL = 41; + */ + SQL = 41, + + /** + * @generated from enum value: LANGUAGE_STARLARK = 42; + */ + STARLARK = 42, + + /** + * @generated from enum value: LANGUAGE_SWIFT = 43; + */ + SWIFT = 43, + + /** + * @generated from enum value: LANGUAGE_TSX = 44; + */ + TSX = 44, + + /** + * @generated from enum value: LANGUAGE_TYPESCRIPT = 45; + */ + TYPESCRIPT = 45, + + /** + * @generated from enum value: LANGUAGE_VISUALBASIC = 46; + */ + VISUALBASIC = 46, + + /** + * @generated from enum value: LANGUAGE_VUE = 47; + */ + VUE = 47, + + /** + * @generated from enum value: LANGUAGE_XML = 48; + */ + XML = 48, + + /** + * @generated from enum value: LANGUAGE_XSL = 49; + */ + XSL = 49, + + /** + * @generated from enum value: LANGUAGE_YAML = 50; + */ + YAML = 50, + + /** + * @generated from enum value: LANGUAGE_SVELTE = 51; + */ + SVELTE = 51, + + /** + * @generated from enum value: LANGUAGE_TOML = 52; + */ + TOML = 52, + + /** + * @generated from enum value: LANGUAGE_DART = 53; + */ + DART = 53, + + /** + * @generated from enum value: LANGUAGE_RST = 54; + */ + RST = 54, + + /** + * @generated from enum value: LANGUAGE_OCAML = 55; + */ + OCAML = 55, + + /** + * @generated from enum value: LANGUAGE_CMAKE = 56; + */ + CMAKE = 56, + + /** + * @generated from enum value: LANGUAGE_PASCAL = 57; + */ + PASCAL = 57, + + /** + * @generated from enum value: LANGUAGE_ELIXIR = 58; + */ + ELIXIR = 58, + + /** + * @generated from enum value: LANGUAGE_FSHARP = 59; + */ + FSHARP = 59, + + /** + * @generated from enum value: LANGUAGE_LISP = 60; + */ + LISP = 60, + + /** + * @generated from enum value: LANGUAGE_MATLAB = 61; + */ + MATLAB = 61, + + /** + * @generated from enum value: LANGUAGE_POWERSHELL = 62; + */ + POWERSHELL = 62, + + /** + * @generated from enum value: LANGUAGE_SOLIDITY = 63; + */ + SOLIDITY = 63, + + /** + * @generated from enum value: LANGUAGE_ADA = 64; + */ + ADA = 64, + + /** + * @generated from enum value: LANGUAGE_OCAML_INTERFACE = 65; + */ + OCAML_INTERFACE = 65, + + /** + * @generated from enum value: LANGUAGE_TREE_SITTER_QUERY = 66; + */ + TREE_SITTER_QUERY = 66, + + /** + * @generated from enum value: LANGUAGE_APL = 67; + */ + APL = 67, + + /** + * @generated from enum value: LANGUAGE_ASSEMBLY = 68; + */ + ASSEMBLY = 68, + + /** + * @generated from enum value: LANGUAGE_COBOL = 69; + */ + COBOL = 69, + + /** + * @generated from enum value: LANGUAGE_CRYSTAL = 70; + */ + CRYSTAL = 70, + + /** + * @generated from enum value: LANGUAGE_EMACS_LISP = 71; + */ + EMACS_LISP = 71, + + /** + * @generated from enum value: LANGUAGE_ERLANG = 72; + */ + ERLANG = 72, + + /** + * @generated from enum value: LANGUAGE_FORTRAN = 73; + */ + FORTRAN = 73, + + /** + * @generated from enum value: LANGUAGE_FREEFORM = 74; + */ + FREEFORM = 74, + + /** + * @generated from enum value: LANGUAGE_GRADLE = 75; + */ + GRADLE = 75, + + /** + * @generated from enum value: LANGUAGE_HACK = 76; + */ + HACK = 76, + + /** + * @generated from enum value: LANGUAGE_MAVEN = 77; + */ + MAVEN = 77, + + /** + * @generated from enum value: LANGUAGE_M68KASSEMBLY = 78; + */ + M68KASSEMBLY = 78, + + /** + * @generated from enum value: LANGUAGE_SAS = 79; + */ + SAS = 79, + + /** + * @generated from enum value: LANGUAGE_UNIXASSEMBLY = 80; + */ + UNIXASSEMBLY = 80, + + /** + * @generated from enum value: LANGUAGE_VBA = 81; + */ + VBA = 81, + + /** + * @generated from enum value: LANGUAGE_VIMSCRIPT = 82; + */ + VIMSCRIPT = 82, + + /** + * @generated from enum value: LANGUAGE_WEBASSEMBLY = 83; + */ + WEBASSEMBLY = 83, + + /** + * @generated from enum value: LANGUAGE_BLADE = 84; + */ + BLADE = 84, + + /** + * @generated from enum value: LANGUAGE_ASTRO = 85; + */ + ASTRO = 85, + + /** + * @generated from enum value: LANGUAGE_MUMPS = 86; + */ + MUMPS = 86, + + /** + * @generated from enum value: LANGUAGE_GDSCRIPT = 87; + */ + GDSCRIPT = 87, + + /** + * @generated from enum value: LANGUAGE_NIM = 88; + */ + NIM = 88, + + /** + * @generated from enum value: LANGUAGE_PROLOG = 89; + */ + PROLOG = 89, + + /** + * @generated from enum value: LANGUAGE_MARKDOWN_INLINE = 90; + */ + MARKDOWN_INLINE = 90, + + /** + * @generated from enum value: LANGUAGE_APEX = 91; + */ + APEX = 91, + + /** + * @generated from enum value: LANGUAGE_JUPYTER_NOTEBOOK = 92; + */ + JUPYTER_NOTEBOOK = 92, +} + +/** + * Describes the enum exa.codeium_common_pb.Language. + */ +export const LanguageSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 21); + +/** + * @generated from enum exa.codeium_common_pb.ChatMessageSource + */ +export enum ChatMessageSource { + /** + * @generated from enum value: CHAT_MESSAGE_SOURCE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: CHAT_MESSAGE_SOURCE_USER = 1; + */ + USER = 1, + + /** + * @generated from enum value: CHAT_MESSAGE_SOURCE_SYSTEM = 2; + */ + SYSTEM = 2, + + /** + * @generated from enum value: CHAT_MESSAGE_SOURCE_UNKNOWN = 3; + */ + UNKNOWN = 3, + + /** + * @generated from enum value: CHAT_MESSAGE_SOURCE_TOOL = 4; + */ + TOOL = 4, + + /** + * @generated from enum value: CHAT_MESSAGE_SOURCE_SYSTEM_PROMPT = 5; + */ + SYSTEM_PROMPT = 5, +} + +/** + * Describes the enum exa.codeium_common_pb.ChatMessageSource. + */ +export const ChatMessageSourceSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 22); + +/** + * @generated from enum exa.codeium_common_pb.UserTeamStatus + */ +export enum UserTeamStatus { + /** + * @generated from enum value: USER_TEAM_STATUS_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: USER_TEAM_STATUS_PENDING = 1; + */ + PENDING = 1, + + /** + * @generated from enum value: USER_TEAM_STATUS_APPROVED = 2; + */ + APPROVED = 2, + + /** + * @generated from enum value: USER_TEAM_STATUS_REJECTED = 3; + */ + REJECTED = 3, +} + +/** + * Describes the enum exa.codeium_common_pb.UserTeamStatus. + */ +export const UserTeamStatusSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 23); + +/** + * @generated from enum exa.codeium_common_pb.CliAccessOverride + */ +export enum CliAccessOverride { + /** + * @generated from enum value: CLI_ACCESS_OVERRIDE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: CLI_ACCESS_OVERRIDE_ENABLED = 1; + */ + ENABLED = 1, + + /** + * @generated from enum value: CLI_ACCESS_OVERRIDE_DISABLED = 2; + */ + DISABLED = 2, +} + +/** + * Describes the enum exa.codeium_common_pb.CliAccessOverride. + */ +export const CliAccessOverrideSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 24); + +/** + * @generated from enum exa.codeium_common_pb.TeamsFeatures + */ +export enum TeamsFeatures { + /** + * @generated from enum value: TEAMS_FEATURES_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: TEAMS_FEATURES_SSO = 1; + */ + SSO = 1, + + /** + * @generated from enum value: TEAMS_FEATURES_ATTRIBUTION = 2; + */ + ATTRIBUTION = 2, + + /** + * @generated from enum value: TEAMS_FEATURES_PHI = 3; + */ + PHI = 3, + + /** + * @generated from enum value: TEAMS_FEATURES_CORTEX = 4; + */ + CORTEX = 4, + + /** + * @generated from enum value: TEAMS_FEATURES_OPENAI_DISABLED = 5; + */ + OPENAI_DISABLED = 5, + + /** + * @generated from enum value: TEAMS_FEATURES_REMOTE_INDEXING_DISABLED = 6; + */ + REMOTE_INDEXING_DISABLED = 6, + + /** + * @generated from enum value: TEAMS_FEATURES_API_KEY_ENABLED = 7; + */ + API_KEY_ENABLED = 7, +} + +/** + * Describes the enum exa.codeium_common_pb.TeamsFeatures. + */ +export const TeamsFeaturesSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 25); + +/** + * @generated from enum exa.codeium_common_pb.UserFeatures + */ +export enum UserFeatures { + /** + * @generated from enum value: USER_FEATURES_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: USER_FEATURES_CORTEX = 1; + */ + CORTEX = 1, + + /** + * @generated from enum value: USER_FEATURES_CORTEX_TEST = 2; + */ + CORTEX_TEST = 2, +} + +/** + * Describes the enum exa.codeium_common_pb.UserFeatures. + */ +export const UserFeaturesSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 26); + +/** + * @generated from enum exa.codeium_common_pb.Permission + */ +export enum Permission { + /** + * @generated from enum value: PERMISSION_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: PERMISSION_ATTRIBUTION_READ = 1; + */ + ATTRIBUTION_READ = 1, + + /** + * @generated from enum value: PERMISSION_ANALYTICS_READ = 2; + */ + ANALYTICS_READ = 2, + + /** + * @generated from enum value: PERMISSION_LICENSE_READ = 3; + */ + LICENSE_READ = 3, + + /** + * @generated from enum value: PERMISSION_TEAM_USER_READ = 4; + */ + TEAM_USER_READ = 4, + + /** + * @generated from enum value: PERMISSION_TEAM_USER_UPDATE = 5; + */ + TEAM_USER_UPDATE = 5, + + /** + * @generated from enum value: PERMISSION_TEAM_USER_DELETE = 6; + */ + TEAM_USER_DELETE = 6, + + /** + * @generated from enum value: PERMISSION_TEAM_USER_INVITE = 17; + */ + TEAM_USER_INVITE = 17, + + /** + * @generated from enum value: PERMISSION_INDEXING_READ = 7; + */ + INDEXING_READ = 7, + + /** + * @generated from enum value: PERMISSION_INDEXING_CREATE = 8; + */ + INDEXING_CREATE = 8, + + /** + * @generated from enum value: PERMISSION_INDEXING_UPDATE = 9; + */ + INDEXING_UPDATE = 9, + + /** + * @generated from enum value: PERMISSION_INDEXING_DELETE = 10; + */ + INDEXING_DELETE = 10, + + /** + * @generated from enum value: PERMISSION_INDEXING_MANAGEMENT = 27; + */ + INDEXING_MANAGEMENT = 27, + + /** + * @generated from enum value: PERMISSION_FINETUNING_READ = 19; + */ + FINETUNING_READ = 19, + + /** + * @generated from enum value: PERMISSION_FINETUNING_CREATE = 20; + */ + FINETUNING_CREATE = 20, + + /** + * @generated from enum value: PERMISSION_FINETUNING_UPDATE = 21; + */ + FINETUNING_UPDATE = 21, + + /** + * @generated from enum value: PERMISSION_FINETUNING_DELETE = 22; + */ + FINETUNING_DELETE = 22, + + /** + * @generated from enum value: PERMISSION_SSO_READ = 11; + */ + SSO_READ = 11, + + /** + * @generated from enum value: PERMISSION_SSO_WRITE = 12; + */ + SSO_WRITE = 12, + + /** + * @generated from enum value: PERMISSION_SERVICE_KEY_READ = 13; + */ + SERVICE_KEY_READ = 13, + + /** + * @generated from enum value: PERMISSION_SERVICE_KEY_CREATE = 14; + */ + SERVICE_KEY_CREATE = 14, + + /** + * @generated from enum value: PERMISSION_SERVICE_KEY_UPDATE = 28; + */ + SERVICE_KEY_UPDATE = 28, + + /** + * @generated from enum value: PERMISSION_SERVICE_KEY_DELETE = 15; + */ + SERVICE_KEY_DELETE = 15, + + /** + * @generated from enum value: PERMISSION_ROLE_READ = 23; + */ + ROLE_READ = 23, + + /** + * @generated from enum value: PERMISSION_ROLE_CREATE = 24; + */ + ROLE_CREATE = 24, + + /** + * @generated from enum value: PERMISSION_ROLE_UPDATE = 25; + */ + ROLE_UPDATE = 25, + + /** + * @generated from enum value: PERMISSION_ROLE_DELETE = 26; + */ + ROLE_DELETE = 26, + + /** + * @generated from enum value: PERMISSION_BILLING_READ = 16; + */ + BILLING_READ = 16, + + /** + * @generated from enum value: PERMISSION_BILLING_WRITE = 18; + */ + BILLING_WRITE = 18, + + /** + * @generated from enum value: PERMISSION_EXTERNAL_CHAT_UPDATE = 29; + */ + EXTERNAL_CHAT_UPDATE = 29, + + /** + * @generated from enum value: PERMISSION_TEAM_SETTINGS_READ = 30; + */ + TEAM_SETTINGS_READ = 30, + + /** + * @generated from enum value: PERMISSION_TEAM_SETTINGS_UPDATE = 31; + */ + TEAM_SETTINGS_UPDATE = 31, +} + +/** + * Describes the enum exa.codeium_common_pb.Permission. + */ +export const PermissionSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 27); + +/** + * @generated from enum exa.codeium_common_pb.TeamsTier + */ +export enum TeamsTier { + /** + * @generated from enum value: TEAMS_TIER_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: TEAMS_TIER_TEAMS = 1; + */ + TEAMS = 1, + + /** + * @generated from enum value: TEAMS_TIER_PRO = 2; + */ + PRO = 2, + + /** + * @generated from enum value: TEAMS_TIER_TRIAL = 9; + */ + TRIAL = 9, + + /** + * @generated from enum value: TEAMS_TIER_ENTERPRISE_SAAS = 3; + */ + ENTERPRISE_SAAS = 3, + + /** + * @generated from enum value: TEAMS_TIER_HYBRID = 4; + */ + HYBRID = 4, + + /** + * @generated from enum value: TEAMS_TIER_ENTERPRISE_SELF_HOSTED = 5; + */ + ENTERPRISE_SELF_HOSTED = 5, + + /** + * @generated from enum value: TEAMS_TIER_ENTERPRISE_SELF_SERVE = 10; + */ + ENTERPRISE_SELF_SERVE = 10, + + /** + * @generated from enum value: TEAMS_TIER_DEVIN_ENTERPRISE = 12; + */ + DEVIN_ENTERPRISE = 12, + + /** + * @generated from enum value: TEAMS_TIER_DEVIN_TEAMS = 14; + */ + DEVIN_TEAMS = 14, + + /** + * @generated from enum value: TEAMS_TIER_DEVIN_TEAMS_V2 = 15; + */ + DEVIN_TEAMS_V2 = 15, + + /** + * @generated from enum value: TEAMS_TIER_DEVIN_PRO = 16; + */ + DEVIN_PRO = 16, + + /** + * @generated from enum value: TEAMS_TIER_DEVIN_MAX = 17; + */ + DEVIN_MAX = 17, + + /** + * @generated from enum value: TEAMS_TIER_MAX = 18; + */ + MAX = 18, + + /** + * @generated from enum value: TEAMS_TIER_DEVIN_FREE = 19; + */ + DEVIN_FREE = 19, + + /** + * @generated from enum value: TEAMS_TIER_DEVIN_TRIAL = 20; + */ + DEVIN_TRIAL = 20, + + /** + * @generated from enum value: TEAMS_TIER_WAITLIST_PRO = 6 [deprecated = true]; + * @deprecated + */ + WAITLIST_PRO = 6, + + /** + * @generated from enum value: TEAMS_TIER_TEAMS_ULTIMATE = 7; + */ + TEAMS_ULTIMATE = 7, + + /** + * @generated from enum value: TEAMS_TIER_PRO_ULTIMATE = 8 [deprecated = true]; + * @deprecated + */ + PRO_ULTIMATE = 8, + + /** + * @generated from enum value: TEAMS_TIER_ENTERPRISE_SAAS_POOLED = 11 [deprecated = true]; + * @deprecated + */ + ENTERPRISE_SAAS_POOLED = 11, +} + +/** + * Describes the enum exa.codeium_common_pb.TeamsTier. + */ +export const TeamsTierSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 28); + +/** + * @generated from enum exa.codeium_common_pb.ModelProvider + */ +export enum ModelProvider { + /** + * @generated from enum value: MODEL_PROVIDER_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: MODEL_PROVIDER_WINDSURF = 1; + */ + WINDSURF = 1, + + /** + * @generated from enum value: MODEL_PROVIDER_OPENAI = 2; + */ + OPENAI = 2, + + /** + * @generated from enum value: MODEL_PROVIDER_ANTHROPIC = 3; + */ + ANTHROPIC = 3, + + /** + * @generated from enum value: MODEL_PROVIDER_GOOGLE = 4; + */ + GOOGLE = 4, + + /** + * @generated from enum value: MODEL_PROVIDER_XAI = 5; + */ + XAI = 5, + + /** + * @generated from enum value: MODEL_PROVIDER_DEEPSEEK = 6; + */ + DEEPSEEK = 6, + + /** + * @generated from enum value: MODEL_PROVIDER_MOONSHOT = 7; + */ + MOONSHOT = 7, + + /** + * @generated from enum value: MODEL_PROVIDER_QWEN = 8; + */ + QWEN = 8, + + /** + * @generated from enum value: MODEL_PROVIDER_ZAI = 9; + */ + ZAI = 9, + + /** + * @generated from enum value: MODEL_PROVIDER_MINIMAX = 10; + */ + MINIMAX = 10, +} + +/** + * Describes the enum exa.codeium_common_pb.ModelProvider. + */ +export const ModelProviderSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 29); + +/** + * @generated from enum exa.codeium_common_pb.BillingStrategy + */ +export enum BillingStrategy { + /** + * @generated from enum value: BILLING_STRATEGY_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: BILLING_STRATEGY_CREDITS = 1; + */ + CREDITS = 1, + + /** + * @generated from enum value: BILLING_STRATEGY_QUOTA = 2; + */ + QUOTA = 2, + + /** + * @generated from enum value: BILLING_STRATEGY_ACU = 3; + */ + ACU = 3, +} + +/** + * Describes the enum exa.codeium_common_pb.BillingStrategy. + */ +export const BillingStrategySchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 30); + +/** + * @generated from enum exa.codeium_common_pb.ModelPricingType + */ +export enum ModelPricingType { + /** + * @generated from enum value: MODEL_PRICING_TYPE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: MODEL_PRICING_TYPE_STATIC_CREDIT = 1; + */ + STATIC_CREDIT = 1, + + /** + * @generated from enum value: MODEL_PRICING_TYPE_API = 2; + */ + API = 2, + + /** + * @generated from enum value: MODEL_PRICING_TYPE_BYOK = 3; + */ + BYOK = 3, + + /** + * @generated from enum value: MODEL_PRICING_TYPE_ACU_TOKEN = 4; + */ + ACU_TOKEN = 4, + + /** + * @generated from enum value: MODEL_PRICING_TYPE_ACU_CREDIT = 5; + */ + ACU_CREDIT = 5, +} + +/** + * Describes the enum exa.codeium_common_pb.ModelPricingType. + */ +export const ModelPricingTypeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 31); + +/** + * @generated from enum exa.codeium_common_pb.ModelCostTier + */ +export enum ModelCostTier { + /** + * @generated from enum value: MODEL_COST_TIER_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: MODEL_COST_TIER_LOW = 1; + */ + LOW = 1, + + /** + * @generated from enum value: MODEL_COST_TIER_MEDIUM = 2; + */ + MEDIUM = 2, + + /** + * @generated from enum value: MODEL_COST_TIER_HIGH = 3; + */ + HIGH = 3, + + /** + * @generated from enum value: MODEL_COST_TIER_FREE = 4; + */ + FREE = 4, +} + +/** + * Describes the enum exa.codeium_common_pb.ModelCostTier. + */ +export const ModelCostTierSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 32); + +/** + * @generated from enum exa.codeium_common_pb.ModelDimensionKind + */ +export enum ModelDimensionKind { + /** + * @generated from enum value: MODEL_DIMENSION_KIND_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: MODEL_DIMENSION_KIND_COST = 1; + */ + COST = 1, + + /** + * @generated from enum value: MODEL_DIMENSION_KIND_COST_FUZZY = 2; + */ + COST_FUZZY = 2, +} + +/** + * Describes the enum exa.codeium_common_pb.ModelDimensionKind. + */ +export const ModelDimensionKindSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 33); + +/** + * @generated from enum exa.codeium_common_pb.TransactionStatus + */ +export enum TransactionStatus { + /** + * @generated from enum value: TRANSACTION_STATUS_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: TRANSACTION_STATUS_SUCCEEDED = 1; + */ + SUCCEEDED = 1, + + /** + * @generated from enum value: TRANSACTION_STATUS_PROCESSING = 2; + */ + PROCESSING = 2, + + /** + * @generated from enum value: TRANSACTION_STATUS_FAILED = 3; + */ + FAILED = 3, + + /** + * @generated from enum value: TRANSACTION_STATUS_NO_ACTIVE = 4; + */ + NO_ACTIVE = 4, +} + +/** + * Describes the enum exa.codeium_common_pb.TransactionStatus. + */ +export const TransactionStatusSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 34); + +/** + * @generated from enum exa.codeium_common_pb.GracePeriodStatus + */ +export enum GracePeriodStatus { + /** + * @generated from enum value: GRACE_PERIOD_STATUS_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: GRACE_PERIOD_STATUS_NONE = 1; + */ + NONE = 1, + + /** + * @generated from enum value: GRACE_PERIOD_STATUS_ACTIVE = 2; + */ + ACTIVE = 2, + + /** + * @generated from enum value: GRACE_PERIOD_STATUS_EXPIRED = 3; + */ + EXPIRED = 3, +} + +/** + * Describes the enum exa.codeium_common_pb.GracePeriodStatus. + */ +export const GracePeriodStatusSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 35); + +/** + * @generated from enum exa.codeium_common_pb.ScmProvider + */ +export enum ScmProvider { + /** + * @generated from enum value: SCM_PROVIDER_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: SCM_PROVIDER_GITHUB = 1; + */ + GITHUB = 1, + + /** + * @generated from enum value: SCM_PROVIDER_GITLAB = 2; + */ + GITLAB = 2, + + /** + * @generated from enum value: SCM_PROVIDER_BITBUCKET = 3; + */ + BITBUCKET = 3, + + /** + * @generated from enum value: SCM_PROVIDER_AZURE_DEVOPS = 4; + */ + AZURE_DEVOPS = 4, +} + +/** + * Describes the enum exa.codeium_common_pb.ScmProvider. + */ +export const ScmProviderSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 36); + +/** + * @generated from enum exa.codeium_common_pb.ScmType + */ +export enum ScmType { + /** + * @generated from enum value: SCM_TYPE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: SCM_TYPE_GIT = 1; + */ + GIT = 1, + + /** + * @generated from enum value: SCM_TYPE_PERFORCE = 2; + */ + PERFORCE = 2, +} + +/** + * Describes the enum exa.codeium_common_pb.ScmType. + */ +export const ScmTypeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 37); + +/** + * @generated from enum exa.codeium_common_pb.CodeContextType + */ +export enum CodeContextType { + /** + * @generated from enum value: CODE_CONTEXT_TYPE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: CODE_CONTEXT_TYPE_FUNCTION = 1; + */ + FUNCTION = 1, + + /** + * @generated from enum value: CODE_CONTEXT_TYPE_CLASS = 2; + */ + CLASS = 2, + + /** + * @generated from enum value: CODE_CONTEXT_TYPE_IMPORT = 3; + */ + IMPORT = 3, + + /** + * @generated from enum value: CODE_CONTEXT_TYPE_NAIVE_LINECHUNK = 4; + */ + NAIVE_LINECHUNK = 4, + + /** + * @generated from enum value: CODE_CONTEXT_TYPE_REFERENCE_FUNCTION = 5; + */ + REFERENCE_FUNCTION = 5, + + /** + * @generated from enum value: CODE_CONTEXT_TYPE_REFERENCE_CLASS = 6; + */ + REFERENCE_CLASS = 6, + + /** + * @generated from enum value: CODE_CONTEXT_TYPE_FILE = 7; + */ + FILE = 7, + + /** + * @generated from enum value: CODE_CONTEXT_TYPE_TERMINAL = 8; + */ + TERMINAL = 8, + + /** + * @generated from enum value: CODE_CONTEXT_TYPE_DIRECTORY = 9; + */ + DIRECTORY = 9, +} + +/** + * Describes the enum exa.codeium_common_pb.CodeContextType. + */ +export const CodeContextTypeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 38); + +/** + * @generated from enum exa.codeium_common_pb.CodeContextSource + */ +export enum CodeContextSource { + /** + * @generated from enum value: CODE_CONTEXT_SOURCE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: CODE_CONTEXT_SOURCE_OPEN_DOCS = 1; + */ + OPEN_DOCS = 1, + + /** + * @generated from enum value: CODE_CONTEXT_SOURCE_SEARCH_RESULT = 2; + */ + SEARCH_RESULT = 2, + + /** + * @generated from enum value: CODE_CONTEXT_SOURCE_IMPORT = 3; + */ + IMPORT = 3, + + /** + * @generated from enum value: CODE_CONTEXT_SOURCE_LOCAL_DIRECTORY = 4; + */ + LOCAL_DIRECTORY = 4, + + /** + * @generated from enum value: CODE_CONTEXT_SOURCE_LAST_ACTIVE_DOC = 5; + */ + LAST_ACTIVE_DOC = 5, + + /** + * @generated from enum value: CODE_CONTEXT_SOURCE_ORACLE_ITEMS = 6; + */ + ORACLE_ITEMS = 6, + + /** + * @generated from enum value: CODE_CONTEXT_SOURCE_PINNED_CONTEXT = 7; + */ + PINNED_CONTEXT = 7, + + /** + * @generated from enum value: CODE_CONTEXT_SOURCE_RESEARCH_STATE = 8; + */ + RESEARCH_STATE = 8, + + /** + * @generated from enum value: CODE_CONTEXT_SOURCE_GROUND_TRUTH_PLAN_EDIT = 9; + */ + GROUND_TRUTH_PLAN_EDIT = 9, + + /** + * @generated from enum value: CODE_CONTEXT_SOURCE_COMMIT_GRAPH = 10; + */ + COMMIT_GRAPH = 10, +} + +/** + * Describes the enum exa.codeium_common_pb.CodeContextSource. + */ +export const CodeContextSourceSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 39); + +/** + * @generated from enum exa.codeium_common_pb.ContextSnippetType + */ +export enum ContextSnippetType { + /** + * @generated from enum value: CONTEXT_SNIPPET_TYPE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: CONTEXT_SNIPPET_TYPE_RAW_SOURCE = 1; + */ + RAW_SOURCE = 1, + + /** + * @generated from enum value: CONTEXT_SNIPPET_TYPE_SIGNATURE = 2; + */ + SIGNATURE = 2, + + /** + * @generated from enum value: CONTEXT_SNIPPET_TYPE_NODEPATH = 3; + */ + NODEPATH = 3, +} + +/** + * Describes the enum exa.codeium_common_pb.ContextSnippetType. + */ +export const ContextSnippetTypeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 40); + +/** + * @generated from enum exa.codeium_common_pb.CommitIntentType + */ +export enum CommitIntentType { + /** + * @generated from enum value: COMMIT_INTENT_TYPE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: COMMIT_INTENT_TYPE_COMMIT_MESSAGE = 1; + */ + COMMIT_MESSAGE = 1, +} + +/** + * Describes the enum exa.codeium_common_pb.CommitIntentType. + */ +export const CommitIntentTypeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 41); + +/** + * @generated from enum exa.codeium_common_pb.GpuType + */ +export enum GpuType { + /** + * @generated from enum value: GPU_TYPE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: GPU_TYPE_L4 = 1; + */ + L4 = 1, + + /** + * @generated from enum value: GPU_TYPE_T4 = 2; + */ + T4 = 2, + + /** + * @generated from enum value: GPU_TYPE_A10 = 3; + */ + A10 = 3, + + /** + * @generated from enum value: GPU_TYPE_A100 = 4; + */ + A100 = 4, + + /** + * @generated from enum value: GPU_TYPE_V100 = 5; + */ + V100 = 5, + + /** + * @generated from enum value: GPU_TYPE_A5000 = 6; + */ + A5000 = 6, +} + +/** + * Describes the enum exa.codeium_common_pb.GpuType. + */ +export const GpuTypeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 42); + +/** + * @generated from enum exa.codeium_common_pb.ContextInclusionType + */ +export enum ContextInclusionType { + /** + * @generated from enum value: CONTEXT_INCLUSION_TYPE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: CONTEXT_INCLUSION_TYPE_INCLUDE = 1; + */ + INCLUDE = 1, + + /** + * @generated from enum value: CONTEXT_INCLUSION_TYPE_EXCLUDE = 2; + */ + EXCLUDE = 2, +} + +/** + * Describes the enum exa.codeium_common_pb.ContextInclusionType. + */ +export const ContextInclusionTypeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 43); + +/** + * @generated from enum exa.codeium_common_pb.ThemePreference + */ +export enum ThemePreference { + /** + * @generated from enum value: THEME_PREFERENCE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: THEME_PREFERENCE_AUTO = 1; + */ + AUTO = 1, + + /** + * @generated from enum value: THEME_PREFERENCE_LIGHT = 2; + */ + LIGHT = 2, + + /** + * @generated from enum value: THEME_PREFERENCE_DARK = 3; + */ + DARK = 3, +} + +/** + * Describes the enum exa.codeium_common_pb.ThemePreference. + */ +export const ThemePreferenceSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 44); + +/** + * @generated from enum exa.codeium_common_pb.FontSize + */ +export enum FontSize { + /** + * @generated from enum value: FONT_SIZE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: FONT_SIZE_SMALL = 1; + */ + SMALL = 1, + + /** + * @generated from enum value: FONT_SIZE_DEFAULT = 2; + */ + DEFAULT = 2, + + /** + * @generated from enum value: FONT_SIZE_LARGE = 3; + */ + LARGE = 3, +} + +/** + * Describes the enum exa.codeium_common_pb.FontSize. + */ +export const FontSizeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 45); + +/** + * @generated from enum exa.codeium_common_pb.AutocompleteSpeed + */ +export enum AutocompleteSpeed { + /** + * @generated from enum value: AUTOCOMPLETE_SPEED_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: AUTOCOMPLETE_SPEED_SLOW = 1; + */ + SLOW = 1, + + /** + * @generated from enum value: AUTOCOMPLETE_SPEED_DEFAULT = 2; + */ + DEFAULT = 2, + + /** + * @generated from enum value: AUTOCOMPLETE_SPEED_FAST = 3; + */ + FAST = 3, +} + +/** + * Describes the enum exa.codeium_common_pb.AutocompleteSpeed. + */ +export const AutocompleteSpeedSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 46); + +/** + * @generated from enum exa.codeium_common_pb.CascadeCommandsAutoExecution + */ +export enum CascadeCommandsAutoExecution { + /** + * @generated from enum value: CASCADE_COMMANDS_AUTO_EXECUTION_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: CASCADE_COMMANDS_AUTO_EXECUTION_OFF = 1; + */ + OFF = 1, + + /** + * @generated from enum value: CASCADE_COMMANDS_AUTO_EXECUTION_AUTO = 2; + */ + AUTO = 2, + + /** + * @generated from enum value: CASCADE_COMMANDS_AUTO_EXECUTION_EAGER = 3; + */ + EAGER = 3, + + /** + * @generated from enum value: CASCADE_COMMANDS_AUTO_EXECUTION_DISABLED = 4; + */ + DISABLED = 4, +} + +/** + * Describes the enum exa.codeium_common_pb.CascadeCommandsAutoExecution. + */ +export const CascadeCommandsAutoExecutionSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 47); + +/** + * @generated from enum exa.codeium_common_pb.CascadeWebRequestsAutoExecution + */ +export enum CascadeWebRequestsAutoExecution { + /** + * @generated from enum value: CASCADE_WEB_REQUESTS_AUTO_EXECUTION_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: CASCADE_WEB_REQUESTS_AUTO_EXECUTION_DISABLED = 1; + */ + DISABLED = 1, + + /** + * @generated from enum value: CASCADE_WEB_REQUESTS_AUTO_EXECUTION_ALLOWLIST = 2; + */ + ALLOWLIST = 2, + + /** + * @generated from enum value: CASCADE_WEB_REQUESTS_AUTO_EXECUTION_TURBO = 3; + */ + TURBO = 3, +} + +/** + * Describes the enum exa.codeium_common_pb.CascadeWebRequestsAutoExecution. + */ +export const CascadeWebRequestsAutoExecutionSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 48); + +/** + * @generated from enum exa.codeium_common_pb.ExtensionPanelTab + */ +export enum ExtensionPanelTab { + /** + * @generated from enum value: EXTENSION_PANEL_TAB_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: EXTENSION_PANEL_TAB_CHAT = 1; + */ + CHAT = 1, + + /** + * @generated from enum value: EXTENSION_PANEL_TAB_PROFILE = 2; + */ + PROFILE = 2, + + /** + * @generated from enum value: EXTENSION_PANEL_TAB_BRAIN = 4; + */ + BRAIN = 4, + + /** + * @generated from enum value: EXTENSION_PANEL_TAB_COMMAND = 5; + */ + COMMAND = 5, + + /** + * @generated from enum value: EXTENSION_PANEL_TAB_CORTEX = 6; + */ + CORTEX = 6, + + /** + * @generated from enum value: EXTENSION_PANEL_TAB_DEBUG = 7; + */ + DEBUG = 7, +} + +/** + * Describes the enum exa.codeium_common_pb.ExtensionPanelTab. + */ +export const ExtensionPanelTabSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 49); + +/** + * @generated from enum exa.codeium_common_pb.RememberLastModelSelection + */ +export enum RememberLastModelSelection { + /** + * @generated from enum value: REMEMBER_LAST_MODEL_SELECTION_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: REMEMBER_LAST_MODEL_SELECTION_ENABLED = 1; + */ + ENABLED = 1, + + /** + * @generated from enum value: REMEMBER_LAST_MODEL_SELECTION_DISABLED = 2; + */ + DISABLED = 2, +} + +/** + * Describes the enum exa.codeium_common_pb.RememberLastModelSelection. + */ +export const RememberLastModelSelectionSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 50); + +/** + * @generated from enum exa.codeium_common_pb.CascadeNUXEvent + */ +export enum CascadeNUXEvent { + /** + * @generated from enum value: CASCADE_NUX_EVENT_UNSPECIFIED = 0; + */ + CASCADE_NUX_EVENT_UNSPECIFIED = 0, + + /** + * @generated from enum value: CASCADE_NUX_EVENT_DIFF_OVERVIEW = 1; + */ + CASCADE_NUX_EVENT_DIFF_OVERVIEW = 1, + + /** + * @generated from enum value: CASCADE_NUX_EVENT_WEB_SEARCH = 2; + */ + CASCADE_NUX_EVENT_WEB_SEARCH = 2, + + /** + * @generated from enum value: CASCADE_NUX_EVENT_NEW_MODELS_WAVE2 = 3; + */ + CASCADE_NUX_EVENT_NEW_MODELS_WAVE2 = 3, + + /** + * @generated from enum value: CASCADE_NUX_EVENT_TOOL_CALL = 4; + */ + CASCADE_NUX_EVENT_TOOL_CALL = 4, + + /** + * @generated from enum value: CASCADE_NUX_EVENT_MODEL_SELECTOR_NUX = 5; + */ + CASCADE_NUX_EVENT_MODEL_SELECTOR_NUX = 5, + + /** + * @generated from enum value: CASCADE_NUX_EVENT_TOOL_CALL_PRICING_NUX = 6; + */ + CASCADE_NUX_EVENT_TOOL_CALL_PRICING_NUX = 6, + + /** + * @generated from enum value: CASCADE_NUX_EVENT_WRITE_CHAT_MODE = 7; + */ + CASCADE_NUX_EVENT_WRITE_CHAT_MODE = 7, + + /** + * @generated from enum value: CASCADE_NUX_EVENT_REVERT_STEP = 8; + */ + CASCADE_NUX_EVENT_REVERT_STEP = 8, + + /** + * @generated from enum value: CASCADE_NUX_EVENT_RULES = 9; + */ + CASCADE_NUX_EVENT_RULES = 9, + + /** + * @generated from enum value: CASCADE_NUX_EVENT_WEB_MENTION = 10; + */ + CASCADE_NUX_EVENT_WEB_MENTION = 10, + + /** + * @generated from enum value: CASCADE_NUX_EVENT_BACKGROUND_CASCADE = 11; + */ + CASCADE_NUX_EVENT_BACKGROUND_CASCADE = 11, + + /** + * @generated from enum value: CASCADE_NUX_EVENT_ANTHROPIC_API_PRICING = 12; + */ + CASCADE_NUX_EVENT_ANTHROPIC_API_PRICING = 12, + + /** + * @generated from enum value: CASCADE_NUX_EVENT_PLAN_MODE = 13; + */ + CASCADE_NUX_EVENT_PLAN_MODE = 13, + + /** + * @generated from enum value: CASCADE_NUX_EVENT_OPEN_BROWSER_URL = 14; + */ + CASCADE_NUX_EVENT_OPEN_BROWSER_URL = 14, +} + +/** + * Describes the enum exa.codeium_common_pb.CascadeNUXEvent. + */ +export const CascadeNUXEventSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 51); + +/** + * @generated from enum exa.codeium_common_pb.UserNUXEvent + */ +export enum UserNUXEvent { + /** + * @generated from enum value: USER_NUX_EVENT_UNSPECIFIED = 0; + */ + USER_NUX_EVENT_UNSPECIFIED = 0, + + /** + * @generated from enum value: USER_NUX_EVENT_DISMISS_WINDSURF_CROSS_SELL = 1; + */ + USER_NUX_EVENT_DISMISS_WINDSURF_CROSS_SELL = 1, +} + +/** + * Describes the enum exa.codeium_common_pb.UserNUXEvent. + */ +export const UserNUXEventSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 52); + +/** + * @generated from enum exa.codeium_common_pb.ConversationalPlannerMode + */ +export enum ConversationalPlannerMode { + /** + * @generated from enum value: CONVERSATIONAL_PLANNER_MODE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: CONVERSATIONAL_PLANNER_MODE_DEFAULT = 1; + */ + DEFAULT = 1, + + /** + * @generated from enum value: CONVERSATIONAL_PLANNER_MODE_READ_ONLY = 2; + */ + READ_ONLY = 2, + + /** + * @generated from enum value: CONVERSATIONAL_PLANNER_MODE_NO_TOOL = 3; + */ + NO_TOOL = 3, + + /** + * @generated from enum value: CONVERSATIONAL_PLANNER_MODE_EXPLORE = 4 [deprecated = true]; + * @deprecated + */ + EXPLORE = 4, + + /** + * @generated from enum value: CONVERSATIONAL_PLANNER_MODE_PLANNING = 5; + */ + PLANNING = 5, + + /** + * @generated from enum value: CONVERSATIONAL_PLANNER_MODE_AUTO = 6; + */ + AUTO = 6, +} + +/** + * Describes the enum exa.codeium_common_pb.ConversationalPlannerMode. + */ +export const ConversationalPlannerModeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 53); + +/** + * @generated from enum exa.codeium_common_pb.TabToJump + */ +export enum TabToJump { + /** + * @generated from enum value: TAB_TO_JUMP_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: TAB_TO_JUMP_ENABLED = 1; + */ + ENABLED = 1, + + /** + * @generated from enum value: TAB_TO_JUMP_DISABLED = 2; + */ + DISABLED = 2, +} + +/** + * Describes the enum exa.codeium_common_pb.TabToJump. + */ +export const TabToJumpSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 54); + +/** + * @generated from enum exa.codeium_common_pb.CascadeWebSearchTool + */ +export enum CascadeWebSearchTool { + /** + * @generated from enum value: CASCADE_WEB_SEARCH_TOOL_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: CASCADE_WEB_SEARCH_TOOL_ENABLED = 1; + */ + ENABLED = 1, + + /** + * @generated from enum value: CASCADE_WEB_SEARCH_TOOL_DISABLED = 2; + */ + DISABLED = 2, +} + +/** + * Describes the enum exa.codeium_common_pb.CascadeWebSearchTool. + */ +export const CascadeWebSearchToolSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 55); + +/** + * @generated from enum exa.codeium_common_pb.CommandPopupAutocomplete + */ +export enum CommandPopupAutocomplete { + /** + * @generated from enum value: COMMAND_POPUP_AUTOCOMPLETE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: COMMAND_POPUP_AUTOCOMPLETE_ENABLED = 1; + */ + ENABLED = 1, + + /** + * @generated from enum value: COMMAND_POPUP_AUTOCOMPLETE_DISABLED = 2; + */ + DISABLED = 2, +} + +/** + * Describes the enum exa.codeium_common_pb.CommandPopupAutocomplete. + */ +export const CommandPopupAutocompleteSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 56); + +/** + * @generated from enum exa.codeium_common_pb.FeatureUsageType + */ +export enum FeatureUsageType { + /** + * @generated from enum value: FEATURE_USAGE_TYPE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: FEATURE_USAGE_TYPE_CASCADE_BROWSER = 1; + */ + CASCADE_BROWSER = 1, + + /** + * @generated from enum value: FEATURE_USAGE_TYPE_CASCADE_WEB_AT_MENTION = 2; + */ + CASCADE_WEB_AT_MENTION = 2, + + /** + * @generated from enum value: FEATURE_USAGE_TYPE_CASCADE_REVERT_TO_STEP = 3; + */ + CASCADE_REVERT_TO_STEP = 3, + + /** + * @generated from enum value: FEATURE_USAGE_TYPE_CASCADE_CLICK_MODEL_SELECTOR = 4; + */ + CASCADE_CLICK_MODEL_SELECTOR = 4, + + /** + * @generated from enum value: FEATURE_USAGE_TYPE_CASCADE_MESSAGE_FEEDBACK = 5; + */ + CASCADE_MESSAGE_FEEDBACK = 5, +} + +/** + * Describes the enum exa.codeium_common_pb.FeatureUsageType. + */ +export const FeatureUsageTypeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 57); + +/** + * @generated from enum exa.codeium_common_pb.PlanMode + */ +export enum PlanMode { + /** + * @generated from enum value: PLAN_MODE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: PLAN_MODE_ON = 1; + */ + ON = 1, + + /** + * @generated from enum value: PLAN_MODE_OFF = 2; + */ + OFF = 2, +} + +/** + * Describes the enum exa.codeium_common_pb.PlanMode. + */ +export const PlanModeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 58); + +/** + * @generated from enum exa.codeium_common_pb.AutoContinueOnMaxGeneratorInvocations + */ +export enum AutoContinueOnMaxGeneratorInvocations { + /** + * @generated from enum value: AUTO_CONTINUE_ON_MAX_GENERATOR_INVOCATIONS_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: AUTO_CONTINUE_ON_MAX_GENERATOR_INVOCATIONS_ENABLED = 1; + */ + ENABLED = 1, + + /** + * @generated from enum value: AUTO_CONTINUE_ON_MAX_GENERATOR_INVOCATIONS_DISABLED = 2; + */ + DISABLED = 2, +} + +/** + * Describes the enum exa.codeium_common_pb.AutoContinueOnMaxGeneratorInvocations. + */ +export const AutoContinueOnMaxGeneratorInvocationsSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 59); + +/** + * @generated from enum exa.codeium_common_pb.CascadeNUXLocation + */ +export enum CascadeNUXLocation { + /** + * @generated from enum value: CASCADE_NUX_LOCATION_UNSPECIFIED = 0; + */ + CASCADE_NUX_LOCATION_UNSPECIFIED = 0, + + /** + * @generated from enum value: CASCADE_NUX_LOCATION_CASCADE_INPUT = 1; + */ + CASCADE_NUX_LOCATION_CASCADE_INPUT = 1, + + /** + * @generated from enum value: CASCADE_NUX_LOCATION_MODEL_SELECTOR = 2; + */ + CASCADE_NUX_LOCATION_MODEL_SELECTOR = 2, + + /** + * @generated from enum value: CASCADE_NUX_LOCATION_RULES_TAB = 4; + */ + CASCADE_NUX_LOCATION_RULES_TAB = 4, + + /** + * @generated from enum value: CASCADE_NUX_LOCATION_REVERT_STEP = 6; + */ + CASCADE_NUX_LOCATION_REVERT_STEP = 6, + + /** + * @generated from enum value: CASCADE_NUX_LOCATION_PLAN_MODE = 7; + */ + CASCADE_NUX_LOCATION_PLAN_MODE = 7, + + /** + * @generated from enum value: CASCADE_NUX_LOCATION_WRITE_CHAT_MODE = 8; + */ + CASCADE_NUX_LOCATION_WRITE_CHAT_MODE = 8, + + /** + * @generated from enum value: CASCADE_NUX_LOCATION_TOOLBAR = 9; + */ + CASCADE_NUX_LOCATION_TOOLBAR = 9, +} + +/** + * Describes the enum exa.codeium_common_pb.CascadeNUXLocation. + */ +export const CascadeNUXLocationSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 60); + +/** + * @generated from enum exa.codeium_common_pb.CascadeNUXIcon + */ +export enum CascadeNUXIcon { + /** + * @generated from enum value: CASCADE_NUX_ICON_UNSPECIFIED = 0; + */ + CASCADE_NUX_ICON_UNSPECIFIED = 0, + + /** + * @generated from enum value: CASCADE_NUX_ICON_WEB_SEARCH = 1; + */ + CASCADE_NUX_ICON_WEB_SEARCH = 1, + + /** + * @generated from enum value: CASCADE_NUX_ICON_WINDSURF_BROWSER = 2; + */ + CASCADE_NUX_ICON_WINDSURF_BROWSER = 2, +} + +/** + * Describes the enum exa.codeium_common_pb.CascadeNUXIcon. + */ +export const CascadeNUXIconSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 61); + +/** + * @generated from enum exa.codeium_common_pb.CascadeNUXTrigger + */ +export enum CascadeNUXTrigger { + /** + * @generated from enum value: CASCADE_NUX_TRIGGER_UNSPECIFIED = 0; + */ + CASCADE_NUX_TRIGGER_UNSPECIFIED = 0, + + /** + * @generated from enum value: CASCADE_NUX_TRIGGER_PRODUCED_CODE_DIFF = 1; + */ + CASCADE_NUX_TRIGGER_PRODUCED_CODE_DIFF = 1, + + /** + * @generated from enum value: CASCADE_NUX_TRIGGER_OPEN_BROWSER_URL = 3; + */ + CASCADE_NUX_TRIGGER_OPEN_BROWSER_URL = 3, + + /** + * @generated from enum value: CASCADE_NUX_TRIGGER_WEB_SEARCH = 4; + */ + CASCADE_NUX_TRIGGER_WEB_SEARCH = 4, +} + +/** + * Describes the enum exa.codeium_common_pb.CascadeNUXTrigger. + */ +export const CascadeNUXTriggerSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 62); + +/** + * @generated from enum exa.codeium_common_pb.AnnotationsConfig + */ +export enum AnnotationsConfig { + /** + * @generated from enum value: ANNOTATIONS_CONFIG_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: ANNOTATIONS_CONFIG_ENABLED = 1; + */ + ENABLED = 1, + + /** + * @generated from enum value: ANNOTATIONS_CONFIG_DISABLED = 2; + */ + DISABLED = 2, +} + +/** + * Describes the enum exa.codeium_common_pb.AnnotationsConfig. + */ +export const AnnotationsConfigSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 63); + +/** + * @generated from enum exa.codeium_common_pb.BrowserExperimentalFeaturesConfig + */ +export enum BrowserExperimentalFeaturesConfig { + /** + * @generated from enum value: BROWSER_EXPERIMENTAL_FEATURES_CONFIG_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: BROWSER_EXPERIMENTAL_FEATURES_CONFIG_ENABLED = 1; + */ + ENABLED = 1, + + /** + * @generated from enum value: BROWSER_EXPERIMENTAL_FEATURES_CONFIG_DISABLED = 2; + */ + DISABLED = 2, +} + +/** + * Describes the enum exa.codeium_common_pb.BrowserExperimentalFeaturesConfig. + */ +export const BrowserExperimentalFeaturesConfigSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 64); + +/** + * @generated from enum exa.codeium_common_pb.CompletionMode + */ +export enum CompletionMode { + /** + * @generated from enum value: COMPLETION_MODE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: COMPLETION_MODE_SUPERCOMPLETE = 1; + */ + SUPERCOMPLETE = 1, + + /** + * @generated from enum value: COMPLETION_MODE_AUTOCOMPLETE = 2; + */ + AUTOCOMPLETE = 2, + + /** + * @generated from enum value: COMPLETION_MODE_OFF = 3; + */ + OFF = 3, +} + +/** + * Describes the enum exa.codeium_common_pb.CompletionMode. + */ +export const CompletionModeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 65); + +/** + * @generated from enum exa.codeium_common_pb.SupercompleteAggression + */ +export enum SupercompleteAggression { + /** + * @generated from enum value: SUPERCOMPLETE_AGGRESSION_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: SUPERCOMPLETE_AGGRESSION_LOW = 1; + */ + LOW = 1, + + /** + * @generated from enum value: SUPERCOMPLETE_AGGRESSION_MEDIUM = 2; + */ + MEDIUM = 2, + + /** + * @generated from enum value: SUPERCOMPLETE_AGGRESSION_HIGH = 3; + */ + HIGH = 3, +} + +/** + * Describes the enum exa.codeium_common_pb.SupercompleteAggression. + */ +export const SupercompleteAggressionSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 66); + +/** + * @generated from enum exa.codeium_common_pb.ModelType + */ +export enum ModelType { + /** + * @generated from enum value: MODEL_TYPE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: MODEL_TYPE_COMPLETION = 1; + */ + COMPLETION = 1, + + /** + * @generated from enum value: MODEL_TYPE_CHAT = 2; + */ + CHAT = 2, + + /** + * @generated from enum value: MODEL_TYPE_EMBED = 3; + */ + EMBED = 3, + + /** + * @generated from enum value: MODEL_TYPE_QUERY = 4; + */ + QUERY = 4, +} + +/** + * Describes the enum exa.codeium_common_pb.ModelType. + */ +export const ModelTypeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 67); + +/** + * @generated from enum exa.codeium_common_pb.DisplayOption + */ +export enum DisplayOption { + /** + * @generated from enum value: DISPLAY_OPTION_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: DISPLAY_OPTION_ARENA = 1; + */ + ARENA = 1, + + /** + * @generated from enum value: DISPLAY_OPTION_BATTLE_GROUP_ONLY = 2; + */ + BATTLE_GROUP_ONLY = 2, + + /** + * @generated from enum value: DISPLAY_OPTION_MODEL_ROUTER = 3; + */ + MODEL_ROUTER = 3, + + /** + * @generated from enum value: DISPLAY_OPTION_QUICK_REVIEW = 4; + */ + QUICK_REVIEW = 4, +} + +/** + * Describes the enum exa.codeium_common_pb.DisplayOption. + */ +export const DisplayOptionSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 68); + +/** + * @generated from enum exa.codeium_common_pb.ArenaTier + */ +export enum ArenaTier { + /** + * @generated from enum value: ARENA_TIER_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: ARENA_TIER_FAST = 1; + */ + FAST = 1, + + /** + * @generated from enum value: ARENA_TIER_SMART = 2; + */ + SMART = 2, +} + +/** + * Describes the enum exa.codeium_common_pb.ArenaTier. + */ +export const ArenaTierSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 69); + +/** + * @generated from enum exa.codeium_common_pb.APIProvider + */ +export enum APIProvider { + /** + * @generated from enum value: API_PROVIDER_UNSPECIFIED = 0; + */ + API_PROVIDER_UNSPECIFIED = 0, + + /** + * @generated from enum value: API_PROVIDER_INTERNAL = 1; + */ + API_PROVIDER_INTERNAL = 1, + + /** + * @generated from enum value: API_PROVIDER_OPENAI = 2; + */ + API_PROVIDER_OPENAI = 2, + + /** + * @generated from enum value: API_PROVIDER_GOOGLE_VERTEX = 3; + */ + API_PROVIDER_GOOGLE_VERTEX = 3, + + /** + * @generated from enum value: API_PROVIDER_ANTHROPIC = 4; + */ + API_PROVIDER_ANTHROPIC = 4, + + /** + * @generated from enum value: API_PROVIDER_VLLM = 5; + */ + API_PROVIDER_VLLM = 5, + + /** + * @generated from enum value: API_PROVIDER_TOGETHER_AI = 6; + */ + API_PROVIDER_TOGETHER_AI = 6, + + /** + * @generated from enum value: API_PROVIDER_HUGGING_FACE = 7 [deprecated = true]; + * @deprecated + */ + API_PROVIDER_HUGGING_FACE = 7, + + /** + * @generated from enum value: API_PROVIDER_NOMIC = 8 [deprecated = true]; + * @deprecated + */ + API_PROVIDER_NOMIC = 8, + + /** + * @generated from enum value: API_PROVIDER_TEI = 9 [deprecated = true]; + * @deprecated + */ + API_PROVIDER_TEI = 9, + + /** + * @generated from enum value: API_PROVIDER_OPENAI_COMPATIBLE_EXTERNAL = 10; + */ + API_PROVIDER_OPENAI_COMPATIBLE_EXTERNAL = 10, + + /** + * @generated from enum value: API_PROVIDER_ANTHROPIC_COMPATIBLE_EXTERNAL = 11; + */ + API_PROVIDER_ANTHROPIC_COMPATIBLE_EXTERNAL = 11, + + /** + * @generated from enum value: API_PROVIDER_VERTEX_COMPATIBLE_EXTERNAL = 12; + */ + API_PROVIDER_VERTEX_COMPATIBLE_EXTERNAL = 12, + + /** + * @generated from enum value: API_PROVIDER_BEDROCK_COMPATIBLE_EXTERNAL = 13; + */ + API_PROVIDER_BEDROCK_COMPATIBLE_EXTERNAL = 13, + + /** + * @generated from enum value: API_PROVIDER_AZURE_COMPATIBLE_EXTERNAL = 14; + */ + API_PROVIDER_AZURE_COMPATIBLE_EXTERNAL = 14, + + /** + * @generated from enum value: API_PROVIDER_ANTHROPIC_BEDROCK = 15 [deprecated = true]; + * @deprecated + */ + API_PROVIDER_ANTHROPIC_BEDROCK = 15, + + /** + * @generated from enum value: API_PROVIDER_FIREWORKS = 16; + */ + API_PROVIDER_FIREWORKS = 16, + + /** + * @generated from enum value: API_PROVIDER_OPEN_ROUTER = 17; + */ + API_PROVIDER_OPEN_ROUTER = 17, + + /** + * @generated from enum value: API_PROVIDER_XAI = 18; + */ + API_PROVIDER_XAI = 18, + + /** + * @generated from enum value: API_PROVIDER_ANTHROPIC_BYOK = 20; + */ + API_PROVIDER_ANTHROPIC_BYOK = 20, + + /** + * @generated from enum value: API_PROVIDER_CEREBRAS = 21; + */ + API_PROVIDER_CEREBRAS = 21, + + /** + * @generated from enum value: API_PROVIDER_XAI_BYOK = 22; + */ + API_PROVIDER_XAI_BYOK = 22, + + /** + * @generated from enum value: API_PROVIDER_GEMINI_OPENAI = 23; + */ + API_PROVIDER_GEMINI_OPENAI = 23, + + /** + * @generated from enum value: API_PROVIDER_GOOGLE_GEMINI = 24 [deprecated = true]; + * @deprecated + */ + API_PROVIDER_GOOGLE_GEMINI = 24, + + /** + * @generated from enum value: API_PROVIDER_GOOGLE_GENAI_VERTEX = 25; + */ + API_PROVIDER_GOOGLE_GENAI_VERTEX = 25, + + /** + * @generated from enum value: API_PROVIDER_ANTHROPIC_VERTEX = 26 [deprecated = true]; + * @deprecated + */ + API_PROVIDER_ANTHROPIC_VERTEX = 26, + + /** + * @generated from enum value: API_PROVIDER_DATABRICKS = 27; + */ + API_PROVIDER_DATABRICKS = 27, + + /** + * @generated from enum value: API_PROVIDER_OPEN_ROUTER_BYOK = 28; + */ + API_PROVIDER_OPEN_ROUTER_BYOK = 28, + + /** + * @generated from enum value: API_PROVIDER_ANTHROPIC_DEVIN = 29; + */ + API_PROVIDER_ANTHROPIC_DEVIN = 29, + + /** + * @generated from enum value: API_PROVIDER_FIREWORKS_DEVIN = 30; + */ + API_PROVIDER_FIREWORKS_DEVIN = 30, + + /** + * @generated from enum value: API_PROVIDER_GROQ = 31; + */ + API_PROVIDER_GROQ = 31, + + /** + * @generated from enum value: API_PROVIDER_OPENAI_DEVIN = 32; + */ + API_PROVIDER_OPENAI_DEVIN = 32, + + /** + * @generated from enum value: API_PROVIDER_LLAMA_FT_DEEPWIKI = 33; + */ + API_PROVIDER_LLAMA_FT_DEEPWIKI = 33, + + /** + * @generated from enum value: API_PROVIDER_XAI_INTERNAL = 34; + */ + API_PROVIDER_XAI_INTERNAL = 34, + + /** + * @generated from enum value: API_PROVIDER_FLOODGATE = 36; + */ + API_PROVIDER_FLOODGATE = 36, + + /** + * @generated from enum value: API_PROVIDER_ANTHROPIC_BEDROCK_US = 37; + */ + API_PROVIDER_ANTHROPIC_BEDROCK_US = 37, + + /** + * @generated from enum value: API_PROVIDER_ANTHROPIC_BEDROCK_GLOBAL = 38; + */ + API_PROVIDER_ANTHROPIC_BEDROCK_GLOBAL = 38, + + /** + * @generated from enum value: API_PROVIDER_MODAL = 40; + */ + API_PROVIDER_MODAL = 40, + + /** + * @generated from enum value: API_PROVIDER_GOOGLE_GEMINI_DEVIN = 41; + */ + API_PROVIDER_GOOGLE_GEMINI_DEVIN = 41, + + /** + * @generated from enum value: API_PROVIDER_FIREWORKS_COGNITION = 42; + */ + API_PROVIDER_FIREWORKS_COGNITION = 42, + + /** + * @generated from enum value: API_PROVIDER_GOOGLE_GENAI_VERTEX_GLOBAL = 43; + */ + API_PROVIDER_GOOGLE_GENAI_VERTEX_GLOBAL = 43, + + /** + * @generated from enum value: API_PROVIDER_ANTHROPIC_VERTEX_US = 44; + */ + API_PROVIDER_ANTHROPIC_VERTEX_US = 44, + + /** + * @generated from enum value: API_PROVIDER_ANTHROPIC_VERTEX_EU = 45; + */ + API_PROVIDER_ANTHROPIC_VERTEX_EU = 45, + + /** + * @generated from enum value: API_PROVIDER_ANTHROPIC_VERTEX_GLOBAL = 46; + */ + API_PROVIDER_ANTHROPIC_VERTEX_GLOBAL = 46, + + /** + * @generated from enum value: API_PROVIDER_FIREWORKS_COGNITION_INTERNAL = 47; + */ + API_PROVIDER_FIREWORKS_COGNITION_INTERNAL = 47, + + /** + * @generated from enum value: API_PROVIDER_ANTHROPIC_DATABRICKS = 48; + */ + API_PROVIDER_ANTHROPIC_DATABRICKS = 48, + + /** + * @generated from enum value: API_PROVIDER_GEMINI_DATABRICKS = 49; + */ + API_PROVIDER_GEMINI_DATABRICKS = 49, + + /** + * @generated from enum value: API_PROVIDER_MIMIC = 50; + */ + API_PROVIDER_MIMIC = 50, + + /** + * @generated from enum value: API_PROVIDER_ANTHROPIC_NON_ZDR = 51; + */ + API_PROVIDER_ANTHROPIC_NON_ZDR = 51, + + /** + * @generated from enum value: API_PROVIDER_ANTHROPIC_DEVIN_NON_ZDR = 52; + */ + API_PROVIDER_ANTHROPIC_DEVIN_NON_ZDR = 52, + + /** + * @generated from enum value: API_PROVIDER_DATA_RETENTION_WORKSPACE_ANTHROPIC = 53; + */ + API_PROVIDER_DATA_RETENTION_WORKSPACE_ANTHROPIC = 53, + + /** + * @generated from enum value: API_PROVIDER_SGLANG = 60; + */ + API_PROVIDER_SGLANG = 60, + + /** + * @generated from enum value: API_PROVIDER_AZURE_OPENAI_FEDERATED = 61; + */ + API_PROVIDER_AZURE_OPENAI_FEDERATED = 61, +} + +/** + * Describes the enum exa.codeium_common_pb.APIProvider. + */ +export const APIProviderSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 70); + +/** + * @generated from enum exa.codeium_common_pb.ModelStatus + */ +export enum ModelStatus { + /** + * @generated from enum value: MODEL_STATUS_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: MODEL_STATUS_INFO = 1; + */ + INFO = 1, + + /** + * @generated from enum value: MODEL_STATUS_WARNING = 2; + */ + WARNING = 2, +} + +/** + * Describes the enum exa.codeium_common_pb.ModelStatus. + */ +export const ModelStatusSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 71); + +/** + * @generated from enum exa.codeium_common_pb.CodeSource + */ +export enum CodeSource { + /** + * @generated from enum value: CODE_SOURCE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: CODE_SOURCE_BASE = 1; + */ + BASE = 1, + + /** + * @generated from enum value: CODE_SOURCE_CODEIUM = 2; + */ + CODEIUM = 2, + + /** + * @generated from enum value: CODE_SOURCE_USER = 3; + */ + USER = 3, + + /** + * @generated from enum value: CODE_SOURCE_USER_LARGE = 4; + */ + USER_LARGE = 4, + + /** + * @generated from enum value: CODE_SOURCE_UNKNOWN = 5; + */ + UNKNOWN = 5, +} + +/** + * Describes the enum exa.codeium_common_pb.CodeSource. + */ +export const CodeSourceSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 72); + +/** + * @generated from enum exa.codeium_common_pb.DocumentType + */ +export enum DocumentType { + /** + * @generated from enum value: DOCUMENT_TYPE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: DOCUMENT_TYPE_SLACK_MESSAGE = 1; + */ + SLACK_MESSAGE = 1, + + /** + * @generated from enum value: DOCUMENT_TYPE_SLACK_CHANNEL = 2; + */ + SLACK_CHANNEL = 2, + + /** + * @generated from enum value: DOCUMENT_TYPE_GITHUB_ISSUE = 3; + */ + GITHUB_ISSUE = 3, + + /** + * @generated from enum value: DOCUMENT_TYPE_GITHUB_ISSUE_COMMENT = 4; + */ + GITHUB_ISSUE_COMMENT = 4, + + /** + * @generated from enum value: DOCUMENT_TYPE_GITHUB_REPO = 8; + */ + GITHUB_REPO = 8, + + /** + * @generated from enum value: DOCUMENT_TYPE_GOOGLE_DRIVE_FILE = 5; + */ + GOOGLE_DRIVE_FILE = 5, + + /** + * @generated from enum value: DOCUMENT_TYPE_GOOGLE_DRIVE_FOLDER = 6; + */ + GOOGLE_DRIVE_FOLDER = 6, + + /** + * @generated from enum value: DOCUMENT_TYPE_JIRA_ISSUE = 7; + */ + JIRA_ISSUE = 7, + + /** + * @generated from enum value: DOCUMENT_TYPE_CCI = 9; + */ + CCI = 9, +} + +/** + * Describes the enum exa.codeium_common_pb.DocumentType. + */ +export const DocumentTypeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 73); + +/** + * @generated from enum exa.codeium_common_pb.ContextScopeType + */ +export enum ContextScopeType { + /** + * @generated from enum value: CONTEXT_SCOPE_TYPE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: CONTEXT_SCOPE_TYPE_FILE = 1; + */ + FILE = 1, + + /** + * @generated from enum value: CONTEXT_SCOPE_TYPE_DIRECTORY = 2; + */ + DIRECTORY = 2, + + /** + * @generated from enum value: CONTEXT_SCOPE_TYPE_REPOSITORY = 3; + */ + REPOSITORY = 3, + + /** + * @generated from enum value: CONTEXT_SCOPE_TYPE_CODE_CONTEXT = 4; + */ + CODE_CONTEXT = 4, + + /** + * @generated from enum value: CONTEXT_SCOPE_TYPE_CCI_WITH_SUBRANGE = 5; + */ + CCI_WITH_SUBRANGE = 5, + + /** + * @generated from enum value: CONTEXT_SCOPE_TYPE_REPOSITORY_PATH = 6; + */ + REPOSITORY_PATH = 6, + + /** + * @generated from enum value: CONTEXT_SCOPE_TYPE_SLACK = 7; + */ + SLACK = 7, + + /** + * @generated from enum value: CONTEXT_SCOPE_TYPE_GITHUB = 8; + */ + GITHUB = 8, + + /** + * @generated from enum value: CONTEXT_SCOPE_TYPE_FILE_LINE_RANGE = 9; + */ + FILE_LINE_RANGE = 9, + + /** + * @generated from enum value: CONTEXT_SCOPE_TYPE_TEXT_BLOCK = 10; + */ + TEXT_BLOCK = 10, + + /** + * @generated from enum value: CONTEXT_SCOPE_TYPE_JIRA = 11; + */ + JIRA = 11, + + /** + * @generated from enum value: CONTEXT_SCOPE_TYPE_GOOGLE_DRIVE = 12; + */ + GOOGLE_DRIVE = 12, + + /** + * @generated from enum value: CONTEXT_SCOPE_TYPE_CONSOLE_LOG = 13; + */ + CONSOLE_LOG = 13, + + /** + * @generated from enum value: CONTEXT_SCOPE_TYPE_DOM_ELEMENT = 14; + */ + DOM_ELEMENT = 14, + + /** + * @generated from enum value: CONTEXT_SCOPE_TYPE_RECIPE = 15; + */ + RECIPE = 15, + + /** + * @generated from enum value: CONTEXT_SCOPE_TYPE_KNOWLEDGE = 16; + */ + KNOWLEDGE = 16, + + /** + * @generated from enum value: CONTEXT_SCOPE_TYPE_RULE = 17; + */ + RULE = 17, + + /** + * @generated from enum value: CONTEXT_SCOPE_TYPE_MCP_RESOURCE = 18; + */ + MCP_RESOURCE = 18, + + /** + * @generated from enum value: CONTEXT_SCOPE_TYPE_BROWSER_PAGE = 19; + */ + BROWSER_PAGE = 19, + + /** + * @generated from enum value: CONTEXT_SCOPE_TYPE_BROWSER_CODE_BLOCK = 20; + */ + BROWSER_CODE_BLOCK = 20, + + /** + * @generated from enum value: CONTEXT_SCOPE_TYPE_BROWSER_TEXT = 21; + */ + BROWSER_TEXT = 21, + + /** + * @generated from enum value: CONTEXT_SCOPE_TYPE_CONVERSATION = 22; + */ + CONVERSATION = 22, + + /** + * @generated from enum value: CONTEXT_SCOPE_TYPE_USER_ACTIVITY = 23; + */ + USER_ACTIVITY = 23, + + /** + * @generated from enum value: CONTEXT_SCOPE_TYPE_TERMINAL = 24; + */ + TERMINAL = 24, + + /** + * @generated from enum value: CONTEXT_SCOPE_TYPE_GITHUB_PULL_REQUEST = 25; + */ + GITHUB_PULL_REQUEST = 25, + + /** + * @generated from enum value: CONTEXT_SCOPE_TYPE_CODE_MAP = 26; + */ + CODE_MAP = 26, + + /** + * @generated from enum value: CONTEXT_SCOPE_TYPE_MCP_PROMPT = 27; + */ + MCP_PROMPT = 27, + + /** + * @generated from enum value: CONTEXT_SCOPE_TYPE_SKILL = 28; + */ + SKILL = 28, + + /** + * @generated from enum value: CONTEXT_SCOPE_TYPE_PLAN_FILE = 29; + */ + PLAN_FILE = 29, + + /** + * @generated from enum value: CONTEXT_SCOPE_TYPE_GIT = 30; + */ + GIT = 30, +} + +/** + * Describes the enum exa.codeium_common_pb.ContextScopeType. + */ +export const ContextScopeTypeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 74); + +/** + * @generated from enum exa.codeium_common_pb.CommandRequestSource + */ +export enum CommandRequestSource { + /** + * @generated from enum value: COMMAND_REQUEST_SOURCE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: COMMAND_REQUEST_SOURCE_DEFAULT = 1; + */ + DEFAULT = 1, + + /** + * @generated from enum value: COMMAND_REQUEST_SOURCE_FUNCTION_CODE_LENS = 2; + */ + FUNCTION_CODE_LENS = 2, + + /** + * @generated from enum value: COMMAND_REQUEST_SOURCE_CLASS_CODE_LENS = 3; + */ + CLASS_CODE_LENS = 3, + + /** + * @generated from enum value: COMMAND_REQUEST_SOURCE_RIGHT_CLICK_REFACTOR = 4; + */ + RIGHT_CLICK_REFACTOR = 4, + + /** + * @generated from enum value: COMMAND_REQUEST_SOURCE_SELECTION_HINT_CODE_LENS = 5; + */ + SELECTION_HINT_CODE_LENS = 5, + + /** + * @generated from enum value: COMMAND_REQUEST_SOURCE_LINE_HINT_CODE_LENS = 6; + */ + LINE_HINT_CODE_LENS = 6, + + /** + * @generated from enum value: COMMAND_REQUEST_SOURCE_PLAN = 7; + */ + PLAN = 7, + + /** + * @generated from enum value: COMMAND_REQUEST_SOURCE_FOLLOWUP = 8; + */ + FOLLOWUP = 8, + + /** + * @generated from enum value: COMMAND_REQUEST_SOURCE_PASTE_AND_TRANSLATE = 9; + */ + PASTE_AND_TRANSLATE = 9, + + /** + * @generated from enum value: COMMAND_REQUEST_SOURCE_SUPERCOMPLETE = 10; + */ + SUPERCOMPLETE = 10, + + /** + * @generated from enum value: COMMAND_REQUEST_SOURCE_FUNCTION_DOCSTRING = 11; + */ + FUNCTION_DOCSTRING = 11, + + /** + * @generated from enum value: COMMAND_REQUEST_SOURCE_FAST_APPLY = 12; + */ + FAST_APPLY = 12, + + /** + * @generated from enum value: COMMAND_REQUEST_SOURCE_TERMINAL = 13; + */ + TERMINAL = 13, + + /** + * @generated from enum value: COMMAND_REQUEST_SOURCE_TAB_JUMP = 14; + */ + TAB_JUMP = 14, +} + +/** + * Describes the enum exa.codeium_common_pb.CommandRequestSource. + */ +export const CommandRequestSourceSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 75); + +/** + * @generated from enum exa.codeium_common_pb.StatusLevel + */ +export enum StatusLevel { + /** + * @generated from enum value: STATUS_LEVEL_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: STATUS_LEVEL_ERROR = 1; + */ + ERROR = 1, + + /** + * @generated from enum value: STATUS_LEVEL_WARNING = 2; + */ + WARNING = 2, + + /** + * @generated from enum value: STATUS_LEVEL_INFO = 3; + */ + INFO = 3, + + /** + * @generated from enum value: STATUS_LEVEL_DEBUG = 4; + */ + DEBUG = 4, +} + +/** + * Describes the enum exa.codeium_common_pb.StatusLevel. + */ +export const StatusLevelSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 76); + +/** + * @generated from enum exa.codeium_common_pb.CortexErrorCategory + */ +export enum CortexErrorCategory { + /** + * @generated from enum value: CORTEX_ERROR_CATEGORY_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: CORTEX_ERROR_CATEGORY_OVERALL = 1; + */ + OVERALL = 1, + + /** + * @generated from enum value: CORTEX_ERROR_CATEGORY_ACTION_PREPARE = 2; + */ + ACTION_PREPARE = 2, + + /** + * @generated from enum value: CORTEX_ERROR_CATEGORY_ACTION_APPLY = 3; + */ + ACTION_APPLY = 3, +} + +/** + * Describes the enum exa.codeium_common_pb.CortexErrorCategory. + */ +export const CortexErrorCategorySchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 77); + +/** + * @generated from enum exa.codeium_common_pb.LastUpdateType + */ +export enum LastUpdateType { + /** + * @generated from enum value: LAST_UPDATE_TYPE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: LAST_UPDATE_TYPE_OVERALL = 1; + */ + OVERALL = 1, + + /** + * @generated from enum value: LAST_UPDATE_TYPE_LAST_AUTOCOMPLETE_USAGE_TIME = 2; + */ + LAST_AUTOCOMPLETE_USAGE_TIME = 2, + + /** + * @generated from enum value: LAST_UPDATE_TYPE_LAST_CHAT_USAGE_TIME = 3; + */ + LAST_CHAT_USAGE_TIME = 3, + + /** + * @generated from enum value: LAST_UPDATE_TYPE_LAST_COMMAND_USAGE_TIME = 4; + */ + LAST_COMMAND_USAGE_TIME = 4, +} + +/** + * Describes the enum exa.codeium_common_pb.LastUpdateType. + */ +export const LastUpdateTypeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 78); + +/** + * @generated from enum exa.codeium_common_pb.OnboardingActionType + */ +export enum OnboardingActionType { + /** + * @generated from enum value: ONBOARDING_ACTION_TYPE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: ONBOARDING_ACTION_TYPE_AUTOCOMPLETE = 1; + */ + AUTOCOMPLETE = 1, + + /** + * @generated from enum value: ONBOARDING_ACTION_TYPE_COMMAND = 2; + */ + COMMAND = 2, + + /** + * @generated from enum value: ONBOARDING_ACTION_TYPE_CHAT = 3; + */ + CHAT = 3, +} + +/** + * Describes the enum exa.codeium_common_pb.OnboardingActionType. + */ +export const OnboardingActionTypeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 79); + +/** + * @generated from enum exa.codeium_common_pb.SupercompleteTriggerCondition + */ +export enum SupercompleteTriggerCondition { + /** + * @generated from enum value: SUPERCOMPLETE_TRIGGER_CONDITION_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: SUPERCOMPLETE_TRIGGER_CONDITION_AUTOCOMPLETE_ACCEPT = 1; + */ + AUTOCOMPLETE_ACCEPT = 1, + + /** + * @generated from enum value: SUPERCOMPLETE_TRIGGER_CONDITION_CURSOR_LINE_NAVIGATION = 2; + */ + CURSOR_LINE_NAVIGATION = 2, + + /** + * @generated from enum value: SUPERCOMPLETE_TRIGGER_CONDITION_TYPING = 3; + */ + TYPING = 3, + + /** + * @generated from enum value: SUPERCOMPLETE_TRIGGER_CONDITION_FORCED = 4; + */ + FORCED = 4, + + /** + * @generated from enum value: SUPERCOMPLETE_TRIGGER_CONDITION_TAB_JUMP_ACCEPT = 5; + */ + TAB_JUMP_ACCEPT = 5, + + /** + * @generated from enum value: SUPERCOMPLETE_TRIGGER_CONDITION_SUPERCOMPLETE_ACCEPT = 6; + */ + SUPERCOMPLETE_ACCEPT = 6, + + /** + * @generated from enum value: SUPERCOMPLETE_TRIGGER_CONDITION_TAB_JUMP_PREDICTIVE = 7; + */ + TAB_JUMP_PREDICTIVE = 7, + + /** + * @generated from enum value: SUPERCOMPLETE_TRIGGER_CONDITION_AUTOCOMPLETE_PREDICTIVE = 8; + */ + AUTOCOMPLETE_PREDICTIVE = 8, + + /** + * @generated from enum value: SUPERCOMPLETE_TRIGGER_CONDITION_SUPERCOMPLETE_PREDICTIVE = 9; + */ + SUPERCOMPLETE_PREDICTIVE = 9, + + /** + * @generated from enum value: SUPERCOMPLETE_TRIGGER_CONDITION_TAB_JUMP_EDIT = 10; + */ + TAB_JUMP_EDIT = 10, +} + +/** + * Describes the enum exa.codeium_common_pb.SupercompleteTriggerCondition. + */ +export const SupercompleteTriggerConditionSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 80); + +/** + * @generated from enum exa.codeium_common_pb.ProductEventType + */ +export enum ProductEventType { + /** + * @generated from enum value: EVENT_UNSPECIFIED = 0; + */ + EVENT_UNSPECIFIED = 0, + + /** + * @generated from enum value: WINDSURF_EDITOR_READY = 251; + */ + WINDSURF_EDITOR_READY = 251, + + /** + * @generated from enum value: WINDSURF_EXTENSION_START = 253; + */ + WINDSURF_EXTENSION_START = 253, + + /** + * @generated from enum value: WINDSURF_EXTENSION_ACTIVATED = 32; + */ + WINDSURF_EXTENSION_ACTIVATED = 32, + + /** + * @generated from enum value: LS_DOWNLOAD_START = 1; + */ + LS_DOWNLOAD_START = 1, + + /** + * @generated from enum value: LS_DOWNLOAD_COMPLETE = 2; + */ + LS_DOWNLOAD_COMPLETE = 2, + + /** + * @generated from enum value: LS_DOWNLOAD_FAILURE = 5; + */ + LS_DOWNLOAD_FAILURE = 5, + + /** + * @generated from enum value: LS_BINARY_STARTUP = 250; + */ + LS_BINARY_STARTUP = 250, + + /** + * @generated from enum value: LS_STARTUP = 3; + */ + LS_STARTUP = 3, + + /** + * @generated from enum value: LS_FAILURE = 4; + */ + LS_FAILURE = 4, + + /** + * @generated from enum value: AUTOCOMPLETE_ACCEPTED = 6; + */ + AUTOCOMPLETE_ACCEPTED = 6, + + /** + * @generated from enum value: AUTOCOMPLETE_ONE_WORD_ACCEPTED = 7; + */ + AUTOCOMPLETE_ONE_WORD_ACCEPTED = 7, + + /** + * @generated from enum value: CHAT_MESSAGE_SENT = 8; + */ + CHAT_MESSAGE_SENT = 8, + + /** + * @generated from enum value: CHAT_MENTION_INSERT = 13; + */ + CHAT_MENTION_INSERT = 13, + + /** + * @generated from enum value: CHAT_MENTION_MENU_OPEN = 19; + */ + CHAT_MENTION_MENU_OPEN = 19, + + /** + * @generated from enum value: CHAT_OPEN_SETTINGS = 14; + */ + CHAT_OPEN_SETTINGS = 14, + + /** + * @generated from enum value: CHAT_OPEN_CONTEXT_SETTINGS = 15; + */ + CHAT_OPEN_CONTEXT_SETTINGS = 15, + + /** + * @generated from enum value: CHAT_WITH_CODEBASE = 16; + */ + CHAT_WITH_CODEBASE = 16, + + /** + * @generated from enum value: CHAT_NEW_CONVERSATION = 17; + */ + CHAT_NEW_CONVERSATION = 17, + + /** + * @generated from enum value: CHAT_CHANGE_MODEL = 18; + */ + CHAT_CHANGE_MODEL = 18, + + /** + * @generated from enum value: CHAT_TOGGLE_FOCUS_INSERT_TEXT = 34; + */ + CHAT_TOGGLE_FOCUS_INSERT_TEXT = 34, + + /** + * @generated from enum value: FUNCTION_REFACTOR = 28; + */ + FUNCTION_REFACTOR = 28, + + /** + * @generated from enum value: EXPLAIN_CODE_BLOCK = 29; + */ + EXPLAIN_CODE_BLOCK = 29, + + /** + * @generated from enum value: FUNCTION_ADD_DOCSTRING = 30; + */ + FUNCTION_ADD_DOCSTRING = 30, + + /** + * @generated from enum value: EXPLAIN_PROBLEM = 31; + */ + EXPLAIN_PROBLEM = 31, + + /** + * @generated from enum value: COMMAND_BOX_OPENED = 9; + */ + COMMAND_BOX_OPENED = 9, + + /** + * @generated from enum value: COMMAND_SUBMITTED = 10; + */ + COMMAND_SUBMITTED = 10, + + /** + * @generated from enum value: COMMAND_ACCEPTED = 11; + */ + COMMAND_ACCEPTED = 11, + + /** + * @generated from enum value: COMMAND_REJECTED = 12; + */ + COMMAND_REJECTED = 12, + + /** + * @generated from enum value: WS_ONBOARDING_LANDING_PAGE_OPENED = 20; + */ + WS_ONBOARDING_LANDING_PAGE_OPENED = 20, + + /** + * @generated from enum value: WS_ONBOARDING_SETUP_PAGE_OPENED = 21; + */ + WS_ONBOARDING_SETUP_PAGE_OPENED = 21, + + /** + * @generated from enum value: WS_ONBOARDING_KEYBINDINGS_PAGE_OPENED = 22; + */ + WS_ONBOARDING_KEYBINDINGS_PAGE_OPENED = 22, + + /** + * @generated from enum value: WS_ONBOARDING_MIGRATION_SCOPE_PAGE_OPENED = 23; + */ + WS_ONBOARDING_MIGRATION_SCOPE_PAGE_OPENED = 23, + + /** + * @generated from enum value: WS_ONBOARDING_IMPORT_PAGE_OPENED = 24; + */ + WS_ONBOARDING_IMPORT_PAGE_OPENED = 24, + + /** + * @generated from enum value: WS_ONBOARDING_AUTH_PAGE_OPENED = 25; + */ + WS_ONBOARDING_AUTH_PAGE_OPENED = 25, + + /** + * @generated from enum value: WS_ONBOARDING_AUTH_MANUAL_PAGE_OPENED = 26; + */ + WS_ONBOARDING_AUTH_MANUAL_PAGE_OPENED = 26, + + /** + * @generated from enum value: WS_ONBOARDING_CHOOSE_THEME_PAGE_OPENED = 35; + */ + WS_ONBOARDING_CHOOSE_THEME_PAGE_OPENED = 35, + + /** + * @generated from enum value: WS_ONBOARDING_COMPLETED = 27; + */ + WS_ONBOARDING_COMPLETED = 27, + + /** + * @generated from enum value: WS_SKIPPED_ONBOARDING = 69; + */ + WS_SKIPPED_ONBOARDING = 69, + + /** + * @generated from enum value: WS_SETTINGS_PAGE_OPEN = 72; + */ + WS_SETTINGS_PAGE_OPEN = 72, + + /** + * @generated from enum value: WS_SETTINGS_PAGE_OPEN_WITH_SETTING_FOCUS = 73; + */ + WS_SETTINGS_PAGE_OPEN_WITH_SETTING_FOCUS = 73, + + /** + * @generated from enum value: EMPTY_WORKSPACE_PAGE_OPENED = 209; + */ + EMPTY_WORKSPACE_PAGE_OPENED = 209, + + /** + * @generated from enum value: EMPTY_WORKSPACE_PAGE_RECENT_FOLDERS_CLICKED = 210; + */ + EMPTY_WORKSPACE_PAGE_RECENT_FOLDERS_CLICKED = 210, + + /** + * @generated from enum value: EMPTY_WORKSPACE_PAGE_OPEN_FOLDER_CLICKED = 211; + */ + EMPTY_WORKSPACE_PAGE_OPEN_FOLDER_CLICKED = 211, + + /** + * @generated from enum value: EMPTY_WORKSPACE_PAGE_GENERATE_PROJECT_CLICKED = 212; + */ + EMPTY_WORKSPACE_PAGE_GENERATE_PROJECT_CLICKED = 212, + + /** + * @generated from enum value: PROVIDE_FEEDBACK = 33; + */ + PROVIDE_FEEDBACK = 33, + + /** + * @generated from enum value: CASCADE_MESSAGE_SENT = 36; + */ + CASCADE_MESSAGE_SENT = 36, + + /** + * @generated from enum value: WS_OPEN_CASCADE_MEMORIES_PANEL = 38 [deprecated = true]; + * @deprecated + */ + WS_OPEN_CASCADE_MEMORIES_PANEL = 38, + + /** + * @generated from enum value: PROVIDE_MESSAGE_FEEDBACK = 41; + */ + PROVIDE_MESSAGE_FEEDBACK = 41, + + /** + * @generated from enum value: CASCADE_MEMORY_DELETED = 42; + */ + CASCADE_MEMORY_DELETED = 42, + + /** + * @generated from enum value: CASCADE_STEP_COMPLETED = 43; + */ + CASCADE_STEP_COMPLETED = 43, + + /** + * @generated from enum value: ACKNOWLEDGE_CASCADE_CODE_EDIT = 44; + */ + ACKNOWLEDGE_CASCADE_CODE_EDIT = 44, + + /** + * @generated from enum value: CASCADE_WEB_TOOLS_OPEN_READ_URL_MARKDOWN = 45; + */ + CASCADE_WEB_TOOLS_OPEN_READ_URL_MARKDOWN = 45, + + /** + * @generated from enum value: CASCADE_WEB_TOOLS_OPEN_CHUNK_MARKDOWN = 46; + */ + CASCADE_WEB_TOOLS_OPEN_CHUNK_MARKDOWN = 46, + + /** + * @generated from enum value: CASCADE_MCP_SERVER_INIT = 64; + */ + CASCADE_MCP_SERVER_INIT = 64, + + /** + * @generated from enum value: CASCADE_KNOWLEDGE_BASE_ITEM_OPENED = 113; + */ + CASCADE_KNOWLEDGE_BASE_ITEM_OPENED = 113, + + /** + * @generated from enum value: CASCADE_VIEW_LOADED = 119; + */ + CASCADE_VIEW_LOADED = 119, + + /** + * @generated from enum value: CASCADE_CONTEXT_SCOPE_ITEM_ATTACHED = 173; + */ + CASCADE_CONTEXT_SCOPE_ITEM_ATTACHED = 173, + + /** + * @generated from enum value: CASCADE_CLICK_EVENT = 65; + */ + CASCADE_CLICK_EVENT = 65, + + /** + * @generated from enum value: CASCADE_IMPRESSION_EVENT = 67; + */ + CASCADE_IMPRESSION_EVENT = 67, + + /** + * @generated from enum value: OPEN_CHANGELOG = 37; + */ + OPEN_CHANGELOG = 37, + + /** + * @generated from enum value: CURSOR_DETECTED = 39; + */ + CURSOR_DETECTED = 39, + + /** + * @generated from enum value: VSCODE_DETECTED = 40; + */ + VSCODE_DETECTED = 40, + + /** + * @generated from enum value: JETBRAINS_DETECTED = 153; + */ + JETBRAINS_DETECTED = 153, + + /** + * @generated from enum value: CROSS_SELL_EXTENSION_DOWNLOAD_WINDSURF_CLICK = 47; + */ + CROSS_SELL_EXTENSION_DOWNLOAD_WINDSURF_CLICK = 47, + + /** + * @generated from enum value: CROSS_SELL_EXTENSION_DOWNLOAD_WINDSURF_NUDGE_IMPRESSION = 48; + */ + CROSS_SELL_EXTENSION_DOWNLOAD_WINDSURF_NUDGE_IMPRESSION = 48, + + /** + * @generated from enum value: WS_PROBLEMS_TAB_SEND_ALL_TO_CASCADE = 49; + */ + WS_PROBLEMS_TAB_SEND_ALL_TO_CASCADE = 49, + + /** + * @generated from enum value: WS_PROBLEMS_TAB_SEND_ALL_IN_FILE_TO_CASCADE = 50; + */ + WS_PROBLEMS_TAB_SEND_ALL_IN_FILE_TO_CASCADE = 50, + + /** + * @generated from enum value: WS_CASCADE_BAR_FILE_NAV = 51 [deprecated = true]; + * @deprecated + */ + WS_CASCADE_BAR_FILE_NAV = 51, + + /** + * @generated from enum value: WS_CASCADE_BAR_HUNK_NAV = 52; + */ + WS_CASCADE_BAR_HUNK_NAV = 52, + + /** + * @generated from enum value: WS_CASCADE_BAR_ACCEPT_FILE = 53; + */ + WS_CASCADE_BAR_ACCEPT_FILE = 53, + + /** + * @generated from enum value: WS_CASCADE_BAR_REJECT_FILE = 54; + */ + WS_CASCADE_BAR_REJECT_FILE = 54, + + /** + * @generated from enum value: WS_CUSTOM_APP_ICON_MODAL_OPEN = 55; + */ + WS_CUSTOM_APP_ICON_MODAL_OPEN = 55, + + /** + * @generated from enum value: WS_CUSTOM_APP_ICON_SELECT_CLASSIC = 56; + */ + WS_CUSTOM_APP_ICON_SELECT_CLASSIC = 56, + + /** + * @generated from enum value: WS_CUSTOM_APP_ICON_SELECT_CLASSIC_LIGHT = 57; + */ + WS_CUSTOM_APP_ICON_SELECT_CLASSIC_LIGHT = 57, + + /** + * @generated from enum value: WS_CUSTOM_APP_ICON_SELECT_RETRO = 58; + */ + WS_CUSTOM_APP_ICON_SELECT_RETRO = 58, + + /** + * @generated from enum value: WS_CUSTOM_APP_ICON_SELECT_BLUEPRINT = 59; + */ + WS_CUSTOM_APP_ICON_SELECT_BLUEPRINT = 59, + + /** + * @generated from enum value: WS_CUSTOM_APP_ICON_SELECT_HAND_DRAWN = 60; + */ + WS_CUSTOM_APP_ICON_SELECT_HAND_DRAWN = 60, + + /** + * @generated from enum value: WS_CUSTOM_APP_ICON_SELECT_SUNSET = 61; + */ + WS_CUSTOM_APP_ICON_SELECT_SUNSET = 61, + + /** + * @generated from enum value: WS_CUSTOM_APP_ICON_SELECT_VALENTINE = 66; + */ + WS_CUSTOM_APP_ICON_SELECT_VALENTINE = 66, + + /** + * @generated from enum value: WS_CUSTOM_APP_ICON_SELECT_PIXEL_SURF = 82; + */ + WS_CUSTOM_APP_ICON_SELECT_PIXEL_SURF = 82, + + /** + * @generated from enum value: ENTERED_MCP_TOOLBAR_TAB = 63; + */ + ENTERED_MCP_TOOLBAR_TAB = 63, + + /** + * @generated from enum value: CLICKED_TO_CONFIGURE_MCP = 62; + */ + CLICKED_TO_CONFIGURE_MCP = 62, + + /** + * @generated from enum value: WS_SETTINGS_UPDATED = 68; + */ + WS_SETTINGS_UPDATED = 68, + + /** + * @generated from enum value: BROWSER_PREVIEW_DOM_ELEMENT = 70; + */ + BROWSER_PREVIEW_DOM_ELEMENT = 70, + + /** + * @generated from enum value: BROWSER_PREVIEW_CONSOLE_OUTPUT = 71; + */ + BROWSER_PREVIEW_CONSOLE_OUTPUT = 71, + + /** + * @generated from enum value: WS_SETTINGS_CHANGED_BY_USER = 74; + */ + WS_SETTINGS_CHANGED_BY_USER = 74, + + /** + * @generated from enum value: WS_GENERATE_COMMIT_MESSAGE_CLICKED = 75; + */ + WS_GENERATE_COMMIT_MESSAGE_CLICKED = 75, + + /** + * @generated from enum value: WS_GENERATE_COMMIT_MESSAGE_ERRORED = 76; + */ + WS_GENERATE_COMMIT_MESSAGE_ERRORED = 76, + + /** + * @generated from enum value: WS_CLICKED_COMMIT_FROM_SCM_PANEL = 77; + */ + WS_CLICKED_COMMIT_FROM_SCM_PANEL = 77, + + /** + * @generated from enum value: WS_CANCELED_GENERATE_COMMIT_MESSAGE = 79; + */ + WS_CANCELED_GENERATE_COMMIT_MESSAGE = 79, + + /** + * @generated from enum value: USING_DEV_EXTENSION = 78; + */ + USING_DEV_EXTENSION = 78, + + /** + * @generated from enum value: WS_APP_DEPLOYMENT_CREATE_PROJECT = 80; + */ + WS_APP_DEPLOYMENT_CREATE_PROJECT = 80, + + /** + * @generated from enum value: WS_APP_DEPLOYMENT_DEPLOY_PROJECT = 81; + */ + WS_APP_DEPLOYMENT_DEPLOY_PROJECT = 81, + + /** + * @generated from enum value: CASCADE_OPEN_ACTIVE_CONVERSATION_DROPDOWN = 114; + */ + CASCADE_OPEN_ACTIVE_CONVERSATION_DROPDOWN = 114, + + /** + * @generated from enum value: CASCADE_SELECT_ACTIVE_CONVERSATION_ON_DROPDOWN = 115; + */ + CASCADE_SELECT_ACTIVE_CONVERSATION_ON_DROPDOWN = 115, + + /** + * @generated from enum value: CASCADE_NAVIGATE_ACTIVE_CONVERSATION_ON_DROPDOWN = 122; + */ + CASCADE_NAVIGATE_ACTIVE_CONVERSATION_ON_DROPDOWN = 122, + + /** + * @generated from enum value: CASCADE_SNOOZE_CONVERSATION_ON_DROPDOWN = 123; + */ + CASCADE_SNOOZE_CONVERSATION_ON_DROPDOWN = 123, + + /** + * @generated from enum value: CASCADE_TOGGLE_NOTIFICATION_ON_DROPDOWN = 124; + */ + CASCADE_TOGGLE_NOTIFICATION_ON_DROPDOWN = 124, + + /** + * @generated from enum value: CASCADE_SELECT_NOTIFICATION_ON_DROPDOWN = 125; + */ + CASCADE_SELECT_NOTIFICATION_ON_DROPDOWN = 125, + + /** + * @generated from enum value: CASCADE_NAVIGATE_NOTIFICATION_ON_DROPDOWN = 126; + */ + CASCADE_NAVIGATE_NOTIFICATION_ON_DROPDOWN = 126, + + /** + * @generated from enum value: CASCADE_DISMISS_NOTIFICATION_ON_DROPDOWN = 127; + */ + CASCADE_DISMISS_NOTIFICATION_ON_DROPDOWN = 127, + + /** + * @generated from enum value: CASCADE_TRAJECTORY_SHARE_COPY_LINK = 137; + */ + CASCADE_TRAJECTORY_SHARE_COPY_LINK = 137, + + /** + * @generated from enum value: CASCADE_TRAJECTORY_SHARE_CREATE_LINK = 138; + */ + CASCADE_TRAJECTORY_SHARE_CREATE_LINK = 138, + + /** + * @generated from enum value: CASCADE_CUSTOMIZATIONS_TAB_CHANGE = 139; + */ + CASCADE_CUSTOMIZATIONS_TAB_CHANGE = 139, + + /** + * @generated from enum value: CASCADE_WORKFLOW_OPEN = 140; + */ + CASCADE_WORKFLOW_OPEN = 140, + + /** + * @generated from enum value: CASCADE_NEW_WORKFLOW_CLICKED = 141; + */ + CASCADE_NEW_WORKFLOW_CLICKED = 141, + + /** + * @generated from enum value: CASCADE_NEW_GLOBAL_WORKFLOW_CLICKED = 184; + */ + CASCADE_NEW_GLOBAL_WORKFLOW_CLICKED = 184, + + /** + * @generated from enum value: CASCADE_WORKFLOW_REFRESH_CLICKED = 142; + */ + CASCADE_WORKFLOW_REFRESH_CLICKED = 142, + + /** + * @generated from enum value: CASCADE_RULE_OPEN = 143; + */ + CASCADE_RULE_OPEN = 143, + + /** + * @generated from enum value: CASCADE_NEW_RULE_CLICKED = 144; + */ + CASCADE_NEW_RULE_CLICKED = 144, + + /** + * @generated from enum value: CASCADE_NEW_GLOBAL_RULE_CLICKED = 145; + */ + CASCADE_NEW_GLOBAL_RULE_CLICKED = 145, + + /** + * @generated from enum value: CASCADE_RULE_REFRESH_CLICKED = 146; + */ + CASCADE_RULE_REFRESH_CLICKED = 146, + + /** + * @generated from enum value: CASCADE_IMPORT_RULES_FROM_CURSOR_CLICKED = 147; + */ + CASCADE_IMPORT_RULES_FROM_CURSOR_CLICKED = 147, + + /** + * @generated from enum value: WS_IMPORT_CURSOR_RULES_COMMAND_PALETTE = 152; + */ + WS_IMPORT_CURSOR_RULES_COMMAND_PALETTE = 152, + + /** + * @generated from enum value: CASCADE_CHANGES_ACCEPT_ALL = 83; + */ + CASCADE_CHANGES_ACCEPT_ALL = 83, + + /** + * @generated from enum value: CASCADE_CHANGES_REJECT_ALL = 84; + */ + CASCADE_CHANGES_REJECT_ALL = 84, + + /** + * @generated from enum value: CASCADE_MEMORIES_EDIT = 85; + */ + CASCADE_MEMORIES_EDIT = 85, + + /** + * @generated from enum value: CASCADE_MEMORIES_VIEW = 86; + */ + CASCADE_MEMORIES_VIEW = 86, + + /** + * @generated from enum value: KEYBOARD_SHORTCUT = 136; + */ + KEYBOARD_SHORTCUT = 136, + + /** + * @generated from enum value: CASCADE_INSERT_AT_MENTION = 87; + */ + CASCADE_INSERT_AT_MENTION = 87, + + /** + * @generated from enum value: CASCADE_ERROR_STEP = 120; + */ + CASCADE_ERROR_STEP = 120, + + /** + * @generated from enum value: CASCADE_SUGGESTED_RESPONSES_SUGGESTION_CLICKED = 121; + */ + CASCADE_SUGGESTED_RESPONSES_SUGGESTION_CLICKED = 121, + + /** + * @generated from enum value: CASCADE_PLUGIN_PANEL_OPENED = 128; + */ + CASCADE_PLUGIN_PANEL_OPENED = 128, + + /** + * @generated from enum value: CASCADE_PLUGIN_PAGE_OPENED = 129; + */ + CASCADE_PLUGIN_PAGE_OPENED = 129, + + /** + * @generated from enum value: CASCADE_PLUGIN_INSTALLED = 130; + */ + CASCADE_PLUGIN_INSTALLED = 130, + + /** + * @generated from enum value: CASCADE_PLUGIN_DISABLED = 131; + */ + CASCADE_PLUGIN_DISABLED = 131, + + /** + * @generated from enum value: CASCADE_PLUGIN_ENABLED = 132; + */ + CASCADE_PLUGIN_ENABLED = 132, + + /** + * @generated from enum value: CASCADE_PLUGIN_INSTALLATION_ERROR = 133; + */ + CASCADE_PLUGIN_INSTALLATION_ERROR = 133, + + /** + * @generated from enum value: CASCADE_PLUGIN_TOOL_ENABLED = 134; + */ + CASCADE_PLUGIN_TOOL_ENABLED = 134, + + /** + * @generated from enum value: CASCADE_PLUGIN_TOOL_DISABLED = 135; + */ + CASCADE_PLUGIN_TOOL_DISABLED = 135, + + /** + * @generated from enum value: WEBSITE_NOT_FOUND_PAGE = 88; + */ + WEBSITE_NOT_FOUND_PAGE = 88, + + /** + * @generated from enum value: WEBSITE_AUTH_REDIRECT_LONG_WAIT = 89; + */ + WEBSITE_AUTH_REDIRECT_LONG_WAIT = 89, + + /** + * @generated from enum value: WEBSITE_AUTH_REDIRECT_ERROR = 90; + */ + WEBSITE_AUTH_REDIRECT_ERROR = 90, + + /** + * @generated from enum value: WEBSITE_AUTH_REDIRECT_SUCCESS = 112; + */ + WEBSITE_AUTH_REDIRECT_SUCCESS = 112, + + /** + * @generated from enum value: WEBSITE_PAGE_VISIT = 175; + */ + WEBSITE_PAGE_VISIT = 175, + + /** + * @generated from enum value: WEBSITE_SIGNUP_INFO = 176; + */ + WEBSITE_SIGNUP_INFO = 176, + + /** + * @generated from enum value: WEBSITE_START_PLAN_CHECKOUT = 177; + */ + WEBSITE_START_PLAN_CHECKOUT = 177, + + /** + * @generated from enum value: WEBSITE_START_UPDATE_PAYMENT = 202; + */ + WEBSITE_START_UPDATE_PAYMENT = 202, + + /** + * @generated from enum value: WEBSITE_START_VIEW_INVOICES = 203; + */ + WEBSITE_START_VIEW_INVOICES = 203, + + /** + * @generated from enum value: WEBSITE_UNIVERSITY_LECTURE_VIEW = 214; + */ + WEBSITE_UNIVERSITY_LECTURE_VIEW = 214, + + /** + * @generated from enum value: WEBSITE_DISALLOW_ENTERPRISE_LOGIN = 224; + */ + WEBSITE_DISALLOW_ENTERPRISE_LOGIN = 224, + + /** + * @generated from enum value: WEBSITE_SSO_LOGIN_REDIRECT = 225; + */ + WEBSITE_SSO_LOGIN_REDIRECT = 225, + + /** + * @generated from enum value: WEBSITE_ATTEMPT_TO_LOGIN = 226; + */ + WEBSITE_ATTEMPT_TO_LOGIN = 226, + + /** + * @generated from enum value: WEBSITE_SUCCESSFUL_LOGIN = 227; + */ + WEBSITE_SUCCESSFUL_LOGIN = 227, + + /** + * @generated from enum value: WEBSITE_FAILED_LOGIN = 228; + */ + WEBSITE_FAILED_LOGIN = 228, + + /** + * @generated from enum value: JB_OPEN_PLAN_INFO = 91; + */ + JB_OPEN_PLAN_INFO = 91, + + /** + * @generated from enum value: JB_SNOOZE_PLUGIN = 92 [deprecated = true]; + * @deprecated + */ + JB_SNOOZE_PLUGIN = 92, + + /** + * @generated from enum value: JB_TOGGLE_PLUGIN_STATUS = 93 [deprecated = true]; + * @deprecated + */ + JB_TOGGLE_PLUGIN_STATUS = 93, + + /** + * @generated from enum value: JB_SWITCH_CHANNEL = 94; + */ + JB_SWITCH_CHANNEL = 94, + + /** + * @generated from enum value: JB_OPEN_SETTINGS = 95; + */ + JB_OPEN_SETTINGS = 95, + + /** + * @generated from enum value: JB_PLUGIN_LOG_IN = 96; + */ + JB_PLUGIN_LOG_IN = 96, + + /** + * @generated from enum value: JB_PLUGIN_LOG_OUT = 97; + */ + JB_PLUGIN_LOG_OUT = 97, + + /** + * @generated from enum value: JB_OPEN_QUICK_REFERENCE = 98; + */ + JB_OPEN_QUICK_REFERENCE = 98, + + /** + * @generated from enum value: JB_EDIT_KEYBOARD_SHORTCUTS = 99; + */ + JB_EDIT_KEYBOARD_SHORTCUTS = 99, + + /** + * @generated from enum value: JB_CASCADE_BAR_CASCADE_ICON = 100; + */ + JB_CASCADE_BAR_CASCADE_ICON = 100, + + /** + * @generated from enum value: JB_CASCADE_BAR_FILE_NAV = 101; + */ + JB_CASCADE_BAR_FILE_NAV = 101, + + /** + * @generated from enum value: JB_CASCADE_BAR_HUNK_NAV = 102; + */ + JB_CASCADE_BAR_HUNK_NAV = 102, + + /** + * @generated from enum value: JB_CASCADE_BAR_ACCEPT_FILE = 103; + */ + JB_CASCADE_BAR_ACCEPT_FILE = 103, + + /** + * @generated from enum value: JB_CASCADE_BAR_REJECT_FILE = 104; + */ + JB_CASCADE_BAR_REJECT_FILE = 104, + + /** + * @generated from enum value: JB_INLAY_HUNK_ACCEPT = 105; + */ + JB_INLAY_HUNK_ACCEPT = 105, + + /** + * @generated from enum value: JB_INLAY_HUNK_REJECT = 106; + */ + JB_INLAY_HUNK_REJECT = 106, + + /** + * @generated from enum value: JB_DIFF_RE_RENDER = 107; + */ + JB_DIFF_RE_RENDER = 107, + + /** + * @generated from enum value: JB_ONBOARDING_OPENED = 108; + */ + JB_ONBOARDING_OPENED = 108, + + /** + * @generated from enum value: JB_ONBOARDING_COMPLETED = 109; + */ + JB_ONBOARDING_COMPLETED = 109, + + /** + * @generated from enum value: JB_ONBOARDING_SKIPPED = 110; + */ + JB_ONBOARDING_SKIPPED = 110, + + /** + * @generated from enum value: JB_ONBOARDING_LEARN_MORE = 111; + */ + JB_ONBOARDING_LEARN_MORE = 111, + + /** + * @generated from enum value: JB_DIFF_RESOLUTION_ERRORED = 116; + */ + JB_DIFF_RESOLUTION_ERRORED = 116, + + /** + * @generated from enum value: JB_ACKNOWLEDGE_CODE_EDIT_ERRORED = 117; + */ + JB_ACKNOWLEDGE_CODE_EDIT_ERRORED = 117, + + /** + * @generated from enum value: JB_OPEN_SETTINGS_NOTIFICATION = 118; + */ + JB_OPEN_SETTINGS_NOTIFICATION = 118, + + /** + * @generated from enum value: JB_MCP_ADD_SERVER = 148; + */ + JB_MCP_ADD_SERVER = 148, + + /** + * @generated from enum value: JB_MCP_SAVE_CONFIG = 149; + */ + JB_MCP_SAVE_CONFIG = 149, + + /** + * @generated from enum value: JB_MCP_EXPAND_TOOLS = 150; + */ + JB_MCP_EXPAND_TOOLS = 150, + + /** + * @generated from enum value: JB_DISABLE_AUTOGEN_MEMORY = 151; + */ + JB_DISABLE_AUTOGEN_MEMORY = 151, + + /** + * @generated from enum value: JB_TOGGLE_AUTOCOMPLETE = 154; + */ + JB_TOGGLE_AUTOCOMPLETE = 154, + + /** + * @generated from enum value: JB_LOGIN_MANUAL_AUTH_TOKEN = 174; + */ + JB_LOGIN_MANUAL_AUTH_TOKEN = 174, + + /** + * @generated from enum value: JB_AUTO_UPDATED = 179; + */ + JB_AUTO_UPDATED = 179, + + /** + * @generated from enum value: JB_DRAG_DROP_FILE = 182; + */ + JB_DRAG_DROP_FILE = 182, + + /** + * @generated from enum value: JB_AUTO_OPEN_CHAT_WINDOW = 183; + */ + JB_AUTO_OPEN_CHAT_WINDOW = 183, + + /** + * @generated from enum value: WS_TERMINAL_INTEGRATION_FORCE_EXIT = 155; + */ + WS_TERMINAL_INTEGRATION_FORCE_EXIT = 155, + + /** + * @generated from enum value: KNOWLEDGE_BASE_ITEM_CREATED = 156; + */ + KNOWLEDGE_BASE_ITEM_CREATED = 156, + + /** + * @generated from enum value: KNOWLEDGE_BASE_ITEM_EDITED = 157; + */ + KNOWLEDGE_BASE_ITEM_EDITED = 157, + + /** + * @generated from enum value: KNOWLEDGE_BASE_ITEM_DELETED = 158; + */ + KNOWLEDGE_BASE_ITEM_DELETED = 158, + + /** + * @generated from enum value: KNOWLEDGE_BASE_ITEM_READ = 159; + */ + KNOWLEDGE_BASE_ITEM_READ = 159, + + /** + * @generated from enum value: KNOWLEDGE_BASE_CONNECTION_CREATE = 160; + */ + KNOWLEDGE_BASE_CONNECTION_CREATE = 160, + + /** + * @generated from enum value: KNOWLEDGE_BASE_CONNECTION_REMOVE = 161; + */ + KNOWLEDGE_BASE_CONNECTION_REMOVE = 161, + + /** + * @generated from enum value: TEAM_CONFIG_TOGGLE_AUTO_RUN_COMMANDS = 162; + */ + TEAM_CONFIG_TOGGLE_AUTO_RUN_COMMANDS = 162, + + /** + * @generated from enum value: TEAM_CONFIG_TOGGLE_MCP_SERVERS = 163; + */ + TEAM_CONFIG_TOGGLE_MCP_SERVERS = 163, + + /** + * @generated from enum value: TEAM_CONFIG_TOGGLE_APP_DEPLOYMENTS = 164; + */ + TEAM_CONFIG_TOGGLE_APP_DEPLOYMENTS = 164, + + /** + * @generated from enum value: TEAM_CONFIG_TOGGLE_SANDBOX_APP_DEPLOYMENTS = 165; + */ + TEAM_CONFIG_TOGGLE_SANDBOX_APP_DEPLOYMENTS = 165, + + /** + * @generated from enum value: TEAM_CONFIG_TOGGLE_TEAMS_APP_DEPLOYMENTS = 166; + */ + TEAM_CONFIG_TOGGLE_TEAMS_APP_DEPLOYMENTS = 166, + + /** + * @generated from enum value: TEAM_CONFIG_TOGGLE_GITHUB_REVIEWS = 167; + */ + TEAM_CONFIG_TOGGLE_GITHUB_REVIEWS = 167, + + /** + * @generated from enum value: TEAM_CONFIG_TOGGLE_GITHUB_DESCRIPTION_EDITS = 168; + */ + TEAM_CONFIG_TOGGLE_GITHUB_DESCRIPTION_EDITS = 168, + + /** + * @generated from enum value: TEAM_CONFIG_TOGGLE_PR_REVIEW_GUIDELINES = 169; + */ + TEAM_CONFIG_TOGGLE_PR_REVIEW_GUIDELINES = 169, + + /** + * @generated from enum value: TEAM_CONFIG_TOGGLE_PR_DESCRIPTION_GUIDELINES = 170; + */ + TEAM_CONFIG_TOGGLE_PR_DESCRIPTION_GUIDELINES = 170, + + /** + * @generated from enum value: TEAM_CONFIG_TOGGLE_INDIVIDUAL_LEVEL_ANALYTICS = 171; + */ + TEAM_CONFIG_TOGGLE_INDIVIDUAL_LEVEL_ANALYTICS = 171, + + /** + * @generated from enum value: TEAM_CONFIG_TOGGLE_CONVERSATION_SHARING = 172; + */ + TEAM_CONFIG_TOGGLE_CONVERSATION_SHARING = 172, + + /** + * @generated from enum value: TEAM_CONFIG_UPDATE_MCP_SERVERS = 178; + */ + TEAM_CONFIG_UPDATE_MCP_SERVERS = 178, + + /** + * @generated from enum value: TEAM_CONFIG_TOGGLE_GITHUB_AUTO_REVIEWS = 207; + */ + TEAM_CONFIG_TOGGLE_GITHUB_AUTO_REVIEWS = 207, + + /** + * @generated from enum value: TEAM_CONFIG_UPDATE_TOP_UP_SETTINGS = 213; + */ + TEAM_CONFIG_UPDATE_TOP_UP_SETTINGS = 213, + + /** + * @generated from enum value: BROWSER_OPEN = 180; + */ + BROWSER_OPEN = 180, + + /** + * @generated from enum value: CASCADE_WEB_TOOLS_OPEN_BROWSER_MARKDOWN = 181; + */ + CASCADE_WEB_TOOLS_OPEN_BROWSER_MARKDOWN = 181, + + /** + * @generated from enum value: BROWSER_PAGE_LOAD_SUCCESS = 206; + */ + BROWSER_PAGE_LOAD_SUCCESS = 206, + + /** + * @generated from enum value: BROWSER_TOOLBAR_INSERT_PAGE_MENTION = 208; + */ + BROWSER_TOOLBAR_INSERT_PAGE_MENTION = 208, + + /** + * @generated from enum value: BROWSER_INSERT_TEXT_CONTENT = 215; + */ + BROWSER_INSERT_TEXT_CONTENT = 215, + + /** + * @generated from enum value: BROWSER_INSERT_SCREENSHOT = 216; + */ + BROWSER_INSERT_SCREENSHOT = 216, + + /** + * @generated from enum value: BROWSER_INSERT_CODE_BLOCK = 217; + */ + BROWSER_INSERT_CODE_BLOCK = 217, + + /** + * @generated from enum value: BROWSER_INSERT_LOG_BLOCK = 218; + */ + BROWSER_INSERT_LOG_BLOCK = 218, + + /** + * @generated from enum value: BROWSER_INSERT_CONSOLE_OUTPUT = 219; + */ + BROWSER_INSERT_CONSOLE_OUTPUT = 219, + + /** + * @generated from enum value: BROWSER_INSERT_DOM_ELEMENT = 220; + */ + BROWSER_INSERT_DOM_ELEMENT = 220, + + /** + * @generated from enum value: SUPERCOMPLETE_REQUEST_STARTED = 195; + */ + SUPERCOMPLETE_REQUEST_STARTED = 195, + + /** + * @generated from enum value: SUPERCOMPLETE_CACHE_HIT = 196; + */ + SUPERCOMPLETE_CACHE_HIT = 196, + + /** + * @generated from enum value: SUPERCOMPLETE_ERROR_GETTING_RESPONSE = 197; + */ + SUPERCOMPLETE_ERROR_GETTING_RESPONSE = 197, + + /** + * @generated from enum value: SUPERCOMPLETE_NO_RESPONSE = 185; + */ + SUPERCOMPLETE_NO_RESPONSE = 185, + + /** + * @generated from enum value: SUPERCOMPLETE_REQUEST_SUCCEEDED = 186; + */ + SUPERCOMPLETE_REQUEST_SUCCEEDED = 186, + + /** + * @generated from enum value: SUPERCOMPLETE_FILTERED = 187; + */ + SUPERCOMPLETE_FILTERED = 187, + + /** + * @generated from enum value: TAB_JUMP_REQUEST_STARTED = 188; + */ + TAB_JUMP_REQUEST_STARTED = 188, + + /** + * @generated from enum value: TAB_JUMP_CACHE_HIT = 189; + */ + TAB_JUMP_CACHE_HIT = 189, + + /** + * @generated from enum value: TAB_JUMP_ERROR_GETTING_RESPONSE = 190; + */ + TAB_JUMP_ERROR_GETTING_RESPONSE = 190, + + /** + * @generated from enum value: TAB_JUMP_NO_RESPONSE = 191; + */ + TAB_JUMP_NO_RESPONSE = 191, + + /** + * @generated from enum value: TAB_JUMP_PROCESSING_COMPLETE = 192; + */ + TAB_JUMP_PROCESSING_COMPLETE = 192, + + /** + * @generated from enum value: TAB_JUMP_FILTERED = 193; + */ + TAB_JUMP_FILTERED = 193, + + /** + * @generated from enum value: TAB_JUMP_ERROR_UI_RENDERED = 194; + */ + TAB_JUMP_ERROR_UI_RENDERED = 194, + + /** + * @generated from enum value: AUTO_CASCADE_PR_TITLE_GENERATED = 198; + */ + AUTO_CASCADE_PR_TITLE_GENERATED = 198, + + /** + * @generated from enum value: AUTO_CASCADE_PR_DESCRIPTION_GENERATED = 199; + */ + AUTO_CASCADE_PR_DESCRIPTION_GENERATED = 199, + + /** + * @generated from enum value: AUTO_CASCADE_PR_REVIEW_REQUESTED = 200; + */ + AUTO_CASCADE_PR_REVIEW_REQUESTED = 200, + + /** + * @generated from enum value: AUTO_CASCADE_PR_REVIEW_GENERATED = 201; + */ + AUTO_CASCADE_PR_REVIEW_GENERATED = 201, + + /** + * @generated from enum value: AUTO_CASCADE_GITHUB_CONNECTION_ADDED = 204; + */ + AUTO_CASCADE_GITHUB_CONNECTION_ADDED = 204, + + /** + * @generated from enum value: AUTO_CASCADE_GITHUB_CONNECTION_REMOVED = 205; + */ + AUTO_CASCADE_GITHUB_CONNECTION_REMOVED = 205, + + /** + * @generated from enum value: AUTOCOMPLETE_CHAT_NO_RESPONSE = 221; + */ + AUTOCOMPLETE_CHAT_NO_RESPONSE = 221, + + /** + * @generated from enum value: AUTOCOMPLETE_CHAT_ERROR_GETTING_RESPONSE = 222; + */ + AUTOCOMPLETE_CHAT_ERROR_GETTING_RESPONSE = 222, + + /** + * @generated from enum value: AUTOCOMPLETE_CHAT_REQUEST_ACCEPTED = 223; + */ + AUTOCOMPLETE_CHAT_REQUEST_ACCEPTED = 223, +} + +/** + * Describes the enum exa.codeium_common_pb.ProductEventType. + */ +export const ProductEventTypeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 81); + +/** + * @generated from enum exa.codeium_common_pb.IndexChoice + */ +export enum IndexChoice { + /** + * @generated from enum value: INDEX_CHOICE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: INDEX_CHOICE_GITHUB_BASE = 1; + */ + GITHUB_BASE = 1, + + /** + * @generated from enum value: INDEX_CHOICE_SLACK_BASE = 2; + */ + SLACK_BASE = 2, + + /** + * @generated from enum value: INDEX_CHOICE_SLACK_AGGREGATE = 3 [deprecated = true]; + * @deprecated + */ + SLACK_AGGREGATE = 3, + + /** + * @generated from enum value: INDEX_CHOICE_GOOGLE_DRIVE_BASE = 4; + */ + GOOGLE_DRIVE_BASE = 4, + + /** + * @generated from enum value: INDEX_CHOICE_JIRA_BASE = 5; + */ + JIRA_BASE = 5, + + /** + * @generated from enum value: INDEX_CHOICE_SCM = 6; + */ + SCM = 6, +} + +/** + * Describes the enum exa.codeium_common_pb.IndexChoice. + */ +export const IndexChoiceSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 82); + +/** + * @generated from enum exa.codeium_common_pb.MarkdownNodeType + */ +export enum MarkdownNodeType { + /** + * @generated from enum value: MARKDOWN_NODE_TYPE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: MARKDOWN_NODE_TYPE_HEADER_1 = 1; + */ + HEADER_1 = 1, + + /** + * @generated from enum value: MARKDOWN_NODE_TYPE_HEADER_2 = 2; + */ + HEADER_2 = 2, + + /** + * @generated from enum value: MARKDOWN_NODE_TYPE_HEADER_3 = 3; + */ + HEADER_3 = 3, + + /** + * @generated from enum value: MARKDOWN_NODE_TYPE_HEADER_4 = 4; + */ + HEADER_4 = 4, + + /** + * @generated from enum value: MARKDOWN_NODE_TYPE_HEADER_5 = 5; + */ + HEADER_5 = 5, + + /** + * @generated from enum value: MARKDOWN_NODE_TYPE_HEADER_6 = 6; + */ + HEADER_6 = 6, +} + +/** + * Describes the enum exa.codeium_common_pb.MarkdownNodeType. + */ +export const MarkdownNodeTypeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 83); + +/** + * @generated from enum exa.codeium_common_pb.TerminalShellCommandSource + */ +export enum TerminalShellCommandSource { + /** + * @generated from enum value: TERMINAL_SHELL_COMMAND_SOURCE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: TERMINAL_SHELL_COMMAND_SOURCE_USER = 1; + */ + USER = 1, + + /** + * @generated from enum value: TERMINAL_SHELL_COMMAND_SOURCE_CASCADE = 2; + */ + CASCADE = 2, +} + +/** + * Describes the enum exa.codeium_common_pb.TerminalShellCommandSource. + */ +export const TerminalShellCommandSourceSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 84); + +/** + * @generated from enum exa.codeium_common_pb.TerminalShellCommandStatus + */ +export enum TerminalShellCommandStatus { + /** + * @generated from enum value: TERMINAL_SHELL_COMMAND_STATUS_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: TERMINAL_SHELL_COMMAND_STATUS_RUNNING = 1; + */ + RUNNING = 1, + + /** + * @generated from enum value: TERMINAL_SHELL_COMMAND_STATUS_COMPLETED = 2; + */ + COMPLETED = 2, +} + +/** + * Describes the enum exa.codeium_common_pb.TerminalShellCommandStatus. + */ +export const TerminalShellCommandStatusSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 85); + +/** + * @generated from enum exa.codeium_common_pb.DeploymentBuildStatus + */ +export enum DeploymentBuildStatus { + /** + * @generated from enum value: DEPLOYMENT_BUILD_STATUS_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: DEPLOYMENT_BUILD_STATUS_QUEUED = 1; + */ + QUEUED = 1, + + /** + * @generated from enum value: DEPLOYMENT_BUILD_STATUS_INITIALIZING = 2; + */ + INITIALIZING = 2, + + /** + * @generated from enum value: DEPLOYMENT_BUILD_STATUS_BUILDING = 3; + */ + BUILDING = 3, + + /** + * @generated from enum value: DEPLOYMENT_BUILD_STATUS_ERROR = 4; + */ + ERROR = 4, + + /** + * @generated from enum value: DEPLOYMENT_BUILD_STATUS_READY = 5; + */ + READY = 5, + + /** + * @generated from enum value: DEPLOYMENT_BUILD_STATUS_CANCELED = 6; + */ + CANCELED = 6, +} + +/** + * Describes the enum exa.codeium_common_pb.DeploymentBuildStatus. + */ +export const DeploymentBuildStatusSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 86); + +/** + * @generated from enum exa.codeium_common_pb.DeploymentProvider + */ +export enum DeploymentProvider { + /** + * @generated from enum value: DEPLOYMENT_PROVIDER_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: DEPLOYMENT_PROVIDER_VERCEL = 1; + */ + VERCEL = 1, + + /** + * @generated from enum value: DEPLOYMENT_PROVIDER_NETLIFY = 2; + */ + NETLIFY = 2, + + /** + * @generated from enum value: DEPLOYMENT_PROVIDER_CLOUDFLARE = 3; + */ + CLOUDFLARE = 3, +} + +/** + * Describes the enum exa.codeium_common_pb.DeploymentProvider. + */ +export const DeploymentProviderSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 87); + +/** + * @generated from enum exa.codeium_common_pb.ValidationStatus + */ +export enum ValidationStatus { + /** + * @generated from enum value: VALIDATION_STATUS_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: VALIDATION_STATUS_AVAILABLE = 1; + */ + AVAILABLE = 1, + + /** + * @generated from enum value: VALIDATION_STATUS_IN_USE = 2; + */ + IN_USE = 2, + + /** + * @generated from enum value: VALIDATION_STATUS_TAKEN = 3; + */ + TAKEN = 3, + + /** + * @generated from enum value: VALIDATION_STATUS_INVALID = 4; + */ + INVALID = 4, +} + +/** + * Describes the enum exa.codeium_common_pb.ValidationStatus. + */ +export const ValidationStatusSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 88); + +/** + * @generated from enum exa.codeium_common_pb.SandboxEnforcementMode + */ +export enum SandboxEnforcementMode { + /** + * @generated from enum value: SANDBOX_ENFORCEMENT_MODE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: SANDBOX_ENFORCEMENT_MODE_OPTIONAL = 1; + */ + OPTIONAL = 1, + + /** + * @generated from enum value: SANDBOX_ENFORCEMENT_MODE_REQUIRED = 2; + */ + REQUIRED = 2, +} + +/** + * Describes the enum exa.codeium_common_pb.SandboxEnforcementMode. + */ +export const SandboxEnforcementModeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 89); + +/** + * @generated from enum exa.codeium_common_pb.PromptTemplaterType + */ +export enum PromptTemplaterType { + /** + * @generated from enum value: PROMPT_TEMPLATER_TYPE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: PROMPT_TEMPLATER_TYPE_LLAMA_2 = 1; + */ + LLAMA_2 = 1, + + /** + * @generated from enum value: PROMPT_TEMPLATER_TYPE_LLAMA_3 = 2; + */ + LLAMA_3 = 2, + + /** + * @generated from enum value: PROMPT_TEMPLATER_TYPE_CHATML = 3; + */ + CHATML = 3, + + /** + * @generated from enum value: PROMPT_TEMPLATER_TYPE_CHAT_TRANSCRIPT = 4; + */ + CHAT_TRANSCRIPT = 4, + + /** + * @generated from enum value: PROMPT_TEMPLATER_TYPE_DEEPSEEK_V2 = 5; + */ + DEEPSEEK_V2 = 5, + + /** + * @generated from enum value: PROMPT_TEMPLATER_TYPE_DEEPSEEK_V3 = 6; + */ + DEEPSEEK_V3 = 6, + + /** + * @generated from enum value: PROMPT_TEMPLATER_TYPE_KIMI = 7; + */ + KIMI = 7, +} + +/** + * Describes the enum exa.codeium_common_pb.PromptTemplaterType. + */ +export const PromptTemplaterTypeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 90); + +/** + * @generated from enum exa.codeium_common_pb.ToolFormatterType + */ +export enum ToolFormatterType { + /** + * @generated from enum value: TOOL_FORMATTER_TYPE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: TOOL_FORMATTER_TYPE_LLAMA_3 = 1; + */ + LLAMA_3 = 1, + + /** + * @generated from enum value: TOOL_FORMATTER_TYPE_HERMES = 2; + */ + HERMES = 2, + + /** + * @generated from enum value: TOOL_FORMATTER_TYPE_XML = 3; + */ + XML = 3, + + /** + * @generated from enum value: TOOL_FORMATTER_TYPE_CHAT_TRANSCRIPT = 4; + */ + CHAT_TRANSCRIPT = 4, + + /** + * @generated from enum value: TOOL_FORMATTER_TYPE_KIMI = 5; + */ + KIMI = 5, + + /** + * @generated from enum value: TOOL_FORMATTER_TYPE_QWENCODER = 6; + */ + QWENCODER = 6, + + /** + * @generated from enum value: TOOL_FORMATTER_TYPE_SUPERCOMPLETE = 7; + */ + SUPERCOMPLETE = 7, +} + +/** + * Describes the enum exa.codeium_common_pb.ToolFormatterType. + */ +export const ToolFormatterTypeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 91); + +/** + * @generated from enum exa.codeium_common_pb.BrowserInstallationStatus + */ +export enum BrowserInstallationStatus { + /** + * @generated from enum value: BROWSER_INSTALLATION_STATUS_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: BROWSER_INSTALLATION_STATUS_NOT_INSTALLED = 1; + */ + NOT_INSTALLED = 1, + + /** + * @generated from enum value: BROWSER_INSTALLATION_STATUS_IN_PROGRESS = 2; + */ + IN_PROGRESS = 2, + + /** + * @generated from enum value: BROWSER_INSTALLATION_STATUS_COMPLETE = 3; + */ + COMPLETE = 3, + + /** + * @generated from enum value: BROWSER_INSTALLATION_STATUS_ERROR = 4; + */ + ERROR = 4, +} + +/** + * Describes the enum exa.codeium_common_pb.BrowserInstallationStatus. + */ +export const BrowserInstallationStatusSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 92); + +/** + * @generated from enum exa.codeium_common_pb.TrajectoryType + */ +export enum TrajectoryType { + /** + * @generated from enum value: TRAJECTORY_TYPE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: TRAJECTORY_TYPE_CASCADE = 1; + */ + CASCADE = 1, + + /** + * @generated from enum value: TRAJECTORY_TYPE_MAINLINE_TRAJECTORY = 2; + */ + MAINLINE_TRAJECTORY = 2, +} + +/** + * Describes the enum exa.codeium_common_pb.TrajectoryType. + */ +export const TrajectoryTypeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 93); + +/** + * @generated from enum exa.codeium_common_pb.RefreshCustomizationType + */ +export enum RefreshCustomizationType { + /** + * @generated from enum value: REFRESH_CUSTOMIZATION_TYPE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: REFRESH_CUSTOMIZATION_TYPE_RULE = 1; + */ + RULE = 1, + + /** + * @generated from enum value: REFRESH_CUSTOMIZATION_TYPE_WORKFLOW = 2; + */ + WORKFLOW = 2, + + /** + * @generated from enum value: REFRESH_CUSTOMIZATION_TYPE_USER_MEMORY = 3; + */ + USER_MEMORY = 3, + + /** + * @generated from enum value: REFRESH_CUSTOMIZATION_TYPE_SKILL = 4; + */ + SKILL = 4, + + /** + * @generated from enum value: REFRESH_CUSTOMIZATION_TYPE_PLAN = 5; + */ + PLAN = 5, + + /** + * @generated from enum value: REFRESH_CUSTOMIZATION_TYPE_MCP = 6; + */ + MCP = 6, +} + +/** + * Describes the enum exa.codeium_common_pb.RefreshCustomizationType. + */ +export const RefreshCustomizationTypeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 94); + +/** + * @generated from enum exa.codeium_common_pb.ThirdPartyWebSearchProvider + */ +export enum ThirdPartyWebSearchProvider { + /** + * @generated from enum value: THIRD_PARTY_WEB_SEARCH_PROVIDER_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: THIRD_PARTY_WEB_SEARCH_PROVIDER_OPENAI = 1; + */ + OPENAI = 1, +} + +/** + * Describes the enum exa.codeium_common_pb.ThirdPartyWebSearchProvider. + */ +export const ThirdPartyWebSearchProviderSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 95); + +/** + * @generated from enum exa.codeium_common_pb.ThirdPartyWebSearchModel + */ +export enum ThirdPartyWebSearchModel { + /** + * @generated from enum value: THIRD_PARTY_WEB_SEARCH_MODEL_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: THIRD_PARTY_WEB_SEARCH_MODEL_O3 = 1; + */ + O3 = 1, + + /** + * @generated from enum value: THIRD_PARTY_WEB_SEARCH_MODEL_GPT_4_1 = 2; + */ + GPT_4_1 = 2, + + /** + * @generated from enum value: THIRD_PARTY_WEB_SEARCH_MODEL_O4_MINI = 3; + */ + O4_MINI = 3, +} + +/** + * Describes the enum exa.codeium_common_pb.ThirdPartyWebSearchModel. + */ +export const ThirdPartyWebSearchModelSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_codeium_common_pb_codeium_common, 96); + diff --git a/packages/catalog/src/discovery/devin-gen/exa/context_module_pb/context_module_pb.ts b/packages/catalog/src/discovery/devin-gen/exa/context_module_pb/context_module_pb.ts new file mode 100644 index 000000000..79544c6f0 --- /dev/null +++ b/packages/catalog/src/discovery/devin-gen/exa/context_module_pb/context_module_pb.ts @@ -0,0 +1,732 @@ +// @generated by protoc-gen-es v2.12.0 with parameter "target=ts" +// @generated from file exa/context_module_pb/context_module.proto (package exa.context_module_pb, syntax proto3) +/* eslint-disable */ + +import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2"; +import { enumDesc, fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2"; +import { file_buf_validate_validate } from "../../buf/validate/validate_pb"; +import type { ChatMessage } from "../chat_pb/chat_pb"; +import { file_exa_chat_pb_chat } from "../chat_pb/chat_pb"; +import type { CciWithSubrange, CodeContextItem, CodeContextSource, CodeContextType, ContextScope, Document, DocumentOutline, Guideline } from "../codeium_common_pb/codeium_common_pb"; +import { file_exa_codeium_common_pb_codeium_common } from "../codeium_common_pb/codeium_common_pb"; +import type { Message } from "@bufbuild/protobuf"; + +/** + * Describes the file exa/context_module_pb/context_module.proto. + */ +export const file_exa_context_module_pb_context_module: GenFile = /*@__PURE__*/ + fileDesc("CipleGEvY29udGV4dF9tb2R1bGVfcGIvY29udGV4dF9tb2R1bGUucHJvdG8SFWV4YS5jb250ZXh0X21vZHVsZV9wYiLqBgoSQ29udGV4dENoYW5nZUV2ZW50ElwKHmNvbnRleHRfY2hhbmdlX2FjdGl2ZV9kb2N1bWVudBgBIAEoCzIyLmV4YS5jb250ZXh0X21vZHVsZV9wYi5Db250ZXh0Q2hhbmdlQWN0aXZlRG9jdW1lbnRIABJcCh5jb250ZXh0X2NoYW5nZV9jdXJzb3JfcG9zaXRpb24YAiABKAsyMi5leGEuY29udGV4dF9tb2R1bGVfcGIuQ29udGV4dENoYW5nZUN1cnNvclBvc2l0aW9uSAASZwokY29udGV4dF9jaGFuZ2VfY2hhdF9tZXNzYWdlX3JlY2VpdmVkGAMgASgLMjcuZXhhLmNvbnRleHRfbW9kdWxlX3BiLkNvbnRleHRDaGFuZ2VDaGF0TWVzc2FnZVJlY2VpdmVkSAASWgodY29udGV4dF9jaGFuZ2Vfb3Blbl9kb2N1bWVudHMYBCABKAsyMS5leGEuY29udGV4dF9tb2R1bGVfcGIuQ29udGV4dENoYW5nZU9wZW5Eb2N1bWVudHNIABJWChtjb250ZXh0X2NoYW5nZV9vcmFjbGVfaXRlbXMYBSABKAsyLy5leGEuY29udGV4dF9tb2R1bGVfcGIuQ29udGV4dENoYW5nZU9yYWNsZUl0ZW1zSAASWgodY29udGV4dF9jaGFuZ2VfcGlubmVkX2NvbnRleHQYByABKAsyMS5leGEuY29udGV4dF9tb2R1bGVfcGIuQ29udGV4dENoYW5nZVBpbm5lZENvbnRleHRIABJeCh9jb250ZXh0X2NoYW5nZV9waW5uZWRfZ3VpZGVsaW5lGAggASgLMjMuZXhhLmNvbnRleHRfbW9kdWxlX3BiLkNvbnRleHRDaGFuZ2VQaW5uZWRHdWlkZWxpbmVIABJUChpjb250ZXh0X2NoYW5nZV9hY3RpdmVfbm9kZRgKIAEoCzIuLmV4YS5jb250ZXh0X21vZHVsZV9wYi5Db250ZXh0Q2hhbmdlQWN0aXZlTm9kZUgAEksKFmNvbnRleHRfcmVmcmVzaF9yZWFzb24YBiABKA4yKy5leGEuY29udGV4dF9tb2R1bGVfcGIuQ29udGV4dFJlZnJlc2hSZWFzb25CFgoUY29udGV4dF9jaGFuZ2VfZXZlbnRKBAgJEAoiUAobQ29udGV4dENoYW5nZUFjdGl2ZURvY3VtZW50EjEKCGRvY3VtZW50GAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLkRvY3VtZW50InYKG0NvbnRleHRDaGFuZ2VDdXJzb3JQb3NpdGlvbhIxCghkb2N1bWVudBgCIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Eb2N1bWVudEoECAEQAkoECAMQBFIIcG9zaXRpb25SDnJlZnJlc2hfcmVhc29uIlMKIENvbnRleHRDaGFuZ2VDaGF0TWVzc2FnZVJlY2VpdmVkEi8KDWNoYXRfbWVzc2FnZXMYASADKAsyGC5leGEuY2hhdF9wYi5DaGF0TWVzc2FnZSJ5ChpDb250ZXh0Q2hhbmdlT3BlbkRvY3VtZW50cxI9ChRvdGhlcl9vcGVuX2RvY3VtZW50cxgBIAMoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Eb2N1bWVudBIcChRyZWNlbnRseV9vcGVuZWRfdXJpcxgCIAMoCSJYChhDb250ZXh0Q2hhbmdlT3JhY2xlSXRlbXMSPAoMb3JhY2xlX2l0ZW1zGAEgAygLMiYuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNvZGVDb250ZXh0SXRlbSKiAQoaQ29udGV4dENoYW5nZVBpbm5lZENvbnRleHQSOwoMcGlubmVkX3Njb3BlGAEgASgLMiMuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNvbnRleHRTY29wZUgAEj4KD21lbnRpb25lZF9zY29wZRgCIAEoCzIjLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Db250ZXh0U2NvcGVIAEIHCgVzY29wZSJTChxDb250ZXh0Q2hhbmdlUGlubmVkR3VpZGVsaW5lEjMKCWd1aWRlbGluZRgBIAEoCzIgLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5HdWlkZWxpbmUipQEKF0NvbnRleHRDaGFuZ2VBY3RpdmVOb2RlEjsKC2FjdGl2ZV9ub2RlGAEgASgLMiYuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNvZGVDb250ZXh0SXRlbRIxCghkb2N1bWVudBgCIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Eb2N1bWVudBIaChJhY3R1YWxfbm9kZV9jaGFuZ2UYAyABKAgitQMKIFJldHJpZXZlZENvZGVDb250ZXh0SXRlbU1ldGFkYXRhEkEKD2NvbnRleHRfc291cmNlcxgBIAMoDjIoLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Db2RlQ29udGV4dFNvdXJjZRI8Cgxjb250ZXh0X3R5cGUYAiABKA4yJi5leGEuY29kZWl1bV9jb21tb25fcGIuQ29kZUNvbnRleHRUeXBlEg4KBnNjb3JlchgDIAEoCRINCgVzY29yZRgEIAEoAhJoChFwcm92aWRlcl9tZXRhZGF0YRgFIAMoCzJNLmV4YS5jb250ZXh0X21vZHVsZV9wYi5SZXRyaWV2ZWRDb2RlQ29udGV4dEl0ZW1NZXRhZGF0YS5Qcm92aWRlck1ldGFkYXRhRW50cnkSGgoSaXNfaW5fcGlubmVkX3Njb3BlGAYgASgIGmsKFVByb3ZpZGVyTWV0YWRhdGFFbnRyeRILCgNrZXkYASABKAkSQQoFdmFsdWUYAiABKAsyMi5leGEuY29udGV4dF9tb2R1bGVfcGIuQ29kZUNvbnRleHRQcm92aWRlck1ldGFkYXRhOgI4ASK0AQokQ2NpV2l0aFN1YnJhbmdlV2l0aFJldHJpZXZhbE1ldGFkYXRhEkEKEWNjaV93aXRoX3N1YnJhbmdlGAEgASgLMiYuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNjaVdpdGhTdWJyYW5nZRJJCghtZXRhZGF0YRgCIAEoCzI3LmV4YS5jb250ZXh0X21vZHVsZV9wYi5SZXRyaWV2ZWRDb2RlQ29udGV4dEl0ZW1NZXRhZGF0YSK0AQokQ29kZUNvbnRleHRJdGVtV2l0aFJldHJpZXZhbE1ldGFkYXRhEkEKEWNvZGVfY29udGV4dF9pdGVtGAEgASgLMiYuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNvZGVDb250ZXh0SXRlbRJJCghtZXRhZGF0YRgCIAEoCzI3LmV4YS5jb250ZXh0X21vZHVsZV9wYi5SZXRyaWV2ZWRDb2RlQ29udGV4dEl0ZW1NZXRhZGF0YSKAAQodRmlsZU5hbWVXaXRoUmV0cmlldmFsTWV0YWRhdGESFAoMYWJzb2x1dGVfdXJpGAEgASgJEkkKCG1ldGFkYXRhGAIgASgLMjcuZXhhLmNvbnRleHRfbW9kdWxlX3BiLlJldHJpZXZlZENvZGVDb250ZXh0SXRlbU1ldGFkYXRhIjYKG0NvZGVDb250ZXh0UHJvdmlkZXJNZXRhZGF0YRIXCg9yZWxhdGl2ZV93ZWlnaHQYASABKAIi/QEKEkNvbnRleHRNb2R1bGVTdGF0cxJSChpjb250ZXh0X21vZHVsZV9zdGF0ZV9zdGF0cxgBIAEoCzIuLmV4YS5jb250ZXh0X21vZHVsZV9wYi5Db250ZXh0TW9kdWxlU3RhdGVTdGF0cxJXCh1jb2RlX2NvbnRleHRfaXRlbV9pbmRleF9zdGF0cxgCIAEoCzIwLmV4YS5jb250ZXh0X21vZHVsZV9wYi5Db2RlQ29udGV4dEl0ZW1JbmRleFN0YXRzEhwKFGdldF9zdGF0c19sYXRlbmN5X21zGAMgASgDEhwKFGNvbnRleHRfbW9kdWxlX2FnZV9zGAQgASgDInoKF0NvbnRleHRNb2R1bGVTdGF0ZVN0YXRzEhwKFGNjaV9wZXJfc291cmNlX2J5dGVzGAEgASgDEh0KFWFjdGl2ZV9kb2N1bWVudF9ieXRlcxgCIAEoAxIiChpvdGhlcl9vcGVuX2RvY3VtZW50c19ieXRlcxgDIAEoAyL5AQoZQ29kZUNvbnRleHRJdGVtSW5kZXhTdGF0cxIWCg5hbGxfY2Npc19ieXRlcxgBIAEoAxIYChBudW1fY2Npc190cmFja2VkGAIgASgDEiAKGHRlcm1fZnJlcXVlbmN5X21hcF9ieXRlcxgDIAEoAxIZChFudW1fdGVybXNfdHJhY2tlZBgEIAEoAxIdChVmaWxlX3RvX2NjaV9tYXBfYnl0ZXMYBSABKAMSGQoRbnVtX2ZpbGVzX3RyYWNrZWQYBiABKAMSGwoTbGFzdF9tb2RpZmllZF9ieXRlcxgHIAEoAxIWCg5oYXNoX21hcF9ieXRlcxgIIAEoAyKdAQocUGVyc2lzdGVudENvbnRleHRNb2R1bGVTdGF0ZRI6ChBwaW5uZWRfZ3VpZGVsaW5lGAEgASgLMiAuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkd1aWRlbGluZRJBChRwaW5uZWRfY29udGV4dF9zY29wZRgCIAEoCzIjLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Db250ZXh0U2NvcGUiqgMKE0NvbnRleHRNb2R1bGVSZXN1bHQSYQoccmV0cmlldmVkX2NjaV93aXRoX3N1YnJhbmdlcxgBIAMoCzI7LmV4YS5jb250ZXh0X21vZHVsZV9wYi5DY2lXaXRoU3VicmFuZ2VXaXRoUmV0cmlldmFsTWV0YWRhdGESOAoPYWN0aXZlX2RvY3VtZW50GAIgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLkRvY3VtZW50EkcKF2FjdGl2ZV9kb2N1bWVudF9vdXRsaW5lGAUgASgLMiYuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkRvY3VtZW50T3V0bGluZRI/ChBsb2NhbF9ub2RlX3N0YXRlGAMgASgLMiUuZXhhLmNvbnRleHRfbW9kdWxlX3BiLkxvY2FsTm9kZVN0YXRlEjMKCWd1aWRlbGluZRgEIAEoCzIgLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5HdWlkZWxpbmUSNwoOb3Blbl9kb2N1bWVudHMYBiADKAsyHy5leGEuY29kZWl1bV9jb21tb25fcGIuRG9jdW1lbnQi1gEKDkxvY2FsTm9kZVN0YXRlEjwKDGN1cnJlbnRfbm9kZRgBIAEoCzImLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Db2RlQ29udGV4dEl0ZW0SQgoSY2xvc2VzdF9hYm92ZV9ub2RlGAIgASgLMiYuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNvZGVDb250ZXh0SXRlbRJCChJjbG9zZXN0X2JlbG93X25vZGUYAyABKAsyJi5leGEuY29kZWl1bV9jb21tb25fcGIuQ29kZUNvbnRleHRJdGVtKoQDChFDb250ZXh0Q2hhbmdlVHlwZRIjCh9DT05URVhUX0NIQU5HRV9UWVBFX1VOU1BFQ0lGSUVEEAASJwojQ09OVEVYVF9DSEFOR0VfVFlQRV9BQ1RJVkVfRE9DVU1FTlQQARInCiNDT05URVhUX0NIQU5HRV9UWVBFX0NVUlNPUl9QT1NJVElPThACEi0KKUNPTlRFWFRfQ0hBTkdFX1RZUEVfQ0hBVF9NRVNTQUdFX1JFQ0VJVkVEEAMSJgoiQ09OVEVYVF9DSEFOR0VfVFlQRV9PUEVOX0RPQ1VNRU5UUxAEEiQKIENPTlRFWFRfQ0hBTkdFX1RZUEVfT1JBQ0xFX0lURU1TEAUSJgoiQ09OVEVYVF9DSEFOR0VfVFlQRV9QSU5ORURfQ09OVEVYVBAGEigKJENPTlRFWFRfQ0hBTkdFX1RZUEVfUElOTkVEX0dVSURFTElORRAHEiMKH0NPTlRFWFRfQ0hBTkdFX1RZUEVfQUNUSVZFX05PREUQCSIECAgQCCryAgoOQ29udGV4dFVzZUNhc2USIAocQ09OVEVYVF9VU0VfQ0FTRV9VTlNQRUNJRklFRBAAEiEKHUNPTlRFWFRfVVNFX0NBU0VfQVVUT0NPTVBMRVRFEAESGQoVQ09OVEVYVF9VU0VfQ0FTRV9DSEFUEAISJAogQ09OVEVYVF9VU0VfQ0FTRV9DSEFUX0NPTVBMRVRJT04QAxIkCiBDT05URVhUX1VTRV9DQVNFX0NPUlRFWF9SRVNFQVJDSBAEEhkKFUNPTlRFWFRfVVNFX0NBU0VfRVZBTBAFEi0KKUNPTlRFWFRfVVNFX0NBU0VfQ0hBVF9DT01QTEVUSU9OX0dFTkVSQVRFEAYSIgoeQ09OVEVYVF9VU0VfQ0FTRV9TVVBFUkNPTVBMRVRFEAcSHwobQ09OVEVYVF9VU0VfQ0FTRV9GQVNUX0FQUExZEAgSJQohQ09OVEVYVF9VU0VfQ0FTRV9DT01NQU5EX1RFUk1JTkFMEAkqgQIKFENvbnRleHRSZWZyZXNoUmVhc29uEiYKIkNPTlRFWFRfUkVGUkVTSF9SRUFTT05fVU5TUEVDSUZJRUQQABInCiNDT05URVhUX1JFRlJFU0hfUkVBU09OX0FVVE9DT01QTEVURRABEh8KG0NPTlRFWFRfUkVGUkVTSF9SRUFTT05fQ0hBVBACEiUKIUNPTlRFWFRfUkVGUkVTSF9SRUFTT05fSURFX0FDVElPThAEEioKJkNPTlRFWFRfUkVGUkVTSF9SRUFTT05fQ0hBVF9DT01QTEVUSU9OEAUiBAgDEAMqHkNPTlRFWFRfUkVGUkVTSF9SRUFTT05fU1RBUlRVUGIGcHJvdG8z", [file_buf_validate_validate, file_exa_chat_pb_chat, file_exa_codeium_common_pb_codeium_common]); + +/** + * @generated from message exa.context_module_pb.ContextChangeEvent + */ +export type ContextChangeEvent = Message<"exa.context_module_pb.ContextChangeEvent"> & { + /** + * @generated from oneof exa.context_module_pb.ContextChangeEvent.context_change_event + */ + contextChangeEvent: { + /** + * @generated from field: exa.context_module_pb.ContextChangeActiveDocument context_change_active_document = 1; + */ + value: ContextChangeActiveDocument; + case: "contextChangeActiveDocument"; + } | { + /** + * @generated from field: exa.context_module_pb.ContextChangeCursorPosition context_change_cursor_position = 2; + */ + value: ContextChangeCursorPosition; + case: "contextChangeCursorPosition"; + } | { + /** + * @generated from field: exa.context_module_pb.ContextChangeChatMessageReceived context_change_chat_message_received = 3; + */ + value: ContextChangeChatMessageReceived; + case: "contextChangeChatMessageReceived"; + } | { + /** + * @generated from field: exa.context_module_pb.ContextChangeOpenDocuments context_change_open_documents = 4; + */ + value: ContextChangeOpenDocuments; + case: "contextChangeOpenDocuments"; + } | { + /** + * @generated from field: exa.context_module_pb.ContextChangeOracleItems context_change_oracle_items = 5; + */ + value: ContextChangeOracleItems; + case: "contextChangeOracleItems"; + } | { + /** + * @generated from field: exa.context_module_pb.ContextChangePinnedContext context_change_pinned_context = 7; + */ + value: ContextChangePinnedContext; + case: "contextChangePinnedContext"; + } | { + /** + * @generated from field: exa.context_module_pb.ContextChangePinnedGuideline context_change_pinned_guideline = 8; + */ + value: ContextChangePinnedGuideline; + case: "contextChangePinnedGuideline"; + } | { + /** + * @generated from field: exa.context_module_pb.ContextChangeActiveNode context_change_active_node = 10; + */ + value: ContextChangeActiveNode; + case: "contextChangeActiveNode"; + } | { case: undefined; value?: undefined }; + + /** + * @generated from field: exa.context_module_pb.ContextRefreshReason context_refresh_reason = 6; + */ + contextRefreshReason: ContextRefreshReason; +}; + +/** + * Describes the message exa.context_module_pb.ContextChangeEvent. + * Use `create(ContextChangeEventSchema)` to create a new message. + */ +export const ContextChangeEventSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_context_module_pb_context_module, 0); + +/** + * @generated from message exa.context_module_pb.ContextChangeActiveDocument + */ +export type ContextChangeActiveDocument = Message<"exa.context_module_pb.ContextChangeActiveDocument"> & { + /** + * @generated from field: exa.codeium_common_pb.Document document = 1; + */ + document?: Document | undefined; +}; + +/** + * Describes the message exa.context_module_pb.ContextChangeActiveDocument. + * Use `create(ContextChangeActiveDocumentSchema)` to create a new message. + */ +export const ContextChangeActiveDocumentSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_context_module_pb_context_module, 1); + +/** + * @generated from message exa.context_module_pb.ContextChangeCursorPosition + */ +export type ContextChangeCursorPosition = Message<"exa.context_module_pb.ContextChangeCursorPosition"> & { + /** + * @generated from field: exa.codeium_common_pb.Document document = 2; + */ + document?: Document | undefined; +}; + +/** + * Describes the message exa.context_module_pb.ContextChangeCursorPosition. + * Use `create(ContextChangeCursorPositionSchema)` to create a new message. + */ +export const ContextChangeCursorPositionSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_context_module_pb_context_module, 2); + +/** + * @generated from message exa.context_module_pb.ContextChangeChatMessageReceived + */ +export type ContextChangeChatMessageReceived = Message<"exa.context_module_pb.ContextChangeChatMessageReceived"> & { + /** + * @generated from field: repeated exa.chat_pb.ChatMessage chat_messages = 1; + */ + chatMessages: ChatMessage[]; +}; + +/** + * Describes the message exa.context_module_pb.ContextChangeChatMessageReceived. + * Use `create(ContextChangeChatMessageReceivedSchema)` to create a new message. + */ +export const ContextChangeChatMessageReceivedSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_context_module_pb_context_module, 3); + +/** + * @generated from message exa.context_module_pb.ContextChangeOpenDocuments + */ +export type ContextChangeOpenDocuments = Message<"exa.context_module_pb.ContextChangeOpenDocuments"> & { + /** + * @generated from field: repeated exa.codeium_common_pb.Document other_open_documents = 1; + */ + otherOpenDocuments: Document[]; + + /** + * @generated from field: repeated string recently_opened_uris = 2; + */ + recentlyOpenedUris: string[]; +}; + +/** + * Describes the message exa.context_module_pb.ContextChangeOpenDocuments. + * Use `create(ContextChangeOpenDocumentsSchema)` to create a new message. + */ +export const ContextChangeOpenDocumentsSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_context_module_pb_context_module, 4); + +/** + * @generated from message exa.context_module_pb.ContextChangeOracleItems + */ +export type ContextChangeOracleItems = Message<"exa.context_module_pb.ContextChangeOracleItems"> & { + /** + * @generated from field: repeated exa.codeium_common_pb.CodeContextItem oracle_items = 1; + */ + oracleItems: CodeContextItem[]; +}; + +/** + * Describes the message exa.context_module_pb.ContextChangeOracleItems. + * Use `create(ContextChangeOracleItemsSchema)` to create a new message. + */ +export const ContextChangeOracleItemsSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_context_module_pb_context_module, 5); + +/** + * @generated from message exa.context_module_pb.ContextChangePinnedContext + */ +export type ContextChangePinnedContext = Message<"exa.context_module_pb.ContextChangePinnedContext"> & { + /** + * @generated from oneof exa.context_module_pb.ContextChangePinnedContext.scope + */ + scope: { + /** + * @generated from field: exa.codeium_common_pb.ContextScope pinned_scope = 1; + */ + value: ContextScope; + case: "pinnedScope"; + } | { + /** + * @generated from field: exa.codeium_common_pb.ContextScope mentioned_scope = 2; + */ + value: ContextScope; + case: "mentionedScope"; + } | { case: undefined; value?: undefined }; +}; + +/** + * Describes the message exa.context_module_pb.ContextChangePinnedContext. + * Use `create(ContextChangePinnedContextSchema)` to create a new message. + */ +export const ContextChangePinnedContextSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_context_module_pb_context_module, 6); + +/** + * @generated from message exa.context_module_pb.ContextChangePinnedGuideline + */ +export type ContextChangePinnedGuideline = Message<"exa.context_module_pb.ContextChangePinnedGuideline"> & { + /** + * @generated from field: exa.codeium_common_pb.Guideline guideline = 1; + */ + guideline?: Guideline | undefined; +}; + +/** + * Describes the message exa.context_module_pb.ContextChangePinnedGuideline. + * Use `create(ContextChangePinnedGuidelineSchema)` to create a new message. + */ +export const ContextChangePinnedGuidelineSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_context_module_pb_context_module, 7); + +/** + * @generated from message exa.context_module_pb.ContextChangeActiveNode + */ +export type ContextChangeActiveNode = Message<"exa.context_module_pb.ContextChangeActiveNode"> & { + /** + * @generated from field: exa.codeium_common_pb.CodeContextItem active_node = 1; + */ + activeNode?: CodeContextItem | undefined; + + /** + * @generated from field: exa.codeium_common_pb.Document document = 2; + */ + document?: Document | undefined; + + /** + * @generated from field: bool actual_node_change = 3; + */ + actualNodeChange: boolean; +}; + +/** + * Describes the message exa.context_module_pb.ContextChangeActiveNode. + * Use `create(ContextChangeActiveNodeSchema)` to create a new message. + */ +export const ContextChangeActiveNodeSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_context_module_pb_context_module, 8); + +/** + * @generated from message exa.context_module_pb.RetrievedCodeContextItemMetadata + */ +export type RetrievedCodeContextItemMetadata = Message<"exa.context_module_pb.RetrievedCodeContextItemMetadata"> & { + /** + * @generated from field: repeated exa.codeium_common_pb.CodeContextSource context_sources = 1; + */ + contextSources: CodeContextSource[]; + + /** + * @generated from field: exa.codeium_common_pb.CodeContextType context_type = 2; + */ + contextType: CodeContextType; + + /** + * @generated from field: string scorer = 3; + */ + scorer: string; + + /** + * @generated from field: float score = 4; + */ + score: number; + + /** + * @generated from field: map provider_metadata = 5; + */ + providerMetadata: { [key: string]: CodeContextProviderMetadata }; + + /** + * @generated from field: bool is_in_pinned_scope = 6; + */ + isInPinnedScope: boolean; +}; + +/** + * Describes the message exa.context_module_pb.RetrievedCodeContextItemMetadata. + * Use `create(RetrievedCodeContextItemMetadataSchema)` to create a new message. + */ +export const RetrievedCodeContextItemMetadataSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_context_module_pb_context_module, 9); + +/** + * @generated from message exa.context_module_pb.CciWithSubrangeWithRetrievalMetadata + */ +export type CciWithSubrangeWithRetrievalMetadata = Message<"exa.context_module_pb.CciWithSubrangeWithRetrievalMetadata"> & { + /** + * @generated from field: exa.codeium_common_pb.CciWithSubrange cci_with_subrange = 1; + */ + cciWithSubrange?: CciWithSubrange | undefined; + + /** + * @generated from field: exa.context_module_pb.RetrievedCodeContextItemMetadata metadata = 2; + */ + metadata?: RetrievedCodeContextItemMetadata | undefined; +}; + +/** + * Describes the message exa.context_module_pb.CciWithSubrangeWithRetrievalMetadata. + * Use `create(CciWithSubrangeWithRetrievalMetadataSchema)` to create a new message. + */ +export const CciWithSubrangeWithRetrievalMetadataSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_context_module_pb_context_module, 10); + +/** + * @generated from message exa.context_module_pb.CodeContextItemWithRetrievalMetadata + */ +export type CodeContextItemWithRetrievalMetadata = Message<"exa.context_module_pb.CodeContextItemWithRetrievalMetadata"> & { + /** + * @generated from field: exa.codeium_common_pb.CodeContextItem code_context_item = 1; + */ + codeContextItem?: CodeContextItem | undefined; + + /** + * @generated from field: exa.context_module_pb.RetrievedCodeContextItemMetadata metadata = 2; + */ + metadata?: RetrievedCodeContextItemMetadata | undefined; +}; + +/** + * Describes the message exa.context_module_pb.CodeContextItemWithRetrievalMetadata. + * Use `create(CodeContextItemWithRetrievalMetadataSchema)` to create a new message. + */ +export const CodeContextItemWithRetrievalMetadataSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_context_module_pb_context_module, 11); + +/** + * @generated from message exa.context_module_pb.FileNameWithRetrievalMetadata + */ +export type FileNameWithRetrievalMetadata = Message<"exa.context_module_pb.FileNameWithRetrievalMetadata"> & { + /** + * @generated from field: string absolute_uri = 1; + */ + absoluteUri: string; + + /** + * @generated from field: exa.context_module_pb.RetrievedCodeContextItemMetadata metadata = 2; + */ + metadata?: RetrievedCodeContextItemMetadata | undefined; +}; + +/** + * Describes the message exa.context_module_pb.FileNameWithRetrievalMetadata. + * Use `create(FileNameWithRetrievalMetadataSchema)` to create a new message. + */ +export const FileNameWithRetrievalMetadataSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_context_module_pb_context_module, 12); + +/** + * @generated from message exa.context_module_pb.CodeContextProviderMetadata + */ +export type CodeContextProviderMetadata = Message<"exa.context_module_pb.CodeContextProviderMetadata"> & { + /** + * @generated from field: float relative_weight = 1; + */ + relativeWeight: number; +}; + +/** + * Describes the message exa.context_module_pb.CodeContextProviderMetadata. + * Use `create(CodeContextProviderMetadataSchema)` to create a new message. + */ +export const CodeContextProviderMetadataSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_context_module_pb_context_module, 13); + +/** + * @generated from message exa.context_module_pb.ContextModuleStats + */ +export type ContextModuleStats = Message<"exa.context_module_pb.ContextModuleStats"> & { + /** + * @generated from field: exa.context_module_pb.ContextModuleStateStats context_module_state_stats = 1; + */ + contextModuleStateStats?: ContextModuleStateStats | undefined; + + /** + * @generated from field: exa.context_module_pb.CodeContextItemIndexStats code_context_item_index_stats = 2; + */ + codeContextItemIndexStats?: CodeContextItemIndexStats | undefined; + + /** + * @generated from field: int64 get_stats_latency_ms = 3; + */ + getStatsLatencyMs: bigint; + + /** + * @generated from field: int64 context_module_age_s = 4; + */ + contextModuleAgeS: bigint; +}; + +/** + * Describes the message exa.context_module_pb.ContextModuleStats. + * Use `create(ContextModuleStatsSchema)` to create a new message. + */ +export const ContextModuleStatsSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_context_module_pb_context_module, 14); + +/** + * @generated from message exa.context_module_pb.ContextModuleStateStats + */ +export type ContextModuleStateStats = Message<"exa.context_module_pb.ContextModuleStateStats"> & { + /** + * @generated from field: int64 cci_per_source_bytes = 1; + */ + cciPerSourceBytes: bigint; + + /** + * @generated from field: int64 active_document_bytes = 2; + */ + activeDocumentBytes: bigint; + + /** + * @generated from field: int64 other_open_documents_bytes = 3; + */ + otherOpenDocumentsBytes: bigint; +}; + +/** + * Describes the message exa.context_module_pb.ContextModuleStateStats. + * Use `create(ContextModuleStateStatsSchema)` to create a new message. + */ +export const ContextModuleStateStatsSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_context_module_pb_context_module, 15); + +/** + * @generated from message exa.context_module_pb.CodeContextItemIndexStats + */ +export type CodeContextItemIndexStats = Message<"exa.context_module_pb.CodeContextItemIndexStats"> & { + /** + * @generated from field: int64 all_ccis_bytes = 1; + */ + allCcisBytes: bigint; + + /** + * @generated from field: int64 num_ccis_tracked = 2; + */ + numCcisTracked: bigint; + + /** + * @generated from field: int64 term_frequency_map_bytes = 3; + */ + termFrequencyMapBytes: bigint; + + /** + * @generated from field: int64 num_terms_tracked = 4; + */ + numTermsTracked: bigint; + + /** + * @generated from field: int64 file_to_cci_map_bytes = 5; + */ + fileToCciMapBytes: bigint; + + /** + * @generated from field: int64 num_files_tracked = 6; + */ + numFilesTracked: bigint; + + /** + * @generated from field: int64 last_modified_bytes = 7; + */ + lastModifiedBytes: bigint; + + /** + * @generated from field: int64 hash_map_bytes = 8; + */ + hashMapBytes: bigint; +}; + +/** + * Describes the message exa.context_module_pb.CodeContextItemIndexStats. + * Use `create(CodeContextItemIndexStatsSchema)` to create a new message. + */ +export const CodeContextItemIndexStatsSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_context_module_pb_context_module, 16); + +/** + * @generated from message exa.context_module_pb.PersistentContextModuleState + */ +export type PersistentContextModuleState = Message<"exa.context_module_pb.PersistentContextModuleState"> & { + /** + * @generated from field: exa.codeium_common_pb.Guideline pinned_guideline = 1; + */ + pinnedGuideline?: Guideline | undefined; + + /** + * @generated from field: exa.codeium_common_pb.ContextScope pinned_context_scope = 2; + */ + pinnedContextScope?: ContextScope | undefined; +}; + +/** + * Describes the message exa.context_module_pb.PersistentContextModuleState. + * Use `create(PersistentContextModuleStateSchema)` to create a new message. + */ +export const PersistentContextModuleStateSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_context_module_pb_context_module, 17); + +/** + * @generated from message exa.context_module_pb.ContextModuleResult + */ +export type ContextModuleResult = Message<"exa.context_module_pb.ContextModuleResult"> & { + /** + * @generated from field: repeated exa.context_module_pb.CciWithSubrangeWithRetrievalMetadata retrieved_cci_with_subranges = 1; + */ + retrievedCciWithSubranges: CciWithSubrangeWithRetrievalMetadata[]; + + /** + * @generated from field: exa.codeium_common_pb.Document active_document = 2; + */ + activeDocument?: Document | undefined; + + /** + * @generated from field: exa.codeium_common_pb.DocumentOutline active_document_outline = 5; + */ + activeDocumentOutline?: DocumentOutline | undefined; + + /** + * @generated from field: exa.context_module_pb.LocalNodeState local_node_state = 3; + */ + localNodeState?: LocalNodeState | undefined; + + /** + * @generated from field: exa.codeium_common_pb.Guideline guideline = 4; + */ + guideline?: Guideline | undefined; + + /** + * @generated from field: repeated exa.codeium_common_pb.Document open_documents = 6; + */ + openDocuments: Document[]; +}; + +/** + * Describes the message exa.context_module_pb.ContextModuleResult. + * Use `create(ContextModuleResultSchema)` to create a new message. + */ +export const ContextModuleResultSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_context_module_pb_context_module, 18); + +/** + * @generated from message exa.context_module_pb.LocalNodeState + */ +export type LocalNodeState = Message<"exa.context_module_pb.LocalNodeState"> & { + /** + * @generated from field: exa.codeium_common_pb.CodeContextItem current_node = 1; + */ + currentNode?: CodeContextItem | undefined; + + /** + * @generated from field: exa.codeium_common_pb.CodeContextItem closest_above_node = 2; + */ + closestAboveNode?: CodeContextItem | undefined; + + /** + * @generated from field: exa.codeium_common_pb.CodeContextItem closest_below_node = 3; + */ + closestBelowNode?: CodeContextItem | undefined; +}; + +/** + * Describes the message exa.context_module_pb.LocalNodeState. + * Use `create(LocalNodeStateSchema)` to create a new message. + */ +export const LocalNodeStateSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_context_module_pb_context_module, 19); + +/** + * @generated from enum exa.context_module_pb.ContextChangeType + */ +export enum ContextChangeType { + /** + * @generated from enum value: CONTEXT_CHANGE_TYPE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: CONTEXT_CHANGE_TYPE_ACTIVE_DOCUMENT = 1; + */ + ACTIVE_DOCUMENT = 1, + + /** + * @generated from enum value: CONTEXT_CHANGE_TYPE_CURSOR_POSITION = 2; + */ + CURSOR_POSITION = 2, + + /** + * @generated from enum value: CONTEXT_CHANGE_TYPE_CHAT_MESSAGE_RECEIVED = 3; + */ + CHAT_MESSAGE_RECEIVED = 3, + + /** + * @generated from enum value: CONTEXT_CHANGE_TYPE_OPEN_DOCUMENTS = 4; + */ + OPEN_DOCUMENTS = 4, + + /** + * @generated from enum value: CONTEXT_CHANGE_TYPE_ORACLE_ITEMS = 5; + */ + ORACLE_ITEMS = 5, + + /** + * @generated from enum value: CONTEXT_CHANGE_TYPE_PINNED_CONTEXT = 6; + */ + PINNED_CONTEXT = 6, + + /** + * @generated from enum value: CONTEXT_CHANGE_TYPE_PINNED_GUIDELINE = 7; + */ + PINNED_GUIDELINE = 7, + + /** + * @generated from enum value: CONTEXT_CHANGE_TYPE_ACTIVE_NODE = 9; + */ + ACTIVE_NODE = 9, +} + +/** + * Describes the enum exa.context_module_pb.ContextChangeType. + */ +export const ContextChangeTypeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_context_module_pb_context_module, 0); + +/** + * @generated from enum exa.context_module_pb.ContextUseCase + */ +export enum ContextUseCase { + /** + * @generated from enum value: CONTEXT_USE_CASE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: CONTEXT_USE_CASE_AUTOCOMPLETE = 1; + */ + AUTOCOMPLETE = 1, + + /** + * @generated from enum value: CONTEXT_USE_CASE_CHAT = 2; + */ + CHAT = 2, + + /** + * @generated from enum value: CONTEXT_USE_CASE_CHAT_COMPLETION = 3; + */ + CHAT_COMPLETION = 3, + + /** + * @generated from enum value: CONTEXT_USE_CASE_CORTEX_RESEARCH = 4; + */ + CORTEX_RESEARCH = 4, + + /** + * @generated from enum value: CONTEXT_USE_CASE_EVAL = 5; + */ + EVAL = 5, + + /** + * @generated from enum value: CONTEXT_USE_CASE_CHAT_COMPLETION_GENERATE = 6; + */ + CHAT_COMPLETION_GENERATE = 6, + + /** + * @generated from enum value: CONTEXT_USE_CASE_SUPERCOMPLETE = 7; + */ + SUPERCOMPLETE = 7, + + /** + * @generated from enum value: CONTEXT_USE_CASE_FAST_APPLY = 8; + */ + FAST_APPLY = 8, + + /** + * @generated from enum value: CONTEXT_USE_CASE_COMMAND_TERMINAL = 9; + */ + COMMAND_TERMINAL = 9, +} + +/** + * Describes the enum exa.context_module_pb.ContextUseCase. + */ +export const ContextUseCaseSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_context_module_pb_context_module, 1); + +/** + * @generated from enum exa.context_module_pb.ContextRefreshReason + */ +export enum ContextRefreshReason { + /** + * @generated from enum value: CONTEXT_REFRESH_REASON_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: CONTEXT_REFRESH_REASON_AUTOCOMPLETE = 1; + */ + AUTOCOMPLETE = 1, + + /** + * @generated from enum value: CONTEXT_REFRESH_REASON_CHAT = 2; + */ + CHAT = 2, + + /** + * @generated from enum value: CONTEXT_REFRESH_REASON_IDE_ACTION = 4; + */ + IDE_ACTION = 4, + + /** + * @generated from enum value: CONTEXT_REFRESH_REASON_CHAT_COMPLETION = 5; + */ + CHAT_COMPLETION = 5, +} + +/** + * Describes the enum exa.context_module_pb.ContextRefreshReason. + */ +export const ContextRefreshReasonSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_context_module_pb_context_module, 2); + diff --git a/packages/catalog/src/discovery/devin-gen/exa/cortex_pb/cortex_pb.ts b/packages/catalog/src/discovery/devin-gen/exa/cortex_pb/cortex_pb.ts new file mode 100644 index 000000000..91650b9a1 --- /dev/null +++ b/packages/catalog/src/discovery/devin-gen/exa/cortex_pb/cortex_pb.ts @@ -0,0 +1,14277 @@ +// @generated by protoc-gen-es v2.12.0 with parameter "target=ts" +// @generated from file exa/cortex_pb/cortex.proto (package exa.cortex_pb, syntax proto3) +/* eslint-disable */ + +import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2"; +import { enumDesc, fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2"; +import { file_buf_validate_validate } from "../../buf/validate/validate_pb"; +import type { ChatMessagePrompt, ChatToolChoice, ChatToolDefinition, PromptCacheOptions } from "../chat_pb/chat_pb"; +import { file_exa_chat_pb_chat } from "../chat_pb/chat_pb"; +import type { CodeChangeWithContext } from "../code_edit/code_edit_pb/code_edit_pb"; +import { file_exa_code_edit_code_edit_pb_code_edit } from "../code_edit/code_edit_pb/code_edit_pb"; +import type { CascadeCommandsAutoExecution, CascadeWebRequestsAutoExecution, CciWithSubrange, ChatNodeConfig, ChatToolCall, CodeAnnotation, CodebaseCluster, CodeContextItem, CodeDiagnostic, ContextScopeItem, ConversationalPlannerMode, DeploymentBuildStatus, DeployTarget, Document, DocumentOutline, DocumentPosition, ExperimentConfig, FileRangeContent, GraphExecutionState, ImageData, KnowledgeBaseGroup, KnowledgeBaseItem, KnowledgeBaseItemWithMetadata, LspReference, Metadata, Model, ModelOrAlias, ModelUsageStats, MQueryConfig, PathScopeItem, PlanStatus as PlanStatus$1, ProviderSource, Repository, ResponseDimensionGroup, TextData, TextOrScopeItem, ThirdPartyWebSearchConfig, UserSettings, WebAppDeploymentConfig, WindsurfDeployment, WorkspaceStats } from "../codeium_common_pb/codeium_common_pb"; +import { file_exa_codeium_common_pb_codeium_common } from "../codeium_common_pb/codeium_common_pb"; +import type { CciWithSubrangeWithRetrievalMetadata, ContextModuleResult } from "../context_module_pb/context_module_pb"; +import { file_exa_context_module_pb_context_module } from "../context_module_pb/context_module_pb"; +import type { DiffBlock, DiffList, UnifiedDiff } from "../diff_action_pb/diff_action_pb"; +import { file_exa_diff_action_pb_diff_action } from "../diff_action_pb/diff_action_pb"; +import type { ConnectorType, TimeRange } from "../opensearch_clients_pb/opensearch_clients_pb"; +import { file_exa_opensearch_clients_pb_opensearch_clients } from "../opensearch_clients_pb/opensearch_clients_pb"; +import type { Duration, Empty, Timestamp } from "@bufbuild/protobuf/wkt"; +import { file_google_protobuf_duration, file_google_protobuf_empty, file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt"; +import type { Message } from "@bufbuild/protobuf"; + +/** + * Describes the file exa/cortex_pb/cortex.proto. + */ +export const file_exa_cortex_pb_cortex: GenFile = /*@__PURE__*/ + fileDesc("ChpleGEvY29ydGV4X3BiL2NvcnRleC5wcm90bxINZXhhLmNvcnRleF9wYiLIAgoMV29ya2Zsb3dTcGVjEgwKBHBhdGgYASABKAkSDAoEbmFtZRgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRIPCgdjb250ZW50GAQgASgJEksKDmV4ZWN1dGlvbl9tb2RlGAkgASgOMjMuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNhc2NhZGVDb21tYW5kc0F1dG9FeGVjdXRpb24SEgoKaXNfYnVpbHRpbhgGIAEoCBIvCgVzY29wZRgHIAEoCzIgLmV4YS5jb3J0ZXhfcGIuQ29ydGV4TWVtb3J5U2NvcGUSEAoIYmFzZV9kaXIYCCABKAkSFQoNaXNfb3ZlcnJpZGRlbhgKIAEoCBIYCgtwYXJzZV9lcnJvchgLIAEoCUgAiAEBEgsKA3VyaRgMIAEoCUIOCgxfcGFyc2VfZXJyb3JKBAgFEAYidgoaQ29ydGV4UGxhblN1bW1hcnlDb21wb25lbnQSDgoEdGV4dBgBIAEoCUgAEjsKCGNpdGF0aW9uGAIgASgLMicuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNvbnRleHRTY29wZUl0ZW1IAEILCgljb21wb25lbnQi9QMKD0NvZGluZ1N0ZXBTdGF0ZRIPCgdwbGFuX2lkGAEgASgJEgwKBGdvYWwYAiABKAkSMQoNYWN0aW9uX3N0YXRlcxgDIAMoCzIaLmV4YS5jb3J0ZXhfcGIuQWN0aW9uU3RhdGUSMgoIb3V0bGluZXMYByADKAsyIC5leGEuY29ydGV4X3BiLkNvcnRleFN0ZXBPdXRsaW5lEkUKEnN1bW1hcnlfY29tcG9uZW50cxgIIAMoCzIpLmV4YS5jb3J0ZXhfcGIuQ29ydGV4UGxhblN1bW1hcnlDb21wb25lbnQSGQoRcG9zdF9zdW1tYXJ5X3RleHQYCSABKAkSHAoUcGxhbl9mdWxseV9nZW5lcmF0ZWQYBCABKAgSFQoNcGxhbl9maW5pc2hlZBgFIAEoCBIwCgpkZWJ1Z19pbmZvGAYgASgLMhwuZXhhLmNvcnRleF9wYi5QbGFuRGVidWdJbmZvEh4KFnBsYW5fc3VtbWFyeV9jb25maXJtZWQYCiABKAgSJAoccGxhbl9zdW1tYXJ5X2Z1bGx5X2dlbmVyYXRlZBgLIAEoCBJNCghjY2lfbGlzdBgMIAMoCzI7LmV4YS5jb250ZXh0X21vZHVsZV9wYi5DY2lXaXRoU3VicmFuZ2VXaXRoUmV0cmlldmFsTWV0YWRhdGEiwgEKD0NvcnRleFBsYW5TdGF0ZRItCgVzdGVwcxgBIAMoCzIeLmV4YS5jb3J0ZXhfcGIuQ29ydGV4U3RlcFN0YXRlEjIKCG91dGxpbmVzGAIgAygLMiAuZXhhLmNvcnRleF9wYi5Db3J0ZXhTdGVwT3V0bGluZRIaChJjdXJyZW50X3N0ZXBfaW5kZXgYAyABKA0SMAoKZGVidWdfaW5mbxgEIAEoCzIcLmV4YS5jb3J0ZXhfcGIuUGxhbkRlYnVnSW5mbyJtChFDb3J0ZXhTdGVwT3V0bGluZRITCgtzdGVwX251bWJlchgBIAEoDRITCgthY3Rpb25fbmFtZRgCIAEoCRIRCglqc29uX2FyZ3MYAyABKAkSGwoTcGFyZW50X3N0ZXBfbnVtYmVycxgEIAMoDSJLCg9Db3J0ZXhTdGVwU3RhdGUSMAoGY29kaW5nGAEgASgLMh4uZXhhLmNvcnRleF9wYi5Db2RpbmdTdGVwU3RhdGVIAEIGCgRzdGVwIu4BChNDb3J0ZXhSZXNlYXJjaFN0YXRlEh0KFXRvdGFsX3JldHJpZXZlZF9jb3VudBgBIAEoDRJDChN0b3BfcmV0cmlldmVkX2l0ZW1zGAIgAygLMiYuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNjaVdpdGhTdWJyYW5nZRI0CgpkZWJ1Z19pbmZvGAMgASgLMiAuZXhhLmNvcnRleF9wYi5SZXNlYXJjaERlYnVnSW5mbxI9Cg1mdWxsX2NjaV9saXN0GAQgAygLMiYuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNjaVdpdGhTdWJyYW5nZSI5ChFSZXNlYXJjaERlYnVnSW5mbxINCgVxdWVyeRgBIAEoCRIVCg1maWxlc19zY2FubmVkGAIgAygJIowCChNDb3J0ZXhXb3JrZmxvd1N0YXRlEjoKDnJlcXVlc3Rfc291cmNlGAYgASgOMiIuZXhhLmNvcnRleF9wYi5Db3J0ZXhSZXF1ZXN0U291cmNlEgwKBGdvYWwYASABKAkSLAoKcGxhbl9pbnB1dBgCIAEoCzIYLmV4YS5jb3J0ZXhfcGIuUGxhbklucHV0EjoKDnJlc2VhcmNoX3N0YXRlGAMgASgLMiIuZXhhLmNvcnRleF9wYi5Db3J0ZXhSZXNlYXJjaFN0YXRlEjIKCnBsYW5fc3RhdGUYBCABKAsyHi5leGEuY29ydGV4X3BiLkNvcnRleFBsYW5TdGF0ZRINCgVlcnJvchgFIAEoCSLfAQoOQ29ydGV4UnVuU3RhdGUSOgoOd29ya2Zsb3dfc3RhdGUYASABKAsyIi5leGEuY29ydGV4X3BiLkNvcnRleFdvcmtmbG93U3RhdGUSQwoPZXhlY3V0aW9uX3N0YXRlGAIgASgLMiouZXhhLmNvZGVpdW1fY29tbW9uX3BiLkdyYXBoRXhlY3V0aW9uU3RhdGUSDAoEZG9uZRgDIAEoCEoECAQQBUoECAUQBlIXY2xhdWRlX2NvZGVfcGVybWlzc2lvbnNSGWNsYXVkZV9jb2RlX3Jlc3RhcnRfc3RhdGUinQEKCVBsYW5JbnB1dBIMCgRnb2FsGAEgASgJEhIKCm5leHRfc3RlcHMYBSADKAkSGgoSdGFyZ2V0X2RpcmVjdG9yaWVzGAIgAygJEhQKDHRhcmdldF9maWxlcxgDIAMoCRI8CgtzY29wZV9pdGVtcxgEIAMoCzInLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Db250ZXh0U2NvcGVJdGVtIt4BCgpBY3Rpb25TcGVjEjMKB2NvbW1hbmQYASABKAsyIC5leGEuY29ydGV4X3BiLkFjdGlvblNwZWNDb21tYW5kSAASOgoLY3JlYXRlX2ZpbGUYAiABKAsyIy5leGEuY29ydGV4X3BiLkFjdGlvblNwZWNDcmVhdGVGaWxlSAASOgoLZGVsZXRlX2ZpbGUYBCABKAsyIy5leGEuY29ydGV4X3BiLkFjdGlvblNwZWNEZWxldGVGaWxlSAASGwoTcGFyZW50X3N0ZXBfaW5kaWNlcxgDIAMoDUIGCgRzcGVjIp8BChRBY3Rpb25TcGVjQ3JlYXRlRmlsZRITCgtpbnN0cnVjdGlvbhgBIAEoCRIyCgRwYXRoGAIgASgLMiQuZXhhLmNvZGVpdW1fY29tbW9uX3BiLlBhdGhTY29wZUl0ZW0SPgoOcmVmZXJlbmNlX2NjaXMYAyADKAsyJi5leGEuY29kZWl1bV9jb21tb25fcGIuQ29kZUNvbnRleHRJdGVtIkoKFEFjdGlvblNwZWNEZWxldGVGaWxlEjIKBHBhdGgYASABKAsyJC5leGEuY29kZWl1bV9jb21tb25fcGIuUGF0aFNjb3BlSXRlbSJNCg9MaW5lUmFuZ2VUYXJnZXQSFAoMYWJzb2x1dGVfdXJpGAEgASgJEhIKCnN0YXJ0X2xpbmUYAiABKA0SEAoIZW5kX2xpbmUYAyABKA0iPQoUQ29tbWFuZENvbnRlbnRUYXJnZXQSDwoHY29udGVudBgBIAEoCRIUCgxhYnNvbHV0ZV91cmkYAiABKAki3AEKEFJlcGxhY2VtZW50Q2h1bmsSFgoOdGFyZ2V0X2NvbnRlbnQYASABKAkSGwoTcmVwbGFjZW1lbnRfY29udGVudBgCIAEoCRIWCg5hbGxvd19tdWx0aXBsZRgDIAEoCBIiChp0YXJnZXRfaGFzX2NhcnJpYWdlX3JldHVybhgEIAEoCBIVCg1jb250ZXh0X2xpbmVzGAUgAygJEkAKFGFja25vd2xlZGdlbWVudF90eXBlGAsgASgOMiIuZXhhLmNvcnRleF9wYi5BY2tub3dsZWRnZW1lbnRUeXBlIpQEChFBY3Rpb25TcGVjQ29tbWFuZBITCgtpbnN0cnVjdGlvbhgBIAEoCRI7ChJyZXBsYWNlbWVudF9jaHVua3MYCSADKAsyHy5leGEuY29ydGV4X3BiLlJlcGxhY2VtZW50Q2h1bmsSDwoHaXNfZWRpdBgCIAEoCBIWCg51c2VfZmFzdF9hcHBseRgIIAEoCBI+Cgxjb2RlX2NvbnRleHQYAyABKAsyJi5leGEuY29kZWl1bV9jb21tb25fcGIuQ29kZUNvbnRleHRJdGVtSAASNAoEZmlsZRgEIAEoCzIkLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5QYXRoU2NvcGVJdGVtSAASQwoRY2NpX3dpdGhfc3VicmFuZ2UYBiABKAsyJi5leGEuY29kZWl1bV9jb21tb25fcGIuQ2NpV2l0aFN1YnJhbmdlSAASNAoKbGluZV9yYW5nZRgHIAEoCzIeLmV4YS5jb3J0ZXhfcGIuTGluZVJhbmdlVGFyZ2V0SAASPQoOY29udGVudF90YXJnZXQYCiABKAsyIy5leGEuY29ydGV4X3BiLkNvbW1hbmRDb250ZW50VGFyZ2V0SAASPgoOcmVmZXJlbmNlX2NjaXMYBSADKAsyJi5leGEuY29kZWl1bV9jb21tb25fcGIuQ29kZUNvbnRleHRJdGVtQggKBnRhcmdldEoECAsQDEoECAwQDSLcAQoLQWN0aW9uU3RhdGUSDwoHc3RlcF9pZBgFIAEoCRIrCgZzdGF0dXMYASABKA4yGy5leGEuY29ydGV4X3BiLkFjdGlvblN0YXR1cxInCgRzcGVjGAIgASgLMhkuZXhhLmNvcnRleF9wYi5BY3Rpb25TcGVjEisKBnJlc3VsdBgDIAEoCzIbLmV4YS5jb3J0ZXhfcGIuQWN0aW9uUmVzdWx0Eg0KBWVycm9yGAQgASgJEhQKDHN0ZXBfdmVyc2lvbhgGIAEoDRIUCgxwbGFuX3ZlcnNpb24YByABKA0iaAoMQWN0aW9uUmVzdWx0Ei8KBGVkaXQYASABKAsyHy5leGEuY29ydGV4X3BiLkFjdGlvblJlc3VsdEVkaXRIABIdChVhcHBseV9leGlzdGluZ19yZXN1bHQYAiABKAhCCAoGcmVzdWx0In8KD0FjdGlvbkRlYnVnSW5mbxI+CgdlbnRyaWVzGAEgAygLMi0uZXhhLmNvcnRleF9wYi5BY3Rpb25EZWJ1Z0luZm8uRGVidWdJbmZvRW50cnkaLAoORGVidWdJbmZvRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJIswDChBBY3Rpb25SZXN1bHRFZGl0EisKH2Fic29sdXRlX3BhdGhfbWlncmF0ZV9tZV90b191cmkYASABKAlCAhgBEisKBGRpZmYYAiABKAsyHS5leGEuZGlmZl9hY3Rpb25fcGIuRGlmZkJsb2NrEhYKDmNvbnRleHRfcHJlZml4GAMgASgJEhYKDmNvbnRleHRfc3VmZml4GAQgASgJEjIKCmRlYnVnX2luZm8YBSABKAsyHi5leGEuY29ydGV4X3BiLkFjdGlvbkRlYnVnSW5mbxIRCglwcm9tcHRfaWQYDCABKAkSFQoNY29tcGxldGlvbl9pZBgGIAEoCRIZChFmaWxlX2NvbnRlbnRfaGFzaBgHIAEoCRIUCgxhYnNvbHV0ZV91cmkYCCABKAkSOwoLcmVzdWx0X2NjaXMYCSADKAsyJi5leGEuY29kZWl1bV9jb21tb25fcGIuQ29kZUNvbnRleHRJdGVtEhgKEG9yaWdpbmFsX2NvbnRlbnQYCiABKAkSEwoLY3JlYXRlX2ZpbGUYCyABKAgSEwoLbmV3X2NvbnRlbnQYDiABKAlKBAgNEA5SGHJlcGxhY2VtZW50X2NodW5rX2Vycm9ycyJ1Cg9SZXRyaWV2YWxTdGF0dXMSHQoVdG90YWxfcmV0cmlldmVkX2NvdW50GAEgASgNEkMKE3RvcF9yZXRyaWV2ZWRfaXRlbXMYAiADKAsyJi5leGEuY29kZWl1bV9jb21tb25fcGIuQ2NpV2l0aFN1YnJhbmdlIp0CCglQbGFuU3RhdGUSKQoGc3RhdHVzGAQgASgOMhkuZXhhLmNvcnRleF9wYi5QbGFuU3RhdHVzEg8KB3BsYW5faWQYASABKAkSLAoKcGxhbl9pbnB1dBgCIAEoCzIYLmV4YS5jb3J0ZXhfcGIuUGxhbklucHV0EisKB2FjdGlvbnMYAyADKAsyGi5leGEuY29ydGV4X3BiLkFjdGlvblN0YXRlEjgKEHJldHJpZXZhbF9zdGF0dXMYBiABKAsyHi5leGEuY29ydGV4X3BiLlJldHJpZXZhbFN0YXR1cxINCgVlcnJvchgFIAEoCRIwCgpkZWJ1Z19pbmZvGAcgASgLMhwuZXhhLmNvcnRleF9wYi5QbGFuRGVidWdJbmZvIp0BCg1QbGFuRGVidWdJbmZvEhQKDHJhd19yZXNwb25zZRgBIAEoCRITCgtwbGFuX3Rva2VucxgCIAEoDRIRCglwbGFuX2Nvc3QYAyABKAISFQoNc3lzdGVtX3Byb21wdBgEIAEoCRI3Cg9tZXNzYWdlX3Byb21wdHMYBSADKAsyHi5leGEuY2hhdF9wYi5DaGF0TWVzc2FnZVByb21wdCKTAQoQQ29ydGV4UGxhbkNvbmZpZxI7Cgxtb2RlbF9jb25maWcYASABKAsyJS5leGEuY29kZWl1bV9jb21tb25fcGIuQ2hhdE5vZGVDb25maWcSIQoZbWF4X25vbWluYWxfY29udGludWF0aW9ucxgCIAEoDRIfChdtYXhfZXJyb3JfY29udGludWF0aW9ucxgDIAEoDSLdAwoMQ29ydGV4Q29uZmlnEhgKEHJlY29yZF90ZWxlbWV0cnkYCyABKAgSHAoQYWRkX2Rpc3RpbGxfbm9kZRgGIAEoCEICGAESPQoOZGlzdGlsbF9jb25maWcYCiABKAsyJS5leGEuY29kZWl1bV9jb21tb25fcGIuQ2hhdE5vZGVDb25maWcSOwoObV9xdWVyeV9jb25maWcYCCABKAsyIy5leGEuY29kZWl1bV9jb21tb25fcGIuTVF1ZXJ5Q29uZmlnEhoKEm1fcXVlcnlfbW9kZWxfbmFtZRgMIAEoCRIdChF1c2VfbWFjcm9fcGxhbm5lchgBIAEoCEICGAESOgoRbWFjcm9fcGxhbl9jb25maWcYBCABKAsyHy5leGEuY29ydGV4X3BiLkNvcnRleFBsYW5Db25maWcSLgoLcGxhbl9jb25maWcYCSABKAsyGS5leGEuY29ydGV4X3BiLlBsYW5Db25maWcSOQoQY29kZV9wbGFuX2NvbmZpZxgFIAEoCzIfLmV4YS5jb3J0ZXhfcGIuQ29ydGV4UGxhbkNvbmZpZxIaChJhdXRvX3ByZXBhcmVfYXBwbHkYAiABKAgSGwoTbnVtX3ByZXBhcmVfcmV0cmllcxgDIAEoDSLQAgoKUGxhbkNvbmZpZxIXCg9wbGFuX21vZGVsX25hbWUYASABKAkSGwoTbWF4X3Rva2Vuc19wZXJfcGxhbhgCIAEoDRIaChJtYXhfdG9rZW5fZnJhY3Rpb24YAyABKAISGAoQY2hhdF90ZW1wZXJhdHVyZRgEIAEoAhIiChpjaGF0X2NvbXBsZXRpb25fbWF4X3Rva2VucxgFIAEoBBIXCg9hdWdtZW50X2NvbW1hbmQYCSABKAgSQgoRZXhwZXJpbWVudF9jb25maWcYByABKAsyJy5leGEuY29kZWl1bV9jb21tb25fcGIuRXhwZXJpbWVudENvbmZpZxI7Cg5tX3F1ZXJ5X2NvbmZpZxgIIAEoCzIjLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NUXVlcnlDb25maWdKBAgGEAdSEm5vX2F1Z21lbnRfY29tbWFuZCKSAQoRQ29ydGV4UGxhblN1bW1hcnkSEQoJY29ydGV4X2lkGAEgASgJEiwKCnBsYW5faW5wdXQYAiABKAsyGC5leGEuY29ydGV4X3BiLlBsYW5JbnB1dBIuCgpjcmVhdGVkX2F0GAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIMCgRkb25lGAQgASgIIuECChtXb3Jrc3BhY2VJbml0aWFsaXphdGlvbkRhdGESOAoIbWV0YWRhdGEYASABKAsyJi5leGEuY29ydGV4X3BiLkNvcnRleFdvcmtzcGFjZU1ldGFkYXRhEh4KFm1lcmdlX2Jhc2VfY29tbWl0X2hhc2gYAiABKAkSKQocbWVyZ2VfYmFzZV9oZWFkX3BhdGNoX3N0cmluZxgDIAEoCUgAiAEBEiYKGWhlYWRfd29ya2luZ19wYXRjaF9zdHJpbmcYBCABKAlIAYgBARI+Cg93b3Jrc3BhY2Vfc3RhdHMYBSABKAsyJS5leGEuY29kZWl1bV9jb21tb25fcGIuV29ya3NwYWNlU3RhdHMSFgoOcmVwb19pc19wdWJsaWMYBiABKAhCHwodX21lcmdlX2Jhc2VfaGVhZF9wYXRjaF9zdHJpbmdCHAoaX2hlYWRfd29ya2luZ19wYXRjaF9zdHJpbmcimgEKF1N0YXRlSW5pdGlhbGl6YXRpb25EYXRhEi0KCXRpbWVzdGFtcBgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEAoIc3RhdGVfaWQYAiABKAkSPgoKd29ya3NwYWNlcxgDIAMoCzIqLmV4YS5jb3J0ZXhfcGIuV29ya3NwYWNlSW5pdGlhbGl6YXRpb25EYXRhIqsBChdDb3J0ZXhXb3Jrc3BhY2VNZXRhZGF0YRIlCh13b3Jrc3BhY2VfZm9sZGVyX2Fic29sdXRlX3VyaRgBIAEoCRIdChVnaXRfcm9vdF9hYnNvbHV0ZV91cmkYAiABKAkSNQoKcmVwb3NpdG9yeRgDIAEoCzIhLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5SZXBvc2l0b3J5EhMKC2JyYW5jaF9uYW1lGAQgASgJIsABChhDb3J0ZXhUcmFqZWN0b3J5TWV0YWRhdGESOgoKd29ya3NwYWNlcxgBIAMoCzImLmV4YS5jb3J0ZXhfcGIuQ29ydGV4V29ya3NwYWNlTWV0YWRhdGESLgoKY3JlYXRlZF9hdBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASHwoXaW5pdGlhbGl6YXRpb25fc3RhdGVfaWQYAyABKAkSFwoPZXhwZXJpbWVudF90YWdzGAQgASgJIvIJChBDb3J0ZXhUcmFqZWN0b3J5EhUKDXRyYWplY3RvcnlfaWQYASABKAkSEgoKY2FzY2FkZV9pZBgGIAEoCRI8Cg90cmFqZWN0b3J5X3R5cGUYBCABKA4yIy5leGEuY29ydGV4X3BiLkNvcnRleFRyYWplY3RvcnlUeXBlEjIKBXN0ZXBzGAIgAygLMiMuZXhhLmNvcnRleF9wYi5Db3J0ZXhUcmFqZWN0b3J5U3RlcBJDChFwYXJlbnRfcmVmZXJlbmNlcxgFIAMoCzIoLmV4YS5jb3J0ZXhfcGIuQ29ydGV4VHJhamVjdG9yeVJlZmVyZW5jZRJGChJnZW5lcmF0b3JfbWV0YWRhdGEYAyADKAsyKi5leGEuY29ydGV4X3BiLkNvcnRleFN0ZXBHZW5lcmF0b3JNZXRhZGF0YRI7ChJleGVjdXRvcl9tZXRhZGF0YXMYCSADKAsyHy5leGEuY29ydGV4X3BiLkV4ZWN1dG9yTWV0YWRhdGESNQoGc291cmNlGAggASgOMiUuZXhhLmNvcnRleF9wYi5Db3J0ZXhUcmFqZWN0b3J5U291cmNlEjkKCG1ldGFkYXRhGAcgASgLMicuZXhhLmNvcnRleF9wYi5Db3J0ZXhUcmFqZWN0b3J5TWV0YWRhdGESGgoNcmVuYW1lZF90aXRsZRgKIAEoCUgAiAEBEioKHXZpcnR1YWxfZnNfc2VyaWFsaXplZF9vdmVybGF5GA0gASgMSAGIAQESGAoQZGlmZl9saW5lc19hZGRlZBgOIAEoDRIaChJkaWZmX2xpbmVzX3JlbW92ZWQYDyABKA0SFQoIYXJlbmFfaWQYECABKAlIAogBARIzCg1tZXNzYWdlX3F1ZXVlGBEgAygLMhwuZXhhLmNvcnRleF9wYi5RdWV1ZWRNZXNzYWdlEiIKEWdpdF93b3JrdHJlZV9wYXRoGBIgASgJQgIYAUgDiAEBEhoKEmdpdF93b3JrdHJlZV9wYXRocxgWIAMoCRI6Cg9hcmVuYV9tb2RlX2luZm8YFCABKAsyHC5leGEuY29ydGV4X3BiLkFyZW5hTW9kZUluZm9IBIgBARJSChNjb252ZXJzYXRpb25hbF9tb2RlGBUgASgOMjAuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNvbnZlcnNhdGlvbmFsUGxhbm5lck1vZGVIBYgBARI9Cg93b3JrdHJlZV9tZXJnZXMYFyADKAsyJC5leGEuY29ydGV4X3BiLldvcmt0cmVlTWVyZ2VTbmFwc2hvdBJGChVtb2RlbF9hc3NpZ25tZW50X2luZm8YGCABKAsyIi5leGEuY29ydGV4X3BiLk1vZGVsQXNzaWdubWVudEluZm9IBogBAUIQCg5fcmVuYW1lZF90aXRsZUIgCh5fdmlydHVhbF9mc19zZXJpYWxpemVkX292ZXJsYXlCCwoJX2FyZW5hX2lkQhQKEl9naXRfd29ya3RyZWVfcGF0aEISChBfYXJlbmFfbW9kZV9pbmZvQhYKFF9jb252ZXJzYXRpb25hbF9tb2RlQhgKFl9tb2RlbF9hc3NpZ25tZW50X2luZm9KBAgLEAxKBAgMEA1KBAgTEBRSFmNsYXVkZV9jb2RlX3Nlc3Npb25faWRSDmlzX2NsYXVkZV9jb2RlUg1kZXZpbl9zZXNzaW9uIqkBChNNb2RlbEFzc2lnbm1lbnRJbmZvEhYKDmFzc2lnbm1lbnRfand0GAEgASgJEhoKEmFzc2lnbmVkX21vZGVsX3VpZBgCIAEoCRITCgtoYXJuZXNzX3VpZBgDIAEoCRIYChBtb2RlbF9yb3V0ZXJfdWlkGAQgASgJEi8KC2Fzc2lnbmVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCLJAgoNQXJlbmFNb2RlSW5mbxIbCg5pc19yYW5kb21fbW9kZRgBIAEoCEgAiAEBEhcKCmFnZW50X25hbWUYAyABKAlIAYgBARIhChRhcmVuYV9hc3NpZ25tZW50X2p3dBgEIAEoCUgCiAEBEhwKD2FyZW5hX21vZGVsX3VpZBgFIAEoCUgDiAEBEhgKC2hhcm5lc3NfdWlkGAYgASgJSASIAQESHwoSYXNzaWduZWRfbW9kZWxfdWlkGAcgASgJSAWIAQFCEQoPX2lzX3JhbmRvbV9tb2RlQg0KC19hZ2VudF9uYW1lQhcKFV9hcmVuYV9hc3NpZ25tZW50X2p3dEISChBfYXJlbmFfbW9kZWxfdWlkQg4KDF9oYXJuZXNzX3VpZEIVChNfYXNzaWduZWRfbW9kZWxfdWlkSgQIAhADUgphcmVuYV90aWVyImYKHUNvcnRleFRyYWplY3RvcnlTdGVwV2l0aEluZGV4EjEKBHN0ZXAYASABKAsyIy5leGEuY29ydGV4X3BiLkNvcnRleFRyYWplY3RvcnlTdGVwEhIKCnN0ZXBfaW5kZXgYAiABKA0imQIKF0dsb2JhbEJhY2tncm91bmRDb21tYW5kEhIKCmNvbW1hbmRfaWQYASABKAkSFQoNdHJhamVjdG9yeV9pZBgCIAEoCRISCgpzdGVwX2luZGV4GAMgASgNEhQKDGNvbW1hbmRfbGluZRgEIAEoCRIvCgZzdGF0dXMYBSABKA4yHy5leGEuY29ydGV4X3BiLkNvcnRleFN0ZXBTdGF0dXMSLgoKY3JlYXRlZF9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMwoPbGFzdF91cGRhdGVkX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBITCgt0ZXJtaW5hbF9pZBgIIAEoCSLJAQoNUXVldWVkTWVzc2FnZRIQCghxdWV1ZV9pZBgBIAEoCRIxCghtZXRhZGF0YRgCIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRI8Cg91c2VyX2lucHV0X3N0ZXAYAyABKAsyIy5leGEuY29ydGV4X3BiLkNvcnRleFRyYWplY3RvcnlTdGVwEjUKD292ZXJyaWRlX2NvbmZpZxgEIAEoCzIcLmV4YS5jb3J0ZXhfcGIuQ2FzY2FkZUNvbmZpZyLWCgoYQ2FzY2FkZVRyYWplY3RvcnlTdW1tYXJ5Eg8KB3N1bW1hcnkYASABKAkSEgoKc3RlcF9jb3VudBgCIAEoDRI2ChJsYXN0X21vZGlmaWVkX3RpbWUYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhUKDXRyYWplY3RvcnlfaWQYBCABKAkSLwoGc3RhdHVzGAUgASgOMh8uZXhhLmNvcnRleF9wYi5DYXNjYWRlUnVuU3RhdHVzEjAKDGNyZWF0ZWRfdGltZRgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASQwoNd2FpdGluZ19zdGVwcxgIIAMoCzIsLmV4YS5jb3J0ZXhfcGIuQ29ydGV4VHJhamVjdG9yeVN0ZXBXaXRoSW5kZXgSOgoKd29ya3NwYWNlcxgJIAMoCzImLmV4YS5jb3J0ZXhfcGIuQ29ydGV4V29ya3NwYWNlTWV0YWRhdGESOAoUbGFzdF91c2VyX2lucHV0X3RpbWUYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhoKDXJlbmFtZWRfdGl0bGUYCyABKAlIAIgBARJDChNiYWNrZ3JvdW5kX2NvbW1hbmRzGAwgAygLMiYuZXhhLmNvcnRleF9wYi5HbG9iYWxCYWNrZ3JvdW5kQ29tbWFuZBJFChNsYXN0X3RvZG9fbGlzdF9zdGVwGA0gASgLMiMuZXhhLmNvcnRleF9wYi5MYXN0VG9kb0xpc3RTdGVwSW5mb0gBiAEBEg8KB2Vycm9yZWQYDiABKAgSGAoQZGlmZl9saW5lc19hZGRlZBgQIAEoDRIaChJkaWZmX2xpbmVzX3JlbW92ZWQYESABKA0SFQoIYXJlbmFfaWQYEiABKAlIAogBARIOCgZoaWRkZW4YEyABKAgSEgoKcXVldWVfc2l6ZRgUIAEoDRIiChFnaXRfd29ya3RyZWVfcGF0aBgVIAEoCUICGAFIA4gBARIaChJnaXRfd29ya3RyZWVfcGF0aHMYHCADKAkSPAoPdHJhamVjdG9yeV90eXBlGBYgASgOMiMuZXhhLmNvcnRleF9wYi5Db3J0ZXhUcmFqZWN0b3J5VHlwZRJAChF0cmFqZWN0b3J5X3NvdXJjZRgXIAEoDjIlLmV4YS5jb3J0ZXhfcGIuQ29ydGV4VHJhamVjdG9yeVNvdXJjZRJOCh9sYXN0X2dlbmVyYXRvcl9tb2RlbF9kZXByZWNhdGVkGBggASgOMhwuZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1vZGVsQgIYAUgEiAEBEjoKD2FyZW5hX21vZGVfaW5mbxgZIAEoCzIcLmV4YS5jb3J0ZXhfcGIuQXJlbmFNb2RlSW5mb0gFiAEBEiUKGGxhc3RfZ2VuZXJhdG9yX21vZGVsX3VpZBgaIAEoCUgGiAEBEhgKEHJlZmVyZW5jZWRfZmlsZXMYHSADKAkSEwoLaXNfYXJjaGl2ZWQYHiABKAhCEAoOX3JlbmFtZWRfdGl0bGVCFgoUX2xhc3RfdG9kb19saXN0X3N0ZXBCCwoJX2FyZW5hX2lkQhQKEl9naXRfd29ya3RyZWVfcGF0aEIiCiBfbGFzdF9nZW5lcmF0b3JfbW9kZWxfZGVwcmVjYXRlZEISChBfYXJlbmFfbW9kZV9pbmZvQhsKGV9sYXN0X2dlbmVyYXRvcl9tb2RlbF91aWRKBAgGEAdKBAgPEBBKBAgbEBxSDmlzX2NsYXVkZV9jb2RlUhhyZWZlcmVuY2VkX2NvbnRleHRfaXRlbXMiXAoUTGFzdFRvZG9MaXN0U3RlcEluZm8SMAoFdG9kb3MYASADKAsyIS5leGEuY29ydGV4X3BiLkNvcnRleFRvZG9MaXN0SXRlbRISCgpzdGVwX2luZGV4GAIgASgNIsQBChpDYXNjYWRlVHJhamVjdG9yeVN1bW1hcmllcxJLCglzdW1tYXJpZXMYASADKAsyOC5leGEuY29ydGV4X3BiLkNhc2NhZGVUcmFqZWN0b3J5U3VtbWFyaWVzLlN1bW1hcmllc0VudHJ5GlkKDlN1bW1hcmllc0VudHJ5EgsKA2tleRgBIAEoCRI2CgV2YWx1ZRgCIAEoCzInLmV4YS5jb3J0ZXhfcGIuQ2FzY2FkZVRyYWplY3RvcnlTdW1tYXJ5OgI4ASLOAQoZQ29ydGV4VHJhamVjdG9yeVJlZmVyZW5jZRIVCg10cmFqZWN0b3J5X2lkGAEgASgJEjwKD3RyYWplY3RvcnlfdHlwZRgDIAEoDjIjLmV4YS5jb3J0ZXhfcGIuQ29ydGV4VHJhamVjdG9yeVR5cGUSEgoKc3RlcF9pbmRleBgCIAEoBRIwCglzdGVwX3R5cGUYBCABKA4yHS5leGEuY29ydGV4X3BiLkNvcnRleFN0ZXBUeXBlEhYKDmZvcmNlX2JpbGxhYmxlGAUgASgIIoYCChJJbXBsaWNpdFRyYWplY3RvcnkSMwoKdHJhamVjdG9yeRgBIAEoCzIfLmV4YS5jb3J0ZXhfcGIuQ29ydGV4VHJhamVjdG9yeRI4ChB0cmFqZWN0b3J5X3Njb3BlGAUgASgLMh4uZXhhLmNvcnRleF9wYi5UcmFqZWN0b3J5U2NvcGVKBAgCEANKBAgDEARKBAgEEAVKBAgGEAdKBAgHEAhSE2JhY2tncm91bmRfcmVzZWFyY2hSJG1haW5saW5lX3N0ZXBfY291bnRfYXRfbGFzdF9yZXNlYXJjaFINd29ya3NwYWNlX3VyaVIMZ2l0X3Jvb3RfdXJpUgticmFuY2hfbmFtZSKBAQodSW1wbGljaXRUcmFqZWN0b3J5RGVzY3JpcHRpb24SFQoNdHJhamVjdG9yeV9pZBgBIAEoCRI4ChB0cmFqZWN0b3J5X3Njb3BlGAIgASgLMh4uZXhhLmNvcnRleF9wYi5UcmFqZWN0b3J5U2NvcGUSDwoHY3VycmVudBgDIAEoCCLSAgobQ29ydGV4U3RlcEdlbmVyYXRvck1ldGFkYXRhEhQKDHN0ZXBfaW5kaWNlcxgCIAMoDRI2CgpjaGF0X21vZGVsGAEgASgLMiAuZXhhLmNvcnRleF9wYi5DaGF0TW9kZWxNZXRhZGF0YUgAEjsKDnBsYW5uZXJfY29uZmlnGAMgASgLMiMuZXhhLmNvcnRleF9wYi5DYXNjYWRlUGxhbm5lckNvbmZpZxIUCgxleGVjdXRpb25faWQYBCABKAkSDQoFZXJyb3IYBSABKAkSXAojcGFyYWxsZWxfcm9sbG91dF9nZW5lcmF0b3JfbWV0YWRhdGEYBiABKAsyLy5leGEuY29ydGV4X3BiLlBhcmFsbGVsUm9sbG91dEdlbmVyYXRvck1ldGFkYXRhEhkKEWFyZW5hX2NhcF9yZWFjaGVkGAcgASgIQgoKCG1ldGFkYXRhIo8BCiBQYXJhbGxlbFJvbGxvdXRHZW5lcmF0b3JNZXRhZGF0YRIlCh1ndWlkZV9qdWRnZW1lbnRfdHJhamVjdG9yeV9pZBgBIAEoCRJEChFndWlkZV9jaG9pY2Vfc3RlcBgCIAEoCzIpLmV4YS5jb3J0ZXhfcGIuQ29ydGV4U3RlcFRyYWplY3RvcnlDaG9pY2UiRQoVTWVzc2FnZVByb21wdE1ldGFkYXRhEhUKDW1lc3NhZ2VfaW5kZXgYASABKA0SFQoNc2VnbWVudF9pbmRleBgCIAEoDSLrBgoRQ2hhdE1vZGVsTWV0YWRhdGESFQoNc3lzdGVtX3Byb21wdBgBIAEoCRI3Cg9tZXNzYWdlX3Byb21wdHMYAiADKAsyHi5leGEuY2hhdF9wYi5DaGF0TWVzc2FnZVByb21wdBI+ChBtZXNzYWdlX21ldGFkYXRhGAogAygLMiQuZXhhLmNvcnRleF9wYi5NZXNzYWdlUHJvbXB0TWV0YWRhdGESOgoQbW9kZWxfZGVwcmVjYXRlZBgDIAEoDjIcLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Nb2RlbEICGAESEQoJbW9kZWxfdWlkGA8gASgJEjUKBXVzYWdlGAQgASgLMiYuZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1vZGVsVXNhZ2VTdGF0cxISCgptb2RlbF9jb3N0GAUgASgCEhgKEGxhc3RfY2FjaGVfaW5kZXgYBiABKA0SMAoLdG9vbF9jaG9pY2UYByABKAsyGy5leGEuY2hhdF9wYi5DaGF0VG9vbENob2ljZRIuCgV0b29scxgIIAMoCzIfLmV4YS5jaGF0X3BiLkNoYXRUb29sRGVmaW5pdGlvbhI9ChNjaGF0X3N0YXJ0X21ldGFkYXRhGAkgASgLMiAuZXhhLmNvcnRleF9wYi5DaGF0U3RhcnRNZXRhZGF0YRI2ChN0aW1lX3RvX2ZpcnN0X3Rva2VuGAsgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uEjUKEnN0cmVhbWluZ19kdXJhdGlvbhgMIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhITCgtjcmVkaXRfY29zdBgNIAEoBRIPCgdyZXRyaWVzGA4gASgNEhAKCGFjdV9jb3N0GBAgASgBEiQKF3F1b3RhX2Nvc3RfYmFzaXNfcG9pbnRzGBIgASgDSACIAQESHwoSb3ZlcmFnZV9jb3N0X2NlbnRzGBMgASgDSAGIAQESUAoZcmVzcG9uc2VfZGltZW5zaW9uX2dyb3VwcxgUIAMoCzItLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5SZXNwb25zZURpbWVuc2lvbkdyb3VwQhoKGF9xdW90YV9jb3N0X2Jhc2lzX3BvaW50c0IVChNfb3ZlcmFnZV9jb3N0X2NlbnRzInQKF0NhY2hlQnJlYWtwb2ludE1ldGFkYXRhEg0KBWluZGV4GAEgASgNEjAKB29wdGlvbnMYAiABKAsyHy5leGEuY2hhdF9wYi5Qcm9tcHRDYWNoZU9wdGlvbnMSGAoQY29udGVudF9jaGVja3N1bRgDIAEoCSLDAwoRQ2hhdFN0YXJ0TWV0YWRhdGESLgoKY3JlYXRlZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASGAoQc3RhcnRfc3RlcF9pbmRleBgBIAEoDRIYChBjaGVja3BvaW50X2luZGV4GAIgASgFEiMKG3N0ZXBzX2NvdmVyZWRfYnlfY2hlY2twb2ludBgDIAMoDRIjChtsYXRlc3Rfc3RhYmxlX21lc3NhZ2VfaW5kZXgYBSABKAUSQQoRY2FjaGVfYnJlYWtwb2ludHMYBiADKAsyJi5leGEuY29ydGV4X3BiLkNhY2hlQnJlYWtwb2ludE1ldGFkYXRhEkMKE3N5c3RlbV9wcm9tcHRfY2FjaGUYByABKAsyJi5leGEuY29ydGV4X3BiLkNhY2hlQnJlYWtwb2ludE1ldGFkYXRhEj0KGnRpbWVfc2luY2VfbGFzdF9pbnZvY2F0aW9uGAggASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uEjkKDWNhY2hlX3JlcXVlc3QYCSABKAsyIi5leGEuY29ydGV4X3BiLkNhY2hlUmVxdWVzdE9wdGlvbnMiSAoTQ2FjaGVSZXF1ZXN0T3B0aW9ucxIPCgdlbmFibGVkGAEgASgIEiAKGGNhY2hlX2JyZWFrcG9pbnRfaW5kaWNlcxgCIAMoDSLfDAoSQ29ydGV4U3RlcE1ldGFkYXRhEh8KF3N0ZXBfZ2VuZXJhdGlvbl92ZXJzaW9uGBUgASgNEi4KCmNyZWF0ZWRfYXQYASABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi8KC3ZpZXdhYmxlX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI6ChZmaW5pc2hlZF9nZW5lcmF0aW5nX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI7ChdsYXN0X2NvbXBsZXRlZF9jaHVua19hdBgWIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMAoMY29tcGxldGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIvCgZzb3VyY2UYAyABKA4yHy5leGEuY29ydGV4X3BiLkNvcnRleFN0ZXBTb3VyY2USNgoJdG9vbF9jYWxsGAQgASgLMiMuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNoYXRUb29sQ2FsbBIXCg9hcmd1bWVudHNfb3JkZXIYBSADKAkSOwoLbW9kZWxfdXNhZ2UYCSABKAsyJi5leGEuY29kZWl1bV9jb21tb25fcGIuTW9kZWxVc2FnZVN0YXRzEhIKCm1vZGVsX2Nvc3QYCiABKAISRAoaZ2VuZXJhdG9yX21vZGVsX2RlcHJlY2F0ZWQYCyABKA4yHC5leGEuY29kZWl1bV9jb21tb25fcGIuTW9kZWxCAhgBEksKGnJlcXVlc3RlZF9tb2RlbF9kZXByZWNhdGVkGA0gASgLMiMuZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1vZGVsT3JBbGlhc0ICGAESGwoTZ2VuZXJhdG9yX21vZGVsX3VpZBgbIAEoCRIbChNyZXF1ZXN0ZWRfbW9kZWxfdWlkGBwgASgJEhQKDGV4ZWN1dGlvbl9pZBgMIAEoCRIdChFmbG93X2NyZWRpdHNfdXNlZBgOIAEoBUICGAESGwoTcHJvbXB0X2NyZWRpdHNfdXNlZBgPIAEoBRJGCgxwbGFubmVyX21vZGUYGiABKA4yMC5leGEuY29kZWl1bV9jb21tb25fcGIuQ29udmVyc2F0aW9uYWxQbGFubmVyTW9kZRJOChtub25fc3RhbmRhcmRfY3JlZGl0X3JlYXNvbnMYEiADKA4yJS5leGEuY29ydGV4X3BiLkNvcnRleFN0ZXBDcmVkaXRSZWFzb25CAhgBEj4KEXRvb2xfY2FsbF9jaG9pY2VzGBAgAygLMiMuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNoYXRUb29sQ2FsbBIfChd0b29sX2NhbGxfY2hvaWNlX3JlYXNvbhgRIAEoCRJBChVjb3J0ZXhfcmVxdWVzdF9zb3VyY2UYEyABKA4yIi5leGEuY29ydGV4X3BiLkNvcnRleFJlcXVlc3RTb3VyY2USHwoXdG9vbF9jYWxsX291dHB1dF90b2tlbnMYFyABKAUSTAobc291cmNlX3RyYWplY3Rvcnlfc3RlcF9pbmZvGBQgASgLMicuZXhhLmNvcnRleF9wYi5Tb3VyY2VUcmFqZWN0b3J5U3RlcEluZm8SEgoKcmVxdWVzdF9pZBgYIAEoCRIhChljdW11bGF0aXZlX3Rva2Vuc19hdF9zdGVwGBkgASgEEhAKCGFjdV9jb3N0GB0gASgBEiQKF3F1b3RhX2Nvc3RfYmFzaXNfcG9pbnRzGB4gASgDSACIAQESHwoSb3ZlcmFnZV9jb3N0X2NlbnRzGB8gASgDSAGIAQESFAoMaW5wdXRfdG9rZW5zGCAgASgEEhkKEWNhY2hlX3JlYWRfdG9rZW5zGCEgASgEEjMKD3VzYWdlX3RpbWVzdGFtcBgiIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASUAoZcmVzcG9uc2VfZGltZW5zaW9uX2dyb3VwcxgjIAMoCzItLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5SZXNwb25zZURpbWVuc2lvbkdyb3VwQhoKGF9xdW90YV9jb3N0X2Jhc2lzX3BvaW50c0IVChNfb3ZlcmFnZV9jb3N0X2NlbnRzSgQIAhADInEKGFNvdXJjZVRyYWplY3RvcnlTdGVwSW5mbxIVCg10cmFqZWN0b3J5X2lkGAEgASgJEhIKCnN0ZXBfaW5kZXgYAiABKA0SFgoObWV0YWRhdGFfaW5kZXgYAyABKA0SEgoKY2FzY2FkZV9pZBgEIAEoCSLIAQoQQ29ydGV4U3RlcFVwZGF0ZRISCgpzdGVwX2luZGV4GAEgASgNEjEKBHN0ZXAYAiABKAsyIy5leGEuY29ydGV4X3BiLkNvcnRleFRyYWplY3RvcnlTdGVwEi8KBnN0YXR1cxgDIAEoDjIfLmV4YS5jb3J0ZXhfcGIuQ29ydGV4U3RlcFN0YXR1cxI8ChB1c2VyX2Fubm90YXRpb25zGAQgASgLMiIuZXhhLmNvcnRleF9wYi5Vc2VyU3RlcEFubm90YXRpb25zIjsKD1dpbmRzdXJmU2V0dGluZxISCgpzZXR0aW5nX2lkGAEgASgJEhQKDHNldHRpbmdfbmFtZRgCIAEoCSK6AQoTU3RydWN0dXJlZEVycm9yUGFydBIOCgR0ZXh0GAEgASgJSAASEgoIZmlsZV91cmkYAiABKAlIABIXCg1kaXJlY3RvcnlfdXJpGAMgASgJSAASDQoDdXJsGAQgASgJSAASEwoJY29kZV90ZXh0GAUgASgJSAASOgoQd2luZHN1cmZfc2V0dGluZxgGIAEoCzIeLmV4YS5jb3J0ZXhfcGIuV2luZHN1cmZTZXR0aW5nSABCBgoEcGFydCLnAQoSQ29ydGV4RXJyb3JEZXRhaWxzEhoKEnVzZXJfZXJyb3JfbWVzc2FnZRgBIAEoCRJCChZzdHJ1Y3R1cmVkX2Vycm9yX3BhcnRzGAggAygLMiIuZXhhLmNvcnRleF9wYi5TdHJ1Y3R1cmVkRXJyb3JQYXJ0EhMKC3Nob3J0X2Vycm9yGAIgASgJEhIKCmZ1bGxfZXJyb3IYAyABKAkSEQoJaXNfYmVuaWduGAQgASgIEhIKCmVycm9yX2NvZGUYByABKA0SDwoHZGV0YWlscxgFIAEoCRIQCghlcnJvcl9pZBgGIAEoCSIgChBVc2VyU3RlcFNuYXBzaG90EgwKBG5hbWUYASABKAkiSAoTVXNlclN0ZXBBbm5vdGF0aW9ucxIxCghzbmFwc2hvdBgBIAEoCzIfLmV4YS5jb3J0ZXhfcGIuVXNlclN0ZXBTbmFwc2hvdCKbNQoUQ29ydGV4VHJhamVjdG9yeVN0ZXASKwoEdHlwZRgBIAEoDjIdLmV4YS5jb3J0ZXhfcGIuQ29ydGV4U3RlcFR5cGUSLwoGc3RhdHVzGAQgASgOMh8uZXhhLmNvcnRleF9wYi5Db3J0ZXhTdGVwU3RhdHVzEjMKCG1ldGFkYXRhGAUgASgLMiEuZXhhLmNvcnRleF9wYi5Db3J0ZXhTdGVwTWV0YWRhdGESMAoFZXJyb3IYHyABKAsyIS5leGEuY29ydGV4X3BiLkNvcnRleEVycm9yRGV0YWlscxJEChRhc3luY19sZXZlbF9vdmVycmlkZRghIAEoDjIiLmV4YS5jb3J0ZXhfcGIuRXhlY3V0aW9uQXN5bmNMZXZlbEICGAESQgoVcmVxdWVzdGVkX2ludGVyYWN0aW9uGDggASgLMiMuZXhhLmNvcnRleF9wYi5SZXF1ZXN0ZWRJbnRlcmFjdGlvbhI8ChB1c2VyX2Fubm90YXRpb25zGEUgASgLMiIuZXhhLmNvcnRleF9wYi5Vc2VyU3RlcEFubm90YXRpb25zEj4KEnByZV90b29sX3VzZV9ob29rcxhVIAMoCzIiLmV4YS5jb3J0ZXhfcGIuSG9va0V4ZWN1dGlvbkRldGFpbBI/ChNwb3N0X3Rvb2xfdXNlX2hvb2tzGFYgAygLMiIuZXhhLmNvcnRleF9wYi5Ib29rRXhlY3V0aW9uRGV0YWlsEiUKGHNoaWVsZF9mcm9tX2NhbmNlbGxhdGlvbhhtIAEoCEgBiAEBEi8KBWR1bW15GAcgASgLMh4uZXhhLmNvcnRleF9wYi5Db3J0ZXhTdGVwRHVtbXlIABIxCgZmaW5pc2gYDCABKAsyHy5leGEuY29ydGV4X3BiLkNvcnRleFN0ZXBGaW5pc2hIABI4CgpwbGFuX2lucHV0GAggASgLMiIuZXhhLmNvcnRleF9wYi5Db3J0ZXhTdGVwUGxhbklucHV0SAASMQoGbXF1ZXJ5GAkgASgLMh8uZXhhLmNvcnRleF9wYi5Db3J0ZXhTdGVwTXF1ZXJ5SAASOgoLY29kZV9hY3Rpb24YCiABKAsyIy5leGEuY29ydGV4X3BiLkNvcnRleFN0ZXBDb2RlQWN0aW9uSAASOAoKZ2l0X2NvbW1pdBgLIAEoCzIiLmV4YS5jb3J0ZXhfcGIuQ29ydGV4U3RlcEdpdENvbW1pdEgAEjoKC2dyZXBfc2VhcmNoGA0gASgLMiMuZXhhLmNvcnRleF9wYi5Db3J0ZXhTdGVwR3JlcFNlYXJjaEgAEjYKCXZpZXdfZmlsZRgOIAEoCzIhLmV4YS5jb3J0ZXhfcGIuQ29ydGV4U3RlcFZpZXdGaWxlSAASQAoObGlzdF9kaXJlY3RvcnkYDyABKAsyJi5leGEuY29ydGV4X3BiLkNvcnRleFN0ZXBMaXN0RGlyZWN0b3J5SAASMwoHY29tcGlsZRgQIAEoCzIgLmV4YS5jb3J0ZXhfcGIuQ29ydGV4U3RlcENvbXBpbGVIABJACg5pbmZvcm1fcGxhbm5lchgRIAEoCzImLmV4YS5jb3J0ZXhfcGIuQ29ydGV4U3RlcEluZm9ybVBsYW5uZXJIABI4Cgp1c2VyX2lucHV0GBMgASgLMiIuZXhhLmNvcnRleF9wYi5Db3J0ZXhTdGVwVXNlcklucHV0SAASRAoQcGxhbm5lcl9yZXNwb25zZRgUIAEoCzIoLmV4YS5jb3J0ZXhfcGIuQ29ydGV4U3RlcFBsYW5uZXJSZXNwb25zZUgAEkAKDmZpbGVfYnJlYWtkb3duGBUgASgLMiYuZXhhLmNvcnRleF9wYi5Db3J0ZXhTdGVwRmlsZUJyZWFrZG93bkgAEj8KDnZpZXdfY29kZV9pdGVtGBYgASgLMiUuZXhhLmNvcnRleF9wYi5Db3J0ZXhTdGVwVmlld0NvZGVJdGVtSAASQQoNd3JpdGVfdG9fZmlsZRgXIAEoCzIkLmV4YS5jb3J0ZXhfcGIuQ29ydGV4U3RlcFdyaXRlVG9GaWxlQgIYAUgAEj4KDWVycm9yX21lc3NhZ2UYGCABKAsyJS5leGEuY29ydGV4X3BiLkNvcnRleFN0ZXBFcnJvck1lc3NhZ2VIABI+Cg1jbHVzdGVyX3F1ZXJ5GBkgASgLMiUuZXhhLmNvcnRleF9wYi5Db3J0ZXhTdGVwQ2x1c3RlclF1ZXJ5SAASPgoNbGlzdF9jbHVzdGVycxgaIAEoCzIlLmV4YS5jb3J0ZXhfcGIuQ29ydGV4U3RlcExpc3RDbHVzdGVyc0gAEkIKD2luc3BlY3RfY2x1c3RlchgbIAEoCzInLmV4YS5jb3J0ZXhfcGIuQ29ydGV4U3RlcEluc3BlY3RDbHVzdGVySAASOgoLcnVuX2NvbW1hbmQYHCABKAsyIy5leGEuY29ydGV4X3BiLkNvcnRleFN0ZXBSdW5Db21tYW5kSAASPgoNcmVsYXRlZF9maWxlcxgdIAEoCzIlLmV4YS5jb3J0ZXhfcGIuQ29ydGV4U3RlcFJlbGF0ZWRGaWxlc0gAEjkKCmNoZWNrcG9pbnQYHiABKAsyIy5leGEuY29ydGV4X3BiLkNvcnRleFN0ZXBDaGVja3BvaW50SAASPAoMcHJvcG9zZV9jb2RlGCAgASgLMiQuZXhhLmNvcnRleF9wYi5Db3J0ZXhTdGVwUHJvcG9zZUNvZGVIABItCgRmaW5kGCIgASgLMh0uZXhhLmNvcnRleF9wYi5Db3J0ZXhTdGVwRmluZEgAEk0KFXNlYXJjaF9rbm93bGVkZ2VfYmFzZRgjIAEoCzIsLmV4YS5jb3J0ZXhfcGIuQ29ydGV4U3RlcFNlYXJjaEtub3dsZWRnZUJhc2VIABJKChNzdWdnZXN0ZWRfcmVzcG9uc2VzGCQgASgLMisuZXhhLmNvcnRleF9wYi5Db3J0ZXhTdGVwU3VnZ2VzdGVkUmVzcG9uc2VzSAASQAoOY29tbWFuZF9zdGF0dXMYJSABKAsyJi5leGEuY29ydGV4X3BiLkNvcnRleFN0ZXBDb21tYW5kU3RhdHVzSAASMQoGbWVtb3J5GCYgASgLMh8uZXhhLmNvcnRleF9wYi5Db3J0ZXhTdGVwTWVtb3J5SAASTQoVbG9va3VwX2tub3dsZWRnZV9iYXNlGCcgASgLMiwuZXhhLmNvcnRleF9wYi5Db3J0ZXhTdGVwTG9va3VwS25vd2xlZGdlQmFzZUgAEkMKEHJlYWRfdXJsX2NvbnRlbnQYKCABKAsyJy5leGEuY29ydGV4X3BiLkNvcnRleFN0ZXBSZWFkVXJsQ29udGVudEgAEkcKEnZpZXdfY29udGVudF9jaHVuaxgpIAEoCzIpLmV4YS5jb3J0ZXhfcGIuQ29ydGV4U3RlcFZpZXdDb250ZW50Q2h1bmtIABI4CgpzZWFyY2hfd2ViGCogASgLMiIuZXhhLmNvcnRleF9wYi5Db3J0ZXhTdGVwU2VhcmNoV2ViSAASQgoPcmV0cmlldmVfbWVtb3J5GCsgASgLMicuZXhhLmNvcnRleF9wYi5Db3J0ZXhTdGVwUmV0cmlldmVNZW1vcnlIABJPChZhdXRvX2Nhc2NhZGVfYnJvYWRjYXN0GCwgASgLMi0uZXhhLmNvcnRleF9wYi5Db3J0ZXhTdGVwQXV0b0Nhc2NhZGVCcm9hZGNhc3RIABI6CgtjdXN0b21fdG9vbBgtIAEoCzIjLmV4YS5jb3J0ZXhfcGIuQ29ydGV4U3RlcEN1c3RvbVRvb2xIABJCCg1jcmVhdGVfcmVjaXBlGC4gASgLMiUuZXhhLmNvcnRleF9wYi5Db3J0ZXhTdGVwQ3JlYXRlUmVjaXBlQgIYAUgAEjQKCG1jcF90b29sGC8gASgLMiAuZXhhLmNvcnRleF9wYi5Db3J0ZXhTdGVwTWNwVG9vbEgAEkQKEG1hbmFnZXJfZmVlZGJhY2sYMCABKAsyKC5leGEuY29ydGV4X3BiLkNvcnRleFN0ZXBNYW5hZ2VyRmVlZGJhY2tIABJHChJ0b29sX2NhbGxfcHJvcG9zYWwYMSABKAsyKS5leGEuY29ydGV4X3BiLkNvcnRleFN0ZXBUb29sQ2FsbFByb3Bvc2FsSAASQwoQdG9vbF9jYWxsX2Nob2ljZRgyIAEoCzInLmV4YS5jb3J0ZXhfcGIuQ29ydGV4U3RlcFRvb2xDYWxsQ2hvaWNlSAASRgoRdHJhamVjdG9yeV9jaG9pY2UYNCABKAsyKS5leGEuY29ydGV4X3BiLkNvcnRleFN0ZXBUcmFqZWN0b3J5Q2hvaWNlSAASQwoQcHJveHlfd2ViX3NlcnZlchg1IAEoCzInLmV4YS5jb3J0ZXhfcGIuQ29ydGV4U3RlcFByb3h5V2ViU2VydmVySAASPwoOZGVwbG95X3dlYl9hcHAYNiABKAsyJS5leGEuY29ydGV4X3BiLkNvcnRleFN0ZXBEZXBsb3lXZWJBcHBIABI3CgljbGlwYm9hcmQYNyABKAsyIi5leGEuY29ydGV4X3BiLkNvcnRleFN0ZXBDbGlwYm9hcmRIABJPChZyZWFkX2RlcGxveW1lbnRfY29uZmlnGDkgASgLMi0uZXhhLmNvcnRleF9wYi5Db3J0ZXhTdGVwUmVhZERlcGxveW1lbnRDb25maWdIABJJChF2aWV3X2ZpbGVfb3V0bGluZRg6IAEoCzIoLmV4YS5jb3J0ZXhfcGIuQ29ydGV4U3RlcFZpZXdGaWxlT3V0bGluZUICGAFIABJJChNjaGVja19kZXBsb3lfc3RhdHVzGDsgASgLMiouZXhhLmNvcnRleF9wYi5Db3J0ZXhTdGVwQ2hlY2tEZXBsb3lTdGF0dXNIABI/Cg5wb3N0X3ByX3Jldmlldxg8IAEoCzIlLmV4YS5jb3J0ZXhfcGIuQ29ydGV4U3RlcFBvc3RQclJldmlld0gAElIKGHJlYWRfa25vd2xlZGdlX2Jhc2VfaXRlbRg9IAEoCzIuLmV4YS5jb3J0ZXhfcGIuQ29ydGV4U3RlcFJlYWRLbm93bGVkZ2VCYXNlSXRlbUgAEkAKDmxpc3RfcmVzb3VyY2VzGD4gASgLMiYuZXhhLmNvcnRleF9wYi5Db3J0ZXhTdGVwTGlzdFJlc291cmNlc0gAEj4KDXJlYWRfcmVzb3VyY2UYPyABKAsyJS5leGEuY29ydGV4X3BiLkNvcnRleFN0ZXBSZWFkUmVzb3VyY2VIABI2CglsaW50X2RpZmYYQCABKAsyIS5leGEuY29ydGV4X3BiLkNvcnRleFN0ZXBMaW50RGlmZkgAEkkKE2ZpbmRfYWxsX3JlZmVyZW5jZXMYQSABKAsyKi5leGEuY29ydGV4X3BiLkNvcnRleFN0ZXBGaW5kQWxsUmVmZXJlbmNlc0gAEjwKDGJyYWluX3VwZGF0ZRhCIAEoCzIkLmV4YS5jb3J0ZXhfcGIuQ29ydGV4U3RlcEJyYWluVXBkYXRlSAASSwoScnVuX2V4dGVuc2lvbl9jb2RlGEQgASgLMikuZXhhLmNvcnRleF9wYi5Db3J0ZXhTdGVwUnVuRXh0ZW5zaW9uQ29kZUICGAFIABJACg5hZGRfYW5ub3RhdGlvbhhGIAEoCzImLmV4YS5jb3J0ZXhfcGIuQ29ydGV4U3RlcEFkZEFubm90YXRpb25IABJGChFwcm9wb3NhbF9mZWVkYmFjaxhHIAEoCzIpLmV4YS5jb3J0ZXhfcGIuQ29ydGV4U3RlcFByb3Bvc2FsRmVlZGJhY2tIABJGChF0cmFqZWN0b3J5X3NlYXJjaBhIIAEoCzIpLmV4YS5jb3J0ZXhfcGIuQ29ydGV4U3RlcFRyYWplY3RvcnlTZWFyY2hIABI+Cg1yZWFkX3Rlcm1pbmFsGE0gASgLMiUuZXhhLmNvcnRleF9wYi5Db3J0ZXhTdGVwUmVhZFRlcm1pbmFsSAASRAoQYXJ0aWZhY3Rfc3VtbWFyeRhTIAEoCzIoLmV4YS5jb3J0ZXhfcGIuQ29ydGV4U3RlcEFydGlmYWN0U3VtbWFyeUgAEjwKDHJlc29sdmVfdGFzaxhUIAEoCzIkLmV4YS5jb3J0ZXhfcGIuQ29ydGV4U3RlcFJlc29sdmVUYXNrSAASNgoJdG9kb19saXN0GFcgASgLMiEuZXhhLmNvcnRleF9wYi5Db3J0ZXhTdGVwVG9kb0xpc3RIABI1CghibG9ja2luZxhYIAEoCzIhLmV4YS5jb3J0ZXhfcGIuQ29ydGV4U3RlcEJsb2NraW5nSAASRAoQZXhwbG9yZV9yZXNwb25zZRheIAEoCzIoLmV4YS5jb3J0ZXhfcGIuQ29ydGV4U3RlcEV4cGxvcmVSZXNwb25zZUgAEj4KDXJlYWRfbm90ZWJvb2sYYCABKAsyJS5leGEuY29ydGV4X3BiLkNvcnRleFN0ZXBSZWFkTm90ZWJvb2tIABI+Cg1lZGl0X25vdGVib29rGGEgASgLMiUuZXhhLmNvcnRleF9wYi5Db3J0ZXhTdGVwRWRpdE5vdGVib29rSAASOAoIY29kZV9tYXAYYiABKAsyIC5leGEuY29ydGV4X3BiLkNvcnRleFN0ZXBDb2RlTWFwQgIYAUgAEkEKDWVkaXRfY29kZV9tYXAYYyABKAsyJC5leGEuY29ydGV4X3BiLkNvcnRleFN0ZXBFZGl0Q29kZU1hcEICGAFIABJTChhzdXBlcmNvbXBsZXRlX2FjdGl2ZV9kb2MYZCABKAsyLy5leGEuY29ydGV4X3BiLkNvcnRleFN0ZXBTdXBlcmNvbXBsZXRlQWN0aXZlRG9jSAASRQoRZmluZF9jb2RlX2NvbnRleHQYZSABKAsyKC5leGEuY29ydGV4X3BiLkNvcnRleFN0ZXBGaW5kQ29kZUNvbnRleHRIABJQChZzdXBlcmNvbXBsZXRlX2ZlZWRiYWNrGGcgASgLMi4uZXhhLmNvcnRleF9wYi5Db3J0ZXhTdGVwU3VwZXJjb21wbGV0ZUZlZWRiYWNrSAASQwoQbGludF9maXhfbWVzc2FnZRhoIAEoCzInLmV4YS5jb3J0ZXhfcGIuQ29ydGV4U3RlcExpbnRGaXhNZXNzYWdlSAASPwoOZ3JlcF9zZWFyY2hfdjIYaSABKAsyJS5leGEuY29ydGV4X3BiLkNvcnRleFN0ZXBHcmVwU2VhcmNoVjJIABJACg51cHNlcnRfY29kZW1hcBhqIAEoCzImLmV4YS5jb3J0ZXhfcGIuQ29ydGV4U3RlcFVwc2VydENvZGVtYXBIABJCCg9zdWdnZXN0X2NvZGVtYXAYayABKAsyJy5leGEuY29ydGV4X3BiLkNvcnRleFN0ZXBTdWdnZXN0Q29kZW1hcEgAEjwKDHNtYXJ0X2ZyaWVuZBhsIAEoCzIkLmV4YS5jb3J0ZXhfcGIuQ29ydGV4U3RlcFNtYXJ0RnJpZW5kSAASOgoLcmVwb3J0X2J1Z3MYcCABKAsyIy5leGEuY29ydGV4X3BiLkNvcnRleFN0ZXBSZXBvcnRCdWdzSAASPwoOZXhpdF9wbGFuX21vZGUYciABKAsyJS5leGEuY29ydGV4X3BiLkNvcnRleFN0ZXBFeGl0UGxhbk1vZGVIABJFChFhc2tfdXNlcl9xdWVzdGlvbhhzIAEoCzIoLmV4YS5jb3J0ZXhfcGIuQ29ydGV4U3RlcEFza1VzZXJRdWVzdGlvbkgAEi8KBXNraWxsGHQgASgLMh4uZXhhLmNvcnRleF9wYi5Db3J0ZXhTdGVwU2tpbGxIABJjCiBzdXBlcmNvbXBsZXRlX2VwaGVtZXJhbF9mZWVkYmFjaxh1IAEoCzI3LmV4YS5jb3J0ZXhfcGIuQ29ydGV4U3RlcFN1cGVyY29tcGxldGVFcGhlbWVyYWxGZWVkYmFja0gAElUKGWFyZW5hX3RyYWplY3RvcnlfY29udmVyZ2UYdiABKAsyMC5leGEuY29ydGV4X3BiLkNvcnRleFN0ZXBBcmVuYVRyYWplY3RvcnlDb252ZXJnZUgAEj4KDXRhc2tfc3ViYWdlbnQYdyABKAsyJS5leGEuY29ydGV4X3BiLkNvcnRleFN0ZXBUYXNrU3ViYWdlbnRIABI2Cg1zdWJ0cmFqZWN0b3J5GAYgASgLMh8uZXhhLmNvcnRleF9wYi5Db3J0ZXhUcmFqZWN0b3J5EjgKD3N1YnRyYWplY3RvcmllcxgzIAMoCzIfLmV4YS5jb3J0ZXhfcGIuQ29ydGV4VHJhamVjdG9yeUIGCgRzdGVwQhsKGV9zaGllbGRfZnJvbV9jYW5jZWxsYXRpb25KBAgCEANKBAgDEARKBAgSEBNKBAhSEFNKBAhDEERKBAhJEEpKBAhKEEtKBAhLEExKBAhMEE1KBAhOEE9KBAhPEFBKBAhQEFFKBAhREFJKBAhmEGdKBAhuEG9KBAhvEHBKBAhxEHJKBAhZEFpKBAhaEFtKBAhbEFxKBAhcEF1KBAhdEF5KBAhfEGBSEG9wZW5fYnJvd3Nlcl91cmxSGmV4ZWN1dGVfYnJvd3Nlcl9qYXZhc2NyaXB0UhJsaXN0X2Jyb3dzZXJfcGFnZXNSGmNhcHR1cmVfYnJvd3Nlcl9zY3JlZW5zaG90UhNjbGlja19icm93c2VyX3BpeGVsUhxjYXB0dXJlX2Jyb3dzZXJfY29uc29sZV9sb2dzUhFyZWFkX2Jyb3dzZXJfcGFnZVIccXVlcnlfYnJvd3Nlcl9wYWdlX2Zvcl9waXhlbFIMZ2V0X2RvbV90cmVlUhNzdXBlcmZsb3dfc2hvd191c2VyUhFzdXBlcmZsb3dfY29udGV4dFIRY2xhdWRlX2NvZGVfYWdlbnRSFWNsYXVkZV9jb2RlX3RvZG9fbGlzdFIQY2xhdWRlX2NvZGVfZ2xvYlIQY2xhdWRlX2NvZGVfZG9uZVISY2xhdWRlX2NvZGVfcmVzdWx0UhtjbGF1ZGVfY29kZV90b29sX3Blcm1pc3Npb25SCmRvX3Rlc3RpbmciUwoPVHJhamVjdG9yeVNjb3BlEhUKDXdvcmtzcGFjZV91cmkYASABKAkSFAoMZ2l0X3Jvb3RfdXJpGAIgASgJEhMKC2JyYW5jaF9uYW1lGAMgASgJIvEDChVDYXNjYWRlRXhlY3V0b3JDb25maWcSGgoNZGlzYWJsZV9hc3luYxgBIAEoCEgAiAEBEiEKGW1heF9nZW5lcmF0b3JfaW52b2NhdGlvbnMYAiABKAUSOgoTdGVybWluYWxfc3RlcF90eXBlcxgDIAMoDjIdLmV4YS5jb3J0ZXhfcGIuQ29ydGV4U3RlcFR5cGUSHgoRcnVuX3BlbmRpbmdfc3RlcHMYBCABKAhIAYgBARImChlob2xkX2Zvcl92YWxpZF9jaGVja3BvaW50GAUgASgISAKIAQESKQohaG9sZF9mb3JfdmFsaWRfY2hlY2twb2ludF90aW1lb3V0GAYgASgFEhUKDXJlc2VhcmNoX29ubHkYByABKAgSKAobdXNlX2FnZ3Jlc3NpdmVfc25hcHNob3R0aW5nGAggASgISAOIAQESIQoZZW5hYmxlX2JhY2tncm91bmRfbGludGluZxgJIAEoCBIgChhtYXhfbGludF9pbmplY3Rpb25fY291bnQYCiABKAVCEAoOX2Rpc2FibGVfYXN5bmNCFAoSX3J1bl9wZW5kaW5nX3N0ZXBzQhwKGl9ob2xkX2Zvcl92YWxpZF9jaGVja3BvaW50Qh4KHF91c2VfYWdncmVzc2l2ZV9zbmFwc2hvdHRpbmciUQoXRm9yY2VkQnJhaW5VcGRhdGVDb25maWcSHwoSdXBkYXRlX3NhbXBsZV9yYXRlGAEgASgCSACIAQFCFQoTX3VwZGF0ZV9zYW1wbGVfcmF0ZSI9ChhEeW5hbWljQnJhaW5VcGRhdGVDb25maWcSIQoVdXNlX2FnZ3Jlc3NpdmVfcHJvbXB0GAEgASgIQgIYASKpAgoTQnJhaW5VcGRhdGVTdHJhdGVneRIxCg9leGVjdXRvcl9mb3JjZWQYAiABKAsyFi5nb29nbGUucHJvdG9idWYuRW1wdHlIABJDChFpbnZvY2F0aW9uX2ZvcmNlZBgDIAEoCzImLmV4YS5jb3J0ZXhfcGIuRm9yY2VkQnJhaW5VcGRhdGVDb25maWdIABJBCg5keW5hbWljX3VwZGF0ZRgGIAEoCzInLmV4YS5jb3J0ZXhfcGIuRHluYW1pY0JyYWluVXBkYXRlQ29uZmlnSAASRQojZXhlY3V0b3JfZm9yY2VkX2FuZF93aXRoX2Rpc2NyZXRpb24YBSABKAsyFi5nb29nbGUucHJvdG9idWYuRW1wdHlIAEIKCghzdHJhdGVneUoECAQQBSKrBgoLQnJhaW5Db25maWcSFAoHZW5hYmxlZBgBIAEoCEgAiAEBEkAKFmJyYWluX21vZGVsX2RlcHJlY2F0ZWQYAiABKA4yHC5leGEuY29kZWl1bV9jb21tb25fcGIuTW9kZWxCAhgBEhcKD2JyYWluX21vZGVsX3VpZBgOIAEoCRIqCh11c2VfbWFpbl9tb2RlbF9hc19icmFpbl9tb2RlbBgNIAEoCEgBiAEBEiEKFGZvcmNlX25vX2V4cGxhbmF0aW9uGAQgASgISAKIAQESOwoPZmlsdGVyX3N0cmF0ZWd5GAUgASgOMiIuZXhhLmNvcnRleF9wYi5CcmFpbkZpbHRlclN0cmF0ZWd5EjsKD3VwZGF0ZV9zdHJhdGVneRgGIAEoCzIiLmV4YS5jb3J0ZXhfcGIuQnJhaW5VcGRhdGVTdHJhdGVneRIsCh91c2VfcmVwbGFjZV9jb250ZW50X2Zvcl91cGRhdGVzGAcgASgISAOIAQESKQocY29uZGVuc2VfdHJhamVjdG9yeV9tZXNzYWdlcxgIIAEoCEgEiAEBEikKHHJlY2VudF91cGRhdGVfdG9vbF90aHJlc2hvbGQYCSABKA1IBYgBARIoChtzdGFsZV91cGRhdGVfdG9vbF90aHJlc2hvbGQYCiABKA1IBogBARIjChthZGRpdGlvbmFsX2VwaGVtZXJhbF9wcm9tcHQYCyABKAkSIgoVdXNlX3J1bGVzX2luX3N1YmFnZW50GAwgASgISAeIAQFCCgoIX2VuYWJsZWRCIAoeX3VzZV9tYWluX21vZGVsX2FzX2JyYWluX21vZGVsQhcKFV9mb3JjZV9ub19leHBsYW5hdGlvbkIiCiBfdXNlX3JlcGxhY2VfY29udGVudF9mb3JfdXBkYXRlc0IfCh1fY29uZGVuc2VfdHJhamVjdG9yeV9tZXNzYWdlc0IfCh1fcmVjZW50X3VwZGF0ZV90b29sX3RocmVzaG9sZEIeChxfc3RhbGVfdXBkYXRlX3Rvb2xfdGhyZXNob2xkQhgKFl91c2VfcnVsZXNfaW5fc3ViYWdlbnRKBAgDEAQi8AEKFVBhcmFsbGVsUm9sbG91dENvbmZpZxIdChVudW1fcGFyYWxsZWxfcm9sbG91dHMYASABKAUSIwobbWF4X2ludm9jYXRpb25zX3Blcl9yb2xsb3V0GAIgASgNEkAKFmd1aWRlX21vZGVsX2RlcHJlY2F0ZWQYAyABKA4yHC5leGEuY29kZWl1bV9jb21tb25fcGIuTW9kZWxCAhgBEhcKD2d1aWRlX21vZGVsX3VpZBgGIAEoCRIdChVtYXhfZ3VpZGVfaW52b2NhdGlvbnMYBCABKAUSGQoRZm9yY2VfYmFkX3JvbGxvdXQYBSABKAgiOQoMQ2FzY2FkZUhvb2tzEikKBWhvb2tzGAEgAygLMhouZXhhLmNvcnRleF9wYi5DYXNjYWRlSG9vayL4BAoNQ2FzY2FkZUNvbmZpZxI7Cg5wbGFubmVyX2NvbmZpZxgBIAEoCzIjLmV4YS5jb3J0ZXhfcGIuQ2FzY2FkZVBsYW5uZXJDb25maWcSOgoRY2hlY2twb2ludF9jb25maWcYAiABKAsyHy5leGEuY29ydGV4X3BiLkNoZWNrcG9pbnRDb25maWcSPQoPZXhlY3V0b3JfY29uZmlnGAMgASgLMiQuZXhhLmNvcnRleF9wYi5DYXNjYWRlRXhlY3V0b3JDb25maWcSTwocdHJhamVjdG9yeV9jb252ZXJzaW9uX2NvbmZpZxgEIAEoCzIpLmV4YS5jb3J0ZXhfcGIuVHJhamVjdG9yeUNvbnZlcnNpb25Db25maWcSMgoNbWVtb3J5X2NvbmZpZxgFIAEoCzIbLmV4YS5jb3J0ZXhfcGIuTWVtb3J5Q29uZmlnEjAKDGJyYWluX2NvbmZpZxgHIAEoCzIaLmV4YS5jb3J0ZXhfcGIuQnJhaW5Db25maWcSKQocYXBwbHlfbW9kZWxfZGVmYXVsdF9vdmVycmlkZRgGIAEoCEgAiAEBEkUKF3BhcmFsbGVsX3JvbGxvdXRfY29uZmlnGAggASgLMiQuZXhhLmNvcnRleF9wYi5QYXJhbGxlbFJvbGxvdXRDb25maWcSKQoFaG9va3MYCSADKAsyGi5leGEuY29ydGV4X3BiLkNhc2NhZGVIb29rEiEKFG92ZXJyaWRlX2hhcm5lc3NfdWlkGAogASgJSAGIAQFCHwodX2FwcGx5X21vZGVsX2RlZmF1bHRfb3ZlcnJpZGVCFwoVX292ZXJyaWRlX2hhcm5lc3NfdWlkIswCChpUcmFqZWN0b3J5Q29udmVyc2lvbkNvbmZpZxIcCg91c2VfdG9vbF9mb3JtYXQYASABKAhIAIgBARIfChJpbmNsdWRlX2lucHV0X3N0ZXAYAiABKAhIAYgBARIuCiFncm91cF90b29sc193aXRoX3BsYW5uZXJfcmVzcG9uc2UYAyABKAhIAogBARI6ChNkaXNhYmxlZF9zdGVwX3R5cGVzGAQgAygOMh0uZXhhLmNvcnRleF9wYi5Db3J0ZXhTdGVwVHlwZRIdChB0b29sX2NhbGxfZm9vdGVyGAUgASgJSAOIAQFCEgoQX3VzZV90b29sX2Zvcm1hdEIVChNfaW5jbHVkZV9pbnB1dF9zdGVwQiQKIl9ncm91cF90b29sc193aXRoX3BsYW5uZXJfcmVzcG9uc2VCEwoRX3Rvb2xfY2FsbF9mb290ZXIi9wYKIkNhc2NhZGVDb252ZXJzYXRpb25hbFBsYW5uZXJDb25maWcSRgoMcGxhbm5lcl9tb2RlGAQgASgOMjAuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNvbnZlcnNhdGlvbmFsUGxhbm5lck1vZGUSGQoMdXNlX2NsdXN0ZXJzGAIgASgISACIAQESFAoMY2x1c3Rlcl9wYXRoGAMgASgJEhYKCWV2YWxfbW9kZRgFIAEoCEgBiAEBEioKHWNvZGVfcmVzZWFyY2hfc2VjdGlvbl9jb250ZW50GAYgASgJSAKIAQESJQoUdGVzdF9zZWN0aW9uX2NvbnRlbnQYCCABKAlCAhgBSAOIAQESPwoMdGVzdF9zZWN0aW9uGAkgASgLMiQuZXhhLmNvcnRleF9wYi5TZWN0aW9uT3ZlcnJpZGVDb25maWdIBIgBARJHChR0b29sX2NhbGxpbmdfc2VjdGlvbhgKIAEoCzIkLmV4YS5jb3J0ZXhfcGIuU2VjdGlvbk92ZXJyaWRlQ29uZmlnSAWIAQESRwoUY29kZV9jaGFuZ2VzX3NlY3Rpb24YCyABKAsyJC5leGEuY29ydGV4X3BiLlNlY3Rpb25PdmVycmlkZUNvbmZpZ0gGiAEBElIKH2FkZGl0aW9uYWxfaW5zdHJ1Y3Rpb25zX3NlY3Rpb24YDCABKAsyJC5leGEuY29ydGV4X3BiLlNlY3Rpb25PdmVycmlkZUNvbmZpZ0gHiAEBEkgKFWNvbW11bmljYXRpb25fc2VjdGlvbhgNIAEoCzIkLmV4YS5jb3J0ZXhfcGIuU2VjdGlvbk92ZXJyaWRlQ29uZmlnSAiIAQFCDwoNX3VzZV9jbHVzdGVyc0IMCgpfZXZhbF9tb2RlQiAKHl9jb2RlX3Jlc2VhcmNoX3NlY3Rpb25fY29udGVudEIXChVfdGVzdF9zZWN0aW9uX2NvbnRlbnRCDwoNX3Rlc3Rfc2VjdGlvbkIXChVfdG9vbF9jYWxsaW5nX3NlY3Rpb25CFwoVX2NvZGVfY2hhbmdlc19zZWN0aW9uQiIKIF9hZGRpdGlvbmFsX2luc3RydWN0aW9uc19zZWN0aW9uQhgKFl9jb21tdW5pY2F0aW9uX3NlY3Rpb25KBAgBEAJKBAgOEA9SCXJlYWRfb25seVIKaXNfdHJ1c3RlZCJ5ChVTZWN0aW9uT3ZlcnJpZGVDb25maWcSNQoEbW9kZRgBIAEoDjIiLmV4YS5jb3J0ZXhfcGIuU2VjdGlvbk92ZXJyaWRlTW9kZUgAiAEBEhQKB2NvbnRlbnQYAiABKAlIAYgBAUIHCgVfbW9kZUIKCghfY29udGVudCLGAQoUUHJvbXB0T3ZlcnJpZGVDb25maWcSVAoRc2VjdGlvbl9vdmVycmlkZXMYASADKAsyOS5leGEuY29ydGV4X3BiLlByb21wdE92ZXJyaWRlQ29uZmlnLlNlY3Rpb25PdmVycmlkZXNFbnRyeRIfChdhZGRpdGlvbmFsX2luc3RydWN0aW9ucxgCIAMoCRo3ChVTZWN0aW9uT3ZlcnJpZGVzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASKNAgoiQ2FzY2FkZUFnZW50aWNQbGFubmVyTWFuYWdlckNvbmZpZxIUCgdlbmFibGVkGAEgASgISACIAQESOgoQbW9kZWxfZGVwcmVjYXRlZBgCIAEoDjIcLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Nb2RlbEICGAESEQoJbW9kZWxfdWlkGAUgASgJEh4KEWNvbmRlbnNlX21lc3NhZ2VzGAMgASgISAGIAQESJAoXc2VuZF9vbmx5X3VzZXJfbWVzc2FnZXMYBCABKAhIAogBAUIKCghfZW5hYmxlZEIUChJfY29uZGVuc2VfbWVzc2FnZXNCGgoYX3NlbmRfb25seV91c2VyX21lc3NhZ2VzIoYCCiJDYXNjYWRlQWdlbnRpY1BsYW5uZXJBcHBsaWVyQ29uZmlnEhQKB2VuYWJsZWQYASABKAhIAIgBARI6ChBtb2RlbF9kZXByZWNhdGVkGAIgASgOMhwuZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1vZGVsQgIYARIRCgltb2RlbF91aWQYBSABKAkSFAoMbnVtX3JvbGxvdXRzGAMgASgFEkAKFmp1ZGdlX21vZGVsX2RlcHJlY2F0ZWQYBCABKA4yHC5leGEuY29kZWl1bV9jb21tb25fcGIuTW9kZWxCAhgBEhcKD2p1ZGdlX21vZGVsX3VpZBgGIAEoCUIKCghfZW5hYmxlZCKnAwobQ2FzY2FkZUFnZW50aWNQbGFubmVyQ29uZmlnEiEKFGVuYWJsZV9mZWVkYmFja19sb29wGAEgASgISACIAQESFgoJZXZhbF9tb2RlGAIgASgISAGIAQESNAoIdG9vbF9zZXQYBSABKA4yIi5leGEuY29ydGV4X3BiLkNhc2NhZGVBZ2VudFRvb2xTZXQSKgoFbWl4aW4YBiABKA4yGy5leGEuY29ydGV4X3BiLkFnZW50aWNNaXhpbhJOCg5tYW5hZ2VyX2NvbmZpZxgDIAEoCzIxLmV4YS5jb3J0ZXhfcGIuQ2FzY2FkZUFnZW50aWNQbGFubmVyTWFuYWdlckNvbmZpZ0gCiAEBEk4KDmFwcGxpZXJfY29uZmlnGAQgASgLMjEuZXhhLmNvcnRleF9wYi5DYXNjYWRlQWdlbnRpY1BsYW5uZXJBcHBsaWVyQ29uZmlnSAOIAQFCFwoVX2VuYWJsZV9mZWVkYmFja19sb29wQgwKCl9ldmFsX21vZGVCEQoPX21hbmFnZXJfY29uZmlnQhEKD19hcHBsaWVyX2NvbmZpZyKaAQocQ2FzY2FkZVJlc2VhcmNoUGxhbm5lckNvbmZpZxIgChNhZGRfcmVmZXJlbmNlX25vZGVzGAEgASgISACIAQESGQoMdXNlX2NsdXN0ZXJzGAIgASgISAGIAQESFAoMY2x1c3Rlcl9wYXRoGAMgASgJQhYKFF9hZGRfcmVmZXJlbmNlX25vZGVzQg8KDV91c2VfY2x1c3RlcnMi3QMKEE1xdWVyeVRvb2xDb25maWcSOwoObV9xdWVyeV9jb25maWcYASABKAsyIy5leGEuY29kZWl1bV9jb21tb25fcGIuTVF1ZXJ5Q29uZmlnEjMKDW1fcXVlcnlfbW9kZWwYAiABKA4yHC5leGEuY29kZWl1bV9jb21tb25fcGIuTW9kZWwSHgoWbWF4X3Rva2Vuc19wZXJfbV9xdWVyeRgDIAEoDRIiChVudW1faXRlbXNfZnVsbF9zb3VyY2UYBCABKAVIAIgBARIdChVtYXhfbGluZXNfcGVyX3NuaXBwZXQYBSABKAUSJwoaZW5hYmxlX3NlYXJjaF9pbl9maWxlX3Rvb2wYBiABKAhIAYgBARIjChZhbGxvd19hY2Nlc3NfZ2l0aWdub3JlGAcgASgISAKIAQESLQogZGlzYWJsZV9zZW1hbnRpY19jb2RlYmFzZV9zZWFyY2gYCCABKAhIA4gBAUIYChZfbnVtX2l0ZW1zX2Z1bGxfc291cmNlQh0KG19lbmFibGVfc2VhcmNoX2luX2ZpbGVfdG9vbEIZChdfYWxsb3dfYWNjZXNzX2dpdGlnbm9yZUIjCiFfZGlzYWJsZV9zZW1hbnRpY19jb2RlYmFzZV9zZWFyY2gisQIKDkdyZXBUb29sQ29uZmlnEhwKEG1heF9ncmVwX3Jlc3VsdHMYASABKA1CAhgBEiYKFWluY2x1ZGVfY2NpX2luX3Jlc3VsdBgCIAEoCEICGAFIAIgBARIgChRudW1fZnVsbF9zb3VyY2VfY2NpcxgDIAEoDUICGAESHQoRbWF4X2J5dGVzX3Blcl9jY2kYBCABKA1CAhgBEj4KEWVudGVycHJpc2VfY29uZmlnGAUgASgLMiMuZXhhLmNvcnRleF9wYi5FbnRlcnByaXNlVG9vbENvbmZpZxIjChZhbGxvd19hY2Nlc3NfZ2l0aWdub3JlGAYgASgISAGIAQFCGAoWX2luY2x1ZGVfY2NpX2luX3Jlc3VsdEIZChdfYWxsb3dfYWNjZXNzX2dpdGlnbm9yZSKSAQoQR3JlcFYyVG9vbENvbmZpZxI+ChFlbnRlcnByaXNlX2NvbmZpZxgBIAEoCzIjLmV4YS5jb3J0ZXhfcGIuRW50ZXJwcmlzZVRvb2xDb25maWcSIwoWYWxsb3dfYWNjZXNzX2dpdGlnbm9yZRgCIAEoCEgAiAEBQhkKF19hbGxvd19hY2Nlc3NfZ2l0aWdub3JlIjsKDkZpbmRUb29sQ29uZmlnEhgKEG1heF9maW5kX3Jlc3VsdHMYASABKA0SDwoHZmRfcGF0aBgCIAEoCSI7ChZDbHVzdGVyUXVlcnlUb29sQ29uZmlnEiEKGW1heF9jbHVzdGVyX3F1ZXJ5X3Jlc3VsdHMYASABKA0iQgoYSW5zcGVjdENsdXN0ZXJUb29sQ29uZmlnEiYKHm1heF90b2tlbnNfcGVyX2luc3BlY3RfY2x1c3RlchgBIAEoDSLWBAoRQXV0b0NvbW1hbmRDb25maWcSJgoVZW5hYmxlX21vZGVsX2F1dG9fcnVuGAEgASgIQgIYAUgAiAEBEhoKDnVzZXJfYWxsb3dsaXN0GAIgAygJQgIYARIZCg11c2VyX2RlbnlsaXN0GAMgAygJQgIYARIYChBzeXN0ZW1fYWxsb3dsaXN0GAQgAygJEhcKD3N5c3RlbV9kZW55bGlzdBgFIAMoCRIXCg9zeXN0ZW1fbm9vcGxpc3QYByADKAkSVgoVYXV0b19leGVjdXRpb25fcG9saWN5GAYgASgOMjMuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNhc2NhZGVDb21tYW5kc0F1dG9FeGVjdXRpb25CAhgBElUKGG1heF9hdXRvX2V4ZWN1dGlvbl9sZXZlbBgIIAEoDjIzLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5DYXNjYWRlQ29tbWFuZHNBdXRvRXhlY3V0aW9uElsKHndvcmtmbG93X2F1dG9fZXhlY3V0aW9uX3BvbGljeRgJIAEoDjIzLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5DYXNjYWRlQ29tbWFuZHNBdXRvRXhlY3V0aW9uEhYKDnRlYW1fYWxsb3dsaXN0GAogAygJEhUKDXRlYW1fZGVueWxpc3QYCyADKAkSIAoYY2FzY2FkZV9jb25maWdfYWxsb3dsaXN0GAwgAygJEh8KF2Nhc2NhZGVfY29uZmlnX2RlbnlsaXN0GA0gAygJQhgKFl9lbmFibGVfbW9kZWxfYXV0b19ydW4igAEKFEF1dG9XZWJSZXF1ZXN0Q29uZmlnEhEKCWFsbG93bGlzdBgBIAMoCRJVChVhdXRvX2V4ZWN1dGlvbl9wb2xpY3kYAiABKA4yNi5leGEuY29kZWl1bV9jb21tb25fcGIuQ2FzY2FkZVdlYlJlcXVlc3RzQXV0b0V4ZWN1dGlvbiJTChFMaXN0RGlyVG9vbENvbmZpZxI+ChFlbnRlcnByaXNlX2NvbmZpZxgBIAEoCzIjLmV4YS5jb3J0ZXhfcGIuRW50ZXJwcmlzZVRvb2xDb25maWcisQQKFFJ1bkNvbW1hbmRUb29sQ29uZmlnEiAKGG1heF9jaGFyc19jb21tYW5kX3N0ZG91dBgBIAEoDRIaCg1mb3JjZV9kaXNhYmxlGAIgASgISACIAQESPQoTYXV0b19jb21tYW5kX2NvbmZpZxgDIAEoCzIgLmV4YS5jb3J0ZXhfcGIuQXV0b0NvbW1hbmRDb25maWcSKgodZW5hYmxlX2lkZV90ZXJtaW5hbF9leGVjdXRpb24YBCABKAhIAYgBARIwCh9lbmFibGVfbWlkdGVybV9vdXRwdXRfcHJvY2Vzc29yGAggASgIQgIYAUgCiAEBEhIKCnNoZWxsX25hbWUYBSABKAkSEgoKc2hlbGxfcGF0aBgGIAEoCRIWCg5tYXhfdGltZW91dF9tcxgHIAEoDRI+ChFlbnRlcnByaXNlX2NvbmZpZxgJIAEoCzIjLmV4YS5jb3J0ZXhfcGIuRW50ZXJwcmlzZVRvb2xDb25maWcSGAoLdXNlX2Jhc2hfdjIYCiABKAhIA4gBARIoCiBzaGVsbF9pbnRlZ3JhdGlvbl9mYWlsdXJlX3JlYXNvbhgLIAEoCRISCgpzaGVsbF9hcmdzGAwgAygJQhAKDl9mb3JjZV9kaXNhYmxlQiAKHl9lbmFibGVfaWRlX3Rlcm1pbmFsX2V4ZWN1dGlvbkIiCiBfZW5hYmxlX21pZHRlcm1fb3V0cHV0X3Byb2Nlc3NvckIOCgxfdXNlX2Jhc2hfdjIifwodS25vd2xlZGdlQmFzZVNlYXJjaFRvb2xDb25maWcSLAokbWF4X3Rva2Vuc19wZXJfa25vd2xlZGdlX2Jhc2Vfc2VhcmNoGAEgASgNEhwKD3Byb21wdF9mcmFjdGlvbhgCIAEoAUgAiAEBQhIKEF9wcm9tcHRfZnJhY3Rpb24ilAEKF0Zhc3RBcHBseUZhbGxiYWNrQ29uZmlnEg8KB2VuYWJsZWQYASABKAgSIgoacHJvbXB0X3VuY2hhbmdlZF90aHJlc2hvbGQYAiABKA0SIQoZY29udGVudF92aWV3X3JhZGl1c19saW5lcxgDIAEoDRIhChljb250ZW50X2VkaXRfcmFkaXVzX2xpbmVzGAQgASgNIocEChhSZXBsYWNlQ29udGVudFRvb2xDb25maWcSKAogbWF4X2Z1enp5X2VkaXRfZGlzdGFuY2VfZnJhY3Rpb24YASABKAISKQohYWxsb3dfcGFydGlhbF9yZXBsYWNlbWVudF9zdWNjZXNzGAIgASgIEiYKHnZpZXdfZmlsZV9yZWNlbmN5X21heF9kaXN0YW5jZRgDIAEoDRIjChtlbmFibGVfZnV6enlfc2FuZHdpY2hfbWF0Y2gYBCABKAgSSgoaZmFzdF9hcHBseV9mYWxsYmFja19jb25maWcYBSABKAsyJi5leGEuY29ydGV4X3BiLkZhc3RBcHBseUZhbGxiYWNrQ29uZmlnEjcKDHRvb2xfdmFyaWFudBgGIAEoDjIhLmV4YS5jb3J0ZXhfcGIuUmVwbGFjZVRvb2xWYXJpYW50EkIKFG92ZXJyaWRlX2Rlc2NyaXB0aW9uGAcgASgLMiQuZXhhLmNvcnRleF9wYi5TZWN0aW9uT3ZlcnJpZGVDb25maWcSJAoXc2hvd190cmlnZ2VyZWRfbWVtb3JpZXMYCCABKAhIAIgBARIjChZkaXNhYmxlX2FsbG93X211bHRpcGxlGAkgASgISAGIAQFCGgoYX3Nob3dfdHJpZ2dlcmVkX21lbW9yaWVzQhkKF19kaXNhYmxlX2FsbG93X211bHRpcGxlIqoICg5Db2RlVG9vbENvbmZpZxIaChJkaXNhYmxlX2V4dGVuc2lvbnMYASADKAkSGAoLYXBwbHlfZWRpdHMYAiABKAhIAIgBARIqCh11c2VfcmVwbGFjZV9jb250ZW50X2VkaXRfdG9vbBgDIAEoCEgBiAEBEkwKG3JlcGxhY2VfY29udGVudF90b29sX2NvbmZpZxgEIAEoCzInLmV4YS5jb3J0ZXhfcGIuUmVwbGFjZUNvbnRlbnRUb29sQ29uZmlnEkQKFWF1dG9fZml4X2xpbnRzX2NvbmZpZxgFIAEoCzIhLmV4YS5jb3J0ZXhfcGIuQXV0b0ZpeExpbnRzQ29uZmlnQgIYARIhChRhbGxvd19lZGl0X2dpdGlnbm9yZRgGIAEoCEgCiAEBEj4KEWVudGVycHJpc2VfY29uZmlnGAcgASgLMiMuZXhhLmNvcnRleF9wYi5FbnRlcnByaXNlVG9vbENvbmZpZxIyCiVvdmVycmlkZV9hbGxvd19hY3Rpb25fb25fdW5zYXZlZF9maWxlGAggASgISAOIAQESLAofc2tpcF9yZXBsYWNlX2NvbnRlbnRfdmFsaWRhdGlvbhgJIAEoCEgEiAEBEi0KIHVzZV9yZXBsYWNlX2NvbnRlbnRfcHJvcG9zZV9jb2RlGAogASgISAWIAQESLAofb25seV9zaG93X2luY3JlbWVudGFsX2RpZmZfem9uZRgLIAEoCEgGiAEBEhYKDmZpbGVfYWxsb3dsaXN0GAwgAygJEhUKDWRpcl9hbGxvd2xpc3QYESADKAkSEQoJcGxhbl9kaXJzGBMgAygJEiwKH3J1bl9wcm9wb3NhbF9leHRlbnNpb25fdmVyaWZpZXIYDiABKAhIB4gBARIjChZza2lwX2F3YWl0X2xpbnRfZXJyb3JzGA8gASgISAiIAQESIwoWYWxsb3dfZWRpdF9ydWxlc19maWxlcxgSIAEoCEgJiAEBQg4KDF9hcHBseV9lZGl0c0IgCh5fdXNlX3JlcGxhY2VfY29udGVudF9lZGl0X3Rvb2xCFwoVX2FsbG93X2VkaXRfZ2l0aWdub3JlQigKJl9vdmVycmlkZV9hbGxvd19hY3Rpb25fb25fdW5zYXZlZF9maWxlQiIKIF9za2lwX3JlcGxhY2VfY29udGVudF92YWxpZGF0aW9uQiMKIV91c2VfcmVwbGFjZV9jb250ZW50X3Byb3Bvc2VfY29kZUIiCiBfb25seV9zaG93X2luY3JlbWVudGFsX2RpZmZfem9uZUIiCiBfcnVuX3Byb3Bvc2FsX2V4dGVuc2lvbl92ZXJpZmllckIZChdfc2tpcF9hd2FpdF9saW50X2Vycm9yc0IZChdfYWxsb3dfZWRpdF9ydWxlc19maWxlc0oECA0QDkoECBAQESKLAQoQSW50ZW50VG9vbENvbmZpZxJBChdpbnRlbnRfbW9kZWxfZGVwcmVjYXRlZBgBIAEoDjIcLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Nb2RlbEICGAESGAoQaW50ZW50X21vZGVsX3VpZBgDIAEoCRIaChJtYXhfY29udGV4dF90b2tlbnMYAiABKA0ilgYKElZpZXdGaWxlVG9vbENvbmZpZxIeChZtYXhfdG9rZW5zX3Blcl9vdXRsaW5lGAEgASgNEh4KFm1heF9kb2NfbGluZXNfZnJhY3Rpb24YAiABKAISHgoRYWxsb3dfZG9jX291dGxpbmUYBCABKAhIAIgBARIlChh1c2VfbGluZV9udW1iZXJzX2Zvcl9yYXcYBSABKAhIAYgBARIeChF1c2VfcHJvbXB0X3ByZWZpeBgGIAEoCEgCiAEBEiEKFGFsbG93X3ZpZXdfZ2l0aWdub3JlGAcgASgISAOIAQESIwoSc3BsaXRfb3V0bGluZV90b29sGAggASgIQgIYAUgEiAEBEh8KF21heF90b3RhbF9vdXRsaW5lX2J5dGVzGAkgASgNEiIKGm1heF9ieXRlc19wZXJfb3V0bGluZV9pdGVtGAsgASgNEiEKFHNob3dfZnVsbF9maWxlX2J5dGVzGAogASgNSAWIAQESJAoXc2hvd190cmlnZ2VyZWRfbWVtb3JpZXMYDSABKAhIBogBARI+ChFlbnRlcnByaXNlX2NvbmZpZxgMIAEoCzIjLmV4YS5jb3J0ZXhfcGIuRW50ZXJwcmlzZVRvb2xDb25maWcSHwoSbWF4X2xpbmVzX3Blcl92aWV3GA4gASgNSAeIAQESHQoQdXNlX3ZpZXdfZmlsZV92MhgPIAEoCEgIiAEBQhQKEl9hbGxvd19kb2Nfb3V0bGluZUIbChlfdXNlX2xpbmVfbnVtYmVyc19mb3JfcmF3QhQKEl91c2VfcHJvbXB0X3ByZWZpeEIXChVfYWxsb3dfdmlld19naXRpZ25vcmVCFQoTX3NwbGl0X291dGxpbmVfdG9vbEIXChVfc2hvd19mdWxsX2ZpbGVfYnl0ZXNCGgoYX3Nob3dfdHJpZ2dlcmVkX21lbW9yaWVzQhUKE19tYXhfbGluZXNfcGVyX3ZpZXdCEwoRX3VzZV92aWV3X2ZpbGVfdjJKBAgDEARKBAgQEBFSD3VzZV9kb2Nfb3V0bGluZVIMZGlzYWJsZV9yZWFkIkcKF1N1Z2dlc3RlZFJlc3BvbnNlQ29uZmlnEhoKDWZvcmNlX2Rpc2FibGUYASABKAhIAIgBAUIQCg5fZm9yY2VfZGlzYWJsZSKtAQoTU2VhcmNoV2ViVG9vbENvbmZpZxIaCg1mb3JjZV9kaXNhYmxlGAEgASgISACIAQESUQoSdGhpcmRfcGFydHlfY29uZmlnGAIgASgLMjAuZXhhLmNvZGVpdW1fY29tbW9uX3BiLlRoaXJkUGFydHlXZWJTZWFyY2hDb25maWdIAYgBAUIQCg5fZm9yY2VfZGlzYWJsZUIVChNfdGhpcmRfcGFydHlfY29uZmlnIo4BChhSZWFkVXJsQ29udGVudFRvb2xDb25maWcSGgoNZm9yY2VfZGlzYWJsZRgBIAEoCEgAiAEBEkQKF2F1dG9fd2ViX3JlcXVlc3RfY29uZmlnGAIgASgLMiMuZXhhLmNvcnRleF9wYi5BdXRvV2ViUmVxdWVzdENvbmZpZ0IQCg5fZm9yY2VfZGlzYWJsZSK+AQoQTWVtb3J5VG9vbENvbmZpZxIaCg1mb3JjZV9kaXNhYmxlGAEgASgISACIAQESKwoeZGlzYWJsZV9hdXRvX2dlbmVyYXRlX21lbW9yaWVzGAIgASgISAGIAQESGgoNZGlzYWJsZV93cml0ZRgDIAEoCEgCiAEBQhAKDl9mb3JjZV9kaXNhYmxlQiEKH19kaXNhYmxlX2F1dG9fZ2VuZXJhdGVfbWVtb3JpZXNCEAoOX2Rpc2FibGVfd3JpdGUiVwoNTWNwVG9vbENvbmZpZxIaCg1mb3JjZV9kaXNhYmxlGAEgASgISACIAQESGAoQbWF4X291dHB1dF9ieXRlcxgCIAEoDUIQCg5fZm9yY2VfZGlzYWJsZSJqChJBdXRvRml4TGludHNDb25maWcSFAoHZW5hYmxlZBgBIAEoCEgAiAEBEh0KEG5vdGlmeWluZ19wcm9tcHQYAiABKAlIAYgBAUIKCghfZW5hYmxlZEITChFfbm90aWZ5aW5nX3Byb21wdCJIChhQcm94eVdlYlNlcnZlclRvb2xDb25maWcSGgoNZm9yY2VfZGlzYWJsZRgBIAEoCEgAiAEBQhAKDl9mb3JjZV9kaXNhYmxlIjoKFkRlcGxveVdlYkFwcFRvb2xDb25maWcSFAoHZW5hYmxlZBgBIAEoCEgAiAEBQgoKCF9lbmFibGVkIuUBChpUcmFqZWN0b3J5U2VhcmNoVG9vbENvbmZpZxIaCg1mb3JjZV9kaXNhYmxlGAEgASgISACIAQESIgoVY29udmVyc2F0aW9uc19lbmFibGVkGAIgASgISAGIAQESJAoXdXNlcl9hY3Rpdml0aWVzX2VuYWJsZWQYAyABKAhIAogBARIZChFtYXhfc2NvcmVkX2NodW5rcxgEIAEoDUIQCg5fZm9yY2VfZGlzYWJsZUIYChZfY29udmVyc2F0aW9uc19lbmFibGVkQhoKGF91c2VyX2FjdGl2aXRpZXNfZW5hYmxlZCJ8ChRFbnRlcnByaXNlVG9vbENvbmZpZxIpChxlbmZvcmNlX3dvcmtzcGFjZV92YWxpZGF0aW9uGAEgASgISACIAQESGAoQY3VzdG9tX3dvcmtzcGFjZRgCIAMoCUIfCh1fZW5mb3JjZV93b3Jrc3BhY2VfdmFsaWRhdGlvbiK+AQoWVmlld0NvZGVJdGVtVG9vbENvbmZpZxIaCg1tYXhfbnVtX2l0ZW1zGAEgASgNSACIAQESHwoSbWF4X2J5dGVzX3Blcl9pdGVtGAIgASgNSAGIAQESIwoWYWxsb3dfYWNjZXNzX2dpdGlnbm9yZRgDIAEoCEgCiAEBQhAKDl9tYXhfbnVtX2l0ZW1zQhUKE19tYXhfYnl0ZXNfcGVyX2l0ZW1CGQoXX2FsbG93X2FjY2Vzc19naXRpZ25vcmUiPwoXQ29tbWFuZFN0YXR1c1Rvb2xDb25maWcSFgoJdXNlX2RlbHRhGAEgASgISACIAQFCDAoKX3VzZV9kZWx0YSKLAQofUmVhZEtub3dsZWRnZUJhc2VJdGVtVG9vbENvbmZpZxIUCgdlbmFibGVkGAEgASgISACIAQESRgoUa25vd2xlZGdlX2Jhc2VfaXRlbXMYAiADKAsyKC5leGEuY29kZWl1bV9jb21tb25fcGIuS25vd2xlZGdlQmFzZUl0ZW1CCgoIX2VuYWJsZWQiygEKGlRvb2xEZXNjcmlwdGlvbk92ZXJyaWRlTWFwElEKDGRlc2NyaXB0aW9ucxgBIAMoCzI7LmV4YS5jb3J0ZXhfcGIuVG9vbERlc2NyaXB0aW9uT3ZlcnJpZGVNYXAuRGVzY3JpcHRpb25zRW50cnkaWQoRRGVzY3JpcHRpb25zRW50cnkSCwoDa2V5GAEgASgJEjMKBXZhbHVlGAIgASgLMiQuZXhhLmNvcnRleF9wYi5TZWN0aW9uT3ZlcnJpZGVDb25maWc6AjgBIk4KHkF1dG9DYXNjYWRlQnJvYWRjYXN0VG9vbENvbmZpZxIaCg1mb3JjZV9kaXNhYmxlGAEgASgISACIAQFCEAoOX2ZvcmNlX2Rpc2FibGUiNgoSTm90ZWJvb2tUb29sQ29uZmlnEhQKB2VuYWJsZWQYASABKAhIAIgBAUIKCghfZW5hYmxlZCJJChlGaW5kQ29kZUNvbnRleHRUb29sQ29uZmlnEhoKDWZvcmNlX2Rpc2FibGUYASABKAhIAIgBAUIQCg5fZm9yY2VfZGlzYWJsZSI9ChVTbWFydEZyaWVuZFRvb2xDb25maWcSHgoWc21hcnRfZnJpZW5kX21vZGVsX3VpZBgCIAEoCUoECAEQAiI9ChlBc2tVc2VyUXVlc3Rpb25Ub29sQ29uZmlnEhQKB2VuYWJsZWQYASABKAhIAIgBAUIKCghfZW5hYmxlZCI6ChZFeGl0UGxhbk1vZGVUb29sQ29uZmlnEhQKB2VuYWJsZWQYASABKAhIAIgBAUIKCghfZW5hYmxlZCI6ChZUYXNrU3ViYWdlbnRUb29sQ29uZmlnEhQKB2VuYWJsZWQYASABKAhIAIgBAUIKCghfZW5hYmxlZCLXEQoRQ2FzY2FkZVRvb2xDb25maWcSLwoGbXF1ZXJ5GAEgASgLMh8uZXhhLmNvcnRleF9wYi5NcXVlcnlUb29sQ29uZmlnEisKBGNvZGUYAiABKAsyHS5leGEuY29ydGV4X3BiLkNvZGVUb29sQ29uZmlnEi8KBmludGVudBgDIAEoCzIfLmV4YS5jb3J0ZXhfcGIuSW50ZW50VG9vbENvbmZpZxIrCgRncmVwGAQgASgLMh0uZXhhLmNvcnRleF9wYi5HcmVwVG9vbENvbmZpZxIrCgRmaW5kGAUgASgLMh0uZXhhLmNvcnRleF9wYi5GaW5kVG9vbENvbmZpZxI8Cg1jbHVzdGVyX3F1ZXJ5GAYgASgLMiUuZXhhLmNvcnRleF9wYi5DbHVzdGVyUXVlcnlUb29sQ29uZmlnEkAKD2luc3BlY3RfY2x1c3RlchgHIAEoCzInLmV4YS5jb3J0ZXhfcGIuSW5zcGVjdENsdXN0ZXJUb29sQ29uZmlnEjgKC3J1bl9jb21tYW5kGAggASgLMiMuZXhhLmNvcnRleF9wYi5SdW5Db21tYW5kVG9vbENvbmZpZxJLChVrbm93bGVkZ2VfYmFzZV9zZWFyY2gYCSABKAsyLC5leGEuY29ydGV4X3BiLktub3dsZWRnZUJhc2VTZWFyY2hUb29sQ29uZmlnEjQKCXZpZXdfZmlsZRgKIAEoCzIhLmV4YS5jb3J0ZXhfcGIuVmlld0ZpbGVUb29sQ29uZmlnEkIKEnN1Z2dlc3RlZF9yZXNwb25zZRgLIAEoCzImLmV4YS5jb3J0ZXhfcGIuU3VnZ2VzdGVkUmVzcG9uc2VDb25maWcSNgoKc2VhcmNoX3dlYhgNIAEoCzIiLmV4YS5jb3J0ZXhfcGIuU2VhcmNoV2ViVG9vbENvbmZpZxJBChByZWFkX3VybF9jb250ZW50GCUgASgLMicuZXhhLmNvcnRleF9wYi5SZWFkVXJsQ29udGVudFRvb2xDb25maWcSLwoGbWVtb3J5GA4gASgLMh8uZXhhLmNvcnRleF9wYi5NZW1vcnlUb29sQ29uZmlnEikKA21jcBgQIAEoCzIcLmV4YS5jb3J0ZXhfcGIuTWNwVG9vbENvbmZpZxJBChBwcm94eV93ZWJfc2VydmVyGBEgASgLMicuZXhhLmNvcnRleF9wYi5Qcm94eVdlYlNlcnZlclRvb2xDb25maWcSPQoOZGVwbG95X3dlYl9hcHAYEiABKAsyJS5leGEuY29ydGV4X3BiLkRlcGxveVdlYkFwcFRvb2xDb25maWcSMgoIbGlzdF9kaXIYEyABKAsyIC5leGEuY29ydGV4X3BiLkxpc3REaXJUb29sQ29uZmlnEj0KDnZpZXdfY29kZV9pdGVtGBQgASgLMiUuZXhhLmNvcnRleF9wYi5WaWV3Q29kZUl0ZW1Ub29sQ29uZmlnElAKGHJlYWRfa25vd2xlZGdlX2Jhc2VfaXRlbRgVIAEoCzIuLmV4YS5jb3J0ZXhfcGIuUmVhZEtub3dsZWRnZUJhc2VJdGVtVG9vbENvbmZpZxI+Cg5jb21tYW5kX3N0YXR1cxgXIAEoCzImLmV4YS5jb3J0ZXhfcGIuQ29tbWFuZFN0YXR1c1Rvb2xDb25maWcSQwoTZmluZF9hbGxfcmVmZXJlbmNlcxgYIAEoCzImLmV4YS5jb3J0ZXhfcGIuRmluZEFsbFJlZmVyZW5jZXNDb25maWcSQQoScnVuX2V4dGVuc2lvbl9jb2RlGBogASgLMiUuZXhhLmNvcnRleF9wYi5SdW5FeHRlbnNpb25Db2RlQ29uZmlnEjoKDmFkZF9hbm5vdGF0aW9uGBsgASgLMiIuZXhhLmNvcnRleF9wYi5BZGRBbm5vdGF0aW9uQ29uZmlnEkQKEXRyYWplY3Rvcnlfc2VhcmNoGBwgASgLMikuZXhhLmNvcnRleF9wYi5UcmFqZWN0b3J5U2VhcmNoVG9vbENvbmZpZxIwCgdncmVwX3YyGCEgASgLMh8uZXhhLmNvcnRleF9wYi5HcmVwVjJUb29sQ29uZmlnEksKGGRlc2NyaXB0aW9uX292ZXJyaWRlX21hcBgWIAEoCzIpLmV4YS5jb3J0ZXhfcGIuVG9vbERlc2NyaXB0aW9uT3ZlcnJpZGVNYXASKgodZGlzYWJsZV9zaW1wbGVfcmVzZWFyY2hfdG9vbHMYHSABKAhIAIgBARJNChZhdXRvX2Nhc2NhZGVfYnJvYWRjYXN0GB4gASgLMi0uZXhhLmNvcnRleF9wYi5BdXRvQ2FzY2FkZUJyb2FkY2FzdFRvb2xDb25maWcSMwoIbm90ZWJvb2sYHyABKAsyIS5leGEuY29ydGV4X3BiLk5vdGVib29rVG9vbENvbmZpZxJDChFmaW5kX2NvZGVfY29udGV4dBgiIAEoCzIoLmV4YS5jb3J0ZXhfcGIuRmluZENvZGVDb250ZXh0VG9vbENvbmZpZxI6CgxzbWFydF9mcmllbmQYIyABKAsyJC5leGEuY29ydGV4X3BiLlNtYXJ0RnJpZW5kVG9vbENvbmZpZxI9Cg5leGl0X3BsYW5fbW9kZRgmIAEoCzIlLmV4YS5jb3J0ZXhfcGIuRXhpdFBsYW5Nb2RlVG9vbENvbmZpZxJDChFhc2tfdXNlcl9xdWVzdGlvbhgnIAEoCzIoLmV4YS5jb3J0ZXhfcGIuQXNrVXNlclF1ZXN0aW9uVG9vbENvbmZpZxI8Cg10YXNrX3N1YmFnZW50GCggASgLMiUuZXhhLmNvcnRleF9wYi5UYXNrU3ViYWdlbnRUb29sQ29uZmlnEhYKDnRvb2xfYWxsb3dsaXN0GCAgAygJQiAKHl9kaXNhYmxlX3NpbXBsZV9yZXNlYXJjaF90b29sc0oECA8QEEoECAwQDUoECBkQGkoECCQQJVIOUmVhZFVybENvbnRlbnRSEHdpbmRzdXJmX2Jyb3dzZXJSCmRvX3Rlc3RpbmciWQobQ2FzY2FkZVBhc3NpdmVQbGFubmVyQ29uZmlnEhYKCXJlYWRfb25seRgBIAEoCEgAiAEBQgwKCl9yZWFkX29ubHlKBAgCEANSDnJlcXVlc3Rfc291cmNlIioKF0Nhc2NhZGVTdW1tYXJpemVyQ29uZmlnEg8KB2VuYWJsZWQYASABKAgiYAobQ2FzY2FkZUFnZW50VjJQbGFubmVyQ29uZmlnEkEKEXN1bW1hcml6ZXJfY29uZmlnGAEgASgLMiYuZXhhLmNvcnRleF9wYi5DYXNjYWRlU3VtbWFyaXplckNvbmZpZyLWAQokQ2FzY2FkZUNvbnZlcnNhdGlvbmFsVjJQbGFubmVyQ29uZmlnEkYKDHBsYW5uZXJfbW9kZRgBIAEoDjIwLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Db252ZXJzYXRpb25hbFBsYW5uZXJNb2RlEhkKDHVzZV9jbHVzdGVycxgCIAEoCEgAiAEBEhQKDGNsdXN0ZXJfcGF0aBgDIAEoCRIWCglldmFsX21vZGUYBCABKAhIAYgBAUIPCg1fdXNlX2NsdXN0ZXJzQgwKCl9ldmFsX21vZGUiLwobQ2FzY2FkZUNvZGVtYXBQbGFubmVyQ29uZmlnSgQIARACUgppc190cnVzdGVkIjYKHUNhc2NhZGVMaWZlZ3VhcmRQbGFubmVyQ29uZmlnEhUKDWFnZW50X3ZlcnNpb24YASABKAkixAwKFENhc2NhZGVQbGFubmVyQ29uZmlnEksKDmNvbnZlcnNhdGlvbmFsGAIgASgLMjEuZXhhLmNvcnRleF9wYi5DYXNjYWRlQ29udmVyc2F0aW9uYWxQbGFubmVyQ29uZmlnSAASVAoRY29udmVyc2F0aW9uYWxfdjIYGyABKAsyMy5leGEuY29ydGV4X3BiLkNhc2NhZGVDb252ZXJzYXRpb25hbFYyUGxhbm5lckNvbmZpZ0ICGAFIABI9CgdhZ2VudGljGAMgASgLMiouZXhhLmNvcnRleF9wYi5DYXNjYWRlQWdlbnRpY1BsYW5uZXJDb25maWdIABI/CghyZXNlYXJjaBgKIAEoCzIrLmV4YS5jb3J0ZXhfcGIuQ2FzY2FkZVJlc2VhcmNoUGxhbm5lckNvbmZpZ0gAEj0KB3Bhc3NpdmUYFiABKAsyKi5leGEuY29ydGV4X3BiLkNhc2NhZGVQYXNzaXZlUGxhbm5lckNvbmZpZ0gAEkIKCGFnZW50X3YyGBggASgLMiouZXhhLmNvcnRleF9wYi5DYXNjYWRlQWdlbnRWMlBsYW5uZXJDb25maWdCAhgBSAASPQoHY29kZW1hcBgdIAEoCzIqLmV4YS5jb3J0ZXhfcGIuQ2FzY2FkZUNvZGVtYXBQbGFubmVyQ29uZmlnSAASQQoJbGlmZWd1YXJkGCEgASgLMiwuZXhhLmNvcnRleF9wYi5DYXNjYWRlTGlmZWd1YXJkUGxhbm5lckNvbmZpZ0gAEjUKC3Rvb2xfY29uZmlnGA0gASgLMiAuZXhhLmNvcnRleF9wYi5DYXNjYWRlVG9vbENvbmZpZxI/ChVwbGFuX21vZGVsX2RlcHJlY2F0ZWQYASABKA4yHC5leGEuY29kZWl1bV9jb21tb25fcGIuTW9kZWxCAhgBEksKGnJlcXVlc3RlZF9tb2RlbF9kZXByZWNhdGVkGA8gASgLMiMuZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1vZGVsT3JBbGlhc0ICGAESFgoOcGxhbl9tb2RlbF91aWQYIiABKAkSGwoTcmVxdWVzdGVkX21vZGVsX3VpZBgjIAEoCRIWCg5tYXhfaXRlcmF0aW9ucxgEIAEoDRIeChZtYXhfc3RlcF9wYXJzZV9yZXRyaWVzGAUgASgNEhkKEW1heF9vdXRwdXRfdG9rZW5zGAYgASgNEiAKE25vX3Rvb2xfZXhwbGFuYXRpb24YByABKAhIAYgBARIgChNhbGxvd19wZW5kaW5nX3N0ZXBzGAsgASgISAKIAQESKgodZm9yYmlkX3Rvb2xfdXNlX29uX2xhc3RfcmV0cnkYDCABKAhIA4gBARIjCht0cnVuY2F0aW9uX3RocmVzaG9sZF90b2tlbnMYDiABKAUSKgoZaW5jbHVkZV9lcGhlbWVyYWxfbWVzc2FnZRgUIAEoCEICGAFIBIgBARJJChllcGhlbWVyYWxfbWVzc2FnZXNfY29uZmlnGBUgASgLMiYuZXhhLmNvcnRleF9wYi5FcGhlbWVyYWxNZXNzYWdlc0NvbmZpZxIXCg9ydW5fYXNfcHJvcG9zZXIYFyABKAgSFwoPc2hvd19hbGxfZXJyb3JzGBkgASgIEhsKE2lzX3ZpYmVfYW5kX3JlcGxhY2UYHCABKAgSPAoPcHJvbXB0X292ZXJyaWRlGB4gASgLMiMuZXhhLmNvcnRleF9wYi5Qcm9tcHRPdmVycmlkZUNvbmZpZxIhChlyZXRyeV9vbl9yZXNwb25zZV9jb250ZW50GCAgAygJQhUKE3BsYW5uZXJfdHlwZV9jb25maWdCFgoUX25vX3Rvb2xfZXhwbGFuYXRpb25CFgoUX2FsbG93X3BlbmRpbmdfc3RlcHNCIAoeX2ZvcmJpZF90b29sX3VzZV9vbl9sYXN0X3JldHJ5QhwKGl9pbmNsdWRlX2VwaGVtZXJhbF9tZXNzYWdlSgQIHxAgSgQICBAJSgQICRAKSgQIERASSgQIExAUSgQIGhAbUhVudW1fcGFyYWxsZWxfcm9sbG91dHNSC2p1ZGdlX21vZGVsUgx1c2VfY2x1c3RlcnNSE2FkZF9yZWZlcmVuY2Vfbm9kZXNSCXZpYmVjb2RlciK4AQoYQmFzZVRyYWplY3RvcnlJZGVudGlmaWVyEhQKCmNhc2NhZGVfaWQYASABKAlIABImChxpbXBsaWNpdF90cmFqZWN0b3J5X2ZpbGVfdXJpGAIgASgJSAASGQoPbGFzdF9hY3RpdmVfZG9jGAMgASgISAASNQoKdHJhamVjdG9yeRgEIAEoCzIfLmV4YS5jb3J0ZXhfcGIuQ29ydGV4VHJhamVjdG9yeUgAQgwKCmlkZW50aWZpZXIiMQocRGVwbG95bWVudEludGVyYWN0aW9uUGF5bG9hZBIRCglzdWJkb21haW4YASABKAkieQoYQ2FzY2FkZURlcGxveUludGVyYWN0aW9uEg4KBmNhbmNlbBgBIAEoCBI6Cg1kZXBsb3lfdGFyZ2V0GAIgASgLMiMuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkRlcGxveVRhcmdldBIRCglzdWJkb21haW4YAyABKAkiowEKHENhc2NhZGVSdW5Db21tYW5kSW50ZXJhY3Rpb24SEwoHY29uZmlybRgBIAEoCEICGAESLwoGYWN0aW9uGAQgASgOMh8uZXhhLmNvcnRleF9wYi5SdW5Db21tYW5kQWN0aW9uEh0KFXByb3Bvc2VkX2NvbW1hbmRfbGluZRgCIAEoCRIeChZzdWJtaXR0ZWRfY29tbWFuZF9saW5lGAMgASgJInQKIENhc2NhZGVSZWFkVXJsQ29udGVudEludGVyYWN0aW9uEjMKBmFjdGlvbhgBIAEoDjIjLmV4YS5jb3J0ZXhfcGIuUmVhZFVybENvbnRlbnRBY3Rpb24SCwoDdXJsGAIgASgJEg4KBm9yaWdpbhgDIAEoCSI1CiJDYXNjYWRlUnVuRXh0ZW5zaW9uQ29kZUludGVyYWN0aW9uEg8KB2NvbmZpcm0YASABKAgiZgogQ2FzY2FkZVRhc2tSZXNvbHV0aW9uSW50ZXJhY3Rpb24SDwoHY29uZmlybRgBIAEoCBIxCgpyZXNvbHV0aW9uGAIgASgLMh0uZXhhLmNvcnRleF9wYi5UYXNrUmVzb2x1dGlvbiIyCh9DYXNjYWRlVXBzZXJ0Q29kZW1hcEludGVyYWN0aW9uEg8KB2NvbmZpcm0YASABKAgiaAohQ2FzY2FkZUFza1VzZXJRdWVzdGlvbkludGVyYWN0aW9uEkMKCHJlc3BvbnNlGAEgASgLMjEuZXhhLmNvcnRleF9wYi5Db3J0ZXhTdGVwQXNrVXNlclF1ZXN0aW9uLlJlc3BvbnNlImIKHENhc2NhZGVEZXBsb3lJbnRlcmFjdGlvblNwZWMSQgoVZGVwbG95X3RhcmdldF9vcHRpb25zGAEgAygLMiMuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkRlcGxveVRhcmdldCIiCiBDYXNjYWRlUnVuQ29tbWFuZEludGVyYWN0aW9uU3BlYyJDCiRDYXNjYWRlUmVhZFVybENvbnRlbnRJbnRlcmFjdGlvblNwZWMSCwoDdXJsGAEgASgJEg4KBm9yaWdpbhgCIAEoCSIoCiZDYXNjYWRlUnVuRXh0ZW5zaW9uQ29kZUludGVyYWN0aW9uU3BlYyJKCiRDYXNjYWRlVGFza1Jlc29sdXRpb25JbnRlcmFjdGlvblNwZWMSDQoFdGl0bGUYASABKAkSEwoLZGVzY3JpcHRpb24YAiABKAkiJQojQ2FzY2FkZVVwc2VydENvZGVtYXBJbnRlcmFjdGlvblNwZWMiJwolQ2FzY2FkZUFza1VzZXJRdWVzdGlvbkludGVyYWN0aW9uU3BlYyKNBQoUUmVxdWVzdGVkSW50ZXJhY3Rpb24SPQoGZGVwbG95GAIgASgLMisuZXhhLmNvcnRleF9wYi5DYXNjYWRlRGVwbG95SW50ZXJhY3Rpb25TcGVjSAASRgoLcnVuX2NvbW1hbmQYAyABKAsyLy5leGEuY29ydGV4X3BiLkNhc2NhZGVSdW5Db21tYW5kSW50ZXJhY3Rpb25TcGVjSAASUwoScnVuX2V4dGVuc2lvbl9jb2RlGAUgASgLMjUuZXhhLmNvcnRleF9wYi5DYXNjYWRlUnVuRXh0ZW5zaW9uQ29kZUludGVyYWN0aW9uU3BlY0gAEksKDHJlc29sdmVfdGFzaxgLIAEoCzIzLmV4YS5jb3J0ZXhfcGIuQ2FzY2FkZVRhc2tSZXNvbHV0aW9uSW50ZXJhY3Rpb25TcGVjSAASTAoOdXBzZXJ0X2NvZGVtYXAYDSABKAsyMi5leGEuY29ydGV4X3BiLkNhc2NhZGVVcHNlcnRDb2RlbWFwSW50ZXJhY3Rpb25TcGVjSAASTwoQcmVhZF91cmxfY29udGVudBgOIAEoCzIzLmV4YS5jb3J0ZXhfcGIuQ2FzY2FkZVJlYWRVcmxDb250ZW50SW50ZXJhY3Rpb25TcGVjSAASUQoRYXNrX3VzZXJfcXVlc3Rpb24YDyABKAsyNC5leGEuY29ydGV4X3BiLkNhc2NhZGVBc2tVc2VyUXVlc3Rpb25JbnRlcmFjdGlvblNwZWNIAEINCgtpbnRlcmFjdGlvbkoECAEQAkoECAYQB0oECAQQBUoECAcQCEoECAgQCUoECAkQCkoECAoQC0oECAwQDVIbY2xhdWRlX2NvZGVfdG9vbF9wZXJtaXNzaW9uIpUGChZDYXNjYWRlVXNlckludGVyYWN0aW9uEhUKDXRyYWplY3RvcnlfaWQYASABKAkSEgoKc3RlcF9pbmRleBgCIAEoDRI5CgZkZXBsb3kYBCABKAsyJy5leGEuY29ydGV4X3BiLkNhc2NhZGVEZXBsb3lJbnRlcmFjdGlvbkgAEkIKC3J1bl9jb21tYW5kGAUgASgLMisuZXhhLmNvcnRleF9wYi5DYXNjYWRlUnVuQ29tbWFuZEludGVyYWN0aW9uSAASTwoScnVuX2V4dGVuc2lvbl9jb2RlGAcgASgLMjEuZXhhLmNvcnRleF9wYi5DYXNjYWRlUnVuRXh0ZW5zaW9uQ29kZUludGVyYWN0aW9uSAASRwoMcmVzb2x2ZV90YXNrGAwgASgLMi8uZXhhLmNvcnRleF9wYi5DYXNjYWRlVGFza1Jlc29sdXRpb25JbnRlcmFjdGlvbkgAEkgKDnVwc2VydF9jb2RlbWFwGA4gASgLMi4uZXhhLmNvcnRleF9wYi5DYXNjYWRlVXBzZXJ0Q29kZW1hcEludGVyYWN0aW9uSAASSwoQcmVhZF91cmxfY29udGVudBgPIAEoCzIvLmV4YS5jb3J0ZXhfcGIuQ2FzY2FkZVJlYWRVcmxDb250ZW50SW50ZXJhY3Rpb25IABJNChFhc2tfdXNlcl9xdWVzdGlvbhgQIAEoCzIwLmV4YS5jb3J0ZXhfcGIuQ2FzY2FkZUFza1VzZXJRdWVzdGlvbkludGVyYWN0aW9uSABCDQoLaW50ZXJhY3Rpb25KBAgDEARKBAgGEAdKBAgIEAlKBAgJEApKBAgKEAtKBAgLEAxKBAgNEA5SEG9wZW5fYnJvd3Nlcl91cmxSGmV4ZWN1dGVfYnJvd3Nlcl9qYXZhc2NyaXB0UhpjYXB0dXJlX2Jyb3dzZXJfc2NyZWVuc2hvdFITY2xpY2tfYnJvd3Nlcl9waXhlbFIccXVlcnlfYnJvd3Nlcl9wYWdlX2Zvcl9waXhlbFIbY2xhdWRlX2NvZGVfdG9vbF9wZXJtaXNzaW9uIjAKD0NvcnRleFN0ZXBEdW1teRINCgVpbnB1dBgBIAEoDRIOCgZvdXRwdXQYAiABKA0iFAoSQ29ydGV4U3RlcEJsb2NraW5nIpUBChBDb3J0ZXhTdGVwRmluaXNoEjsKBm91dHB1dBgBIAMoCzIrLmV4YS5jb3J0ZXhfcGIuQ29ydGV4U3RlcEZpbmlzaC5PdXRwdXRFbnRyeRIVCg1vdXRwdXRfc3RyaW5nGAIgASgJGi0KC091dHB1dEVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEiWgoTQ29ydGV4U3RlcFBsYW5JbnB1dBIsCgpwbGFuX2lucHV0GAEgASgLMhguZXhhLmNvcnRleF9wYi5QbGFuSW5wdXQSFQoNdXNlcl9wcm92aWRlZBgCIAEoCCLbBAoUQ29ydGV4U3RlcENoZWNrcG9pbnQSGAoQY2hlY2twb2ludF9pbmRleBgBIAEoDRITCgtpbnRlbnRfb25seRgJIAEoCBIhChlpbmNsdWRlZF9zdGVwX2luZGV4X3N0YXJ0GAsgASgNEh8KF2luY2x1ZGVkX3N0ZXBfaW5kZXhfZW5kGAwgASgNEhoKEmNvbnZlcnNhdGlvbl90aXRsZRgKIAEoCRITCgt1c2VyX2ludGVudBgEIAEoCRIXCg9zZXNzaW9uX3N1bW1hcnkYBSABKAkSGwoTY29kZV9jaGFuZ2Vfc3VtbWFyeRgGIAEoCRIVCg1wbGFuX3NuYXBzaG90GA0gASgJElMKD2VkaXRlZF9maWxlX21hcBgHIAMoCzI2LmV4YS5jb3J0ZXhfcGIuQ29ydGV4U3RlcENoZWNrcG9pbnQuRWRpdGVkRmlsZU1hcEVudHJ5QgIYARIhChVpbmNsdWRlZF9zdGVwX2luZGljZXMYAyADKA1CAhgBEhoKDm1lbW9yeV9zdW1tYXJ5GAggASgJQgIYARIeChZ1c2VyX2ludGVudF9yZXF1ZXN0X2lkGA4gASgJEiIKGnNlc3Npb25fc3VtbWFyeV9yZXF1ZXN0X2lkGA8gASgJEiYKHmNvZGVfY2hhbmdlX3N1bW1hcnlfcmVxdWVzdF9pZBgQIAEoCRpSChJFZGl0ZWRGaWxlTWFwRW50cnkSCwoDa2V5GAEgASgJEisKBXZhbHVlGAIgASgLMhwuZXhhLmRpZmZfYWN0aW9uX3BiLkRpZmZMaXN0OgI4ASLrAgoVV29ya3RyZWVNZXJnZVNuYXBzaG90EmEKGGZpbGVfc3RhdGVzX2JlZm9yZV9tZXJnZRgBIAMoCzI/LmV4YS5jb3J0ZXhfcGIuV29ya3RyZWVNZXJnZVNuYXBzaG90LkZpbGVTdGF0ZXNCZWZvcmVNZXJnZUVudHJ5EhMKC2FkZGVkX2ZpbGVzGAIgAygJEl8KF2ZpbGVfc3RhdGVzX2FmdGVyX21lcmdlGAMgAygLMj4uZXhhLmNvcnRleF9wYi5Xb3JrdHJlZU1lcmdlU25hcHNob3QuRmlsZVN0YXRlc0FmdGVyTWVyZ2VFbnRyeRo8ChpGaWxlU3RhdGVzQmVmb3JlTWVyZ2VFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGjsKGUZpbGVTdGF0ZXNBZnRlck1lcmdlRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASKCBAoQQ2hlY2twb2ludENvbmZpZxIXCg90b2tlbl90aHJlc2hvbGQYASABKA0SGgoSbWF4X292ZXJoZWFkX3JhdGlvGAMgASgCEhoKEm1vdmluZ193aW5kb3dfc2l6ZRgEIAEoDRIXCg9tYXhfdG9rZW5fbGltaXQYBSABKA0SGQoRbWF4X291dHB1dF90b2tlbnMYCyABKA0SHQoVbWF4X3BsYW5fc2VhcmNoX3N0ZXBzGAwgASgNEkUKG2NoZWNrcG9pbnRfbW9kZWxfZGVwcmVjYXRlZBgHIAEoDjIcLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Nb2RlbEICGAESHAoUY2hlY2twb2ludF9tb2RlbF91aWQYDiABKAkSTgokY2hlY2twb2ludF9tb2RlbF9mYWxsYmFja19kZXByZWNhdGVkGA0gASgOMhwuZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1vZGVsQgIYARIlCh1jaGVja3BvaW50X21vZGVsX2ZhbGxiYWNrX3VpZBgPIAEoCRIUCgdlbmFibGVkGAYgASgISACIAQFCCgoIX2VuYWJsZWRKBAgIEAlKBAgJEApKBAgKEAtSGXVzZV9zdWJhZ2VudF9jaGVja3BvaW50ZXJSBHR5cGVSGWNvbmRlbnNlX2lucHV0X3RyYWplY3Rvcnki/gEKEENvcnRleFN0ZXBNcXVlcnkSJwoFaW5wdXQYASABKAsyGC5leGEuY29ydGV4X3BiLlBsYW5JbnB1dBJJCgRjY2lzGAIgAygLMjsuZXhhLmNvbnRleHRfbW9kdWxlX3BiLkNjaVdpdGhTdWJyYW5nZVdpdGhSZXRyaWV2YWxNZXRhZGF0YRIcChRudW1fdG9rZW5zX3Byb2Nlc3NlZBgDIAEoDRIYChBudW1faXRlbXNfc2NvcmVkGAQgASgNEj4KC3NlYXJjaF90eXBlGAUgASgOMikuZXhhLmNvcnRleF9wYi5TZW1hbnRpY0NvZGViYXNlU2VhcmNoVHlwZSKdAgoUUmVwbGFjZW1lbnRDaHVua0luZm8SNwoOb3JpZ2luYWxfY2h1bmsYASABKAsyHy5leGEuY29ydGV4X3BiLlJlcGxhY2VtZW50Q2h1bmsSEwoLZnV6enlfbWF0Y2gYAiABKAkSFQoNZWRpdF9kaXN0YW5jZRgDIAEoBRIZChFyZWxfZWRpdF9kaXN0YW5jZRgEIAEoAhITCgtudW1fbWF0Y2hlcxgFIAEoDRIUCgxpc19ub25fZXhhY3QYByABKAgSHAoUYm91bmRhcnlfbGluZXNfbWF0Y2gYCCABKAgSDQoFZXJyb3IYBiABKAgSEQoJZXJyb3Jfc3RyGAkgASgJEhoKEmZhc3RfYXBwbHlfZml4YWJsZRgKIAEoCCKnAgoVRmFzdEFwcGx5RmFsbGJhY2tJbmZvEhoKEmZhbGxiYWNrX2F0dGVtcHRlZBgBIAEoCBIWCg5mYWxsYmFja19lcnJvchgCIAEoCRI2ChFmYXN0X2FwcGx5X3Jlc3VsdBgDIAEoCzIbLmV4YS5jb3J0ZXhfcGIuQWN0aW9uUmVzdWx0Ej4KEWhldXJpc3RpY19mYWlsdXJlGAQgASgOMiMuZXhhLmNvcnRleF9wYi5Db2RlSGV1cmlzdGljRmFpbHVyZRIZChFmYXN0X2FwcGx5X3Byb21wdBgFIAEoCRIjChtudW1fZmFzdF9hcHBseV9lZGl0c19tYXNrZWQYBiABKA0SIgoaZmFsbGJhY2tfbWF0Y2hfaGFkX25vX2RpZmYYByABKAgi5AcKFENvcnRleFN0ZXBDb2RlQWN0aW9uEi4KC2FjdGlvbl9zcGVjGAEgASgLMhkuZXhhLmNvcnRleF9wYi5BY3Rpb25TcGVjEjIKDWFjdGlvbl9yZXN1bHQYAiABKAsyGy5leGEuY29ydGV4X3BiLkFjdGlvblJlc3VsdBIWCg51c2VfZmFzdF9hcHBseRgEIAEoCBJAChRhY2tub3dsZWRnZW1lbnRfdHlwZRgFIAEoDjIiLmV4YS5jb3J0ZXhfcGIuQWNrbm93bGVkZ2VtZW50VHlwZRIQCghibG9ja2luZxgGIAEoCBI+ChFoZXVyaXN0aWNfZmFpbHVyZRgHIAEoDjIjLmV4YS5jb3J0ZXhfcGIuQ29kZUhldXJpc3RpY0ZhaWx1cmUSGAoQY29kZV9pbnN0cnVjdGlvbhgIIAEoCRIZChFtYXJrZG93bl9sYW5ndWFnZRgJIAEoCRIPCgdkcnlfcnVuGAogASgIEjoKC2xpbnRfZXJyb3JzGAsgAygLMiUuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNvZGVEaWFnbm9zdGljEkUKFnBlcnNpc3RlbnRfbGludF9lcnJvcnMYDCADKAsyJS5leGEuY29kZWl1bV9jb21tb25fcGIuQ29kZURpYWdub3N0aWMSPgoRcmVwbGFjZW1lbnRfaW5mb3MYDSADKAsyIy5leGEuY29ydGV4X3BiLlJlcGxhY2VtZW50Q2h1bmtJbmZvEiQKHGxpbnRfZXJyb3JfaWRzX2FpbWluZ190b19maXgYDiADKAkSRgoYZmFzdF9hcHBseV9mYWxsYmFja19pbmZvGA8gASgLMiQuZXhhLmNvcnRleF9wYi5GYXN0QXBwbHlGYWxsYmFja0luZm8SKAogdGFyZ2V0X2ZpbGVfaGFzX2NhcnJpYWdlX3JldHVybnMYECABKAgSLAokdGFyZ2V0X2ZpbGVfaGFzX2FsbF9jYXJyaWFnZV9yZXR1cm5zGBEgASgIEkUKEWludHJvZHVjZWRfZXJyb3JzGBIgAygLMiouZXhhLmNvcnRleF9wYi5Db3J0ZXhTdGVwQ29tcGlsZURpYWdub3N0aWMSGgoSdHJpZ2dlcmVkX21lbW9yaWVzGBMgASgJEjMKC2JyYWluX2RlbHRhGBQgASgLMh4uZXhhLmNvcnRleF9wYi5CcmFpbkVudHJ5RGVsdGESPAoPdHJhamVjdG9yeV90eXBlGBUgASgOMiMuZXhhLmNvcnRleF9wYi5Db3J0ZXhUcmFqZWN0b3J5VHlwZUoECAMQBFIRaW1wbGljaXRfbWV0YWRhdGEihAIKFUNvcnRleFN0ZXBQcm9wb3NlQ29kZRIuCgthY3Rpb25fc3BlYxgBIAEoCzIZLmV4YS5jb3J0ZXhfcGIuQWN0aW9uU3BlYxIyCg1hY3Rpb25fcmVzdWx0GAIgASgLMhsuZXhhLmNvcnRleF9wYi5BY3Rpb25SZXN1bHQSGAoQY29kZV9pbnN0cnVjdGlvbhgDIAEoCRIZChFtYXJrZG93bl9sYW5ndWFnZRgEIAEoCRIQCghibG9ja2luZxgFIAEoCBJAChRhY2tub3dsZWRnZW1lbnRfdHlwZRgGIAEoDjIiLmV4YS5jb3J0ZXhfcGIuQWNrbm93bGVkZ2VtZW50VHlwZSJrChNDb3J0ZXhTdGVwR2l0Q29tbWl0EicKBWlucHV0GAEgASgLMhguZXhhLmNvcnRleF9wYi5QbGFuSW5wdXQSFgoOY29tbWl0X21lc3NhZ2UYAiABKAkSEwoLY29tbWl0X2hhc2gYAyABKAkizAEKGUNvcnRleFN0ZXBGaW5kQ29kZUNvbnRleHQSEwoLc2VhcmNoX3Rlcm0YASABKAkSMAoFc3RlcHMYAiADKAsyIS5leGEuY29ydGV4X3BiLkluc3RhbnRDb250ZXh0U3RlcBI3CghyZXNwb25zZRgDIAEoCzIlLmV4YS5jb3J0ZXhfcGIuSW5zdGFudENvbnRleHRSZXNwb25zZRIgChh3b3Jrc3BhY2VfZGlyZWN0b3J5X3BhdGgYBCABKAkSDQoFZXJyb3IYBSABKAkiwAMKFkluc3RhbnRDb250ZXh0UmVzcG9uc2USRgoJcmFuZ2VfbWFwGAEgAygLMjMuZXhhLmNvcnRleF9wYi5JbnN0YW50Q29udGV4dFJlc3BvbnNlLlJhbmdlTWFwRW50cnkSJwobZGVwcmVjYXRlZF9kdXJhdGlvbl9maWVsZF8yGAIgASgCQgIYARIQCghkdXJhdGlvbhgDIAEoAhJNCg1yYXdfcmFuZ2VfbWFwGAQgAygLMjYuZXhhLmNvcnRleF9wYi5JbnN0YW50Q29udGV4dFJlc3BvbnNlLlJhd1JhbmdlTWFwRW50cnkSMwoGdGltaW5nGAUgASgLMiMuZXhhLmNvcnRleF9wYi5JbnN0YW50Q29udGV4dFRpbWluZxpNCg1SYW5nZU1hcEVudHJ5EgsKA2tleRgBIAEoCRIrCgV2YWx1ZRgCIAEoCzIcLmV4YS5jb3J0ZXhfcGIuTGluZVJhbmdlTGlzdDoCOAEaUAoQUmF3UmFuZ2VNYXBFbnRyeRILCgNrZXkYASABKAkSKwoFdmFsdWUYAiABKAsyHC5leGEuY29ydGV4X3BiLkxpbmVSYW5nZUxpc3Q6AjgBImEKEkluc3RhbnRDb250ZXh0U3RlcBI5Cgp0b29sX2NhbGxzGAEgAygLMiUuZXhhLmNvcnRleF9wYi5JbnN0YW50Q29udGV4dFRvb2xDYWxsEhAKCHRob3VnaHRzGAIgASgJIoUDChZJbnN0YW50Q29udGV4dFRvb2xDYWxsEhQKDGNvbW1hbmRfdHlwZRgBIAEoCRINCgVwYXJhbRgCIAEoCRJPChBleGVjdXRpb25fc3RhdHVzGAMgASgOMjUuZXhhLmNvcnRleF9wYi5JbnN0YW50Q29udGV4dFRvb2xDYWxsLkV4ZWN1dGlvblN0YXR1cxIVCg1lcnJvcl9tZXNzYWdlGAQgASgJEhQKDHRvb2xfY2FsbF9pZBgFIAEoCRIYChBkdXJhdGlvbl9zZWNvbmRzGAYgASgCIq0BCg9FeGVjdXRpb25TdGF0dXMSIAocRVhFQ1VUSU9OX1NUQVRVU19VTlNQRUNJRklFRBAAEhwKGEVYRUNVVElPTl9TVEFUVVNfUEVORElORxABEh4KGkVYRUNVVElPTl9TVEFUVVNfQ09NUExFVEVEEAISGgoWRVhFQ1VUSU9OX1NUQVRVU19FUlJPUhADEh4KGkVYRUNVVElPTl9TVEFUVVNfVElNRURfT1VUEAQi3AEKGEluc3RhbnRDb250ZXh0VG9vbFVwZGF0ZRIUCgx0b29sX2NhbGxfaWQYASABKAkSTwoQZXhlY3V0aW9uX3N0YXR1cxgCIAEoDjI1LmV4YS5jb3J0ZXhfcGIuSW5zdGFudENvbnRleHRUb29sQ2FsbC5FeGVjdXRpb25TdGF0dXMSFQoNZXJyb3JfbWVzc2FnZRgDIAEoCRIYChBkdXJhdGlvbl9zZWNvbmRzGAQgASgCEhIKCnRvb2xfaW5kZXgYBSABKAUSFAoMY29tbWFuZF90eXBlGAYgASgJImEKDUNvbW1hbmRUaW1pbmcSDQoFbGFiZWwYASABKAkSFAoMY29tbWFuZF90eXBlGAIgASgJEhoKEmV4ZWNfZHVyYXRpb25fc2VjcxgDIAEoAhIPCgdlcnJvcmVkGAQgASgIIsUBCgpUdXJuVGltaW5nEhoKEm1vZGVsX2xhdGVuY3lfc2VjcxgBIAEoAhIlCh10b29sX2NhbGxfcGFyc2VfZHVyYXRpb25fc2VjcxgCIAEoAhIjChtjb21tYW5kX2J1aWxkX2R1cmF0aW9uX3NlY3MYAyABKAISHwoXdG9vbF9leGVjX2R1cmF0aW9uX3NlY3MYBCABKAISLgoIY29tbWFuZHMYBSADKAsyHC5leGEuY29ydGV4X3BiLkNvbW1hbmRUaW1pbmcigQEKFEluc3RhbnRDb250ZXh0VGltaW5nEhsKE3RvdGFsX2R1cmF0aW9uX3NlY3MYASABKAISIgoaYW5zd2VyX3BhcnNlX2R1cmF0aW9uX3NlY3MYAiABKAISKAoFdHVybnMYAyADKAsyGS5leGEuY29ydGV4X3BiLlR1cm5UaW1pbmciOQoNTGluZVJhbmdlTGlzdBIoCgZyYW5nZXMYASADKAsyGC5leGEuY29ydGV4X3BiLkxpbmVSYW5nZSInCglMaW5lUmFuZ2USDQoFc3RhcnQYASABKAUSCwoDZW5kGAIgASgFIrQBChBHcmVwU2VhcmNoUmVzdWx0EhUKDXJlbGF0aXZlX3BhdGgYASABKAkSEwoLbGluZV9udW1iZXIYAiABKA0SDwoHY29udGVudBgDIAEoCRIVCg1hYnNvbHV0ZV9wYXRoGAQgASgJEjcKA2NjaRgFIAEoCzImLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Db2RlQ29udGV4dEl0ZW1CAhgBEhMKC21hdGNoX2NvdW50GAYgASgNIr4BChdDb3J0ZXhTdGVwSW5mb3JtUGxhbm5lchJNChJ0YXJnZXRfY29kZV9jaGFuZ2UYAyABKAsyMS5leGEuY29kZV9lZGl0LmNvZGVfZWRpdF9wYi5Db2RlQ2hhbmdlV2l0aENvbnRleHQSVAoPaW5mb3JtX2NjaV9saXN0GAQgAygLMjsuZXhhLmNvbnRleHRfbW9kdWxlX3BiLkNjaVdpdGhTdWJyYW5nZVdpdGhSZXRyaWV2YWxNZXRhZGF0YSKUAQoTSW5mb3JtUGxhbm5lckNvbmZpZxIRCgljY2lfcmF0aW8YASABKAISEQoJcmFuZG9taXplGAIgASgIEhMKC21hbnVhbF9zZWVkGAMgASgNEi4KBG1vZGUYBCABKA4yIC5leGEuY29ydGV4X3BiLkluZm9ybVBsYW5uZXJNb2RlEhIKCmlzX2NlcnRhaW4YBSABKAgiPAoaRGlmZkJhc2VkQ29tbWFuZEV2YWxDb25maWcSHgoWbnVtX3NhbXBsZXNfcGVyX2NvbW1pdBgBIAEoDSKGAwoUQ29ydGV4U3RlcEdyZXBTZWFyY2gSFwoPc2VhcmNoX3BhdGhfdXJpGAsgASgJEg0KBXF1ZXJ5GAEgASgJEhYKDm1hdGNoX3Blcl9saW5lGAggASgIEhAKCGluY2x1ZGVzGAIgAygJEhgKEGNhc2VfaW5zZW5zaXRpdmUYCSABKAgSHgoWYWxsb3dfYWNjZXNzX2dpdGlnbm9yZRgNIAEoCBIQCghpc19yZWdleBgOIAEoCBIwCgdyZXN1bHRzGAQgAygLMh8uZXhhLmNvcnRleF9wYi5HcmVwU2VhcmNoUmVzdWx0EhUKDXRvdGFsX3Jlc3VsdHMYByABKA0SEgoKcmF3X291dHB1dBgDIAEoCRITCgtjb21tYW5kX3J1bhgKIAEoCRIZChFub19maWxlc19zZWFyY2hlZBgMIAEoCBIRCgl0aW1lZF9vdXQYDyABKAgSFgoKZ3JlcF9lcnJvchgFIAEoCUICGAFKBAgGEAdSEndvcmtzcGFjZV9wYXRoX3VyaSLxAgoWQ29ydGV4U3RlcEdyZXBTZWFyY2hWMhIXCg9zZWFyY2hfcGF0aF91cmkYASABKAkSDwoHcGF0dGVybhgCIAEoCRIMCgRwYXRoGAMgASgJEgwKBGdsb2IYBCABKAkSEwoLb3V0cHV0X21vZGUYBSABKAkSEwoLbGluZXNfYWZ0ZXIYBiABKAUSFAoMbGluZXNfYmVmb3JlGAcgASgFEhIKCmxpbmVzX2JvdGgYCCABKAUSGAoQY2FzZV9pbnNlbnNpdGl2ZRgKIAEoCBIMCgR0eXBlGAsgASgJEhIKCmhlYWRfbGltaXQYDCABKAUSEQoJbXVsdGlsaW5lGA0gASgIEhMKC2NvbW1hbmRfcnVuGA4gASgJEhIKCnJhd19vdXRwdXQYDyABKAkSGQoRbm9fZmlsZXNfc2VhcmNoZWQYECABKAgSEQoJdGltZWRfb3V0GBEgASgISgQICRAKUhFzaG93X2xpbmVfbnVtYmVycyLsAgoOQ29ydGV4U3RlcEZpbmQSGAoQc2VhcmNoX2RpcmVjdG9yeRgKIAEoCRIPCgdwYXR0ZXJuGAEgASgJEhAKCGV4Y2x1ZGVzGAMgAygJEisKBHR5cGUYBCABKA4yHS5leGEuY29ydGV4X3BiLkZpbmRSZXN1bHRUeXBlEhEKCW1heF9kZXB0aBgFIAEoBRISCgpleHRlbnNpb25zGAwgAygJEhEKCWZ1bGxfcGF0aBgNIAEoCBIYChB0cnVuY2F0ZWRfb3V0cHV0GA4gASgJEh8KF3RydW5jYXRlZF90b3RhbF9yZXN1bHRzGA8gASgNEhUKDXRvdGFsX3Jlc3VsdHMYByABKA0SEgoKcmF3X291dHB1dBgLIAEoCRITCgtjb21tYW5kX3J1bhgJIAEoCRIUCghpbmNsdWRlcxgCIAMoCUICGAESFgoKZmluZF9lcnJvchgIIAEoCUICGAFKBAgGEAdSB3Jlc3VsdHMiPwoZQ29ydGV4U3RlcEV4cGxvcmVSZXNwb25zZRIQCghxdWVyeV9pZBgBIAEoCRIQCghyZXNwb25zZRgCIAEoCSJZChZDb3J0ZXhTdGVwUmVhZE5vdGVib29rEhkKEWFic29sdXRlX3BhdGhfdXJpGAEgASgJEg8KB2NvbnRlbnQYAiABKAkSEwoLcmF3X2NvbnRlbnQYAyABKAkivQEKFUNvcnRleFN0ZXBTbWFydEZyaWVuZBIQCghxdWVzdGlvbhgBIAEoCRIOCgZhZHZpY2UYAiABKAkSOgoQbW9kZWxfZGVwcmVjYXRlZBgDIAEoDjIcLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Nb2RlbEICGAESEQoJbW9kZWxfdWlkGAYgASgJEhIKCm1vZGVsX25hbWUYBCABKAkSHwoXc21hcnRfZnJpZW5kX3JlcXVlc3RfaWQYBSABKAkiTQoWQ29ydGV4U3RlcFRhc2tTdWJhZ2VudBITCgtkZXNjcmlwdGlvbhgBIAEoCRIOCgZwcm9tcHQYAiABKAkSDgoGcmVzdWx0GAMgASgJIvEEChZDb3J0ZXhTdGVwRWRpdE5vdGVib29rEhkKEWFic29sdXRlX3BhdGhfdXJpGAEgASgJEhMKC2NlbGxfbnVtYmVyGAIgASgNEg8KB2NlbGxfaWQYBiABKAkSEgoKbmV3X3NvdXJjZRgDIAEoCRIRCgljZWxsX3R5cGUYBCABKAkSQQoJZWRpdF9tb2RlGAUgASgOMi4uZXhhLmNvcnRleF9wYi5Db3J0ZXhTdGVwRWRpdE5vdGVib29rLkVkaXRNb2RlEhgKEG9yaWdpbmFsX2NvbnRlbnQYByABKAkSEwoLbmV3X2NvbnRlbnQYCCABKAkSQAoUYWNrbm93bGVkZ2VtZW50X3R5cGUYCSABKA4yIi5leGEuY29ydGV4X3BiLkFja25vd2xlZGdlbWVudFR5cGUSGgoSdHJpZ2dlcmVkX21lbW9yaWVzGAogASgJEjoKC2xpbnRfZXJyb3JzGAsgAygLMiUuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNvZGVEaWFnbm9zdGljEkUKFnBlcnNpc3RlbnRfbGludF9lcnJvcnMYDCADKAsyJS5leGEuY29kZWl1bV9jb21tb25fcGIuQ29kZURpYWdub3N0aWMSMgoJY2VsbF9kaWZmGA0gASgLMh8uZXhhLmRpZmZfYWN0aW9uX3BiLlVuaWZpZWREaWZmImgKCEVkaXRNb2RlEhkKFUVESVRfTU9ERV9VTlNQRUNJRklFRBAAEhUKEUVESVRfTU9ERV9SRVBMQUNFEAESFAoQRURJVF9NT0RFX0lOU0VSVBACEhQKEEVESVRfTU9ERV9ERUxFVEUQAyKwBQoSQ29ydGV4U3RlcFZpZXdGaWxlEhkKEWFic29sdXRlX3BhdGhfdXJpGAEgASgJEhIKCnN0YXJ0X2xpbmUYAiABKA0SEAoIZW5kX2xpbmUYAyABKA0SDgoGb2Zmc2V0GAsgASgNEg0KBWxpbWl0GAwgASgNEiYKHmluY2x1ZGVfc3VtbWFyeV9vZl9vdGhlcl9saW5lcxgHIAEoCBIYChBoYXNfbGluZV9udW1iZXJzGAggASgIEhIKCm1heF90b2tlbnMYBSABKA0SDQoFYXN5bmMYBiABKAgSDwoHY29udGVudBgEIAEoCRITCgtyYXdfY29udGVudBgJIAEoCRIaChJ0cmlnZ2VyZWRfbWVtb3JpZXMYCiABKAkSEgoGaXNfZGlyGA0gASgIQgIYARIbChNoYXNfcmVhZF93aG9sZV9maWxlGA4gASgIEj0KCWZpbGVfdHlwZRgPIAEoDjIqLmV4YS5jb3J0ZXhfcGIuQ29ydGV4U3RlcFZpZXdGaWxlLkZpbGVUeXBlEkcKDnRyaWdnZXJfc291cmNlGBEgASgOMi8uZXhhLmNvcnRleF9wYi5Db3J0ZXhTdGVwVmlld0ZpbGUuVHJpZ2dlclNvdXJjZRI3Cg1pbWFnZV9jb250ZW50GBAgASgLMiAuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkltYWdlRGF0YSJTCghGaWxlVHlwZRIZChVGSUxFX1RZUEVfVU5TUEVDSUZJRUQQABIXChNGSUxFX1RZUEVfRElSRUNUT1JZEAESEwoPRklMRV9UWVBFX0lNQUdFEAIiTAoNVHJpZ2dlclNvdXJjZRIeChpUUklHR0VSX1NPVVJDRV9VTlNQRUNJRklFRBAAEhsKF1RSSUdHRVJfU09VUkNFX1ZJRVdQT1JUEAEiXQoTTGlzdERpcmVjdG9yeVJlc3VsdBIMCgRuYW1lGAEgASgJEg4KBmlzX2RpchgCIAEoCBIUCgxudW1fY2hpbGRyZW4YAyABKA0SEgoKc2l6ZV9ieXRlcxgEIAEoBCKbAQoXQ29ydGV4U3RlcExpc3REaXJlY3RvcnkSGgoSZGlyZWN0b3J5X3BhdGhfdXJpGAEgASgJEhQKCGNoaWxkcmVuGAIgAygJQgIYARIzCgdyZXN1bHRzGAMgAygLMiIuZXhhLmNvcnRleF9wYi5MaXN0RGlyZWN0b3J5UmVzdWx0EhkKDWRpcl9ub3RfZm91bmQYBCABKAhCAhgBImoKG0NvcnRleFN0ZXBDb21waWxlRGlhZ25vc3RpYxIPCgdtZXNzYWdlGAEgASgJEgwKBHBhdGgYAiABKAkSDAoEbGluZRgDIAEoDRIOCgZjb2x1bW4YBCABKA0SDgoGc3ltYm9sGAUgASgJItcBChZDb3J0ZXhTdGVwQ2x1c3RlclF1ZXJ5Eg0KBXF1ZXJ5GAEgASgJEj4KDmlucHV0X2NsdXN0ZXJzGAIgAygLMiYuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNvZGViYXNlQ2x1c3RlchIRCglyZXBvX25hbWUYBSABKAkSDgoGc2NvcmVzGAMgAygCEj8KD291dHB1dF9jbHVzdGVycxgGIAMoCzImLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Db2RlYmFzZUNsdXN0ZXJKBAgEEAVSBGNjaXMiZQoWQ29ydGV4U3RlcExpc3RDbHVzdGVycxI4CghjbHVzdGVycxgBIAMoCzImLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Db2RlYmFzZUNsdXN0ZXISEQoJcmVwb19uYW1lGAIgASgJIowDChFDb3J0ZXhTdGVwQ29tcGlsZRIyCgR0b29sGAEgASgOMiQuZXhhLmNvcnRleF9wYi5Db3J0ZXhTdGVwQ29tcGlsZVRvb2wSEgoKaW5wdXRfc3BlYxgCIAEoCRI+CgdvcHRpb25zGAMgAygLMi0uZXhhLmNvcnRleF9wYi5Db3J0ZXhTdGVwQ29tcGlsZS5PcHRpb25zRW50cnkSDgoGdGFyZ2V0GAQgASgJEhUKDWFydGlmYWN0X3BhdGgYBSABKAkSHgoWYXJ0aWZhY3RfaXNfZXhlY3V0YWJsZRgGIAEoCBI6CgZlcnJvcnMYByADKAsyKi5leGEuY29ydGV4X3BiLkNvcnRleFN0ZXBDb21waWxlRGlhZ25vc3RpYxI8Cgh3YXJuaW5ncxgIIAMoCzIqLmV4YS5jb3J0ZXhfcGIuQ29ydGV4U3RlcENvbXBpbGVEaWFnbm9zdGljGi4KDE9wdGlvbnNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIjkKHkNvcnRleFRyYWplY3RvcnlUb1Byb21wdENvbmZpZxIXCg9wcm9tcHRfZnJhY3Rpb24YASABKAIi6wEKE0NvcnRleFN0ZXBVc2VySW5wdXQSDQoFcXVlcnkYASABKAkSFQoNdXNlcl9yZXNwb25zZRgCIAEoCRI1CgVpdGVtcxgDIAMoCzImLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5UZXh0T3JTY29wZUl0ZW0SRQoRYWN0aXZlX3VzZXJfc3RhdGUYBCABKAsyKi5leGEuY29udGV4dF9tb2R1bGVfcGIuQ29udGV4dE1vZHVsZVJlc3VsdBIwCgZpbWFnZXMYBSADKAsyIC5leGEuY29kZWl1bV9jb21tb25fcGIuSW1hZ2VEYXRhIjsKFUFza1VzZXJRdWVzdGlvbk9wdGlvbhINCgVsYWJlbBgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCSLhAwoZQ29ydGV4U3RlcEFza1VzZXJRdWVzdGlvbhJBCgdyZXF1ZXN0GAEgASgLMjAuZXhhLmNvcnRleF9wYi5Db3J0ZXhTdGVwQXNrVXNlclF1ZXN0aW9uLlJlcXVlc3QSQwoIcmVzcG9uc2UYAiABKAsyMS5leGEuY29ydGV4X3BiLkNvcnRleFN0ZXBBc2tVc2VyUXVlc3Rpb24uUmVzcG9uc2UaagoHUmVxdWVzdBIQCghxdWVzdGlvbhgBIAEoCRI1CgdvcHRpb25zGAIgAygLMiQuZXhhLmNvcnRleF9wYi5Bc2tVc2VyUXVlc3Rpb25PcHRpb24SFgoOYWxsb3dfbXVsdGlwbGUYAyABKAgaqwEKCFJlc3BvbnNlElQKEHNlbGVjdGVkX29wdGlvbnMYASABKAsyOC5leGEuY29ydGV4X3BiLkNvcnRleFN0ZXBBc2tVc2VyUXVlc3Rpb24uU2VsZWN0ZWRPcHRpb25zSAASOAoKdXNlcl9pbnB1dBgCIAEoCzIiLmV4YS5jb3J0ZXhfcGIuQ29ydGV4U3RlcFVzZXJJbnB1dEgAQg8KDXJlc3BvbnNlX3R5cGUaIgoPU2VsZWN0ZWRPcHRpb25zEg8KB2luZGljZXMYASADKAUitAEKIUNvcnRleFN0ZXBBcmVuYVRyYWplY3RvcnlDb252ZXJnZRIYChBzb3VyY2VfbW9kZWxfdWlkGAEgASgJEhkKEXNvdXJjZV9jYXNjYWRlX2lkGAIgASgJEjsKDm9yaWdpbmFsX3N0ZXBzGAMgAygLMiMuZXhhLmNvcnRleF9wYi5Db3J0ZXhUcmFqZWN0b3J5U3RlcBIdChVkZXN0aW5hdGlvbl9tb2RlbF91aWQYBCABKAkinQEKGENvcnRleFN0ZXBMaW50Rml4TWVzc2FnZRI6CgtsaW50X2Vycm9ycxgBIAMoCzIlLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Db2RlRGlhZ25vc3RpYxJFChZwZXJzaXN0ZW50X2xpbnRfZXJyb3JzGAIgAygLMiUuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNvZGVEaWFnbm9zdGljIsEBCg9BY3RpdmVVc2VyU3RhdGUSOAoPYWN0aXZlX2RvY3VtZW50GAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLkRvY3VtZW50EjcKDm9wZW5fZG9jdW1lbnRzGAIgAygLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLkRvY3VtZW50EjsKC2FjdGl2ZV9ub2RlGAMgASgLMiYuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNvZGVDb250ZXh0SXRlbSJ/CiBDb3J0ZXhTdGVwU3VwZXJjb21wbGV0ZUFjdGl2ZURvYxITCgtpbnN0cnVjdGlvbhgBIAEoCRJGChVzZWxlY3Rpb25fd2l0aF9jdXJzb3IYAiABKAsyJy5leGEuY29kZWl1bV9jb21tb25fcGIuRmlsZVJhbmdlQ29udGVudCKPAgofQ29ydGV4U3RlcFN1cGVyY29tcGxldGVGZWVkYmFjaxIVCg1jb21wbGV0aW9uX2lkGAEgASgJEhcKD2NvbXBsZXRpb25fdGV4dBgCIAEoCRIVCg1mZWVkYmFja190eXBlGAMgASgJEhcKD2ZlZWRiYWNrX3JlYXNvbhgEIAEoCRIxCghkb2N1bWVudBgFIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Eb2N1bWVudBIZChFmZWVkYmFja19kZWxheV9tcxgGIAEoAxI+Cg9wcm92aWRlcl9zb3VyY2UYByABKA4yJS5leGEuY29kZWl1bV9jb21tb25fcGIuUHJvdmlkZXJTb3VyY2UilwEKKENvcnRleFN0ZXBTdXBlcmNvbXBsZXRlRXBoZW1lcmFsRmVlZGJhY2sSTAoQZmVlZGJhY2tfZW50cmllcxgBIAMoCzIyLmV4YS5jb3J0ZXhfcGIuU3VwZXJjb21wbGV0ZUVwaGVtZXJhbEZlZWRiYWNrRW50cnkSHQoVY3JlYXRpb25fdGltZXN0YW1wX21zGAIgASgDIpoCCiNTdXBlcmNvbXBsZXRlRXBoZW1lcmFsRmVlZGJhY2tFbnRyeRIQCghhY2NlcHRlZBgBIAEoCBIaChJpbnRlbnRpb25hbF9yZWplY3QYAiABKAgSFQoNY29tcGxldGlvbl9pZBgDIAEoCRIUCgx0aW1lc3RhbXBfbXMYBCABKAMSNQoMdW5pZmllZF9kaWZmGAUgASgLMh8uZXhhLmRpZmZfYWN0aW9uX3BiLlVuaWZpZWREaWZmEhwKFHNlbGVjdGlvbl9zdGFydF9saW5lGAcgASgEEkMKEnRhYmp1bXBfc3VnZ2VzdGlvbhgGIAEoCzInLmV4YS5jb3J0ZXhfcGIuU3VwZXJjb21wbGV0ZVRhYkp1bXBJbmZvInsKGFN1cGVyY29tcGxldGVUYWJKdW1wSW5mbxIMCgRwYXRoGAEgASgJEj4KDWp1bXBfcG9zaXRpb24YAiABKAsyJy5leGEuY29kZWl1bV9jb21tb25fcGIuRG9jdW1lbnRQb3NpdGlvbhIRCglpc19pbXBvcnQYAyABKAgi2AMKGUNvcnRleFN0ZXBQbGFubmVyUmVzcG9uc2USEAoIcmVzcG9uc2UYASABKAkSGQoRbW9kaWZpZWRfcmVzcG9uc2UYCCABKAkSEAoIdGhpbmtpbmcYAyABKAkSEQoJc2lnbmF0dXJlGAQgASgJEhkKEXRoaW5raW5nX3JlZGFjdGVkGAUgASgIEhIKCm1lc3NhZ2VfaWQYBiABKAkSNwoKdG9vbF9jYWxscxgHIAMoCzIjLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5DaGF0VG9vbENhbGwSUgoUa25vd2xlZGdlX2Jhc2VfaXRlbXMYAiADKAsyNC5leGEuY29kZWl1bV9jb21tb25fcGIuS25vd2xlZGdlQmFzZUl0ZW1XaXRoTWV0YWRhdGESEQoJb3V0cHV0X2lkGAkgASgJEhcKC3RoaW5raW5nX2lkGAogASgJQgIYARIkChhnZW1pbmlfdGhvdWdodF9zaWduYXR1cmUYCyABKAxCAhgBEhYKDnNpZ25hdHVyZV90eXBlGAwgASgJEjQKEXRoaW5raW5nX2R1cmF0aW9uGA0gASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uEg0KBXBoYXNlGA4gASgJInIKF0NvcnRleFN0ZXBGaWxlQnJlYWtkb3duEhUKDWFic29sdXRlX3BhdGgYASABKAkSQAoQZG9jdW1lbnRfb3V0bGluZRgCIAEoCzImLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Eb2N1bWVudE91dGxpbmUilAEKFkNvcnRleFN0ZXBWaWV3Q29kZUl0ZW0SFAoMYWJzb2x1dGVfdXJpGAEgASgJEhIKCm5vZGVfcGF0aHMYBCADKAkSNAoEY2NpcxgFIAMoCzImLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Db2RlQ29udGV4dEl0ZW1KBAgCEANKBAgDEARSA2NjaVIJbm9kZV9uYW1lIssBChVDb3J0ZXhTdGVwV3JpdGVUb0ZpbGUSFwoPdGFyZ2V0X2ZpbGVfdXJpGAEgASgJEhQKDGNvZGVfY29udGVudBgCIAMoCRIrCgRkaWZmGAMgASgLMh0uZXhhLmRpZmZfYWN0aW9uX3BiLkRpZmZCbG9jaxIUCgxmaWxlX2NyZWF0ZWQYBCABKAgSQAoUYWNrbm93bGVkZ2VtZW50X3R5cGUYBSABKA4yIi5leGEuY29ydGV4X3BiLkFja25vd2xlZGdlbWVudFR5cGUijgIKHUNvcnRleFN0ZXBTZWFyY2hLbm93bGVkZ2VCYXNlEg8KB3F1ZXJpZXMYASADKAkSOAoKdGltZV9yYW5nZRgDIAEoCzIkLmV4YS5vcGVuc2VhcmNoX2NsaWVudHNfcGIuVGltZVJhbmdlEkEKD2Nvbm5lY3Rvcl90eXBlcxgEIAMoDjIoLmV4YS5vcGVuc2VhcmNoX2NsaWVudHNfcGIuQ29ubmVjdG9yVHlwZRIVCg1hZ2dyZWdhdGVfaWRzGAcgAygJEkgKFWtub3dsZWRnZV9iYXNlX2dyb3VwcxgCIAMoCzIpLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Lbm93bGVkZ2VCYXNlR3JvdXAilwEKHUNvcnRleFN0ZXBMb29rdXBLbm93bGVkZ2VCYXNlEgwKBHVybHMYASADKAkSFAoMZG9jdW1lbnRfaWRzGAIgAygJElIKFGtub3dsZWRnZV9iYXNlX2l0ZW1zGAMgAygLMjQuZXhhLmNvZGVpdW1fY29tbW9uX3BiLktub3dsZWRnZUJhc2VJdGVtV2l0aE1ldGFkYXRhIjMKHENvcnRleFN0ZXBTdWdnZXN0ZWRSZXNwb25zZXMSEwoLc3VnZ2VzdGlvbnMYASADKAkiiwEKFkNvcnRleFN0ZXBFcnJvck1lc3NhZ2USMAoFZXJyb3IYAyABKAsyIS5leGEuY29ydGV4X3BiLkNvcnRleEVycm9yRGV0YWlscxIZChFzaG91bGRfc2hvd19tb2RlbBgEIAEoCBIYChBzaG91bGRfc2hvd191c2VyGAUgASgISgQIARACSgQIAhADIskBChhDb3J0ZXhTdGVwSW5zcGVjdENsdXN0ZXISEgoKY2x1c3Rlcl9pZBgBIAEoCRINCgVxdWVyeRgCIAEoCRI/Cg9tYXRjaGVkX2NsdXN0ZXIYAyABKAsyJi5leGEuY29kZWl1bV9jb21tb25fcGIuQ29kZWJhc2VDbHVzdGVyEkkKBGNjaXMYBCADKAsyOy5leGEuY29udGV4dF9tb2R1bGVfcGIuQ2NpV2l0aFN1YnJhbmdlV2l0aFJldHJpZXZhbE1ldGFkYXRhImkKEFJ1bkNvbW1hbmRPdXRwdXQSDAoEZnVsbBgBIAEoCRITCgthbnNpX291dHB1dBgEIAEoCRIVCgl0cnVuY2F0ZWQYAiABKAlCAhgBEhsKD251bV9saW5lc19hYm92ZRgDIAEoDUICGAEiHgoNU2ltcGxlQ29tbWFuZBINCgVwYXJ0cxgBIAMoCSKZBwoUQ29ydGV4U3RlcFJ1bkNvbW1hbmQSFAoMY29tbWFuZF9saW5lGBcgASgJEh0KFXByb3Bvc2VkX2NvbW1hbmRfbGluZRgZIAEoCRILCgNjd2QYAiABKAkSEAoIYmxvY2tpbmcYCyABKAgSHAoUd2FpdF9tc19iZWZvcmVfYXN5bmMYDCABKAQSFwoPc2hvdWxkX2F1dG9fcnVuGA8gASgIEh0KFXJlcXVlc3RlZF90ZXJtaW5hbF9pZBgRIAEoCRIVCg1hZ2VudF9oYXJuZXNzGBogASgJEhIKCmNvbW1hbmRfaWQYDSABKAkSFgoJZXhpdF9jb2RlGAYgASgFSACIAQESFQoNdXNlcl9yZWplY3RlZBgOIAEoCBI5ChFhdXRvX3J1bl9kZWNpc2lvbhgQIAEoDjIeLmV4YS5jb3J0ZXhfcGIuQXV0b1J1bkRlY2lzaW9uEhMKC3Rlcm1pbmFsX2lkGBIgASgJEjgKD2NvbWJpbmVkX291dHB1dBgVIAEoCzIfLmV4YS5jb3J0ZXhfcGIuUnVuQ29tbWFuZE91dHB1dBIZChF1c2VkX2lkZV90ZXJtaW5hbBgWIAEoCBIYChByYXdfZGVidWdfb3V0cHV0GBggASgJEigKIHNoZWxsX2ludGVncmF0aW9uX2ZhaWx1cmVfcmVhc29uGBsgASgJEhIKCnNoZWxsX25hbWUYHCABKAkSNQoPcGFyc2VkX2NvbW1hbmRzGB0gAygLMhwuZXhhLmNvcnRleF9wYi5TaW1wbGVDb21tYW5kEhMKB2NvbW1hbmQYASABKAlCAhgBEhAKBGFyZ3MYAyADKAlCAhgBEhIKBnN0ZG91dBgEIAEoCUICGAESEgoGc3RkZXJyGAUgASgJQgIYARIZCg1zdGRvdXRfYnVmZmVyGAcgASgJQgIYARIZCg1zdGRlcnJfYnVmZmVyGAggASgJQgIYARIeChJzdGRvdXRfbGluZXNfYWJvdmUYCSABKA1CAhgBEh4KEnN0ZGVycl9saW5lc19hYm92ZRgKIAEoDUICGAESOgoNc3Rkb3V0X291dHB1dBgTIAEoCzIfLmV4YS5jb3J0ZXhfcGIuUnVuQ29tbWFuZE91dHB1dEICGAESOgoNc3RkZXJyX291dHB1dBgUIAEoCzIfLmV4YS5jb3J0ZXhfcGIuUnVuQ29tbWFuZE91dHB1dEICGAFCDAoKX2V4aXRfY29kZSJ+ChZDb3J0ZXhTdGVwUmVsYXRlZEZpbGVzEhQKDGFic29sdXRlX3VyaRgBIAEoCRIiChpyZWxhdGVkX2ZpbGVfYWJzb2x1dGVfdXJpcxgCIAMoCRIOCgZzY29yZXMYAyADKAISGgoScmVsYXRlZF9maWxlX2Vycm9yGAQgASgJIuMBChhDb3J0ZXhTdGVwUmVhZFVybENvbnRlbnQSCwoDdXJsGAEgASgJEj4KDHdlYl9kb2N1bWVudBgCIAEoCzIoLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Lbm93bGVkZ2VCYXNlSXRlbRIUCgxyZXNvbHZlZF91cmwYAyABKAkSEgoKbGF0ZW5jeV9tcxgEIAEoDRIVCg11c2VyX3JlamVjdGVkGAYgASgIEjkKEWF1dG9fcnVuX2RlY2lzaW9uGAcgASgOMh4uZXhhLmNvcnRleF9wYi5BdXRvUnVuRGVjaXNpb24ivgEKH0NvcnRleFN0ZXBSZWFkS25vd2xlZGdlQmFzZUl0ZW0SEgoKaWRlbnRpZmllchgBIAEoCRJFChNrbm93bGVkZ2VfYmFzZV9pdGVtGAIgASgLMiguZXhhLmNvZGVpdW1fY29tbW9uX3BiLktub3dsZWRnZUJhc2VJdGVtEkAKDmNvbm5lY3Rvcl90eXBlGAMgASgOMiguZXhhLm9wZW5zZWFyY2hfY2xpZW50c19wYi5Db25uZWN0b3JUeXBlIqoBChpDb3J0ZXhTdGVwVmlld0NvbnRlbnRDaHVuaxITCgtkb2N1bWVudF9pZBgFIAEoCRIQCghwb3NpdGlvbhgCIAEoBRI+Cgxjcm9wcGVkX2l0ZW0YBCABKAsyKC5leGEuY29kZWl1bV9jb21tb25fcGIuS25vd2xlZGdlQmFzZUl0ZW1KBAgBEAJKBAgDEARSFGNyb3BwZWRfd2ViX2RvY3VtZW50UgN1cmwi7AEKE0NvcnRleFN0ZXBTZWFyY2hXZWISDQoFcXVlcnkYASABKAkSDgoGZG9tYWluGAMgASgJEj8KDXdlYl9kb2N1bWVudHMYAiADKAsyKC5leGEuY29kZWl1bV9jb21tb25fcGIuS25vd2xlZGdlQmFzZUl0ZW0SFgoOd2ViX3NlYXJjaF91cmwYBCABKAkSDwoHc3VtbWFyeRgFIAEoCRJMChJ0aGlyZF9wYXJ0eV9jb25maWcYBiABKAsyMC5leGEuY29kZWl1bV9jb21tb25fcGIuVGhpcmRQYXJ0eVdlYlNlYXJjaENvbmZpZyLEAgoeQ29ydGV4U3RlcFJlYWREZXBsb3ltZW50Q29uZmlnEhQKDHByb2plY3RfcGF0aBgBIAEoCRIdChVkZXBsb3ltZW50X2NvbmZpZ191cmkYAiABKAkSSAoRZGVwbG95bWVudF9jb25maWcYAyABKAsyLS5leGEuY29kZWl1bV9jb21tb25fcGIuV2ViQXBwRGVwbG95bWVudENvbmZpZxIZChFtaXNzaW5nX2ZpbGVfdXJpcxgEIAMoCRIgChh3aWxsX3VwbG9hZF9ub2RlX21vZHVsZXMYBSABKAgSGAoQd2lsbF91cGxvYWRfZGlzdBgGIAEoCBIYChBpZ25vcmVfZmlsZV91cmlzGAcgAygJEhsKE251bV9maWxlc190b191cGxvYWQYCCABKA0SFQoNZW52X2ZpbGVfdXJpcxgJIAMoCSLNBgoWQ29ydGV4U3RlcERlcGxveVdlYkFwcBIUCgxwcm9qZWN0X3BhdGgYASABKAkSEQoJc3ViZG9tYWluGAIgASgJEhIKCnByb2plY3RfaWQYCyABKAkSEQoJZnJhbWV3b3JrGAMgASgJEhYKDnVzZXJfY29uZmlybWVkGAQgASgIElcKEmZpbGVfdXBsb2FkX3N0YXR1cxgFIAMoCzI7LmV4YS5jb3J0ZXhfcGIuQ29ydGV4U3RlcERlcGxveVdlYkFwcC5GaWxlVXBsb2FkU3RhdHVzRW50cnkSPQoKZGVwbG95bWVudBgGIAEoCzIpLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5XaW5kc3VyZkRlcGxveW1lbnQSHQoVZGVwbG95bWVudF9jb25maWdfdXJpGAcgASgJEk8KGGRlcGxveW1lbnRfY29uZmlnX291dHB1dBgIIAEoCzItLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5XZWJBcHBEZXBsb3ltZW50Q29uZmlnEiAKGHN1YmRvbWFpbl9mb3JfcHJvamVjdF9pZBgMIAEoCRIgChhzdWJkb21haW5fdXNlcl9zcGVjaWZpZWQYDSABKAkSFgoOc3ViZG9tYWluX3VzZWQYCSABKAkSSQocZGVwbG95X3RhcmdldF9mb3JfcHJvamVjdF9pZBgPIAEoCzIjLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5EZXBsb3lUYXJnZXQSSQocZGVwbG95X3RhcmdldF91c2VyX3NwZWNpZmllZBgQIAEoCzIjLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5EZXBsb3lUYXJnZXQSPwoSZGVwbG95X3RhcmdldF91c2VkGBEgASgLMiMuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkRlcGxveVRhcmdldBIXCg9wcm9qZWN0X2lkX3VzZWQYDiABKAkSEQoJY2xhaW1fdXJsGAogASgJGmQKFUZpbGVVcGxvYWRTdGF0dXNFbnRyeRILCgNrZXkYASABKAkSOgoFdmFsdWUYAiABKA4yKy5leGEuY29ydGV4X3BiLkRlcGxveVdlYkFwcEZpbGVVcGxvYWRTdGF0dXM6AjgBIpACChtDb3J0ZXhTdGVwQ2hlY2tEZXBsb3lTdGF0dXMSHgoWd2luZHN1cmZfZGVwbG95bWVudF9pZBgBIAEoCRI9CgpkZXBsb3ltZW50GAIgASgLMikuZXhhLmNvZGVpdW1fY29tbW9uX3BiLldpbmRzdXJmRGVwbG95bWVudBJCCgxidWlsZF9zdGF0dXMYAyABKA4yLC5leGEuY29kZWl1bV9jb21tb25fcGIuRGVwbG95bWVudEJ1aWxkU3RhdHVzEhMKC2J1aWxkX2Vycm9yGAQgASgJEhIKCmJ1aWxkX2xvZ3MYBSABKAkSEgoKaXNfY2xhaW1lZBgGIAEoCBIRCgljbGFpbV91cmwYByABKAkiJgoTQ29ydGV4U3RlcENsaXBib2FyZBIPCgdjb250ZW50GAEgASgJIrgBChBFeGVjdXRvck1ldGFkYXRhEkQKEnRlcm1pbmF0aW9uX3JlYXNvbhgBIAEoDjIoLmV4YS5jb3J0ZXhfcGIuRXhlY3V0b3JUZXJtaW5hdGlvblJlYXNvbhIhChludW1fZ2VuZXJhdG9yX2ludm9jYXRpb25zGAIgASgFEhUKDWxhc3Rfc3RlcF9pZHgYAyABKAUSJAoccHJvY2VlZGVkX3dpdGhfYXV0b19jb250aW51ZRgEIAEoCCJ0ChJDb3J0ZXhTdGVwTGludERpZmYSKQoEdHlwZRgBIAEoDjIbLmV4YS5jb3J0ZXhfcGIuTGludERpZmZUeXBlEjMKBGxpbnQYAiABKAsyJS5leGEuY29kZWl1bV9jb21tb25fcGIuQ29kZURpYWdub3N0aWMiVgoKQnJhaW5FbnRyeRIKCgJpZBgBIAEoCRIrCgR0eXBlGAIgASgOMh0uZXhhLmNvcnRleF9wYi5CcmFpbkVudHJ5VHlwZRIPCgdjb250ZW50GAMgASgJIkUKFVBsYW5FbnRyeURlbHRhU3VtbWFyeRITCgtpdGVtc19hZGRlZBgBIAMoCRIXCg9pdGVtc19jb21wbGV0ZWQYAiADKAkijwEKFkJyYWluRW50cnlEZWx0YVN1bW1hcnkSNAoEcGxhbhgBIAEoCzIkLmV4YS5jb3J0ZXhfcGIuUGxhbkVudHJ5RGVsdGFTdW1tYXJ5SAASNAoEdGFzaxgCIAEoCzIkLmV4YS5jb3J0ZXhfcGIuVGFza0VudHJ5RGVsdGFTdW1tYXJ5SABCCQoHc3VtbWFyeSK5AQoPQnJhaW5FbnRyeURlbHRhEikKBmJlZm9yZRgBIAEoCzIZLmV4YS5jb3J0ZXhfcGIuQnJhaW5FbnRyeRIoCgVhZnRlchgCIAEoCzIZLmV4YS5jb3J0ZXhfcGIuQnJhaW5FbnRyeRIZChFhYnNvbHV0ZV9wYXRoX3VyaRgDIAEoCRI2CgdzdW1tYXJ5GAQgASgLMiUuZXhhLmNvcnRleF9wYi5CcmFpbkVudHJ5RGVsdGFTdW1tYXJ5In4KCFRhc2tJdGVtEgoKAmlkGAEgASgJEg8KB2NvbnRlbnQYAiABKAkSKQoGc3RhdHVzGAMgASgOMhkuZXhhLmNvcnRleF9wYi5UYXNrU3RhdHVzEhEKCXBhcmVudF9pZBgEIAEoCRIXCg9wcmV2X3NpYmxpbmdfaWQYBSABKAki2wEKCVRhc2tEZWx0YRIqCgR0eXBlGAEgASgOMhwuZXhhLmNvcnRleF9wYi5UYXNrRGVsdGFUeXBlEgoKAmlkGAIgASgJEg8KB2NvbnRlbnQYAyABKAkSKQoGc3RhdHVzGAQgASgOMhkuZXhhLmNvcnRleF9wYi5UYXNrU3RhdHVzEhEKCXBhcmVudF9pZBgFIAEoCRIXCg9wcmV2X3NpYmxpbmdfaWQYBiABKAkSEwoLZnJvbV9wYXJlbnQYByABKAkSGQoRZnJvbV9wcmV2X3NpYmxpbmcYCCABKAkirwEKFVRhc2tFbnRyeURlbHRhU3VtbWFyeRIoCgZkZWx0YXMYASADKAsyGC5leGEuY29ydGV4X3BiLlRhc2tEZWx0YRITCgtpdGVtc19hZGRlZBgCIAEoBRIUCgxpdGVtc19wcnVuZWQYAyABKAUSFQoNaXRlbXNfZGVsZXRlZBgEIAEoBRIVCg1pdGVtc191cGRhdGVkGAUgASgFEhMKC2l0ZW1zX21vdmVkGAYgASgFIroBChVDb3J0ZXhTdGVwQnJhaW5VcGRhdGUSMwoKZW50cnlfdHlwZRgBIAEoDjIdLmV4YS5jb3J0ZXhfcGIuQnJhaW5FbnRyeVR5cGVIABIyCgd0cmlnZ2VyGAMgASgOMiEuZXhhLmNvcnRleF9wYi5CcmFpblVwZGF0ZVRyaWdnZXISLgoGZGVsdGFzGAIgAygLMh4uZXhhLmNvcnRleF9wYi5CcmFpbkVudHJ5RGVsdGFCCAoGdGFyZ2V0IlQKF0NvcnRleFN0ZXBBZGRBbm5vdGF0aW9uEjkKCmFubm90YXRpb24YASABKAsyJS5leGEuY29kZWl1bV9jb21tb25fcGIuQ29kZUFubm90YXRpb24iiwEKE0FkZEFubm90YXRpb25Db25maWcSFAoHZW5hYmxlZBgBIAEoCEgAiAEBEi0KIGVuYWJsZWRfZm9yX2NvbnZlcnNhdGlvbmFsX21peGluGAIgASgISAGIAQFCCgoIX2VuYWJsZWRCIwohX2VuYWJsZWRfZm9yX2NvbnZlcnNhdGlvbmFsX21peGluIuwBCgxDYXNjYWRlU3RhdGUSEgoKY2FzY2FkZV9pZBgBIAEoCRIzCgp0cmFqZWN0b3J5GAIgASgLMh8uZXhhLmNvcnRleF9wYi5Db3J0ZXhUcmFqZWN0b3J5Ei8KBnN0YXR1cxgDIAEoDjIfLmV4YS5jb3J0ZXhfcGIuQ2FzY2FkZVJ1blN0YXR1cxIRCglpc19yZXZlcnQYBSABKAgSOgoRZXhlY3V0b3JfbWV0YWRhdGEYBCABKAsyHy5leGEuY29ydGV4X3BiLkV4ZWN1dG9yTWV0YWRhdGESEwoLaXNfYXJjaGl2ZWQYBiABKAgioAEKEUNhc2NhZGVQYW5lbFN0YXRlEjYKC3BsYW5fc3RhdHVzGAEgASgLMiEuZXhhLmNvZGVpdW1fY29tbW9uX3BiLlBsYW5TdGF0dXMSOgoNdXNlcl9zZXR0aW5ncxgCIAEoCzIjLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Vc2VyU2V0dGluZ3NKBAgDEARSEXdvcmtzcGFjZV90cnVzdGVkIrEDChdDb3J0ZXhTdGVwQ29tbWFuZFN0YXR1cxISCgpjb21tYW5kX2lkGAEgASgJEh4KFm91dHB1dF9jaGFyYWN0ZXJfY291bnQYCCABKA0SHQoVd2FpdF9kdXJhdGlvbl9zZWNvbmRzGAogASgNEi8KBnN0YXR1cxgCIAEoDjIfLmV4YS5jb3J0ZXhfcGIuQ29ydGV4U3RlcFN0YXR1cxIQCghjb21iaW5lZBgJIAEoCRISCgVkZWx0YRgMIAEoCUgAiAEBEhYKCWV4aXRfY29kZRgFIAEoBUgBiAEBEjAKBWVycm9yGAYgASgLMiEuZXhhLmNvcnRleF9wYi5Db3J0ZXhFcnJvckRldGFpbHMSHwoXd2FpdGVkX2R1cmF0aW9uX3NlY29uZHMYCyABKA0SEgoGc3Rkb3V0GAMgASgJQgIYARISCgZzdGRlcnIYBCABKAlCAhgBEkEKD291dHB1dF9wcmlvcml0eRgHIAEoDjIkLmV4YS5jb3J0ZXhfcGIuQ29tbWFuZE91dHB1dFByaW9yaXR5QgIYAUIICgZfZGVsdGFCDAoKX2V4aXRfY29kZSK3AgoMQ29ydGV4TWVtb3J5EhEKCW1lbW9yeV9pZBgBIAEoCRINCgV0aXRsZRgGIAEoCRI1CghtZXRhZGF0YRgCIAEoCzIjLmV4YS5jb3J0ZXhfcGIuQ29ydGV4TWVtb3J5TWV0YWRhdGESMQoGc291cmNlGAMgASgOMiEuZXhhLmNvcnRleF9wYi5Db3J0ZXhNZW1vcnlTb3VyY2USLwoFc2NvcGUYBCABKAsyIC5leGEuY29ydGV4X3BiLkNvcnRleE1lbW9yeVNjb3BlEjYKC3RleHRfbWVtb3J5GAUgASgLMh8uZXhhLmNvcnRleF9wYi5Db3J0ZXhNZW1vcnlUZXh0SAASGAoLcGFyc2VfZXJyb3IYByABKAlIAYgBAUIICgZtZW1vcnlCDgoMX3BhcnNlX2Vycm9yItIBChRDb3J0ZXhNZW1vcnlNZXRhZGF0YRIuCgpjcmVhdGVkX2F0GAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIxCg1sYXN0X21vZGlmaWVkGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIxCg1sYXN0X2FjY2Vzc2VkGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIMCgR0YWdzGAQgAygJEhYKDnVzZXJfdHJpZ2dlcmVkGAUgASgIIiMKEENvcnRleE1lbW9yeVRleHQSDwoHY29udGVudBgBIAEoCSLWAgoRQ29ydGV4TWVtb3J5U2NvcGUSPgoMZ2xvYmFsX3Njb3BlGAEgASgLMiYuZXhhLmNvcnRleF9wYi5Db3J0ZXhNZW1vcnlHbG9iYWxTY29wZUgAEjwKC2xvY2FsX3Njb3BlGAIgASgLMiUuZXhhLmNvcnRleF9wYi5Db3J0ZXhNZW1vcnlMb2NhbFNjb3BlSAASOAoJYWxsX3Njb3BlGAMgASgLMiMuZXhhLmNvcnRleF9wYi5Db3J0ZXhNZW1vcnlBbGxTY29wZUgAEkAKDXByb2plY3Rfc2NvcGUYBCABKAsyJy5leGEuY29ydGV4X3BiLkNvcnRleE1lbW9yeVByb2plY3RTY29wZUgAEj4KDHN5c3RlbV9zY29wZRgFIAEoCzImLmV4YS5jb3J0ZXhfcGIuQ29ydGV4TWVtb3J5U3lzdGVtU2NvcGVIAEIHCgVzY29wZSIZChdDb3J0ZXhNZW1vcnlHbG9iYWxTY29wZSJkChZDb3J0ZXhNZW1vcnlMb2NhbFNjb3BlEhQKDGNvcnB1c19uYW1lcxgCIAMoCRIVCg1iYXNlX2Rpcl91cmlzGAMgAygJEh0KEXJlcG9fYmFzZV9kaXJfdXJpGAEgASgJQgIYASIWChRDb3J0ZXhNZW1vcnlBbGxTY29wZSIZChdDb3J0ZXhNZW1vcnlTeXN0ZW1TY29wZSL/AQoYQ29ydGV4TWVtb3J5UHJvamVjdFNjb3BlEhEKCWZpbGVfcGF0aBgBIAEoCRIaChJhYnNvbHV0ZV9maWxlX3BhdGgYByABKAkSFQoNYmFzZV9kaXJfdXJpcxgCIAMoCRIUCgxjb3JwdXNfbmFtZXMYAyADKAkSMwoHdHJpZ2dlchgEIAEoDjIiLmV4YS5jb3J0ZXhfcGIuQ29ydGV4TWVtb3J5VHJpZ2dlchITCgtkZXNjcmlwdGlvbhgFIAEoCRINCgVnbG9icxgGIAMoCRIuCgtydWxlX3NvdXJjZRgIIAEoDjIZLmV4YS5jb3J0ZXhfcGIuUnVsZVNvdXJjZSLsAQoLQ29ydGV4U2tpbGwSDAoEbmFtZRgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCRIMCgRwYXRoGAMgASgJEhYKDnJlc291cmNlX2NvdW50GAQgASgFEhAKCGJhc2VfZGlyGAUgASgJEg8KB2NvbnRlbnQYBiABKAkSFQoJaXNfZ2xvYmFsGAcgASgIQgIYARIYCgtwYXJzZV9lcnJvchgIIAEoCUgAiAEBEjAKDHNraWxsX3NvdXJjZRgJIAEoDjIaLmV4YS5jb3J0ZXhfcGIuU2tpbGxTb3VyY2VCDgoMX3BhcnNlX2Vycm9yIrUBChBDb3J0ZXhTdGVwTWVtb3J5EhEKCW1lbW9yeV9pZBgBIAEoCRIrCgZtZW1vcnkYAiABKAsyGy5leGEuY29ydGV4X3BiLkNvcnRleE1lbW9yeRIwCgtwcmV2X21lbW9yeRgEIAEoCzIbLmV4YS5jb3J0ZXhfcGIuQ29ydGV4TWVtb3J5Ei8KBmFjdGlvbhgDIAEoDjIfLmV4YS5jb3J0ZXhfcGIuTWVtb3J5QWN0aW9uVHlwZSLEAgoYQ29ydGV4U3RlcFJldHJpZXZlTWVtb3J5EhQKDHJ1bl9zdWJhZ2VudBgBIAEoCBIZChFhZGRfdXNlcl9tZW1vcmllcxgIIAEoCBIhChlhZGRfYXV0b19jYXNjYWRlX21lbW9yaWVzGAogASgIEh4KFmNhc2NhZGVfbWVtb3J5X3N1bW1hcnkYAiABKAkSGwoTdXNlcl9tZW1vcnlfc3VtbWFyeRgDIAEoCRIjChthdXRvX2Nhc2NhZGVfbWVtb3J5X3N1bW1hcnkYCSABKAkSDgoGcmVhc29uGAQgASgJEhMKC3Nob3dfcmVhc29uGAUgASgIEjcKEnJldHJpZXZlZF9tZW1vcmllcxgGIAMoCzIbLmV4YS5jb3J0ZXhfcGIuQ29ydGV4TWVtb3J5EhQKCGJsb2NraW5nGAcgASgIQgIYASKfAwoMTWVtb3J5Q29uZmlnEkEKF21lbW9yeV9tb2RlbF9kZXByZWNhdGVkGAEgASgOMhwuZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1vZGVsQgIYARIYChBtZW1vcnlfbW9kZWxfdWlkGAggASgJEiMKG251bV9jaGVja3BvaW50c19mb3JfY29udGV4dBgFIAEoDRIgChhudW1fbWVtb3JpZXNfdG9fY29uc2lkZXIYAyABKAUSIwobbWF4X2dsb2JhbF9jYXNjYWRlX21lbW9yaWVzGAQgASgFEioKGWNvbmRlbnNlX2lucHV0X3RyYWplY3RvcnkYBiABKAhCAhgBSACIAQESLwoiYWRkX3VzZXJfbWVtb3JpZXNfdG9fc3lzdGVtX3Byb21wdBgHIAEoCEgBiAEBEhgKB2VuYWJsZWQYAiABKAhCAhgBSAKIAQFCHAoaX2NvbmRlbnNlX2lucHV0X3RyYWplY3RvcnlCJQojX2FkZF91c2VyX21lbW9yaWVzX3RvX3N5c3RlbV9wcm9tcHRCCgoIX2VuYWJsZWQioAEKF1ZpZXdlZEZpbGVUcmFja2VyQ29uZmlnEiUKGG1heF9zdGVwc19wZXJfY2hlY2twb2ludBgBIAEoDUgAiAEBEhsKE21heF9maWxlc19pbl9wcm9tcHQYAiABKA0SJAocbWF4X2xpbmVzX3Blcl9maWxlX2luX3Byb21wdBgDIAEoDUIbChlfbWF4X3N0ZXBzX3Blcl9jaGVja3BvaW50IroBChdDb2RlU3RlcENyZWF0aW9uT3B0aW9ucxInCh9kaWZmX2Jsb2NrX3NlcGFyYXRpb25fdGhyZXNob2xkGAEgASgDEhgKEGhhbmRsZV9kZWxldGlvbnMYAiABKAgSGAoQaGFuZGxlX2NyZWF0aW9ucxgDIAEoCBIlChhpbmNsdWRlX29yaWdpbmFsX2NvbnRlbnQYBCABKAhIAIgBAUIbChlfaW5jbHVkZV9vcmlnaW5hbF9jb250ZW50IjkKHkJyYWluVXBkYXRlU3RlcENyZWF0aW9uT3B0aW9ucxIXCg9lbnRyeV9pZF9wcmVmaXgYASABKAkidwobVmlld0ZpbGVTdGVwQ3JlYXRpb25PcHRpb25zEh4KFmNvbmRpdGlvbl9vbl9lZGl0X3N0ZXAYASABKAgSIAoTaW5jbHVkZV9yYXdfY29udGVudBgCIAEoCEgAiAEBQhYKFF9pbmNsdWRlX3Jhd19jb250ZW50IjgKG1VzZXJHcmVwU3RlcENyZWF0aW9uT3B0aW9ucxIZChFudW1fc2VhcmNoX2V2ZW50cxgBIAEoDSLhAQodUnVuQ29tbWFuZFN0ZXBDcmVhdGlvbk9wdGlvbnMSFAoMbWF4X2NvbW1hbmRzGAEgASgNEjIKD21heF9jb21tYW5kX2FnZRgCIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhIkChxwZXJfY29tbWFuZF9tYXhfYnl0ZXNfb3V0cHV0GAMgASgNEh4KFnRvdGFsX21heF9ieXRlc19vdXRwdXQYBCABKA0SHAoPaW5jbHVkZV9ydW5uaW5nGAUgASgISACIAQFCEgoQX2luY2x1ZGVfcnVubmluZyJbChtMaW50RGlmZlN0ZXBDcmVhdGlvbk9wdGlvbnMSGAoQbWF4X2xpbnRfaW5zZXJ0cxgBIAEoDRIiChptaW5fcmVxdWlyZWRfbGludF9kdXJhdGlvbhgCIAEoDSLFBQoWU25hcHNob3RUb1N0ZXBzT3B0aW9ucxJKChpjb2RlX3N0ZXBfY3JlYXRpb25fb3B0aW9ucxgBIAEoCzImLmV4YS5jb3J0ZXhfcGIuQ29kZVN0ZXBDcmVhdGlvbk9wdGlvbnMSUwofdmlld19maWxlX3N0ZXBfY3JlYXRpb25fb3B0aW9ucxgCIAEoCzIqLmV4YS5jb3J0ZXhfcGIuVmlld0ZpbGVTdGVwQ3JlYXRpb25PcHRpb25zEkoKGnZpZXdlZF9maWxlX3RyYWNrZXJfY29uZmlnGAMgASgLMiYuZXhhLmNvcnRleF9wYi5WaWV3ZWRGaWxlVHJhY2tlckNvbmZpZxI7ChRzdGVwX3R5cGVfYWxsb3dfbGlzdBgEIAMoDjIdLmV4YS5jb3J0ZXhfcGIuQ29ydGV4U3RlcFR5cGUSUwofdXNlcl9ncmVwX3N0ZXBfY3JlYXRpb25fb3B0aW9ucxgFIAEoCzIqLmV4YS5jb3J0ZXhfcGIuVXNlckdyZXBTdGVwQ3JlYXRpb25PcHRpb25zElcKIXJ1bl9jb21tYW5kX3N0ZXBfY3JlYXRpb25fb3B0aW9ucxgGIAEoCzIsLmV4YS5jb3J0ZXhfcGIuUnVuQ29tbWFuZFN0ZXBDcmVhdGlvbk9wdGlvbnMSUwofbGludF9kaWZmX3N0ZXBfY3JlYXRpb25fb3B0aW9ucxgHIAEoCzIqLmV4YS5jb3J0ZXhfcGIuTGludERpZmZTdGVwQ3JlYXRpb25PcHRpb25zElkKImJyYWluX3VwZGF0ZV9zdGVwX2NyZWF0aW9uX29wdGlvbnMYCCABKAsyLS5leGEuY29ydGV4X3BiLkJyYWluVXBkYXRlU3RlcENyZWF0aW9uT3B0aW9uc0oECAkQClIdYnJvd3Nlcl9zdGVwX2NyZWF0aW9uX29wdGlvbnMimwIKDkN1c3RvbVRvb2xTcGVjEhEKCXJlY2lwZV9pZBgBIAEoCRI4Cg90b29sX2RlZmluaXRpb24YAiABKAsyHy5leGEuY2hhdF9wYi5DaGF0VG9vbERlZmluaXRpb24SFQoNc3lzdGVtX3Byb21wdBgDIAEoCRI1Cg9jb25maWdfb3ZlcnJpZGUYBCABKAsyHC5leGEuY29ydGV4X3BiLkNhc2NhZGVDb25maWcSPQoUcmVmZXJlbmNlX3RyYWplY3RvcnkYBSABKAsyHy5leGEuY29ydGV4X3BiLkNvcnRleFRyYWplY3RvcnkSGwoTcmVxdWlyZXNfd3JpdGVfbW9kZRgGIAEoCBISCgppc19idWlsdGluGAcgASgIImYKFENvcnRleFN0ZXBDdXN0b21Ub29sEhEKCXJlY2lwZV9pZBgBIAEoCRIWCg5hcmd1bWVudHNfanNvbhgCIAEoCRIOCgZvdXRwdXQYAyABKAkSEwoLcmVjaXBlX25hbWUYBCABKAkiMQoeQ29ydGV4U3RlcEF1dG9DYXNjYWRlQnJvYWRjYXN0Eg8KB21lc3NhZ2UYASABKAkijQEKFkNvcnRleFN0ZXBQb3N0UHJSZXZpZXcSDAoEYm9keRgBIAEoCRIRCgljb21taXRfaWQYAiABKAkSDAoEcGF0aBgDIAEoCRIMCgRzaWRlGAQgASgJEhIKCnN0YXJ0X2xpbmUYBSABKAUSEAoIZW5kX2xpbmUYBiABKAUSEAoIY2F0ZWdvcnkYByABKAkiowMKDU1jcFNlcnZlclNwZWMSEwoLc2VydmVyX25hbWUYASABKAkSDwoHY29tbWFuZBgCIAEoCRIMCgRhcmdzGAMgAygJEjIKA2VudhgEIAMoCzIlLmV4YS5jb3J0ZXhfcGIuTWNwU2VydmVyU3BlYy5FbnZFbnRyeRIUCgxzZXJ2ZXJfaW5kZXgYBSABKA0SEgoKc2VydmVyX3VybBgGIAEoCRIQCghkaXNhYmxlZBgHIAEoCBIWCg5kaXNhYmxlZF90b29scxgIIAMoCRI6CgdoZWFkZXJzGAkgAygLMikuZXhhLmNvcnRleF9wYi5NY3BTZXJ2ZXJTcGVjLkhlYWRlcnNFbnRyeRIsCgVvYXV0aBgKIAEoCzIdLmV4YS5jb3J0ZXhfcGIuTWNwT0F1dGhDb25maWcSEAoIcmVnaXN0cnkYCyABKAkaKgoIRW52RW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ARouCgxIZWFkZXJzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASIzCg5NY3BPQXV0aENvbmZpZxIRCgljbGllbnRfaWQYASABKAkSDgoGc2NvcGVzGAIgAygJIi4KDU1jcFNlcnZlckluZm8SDAoEbmFtZRgBIAEoCRIPCgd2ZXJzaW9uGAIgASgJItwBChFDb3J0ZXhTdGVwTWNwVG9vbBITCgtzZXJ2ZXJfbmFtZRgBIAEoCRI2Cgl0b29sX2NhbGwYAiABKAsyIy5leGEuY29kZWl1bV9jb21tb25fcGIuQ2hhdFRvb2xDYWxsEjEKC3NlcnZlcl9pbmZvGAQgASgLMhwuZXhhLmNvcnRleF9wYi5NY3BTZXJ2ZXJJbmZvEhUKDXJlc3VsdF9zdHJpbmcYAyABKAkSMAoGaW1hZ2VzGAUgAygLMiAuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkltYWdlRGF0YSJQCgtNY3BSZXNvdXJjZRILCgN1cmkYASABKAkSDAoEbmFtZRgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRIRCgltaW1lX3R5cGUYBCABKAkijQEKEk1jcFJlc291cmNlQ29udGVudBILCgN1cmkYASABKAkSLwoEdGV4dBgCIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5UZXh0RGF0YUgAEjEKBWltYWdlGAMgASgLMiAuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkltYWdlRGF0YUgAQgYKBGRhdGEiSAoRTWNwUHJvbXB0QXJndW1lbnQSDAoEbmFtZRgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCRIQCghyZXF1aXJlZBgDIAEoCCJjCglNY3BQcm9tcHQSDAoEbmFtZRgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCRIzCglhcmd1bWVudHMYAyADKAsyIC5leGEuY29ydGV4X3BiLk1jcFByb21wdEFyZ3VtZW50IpIBChdDb3J0ZXhTdGVwTGlzdFJlc291cmNlcxITCgtzZXJ2ZXJfbmFtZRgBIAEoCRITCgZjdXJzb3IYAiABKAlIAIgBARItCglyZXNvdXJjZXMYAyADKAsyGi5leGEuY29ydGV4X3BiLk1jcFJlc291cmNlEhMKC25leHRfY3Vyc29yGAQgASgJQgkKB19jdXJzb3IimQEKFkNvcnRleFN0ZXBSZWFkUmVzb3VyY2USEwoLc2VydmVyX25hbWUYASABKAkSCwoDdXJpGAIgASgJEjMKCGNvbnRlbnRzGAMgAygLMiEuZXhhLmNvcnRleF9wYi5NY3BSZXNvdXJjZUNvbnRlbnQSKAogc2tpcHBlZF9ub25faW1hZ2VfYmluYXJ5X2NvbnRlbnQYBCABKAgiLAoZQ29ydGV4U3RlcEFydGlmYWN0U3VtbWFyeRIPCgdzdW1tYXJ5GAEgASgJIm0KGUNvcnRleFN0ZXBNYW5hZ2VyRmVlZGJhY2sSPgoGc3RhdHVzGAEgASgOMi4uZXhhLmNvcnRleF9wYi5Db3J0ZXhTdGVwTWFuYWdlckZlZWRiYWNrU3RhdHVzEhAKCGZlZWRiYWNrGAIgASgJIlQKGkNvcnRleFN0ZXBUb29sQ2FsbFByb3Bvc2FsEjYKCXRvb2xfY2FsbBgBIAEoCzIjLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5DaGF0VG9vbENhbGwifAoYQ29ydGV4U3RlcFRvb2xDYWxsQ2hvaWNlEkAKE3Byb3Bvc2FsX3Rvb2xfY2FsbHMYASADKAsyIy5leGEuY29kZWl1bV9jb21tb25fcGIuQ2hhdFRvb2xDYWxsEg4KBmNob2ljZRgCIAEoDRIOCgZyZWFzb24YAyABKAkiXQoaQ29ydGV4U3RlcFRyYWplY3RvcnlDaG9pY2USHwoXcHJvcG9zYWxfdHJhamVjdG9yeV9pZHMYASADKAkSDgoGY2hvaWNlGAIgASgFEg4KBnJlYXNvbhgDIAEoCSKIAQoWQ29ydGV4U3RlcENyZWF0ZVJlY2lwZRItCgZyZWNpcGUYASABKAsyHS5leGEuY29ydGV4X3BiLkN1c3RvbVRvb2xTcGVjEh8KF3JlZmVyZW5jZV90cmFqZWN0b3J5X2lkGAIgASgJEh4KFnJlZmVyZW5jZV9zdGVwX2luZGljZXMYAyADKA0iTwoYQ29ydGV4U3RlcFByb3h5V2ViU2VydmVyEhIKCnRhcmdldF91cmwYASABKAkSDAoEbmFtZRgCIAEoCRIRCglwcm94eV91cmwYAyABKAkitAIKDk1jcFNlcnZlclN0YXRlEioKBHNwZWMYASABKAsyHC5leGEuY29ydGV4X3BiLk1jcFNlcnZlclNwZWMSLgoGc3RhdHVzGAIgASgOMh4uZXhhLmNvcnRleF9wYi5NY3BTZXJ2ZXJTdGF0dXMSDQoFZXJyb3IYAyABKAkSLgoFdG9vbHMYBCADKAsyHy5leGEuY2hhdF9wYi5DaGF0VG9vbERlZmluaXRpb24SEwoLdG9vbF9lcnJvcnMYByADKAkSMQoLc2VydmVyX2luZm8YBSABKAsyHC5leGEuY29ydGV4X3BiLk1jcFNlcnZlckluZm8SFAoMaW5zdHJ1Y3Rpb25zGAYgASgJEikKB3Byb21wdHMYCCADKAsyGC5leGEuY29ydGV4X3BiLk1jcFByb21wdCIzChVUcmFqZWN0b3J5SnVkZ2VDb25maWcSGgoSbWF4X3N0ZXBzX3RvX2p1ZGdlGAEgASgFItUCChlDb3J0ZXhTdGVwVmlld0ZpbGVPdXRsaW5lEhkKEWFic29sdXRlX3BhdGhfdXJpGAEgASgJEhIKCmNjaV9vZmZzZXQYAiABKA0SNAoEY2NpcxgDIAMoCzImLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Db2RlQ29udGV4dEl0ZW0SFQoNb3V0bGluZV9pdGVtcxgJIAMoCRIZChFudW1faXRlbXNfc2Nhbm5lZBgKIAEoDRIXCg90b3RhbF9jY2lfY291bnQYBCABKA0SEQoJbnVtX2xpbmVzGAUgASgNEhEKCW51bV9ieXRlcxgGIAEoDRIQCghjb250ZW50cxgHIAEoCRIfChdjb250ZW50X2xpbmVzX3RydW5jYXRlZBgIIAEoDRIaChJ0cmlnZ2VyZWRfbWVtb3JpZXMYCyABKAkSEwoLcmF3X2NvbnRlbnQYDCABKAkipwEKEkNvcnRleFRvZG9MaXN0SXRlbRIKCgJpZBgBIAEoCRIPCgdjb250ZW50GAIgASgJEjcKBnN0YXR1cxgDIAEoDjInLmV4YS5jb3J0ZXhfcGIuQ29ydGV4VG9kb0xpc3RJdGVtU3RhdHVzEjsKCHByaW9yaXR5GAQgASgOMikuZXhhLmNvcnRleF9wYi5Db3J0ZXhUb2RvTGlzdEl0ZW1Qcmlvcml0eSJjChJDb3J0ZXhTdGVwVG9kb0xpc3QSMAoFdG9kb3MYASADKAsyIS5leGEuY29ydGV4X3BiLkNvcnRleFRvZG9MaXN0SXRlbRIbChNpc19pbml0aWFsX2NyZWF0aW9uGAIgASgIIjIKEUNvcnRleFN0ZXBDb2RlTWFwEh0KFWNvZGVfbWFwX2pzb25fY29udGVudBgBIAEoCSIyChVDb3J0ZXhTdGVwRWRpdENvZGVNYXASGQoRZWRpdF9qc29uX2NvbnRlbnQYASABKAkiiQEKF0VwaGVtZXJhbE1lc3NhZ2VzQ29uZmlnEhQKB2VuYWJsZWQYASABKAhIAIgBARIRCgludW1fc3RlcHMYAiABKA0SOQoRaGV1cmlzdGljX3Byb21wdHMYAyADKAsyHi5leGEuY29ydGV4X3BiLkhldXJpc3RpY1Byb21wdEIKCghfZW5hYmxlZCI0Cg9IZXVyaXN0aWNQcm9tcHQSEQoJaGV1cmlzdGljGAEgASgJEg4KBnByb21wdBgCIAEoCSI7Cg5SZXZlcnRNZXRhZGF0YRIVCg1yZXZlcnRlZF91cmlzGAQgAygJSgQIBRAGUgxyZXZlcnRfc3RhdGUiZgoYVHJhamVjdG9yeVByZWZpeE1ldGFkYXRhEg4KBmxlbmd0aBgBIAEoDRIOCgZ0b2tlbnMYAiABKA0SEwoLbnVtX3NraXBwZWQYAyABKA0SFQoNbnVtX3RydW5jYXRlZBgEIAEoDSKkAQobQ29ydGV4U3RlcEZpbmRBbGxSZWZlcmVuY2VzEhQKDGFic29sdXRlX3VyaRgBIAEoCRIOCgZzeW1ib2wYAiABKAkSDAoEbGluZRgDIAEoDRIYChBvY2N1cnJlbmNlX2luZGV4GAQgASgNEjcKCnJlZmVyZW5jZXMYBSADKAsyIy5leGEuY29kZWl1bV9jb21tb25fcGIuTHNwUmVmZXJlbmNlIjsKF0ZpbmRBbGxSZWZlcmVuY2VzQ29uZmlnEhQKB2VuYWJsZWQYASABKAhIAIgBAUIKCghfZW5hYmxlZCLtAQoaQ29ydGV4U3RlcFJ1bkV4dGVuc2lvbkNvZGUSDAoEY29kZRgBIAEoCRIQCghsYW5ndWFnZRgCIAEoCRIcChRtb2RlbF93YW50c19hdXRvX3J1bhgGIAEoCBIfChd1c2VyX2ZhY2luZ19leHBsYW5hdGlvbhgHIAEoCRIOCgZvdXRwdXQYAyABKAkSFQoNdXNlcl9yZWplY3RlZBgEIAEoCBJJChFhdXRvX3J1bl9kZWNpc2lvbhgFIAEoDjIuLmV4YS5jb3J0ZXhfcGIuUnVuRXh0ZW5zaW9uQ29kZUF1dG9SdW5EZWNpc2lvbiJmChZSdW5FeHRlbnNpb25Db2RlQ29uZmlnEhQKB2VuYWJsZWQYASABKAhIAIgBARIRCgRvbmx5GAIgASgISAGIAQFCCgoIX2VuYWJsZWRCBwoFX29ubHlKBAgDEARSCGF1dG9fcnVuIsEBChpDb3J0ZXhTdGVwUHJvcG9zYWxGZWVkYmFjaxJAChRhY2tub3dsZWRnZW1lbnRfdHlwZRgBIAEoDjIiLmV4YS5jb3J0ZXhfcGIuQWNrbm93bGVkZ2VtZW50VHlwZRIZChF0YXJnZXRfc3RlcF9pbmRleBgCIAEoDRI8ChFyZXBsYWNlbWVudF9jaHVuaxgDIAEoCzIfLmV4YS5jb3J0ZXhfcGIuUmVwbGFjZW1lbnRDaHVua0gAQggKBnRhcmdldCJsChVUcmFqZWN0b3J5RGVzY3JpcHRpb24SJAoaY2FzY2FkZV9jb252ZXJzYXRpb25fdGl0bGUYASABKAlIABIeChRtYWlubGluZV9icmFuY2hfbmFtZRgCIAEoCUgAQg0KC2Rlc2NyaXB0aW9uIpgCChpDb3J0ZXhTdGVwVHJhamVjdG9yeVNlYXJjaBIKCgJpZBgBIAEoCRINCgVxdWVyeRgCIAEoCRI2CgdpZF90eXBlGAMgASgOMiUuZXhhLmNvcnRleF9wYi5UcmFqZWN0b3J5U2VhcmNoSWRUeXBlEksKBmNodW5rcxgEIAMoCzI7LmV4YS5jb250ZXh0X21vZHVsZV9wYi5DY2lXaXRoU3VicmFuZ2VXaXRoUmV0cmlldmFsTWV0YWRhdGESRAoWdHJhamVjdG9yeV9kZXNjcmlwdGlvbhgFIAEoCzIkLmV4YS5jb3J0ZXhfcGIuVHJhamVjdG9yeURlc2NyaXB0aW9uEhQKDHRvdGFsX2NodW5rcxgGIAEoDSJMChZDb3J0ZXhTdGVwUmVhZFRlcm1pbmFsEhIKCnByb2Nlc3NfaWQYASABKAkSDAoEbmFtZRgCIAEoCRIQCghjb250ZW50cxgDIAEoCSJGCg1Ib29rQ29uZGl0aW9uEjUKDWFnZW50X2FjdGlvbnMYASADKA4yHi5leGEuY29ydGV4X3BiLkhvb2tBZ2VudEFjdGlvbiJuCg9Db21tYW5kSG9va1NwZWMSDwoHY29tbWFuZBgBIAEoCRIZChF3b3JraW5nX2RpcmVjdG9yeRgCIAEoCRITCgtzaG93X291dHB1dBgDIAEoCBIaChJwb3dlcnNoZWxsX2NvbW1hbmQYBCABKAkiTgoRSG9va0V4ZWN1dGlvblNwZWMSMQoHY29tbWFuZBgBIAEoCzIeLmV4YS5jb3J0ZXhfcGIuQ29tbWFuZEhvb2tTcGVjSABCBgoEaG9vayJGChFDb21tYW5kSG9va1Jlc3VsdBIRCglleGl0X2NvZGUYASABKAUSDgoGc3Rkb3V0GAIgASgJEg4KBnN0ZGVychgDIAEoCSJUChNIb29rRXhlY3V0aW9uUmVzdWx0EjMKB2NvbW1hbmQYASABKAsyIC5leGEuY29ydGV4X3BiLkNvbW1hbmRIb29rUmVzdWx0SABCCAoGcmVzdWx0IqMBCgtDYXNjYWRlSG9vaxIzCglob29rX3NwZWMYBSABKAsyIC5leGEuY29ydGV4X3BiLkhvb2tFeGVjdXRpb25TcGVjEi8KCWNvbmRpdGlvbhgGIAEoCzIcLmV4YS5jb3J0ZXhfcGIuSG9va0NvbmRpdGlvbhIWCg53b3Jrc3BhY2VfZGlycxgHIAMoCUoECAEQAkoECAIQA0oECAMQBEoECAQQBSJ5ChNIb29rRXhlY3V0aW9uRGV0YWlsEi4KBHNwZWMYASABKAsyIC5leGEuY29ydGV4X3BiLkhvb2tFeGVjdXRpb25TcGVjEjIKBnJlc3VsdBgCIAEoCzIiLmV4YS5jb3J0ZXhfcGIuSG9va0V4ZWN1dGlvblJlc3VsdCKCAQoTQ29ydGV4U3RlcERlZXBUaGluaxIcChRleHBsb3JhdGlvbl9kb2N1bWVudBgBIAEoCRIuCiZleHBsb3JhdGlvbl9kb2N1bWVudF9hYnNvbHV0ZV9wYXRoX3VyaRgCIAEoCRIdChVsYXN0X3BsYW5uZXJfcmVzcG9uc2UYAyABKAkiZQoUVGFza1Jlc29sdXRpb25PcGVuUHISEAoIcHJfdGl0bGUYASABKAkSDwoHcHJfYm9keRgCIAEoCRIOCgZwcl91cmwYAyABKAkSGgoSZXhpc3RlZF9wcmV2aW91c2x5GAQgASgIIlYKDlRhc2tSZXNvbHV0aW9uEjYKB29wZW5fcHIYASABKAsyIy5leGEuY29ydGV4X3BiLlRhc2tSZXNvbHV0aW9uT3BlblBySABCDAoKcmVzb2x1dGlvbiJ/ChFDb2RlTWFwU3VnZ2VzdGlvbhIKCgJpZBgBIAEoCRIOCgZwcm9tcHQYAiABKAkSFwoPc3RhcnRpbmdfcG9pbnRzGAMgAygJEhEKCWRpc21pc3NlZBgEIAEoCBIVCghzdWJ0aXRsZRgFIAEoCUgAiAEBQgsKCV9zdWJ0aXRsZSJRChhDb3J0ZXhTdGVwU3VnZ2VzdENvZGVtYXASNQoLc3VnZ2VzdGlvbnMYASADKAsyIC5leGEuY29ydGV4X3BiLkNvZGVNYXBTdWdnZXN0aW9uIuIBCgxMaWZlZ3VhcmRCdWcSCgoCaWQYASABKAkSDAoEZmlsZRgCIAEoCRINCgVzdGFydBgDIAEoBRILCgNlbmQYBCABKAUSDQoFdGl0bGUYBSABKAkSEwoLZGVzY3JpcHRpb24YBiABKAkSEAoIc2V2ZXJpdHkYByABKAkSEgoKcmVzb2x1dGlvbhgIIAEoCRIYCgtmaXhfb2xkX3N0chgJIAEoCUgAiAEBEhgKC2ZpeF9uZXdfc3RyGAogASgJSAGIAQFCDgoMX2ZpeF9vbGRfc3RyQg4KDF9maXhfbmV3X3N0ciJBChRDb3J0ZXhTdGVwUmVwb3J0QnVncxIpCgRidWdzGAEgAygLMhsuZXhhLmNvcnRleF9wYi5MaWZlZ3VhcmRCdWcicAoTVXBzZXJ0Q29kZW1hcE91dHB1dBIKCgJpZBgBIAEoCRINCgV0aXRsZRgCIAEoCRIUCgxjb2RlbWFwX2pzb24YAyABKAkSGAoLZGVzY3JpcHRpb24YBCABKAlIAIgBAUIOCgxfZGVzY3JpcHRpb24igAMKF0NvcnRleFN0ZXBVcHNlcnRDb2RlbWFwEg4KBnByb21wdBgBIAEoCRIXCg9zdGFydGluZ19wb2ludHMYAiADKAkSEAoIYmxvY2tpbmcYAyABKAgSHwoSZWRpdGluZ19jb2RlbWFwX2lkGAQgASgJSACIAQESIgoVZWRpdGluZ19jb2RlbWFwX3RpdGxlGAUgASgJSAGIAQESFQoNdXNlcl9yZWplY3RlZBgGIAEoCBI3CgZvdXRwdXQYByABKAsyIi5leGEuY29ydGV4X3BiLlVwc2VydENvZGVtYXBPdXRwdXRIAogBARJGCg5ydW5uaW5nX3N0YXR1cxgIIAEoCzIpLmV4YS5jb3J0ZXhfcGIuVXBzZXJ0Q29kZW1hcFJ1bm5pbmdTdGF0dXNIA4gBAUIVChNfZWRpdGluZ19jb2RlbWFwX2lkQhgKFl9lZGl0aW5nX2NvZGVtYXBfdGl0bGVCCQoHX291dHB1dEIRCg9fcnVubmluZ19zdGF0dXMiVAoaVXBzZXJ0Q29kZW1hcFJ1bm5pbmdTdGF0dXMSDAoEc3RlcBgBIAEoBRIYCgtzdGVwX3N0YXR1cxgCIAEoCUgAiAEBQg4KDF9zdGVwX3N0YXR1cyKbAQoVQ29ydGV4U3RlcFJlc29sdmVUYXNrEhQKDGFic29sdXRlX3VyaRgBIAEoCRINCgV0aXRsZRgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRIVCg11c2VyX3JlamVjdGVkGAQgASgIEjEKCnJlc29sdXRpb24YBSABKAsyHS5leGEuY29ydGV4X3BiLlRhc2tSZXNvbHV0aW9uIlYKFkNvcnRleFN0ZXBFeGl0UGxhbk1vZGUSFgoJcGxhbl9maWxlGAEgASgJSACIAQESFgoOdXNlcl9yZXF1ZXN0ZWQYAiABKAhCDAoKX3BsYW5fZmlsZSKDAQoPQ29ydGV4U3RlcFNraWxsEhIKCnNraWxsX25hbWUYASABKAkSEwoLZGVzY3JpcHRpb24YAiABKAkSDAoEcGF0aBgDIAEoCRIWCg5yZXNvdXJjZV9jb3VudBgEIAEoBRIQCghiYXNlX2RpchgFIAEoCRIPCgdjb250ZW50GAYgASgJKvEBCgxBY3Rpb25TdGF0dXMSHQoZQUNUSU9OX1NUQVRVU19VTlNQRUNJRklFRBAAEhcKE0FDVElPTl9TVEFUVVNfRVJST1IQARIdChlBQ1RJT05fU1RBVFVTX0lOSVRJQUxJWkVEEAISGwoXQUNUSU9OX1NUQVRVU19QUkVQQVJJTkcQAxIaChZBQ1RJT05fU1RBVFVTX1BSRVBBUkVEEAQSGgoWQUNUSU9OX1NUQVRVU19BUFBMWUlORxAFEhkKFUFDVElPTl9TVEFUVVNfQVBQTElFRBAGEhoKFkFDVElPTl9TVEFUVVNfUkVKRUNURUQQByqQAQoKUGxhblN0YXR1cxIbChdQTEFOX1NUQVRVU19VTlNQRUNJRklFRBAAEhsKF1BMQU5fU1RBVFVTX0lOSVRJQUxJWkVEEAESGAoUUExBTl9TVEFUVVNfUExBTk5JTkcQAhIXChNQTEFOX1NUQVRVU19QTEFOTkVEEAMSFQoRUExBTl9TVEFUVVNfRVJST1IQBCqIAQoTQ29ydGV4UmVxdWVzdFNvdXJjZRIlCiFDT1JURVhfUkVRVUVTVF9TT1VSQ0VfVU5TUEVDSUZJRUQQABIhCh1DT1JURVhfUkVRVUVTVF9TT1VSQ0VfQ0FTQ0FERRABEicKI0NPUlRFWF9SRVFVRVNUX1NPVVJDRV9VU0VSX0lNUExJQ0lUEAIq5AQKFkNvcnRleFRyYWplY3RvcnlTb3VyY2USKAokQ09SVEVYX1RSQUpFQ1RPUllfU09VUkNFX1VOU1BFQ0lGSUVEEAASKwonQ09SVEVYX1RSQUpFQ1RPUllfU09VUkNFX0NBU0NBREVfQ0xJRU5UEAESLAooQ09SVEVYX1RSQUpFQ1RPUllfU09VUkNFX0VYUExBSU5fUFJPQkxFTRACEi4KKkNPUlRFWF9UUkFKRUNUT1JZX1NPVVJDRV9SRUZBQ1RPUl9GVU5DVElPThADEiEKHUNPUlRFWF9UUkFKRUNUT1JZX1NPVVJDRV9FVkFMEAQSJgoiQ09SVEVYX1RSQUpFQ1RPUllfU09VUkNFX0VWQUxfVEFTSxAFEiYKIkNPUlRFWF9UUkFKRUNUT1JZX1NPVVJDRV9BU1lOQ19QUlIQBhIlCiFDT1JURVhfVFJBSkVDVE9SWV9TT1VSQ0VfQVNZTkNfQ0YQBxIlCiFDT1JURVhfVFJBSkVDVE9SWV9TT1VSQ0VfQVNZTkNfU0wQCBImCiJDT1JURVhfVFJBSkVDVE9SWV9TT1VSQ0VfQVNZTkNfUFJEEAkSJQohQ09SVEVYX1RSQUpFQ1RPUllfU09VUkNFX0FTWU5DX0NNEAoSKgomQ09SVEVYX1RSQUpFQ1RPUllfU09VUkNFX1BBU1NJVkVfQ09ERVIQCxIlCiFDT1JURVhfVFJBSkVDVE9SWV9TT1VSQ0VfQ09ERV9NQVAQDRImCiJDT1JURVhfVFJBSkVDVE9SWV9TT1VSQ0VfTElGRUdVQVJEEA8iBAgMEAwiBAgOEA4qxAcKFENvcnRleFRyYWplY3RvcnlUeXBlEiYKIkNPUlRFWF9UUkFKRUNUT1JZX1RZUEVfVU5TUEVDSUZJRUQQABIoCiRDT1JURVhfVFJBSkVDVE9SWV9UWVBFX1VTRVJfTUFJTkxJTkUQARIoCiRDT1JURVhfVFJBSkVDVE9SWV9UWVBFX1VTRVJfR1JBTlVMQVIQAhIoCiRDT1JURVhfVFJBSkVDVE9SWV9UWVBFX1NVUEVSQ09NUExFVEUQAxIiCh5DT1JURVhfVFJBSkVDVE9SWV9UWVBFX0NBU0NBREUQBBIyCipDT1JURVhfVFJBSkVDVE9SWV9UWVBFX0JBQ0tHUk9VTkRfUkVTRUFSQ0gQBRoCCAESJQohQ09SVEVYX1RSQUpFQ1RPUllfVFlQRV9DSEVDS1BPSU5UEAYSKgomQ09SVEVYX1RSQUpFQ1RPUllfVFlQRV9SRVRSSUVWRV9NRU1PUlkQBxImCiJDT1JURVhfVFJBSkVDVE9SWV9UWVBFX0NVU1RPTV9UT09MEAgSJwojQ09SVEVYX1RSQUpFQ1RPUllfVFlQRV9BVVRPX0NBU0NBREUQCRIvCitDT1JURVhfVFJBSkVDVE9SWV9UWVBFX0FVVE9fQ0FTQ0FERV9NQU5BR0VSEAoSIgoeQ09SVEVYX1RSQUpFQ1RPUllfVFlQRV9BUFBMSUVSEAsSLQopQ09SVEVYX1RSQUpFQ1RPUllfVFlQRV9UT09MX0NBTExfUFJPUE9TQUwQDBIsCihDT1JURVhfVFJBSkVDVE9SWV9UWVBFX1RSQUpFQ1RPUllfQ0hPSUNFEA0SJAogQ09SVEVYX1RSQUpFQ1RPUllfVFlQRV9MTE1fSlVER0UQDhIvCidDT1JURVhfVFJBSkVDVE9SWV9UWVBFX0FSVElGQUNUX1NVTU1BUlkQExoCCAESKAokQ09SVEVYX1RSQUpFQ1RPUllfVFlQRV9QQVNTSVZFX0NPREVSEA8SLgoqQ09SVEVYX1RSQUpFQ1RPUllfVFlQRV9JTlRFUkFDVElWRV9DQVNDQURFEBESJwojQ09SVEVYX1RSQUpFQ1RPUllfVFlQRV9CUkFJTl9VUERBVEUQECIECBIQEiIECBQQFCIECBUQFSohQ09SVEVYX1RSQUpFQ1RPUllfVFlQRV9ERUVQX1RISU5LKidDT1JURVhfVFJBSkVDVE9SWV9UWVBFX1NVR0dFU1RfQ09ERV9NQVAqIENPUlRFWF9UUkFKRUNUT1JZX1RZUEVfTElGRUdVQVJEKt4BChBDb3J0ZXhTdGVwU291cmNlEiIKHkNPUlRFWF9TVEVQX1NPVVJDRV9VTlNQRUNJRklFRBAAEh0KGUNPUlRFWF9TVEVQX1NPVVJDRV9NQU5VQUwQARIcChhDT1JURVhfU1RFUF9TT1VSQ0VfTU9ERUwQAhIkCiBDT1JURVhfU1RFUF9TT1VSQ0VfVVNFUl9JTVBMSUNJVBADEiQKIENPUlRFWF9TVEVQX1NPVVJDRV9VU0VSX0VYUExJQ0lUEAQSHQoZQ09SVEVYX1NURVBfU09VUkNFX1NZU1RFTRAFKncKFkNvcnRleFN0ZXBDcmVkaXRSZWFzb24SKQolQ09SVEVYX1NURVBfQ1JFRElUX1JFQVNPTl9VTlNQRUNJRklFRBAAEjIKLkNPUlRFWF9TVEVQX0NSRURJVF9SRUFTT05fTElOVF9GSVhJTkdfRElTQ09VTlQQASq+AQoTRXhlY3V0aW9uQXN5bmNMZXZlbBIlCiFFWEVDVVRJT05fQVNZTkNfTEVWRUxfVU5TUEVDSUZJRUQQABItCilFWEVDVVRJT05fQVNZTkNfTEVWRUxfSU5WT0NBVElPTl9CTE9DS0lORxABEisKJ0VYRUNVVElPTl9BU1lOQ19MRVZFTF9FWEVDVVRPUl9CTE9DS0lORxACEiQKIEVYRUNVVElPTl9BU1lOQ19MRVZFTF9GVUxMX0FTWU5DEAMqlQMKEENvcnRleFN0ZXBTdGF0dXMSIgoeQ09SVEVYX1NURVBfU1RBVFVTX1VOU1BFQ0lGSUVEEAASIQodQ09SVEVYX1NURVBfU1RBVFVTX0dFTkVSQVRJTkcQCBIdChlDT1JURVhfU1RFUF9TVEFUVVNfSEFMVEVEEAoSHgoaQ09SVEVYX1NURVBfU1RBVFVTX1BFTkRJTkcQARIeChpDT1JURVhfU1RFUF9TVEFUVVNfUlVOTklORxACEh4KGkNPUlRFWF9TVEVQX1NUQVRVU19XQUlUSU5HEAkSGwoXQ09SVEVYX1NURVBfU1RBVFVTX0RPTkUQAxIeChpDT1JURVhfU1RFUF9TVEFUVVNfSU5WQUxJRBAEEh4KGkNPUlRFWF9TVEVQX1NUQVRVU19DTEVBUkVEEAUSHwobQ09SVEVYX1NURVBfU1RBVFVTX0NBTkNFTEVEEAYSHAoYQ09SVEVYX1NURVBfU1RBVFVTX0VSUk9SEAcSHwobQ09SVEVYX1NURVBfU1RBVFVTX1NLSVBQSU5HEAsqsgEKEENhc2NhZGVSdW5TdGF0dXMSIgoeQ0FTQ0FERV9SVU5fU1RBVFVTX1VOU1BFQ0lGSUVEEAASGwoXQ0FTQ0FERV9SVU5fU1RBVFVTX0lETEUQARIeChpDQVNDQURFX1JVTl9TVEFUVVNfUlVOTklORxACEiAKHENBU0NBREVfUlVOX1NUQVRVU19DQU5DRUxJTkcQAxIbChdDQVNDQURFX1JVTl9TVEFUVVNfQlVTWRAEKpcBChNCcmFpbkZpbHRlclN0cmF0ZWd5EiUKIUJSQUlOX0ZJTFRFUl9TVFJBVEVHWV9VTlNQRUNJRklFRBAAEjIKLkJSQUlOX0ZJTFRFUl9TVFJBVEVHWV9OT19TWVNURU1fSU5KRUNURURfU1RFUFMQARIlCiFCUkFJTl9GSUxURVJfU1RSQVRFR1lfTk9fTUVNT1JJRVMQAiqlAQoTU2VjdGlvbk92ZXJyaWRlTW9kZRIlCiFTRUNUSU9OX09WRVJSSURFX01PREVfVU5TUEVDSUZJRUQQABIiCh5TRUNUSU9OX09WRVJSSURFX01PREVfT1ZFUlJJREUQARIgChxTRUNUSU9OX09WRVJSSURFX01PREVfQVBQRU5EEAISIQodU0VDVElPTl9PVkVSUklERV9NT0RFX1BSRVBFTkQQAypnCgxBZ2VudGljTWl4aW4SHQoZQUdFTlRJQ19NSVhJTl9VTlNQRUNJRklFRBAAEhsKF0FHRU5USUNfTUlYSU5fU01BUlRMSU5UEAESGwoXQUdFTlRJQ19NSVhJTl9QUl9SRVZJRVcQAiq6AQoTQ2FzY2FkZUFnZW50VG9vbFNldBImCiJDQVNDQURFX0FHRU5UX1RPT0xfU0VUX1VOU1BFQ0lGSUVEEAASJwojQ0FTQ0FERV9BR0VOVF9UT09MX1NFVF9PTkxZX0NPTU1BTkQQARIsCihDQVNDQURFX0FHRU5UX1RPT0xfU0VUX0NPTU1BTkRfQU5EX0VESVRTEAISJAogQ0FTQ0FERV9BR0VOVF9UT09MX1NFVF9OT19TRUFSQ0gQAyq4AgoSUmVwbGFjZVRvb2xWYXJpYW50EiQKIFJFUExBQ0VfVE9PTF9WQVJJQU5UX1VOU1BFQ0lGSUVEEAASKgomUkVQTEFDRV9UT09MX1ZBUklBTlRfUkVQTEFDRU1FTlRfQ0hVTksQARInCiNSRVBMQUNFX1RPT0xfVkFSSUFOVF9TRUFSQ0hfUkVQTEFDRRACEiQKIFJFUExBQ0VfVE9PTF9WQVJJQU5UX0FQUExZX1BBVENIEAMSJQohUkVQTEFDRV9UT09MX1ZBUklBTlRfU0lOR0xFX01VTFRJEAQSKwonUkVQTEFDRV9UT09MX1ZBUklBTlRfT1BFTkFJX0FQUExZX1BBVENIEAUSLQopUkVQTEFDRV9UT09MX1ZBUklBTlRfRlJFRUZPUk1fQVBQTFlfUEFUQ0gQBiqSAQoQUnVuQ29tbWFuZEFjdGlvbhIiCh5SVU5fQ09NTUFORF9BQ1RJT05fVU5TUEVDSUZJRUQQABIeChpSVU5fQ09NTUFORF9BQ1RJT05fQ09ORklSTRABEh0KGVJVTl9DT01NQU5EX0FDVElPTl9SRUpFQ1QQAhIbChdSVU5fQ09NTUFORF9BQ1RJT05fU0tJUBADKrwBChRSZWFkVXJsQ29udGVudEFjdGlvbhInCiNSRUFEX1VSTF9DT05URU5UX0FDVElPTl9VTlNQRUNJRklFRBAAEiYKIlJFQURfVVJMX0NPTlRFTlRfQUNUSU9OX0FMTE9XX09OQ0UQARIiCh5SRUFEX1VSTF9DT05URU5UX0FDVElPTl9SRUpFQ1QQAhIvCitSRUFEX1VSTF9DT05URU5UX0FDVElPTl9BTFdBWVNfQUxMT1dfT1JJR0lOEAMqshwKDkNvcnRleFN0ZXBUeXBlEiAKHENPUlRFWF9TVEVQX1RZUEVfVU5TUEVDSUZJRUQQABIaChZDT1JURVhfU1RFUF9UWVBFX0RVTU1ZEAESGwoXQ09SVEVYX1NURVBfVFlQRV9GSU5JU0gQAhIfChtDT1JURVhfU1RFUF9UWVBFX1BMQU5fSU5QVVQQAxIbChdDT1JURVhfU1RFUF9UWVBFX01RVUVSWRAEEiAKHENPUlRFWF9TVEVQX1RZUEVfQ09ERV9BQ1RJT04QBRIfChtDT1JURVhfU1RFUF9UWVBFX0dJVF9DT01NSVQQBhIgChxDT1JURVhfU1RFUF9UWVBFX0dSRVBfU0VBUkNIEAcSHgoaQ09SVEVYX1NURVBfVFlQRV9WSUVXX0ZJTEUQCBIjCh9DT1JURVhfU1RFUF9UWVBFX0xJU1RfRElSRUNUT1JZEAkSHAoYQ09SVEVYX1NURVBfVFlQRV9DT01QSUxFEAoSGwoXQ09SVEVYX1NURVBfVFlQRV9JTkZPUk0QCxInCh9DT1JURVhfU1RFUF9UWVBFX0ZJTEVfQlJFQUtET1dOEAwaAggBEiMKH0NPUlRFWF9TVEVQX1RZUEVfVklFV19DT0RFX0lURU0QDRIfChtDT1JURVhfU1RFUF9UWVBFX1VTRVJfSU5QVVQQDhIlCiFDT1JURVhfU1RFUF9UWVBFX1BMQU5ORVJfUkVTUE9OU0UQDxImCh5DT1JURVhfU1RFUF9UWVBFX1dSSVRFX1RPX0ZJTEUQEBoCCAESIgoeQ09SVEVYX1NURVBfVFlQRV9FUlJPUl9NRVNTQUdFEBESIgoeQ09SVEVYX1NURVBfVFlQRV9DTFVTVEVSX1FVRVJZEBISIgoeQ09SVEVYX1NURVBfVFlQRV9MSVNUX0NMVVNURVJTEBMSJAogQ09SVEVYX1NURVBfVFlQRV9JTlNQRUNUX0NMVVNURVIQFBIgChxDT1JURVhfU1RFUF9UWVBFX1JVTl9DT01NQU5EEBUSIgoeQ09SVEVYX1NURVBfVFlQRV9SRUxBVEVEX0ZJTEVTEBYSHwobQ09SVEVYX1NURVBfVFlQRV9DSEVDS1BPSU5UEBcSIQodQ09SVEVYX1NURVBfVFlQRV9QUk9QT1NFX0NPREUQGBIZChVDT1JURVhfU1RFUF9UWVBFX0ZJTkQQGRIuCiZDT1JURVhfU1RFUF9UWVBFX1NFQVJDSF9LTk9XTEVER0VfQkFTRRAaGgIIARIoCiRDT1JURVhfU1RFUF9UWVBFX1NVR0dFU1RFRF9SRVNQT05TRVMQGxIjCh9DT1JURVhfU1RFUF9UWVBFX0NPTU1BTkRfU1RBVFVTEBwSGwoXQ09SVEVYX1NURVBfVFlQRV9NRU1PUlkQHRIuCiZDT1JURVhfU1RFUF9UWVBFX0xPT0tVUF9LTk9XTEVER0VfQkFTRRAeGgIIARIlCiFDT1JURVhfU1RFUF9UWVBFX1JFQURfVVJMX0NPTlRFTlQQHxInCiNDT1JURVhfU1RFUF9UWVBFX1ZJRVdfQ09OVEVOVF9DSFVOSxAgEh8KG0NPUlRFWF9TVEVQX1RZUEVfU0VBUkNIX1dFQhAhEiQKIENPUlRFWF9TVEVQX1RZUEVfUkVUUklFVkVfTUVNT1JZECISKwonQ09SVEVYX1NURVBfVFlQRV9BVVRPX0NBU0NBREVfQlJPQURDQVNUECMSIAocQ09SVEVYX1NURVBfVFlQRV9DVVNUT01fVE9PTBAkEiYKHkNPUlRFWF9TVEVQX1RZUEVfQ1JFQVRFX1JFQ0lQRRAlGgIIARIdChlDT1JURVhfU1RFUF9UWVBFX01DUF9UT09MECYSJQohQ09SVEVYX1NURVBfVFlQRV9NQU5BR0VSX0ZFRURCQUNLECcSJwojQ09SVEVYX1NURVBfVFlQRV9UT09MX0NBTExfUFJPUE9TQUwQKBIlCiFDT1JURVhfU1RFUF9UWVBFX1RPT0xfQ0FMTF9DSE9JQ0UQKRImCiJDT1JURVhfU1RFUF9UWVBFX1RSQUpFQ1RPUllfQ0hPSUNFECoSJQohQ09SVEVYX1NURVBfVFlQRV9QUk9YWV9XRUJfU0VSVkVSECsSIwofQ09SVEVYX1NURVBfVFlQRV9ERVBMT1lfV0VCX0FQUBAsEh4KGkNPUlRFWF9TVEVQX1RZUEVfQ0xJUEJPQVJEEC0SKwonQ09SVEVYX1NURVBfVFlQRV9SRUFEX0RFUExPWU1FTlRfQ09ORklHEC4SKgoiQ09SVEVYX1NURVBfVFlQRV9WSUVXX0ZJTEVfT1VUTElORRAvGgIIARIoCiRDT1JURVhfU1RFUF9UWVBFX0NIRUNLX0RFUExPWV9TVEFUVVMQMBIjCh9DT1JURVhfU1RFUF9UWVBFX1BPU1RfUFJfUkVWSUVXEDESLQopQ09SVEVYX1NURVBfVFlQRV9SRUFEX0tOT1dMRURHRV9CQVNFX0lURU0QMhIjCh9DT1JURVhfU1RFUF9UWVBFX0xJU1RfUkVTT1VSQ0VTEDMSIgoeQ09SVEVYX1NURVBfVFlQRV9SRUFEX1JFU09VUkNFEDQSHgoaQ09SVEVYX1NURVBfVFlQRV9MSU5UX0RJRkYQNRIoCiRDT1JURVhfU1RFUF9UWVBFX0ZJTkRfQUxMX1JFRkVSRU5DRVMQNhIhCh1DT1JURVhfU1RFUF9UWVBFX0JSQUlOX1VQREFURRA3EicKI0NPUlRFWF9TVEVQX1RZUEVfUlVOX0VYVEVOU0lPTl9DT0RFEDkSIwofQ09SVEVYX1NURVBfVFlQRV9BRERfQU5OT1RBVElPThA6EiYKIkNPUlRFWF9TVEVQX1RZUEVfUFJPUE9TQUxfRkVFREJBQ0sQOxImCiJDT1JURVhfU1RFUF9UWVBFX1RSQUpFQ1RPUllfU0VBUkNIEDwSIgoeQ09SVEVYX1NURVBfVFlQRV9SRUFEX1RFUk1JTkFMEEESJQodQ09SVEVYX1NURVBfVFlQRV9HRVRfRE9NX1RSRUUQRBoCCAESKQohQ09SVEVYX1NURVBfVFlQRV9BUlRJRkFDVF9TVU1NQVJZEEcaAggBEiEKHUNPUlRFWF9TVEVQX1RZUEVfUkVTT0xWRV9UQVNLEEgSHgoaQ09SVEVYX1NURVBfVFlQRV9UT0RPX0xJU1QQSRIdChlDT1JURVhfU1RFUF9UWVBFX0JMT0NLSU5HEEoSJQohQ09SVEVYX1NURVBfVFlQRV9FWFBMT1JFX1JFU1BPTlNFEFASIgoeQ09SVEVYX1NURVBfVFlQRV9SRUFEX05PVEVCT09LEFISIgoeQ09SVEVYX1NURVBfVFlQRV9FRElUX05PVEVCT09LEFMSLQopQ09SVEVYX1NURVBfVFlQRV9TVVBFUkNPTVBMRVRFX0FDVElWRV9ET0MQVhImCiJDT1JURVhfU1RFUF9UWVBFX0ZJTkRfQ09ERV9DT05URVhUEFcSKwonQ09SVEVYX1NURVBfVFlQRV9TVVBFUkNPTVBMRVRFX0ZFRURCQUNLEFkSJQohQ09SVEVYX1NURVBfVFlQRV9MSU5UX0ZJWF9NRVNTQUdFEFoSIwofQ09SVEVYX1NURVBfVFlQRV9HUkVQX1NFQVJDSF9WMhBbEiMKH0NPUlRFWF9TVEVQX1RZUEVfVVBTRVJUX0NPREVNQVAQXBIkCiBDT1JURVhfU1RFUF9UWVBFX1NVR0dFU1RfQ09ERU1BUBBdEiEKHUNPUlRFWF9TVEVQX1RZUEVfU01BUlRfRlJJRU5EEF4SHwobQ09SVEVYX1NURVBfVFlQRV9ET19URVNUSU5HEF8SIAocQ09SVEVYX1NURVBfVFlQRV9SRVBPUlRfQlVHUxBhEiMKH0NPUlRFWF9TVEVQX1RZUEVfRVhJVF9QTEFOX01PREUQYxImCiJDT1JURVhfU1RFUF9UWVBFX0FTS19VU0VSX1FVRVNUSU9OEGQSGgoWQ09SVEVYX1NURVBfVFlQRV9TS0lMTBBlEjUKMUNPUlRFWF9TVEVQX1RZUEVfU1VQRVJDT01QTEVURV9FUEhFTUVSQUxfRkVFREJBQ0sQZhIuCipDT1JURVhfU1RFUF9UWVBFX0FSRU5BX1RSQUpFQ1RPUllfQ09OVkVSR0UQZxIiCh5DT1JURVhfU1RFUF9UWVBFX1RBU0tfU1VCQUdFTlQQaCIECDgQOCIECD0QPSIECD4QPiIECD8QPyIECEAQQCIECEIQQiIECEMQQyIECEUQRSIECEYQRiIECFQQVCIECFUQVSIECFgQWCIECGAQYCIECGIQYiIECEsQSyIECEwQTCIECE0QTSIECE4QTiIECE8QTyIECFEQUSobQ09SVEVYX1NURVBfVFlQRV9ERUVQX1RISU5LKiRDT1JURVhfU1RFUF9UWVBFX1NVUEVSRkxPV19TSE9XX1VTRVIqIkNPUlRFWF9TVEVQX1RZUEVfU1VQRVJGTE9XX0NPTlRFWFQqIkNPUlRFWF9TVEVQX1RZUEVfQ0xBVURFX0NPREVfQUdFTlQqJkNPUlRFWF9TVEVQX1RZUEVfQ0xBVURFX0NPREVfVE9ET19MSVNUKiFDT1JURVhfU1RFUF9UWVBFX0NMQVVERV9DT0RFX0dMT0IqIUNPUlRFWF9TVEVQX1RZUEVfQ0xBVURFX0NPREVfRE9ORSojQ09SVEVYX1NURVBfVFlQRV9DTEFVREVfQ09ERV9SRVNVTFQqLENPUlRFWF9TVEVQX1RZUEVfQ0xBVURFX0NPREVfVE9PTF9QRVJNSVNTSU9OKqUBChpTZW1hbnRpY0NvZGViYXNlU2VhcmNoVHlwZRItCilTRU1BTlRJQ19DT0RFQkFTRV9TRUFSQ0hfVFlQRV9VTlNQRUNJRklFRBAAEigKJFNFTUFOVElDX0NPREVCQVNFX1NFQVJDSF9UWVBFX01RVUVSWRABEi4KKlNFTUFOVElDX0NPREVCQVNFX1NFQVJDSF9UWVBFX1ZFQ1RPUl9JTkRFWBACKokBChNBY2tub3dsZWRnZW1lbnRUeXBlEiQKIEFDS05PV0xFREdFTUVOVF9UWVBFX1VOU1BFQ0lGSUVEEAASHwobQUNLTk9XTEVER0VNRU5UX1RZUEVfQUNDRVBUEAESHwobQUNLTk9XTEVER0VNRU5UX1RZUEVfUkVKRUNUEAIiBAgDEAMiBAgEEAQqkQEKFENvZGVIZXVyaXN0aWNGYWlsdXJlEiYKIkNPREVfSEVVUklTVElDX0ZBSUxVUkVfVU5TUEVDSUZJRUQQABInCiNDT0RFX0hFVVJJU1RJQ19GQUlMVVJFX0xBWllfQ09NTUVOVBABEigKJENPREVfSEVVUklTVElDX0ZBSUxVUkVfREVMRVRFRF9MSU5FUxACKqABChFJbmZvcm1QbGFubmVyTW9kZRIjCh9JTkZPUk1fUExBTk5FUl9NT0RFX1VOU1BFQ0lGSUVEEAASHAoYSU5GT1JNX1BMQU5ORVJfTU9ERV9DQ0lTEAESJgoiSU5GT1JNX1BMQU5ORVJfTU9ERV9ESVJFQ1RPUllfVFJFRRACEiAKHElORk9STV9QTEFOTkVSX01PREVfQ0xVU1RFUlMQAyqHAQoORmluZFJlc3VsdFR5cGUSIAocRklORF9SRVNVTFRfVFlQRV9VTlNQRUNJRklFRBAAEhkKFUZJTkRfUkVTVUxUX1RZUEVfRklMRRABEh4KGkZJTkRfUkVTVUxUX1RZUEVfRElSRUNUT1JZEAISGAoURklORF9SRVNVTFRfVFlQRV9BTlkQAypmChVDb3J0ZXhTdGVwQ29tcGlsZVRvb2wSKAokQ09SVEVYX1NURVBfQ09NUElMRV9UT09MX1VOU1BFQ0lGSUVEEAASIwofQ09SVEVYX1NURVBfQ09NUElMRV9UT09MX1BZTElOVBABKu0CCg9BdXRvUnVuRGVjaXNpb24SIQodQVVUT19SVU5fREVDSVNJT05fVU5TUEVDSUZJRUQQABIgChxBVVRPX1JVTl9ERUNJU0lPTl9VU0VSX0FMTE9XEAESHwobQVVUT19SVU5fREVDSVNJT05fVVNFUl9ERU5ZEAISIgoeQVVUT19SVU5fREVDSVNJT05fU1lTVEVNX0FMTE9XEAMSIQodQVVUT19SVU5fREVDSVNJT05fU1lTVEVNX0RFTlkQBBIhCh1BVVRPX1JVTl9ERUNJU0lPTl9NT0RFTF9BTExPVxAFEiAKHEFVVE9fUlVOX0RFQ0lTSU9OX01PREVMX0RFTlkQBhIjCh9BVVRPX1JVTl9ERUNJU0lPTl9ERUZBVUxUX0FMTE9XEAcSIgoeQVVUT19SVU5fREVDSVNJT05fREVGQVVMVF9ERU5ZEAgSHwobQVVUT19SVU5fREVDSVNJT05fVVNFUl9TS0lQEAkqkQIKHERlcGxveVdlYkFwcEZpbGVVcGxvYWRTdGF0dXMSMQotREVQTE9ZX1dFQl9BUFBfRklMRV9VUExPQURfU1RBVFVTX1VOU1BFQ0lGSUVEEAASLQopREVQTE9ZX1dFQl9BUFBfRklMRV9VUExPQURfU1RBVFVTX1BFTkRJTkcQARIxCi1ERVBMT1lfV0VCX0FQUF9GSUxFX1VQTE9BRF9TVEFUVVNfSU5fUFJPR1JFU1MQAhItCilERVBMT1lfV0VCX0FQUF9GSUxFX1VQTE9BRF9TVEFUVVNfU1VDQ0VTUxADEi0KKURFUExPWV9XRUJfQVBQX0ZJTEVfVVBMT0FEX1NUQVRVU19GQUlMVVJFEAQqjgMKGUV4ZWN1dG9yVGVybWluYXRpb25SZWFzb24SKwonRVhFQ1VUT1JfVEVSTUlOQVRJT05fUkVBU09OX1VOU1BFQ0lGSUVEEAASJQohRVhFQ1VUT1JfVEVSTUlOQVRJT05fUkVBU09OX0VSUk9SEAESLQopRVhFQ1VUT1JfVEVSTUlOQVRJT05fUkVBU09OX1VTRVJfQ0FOQ0VMRUQQAhIvCitFWEVDVVRPUl9URVJNSU5BVElPTl9SRUFTT05fTUFYX0lOVk9DQVRJT05TEAMSLAooRVhFQ1VUT1JfVEVSTUlOQVRJT05fUkVBU09OX05PX1RPT0xfQ0FMTBAEEisKJ0VYRUNVVE9SX1RFUk1JTkFUSU9OX1JFQVNPTl9IQUxURURfU1RFUBAFEiwKKEVYRUNVVE9SX1RFUk1JTkFUSU9OX1JFQVNPTl9IT09LX0JMT0NLRUQQBhI0CjBFWEVDVVRPUl9URVJNSU5BVElPTl9SRUFTT05fQVJFTkFfSU5WT0NBVElPTl9DQVAQByqCAQoMTGludERpZmZUeXBlEh4KGkxJTlRfRElGRl9UWVBFX1VOU1BFQ0lGSUVEEAASGQoVTElOVF9ESUZGX1RZUEVfREVMRVRFEAESGQoVTElOVF9ESUZGX1RZUEVfSU5TRVJUEAISHAoYTElOVF9ESUZGX1RZUEVfVU5DSEFOR0VEEAMqiwEKDkJyYWluRW50cnlUeXBlEiAKHEJSQUlOX0VOVFJZX1RZUEVfVU5TUEVDSUZJRUQQABIZChVCUkFJTl9FTlRSWV9UWVBFX1BMQU4QARIZChVCUkFJTl9FTlRSWV9UWVBFX1RBU0sQAiIECAMQAyobQlJBSU5fRU5UUllfVFlQRV9ERUVQX1RISU5LKnIKClRhc2tTdGF0dXMSGwoXVEFTS19TVEFUVVNfVU5TUEVDSUZJRUQQABIUChBUQVNLX1NUQVRVU19UT0RPEAESGwoXVEFTS19TVEFUVVNfSU5fUFJPR1JFU1MQAhIUChBUQVNLX1NUQVRVU19ET05FEAMqtgEKDVRhc2tEZWx0YVR5cGUSHwobVEFTS19ERUxUQV9UWVBFX1VOU1BFQ0lGSUVEEAASFwoTVEFTS19ERUxUQV9UWVBFX0FERBABEhkKFVRBU0tfREVMVEFfVFlQRV9QUlVORRACEhoKFlRBU0tfREVMVEFfVFlQRV9ERUxFVEUQAxIaChZUQVNLX0RFTFRBX1RZUEVfVVBEQVRFEAQSGAoUVEFTS19ERUxUQV9UWVBFX01PVkUQBSrfAQoSQnJhaW5VcGRhdGVUcmlnZ2VyEiQKIEJSQUlOX1VQREFURV9UUklHR0VSX1VOU1BFQ0lGSUVEEAASJgoiQlJBSU5fVVBEQVRFX1RSSUdHRVJfU1lTVEVNX0ZPUkNFRBABEicKI0JSQUlOX1VQREFURV9UUklHR0VSX1VTRVJfUkVRVUVTVEVEEAISJgoiQlJBSU5fVVBEQVRFX1RSSUdHRVJfVVNFUl9ORVdfSU5GTxADEioKJkJSQUlOX1VQREFURV9UUklHR0VSX1JFU0VBUkNIX05FV19JTkZPEAQqqAEKFUNvbW1hbmRPdXRwdXRQcmlvcml0eRInCiNDT01NQU5EX09VVFBVVF9QUklPUklUWV9VTlNQRUNJRklFRBAAEh8KG0NPTU1BTkRfT1VUUFVUX1BSSU9SSVRZX1RPUBABEiIKHkNPTU1BTkRfT1VUUFVUX1BSSU9SSVRZX0JPVFRPTRACEiEKHUNPTU1BTkRfT1VUUFVUX1BSSU9SSVRZX1NQTElUEAMqogEKEkNvcnRleE1lbW9yeVNvdXJjZRIkCiBDT1JURVhfTUVNT1JZX1NPVVJDRV9VTlNQRUNJRklFRBAAEh0KGUNPUlRFWF9NRU1PUllfU09VUkNFX1VTRVIQARIgChxDT1JURVhfTUVNT1JZX1NPVVJDRV9DQVNDQURFEAISJQohQ09SVEVYX01FTU9SWV9TT1VSQ0VfQVVUT19DQVNDQURFEAMqzQEKE0NvcnRleE1lbW9yeVRyaWdnZXISJQohQ09SVEVYX01FTU9SWV9UUklHR0VSX1VOU1BFQ0lGSUVEEAASIwofQ09SVEVYX01FTU9SWV9UUklHR0VSX0FMV0FZU19PThABEigKJENPUlRFWF9NRU1PUllfVFJJR0dFUl9NT0RFTF9ERUNJU0lPThACEiAKHENPUlRFWF9NRU1PUllfVFJJR0dFUl9NQU5VQUwQAxIeChpDT1JURVhfTUVNT1JZX1RSSUdHRVJfR0xPQhAEKlwKClJ1bGVTb3VyY2USGwoXUlVMRV9TT1VSQ0VfVU5TUEVDSUZJRUQQABIZChVSVUxFX1NPVVJDRV9XT1JLU1BBQ0UQARIWChJSVUxFX1NPVVJDRV9TWVNURU0QAip5CgtTa2lsbFNvdXJjZRIcChhTS0lMTF9TT1VSQ0VfVU5TUEVDSUZJRUQQABIaChZTS0lMTF9TT1VSQ0VfV09SS1NQQUNFEAESFwoTU0tJTExfU09VUkNFX0dMT0JBTBACEhcKE1NLSUxMX1NPVVJDRV9TWVNURU0QAyqTAQoQTWVtb3J5QWN0aW9uVHlwZRIiCh5NRU1PUllfQUNUSU9OX1RZUEVfVU5TUEVDSUZJRUQQABIdChlNRU1PUllfQUNUSU9OX1RZUEVfQ1JFQVRFEAESHQoZTUVNT1JZX0FDVElPTl9UWVBFX1VQREFURRACEh0KGU1FTU9SWV9BQ1RJT05fVFlQRV9ERUxFVEUQAyrnAQofQ29ydGV4U3RlcE1hbmFnZXJGZWVkYmFja1N0YXR1cxIzCi9DT1JURVhfU1RFUF9NQU5BR0VSX0ZFRURCQUNLX1NUQVRVU19VTlNQRUNJRklFRBAAEjAKLENPUlRFWF9TVEVQX01BTkFHRVJfRkVFREJBQ0tfU1RBVFVTX0FQUFJPVkVEEAESLgoqQ09SVEVYX1NURVBfTUFOQUdFUl9GRUVEQkFDS19TVEFUVVNfREVOSUVEEAISLQopQ09SVEVYX1NURVBfTUFOQUdFUl9GRUVEQkFDS19TVEFUVVNfRVJST1IQAyqwAQoPTWNwU2VydmVyU3RhdHVzEiEKHU1DUF9TRVJWRVJfU1RBVFVTX1VOU1BFQ0lGSUVEEAASHQoZTUNQX1NFUlZFUl9TVEFUVVNfUEVORElORxABEhsKF01DUF9TRVJWRVJfU1RBVFVTX1JFQURZEAISGwoXTUNQX1NFUlZFUl9TVEFUVVNfRVJST1IQAxIhCh1NQ1BfU0VSVkVSX1NUQVRVU19ORUVEU19PQVVUSBAEKswBChhDb3J0ZXhUb2RvTGlzdEl0ZW1TdGF0dXMSLAooQ09SVEVYX1RPRE9fTElTVF9JVEVNX1NUQVRVU19VTlNQRUNJRklFRBAAEigKJENPUlRFWF9UT0RPX0xJU1RfSVRFTV9TVEFUVVNfUEVORElORxABEiwKKENPUlRFWF9UT0RPX0xJU1RfSVRFTV9TVEFUVVNfSU5fUFJPR1JFU1MQAhIqCiZDT1JURVhfVE9ET19MSVNUX0lURU1fU1RBVFVTX0NPTVBMRVRFRBADKsgBChpDb3J0ZXhUb2RvTGlzdEl0ZW1Qcmlvcml0eRIuCipDT1JURVhfVE9ET19MSVNUX0lURU1fUFJJT1JJVFlfVU5TUEVDSUZJRUQQABImCiJDT1JURVhfVE9ET19MSVNUX0lURU1fUFJJT1JJVFlfTE9XEAESKQolQ09SVEVYX1RPRE9fTElTVF9JVEVNX1BSSU9SSVRZX01FRElVTRACEicKI0NPUlRFWF9UT0RPX0xJU1RfSVRFTV9QUklPUklUWV9ISUdIEAMqYgoVVHJhamVjdG9yeVNoYXJlU3RhdHVzEicKI1RSQUpFQ1RPUllfU0hBUkVfU1RBVFVTX1VOU1BFQ0lGSUVEEAASIAocVFJBSkVDVE9SWV9TSEFSRV9TVEFUVVNfVEVBTRABKqkCCh9SdW5FeHRlbnNpb25Db2RlQXV0b1J1bkRlY2lzaW9uEjQKMFJVTl9FWFRFTlNJT05fQ09ERV9BVVRPX1JVTl9ERUNJU0lPTl9VTlNQRUNJRklFRBAAEjAKLFJVTl9FWFRFTlNJT05fQ09ERV9BVVRPX1JVTl9ERUNJU0lPTl9BTExPV0VEEAESLworUlVOX0VYVEVOU0lPTl9DT0RFX0FVVE9fUlVOX0RFQ0lTSU9OX0RFTklFRBACEjYKMlJVTl9FWFRFTlNJT05fQ09ERV9BVVRPX1JVTl9ERUNJU0lPTl9NT0RFTF9BTExPV0VEEAMSNQoxUlVOX0VYVEVOU0lPTl9DT0RFX0FVVE9fUlVOX0RFQ0lTSU9OX01PREVMX0RFTklFRBAEKpUBChZUcmFqZWN0b3J5U2VhcmNoSWRUeXBlEikKJVRSQUpFQ1RPUllfU0VBUkNIX0lEX1RZUEVfVU5TUEVDSUZJRUQQABIoCiRUUkFKRUNUT1JZX1NFQVJDSF9JRF9UWVBFX0NBU0NBREVfSUQQARImCiJUUkFKRUNUT1JZX1NFQVJDSF9JRF9UWVBFX01BSU5MSU5FEAIqqAQKD0hvb2tBZ2VudEFjdGlvbhIhCh1IT09LX0FHRU5UX0FDVElPTl9VTlNQRUNJRklFRBAAEiMKH0hPT0tfQUdFTlRfQUNUSU9OX1BSRV9SRUFEX0NPREUQARIkCiBIT09LX0FHRU5UX0FDVElPTl9QT1NUX1JFQURfQ09ERRACEiQKIEhPT0tfQUdFTlRfQUNUSU9OX1BSRV9XUklURV9DT0RFEAMSJQohSE9PS19BR0VOVF9BQ1RJT05fUE9TVF9XUklURV9DT0RFEAQSJgoiSE9PS19BR0VOVF9BQ1RJT05fUFJFX01DUF9UT09MX1VTRRAFEicKI0hPT0tfQUdFTlRfQUNUSU9OX1BPU1RfTUNQX1RPT0xfVVNFEAYSJQohSE9PS19BR0VOVF9BQ1RJT05fUFJFX1JVTl9DT01NQU5EEAcSJgoiSE9PS19BR0VOVF9BQ1RJT05fUE9TVF9SVU5fQ09NTUFORBAIEiUKIUhPT0tfQUdFTlRfQUNUSU9OX1BSRV9VU0VSX1BST01QVBAJEisKJ0hPT0tfQUdFTlRfQUNUSU9OX1BPU1RfQ0FTQ0FERV9SRVNQT05TRRAKEikKJUhPT0tfQUdFTlRfQUNUSU9OX1BPU1RfU0VUVVBfV09SS1RSRUUQCxI7CjdIT09LX0FHRU5UX0FDVElPTl9QT1NUX0NBU0NBREVfUkVTUE9OU0VfV0lUSF9UUkFOU0NSSVBUEAxiBnByb3RvMw", [file_buf_validate_validate, file_exa_chat_pb_chat, file_exa_code_edit_code_edit_pb_code_edit, file_exa_codeium_common_pb_codeium_common, file_exa_context_module_pb_context_module, file_exa_diff_action_pb_diff_action, file_exa_opensearch_clients_pb_opensearch_clients, file_google_protobuf_duration, file_google_protobuf_empty, file_google_protobuf_timestamp]); + +/** + * @generated from message exa.cortex_pb.WorkflowSpec + */ +export type WorkflowSpec = Message<"exa.cortex_pb.WorkflowSpec"> & { + /** + * @generated from field: string path = 1; + */ + path: string; + + /** + * @generated from field: string name = 2; + */ + name: string; + + /** + * @generated from field: string description = 3; + */ + description: string; + + /** + * @generated from field: string content = 4; + */ + content: string; + + /** + * @generated from field: exa.codeium_common_pb.CascadeCommandsAutoExecution execution_mode = 9; + */ + executionMode: CascadeCommandsAutoExecution; + + /** + * @generated from field: bool is_builtin = 6; + */ + isBuiltin: boolean; + + /** + * @generated from field: exa.cortex_pb.CortexMemoryScope scope = 7; + */ + scope?: CortexMemoryScope | undefined; + + /** + * @generated from field: string base_dir = 8; + */ + baseDir: string; + + /** + * @generated from field: bool is_overridden = 10; + */ + isOverridden: boolean; + + /** + * @generated from field: optional string parse_error = 11; + */ + parseError?: string | undefined; + + /** + * @generated from field: string uri = 12; + */ + uri: string; +}; + +/** + * Describes the message exa.cortex_pb.WorkflowSpec. + * Use `create(WorkflowSpecSchema)` to create a new message. + */ +export const WorkflowSpecSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 0); + +/** + * @generated from message exa.cortex_pb.CortexPlanSummaryComponent + */ +export type CortexPlanSummaryComponent = Message<"exa.cortex_pb.CortexPlanSummaryComponent"> & { + /** + * @generated from oneof exa.cortex_pb.CortexPlanSummaryComponent.component + */ + component: { + /** + * @generated from field: string text = 1; + */ + value: string; + case: "text"; + } | { + /** + * @generated from field: exa.codeium_common_pb.ContextScopeItem citation = 2; + */ + value: ContextScopeItem; + case: "citation"; + } | { case: undefined; value?: undefined }; +}; + +/** + * Describes the message exa.cortex_pb.CortexPlanSummaryComponent. + * Use `create(CortexPlanSummaryComponentSchema)` to create a new message. + */ +export const CortexPlanSummaryComponentSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 1); + +/** + * @generated from message exa.cortex_pb.CodingStepState + */ +export type CodingStepState = Message<"exa.cortex_pb.CodingStepState"> & { + /** + * @generated from field: string plan_id = 1; + */ + planId: string; + + /** + * @generated from field: string goal = 2; + */ + goal: string; + + /** + * @generated from field: repeated exa.cortex_pb.ActionState action_states = 3; + */ + actionStates: ActionState[]; + + /** + * @generated from field: repeated exa.cortex_pb.CortexStepOutline outlines = 7; + */ + outlines: CortexStepOutline[]; + + /** + * @generated from field: repeated exa.cortex_pb.CortexPlanSummaryComponent summary_components = 8; + */ + summaryComponents: CortexPlanSummaryComponent[]; + + /** + * @generated from field: string post_summary_text = 9; + */ + postSummaryText: string; + + /** + * @generated from field: bool plan_fully_generated = 4; + */ + planFullyGenerated: boolean; + + /** + * @generated from field: bool plan_finished = 5; + */ + planFinished: boolean; + + /** + * @generated from field: exa.cortex_pb.PlanDebugInfo debug_info = 6; + */ + debugInfo?: PlanDebugInfo | undefined; + + /** + * @generated from field: bool plan_summary_confirmed = 10; + */ + planSummaryConfirmed: boolean; + + /** + * @generated from field: bool plan_summary_fully_generated = 11; + */ + planSummaryFullyGenerated: boolean; + + /** + * @generated from field: repeated exa.context_module_pb.CciWithSubrangeWithRetrievalMetadata cci_list = 12; + */ + cciList: CciWithSubrangeWithRetrievalMetadata[]; +}; + +/** + * Describes the message exa.cortex_pb.CodingStepState. + * Use `create(CodingStepStateSchema)` to create a new message. + */ +export const CodingStepStateSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 2); + +/** + * @generated from message exa.cortex_pb.CortexPlanState + */ +export type CortexPlanState = Message<"exa.cortex_pb.CortexPlanState"> & { + /** + * @generated from field: repeated exa.cortex_pb.CortexStepState steps = 1; + */ + steps: CortexStepState[]; + + /** + * @generated from field: repeated exa.cortex_pb.CortexStepOutline outlines = 2; + */ + outlines: CortexStepOutline[]; + + /** + * @generated from field: uint32 current_step_index = 3; + */ + currentStepIndex: number; + + /** + * @generated from field: exa.cortex_pb.PlanDebugInfo debug_info = 4; + */ + debugInfo?: PlanDebugInfo | undefined; +}; + +/** + * Describes the message exa.cortex_pb.CortexPlanState. + * Use `create(CortexPlanStateSchema)` to create a new message. + */ +export const CortexPlanStateSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 3); + +/** + * @generated from message exa.cortex_pb.CortexStepOutline + */ +export type CortexStepOutline = Message<"exa.cortex_pb.CortexStepOutline"> & { + /** + * @generated from field: uint32 step_number = 1; + */ + stepNumber: number; + + /** + * @generated from field: string action_name = 2; + */ + actionName: string; + + /** + * @generated from field: string json_args = 3; + */ + jsonArgs: string; + + /** + * @generated from field: repeated uint32 parent_step_numbers = 4; + */ + parentStepNumbers: number[]; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepOutline. + * Use `create(CortexStepOutlineSchema)` to create a new message. + */ +export const CortexStepOutlineSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 4); + +/** + * @generated from message exa.cortex_pb.CortexStepState + */ +export type CortexStepState = Message<"exa.cortex_pb.CortexStepState"> & { + /** + * @generated from oneof exa.cortex_pb.CortexStepState.step + */ + step: { + /** + * @generated from field: exa.cortex_pb.CodingStepState coding = 1; + */ + value: CodingStepState; + case: "coding"; + } | { case: undefined; value?: undefined }; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepState. + * Use `create(CortexStepStateSchema)` to create a new message. + */ +export const CortexStepStateSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 5); + +/** + * @generated from message exa.cortex_pb.CortexResearchState + */ +export type CortexResearchState = Message<"exa.cortex_pb.CortexResearchState"> & { + /** + * @generated from field: uint32 total_retrieved_count = 1; + */ + totalRetrievedCount: number; + + /** + * @generated from field: repeated exa.codeium_common_pb.CciWithSubrange top_retrieved_items = 2; + */ + topRetrievedItems: CciWithSubrange[]; + + /** + * @generated from field: exa.cortex_pb.ResearchDebugInfo debug_info = 3; + */ + debugInfo?: ResearchDebugInfo | undefined; + + /** + * @generated from field: repeated exa.codeium_common_pb.CciWithSubrange full_cci_list = 4; + */ + fullCciList: CciWithSubrange[]; +}; + +/** + * Describes the message exa.cortex_pb.CortexResearchState. + * Use `create(CortexResearchStateSchema)` to create a new message. + */ +export const CortexResearchStateSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 6); + +/** + * @generated from message exa.cortex_pb.ResearchDebugInfo + */ +export type ResearchDebugInfo = Message<"exa.cortex_pb.ResearchDebugInfo"> & { + /** + * @generated from field: string query = 1; + */ + query: string; + + /** + * @generated from field: repeated string files_scanned = 2; + */ + filesScanned: string[]; +}; + +/** + * Describes the message exa.cortex_pb.ResearchDebugInfo. + * Use `create(ResearchDebugInfoSchema)` to create a new message. + */ +export const ResearchDebugInfoSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 7); + +/** + * @generated from message exa.cortex_pb.CortexWorkflowState + */ +export type CortexWorkflowState = Message<"exa.cortex_pb.CortexWorkflowState"> & { + /** + * @generated from field: exa.cortex_pb.CortexRequestSource request_source = 6; + */ + requestSource: CortexRequestSource; + + /** + * @generated from field: string goal = 1; + */ + goal: string; + + /** + * @generated from field: exa.cortex_pb.PlanInput plan_input = 2; + */ + planInput?: PlanInput | undefined; + + /** + * @generated from field: exa.cortex_pb.CortexResearchState research_state = 3; + */ + researchState?: CortexResearchState | undefined; + + /** + * @generated from field: exa.cortex_pb.CortexPlanState plan_state = 4; + */ + planState?: CortexPlanState | undefined; + + /** + * @generated from field: string error = 5; + */ + error: string; +}; + +/** + * Describes the message exa.cortex_pb.CortexWorkflowState. + * Use `create(CortexWorkflowStateSchema)` to create a new message. + */ +export const CortexWorkflowStateSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 8); + +/** + * @generated from message exa.cortex_pb.CortexRunState + */ +export type CortexRunState = Message<"exa.cortex_pb.CortexRunState"> & { + /** + * @generated from field: exa.cortex_pb.CortexWorkflowState workflow_state = 1; + */ + workflowState?: CortexWorkflowState | undefined; + + /** + * @generated from field: exa.codeium_common_pb.GraphExecutionState execution_state = 2; + */ + executionState?: GraphExecutionState | undefined; + + /** + * @generated from field: bool done = 3; + */ + done: boolean; +}; + +/** + * Describes the message exa.cortex_pb.CortexRunState. + * Use `create(CortexRunStateSchema)` to create a new message. + */ +export const CortexRunStateSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 9); + +/** + * @generated from message exa.cortex_pb.PlanInput + */ +export type PlanInput = Message<"exa.cortex_pb.PlanInput"> & { + /** + * @generated from field: string goal = 1; + */ + goal: string; + + /** + * @generated from field: repeated string next_steps = 5; + */ + nextSteps: string[]; + + /** + * @generated from field: repeated string target_directories = 2; + */ + targetDirectories: string[]; + + /** + * @generated from field: repeated string target_files = 3; + */ + targetFiles: string[]; + + /** + * @generated from field: repeated exa.codeium_common_pb.ContextScopeItem scope_items = 4; + */ + scopeItems: ContextScopeItem[]; +}; + +/** + * Describes the message exa.cortex_pb.PlanInput. + * Use `create(PlanInputSchema)` to create a new message. + */ +export const PlanInputSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 10); + +/** + * @generated from message exa.cortex_pb.ActionSpec + */ +export type ActionSpec = Message<"exa.cortex_pb.ActionSpec"> & { + /** + * @generated from oneof exa.cortex_pb.ActionSpec.spec + */ + spec: { + /** + * @generated from field: exa.cortex_pb.ActionSpecCommand command = 1; + */ + value: ActionSpecCommand; + case: "command"; + } | { + /** + * @generated from field: exa.cortex_pb.ActionSpecCreateFile create_file = 2; + */ + value: ActionSpecCreateFile; + case: "createFile"; + } | { + /** + * @generated from field: exa.cortex_pb.ActionSpecDeleteFile delete_file = 4; + */ + value: ActionSpecDeleteFile; + case: "deleteFile"; + } | { case: undefined; value?: undefined }; + + /** + * @generated from field: repeated uint32 parent_step_indices = 3; + */ + parentStepIndices: number[]; +}; + +/** + * Describes the message exa.cortex_pb.ActionSpec. + * Use `create(ActionSpecSchema)` to create a new message. + */ +export const ActionSpecSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 11); + +/** + * @generated from message exa.cortex_pb.ActionSpecCreateFile + */ +export type ActionSpecCreateFile = Message<"exa.cortex_pb.ActionSpecCreateFile"> & { + /** + * @generated from field: string instruction = 1; + */ + instruction: string; + + /** + * @generated from field: exa.codeium_common_pb.PathScopeItem path = 2; + */ + path?: PathScopeItem | undefined; + + /** + * @generated from field: repeated exa.codeium_common_pb.CodeContextItem reference_ccis = 3; + */ + referenceCcis: CodeContextItem[]; +}; + +/** + * Describes the message exa.cortex_pb.ActionSpecCreateFile. + * Use `create(ActionSpecCreateFileSchema)` to create a new message. + */ +export const ActionSpecCreateFileSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 12); + +/** + * @generated from message exa.cortex_pb.ActionSpecDeleteFile + */ +export type ActionSpecDeleteFile = Message<"exa.cortex_pb.ActionSpecDeleteFile"> & { + /** + * @generated from field: exa.codeium_common_pb.PathScopeItem path = 1; + */ + path?: PathScopeItem | undefined; +}; + +/** + * Describes the message exa.cortex_pb.ActionSpecDeleteFile. + * Use `create(ActionSpecDeleteFileSchema)` to create a new message. + */ +export const ActionSpecDeleteFileSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 13); + +/** + * @generated from message exa.cortex_pb.LineRangeTarget + */ +export type LineRangeTarget = Message<"exa.cortex_pb.LineRangeTarget"> & { + /** + * @generated from field: string absolute_uri = 1; + */ + absoluteUri: string; + + /** + * @generated from field: uint32 start_line = 2; + */ + startLine: number; + + /** + * @generated from field: uint32 end_line = 3; + */ + endLine: number; +}; + +/** + * Describes the message exa.cortex_pb.LineRangeTarget. + * Use `create(LineRangeTargetSchema)` to create a new message. + */ +export const LineRangeTargetSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 14); + +/** + * @generated from message exa.cortex_pb.CommandContentTarget + */ +export type CommandContentTarget = Message<"exa.cortex_pb.CommandContentTarget"> & { + /** + * @generated from field: string content = 1; + */ + content: string; + + /** + * @generated from field: string absolute_uri = 2; + */ + absoluteUri: string; +}; + +/** + * Describes the message exa.cortex_pb.CommandContentTarget. + * Use `create(CommandContentTargetSchema)` to create a new message. + */ +export const CommandContentTargetSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 15); + +/** + * @generated from message exa.cortex_pb.ReplacementChunk + */ +export type ReplacementChunk = Message<"exa.cortex_pb.ReplacementChunk"> & { + /** + * @generated from field: string target_content = 1; + */ + targetContent: string; + + /** + * @generated from field: string replacement_content = 2; + */ + replacementContent: string; + + /** + * @generated from field: bool allow_multiple = 3; + */ + allowMultiple: boolean; + + /** + * @generated from field: bool target_has_carriage_return = 4; + */ + targetHasCarriageReturn: boolean; + + /** + * @generated from field: repeated string context_lines = 5; + */ + contextLines: string[]; + + /** + * @generated from field: exa.cortex_pb.AcknowledgementType acknowledgement_type = 11; + */ + acknowledgementType: AcknowledgementType; +}; + +/** + * Describes the message exa.cortex_pb.ReplacementChunk. + * Use `create(ReplacementChunkSchema)` to create a new message. + */ +export const ReplacementChunkSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 16); + +/** + * @generated from message exa.cortex_pb.ActionSpecCommand + */ +export type ActionSpecCommand = Message<"exa.cortex_pb.ActionSpecCommand"> & { + /** + * @generated from field: string instruction = 1; + */ + instruction: string; + + /** + * @generated from field: repeated exa.cortex_pb.ReplacementChunk replacement_chunks = 9; + */ + replacementChunks: ReplacementChunk[]; + + /** + * @generated from field: bool is_edit = 2; + */ + isEdit: boolean; + + /** + * @generated from field: bool use_fast_apply = 8; + */ + useFastApply: boolean; + + /** + * @generated from oneof exa.cortex_pb.ActionSpecCommand.target + */ + target: { + /** + * @generated from field: exa.codeium_common_pb.CodeContextItem code_context = 3; + */ + value: CodeContextItem; + case: "codeContext"; + } | { + /** + * @generated from field: exa.codeium_common_pb.PathScopeItem file = 4; + */ + value: PathScopeItem; + case: "file"; + } | { + /** + * @generated from field: exa.codeium_common_pb.CciWithSubrange cci_with_subrange = 6; + */ + value: CciWithSubrange; + case: "cciWithSubrange"; + } | { + /** + * @generated from field: exa.cortex_pb.LineRangeTarget line_range = 7; + */ + value: LineRangeTarget; + case: "lineRange"; + } | { + /** + * @generated from field: exa.cortex_pb.CommandContentTarget content_target = 10; + */ + value: CommandContentTarget; + case: "contentTarget"; + } | { case: undefined; value?: undefined }; + + /** + * @generated from field: repeated exa.codeium_common_pb.CodeContextItem reference_ccis = 5; + */ + referenceCcis: CodeContextItem[]; +}; + +/** + * Describes the message exa.cortex_pb.ActionSpecCommand. + * Use `create(ActionSpecCommandSchema)` to create a new message. + */ +export const ActionSpecCommandSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 17); + +/** + * @generated from message exa.cortex_pb.ActionState + */ +export type ActionState = Message<"exa.cortex_pb.ActionState"> & { + /** + * @generated from field: string step_id = 5; + */ + stepId: string; + + /** + * @generated from field: exa.cortex_pb.ActionStatus status = 1; + */ + status: ActionStatus; + + /** + * @generated from field: exa.cortex_pb.ActionSpec spec = 2; + */ + spec?: ActionSpec | undefined; + + /** + * @generated from field: exa.cortex_pb.ActionResult result = 3; + */ + result?: ActionResult | undefined; + + /** + * @generated from field: string error = 4; + */ + error: string; + + /** + * @generated from field: uint32 step_version = 6; + */ + stepVersion: number; + + /** + * @generated from field: uint32 plan_version = 7; + */ + planVersion: number; +}; + +/** + * Describes the message exa.cortex_pb.ActionState. + * Use `create(ActionStateSchema)` to create a new message. + */ +export const ActionStateSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 18); + +/** + * @generated from message exa.cortex_pb.ActionResult + */ +export type ActionResult = Message<"exa.cortex_pb.ActionResult"> & { + /** + * @generated from oneof exa.cortex_pb.ActionResult.result + */ + result: { + /** + * @generated from field: exa.cortex_pb.ActionResultEdit edit = 1; + */ + value: ActionResultEdit; + case: "edit"; + } | { case: undefined; value?: undefined }; + + /** + * @generated from field: bool apply_existing_result = 2; + */ + applyExistingResult: boolean; +}; + +/** + * Describes the message exa.cortex_pb.ActionResult. + * Use `create(ActionResultSchema)` to create a new message. + */ +export const ActionResultSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 19); + +/** + * @generated from message exa.cortex_pb.ActionDebugInfo + */ +export type ActionDebugInfo = Message<"exa.cortex_pb.ActionDebugInfo"> & { + /** + * @generated from field: repeated exa.cortex_pb.ActionDebugInfo.DebugInfoEntry entries = 1; + */ + entries: ActionDebugInfo_DebugInfoEntry[]; +}; + +/** + * Describes the message exa.cortex_pb.ActionDebugInfo. + * Use `create(ActionDebugInfoSchema)` to create a new message. + */ +export const ActionDebugInfoSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 20); + +/** + * @generated from message exa.cortex_pb.ActionDebugInfo.DebugInfoEntry + */ +export type ActionDebugInfo_DebugInfoEntry = Message<"exa.cortex_pb.ActionDebugInfo.DebugInfoEntry"> & { + /** + * @generated from field: string key = 1; + */ + key: string; + + /** + * @generated from field: string value = 2; + */ + value: string; +}; + +/** + * Describes the message exa.cortex_pb.ActionDebugInfo.DebugInfoEntry. + * Use `create(ActionDebugInfo_DebugInfoEntrySchema)` to create a new message. + */ +export const ActionDebugInfo_DebugInfoEntrySchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 20, 0); + +/** + * @generated from message exa.cortex_pb.ActionResultEdit + */ +export type ActionResultEdit = Message<"exa.cortex_pb.ActionResultEdit"> & { + /** + * @generated from field: string absolute_path_migrate_me_to_uri = 1 [deprecated = true]; + * @deprecated + */ + absolutePathMigrateMeToUri: string; + + /** + * @generated from field: exa.diff_action_pb.DiffBlock diff = 2; + */ + diff?: DiffBlock | undefined; + + /** + * @generated from field: string context_prefix = 3; + */ + contextPrefix: string; + + /** + * @generated from field: string context_suffix = 4; + */ + contextSuffix: string; + + /** + * @generated from field: exa.cortex_pb.ActionDebugInfo debug_info = 5; + */ + debugInfo?: ActionDebugInfo | undefined; + + /** + * @generated from field: string prompt_id = 12; + */ + promptId: string; + + /** + * @generated from field: string completion_id = 6; + */ + completionId: string; + + /** + * @generated from field: string file_content_hash = 7; + */ + fileContentHash: string; + + /** + * @generated from field: string absolute_uri = 8; + */ + absoluteUri: string; + + /** + * @generated from field: repeated exa.codeium_common_pb.CodeContextItem result_ccis = 9; + */ + resultCcis: CodeContextItem[]; + + /** + * @generated from field: string original_content = 10; + */ + originalContent: string; + + /** + * @generated from field: bool create_file = 11; + */ + createFile: boolean; + + /** + * @generated from field: string new_content = 14; + */ + newContent: string; +}; + +/** + * Describes the message exa.cortex_pb.ActionResultEdit. + * Use `create(ActionResultEditSchema)` to create a new message. + */ +export const ActionResultEditSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 21); + +/** + * @generated from message exa.cortex_pb.RetrievalStatus + */ +export type RetrievalStatus = Message<"exa.cortex_pb.RetrievalStatus"> & { + /** + * @generated from field: uint32 total_retrieved_count = 1; + */ + totalRetrievedCount: number; + + /** + * @generated from field: repeated exa.codeium_common_pb.CciWithSubrange top_retrieved_items = 2; + */ + topRetrievedItems: CciWithSubrange[]; +}; + +/** + * Describes the message exa.cortex_pb.RetrievalStatus. + * Use `create(RetrievalStatusSchema)` to create a new message. + */ +export const RetrievalStatusSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 22); + +/** + * @generated from message exa.cortex_pb.PlanState + */ +export type PlanState = Message<"exa.cortex_pb.PlanState"> & { + /** + * @generated from field: exa.cortex_pb.PlanStatus status = 4; + */ + status: PlanStatus; + + /** + * @generated from field: string plan_id = 1; + */ + planId: string; + + /** + * @generated from field: exa.cortex_pb.PlanInput plan_input = 2; + */ + planInput?: PlanInput | undefined; + + /** + * @generated from field: repeated exa.cortex_pb.ActionState actions = 3; + */ + actions: ActionState[]; + + /** + * @generated from field: exa.cortex_pb.RetrievalStatus retrieval_status = 6; + */ + retrievalStatus?: RetrievalStatus | undefined; + + /** + * @generated from field: string error = 5; + */ + error: string; + + /** + * @generated from field: exa.cortex_pb.PlanDebugInfo debug_info = 7; + */ + debugInfo?: PlanDebugInfo | undefined; +}; + +/** + * Describes the message exa.cortex_pb.PlanState. + * Use `create(PlanStateSchema)` to create a new message. + */ +export const PlanStateSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 23); + +/** + * @generated from message exa.cortex_pb.PlanDebugInfo + */ +export type PlanDebugInfo = Message<"exa.cortex_pb.PlanDebugInfo"> & { + /** + * @generated from field: string raw_response = 1; + */ + rawResponse: string; + + /** + * @generated from field: uint32 plan_tokens = 2; + */ + planTokens: number; + + /** + * @generated from field: float plan_cost = 3; + */ + planCost: number; + + /** + * @generated from field: string system_prompt = 4; + */ + systemPrompt: string; + + /** + * @generated from field: repeated exa.chat_pb.ChatMessagePrompt message_prompts = 5; + */ + messagePrompts: ChatMessagePrompt[]; +}; + +/** + * Describes the message exa.cortex_pb.PlanDebugInfo. + * Use `create(PlanDebugInfoSchema)` to create a new message. + */ +export const PlanDebugInfoSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 24); + +/** + * @generated from message exa.cortex_pb.CortexPlanConfig + */ +export type CortexPlanConfig = Message<"exa.cortex_pb.CortexPlanConfig"> & { + /** + * @generated from field: exa.codeium_common_pb.ChatNodeConfig model_config = 1; + */ + modelConfig?: ChatNodeConfig | undefined; + + /** + * @generated from field: uint32 max_nominal_continuations = 2; + */ + maxNominalContinuations: number; + + /** + * @generated from field: uint32 max_error_continuations = 3; + */ + maxErrorContinuations: number; +}; + +/** + * Describes the message exa.cortex_pb.CortexPlanConfig. + * Use `create(CortexPlanConfigSchema)` to create a new message. + */ +export const CortexPlanConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 25); + +/** + * @generated from message exa.cortex_pb.CortexConfig + */ +export type CortexConfig = Message<"exa.cortex_pb.CortexConfig"> & { + /** + * @generated from field: bool record_telemetry = 11; + */ + recordTelemetry: boolean; + + /** + * @generated from field: bool add_distill_node = 6 [deprecated = true]; + * @deprecated + */ + addDistillNode: boolean; + + /** + * @generated from field: exa.codeium_common_pb.ChatNodeConfig distill_config = 10; + */ + distillConfig?: ChatNodeConfig | undefined; + + /** + * @generated from field: exa.codeium_common_pb.MQueryConfig m_query_config = 8; + */ + mQueryConfig?: MQueryConfig | undefined; + + /** + * @generated from field: string m_query_model_name = 12; + */ + mQueryModelName: string; + + /** + * @generated from field: bool use_macro_planner = 1 [deprecated = true]; + * @deprecated + */ + useMacroPlanner: boolean; + + /** + * @generated from field: exa.cortex_pb.CortexPlanConfig macro_plan_config = 4; + */ + macroPlanConfig?: CortexPlanConfig | undefined; + + /** + * @generated from field: exa.cortex_pb.PlanConfig plan_config = 9; + */ + planConfig?: PlanConfig | undefined; + + /** + * @generated from field: exa.cortex_pb.CortexPlanConfig code_plan_config = 5; + */ + codePlanConfig?: CortexPlanConfig | undefined; + + /** + * @generated from field: bool auto_prepare_apply = 2; + */ + autoPrepareApply: boolean; + + /** + * @generated from field: uint32 num_prepare_retries = 3; + */ + numPrepareRetries: number; +}; + +/** + * Describes the message exa.cortex_pb.CortexConfig. + * Use `create(CortexConfigSchema)` to create a new message. + */ +export const CortexConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 26); + +/** + * @generated from message exa.cortex_pb.PlanConfig + */ +export type PlanConfig = Message<"exa.cortex_pb.PlanConfig"> & { + /** + * @generated from field: string plan_model_name = 1; + */ + planModelName: string; + + /** + * @generated from field: uint32 max_tokens_per_plan = 2; + */ + maxTokensPerPlan: number; + + /** + * @generated from field: float max_token_fraction = 3; + */ + maxTokenFraction: number; + + /** + * @generated from field: float chat_temperature = 4; + */ + chatTemperature: number; + + /** + * @generated from field: uint64 chat_completion_max_tokens = 5; + */ + chatCompletionMaxTokens: bigint; + + /** + * @generated from field: bool augment_command = 9; + */ + augmentCommand: boolean; + + /** + * @generated from field: exa.codeium_common_pb.ExperimentConfig experiment_config = 7; + */ + experimentConfig?: ExperimentConfig | undefined; + + /** + * @generated from field: exa.codeium_common_pb.MQueryConfig m_query_config = 8; + */ + mQueryConfig?: MQueryConfig | undefined; +}; + +/** + * Describes the message exa.cortex_pb.PlanConfig. + * Use `create(PlanConfigSchema)` to create a new message. + */ +export const PlanConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 27); + +/** + * @generated from message exa.cortex_pb.CortexPlanSummary + */ +export type CortexPlanSummary = Message<"exa.cortex_pb.CortexPlanSummary"> & { + /** + * @generated from field: string cortex_id = 1; + */ + cortexId: string; + + /** + * @generated from field: exa.cortex_pb.PlanInput plan_input = 2; + */ + planInput?: PlanInput | undefined; + + /** + * @generated from field: google.protobuf.Timestamp created_at = 3; + */ + createdAt?: Timestamp | undefined; + + /** + * @generated from field: bool done = 4; + */ + done: boolean; +}; + +/** + * Describes the message exa.cortex_pb.CortexPlanSummary. + * Use `create(CortexPlanSummarySchema)` to create a new message. + */ +export const CortexPlanSummarySchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 28); + +/** + * @generated from message exa.cortex_pb.WorkspaceInitializationData + */ +export type WorkspaceInitializationData = Message<"exa.cortex_pb.WorkspaceInitializationData"> & { + /** + * @generated from field: exa.cortex_pb.CortexWorkspaceMetadata metadata = 1; + */ + metadata?: CortexWorkspaceMetadata | undefined; + + /** + * @generated from field: string merge_base_commit_hash = 2; + */ + mergeBaseCommitHash: string; + + /** + * @generated from field: optional string merge_base_head_patch_string = 3; + */ + mergeBaseHeadPatchString?: string | undefined; + + /** + * @generated from field: optional string head_working_patch_string = 4; + */ + headWorkingPatchString?: string | undefined; + + /** + * @generated from field: exa.codeium_common_pb.WorkspaceStats workspace_stats = 5; + */ + workspaceStats?: WorkspaceStats | undefined; + + /** + * @generated from field: bool repo_is_public = 6; + */ + repoIsPublic: boolean; +}; + +/** + * Describes the message exa.cortex_pb.WorkspaceInitializationData. + * Use `create(WorkspaceInitializationDataSchema)` to create a new message. + */ +export const WorkspaceInitializationDataSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 29); + +/** + * @generated from message exa.cortex_pb.StateInitializationData + */ +export type StateInitializationData = Message<"exa.cortex_pb.StateInitializationData"> & { + /** + * @generated from field: google.protobuf.Timestamp timestamp = 1; + */ + timestamp?: Timestamp | undefined; + + /** + * @generated from field: string state_id = 2; + */ + stateId: string; + + /** + * @generated from field: repeated exa.cortex_pb.WorkspaceInitializationData workspaces = 3; + */ + workspaces: WorkspaceInitializationData[]; +}; + +/** + * Describes the message exa.cortex_pb.StateInitializationData. + * Use `create(StateInitializationDataSchema)` to create a new message. + */ +export const StateInitializationDataSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 30); + +/** + * @generated from message exa.cortex_pb.CortexWorkspaceMetadata + */ +export type CortexWorkspaceMetadata = Message<"exa.cortex_pb.CortexWorkspaceMetadata"> & { + /** + * @generated from field: string workspace_folder_absolute_uri = 1; + */ + workspaceFolderAbsoluteUri: string; + + /** + * @generated from field: string git_root_absolute_uri = 2; + */ + gitRootAbsoluteUri: string; + + /** + * @generated from field: exa.codeium_common_pb.Repository repository = 3; + */ + repository?: Repository | undefined; + + /** + * @generated from field: string branch_name = 4; + */ + branchName: string; +}; + +/** + * Describes the message exa.cortex_pb.CortexWorkspaceMetadata. + * Use `create(CortexWorkspaceMetadataSchema)` to create a new message. + */ +export const CortexWorkspaceMetadataSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 31); + +/** + * @generated from message exa.cortex_pb.CortexTrajectoryMetadata + */ +export type CortexTrajectoryMetadata = Message<"exa.cortex_pb.CortexTrajectoryMetadata"> & { + /** + * @generated from field: repeated exa.cortex_pb.CortexWorkspaceMetadata workspaces = 1; + */ + workspaces: CortexWorkspaceMetadata[]; + + /** + * @generated from field: google.protobuf.Timestamp created_at = 2; + */ + createdAt?: Timestamp | undefined; + + /** + * @generated from field: string initialization_state_id = 3; + */ + initializationStateId: string; + + /** + * @generated from field: string experiment_tags = 4; + */ + experimentTags: string; +}; + +/** + * Describes the message exa.cortex_pb.CortexTrajectoryMetadata. + * Use `create(CortexTrajectoryMetadataSchema)` to create a new message. + */ +export const CortexTrajectoryMetadataSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 32); + +/** + * @generated from message exa.cortex_pb.CortexTrajectory + */ +export type CortexTrajectory = Message<"exa.cortex_pb.CortexTrajectory"> & { + /** + * @generated from field: string trajectory_id = 1; + */ + trajectoryId: string; + + /** + * @generated from field: string cascade_id = 6; + */ + cascadeId: string; + + /** + * @generated from field: exa.cortex_pb.CortexTrajectoryType trajectory_type = 4; + */ + trajectoryType: CortexTrajectoryType; + + /** + * @generated from field: repeated exa.cortex_pb.CortexTrajectoryStep steps = 2; + */ + steps: CortexTrajectoryStep[]; + + /** + * @generated from field: repeated exa.cortex_pb.CortexTrajectoryReference parent_references = 5; + */ + parentReferences: CortexTrajectoryReference[]; + + /** + * @generated from field: repeated exa.cortex_pb.CortexStepGeneratorMetadata generator_metadata = 3; + */ + generatorMetadata: CortexStepGeneratorMetadata[]; + + /** + * @generated from field: repeated exa.cortex_pb.ExecutorMetadata executor_metadatas = 9; + */ + executorMetadatas: ExecutorMetadata[]; + + /** + * @generated from field: exa.cortex_pb.CortexTrajectorySource source = 8; + */ + source: CortexTrajectorySource; + + /** + * @generated from field: exa.cortex_pb.CortexTrajectoryMetadata metadata = 7; + */ + metadata?: CortexTrajectoryMetadata | undefined; + + /** + * @generated from field: optional string renamed_title = 10; + */ + renamedTitle?: string | undefined; + + /** + * @generated from field: optional bytes virtual_fs_serialized_overlay = 13; + */ + virtualFsSerializedOverlay?: Uint8Array | undefined; + + /** + * @generated from field: uint32 diff_lines_added = 14; + */ + diffLinesAdded: number; + + /** + * @generated from field: uint32 diff_lines_removed = 15; + */ + diffLinesRemoved: number; + + /** + * @generated from field: optional string arena_id = 16; + */ + arenaId?: string | undefined; + + /** + * @generated from field: repeated exa.cortex_pb.QueuedMessage message_queue = 17; + */ + messageQueue: QueuedMessage[]; + + /** + * @generated from field: optional string git_worktree_path = 18 [deprecated = true]; + * @deprecated + */ + gitWorktreePath?: string | undefined; + + /** + * @generated from field: repeated string git_worktree_paths = 22; + */ + gitWorktreePaths: string[]; + + /** + * @generated from field: optional exa.cortex_pb.ArenaModeInfo arena_mode_info = 20; + */ + arenaModeInfo?: ArenaModeInfo | undefined; + + /** + * @generated from field: optional exa.codeium_common_pb.ConversationalPlannerMode conversational_mode = 21; + */ + conversationalMode?: ConversationalPlannerMode | undefined; + + /** + * @generated from field: repeated exa.cortex_pb.WorktreeMergeSnapshot worktree_merges = 23; + */ + worktreeMerges: WorktreeMergeSnapshot[]; + + /** + * @generated from field: optional exa.cortex_pb.ModelAssignmentInfo model_assignment_info = 24; + */ + modelAssignmentInfo?: ModelAssignmentInfo | undefined; +}; + +/** + * Describes the message exa.cortex_pb.CortexTrajectory. + * Use `create(CortexTrajectorySchema)` to create a new message. + */ +export const CortexTrajectorySchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 33); + +/** + * @generated from message exa.cortex_pb.ModelAssignmentInfo + */ +export type ModelAssignmentInfo = Message<"exa.cortex_pb.ModelAssignmentInfo"> & { + /** + * @generated from field: string assignment_jwt = 1; + */ + assignmentJwt: string; + + /** + * @generated from field: string assigned_model_uid = 2; + */ + assignedModelUid: string; + + /** + * @generated from field: string harness_uid = 3; + */ + harnessUid: string; + + /** + * @generated from field: string model_router_uid = 4; + */ + modelRouterUid: string; + + /** + * @generated from field: google.protobuf.Timestamp assigned_at = 5; + */ + assignedAt?: Timestamp | undefined; +}; + +/** + * Describes the message exa.cortex_pb.ModelAssignmentInfo. + * Use `create(ModelAssignmentInfoSchema)` to create a new message. + */ +export const ModelAssignmentInfoSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 34); + +/** + * @generated from message exa.cortex_pb.ArenaModeInfo + */ +export type ArenaModeInfo = Message<"exa.cortex_pb.ArenaModeInfo"> & { + /** + * @generated from field: optional bool is_random_mode = 1; + */ + isRandomMode?: boolean | undefined; + + /** + * @generated from field: optional string agent_name = 3; + */ + agentName?: string | undefined; + + /** + * @generated from field: optional string arena_assignment_jwt = 4; + */ + arenaAssignmentJwt?: string | undefined; + + /** + * @generated from field: optional string arena_model_uid = 5; + */ + arenaModelUid?: string | undefined; + + /** + * @generated from field: optional string harness_uid = 6; + */ + harnessUid?: string | undefined; + + /** + * @generated from field: optional string assigned_model_uid = 7; + */ + assignedModelUid?: string | undefined; +}; + +/** + * Describes the message exa.cortex_pb.ArenaModeInfo. + * Use `create(ArenaModeInfoSchema)` to create a new message. + */ +export const ArenaModeInfoSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 35); + +/** + * @generated from message exa.cortex_pb.CortexTrajectoryStepWithIndex + */ +export type CortexTrajectoryStepWithIndex = Message<"exa.cortex_pb.CortexTrajectoryStepWithIndex"> & { + /** + * @generated from field: exa.cortex_pb.CortexTrajectoryStep step = 1; + */ + step?: CortexTrajectoryStep | undefined; + + /** + * @generated from field: uint32 step_index = 2; + */ + stepIndex: number; +}; + +/** + * Describes the message exa.cortex_pb.CortexTrajectoryStepWithIndex. + * Use `create(CortexTrajectoryStepWithIndexSchema)` to create a new message. + */ +export const CortexTrajectoryStepWithIndexSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 36); + +/** + * @generated from message exa.cortex_pb.GlobalBackgroundCommand + */ +export type GlobalBackgroundCommand = Message<"exa.cortex_pb.GlobalBackgroundCommand"> & { + /** + * @generated from field: string command_id = 1; + */ + commandId: string; + + /** + * @generated from field: string trajectory_id = 2; + */ + trajectoryId: string; + + /** + * @generated from field: uint32 step_index = 3; + */ + stepIndex: number; + + /** + * @generated from field: string command_line = 4; + */ + commandLine: string; + + /** + * @generated from field: exa.cortex_pb.CortexStepStatus status = 5; + */ + status: CortexStepStatus; + + /** + * @generated from field: google.protobuf.Timestamp created_at = 6; + */ + createdAt?: Timestamp | undefined; + + /** + * @generated from field: google.protobuf.Timestamp last_updated_at = 7; + */ + lastUpdatedAt?: Timestamp | undefined; + + /** + * @generated from field: string terminal_id = 8; + */ + terminalId: string; +}; + +/** + * Describes the message exa.cortex_pb.GlobalBackgroundCommand. + * Use `create(GlobalBackgroundCommandSchema)` to create a new message. + */ +export const GlobalBackgroundCommandSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 37); + +/** + * @generated from message exa.cortex_pb.QueuedMessage + */ +export type QueuedMessage = Message<"exa.cortex_pb.QueuedMessage"> & { + /** + * @generated from field: string queue_id = 1; + */ + queueId: string; + + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 2; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: exa.cortex_pb.CortexTrajectoryStep user_input_step = 3; + */ + userInputStep?: CortexTrajectoryStep | undefined; + + /** + * @generated from field: exa.cortex_pb.CascadeConfig override_config = 4; + */ + overrideConfig?: CascadeConfig | undefined; +}; + +/** + * Describes the message exa.cortex_pb.QueuedMessage. + * Use `create(QueuedMessageSchema)` to create a new message. + */ +export const QueuedMessageSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 38); + +/** + * @generated from message exa.cortex_pb.CascadeTrajectorySummary + */ +export type CascadeTrajectorySummary = Message<"exa.cortex_pb.CascadeTrajectorySummary"> & { + /** + * @generated from field: string summary = 1; + */ + summary: string; + + /** + * @generated from field: uint32 step_count = 2; + */ + stepCount: number; + + /** + * @generated from field: google.protobuf.Timestamp last_modified_time = 3; + */ + lastModifiedTime?: Timestamp | undefined; + + /** + * @generated from field: string trajectory_id = 4; + */ + trajectoryId: string; + + /** + * @generated from field: exa.cortex_pb.CascadeRunStatus status = 5; + */ + status: CascadeRunStatus; + + /** + * @generated from field: google.protobuf.Timestamp created_time = 7; + */ + createdTime?: Timestamp | undefined; + + /** + * @generated from field: repeated exa.cortex_pb.CortexTrajectoryStepWithIndex waiting_steps = 8; + */ + waitingSteps: CortexTrajectoryStepWithIndex[]; + + /** + * @generated from field: repeated exa.cortex_pb.CortexWorkspaceMetadata workspaces = 9; + */ + workspaces: CortexWorkspaceMetadata[]; + + /** + * @generated from field: google.protobuf.Timestamp last_user_input_time = 10; + */ + lastUserInputTime?: Timestamp | undefined; + + /** + * @generated from field: optional string renamed_title = 11; + */ + renamedTitle?: string | undefined; + + /** + * @generated from field: repeated exa.cortex_pb.GlobalBackgroundCommand background_commands = 12; + */ + backgroundCommands: GlobalBackgroundCommand[]; + + /** + * @generated from field: optional exa.cortex_pb.LastTodoListStepInfo last_todo_list_step = 13; + */ + lastTodoListStep?: LastTodoListStepInfo | undefined; + + /** + * @generated from field: bool errored = 14; + */ + errored: boolean; + + /** + * @generated from field: uint32 diff_lines_added = 16; + */ + diffLinesAdded: number; + + /** + * @generated from field: uint32 diff_lines_removed = 17; + */ + diffLinesRemoved: number; + + /** + * @generated from field: optional string arena_id = 18; + */ + arenaId?: string | undefined; + + /** + * @generated from field: bool hidden = 19; + */ + hidden: boolean; + + /** + * @generated from field: uint32 queue_size = 20; + */ + queueSize: number; + + /** + * @generated from field: optional string git_worktree_path = 21 [deprecated = true]; + * @deprecated + */ + gitWorktreePath?: string | undefined; + + /** + * @generated from field: repeated string git_worktree_paths = 28; + */ + gitWorktreePaths: string[]; + + /** + * @generated from field: exa.cortex_pb.CortexTrajectoryType trajectory_type = 22; + */ + trajectoryType: CortexTrajectoryType; + + /** + * @generated from field: exa.cortex_pb.CortexTrajectorySource trajectory_source = 23; + */ + trajectorySource: CortexTrajectorySource; + + /** + * @generated from field: optional exa.codeium_common_pb.Model last_generator_model_deprecated = 24 [deprecated = true]; + * @deprecated + */ + lastGeneratorModelDeprecated?: Model | undefined; + + /** + * @generated from field: optional exa.cortex_pb.ArenaModeInfo arena_mode_info = 25; + */ + arenaModeInfo?: ArenaModeInfo | undefined; + + /** + * @generated from field: optional string last_generator_model_uid = 26; + */ + lastGeneratorModelUid?: string | undefined; + + /** + * @generated from field: repeated string referenced_files = 29; + */ + referencedFiles: string[]; + + /** + * @generated from field: bool is_archived = 30; + */ + isArchived: boolean; +}; + +/** + * Describes the message exa.cortex_pb.CascadeTrajectorySummary. + * Use `create(CascadeTrajectorySummarySchema)` to create a new message. + */ +export const CascadeTrajectorySummarySchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 39); + +/** + * @generated from message exa.cortex_pb.LastTodoListStepInfo + */ +export type LastTodoListStepInfo = Message<"exa.cortex_pb.LastTodoListStepInfo"> & { + /** + * @generated from field: repeated exa.cortex_pb.CortexTodoListItem todos = 1; + */ + todos: CortexTodoListItem[]; + + /** + * @generated from field: uint32 step_index = 2; + */ + stepIndex: number; +}; + +/** + * Describes the message exa.cortex_pb.LastTodoListStepInfo. + * Use `create(LastTodoListStepInfoSchema)` to create a new message. + */ +export const LastTodoListStepInfoSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 40); + +/** + * @generated from message exa.cortex_pb.CascadeTrajectorySummaries + */ +export type CascadeTrajectorySummaries = Message<"exa.cortex_pb.CascadeTrajectorySummaries"> & { + /** + * @generated from field: map summaries = 1; + */ + summaries: { [key: string]: CascadeTrajectorySummary }; +}; + +/** + * Describes the message exa.cortex_pb.CascadeTrajectorySummaries. + * Use `create(CascadeTrajectorySummariesSchema)` to create a new message. + */ +export const CascadeTrajectorySummariesSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 41); + +/** + * @generated from message exa.cortex_pb.CortexTrajectoryReference + */ +export type CortexTrajectoryReference = Message<"exa.cortex_pb.CortexTrajectoryReference"> & { + /** + * @generated from field: string trajectory_id = 1; + */ + trajectoryId: string; + + /** + * @generated from field: exa.cortex_pb.CortexTrajectoryType trajectory_type = 3; + */ + trajectoryType: CortexTrajectoryType; + + /** + * @generated from field: int32 step_index = 2; + */ + stepIndex: number; + + /** + * @generated from field: exa.cortex_pb.CortexStepType step_type = 4; + */ + stepType: CortexStepType; + + /** + * @generated from field: bool force_billable = 5; + */ + forceBillable: boolean; +}; + +/** + * Describes the message exa.cortex_pb.CortexTrajectoryReference. + * Use `create(CortexTrajectoryReferenceSchema)` to create a new message. + */ +export const CortexTrajectoryReferenceSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 42); + +/** + * @generated from message exa.cortex_pb.ImplicitTrajectory + */ +export type ImplicitTrajectory = Message<"exa.cortex_pb.ImplicitTrajectory"> & { + /** + * @generated from field: exa.cortex_pb.CortexTrajectory trajectory = 1; + */ + trajectory?: CortexTrajectory | undefined; + + /** + * @generated from field: exa.cortex_pb.TrajectoryScope trajectory_scope = 5; + */ + trajectoryScope?: TrajectoryScope | undefined; +}; + +/** + * Describes the message exa.cortex_pb.ImplicitTrajectory. + * Use `create(ImplicitTrajectorySchema)` to create a new message. + */ +export const ImplicitTrajectorySchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 43); + +/** + * @generated from message exa.cortex_pb.ImplicitTrajectoryDescription + */ +export type ImplicitTrajectoryDescription = Message<"exa.cortex_pb.ImplicitTrajectoryDescription"> & { + /** + * @generated from field: string trajectory_id = 1; + */ + trajectoryId: string; + + /** + * @generated from field: exa.cortex_pb.TrajectoryScope trajectory_scope = 2; + */ + trajectoryScope?: TrajectoryScope | undefined; + + /** + * @generated from field: bool current = 3; + */ + current: boolean; +}; + +/** + * Describes the message exa.cortex_pb.ImplicitTrajectoryDescription. + * Use `create(ImplicitTrajectoryDescriptionSchema)` to create a new message. + */ +export const ImplicitTrajectoryDescriptionSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 44); + +/** + * @generated from message exa.cortex_pb.CortexStepGeneratorMetadata + */ +export type CortexStepGeneratorMetadata = Message<"exa.cortex_pb.CortexStepGeneratorMetadata"> & { + /** + * @generated from field: repeated uint32 step_indices = 2; + */ + stepIndices: number[]; + + /** + * @generated from oneof exa.cortex_pb.CortexStepGeneratorMetadata.metadata + */ + metadata: { + /** + * @generated from field: exa.cortex_pb.ChatModelMetadata chat_model = 1; + */ + value: ChatModelMetadata; + case: "chatModel"; + } | { case: undefined; value?: undefined }; + + /** + * @generated from field: exa.cortex_pb.CascadePlannerConfig planner_config = 3; + */ + plannerConfig?: CascadePlannerConfig | undefined; + + /** + * @generated from field: string execution_id = 4; + */ + executionId: string; + + /** + * @generated from field: string error = 5; + */ + error: string; + + /** + * @generated from field: exa.cortex_pb.ParallelRolloutGeneratorMetadata parallel_rollout_generator_metadata = 6; + */ + parallelRolloutGeneratorMetadata?: ParallelRolloutGeneratorMetadata | undefined; + + /** + * @generated from field: bool arena_cap_reached = 7; + */ + arenaCapReached: boolean; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepGeneratorMetadata. + * Use `create(CortexStepGeneratorMetadataSchema)` to create a new message. + */ +export const CortexStepGeneratorMetadataSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 45); + +/** + * @generated from message exa.cortex_pb.ParallelRolloutGeneratorMetadata + */ +export type ParallelRolloutGeneratorMetadata = Message<"exa.cortex_pb.ParallelRolloutGeneratorMetadata"> & { + /** + * @generated from field: string guide_judgement_trajectory_id = 1; + */ + guideJudgementTrajectoryId: string; + + /** + * @generated from field: exa.cortex_pb.CortexStepTrajectoryChoice guide_choice_step = 2; + */ + guideChoiceStep?: CortexStepTrajectoryChoice | undefined; +}; + +/** + * Describes the message exa.cortex_pb.ParallelRolloutGeneratorMetadata. + * Use `create(ParallelRolloutGeneratorMetadataSchema)` to create a new message. + */ +export const ParallelRolloutGeneratorMetadataSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 46); + +/** + * @generated from message exa.cortex_pb.MessagePromptMetadata + */ +export type MessagePromptMetadata = Message<"exa.cortex_pb.MessagePromptMetadata"> & { + /** + * @generated from field: uint32 message_index = 1; + */ + messageIndex: number; + + /** + * @generated from field: uint32 segment_index = 2; + */ + segmentIndex: number; +}; + +/** + * Describes the message exa.cortex_pb.MessagePromptMetadata. + * Use `create(MessagePromptMetadataSchema)` to create a new message. + */ +export const MessagePromptMetadataSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 47); + +/** + * @generated from message exa.cortex_pb.ChatModelMetadata + */ +export type ChatModelMetadata = Message<"exa.cortex_pb.ChatModelMetadata"> & { + /** + * @generated from field: string system_prompt = 1; + */ + systemPrompt: string; + + /** + * @generated from field: repeated exa.chat_pb.ChatMessagePrompt message_prompts = 2; + */ + messagePrompts: ChatMessagePrompt[]; + + /** + * @generated from field: repeated exa.cortex_pb.MessagePromptMetadata message_metadata = 10; + */ + messageMetadata: MessagePromptMetadata[]; + + /** + * @generated from field: exa.codeium_common_pb.Model model_deprecated = 3 [deprecated = true]; + * @deprecated + */ + modelDeprecated: Model; + + /** + * @generated from field: string model_uid = 15; + */ + modelUid: string; + + /** + * @generated from field: exa.codeium_common_pb.ModelUsageStats usage = 4; + */ + usage?: ModelUsageStats | undefined; + + /** + * @generated from field: float model_cost = 5; + */ + modelCost: number; + + /** + * @generated from field: uint32 last_cache_index = 6; + */ + lastCacheIndex: number; + + /** + * @generated from field: exa.chat_pb.ChatToolChoice tool_choice = 7; + */ + toolChoice?: ChatToolChoice | undefined; + + /** + * @generated from field: repeated exa.chat_pb.ChatToolDefinition tools = 8; + */ + tools: ChatToolDefinition[]; + + /** + * @generated from field: exa.cortex_pb.ChatStartMetadata chat_start_metadata = 9; + */ + chatStartMetadata?: ChatStartMetadata | undefined; + + /** + * @generated from field: google.protobuf.Duration time_to_first_token = 11; + */ + timeToFirstToken?: Duration | undefined; + + /** + * @generated from field: google.protobuf.Duration streaming_duration = 12; + */ + streamingDuration?: Duration | undefined; + + /** + * @generated from field: int32 credit_cost = 13; + */ + creditCost: number; + + /** + * @generated from field: uint32 retries = 14; + */ + retries: number; + + /** + * @generated from field: double acu_cost = 16; + */ + acuCost: number; + + /** + * @generated from field: optional int64 quota_cost_basis_points = 18; + */ + quotaCostBasisPoints?: bigint | undefined; + + /** + * @generated from field: optional int64 overage_cost_cents = 19; + */ + overageCostCents?: bigint | undefined; + + /** + * @generated from field: repeated exa.codeium_common_pb.ResponseDimensionGroup response_dimension_groups = 20; + */ + responseDimensionGroups: ResponseDimensionGroup[]; +}; + +/** + * Describes the message exa.cortex_pb.ChatModelMetadata. + * Use `create(ChatModelMetadataSchema)` to create a new message. + */ +export const ChatModelMetadataSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 48); + +/** + * @generated from message exa.cortex_pb.CacheBreakpointMetadata + */ +export type CacheBreakpointMetadata = Message<"exa.cortex_pb.CacheBreakpointMetadata"> & { + /** + * @generated from field: uint32 index = 1; + */ + index: number; + + /** + * @generated from field: exa.chat_pb.PromptCacheOptions options = 2; + */ + options?: PromptCacheOptions | undefined; + + /** + * @generated from field: string content_checksum = 3; + */ + contentChecksum: string; +}; + +/** + * Describes the message exa.cortex_pb.CacheBreakpointMetadata. + * Use `create(CacheBreakpointMetadataSchema)` to create a new message. + */ +export const CacheBreakpointMetadataSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 49); + +/** + * @generated from message exa.cortex_pb.ChatStartMetadata + */ +export type ChatStartMetadata = Message<"exa.cortex_pb.ChatStartMetadata"> & { + /** + * @generated from field: google.protobuf.Timestamp created_at = 4; + */ + createdAt?: Timestamp | undefined; + + /** + * @generated from field: uint32 start_step_index = 1; + */ + startStepIndex: number; + + /** + * @generated from field: int32 checkpoint_index = 2; + */ + checkpointIndex: number; + + /** + * @generated from field: repeated uint32 steps_covered_by_checkpoint = 3; + */ + stepsCoveredByCheckpoint: number[]; + + /** + * @generated from field: int32 latest_stable_message_index = 5; + */ + latestStableMessageIndex: number; + + /** + * @generated from field: repeated exa.cortex_pb.CacheBreakpointMetadata cache_breakpoints = 6; + */ + cacheBreakpoints: CacheBreakpointMetadata[]; + + /** + * @generated from field: exa.cortex_pb.CacheBreakpointMetadata system_prompt_cache = 7; + */ + systemPromptCache?: CacheBreakpointMetadata | undefined; + + /** + * @generated from field: google.protobuf.Duration time_since_last_invocation = 8; + */ + timeSinceLastInvocation?: Duration | undefined; + + /** + * @generated from field: exa.cortex_pb.CacheRequestOptions cache_request = 9; + */ + cacheRequest?: CacheRequestOptions | undefined; +}; + +/** + * Describes the message exa.cortex_pb.ChatStartMetadata. + * Use `create(ChatStartMetadataSchema)` to create a new message. + */ +export const ChatStartMetadataSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 50); + +/** + * @generated from message exa.cortex_pb.CacheRequestOptions + */ +export type CacheRequestOptions = Message<"exa.cortex_pb.CacheRequestOptions"> & { + /** + * @generated from field: bool enabled = 1; + */ + enabled: boolean; + + /** + * @generated from field: repeated uint32 cache_breakpoint_indices = 2; + */ + cacheBreakpointIndices: number[]; +}; + +/** + * Describes the message exa.cortex_pb.CacheRequestOptions. + * Use `create(CacheRequestOptionsSchema)` to create a new message. + */ +export const CacheRequestOptionsSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 51); + +/** + * @generated from message exa.cortex_pb.CortexStepMetadata + */ +export type CortexStepMetadata = Message<"exa.cortex_pb.CortexStepMetadata"> & { + /** + * @generated from field: uint32 step_generation_version = 21; + */ + stepGenerationVersion: number; + + /** + * @generated from field: google.protobuf.Timestamp created_at = 1; + */ + createdAt?: Timestamp | undefined; + + /** + * @generated from field: google.protobuf.Timestamp viewable_at = 6; + */ + viewableAt?: Timestamp | undefined; + + /** + * @generated from field: google.protobuf.Timestamp finished_generating_at = 7; + */ + finishedGeneratingAt?: Timestamp | undefined; + + /** + * @generated from field: google.protobuf.Timestamp last_completed_chunk_at = 22; + */ + lastCompletedChunkAt?: Timestamp | undefined; + + /** + * @generated from field: google.protobuf.Timestamp completed_at = 8; + */ + completedAt?: Timestamp | undefined; + + /** + * @generated from field: exa.cortex_pb.CortexStepSource source = 3; + */ + source: CortexStepSource; + + /** + * @generated from field: exa.codeium_common_pb.ChatToolCall tool_call = 4; + */ + toolCall?: ChatToolCall | undefined; + + /** + * @generated from field: repeated string arguments_order = 5; + */ + argumentsOrder: string[]; + + /** + * @generated from field: exa.codeium_common_pb.ModelUsageStats model_usage = 9; + */ + modelUsage?: ModelUsageStats | undefined; + + /** + * @generated from field: float model_cost = 10; + */ + modelCost: number; + + /** + * @generated from field: exa.codeium_common_pb.Model generator_model_deprecated = 11 [deprecated = true]; + * @deprecated + */ + generatorModelDeprecated: Model; + + /** + * @generated from field: exa.codeium_common_pb.ModelOrAlias requested_model_deprecated = 13 [deprecated = true]; + * @deprecated + */ + requestedModelDeprecated?: ModelOrAlias | undefined; + + /** + * @generated from field: string generator_model_uid = 27; + */ + generatorModelUid: string; + + /** + * @generated from field: string requested_model_uid = 28; + */ + requestedModelUid: string; + + /** + * @generated from field: string execution_id = 12; + */ + executionId: string; + + /** + * @generated from field: int32 flow_credits_used = 14 [deprecated = true]; + * @deprecated + */ + flowCreditsUsed: number; + + /** + * @generated from field: int32 prompt_credits_used = 15; + */ + promptCreditsUsed: number; + + /** + * @generated from field: exa.codeium_common_pb.ConversationalPlannerMode planner_mode = 26; + */ + plannerMode: ConversationalPlannerMode; + + /** + * @generated from field: repeated exa.cortex_pb.CortexStepCreditReason non_standard_credit_reasons = 18 [deprecated = true]; + * @deprecated + */ + nonStandardCreditReasons: CortexStepCreditReason[]; + + /** + * @generated from field: repeated exa.codeium_common_pb.ChatToolCall tool_call_choices = 16; + */ + toolCallChoices: ChatToolCall[]; + + /** + * @generated from field: string tool_call_choice_reason = 17; + */ + toolCallChoiceReason: string; + + /** + * @generated from field: exa.cortex_pb.CortexRequestSource cortex_request_source = 19; + */ + cortexRequestSource: CortexRequestSource; + + /** + * @generated from field: int32 tool_call_output_tokens = 23; + */ + toolCallOutputTokens: number; + + /** + * @generated from field: exa.cortex_pb.SourceTrajectoryStepInfo source_trajectory_step_info = 20; + */ + sourceTrajectoryStepInfo?: SourceTrajectoryStepInfo | undefined; + + /** + * @generated from field: string request_id = 24; + */ + requestId: string; + + /** + * @generated from field: uint64 cumulative_tokens_at_step = 25; + */ + cumulativeTokensAtStep: bigint; + + /** + * @generated from field: double acu_cost = 29; + */ + acuCost: number; + + /** + * @generated from field: optional int64 quota_cost_basis_points = 30; + */ + quotaCostBasisPoints?: bigint | undefined; + + /** + * @generated from field: optional int64 overage_cost_cents = 31; + */ + overageCostCents?: bigint | undefined; + + /** + * @generated from field: uint64 input_tokens = 32; + */ + inputTokens: bigint; + + /** + * @generated from field: uint64 cache_read_tokens = 33; + */ + cacheReadTokens: bigint; + + /** + * @generated from field: google.protobuf.Timestamp usage_timestamp = 34; + */ + usageTimestamp?: Timestamp | undefined; + + /** + * @generated from field: repeated exa.codeium_common_pb.ResponseDimensionGroup response_dimension_groups = 35; + */ + responseDimensionGroups: ResponseDimensionGroup[]; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepMetadata. + * Use `create(CortexStepMetadataSchema)` to create a new message. + */ +export const CortexStepMetadataSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 52); + +/** + * @generated from message exa.cortex_pb.SourceTrajectoryStepInfo + */ +export type SourceTrajectoryStepInfo = Message<"exa.cortex_pb.SourceTrajectoryStepInfo"> & { + /** + * @generated from field: string trajectory_id = 1; + */ + trajectoryId: string; + + /** + * @generated from field: uint32 step_index = 2; + */ + stepIndex: number; + + /** + * @generated from field: uint32 metadata_index = 3; + */ + metadataIndex: number; + + /** + * @generated from field: string cascade_id = 4; + */ + cascadeId: string; +}; + +/** + * Describes the message exa.cortex_pb.SourceTrajectoryStepInfo. + * Use `create(SourceTrajectoryStepInfoSchema)` to create a new message. + */ +export const SourceTrajectoryStepInfoSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 53); + +/** + * @generated from message exa.cortex_pb.CortexStepUpdate + */ +export type CortexStepUpdate = Message<"exa.cortex_pb.CortexStepUpdate"> & { + /** + * @generated from field: uint32 step_index = 1; + */ + stepIndex: number; + + /** + * @generated from field: exa.cortex_pb.CortexTrajectoryStep step = 2; + */ + step?: CortexTrajectoryStep | undefined; + + /** + * @generated from field: exa.cortex_pb.CortexStepStatus status = 3; + */ + status: CortexStepStatus; + + /** + * @generated from field: exa.cortex_pb.UserStepAnnotations user_annotations = 4; + */ + userAnnotations?: UserStepAnnotations | undefined; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepUpdate. + * Use `create(CortexStepUpdateSchema)` to create a new message. + */ +export const CortexStepUpdateSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 54); + +/** + * @generated from message exa.cortex_pb.WindsurfSetting + */ +export type WindsurfSetting = Message<"exa.cortex_pb.WindsurfSetting"> & { + /** + * @generated from field: string setting_id = 1; + */ + settingId: string; + + /** + * @generated from field: string setting_name = 2; + */ + settingName: string; +}; + +/** + * Describes the message exa.cortex_pb.WindsurfSetting. + * Use `create(WindsurfSettingSchema)` to create a new message. + */ +export const WindsurfSettingSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 55); + +/** + * @generated from message exa.cortex_pb.StructuredErrorPart + */ +export type StructuredErrorPart = Message<"exa.cortex_pb.StructuredErrorPart"> & { + /** + * @generated from oneof exa.cortex_pb.StructuredErrorPart.part + */ + part: { + /** + * @generated from field: string text = 1; + */ + value: string; + case: "text"; + } | { + /** + * @generated from field: string file_uri = 2; + */ + value: string; + case: "fileUri"; + } | { + /** + * @generated from field: string directory_uri = 3; + */ + value: string; + case: "directoryUri"; + } | { + /** + * @generated from field: string url = 4; + */ + value: string; + case: "url"; + } | { + /** + * @generated from field: string code_text = 5; + */ + value: string; + case: "codeText"; + } | { + /** + * @generated from field: exa.cortex_pb.WindsurfSetting windsurf_setting = 6; + */ + value: WindsurfSetting; + case: "windsurfSetting"; + } | { case: undefined; value?: undefined }; +}; + +/** + * Describes the message exa.cortex_pb.StructuredErrorPart. + * Use `create(StructuredErrorPartSchema)` to create a new message. + */ +export const StructuredErrorPartSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 56); + +/** + * @generated from message exa.cortex_pb.CortexErrorDetails + */ +export type CortexErrorDetails = Message<"exa.cortex_pb.CortexErrorDetails"> & { + /** + * @generated from field: string user_error_message = 1; + */ + userErrorMessage: string; + + /** + * @generated from field: repeated exa.cortex_pb.StructuredErrorPart structured_error_parts = 8; + */ + structuredErrorParts: StructuredErrorPart[]; + + /** + * @generated from field: string short_error = 2; + */ + shortError: string; + + /** + * @generated from field: string full_error = 3; + */ + fullError: string; + + /** + * @generated from field: bool is_benign = 4; + */ + isBenign: boolean; + + /** + * @generated from field: uint32 error_code = 7; + */ + errorCode: number; + + /** + * @generated from field: string details = 5; + */ + details: string; + + /** + * @generated from field: string error_id = 6; + */ + errorId: string; +}; + +/** + * Describes the message exa.cortex_pb.CortexErrorDetails. + * Use `create(CortexErrorDetailsSchema)` to create a new message. + */ +export const CortexErrorDetailsSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 57); + +/** + * @generated from message exa.cortex_pb.UserStepSnapshot + */ +export type UserStepSnapshot = Message<"exa.cortex_pb.UserStepSnapshot"> & { + /** + * @generated from field: string name = 1; + */ + name: string; +}; + +/** + * Describes the message exa.cortex_pb.UserStepSnapshot. + * Use `create(UserStepSnapshotSchema)` to create a new message. + */ +export const UserStepSnapshotSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 58); + +/** + * @generated from message exa.cortex_pb.UserStepAnnotations + */ +export type UserStepAnnotations = Message<"exa.cortex_pb.UserStepAnnotations"> & { + /** + * @generated from field: exa.cortex_pb.UserStepSnapshot snapshot = 1; + */ + snapshot?: UserStepSnapshot | undefined; +}; + +/** + * Describes the message exa.cortex_pb.UserStepAnnotations. + * Use `create(UserStepAnnotationsSchema)` to create a new message. + */ +export const UserStepAnnotationsSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 59); + +/** + * @generated from message exa.cortex_pb.CortexTrajectoryStep + */ +export type CortexTrajectoryStep = Message<"exa.cortex_pb.CortexTrajectoryStep"> & { + /** + * @generated from field: exa.cortex_pb.CortexStepType type = 1; + */ + type: CortexStepType; + + /** + * @generated from field: exa.cortex_pb.CortexStepStatus status = 4; + */ + status: CortexStepStatus; + + /** + * @generated from field: exa.cortex_pb.CortexStepMetadata metadata = 5; + */ + metadata?: CortexStepMetadata | undefined; + + /** + * @generated from field: exa.cortex_pb.CortexErrorDetails error = 31; + */ + error?: CortexErrorDetails | undefined; + + /** + * @generated from field: exa.cortex_pb.ExecutionAsyncLevel async_level_override = 33 [deprecated = true]; + * @deprecated + */ + asyncLevelOverride: ExecutionAsyncLevel; + + /** + * @generated from field: exa.cortex_pb.RequestedInteraction requested_interaction = 56; + */ + requestedInteraction?: RequestedInteraction | undefined; + + /** + * @generated from field: exa.cortex_pb.UserStepAnnotations user_annotations = 69; + */ + userAnnotations?: UserStepAnnotations | undefined; + + /** + * @generated from field: repeated exa.cortex_pb.HookExecutionDetail pre_tool_use_hooks = 85; + */ + preToolUseHooks: HookExecutionDetail[]; + + /** + * @generated from field: repeated exa.cortex_pb.HookExecutionDetail post_tool_use_hooks = 86; + */ + postToolUseHooks: HookExecutionDetail[]; + + /** + * @generated from field: optional bool shield_from_cancellation = 109; + */ + shieldFromCancellation?: boolean | undefined; + + /** + * @generated from oneof exa.cortex_pb.CortexTrajectoryStep.step + */ + step: { + /** + * @generated from field: exa.cortex_pb.CortexStepDummy dummy = 7; + */ + value: CortexStepDummy; + case: "dummy"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepFinish finish = 12; + */ + value: CortexStepFinish; + case: "finish"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepPlanInput plan_input = 8; + */ + value: CortexStepPlanInput; + case: "planInput"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepMquery mquery = 9; + */ + value: CortexStepMquery; + case: "mquery"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepCodeAction code_action = 10; + */ + value: CortexStepCodeAction; + case: "codeAction"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepGitCommit git_commit = 11; + */ + value: CortexStepGitCommit; + case: "gitCommit"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepGrepSearch grep_search = 13; + */ + value: CortexStepGrepSearch; + case: "grepSearch"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepViewFile view_file = 14; + */ + value: CortexStepViewFile; + case: "viewFile"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepListDirectory list_directory = 15; + */ + value: CortexStepListDirectory; + case: "listDirectory"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepCompile compile = 16; + */ + value: CortexStepCompile; + case: "compile"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepInformPlanner inform_planner = 17; + */ + value: CortexStepInformPlanner; + case: "informPlanner"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepUserInput user_input = 19; + */ + value: CortexStepUserInput; + case: "userInput"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepPlannerResponse planner_response = 20; + */ + value: CortexStepPlannerResponse; + case: "plannerResponse"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepFileBreakdown file_breakdown = 21; + */ + value: CortexStepFileBreakdown; + case: "fileBreakdown"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepViewCodeItem view_code_item = 22; + */ + value: CortexStepViewCodeItem; + case: "viewCodeItem"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepWriteToFile write_to_file = 23 [deprecated = true]; + * @deprecated + */ + value: CortexStepWriteToFile; + case: "writeToFile"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepErrorMessage error_message = 24; + */ + value: CortexStepErrorMessage; + case: "errorMessage"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepClusterQuery cluster_query = 25; + */ + value: CortexStepClusterQuery; + case: "clusterQuery"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepListClusters list_clusters = 26; + */ + value: CortexStepListClusters; + case: "listClusters"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepInspectCluster inspect_cluster = 27; + */ + value: CortexStepInspectCluster; + case: "inspectCluster"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepRunCommand run_command = 28; + */ + value: CortexStepRunCommand; + case: "runCommand"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepRelatedFiles related_files = 29; + */ + value: CortexStepRelatedFiles; + case: "relatedFiles"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepCheckpoint checkpoint = 30; + */ + value: CortexStepCheckpoint; + case: "checkpoint"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepProposeCode propose_code = 32; + */ + value: CortexStepProposeCode; + case: "proposeCode"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepFind find = 34; + */ + value: CortexStepFind; + case: "find"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepSearchKnowledgeBase search_knowledge_base = 35; + */ + value: CortexStepSearchKnowledgeBase; + case: "searchKnowledgeBase"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepSuggestedResponses suggested_responses = 36; + */ + value: CortexStepSuggestedResponses; + case: "suggestedResponses"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepCommandStatus command_status = 37; + */ + value: CortexStepCommandStatus; + case: "commandStatus"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepMemory memory = 38; + */ + value: CortexStepMemory; + case: "memory"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepLookupKnowledgeBase lookup_knowledge_base = 39; + */ + value: CortexStepLookupKnowledgeBase; + case: "lookupKnowledgeBase"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepReadUrlContent read_url_content = 40; + */ + value: CortexStepReadUrlContent; + case: "readUrlContent"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepViewContentChunk view_content_chunk = 41; + */ + value: CortexStepViewContentChunk; + case: "viewContentChunk"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepSearchWeb search_web = 42; + */ + value: CortexStepSearchWeb; + case: "searchWeb"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepRetrieveMemory retrieve_memory = 43; + */ + value: CortexStepRetrieveMemory; + case: "retrieveMemory"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepAutoCascadeBroadcast auto_cascade_broadcast = 44; + */ + value: CortexStepAutoCascadeBroadcast; + case: "autoCascadeBroadcast"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepCustomTool custom_tool = 45; + */ + value: CortexStepCustomTool; + case: "customTool"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepCreateRecipe create_recipe = 46 [deprecated = true]; + * @deprecated + */ + value: CortexStepCreateRecipe; + case: "createRecipe"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepMcpTool mcp_tool = 47; + */ + value: CortexStepMcpTool; + case: "mcpTool"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepManagerFeedback manager_feedback = 48; + */ + value: CortexStepManagerFeedback; + case: "managerFeedback"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepToolCallProposal tool_call_proposal = 49; + */ + value: CortexStepToolCallProposal; + case: "toolCallProposal"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepToolCallChoice tool_call_choice = 50; + */ + value: CortexStepToolCallChoice; + case: "toolCallChoice"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepTrajectoryChoice trajectory_choice = 52; + */ + value: CortexStepTrajectoryChoice; + case: "trajectoryChoice"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepProxyWebServer proxy_web_server = 53; + */ + value: CortexStepProxyWebServer; + case: "proxyWebServer"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepDeployWebApp deploy_web_app = 54; + */ + value: CortexStepDeployWebApp; + case: "deployWebApp"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepClipboard clipboard = 55; + */ + value: CortexStepClipboard; + case: "clipboard"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepReadDeploymentConfig read_deployment_config = 57; + */ + value: CortexStepReadDeploymentConfig; + case: "readDeploymentConfig"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepViewFileOutline view_file_outline = 58 [deprecated = true]; + * @deprecated + */ + value: CortexStepViewFileOutline; + case: "viewFileOutline"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepCheckDeployStatus check_deploy_status = 59; + */ + value: CortexStepCheckDeployStatus; + case: "checkDeployStatus"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepPostPrReview post_pr_review = 60; + */ + value: CortexStepPostPrReview; + case: "postPrReview"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepReadKnowledgeBaseItem read_knowledge_base_item = 61; + */ + value: CortexStepReadKnowledgeBaseItem; + case: "readKnowledgeBaseItem"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepListResources list_resources = 62; + */ + value: CortexStepListResources; + case: "listResources"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepReadResource read_resource = 63; + */ + value: CortexStepReadResource; + case: "readResource"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepLintDiff lint_diff = 64; + */ + value: CortexStepLintDiff; + case: "lintDiff"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepFindAllReferences find_all_references = 65; + */ + value: CortexStepFindAllReferences; + case: "findAllReferences"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepBrainUpdate brain_update = 66; + */ + value: CortexStepBrainUpdate; + case: "brainUpdate"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepRunExtensionCode run_extension_code = 68 [deprecated = true]; + * @deprecated + */ + value: CortexStepRunExtensionCode; + case: "runExtensionCode"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepAddAnnotation add_annotation = 70; + */ + value: CortexStepAddAnnotation; + case: "addAnnotation"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepProposalFeedback proposal_feedback = 71; + */ + value: CortexStepProposalFeedback; + case: "proposalFeedback"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepTrajectorySearch trajectory_search = 72; + */ + value: CortexStepTrajectorySearch; + case: "trajectorySearch"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepReadTerminal read_terminal = 77; + */ + value: CortexStepReadTerminal; + case: "readTerminal"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepArtifactSummary artifact_summary = 83; + */ + value: CortexStepArtifactSummary; + case: "artifactSummary"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepResolveTask resolve_task = 84; + */ + value: CortexStepResolveTask; + case: "resolveTask"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepTodoList todo_list = 87; + */ + value: CortexStepTodoList; + case: "todoList"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepBlocking blocking = 88; + */ + value: CortexStepBlocking; + case: "blocking"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepExploreResponse explore_response = 94; + */ + value: CortexStepExploreResponse; + case: "exploreResponse"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepReadNotebook read_notebook = 96; + */ + value: CortexStepReadNotebook; + case: "readNotebook"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepEditNotebook edit_notebook = 97; + */ + value: CortexStepEditNotebook; + case: "editNotebook"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepCodeMap code_map = 98 [deprecated = true]; + * @deprecated + */ + value: CortexStepCodeMap; + case: "codeMap"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepEditCodeMap edit_code_map = 99 [deprecated = true]; + * @deprecated + */ + value: CortexStepEditCodeMap; + case: "editCodeMap"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepSupercompleteActiveDoc supercomplete_active_doc = 100; + */ + value: CortexStepSupercompleteActiveDoc; + case: "supercompleteActiveDoc"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepFindCodeContext find_code_context = 101; + */ + value: CortexStepFindCodeContext; + case: "findCodeContext"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepSupercompleteFeedback supercomplete_feedback = 103; + */ + value: CortexStepSupercompleteFeedback; + case: "supercompleteFeedback"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepLintFixMessage lint_fix_message = 104; + */ + value: CortexStepLintFixMessage; + case: "lintFixMessage"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepGrepSearchV2 grep_search_v2 = 105; + */ + value: CortexStepGrepSearchV2; + case: "grepSearchV2"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepUpsertCodemap upsert_codemap = 106; + */ + value: CortexStepUpsertCodemap; + case: "upsertCodemap"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepSuggestCodemap suggest_codemap = 107; + */ + value: CortexStepSuggestCodemap; + case: "suggestCodemap"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepSmartFriend smart_friend = 108; + */ + value: CortexStepSmartFriend; + case: "smartFriend"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepReportBugs report_bugs = 112; + */ + value: CortexStepReportBugs; + case: "reportBugs"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepExitPlanMode exit_plan_mode = 114; + */ + value: CortexStepExitPlanMode; + case: "exitPlanMode"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepAskUserQuestion ask_user_question = 115; + */ + value: CortexStepAskUserQuestion; + case: "askUserQuestion"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepSkill skill = 116; + */ + value: CortexStepSkill; + case: "skill"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepSupercompleteEphemeralFeedback supercomplete_ephemeral_feedback = 117; + */ + value: CortexStepSupercompleteEphemeralFeedback; + case: "supercompleteEphemeralFeedback"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepArenaTrajectoryConverge arena_trajectory_converge = 118; + */ + value: CortexStepArenaTrajectoryConverge; + case: "arenaTrajectoryConverge"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepTaskSubagent task_subagent = 119; + */ + value: CortexStepTaskSubagent; + case: "taskSubagent"; + } | { case: undefined; value?: undefined }; + + /** + * @generated from field: exa.cortex_pb.CortexTrajectory subtrajectory = 6; + */ + subtrajectory?: CortexTrajectory | undefined; + + /** + * @generated from field: repeated exa.cortex_pb.CortexTrajectory subtrajectories = 51; + */ + subtrajectories: CortexTrajectory[]; +}; + +/** + * Describes the message exa.cortex_pb.CortexTrajectoryStep. + * Use `create(CortexTrajectoryStepSchema)` to create a new message. + */ +export const CortexTrajectoryStepSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 60); + +/** + * @generated from message exa.cortex_pb.TrajectoryScope + */ +export type TrajectoryScope = Message<"exa.cortex_pb.TrajectoryScope"> & { + /** + * @generated from field: string workspace_uri = 1; + */ + workspaceUri: string; + + /** + * @generated from field: string git_root_uri = 2; + */ + gitRootUri: string; + + /** + * @generated from field: string branch_name = 3; + */ + branchName: string; +}; + +/** + * Describes the message exa.cortex_pb.TrajectoryScope. + * Use `create(TrajectoryScopeSchema)` to create a new message. + */ +export const TrajectoryScopeSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 61); + +/** + * @generated from message exa.cortex_pb.CascadeExecutorConfig + */ +export type CascadeExecutorConfig = Message<"exa.cortex_pb.CascadeExecutorConfig"> & { + /** + * @generated from field: optional bool disable_async = 1; + */ + disableAsync?: boolean | undefined; + + /** + * @generated from field: int32 max_generator_invocations = 2; + */ + maxGeneratorInvocations: number; + + /** + * @generated from field: repeated exa.cortex_pb.CortexStepType terminal_step_types = 3; + */ + terminalStepTypes: CortexStepType[]; + + /** + * @generated from field: optional bool run_pending_steps = 4; + */ + runPendingSteps?: boolean | undefined; + + /** + * @generated from field: optional bool hold_for_valid_checkpoint = 5; + */ + holdForValidCheckpoint?: boolean | undefined; + + /** + * @generated from field: int32 hold_for_valid_checkpoint_timeout = 6; + */ + holdForValidCheckpointTimeout: number; + + /** + * @generated from field: bool research_only = 7; + */ + researchOnly: boolean; + + /** + * @generated from field: optional bool use_aggressive_snapshotting = 8; + */ + useAggressiveSnapshotting?: boolean | undefined; + + /** + * @generated from field: bool enable_background_linting = 9; + */ + enableBackgroundLinting: boolean; + + /** + * @generated from field: int32 max_lint_injection_count = 10; + */ + maxLintInjectionCount: number; +}; + +/** + * Describes the message exa.cortex_pb.CascadeExecutorConfig. + * Use `create(CascadeExecutorConfigSchema)` to create a new message. + */ +export const CascadeExecutorConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 62); + +/** + * @generated from message exa.cortex_pb.ForcedBrainUpdateConfig + */ +export type ForcedBrainUpdateConfig = Message<"exa.cortex_pb.ForcedBrainUpdateConfig"> & { + /** + * @generated from field: optional float update_sample_rate = 1; + */ + updateSampleRate?: number | undefined; +}; + +/** + * Describes the message exa.cortex_pb.ForcedBrainUpdateConfig. + * Use `create(ForcedBrainUpdateConfigSchema)` to create a new message. + */ +export const ForcedBrainUpdateConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 63); + +/** + * @generated from message exa.cortex_pb.DynamicBrainUpdateConfig + */ +export type DynamicBrainUpdateConfig = Message<"exa.cortex_pb.DynamicBrainUpdateConfig"> & { + /** + * @generated from field: bool use_aggressive_prompt = 1 [deprecated = true]; + * @deprecated + */ + useAggressivePrompt: boolean; +}; + +/** + * Describes the message exa.cortex_pb.DynamicBrainUpdateConfig. + * Use `create(DynamicBrainUpdateConfigSchema)` to create a new message. + */ +export const DynamicBrainUpdateConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 64); + +/** + * @generated from message exa.cortex_pb.BrainUpdateStrategy + */ +export type BrainUpdateStrategy = Message<"exa.cortex_pb.BrainUpdateStrategy"> & { + /** + * @generated from oneof exa.cortex_pb.BrainUpdateStrategy.strategy + */ + strategy: { + /** + * @generated from field: google.protobuf.Empty executor_forced = 2; + */ + value: Empty; + case: "executorForced"; + } | { + /** + * @generated from field: exa.cortex_pb.ForcedBrainUpdateConfig invocation_forced = 3; + */ + value: ForcedBrainUpdateConfig; + case: "invocationForced"; + } | { + /** + * @generated from field: exa.cortex_pb.DynamicBrainUpdateConfig dynamic_update = 6; + */ + value: DynamicBrainUpdateConfig; + case: "dynamicUpdate"; + } | { + /** + * @generated from field: google.protobuf.Empty executor_forced_and_with_discretion = 5; + */ + value: Empty; + case: "executorForcedAndWithDiscretion"; + } | { case: undefined; value?: undefined }; +}; + +/** + * Describes the message exa.cortex_pb.BrainUpdateStrategy. + * Use `create(BrainUpdateStrategySchema)` to create a new message. + */ +export const BrainUpdateStrategySchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 65); + +/** + * @generated from message exa.cortex_pb.BrainConfig + */ +export type BrainConfig = Message<"exa.cortex_pb.BrainConfig"> & { + /** + * @generated from field: optional bool enabled = 1; + */ + enabled?: boolean | undefined; + + /** + * @generated from field: exa.codeium_common_pb.Model brain_model_deprecated = 2 [deprecated = true]; + * @deprecated + */ + brainModelDeprecated: Model; + + /** + * @generated from field: string brain_model_uid = 14; + */ + brainModelUid: string; + + /** + * @generated from field: optional bool use_main_model_as_brain_model = 13; + */ + useMainModelAsBrainModel?: boolean | undefined; + + /** + * @generated from field: optional bool force_no_explanation = 4; + */ + forceNoExplanation?: boolean | undefined; + + /** + * @generated from field: exa.cortex_pb.BrainFilterStrategy filter_strategy = 5; + */ + filterStrategy: BrainFilterStrategy; + + /** + * @generated from field: exa.cortex_pb.BrainUpdateStrategy update_strategy = 6; + */ + updateStrategy?: BrainUpdateStrategy | undefined; + + /** + * @generated from field: optional bool use_replace_content_for_updates = 7; + */ + useReplaceContentForUpdates?: boolean | undefined; + + /** + * @generated from field: optional bool condense_trajectory_messages = 8; + */ + condenseTrajectoryMessages?: boolean | undefined; + + /** + * @generated from field: optional uint32 recent_update_tool_threshold = 9; + */ + recentUpdateToolThreshold?: number | undefined; + + /** + * @generated from field: optional uint32 stale_update_tool_threshold = 10; + */ + staleUpdateToolThreshold?: number | undefined; + + /** + * @generated from field: string additional_ephemeral_prompt = 11; + */ + additionalEphemeralPrompt: string; + + /** + * @generated from field: optional bool use_rules_in_subagent = 12; + */ + useRulesInSubagent?: boolean | undefined; +}; + +/** + * Describes the message exa.cortex_pb.BrainConfig. + * Use `create(BrainConfigSchema)` to create a new message. + */ +export const BrainConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 66); + +/** + * @generated from message exa.cortex_pb.ParallelRolloutConfig + */ +export type ParallelRolloutConfig = Message<"exa.cortex_pb.ParallelRolloutConfig"> & { + /** + * @generated from field: int32 num_parallel_rollouts = 1; + */ + numParallelRollouts: number; + + /** + * @generated from field: uint32 max_invocations_per_rollout = 2; + */ + maxInvocationsPerRollout: number; + + /** + * @generated from field: exa.codeium_common_pb.Model guide_model_deprecated = 3 [deprecated = true]; + * @deprecated + */ + guideModelDeprecated: Model; + + /** + * @generated from field: string guide_model_uid = 6; + */ + guideModelUid: string; + + /** + * @generated from field: int32 max_guide_invocations = 4; + */ + maxGuideInvocations: number; + + /** + * @generated from field: bool force_bad_rollout = 5; + */ + forceBadRollout: boolean; +}; + +/** + * Describes the message exa.cortex_pb.ParallelRolloutConfig. + * Use `create(ParallelRolloutConfigSchema)` to create a new message. + */ +export const ParallelRolloutConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 67); + +/** + * @generated from message exa.cortex_pb.CascadeHooks + */ +export type CascadeHooks = Message<"exa.cortex_pb.CascadeHooks"> & { + /** + * @generated from field: repeated exa.cortex_pb.CascadeHook hooks = 1; + */ + hooks: CascadeHook[]; +}; + +/** + * Describes the message exa.cortex_pb.CascadeHooks. + * Use `create(CascadeHooksSchema)` to create a new message. + */ +export const CascadeHooksSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 68); + +/** + * @generated from message exa.cortex_pb.CascadeConfig + */ +export type CascadeConfig = Message<"exa.cortex_pb.CascadeConfig"> & { + /** + * @generated from field: exa.cortex_pb.CascadePlannerConfig planner_config = 1; + */ + plannerConfig?: CascadePlannerConfig | undefined; + + /** + * @generated from field: exa.cortex_pb.CheckpointConfig checkpoint_config = 2; + */ + checkpointConfig?: CheckpointConfig | undefined; + + /** + * @generated from field: exa.cortex_pb.CascadeExecutorConfig executor_config = 3; + */ + executorConfig?: CascadeExecutorConfig | undefined; + + /** + * @generated from field: exa.cortex_pb.TrajectoryConversionConfig trajectory_conversion_config = 4; + */ + trajectoryConversionConfig?: TrajectoryConversionConfig | undefined; + + /** + * @generated from field: exa.cortex_pb.MemoryConfig memory_config = 5; + */ + memoryConfig?: MemoryConfig | undefined; + + /** + * @generated from field: exa.cortex_pb.BrainConfig brain_config = 7; + */ + brainConfig?: BrainConfig | undefined; + + /** + * @generated from field: optional bool apply_model_default_override = 6; + */ + applyModelDefaultOverride?: boolean | undefined; + + /** + * @generated from field: exa.cortex_pb.ParallelRolloutConfig parallel_rollout_config = 8; + */ + parallelRolloutConfig?: ParallelRolloutConfig | undefined; + + /** + * @generated from field: repeated exa.cortex_pb.CascadeHook hooks = 9; + */ + hooks: CascadeHook[]; + + /** + * @generated from field: optional string override_harness_uid = 10; + */ + overrideHarnessUid?: string | undefined; +}; + +/** + * Describes the message exa.cortex_pb.CascadeConfig. + * Use `create(CascadeConfigSchema)` to create a new message. + */ +export const CascadeConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 69); + +/** + * @generated from message exa.cortex_pb.TrajectoryConversionConfig + */ +export type TrajectoryConversionConfig = Message<"exa.cortex_pb.TrajectoryConversionConfig"> & { + /** + * @generated from field: optional bool use_tool_format = 1; + */ + useToolFormat?: boolean | undefined; + + /** + * @generated from field: optional bool include_input_step = 2; + */ + includeInputStep?: boolean | undefined; + + /** + * @generated from field: optional bool group_tools_with_planner_response = 3; + */ + groupToolsWithPlannerResponse?: boolean | undefined; + + /** + * @generated from field: repeated exa.cortex_pb.CortexStepType disabled_step_types = 4; + */ + disabledStepTypes: CortexStepType[]; + + /** + * @generated from field: optional string tool_call_footer = 5; + */ + toolCallFooter?: string | undefined; +}; + +/** + * Describes the message exa.cortex_pb.TrajectoryConversionConfig. + * Use `create(TrajectoryConversionConfigSchema)` to create a new message. + */ +export const TrajectoryConversionConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 70); + +/** + * @generated from message exa.cortex_pb.CascadeConversationalPlannerConfig + */ +export type CascadeConversationalPlannerConfig = Message<"exa.cortex_pb.CascadeConversationalPlannerConfig"> & { + /** + * @generated from field: exa.codeium_common_pb.ConversationalPlannerMode planner_mode = 4; + */ + plannerMode: ConversationalPlannerMode; + + /** + * @generated from field: optional bool use_clusters = 2; + */ + useClusters?: boolean | undefined; + + /** + * @generated from field: string cluster_path = 3; + */ + clusterPath: string; + + /** + * @generated from field: optional bool eval_mode = 5; + */ + evalMode?: boolean | undefined; + + /** + * @generated from field: optional string code_research_section_content = 6; + */ + codeResearchSectionContent?: string | undefined; + + /** + * @generated from field: optional string test_section_content = 8 [deprecated = true]; + * @deprecated + */ + testSectionContent?: string | undefined; + + /** + * @generated from field: optional exa.cortex_pb.SectionOverrideConfig test_section = 9; + */ + testSection?: SectionOverrideConfig | undefined; + + /** + * @generated from field: optional exa.cortex_pb.SectionOverrideConfig tool_calling_section = 10; + */ + toolCallingSection?: SectionOverrideConfig | undefined; + + /** + * @generated from field: optional exa.cortex_pb.SectionOverrideConfig code_changes_section = 11; + */ + codeChangesSection?: SectionOverrideConfig | undefined; + + /** + * @generated from field: optional exa.cortex_pb.SectionOverrideConfig additional_instructions_section = 12; + */ + additionalInstructionsSection?: SectionOverrideConfig | undefined; + + /** + * @generated from field: optional exa.cortex_pb.SectionOverrideConfig communication_section = 13; + */ + communicationSection?: SectionOverrideConfig | undefined; +}; + +/** + * Describes the message exa.cortex_pb.CascadeConversationalPlannerConfig. + * Use `create(CascadeConversationalPlannerConfigSchema)` to create a new message. + */ +export const CascadeConversationalPlannerConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 71); + +/** + * @generated from message exa.cortex_pb.SectionOverrideConfig + */ +export type SectionOverrideConfig = Message<"exa.cortex_pb.SectionOverrideConfig"> & { + /** + * @generated from field: optional exa.cortex_pb.SectionOverrideMode mode = 1; + */ + mode?: SectionOverrideMode | undefined; + + /** + * @generated from field: optional string content = 2; + */ + content?: string | undefined; +}; + +/** + * Describes the message exa.cortex_pb.SectionOverrideConfig. + * Use `create(SectionOverrideConfigSchema)` to create a new message. + */ +export const SectionOverrideConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 72); + +/** + * @generated from message exa.cortex_pb.PromptOverrideConfig + */ +export type PromptOverrideConfig = Message<"exa.cortex_pb.PromptOverrideConfig"> & { + /** + * @generated from field: map section_overrides = 1; + */ + sectionOverrides: { [key: string]: string }; + + /** + * @generated from field: repeated string additional_instructions = 2; + */ + additionalInstructions: string[]; +}; + +/** + * Describes the message exa.cortex_pb.PromptOverrideConfig. + * Use `create(PromptOverrideConfigSchema)` to create a new message. + */ +export const PromptOverrideConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 73); + +/** + * @generated from message exa.cortex_pb.CascadeAgenticPlannerManagerConfig + */ +export type CascadeAgenticPlannerManagerConfig = Message<"exa.cortex_pb.CascadeAgenticPlannerManagerConfig"> & { + /** + * @generated from field: optional bool enabled = 1; + */ + enabled?: boolean | undefined; + + /** + * @generated from field: exa.codeium_common_pb.Model model_deprecated = 2 [deprecated = true]; + * @deprecated + */ + modelDeprecated: Model; + + /** + * @generated from field: string model_uid = 5; + */ + modelUid: string; + + /** + * @generated from field: optional bool condense_messages = 3; + */ + condenseMessages?: boolean | undefined; + + /** + * @generated from field: optional bool send_only_user_messages = 4; + */ + sendOnlyUserMessages?: boolean | undefined; +}; + +/** + * Describes the message exa.cortex_pb.CascadeAgenticPlannerManagerConfig. + * Use `create(CascadeAgenticPlannerManagerConfigSchema)` to create a new message. + */ +export const CascadeAgenticPlannerManagerConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 74); + +/** + * @generated from message exa.cortex_pb.CascadeAgenticPlannerApplierConfig + */ +export type CascadeAgenticPlannerApplierConfig = Message<"exa.cortex_pb.CascadeAgenticPlannerApplierConfig"> & { + /** + * @generated from field: optional bool enabled = 1; + */ + enabled?: boolean | undefined; + + /** + * @generated from field: exa.codeium_common_pb.Model model_deprecated = 2 [deprecated = true]; + * @deprecated + */ + modelDeprecated: Model; + + /** + * @generated from field: string model_uid = 5; + */ + modelUid: string; + + /** + * @generated from field: int32 num_rollouts = 3; + */ + numRollouts: number; + + /** + * @generated from field: exa.codeium_common_pb.Model judge_model_deprecated = 4 [deprecated = true]; + * @deprecated + */ + judgeModelDeprecated: Model; + + /** + * @generated from field: string judge_model_uid = 6; + */ + judgeModelUid: string; +}; + +/** + * Describes the message exa.cortex_pb.CascadeAgenticPlannerApplierConfig. + * Use `create(CascadeAgenticPlannerApplierConfigSchema)` to create a new message. + */ +export const CascadeAgenticPlannerApplierConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 75); + +/** + * @generated from message exa.cortex_pb.CascadeAgenticPlannerConfig + */ +export type CascadeAgenticPlannerConfig = Message<"exa.cortex_pb.CascadeAgenticPlannerConfig"> & { + /** + * @generated from field: optional bool enable_feedback_loop = 1; + */ + enableFeedbackLoop?: boolean | undefined; + + /** + * @generated from field: optional bool eval_mode = 2; + */ + evalMode?: boolean | undefined; + + /** + * @generated from field: exa.cortex_pb.CascadeAgentToolSet tool_set = 5; + */ + toolSet: CascadeAgentToolSet; + + /** + * @generated from field: exa.cortex_pb.AgenticMixin mixin = 6; + */ + mixin: AgenticMixin; + + /** + * @generated from field: optional exa.cortex_pb.CascadeAgenticPlannerManagerConfig manager_config = 3; + */ + managerConfig?: CascadeAgenticPlannerManagerConfig | undefined; + + /** + * @generated from field: optional exa.cortex_pb.CascadeAgenticPlannerApplierConfig applier_config = 4; + */ + applierConfig?: CascadeAgenticPlannerApplierConfig | undefined; +}; + +/** + * Describes the message exa.cortex_pb.CascadeAgenticPlannerConfig. + * Use `create(CascadeAgenticPlannerConfigSchema)` to create a new message. + */ +export const CascadeAgenticPlannerConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 76); + +/** + * @generated from message exa.cortex_pb.CascadeResearchPlannerConfig + */ +export type CascadeResearchPlannerConfig = Message<"exa.cortex_pb.CascadeResearchPlannerConfig"> & { + /** + * @generated from field: optional bool add_reference_nodes = 1; + */ + addReferenceNodes?: boolean | undefined; + + /** + * @generated from field: optional bool use_clusters = 2; + */ + useClusters?: boolean | undefined; + + /** + * @generated from field: string cluster_path = 3; + */ + clusterPath: string; +}; + +/** + * Describes the message exa.cortex_pb.CascadeResearchPlannerConfig. + * Use `create(CascadeResearchPlannerConfigSchema)` to create a new message. + */ +export const CascadeResearchPlannerConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 77); + +/** + * @generated from message exa.cortex_pb.MqueryToolConfig + */ +export type MqueryToolConfig = Message<"exa.cortex_pb.MqueryToolConfig"> & { + /** + * @generated from field: exa.codeium_common_pb.MQueryConfig m_query_config = 1; + */ + mQueryConfig?: MQueryConfig | undefined; + + /** + * @generated from field: exa.codeium_common_pb.Model m_query_model = 2; + */ + mQueryModel: Model; + + /** + * @generated from field: uint32 max_tokens_per_m_query = 3; + */ + maxTokensPerMQuery: number; + + /** + * @generated from field: optional int32 num_items_full_source = 4; + */ + numItemsFullSource?: number | undefined; + + /** + * @generated from field: int32 max_lines_per_snippet = 5; + */ + maxLinesPerSnippet: number; + + /** + * @generated from field: optional bool enable_search_in_file_tool = 6; + */ + enableSearchInFileTool?: boolean | undefined; + + /** + * @generated from field: optional bool allow_access_gitignore = 7; + */ + allowAccessGitignore?: boolean | undefined; + + /** + * @generated from field: optional bool disable_semantic_codebase_search = 8; + */ + disableSemanticCodebaseSearch?: boolean | undefined; +}; + +/** + * Describes the message exa.cortex_pb.MqueryToolConfig. + * Use `create(MqueryToolConfigSchema)` to create a new message. + */ +export const MqueryToolConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 78); + +/** + * @generated from message exa.cortex_pb.GrepToolConfig + */ +export type GrepToolConfig = Message<"exa.cortex_pb.GrepToolConfig"> & { + /** + * @generated from field: uint32 max_grep_results = 1 [deprecated = true]; + * @deprecated + */ + maxGrepResults: number; + + /** + * @generated from field: optional bool include_cci_in_result = 2 [deprecated = true]; + * @deprecated + */ + includeCciInResult?: boolean | undefined; + + /** + * @generated from field: uint32 num_full_source_ccis = 3 [deprecated = true]; + * @deprecated + */ + numFullSourceCcis: number; + + /** + * @generated from field: uint32 max_bytes_per_cci = 4 [deprecated = true]; + * @deprecated + */ + maxBytesPerCci: number; + + /** + * @generated from field: exa.cortex_pb.EnterpriseToolConfig enterprise_config = 5; + */ + enterpriseConfig?: EnterpriseToolConfig | undefined; + + /** + * @generated from field: optional bool allow_access_gitignore = 6; + */ + allowAccessGitignore?: boolean | undefined; +}; + +/** + * Describes the message exa.cortex_pb.GrepToolConfig. + * Use `create(GrepToolConfigSchema)` to create a new message. + */ +export const GrepToolConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 79); + +/** + * @generated from message exa.cortex_pb.GrepV2ToolConfig + */ +export type GrepV2ToolConfig = Message<"exa.cortex_pb.GrepV2ToolConfig"> & { + /** + * @generated from field: exa.cortex_pb.EnterpriseToolConfig enterprise_config = 1; + */ + enterpriseConfig?: EnterpriseToolConfig | undefined; + + /** + * @generated from field: optional bool allow_access_gitignore = 2; + */ + allowAccessGitignore?: boolean | undefined; +}; + +/** + * Describes the message exa.cortex_pb.GrepV2ToolConfig. + * Use `create(GrepV2ToolConfigSchema)` to create a new message. + */ +export const GrepV2ToolConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 80); + +/** + * @generated from message exa.cortex_pb.FindToolConfig + */ +export type FindToolConfig = Message<"exa.cortex_pb.FindToolConfig"> & { + /** + * @generated from field: uint32 max_find_results = 1; + */ + maxFindResults: number; + + /** + * @generated from field: string fd_path = 2; + */ + fdPath: string; +}; + +/** + * Describes the message exa.cortex_pb.FindToolConfig. + * Use `create(FindToolConfigSchema)` to create a new message. + */ +export const FindToolConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 81); + +/** + * @generated from message exa.cortex_pb.ClusterQueryToolConfig + */ +export type ClusterQueryToolConfig = Message<"exa.cortex_pb.ClusterQueryToolConfig"> & { + /** + * @generated from field: uint32 max_cluster_query_results = 1; + */ + maxClusterQueryResults: number; +}; + +/** + * Describes the message exa.cortex_pb.ClusterQueryToolConfig. + * Use `create(ClusterQueryToolConfigSchema)` to create a new message. + */ +export const ClusterQueryToolConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 82); + +/** + * @generated from message exa.cortex_pb.InspectClusterToolConfig + */ +export type InspectClusterToolConfig = Message<"exa.cortex_pb.InspectClusterToolConfig"> & { + /** + * @generated from field: uint32 max_tokens_per_inspect_cluster = 1; + */ + maxTokensPerInspectCluster: number; +}; + +/** + * Describes the message exa.cortex_pb.InspectClusterToolConfig. + * Use `create(InspectClusterToolConfigSchema)` to create a new message. + */ +export const InspectClusterToolConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 83); + +/** + * @generated from message exa.cortex_pb.AutoCommandConfig + */ +export type AutoCommandConfig = Message<"exa.cortex_pb.AutoCommandConfig"> & { + /** + * @generated from field: optional bool enable_model_auto_run = 1 [deprecated = true]; + * @deprecated + */ + enableModelAutoRun?: boolean | undefined; + + /** + * @generated from field: repeated string user_allowlist = 2 [deprecated = true]; + * @deprecated + */ + userAllowlist: string[]; + + /** + * @generated from field: repeated string user_denylist = 3 [deprecated = true]; + * @deprecated + */ + userDenylist: string[]; + + /** + * @generated from field: repeated string system_allowlist = 4; + */ + systemAllowlist: string[]; + + /** + * @generated from field: repeated string system_denylist = 5; + */ + systemDenylist: string[]; + + /** + * @generated from field: repeated string system_nooplist = 7; + */ + systemNooplist: string[]; + + /** + * @generated from field: exa.codeium_common_pb.CascadeCommandsAutoExecution auto_execution_policy = 6 [deprecated = true]; + * @deprecated + */ + autoExecutionPolicy: CascadeCommandsAutoExecution; + + /** + * @generated from field: exa.codeium_common_pb.CascadeCommandsAutoExecution max_auto_execution_level = 8; + */ + maxAutoExecutionLevel: CascadeCommandsAutoExecution; + + /** + * @generated from field: exa.codeium_common_pb.CascadeCommandsAutoExecution workflow_auto_execution_policy = 9; + */ + workflowAutoExecutionPolicy: CascadeCommandsAutoExecution; + + /** + * @generated from field: repeated string team_allowlist = 10; + */ + teamAllowlist: string[]; + + /** + * @generated from field: repeated string team_denylist = 11; + */ + teamDenylist: string[]; + + /** + * @generated from field: repeated string cascade_config_allowlist = 12; + */ + cascadeConfigAllowlist: string[]; + + /** + * @generated from field: repeated string cascade_config_denylist = 13; + */ + cascadeConfigDenylist: string[]; +}; + +/** + * Describes the message exa.cortex_pb.AutoCommandConfig. + * Use `create(AutoCommandConfigSchema)` to create a new message. + */ +export const AutoCommandConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 84); + +/** + * @generated from message exa.cortex_pb.AutoWebRequestConfig + */ +export type AutoWebRequestConfig = Message<"exa.cortex_pb.AutoWebRequestConfig"> & { + /** + * @generated from field: repeated string allowlist = 1; + */ + allowlist: string[]; + + /** + * @generated from field: exa.codeium_common_pb.CascadeWebRequestsAutoExecution auto_execution_policy = 2; + */ + autoExecutionPolicy: CascadeWebRequestsAutoExecution; +}; + +/** + * Describes the message exa.cortex_pb.AutoWebRequestConfig. + * Use `create(AutoWebRequestConfigSchema)` to create a new message. + */ +export const AutoWebRequestConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 85); + +/** + * @generated from message exa.cortex_pb.ListDirToolConfig + */ +export type ListDirToolConfig = Message<"exa.cortex_pb.ListDirToolConfig"> & { + /** + * @generated from field: exa.cortex_pb.EnterpriseToolConfig enterprise_config = 1; + */ + enterpriseConfig?: EnterpriseToolConfig | undefined; +}; + +/** + * Describes the message exa.cortex_pb.ListDirToolConfig. + * Use `create(ListDirToolConfigSchema)` to create a new message. + */ +export const ListDirToolConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 86); + +/** + * @generated from message exa.cortex_pb.RunCommandToolConfig + */ +export type RunCommandToolConfig = Message<"exa.cortex_pb.RunCommandToolConfig"> & { + /** + * @generated from field: uint32 max_chars_command_stdout = 1; + */ + maxCharsCommandStdout: number; + + /** + * @generated from field: optional bool force_disable = 2; + */ + forceDisable?: boolean | undefined; + + /** + * @generated from field: exa.cortex_pb.AutoCommandConfig auto_command_config = 3; + */ + autoCommandConfig?: AutoCommandConfig | undefined; + + /** + * @generated from field: optional bool enable_ide_terminal_execution = 4; + */ + enableIdeTerminalExecution?: boolean | undefined; + + /** + * @generated from field: optional bool enable_midterm_output_processor = 8 [deprecated = true]; + * @deprecated + */ + enableMidtermOutputProcessor?: boolean | undefined; + + /** + * @generated from field: string shell_name = 5; + */ + shellName: string; + + /** + * @generated from field: string shell_path = 6; + */ + shellPath: string; + + /** + * @generated from field: uint32 max_timeout_ms = 7; + */ + maxTimeoutMs: number; + + /** + * @generated from field: exa.cortex_pb.EnterpriseToolConfig enterprise_config = 9; + */ + enterpriseConfig?: EnterpriseToolConfig | undefined; + + /** + * @generated from field: optional bool use_bash_v2 = 10; + */ + useBashV2?: boolean | undefined; + + /** + * @generated from field: string shell_integration_failure_reason = 11; + */ + shellIntegrationFailureReason: string; + + /** + * @generated from field: repeated string shell_args = 12; + */ + shellArgs: string[]; +}; + +/** + * Describes the message exa.cortex_pb.RunCommandToolConfig. + * Use `create(RunCommandToolConfigSchema)` to create a new message. + */ +export const RunCommandToolConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 87); + +/** + * @generated from message exa.cortex_pb.KnowledgeBaseSearchToolConfig + */ +export type KnowledgeBaseSearchToolConfig = Message<"exa.cortex_pb.KnowledgeBaseSearchToolConfig"> & { + /** + * @generated from field: uint32 max_tokens_per_knowledge_base_search = 1; + */ + maxTokensPerKnowledgeBaseSearch: number; + + /** + * @generated from field: optional double prompt_fraction = 2; + */ + promptFraction?: number | undefined; +}; + +/** + * Describes the message exa.cortex_pb.KnowledgeBaseSearchToolConfig. + * Use `create(KnowledgeBaseSearchToolConfigSchema)` to create a new message. + */ +export const KnowledgeBaseSearchToolConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 88); + +/** + * @generated from message exa.cortex_pb.FastApplyFallbackConfig + */ +export type FastApplyFallbackConfig = Message<"exa.cortex_pb.FastApplyFallbackConfig"> & { + /** + * @generated from field: bool enabled = 1; + */ + enabled: boolean; + + /** + * @generated from field: uint32 prompt_unchanged_threshold = 2; + */ + promptUnchangedThreshold: number; + + /** + * @generated from field: uint32 content_view_radius_lines = 3; + */ + contentViewRadiusLines: number; + + /** + * @generated from field: uint32 content_edit_radius_lines = 4; + */ + contentEditRadiusLines: number; +}; + +/** + * Describes the message exa.cortex_pb.FastApplyFallbackConfig. + * Use `create(FastApplyFallbackConfigSchema)` to create a new message. + */ +export const FastApplyFallbackConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 89); + +/** + * @generated from message exa.cortex_pb.ReplaceContentToolConfig + */ +export type ReplaceContentToolConfig = Message<"exa.cortex_pb.ReplaceContentToolConfig"> & { + /** + * @generated from field: float max_fuzzy_edit_distance_fraction = 1; + */ + maxFuzzyEditDistanceFraction: number; + + /** + * @generated from field: bool allow_partial_replacement_success = 2; + */ + allowPartialReplacementSuccess: boolean; + + /** + * @generated from field: uint32 view_file_recency_max_distance = 3; + */ + viewFileRecencyMaxDistance: number; + + /** + * @generated from field: bool enable_fuzzy_sandwich_match = 4; + */ + enableFuzzySandwichMatch: boolean; + + /** + * @generated from field: exa.cortex_pb.FastApplyFallbackConfig fast_apply_fallback_config = 5; + */ + fastApplyFallbackConfig?: FastApplyFallbackConfig | undefined; + + /** + * @generated from field: exa.cortex_pb.ReplaceToolVariant tool_variant = 6; + */ + toolVariant: ReplaceToolVariant; + + /** + * @generated from field: exa.cortex_pb.SectionOverrideConfig override_description = 7; + */ + overrideDescription?: SectionOverrideConfig | undefined; + + /** + * @generated from field: optional bool show_triggered_memories = 8; + */ + showTriggeredMemories?: boolean | undefined; + + /** + * @generated from field: optional bool disable_allow_multiple = 9; + */ + disableAllowMultiple?: boolean | undefined; +}; + +/** + * Describes the message exa.cortex_pb.ReplaceContentToolConfig. + * Use `create(ReplaceContentToolConfigSchema)` to create a new message. + */ +export const ReplaceContentToolConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 90); + +/** + * @generated from message exa.cortex_pb.CodeToolConfig + */ +export type CodeToolConfig = Message<"exa.cortex_pb.CodeToolConfig"> & { + /** + * @generated from field: repeated string disable_extensions = 1; + */ + disableExtensions: string[]; + + /** + * @generated from field: optional bool apply_edits = 2; + */ + applyEdits?: boolean | undefined; + + /** + * @generated from field: optional bool use_replace_content_edit_tool = 3; + */ + useReplaceContentEditTool?: boolean | undefined; + + /** + * @generated from field: exa.cortex_pb.ReplaceContentToolConfig replace_content_tool_config = 4; + */ + replaceContentToolConfig?: ReplaceContentToolConfig | undefined; + + /** + * @generated from field: exa.cortex_pb.AutoFixLintsConfig auto_fix_lints_config = 5 [deprecated = true]; + * @deprecated + */ + autoFixLintsConfig?: AutoFixLintsConfig | undefined; + + /** + * @generated from field: optional bool allow_edit_gitignore = 6; + */ + allowEditGitignore?: boolean | undefined; + + /** + * @generated from field: exa.cortex_pb.EnterpriseToolConfig enterprise_config = 7; + */ + enterpriseConfig?: EnterpriseToolConfig | undefined; + + /** + * @generated from field: optional bool override_allow_action_on_unsaved_file = 8; + */ + overrideAllowActionOnUnsavedFile?: boolean | undefined; + + /** + * @generated from field: optional bool skip_replace_content_validation = 9; + */ + skipReplaceContentValidation?: boolean | undefined; + + /** + * @generated from field: optional bool use_replace_content_propose_code = 10; + */ + useReplaceContentProposeCode?: boolean | undefined; + + /** + * @generated from field: optional bool only_show_incremental_diff_zone = 11; + */ + onlyShowIncrementalDiffZone?: boolean | undefined; + + /** + * @generated from field: repeated string file_allowlist = 12; + */ + fileAllowlist: string[]; + + /** + * @generated from field: repeated string dir_allowlist = 17; + */ + dirAllowlist: string[]; + + /** + * @generated from field: repeated string plan_dirs = 19; + */ + planDirs: string[]; + + /** + * @generated from field: optional bool run_proposal_extension_verifier = 14; + */ + runProposalExtensionVerifier?: boolean | undefined; + + /** + * @generated from field: optional bool skip_await_lint_errors = 15; + */ + skipAwaitLintErrors?: boolean | undefined; + + /** + * @generated from field: optional bool allow_edit_rules_files = 18; + */ + allowEditRulesFiles?: boolean | undefined; +}; + +/** + * Describes the message exa.cortex_pb.CodeToolConfig. + * Use `create(CodeToolConfigSchema)` to create a new message. + */ +export const CodeToolConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 91); + +/** + * @generated from message exa.cortex_pb.IntentToolConfig + */ +export type IntentToolConfig = Message<"exa.cortex_pb.IntentToolConfig"> & { + /** + * @generated from field: exa.codeium_common_pb.Model intent_model_deprecated = 1 [deprecated = true]; + * @deprecated + */ + intentModelDeprecated: Model; + + /** + * @generated from field: string intent_model_uid = 3; + */ + intentModelUid: string; + + /** + * @generated from field: uint32 max_context_tokens = 2; + */ + maxContextTokens: number; +}; + +/** + * Describes the message exa.cortex_pb.IntentToolConfig. + * Use `create(IntentToolConfigSchema)` to create a new message. + */ +export const IntentToolConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 92); + +/** + * @generated from message exa.cortex_pb.ViewFileToolConfig + */ +export type ViewFileToolConfig = Message<"exa.cortex_pb.ViewFileToolConfig"> & { + /** + * @generated from field: uint32 max_tokens_per_outline = 1; + */ + maxTokensPerOutline: number; + + /** + * @generated from field: float max_doc_lines_fraction = 2; + */ + maxDocLinesFraction: number; + + /** + * @generated from field: optional bool allow_doc_outline = 4; + */ + allowDocOutline?: boolean | undefined; + + /** + * @generated from field: optional bool use_line_numbers_for_raw = 5; + */ + useLineNumbersForRaw?: boolean | undefined; + + /** + * @generated from field: optional bool use_prompt_prefix = 6; + */ + usePromptPrefix?: boolean | undefined; + + /** + * @generated from field: optional bool allow_view_gitignore = 7; + */ + allowViewGitignore?: boolean | undefined; + + /** + * @generated from field: optional bool split_outline_tool = 8 [deprecated = true]; + * @deprecated + */ + splitOutlineTool?: boolean | undefined; + + /** + * @generated from field: uint32 max_total_outline_bytes = 9; + */ + maxTotalOutlineBytes: number; + + /** + * @generated from field: uint32 max_bytes_per_outline_item = 11; + */ + maxBytesPerOutlineItem: number; + + /** + * @generated from field: optional uint32 show_full_file_bytes = 10; + */ + showFullFileBytes?: number | undefined; + + /** + * @generated from field: optional bool show_triggered_memories = 13; + */ + showTriggeredMemories?: boolean | undefined; + + /** + * @generated from field: exa.cortex_pb.EnterpriseToolConfig enterprise_config = 12; + */ + enterpriseConfig?: EnterpriseToolConfig | undefined; + + /** + * @generated from field: optional uint32 max_lines_per_view = 14; + */ + maxLinesPerView?: number | undefined; + + /** + * @generated from field: optional bool use_view_file_v2 = 15; + */ + useViewFileV2?: boolean | undefined; +}; + +/** + * Describes the message exa.cortex_pb.ViewFileToolConfig. + * Use `create(ViewFileToolConfigSchema)` to create a new message. + */ +export const ViewFileToolConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 93); + +/** + * @generated from message exa.cortex_pb.SuggestedResponseConfig + */ +export type SuggestedResponseConfig = Message<"exa.cortex_pb.SuggestedResponseConfig"> & { + /** + * @generated from field: optional bool force_disable = 1; + */ + forceDisable?: boolean | undefined; +}; + +/** + * Describes the message exa.cortex_pb.SuggestedResponseConfig. + * Use `create(SuggestedResponseConfigSchema)` to create a new message. + */ +export const SuggestedResponseConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 94); + +/** + * @generated from message exa.cortex_pb.SearchWebToolConfig + */ +export type SearchWebToolConfig = Message<"exa.cortex_pb.SearchWebToolConfig"> & { + /** + * @generated from field: optional bool force_disable = 1; + */ + forceDisable?: boolean | undefined; + + /** + * @generated from field: optional exa.codeium_common_pb.ThirdPartyWebSearchConfig third_party_config = 2; + */ + thirdPartyConfig?: ThirdPartyWebSearchConfig | undefined; +}; + +/** + * Describes the message exa.cortex_pb.SearchWebToolConfig. + * Use `create(SearchWebToolConfigSchema)` to create a new message. + */ +export const SearchWebToolConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 95); + +/** + * @generated from message exa.cortex_pb.ReadUrlContentToolConfig + */ +export type ReadUrlContentToolConfig = Message<"exa.cortex_pb.ReadUrlContentToolConfig"> & { + /** + * @generated from field: optional bool force_disable = 1; + */ + forceDisable?: boolean | undefined; + + /** + * @generated from field: exa.cortex_pb.AutoWebRequestConfig auto_web_request_config = 2; + */ + autoWebRequestConfig?: AutoWebRequestConfig | undefined; +}; + +/** + * Describes the message exa.cortex_pb.ReadUrlContentToolConfig. + * Use `create(ReadUrlContentToolConfigSchema)` to create a new message. + */ +export const ReadUrlContentToolConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 96); + +/** + * @generated from message exa.cortex_pb.MemoryToolConfig + */ +export type MemoryToolConfig = Message<"exa.cortex_pb.MemoryToolConfig"> & { + /** + * @generated from field: optional bool force_disable = 1; + */ + forceDisable?: boolean | undefined; + + /** + * @generated from field: optional bool disable_auto_generate_memories = 2; + */ + disableAutoGenerateMemories?: boolean | undefined; + + /** + * @generated from field: optional bool disable_write = 3; + */ + disableWrite?: boolean | undefined; +}; + +/** + * Describes the message exa.cortex_pb.MemoryToolConfig. + * Use `create(MemoryToolConfigSchema)` to create a new message. + */ +export const MemoryToolConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 97); + +/** + * @generated from message exa.cortex_pb.McpToolConfig + */ +export type McpToolConfig = Message<"exa.cortex_pb.McpToolConfig"> & { + /** + * @generated from field: optional bool force_disable = 1; + */ + forceDisable?: boolean | undefined; + + /** + * @generated from field: uint32 max_output_bytes = 2; + */ + maxOutputBytes: number; +}; + +/** + * Describes the message exa.cortex_pb.McpToolConfig. + * Use `create(McpToolConfigSchema)` to create a new message. + */ +export const McpToolConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 98); + +/** + * @generated from message exa.cortex_pb.AutoFixLintsConfig + */ +export type AutoFixLintsConfig = Message<"exa.cortex_pb.AutoFixLintsConfig"> & { + /** + * @generated from field: optional bool enabled = 1; + */ + enabled?: boolean | undefined; + + /** + * @generated from field: optional string notifying_prompt = 2; + */ + notifyingPrompt?: string | undefined; +}; + +/** + * Describes the message exa.cortex_pb.AutoFixLintsConfig. + * Use `create(AutoFixLintsConfigSchema)` to create a new message. + */ +export const AutoFixLintsConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 99); + +/** + * @generated from message exa.cortex_pb.ProxyWebServerToolConfig + */ +export type ProxyWebServerToolConfig = Message<"exa.cortex_pb.ProxyWebServerToolConfig"> & { + /** + * @generated from field: optional bool force_disable = 1; + */ + forceDisable?: boolean | undefined; +}; + +/** + * Describes the message exa.cortex_pb.ProxyWebServerToolConfig. + * Use `create(ProxyWebServerToolConfigSchema)` to create a new message. + */ +export const ProxyWebServerToolConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 100); + +/** + * @generated from message exa.cortex_pb.DeployWebAppToolConfig + */ +export type DeployWebAppToolConfig = Message<"exa.cortex_pb.DeployWebAppToolConfig"> & { + /** + * @generated from field: optional bool enabled = 1; + */ + enabled?: boolean | undefined; +}; + +/** + * Describes the message exa.cortex_pb.DeployWebAppToolConfig. + * Use `create(DeployWebAppToolConfigSchema)` to create a new message. + */ +export const DeployWebAppToolConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 101); + +/** + * @generated from message exa.cortex_pb.TrajectorySearchToolConfig + */ +export type TrajectorySearchToolConfig = Message<"exa.cortex_pb.TrajectorySearchToolConfig"> & { + /** + * @generated from field: optional bool force_disable = 1; + */ + forceDisable?: boolean | undefined; + + /** + * @generated from field: optional bool conversations_enabled = 2; + */ + conversationsEnabled?: boolean | undefined; + + /** + * @generated from field: optional bool user_activities_enabled = 3; + */ + userActivitiesEnabled?: boolean | undefined; + + /** + * @generated from field: uint32 max_scored_chunks = 4; + */ + maxScoredChunks: number; +}; + +/** + * Describes the message exa.cortex_pb.TrajectorySearchToolConfig. + * Use `create(TrajectorySearchToolConfigSchema)` to create a new message. + */ +export const TrajectorySearchToolConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 102); + +/** + * @generated from message exa.cortex_pb.EnterpriseToolConfig + */ +export type EnterpriseToolConfig = Message<"exa.cortex_pb.EnterpriseToolConfig"> & { + /** + * @generated from field: optional bool enforce_workspace_validation = 1; + */ + enforceWorkspaceValidation?: boolean | undefined; + + /** + * @generated from field: repeated string custom_workspace = 2; + */ + customWorkspace: string[]; +}; + +/** + * Describes the message exa.cortex_pb.EnterpriseToolConfig. + * Use `create(EnterpriseToolConfigSchema)` to create a new message. + */ +export const EnterpriseToolConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 103); + +/** + * @generated from message exa.cortex_pb.ViewCodeItemToolConfig + */ +export type ViewCodeItemToolConfig = Message<"exa.cortex_pb.ViewCodeItemToolConfig"> & { + /** + * @generated from field: optional uint32 max_num_items = 1; + */ + maxNumItems?: number | undefined; + + /** + * @generated from field: optional uint32 max_bytes_per_item = 2; + */ + maxBytesPerItem?: number | undefined; + + /** + * @generated from field: optional bool allow_access_gitignore = 3; + */ + allowAccessGitignore?: boolean | undefined; +}; + +/** + * Describes the message exa.cortex_pb.ViewCodeItemToolConfig. + * Use `create(ViewCodeItemToolConfigSchema)` to create a new message. + */ +export const ViewCodeItemToolConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 104); + +/** + * @generated from message exa.cortex_pb.CommandStatusToolConfig + */ +export type CommandStatusToolConfig = Message<"exa.cortex_pb.CommandStatusToolConfig"> & { + /** + * @generated from field: optional bool use_delta = 1; + */ + useDelta?: boolean | undefined; +}; + +/** + * Describes the message exa.cortex_pb.CommandStatusToolConfig. + * Use `create(CommandStatusToolConfigSchema)` to create a new message. + */ +export const CommandStatusToolConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 105); + +/** + * @generated from message exa.cortex_pb.ReadKnowledgeBaseItemToolConfig + */ +export type ReadKnowledgeBaseItemToolConfig = Message<"exa.cortex_pb.ReadKnowledgeBaseItemToolConfig"> & { + /** + * @generated from field: optional bool enabled = 1; + */ + enabled?: boolean | undefined; + + /** + * @generated from field: repeated exa.codeium_common_pb.KnowledgeBaseItem knowledge_base_items = 2; + */ + knowledgeBaseItems: KnowledgeBaseItem[]; +}; + +/** + * Describes the message exa.cortex_pb.ReadKnowledgeBaseItemToolConfig. + * Use `create(ReadKnowledgeBaseItemToolConfigSchema)` to create a new message. + */ +export const ReadKnowledgeBaseItemToolConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 106); + +/** + * @generated from message exa.cortex_pb.ToolDescriptionOverrideMap + */ +export type ToolDescriptionOverrideMap = Message<"exa.cortex_pb.ToolDescriptionOverrideMap"> & { + /** + * @generated from field: map descriptions = 1; + */ + descriptions: { [key: string]: SectionOverrideConfig }; +}; + +/** + * Describes the message exa.cortex_pb.ToolDescriptionOverrideMap. + * Use `create(ToolDescriptionOverrideMapSchema)` to create a new message. + */ +export const ToolDescriptionOverrideMapSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 107); + +/** + * @generated from message exa.cortex_pb.AutoCascadeBroadcastToolConfig + */ +export type AutoCascadeBroadcastToolConfig = Message<"exa.cortex_pb.AutoCascadeBroadcastToolConfig"> & { + /** + * @generated from field: optional bool force_disable = 1; + */ + forceDisable?: boolean | undefined; +}; + +/** + * Describes the message exa.cortex_pb.AutoCascadeBroadcastToolConfig. + * Use `create(AutoCascadeBroadcastToolConfigSchema)` to create a new message. + */ +export const AutoCascadeBroadcastToolConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 108); + +/** + * @generated from message exa.cortex_pb.NotebookToolConfig + */ +export type NotebookToolConfig = Message<"exa.cortex_pb.NotebookToolConfig"> & { + /** + * @generated from field: optional bool enabled = 1; + */ + enabled?: boolean | undefined; +}; + +/** + * Describes the message exa.cortex_pb.NotebookToolConfig. + * Use `create(NotebookToolConfigSchema)` to create a new message. + */ +export const NotebookToolConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 109); + +/** + * @generated from message exa.cortex_pb.FindCodeContextToolConfig + */ +export type FindCodeContextToolConfig = Message<"exa.cortex_pb.FindCodeContextToolConfig"> & { + /** + * @generated from field: optional bool force_disable = 1; + */ + forceDisable?: boolean | undefined; +}; + +/** + * Describes the message exa.cortex_pb.FindCodeContextToolConfig. + * Use `create(FindCodeContextToolConfigSchema)` to create a new message. + */ +export const FindCodeContextToolConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 110); + +/** + * @generated from message exa.cortex_pb.SmartFriendToolConfig + */ +export type SmartFriendToolConfig = Message<"exa.cortex_pb.SmartFriendToolConfig"> & { + /** + * @generated from field: string smart_friend_model_uid = 2; + */ + smartFriendModelUid: string; +}; + +/** + * Describes the message exa.cortex_pb.SmartFriendToolConfig. + * Use `create(SmartFriendToolConfigSchema)` to create a new message. + */ +export const SmartFriendToolConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 111); + +/** + * @generated from message exa.cortex_pb.AskUserQuestionToolConfig + */ +export type AskUserQuestionToolConfig = Message<"exa.cortex_pb.AskUserQuestionToolConfig"> & { + /** + * @generated from field: optional bool enabled = 1; + */ + enabled?: boolean | undefined; +}; + +/** + * Describes the message exa.cortex_pb.AskUserQuestionToolConfig. + * Use `create(AskUserQuestionToolConfigSchema)` to create a new message. + */ +export const AskUserQuestionToolConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 112); + +/** + * @generated from message exa.cortex_pb.ExitPlanModeToolConfig + */ +export type ExitPlanModeToolConfig = Message<"exa.cortex_pb.ExitPlanModeToolConfig"> & { + /** + * @generated from field: optional bool enabled = 1; + */ + enabled?: boolean | undefined; +}; + +/** + * Describes the message exa.cortex_pb.ExitPlanModeToolConfig. + * Use `create(ExitPlanModeToolConfigSchema)` to create a new message. + */ +export const ExitPlanModeToolConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 113); + +/** + * @generated from message exa.cortex_pb.TaskSubagentToolConfig + */ +export type TaskSubagentToolConfig = Message<"exa.cortex_pb.TaskSubagentToolConfig"> & { + /** + * @generated from field: optional bool enabled = 1; + */ + enabled?: boolean | undefined; +}; + +/** + * Describes the message exa.cortex_pb.TaskSubagentToolConfig. + * Use `create(TaskSubagentToolConfigSchema)` to create a new message. + */ +export const TaskSubagentToolConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 114); + +/** + * @generated from message exa.cortex_pb.CascadeToolConfig + */ +export type CascadeToolConfig = Message<"exa.cortex_pb.CascadeToolConfig"> & { + /** + * @generated from field: exa.cortex_pb.MqueryToolConfig mquery = 1; + */ + mquery?: MqueryToolConfig | undefined; + + /** + * @generated from field: exa.cortex_pb.CodeToolConfig code = 2; + */ + code?: CodeToolConfig | undefined; + + /** + * @generated from field: exa.cortex_pb.IntentToolConfig intent = 3; + */ + intent?: IntentToolConfig | undefined; + + /** + * @generated from field: exa.cortex_pb.GrepToolConfig grep = 4; + */ + grep?: GrepToolConfig | undefined; + + /** + * @generated from field: exa.cortex_pb.FindToolConfig find = 5; + */ + find?: FindToolConfig | undefined; + + /** + * @generated from field: exa.cortex_pb.ClusterQueryToolConfig cluster_query = 6; + */ + clusterQuery?: ClusterQueryToolConfig | undefined; + + /** + * @generated from field: exa.cortex_pb.InspectClusterToolConfig inspect_cluster = 7; + */ + inspectCluster?: InspectClusterToolConfig | undefined; + + /** + * @generated from field: exa.cortex_pb.RunCommandToolConfig run_command = 8; + */ + runCommand?: RunCommandToolConfig | undefined; + + /** + * @generated from field: exa.cortex_pb.KnowledgeBaseSearchToolConfig knowledge_base_search = 9; + */ + knowledgeBaseSearch?: KnowledgeBaseSearchToolConfig | undefined; + + /** + * @generated from field: exa.cortex_pb.ViewFileToolConfig view_file = 10; + */ + viewFile?: ViewFileToolConfig | undefined; + + /** + * @generated from field: exa.cortex_pb.SuggestedResponseConfig suggested_response = 11; + */ + suggestedResponse?: SuggestedResponseConfig | undefined; + + /** + * @generated from field: exa.cortex_pb.SearchWebToolConfig search_web = 13; + */ + searchWeb?: SearchWebToolConfig | undefined; + + /** + * @generated from field: exa.cortex_pb.ReadUrlContentToolConfig read_url_content = 37; + */ + readUrlContent?: ReadUrlContentToolConfig | undefined; + + /** + * @generated from field: exa.cortex_pb.MemoryToolConfig memory = 14; + */ + memory?: MemoryToolConfig | undefined; + + /** + * @generated from field: exa.cortex_pb.McpToolConfig mcp = 16; + */ + mcp?: McpToolConfig | undefined; + + /** + * @generated from field: exa.cortex_pb.ProxyWebServerToolConfig proxy_web_server = 17; + */ + proxyWebServer?: ProxyWebServerToolConfig | undefined; + + /** + * @generated from field: exa.cortex_pb.DeployWebAppToolConfig deploy_web_app = 18; + */ + deployWebApp?: DeployWebAppToolConfig | undefined; + + /** + * @generated from field: exa.cortex_pb.ListDirToolConfig list_dir = 19; + */ + listDir?: ListDirToolConfig | undefined; + + /** + * @generated from field: exa.cortex_pb.ViewCodeItemToolConfig view_code_item = 20; + */ + viewCodeItem?: ViewCodeItemToolConfig | undefined; + + /** + * @generated from field: exa.cortex_pb.ReadKnowledgeBaseItemToolConfig read_knowledge_base_item = 21; + */ + readKnowledgeBaseItem?: ReadKnowledgeBaseItemToolConfig | undefined; + + /** + * @generated from field: exa.cortex_pb.CommandStatusToolConfig command_status = 23; + */ + commandStatus?: CommandStatusToolConfig | undefined; + + /** + * @generated from field: exa.cortex_pb.FindAllReferencesConfig find_all_references = 24; + */ + findAllReferences?: FindAllReferencesConfig | undefined; + + /** + * @generated from field: exa.cortex_pb.RunExtensionCodeConfig run_extension_code = 26; + */ + runExtensionCode?: RunExtensionCodeConfig | undefined; + + /** + * @generated from field: exa.cortex_pb.AddAnnotationConfig add_annotation = 27; + */ + addAnnotation?: AddAnnotationConfig | undefined; + + /** + * @generated from field: exa.cortex_pb.TrajectorySearchToolConfig trajectory_search = 28; + */ + trajectorySearch?: TrajectorySearchToolConfig | undefined; + + /** + * @generated from field: exa.cortex_pb.GrepV2ToolConfig grep_v2 = 33; + */ + grepV2?: GrepV2ToolConfig | undefined; + + /** + * @generated from field: exa.cortex_pb.ToolDescriptionOverrideMap description_override_map = 22; + */ + descriptionOverrideMap?: ToolDescriptionOverrideMap | undefined; + + /** + * @generated from field: optional bool disable_simple_research_tools = 29; + */ + disableSimpleResearchTools?: boolean | undefined; + + /** + * @generated from field: exa.cortex_pb.AutoCascadeBroadcastToolConfig auto_cascade_broadcast = 30; + */ + autoCascadeBroadcast?: AutoCascadeBroadcastToolConfig | undefined; + + /** + * @generated from field: exa.cortex_pb.NotebookToolConfig notebook = 31; + */ + notebook?: NotebookToolConfig | undefined; + + /** + * @generated from field: exa.cortex_pb.FindCodeContextToolConfig find_code_context = 34; + */ + findCodeContext?: FindCodeContextToolConfig | undefined; + + /** + * @generated from field: exa.cortex_pb.SmartFriendToolConfig smart_friend = 35; + */ + smartFriend?: SmartFriendToolConfig | undefined; + + /** + * @generated from field: exa.cortex_pb.ExitPlanModeToolConfig exit_plan_mode = 38; + */ + exitPlanMode?: ExitPlanModeToolConfig | undefined; + + /** + * @generated from field: exa.cortex_pb.AskUserQuestionToolConfig ask_user_question = 39; + */ + askUserQuestion?: AskUserQuestionToolConfig | undefined; + + /** + * @generated from field: exa.cortex_pb.TaskSubagentToolConfig task_subagent = 40; + */ + taskSubagent?: TaskSubagentToolConfig | undefined; + + /** + * @generated from field: repeated string tool_allowlist = 32; + */ + toolAllowlist: string[]; +}; + +/** + * Describes the message exa.cortex_pb.CascadeToolConfig. + * Use `create(CascadeToolConfigSchema)` to create a new message. + */ +export const CascadeToolConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 115); + +/** + * @generated from message exa.cortex_pb.CascadePassivePlannerConfig + */ +export type CascadePassivePlannerConfig = Message<"exa.cortex_pb.CascadePassivePlannerConfig"> & { + /** + * @generated from field: optional bool read_only = 1; + */ + readOnly?: boolean | undefined; +}; + +/** + * Describes the message exa.cortex_pb.CascadePassivePlannerConfig. + * Use `create(CascadePassivePlannerConfigSchema)` to create a new message. + */ +export const CascadePassivePlannerConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 116); + +/** + * @generated from message exa.cortex_pb.CascadeSummarizerConfig + */ +export type CascadeSummarizerConfig = Message<"exa.cortex_pb.CascadeSummarizerConfig"> & { + /** + * @generated from field: bool enabled = 1; + */ + enabled: boolean; +}; + +/** + * Describes the message exa.cortex_pb.CascadeSummarizerConfig. + * Use `create(CascadeSummarizerConfigSchema)` to create a new message. + */ +export const CascadeSummarizerConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 117); + +/** + * @generated from message exa.cortex_pb.CascadeAgentV2PlannerConfig + */ +export type CascadeAgentV2PlannerConfig = Message<"exa.cortex_pb.CascadeAgentV2PlannerConfig"> & { + /** + * @generated from field: exa.cortex_pb.CascadeSummarizerConfig summarizer_config = 1; + */ + summarizerConfig?: CascadeSummarizerConfig | undefined; +}; + +/** + * Describes the message exa.cortex_pb.CascadeAgentV2PlannerConfig. + * Use `create(CascadeAgentV2PlannerConfigSchema)` to create a new message. + */ +export const CascadeAgentV2PlannerConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 118); + +/** + * @generated from message exa.cortex_pb.CascadeConversationalV2PlannerConfig + */ +export type CascadeConversationalV2PlannerConfig = Message<"exa.cortex_pb.CascadeConversationalV2PlannerConfig"> & { + /** + * @generated from field: exa.codeium_common_pb.ConversationalPlannerMode planner_mode = 1; + */ + plannerMode: ConversationalPlannerMode; + + /** + * @generated from field: optional bool use_clusters = 2; + */ + useClusters?: boolean | undefined; + + /** + * @generated from field: string cluster_path = 3; + */ + clusterPath: string; + + /** + * @generated from field: optional bool eval_mode = 4; + */ + evalMode?: boolean | undefined; +}; + +/** + * Describes the message exa.cortex_pb.CascadeConversationalV2PlannerConfig. + * Use `create(CascadeConversationalV2PlannerConfigSchema)` to create a new message. + */ +export const CascadeConversationalV2PlannerConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 119); + +/** + * @generated from message exa.cortex_pb.CascadeCodemapPlannerConfig + */ +export type CascadeCodemapPlannerConfig = Message<"exa.cortex_pb.CascadeCodemapPlannerConfig"> & { +}; + +/** + * Describes the message exa.cortex_pb.CascadeCodemapPlannerConfig. + * Use `create(CascadeCodemapPlannerConfigSchema)` to create a new message. + */ +export const CascadeCodemapPlannerConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 120); + +/** + * @generated from message exa.cortex_pb.CascadeLifeguardPlannerConfig + */ +export type CascadeLifeguardPlannerConfig = Message<"exa.cortex_pb.CascadeLifeguardPlannerConfig"> & { + /** + * @generated from field: string agent_version = 1; + */ + agentVersion: string; +}; + +/** + * Describes the message exa.cortex_pb.CascadeLifeguardPlannerConfig. + * Use `create(CascadeLifeguardPlannerConfigSchema)` to create a new message. + */ +export const CascadeLifeguardPlannerConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 121); + +/** + * @generated from message exa.cortex_pb.CascadePlannerConfig + */ +export type CascadePlannerConfig = Message<"exa.cortex_pb.CascadePlannerConfig"> & { + /** + * @generated from oneof exa.cortex_pb.CascadePlannerConfig.planner_type_config + */ + plannerTypeConfig: { + /** + * @generated from field: exa.cortex_pb.CascadeConversationalPlannerConfig conversational = 2; + */ + value: CascadeConversationalPlannerConfig; + case: "conversational"; + } | { + /** + * @generated from field: exa.cortex_pb.CascadeConversationalV2PlannerConfig conversational_v2 = 27 [deprecated = true]; + * @deprecated + */ + value: CascadeConversationalV2PlannerConfig; + case: "conversationalV2"; + } | { + /** + * @generated from field: exa.cortex_pb.CascadeAgenticPlannerConfig agentic = 3; + */ + value: CascadeAgenticPlannerConfig; + case: "agentic"; + } | { + /** + * @generated from field: exa.cortex_pb.CascadeResearchPlannerConfig research = 10; + */ + value: CascadeResearchPlannerConfig; + case: "research"; + } | { + /** + * @generated from field: exa.cortex_pb.CascadePassivePlannerConfig passive = 22; + */ + value: CascadePassivePlannerConfig; + case: "passive"; + } | { + /** + * @generated from field: exa.cortex_pb.CascadeAgentV2PlannerConfig agent_v2 = 24 [deprecated = true]; + * @deprecated + */ + value: CascadeAgentV2PlannerConfig; + case: "agentV2"; + } | { + /** + * @generated from field: exa.cortex_pb.CascadeCodemapPlannerConfig codemap = 29; + */ + value: CascadeCodemapPlannerConfig; + case: "codemap"; + } | { + /** + * @generated from field: exa.cortex_pb.CascadeLifeguardPlannerConfig lifeguard = 33; + */ + value: CascadeLifeguardPlannerConfig; + case: "lifeguard"; + } | { case: undefined; value?: undefined }; + + /** + * @generated from field: exa.cortex_pb.CascadeToolConfig tool_config = 13; + */ + toolConfig?: CascadeToolConfig | undefined; + + /** + * @generated from field: exa.codeium_common_pb.Model plan_model_deprecated = 1 [deprecated = true]; + * @deprecated + */ + planModelDeprecated: Model; + + /** + * @generated from field: exa.codeium_common_pb.ModelOrAlias requested_model_deprecated = 15 [deprecated = true]; + * @deprecated + */ + requestedModelDeprecated?: ModelOrAlias | undefined; + + /** + * @generated from field: string plan_model_uid = 34; + */ + planModelUid: string; + + /** + * @generated from field: string requested_model_uid = 35; + */ + requestedModelUid: string; + + /** + * @generated from field: uint32 max_iterations = 4; + */ + maxIterations: number; + + /** + * @generated from field: uint32 max_step_parse_retries = 5; + */ + maxStepParseRetries: number; + + /** + * @generated from field: uint32 max_output_tokens = 6; + */ + maxOutputTokens: number; + + /** + * @generated from field: optional bool no_tool_explanation = 7; + */ + noToolExplanation?: boolean | undefined; + + /** + * @generated from field: optional bool allow_pending_steps = 11; + */ + allowPendingSteps?: boolean | undefined; + + /** + * @generated from field: optional bool forbid_tool_use_on_last_retry = 12; + */ + forbidToolUseOnLastRetry?: boolean | undefined; + + /** + * @generated from field: int32 truncation_threshold_tokens = 14; + */ + truncationThresholdTokens: number; + + /** + * @generated from field: optional bool include_ephemeral_message = 20 [deprecated = true]; + * @deprecated + */ + includeEphemeralMessage?: boolean | undefined; + + /** + * @generated from field: exa.cortex_pb.EphemeralMessagesConfig ephemeral_messages_config = 21; + */ + ephemeralMessagesConfig?: EphemeralMessagesConfig | undefined; + + /** + * @generated from field: bool run_as_proposer = 23; + */ + runAsProposer: boolean; + + /** + * @generated from field: bool show_all_errors = 25; + */ + showAllErrors: boolean; + + /** + * @generated from field: bool is_vibe_and_replace = 28; + */ + isVibeAndReplace: boolean; + + /** + * @generated from field: exa.cortex_pb.PromptOverrideConfig prompt_override = 30; + */ + promptOverride?: PromptOverrideConfig | undefined; + + /** + * @generated from field: repeated string retry_on_response_content = 32; + */ + retryOnResponseContent: string[]; +}; + +/** + * Describes the message exa.cortex_pb.CascadePlannerConfig. + * Use `create(CascadePlannerConfigSchema)` to create a new message. + */ +export const CascadePlannerConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 122); + +/** + * @generated from message exa.cortex_pb.BaseTrajectoryIdentifier + */ +export type BaseTrajectoryIdentifier = Message<"exa.cortex_pb.BaseTrajectoryIdentifier"> & { + /** + * @generated from oneof exa.cortex_pb.BaseTrajectoryIdentifier.identifier + */ + identifier: { + /** + * @generated from field: string cascade_id = 1; + */ + value: string; + case: "cascadeId"; + } | { + /** + * @generated from field: string implicit_trajectory_file_uri = 2; + */ + value: string; + case: "implicitTrajectoryFileUri"; + } | { + /** + * @generated from field: bool last_active_doc = 3; + */ + value: boolean; + case: "lastActiveDoc"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexTrajectory trajectory = 4; + */ + value: CortexTrajectory; + case: "trajectory"; + } | { case: undefined; value?: undefined }; +}; + +/** + * Describes the message exa.cortex_pb.BaseTrajectoryIdentifier. + * Use `create(BaseTrajectoryIdentifierSchema)` to create a new message. + */ +export const BaseTrajectoryIdentifierSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 123); + +/** + * @generated from message exa.cortex_pb.DeploymentInteractionPayload + */ +export type DeploymentInteractionPayload = Message<"exa.cortex_pb.DeploymentInteractionPayload"> & { + /** + * @generated from field: string subdomain = 1; + */ + subdomain: string; +}; + +/** + * Describes the message exa.cortex_pb.DeploymentInteractionPayload. + * Use `create(DeploymentInteractionPayloadSchema)` to create a new message. + */ +export const DeploymentInteractionPayloadSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 124); + +/** + * @generated from message exa.cortex_pb.CascadeDeployInteraction + */ +export type CascadeDeployInteraction = Message<"exa.cortex_pb.CascadeDeployInteraction"> & { + /** + * @generated from field: bool cancel = 1; + */ + cancel: boolean; + + /** + * @generated from field: exa.codeium_common_pb.DeployTarget deploy_target = 2; + */ + deployTarget?: DeployTarget | undefined; + + /** + * @generated from field: string subdomain = 3; + */ + subdomain: string; +}; + +/** + * Describes the message exa.cortex_pb.CascadeDeployInteraction. + * Use `create(CascadeDeployInteractionSchema)` to create a new message. + */ +export const CascadeDeployInteractionSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 125); + +/** + * @generated from message exa.cortex_pb.CascadeRunCommandInteraction + */ +export type CascadeRunCommandInteraction = Message<"exa.cortex_pb.CascadeRunCommandInteraction"> & { + /** + * @generated from field: bool confirm = 1 [deprecated = true]; + * @deprecated + */ + confirm: boolean; + + /** + * @generated from field: exa.cortex_pb.RunCommandAction action = 4; + */ + action: RunCommandAction; + + /** + * @generated from field: string proposed_command_line = 2; + */ + proposedCommandLine: string; + + /** + * @generated from field: string submitted_command_line = 3; + */ + submittedCommandLine: string; +}; + +/** + * Describes the message exa.cortex_pb.CascadeRunCommandInteraction. + * Use `create(CascadeRunCommandInteractionSchema)` to create a new message. + */ +export const CascadeRunCommandInteractionSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 126); + +/** + * @generated from message exa.cortex_pb.CascadeReadUrlContentInteraction + */ +export type CascadeReadUrlContentInteraction = Message<"exa.cortex_pb.CascadeReadUrlContentInteraction"> & { + /** + * @generated from field: exa.cortex_pb.ReadUrlContentAction action = 1; + */ + action: ReadUrlContentAction; + + /** + * @generated from field: string url = 2; + */ + url: string; + + /** + * @generated from field: string origin = 3; + */ + origin: string; +}; + +/** + * Describes the message exa.cortex_pb.CascadeReadUrlContentInteraction. + * Use `create(CascadeReadUrlContentInteractionSchema)` to create a new message. + */ +export const CascadeReadUrlContentInteractionSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 127); + +/** + * @generated from message exa.cortex_pb.CascadeRunExtensionCodeInteraction + */ +export type CascadeRunExtensionCodeInteraction = Message<"exa.cortex_pb.CascadeRunExtensionCodeInteraction"> & { + /** + * @generated from field: bool confirm = 1; + */ + confirm: boolean; +}; + +/** + * Describes the message exa.cortex_pb.CascadeRunExtensionCodeInteraction. + * Use `create(CascadeRunExtensionCodeInteractionSchema)` to create a new message. + */ +export const CascadeRunExtensionCodeInteractionSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 128); + +/** + * @generated from message exa.cortex_pb.CascadeTaskResolutionInteraction + */ +export type CascadeTaskResolutionInteraction = Message<"exa.cortex_pb.CascadeTaskResolutionInteraction"> & { + /** + * @generated from field: bool confirm = 1; + */ + confirm: boolean; + + /** + * @generated from field: exa.cortex_pb.TaskResolution resolution = 2; + */ + resolution?: TaskResolution | undefined; +}; + +/** + * Describes the message exa.cortex_pb.CascadeTaskResolutionInteraction. + * Use `create(CascadeTaskResolutionInteractionSchema)` to create a new message. + */ +export const CascadeTaskResolutionInteractionSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 129); + +/** + * @generated from message exa.cortex_pb.CascadeUpsertCodemapInteraction + */ +export type CascadeUpsertCodemapInteraction = Message<"exa.cortex_pb.CascadeUpsertCodemapInteraction"> & { + /** + * @generated from field: bool confirm = 1; + */ + confirm: boolean; +}; + +/** + * Describes the message exa.cortex_pb.CascadeUpsertCodemapInteraction. + * Use `create(CascadeUpsertCodemapInteractionSchema)` to create a new message. + */ +export const CascadeUpsertCodemapInteractionSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 130); + +/** + * @generated from message exa.cortex_pb.CascadeAskUserQuestionInteraction + */ +export type CascadeAskUserQuestionInteraction = Message<"exa.cortex_pb.CascadeAskUserQuestionInteraction"> & { + /** + * @generated from field: exa.cortex_pb.CortexStepAskUserQuestion.Response response = 1; + */ + response?: CortexStepAskUserQuestion_Response | undefined; +}; + +/** + * Describes the message exa.cortex_pb.CascadeAskUserQuestionInteraction. + * Use `create(CascadeAskUserQuestionInteractionSchema)` to create a new message. + */ +export const CascadeAskUserQuestionInteractionSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 131); + +/** + * @generated from message exa.cortex_pb.CascadeDeployInteractionSpec + */ +export type CascadeDeployInteractionSpec = Message<"exa.cortex_pb.CascadeDeployInteractionSpec"> & { + /** + * @generated from field: repeated exa.codeium_common_pb.DeployTarget deploy_target_options = 1; + */ + deployTargetOptions: DeployTarget[]; +}; + +/** + * Describes the message exa.cortex_pb.CascadeDeployInteractionSpec. + * Use `create(CascadeDeployInteractionSpecSchema)` to create a new message. + */ +export const CascadeDeployInteractionSpecSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 132); + +/** + * @generated from message exa.cortex_pb.CascadeRunCommandInteractionSpec + */ +export type CascadeRunCommandInteractionSpec = Message<"exa.cortex_pb.CascadeRunCommandInteractionSpec"> & { +}; + +/** + * Describes the message exa.cortex_pb.CascadeRunCommandInteractionSpec. + * Use `create(CascadeRunCommandInteractionSpecSchema)` to create a new message. + */ +export const CascadeRunCommandInteractionSpecSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 133); + +/** + * @generated from message exa.cortex_pb.CascadeReadUrlContentInteractionSpec + */ +export type CascadeReadUrlContentInteractionSpec = Message<"exa.cortex_pb.CascadeReadUrlContentInteractionSpec"> & { + /** + * @generated from field: string url = 1; + */ + url: string; + + /** + * @generated from field: string origin = 2; + */ + origin: string; +}; + +/** + * Describes the message exa.cortex_pb.CascadeReadUrlContentInteractionSpec. + * Use `create(CascadeReadUrlContentInteractionSpecSchema)` to create a new message. + */ +export const CascadeReadUrlContentInteractionSpecSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 134); + +/** + * @generated from message exa.cortex_pb.CascadeRunExtensionCodeInteractionSpec + */ +export type CascadeRunExtensionCodeInteractionSpec = Message<"exa.cortex_pb.CascadeRunExtensionCodeInteractionSpec"> & { +}; + +/** + * Describes the message exa.cortex_pb.CascadeRunExtensionCodeInteractionSpec. + * Use `create(CascadeRunExtensionCodeInteractionSpecSchema)` to create a new message. + */ +export const CascadeRunExtensionCodeInteractionSpecSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 135); + +/** + * @generated from message exa.cortex_pb.CascadeTaskResolutionInteractionSpec + */ +export type CascadeTaskResolutionInteractionSpec = Message<"exa.cortex_pb.CascadeTaskResolutionInteractionSpec"> & { + /** + * @generated from field: string title = 1; + */ + title: string; + + /** + * @generated from field: string description = 2; + */ + description: string; +}; + +/** + * Describes the message exa.cortex_pb.CascadeTaskResolutionInteractionSpec. + * Use `create(CascadeTaskResolutionInteractionSpecSchema)` to create a new message. + */ +export const CascadeTaskResolutionInteractionSpecSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 136); + +/** + * @generated from message exa.cortex_pb.CascadeUpsertCodemapInteractionSpec + */ +export type CascadeUpsertCodemapInteractionSpec = Message<"exa.cortex_pb.CascadeUpsertCodemapInteractionSpec"> & { +}; + +/** + * Describes the message exa.cortex_pb.CascadeUpsertCodemapInteractionSpec. + * Use `create(CascadeUpsertCodemapInteractionSpecSchema)` to create a new message. + */ +export const CascadeUpsertCodemapInteractionSpecSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 137); + +/** + * @generated from message exa.cortex_pb.CascadeAskUserQuestionInteractionSpec + */ +export type CascadeAskUserQuestionInteractionSpec = Message<"exa.cortex_pb.CascadeAskUserQuestionInteractionSpec"> & { +}; + +/** + * Describes the message exa.cortex_pb.CascadeAskUserQuestionInteractionSpec. + * Use `create(CascadeAskUserQuestionInteractionSpecSchema)` to create a new message. + */ +export const CascadeAskUserQuestionInteractionSpecSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 138); + +/** + * @generated from message exa.cortex_pb.RequestedInteraction + */ +export type RequestedInteraction = Message<"exa.cortex_pb.RequestedInteraction"> & { + /** + * @generated from oneof exa.cortex_pb.RequestedInteraction.interaction + */ + interaction: { + /** + * @generated from field: exa.cortex_pb.CascadeDeployInteractionSpec deploy = 2; + */ + value: CascadeDeployInteractionSpec; + case: "deploy"; + } | { + /** + * @generated from field: exa.cortex_pb.CascadeRunCommandInteractionSpec run_command = 3; + */ + value: CascadeRunCommandInteractionSpec; + case: "runCommand"; + } | { + /** + * @generated from field: exa.cortex_pb.CascadeRunExtensionCodeInteractionSpec run_extension_code = 5; + */ + value: CascadeRunExtensionCodeInteractionSpec; + case: "runExtensionCode"; + } | { + /** + * @generated from field: exa.cortex_pb.CascadeTaskResolutionInteractionSpec resolve_task = 11; + */ + value: CascadeTaskResolutionInteractionSpec; + case: "resolveTask"; + } | { + /** + * @generated from field: exa.cortex_pb.CascadeUpsertCodemapInteractionSpec upsert_codemap = 13; + */ + value: CascadeUpsertCodemapInteractionSpec; + case: "upsertCodemap"; + } | { + /** + * @generated from field: exa.cortex_pb.CascadeReadUrlContentInteractionSpec read_url_content = 14; + */ + value: CascadeReadUrlContentInteractionSpec; + case: "readUrlContent"; + } | { + /** + * @generated from field: exa.cortex_pb.CascadeAskUserQuestionInteractionSpec ask_user_question = 15; + */ + value: CascadeAskUserQuestionInteractionSpec; + case: "askUserQuestion"; + } | { case: undefined; value?: undefined }; +}; + +/** + * Describes the message exa.cortex_pb.RequestedInteraction. + * Use `create(RequestedInteractionSchema)` to create a new message. + */ +export const RequestedInteractionSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 139); + +/** + * @generated from message exa.cortex_pb.CascadeUserInteraction + */ +export type CascadeUserInteraction = Message<"exa.cortex_pb.CascadeUserInteraction"> & { + /** + * @generated from field: string trajectory_id = 1; + */ + trajectoryId: string; + + /** + * @generated from field: uint32 step_index = 2; + */ + stepIndex: number; + + /** + * @generated from oneof exa.cortex_pb.CascadeUserInteraction.interaction + */ + interaction: { + /** + * @generated from field: exa.cortex_pb.CascadeDeployInteraction deploy = 4; + */ + value: CascadeDeployInteraction; + case: "deploy"; + } | { + /** + * @generated from field: exa.cortex_pb.CascadeRunCommandInteraction run_command = 5; + */ + value: CascadeRunCommandInteraction; + case: "runCommand"; + } | { + /** + * @generated from field: exa.cortex_pb.CascadeRunExtensionCodeInteraction run_extension_code = 7; + */ + value: CascadeRunExtensionCodeInteraction; + case: "runExtensionCode"; + } | { + /** + * @generated from field: exa.cortex_pb.CascadeTaskResolutionInteraction resolve_task = 12; + */ + value: CascadeTaskResolutionInteraction; + case: "resolveTask"; + } | { + /** + * @generated from field: exa.cortex_pb.CascadeUpsertCodemapInteraction upsert_codemap = 14; + */ + value: CascadeUpsertCodemapInteraction; + case: "upsertCodemap"; + } | { + /** + * @generated from field: exa.cortex_pb.CascadeReadUrlContentInteraction read_url_content = 15; + */ + value: CascadeReadUrlContentInteraction; + case: "readUrlContent"; + } | { + /** + * @generated from field: exa.cortex_pb.CascadeAskUserQuestionInteraction ask_user_question = 16; + */ + value: CascadeAskUserQuestionInteraction; + case: "askUserQuestion"; + } | { case: undefined; value?: undefined }; +}; + +/** + * Describes the message exa.cortex_pb.CascadeUserInteraction. + * Use `create(CascadeUserInteractionSchema)` to create a new message. + */ +export const CascadeUserInteractionSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 140); + +/** + * @generated from message exa.cortex_pb.CortexStepDummy + */ +export type CortexStepDummy = Message<"exa.cortex_pb.CortexStepDummy"> & { + /** + * @generated from field: uint32 input = 1; + */ + input: number; + + /** + * @generated from field: uint32 output = 2; + */ + output: number; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepDummy. + * Use `create(CortexStepDummySchema)` to create a new message. + */ +export const CortexStepDummySchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 141); + +/** + * @generated from message exa.cortex_pb.CortexStepBlocking + */ +export type CortexStepBlocking = Message<"exa.cortex_pb.CortexStepBlocking"> & { +}; + +/** + * Describes the message exa.cortex_pb.CortexStepBlocking. + * Use `create(CortexStepBlockingSchema)` to create a new message. + */ +export const CortexStepBlockingSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 142); + +/** + * @generated from message exa.cortex_pb.CortexStepFinish + */ +export type CortexStepFinish = Message<"exa.cortex_pb.CortexStepFinish"> & { + /** + * @generated from field: map output = 1; + */ + output: { [key: string]: string }; + + /** + * @generated from field: string output_string = 2; + */ + outputString: string; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepFinish. + * Use `create(CortexStepFinishSchema)` to create a new message. + */ +export const CortexStepFinishSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 143); + +/** + * @generated from message exa.cortex_pb.CortexStepPlanInput + */ +export type CortexStepPlanInput = Message<"exa.cortex_pb.CortexStepPlanInput"> & { + /** + * @generated from field: exa.cortex_pb.PlanInput plan_input = 1; + */ + planInput?: PlanInput | undefined; + + /** + * @generated from field: bool user_provided = 2; + */ + userProvided: boolean; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepPlanInput. + * Use `create(CortexStepPlanInputSchema)` to create a new message. + */ +export const CortexStepPlanInputSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 144); + +/** + * @generated from message exa.cortex_pb.CortexStepCheckpoint + */ +export type CortexStepCheckpoint = Message<"exa.cortex_pb.CortexStepCheckpoint"> & { + /** + * @generated from field: uint32 checkpoint_index = 1; + */ + checkpointIndex: number; + + /** + * @generated from field: bool intent_only = 9; + */ + intentOnly: boolean; + + /** + * @generated from field: uint32 included_step_index_start = 11; + */ + includedStepIndexStart: number; + + /** + * @generated from field: uint32 included_step_index_end = 12; + */ + includedStepIndexEnd: number; + + /** + * @generated from field: string conversation_title = 10; + */ + conversationTitle: string; + + /** + * @generated from field: string user_intent = 4; + */ + userIntent: string; + + /** + * @generated from field: string session_summary = 5; + */ + sessionSummary: string; + + /** + * @generated from field: string code_change_summary = 6; + */ + codeChangeSummary: string; + + /** + * @generated from field: string plan_snapshot = 13; + */ + planSnapshot: string; + + /** + * @generated from field: map edited_file_map = 7 [deprecated = true]; + * @deprecated + */ + editedFileMap: { [key: string]: DiffList }; + + /** + * @generated from field: repeated uint32 included_step_indices = 3 [deprecated = true]; + * @deprecated + */ + includedStepIndices: number[]; + + /** + * @generated from field: string memory_summary = 8 [deprecated = true]; + * @deprecated + */ + memorySummary: string; + + /** + * @generated from field: string user_intent_request_id = 14; + */ + userIntentRequestId: string; + + /** + * @generated from field: string session_summary_request_id = 15; + */ + sessionSummaryRequestId: string; + + /** + * @generated from field: string code_change_summary_request_id = 16; + */ + codeChangeSummaryRequestId: string; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepCheckpoint. + * Use `create(CortexStepCheckpointSchema)` to create a new message. + */ +export const CortexStepCheckpointSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 145); + +/** + * @generated from message exa.cortex_pb.WorktreeMergeSnapshot + */ +export type WorktreeMergeSnapshot = Message<"exa.cortex_pb.WorktreeMergeSnapshot"> & { + /** + * @generated from field: map file_states_before_merge = 1; + */ + fileStatesBeforeMerge: { [key: string]: string }; + + /** + * @generated from field: repeated string added_files = 2; + */ + addedFiles: string[]; + + /** + * @generated from field: map file_states_after_merge = 3; + */ + fileStatesAfterMerge: { [key: string]: string }; +}; + +/** + * Describes the message exa.cortex_pb.WorktreeMergeSnapshot. + * Use `create(WorktreeMergeSnapshotSchema)` to create a new message. + */ +export const WorktreeMergeSnapshotSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 146); + +/** + * @generated from message exa.cortex_pb.CheckpointConfig + */ +export type CheckpointConfig = Message<"exa.cortex_pb.CheckpointConfig"> & { + /** + * @generated from field: uint32 token_threshold = 1; + */ + tokenThreshold: number; + + /** + * @generated from field: float max_overhead_ratio = 3; + */ + maxOverheadRatio: number; + + /** + * @generated from field: uint32 moving_window_size = 4; + */ + movingWindowSize: number; + + /** + * @generated from field: uint32 max_token_limit = 5; + */ + maxTokenLimit: number; + + /** + * @generated from field: uint32 max_output_tokens = 11; + */ + maxOutputTokens: number; + + /** + * @generated from field: uint32 max_plan_search_steps = 12; + */ + maxPlanSearchSteps: number; + + /** + * @generated from field: exa.codeium_common_pb.Model checkpoint_model_deprecated = 7 [deprecated = true]; + * @deprecated + */ + checkpointModelDeprecated: Model; + + /** + * @generated from field: string checkpoint_model_uid = 14; + */ + checkpointModelUid: string; + + /** + * @generated from field: exa.codeium_common_pb.Model checkpoint_model_fallback_deprecated = 13 [deprecated = true]; + * @deprecated + */ + checkpointModelFallbackDeprecated: Model; + + /** + * @generated from field: string checkpoint_model_fallback_uid = 15; + */ + checkpointModelFallbackUid: string; + + /** + * @generated from field: optional bool enabled = 6; + */ + enabled?: boolean | undefined; +}; + +/** + * Describes the message exa.cortex_pb.CheckpointConfig. + * Use `create(CheckpointConfigSchema)` to create a new message. + */ +export const CheckpointConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 147); + +/** + * @generated from message exa.cortex_pb.CortexStepMquery + */ +export type CortexStepMquery = Message<"exa.cortex_pb.CortexStepMquery"> & { + /** + * @generated from field: exa.cortex_pb.PlanInput input = 1; + */ + input?: PlanInput | undefined; + + /** + * @generated from field: repeated exa.context_module_pb.CciWithSubrangeWithRetrievalMetadata ccis = 2; + */ + ccis: CciWithSubrangeWithRetrievalMetadata[]; + + /** + * @generated from field: uint32 num_tokens_processed = 3; + */ + numTokensProcessed: number; + + /** + * @generated from field: uint32 num_items_scored = 4; + */ + numItemsScored: number; + + /** + * @generated from field: exa.cortex_pb.SemanticCodebaseSearchType search_type = 5; + */ + searchType: SemanticCodebaseSearchType; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepMquery. + * Use `create(CortexStepMquerySchema)` to create a new message. + */ +export const CortexStepMquerySchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 148); + +/** + * @generated from message exa.cortex_pb.ReplacementChunkInfo + */ +export type ReplacementChunkInfo = Message<"exa.cortex_pb.ReplacementChunkInfo"> & { + /** + * @generated from field: exa.cortex_pb.ReplacementChunk original_chunk = 1; + */ + originalChunk?: ReplacementChunk | undefined; + + /** + * @generated from field: string fuzzy_match = 2; + */ + fuzzyMatch: string; + + /** + * @generated from field: int32 edit_distance = 3; + */ + editDistance: number; + + /** + * @generated from field: float rel_edit_distance = 4; + */ + relEditDistance: number; + + /** + * @generated from field: uint32 num_matches = 5; + */ + numMatches: number; + + /** + * @generated from field: bool is_non_exact = 7; + */ + isNonExact: boolean; + + /** + * @generated from field: bool boundary_lines_match = 8; + */ + boundaryLinesMatch: boolean; + + /** + * @generated from field: bool error = 6; + */ + error: boolean; + + /** + * @generated from field: string error_str = 9; + */ + errorStr: string; + + /** + * @generated from field: bool fast_apply_fixable = 10; + */ + fastApplyFixable: boolean; +}; + +/** + * Describes the message exa.cortex_pb.ReplacementChunkInfo. + * Use `create(ReplacementChunkInfoSchema)` to create a new message. + */ +export const ReplacementChunkInfoSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 149); + +/** + * @generated from message exa.cortex_pb.FastApplyFallbackInfo + */ +export type FastApplyFallbackInfo = Message<"exa.cortex_pb.FastApplyFallbackInfo"> & { + /** + * @generated from field: bool fallback_attempted = 1; + */ + fallbackAttempted: boolean; + + /** + * @generated from field: string fallback_error = 2; + */ + fallbackError: string; + + /** + * @generated from field: exa.cortex_pb.ActionResult fast_apply_result = 3; + */ + fastApplyResult?: ActionResult | undefined; + + /** + * @generated from field: exa.cortex_pb.CodeHeuristicFailure heuristic_failure = 4; + */ + heuristicFailure: CodeHeuristicFailure; + + /** + * @generated from field: string fast_apply_prompt = 5; + */ + fastApplyPrompt: string; + + /** + * @generated from field: uint32 num_fast_apply_edits_masked = 6; + */ + numFastApplyEditsMasked: number; + + /** + * @generated from field: bool fallback_match_had_no_diff = 7; + */ + fallbackMatchHadNoDiff: boolean; +}; + +/** + * Describes the message exa.cortex_pb.FastApplyFallbackInfo. + * Use `create(FastApplyFallbackInfoSchema)` to create a new message. + */ +export const FastApplyFallbackInfoSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 150); + +/** + * @generated from message exa.cortex_pb.CortexStepCodeAction + */ +export type CortexStepCodeAction = Message<"exa.cortex_pb.CortexStepCodeAction"> & { + /** + * @generated from field: exa.cortex_pb.ActionSpec action_spec = 1; + */ + actionSpec?: ActionSpec | undefined; + + /** + * @generated from field: exa.cortex_pb.ActionResult action_result = 2; + */ + actionResult?: ActionResult | undefined; + + /** + * @generated from field: bool use_fast_apply = 4; + */ + useFastApply: boolean; + + /** + * @generated from field: exa.cortex_pb.AcknowledgementType acknowledgement_type = 5; + */ + acknowledgementType: AcknowledgementType; + + /** + * @generated from field: bool blocking = 6; + */ + blocking: boolean; + + /** + * @generated from field: exa.cortex_pb.CodeHeuristicFailure heuristic_failure = 7; + */ + heuristicFailure: CodeHeuristicFailure; + + /** + * @generated from field: string code_instruction = 8; + */ + codeInstruction: string; + + /** + * @generated from field: string markdown_language = 9; + */ + markdownLanguage: string; + + /** + * @generated from field: bool dry_run = 10; + */ + dryRun: boolean; + + /** + * @generated from field: repeated exa.codeium_common_pb.CodeDiagnostic lint_errors = 11; + */ + lintErrors: CodeDiagnostic[]; + + /** + * @generated from field: repeated exa.codeium_common_pb.CodeDiagnostic persistent_lint_errors = 12; + */ + persistentLintErrors: CodeDiagnostic[]; + + /** + * @generated from field: repeated exa.cortex_pb.ReplacementChunkInfo replacement_infos = 13; + */ + replacementInfos: ReplacementChunkInfo[]; + + /** + * @generated from field: repeated string lint_error_ids_aiming_to_fix = 14; + */ + lintErrorIdsAimingToFix: string[]; + + /** + * @generated from field: exa.cortex_pb.FastApplyFallbackInfo fast_apply_fallback_info = 15; + */ + fastApplyFallbackInfo?: FastApplyFallbackInfo | undefined; + + /** + * @generated from field: bool target_file_has_carriage_returns = 16; + */ + targetFileHasCarriageReturns: boolean; + + /** + * @generated from field: bool target_file_has_all_carriage_returns = 17; + */ + targetFileHasAllCarriageReturns: boolean; + + /** + * @generated from field: repeated exa.cortex_pb.CortexStepCompileDiagnostic introduced_errors = 18; + */ + introducedErrors: CortexStepCompileDiagnostic[]; + + /** + * @generated from field: string triggered_memories = 19; + */ + triggeredMemories: string; + + /** + * @generated from field: exa.cortex_pb.BrainEntryDelta brain_delta = 20; + */ + brainDelta?: BrainEntryDelta | undefined; + + /** + * @generated from field: exa.cortex_pb.CortexTrajectoryType trajectory_type = 21; + */ + trajectoryType: CortexTrajectoryType; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepCodeAction. + * Use `create(CortexStepCodeActionSchema)` to create a new message. + */ +export const CortexStepCodeActionSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 151); + +/** + * @generated from message exa.cortex_pb.CortexStepProposeCode + */ +export type CortexStepProposeCode = Message<"exa.cortex_pb.CortexStepProposeCode"> & { + /** + * @generated from field: exa.cortex_pb.ActionSpec action_spec = 1; + */ + actionSpec?: ActionSpec | undefined; + + /** + * @generated from field: exa.cortex_pb.ActionResult action_result = 2; + */ + actionResult?: ActionResult | undefined; + + /** + * @generated from field: string code_instruction = 3; + */ + codeInstruction: string; + + /** + * @generated from field: string markdown_language = 4; + */ + markdownLanguage: string; + + /** + * @generated from field: bool blocking = 5; + */ + blocking: boolean; + + /** + * @generated from field: exa.cortex_pb.AcknowledgementType acknowledgement_type = 6; + */ + acknowledgementType: AcknowledgementType; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepProposeCode. + * Use `create(CortexStepProposeCodeSchema)` to create a new message. + */ +export const CortexStepProposeCodeSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 152); + +/** + * @generated from message exa.cortex_pb.CortexStepGitCommit + */ +export type CortexStepGitCommit = Message<"exa.cortex_pb.CortexStepGitCommit"> & { + /** + * @generated from field: exa.cortex_pb.PlanInput input = 1; + */ + input?: PlanInput | undefined; + + /** + * @generated from field: string commit_message = 2; + */ + commitMessage: string; + + /** + * @generated from field: string commit_hash = 3; + */ + commitHash: string; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepGitCommit. + * Use `create(CortexStepGitCommitSchema)` to create a new message. + */ +export const CortexStepGitCommitSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 153); + +/** + * @generated from message exa.cortex_pb.CortexStepFindCodeContext + */ +export type CortexStepFindCodeContext = Message<"exa.cortex_pb.CortexStepFindCodeContext"> & { + /** + * @generated from field: string search_term = 1; + */ + searchTerm: string; + + /** + * @generated from field: repeated exa.cortex_pb.InstantContextStep steps = 2; + */ + steps: InstantContextStep[]; + + /** + * @generated from field: exa.cortex_pb.InstantContextResponse response = 3; + */ + response?: InstantContextResponse | undefined; + + /** + * @generated from field: string workspace_directory_path = 4; + */ + workspaceDirectoryPath: string; + + /** + * @generated from field: string error = 5; + */ + error: string; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepFindCodeContext. + * Use `create(CortexStepFindCodeContextSchema)` to create a new message. + */ +export const CortexStepFindCodeContextSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 154); + +/** + * @generated from message exa.cortex_pb.InstantContextResponse + */ +export type InstantContextResponse = Message<"exa.cortex_pb.InstantContextResponse"> & { + /** + * @generated from field: map range_map = 1; + */ + rangeMap: { [key: string]: LineRangeList }; + + /** + * @generated from field: float deprecated_duration_field_2 = 2 [deprecated = true]; + * @deprecated + */ + deprecatedDurationField2: number; + + /** + * @generated from field: float duration = 3; + */ + duration: number; + + /** + * @generated from field: map raw_range_map = 4; + */ + rawRangeMap: { [key: string]: LineRangeList }; + + /** + * @generated from field: exa.cortex_pb.InstantContextTiming timing = 5; + */ + timing?: InstantContextTiming | undefined; +}; + +/** + * Describes the message exa.cortex_pb.InstantContextResponse. + * Use `create(InstantContextResponseSchema)` to create a new message. + */ +export const InstantContextResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 155); + +/** + * @generated from message exa.cortex_pb.InstantContextStep + */ +export type InstantContextStep = Message<"exa.cortex_pb.InstantContextStep"> & { + /** + * @generated from field: repeated exa.cortex_pb.InstantContextToolCall tool_calls = 1; + */ + toolCalls: InstantContextToolCall[]; + + /** + * @generated from field: string thoughts = 2; + */ + thoughts: string; +}; + +/** + * Describes the message exa.cortex_pb.InstantContextStep. + * Use `create(InstantContextStepSchema)` to create a new message. + */ +export const InstantContextStepSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 156); + +/** + * @generated from message exa.cortex_pb.InstantContextToolCall + */ +export type InstantContextToolCall = Message<"exa.cortex_pb.InstantContextToolCall"> & { + /** + * @generated from field: string command_type = 1; + */ + commandType: string; + + /** + * @generated from field: string param = 2; + */ + param: string; + + /** + * @generated from field: exa.cortex_pb.InstantContextToolCall.ExecutionStatus execution_status = 3; + */ + executionStatus: InstantContextToolCall_ExecutionStatus; + + /** + * @generated from field: string error_message = 4; + */ + errorMessage: string; + + /** + * @generated from field: string tool_call_id = 5; + */ + toolCallId: string; + + /** + * @generated from field: float duration_seconds = 6; + */ + durationSeconds: number; +}; + +/** + * Describes the message exa.cortex_pb.InstantContextToolCall. + * Use `create(InstantContextToolCallSchema)` to create a new message. + */ +export const InstantContextToolCallSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 157); + +/** + * @generated from enum exa.cortex_pb.InstantContextToolCall.ExecutionStatus + */ +export enum InstantContextToolCall_ExecutionStatus { + /** + * @generated from enum value: EXECUTION_STATUS_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: EXECUTION_STATUS_PENDING = 1; + */ + PENDING = 1, + + /** + * @generated from enum value: EXECUTION_STATUS_COMPLETED = 2; + */ + COMPLETED = 2, + + /** + * @generated from enum value: EXECUTION_STATUS_ERROR = 3; + */ + ERROR = 3, + + /** + * @generated from enum value: EXECUTION_STATUS_TIMED_OUT = 4; + */ + TIMED_OUT = 4, +} + +/** + * Describes the enum exa.cortex_pb.InstantContextToolCall.ExecutionStatus. + */ +export const InstantContextToolCall_ExecutionStatusSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_cortex_pb_cortex, 157, 0); + +/** + * @generated from message exa.cortex_pb.InstantContextToolUpdate + */ +export type InstantContextToolUpdate = Message<"exa.cortex_pb.InstantContextToolUpdate"> & { + /** + * @generated from field: string tool_call_id = 1; + */ + toolCallId: string; + + /** + * @generated from field: exa.cortex_pb.InstantContextToolCall.ExecutionStatus execution_status = 2; + */ + executionStatus: InstantContextToolCall_ExecutionStatus; + + /** + * @generated from field: string error_message = 3; + */ + errorMessage: string; + + /** + * @generated from field: float duration_seconds = 4; + */ + durationSeconds: number; + + /** + * @generated from field: int32 tool_index = 5; + */ + toolIndex: number; + + /** + * @generated from field: string command_type = 6; + */ + commandType: string; +}; + +/** + * Describes the message exa.cortex_pb.InstantContextToolUpdate. + * Use `create(InstantContextToolUpdateSchema)` to create a new message. + */ +export const InstantContextToolUpdateSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 158); + +/** + * @generated from message exa.cortex_pb.CommandTiming + */ +export type CommandTiming = Message<"exa.cortex_pb.CommandTiming"> & { + /** + * @generated from field: string label = 1; + */ + label: string; + + /** + * @generated from field: string command_type = 2; + */ + commandType: string; + + /** + * @generated from field: float exec_duration_secs = 3; + */ + execDurationSecs: number; + + /** + * @generated from field: bool errored = 4; + */ + errored: boolean; +}; + +/** + * Describes the message exa.cortex_pb.CommandTiming. + * Use `create(CommandTimingSchema)` to create a new message. + */ +export const CommandTimingSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 159); + +/** + * @generated from message exa.cortex_pb.TurnTiming + */ +export type TurnTiming = Message<"exa.cortex_pb.TurnTiming"> & { + /** + * @generated from field: float model_latency_secs = 1; + */ + modelLatencySecs: number; + + /** + * @generated from field: float tool_call_parse_duration_secs = 2; + */ + toolCallParseDurationSecs: number; + + /** + * @generated from field: float command_build_duration_secs = 3; + */ + commandBuildDurationSecs: number; + + /** + * @generated from field: float tool_exec_duration_secs = 4; + */ + toolExecDurationSecs: number; + + /** + * @generated from field: repeated exa.cortex_pb.CommandTiming commands = 5; + */ + commands: CommandTiming[]; +}; + +/** + * Describes the message exa.cortex_pb.TurnTiming. + * Use `create(TurnTimingSchema)` to create a new message. + */ +export const TurnTimingSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 160); + +/** + * @generated from message exa.cortex_pb.InstantContextTiming + */ +export type InstantContextTiming = Message<"exa.cortex_pb.InstantContextTiming"> & { + /** + * @generated from field: float total_duration_secs = 1; + */ + totalDurationSecs: number; + + /** + * @generated from field: float answer_parse_duration_secs = 2; + */ + answerParseDurationSecs: number; + + /** + * @generated from field: repeated exa.cortex_pb.TurnTiming turns = 3; + */ + turns: TurnTiming[]; +}; + +/** + * Describes the message exa.cortex_pb.InstantContextTiming. + * Use `create(InstantContextTimingSchema)` to create a new message. + */ +export const InstantContextTimingSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 161); + +/** + * @generated from message exa.cortex_pb.LineRangeList + */ +export type LineRangeList = Message<"exa.cortex_pb.LineRangeList"> & { + /** + * @generated from field: repeated exa.cortex_pb.LineRange ranges = 1; + */ + ranges: LineRange[]; +}; + +/** + * Describes the message exa.cortex_pb.LineRangeList. + * Use `create(LineRangeListSchema)` to create a new message. + */ +export const LineRangeListSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 162); + +/** + * @generated from message exa.cortex_pb.LineRange + */ +export type LineRange = Message<"exa.cortex_pb.LineRange"> & { + /** + * @generated from field: int32 start = 1; + */ + start: number; + + /** + * @generated from field: int32 end = 2; + */ + end: number; +}; + +/** + * Describes the message exa.cortex_pb.LineRange. + * Use `create(LineRangeSchema)` to create a new message. + */ +export const LineRangeSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 163); + +/** + * @generated from message exa.cortex_pb.GrepSearchResult + */ +export type GrepSearchResult = Message<"exa.cortex_pb.GrepSearchResult"> & { + /** + * @generated from field: string relative_path = 1; + */ + relativePath: string; + + /** + * @generated from field: uint32 line_number = 2; + */ + lineNumber: number; + + /** + * @generated from field: string content = 3; + */ + content: string; + + /** + * @generated from field: string absolute_path = 4; + */ + absolutePath: string; + + /** + * @generated from field: exa.codeium_common_pb.CodeContextItem cci = 5 [deprecated = true]; + * @deprecated + */ + cci?: CodeContextItem | undefined; + + /** + * @generated from field: uint32 match_count = 6; + */ + matchCount: number; +}; + +/** + * Describes the message exa.cortex_pb.GrepSearchResult. + * Use `create(GrepSearchResultSchema)` to create a new message. + */ +export const GrepSearchResultSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 164); + +/** + * @generated from message exa.cortex_pb.CortexStepInformPlanner + */ +export type CortexStepInformPlanner = Message<"exa.cortex_pb.CortexStepInformPlanner"> & { + /** + * @generated from field: exa.code_edit.code_edit_pb.CodeChangeWithContext target_code_change = 3; + */ + targetCodeChange?: CodeChangeWithContext | undefined; + + /** + * @generated from field: repeated exa.context_module_pb.CciWithSubrangeWithRetrievalMetadata inform_cci_list = 4; + */ + informCciList: CciWithSubrangeWithRetrievalMetadata[]; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepInformPlanner. + * Use `create(CortexStepInformPlannerSchema)` to create a new message. + */ +export const CortexStepInformPlannerSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 165); + +/** + * @generated from message exa.cortex_pb.InformPlannerConfig + */ +export type InformPlannerConfig = Message<"exa.cortex_pb.InformPlannerConfig"> & { + /** + * @generated from field: float cci_ratio = 1; + */ + cciRatio: number; + + /** + * @generated from field: bool randomize = 2; + */ + randomize: boolean; + + /** + * @generated from field: uint32 manual_seed = 3; + */ + manualSeed: number; + + /** + * @generated from field: exa.cortex_pb.InformPlannerMode mode = 4; + */ + mode: InformPlannerMode; + + /** + * @generated from field: bool is_certain = 5; + */ + isCertain: boolean; +}; + +/** + * Describes the message exa.cortex_pb.InformPlannerConfig. + * Use `create(InformPlannerConfigSchema)` to create a new message. + */ +export const InformPlannerConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 166); + +/** + * @generated from message exa.cortex_pb.DiffBasedCommandEvalConfig + */ +export type DiffBasedCommandEvalConfig = Message<"exa.cortex_pb.DiffBasedCommandEvalConfig"> & { + /** + * @generated from field: uint32 num_samples_per_commit = 1; + */ + numSamplesPerCommit: number; +}; + +/** + * Describes the message exa.cortex_pb.DiffBasedCommandEvalConfig. + * Use `create(DiffBasedCommandEvalConfigSchema)` to create a new message. + */ +export const DiffBasedCommandEvalConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 167); + +/** + * @generated from message exa.cortex_pb.CortexStepGrepSearch + */ +export type CortexStepGrepSearch = Message<"exa.cortex_pb.CortexStepGrepSearch"> & { + /** + * @generated from field: string search_path_uri = 11; + */ + searchPathUri: string; + + /** + * @generated from field: string query = 1; + */ + query: string; + + /** + * @generated from field: bool match_per_line = 8; + */ + matchPerLine: boolean; + + /** + * @generated from field: repeated string includes = 2; + */ + includes: string[]; + + /** + * @generated from field: bool case_insensitive = 9; + */ + caseInsensitive: boolean; + + /** + * @generated from field: bool allow_access_gitignore = 13; + */ + allowAccessGitignore: boolean; + + /** + * @generated from field: bool is_regex = 14; + */ + isRegex: boolean; + + /** + * @generated from field: repeated exa.cortex_pb.GrepSearchResult results = 4; + */ + results: GrepSearchResult[]; + + /** + * @generated from field: uint32 total_results = 7; + */ + totalResults: number; + + /** + * @generated from field: string raw_output = 3; + */ + rawOutput: string; + + /** + * @generated from field: string command_run = 10; + */ + commandRun: string; + + /** + * @generated from field: bool no_files_searched = 12; + */ + noFilesSearched: boolean; + + /** + * @generated from field: bool timed_out = 15; + */ + timedOut: boolean; + + /** + * @generated from field: string grep_error = 5 [deprecated = true]; + * @deprecated + */ + grepError: string; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepGrepSearch. + * Use `create(CortexStepGrepSearchSchema)` to create a new message. + */ +export const CortexStepGrepSearchSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 168); + +/** + * @generated from message exa.cortex_pb.CortexStepGrepSearchV2 + */ +export type CortexStepGrepSearchV2 = Message<"exa.cortex_pb.CortexStepGrepSearchV2"> & { + /** + * @generated from field: string search_path_uri = 1; + */ + searchPathUri: string; + + /** + * @generated from field: string pattern = 2; + */ + pattern: string; + + /** + * @generated from field: string path = 3; + */ + path: string; + + /** + * @generated from field: string glob = 4; + */ + glob: string; + + /** + * @generated from field: string output_mode = 5; + */ + outputMode: string; + + /** + * @generated from field: int32 lines_after = 6; + */ + linesAfter: number; + + /** + * @generated from field: int32 lines_before = 7; + */ + linesBefore: number; + + /** + * @generated from field: int32 lines_both = 8; + */ + linesBoth: number; + + /** + * @generated from field: bool case_insensitive = 10; + */ + caseInsensitive: boolean; + + /** + * @generated from field: string type = 11; + */ + type: string; + + /** + * @generated from field: int32 head_limit = 12; + */ + headLimit: number; + + /** + * @generated from field: bool multiline = 13; + */ + multiline: boolean; + + /** + * @generated from field: string command_run = 14; + */ + commandRun: string; + + /** + * @generated from field: string raw_output = 15; + */ + rawOutput: string; + + /** + * @generated from field: bool no_files_searched = 16; + */ + noFilesSearched: boolean; + + /** + * @generated from field: bool timed_out = 17; + */ + timedOut: boolean; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepGrepSearchV2. + * Use `create(CortexStepGrepSearchV2Schema)` to create a new message. + */ +export const CortexStepGrepSearchV2Schema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 169); + +/** + * @generated from message exa.cortex_pb.CortexStepFind + */ +export type CortexStepFind = Message<"exa.cortex_pb.CortexStepFind"> & { + /** + * @generated from field: string search_directory = 10; + */ + searchDirectory: string; + + /** + * @generated from field: string pattern = 1; + */ + pattern: string; + + /** + * @generated from field: repeated string excludes = 3; + */ + excludes: string[]; + + /** + * @generated from field: exa.cortex_pb.FindResultType type = 4; + */ + type: FindResultType; + + /** + * @generated from field: int32 max_depth = 5; + */ + maxDepth: number; + + /** + * @generated from field: repeated string extensions = 12; + */ + extensions: string[]; + + /** + * @generated from field: bool full_path = 13; + */ + fullPath: boolean; + + /** + * @generated from field: string truncated_output = 14; + */ + truncatedOutput: string; + + /** + * @generated from field: uint32 truncated_total_results = 15; + */ + truncatedTotalResults: number; + + /** + * @generated from field: uint32 total_results = 7; + */ + totalResults: number; + + /** + * @generated from field: string raw_output = 11; + */ + rawOutput: string; + + /** + * @generated from field: string command_run = 9; + */ + commandRun: string; + + /** + * @generated from field: repeated string includes = 2 [deprecated = true]; + * @deprecated + */ + includes: string[]; + + /** + * @generated from field: string find_error = 8 [deprecated = true]; + * @deprecated + */ + findError: string; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepFind. + * Use `create(CortexStepFindSchema)` to create a new message. + */ +export const CortexStepFindSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 170); + +/** + * @generated from message exa.cortex_pb.CortexStepExploreResponse + */ +export type CortexStepExploreResponse = Message<"exa.cortex_pb.CortexStepExploreResponse"> & { + /** + * @generated from field: string query_id = 1; + */ + queryId: string; + + /** + * @generated from field: string response = 2; + */ + response: string; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepExploreResponse. + * Use `create(CortexStepExploreResponseSchema)` to create a new message. + */ +export const CortexStepExploreResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 171); + +/** + * @generated from message exa.cortex_pb.CortexStepReadNotebook + */ +export type CortexStepReadNotebook = Message<"exa.cortex_pb.CortexStepReadNotebook"> & { + /** + * @generated from field: string absolute_path_uri = 1; + */ + absolutePathUri: string; + + /** + * @generated from field: string content = 2; + */ + content: string; + + /** + * @generated from field: string raw_content = 3; + */ + rawContent: string; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepReadNotebook. + * Use `create(CortexStepReadNotebookSchema)` to create a new message. + */ +export const CortexStepReadNotebookSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 172); + +/** + * @generated from message exa.cortex_pb.CortexStepSmartFriend + */ +export type CortexStepSmartFriend = Message<"exa.cortex_pb.CortexStepSmartFriend"> & { + /** + * @generated from field: string question = 1; + */ + question: string; + + /** + * @generated from field: string advice = 2; + */ + advice: string; + + /** + * @generated from field: exa.codeium_common_pb.Model model_deprecated = 3 [deprecated = true]; + * @deprecated + */ + modelDeprecated: Model; + + /** + * @generated from field: string model_uid = 6; + */ + modelUid: string; + + /** + * @generated from field: string model_name = 4; + */ + modelName: string; + + /** + * @generated from field: string smart_friend_request_id = 5; + */ + smartFriendRequestId: string; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepSmartFriend. + * Use `create(CortexStepSmartFriendSchema)` to create a new message. + */ +export const CortexStepSmartFriendSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 173); + +/** + * @generated from message exa.cortex_pb.CortexStepTaskSubagent + */ +export type CortexStepTaskSubagent = Message<"exa.cortex_pb.CortexStepTaskSubagent"> & { + /** + * @generated from field: string description = 1; + */ + description: string; + + /** + * @generated from field: string prompt = 2; + */ + prompt: string; + + /** + * @generated from field: string result = 3; + */ + result: string; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepTaskSubagent. + * Use `create(CortexStepTaskSubagentSchema)` to create a new message. + */ +export const CortexStepTaskSubagentSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 174); + +/** + * @generated from message exa.cortex_pb.CortexStepEditNotebook + */ +export type CortexStepEditNotebook = Message<"exa.cortex_pb.CortexStepEditNotebook"> & { + /** + * @generated from field: string absolute_path_uri = 1; + */ + absolutePathUri: string; + + /** + * @generated from field: uint32 cell_number = 2; + */ + cellNumber: number; + + /** + * @generated from field: string cell_id = 6; + */ + cellId: string; + + /** + * @generated from field: string new_source = 3; + */ + newSource: string; + + /** + * @generated from field: string cell_type = 4; + */ + cellType: string; + + /** + * @generated from field: exa.cortex_pb.CortexStepEditNotebook.EditMode edit_mode = 5; + */ + editMode: CortexStepEditNotebook_EditMode; + + /** + * @generated from field: string original_content = 7; + */ + originalContent: string; + + /** + * @generated from field: string new_content = 8; + */ + newContent: string; + + /** + * @generated from field: exa.cortex_pb.AcknowledgementType acknowledgement_type = 9; + */ + acknowledgementType: AcknowledgementType; + + /** + * @generated from field: string triggered_memories = 10; + */ + triggeredMemories: string; + + /** + * @generated from field: repeated exa.codeium_common_pb.CodeDiagnostic lint_errors = 11; + */ + lintErrors: CodeDiagnostic[]; + + /** + * @generated from field: repeated exa.codeium_common_pb.CodeDiagnostic persistent_lint_errors = 12; + */ + persistentLintErrors: CodeDiagnostic[]; + + /** + * @generated from field: exa.diff_action_pb.UnifiedDiff cell_diff = 13; + */ + cellDiff?: UnifiedDiff | undefined; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepEditNotebook. + * Use `create(CortexStepEditNotebookSchema)` to create a new message. + */ +export const CortexStepEditNotebookSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 175); + +/** + * @generated from enum exa.cortex_pb.CortexStepEditNotebook.EditMode + */ +export enum CortexStepEditNotebook_EditMode { + /** + * @generated from enum value: EDIT_MODE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: EDIT_MODE_REPLACE = 1; + */ + REPLACE = 1, + + /** + * @generated from enum value: EDIT_MODE_INSERT = 2; + */ + INSERT = 2, + + /** + * @generated from enum value: EDIT_MODE_DELETE = 3; + */ + DELETE = 3, +} + +/** + * Describes the enum exa.cortex_pb.CortexStepEditNotebook.EditMode. + */ +export const CortexStepEditNotebook_EditModeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_cortex_pb_cortex, 175, 0); + +/** + * @generated from message exa.cortex_pb.CortexStepViewFile + */ +export type CortexStepViewFile = Message<"exa.cortex_pb.CortexStepViewFile"> & { + /** + * @generated from field: string absolute_path_uri = 1; + */ + absolutePathUri: string; + + /** + * @generated from field: uint32 start_line = 2; + */ + startLine: number; + + /** + * @generated from field: uint32 end_line = 3; + */ + endLine: number; + + /** + * @generated from field: uint32 offset = 11; + */ + offset: number; + + /** + * @generated from field: uint32 limit = 12; + */ + limit: number; + + /** + * @generated from field: bool include_summary_of_other_lines = 7; + */ + includeSummaryOfOtherLines: boolean; + + /** + * @generated from field: bool has_line_numbers = 8; + */ + hasLineNumbers: boolean; + + /** + * @generated from field: uint32 max_tokens = 5; + */ + maxTokens: number; + + /** + * @generated from field: bool async = 6; + */ + async: boolean; + + /** + * @generated from field: string content = 4; + */ + content: string; + + /** + * @generated from field: string raw_content = 9; + */ + rawContent: string; + + /** + * @generated from field: string triggered_memories = 10; + */ + triggeredMemories: string; + + /** + * @generated from field: bool is_dir = 13 [deprecated = true]; + * @deprecated + */ + isDir: boolean; + + /** + * @generated from field: bool has_read_whole_file = 14; + */ + hasReadWholeFile: boolean; + + /** + * @generated from field: exa.cortex_pb.CortexStepViewFile.FileType file_type = 15; + */ + fileType: CortexStepViewFile_FileType; + + /** + * @generated from field: exa.cortex_pb.CortexStepViewFile.TriggerSource trigger_source = 17; + */ + triggerSource: CortexStepViewFile_TriggerSource; + + /** + * @generated from field: exa.codeium_common_pb.ImageData image_content = 16; + */ + imageContent?: ImageData | undefined; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepViewFile. + * Use `create(CortexStepViewFileSchema)` to create a new message. + */ +export const CortexStepViewFileSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 176); + +/** + * @generated from enum exa.cortex_pb.CortexStepViewFile.FileType + */ +export enum CortexStepViewFile_FileType { + /** + * @generated from enum value: FILE_TYPE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: FILE_TYPE_DIRECTORY = 1; + */ + DIRECTORY = 1, + + /** + * @generated from enum value: FILE_TYPE_IMAGE = 2; + */ + IMAGE = 2, +} + +/** + * Describes the enum exa.cortex_pb.CortexStepViewFile.FileType. + */ +export const CortexStepViewFile_FileTypeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_cortex_pb_cortex, 176, 0); + +/** + * @generated from enum exa.cortex_pb.CortexStepViewFile.TriggerSource + */ +export enum CortexStepViewFile_TriggerSource { + /** + * @generated from enum value: TRIGGER_SOURCE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: TRIGGER_SOURCE_VIEWPORT = 1; + */ + VIEWPORT = 1, +} + +/** + * Describes the enum exa.cortex_pb.CortexStepViewFile.TriggerSource. + */ +export const CortexStepViewFile_TriggerSourceSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_cortex_pb_cortex, 176, 1); + +/** + * @generated from message exa.cortex_pb.ListDirectoryResult + */ +export type ListDirectoryResult = Message<"exa.cortex_pb.ListDirectoryResult"> & { + /** + * @generated from field: string name = 1; + */ + name: string; + + /** + * @generated from field: bool is_dir = 2; + */ + isDir: boolean; + + /** + * @generated from field: uint32 num_children = 3; + */ + numChildren: number; + + /** + * @generated from field: uint64 size_bytes = 4; + */ + sizeBytes: bigint; +}; + +/** + * Describes the message exa.cortex_pb.ListDirectoryResult. + * Use `create(ListDirectoryResultSchema)` to create a new message. + */ +export const ListDirectoryResultSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 177); + +/** + * @generated from message exa.cortex_pb.CortexStepListDirectory + */ +export type CortexStepListDirectory = Message<"exa.cortex_pb.CortexStepListDirectory"> & { + /** + * @generated from field: string directory_path_uri = 1; + */ + directoryPathUri: string; + + /** + * @generated from field: repeated string children = 2 [deprecated = true]; + * @deprecated + */ + children: string[]; + + /** + * @generated from field: repeated exa.cortex_pb.ListDirectoryResult results = 3; + */ + results: ListDirectoryResult[]; + + /** + * @generated from field: bool dir_not_found = 4 [deprecated = true]; + * @deprecated + */ + dirNotFound: boolean; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepListDirectory. + * Use `create(CortexStepListDirectorySchema)` to create a new message. + */ +export const CortexStepListDirectorySchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 178); + +/** + * @generated from message exa.cortex_pb.CortexStepCompileDiagnostic + */ +export type CortexStepCompileDiagnostic = Message<"exa.cortex_pb.CortexStepCompileDiagnostic"> & { + /** + * @generated from field: string message = 1; + */ + message: string; + + /** + * @generated from field: string path = 2; + */ + path: string; + + /** + * @generated from field: uint32 line = 3; + */ + line: number; + + /** + * @generated from field: uint32 column = 4; + */ + column: number; + + /** + * @generated from field: string symbol = 5; + */ + symbol: string; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepCompileDiagnostic. + * Use `create(CortexStepCompileDiagnosticSchema)` to create a new message. + */ +export const CortexStepCompileDiagnosticSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 179); + +/** + * @generated from message exa.cortex_pb.CortexStepClusterQuery + */ +export type CortexStepClusterQuery = Message<"exa.cortex_pb.CortexStepClusterQuery"> & { + /** + * @generated from field: string query = 1; + */ + query: string; + + /** + * @generated from field: repeated exa.codeium_common_pb.CodebaseCluster input_clusters = 2; + */ + inputClusters: CodebaseCluster[]; + + /** + * @generated from field: string repo_name = 5; + */ + repoName: string; + + /** + * @generated from field: repeated float scores = 3; + */ + scores: number[]; + + /** + * @generated from field: repeated exa.codeium_common_pb.CodebaseCluster output_clusters = 6; + */ + outputClusters: CodebaseCluster[]; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepClusterQuery. + * Use `create(CortexStepClusterQuerySchema)` to create a new message. + */ +export const CortexStepClusterQuerySchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 180); + +/** + * @generated from message exa.cortex_pb.CortexStepListClusters + */ +export type CortexStepListClusters = Message<"exa.cortex_pb.CortexStepListClusters"> & { + /** + * @generated from field: repeated exa.codeium_common_pb.CodebaseCluster clusters = 1; + */ + clusters: CodebaseCluster[]; + + /** + * @generated from field: string repo_name = 2; + */ + repoName: string; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepListClusters. + * Use `create(CortexStepListClustersSchema)` to create a new message. + */ +export const CortexStepListClustersSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 181); + +/** + * @generated from message exa.cortex_pb.CortexStepCompile + */ +export type CortexStepCompile = Message<"exa.cortex_pb.CortexStepCompile"> & { + /** + * @generated from field: exa.cortex_pb.CortexStepCompileTool tool = 1; + */ + tool: CortexStepCompileTool; + + /** + * @generated from field: string input_spec = 2; + */ + inputSpec: string; + + /** + * @generated from field: map options = 3; + */ + options: { [key: string]: string }; + + /** + * @generated from field: string target = 4; + */ + target: string; + + /** + * @generated from field: string artifact_path = 5; + */ + artifactPath: string; + + /** + * @generated from field: bool artifact_is_executable = 6; + */ + artifactIsExecutable: boolean; + + /** + * @generated from field: repeated exa.cortex_pb.CortexStepCompileDiagnostic errors = 7; + */ + errors: CortexStepCompileDiagnostic[]; + + /** + * @generated from field: repeated exa.cortex_pb.CortexStepCompileDiagnostic warnings = 8; + */ + warnings: CortexStepCompileDiagnostic[]; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepCompile. + * Use `create(CortexStepCompileSchema)` to create a new message. + */ +export const CortexStepCompileSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 182); + +/** + * @generated from message exa.cortex_pb.CortexTrajectoryToPromptConfig + */ +export type CortexTrajectoryToPromptConfig = Message<"exa.cortex_pb.CortexTrajectoryToPromptConfig"> & { + /** + * @generated from field: float prompt_fraction = 1; + */ + promptFraction: number; +}; + +/** + * Describes the message exa.cortex_pb.CortexTrajectoryToPromptConfig. + * Use `create(CortexTrajectoryToPromptConfigSchema)` to create a new message. + */ +export const CortexTrajectoryToPromptConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 183); + +/** + * @generated from message exa.cortex_pb.CortexStepUserInput + */ +export type CortexStepUserInput = Message<"exa.cortex_pb.CortexStepUserInput"> & { + /** + * @generated from field: string query = 1; + */ + query: string; + + /** + * @generated from field: string user_response = 2; + */ + userResponse: string; + + /** + * @generated from field: repeated exa.codeium_common_pb.TextOrScopeItem items = 3; + */ + items: TextOrScopeItem[]; + + /** + * @generated from field: exa.context_module_pb.ContextModuleResult active_user_state = 4; + */ + activeUserState?: ContextModuleResult | undefined; + + /** + * @generated from field: repeated exa.codeium_common_pb.ImageData images = 5; + */ + images: ImageData[]; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepUserInput. + * Use `create(CortexStepUserInputSchema)` to create a new message. + */ +export const CortexStepUserInputSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 184); + +/** + * @generated from message exa.cortex_pb.AskUserQuestionOption + */ +export type AskUserQuestionOption = Message<"exa.cortex_pb.AskUserQuestionOption"> & { + /** + * @generated from field: string label = 1; + */ + label: string; + + /** + * @generated from field: string description = 2; + */ + description: string; +}; + +/** + * Describes the message exa.cortex_pb.AskUserQuestionOption. + * Use `create(AskUserQuestionOptionSchema)` to create a new message. + */ +export const AskUserQuestionOptionSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 185); + +/** + * @generated from message exa.cortex_pb.CortexStepAskUserQuestion + */ +export type CortexStepAskUserQuestion = Message<"exa.cortex_pb.CortexStepAskUserQuestion"> & { + /** + * @generated from field: exa.cortex_pb.CortexStepAskUserQuestion.Request request = 1; + */ + request?: CortexStepAskUserQuestion_Request | undefined; + + /** + * @generated from field: exa.cortex_pb.CortexStepAskUserQuestion.Response response = 2; + */ + response?: CortexStepAskUserQuestion_Response | undefined; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepAskUserQuestion. + * Use `create(CortexStepAskUserQuestionSchema)` to create a new message. + */ +export const CortexStepAskUserQuestionSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 186); + +/** + * @generated from message exa.cortex_pb.CortexStepAskUserQuestion.Request + */ +export type CortexStepAskUserQuestion_Request = Message<"exa.cortex_pb.CortexStepAskUserQuestion.Request"> & { + /** + * @generated from field: string question = 1; + */ + question: string; + + /** + * @generated from field: repeated exa.cortex_pb.AskUserQuestionOption options = 2; + */ + options: AskUserQuestionOption[]; + + /** + * @generated from field: bool allow_multiple = 3; + */ + allowMultiple: boolean; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepAskUserQuestion.Request. + * Use `create(CortexStepAskUserQuestion_RequestSchema)` to create a new message. + */ +export const CortexStepAskUserQuestion_RequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 186, 0); + +/** + * @generated from message exa.cortex_pb.CortexStepAskUserQuestion.Response + */ +export type CortexStepAskUserQuestion_Response = Message<"exa.cortex_pb.CortexStepAskUserQuestion.Response"> & { + /** + * @generated from oneof exa.cortex_pb.CortexStepAskUserQuestion.Response.response_type + */ + responseType: { + /** + * @generated from field: exa.cortex_pb.CortexStepAskUserQuestion.SelectedOptions selected_options = 1; + */ + value: CortexStepAskUserQuestion_SelectedOptions; + case: "selectedOptions"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexStepUserInput user_input = 2; + */ + value: CortexStepUserInput; + case: "userInput"; + } | { case: undefined; value?: undefined }; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepAskUserQuestion.Response. + * Use `create(CortexStepAskUserQuestion_ResponseSchema)` to create a new message. + */ +export const CortexStepAskUserQuestion_ResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 186, 1); + +/** + * @generated from message exa.cortex_pb.CortexStepAskUserQuestion.SelectedOptions + */ +export type CortexStepAskUserQuestion_SelectedOptions = Message<"exa.cortex_pb.CortexStepAskUserQuestion.SelectedOptions"> & { + /** + * @generated from field: repeated int32 indices = 1; + */ + indices: number[]; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepAskUserQuestion.SelectedOptions. + * Use `create(CortexStepAskUserQuestion_SelectedOptionsSchema)` to create a new message. + */ +export const CortexStepAskUserQuestion_SelectedOptionsSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 186, 2); + +/** + * @generated from message exa.cortex_pb.CortexStepArenaTrajectoryConverge + */ +export type CortexStepArenaTrajectoryConverge = Message<"exa.cortex_pb.CortexStepArenaTrajectoryConverge"> & { + /** + * @generated from field: string source_model_uid = 1; + */ + sourceModelUid: string; + + /** + * @generated from field: string source_cascade_id = 2; + */ + sourceCascadeId: string; + + /** + * @generated from field: repeated exa.cortex_pb.CortexTrajectoryStep original_steps = 3; + */ + originalSteps: CortexTrajectoryStep[]; + + /** + * @generated from field: string destination_model_uid = 4; + */ + destinationModelUid: string; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepArenaTrajectoryConverge. + * Use `create(CortexStepArenaTrajectoryConvergeSchema)` to create a new message. + */ +export const CortexStepArenaTrajectoryConvergeSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 187); + +/** + * @generated from message exa.cortex_pb.CortexStepLintFixMessage + */ +export type CortexStepLintFixMessage = Message<"exa.cortex_pb.CortexStepLintFixMessage"> & { + /** + * @generated from field: repeated exa.codeium_common_pb.CodeDiagnostic lint_errors = 1; + */ + lintErrors: CodeDiagnostic[]; + + /** + * @generated from field: repeated exa.codeium_common_pb.CodeDiagnostic persistent_lint_errors = 2; + */ + persistentLintErrors: CodeDiagnostic[]; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepLintFixMessage. + * Use `create(CortexStepLintFixMessageSchema)` to create a new message. + */ +export const CortexStepLintFixMessageSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 188); + +/** + * @generated from message exa.cortex_pb.ActiveUserState + */ +export type ActiveUserState = Message<"exa.cortex_pb.ActiveUserState"> & { + /** + * @generated from field: exa.codeium_common_pb.Document active_document = 1; + */ + activeDocument?: Document | undefined; + + /** + * @generated from field: repeated exa.codeium_common_pb.Document open_documents = 2; + */ + openDocuments: Document[]; + + /** + * @generated from field: exa.codeium_common_pb.CodeContextItem active_node = 3; + */ + activeNode?: CodeContextItem | undefined; +}; + +/** + * Describes the message exa.cortex_pb.ActiveUserState. + * Use `create(ActiveUserStateSchema)` to create a new message. + */ +export const ActiveUserStateSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 189); + +/** + * @generated from message exa.cortex_pb.CortexStepSupercompleteActiveDoc + */ +export type CortexStepSupercompleteActiveDoc = Message<"exa.cortex_pb.CortexStepSupercompleteActiveDoc"> & { + /** + * @generated from field: string instruction = 1; + */ + instruction: string; + + /** + * @generated from field: exa.codeium_common_pb.FileRangeContent selection_with_cursor = 2; + */ + selectionWithCursor?: FileRangeContent | undefined; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepSupercompleteActiveDoc. + * Use `create(CortexStepSupercompleteActiveDocSchema)` to create a new message. + */ +export const CortexStepSupercompleteActiveDocSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 190); + +/** + * @generated from message exa.cortex_pb.CortexStepSupercompleteFeedback + */ +export type CortexStepSupercompleteFeedback = Message<"exa.cortex_pb.CortexStepSupercompleteFeedback"> & { + /** + * @generated from field: string completion_id = 1; + */ + completionId: string; + + /** + * @generated from field: string completion_text = 2; + */ + completionText: string; + + /** + * @generated from field: string feedback_type = 3; + */ + feedbackType: string; + + /** + * @generated from field: string feedback_reason = 4; + */ + feedbackReason: string; + + /** + * @generated from field: exa.codeium_common_pb.Document document = 5; + */ + document?: Document | undefined; + + /** + * @generated from field: int64 feedback_delay_ms = 6; + */ + feedbackDelayMs: bigint; + + /** + * @generated from field: exa.codeium_common_pb.ProviderSource provider_source = 7; + */ + providerSource: ProviderSource; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepSupercompleteFeedback. + * Use `create(CortexStepSupercompleteFeedbackSchema)` to create a new message. + */ +export const CortexStepSupercompleteFeedbackSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 191); + +/** + * @generated from message exa.cortex_pb.CortexStepSupercompleteEphemeralFeedback + */ +export type CortexStepSupercompleteEphemeralFeedback = Message<"exa.cortex_pb.CortexStepSupercompleteEphemeralFeedback"> & { + /** + * @generated from field: repeated exa.cortex_pb.SupercompleteEphemeralFeedbackEntry feedback_entries = 1; + */ + feedbackEntries: SupercompleteEphemeralFeedbackEntry[]; + + /** + * @generated from field: int64 creation_timestamp_ms = 2; + */ + creationTimestampMs: bigint; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepSupercompleteEphemeralFeedback. + * Use `create(CortexStepSupercompleteEphemeralFeedbackSchema)` to create a new message. + */ +export const CortexStepSupercompleteEphemeralFeedbackSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 192); + +/** + * @generated from message exa.cortex_pb.SupercompleteEphemeralFeedbackEntry + */ +export type SupercompleteEphemeralFeedbackEntry = Message<"exa.cortex_pb.SupercompleteEphemeralFeedbackEntry"> & { + /** + * @generated from field: bool accepted = 1; + */ + accepted: boolean; + + /** + * @generated from field: bool intentional_reject = 2; + */ + intentionalReject: boolean; + + /** + * @generated from field: string completion_id = 3; + */ + completionId: string; + + /** + * @generated from field: int64 timestamp_ms = 4; + */ + timestampMs: bigint; + + /** + * @generated from field: exa.diff_action_pb.UnifiedDiff unified_diff = 5; + */ + unifiedDiff?: UnifiedDiff | undefined; + + /** + * @generated from field: uint64 selection_start_line = 7; + */ + selectionStartLine: bigint; + + /** + * @generated from field: exa.cortex_pb.SupercompleteTabJumpInfo tabjump_suggestion = 6; + */ + tabjumpSuggestion?: SupercompleteTabJumpInfo | undefined; +}; + +/** + * Describes the message exa.cortex_pb.SupercompleteEphemeralFeedbackEntry. + * Use `create(SupercompleteEphemeralFeedbackEntrySchema)` to create a new message. + */ +export const SupercompleteEphemeralFeedbackEntrySchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 193); + +/** + * @generated from message exa.cortex_pb.SupercompleteTabJumpInfo + */ +export type SupercompleteTabJumpInfo = Message<"exa.cortex_pb.SupercompleteTabJumpInfo"> & { + /** + * @generated from field: string path = 1; + */ + path: string; + + /** + * @generated from field: exa.codeium_common_pb.DocumentPosition jump_position = 2; + */ + jumpPosition?: DocumentPosition | undefined; + + /** + * @generated from field: bool is_import = 3; + */ + isImport: boolean; +}; + +/** + * Describes the message exa.cortex_pb.SupercompleteTabJumpInfo. + * Use `create(SupercompleteTabJumpInfoSchema)` to create a new message. + */ +export const SupercompleteTabJumpInfoSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 194); + +/** + * @generated from message exa.cortex_pb.CortexStepPlannerResponse + */ +export type CortexStepPlannerResponse = Message<"exa.cortex_pb.CortexStepPlannerResponse"> & { + /** + * @generated from field: string response = 1; + */ + response: string; + + /** + * @generated from field: string modified_response = 8; + */ + modifiedResponse: string; + + /** + * @generated from field: string thinking = 3; + */ + thinking: string; + + /** + * @generated from field: string signature = 4; + */ + signature: string; + + /** + * @generated from field: bool thinking_redacted = 5; + */ + thinkingRedacted: boolean; + + /** + * @generated from field: string message_id = 6; + */ + messageId: string; + + /** + * @generated from field: repeated exa.codeium_common_pb.ChatToolCall tool_calls = 7; + */ + toolCalls: ChatToolCall[]; + + /** + * @generated from field: repeated exa.codeium_common_pb.KnowledgeBaseItemWithMetadata knowledge_base_items = 2; + */ + knowledgeBaseItems: KnowledgeBaseItemWithMetadata[]; + + /** + * @generated from field: string output_id = 9; + */ + outputId: string; + + /** + * @generated from field: string thinking_id = 10 [deprecated = true]; + * @deprecated + */ + thinkingId: string; + + /** + * @generated from field: bytes gemini_thought_signature = 11 [deprecated = true]; + * @deprecated + */ + geminiThoughtSignature: Uint8Array; + + /** + * @generated from field: string signature_type = 12; + */ + signatureType: string; + + /** + * @generated from field: google.protobuf.Duration thinking_duration = 13; + */ + thinkingDuration?: Duration | undefined; + + /** + * @generated from field: string phase = 14; + */ + phase: string; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepPlannerResponse. + * Use `create(CortexStepPlannerResponseSchema)` to create a new message. + */ +export const CortexStepPlannerResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 195); + +/** + * @generated from message exa.cortex_pb.CortexStepFileBreakdown + */ +export type CortexStepFileBreakdown = Message<"exa.cortex_pb.CortexStepFileBreakdown"> & { + /** + * @generated from field: string absolute_path = 1; + */ + absolutePath: string; + + /** + * @generated from field: exa.codeium_common_pb.DocumentOutline document_outline = 2; + */ + documentOutline?: DocumentOutline | undefined; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepFileBreakdown. + * Use `create(CortexStepFileBreakdownSchema)` to create a new message. + */ +export const CortexStepFileBreakdownSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 196); + +/** + * @generated from message exa.cortex_pb.CortexStepViewCodeItem + */ +export type CortexStepViewCodeItem = Message<"exa.cortex_pb.CortexStepViewCodeItem"> & { + /** + * @generated from field: string absolute_uri = 1; + */ + absoluteUri: string; + + /** + * @generated from field: repeated string node_paths = 4; + */ + nodePaths: string[]; + + /** + * @generated from field: repeated exa.codeium_common_pb.CodeContextItem ccis = 5; + */ + ccis: CodeContextItem[]; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepViewCodeItem. + * Use `create(CortexStepViewCodeItemSchema)` to create a new message. + */ +export const CortexStepViewCodeItemSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 197); + +/** + * @generated from message exa.cortex_pb.CortexStepWriteToFile + */ +export type CortexStepWriteToFile = Message<"exa.cortex_pb.CortexStepWriteToFile"> & { + /** + * @generated from field: string target_file_uri = 1; + */ + targetFileUri: string; + + /** + * @generated from field: repeated string code_content = 2; + */ + codeContent: string[]; + + /** + * @generated from field: exa.diff_action_pb.DiffBlock diff = 3; + */ + diff?: DiffBlock | undefined; + + /** + * @generated from field: bool file_created = 4; + */ + fileCreated: boolean; + + /** + * @generated from field: exa.cortex_pb.AcknowledgementType acknowledgement_type = 5; + */ + acknowledgementType: AcknowledgementType; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepWriteToFile. + * Use `create(CortexStepWriteToFileSchema)` to create a new message. + */ +export const CortexStepWriteToFileSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 198); + +/** + * @generated from message exa.cortex_pb.CortexStepSearchKnowledgeBase + */ +export type CortexStepSearchKnowledgeBase = Message<"exa.cortex_pb.CortexStepSearchKnowledgeBase"> & { + /** + * @generated from field: repeated string queries = 1; + */ + queries: string[]; + + /** + * @generated from field: exa.opensearch_clients_pb.TimeRange time_range = 3; + */ + timeRange?: TimeRange | undefined; + + /** + * @generated from field: repeated exa.opensearch_clients_pb.ConnectorType connector_types = 4; + */ + connectorTypes: ConnectorType[]; + + /** + * @generated from field: repeated string aggregate_ids = 7; + */ + aggregateIds: string[]; + + /** + * @generated from field: repeated exa.codeium_common_pb.KnowledgeBaseGroup knowledge_base_groups = 2; + */ + knowledgeBaseGroups: KnowledgeBaseGroup[]; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepSearchKnowledgeBase. + * Use `create(CortexStepSearchKnowledgeBaseSchema)` to create a new message. + */ +export const CortexStepSearchKnowledgeBaseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 199); + +/** + * @generated from message exa.cortex_pb.CortexStepLookupKnowledgeBase + */ +export type CortexStepLookupKnowledgeBase = Message<"exa.cortex_pb.CortexStepLookupKnowledgeBase"> & { + /** + * @generated from field: repeated string urls = 1; + */ + urls: string[]; + + /** + * @generated from field: repeated string document_ids = 2; + */ + documentIds: string[]; + + /** + * @generated from field: repeated exa.codeium_common_pb.KnowledgeBaseItemWithMetadata knowledge_base_items = 3; + */ + knowledgeBaseItems: KnowledgeBaseItemWithMetadata[]; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepLookupKnowledgeBase. + * Use `create(CortexStepLookupKnowledgeBaseSchema)` to create a new message. + */ +export const CortexStepLookupKnowledgeBaseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 200); + +/** + * @generated from message exa.cortex_pb.CortexStepSuggestedResponses + */ +export type CortexStepSuggestedResponses = Message<"exa.cortex_pb.CortexStepSuggestedResponses"> & { + /** + * @generated from field: repeated string suggestions = 1; + */ + suggestions: string[]; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepSuggestedResponses. + * Use `create(CortexStepSuggestedResponsesSchema)` to create a new message. + */ +export const CortexStepSuggestedResponsesSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 201); + +/** + * @generated from message exa.cortex_pb.CortexStepErrorMessage + */ +export type CortexStepErrorMessage = Message<"exa.cortex_pb.CortexStepErrorMessage"> & { + /** + * @generated from field: exa.cortex_pb.CortexErrorDetails error = 3; + */ + error?: CortexErrorDetails | undefined; + + /** + * @generated from field: bool should_show_model = 4; + */ + shouldShowModel: boolean; + + /** + * @generated from field: bool should_show_user = 5; + */ + shouldShowUser: boolean; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepErrorMessage. + * Use `create(CortexStepErrorMessageSchema)` to create a new message. + */ +export const CortexStepErrorMessageSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 202); + +/** + * @generated from message exa.cortex_pb.CortexStepInspectCluster + */ +export type CortexStepInspectCluster = Message<"exa.cortex_pb.CortexStepInspectCluster"> & { + /** + * @generated from field: string cluster_id = 1; + */ + clusterId: string; + + /** + * @generated from field: string query = 2; + */ + query: string; + + /** + * @generated from field: exa.codeium_common_pb.CodebaseCluster matched_cluster = 3; + */ + matchedCluster?: CodebaseCluster | undefined; + + /** + * @generated from field: repeated exa.context_module_pb.CciWithSubrangeWithRetrievalMetadata ccis = 4; + */ + ccis: CciWithSubrangeWithRetrievalMetadata[]; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepInspectCluster. + * Use `create(CortexStepInspectClusterSchema)` to create a new message. + */ +export const CortexStepInspectClusterSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 203); + +/** + * @generated from message exa.cortex_pb.RunCommandOutput + */ +export type RunCommandOutput = Message<"exa.cortex_pb.RunCommandOutput"> & { + /** + * @generated from field: string full = 1; + */ + full: string; + + /** + * @generated from field: string ansi_output = 4; + */ + ansiOutput: string; + + /** + * @generated from field: string truncated = 2 [deprecated = true]; + * @deprecated + */ + truncated: string; + + /** + * @generated from field: uint32 num_lines_above = 3 [deprecated = true]; + * @deprecated + */ + numLinesAbove: number; +}; + +/** + * Describes the message exa.cortex_pb.RunCommandOutput. + * Use `create(RunCommandOutputSchema)` to create a new message. + */ +export const RunCommandOutputSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 204); + +/** + * @generated from message exa.cortex_pb.SimpleCommand + */ +export type SimpleCommand = Message<"exa.cortex_pb.SimpleCommand"> & { + /** + * @generated from field: repeated string parts = 1; + */ + parts: string[]; +}; + +/** + * Describes the message exa.cortex_pb.SimpleCommand. + * Use `create(SimpleCommandSchema)` to create a new message. + */ +export const SimpleCommandSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 205); + +/** + * @generated from message exa.cortex_pb.CortexStepRunCommand + */ +export type CortexStepRunCommand = Message<"exa.cortex_pb.CortexStepRunCommand"> & { + /** + * @generated from field: string command_line = 23; + */ + commandLine: string; + + /** + * @generated from field: string proposed_command_line = 25; + */ + proposedCommandLine: string; + + /** + * @generated from field: string cwd = 2; + */ + cwd: string; + + /** + * @generated from field: bool blocking = 11; + */ + blocking: boolean; + + /** + * @generated from field: uint64 wait_ms_before_async = 12; + */ + waitMsBeforeAsync: bigint; + + /** + * @generated from field: bool should_auto_run = 15; + */ + shouldAutoRun: boolean; + + /** + * @generated from field: string requested_terminal_id = 17; + */ + requestedTerminalId: string; + + /** + * @generated from field: string agent_harness = 26; + */ + agentHarness: string; + + /** + * @generated from field: string command_id = 13; + */ + commandId: string; + + /** + * @generated from field: optional int32 exit_code = 6; + */ + exitCode?: number | undefined; + + /** + * @generated from field: bool user_rejected = 14; + */ + userRejected: boolean; + + /** + * @generated from field: exa.cortex_pb.AutoRunDecision auto_run_decision = 16; + */ + autoRunDecision: AutoRunDecision; + + /** + * @generated from field: string terminal_id = 18; + */ + terminalId: string; + + /** + * @generated from field: exa.cortex_pb.RunCommandOutput combined_output = 21; + */ + combinedOutput?: RunCommandOutput | undefined; + + /** + * @generated from field: bool used_ide_terminal = 22; + */ + usedIdeTerminal: boolean; + + /** + * @generated from field: string raw_debug_output = 24; + */ + rawDebugOutput: string; + + /** + * @generated from field: string shell_integration_failure_reason = 27; + */ + shellIntegrationFailureReason: string; + + /** + * @generated from field: string shell_name = 28; + */ + shellName: string; + + /** + * @generated from field: repeated exa.cortex_pb.SimpleCommand parsed_commands = 29; + */ + parsedCommands: SimpleCommand[]; + + /** + * @generated from field: string command = 1 [deprecated = true]; + * @deprecated + */ + command: string; + + /** + * @generated from field: repeated string args = 3 [deprecated = true]; + * @deprecated + */ + args: string[]; + + /** + * @generated from field: string stdout = 4 [deprecated = true]; + * @deprecated + */ + stdout: string; + + /** + * @generated from field: string stderr = 5 [deprecated = true]; + * @deprecated + */ + stderr: string; + + /** + * @generated from field: string stdout_buffer = 7 [deprecated = true]; + * @deprecated + */ + stdoutBuffer: string; + + /** + * @generated from field: string stderr_buffer = 8 [deprecated = true]; + * @deprecated + */ + stderrBuffer: string; + + /** + * @generated from field: uint32 stdout_lines_above = 9 [deprecated = true]; + * @deprecated + */ + stdoutLinesAbove: number; + + /** + * @generated from field: uint32 stderr_lines_above = 10 [deprecated = true]; + * @deprecated + */ + stderrLinesAbove: number; + + /** + * @generated from field: exa.cortex_pb.RunCommandOutput stdout_output = 19 [deprecated = true]; + * @deprecated + */ + stdoutOutput?: RunCommandOutput | undefined; + + /** + * @generated from field: exa.cortex_pb.RunCommandOutput stderr_output = 20 [deprecated = true]; + * @deprecated + */ + stderrOutput?: RunCommandOutput | undefined; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepRunCommand. + * Use `create(CortexStepRunCommandSchema)` to create a new message. + */ +export const CortexStepRunCommandSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 206); + +/** + * @generated from message exa.cortex_pb.CortexStepRelatedFiles + */ +export type CortexStepRelatedFiles = Message<"exa.cortex_pb.CortexStepRelatedFiles"> & { + /** + * @generated from field: string absolute_uri = 1; + */ + absoluteUri: string; + + /** + * @generated from field: repeated string related_file_absolute_uris = 2; + */ + relatedFileAbsoluteUris: string[]; + + /** + * @generated from field: repeated float scores = 3; + */ + scores: number[]; + + /** + * @generated from field: string related_file_error = 4; + */ + relatedFileError: string; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepRelatedFiles. + * Use `create(CortexStepRelatedFilesSchema)` to create a new message. + */ +export const CortexStepRelatedFilesSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 207); + +/** + * @generated from message exa.cortex_pb.CortexStepReadUrlContent + */ +export type CortexStepReadUrlContent = Message<"exa.cortex_pb.CortexStepReadUrlContent"> & { + /** + * @generated from field: string url = 1; + */ + url: string; + + /** + * @generated from field: exa.codeium_common_pb.KnowledgeBaseItem web_document = 2; + */ + webDocument?: KnowledgeBaseItem | undefined; + + /** + * @generated from field: string resolved_url = 3; + */ + resolvedUrl: string; + + /** + * @generated from field: uint32 latency_ms = 4; + */ + latencyMs: number; + + /** + * @generated from field: bool user_rejected = 6; + */ + userRejected: boolean; + + /** + * @generated from field: exa.cortex_pb.AutoRunDecision auto_run_decision = 7; + */ + autoRunDecision: AutoRunDecision; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepReadUrlContent. + * Use `create(CortexStepReadUrlContentSchema)` to create a new message. + */ +export const CortexStepReadUrlContentSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 208); + +/** + * @generated from message exa.cortex_pb.CortexStepReadKnowledgeBaseItem + */ +export type CortexStepReadKnowledgeBaseItem = Message<"exa.cortex_pb.CortexStepReadKnowledgeBaseItem"> & { + /** + * @generated from field: string identifier = 1; + */ + identifier: string; + + /** + * @generated from field: exa.codeium_common_pb.KnowledgeBaseItem knowledge_base_item = 2; + */ + knowledgeBaseItem?: KnowledgeBaseItem | undefined; + + /** + * @generated from field: exa.opensearch_clients_pb.ConnectorType connector_type = 3; + */ + connectorType: ConnectorType; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepReadKnowledgeBaseItem. + * Use `create(CortexStepReadKnowledgeBaseItemSchema)` to create a new message. + */ +export const CortexStepReadKnowledgeBaseItemSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 209); + +/** + * @generated from message exa.cortex_pb.CortexStepViewContentChunk + */ +export type CortexStepViewContentChunk = Message<"exa.cortex_pb.CortexStepViewContentChunk"> & { + /** + * @generated from field: string document_id = 5; + */ + documentId: string; + + /** + * @generated from field: int32 position = 2; + */ + position: number; + + /** + * @generated from field: exa.codeium_common_pb.KnowledgeBaseItem cropped_item = 4; + */ + croppedItem?: KnowledgeBaseItem | undefined; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepViewContentChunk. + * Use `create(CortexStepViewContentChunkSchema)` to create a new message. + */ +export const CortexStepViewContentChunkSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 210); + +/** + * @generated from message exa.cortex_pb.CortexStepSearchWeb + */ +export type CortexStepSearchWeb = Message<"exa.cortex_pb.CortexStepSearchWeb"> & { + /** + * @generated from field: string query = 1; + */ + query: string; + + /** + * @generated from field: string domain = 3; + */ + domain: string; + + /** + * @generated from field: repeated exa.codeium_common_pb.KnowledgeBaseItem web_documents = 2; + */ + webDocuments: KnowledgeBaseItem[]; + + /** + * @generated from field: string web_search_url = 4; + */ + webSearchUrl: string; + + /** + * @generated from field: string summary = 5; + */ + summary: string; + + /** + * @generated from field: exa.codeium_common_pb.ThirdPartyWebSearchConfig third_party_config = 6; + */ + thirdPartyConfig?: ThirdPartyWebSearchConfig | undefined; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepSearchWeb. + * Use `create(CortexStepSearchWebSchema)` to create a new message. + */ +export const CortexStepSearchWebSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 211); + +/** + * @generated from message exa.cortex_pb.CortexStepReadDeploymentConfig + */ +export type CortexStepReadDeploymentConfig = Message<"exa.cortex_pb.CortexStepReadDeploymentConfig"> & { + /** + * @generated from field: string project_path = 1; + */ + projectPath: string; + + /** + * @generated from field: string deployment_config_uri = 2; + */ + deploymentConfigUri: string; + + /** + * @generated from field: exa.codeium_common_pb.WebAppDeploymentConfig deployment_config = 3; + */ + deploymentConfig?: WebAppDeploymentConfig | undefined; + + /** + * @generated from field: repeated string missing_file_uris = 4; + */ + missingFileUris: string[]; + + /** + * @generated from field: bool will_upload_node_modules = 5; + */ + willUploadNodeModules: boolean; + + /** + * @generated from field: bool will_upload_dist = 6; + */ + willUploadDist: boolean; + + /** + * @generated from field: repeated string ignore_file_uris = 7; + */ + ignoreFileUris: string[]; + + /** + * @generated from field: uint32 num_files_to_upload = 8; + */ + numFilesToUpload: number; + + /** + * @generated from field: repeated string env_file_uris = 9; + */ + envFileUris: string[]; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepReadDeploymentConfig. + * Use `create(CortexStepReadDeploymentConfigSchema)` to create a new message. + */ +export const CortexStepReadDeploymentConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 212); + +/** + * @generated from message exa.cortex_pb.CortexStepDeployWebApp + */ +export type CortexStepDeployWebApp = Message<"exa.cortex_pb.CortexStepDeployWebApp"> & { + /** + * @generated from field: string project_path = 1; + */ + projectPath: string; + + /** + * @generated from field: string subdomain = 2; + */ + subdomain: string; + + /** + * @generated from field: string project_id = 11; + */ + projectId: string; + + /** + * @generated from field: string framework = 3; + */ + framework: string; + + /** + * @generated from field: bool user_confirmed = 4; + */ + userConfirmed: boolean; + + /** + * @generated from field: map file_upload_status = 5; + */ + fileUploadStatus: { [key: string]: DeployWebAppFileUploadStatus }; + + /** + * @generated from field: exa.codeium_common_pb.WindsurfDeployment deployment = 6; + */ + deployment?: WindsurfDeployment | undefined; + + /** + * @generated from field: string deployment_config_uri = 7; + */ + deploymentConfigUri: string; + + /** + * @generated from field: exa.codeium_common_pb.WebAppDeploymentConfig deployment_config_output = 8; + */ + deploymentConfigOutput?: WebAppDeploymentConfig | undefined; + + /** + * @generated from field: string subdomain_for_project_id = 12; + */ + subdomainForProjectId: string; + + /** + * @generated from field: string subdomain_user_specified = 13; + */ + subdomainUserSpecified: string; + + /** + * @generated from field: string subdomain_used = 9; + */ + subdomainUsed: string; + + /** + * @generated from field: exa.codeium_common_pb.DeployTarget deploy_target_for_project_id = 15; + */ + deployTargetForProjectId?: DeployTarget | undefined; + + /** + * @generated from field: exa.codeium_common_pb.DeployTarget deploy_target_user_specified = 16; + */ + deployTargetUserSpecified?: DeployTarget | undefined; + + /** + * @generated from field: exa.codeium_common_pb.DeployTarget deploy_target_used = 17; + */ + deployTargetUsed?: DeployTarget | undefined; + + /** + * @generated from field: string project_id_used = 14; + */ + projectIdUsed: string; + + /** + * @generated from field: string claim_url = 10; + */ + claimUrl: string; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepDeployWebApp. + * Use `create(CortexStepDeployWebAppSchema)` to create a new message. + */ +export const CortexStepDeployWebAppSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 213); + +/** + * @generated from message exa.cortex_pb.CortexStepCheckDeployStatus + */ +export type CortexStepCheckDeployStatus = Message<"exa.cortex_pb.CortexStepCheckDeployStatus"> & { + /** + * @generated from field: string windsurf_deployment_id = 1; + */ + windsurfDeploymentId: string; + + /** + * @generated from field: exa.codeium_common_pb.WindsurfDeployment deployment = 2; + */ + deployment?: WindsurfDeployment | undefined; + + /** + * @generated from field: exa.codeium_common_pb.DeploymentBuildStatus build_status = 3; + */ + buildStatus: DeploymentBuildStatus; + + /** + * @generated from field: string build_error = 4; + */ + buildError: string; + + /** + * @generated from field: string build_logs = 5; + */ + buildLogs: string; + + /** + * @generated from field: bool is_claimed = 6; + */ + isClaimed: boolean; + + /** + * @generated from field: string claim_url = 7; + */ + claimUrl: string; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepCheckDeployStatus. + * Use `create(CortexStepCheckDeployStatusSchema)` to create a new message. + */ +export const CortexStepCheckDeployStatusSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 214); + +/** + * @generated from message exa.cortex_pb.CortexStepClipboard + */ +export type CortexStepClipboard = Message<"exa.cortex_pb.CortexStepClipboard"> & { + /** + * @generated from field: string content = 1; + */ + content: string; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepClipboard. + * Use `create(CortexStepClipboardSchema)` to create a new message. + */ +export const CortexStepClipboardSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 215); + +/** + * @generated from message exa.cortex_pb.ExecutorMetadata + */ +export type ExecutorMetadata = Message<"exa.cortex_pb.ExecutorMetadata"> & { + /** + * @generated from field: exa.cortex_pb.ExecutorTerminationReason termination_reason = 1; + */ + terminationReason: ExecutorTerminationReason; + + /** + * @generated from field: int32 num_generator_invocations = 2; + */ + numGeneratorInvocations: number; + + /** + * @generated from field: int32 last_step_idx = 3; + */ + lastStepIdx: number; + + /** + * @generated from field: bool proceeded_with_auto_continue = 4; + */ + proceededWithAutoContinue: boolean; +}; + +/** + * Describes the message exa.cortex_pb.ExecutorMetadata. + * Use `create(ExecutorMetadataSchema)` to create a new message. + */ +export const ExecutorMetadataSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 216); + +/** + * @generated from message exa.cortex_pb.CortexStepLintDiff + */ +export type CortexStepLintDiff = Message<"exa.cortex_pb.CortexStepLintDiff"> & { + /** + * @generated from field: exa.cortex_pb.LintDiffType type = 1; + */ + type: LintDiffType; + + /** + * @generated from field: exa.codeium_common_pb.CodeDiagnostic lint = 2; + */ + lint?: CodeDiagnostic | undefined; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepLintDiff. + * Use `create(CortexStepLintDiffSchema)` to create a new message. + */ +export const CortexStepLintDiffSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 217); + +/** + * @generated from message exa.cortex_pb.BrainEntry + */ +export type BrainEntry = Message<"exa.cortex_pb.BrainEntry"> & { + /** + * @generated from field: string id = 1; + */ + id: string; + + /** + * @generated from field: exa.cortex_pb.BrainEntryType type = 2; + */ + type: BrainEntryType; + + /** + * @generated from field: string content = 3; + */ + content: string; +}; + +/** + * Describes the message exa.cortex_pb.BrainEntry. + * Use `create(BrainEntrySchema)` to create a new message. + */ +export const BrainEntrySchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 218); + +/** + * @generated from message exa.cortex_pb.PlanEntryDeltaSummary + */ +export type PlanEntryDeltaSummary = Message<"exa.cortex_pb.PlanEntryDeltaSummary"> & { + /** + * @generated from field: repeated string items_added = 1; + */ + itemsAdded: string[]; + + /** + * @generated from field: repeated string items_completed = 2; + */ + itemsCompleted: string[]; +}; + +/** + * Describes the message exa.cortex_pb.PlanEntryDeltaSummary. + * Use `create(PlanEntryDeltaSummarySchema)` to create a new message. + */ +export const PlanEntryDeltaSummarySchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 219); + +/** + * @generated from message exa.cortex_pb.BrainEntryDeltaSummary + */ +export type BrainEntryDeltaSummary = Message<"exa.cortex_pb.BrainEntryDeltaSummary"> & { + /** + * @generated from oneof exa.cortex_pb.BrainEntryDeltaSummary.summary + */ + summary: { + /** + * @generated from field: exa.cortex_pb.PlanEntryDeltaSummary plan = 1; + */ + value: PlanEntryDeltaSummary; + case: "plan"; + } | { + /** + * @generated from field: exa.cortex_pb.TaskEntryDeltaSummary task = 2; + */ + value: TaskEntryDeltaSummary; + case: "task"; + } | { case: undefined; value?: undefined }; +}; + +/** + * Describes the message exa.cortex_pb.BrainEntryDeltaSummary. + * Use `create(BrainEntryDeltaSummarySchema)` to create a new message. + */ +export const BrainEntryDeltaSummarySchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 220); + +/** + * @generated from message exa.cortex_pb.BrainEntryDelta + */ +export type BrainEntryDelta = Message<"exa.cortex_pb.BrainEntryDelta"> & { + /** + * @generated from field: exa.cortex_pb.BrainEntry before = 1; + */ + before?: BrainEntry | undefined; + + /** + * @generated from field: exa.cortex_pb.BrainEntry after = 2; + */ + after?: BrainEntry | undefined; + + /** + * @generated from field: string absolute_path_uri = 3; + */ + absolutePathUri: string; + + /** + * @generated from field: exa.cortex_pb.BrainEntryDeltaSummary summary = 4; + */ + summary?: BrainEntryDeltaSummary | undefined; +}; + +/** + * Describes the message exa.cortex_pb.BrainEntryDelta. + * Use `create(BrainEntryDeltaSchema)` to create a new message. + */ +export const BrainEntryDeltaSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 221); + +/** + * @generated from message exa.cortex_pb.TaskItem + */ +export type TaskItem = Message<"exa.cortex_pb.TaskItem"> & { + /** + * @generated from field: string id = 1; + */ + id: string; + + /** + * @generated from field: string content = 2; + */ + content: string; + + /** + * @generated from field: exa.cortex_pb.TaskStatus status = 3; + */ + status: TaskStatus; + + /** + * @generated from field: string parent_id = 4; + */ + parentId: string; + + /** + * @generated from field: string prev_sibling_id = 5; + */ + prevSiblingId: string; +}; + +/** + * Describes the message exa.cortex_pb.TaskItem. + * Use `create(TaskItemSchema)` to create a new message. + */ +export const TaskItemSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 222); + +/** + * @generated from message exa.cortex_pb.TaskDelta + */ +export type TaskDelta = Message<"exa.cortex_pb.TaskDelta"> & { + /** + * @generated from field: exa.cortex_pb.TaskDeltaType type = 1; + */ + type: TaskDeltaType; + + /** + * @generated from field: string id = 2; + */ + id: string; + + /** + * @generated from field: string content = 3; + */ + content: string; + + /** + * @generated from field: exa.cortex_pb.TaskStatus status = 4; + */ + status: TaskStatus; + + /** + * @generated from field: string parent_id = 5; + */ + parentId: string; + + /** + * @generated from field: string prev_sibling_id = 6; + */ + prevSiblingId: string; + + /** + * @generated from field: string from_parent = 7; + */ + fromParent: string; + + /** + * @generated from field: string from_prev_sibling = 8; + */ + fromPrevSibling: string; +}; + +/** + * Describes the message exa.cortex_pb.TaskDelta. + * Use `create(TaskDeltaSchema)` to create a new message. + */ +export const TaskDeltaSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 223); + +/** + * @generated from message exa.cortex_pb.TaskEntryDeltaSummary + */ +export type TaskEntryDeltaSummary = Message<"exa.cortex_pb.TaskEntryDeltaSummary"> & { + /** + * @generated from field: repeated exa.cortex_pb.TaskDelta deltas = 1; + */ + deltas: TaskDelta[]; + + /** + * @generated from field: int32 items_added = 2; + */ + itemsAdded: number; + + /** + * @generated from field: int32 items_pruned = 3; + */ + itemsPruned: number; + + /** + * @generated from field: int32 items_deleted = 4; + */ + itemsDeleted: number; + + /** + * @generated from field: int32 items_updated = 5; + */ + itemsUpdated: number; + + /** + * @generated from field: int32 items_moved = 6; + */ + itemsMoved: number; +}; + +/** + * Describes the message exa.cortex_pb.TaskEntryDeltaSummary. + * Use `create(TaskEntryDeltaSummarySchema)` to create a new message. + */ +export const TaskEntryDeltaSummarySchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 224); + +/** + * @generated from message exa.cortex_pb.CortexStepBrainUpdate + */ +export type CortexStepBrainUpdate = Message<"exa.cortex_pb.CortexStepBrainUpdate"> & { + /** + * @generated from oneof exa.cortex_pb.CortexStepBrainUpdate.target + */ + target: { + /** + * @generated from field: exa.cortex_pb.BrainEntryType entry_type = 1; + */ + value: BrainEntryType; + case: "entryType"; + } | { case: undefined; value?: undefined }; + + /** + * @generated from field: exa.cortex_pb.BrainUpdateTrigger trigger = 3; + */ + trigger: BrainUpdateTrigger; + + /** + * @generated from field: repeated exa.cortex_pb.BrainEntryDelta deltas = 2; + */ + deltas: BrainEntryDelta[]; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepBrainUpdate. + * Use `create(CortexStepBrainUpdateSchema)` to create a new message. + */ +export const CortexStepBrainUpdateSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 225); + +/** + * @generated from message exa.cortex_pb.CortexStepAddAnnotation + */ +export type CortexStepAddAnnotation = Message<"exa.cortex_pb.CortexStepAddAnnotation"> & { + /** + * @generated from field: exa.codeium_common_pb.CodeAnnotation annotation = 1; + */ + annotation?: CodeAnnotation | undefined; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepAddAnnotation. + * Use `create(CortexStepAddAnnotationSchema)` to create a new message. + */ +export const CortexStepAddAnnotationSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 226); + +/** + * @generated from message exa.cortex_pb.AddAnnotationConfig + */ +export type AddAnnotationConfig = Message<"exa.cortex_pb.AddAnnotationConfig"> & { + /** + * @generated from field: optional bool enabled = 1; + */ + enabled?: boolean | undefined; + + /** + * @generated from field: optional bool enabled_for_conversational_mixin = 2; + */ + enabledForConversationalMixin?: boolean | undefined; +}; + +/** + * Describes the message exa.cortex_pb.AddAnnotationConfig. + * Use `create(AddAnnotationConfigSchema)` to create a new message. + */ +export const AddAnnotationConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 227); + +/** + * @generated from message exa.cortex_pb.CascadeState + */ +export type CascadeState = Message<"exa.cortex_pb.CascadeState"> & { + /** + * @generated from field: string cascade_id = 1; + */ + cascadeId: string; + + /** + * @generated from field: exa.cortex_pb.CortexTrajectory trajectory = 2; + */ + trajectory?: CortexTrajectory | undefined; + + /** + * @generated from field: exa.cortex_pb.CascadeRunStatus status = 3; + */ + status: CascadeRunStatus; + + /** + * @generated from field: bool is_revert = 5; + */ + isRevert: boolean; + + /** + * @generated from field: exa.cortex_pb.ExecutorMetadata executor_metadata = 4; + */ + executorMetadata?: ExecutorMetadata | undefined; + + /** + * @generated from field: bool is_archived = 6; + */ + isArchived: boolean; +}; + +/** + * Describes the message exa.cortex_pb.CascadeState. + * Use `create(CascadeStateSchema)` to create a new message. + */ +export const CascadeStateSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 228); + +/** + * @generated from message exa.cortex_pb.CascadePanelState + */ +export type CascadePanelState = Message<"exa.cortex_pb.CascadePanelState"> & { + /** + * @generated from field: exa.codeium_common_pb.PlanStatus plan_status = 1; + */ + planStatus?: PlanStatus$1 | undefined; + + /** + * @generated from field: exa.codeium_common_pb.UserSettings user_settings = 2; + */ + userSettings?: UserSettings | undefined; +}; + +/** + * Describes the message exa.cortex_pb.CascadePanelState. + * Use `create(CascadePanelStateSchema)` to create a new message. + */ +export const CascadePanelStateSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 229); + +/** + * @generated from message exa.cortex_pb.CortexStepCommandStatus + */ +export type CortexStepCommandStatus = Message<"exa.cortex_pb.CortexStepCommandStatus"> & { + /** + * @generated from field: string command_id = 1; + */ + commandId: string; + + /** + * @generated from field: uint32 output_character_count = 8; + */ + outputCharacterCount: number; + + /** + * @generated from field: uint32 wait_duration_seconds = 10; + */ + waitDurationSeconds: number; + + /** + * @generated from field: exa.cortex_pb.CortexStepStatus status = 2; + */ + status: CortexStepStatus; + + /** + * @generated from field: string combined = 9; + */ + combined: string; + + /** + * @generated from field: optional string delta = 12; + */ + delta?: string | undefined; + + /** + * @generated from field: optional int32 exit_code = 5; + */ + exitCode?: number | undefined; + + /** + * @generated from field: exa.cortex_pb.CortexErrorDetails error = 6; + */ + error?: CortexErrorDetails | undefined; + + /** + * @generated from field: uint32 waited_duration_seconds = 11; + */ + waitedDurationSeconds: number; + + /** + * @generated from field: string stdout = 3 [deprecated = true]; + * @deprecated + */ + stdout: string; + + /** + * @generated from field: string stderr = 4 [deprecated = true]; + * @deprecated + */ + stderr: string; + + /** + * @generated from field: exa.cortex_pb.CommandOutputPriority output_priority = 7 [deprecated = true]; + * @deprecated + */ + outputPriority: CommandOutputPriority; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepCommandStatus. + * Use `create(CortexStepCommandStatusSchema)` to create a new message. + */ +export const CortexStepCommandStatusSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 230); + +/** + * @generated from message exa.cortex_pb.CortexMemory + */ +export type CortexMemory = Message<"exa.cortex_pb.CortexMemory"> & { + /** + * @generated from field: string memory_id = 1; + */ + memoryId: string; + + /** + * @generated from field: string title = 6; + */ + title: string; + + /** + * @generated from field: exa.cortex_pb.CortexMemoryMetadata metadata = 2; + */ + metadata?: CortexMemoryMetadata | undefined; + + /** + * @generated from field: exa.cortex_pb.CortexMemorySource source = 3; + */ + source: CortexMemorySource; + + /** + * @generated from field: exa.cortex_pb.CortexMemoryScope scope = 4; + */ + scope?: CortexMemoryScope | undefined; + + /** + * @generated from oneof exa.cortex_pb.CortexMemory.memory + */ + memory: { + /** + * @generated from field: exa.cortex_pb.CortexMemoryText text_memory = 5; + */ + value: CortexMemoryText; + case: "textMemory"; + } | { case: undefined; value?: undefined }; + + /** + * @generated from field: optional string parse_error = 7; + */ + parseError?: string | undefined; +}; + +/** + * Describes the message exa.cortex_pb.CortexMemory. + * Use `create(CortexMemorySchema)` to create a new message. + */ +export const CortexMemorySchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 231); + +/** + * @generated from message exa.cortex_pb.CortexMemoryMetadata + */ +export type CortexMemoryMetadata = Message<"exa.cortex_pb.CortexMemoryMetadata"> & { + /** + * @generated from field: google.protobuf.Timestamp created_at = 1; + */ + createdAt?: Timestamp | undefined; + + /** + * @generated from field: google.protobuf.Timestamp last_modified = 2; + */ + lastModified?: Timestamp | undefined; + + /** + * @generated from field: google.protobuf.Timestamp last_accessed = 3; + */ + lastAccessed?: Timestamp | undefined; + + /** + * @generated from field: repeated string tags = 4; + */ + tags: string[]; + + /** + * @generated from field: bool user_triggered = 5; + */ + userTriggered: boolean; +}; + +/** + * Describes the message exa.cortex_pb.CortexMemoryMetadata. + * Use `create(CortexMemoryMetadataSchema)` to create a new message. + */ +export const CortexMemoryMetadataSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 232); + +/** + * @generated from message exa.cortex_pb.CortexMemoryText + */ +export type CortexMemoryText = Message<"exa.cortex_pb.CortexMemoryText"> & { + /** + * @generated from field: string content = 1; + */ + content: string; +}; + +/** + * Describes the message exa.cortex_pb.CortexMemoryText. + * Use `create(CortexMemoryTextSchema)` to create a new message. + */ +export const CortexMemoryTextSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 233); + +/** + * @generated from message exa.cortex_pb.CortexMemoryScope + */ +export type CortexMemoryScope = Message<"exa.cortex_pb.CortexMemoryScope"> & { + /** + * @generated from oneof exa.cortex_pb.CortexMemoryScope.scope + */ + scope: { + /** + * @generated from field: exa.cortex_pb.CortexMemoryGlobalScope global_scope = 1; + */ + value: CortexMemoryGlobalScope; + case: "globalScope"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexMemoryLocalScope local_scope = 2; + */ + value: CortexMemoryLocalScope; + case: "localScope"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexMemoryAllScope all_scope = 3; + */ + value: CortexMemoryAllScope; + case: "allScope"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexMemoryProjectScope project_scope = 4; + */ + value: CortexMemoryProjectScope; + case: "projectScope"; + } | { + /** + * @generated from field: exa.cortex_pb.CortexMemorySystemScope system_scope = 5; + */ + value: CortexMemorySystemScope; + case: "systemScope"; + } | { case: undefined; value?: undefined }; +}; + +/** + * Describes the message exa.cortex_pb.CortexMemoryScope. + * Use `create(CortexMemoryScopeSchema)` to create a new message. + */ +export const CortexMemoryScopeSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 234); + +/** + * @generated from message exa.cortex_pb.CortexMemoryGlobalScope + */ +export type CortexMemoryGlobalScope = Message<"exa.cortex_pb.CortexMemoryGlobalScope"> & { +}; + +/** + * Describes the message exa.cortex_pb.CortexMemoryGlobalScope. + * Use `create(CortexMemoryGlobalScopeSchema)` to create a new message. + */ +export const CortexMemoryGlobalScopeSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 235); + +/** + * @generated from message exa.cortex_pb.CortexMemoryLocalScope + */ +export type CortexMemoryLocalScope = Message<"exa.cortex_pb.CortexMemoryLocalScope"> & { + /** + * @generated from field: repeated string corpus_names = 2; + */ + corpusNames: string[]; + + /** + * @generated from field: repeated string base_dir_uris = 3; + */ + baseDirUris: string[]; + + /** + * @generated from field: string repo_base_dir_uri = 1 [deprecated = true]; + * @deprecated + */ + repoBaseDirUri: string; +}; + +/** + * Describes the message exa.cortex_pb.CortexMemoryLocalScope. + * Use `create(CortexMemoryLocalScopeSchema)` to create a new message. + */ +export const CortexMemoryLocalScopeSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 236); + +/** + * @generated from message exa.cortex_pb.CortexMemoryAllScope + */ +export type CortexMemoryAllScope = Message<"exa.cortex_pb.CortexMemoryAllScope"> & { +}; + +/** + * Describes the message exa.cortex_pb.CortexMemoryAllScope. + * Use `create(CortexMemoryAllScopeSchema)` to create a new message. + */ +export const CortexMemoryAllScopeSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 237); + +/** + * @generated from message exa.cortex_pb.CortexMemorySystemScope + */ +export type CortexMemorySystemScope = Message<"exa.cortex_pb.CortexMemorySystemScope"> & { +}; + +/** + * Describes the message exa.cortex_pb.CortexMemorySystemScope. + * Use `create(CortexMemorySystemScopeSchema)` to create a new message. + */ +export const CortexMemorySystemScopeSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 238); + +/** + * @generated from message exa.cortex_pb.CortexMemoryProjectScope + */ +export type CortexMemoryProjectScope = Message<"exa.cortex_pb.CortexMemoryProjectScope"> & { + /** + * @generated from field: string file_path = 1; + */ + filePath: string; + + /** + * @generated from field: string absolute_file_path = 7; + */ + absoluteFilePath: string; + + /** + * @generated from field: repeated string base_dir_uris = 2; + */ + baseDirUris: string[]; + + /** + * @generated from field: repeated string corpus_names = 3; + */ + corpusNames: string[]; + + /** + * @generated from field: exa.cortex_pb.CortexMemoryTrigger trigger = 4; + */ + trigger: CortexMemoryTrigger; + + /** + * @generated from field: string description = 5; + */ + description: string; + + /** + * @generated from field: repeated string globs = 6; + */ + globs: string[]; + + /** + * @generated from field: exa.cortex_pb.RuleSource rule_source = 8; + */ + ruleSource: RuleSource; +}; + +/** + * Describes the message exa.cortex_pb.CortexMemoryProjectScope. + * Use `create(CortexMemoryProjectScopeSchema)` to create a new message. + */ +export const CortexMemoryProjectScopeSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 239); + +/** + * @generated from message exa.cortex_pb.CortexSkill + */ +export type CortexSkill = Message<"exa.cortex_pb.CortexSkill"> & { + /** + * @generated from field: string name = 1; + */ + name: string; + + /** + * @generated from field: string description = 2; + */ + description: string; + + /** + * @generated from field: string path = 3; + */ + path: string; + + /** + * @generated from field: int32 resource_count = 4; + */ + resourceCount: number; + + /** + * @generated from field: string base_dir = 5; + */ + baseDir: string; + + /** + * @generated from field: string content = 6; + */ + content: string; + + /** + * @generated from field: bool is_global = 7 [deprecated = true]; + * @deprecated + */ + isGlobal: boolean; + + /** + * @generated from field: optional string parse_error = 8; + */ + parseError?: string | undefined; + + /** + * @generated from field: exa.cortex_pb.SkillSource skill_source = 9; + */ + skillSource: SkillSource; +}; + +/** + * Describes the message exa.cortex_pb.CortexSkill. + * Use `create(CortexSkillSchema)` to create a new message. + */ +export const CortexSkillSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 240); + +/** + * @generated from message exa.cortex_pb.CortexStepMemory + */ +export type CortexStepMemory = Message<"exa.cortex_pb.CortexStepMemory"> & { + /** + * @generated from field: string memory_id = 1; + */ + memoryId: string; + + /** + * @generated from field: exa.cortex_pb.CortexMemory memory = 2; + */ + memory?: CortexMemory | undefined; + + /** + * @generated from field: exa.cortex_pb.CortexMemory prev_memory = 4; + */ + prevMemory?: CortexMemory | undefined; + + /** + * @generated from field: exa.cortex_pb.MemoryActionType action = 3; + */ + action: MemoryActionType; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepMemory. + * Use `create(CortexStepMemorySchema)` to create a new message. + */ +export const CortexStepMemorySchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 241); + +/** + * @generated from message exa.cortex_pb.CortexStepRetrieveMemory + */ +export type CortexStepRetrieveMemory = Message<"exa.cortex_pb.CortexStepRetrieveMemory"> & { + /** + * @generated from field: bool run_subagent = 1; + */ + runSubagent: boolean; + + /** + * @generated from field: bool add_user_memories = 8; + */ + addUserMemories: boolean; + + /** + * @generated from field: bool add_auto_cascade_memories = 10; + */ + addAutoCascadeMemories: boolean; + + /** + * @generated from field: string cascade_memory_summary = 2; + */ + cascadeMemorySummary: string; + + /** + * @generated from field: string user_memory_summary = 3; + */ + userMemorySummary: string; + + /** + * @generated from field: string auto_cascade_memory_summary = 9; + */ + autoCascadeMemorySummary: string; + + /** + * @generated from field: string reason = 4; + */ + reason: string; + + /** + * @generated from field: bool show_reason = 5; + */ + showReason: boolean; + + /** + * @generated from field: repeated exa.cortex_pb.CortexMemory retrieved_memories = 6; + */ + retrievedMemories: CortexMemory[]; + + /** + * @generated from field: bool blocking = 7 [deprecated = true]; + * @deprecated + */ + blocking: boolean; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepRetrieveMemory. + * Use `create(CortexStepRetrieveMemorySchema)` to create a new message. + */ +export const CortexStepRetrieveMemorySchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 242); + +/** + * @generated from message exa.cortex_pb.MemoryConfig + */ +export type MemoryConfig = Message<"exa.cortex_pb.MemoryConfig"> & { + /** + * @generated from field: exa.codeium_common_pb.Model memory_model_deprecated = 1 [deprecated = true]; + * @deprecated + */ + memoryModelDeprecated: Model; + + /** + * @generated from field: string memory_model_uid = 8; + */ + memoryModelUid: string; + + /** + * @generated from field: uint32 num_checkpoints_for_context = 5; + */ + numCheckpointsForContext: number; + + /** + * @generated from field: int32 num_memories_to_consider = 3; + */ + numMemoriesToConsider: number; + + /** + * @generated from field: int32 max_global_cascade_memories = 4; + */ + maxGlobalCascadeMemories: number; + + /** + * @generated from field: optional bool condense_input_trajectory = 6 [deprecated = true]; + * @deprecated + */ + condenseInputTrajectory?: boolean | undefined; + + /** + * @generated from field: optional bool add_user_memories_to_system_prompt = 7; + */ + addUserMemoriesToSystemPrompt?: boolean | undefined; + + /** + * @generated from field: optional bool enabled = 2 [deprecated = true]; + * @deprecated + */ + enabled?: boolean | undefined; +}; + +/** + * Describes the message exa.cortex_pb.MemoryConfig. + * Use `create(MemoryConfigSchema)` to create a new message. + */ +export const MemoryConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 243); + +/** + * @generated from message exa.cortex_pb.ViewedFileTrackerConfig + */ +export type ViewedFileTrackerConfig = Message<"exa.cortex_pb.ViewedFileTrackerConfig"> & { + /** + * @generated from field: optional uint32 max_steps_per_checkpoint = 1; + */ + maxStepsPerCheckpoint?: number | undefined; + + /** + * @generated from field: uint32 max_files_in_prompt = 2; + */ + maxFilesInPrompt: number; + + /** + * @generated from field: uint32 max_lines_per_file_in_prompt = 3; + */ + maxLinesPerFileInPrompt: number; +}; + +/** + * Describes the message exa.cortex_pb.ViewedFileTrackerConfig. + * Use `create(ViewedFileTrackerConfigSchema)` to create a new message. + */ +export const ViewedFileTrackerConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 244); + +/** + * @generated from message exa.cortex_pb.CodeStepCreationOptions + */ +export type CodeStepCreationOptions = Message<"exa.cortex_pb.CodeStepCreationOptions"> & { + /** + * @generated from field: int64 diff_block_separation_threshold = 1; + */ + diffBlockSeparationThreshold: bigint; + + /** + * @generated from field: bool handle_deletions = 2; + */ + handleDeletions: boolean; + + /** + * @generated from field: bool handle_creations = 3; + */ + handleCreations: boolean; + + /** + * @generated from field: optional bool include_original_content = 4; + */ + includeOriginalContent?: boolean | undefined; +}; + +/** + * Describes the message exa.cortex_pb.CodeStepCreationOptions. + * Use `create(CodeStepCreationOptionsSchema)` to create a new message. + */ +export const CodeStepCreationOptionsSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 245); + +/** + * @generated from message exa.cortex_pb.BrainUpdateStepCreationOptions + */ +export type BrainUpdateStepCreationOptions = Message<"exa.cortex_pb.BrainUpdateStepCreationOptions"> & { + /** + * @generated from field: string entry_id_prefix = 1; + */ + entryIdPrefix: string; +}; + +/** + * Describes the message exa.cortex_pb.BrainUpdateStepCreationOptions. + * Use `create(BrainUpdateStepCreationOptionsSchema)` to create a new message. + */ +export const BrainUpdateStepCreationOptionsSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 246); + +/** + * @generated from message exa.cortex_pb.ViewFileStepCreationOptions + */ +export type ViewFileStepCreationOptions = Message<"exa.cortex_pb.ViewFileStepCreationOptions"> & { + /** + * @generated from field: bool condition_on_edit_step = 1; + */ + conditionOnEditStep: boolean; + + /** + * @generated from field: optional bool include_raw_content = 2; + */ + includeRawContent?: boolean | undefined; +}; + +/** + * Describes the message exa.cortex_pb.ViewFileStepCreationOptions. + * Use `create(ViewFileStepCreationOptionsSchema)` to create a new message. + */ +export const ViewFileStepCreationOptionsSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 247); + +/** + * @generated from message exa.cortex_pb.UserGrepStepCreationOptions + */ +export type UserGrepStepCreationOptions = Message<"exa.cortex_pb.UserGrepStepCreationOptions"> & { + /** + * @generated from field: uint32 num_search_events = 1; + */ + numSearchEvents: number; +}; + +/** + * Describes the message exa.cortex_pb.UserGrepStepCreationOptions. + * Use `create(UserGrepStepCreationOptionsSchema)` to create a new message. + */ +export const UserGrepStepCreationOptionsSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 248); + +/** + * @generated from message exa.cortex_pb.RunCommandStepCreationOptions + */ +export type RunCommandStepCreationOptions = Message<"exa.cortex_pb.RunCommandStepCreationOptions"> & { + /** + * @generated from field: uint32 max_commands = 1; + */ + maxCommands: number; + + /** + * @generated from field: google.protobuf.Duration max_command_age = 2; + */ + maxCommandAge?: Duration | undefined; + + /** + * @generated from field: uint32 per_command_max_bytes_output = 3; + */ + perCommandMaxBytesOutput: number; + + /** + * @generated from field: uint32 total_max_bytes_output = 4; + */ + totalMaxBytesOutput: number; + + /** + * @generated from field: optional bool include_running = 5; + */ + includeRunning?: boolean | undefined; +}; + +/** + * Describes the message exa.cortex_pb.RunCommandStepCreationOptions. + * Use `create(RunCommandStepCreationOptionsSchema)` to create a new message. + */ +export const RunCommandStepCreationOptionsSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 249); + +/** + * @generated from message exa.cortex_pb.LintDiffStepCreationOptions + */ +export type LintDiffStepCreationOptions = Message<"exa.cortex_pb.LintDiffStepCreationOptions"> & { + /** + * @generated from field: uint32 max_lint_inserts = 1; + */ + maxLintInserts: number; + + /** + * @generated from field: uint32 min_required_lint_duration = 2; + */ + minRequiredLintDuration: number; +}; + +/** + * Describes the message exa.cortex_pb.LintDiffStepCreationOptions. + * Use `create(LintDiffStepCreationOptionsSchema)` to create a new message. + */ +export const LintDiffStepCreationOptionsSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 250); + +/** + * @generated from message exa.cortex_pb.SnapshotToStepsOptions + */ +export type SnapshotToStepsOptions = Message<"exa.cortex_pb.SnapshotToStepsOptions"> & { + /** + * @generated from field: exa.cortex_pb.CodeStepCreationOptions code_step_creation_options = 1; + */ + codeStepCreationOptions?: CodeStepCreationOptions | undefined; + + /** + * @generated from field: exa.cortex_pb.ViewFileStepCreationOptions view_file_step_creation_options = 2; + */ + viewFileStepCreationOptions?: ViewFileStepCreationOptions | undefined; + + /** + * @generated from field: exa.cortex_pb.ViewedFileTrackerConfig viewed_file_tracker_config = 3; + */ + viewedFileTrackerConfig?: ViewedFileTrackerConfig | undefined; + + /** + * @generated from field: repeated exa.cortex_pb.CortexStepType step_type_allow_list = 4; + */ + stepTypeAllowList: CortexStepType[]; + + /** + * @generated from field: exa.cortex_pb.UserGrepStepCreationOptions user_grep_step_creation_options = 5; + */ + userGrepStepCreationOptions?: UserGrepStepCreationOptions | undefined; + + /** + * @generated from field: exa.cortex_pb.RunCommandStepCreationOptions run_command_step_creation_options = 6; + */ + runCommandStepCreationOptions?: RunCommandStepCreationOptions | undefined; + + /** + * @generated from field: exa.cortex_pb.LintDiffStepCreationOptions lint_diff_step_creation_options = 7; + */ + lintDiffStepCreationOptions?: LintDiffStepCreationOptions | undefined; + + /** + * @generated from field: exa.cortex_pb.BrainUpdateStepCreationOptions brain_update_step_creation_options = 8; + */ + brainUpdateStepCreationOptions?: BrainUpdateStepCreationOptions | undefined; +}; + +/** + * Describes the message exa.cortex_pb.SnapshotToStepsOptions. + * Use `create(SnapshotToStepsOptionsSchema)` to create a new message. + */ +export const SnapshotToStepsOptionsSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 251); + +/** + * @generated from message exa.cortex_pb.CustomToolSpec + */ +export type CustomToolSpec = Message<"exa.cortex_pb.CustomToolSpec"> & { + /** + * @generated from field: string recipe_id = 1; + */ + recipeId: string; + + /** + * @generated from field: exa.chat_pb.ChatToolDefinition tool_definition = 2; + */ + toolDefinition?: ChatToolDefinition | undefined; + + /** + * @generated from field: string system_prompt = 3; + */ + systemPrompt: string; + + /** + * @generated from field: exa.cortex_pb.CascadeConfig config_override = 4; + */ + configOverride?: CascadeConfig | undefined; + + /** + * @generated from field: exa.cortex_pb.CortexTrajectory reference_trajectory = 5; + */ + referenceTrajectory?: CortexTrajectory | undefined; + + /** + * @generated from field: bool requires_write_mode = 6; + */ + requiresWriteMode: boolean; + + /** + * @generated from field: bool is_builtin = 7; + */ + isBuiltin: boolean; +}; + +/** + * Describes the message exa.cortex_pb.CustomToolSpec. + * Use `create(CustomToolSpecSchema)` to create a new message. + */ +export const CustomToolSpecSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 252); + +/** + * @generated from message exa.cortex_pb.CortexStepCustomTool + */ +export type CortexStepCustomTool = Message<"exa.cortex_pb.CortexStepCustomTool"> & { + /** + * @generated from field: string recipe_id = 1; + */ + recipeId: string; + + /** + * @generated from field: string arguments_json = 2; + */ + argumentsJson: string; + + /** + * @generated from field: string output = 3; + */ + output: string; + + /** + * @generated from field: string recipe_name = 4; + */ + recipeName: string; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepCustomTool. + * Use `create(CortexStepCustomToolSchema)` to create a new message. + */ +export const CortexStepCustomToolSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 253); + +/** + * @generated from message exa.cortex_pb.CortexStepAutoCascadeBroadcast + */ +export type CortexStepAutoCascadeBroadcast = Message<"exa.cortex_pb.CortexStepAutoCascadeBroadcast"> & { + /** + * @generated from field: string message = 1; + */ + message: string; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepAutoCascadeBroadcast. + * Use `create(CortexStepAutoCascadeBroadcastSchema)` to create a new message. + */ +export const CortexStepAutoCascadeBroadcastSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 254); + +/** + * @generated from message exa.cortex_pb.CortexStepPostPrReview + */ +export type CortexStepPostPrReview = Message<"exa.cortex_pb.CortexStepPostPrReview"> & { + /** + * @generated from field: string body = 1; + */ + body: string; + + /** + * @generated from field: string commit_id = 2; + */ + commitId: string; + + /** + * @generated from field: string path = 3; + */ + path: string; + + /** + * @generated from field: string side = 4; + */ + side: string; + + /** + * @generated from field: int32 start_line = 5; + */ + startLine: number; + + /** + * @generated from field: int32 end_line = 6; + */ + endLine: number; + + /** + * @generated from field: string category = 7; + */ + category: string; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepPostPrReview. + * Use `create(CortexStepPostPrReviewSchema)` to create a new message. + */ +export const CortexStepPostPrReviewSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 255); + +/** + * @generated from message exa.cortex_pb.McpServerSpec + */ +export type McpServerSpec = Message<"exa.cortex_pb.McpServerSpec"> & { + /** + * @generated from field: string server_name = 1; + */ + serverName: string; + + /** + * @generated from field: string command = 2; + */ + command: string; + + /** + * @generated from field: repeated string args = 3; + */ + args: string[]; + + /** + * @generated from field: map env = 4; + */ + env: { [key: string]: string }; + + /** + * @generated from field: uint32 server_index = 5; + */ + serverIndex: number; + + /** + * @generated from field: string server_url = 6; + */ + serverUrl: string; + + /** + * @generated from field: bool disabled = 7; + */ + disabled: boolean; + + /** + * @generated from field: repeated string disabled_tools = 8; + */ + disabledTools: string[]; + + /** + * @generated from field: map headers = 9; + */ + headers: { [key: string]: string }; + + /** + * @generated from field: exa.cortex_pb.McpOAuthConfig oauth = 10; + */ + oauth?: McpOAuthConfig | undefined; + + /** + * @generated from field: string registry = 11; + */ + registry: string; +}; + +/** + * Describes the message exa.cortex_pb.McpServerSpec. + * Use `create(McpServerSpecSchema)` to create a new message. + */ +export const McpServerSpecSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 256); + +/** + * @generated from message exa.cortex_pb.McpOAuthConfig + */ +export type McpOAuthConfig = Message<"exa.cortex_pb.McpOAuthConfig"> & { + /** + * @generated from field: string client_id = 1; + */ + clientId: string; + + /** + * @generated from field: repeated string scopes = 2; + */ + scopes: string[]; +}; + +/** + * Describes the message exa.cortex_pb.McpOAuthConfig. + * Use `create(McpOAuthConfigSchema)` to create a new message. + */ +export const McpOAuthConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 257); + +/** + * @generated from message exa.cortex_pb.McpServerInfo + */ +export type McpServerInfo = Message<"exa.cortex_pb.McpServerInfo"> & { + /** + * @generated from field: string name = 1; + */ + name: string; + + /** + * @generated from field: string version = 2; + */ + version: string; +}; + +/** + * Describes the message exa.cortex_pb.McpServerInfo. + * Use `create(McpServerInfoSchema)` to create a new message. + */ +export const McpServerInfoSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 258); + +/** + * @generated from message exa.cortex_pb.CortexStepMcpTool + */ +export type CortexStepMcpTool = Message<"exa.cortex_pb.CortexStepMcpTool"> & { + /** + * @generated from field: string server_name = 1; + */ + serverName: string; + + /** + * @generated from field: exa.codeium_common_pb.ChatToolCall tool_call = 2; + */ + toolCall?: ChatToolCall | undefined; + + /** + * @generated from field: exa.cortex_pb.McpServerInfo server_info = 4; + */ + serverInfo?: McpServerInfo | undefined; + + /** + * @generated from field: string result_string = 3; + */ + resultString: string; + + /** + * @generated from field: repeated exa.codeium_common_pb.ImageData images = 5; + */ + images: ImageData[]; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepMcpTool. + * Use `create(CortexStepMcpToolSchema)` to create a new message. + */ +export const CortexStepMcpToolSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 259); + +/** + * @generated from message exa.cortex_pb.McpResource + */ +export type McpResource = Message<"exa.cortex_pb.McpResource"> & { + /** + * @generated from field: string uri = 1; + */ + uri: string; + + /** + * @generated from field: string name = 2; + */ + name: string; + + /** + * @generated from field: string description = 3; + */ + description: string; + + /** + * @generated from field: string mime_type = 4; + */ + mimeType: string; +}; + +/** + * Describes the message exa.cortex_pb.McpResource. + * Use `create(McpResourceSchema)` to create a new message. + */ +export const McpResourceSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 260); + +/** + * @generated from message exa.cortex_pb.McpResourceContent + */ +export type McpResourceContent = Message<"exa.cortex_pb.McpResourceContent"> & { + /** + * @generated from field: string uri = 1; + */ + uri: string; + + /** + * @generated from oneof exa.cortex_pb.McpResourceContent.data + */ + data: { + /** + * @generated from field: exa.codeium_common_pb.TextData text = 2; + */ + value: TextData; + case: "text"; + } | { + /** + * @generated from field: exa.codeium_common_pb.ImageData image = 3; + */ + value: ImageData; + case: "image"; + } | { case: undefined; value?: undefined }; +}; + +/** + * Describes the message exa.cortex_pb.McpResourceContent. + * Use `create(McpResourceContentSchema)` to create a new message. + */ +export const McpResourceContentSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 261); + +/** + * @generated from message exa.cortex_pb.McpPromptArgument + */ +export type McpPromptArgument = Message<"exa.cortex_pb.McpPromptArgument"> & { + /** + * @generated from field: string name = 1; + */ + name: string; + + /** + * @generated from field: string description = 2; + */ + description: string; + + /** + * @generated from field: bool required = 3; + */ + required: boolean; +}; + +/** + * Describes the message exa.cortex_pb.McpPromptArgument. + * Use `create(McpPromptArgumentSchema)` to create a new message. + */ +export const McpPromptArgumentSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 262); + +/** + * @generated from message exa.cortex_pb.McpPrompt + */ +export type McpPrompt = Message<"exa.cortex_pb.McpPrompt"> & { + /** + * @generated from field: string name = 1; + */ + name: string; + + /** + * @generated from field: string description = 2; + */ + description: string; + + /** + * @generated from field: repeated exa.cortex_pb.McpPromptArgument arguments = 3; + */ + arguments: McpPromptArgument[]; +}; + +/** + * Describes the message exa.cortex_pb.McpPrompt. + * Use `create(McpPromptSchema)` to create a new message. + */ +export const McpPromptSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 263); + +/** + * @generated from message exa.cortex_pb.CortexStepListResources + */ +export type CortexStepListResources = Message<"exa.cortex_pb.CortexStepListResources"> & { + /** + * @generated from field: string server_name = 1; + */ + serverName: string; + + /** + * @generated from field: optional string cursor = 2; + */ + cursor?: string | undefined; + + /** + * @generated from field: repeated exa.cortex_pb.McpResource resources = 3; + */ + resources: McpResource[]; + + /** + * @generated from field: string next_cursor = 4; + */ + nextCursor: string; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepListResources. + * Use `create(CortexStepListResourcesSchema)` to create a new message. + */ +export const CortexStepListResourcesSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 264); + +/** + * @generated from message exa.cortex_pb.CortexStepReadResource + */ +export type CortexStepReadResource = Message<"exa.cortex_pb.CortexStepReadResource"> & { + /** + * @generated from field: string server_name = 1; + */ + serverName: string; + + /** + * @generated from field: string uri = 2; + */ + uri: string; + + /** + * @generated from field: repeated exa.cortex_pb.McpResourceContent contents = 3; + */ + contents: McpResourceContent[]; + + /** + * @generated from field: bool skipped_non_image_binary_content = 4; + */ + skippedNonImageBinaryContent: boolean; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepReadResource. + * Use `create(CortexStepReadResourceSchema)` to create a new message. + */ +export const CortexStepReadResourceSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 265); + +/** + * @generated from message exa.cortex_pb.CortexStepArtifactSummary + */ +export type CortexStepArtifactSummary = Message<"exa.cortex_pb.CortexStepArtifactSummary"> & { + /** + * @generated from field: string summary = 1; + */ + summary: string; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepArtifactSummary. + * Use `create(CortexStepArtifactSummarySchema)` to create a new message. + */ +export const CortexStepArtifactSummarySchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 266); + +/** + * @generated from message exa.cortex_pb.CortexStepManagerFeedback + */ +export type CortexStepManagerFeedback = Message<"exa.cortex_pb.CortexStepManagerFeedback"> & { + /** + * @generated from field: exa.cortex_pb.CortexStepManagerFeedbackStatus status = 1; + */ + status: CortexStepManagerFeedbackStatus; + + /** + * @generated from field: string feedback = 2; + */ + feedback: string; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepManagerFeedback. + * Use `create(CortexStepManagerFeedbackSchema)` to create a new message. + */ +export const CortexStepManagerFeedbackSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 267); + +/** + * @generated from message exa.cortex_pb.CortexStepToolCallProposal + */ +export type CortexStepToolCallProposal = Message<"exa.cortex_pb.CortexStepToolCallProposal"> & { + /** + * @generated from field: exa.codeium_common_pb.ChatToolCall tool_call = 1; + */ + toolCall?: ChatToolCall | undefined; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepToolCallProposal. + * Use `create(CortexStepToolCallProposalSchema)` to create a new message. + */ +export const CortexStepToolCallProposalSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 268); + +/** + * @generated from message exa.cortex_pb.CortexStepToolCallChoice + */ +export type CortexStepToolCallChoice = Message<"exa.cortex_pb.CortexStepToolCallChoice"> & { + /** + * @generated from field: repeated exa.codeium_common_pb.ChatToolCall proposal_tool_calls = 1; + */ + proposalToolCalls: ChatToolCall[]; + + /** + * @generated from field: uint32 choice = 2; + */ + choice: number; + + /** + * @generated from field: string reason = 3; + */ + reason: string; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepToolCallChoice. + * Use `create(CortexStepToolCallChoiceSchema)` to create a new message. + */ +export const CortexStepToolCallChoiceSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 269); + +/** + * @generated from message exa.cortex_pb.CortexStepTrajectoryChoice + */ +export type CortexStepTrajectoryChoice = Message<"exa.cortex_pb.CortexStepTrajectoryChoice"> & { + /** + * @generated from field: repeated string proposal_trajectory_ids = 1; + */ + proposalTrajectoryIds: string[]; + + /** + * @generated from field: int32 choice = 2; + */ + choice: number; + + /** + * @generated from field: string reason = 3; + */ + reason: string; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepTrajectoryChoice. + * Use `create(CortexStepTrajectoryChoiceSchema)` to create a new message. + */ +export const CortexStepTrajectoryChoiceSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 270); + +/** + * @generated from message exa.cortex_pb.CortexStepCreateRecipe + */ +export type CortexStepCreateRecipe = Message<"exa.cortex_pb.CortexStepCreateRecipe"> & { + /** + * @generated from field: exa.cortex_pb.CustomToolSpec recipe = 1; + */ + recipe?: CustomToolSpec | undefined; + + /** + * @generated from field: string reference_trajectory_id = 2; + */ + referenceTrajectoryId: string; + + /** + * @generated from field: repeated uint32 reference_step_indices = 3; + */ + referenceStepIndices: number[]; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepCreateRecipe. + * Use `create(CortexStepCreateRecipeSchema)` to create a new message. + */ +export const CortexStepCreateRecipeSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 271); + +/** + * @generated from message exa.cortex_pb.CortexStepProxyWebServer + */ +export type CortexStepProxyWebServer = Message<"exa.cortex_pb.CortexStepProxyWebServer"> & { + /** + * @generated from field: string target_url = 1; + */ + targetUrl: string; + + /** + * @generated from field: string name = 2; + */ + name: string; + + /** + * @generated from field: string proxy_url = 3; + */ + proxyUrl: string; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepProxyWebServer. + * Use `create(CortexStepProxyWebServerSchema)` to create a new message. + */ +export const CortexStepProxyWebServerSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 272); + +/** + * @generated from message exa.cortex_pb.McpServerState + */ +export type McpServerState = Message<"exa.cortex_pb.McpServerState"> & { + /** + * @generated from field: exa.cortex_pb.McpServerSpec spec = 1; + */ + spec?: McpServerSpec | undefined; + + /** + * @generated from field: exa.cortex_pb.McpServerStatus status = 2; + */ + status: McpServerStatus; + + /** + * @generated from field: string error = 3; + */ + error: string; + + /** + * @generated from field: repeated exa.chat_pb.ChatToolDefinition tools = 4; + */ + tools: ChatToolDefinition[]; + + /** + * @generated from field: repeated string tool_errors = 7; + */ + toolErrors: string[]; + + /** + * @generated from field: exa.cortex_pb.McpServerInfo server_info = 5; + */ + serverInfo?: McpServerInfo | undefined; + + /** + * @generated from field: string instructions = 6; + */ + instructions: string; + + /** + * @generated from field: repeated exa.cortex_pb.McpPrompt prompts = 8; + */ + prompts: McpPrompt[]; +}; + +/** + * Describes the message exa.cortex_pb.McpServerState. + * Use `create(McpServerStateSchema)` to create a new message. + */ +export const McpServerStateSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 273); + +/** + * @generated from message exa.cortex_pb.TrajectoryJudgeConfig + */ +export type TrajectoryJudgeConfig = Message<"exa.cortex_pb.TrajectoryJudgeConfig"> & { + /** + * @generated from field: int32 max_steps_to_judge = 1; + */ + maxStepsToJudge: number; +}; + +/** + * Describes the message exa.cortex_pb.TrajectoryJudgeConfig. + * Use `create(TrajectoryJudgeConfigSchema)` to create a new message. + */ +export const TrajectoryJudgeConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 274); + +/** + * @generated from message exa.cortex_pb.CortexStepViewFileOutline + */ +export type CortexStepViewFileOutline = Message<"exa.cortex_pb.CortexStepViewFileOutline"> & { + /** + * @generated from field: string absolute_path_uri = 1; + */ + absolutePathUri: string; + + /** + * @generated from field: uint32 cci_offset = 2; + */ + cciOffset: number; + + /** + * @generated from field: repeated exa.codeium_common_pb.CodeContextItem ccis = 3; + */ + ccis: CodeContextItem[]; + + /** + * @generated from field: repeated string outline_items = 9; + */ + outlineItems: string[]; + + /** + * @generated from field: uint32 num_items_scanned = 10; + */ + numItemsScanned: number; + + /** + * @generated from field: uint32 total_cci_count = 4; + */ + totalCciCount: number; + + /** + * @generated from field: uint32 num_lines = 5; + */ + numLines: number; + + /** + * @generated from field: uint32 num_bytes = 6; + */ + numBytes: number; + + /** + * @generated from field: string contents = 7; + */ + contents: string; + + /** + * @generated from field: uint32 content_lines_truncated = 8; + */ + contentLinesTruncated: number; + + /** + * @generated from field: string triggered_memories = 11; + */ + triggeredMemories: string; + + /** + * @generated from field: string raw_content = 12; + */ + rawContent: string; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepViewFileOutline. + * Use `create(CortexStepViewFileOutlineSchema)` to create a new message. + */ +export const CortexStepViewFileOutlineSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 275); + +/** + * @generated from message exa.cortex_pb.CortexTodoListItem + */ +export type CortexTodoListItem = Message<"exa.cortex_pb.CortexTodoListItem"> & { + /** + * @generated from field: string id = 1; + */ + id: string; + + /** + * @generated from field: string content = 2; + */ + content: string; + + /** + * @generated from field: exa.cortex_pb.CortexTodoListItemStatus status = 3; + */ + status: CortexTodoListItemStatus; + + /** + * @generated from field: exa.cortex_pb.CortexTodoListItemPriority priority = 4; + */ + priority: CortexTodoListItemPriority; +}; + +/** + * Describes the message exa.cortex_pb.CortexTodoListItem. + * Use `create(CortexTodoListItemSchema)` to create a new message. + */ +export const CortexTodoListItemSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 276); + +/** + * @generated from message exa.cortex_pb.CortexStepTodoList + */ +export type CortexStepTodoList = Message<"exa.cortex_pb.CortexStepTodoList"> & { + /** + * @generated from field: repeated exa.cortex_pb.CortexTodoListItem todos = 1; + */ + todos: CortexTodoListItem[]; + + /** + * @generated from field: bool is_initial_creation = 2; + */ + isInitialCreation: boolean; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepTodoList. + * Use `create(CortexStepTodoListSchema)` to create a new message. + */ +export const CortexStepTodoListSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 277); + +/** + * @generated from message exa.cortex_pb.CortexStepCodeMap + */ +export type CortexStepCodeMap = Message<"exa.cortex_pb.CortexStepCodeMap"> & { + /** + * @generated from field: string code_map_json_content = 1; + */ + codeMapJsonContent: string; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepCodeMap. + * Use `create(CortexStepCodeMapSchema)` to create a new message. + */ +export const CortexStepCodeMapSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 278); + +/** + * @generated from message exa.cortex_pb.CortexStepEditCodeMap + */ +export type CortexStepEditCodeMap = Message<"exa.cortex_pb.CortexStepEditCodeMap"> & { + /** + * @generated from field: string edit_json_content = 1; + */ + editJsonContent: string; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepEditCodeMap. + * Use `create(CortexStepEditCodeMapSchema)` to create a new message. + */ +export const CortexStepEditCodeMapSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 279); + +/** + * @generated from message exa.cortex_pb.EphemeralMessagesConfig + */ +export type EphemeralMessagesConfig = Message<"exa.cortex_pb.EphemeralMessagesConfig"> & { + /** + * @generated from field: optional bool enabled = 1; + */ + enabled?: boolean | undefined; + + /** + * @generated from field: uint32 num_steps = 2; + */ + numSteps: number; + + /** + * @generated from field: repeated exa.cortex_pb.HeuristicPrompt heuristic_prompts = 3; + */ + heuristicPrompts: HeuristicPrompt[]; +}; + +/** + * Describes the message exa.cortex_pb.EphemeralMessagesConfig. + * Use `create(EphemeralMessagesConfigSchema)` to create a new message. + */ +export const EphemeralMessagesConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 280); + +/** + * @generated from message exa.cortex_pb.HeuristicPrompt + */ +export type HeuristicPrompt = Message<"exa.cortex_pb.HeuristicPrompt"> & { + /** + * @generated from field: string heuristic = 1; + */ + heuristic: string; + + /** + * @generated from field: string prompt = 2; + */ + prompt: string; +}; + +/** + * Describes the message exa.cortex_pb.HeuristicPrompt. + * Use `create(HeuristicPromptSchema)` to create a new message. + */ +export const HeuristicPromptSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 281); + +/** + * @generated from message exa.cortex_pb.RevertMetadata + */ +export type RevertMetadata = Message<"exa.cortex_pb.RevertMetadata"> & { + /** + * @generated from field: repeated string reverted_uris = 4; + */ + revertedUris: string[]; +}; + +/** + * Describes the message exa.cortex_pb.RevertMetadata. + * Use `create(RevertMetadataSchema)` to create a new message. + */ +export const RevertMetadataSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 282); + +/** + * @generated from message exa.cortex_pb.TrajectoryPrefixMetadata + */ +export type TrajectoryPrefixMetadata = Message<"exa.cortex_pb.TrajectoryPrefixMetadata"> & { + /** + * @generated from field: uint32 length = 1; + */ + length: number; + + /** + * @generated from field: uint32 tokens = 2; + */ + tokens: number; + + /** + * @generated from field: uint32 num_skipped = 3; + */ + numSkipped: number; + + /** + * @generated from field: uint32 num_truncated = 4; + */ + numTruncated: number; +}; + +/** + * Describes the message exa.cortex_pb.TrajectoryPrefixMetadata. + * Use `create(TrajectoryPrefixMetadataSchema)` to create a new message. + */ +export const TrajectoryPrefixMetadataSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 283); + +/** + * @generated from message exa.cortex_pb.CortexStepFindAllReferences + */ +export type CortexStepFindAllReferences = Message<"exa.cortex_pb.CortexStepFindAllReferences"> & { + /** + * @generated from field: string absolute_uri = 1; + */ + absoluteUri: string; + + /** + * @generated from field: string symbol = 2; + */ + symbol: string; + + /** + * @generated from field: uint32 line = 3; + */ + line: number; + + /** + * @generated from field: uint32 occurrence_index = 4; + */ + occurrenceIndex: number; + + /** + * @generated from field: repeated exa.codeium_common_pb.LspReference references = 5; + */ + references: LspReference[]; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepFindAllReferences. + * Use `create(CortexStepFindAllReferencesSchema)` to create a new message. + */ +export const CortexStepFindAllReferencesSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 284); + +/** + * @generated from message exa.cortex_pb.FindAllReferencesConfig + */ +export type FindAllReferencesConfig = Message<"exa.cortex_pb.FindAllReferencesConfig"> & { + /** + * @generated from field: optional bool enabled = 1; + */ + enabled?: boolean | undefined; +}; + +/** + * Describes the message exa.cortex_pb.FindAllReferencesConfig. + * Use `create(FindAllReferencesConfigSchema)` to create a new message. + */ +export const FindAllReferencesConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 285); + +/** + * @generated from message exa.cortex_pb.CortexStepRunExtensionCode + */ +export type CortexStepRunExtensionCode = Message<"exa.cortex_pb.CortexStepRunExtensionCode"> & { + /** + * @generated from field: string code = 1; + */ + code: string; + + /** + * @generated from field: string language = 2; + */ + language: string; + + /** + * @generated from field: bool model_wants_auto_run = 6; + */ + modelWantsAutoRun: boolean; + + /** + * @generated from field: string user_facing_explanation = 7; + */ + userFacingExplanation: string; + + /** + * @generated from field: string output = 3; + */ + output: string; + + /** + * @generated from field: bool user_rejected = 4; + */ + userRejected: boolean; + + /** + * @generated from field: exa.cortex_pb.RunExtensionCodeAutoRunDecision auto_run_decision = 5; + */ + autoRunDecision: RunExtensionCodeAutoRunDecision; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepRunExtensionCode. + * Use `create(CortexStepRunExtensionCodeSchema)` to create a new message. + */ +export const CortexStepRunExtensionCodeSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 286); + +/** + * @generated from message exa.cortex_pb.RunExtensionCodeConfig + */ +export type RunExtensionCodeConfig = Message<"exa.cortex_pb.RunExtensionCodeConfig"> & { + /** + * @generated from field: optional bool enabled = 1; + */ + enabled?: boolean | undefined; + + /** + * @generated from field: optional bool only = 2; + */ + only?: boolean | undefined; +}; + +/** + * Describes the message exa.cortex_pb.RunExtensionCodeConfig. + * Use `create(RunExtensionCodeConfigSchema)` to create a new message. + */ +export const RunExtensionCodeConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 287); + +/** + * @generated from message exa.cortex_pb.CortexStepProposalFeedback + */ +export type CortexStepProposalFeedback = Message<"exa.cortex_pb.CortexStepProposalFeedback"> & { + /** + * @generated from field: exa.cortex_pb.AcknowledgementType acknowledgement_type = 1; + */ + acknowledgementType: AcknowledgementType; + + /** + * @generated from field: uint32 target_step_index = 2; + */ + targetStepIndex: number; + + /** + * @generated from oneof exa.cortex_pb.CortexStepProposalFeedback.target + */ + target: { + /** + * @generated from field: exa.cortex_pb.ReplacementChunk replacement_chunk = 3; + */ + value: ReplacementChunk; + case: "replacementChunk"; + } | { case: undefined; value?: undefined }; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepProposalFeedback. + * Use `create(CortexStepProposalFeedbackSchema)` to create a new message. + */ +export const CortexStepProposalFeedbackSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 288); + +/** + * @generated from message exa.cortex_pb.TrajectoryDescription + */ +export type TrajectoryDescription = Message<"exa.cortex_pb.TrajectoryDescription"> & { + /** + * @generated from oneof exa.cortex_pb.TrajectoryDescription.description + */ + description: { + /** + * @generated from field: string cascade_conversation_title = 1; + */ + value: string; + case: "cascadeConversationTitle"; + } | { + /** + * @generated from field: string mainline_branch_name = 2; + */ + value: string; + case: "mainlineBranchName"; + } | { case: undefined; value?: undefined }; +}; + +/** + * Describes the message exa.cortex_pb.TrajectoryDescription. + * Use `create(TrajectoryDescriptionSchema)` to create a new message. + */ +export const TrajectoryDescriptionSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 289); + +/** + * @generated from message exa.cortex_pb.CortexStepTrajectorySearch + */ +export type CortexStepTrajectorySearch = Message<"exa.cortex_pb.CortexStepTrajectorySearch"> & { + /** + * @generated from field: string id = 1; + */ + id: string; + + /** + * @generated from field: string query = 2; + */ + query: string; + + /** + * @generated from field: exa.cortex_pb.TrajectorySearchIdType id_type = 3; + */ + idType: TrajectorySearchIdType; + + /** + * @generated from field: repeated exa.context_module_pb.CciWithSubrangeWithRetrievalMetadata chunks = 4; + */ + chunks: CciWithSubrangeWithRetrievalMetadata[]; + + /** + * @generated from field: exa.cortex_pb.TrajectoryDescription trajectory_description = 5; + */ + trajectoryDescription?: TrajectoryDescription | undefined; + + /** + * @generated from field: uint32 total_chunks = 6; + */ + totalChunks: number; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepTrajectorySearch. + * Use `create(CortexStepTrajectorySearchSchema)` to create a new message. + */ +export const CortexStepTrajectorySearchSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 290); + +/** + * @generated from message exa.cortex_pb.CortexStepReadTerminal + */ +export type CortexStepReadTerminal = Message<"exa.cortex_pb.CortexStepReadTerminal"> & { + /** + * @generated from field: string process_id = 1; + */ + processId: string; + + /** + * @generated from field: string name = 2; + */ + name: string; + + /** + * @generated from field: string contents = 3; + */ + contents: string; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepReadTerminal. + * Use `create(CortexStepReadTerminalSchema)` to create a new message. + */ +export const CortexStepReadTerminalSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 291); + +/** + * @generated from message exa.cortex_pb.HookCondition + */ +export type HookCondition = Message<"exa.cortex_pb.HookCondition"> & { + /** + * @generated from field: repeated exa.cortex_pb.HookAgentAction agent_actions = 1; + */ + agentActions: HookAgentAction[]; +}; + +/** + * Describes the message exa.cortex_pb.HookCondition. + * Use `create(HookConditionSchema)` to create a new message. + */ +export const HookConditionSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 292); + +/** + * @generated from message exa.cortex_pb.CommandHookSpec + */ +export type CommandHookSpec = Message<"exa.cortex_pb.CommandHookSpec"> & { + /** + * @generated from field: string command = 1; + */ + command: string; + + /** + * @generated from field: string working_directory = 2; + */ + workingDirectory: string; + + /** + * @generated from field: bool show_output = 3; + */ + showOutput: boolean; + + /** + * @generated from field: string powershell_command = 4; + */ + powershellCommand: string; +}; + +/** + * Describes the message exa.cortex_pb.CommandHookSpec. + * Use `create(CommandHookSpecSchema)` to create a new message. + */ +export const CommandHookSpecSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 293); + +/** + * @generated from message exa.cortex_pb.HookExecutionSpec + */ +export type HookExecutionSpec = Message<"exa.cortex_pb.HookExecutionSpec"> & { + /** + * @generated from oneof exa.cortex_pb.HookExecutionSpec.hook + */ + hook: { + /** + * @generated from field: exa.cortex_pb.CommandHookSpec command = 1; + */ + value: CommandHookSpec; + case: "command"; + } | { case: undefined; value?: undefined }; +}; + +/** + * Describes the message exa.cortex_pb.HookExecutionSpec. + * Use `create(HookExecutionSpecSchema)` to create a new message. + */ +export const HookExecutionSpecSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 294); + +/** + * @generated from message exa.cortex_pb.CommandHookResult + */ +export type CommandHookResult = Message<"exa.cortex_pb.CommandHookResult"> & { + /** + * @generated from field: int32 exit_code = 1; + */ + exitCode: number; + + /** + * @generated from field: string stdout = 2; + */ + stdout: string; + + /** + * @generated from field: string stderr = 3; + */ + stderr: string; +}; + +/** + * Describes the message exa.cortex_pb.CommandHookResult. + * Use `create(CommandHookResultSchema)` to create a new message. + */ +export const CommandHookResultSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 295); + +/** + * @generated from message exa.cortex_pb.HookExecutionResult + */ +export type HookExecutionResult = Message<"exa.cortex_pb.HookExecutionResult"> & { + /** + * @generated from oneof exa.cortex_pb.HookExecutionResult.result + */ + result: { + /** + * @generated from field: exa.cortex_pb.CommandHookResult command = 1; + */ + value: CommandHookResult; + case: "command"; + } | { case: undefined; value?: undefined }; +}; + +/** + * Describes the message exa.cortex_pb.HookExecutionResult. + * Use `create(HookExecutionResultSchema)` to create a new message. + */ +export const HookExecutionResultSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 296); + +/** + * @generated from message exa.cortex_pb.CascadeHook + */ +export type CascadeHook = Message<"exa.cortex_pb.CascadeHook"> & { + /** + * @generated from field: exa.cortex_pb.HookExecutionSpec hook_spec = 5; + */ + hookSpec?: HookExecutionSpec | undefined; + + /** + * @generated from field: exa.cortex_pb.HookCondition condition = 6; + */ + condition?: HookCondition | undefined; + + /** + * @generated from field: repeated string workspace_dirs = 7; + */ + workspaceDirs: string[]; +}; + +/** + * Describes the message exa.cortex_pb.CascadeHook. + * Use `create(CascadeHookSchema)` to create a new message. + */ +export const CascadeHookSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 297); + +/** + * @generated from message exa.cortex_pb.HookExecutionDetail + */ +export type HookExecutionDetail = Message<"exa.cortex_pb.HookExecutionDetail"> & { + /** + * @generated from field: exa.cortex_pb.HookExecutionSpec spec = 1; + */ + spec?: HookExecutionSpec | undefined; + + /** + * @generated from field: exa.cortex_pb.HookExecutionResult result = 2; + */ + result?: HookExecutionResult | undefined; +}; + +/** + * Describes the message exa.cortex_pb.HookExecutionDetail. + * Use `create(HookExecutionDetailSchema)` to create a new message. + */ +export const HookExecutionDetailSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 298); + +/** + * @generated from message exa.cortex_pb.CortexStepDeepThink + */ +export type CortexStepDeepThink = Message<"exa.cortex_pb.CortexStepDeepThink"> & { + /** + * @generated from field: string exploration_document = 1; + */ + explorationDocument: string; + + /** + * @generated from field: string exploration_document_absolute_path_uri = 2; + */ + explorationDocumentAbsolutePathUri: string; + + /** + * @generated from field: string last_planner_response = 3; + */ + lastPlannerResponse: string; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepDeepThink. + * Use `create(CortexStepDeepThinkSchema)` to create a new message. + */ +export const CortexStepDeepThinkSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 299); + +/** + * @generated from message exa.cortex_pb.TaskResolutionOpenPr + */ +export type TaskResolutionOpenPr = Message<"exa.cortex_pb.TaskResolutionOpenPr"> & { + /** + * @generated from field: string pr_title = 1; + */ + prTitle: string; + + /** + * @generated from field: string pr_body = 2; + */ + prBody: string; + + /** + * @generated from field: string pr_url = 3; + */ + prUrl: string; + + /** + * @generated from field: bool existed_previously = 4; + */ + existedPreviously: boolean; +}; + +/** + * Describes the message exa.cortex_pb.TaskResolutionOpenPr. + * Use `create(TaskResolutionOpenPrSchema)` to create a new message. + */ +export const TaskResolutionOpenPrSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 300); + +/** + * @generated from message exa.cortex_pb.TaskResolution + */ +export type TaskResolution = Message<"exa.cortex_pb.TaskResolution"> & { + /** + * @generated from oneof exa.cortex_pb.TaskResolution.resolution + */ + resolution: { + /** + * @generated from field: exa.cortex_pb.TaskResolutionOpenPr open_pr = 1; + */ + value: TaskResolutionOpenPr; + case: "openPr"; + } | { case: undefined; value?: undefined }; +}; + +/** + * Describes the message exa.cortex_pb.TaskResolution. + * Use `create(TaskResolutionSchema)` to create a new message. + */ +export const TaskResolutionSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 301); + +/** + * @generated from message exa.cortex_pb.CodeMapSuggestion + */ +export type CodeMapSuggestion = Message<"exa.cortex_pb.CodeMapSuggestion"> & { + /** + * @generated from field: string id = 1; + */ + id: string; + + /** + * @generated from field: string prompt = 2; + */ + prompt: string; + + /** + * @generated from field: repeated string starting_points = 3; + */ + startingPoints: string[]; + + /** + * @generated from field: bool dismissed = 4; + */ + dismissed: boolean; + + /** + * @generated from field: optional string subtitle = 5; + */ + subtitle?: string | undefined; +}; + +/** + * Describes the message exa.cortex_pb.CodeMapSuggestion. + * Use `create(CodeMapSuggestionSchema)` to create a new message. + */ +export const CodeMapSuggestionSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 302); + +/** + * @generated from message exa.cortex_pb.CortexStepSuggestCodemap + */ +export type CortexStepSuggestCodemap = Message<"exa.cortex_pb.CortexStepSuggestCodemap"> & { + /** + * @generated from field: repeated exa.cortex_pb.CodeMapSuggestion suggestions = 1; + */ + suggestions: CodeMapSuggestion[]; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepSuggestCodemap. + * Use `create(CortexStepSuggestCodemapSchema)` to create a new message. + */ +export const CortexStepSuggestCodemapSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 303); + +/** + * @generated from message exa.cortex_pb.LifeguardBug + */ +export type LifeguardBug = Message<"exa.cortex_pb.LifeguardBug"> & { + /** + * @generated from field: string id = 1; + */ + id: string; + + /** + * @generated from field: string file = 2; + */ + file: string; + + /** + * @generated from field: int32 start = 3; + */ + start: number; + + /** + * @generated from field: int32 end = 4; + */ + end: number; + + /** + * @generated from field: string title = 5; + */ + title: string; + + /** + * @generated from field: string description = 6; + */ + description: string; + + /** + * @generated from field: string severity = 7; + */ + severity: string; + + /** + * @generated from field: string resolution = 8; + */ + resolution: string; + + /** + * @generated from field: optional string fix_old_str = 9; + */ + fixOldStr?: string | undefined; + + /** + * @generated from field: optional string fix_new_str = 10; + */ + fixNewStr?: string | undefined; +}; + +/** + * Describes the message exa.cortex_pb.LifeguardBug. + * Use `create(LifeguardBugSchema)` to create a new message. + */ +export const LifeguardBugSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 304); + +/** + * @generated from message exa.cortex_pb.CortexStepReportBugs + */ +export type CortexStepReportBugs = Message<"exa.cortex_pb.CortexStepReportBugs"> & { + /** + * @generated from field: repeated exa.cortex_pb.LifeguardBug bugs = 1; + */ + bugs: LifeguardBug[]; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepReportBugs. + * Use `create(CortexStepReportBugsSchema)` to create a new message. + */ +export const CortexStepReportBugsSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 305); + +/** + * @generated from message exa.cortex_pb.UpsertCodemapOutput + */ +export type UpsertCodemapOutput = Message<"exa.cortex_pb.UpsertCodemapOutput"> & { + /** + * @generated from field: string id = 1; + */ + id: string; + + /** + * @generated from field: string title = 2; + */ + title: string; + + /** + * @generated from field: string codemap_json = 3; + */ + codemapJson: string; + + /** + * @generated from field: optional string description = 4; + */ + description?: string | undefined; +}; + +/** + * Describes the message exa.cortex_pb.UpsertCodemapOutput. + * Use `create(UpsertCodemapOutputSchema)` to create a new message. + */ +export const UpsertCodemapOutputSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 306); + +/** + * @generated from message exa.cortex_pb.CortexStepUpsertCodemap + */ +export type CortexStepUpsertCodemap = Message<"exa.cortex_pb.CortexStepUpsertCodemap"> & { + /** + * @generated from field: string prompt = 1; + */ + prompt: string; + + /** + * @generated from field: repeated string starting_points = 2; + */ + startingPoints: string[]; + + /** + * @generated from field: bool blocking = 3; + */ + blocking: boolean; + + /** + * @generated from field: optional string editing_codemap_id = 4; + */ + editingCodemapId?: string | undefined; + + /** + * @generated from field: optional string editing_codemap_title = 5; + */ + editingCodemapTitle?: string | undefined; + + /** + * @generated from field: bool user_rejected = 6; + */ + userRejected: boolean; + + /** + * @generated from field: optional exa.cortex_pb.UpsertCodemapOutput output = 7; + */ + output?: UpsertCodemapOutput | undefined; + + /** + * @generated from field: optional exa.cortex_pb.UpsertCodemapRunningStatus running_status = 8; + */ + runningStatus?: UpsertCodemapRunningStatus | undefined; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepUpsertCodemap. + * Use `create(CortexStepUpsertCodemapSchema)` to create a new message. + */ +export const CortexStepUpsertCodemapSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 307); + +/** + * @generated from message exa.cortex_pb.UpsertCodemapRunningStatus + */ +export type UpsertCodemapRunningStatus = Message<"exa.cortex_pb.UpsertCodemapRunningStatus"> & { + /** + * @generated from field: int32 step = 1; + */ + step: number; + + /** + * @generated from field: optional string step_status = 2; + */ + stepStatus?: string | undefined; +}; + +/** + * Describes the message exa.cortex_pb.UpsertCodemapRunningStatus. + * Use `create(UpsertCodemapRunningStatusSchema)` to create a new message. + */ +export const UpsertCodemapRunningStatusSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 308); + +/** + * @generated from message exa.cortex_pb.CortexStepResolveTask + */ +export type CortexStepResolveTask = Message<"exa.cortex_pb.CortexStepResolveTask"> & { + /** + * @generated from field: string absolute_uri = 1; + */ + absoluteUri: string; + + /** + * @generated from field: string title = 2; + */ + title: string; + + /** + * @generated from field: string description = 3; + */ + description: string; + + /** + * @generated from field: bool user_rejected = 4; + */ + userRejected: boolean; + + /** + * @generated from field: exa.cortex_pb.TaskResolution resolution = 5; + */ + resolution?: TaskResolution | undefined; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepResolveTask. + * Use `create(CortexStepResolveTaskSchema)` to create a new message. + */ +export const CortexStepResolveTaskSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 309); + +/** + * @generated from message exa.cortex_pb.CortexStepExitPlanMode + */ +export type CortexStepExitPlanMode = Message<"exa.cortex_pb.CortexStepExitPlanMode"> & { + /** + * @generated from field: optional string plan_file = 1; + */ + planFile?: string | undefined; + + /** + * @generated from field: bool user_requested = 2; + */ + userRequested: boolean; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepExitPlanMode. + * Use `create(CortexStepExitPlanModeSchema)` to create a new message. + */ +export const CortexStepExitPlanModeSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 310); + +/** + * @generated from message exa.cortex_pb.CortexStepSkill + */ +export type CortexStepSkill = Message<"exa.cortex_pb.CortexStepSkill"> & { + /** + * @generated from field: string skill_name = 1; + */ + skillName: string; + + /** + * @generated from field: string description = 2; + */ + description: string; + + /** + * @generated from field: string path = 3; + */ + path: string; + + /** + * @generated from field: int32 resource_count = 4; + */ + resourceCount: number; + + /** + * @generated from field: string base_dir = 5; + */ + baseDir: string; + + /** + * @generated from field: string content = 6; + */ + content: string; +}; + +/** + * Describes the message exa.cortex_pb.CortexStepSkill. + * Use `create(CortexStepSkillSchema)` to create a new message. + */ +export const CortexStepSkillSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_cortex_pb_cortex, 311); + +/** + * @generated from enum exa.cortex_pb.ActionStatus + */ +export enum ActionStatus { + /** + * @generated from enum value: ACTION_STATUS_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: ACTION_STATUS_ERROR = 1; + */ + ERROR = 1, + + /** + * @generated from enum value: ACTION_STATUS_INITIALIZED = 2; + */ + INITIALIZED = 2, + + /** + * @generated from enum value: ACTION_STATUS_PREPARING = 3; + */ + PREPARING = 3, + + /** + * @generated from enum value: ACTION_STATUS_PREPARED = 4; + */ + PREPARED = 4, + + /** + * @generated from enum value: ACTION_STATUS_APPLYING = 5; + */ + APPLYING = 5, + + /** + * @generated from enum value: ACTION_STATUS_APPLIED = 6; + */ + APPLIED = 6, + + /** + * @generated from enum value: ACTION_STATUS_REJECTED = 7; + */ + REJECTED = 7, +} + +/** + * Describes the enum exa.cortex_pb.ActionStatus. + */ +export const ActionStatusSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_cortex_pb_cortex, 0); + +/** + * @generated from enum exa.cortex_pb.PlanStatus + */ +export enum PlanStatus { + /** + * @generated from enum value: PLAN_STATUS_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: PLAN_STATUS_INITIALIZED = 1; + */ + INITIALIZED = 1, + + /** + * @generated from enum value: PLAN_STATUS_PLANNING = 2; + */ + PLANNING = 2, + + /** + * @generated from enum value: PLAN_STATUS_PLANNED = 3; + */ + PLANNED = 3, + + /** + * @generated from enum value: PLAN_STATUS_ERROR = 4; + */ + ERROR = 4, +} + +/** + * Describes the enum exa.cortex_pb.PlanStatus. + */ +export const PlanStatusSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_cortex_pb_cortex, 1); + +/** + * @generated from enum exa.cortex_pb.CortexRequestSource + */ +export enum CortexRequestSource { + /** + * @generated from enum value: CORTEX_REQUEST_SOURCE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: CORTEX_REQUEST_SOURCE_CASCADE = 1; + */ + CASCADE = 1, + + /** + * @generated from enum value: CORTEX_REQUEST_SOURCE_USER_IMPLICIT = 2; + */ + USER_IMPLICIT = 2, +} + +/** + * Describes the enum exa.cortex_pb.CortexRequestSource. + */ +export const CortexRequestSourceSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_cortex_pb_cortex, 2); + +/** + * @generated from enum exa.cortex_pb.CortexTrajectorySource + */ +export enum CortexTrajectorySource { + /** + * @generated from enum value: CORTEX_TRAJECTORY_SOURCE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: CORTEX_TRAJECTORY_SOURCE_CASCADE_CLIENT = 1; + */ + CASCADE_CLIENT = 1, + + /** + * @generated from enum value: CORTEX_TRAJECTORY_SOURCE_EXPLAIN_PROBLEM = 2; + */ + EXPLAIN_PROBLEM = 2, + + /** + * @generated from enum value: CORTEX_TRAJECTORY_SOURCE_REFACTOR_FUNCTION = 3; + */ + REFACTOR_FUNCTION = 3, + + /** + * @generated from enum value: CORTEX_TRAJECTORY_SOURCE_EVAL = 4; + */ + EVAL = 4, + + /** + * @generated from enum value: CORTEX_TRAJECTORY_SOURCE_EVAL_TASK = 5; + */ + EVAL_TASK = 5, + + /** + * @generated from enum value: CORTEX_TRAJECTORY_SOURCE_ASYNC_PRR = 6; + */ + ASYNC_PRR = 6, + + /** + * @generated from enum value: CORTEX_TRAJECTORY_SOURCE_ASYNC_CF = 7; + */ + ASYNC_CF = 7, + + /** + * @generated from enum value: CORTEX_TRAJECTORY_SOURCE_ASYNC_SL = 8; + */ + ASYNC_SL = 8, + + /** + * @generated from enum value: CORTEX_TRAJECTORY_SOURCE_ASYNC_PRD = 9; + */ + ASYNC_PRD = 9, + + /** + * @generated from enum value: CORTEX_TRAJECTORY_SOURCE_ASYNC_CM = 10; + */ + ASYNC_CM = 10, + + /** + * @generated from enum value: CORTEX_TRAJECTORY_SOURCE_PASSIVE_CODER = 11; + */ + PASSIVE_CODER = 11, + + /** + * @generated from enum value: CORTEX_TRAJECTORY_SOURCE_CODE_MAP = 13; + */ + CODE_MAP = 13, + + /** + * @generated from enum value: CORTEX_TRAJECTORY_SOURCE_LIFEGUARD = 15; + */ + LIFEGUARD = 15, +} + +/** + * Describes the enum exa.cortex_pb.CortexTrajectorySource. + */ +export const CortexTrajectorySourceSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_cortex_pb_cortex, 3); + +/** + * @generated from enum exa.cortex_pb.CortexTrajectoryType + */ +export enum CortexTrajectoryType { + /** + * @generated from enum value: CORTEX_TRAJECTORY_TYPE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: CORTEX_TRAJECTORY_TYPE_USER_MAINLINE = 1; + */ + USER_MAINLINE = 1, + + /** + * @generated from enum value: CORTEX_TRAJECTORY_TYPE_USER_GRANULAR = 2; + */ + USER_GRANULAR = 2, + + /** + * @generated from enum value: CORTEX_TRAJECTORY_TYPE_SUPERCOMPLETE = 3; + */ + SUPERCOMPLETE = 3, + + /** + * @generated from enum value: CORTEX_TRAJECTORY_TYPE_CASCADE = 4; + */ + CASCADE = 4, + + /** + * @generated from enum value: CORTEX_TRAJECTORY_TYPE_BACKGROUND_RESEARCH = 5 [deprecated = true]; + * @deprecated + */ + BACKGROUND_RESEARCH = 5, + + /** + * @generated from enum value: CORTEX_TRAJECTORY_TYPE_CHECKPOINT = 6; + */ + CHECKPOINT = 6, + + /** + * @generated from enum value: CORTEX_TRAJECTORY_TYPE_RETRIEVE_MEMORY = 7; + */ + RETRIEVE_MEMORY = 7, + + /** + * @generated from enum value: CORTEX_TRAJECTORY_TYPE_CUSTOM_TOOL = 8; + */ + CUSTOM_TOOL = 8, + + /** + * @generated from enum value: CORTEX_TRAJECTORY_TYPE_AUTO_CASCADE = 9; + */ + AUTO_CASCADE = 9, + + /** + * @generated from enum value: CORTEX_TRAJECTORY_TYPE_AUTO_CASCADE_MANAGER = 10; + */ + AUTO_CASCADE_MANAGER = 10, + + /** + * @generated from enum value: CORTEX_TRAJECTORY_TYPE_APPLIER = 11; + */ + APPLIER = 11, + + /** + * @generated from enum value: CORTEX_TRAJECTORY_TYPE_TOOL_CALL_PROPOSAL = 12; + */ + TOOL_CALL_PROPOSAL = 12, + + /** + * @generated from enum value: CORTEX_TRAJECTORY_TYPE_TRAJECTORY_CHOICE = 13; + */ + TRAJECTORY_CHOICE = 13, + + /** + * @generated from enum value: CORTEX_TRAJECTORY_TYPE_LLM_JUDGE = 14; + */ + LLM_JUDGE = 14, + + /** + * @generated from enum value: CORTEX_TRAJECTORY_TYPE_ARTIFACT_SUMMARY = 19 [deprecated = true]; + * @deprecated + */ + ARTIFACT_SUMMARY = 19, + + /** + * @generated from enum value: CORTEX_TRAJECTORY_TYPE_PASSIVE_CODER = 15; + */ + PASSIVE_CODER = 15, + + /** + * @generated from enum value: CORTEX_TRAJECTORY_TYPE_INTERACTIVE_CASCADE = 17; + */ + INTERACTIVE_CASCADE = 17, + + /** + * @generated from enum value: CORTEX_TRAJECTORY_TYPE_BRAIN_UPDATE = 16; + */ + BRAIN_UPDATE = 16, +} + +/** + * Describes the enum exa.cortex_pb.CortexTrajectoryType. + */ +export const CortexTrajectoryTypeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_cortex_pb_cortex, 4); + +/** + * @generated from enum exa.cortex_pb.CortexStepSource + */ +export enum CortexStepSource { + /** + * @generated from enum value: CORTEX_STEP_SOURCE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: CORTEX_STEP_SOURCE_MANUAL = 1; + */ + MANUAL = 1, + + /** + * @generated from enum value: CORTEX_STEP_SOURCE_MODEL = 2; + */ + MODEL = 2, + + /** + * @generated from enum value: CORTEX_STEP_SOURCE_USER_IMPLICIT = 3; + */ + USER_IMPLICIT = 3, + + /** + * @generated from enum value: CORTEX_STEP_SOURCE_USER_EXPLICIT = 4; + */ + USER_EXPLICIT = 4, + + /** + * @generated from enum value: CORTEX_STEP_SOURCE_SYSTEM = 5; + */ + SYSTEM = 5, +} + +/** + * Describes the enum exa.cortex_pb.CortexStepSource. + */ +export const CortexStepSourceSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_cortex_pb_cortex, 5); + +/** + * @generated from enum exa.cortex_pb.CortexStepCreditReason + */ +export enum CortexStepCreditReason { + /** + * @generated from enum value: CORTEX_STEP_CREDIT_REASON_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: CORTEX_STEP_CREDIT_REASON_LINT_FIXING_DISCOUNT = 1; + */ + LINT_FIXING_DISCOUNT = 1, +} + +/** + * Describes the enum exa.cortex_pb.CortexStepCreditReason. + */ +export const CortexStepCreditReasonSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_cortex_pb_cortex, 6); + +/** + * @generated from enum exa.cortex_pb.ExecutionAsyncLevel + */ +export enum ExecutionAsyncLevel { + /** + * @generated from enum value: EXECUTION_ASYNC_LEVEL_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: EXECUTION_ASYNC_LEVEL_INVOCATION_BLOCKING = 1; + */ + INVOCATION_BLOCKING = 1, + + /** + * @generated from enum value: EXECUTION_ASYNC_LEVEL_EXECUTOR_BLOCKING = 2; + */ + EXECUTOR_BLOCKING = 2, + + /** + * @generated from enum value: EXECUTION_ASYNC_LEVEL_FULL_ASYNC = 3; + */ + FULL_ASYNC = 3, +} + +/** + * Describes the enum exa.cortex_pb.ExecutionAsyncLevel. + */ +export const ExecutionAsyncLevelSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_cortex_pb_cortex, 7); + +/** + * @generated from enum exa.cortex_pb.CortexStepStatus + */ +export enum CortexStepStatus { + /** + * @generated from enum value: CORTEX_STEP_STATUS_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: CORTEX_STEP_STATUS_GENERATING = 8; + */ + GENERATING = 8, + + /** + * @generated from enum value: CORTEX_STEP_STATUS_HALTED = 10; + */ + HALTED = 10, + + /** + * @generated from enum value: CORTEX_STEP_STATUS_PENDING = 1; + */ + PENDING = 1, + + /** + * @generated from enum value: CORTEX_STEP_STATUS_RUNNING = 2; + */ + RUNNING = 2, + + /** + * @generated from enum value: CORTEX_STEP_STATUS_WAITING = 9; + */ + WAITING = 9, + + /** + * @generated from enum value: CORTEX_STEP_STATUS_DONE = 3; + */ + DONE = 3, + + /** + * @generated from enum value: CORTEX_STEP_STATUS_INVALID = 4; + */ + INVALID = 4, + + /** + * @generated from enum value: CORTEX_STEP_STATUS_CLEARED = 5; + */ + CLEARED = 5, + + /** + * @generated from enum value: CORTEX_STEP_STATUS_CANCELED = 6; + */ + CANCELED = 6, + + /** + * @generated from enum value: CORTEX_STEP_STATUS_ERROR = 7; + */ + ERROR = 7, + + /** + * @generated from enum value: CORTEX_STEP_STATUS_SKIPPING = 11; + */ + SKIPPING = 11, +} + +/** + * Describes the enum exa.cortex_pb.CortexStepStatus. + */ +export const CortexStepStatusSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_cortex_pb_cortex, 8); + +/** + * @generated from enum exa.cortex_pb.CascadeRunStatus + */ +export enum CascadeRunStatus { + /** + * @generated from enum value: CASCADE_RUN_STATUS_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: CASCADE_RUN_STATUS_IDLE = 1; + */ + IDLE = 1, + + /** + * @generated from enum value: CASCADE_RUN_STATUS_RUNNING = 2; + */ + RUNNING = 2, + + /** + * @generated from enum value: CASCADE_RUN_STATUS_CANCELING = 3; + */ + CANCELING = 3, + + /** + * @generated from enum value: CASCADE_RUN_STATUS_BUSY = 4; + */ + BUSY = 4, +} + +/** + * Describes the enum exa.cortex_pb.CascadeRunStatus. + */ +export const CascadeRunStatusSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_cortex_pb_cortex, 9); + +/** + * @generated from enum exa.cortex_pb.BrainFilterStrategy + */ +export enum BrainFilterStrategy { + /** + * @generated from enum value: BRAIN_FILTER_STRATEGY_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: BRAIN_FILTER_STRATEGY_NO_SYSTEM_INJECTED_STEPS = 1; + */ + NO_SYSTEM_INJECTED_STEPS = 1, + + /** + * @generated from enum value: BRAIN_FILTER_STRATEGY_NO_MEMORIES = 2; + */ + NO_MEMORIES = 2, +} + +/** + * Describes the enum exa.cortex_pb.BrainFilterStrategy. + */ +export const BrainFilterStrategySchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_cortex_pb_cortex, 10); + +/** + * @generated from enum exa.cortex_pb.SectionOverrideMode + */ +export enum SectionOverrideMode { + /** + * @generated from enum value: SECTION_OVERRIDE_MODE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: SECTION_OVERRIDE_MODE_OVERRIDE = 1; + */ + OVERRIDE = 1, + + /** + * @generated from enum value: SECTION_OVERRIDE_MODE_APPEND = 2; + */ + APPEND = 2, + + /** + * @generated from enum value: SECTION_OVERRIDE_MODE_PREPEND = 3; + */ + PREPEND = 3, +} + +/** + * Describes the enum exa.cortex_pb.SectionOverrideMode. + */ +export const SectionOverrideModeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_cortex_pb_cortex, 11); + +/** + * @generated from enum exa.cortex_pb.AgenticMixin + */ +export enum AgenticMixin { + /** + * @generated from enum value: AGENTIC_MIXIN_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: AGENTIC_MIXIN_SMARTLINT = 1; + */ + SMARTLINT = 1, + + /** + * @generated from enum value: AGENTIC_MIXIN_PR_REVIEW = 2; + */ + PR_REVIEW = 2, +} + +/** + * Describes the enum exa.cortex_pb.AgenticMixin. + */ +export const AgenticMixinSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_cortex_pb_cortex, 12); + +/** + * @generated from enum exa.cortex_pb.CascadeAgentToolSet + */ +export enum CascadeAgentToolSet { + /** + * @generated from enum value: CASCADE_AGENT_TOOL_SET_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: CASCADE_AGENT_TOOL_SET_ONLY_COMMAND = 1; + */ + ONLY_COMMAND = 1, + + /** + * @generated from enum value: CASCADE_AGENT_TOOL_SET_COMMAND_AND_EDITS = 2; + */ + COMMAND_AND_EDITS = 2, + + /** + * @generated from enum value: CASCADE_AGENT_TOOL_SET_NO_SEARCH = 3; + */ + NO_SEARCH = 3, +} + +/** + * Describes the enum exa.cortex_pb.CascadeAgentToolSet. + */ +export const CascadeAgentToolSetSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_cortex_pb_cortex, 13); + +/** + * @generated from enum exa.cortex_pb.ReplaceToolVariant + */ +export enum ReplaceToolVariant { + /** + * @generated from enum value: REPLACE_TOOL_VARIANT_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: REPLACE_TOOL_VARIANT_REPLACEMENT_CHUNK = 1; + */ + REPLACEMENT_CHUNK = 1, + + /** + * @generated from enum value: REPLACE_TOOL_VARIANT_SEARCH_REPLACE = 2; + */ + SEARCH_REPLACE = 2, + + /** + * @generated from enum value: REPLACE_TOOL_VARIANT_APPLY_PATCH = 3; + */ + APPLY_PATCH = 3, + + /** + * @generated from enum value: REPLACE_TOOL_VARIANT_SINGLE_MULTI = 4; + */ + SINGLE_MULTI = 4, + + /** + * @generated from enum value: REPLACE_TOOL_VARIANT_OPENAI_APPLY_PATCH = 5; + */ + OPENAI_APPLY_PATCH = 5, + + /** + * @generated from enum value: REPLACE_TOOL_VARIANT_FREEFORM_APPLY_PATCH = 6; + */ + FREEFORM_APPLY_PATCH = 6, +} + +/** + * Describes the enum exa.cortex_pb.ReplaceToolVariant. + */ +export const ReplaceToolVariantSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_cortex_pb_cortex, 14); + +/** + * @generated from enum exa.cortex_pb.RunCommandAction + */ +export enum RunCommandAction { + /** + * @generated from enum value: RUN_COMMAND_ACTION_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: RUN_COMMAND_ACTION_CONFIRM = 1; + */ + CONFIRM = 1, + + /** + * @generated from enum value: RUN_COMMAND_ACTION_REJECT = 2; + */ + REJECT = 2, + + /** + * @generated from enum value: RUN_COMMAND_ACTION_SKIP = 3; + */ + SKIP = 3, +} + +/** + * Describes the enum exa.cortex_pb.RunCommandAction. + */ +export const RunCommandActionSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_cortex_pb_cortex, 15); + +/** + * @generated from enum exa.cortex_pb.ReadUrlContentAction + */ +export enum ReadUrlContentAction { + /** + * @generated from enum value: READ_URL_CONTENT_ACTION_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: READ_URL_CONTENT_ACTION_ALLOW_ONCE = 1; + */ + ALLOW_ONCE = 1, + + /** + * @generated from enum value: READ_URL_CONTENT_ACTION_REJECT = 2; + */ + REJECT = 2, + + /** + * @generated from enum value: READ_URL_CONTENT_ACTION_ALWAYS_ALLOW_ORIGIN = 3; + */ + ALWAYS_ALLOW_ORIGIN = 3, +} + +/** + * Describes the enum exa.cortex_pb.ReadUrlContentAction. + */ +export const ReadUrlContentActionSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_cortex_pb_cortex, 16); + +/** + * @generated from enum exa.cortex_pb.CortexStepType + */ +export enum CortexStepType { + /** + * @generated from enum value: CORTEX_STEP_TYPE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_DUMMY = 1; + */ + DUMMY = 1, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_FINISH = 2; + */ + FINISH = 2, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_PLAN_INPUT = 3; + */ + PLAN_INPUT = 3, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_MQUERY = 4; + */ + MQUERY = 4, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_CODE_ACTION = 5; + */ + CODE_ACTION = 5, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_GIT_COMMIT = 6; + */ + GIT_COMMIT = 6, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_GREP_SEARCH = 7; + */ + GREP_SEARCH = 7, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_VIEW_FILE = 8; + */ + VIEW_FILE = 8, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_LIST_DIRECTORY = 9; + */ + LIST_DIRECTORY = 9, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_COMPILE = 10; + */ + COMPILE = 10, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_INFORM = 11; + */ + INFORM = 11, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_FILE_BREAKDOWN = 12 [deprecated = true]; + * @deprecated + */ + FILE_BREAKDOWN = 12, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_VIEW_CODE_ITEM = 13; + */ + VIEW_CODE_ITEM = 13, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_USER_INPUT = 14; + */ + USER_INPUT = 14, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_PLANNER_RESPONSE = 15; + */ + PLANNER_RESPONSE = 15, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_WRITE_TO_FILE = 16 [deprecated = true]; + * @deprecated + */ + WRITE_TO_FILE = 16, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_ERROR_MESSAGE = 17; + */ + ERROR_MESSAGE = 17, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_CLUSTER_QUERY = 18; + */ + CLUSTER_QUERY = 18, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_LIST_CLUSTERS = 19; + */ + LIST_CLUSTERS = 19, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_INSPECT_CLUSTER = 20; + */ + INSPECT_CLUSTER = 20, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_RUN_COMMAND = 21; + */ + RUN_COMMAND = 21, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_RELATED_FILES = 22; + */ + RELATED_FILES = 22, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_CHECKPOINT = 23; + */ + CHECKPOINT = 23, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_PROPOSE_CODE = 24; + */ + PROPOSE_CODE = 24, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_FIND = 25; + */ + FIND = 25, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_SEARCH_KNOWLEDGE_BASE = 26 [deprecated = true]; + * @deprecated + */ + SEARCH_KNOWLEDGE_BASE = 26, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_SUGGESTED_RESPONSES = 27; + */ + SUGGESTED_RESPONSES = 27, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_COMMAND_STATUS = 28; + */ + COMMAND_STATUS = 28, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_MEMORY = 29; + */ + MEMORY = 29, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_LOOKUP_KNOWLEDGE_BASE = 30 [deprecated = true]; + * @deprecated + */ + LOOKUP_KNOWLEDGE_BASE = 30, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_READ_URL_CONTENT = 31; + */ + READ_URL_CONTENT = 31, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_VIEW_CONTENT_CHUNK = 32; + */ + VIEW_CONTENT_CHUNK = 32, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_SEARCH_WEB = 33; + */ + SEARCH_WEB = 33, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_RETRIEVE_MEMORY = 34; + */ + RETRIEVE_MEMORY = 34, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_AUTO_CASCADE_BROADCAST = 35; + */ + AUTO_CASCADE_BROADCAST = 35, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_CUSTOM_TOOL = 36; + */ + CUSTOM_TOOL = 36, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_CREATE_RECIPE = 37 [deprecated = true]; + * @deprecated + */ + CREATE_RECIPE = 37, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_MCP_TOOL = 38; + */ + MCP_TOOL = 38, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_MANAGER_FEEDBACK = 39; + */ + MANAGER_FEEDBACK = 39, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_TOOL_CALL_PROPOSAL = 40; + */ + TOOL_CALL_PROPOSAL = 40, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_TOOL_CALL_CHOICE = 41; + */ + TOOL_CALL_CHOICE = 41, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_TRAJECTORY_CHOICE = 42; + */ + TRAJECTORY_CHOICE = 42, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_PROXY_WEB_SERVER = 43; + */ + PROXY_WEB_SERVER = 43, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_DEPLOY_WEB_APP = 44; + */ + DEPLOY_WEB_APP = 44, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_CLIPBOARD = 45; + */ + CLIPBOARD = 45, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_READ_DEPLOYMENT_CONFIG = 46; + */ + READ_DEPLOYMENT_CONFIG = 46, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_VIEW_FILE_OUTLINE = 47 [deprecated = true]; + * @deprecated + */ + VIEW_FILE_OUTLINE = 47, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_CHECK_DEPLOY_STATUS = 48; + */ + CHECK_DEPLOY_STATUS = 48, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_POST_PR_REVIEW = 49; + */ + POST_PR_REVIEW = 49, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_READ_KNOWLEDGE_BASE_ITEM = 50; + */ + READ_KNOWLEDGE_BASE_ITEM = 50, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_LIST_RESOURCES = 51; + */ + LIST_RESOURCES = 51, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_READ_RESOURCE = 52; + */ + READ_RESOURCE = 52, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_LINT_DIFF = 53; + */ + LINT_DIFF = 53, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_FIND_ALL_REFERENCES = 54; + */ + FIND_ALL_REFERENCES = 54, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_BRAIN_UPDATE = 55; + */ + BRAIN_UPDATE = 55, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_RUN_EXTENSION_CODE = 57; + */ + RUN_EXTENSION_CODE = 57, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_ADD_ANNOTATION = 58; + */ + ADD_ANNOTATION = 58, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_PROPOSAL_FEEDBACK = 59; + */ + PROPOSAL_FEEDBACK = 59, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_TRAJECTORY_SEARCH = 60; + */ + TRAJECTORY_SEARCH = 60, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_READ_TERMINAL = 65; + */ + READ_TERMINAL = 65, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_GET_DOM_TREE = 68 [deprecated = true]; + * @deprecated + */ + GET_DOM_TREE = 68, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_ARTIFACT_SUMMARY = 71 [deprecated = true]; + * @deprecated + */ + ARTIFACT_SUMMARY = 71, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_RESOLVE_TASK = 72; + */ + RESOLVE_TASK = 72, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_TODO_LIST = 73; + */ + TODO_LIST = 73, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_BLOCKING = 74; + */ + BLOCKING = 74, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_EXPLORE_RESPONSE = 80; + */ + EXPLORE_RESPONSE = 80, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_READ_NOTEBOOK = 82; + */ + READ_NOTEBOOK = 82, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_EDIT_NOTEBOOK = 83; + */ + EDIT_NOTEBOOK = 83, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_SUPERCOMPLETE_ACTIVE_DOC = 86; + */ + SUPERCOMPLETE_ACTIVE_DOC = 86, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_FIND_CODE_CONTEXT = 87; + */ + FIND_CODE_CONTEXT = 87, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_SUPERCOMPLETE_FEEDBACK = 89; + */ + SUPERCOMPLETE_FEEDBACK = 89, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_LINT_FIX_MESSAGE = 90; + */ + LINT_FIX_MESSAGE = 90, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_GREP_SEARCH_V2 = 91; + */ + GREP_SEARCH_V2 = 91, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_UPSERT_CODEMAP = 92; + */ + UPSERT_CODEMAP = 92, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_SUGGEST_CODEMAP = 93; + */ + SUGGEST_CODEMAP = 93, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_SMART_FRIEND = 94; + */ + SMART_FRIEND = 94, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_DO_TESTING = 95; + */ + DO_TESTING = 95, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_REPORT_BUGS = 97; + */ + REPORT_BUGS = 97, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_EXIT_PLAN_MODE = 99; + */ + EXIT_PLAN_MODE = 99, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_ASK_USER_QUESTION = 100; + */ + ASK_USER_QUESTION = 100, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_SKILL = 101; + */ + SKILL = 101, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_SUPERCOMPLETE_EPHEMERAL_FEEDBACK = 102; + */ + SUPERCOMPLETE_EPHEMERAL_FEEDBACK = 102, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_ARENA_TRAJECTORY_CONVERGE = 103; + */ + ARENA_TRAJECTORY_CONVERGE = 103, + + /** + * @generated from enum value: CORTEX_STEP_TYPE_TASK_SUBAGENT = 104; + */ + TASK_SUBAGENT = 104, +} + +/** + * Describes the enum exa.cortex_pb.CortexStepType. + */ +export const CortexStepTypeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_cortex_pb_cortex, 17); + +/** + * @generated from enum exa.cortex_pb.SemanticCodebaseSearchType + */ +export enum SemanticCodebaseSearchType { + /** + * @generated from enum value: SEMANTIC_CODEBASE_SEARCH_TYPE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: SEMANTIC_CODEBASE_SEARCH_TYPE_MQUERY = 1; + */ + MQUERY = 1, + + /** + * @generated from enum value: SEMANTIC_CODEBASE_SEARCH_TYPE_VECTOR_INDEX = 2; + */ + VECTOR_INDEX = 2, +} + +/** + * Describes the enum exa.cortex_pb.SemanticCodebaseSearchType. + */ +export const SemanticCodebaseSearchTypeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_cortex_pb_cortex, 18); + +/** + * @generated from enum exa.cortex_pb.AcknowledgementType + */ +export enum AcknowledgementType { + /** + * @generated from enum value: ACKNOWLEDGEMENT_TYPE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: ACKNOWLEDGEMENT_TYPE_ACCEPT = 1; + */ + ACCEPT = 1, + + /** + * @generated from enum value: ACKNOWLEDGEMENT_TYPE_REJECT = 2; + */ + REJECT = 2, +} + +/** + * Describes the enum exa.cortex_pb.AcknowledgementType. + */ +export const AcknowledgementTypeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_cortex_pb_cortex, 19); + +/** + * @generated from enum exa.cortex_pb.CodeHeuristicFailure + */ +export enum CodeHeuristicFailure { + /** + * @generated from enum value: CODE_HEURISTIC_FAILURE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: CODE_HEURISTIC_FAILURE_LAZY_COMMENT = 1; + */ + LAZY_COMMENT = 1, + + /** + * @generated from enum value: CODE_HEURISTIC_FAILURE_DELETED_LINES = 2; + */ + DELETED_LINES = 2, +} + +/** + * Describes the enum exa.cortex_pb.CodeHeuristicFailure. + */ +export const CodeHeuristicFailureSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_cortex_pb_cortex, 20); + +/** + * @generated from enum exa.cortex_pb.InformPlannerMode + */ +export enum InformPlannerMode { + /** + * @generated from enum value: INFORM_PLANNER_MODE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: INFORM_PLANNER_MODE_CCIS = 1; + */ + CCIS = 1, + + /** + * @generated from enum value: INFORM_PLANNER_MODE_DIRECTORY_TREE = 2; + */ + DIRECTORY_TREE = 2, + + /** + * @generated from enum value: INFORM_PLANNER_MODE_CLUSTERS = 3; + */ + CLUSTERS = 3, +} + +/** + * Describes the enum exa.cortex_pb.InformPlannerMode. + */ +export const InformPlannerModeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_cortex_pb_cortex, 21); + +/** + * @generated from enum exa.cortex_pb.FindResultType + */ +export enum FindResultType { + /** + * @generated from enum value: FIND_RESULT_TYPE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: FIND_RESULT_TYPE_FILE = 1; + */ + FILE = 1, + + /** + * @generated from enum value: FIND_RESULT_TYPE_DIRECTORY = 2; + */ + DIRECTORY = 2, + + /** + * @generated from enum value: FIND_RESULT_TYPE_ANY = 3; + */ + ANY = 3, +} + +/** + * Describes the enum exa.cortex_pb.FindResultType. + */ +export const FindResultTypeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_cortex_pb_cortex, 22); + +/** + * @generated from enum exa.cortex_pb.CortexStepCompileTool + */ +export enum CortexStepCompileTool { + /** + * @generated from enum value: CORTEX_STEP_COMPILE_TOOL_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: CORTEX_STEP_COMPILE_TOOL_PYLINT = 1; + */ + PYLINT = 1, +} + +/** + * Describes the enum exa.cortex_pb.CortexStepCompileTool. + */ +export const CortexStepCompileToolSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_cortex_pb_cortex, 23); + +/** + * @generated from enum exa.cortex_pb.AutoRunDecision + */ +export enum AutoRunDecision { + /** + * @generated from enum value: AUTO_RUN_DECISION_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: AUTO_RUN_DECISION_USER_ALLOW = 1; + */ + USER_ALLOW = 1, + + /** + * @generated from enum value: AUTO_RUN_DECISION_USER_DENY = 2; + */ + USER_DENY = 2, + + /** + * @generated from enum value: AUTO_RUN_DECISION_SYSTEM_ALLOW = 3; + */ + SYSTEM_ALLOW = 3, + + /** + * @generated from enum value: AUTO_RUN_DECISION_SYSTEM_DENY = 4; + */ + SYSTEM_DENY = 4, + + /** + * @generated from enum value: AUTO_RUN_DECISION_MODEL_ALLOW = 5; + */ + MODEL_ALLOW = 5, + + /** + * @generated from enum value: AUTO_RUN_DECISION_MODEL_DENY = 6; + */ + MODEL_DENY = 6, + + /** + * @generated from enum value: AUTO_RUN_DECISION_DEFAULT_ALLOW = 7; + */ + DEFAULT_ALLOW = 7, + + /** + * @generated from enum value: AUTO_RUN_DECISION_DEFAULT_DENY = 8; + */ + DEFAULT_DENY = 8, + + /** + * @generated from enum value: AUTO_RUN_DECISION_USER_SKIP = 9; + */ + USER_SKIP = 9, +} + +/** + * Describes the enum exa.cortex_pb.AutoRunDecision. + */ +export const AutoRunDecisionSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_cortex_pb_cortex, 24); + +/** + * @generated from enum exa.cortex_pb.DeployWebAppFileUploadStatus + */ +export enum DeployWebAppFileUploadStatus { + /** + * @generated from enum value: DEPLOY_WEB_APP_FILE_UPLOAD_STATUS_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: DEPLOY_WEB_APP_FILE_UPLOAD_STATUS_PENDING = 1; + */ + PENDING = 1, + + /** + * @generated from enum value: DEPLOY_WEB_APP_FILE_UPLOAD_STATUS_IN_PROGRESS = 2; + */ + IN_PROGRESS = 2, + + /** + * @generated from enum value: DEPLOY_WEB_APP_FILE_UPLOAD_STATUS_SUCCESS = 3; + */ + SUCCESS = 3, + + /** + * @generated from enum value: DEPLOY_WEB_APP_FILE_UPLOAD_STATUS_FAILURE = 4; + */ + FAILURE = 4, +} + +/** + * Describes the enum exa.cortex_pb.DeployWebAppFileUploadStatus. + */ +export const DeployWebAppFileUploadStatusSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_cortex_pb_cortex, 25); + +/** + * @generated from enum exa.cortex_pb.ExecutorTerminationReason + */ +export enum ExecutorTerminationReason { + /** + * @generated from enum value: EXECUTOR_TERMINATION_REASON_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: EXECUTOR_TERMINATION_REASON_ERROR = 1; + */ + ERROR = 1, + + /** + * @generated from enum value: EXECUTOR_TERMINATION_REASON_USER_CANCELED = 2; + */ + USER_CANCELED = 2, + + /** + * @generated from enum value: EXECUTOR_TERMINATION_REASON_MAX_INVOCATIONS = 3; + */ + MAX_INVOCATIONS = 3, + + /** + * @generated from enum value: EXECUTOR_TERMINATION_REASON_NO_TOOL_CALL = 4; + */ + NO_TOOL_CALL = 4, + + /** + * @generated from enum value: EXECUTOR_TERMINATION_REASON_HALTED_STEP = 5; + */ + HALTED_STEP = 5, + + /** + * @generated from enum value: EXECUTOR_TERMINATION_REASON_HOOK_BLOCKED = 6; + */ + HOOK_BLOCKED = 6, + + /** + * @generated from enum value: EXECUTOR_TERMINATION_REASON_ARENA_INVOCATION_CAP = 7; + */ + ARENA_INVOCATION_CAP = 7, +} + +/** + * Describes the enum exa.cortex_pb.ExecutorTerminationReason. + */ +export const ExecutorTerminationReasonSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_cortex_pb_cortex, 26); + +/** + * @generated from enum exa.cortex_pb.LintDiffType + */ +export enum LintDiffType { + /** + * @generated from enum value: LINT_DIFF_TYPE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: LINT_DIFF_TYPE_DELETE = 1; + */ + DELETE = 1, + + /** + * @generated from enum value: LINT_DIFF_TYPE_INSERT = 2; + */ + INSERT = 2, + + /** + * @generated from enum value: LINT_DIFF_TYPE_UNCHANGED = 3; + */ + UNCHANGED = 3, +} + +/** + * Describes the enum exa.cortex_pb.LintDiffType. + */ +export const LintDiffTypeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_cortex_pb_cortex, 27); + +/** + * @generated from enum exa.cortex_pb.BrainEntryType + */ +export enum BrainEntryType { + /** + * @generated from enum value: BRAIN_ENTRY_TYPE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: BRAIN_ENTRY_TYPE_PLAN = 1; + */ + PLAN = 1, + + /** + * @generated from enum value: BRAIN_ENTRY_TYPE_TASK = 2; + */ + TASK = 2, +} + +/** + * Describes the enum exa.cortex_pb.BrainEntryType. + */ +export const BrainEntryTypeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_cortex_pb_cortex, 28); + +/** + * @generated from enum exa.cortex_pb.TaskStatus + */ +export enum TaskStatus { + /** + * @generated from enum value: TASK_STATUS_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: TASK_STATUS_TODO = 1; + */ + TODO = 1, + + /** + * @generated from enum value: TASK_STATUS_IN_PROGRESS = 2; + */ + IN_PROGRESS = 2, + + /** + * @generated from enum value: TASK_STATUS_DONE = 3; + */ + DONE = 3, +} + +/** + * Describes the enum exa.cortex_pb.TaskStatus. + */ +export const TaskStatusSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_cortex_pb_cortex, 29); + +/** + * @generated from enum exa.cortex_pb.TaskDeltaType + */ +export enum TaskDeltaType { + /** + * @generated from enum value: TASK_DELTA_TYPE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: TASK_DELTA_TYPE_ADD = 1; + */ + ADD = 1, + + /** + * @generated from enum value: TASK_DELTA_TYPE_PRUNE = 2; + */ + PRUNE = 2, + + /** + * @generated from enum value: TASK_DELTA_TYPE_DELETE = 3; + */ + DELETE = 3, + + /** + * @generated from enum value: TASK_DELTA_TYPE_UPDATE = 4; + */ + UPDATE = 4, + + /** + * @generated from enum value: TASK_DELTA_TYPE_MOVE = 5; + */ + MOVE = 5, +} + +/** + * Describes the enum exa.cortex_pb.TaskDeltaType. + */ +export const TaskDeltaTypeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_cortex_pb_cortex, 30); + +/** + * @generated from enum exa.cortex_pb.BrainUpdateTrigger + */ +export enum BrainUpdateTrigger { + /** + * @generated from enum value: BRAIN_UPDATE_TRIGGER_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: BRAIN_UPDATE_TRIGGER_SYSTEM_FORCED = 1; + */ + SYSTEM_FORCED = 1, + + /** + * @generated from enum value: BRAIN_UPDATE_TRIGGER_USER_REQUESTED = 2; + */ + USER_REQUESTED = 2, + + /** + * @generated from enum value: BRAIN_UPDATE_TRIGGER_USER_NEW_INFO = 3; + */ + USER_NEW_INFO = 3, + + /** + * @generated from enum value: BRAIN_UPDATE_TRIGGER_RESEARCH_NEW_INFO = 4; + */ + RESEARCH_NEW_INFO = 4, +} + +/** + * Describes the enum exa.cortex_pb.BrainUpdateTrigger. + */ +export const BrainUpdateTriggerSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_cortex_pb_cortex, 31); + +/** + * @generated from enum exa.cortex_pb.CommandOutputPriority + */ +export enum CommandOutputPriority { + /** + * @generated from enum value: COMMAND_OUTPUT_PRIORITY_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: COMMAND_OUTPUT_PRIORITY_TOP = 1; + */ + TOP = 1, + + /** + * @generated from enum value: COMMAND_OUTPUT_PRIORITY_BOTTOM = 2; + */ + BOTTOM = 2, + + /** + * @generated from enum value: COMMAND_OUTPUT_PRIORITY_SPLIT = 3; + */ + SPLIT = 3, +} + +/** + * Describes the enum exa.cortex_pb.CommandOutputPriority. + */ +export const CommandOutputPrioritySchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_cortex_pb_cortex, 32); + +/** + * @generated from enum exa.cortex_pb.CortexMemorySource + */ +export enum CortexMemorySource { + /** + * @generated from enum value: CORTEX_MEMORY_SOURCE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: CORTEX_MEMORY_SOURCE_USER = 1; + */ + USER = 1, + + /** + * @generated from enum value: CORTEX_MEMORY_SOURCE_CASCADE = 2; + */ + CASCADE = 2, + + /** + * @generated from enum value: CORTEX_MEMORY_SOURCE_AUTO_CASCADE = 3; + */ + AUTO_CASCADE = 3, +} + +/** + * Describes the enum exa.cortex_pb.CortexMemorySource. + */ +export const CortexMemorySourceSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_cortex_pb_cortex, 33); + +/** + * @generated from enum exa.cortex_pb.CortexMemoryTrigger + */ +export enum CortexMemoryTrigger { + /** + * @generated from enum value: CORTEX_MEMORY_TRIGGER_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: CORTEX_MEMORY_TRIGGER_ALWAYS_ON = 1; + */ + ALWAYS_ON = 1, + + /** + * @generated from enum value: CORTEX_MEMORY_TRIGGER_MODEL_DECISION = 2; + */ + MODEL_DECISION = 2, + + /** + * @generated from enum value: CORTEX_MEMORY_TRIGGER_MANUAL = 3; + */ + MANUAL = 3, + + /** + * @generated from enum value: CORTEX_MEMORY_TRIGGER_GLOB = 4; + */ + GLOB = 4, +} + +/** + * Describes the enum exa.cortex_pb.CortexMemoryTrigger. + */ +export const CortexMemoryTriggerSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_cortex_pb_cortex, 34); + +/** + * @generated from enum exa.cortex_pb.RuleSource + */ +export enum RuleSource { + /** + * @generated from enum value: RULE_SOURCE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: RULE_SOURCE_WORKSPACE = 1; + */ + WORKSPACE = 1, + + /** + * @generated from enum value: RULE_SOURCE_SYSTEM = 2; + */ + SYSTEM = 2, +} + +/** + * Describes the enum exa.cortex_pb.RuleSource. + */ +export const RuleSourceSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_cortex_pb_cortex, 35); + +/** + * @generated from enum exa.cortex_pb.SkillSource + */ +export enum SkillSource { + /** + * @generated from enum value: SKILL_SOURCE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: SKILL_SOURCE_WORKSPACE = 1; + */ + WORKSPACE = 1, + + /** + * @generated from enum value: SKILL_SOURCE_GLOBAL = 2; + */ + GLOBAL = 2, + + /** + * @generated from enum value: SKILL_SOURCE_SYSTEM = 3; + */ + SYSTEM = 3, +} + +/** + * Describes the enum exa.cortex_pb.SkillSource. + */ +export const SkillSourceSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_cortex_pb_cortex, 36); + +/** + * @generated from enum exa.cortex_pb.MemoryActionType + */ +export enum MemoryActionType { + /** + * @generated from enum value: MEMORY_ACTION_TYPE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: MEMORY_ACTION_TYPE_CREATE = 1; + */ + CREATE = 1, + + /** + * @generated from enum value: MEMORY_ACTION_TYPE_UPDATE = 2; + */ + UPDATE = 2, + + /** + * @generated from enum value: MEMORY_ACTION_TYPE_DELETE = 3; + */ + DELETE = 3, +} + +/** + * Describes the enum exa.cortex_pb.MemoryActionType. + */ +export const MemoryActionTypeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_cortex_pb_cortex, 37); + +/** + * @generated from enum exa.cortex_pb.CortexStepManagerFeedbackStatus + */ +export enum CortexStepManagerFeedbackStatus { + /** + * @generated from enum value: CORTEX_STEP_MANAGER_FEEDBACK_STATUS_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: CORTEX_STEP_MANAGER_FEEDBACK_STATUS_APPROVED = 1; + */ + APPROVED = 1, + + /** + * @generated from enum value: CORTEX_STEP_MANAGER_FEEDBACK_STATUS_DENIED = 2; + */ + DENIED = 2, + + /** + * @generated from enum value: CORTEX_STEP_MANAGER_FEEDBACK_STATUS_ERROR = 3; + */ + ERROR = 3, +} + +/** + * Describes the enum exa.cortex_pb.CortexStepManagerFeedbackStatus. + */ +export const CortexStepManagerFeedbackStatusSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_cortex_pb_cortex, 38); + +/** + * @generated from enum exa.cortex_pb.McpServerStatus + */ +export enum McpServerStatus { + /** + * @generated from enum value: MCP_SERVER_STATUS_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: MCP_SERVER_STATUS_PENDING = 1; + */ + PENDING = 1, + + /** + * @generated from enum value: MCP_SERVER_STATUS_READY = 2; + */ + READY = 2, + + /** + * @generated from enum value: MCP_SERVER_STATUS_ERROR = 3; + */ + ERROR = 3, + + /** + * @generated from enum value: MCP_SERVER_STATUS_NEEDS_OAUTH = 4; + */ + NEEDS_OAUTH = 4, +} + +/** + * Describes the enum exa.cortex_pb.McpServerStatus. + */ +export const McpServerStatusSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_cortex_pb_cortex, 39); + +/** + * @generated from enum exa.cortex_pb.CortexTodoListItemStatus + */ +export enum CortexTodoListItemStatus { + /** + * @generated from enum value: CORTEX_TODO_LIST_ITEM_STATUS_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: CORTEX_TODO_LIST_ITEM_STATUS_PENDING = 1; + */ + PENDING = 1, + + /** + * @generated from enum value: CORTEX_TODO_LIST_ITEM_STATUS_IN_PROGRESS = 2; + */ + IN_PROGRESS = 2, + + /** + * @generated from enum value: CORTEX_TODO_LIST_ITEM_STATUS_COMPLETED = 3; + */ + COMPLETED = 3, +} + +/** + * Describes the enum exa.cortex_pb.CortexTodoListItemStatus. + */ +export const CortexTodoListItemStatusSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_cortex_pb_cortex, 40); + +/** + * @generated from enum exa.cortex_pb.CortexTodoListItemPriority + */ +export enum CortexTodoListItemPriority { + /** + * @generated from enum value: CORTEX_TODO_LIST_ITEM_PRIORITY_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: CORTEX_TODO_LIST_ITEM_PRIORITY_LOW = 1; + */ + LOW = 1, + + /** + * @generated from enum value: CORTEX_TODO_LIST_ITEM_PRIORITY_MEDIUM = 2; + */ + MEDIUM = 2, + + /** + * @generated from enum value: CORTEX_TODO_LIST_ITEM_PRIORITY_HIGH = 3; + */ + HIGH = 3, +} + +/** + * Describes the enum exa.cortex_pb.CortexTodoListItemPriority. + */ +export const CortexTodoListItemPrioritySchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_cortex_pb_cortex, 41); + +/** + * @generated from enum exa.cortex_pb.TrajectoryShareStatus + */ +export enum TrajectoryShareStatus { + /** + * @generated from enum value: TRAJECTORY_SHARE_STATUS_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: TRAJECTORY_SHARE_STATUS_TEAM = 1; + */ + TEAM = 1, +} + +/** + * Describes the enum exa.cortex_pb.TrajectoryShareStatus. + */ +export const TrajectoryShareStatusSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_cortex_pb_cortex, 42); + +/** + * @generated from enum exa.cortex_pb.RunExtensionCodeAutoRunDecision + */ +export enum RunExtensionCodeAutoRunDecision { + /** + * @generated from enum value: RUN_EXTENSION_CODE_AUTO_RUN_DECISION_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: RUN_EXTENSION_CODE_AUTO_RUN_DECISION_ALLOWED = 1; + */ + ALLOWED = 1, + + /** + * @generated from enum value: RUN_EXTENSION_CODE_AUTO_RUN_DECISION_DENIED = 2; + */ + DENIED = 2, + + /** + * @generated from enum value: RUN_EXTENSION_CODE_AUTO_RUN_DECISION_MODEL_ALLOWED = 3; + */ + MODEL_ALLOWED = 3, + + /** + * @generated from enum value: RUN_EXTENSION_CODE_AUTO_RUN_DECISION_MODEL_DENIED = 4; + */ + MODEL_DENIED = 4, +} + +/** + * Describes the enum exa.cortex_pb.RunExtensionCodeAutoRunDecision. + */ +export const RunExtensionCodeAutoRunDecisionSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_cortex_pb_cortex, 43); + +/** + * @generated from enum exa.cortex_pb.TrajectorySearchIdType + */ +export enum TrajectorySearchIdType { + /** + * @generated from enum value: TRAJECTORY_SEARCH_ID_TYPE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: TRAJECTORY_SEARCH_ID_TYPE_CASCADE_ID = 1; + */ + CASCADE_ID = 1, + + /** + * @generated from enum value: TRAJECTORY_SEARCH_ID_TYPE_MAINLINE = 2; + */ + MAINLINE = 2, +} + +/** + * Describes the enum exa.cortex_pb.TrajectorySearchIdType. + */ +export const TrajectorySearchIdTypeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_cortex_pb_cortex, 44); + +/** + * @generated from enum exa.cortex_pb.HookAgentAction + */ +export enum HookAgentAction { + /** + * @generated from enum value: HOOK_AGENT_ACTION_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: HOOK_AGENT_ACTION_PRE_READ_CODE = 1; + */ + PRE_READ_CODE = 1, + + /** + * @generated from enum value: HOOK_AGENT_ACTION_POST_READ_CODE = 2; + */ + POST_READ_CODE = 2, + + /** + * @generated from enum value: HOOK_AGENT_ACTION_PRE_WRITE_CODE = 3; + */ + PRE_WRITE_CODE = 3, + + /** + * @generated from enum value: HOOK_AGENT_ACTION_POST_WRITE_CODE = 4; + */ + POST_WRITE_CODE = 4, + + /** + * @generated from enum value: HOOK_AGENT_ACTION_PRE_MCP_TOOL_USE = 5; + */ + PRE_MCP_TOOL_USE = 5, + + /** + * @generated from enum value: HOOK_AGENT_ACTION_POST_MCP_TOOL_USE = 6; + */ + POST_MCP_TOOL_USE = 6, + + /** + * @generated from enum value: HOOK_AGENT_ACTION_PRE_RUN_COMMAND = 7; + */ + PRE_RUN_COMMAND = 7, + + /** + * @generated from enum value: HOOK_AGENT_ACTION_POST_RUN_COMMAND = 8; + */ + POST_RUN_COMMAND = 8, + + /** + * @generated from enum value: HOOK_AGENT_ACTION_PRE_USER_PROMPT = 9; + */ + PRE_USER_PROMPT = 9, + + /** + * @generated from enum value: HOOK_AGENT_ACTION_POST_CASCADE_RESPONSE = 10; + */ + POST_CASCADE_RESPONSE = 10, + + /** + * @generated from enum value: HOOK_AGENT_ACTION_POST_SETUP_WORKTREE = 11; + */ + POST_SETUP_WORKTREE = 11, + + /** + * @generated from enum value: HOOK_AGENT_ACTION_POST_CASCADE_RESPONSE_WITH_TRANSCRIPT = 12; + */ + POST_CASCADE_RESPONSE_WITH_TRANSCRIPT = 12, +} + +/** + * Describes the enum exa.cortex_pb.HookAgentAction. + */ +export const HookAgentActionSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_cortex_pb_cortex, 45); + diff --git a/packages/catalog/src/discovery/devin-gen/exa/diff_action_pb/diff_action_pb.ts b/packages/catalog/src/discovery/devin-gen/exa/diff_action_pb/diff_action_pb.ts new file mode 100644 index 000000000..f3978924c --- /dev/null +++ b/packages/catalog/src/discovery/devin-gen/exa/diff_action_pb/diff_action_pb.ts @@ -0,0 +1,312 @@ +// @generated by protoc-gen-es v2.12.0 with parameter "target=ts" +// @generated from file exa/diff_action_pb/diff_action.proto (package exa.diff_action_pb, syntax proto3) +/* eslint-disable */ + +import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2"; +import { enumDesc, fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2"; +import type { Language } from "../codeium_common_pb/codeium_common_pb"; +import { file_exa_codeium_common_pb_codeium_common } from "../codeium_common_pb/codeium_common_pb"; +import type { Message } from "@bufbuild/protobuf"; + +/** + * Describes the file exa/diff_action_pb/diff_action.proto. + */ +export const file_exa_diff_action_pb_diff_action: GenFile = /*@__PURE__*/ + fileDesc("CiRleGEvZGlmZl9hY3Rpb25fcGIvZGlmZl9hY3Rpb24ucHJvdG8SEmV4YS5kaWZmX2FjdGlvbl9wYiKlAQoLVW5pZmllZERpZmYSPgoFbGluZXMYAyADKAsyLy5leGEuZGlmZl9hY3Rpb25fcGIuVW5pZmllZERpZmYuVW5pZmllZERpZmZMaW5lGlYKD1VuaWZpZWREaWZmTGluZRIMCgR0ZXh0GAEgASgJEjUKBHR5cGUYAiABKA4yJy5leGEuZGlmZl9hY3Rpb25fcGIuVW5pZmllZERpZmZMaW5lVHlwZSLWAQoJRGlmZkJsb2NrEhIKCnN0YXJ0X2xpbmUYASABKAUSEAoIZW5kX2xpbmUYAiABKAUSNQoMdW5pZmllZF9kaWZmGAMgASgLMh8uZXhhLmRpZmZfYWN0aW9uX3BiLlVuaWZpZWREaWZmEjYKDWZyb21fbGFuZ3VhZ2UYBCABKA4yHy5leGEuY29kZWl1bV9jb21tb25fcGIuTGFuZ3VhZ2USNAoLdG9fbGFuZ3VhZ2UYBSABKA4yHy5leGEuY29kZWl1bV9jb21tb25fcGIuTGFuZ3VhZ2UiVQoTQ2hhcmFjdGVyRGlmZkNoYW5nZRIMCgR0ZXh0GAEgASgJEjAKBHR5cGUYAiABKA4yIi5leGEuZGlmZl9hY3Rpb25fcGIuRGlmZkNoYW5nZVR5cGUiSQoNQ2hhcmFjdGVyRGlmZhI4CgdjaGFuZ2VzGAEgAygLMicuZXhhLmRpZmZfYWN0aW9uX3BiLkNoYXJhY3RlckRpZmZDaGFuZ2UiigEKDUNvbWJvRGlmZkxpbmUSDAoEdGV4dBgBIAEoCRIwCgR0eXBlGAIgASgOMiIuZXhhLmRpZmZfYWN0aW9uX3BiLkRpZmZDaGFuZ2VUeXBlEjkKDmNoYXJhY3Rlcl9kaWZmGAMgASgLMiEuZXhhLmRpZmZfYWN0aW9uX3BiLkNoYXJhY3RlckRpZmYiPQoJQ29tYm9EaWZmEjAKBWxpbmVzGAEgAygLMiEuZXhhLmRpZmZfYWN0aW9uX3BiLkNvbWJvRGlmZkxpbmUirgEKB0RpZmZTZXQSNQoMdW5pZmllZF9kaWZmGAEgASgLMh8uZXhhLmRpZmZfYWN0aW9uX3BiLlVuaWZpZWREaWZmEjkKDmNoYXJhY3Rlcl9kaWZmGAIgASgLMiEuZXhhLmRpZmZfYWN0aW9uX3BiLkNoYXJhY3RlckRpZmYSMQoKY29tYm9fZGlmZhgDIAEoCzIdLmV4YS5kaWZmX2FjdGlvbl9wYi5Db21ib0RpZmYiOAoIRGlmZkxpc3QSLAoFZGlmZnMYAiADKAsyHS5leGEuZGlmZl9hY3Rpb25fcGIuRGlmZkJsb2NrKqkBChNVbmlmaWVkRGlmZkxpbmVUeXBlEiYKIlVOSUZJRURfRElGRl9MSU5FX1RZUEVfVU5TUEVDSUZJRUQQABIhCh1VTklGSUVEX0RJRkZfTElORV9UWVBFX0lOU0VSVBABEiEKHVVOSUZJRURfRElGRl9MSU5FX1RZUEVfREVMRVRFEAISJAogVU5JRklFRF9ESUZGX0xJTkVfVFlQRV9VTkNIQU5HRUQQAyqMAQoORGlmZkNoYW5nZVR5cGUSIAocRElGRl9DSEFOR0VfVFlQRV9VTlNQRUNJRklFRBAAEhsKF0RJRkZfQ0hBTkdFX1RZUEVfSU5TRVJUEAESGwoXRElGRl9DSEFOR0VfVFlQRV9ERUxFVEUQAhIeChpESUZGX0NIQU5HRV9UWVBFX1VOQ0hBTkdFRBADKnYKCERpZmZUeXBlEhkKFURJRkZfVFlQRV9VTlNQRUNJRklFRBAAEhUKEURJRkZfVFlQRV9VTklGSUVEEAESFwoTRElGRl9UWVBFX0NIQVJBQ1RFUhACEhMKD0RJRkZfVFlQRV9DT01CTxADIgQIBBAEIgQIBRAFYgZwcm90bzM", [file_exa_codeium_common_pb_codeium_common]); + +/** + * @generated from message exa.diff_action_pb.UnifiedDiff + */ +export type UnifiedDiff = Message<"exa.diff_action_pb.UnifiedDiff"> & { + /** + * @generated from field: repeated exa.diff_action_pb.UnifiedDiff.UnifiedDiffLine lines = 3; + */ + lines: UnifiedDiff_UnifiedDiffLine[]; +}; + +/** + * Describes the message exa.diff_action_pb.UnifiedDiff. + * Use `create(UnifiedDiffSchema)` to create a new message. + */ +export const UnifiedDiffSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_diff_action_pb_diff_action, 0); + +/** + * @generated from message exa.diff_action_pb.UnifiedDiff.UnifiedDiffLine + */ +export type UnifiedDiff_UnifiedDiffLine = Message<"exa.diff_action_pb.UnifiedDiff.UnifiedDiffLine"> & { + /** + * @generated from field: string text = 1; + */ + text: string; + + /** + * @generated from field: exa.diff_action_pb.UnifiedDiffLineType type = 2; + */ + type: UnifiedDiffLineType; +}; + +/** + * Describes the message exa.diff_action_pb.UnifiedDiff.UnifiedDiffLine. + * Use `create(UnifiedDiff_UnifiedDiffLineSchema)` to create a new message. + */ +export const UnifiedDiff_UnifiedDiffLineSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_diff_action_pb_diff_action, 0, 0); + +/** + * @generated from message exa.diff_action_pb.DiffBlock + */ +export type DiffBlock = Message<"exa.diff_action_pb.DiffBlock"> & { + /** + * @generated from field: int32 start_line = 1; + */ + startLine: number; + + /** + * @generated from field: int32 end_line = 2; + */ + endLine: number; + + /** + * @generated from field: exa.diff_action_pb.UnifiedDiff unified_diff = 3; + */ + unifiedDiff?: UnifiedDiff | undefined; + + /** + * @generated from field: exa.codeium_common_pb.Language from_language = 4; + */ + fromLanguage: Language; + + /** + * @generated from field: exa.codeium_common_pb.Language to_language = 5; + */ + toLanguage: Language; +}; + +/** + * Describes the message exa.diff_action_pb.DiffBlock. + * Use `create(DiffBlockSchema)` to create a new message. + */ +export const DiffBlockSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_diff_action_pb_diff_action, 1); + +/** + * @generated from message exa.diff_action_pb.CharacterDiffChange + */ +export type CharacterDiffChange = Message<"exa.diff_action_pb.CharacterDiffChange"> & { + /** + * @generated from field: string text = 1; + */ + text: string; + + /** + * @generated from field: exa.diff_action_pb.DiffChangeType type = 2; + */ + type: DiffChangeType; +}; + +/** + * Describes the message exa.diff_action_pb.CharacterDiffChange. + * Use `create(CharacterDiffChangeSchema)` to create a new message. + */ +export const CharacterDiffChangeSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_diff_action_pb_diff_action, 2); + +/** + * @generated from message exa.diff_action_pb.CharacterDiff + */ +export type CharacterDiff = Message<"exa.diff_action_pb.CharacterDiff"> & { + /** + * @generated from field: repeated exa.diff_action_pb.CharacterDiffChange changes = 1; + */ + changes: CharacterDiffChange[]; +}; + +/** + * Describes the message exa.diff_action_pb.CharacterDiff. + * Use `create(CharacterDiffSchema)` to create a new message. + */ +export const CharacterDiffSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_diff_action_pb_diff_action, 3); + +/** + * @generated from message exa.diff_action_pb.ComboDiffLine + */ +export type ComboDiffLine = Message<"exa.diff_action_pb.ComboDiffLine"> & { + /** + * @generated from field: string text = 1; + */ + text: string; + + /** + * @generated from field: exa.diff_action_pb.DiffChangeType type = 2; + */ + type: DiffChangeType; + + /** + * @generated from field: exa.diff_action_pb.CharacterDiff character_diff = 3; + */ + characterDiff?: CharacterDiff | undefined; +}; + +/** + * Describes the message exa.diff_action_pb.ComboDiffLine. + * Use `create(ComboDiffLineSchema)` to create a new message. + */ +export const ComboDiffLineSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_diff_action_pb_diff_action, 4); + +/** + * @generated from message exa.diff_action_pb.ComboDiff + */ +export type ComboDiff = Message<"exa.diff_action_pb.ComboDiff"> & { + /** + * @generated from field: repeated exa.diff_action_pb.ComboDiffLine lines = 1; + */ + lines: ComboDiffLine[]; +}; + +/** + * Describes the message exa.diff_action_pb.ComboDiff. + * Use `create(ComboDiffSchema)` to create a new message. + */ +export const ComboDiffSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_diff_action_pb_diff_action, 5); + +/** + * @generated from message exa.diff_action_pb.DiffSet + */ +export type DiffSet = Message<"exa.diff_action_pb.DiffSet"> & { + /** + * @generated from field: exa.diff_action_pb.UnifiedDiff unified_diff = 1; + */ + unifiedDiff?: UnifiedDiff | undefined; + + /** + * @generated from field: exa.diff_action_pb.CharacterDiff character_diff = 2; + */ + characterDiff?: CharacterDiff | undefined; + + /** + * @generated from field: exa.diff_action_pb.ComboDiff combo_diff = 3; + */ + comboDiff?: ComboDiff | undefined; +}; + +/** + * Describes the message exa.diff_action_pb.DiffSet. + * Use `create(DiffSetSchema)` to create a new message. + */ +export const DiffSetSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_diff_action_pb_diff_action, 6); + +/** + * @generated from message exa.diff_action_pb.DiffList + */ +export type DiffList = Message<"exa.diff_action_pb.DiffList"> & { + /** + * @generated from field: repeated exa.diff_action_pb.DiffBlock diffs = 2; + */ + diffs: DiffBlock[]; +}; + +/** + * Describes the message exa.diff_action_pb.DiffList. + * Use `create(DiffListSchema)` to create a new message. + */ +export const DiffListSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_diff_action_pb_diff_action, 7); + +/** + * @generated from enum exa.diff_action_pb.UnifiedDiffLineType + */ +export enum UnifiedDiffLineType { + /** + * @generated from enum value: UNIFIED_DIFF_LINE_TYPE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: UNIFIED_DIFF_LINE_TYPE_INSERT = 1; + */ + INSERT = 1, + + /** + * @generated from enum value: UNIFIED_DIFF_LINE_TYPE_DELETE = 2; + */ + DELETE = 2, + + /** + * @generated from enum value: UNIFIED_DIFF_LINE_TYPE_UNCHANGED = 3; + */ + UNCHANGED = 3, +} + +/** + * Describes the enum exa.diff_action_pb.UnifiedDiffLineType. + */ +export const UnifiedDiffLineTypeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_diff_action_pb_diff_action, 0); + +/** + * @generated from enum exa.diff_action_pb.DiffChangeType + */ +export enum DiffChangeType { + /** + * @generated from enum value: DIFF_CHANGE_TYPE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: DIFF_CHANGE_TYPE_INSERT = 1; + */ + INSERT = 1, + + /** + * @generated from enum value: DIFF_CHANGE_TYPE_DELETE = 2; + */ + DELETE = 2, + + /** + * @generated from enum value: DIFF_CHANGE_TYPE_UNCHANGED = 3; + */ + UNCHANGED = 3, +} + +/** + * Describes the enum exa.diff_action_pb.DiffChangeType. + */ +export const DiffChangeTypeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_diff_action_pb_diff_action, 1); + +/** + * @generated from enum exa.diff_action_pb.DiffType + */ +export enum DiffType { + /** + * @generated from enum value: DIFF_TYPE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: DIFF_TYPE_UNIFIED = 1; + */ + UNIFIED = 1, + + /** + * @generated from enum value: DIFF_TYPE_CHARACTER = 2; + */ + CHARACTER = 2, + + /** + * @generated from enum value: DIFF_TYPE_COMBO = 3; + */ + COMBO = 3, +} + +/** + * Describes the enum exa.diff_action_pb.DiffType. + */ +export const DiffTypeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_diff_action_pb_diff_action, 2); + diff --git a/packages/catalog/src/discovery/devin-gen/exa/index_pb/index_pb.ts b/packages/catalog/src/discovery/devin-gen/exa/index_pb/index_pb.ts new file mode 100644 index 000000000..73625fa6d --- /dev/null +++ b/packages/catalog/src/discovery/devin-gen/exa/index_pb/index_pb.ts @@ -0,0 +1,2106 @@ +// @generated by protoc-gen-es v2.12.0 with parameter "target=ts" +// @generated from file exa/index_pb/index.proto (package exa.index_pb, syntax proto3) +/* eslint-disable */ + +import type { GenEnum, GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2"; +import { enumDesc, fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2"; +import { file_buf_validate_validate } from "../../buf/validate/validate_pb"; +import type { CodeContextItem, ContextSnippetType, Embedding, GitRepoInfo, Metadata, ScmProvider, WorkspacePath } from "../codeium_common_pb/codeium_common_pb"; +import { file_exa_codeium_common_pb_codeium_common } from "../codeium_common_pb/codeium_common_pb"; +import type { Duration, Timestamp } from "@bufbuild/protobuf/wkt"; +import { file_google_protobuf_duration, file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt"; +import type { Message } from "@bufbuild/protobuf"; + +/** + * Describes the file exa/index_pb/index.proto. + */ +export const file_exa_index_pb_index: GenFile = /*@__PURE__*/ + fileDesc("ChhleGEvaW5kZXhfcGIvaW5kZXgucHJvdG8SDGV4YS5pbmRleF9wYiI9Cg5JbmRleERiVmVyc2lvbhIPCgd2ZXJzaW9uGAEgASgFEhoKEmVudGVycHJpc2VfdmVyc2lvbhgCIAEoBSKLAQoQSW5kZXhCdWlsZENvbmZpZxIwCgpkYl92ZXJzaW9uGAIgASgLMhwuZXhhLmluZGV4X3BiLkluZGV4RGJWZXJzaW9uEhgKEGNjaV90aW1lb3V0X3NlY3MYAyABKAUSKwoKaW5kZXhfbW9kZRgEIAEoDjIXLmV4YS5pbmRleF9wYi5JbmRleE1vZGUioAMKEFJlcG9zaXRvcnlDb25maWcSDwoHZ2l0X3VybBgBIAEoCRI4CgxzY21fcHJvdmlkZXIYAiABKA4yIi5leGEuY29kZWl1bV9jb21tb25fcGIuU2NtUHJvdmlkZXISSQoRYXV0b19pbmRleF9jb25maWcYAyABKAsyLi5leGEuaW5kZXhfcGIuUmVwb3NpdG9yeUNvbmZpZy5BdXRvSW5kZXhDb25maWcSFgoOc3RvcmVfc25pcHBldHMYBCABKAgSGgoSd2hpdGVsaXN0ZWRfZ3JvdXBzGAUgAygJEhYKDnVzZV9naXRodWJfYXBwGAYgASgIEhAKCGF1dGhfdWlkGAcgASgJEg0KBWVtYWlsGAkgASgJEhYKDnNlcnZpY2Vfa2V5X2lkGAggASgJGnEKD0F1dG9JbmRleENvbmZpZxITCgticmFuY2hfbmFtZRgBIAEoCRIrCghpbnRlcnZhbBgCIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhIcChRtYXhfbnVtX2F1dG9faW5kZXhlcxgDIAEoBSLGAQoLSW5kZXhDb25maWcSLgoKcHJ1bmVfdGltZRgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMQoOcHJ1bmVfaW50ZXJ2YWwYAiABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24SFAoMZW5hYmxlX3BydW5lGAMgASgIEiIKGmVuYWJsZV9zbWFsbGVzdF9yZXBvX2ZpcnN0GAQgASgIEhoKEmVuYWJsZV9yb3VuZF9yb2JpbhgFIAEoCCJFChBWZWN0b3JJbmRleFN0YXRzEhYKDm51bV9lbWJlZGRpbmdzGAEgASgDEhkKEWluZGV4X2J5dGVzX2NvdW50GAIgASgDImAKC1Byb2dyZXNzQmFyEhAKCHByb2dyZXNzGAEgASgCEgwKBHRleHQYAiABKAkSMQoOcmVtYWluaW5nX3RpbWUYAyABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24i+wUKBUluZGV4EgoKAmlkGAEgASgJEhEKCXJlcG9fbmFtZRgCIAEoCRIRCgl3b3Jrc3BhY2UYAyABKAkSNQoJcmVwb19pbmZvGAQgASgLMiIuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkdpdFJlcG9JbmZvEi4KCmNyZWF0ZWRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjAKDHNjaGVkdWxlZF9hdBgNIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLAoGc3RhdHVzGAcgASgOMhwuZXhhLmluZGV4X3BiLkluZGV4aW5nU3RhdHVzEhUKDXN0YXR1c19kZXRhaWwYCCABKAkSFAoMYXV0b19pbmRleGVkGAkgASgIEhQKDGhhc19zbmlwcGV0cxgMIAEoCBIQCghhdXRoX3VpZBgPIAEoCRINCgVlbWFpbBgQIAEoCRIxCgpyZXBvX3N0YXRzGA4gASgLMh0uZXhhLmluZGV4X3BiLkluZGV4LlJlcG9TdGF0cxJEChFpbmRleGluZ19wcm9ncmVzcxgKIAMoCzIpLmV4YS5pbmRleF9wYi5JbmRleC5JbmRleGluZ1Byb2dyZXNzRW50cnkSMwoLaW5kZXhfc3RhdHMYCyABKAsyHi5leGEuaW5kZXhfcGIuVmVjdG9ySW5kZXhTdGF0cxpjCglSZXBvU3RhdHMSDAoEc2l6ZRgBIAEoAxISCgpmaWxlX2NvdW50GAIgASgDEhYKDnNpemVfbm9faWdub3JlGAMgASgDEhwKFGZpbGVfY291bnRfbm9faWdub3JlGAQgASgDGlIKFUluZGV4aW5nUHJvZ3Jlc3NFbnRyeRILCgNrZXkYASABKAkSKAoFdmFsdWUYAiABKAsyGS5leGEuaW5kZXhfcGIuUHJvZ3Jlc3NCYXI6AjgBIowCCgpSZXBvc2l0b3J5EhEKCXJlcG9fbmFtZRgBIAEoCRIuCgZjb25maWcYAiABKAsyHi5leGEuaW5kZXhfcGIuUmVwb3NpdG9yeUNvbmZpZxIuCgpjcmVhdGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIwCgxsYXN0X3VzZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEikKDGxhdGVzdF9pbmRleBgDIAEoCzITLmV4YS5pbmRleF9wYi5JbmRleCJbChNSZXF1ZXN0SW5kZXhWZXJzaW9uEhAKBmNvbW1pdBgBIAEoCUgAEhAKBmJyYW5jaBgCIAEoCUgAEhUKDXZlcnNpb25fYWxpYXMYAyABKAlCCQoHdmVyc2lvbiKfAQoSTWFuYWdlbWVudE1ldGFkYXRhEhAKCGF1dGhfdWlkGAIgASgJEhMKC3NlcnZpY2Vfa2V5GAMgASgJEiEKGWZvcmNlX3RhcmdldF9wdWJsaWNfaW5kZXgYBCABKAgSFQoNZm9yY2VfdGVhbV9pZBgFIAEoCRIWCg5zZXJ2aWNlX2tleV9pZBgGIAEoCUoECAEQAlIKYXV0aF90b2tlbiK0AQoUQWRkUmVwb3NpdG9yeVJlcXVlc3QSMgoIbWV0YWRhdGEYASABKAsyIC5leGEuaW5kZXhfcGIuTWFuYWdlbWVudE1ldGFkYXRhEi4KBmNvbmZpZxgCIAEoCzIeLmV4YS5pbmRleF9wYi5SZXBvc2l0b3J5Q29uZmlnEjgKDWluaXRpYWxfaW5kZXgYAyABKAsyIS5leGEuaW5kZXhfcGIuUmVxdWVzdEluZGV4VmVyc2lvbiI8ChVBZGRSZXBvc2l0b3J5UmVzcG9uc2USEQoJcmVwb19uYW1lGAEgASgJEhAKCGluZGV4X2lkGAIgASgJInsKFUVuYWJsZUluZGV4aW5nUmVxdWVzdBIyCghtZXRhZGF0YRgBIAEoCzIgLmV4YS5pbmRleF9wYi5NYW5hZ2VtZW50TWV0YWRhdGESLgoGY29uZmlnGAIgASgLMh4uZXhhLmluZGV4X3BiLkluZGV4QnVpbGRDb25maWciGAoWRW5hYmxlSW5kZXhpbmdSZXNwb25zZSJMChZEaXNhYmxlSW5kZXhpbmdSZXF1ZXN0EjIKCG1ldGFkYXRhGAEgASgLMiAuZXhhLmluZGV4X3BiLk1hbmFnZW1lbnRNZXRhZGF0YSIZChdEaXNhYmxlSW5kZXhpbmdSZXNwb25zZSKOAQoVRWRpdFJlcG9zaXRvcnlSZXF1ZXN0EjIKCG1ldGFkYXRhGAEgASgLMiAuZXhhLmluZGV4X3BiLk1hbmFnZW1lbnRNZXRhZGF0YRIRCglyZXBvX25hbWUYAiABKAkSLgoGY29uZmlnGAMgASgLMh4uZXhhLmluZGV4X3BiLlJlcG9zaXRvcnlDb25maWciGAoWRWRpdFJlcG9zaXRvcnlSZXNwb25zZSJ0ChdEZWxldGVSZXBvc2l0b3J5UmVxdWVzdBIyCghtZXRhZGF0YRgBIAEoCzIgLmV4YS5pbmRleF9wYi5NYW5hZ2VtZW50TWV0YWRhdGESEQoJcmVwb19uYW1lGAIgASgJEhIKCnJlcG9fbmFtZXMYAyADKAkiGgoYRGVsZXRlUmVwb3NpdG9yeVJlc3BvbnNlIjwKFUdldFJlcG9zaXRvcmllc0ZpbHRlchIRCglyZXBvX25hbWUYASABKAkSEAoIZ3JvdXBfaWQYAiABKAkigQEKFkdldFJlcG9zaXRvcmllc1JlcXVlc3QSMgoIbWV0YWRhdGEYASABKAsyIC5leGEuaW5kZXhfcGIuTWFuYWdlbWVudE1ldGFkYXRhEjMKBmZpbHRlchgCIAEoCzIjLmV4YS5pbmRleF9wYi5HZXRSZXBvc2l0b3JpZXNGaWx0ZXIiSQoXR2V0UmVwb3NpdG9yaWVzUmVzcG9uc2USLgoMcmVwb3NpdG9yaWVzGAEgAygLMhguZXhhLmluZGV4X3BiLlJlcG9zaXRvcnkiWgoRR2V0SW5kZXhlc1JlcXVlc3QSMgoIbWV0YWRhdGEYASABKAsyIC5leGEuaW5kZXhfcGIuTWFuYWdlbWVudE1ldGFkYXRhEhEKCXJlcG9fbmFtZRgCIAEoCSI6ChJHZXRJbmRleGVzUmVzcG9uc2USJAoHaW5kZXhlcxgBIAMoCzITLmV4YS5pbmRleF9wYi5JbmRleCJXCg9HZXRJbmRleFJlcXVlc3QSMgoIbWV0YWRhdGEYASABKAsyIC5leGEuaW5kZXhfcGIuTWFuYWdlbWVudE1ldGFkYXRhEhAKCGluZGV4X2lkGAIgASgJImQKEEdldEluZGV4UmVzcG9uc2USIgoFaW5kZXgYASABKAsyEy5leGEuaW5kZXhfcGIuSW5kZXgSLAoKcmVwb3NpdG9yeRgCIAEoCzIYLmV4YS5pbmRleF9wYi5SZXBvc2l0b3J5ImcKEFJlbW90ZUluZGV4U3RhdHMSEAoIaW5kZXhfaWQYASABKAkSEQoJY2NpX2NvdW50GAIgASgDEhUKDXNuaXBwZXRfY291bnQYAyABKAMSFwoPZW1iZWRkaW5nX2NvdW50GAQgASgDImMKGkdldFJlbW90ZUluZGV4U3RhdHNSZXF1ZXN0EjIKCG1ldGFkYXRhGAEgASgLMiAuZXhhLmluZGV4X3BiLk1hbmFnZW1lbnRNZXRhZGF0YRIRCglpbmRleF9pZHMYAiADKAkiUgobR2V0UmVtb3RlSW5kZXhTdGF0c1Jlc3BvbnNlEjMKC2luZGV4X3N0YXRzGAEgAygLMh4uZXhhLmluZGV4X3BiLlJlbW90ZUluZGV4U3RhdHMijAEKD0FkZEluZGV4UmVxdWVzdBIyCghtZXRhZGF0YRgBIAEoCzIgLmV4YS5pbmRleF9wYi5NYW5hZ2VtZW50TWV0YWRhdGESEQoJcmVwb19uYW1lGAIgASgJEjIKB3ZlcnNpb24YAyABKAsyIS5leGEuaW5kZXhfcGIuUmVxdWVzdEluZGV4VmVyc2lvbiIkChBBZGRJbmRleFJlc3BvbnNlEhAKCGluZGV4X2lkGAEgASgJInAKFUNhbmNlbEluZGV4aW5nUmVxdWVzdBIyCghtZXRhZGF0YRgBIAEoCzIgLmV4YS5pbmRleF9wYi5NYW5hZ2VtZW50TWV0YWRhdGESEAoIaW5kZXhfaWQYAiABKAkSEQoJaW5kZXhfaWRzGAMgAygJIhgKFkNhbmNlbEluZGV4aW5nUmVzcG9uc2UibwoUUmV0cnlJbmRleGluZ1JlcXVlc3QSMgoIbWV0YWRhdGEYASABKAsyIC5leGEuaW5kZXhfcGIuTWFuYWdlbWVudE1ldGFkYXRhEhAKCGluZGV4X2lkGAIgASgJEhEKCWluZGV4X2lkcxgDIAMoCSIXChVSZXRyeUluZGV4aW5nUmVzcG9uc2UibQoSRGVsZXRlSW5kZXhSZXF1ZXN0EjIKCG1ldGFkYXRhGAEgASgLMiAuZXhhLmluZGV4X3BiLk1hbmFnZW1lbnRNZXRhZGF0YRIQCghpbmRleF9pZBgCIAEoCRIRCglpbmRleF9pZHMYAyADKAkiFQoTRGVsZXRlSW5kZXhSZXNwb25zZSJKChRQcnVuZURhdGFiYXNlUmVxdWVzdBIyCghtZXRhZGF0YRgBIAEoCzIgLmV4YS5pbmRleF9wYi5NYW5hZ2VtZW50TWV0YWRhdGEiFwoVUHJ1bmVEYXRhYmFzZVJlc3BvbnNlIk0KF0dldERhdGFiYXNlU3RhdHNSZXF1ZXN0EjIKCG1ldGFkYXRhGAEgASgLMiAuZXhhLmluZGV4X3BiLk1hbmFnZW1lbnRNZXRhZGF0YSLvAQoYR2V0RGF0YWJhc2VTdGF0c1Jlc3BvbnNlEiIKGmRhdGFiYXNlX3RvdGFsX2J5dGVzX2NvdW50GAEgASgDEh8KF3RhYmxlX3RvdGFsX2J5dGVzX2NvdW50GAIgASgDEh8KF2luZGV4X3RvdGFsX2J5dGVzX2NvdW50GAMgASgDEh8KF2VzdGltYXRlX3BydW5hYmxlX2J5dGVzGAQgASgDEhIKCmlzX3BydW5pbmcYBSABKAgSGAoQbGFzdF9wcnVuZV9lcnJvchgGIAEoCRIeChZhbGxfdGFibGVzX2J5dGVzX2NvdW50GAcgASgDInwKFVNldEluZGV4Q29uZmlnUmVxdWVzdBIyCghtZXRhZGF0YRgBIAEoCzIgLmV4YS5pbmRleF9wYi5NYW5hZ2VtZW50TWV0YWRhdGESLwoMaW5kZXhfY29uZmlnGAIgASgLMhkuZXhhLmluZGV4X3BiLkluZGV4Q29uZmlnIhgKFlNldEluZGV4Q29uZmlnUmVzcG9uc2UiSwoVR2V0SW5kZXhDb25maWdSZXF1ZXN0EjIKCG1ldGFkYXRhGAEgASgLMiAuZXhhLmluZGV4X3BiLk1hbmFnZW1lbnRNZXRhZGF0YSJJChZHZXRJbmRleENvbmZpZ1Jlc3BvbnNlEi8KDGluZGV4X2NvbmZpZxgBIAEoCzIZLmV4YS5pbmRleF9wYi5JbmRleENvbmZpZyJRChtHZXROdW1iZXJDb25uZWN0aW9uc1JlcXVlc3QSMgoIbWV0YWRhdGEYASABKAsyIC5leGEuaW5kZXhfcGIuTWFuYWdlbWVudE1ldGFkYXRhIq4BChxHZXROdW1iZXJDb25uZWN0aW9uc1Jlc3BvbnNlElcKD2Nvbm5lY3Rpb25zX21hcBgBIAMoCzI+LmV4YS5pbmRleF9wYi5HZXROdW1iZXJDb25uZWN0aW9uc1Jlc3BvbnNlLkNvbm5lY3Rpb25zTWFwRW50cnkaNQoTQ29ubmVjdGlvbnNNYXBFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKA06AjgBIlQKHkdldENvbm5lY3Rpb25zRGVidWdJbmZvUmVxdWVzdBIyCghtZXRhZGF0YRgBIAEoCzIgLmV4YS5pbmRleF9wYi5NYW5hZ2VtZW50TWV0YWRhdGEiNQofR2V0Q29ubmVjdGlvbnNEZWJ1Z0luZm9SZXNwb25zZRISCgpkZWJ1Z19pbmZvGAEgASgJIogBCh1HZXRJbmRleGVkUmVwb3NpdG9yaWVzUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRIaChJpbmNsdWRlX2luY29tcGxldGUYAiABKAgSGAoQZ3JvdXBfaWRzX2ZpbHRlchgDIAMoCSKAAQoeR2V0SW5kZXhlZFJlcG9zaXRvcmllc1Jlc3BvbnNlEjgKDHJlcG9zaXRvcmllcxgBIAMoCzIiLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5HaXRSZXBvSW5mbxIkCgdpbmRleGVzGAIgAygLMhMuZXhhLmluZGV4X3BiLkluZGV4IngKEFJlcG9zaXRvcnlGaWx0ZXISNgoKcmVwb3NpdG9yeRgBIAEoCzIiLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5HaXRSZXBvSW5mbxIWCg5leGNsdWRlZF9maWxlcxgCIAMoCRIUCgxmaWx0ZXJfcGF0aHMYAyADKAkixAEKG0dldE1hdGNoaW5nRmlsZVBhdGhzUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRI2CgpyZXBvc2l0b3J5GAIgASgLMiIuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkdpdFJlcG9JbmZvEg0KBXF1ZXJ5GAMgASgJEhEKCW1heF9pdGVtcxgEIAEoDRIYChBncm91cF9pZHNfZmlsdGVyGAUgAygJIjsKHEdldE1hdGNoaW5nRmlsZVBhdGhzUmVzcG9uc2USGwoTcmVsYXRpdmVfZmlsZV9wYXRocxgBIAMoCSL3AQoiR2V0TmVhcmVzdENDSXNGcm9tRW1iZWRkaW5nUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRIzCgllbWJlZGRpbmcYAiABKAsyIC5leGEuY29kZWl1bV9jb21tb25fcGIuRW1iZWRkaW5nEjoKEnJlcG9zaXRvcnlfZmlsdGVycxgDIAMoCzIeLmV4YS5pbmRleF9wYi5SZXBvc2l0b3J5RmlsdGVyEhMKC21heF9yZXN1bHRzGAQgASgDEhgKEGdyb3VwX2lkc19maWx0ZXIYBSADKAkiZQoRU2NvcmVkQ29udGV4dEl0ZW0SQQoRY29kZV9jb250ZXh0X2l0ZW0YASABKAsyJi5leGEuY29kZWl1bV9jb21tb25fcGIuQ29kZUNvbnRleHRJdGVtEg0KBXNjb3JlGAIgASgCImQKI0dldE5lYXJlc3RDQ0lzRnJvbUVtYmVkZGluZ1Jlc3BvbnNlEj0KFHNjb3JlZF9jb250ZXh0X2l0ZW1zGAEgAygLMh8uZXhhLmluZGV4X3BiLlNjb3JlZENvbnRleHRJdGVtIuEBCidHZXRFbWJlZGRpbmdzRm9yQ29kZUNvbnRleHRJdGVtc1JlcXVlc3QSMQoIbWV0YWRhdGEYASABKAsyHy5leGEuY29kZWl1bV9jb21tb25fcGIuTWV0YWRhdGESQgoSY29kZV9jb250ZXh0X2l0ZW1zGAIgAygLMiYuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNvZGVDb250ZXh0SXRlbRI/CgxzbmlwcGV0X3R5cGUYAyABKA4yKS5leGEuY29kZWl1bV9jb21tb25fcGIuQ29udGV4dFNuaXBwZXRUeXBlImAKKEdldEVtYmVkZGluZ3NGb3JDb2RlQ29udGV4dEl0ZW1zUmVzcG9uc2USNAoKZW1iZWRkaW5ncxgBIAMoCzIgLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5FbWJlZGRpbmciWgoKSW5kZXhTdGF0cxIXCg9yZXBvc2l0b3J5X25hbWUYASABKAkSEgoKZmlsZV9jb3VudBgCIAEoAxIfChdjb2RlX2NvbnRleHRfaXRlbV9jb3VudBgDIAEoAyKDCQoMSW5kZXhlckV2ZW50EgsKA3VpZBgBIAEoBBI3CghkZWxldGlvbhgCIAEoCzIjLmV4YS5pbmRleF9wYi5JbmRleGVyRXZlbnQuRGVsZXRpb25IABI1Cgd1bnRyYWNrGAMgASgLMiIuZXhhLmluZGV4X3BiLkluZGV4ZXJFdmVudC5VbnRyYWNrSAASMwoGdXBkYXRlGAQgASgLMiEuZXhhLmluZGV4X3BiLkluZGV4ZXJFdmVudC5VcGRhdGVIABJACg1hZGRfd29ya3NwYWNlGAUgASgLMicuZXhhLmluZGV4X3BiLkluZGV4ZXJFdmVudC5BZGRXb3Jrc3BhY2VIABJGChByZW1vdmVfd29ya3NwYWNlGAYgASgLMiouZXhhLmluZGV4X3BiLkluZGV4ZXJFdmVudC5SZW1vdmVXb3Jrc3BhY2VIABJGChBpZ25vcmVfd29ya3NwYWNlGAcgASgLMiouZXhhLmluZGV4X3BiLkluZGV4ZXJFdmVudC5JZ25vcmVXb3Jrc3BhY2VIABI6CgphZGRfY29tbWl0GAggASgLMiQuZXhhLmluZGV4X3BiLkluZGV4ZXJFdmVudC5BZGRDb21taXRIABogCghEZWxldGlvbhIUCgxhYnNvbHV0ZV91cmkYASABKAkaawoHVW50cmFjaxIUCgxhYnNvbHV0ZV91cmkYASABKAkSMwoFcGF0aHMYAiADKAsyJC5leGEuY29kZWl1bV9jb21tb25fcGIuV29ya3NwYWNlUGF0aBIVCg13b3Jrc3BhY2VfdXJpGAMgASgJGqECCgZVcGRhdGUSFAoMYWJzb2x1dGVfdXJpGAEgASgJEjMKBXBhdGhzGAIgAygLMiQuZXhhLmNvZGVpdW1fY29tbW9uX3BiLldvcmtzcGFjZVBhdGgSLAoIbW9kX3RpbWUYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEk4KEmFkZF93b3Jrc3BhY2VfaW5mbxgEIAEoCzIyLmV4YS5pbmRleF9wYi5JbmRleGVyRXZlbnQuVXBkYXRlLkFkZFdvcmtzcGFjZUluZm8aTgoQQWRkV29ya3NwYWNlSW5mbxIZChFhZGRfd29ya3NwYWNlX3VpZBgBIAEoBBIfChdhZGRfd29ya3NwYWNlX3F1ZXVlX3VpZBgCIAEoBBqCAQoMQWRkV29ya3NwYWNlEhkKEWFkZF93b3Jrc3BhY2VfdWlkGAEgASgEEh8KF2FkZF93b3Jrc3BhY2VfcXVldWVfdWlkGAIgASgEEhUKDXdvcmtzcGFjZV91cmkYAyABKAkSEQoJbnVtX2ZpbGVzGAQgASgDEgwKBHNpemUYBSABKAMaKAoPUmVtb3ZlV29ya3NwYWNlEhUKDXdvcmtzcGFjZV91cmkYASABKAkaKAoPSWdub3JlV29ya3NwYWNlEhUKDXdvcmtzcGFjZV91cmkYASABKAkaGAoJQWRkQ29tbWl0EgsKA3NoYRgBIAEoCUINCgtldmVudF9vbmVvZiqzAQoJSW5kZXhNb2RlEhoKFklOREVYX01PREVfVU5TUEVDSUZJRUQQABIWChJJTkRFWF9NT0RFX0hBTEZWRUMQARIVChFJTkRFWF9NT0RFX0JJTkFSWRACEiEKHUlOREVYX01PREVfQklOQVJZX1dJVEhfUkVSQU5LEAMSGgoWSU5ERVhfTU9ERV9CUlVURV9GT1JDRRAEEhwKGElOREVYX01PREVfUkFORE9NX1NFQVJDSBAFKtQCCg5JbmRleGluZ1N0YXR1cxIfChtJTkRFWElOR19TVEFUVVNfVU5TUEVDSUZJRUQQABIZChVJTkRFWElOR19TVEFUVVNfRVJST1IQARIaChZJTkRFWElOR19TVEFUVVNfUVVFVUVEEAISIAocSU5ERVhJTkdfU1RBVFVTX0NMT05JTkdfUkVQTxADEiEKHUlOREVYSU5HX1NUQVRVU19TQ0FOTklOR19SRVBPEAQSKQolSU5ERVhJTkdfU1RBVFVTX0dFTkVSQVRJTkdfRU1CRURESU5HUxAFEiMKH0lOREVYSU5HX1NUQVRVU19WRUNUT1JfSU5ERVhJTkcQBhIYChRJTkRFWElOR19TVEFUVVNfRE9ORRAHEh0KGUlOREVYSU5HX1NUQVRVU19DQU5DRUxJTkcQCBIcChhJTkRFWElOR19TVEFUVVNfQ0FOQ0VMRUQQCTKLDgoWSW5kZXhNYW5hZ2VtZW50U2VydmljZRJbCg5FbmFibGVJbmRleGluZxIjLmV4YS5pbmRleF9wYi5FbmFibGVJbmRleGluZ1JlcXVlc3QaJC5leGEuaW5kZXhfcGIuRW5hYmxlSW5kZXhpbmdSZXNwb25zZRJeCg9EaXNhYmxlSW5kZXhpbmcSJC5leGEuaW5kZXhfcGIuRGlzYWJsZUluZGV4aW5nUmVxdWVzdBolLmV4YS5pbmRleF9wYi5EaXNhYmxlSW5kZXhpbmdSZXNwb25zZRJYCg1BZGRSZXBvc2l0b3J5EiIuZXhhLmluZGV4X3BiLkFkZFJlcG9zaXRvcnlSZXF1ZXN0GiMuZXhhLmluZGV4X3BiLkFkZFJlcG9zaXRvcnlSZXNwb25zZRJbCg5FZGl0UmVwb3NpdG9yeRIjLmV4YS5pbmRleF9wYi5FZGl0UmVwb3NpdG9yeVJlcXVlc3QaJC5leGEuaW5kZXhfcGIuRWRpdFJlcG9zaXRvcnlSZXNwb25zZRJhChBEZWxldGVSZXBvc2l0b3J5EiUuZXhhLmluZGV4X3BiLkRlbGV0ZVJlcG9zaXRvcnlSZXF1ZXN0GiYuZXhhLmluZGV4X3BiLkRlbGV0ZVJlcG9zaXRvcnlSZXNwb25zZRJeCg9HZXRSZXBvc2l0b3JpZXMSJC5leGEuaW5kZXhfcGIuR2V0UmVwb3NpdG9yaWVzUmVxdWVzdBolLmV4YS5pbmRleF9wYi5HZXRSZXBvc2l0b3JpZXNSZXNwb25zZRJJCghBZGRJbmRleBIdLmV4YS5pbmRleF9wYi5BZGRJbmRleFJlcXVlc3QaHi5leGEuaW5kZXhfcGIuQWRkSW5kZXhSZXNwb25zZRJbCg5DYW5jZWxJbmRleGluZxIjLmV4YS5pbmRleF9wYi5DYW5jZWxJbmRleGluZ1JlcXVlc3QaJC5leGEuaW5kZXhfcGIuQ2FuY2VsSW5kZXhpbmdSZXNwb25zZRJYCg1SZXRyeUluZGV4aW5nEiIuZXhhLmluZGV4X3BiLlJldHJ5SW5kZXhpbmdSZXF1ZXN0GiMuZXhhLmluZGV4X3BiLlJldHJ5SW5kZXhpbmdSZXNwb25zZRJSCgtEZWxldGVJbmRleBIgLmV4YS5pbmRleF9wYi5EZWxldGVJbmRleFJlcXVlc3QaIS5leGEuaW5kZXhfcGIuRGVsZXRlSW5kZXhSZXNwb25zZRJPCgpHZXRJbmRleGVzEh8uZXhhLmluZGV4X3BiLkdldEluZGV4ZXNSZXF1ZXN0GiAuZXhhLmluZGV4X3BiLkdldEluZGV4ZXNSZXNwb25zZRJJCghHZXRJbmRleBIdLmV4YS5pbmRleF9wYi5HZXRJbmRleFJlcXVlc3QaHi5leGEuaW5kZXhfcGIuR2V0SW5kZXhSZXNwb25zZRJqChNHZXRSZW1vdGVJbmRleFN0YXRzEiguZXhhLmluZGV4X3BiLkdldFJlbW90ZUluZGV4U3RhdHNSZXF1ZXN0GikuZXhhLmluZGV4X3BiLkdldFJlbW90ZUluZGV4U3RhdHNSZXNwb25zZRJYCg1QcnVuZURhdGFiYXNlEiIuZXhhLmluZGV4X3BiLlBydW5lRGF0YWJhc2VSZXF1ZXN0GiMuZXhhLmluZGV4X3BiLlBydW5lRGF0YWJhc2VSZXNwb25zZRJhChBHZXREYXRhYmFzZVN0YXRzEiUuZXhhLmluZGV4X3BiLkdldERhdGFiYXNlU3RhdHNSZXF1ZXN0GiYuZXhhLmluZGV4X3BiLkdldERhdGFiYXNlU3RhdHNSZXNwb25zZRJbCg5TZXRJbmRleENvbmZpZxIjLmV4YS5pbmRleF9wYi5TZXRJbmRleENvbmZpZ1JlcXVlc3QaJC5leGEuaW5kZXhfcGIuU2V0SW5kZXhDb25maWdSZXNwb25zZRJbCg5HZXRJbmRleENvbmZpZxIjLmV4YS5pbmRleF9wYi5HZXRJbmRleENvbmZpZ1JlcXVlc3QaJC5leGEuaW5kZXhfcGIuR2V0SW5kZXhDb25maWdSZXNwb25zZRJtChRHZXROdW1iZXJDb25uZWN0aW9ucxIpLmV4YS5pbmRleF9wYi5HZXROdW1iZXJDb25uZWN0aW9uc1JlcXVlc3QaKi5leGEuaW5kZXhfcGIuR2V0TnVtYmVyQ29ubmVjdGlvbnNSZXNwb25zZRJ2ChdHZXRDb25uZWN0aW9uc0RlYnVnSW5mbxIsLmV4YS5pbmRleF9wYi5HZXRDb25uZWN0aW9uc0RlYnVnSW5mb1JlcXVlc3QaLS5leGEuaW5kZXhfcGIuR2V0Q29ubmVjdGlvbnNEZWJ1Z0luZm9SZXNwb25zZTKLBAoMSW5kZXhTZXJ2aWNlEnMKFkdldEluZGV4ZWRSZXBvc2l0b3JpZXMSKy5leGEuaW5kZXhfcGIuR2V0SW5kZXhlZFJlcG9zaXRvcmllc1JlcXVlc3QaLC5leGEuaW5kZXhfcGIuR2V0SW5kZXhlZFJlcG9zaXRvcmllc1Jlc3BvbnNlEoIBChtHZXROZWFyZXN0Q0NJc0Zyb21FbWJlZGRpbmcSMC5leGEuaW5kZXhfcGIuR2V0TmVhcmVzdENDSXNGcm9tRW1iZWRkaW5nUmVxdWVzdBoxLmV4YS5pbmRleF9wYi5HZXROZWFyZXN0Q0NJc0Zyb21FbWJlZGRpbmdSZXNwb25zZRKRAQogR2V0RW1iZWRkaW5nc0ZvckNvZGVDb250ZXh0SXRlbXMSNS5leGEuaW5kZXhfcGIuR2V0RW1iZWRkaW5nc0ZvckNvZGVDb250ZXh0SXRlbXNSZXF1ZXN0GjYuZXhhLmluZGV4X3BiLkdldEVtYmVkZGluZ3NGb3JDb2RlQ29udGV4dEl0ZW1zUmVzcG9uc2USbQoUR2V0TWF0Y2hpbmdGaWxlUGF0aHMSKS5leGEuaW5kZXhfcGIuR2V0TWF0Y2hpbmdGaWxlUGF0aHNSZXF1ZXN0GiouZXhhLmluZGV4X3BiLkdldE1hdGNoaW5nRmlsZVBhdGhzUmVzcG9uc2ViBnByb3RvMw", [file_buf_validate_validate, file_exa_codeium_common_pb_codeium_common, file_google_protobuf_duration, file_google_protobuf_timestamp]); + +/** + * @generated from message exa.index_pb.IndexDbVersion + */ +export type IndexDbVersion = Message<"exa.index_pb.IndexDbVersion"> & { + /** + * @generated from field: int32 version = 1; + */ + version: number; + + /** + * @generated from field: int32 enterprise_version = 2; + */ + enterpriseVersion: number; +}; + +/** + * Describes the message exa.index_pb.IndexDbVersion. + * Use `create(IndexDbVersionSchema)` to create a new message. + */ +export const IndexDbVersionSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 0); + +/** + * @generated from message exa.index_pb.IndexBuildConfig + */ +export type IndexBuildConfig = Message<"exa.index_pb.IndexBuildConfig"> & { + /** + * @generated from field: exa.index_pb.IndexDbVersion db_version = 2; + */ + dbVersion?: IndexDbVersion | undefined; + + /** + * @generated from field: int32 cci_timeout_secs = 3; + */ + cciTimeoutSecs: number; + + /** + * @generated from field: exa.index_pb.IndexMode index_mode = 4; + */ + indexMode: IndexMode; +}; + +/** + * Describes the message exa.index_pb.IndexBuildConfig. + * Use `create(IndexBuildConfigSchema)` to create a new message. + */ +export const IndexBuildConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 1); + +/** + * @generated from message exa.index_pb.RepositoryConfig + */ +export type RepositoryConfig = Message<"exa.index_pb.RepositoryConfig"> & { + /** + * @generated from field: string git_url = 1; + */ + gitUrl: string; + + /** + * @generated from field: exa.codeium_common_pb.ScmProvider scm_provider = 2; + */ + scmProvider: ScmProvider; + + /** + * @generated from field: exa.index_pb.RepositoryConfig.AutoIndexConfig auto_index_config = 3; + */ + autoIndexConfig?: RepositoryConfig_AutoIndexConfig | undefined; + + /** + * @generated from field: bool store_snippets = 4; + */ + storeSnippets: boolean; + + /** + * @generated from field: repeated string whitelisted_groups = 5; + */ + whitelistedGroups: string[]; + + /** + * @generated from field: bool use_github_app = 6; + */ + useGithubApp: boolean; + + /** + * @generated from field: string auth_uid = 7; + */ + authUid: string; + + /** + * @generated from field: string email = 9; + */ + email: string; + + /** + * @generated from field: string service_key_id = 8; + */ + serviceKeyId: string; +}; + +/** + * Describes the message exa.index_pb.RepositoryConfig. + * Use `create(RepositoryConfigSchema)` to create a new message. + */ +export const RepositoryConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 2); + +/** + * @generated from message exa.index_pb.RepositoryConfig.AutoIndexConfig + */ +export type RepositoryConfig_AutoIndexConfig = Message<"exa.index_pb.RepositoryConfig.AutoIndexConfig"> & { + /** + * @generated from field: string branch_name = 1; + */ + branchName: string; + + /** + * @generated from field: google.protobuf.Duration interval = 2; + */ + interval?: Duration | undefined; + + /** + * @generated from field: int32 max_num_auto_indexes = 3; + */ + maxNumAutoIndexes: number; +}; + +/** + * Describes the message exa.index_pb.RepositoryConfig.AutoIndexConfig. + * Use `create(RepositoryConfig_AutoIndexConfigSchema)` to create a new message. + */ +export const RepositoryConfig_AutoIndexConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 2, 0); + +/** + * @generated from message exa.index_pb.IndexConfig + */ +export type IndexConfig = Message<"exa.index_pb.IndexConfig"> & { + /** + * @generated from field: google.protobuf.Timestamp prune_time = 1; + */ + pruneTime?: Timestamp | undefined; + + /** + * @generated from field: google.protobuf.Duration prune_interval = 2; + */ + pruneInterval?: Duration | undefined; + + /** + * @generated from field: bool enable_prune = 3; + */ + enablePrune: boolean; + + /** + * @generated from field: bool enable_smallest_repo_first = 4; + */ + enableSmallestRepoFirst: boolean; + + /** + * @generated from field: bool enable_round_robin = 5; + */ + enableRoundRobin: boolean; +}; + +/** + * Describes the message exa.index_pb.IndexConfig. + * Use `create(IndexConfigSchema)` to create a new message. + */ +export const IndexConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 3); + +/** + * @generated from message exa.index_pb.VectorIndexStats + */ +export type VectorIndexStats = Message<"exa.index_pb.VectorIndexStats"> & { + /** + * @generated from field: int64 num_embeddings = 1; + */ + numEmbeddings: bigint; + + /** + * @generated from field: int64 index_bytes_count = 2; + */ + indexBytesCount: bigint; +}; + +/** + * Describes the message exa.index_pb.VectorIndexStats. + * Use `create(VectorIndexStatsSchema)` to create a new message. + */ +export const VectorIndexStatsSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 4); + +/** + * @generated from message exa.index_pb.ProgressBar + */ +export type ProgressBar = Message<"exa.index_pb.ProgressBar"> & { + /** + * @generated from field: float progress = 1; + */ + progress: number; + + /** + * @generated from field: string text = 2; + */ + text: string; + + /** + * @generated from field: google.protobuf.Duration remaining_time = 3; + */ + remainingTime?: Duration | undefined; +}; + +/** + * Describes the message exa.index_pb.ProgressBar. + * Use `create(ProgressBarSchema)` to create a new message. + */ +export const ProgressBarSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 5); + +/** + * @generated from message exa.index_pb.Index + */ +export type Index = Message<"exa.index_pb.Index"> & { + /** + * @generated from field: string id = 1; + */ + id: string; + + /** + * @generated from field: string repo_name = 2; + */ + repoName: string; + + /** + * @generated from field: string workspace = 3; + */ + workspace: string; + + /** + * @generated from field: exa.codeium_common_pb.GitRepoInfo repo_info = 4; + */ + repoInfo?: GitRepoInfo | undefined; + + /** + * @generated from field: google.protobuf.Timestamp created_at = 5; + */ + createdAt?: Timestamp | undefined; + + /** + * @generated from field: google.protobuf.Timestamp updated_at = 6; + */ + updatedAt?: Timestamp | undefined; + + /** + * @generated from field: google.protobuf.Timestamp scheduled_at = 13; + */ + scheduledAt?: Timestamp | undefined; + + /** + * @generated from field: exa.index_pb.IndexingStatus status = 7; + */ + status: IndexingStatus; + + /** + * @generated from field: string status_detail = 8; + */ + statusDetail: string; + + /** + * @generated from field: bool auto_indexed = 9; + */ + autoIndexed: boolean; + + /** + * @generated from field: bool has_snippets = 12; + */ + hasSnippets: boolean; + + /** + * @generated from field: string auth_uid = 15; + */ + authUid: string; + + /** + * @generated from field: string email = 16; + */ + email: string; + + /** + * @generated from field: exa.index_pb.Index.RepoStats repo_stats = 14; + */ + repoStats?: Index_RepoStats | undefined; + + /** + * @generated from field: map indexing_progress = 10; + */ + indexingProgress: { [key: string]: ProgressBar }; + + /** + * @generated from field: exa.index_pb.VectorIndexStats index_stats = 11; + */ + indexStats?: VectorIndexStats | undefined; +}; + +/** + * Describes the message exa.index_pb.Index. + * Use `create(IndexSchema)` to create a new message. + */ +export const IndexSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 6); + +/** + * @generated from message exa.index_pb.Index.RepoStats + */ +export type Index_RepoStats = Message<"exa.index_pb.Index.RepoStats"> & { + /** + * @generated from field: int64 size = 1; + */ + size: bigint; + + /** + * @generated from field: int64 file_count = 2; + */ + fileCount: bigint; + + /** + * @generated from field: int64 size_no_ignore = 3; + */ + sizeNoIgnore: bigint; + + /** + * @generated from field: int64 file_count_no_ignore = 4; + */ + fileCountNoIgnore: bigint; +}; + +/** + * Describes the message exa.index_pb.Index.RepoStats. + * Use `create(Index_RepoStatsSchema)` to create a new message. + */ +export const Index_RepoStatsSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 6, 0); + +/** + * @generated from message exa.index_pb.Repository + */ +export type Repository = Message<"exa.index_pb.Repository"> & { + /** + * @generated from field: string repo_name = 1; + */ + repoName: string; + + /** + * @generated from field: exa.index_pb.RepositoryConfig config = 2; + */ + config?: RepositoryConfig | undefined; + + /** + * @generated from field: google.protobuf.Timestamp created_at = 4; + */ + createdAt?: Timestamp | undefined; + + /** + * @generated from field: google.protobuf.Timestamp updated_at = 5; + */ + updatedAt?: Timestamp | undefined; + + /** + * @generated from field: google.protobuf.Timestamp last_used_at = 6; + */ + lastUsedAt?: Timestamp | undefined; + + /** + * @generated from field: exa.index_pb.Index latest_index = 3; + */ + latestIndex?: Index | undefined; +}; + +/** + * Describes the message exa.index_pb.Repository. + * Use `create(RepositorySchema)` to create a new message. + */ +export const RepositorySchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 7); + +/** + * @generated from message exa.index_pb.RequestIndexVersion + */ +export type RequestIndexVersion = Message<"exa.index_pb.RequestIndexVersion"> & { + /** + * @generated from oneof exa.index_pb.RequestIndexVersion.version + */ + version: { + /** + * @generated from field: string commit = 1; + */ + value: string; + case: "commit"; + } | { + /** + * @generated from field: string branch = 2; + */ + value: string; + case: "branch"; + } | { case: undefined; value?: undefined }; + + /** + * @generated from field: string version_alias = 3; + */ + versionAlias: string; +}; + +/** + * Describes the message exa.index_pb.RequestIndexVersion. + * Use `create(RequestIndexVersionSchema)` to create a new message. + */ +export const RequestIndexVersionSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 8); + +/** + * @generated from message exa.index_pb.ManagementMetadata + */ +export type ManagementMetadata = Message<"exa.index_pb.ManagementMetadata"> & { + /** + * @generated from field: string auth_uid = 2; + */ + authUid: string; + + /** + * @generated from field: string service_key = 3; + */ + serviceKey: string; + + /** + * @generated from field: bool force_target_public_index = 4; + */ + forceTargetPublicIndex: boolean; + + /** + * @generated from field: string force_team_id = 5; + */ + forceTeamId: string; + + /** + * @generated from field: string service_key_id = 6; + */ + serviceKeyId: string; +}; + +/** + * Describes the message exa.index_pb.ManagementMetadata. + * Use `create(ManagementMetadataSchema)` to create a new message. + */ +export const ManagementMetadataSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 9); + +/** + * @generated from message exa.index_pb.AddRepositoryRequest + */ +export type AddRepositoryRequest = Message<"exa.index_pb.AddRepositoryRequest"> & { + /** + * @generated from field: exa.index_pb.ManagementMetadata metadata = 1; + */ + metadata?: ManagementMetadata | undefined; + + /** + * @generated from field: exa.index_pb.RepositoryConfig config = 2; + */ + config?: RepositoryConfig | undefined; + + /** + * @generated from field: exa.index_pb.RequestIndexVersion initial_index = 3; + */ + initialIndex?: RequestIndexVersion | undefined; +}; + +/** + * Describes the message exa.index_pb.AddRepositoryRequest. + * Use `create(AddRepositoryRequestSchema)` to create a new message. + */ +export const AddRepositoryRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 10); + +/** + * @generated from message exa.index_pb.AddRepositoryResponse + */ +export type AddRepositoryResponse = Message<"exa.index_pb.AddRepositoryResponse"> & { + /** + * @generated from field: string repo_name = 1; + */ + repoName: string; + + /** + * @generated from field: string index_id = 2; + */ + indexId: string; +}; + +/** + * Describes the message exa.index_pb.AddRepositoryResponse. + * Use `create(AddRepositoryResponseSchema)` to create a new message. + */ +export const AddRepositoryResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 11); + +/** + * @generated from message exa.index_pb.EnableIndexingRequest + */ +export type EnableIndexingRequest = Message<"exa.index_pb.EnableIndexingRequest"> & { + /** + * @generated from field: exa.index_pb.ManagementMetadata metadata = 1; + */ + metadata?: ManagementMetadata | undefined; + + /** + * @generated from field: exa.index_pb.IndexBuildConfig config = 2; + */ + config?: IndexBuildConfig | undefined; +}; + +/** + * Describes the message exa.index_pb.EnableIndexingRequest. + * Use `create(EnableIndexingRequestSchema)` to create a new message. + */ +export const EnableIndexingRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 12); + +/** + * @generated from message exa.index_pb.EnableIndexingResponse + */ +export type EnableIndexingResponse = Message<"exa.index_pb.EnableIndexingResponse"> & { +}; + +/** + * Describes the message exa.index_pb.EnableIndexingResponse. + * Use `create(EnableIndexingResponseSchema)` to create a new message. + */ +export const EnableIndexingResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 13); + +/** + * @generated from message exa.index_pb.DisableIndexingRequest + */ +export type DisableIndexingRequest = Message<"exa.index_pb.DisableIndexingRequest"> & { + /** + * @generated from field: exa.index_pb.ManagementMetadata metadata = 1; + */ + metadata?: ManagementMetadata | undefined; +}; + +/** + * Describes the message exa.index_pb.DisableIndexingRequest. + * Use `create(DisableIndexingRequestSchema)` to create a new message. + */ +export const DisableIndexingRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 14); + +/** + * @generated from message exa.index_pb.DisableIndexingResponse + */ +export type DisableIndexingResponse = Message<"exa.index_pb.DisableIndexingResponse"> & { +}; + +/** + * Describes the message exa.index_pb.DisableIndexingResponse. + * Use `create(DisableIndexingResponseSchema)` to create a new message. + */ +export const DisableIndexingResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 15); + +/** + * @generated from message exa.index_pb.EditRepositoryRequest + */ +export type EditRepositoryRequest = Message<"exa.index_pb.EditRepositoryRequest"> & { + /** + * @generated from field: exa.index_pb.ManagementMetadata metadata = 1; + */ + metadata?: ManagementMetadata | undefined; + + /** + * @generated from field: string repo_name = 2; + */ + repoName: string; + + /** + * @generated from field: exa.index_pb.RepositoryConfig config = 3; + */ + config?: RepositoryConfig | undefined; +}; + +/** + * Describes the message exa.index_pb.EditRepositoryRequest. + * Use `create(EditRepositoryRequestSchema)` to create a new message. + */ +export const EditRepositoryRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 16); + +/** + * @generated from message exa.index_pb.EditRepositoryResponse + */ +export type EditRepositoryResponse = Message<"exa.index_pb.EditRepositoryResponse"> & { +}; + +/** + * Describes the message exa.index_pb.EditRepositoryResponse. + * Use `create(EditRepositoryResponseSchema)` to create a new message. + */ +export const EditRepositoryResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 17); + +/** + * @generated from message exa.index_pb.DeleteRepositoryRequest + */ +export type DeleteRepositoryRequest = Message<"exa.index_pb.DeleteRepositoryRequest"> & { + /** + * @generated from field: exa.index_pb.ManagementMetadata metadata = 1; + */ + metadata?: ManagementMetadata | undefined; + + /** + * @generated from field: string repo_name = 2; + */ + repoName: string; + + /** + * @generated from field: repeated string repo_names = 3; + */ + repoNames: string[]; +}; + +/** + * Describes the message exa.index_pb.DeleteRepositoryRequest. + * Use `create(DeleteRepositoryRequestSchema)` to create a new message. + */ +export const DeleteRepositoryRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 18); + +/** + * @generated from message exa.index_pb.DeleteRepositoryResponse + */ +export type DeleteRepositoryResponse = Message<"exa.index_pb.DeleteRepositoryResponse"> & { +}; + +/** + * Describes the message exa.index_pb.DeleteRepositoryResponse. + * Use `create(DeleteRepositoryResponseSchema)` to create a new message. + */ +export const DeleteRepositoryResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 19); + +/** + * @generated from message exa.index_pb.GetRepositoriesFilter + */ +export type GetRepositoriesFilter = Message<"exa.index_pb.GetRepositoriesFilter"> & { + /** + * @generated from field: string repo_name = 1; + */ + repoName: string; + + /** + * @generated from field: string group_id = 2; + */ + groupId: string; +}; + +/** + * Describes the message exa.index_pb.GetRepositoriesFilter. + * Use `create(GetRepositoriesFilterSchema)` to create a new message. + */ +export const GetRepositoriesFilterSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 20); + +/** + * @generated from message exa.index_pb.GetRepositoriesRequest + */ +export type GetRepositoriesRequest = Message<"exa.index_pb.GetRepositoriesRequest"> & { + /** + * @generated from field: exa.index_pb.ManagementMetadata metadata = 1; + */ + metadata?: ManagementMetadata | undefined; + + /** + * @generated from field: exa.index_pb.GetRepositoriesFilter filter = 2; + */ + filter?: GetRepositoriesFilter | undefined; +}; + +/** + * Describes the message exa.index_pb.GetRepositoriesRequest. + * Use `create(GetRepositoriesRequestSchema)` to create a new message. + */ +export const GetRepositoriesRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 21); + +/** + * @generated from message exa.index_pb.GetRepositoriesResponse + */ +export type GetRepositoriesResponse = Message<"exa.index_pb.GetRepositoriesResponse"> & { + /** + * @generated from field: repeated exa.index_pb.Repository repositories = 1; + */ + repositories: Repository[]; +}; + +/** + * Describes the message exa.index_pb.GetRepositoriesResponse. + * Use `create(GetRepositoriesResponseSchema)` to create a new message. + */ +export const GetRepositoriesResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 22); + +/** + * @generated from message exa.index_pb.GetIndexesRequest + */ +export type GetIndexesRequest = Message<"exa.index_pb.GetIndexesRequest"> & { + /** + * @generated from field: exa.index_pb.ManagementMetadata metadata = 1; + */ + metadata?: ManagementMetadata | undefined; + + /** + * @generated from field: string repo_name = 2; + */ + repoName: string; +}; + +/** + * Describes the message exa.index_pb.GetIndexesRequest. + * Use `create(GetIndexesRequestSchema)` to create a new message. + */ +export const GetIndexesRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 23); + +/** + * @generated from message exa.index_pb.GetIndexesResponse + */ +export type GetIndexesResponse = Message<"exa.index_pb.GetIndexesResponse"> & { + /** + * @generated from field: repeated exa.index_pb.Index indexes = 1; + */ + indexes: Index[]; +}; + +/** + * Describes the message exa.index_pb.GetIndexesResponse. + * Use `create(GetIndexesResponseSchema)` to create a new message. + */ +export const GetIndexesResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 24); + +/** + * @generated from message exa.index_pb.GetIndexRequest + */ +export type GetIndexRequest = Message<"exa.index_pb.GetIndexRequest"> & { + /** + * @generated from field: exa.index_pb.ManagementMetadata metadata = 1; + */ + metadata?: ManagementMetadata | undefined; + + /** + * @generated from field: string index_id = 2; + */ + indexId: string; +}; + +/** + * Describes the message exa.index_pb.GetIndexRequest. + * Use `create(GetIndexRequestSchema)` to create a new message. + */ +export const GetIndexRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 25); + +/** + * @generated from message exa.index_pb.GetIndexResponse + */ +export type GetIndexResponse = Message<"exa.index_pb.GetIndexResponse"> & { + /** + * @generated from field: exa.index_pb.Index index = 1; + */ + index?: Index | undefined; + + /** + * @generated from field: exa.index_pb.Repository repository = 2; + */ + repository?: Repository | undefined; +}; + +/** + * Describes the message exa.index_pb.GetIndexResponse. + * Use `create(GetIndexResponseSchema)` to create a new message. + */ +export const GetIndexResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 26); + +/** + * @generated from message exa.index_pb.RemoteIndexStats + */ +export type RemoteIndexStats = Message<"exa.index_pb.RemoteIndexStats"> & { + /** + * @generated from field: string index_id = 1; + */ + indexId: string; + + /** + * @generated from field: int64 cci_count = 2; + */ + cciCount: bigint; + + /** + * @generated from field: int64 snippet_count = 3; + */ + snippetCount: bigint; + + /** + * @generated from field: int64 embedding_count = 4; + */ + embeddingCount: bigint; +}; + +/** + * Describes the message exa.index_pb.RemoteIndexStats. + * Use `create(RemoteIndexStatsSchema)` to create a new message. + */ +export const RemoteIndexStatsSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 27); + +/** + * @generated from message exa.index_pb.GetRemoteIndexStatsRequest + */ +export type GetRemoteIndexStatsRequest = Message<"exa.index_pb.GetRemoteIndexStatsRequest"> & { + /** + * @generated from field: exa.index_pb.ManagementMetadata metadata = 1; + */ + metadata?: ManagementMetadata | undefined; + + /** + * @generated from field: repeated string index_ids = 2; + */ + indexIds: string[]; +}; + +/** + * Describes the message exa.index_pb.GetRemoteIndexStatsRequest. + * Use `create(GetRemoteIndexStatsRequestSchema)` to create a new message. + */ +export const GetRemoteIndexStatsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 28); + +/** + * @generated from message exa.index_pb.GetRemoteIndexStatsResponse + */ +export type GetRemoteIndexStatsResponse = Message<"exa.index_pb.GetRemoteIndexStatsResponse"> & { + /** + * @generated from field: repeated exa.index_pb.RemoteIndexStats index_stats = 1; + */ + indexStats: RemoteIndexStats[]; +}; + +/** + * Describes the message exa.index_pb.GetRemoteIndexStatsResponse. + * Use `create(GetRemoteIndexStatsResponseSchema)` to create a new message. + */ +export const GetRemoteIndexStatsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 29); + +/** + * @generated from message exa.index_pb.AddIndexRequest + */ +export type AddIndexRequest = Message<"exa.index_pb.AddIndexRequest"> & { + /** + * @generated from field: exa.index_pb.ManagementMetadata metadata = 1; + */ + metadata?: ManagementMetadata | undefined; + + /** + * @generated from field: string repo_name = 2; + */ + repoName: string; + + /** + * @generated from field: exa.index_pb.RequestIndexVersion version = 3; + */ + version?: RequestIndexVersion | undefined; +}; + +/** + * Describes the message exa.index_pb.AddIndexRequest. + * Use `create(AddIndexRequestSchema)` to create a new message. + */ +export const AddIndexRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 30); + +/** + * @generated from message exa.index_pb.AddIndexResponse + */ +export type AddIndexResponse = Message<"exa.index_pb.AddIndexResponse"> & { + /** + * @generated from field: string index_id = 1; + */ + indexId: string; +}; + +/** + * Describes the message exa.index_pb.AddIndexResponse. + * Use `create(AddIndexResponseSchema)` to create a new message. + */ +export const AddIndexResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 31); + +/** + * @generated from message exa.index_pb.CancelIndexingRequest + */ +export type CancelIndexingRequest = Message<"exa.index_pb.CancelIndexingRequest"> & { + /** + * @generated from field: exa.index_pb.ManagementMetadata metadata = 1; + */ + metadata?: ManagementMetadata | undefined; + + /** + * @generated from field: string index_id = 2; + */ + indexId: string; + + /** + * @generated from field: repeated string index_ids = 3; + */ + indexIds: string[]; +}; + +/** + * Describes the message exa.index_pb.CancelIndexingRequest. + * Use `create(CancelIndexingRequestSchema)` to create a new message. + */ +export const CancelIndexingRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 32); + +/** + * @generated from message exa.index_pb.CancelIndexingResponse + */ +export type CancelIndexingResponse = Message<"exa.index_pb.CancelIndexingResponse"> & { +}; + +/** + * Describes the message exa.index_pb.CancelIndexingResponse. + * Use `create(CancelIndexingResponseSchema)` to create a new message. + */ +export const CancelIndexingResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 33); + +/** + * @generated from message exa.index_pb.RetryIndexingRequest + */ +export type RetryIndexingRequest = Message<"exa.index_pb.RetryIndexingRequest"> & { + /** + * @generated from field: exa.index_pb.ManagementMetadata metadata = 1; + */ + metadata?: ManagementMetadata | undefined; + + /** + * @generated from field: string index_id = 2; + */ + indexId: string; + + /** + * @generated from field: repeated string index_ids = 3; + */ + indexIds: string[]; +}; + +/** + * Describes the message exa.index_pb.RetryIndexingRequest. + * Use `create(RetryIndexingRequestSchema)` to create a new message. + */ +export const RetryIndexingRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 34); + +/** + * @generated from message exa.index_pb.RetryIndexingResponse + */ +export type RetryIndexingResponse = Message<"exa.index_pb.RetryIndexingResponse"> & { +}; + +/** + * Describes the message exa.index_pb.RetryIndexingResponse. + * Use `create(RetryIndexingResponseSchema)` to create a new message. + */ +export const RetryIndexingResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 35); + +/** + * @generated from message exa.index_pb.DeleteIndexRequest + */ +export type DeleteIndexRequest = Message<"exa.index_pb.DeleteIndexRequest"> & { + /** + * @generated from field: exa.index_pb.ManagementMetadata metadata = 1; + */ + metadata?: ManagementMetadata | undefined; + + /** + * @generated from field: string index_id = 2; + */ + indexId: string; + + /** + * @generated from field: repeated string index_ids = 3; + */ + indexIds: string[]; +}; + +/** + * Describes the message exa.index_pb.DeleteIndexRequest. + * Use `create(DeleteIndexRequestSchema)` to create a new message. + */ +export const DeleteIndexRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 36); + +/** + * @generated from message exa.index_pb.DeleteIndexResponse + */ +export type DeleteIndexResponse = Message<"exa.index_pb.DeleteIndexResponse"> & { +}; + +/** + * Describes the message exa.index_pb.DeleteIndexResponse. + * Use `create(DeleteIndexResponseSchema)` to create a new message. + */ +export const DeleteIndexResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 37); + +/** + * @generated from message exa.index_pb.PruneDatabaseRequest + */ +export type PruneDatabaseRequest = Message<"exa.index_pb.PruneDatabaseRequest"> & { + /** + * @generated from field: exa.index_pb.ManagementMetadata metadata = 1; + */ + metadata?: ManagementMetadata | undefined; +}; + +/** + * Describes the message exa.index_pb.PruneDatabaseRequest. + * Use `create(PruneDatabaseRequestSchema)` to create a new message. + */ +export const PruneDatabaseRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 38); + +/** + * @generated from message exa.index_pb.PruneDatabaseResponse + */ +export type PruneDatabaseResponse = Message<"exa.index_pb.PruneDatabaseResponse"> & { +}; + +/** + * Describes the message exa.index_pb.PruneDatabaseResponse. + * Use `create(PruneDatabaseResponseSchema)` to create a new message. + */ +export const PruneDatabaseResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 39); + +/** + * @generated from message exa.index_pb.GetDatabaseStatsRequest + */ +export type GetDatabaseStatsRequest = Message<"exa.index_pb.GetDatabaseStatsRequest"> & { + /** + * @generated from field: exa.index_pb.ManagementMetadata metadata = 1; + */ + metadata?: ManagementMetadata | undefined; +}; + +/** + * Describes the message exa.index_pb.GetDatabaseStatsRequest. + * Use `create(GetDatabaseStatsRequestSchema)` to create a new message. + */ +export const GetDatabaseStatsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 40); + +/** + * @generated from message exa.index_pb.GetDatabaseStatsResponse + */ +export type GetDatabaseStatsResponse = Message<"exa.index_pb.GetDatabaseStatsResponse"> & { + /** + * @generated from field: int64 database_total_bytes_count = 1; + */ + databaseTotalBytesCount: bigint; + + /** + * @generated from field: int64 table_total_bytes_count = 2; + */ + tableTotalBytesCount: bigint; + + /** + * @generated from field: int64 index_total_bytes_count = 3; + */ + indexTotalBytesCount: bigint; + + /** + * @generated from field: int64 estimate_prunable_bytes = 4; + */ + estimatePrunableBytes: bigint; + + /** + * @generated from field: bool is_pruning = 5; + */ + isPruning: boolean; + + /** + * @generated from field: string last_prune_error = 6; + */ + lastPruneError: string; + + /** + * @generated from field: int64 all_tables_bytes_count = 7; + */ + allTablesBytesCount: bigint; +}; + +/** + * Describes the message exa.index_pb.GetDatabaseStatsResponse. + * Use `create(GetDatabaseStatsResponseSchema)` to create a new message. + */ +export const GetDatabaseStatsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 41); + +/** + * @generated from message exa.index_pb.SetIndexConfigRequest + */ +export type SetIndexConfigRequest = Message<"exa.index_pb.SetIndexConfigRequest"> & { + /** + * @generated from field: exa.index_pb.ManagementMetadata metadata = 1; + */ + metadata?: ManagementMetadata | undefined; + + /** + * @generated from field: exa.index_pb.IndexConfig index_config = 2; + */ + indexConfig?: IndexConfig | undefined; +}; + +/** + * Describes the message exa.index_pb.SetIndexConfigRequest. + * Use `create(SetIndexConfigRequestSchema)` to create a new message. + */ +export const SetIndexConfigRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 42); + +/** + * @generated from message exa.index_pb.SetIndexConfigResponse + */ +export type SetIndexConfigResponse = Message<"exa.index_pb.SetIndexConfigResponse"> & { +}; + +/** + * Describes the message exa.index_pb.SetIndexConfigResponse. + * Use `create(SetIndexConfigResponseSchema)` to create a new message. + */ +export const SetIndexConfigResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 43); + +/** + * @generated from message exa.index_pb.GetIndexConfigRequest + */ +export type GetIndexConfigRequest = Message<"exa.index_pb.GetIndexConfigRequest"> & { + /** + * @generated from field: exa.index_pb.ManagementMetadata metadata = 1; + */ + metadata?: ManagementMetadata | undefined; +}; + +/** + * Describes the message exa.index_pb.GetIndexConfigRequest. + * Use `create(GetIndexConfigRequestSchema)` to create a new message. + */ +export const GetIndexConfigRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 44); + +/** + * @generated from message exa.index_pb.GetIndexConfigResponse + */ +export type GetIndexConfigResponse = Message<"exa.index_pb.GetIndexConfigResponse"> & { + /** + * @generated from field: exa.index_pb.IndexConfig index_config = 1; + */ + indexConfig?: IndexConfig | undefined; +}; + +/** + * Describes the message exa.index_pb.GetIndexConfigResponse. + * Use `create(GetIndexConfigResponseSchema)` to create a new message. + */ +export const GetIndexConfigResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 45); + +/** + * @generated from message exa.index_pb.GetNumberConnectionsRequest + */ +export type GetNumberConnectionsRequest = Message<"exa.index_pb.GetNumberConnectionsRequest"> & { + /** + * @generated from field: exa.index_pb.ManagementMetadata metadata = 1; + */ + metadata?: ManagementMetadata | undefined; +}; + +/** + * Describes the message exa.index_pb.GetNumberConnectionsRequest. + * Use `create(GetNumberConnectionsRequestSchema)` to create a new message. + */ +export const GetNumberConnectionsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 46); + +/** + * @generated from message exa.index_pb.GetNumberConnectionsResponse + */ +export type GetNumberConnectionsResponse = Message<"exa.index_pb.GetNumberConnectionsResponse"> & { + /** + * @generated from field: map connections_map = 1; + */ + connectionsMap: { [key: string]: number }; +}; + +/** + * Describes the message exa.index_pb.GetNumberConnectionsResponse. + * Use `create(GetNumberConnectionsResponseSchema)` to create a new message. + */ +export const GetNumberConnectionsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 47); + +/** + * @generated from message exa.index_pb.GetConnectionsDebugInfoRequest + */ +export type GetConnectionsDebugInfoRequest = Message<"exa.index_pb.GetConnectionsDebugInfoRequest"> & { + /** + * @generated from field: exa.index_pb.ManagementMetadata metadata = 1; + */ + metadata?: ManagementMetadata | undefined; +}; + +/** + * Describes the message exa.index_pb.GetConnectionsDebugInfoRequest. + * Use `create(GetConnectionsDebugInfoRequestSchema)` to create a new message. + */ +export const GetConnectionsDebugInfoRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 48); + +/** + * @generated from message exa.index_pb.GetConnectionsDebugInfoResponse + */ +export type GetConnectionsDebugInfoResponse = Message<"exa.index_pb.GetConnectionsDebugInfoResponse"> & { + /** + * @generated from field: string debug_info = 1; + */ + debugInfo: string; +}; + +/** + * Describes the message exa.index_pb.GetConnectionsDebugInfoResponse. + * Use `create(GetConnectionsDebugInfoResponseSchema)` to create a new message. + */ +export const GetConnectionsDebugInfoResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 49); + +/** + * @generated from message exa.index_pb.GetIndexedRepositoriesRequest + */ +export type GetIndexedRepositoriesRequest = Message<"exa.index_pb.GetIndexedRepositoriesRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: bool include_incomplete = 2; + */ + includeIncomplete: boolean; + + /** + * @generated from field: repeated string group_ids_filter = 3; + */ + groupIdsFilter: string[]; +}; + +/** + * Describes the message exa.index_pb.GetIndexedRepositoriesRequest. + * Use `create(GetIndexedRepositoriesRequestSchema)` to create a new message. + */ +export const GetIndexedRepositoriesRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 50); + +/** + * @generated from message exa.index_pb.GetIndexedRepositoriesResponse + */ +export type GetIndexedRepositoriesResponse = Message<"exa.index_pb.GetIndexedRepositoriesResponse"> & { + /** + * @generated from field: repeated exa.codeium_common_pb.GitRepoInfo repositories = 1; + */ + repositories: GitRepoInfo[]; + + /** + * @generated from field: repeated exa.index_pb.Index indexes = 2; + */ + indexes: Index[]; +}; + +/** + * Describes the message exa.index_pb.GetIndexedRepositoriesResponse. + * Use `create(GetIndexedRepositoriesResponseSchema)` to create a new message. + */ +export const GetIndexedRepositoriesResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 51); + +/** + * @generated from message exa.index_pb.RepositoryFilter + */ +export type RepositoryFilter = Message<"exa.index_pb.RepositoryFilter"> & { + /** + * @generated from field: exa.codeium_common_pb.GitRepoInfo repository = 1; + */ + repository?: GitRepoInfo | undefined; + + /** + * @generated from field: repeated string excluded_files = 2; + */ + excludedFiles: string[]; + + /** + * @generated from field: repeated string filter_paths = 3; + */ + filterPaths: string[]; +}; + +/** + * Describes the message exa.index_pb.RepositoryFilter. + * Use `create(RepositoryFilterSchema)` to create a new message. + */ +export const RepositoryFilterSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 52); + +/** + * @generated from message exa.index_pb.GetMatchingFilePathsRequest + */ +export type GetMatchingFilePathsRequest = Message<"exa.index_pb.GetMatchingFilePathsRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: exa.codeium_common_pb.GitRepoInfo repository = 2; + */ + repository?: GitRepoInfo | undefined; + + /** + * @generated from field: string query = 3; + */ + query: string; + + /** + * @generated from field: uint32 max_items = 4; + */ + maxItems: number; + + /** + * @generated from field: repeated string group_ids_filter = 5; + */ + groupIdsFilter: string[]; +}; + +/** + * Describes the message exa.index_pb.GetMatchingFilePathsRequest. + * Use `create(GetMatchingFilePathsRequestSchema)` to create a new message. + */ +export const GetMatchingFilePathsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 53); + +/** + * @generated from message exa.index_pb.GetMatchingFilePathsResponse + */ +export type GetMatchingFilePathsResponse = Message<"exa.index_pb.GetMatchingFilePathsResponse"> & { + /** + * @generated from field: repeated string relative_file_paths = 1; + */ + relativeFilePaths: string[]; +}; + +/** + * Describes the message exa.index_pb.GetMatchingFilePathsResponse. + * Use `create(GetMatchingFilePathsResponseSchema)` to create a new message. + */ +export const GetMatchingFilePathsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 54); + +/** + * @generated from message exa.index_pb.GetNearestCCIsFromEmbeddingRequest + */ +export type GetNearestCCIsFromEmbeddingRequest = Message<"exa.index_pb.GetNearestCCIsFromEmbeddingRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: exa.codeium_common_pb.Embedding embedding = 2; + */ + embedding?: Embedding | undefined; + + /** + * @generated from field: repeated exa.index_pb.RepositoryFilter repository_filters = 3; + */ + repositoryFilters: RepositoryFilter[]; + + /** + * @generated from field: int64 max_results = 4; + */ + maxResults: bigint; + + /** + * @generated from field: repeated string group_ids_filter = 5; + */ + groupIdsFilter: string[]; +}; + +/** + * Describes the message exa.index_pb.GetNearestCCIsFromEmbeddingRequest. + * Use `create(GetNearestCCIsFromEmbeddingRequestSchema)` to create a new message. + */ +export const GetNearestCCIsFromEmbeddingRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 55); + +/** + * @generated from message exa.index_pb.ScoredContextItem + */ +export type ScoredContextItem = Message<"exa.index_pb.ScoredContextItem"> & { + /** + * @generated from field: exa.codeium_common_pb.CodeContextItem code_context_item = 1; + */ + codeContextItem?: CodeContextItem | undefined; + + /** + * @generated from field: float score = 2; + */ + score: number; +}; + +/** + * Describes the message exa.index_pb.ScoredContextItem. + * Use `create(ScoredContextItemSchema)` to create a new message. + */ +export const ScoredContextItemSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 56); + +/** + * @generated from message exa.index_pb.GetNearestCCIsFromEmbeddingResponse + */ +export type GetNearestCCIsFromEmbeddingResponse = Message<"exa.index_pb.GetNearestCCIsFromEmbeddingResponse"> & { + /** + * @generated from field: repeated exa.index_pb.ScoredContextItem scored_context_items = 1; + */ + scoredContextItems: ScoredContextItem[]; +}; + +/** + * Describes the message exa.index_pb.GetNearestCCIsFromEmbeddingResponse. + * Use `create(GetNearestCCIsFromEmbeddingResponseSchema)` to create a new message. + */ +export const GetNearestCCIsFromEmbeddingResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 57); + +/** + * @generated from message exa.index_pb.GetEmbeddingsForCodeContextItemsRequest + */ +export type GetEmbeddingsForCodeContextItemsRequest = Message<"exa.index_pb.GetEmbeddingsForCodeContextItemsRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: repeated exa.codeium_common_pb.CodeContextItem code_context_items = 2; + */ + codeContextItems: CodeContextItem[]; + + /** + * @generated from field: exa.codeium_common_pb.ContextSnippetType snippet_type = 3; + */ + snippetType: ContextSnippetType; +}; + +/** + * Describes the message exa.index_pb.GetEmbeddingsForCodeContextItemsRequest. + * Use `create(GetEmbeddingsForCodeContextItemsRequestSchema)` to create a new message. + */ +export const GetEmbeddingsForCodeContextItemsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 58); + +/** + * @generated from message exa.index_pb.GetEmbeddingsForCodeContextItemsResponse + */ +export type GetEmbeddingsForCodeContextItemsResponse = Message<"exa.index_pb.GetEmbeddingsForCodeContextItemsResponse"> & { + /** + * @generated from field: repeated exa.codeium_common_pb.Embedding embeddings = 1; + */ + embeddings: Embedding[]; +}; + +/** + * Describes the message exa.index_pb.GetEmbeddingsForCodeContextItemsResponse. + * Use `create(GetEmbeddingsForCodeContextItemsResponseSchema)` to create a new message. + */ +export const GetEmbeddingsForCodeContextItemsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 59); + +/** + * @generated from message exa.index_pb.IndexStats + */ +export type IndexStats = Message<"exa.index_pb.IndexStats"> & { + /** + * @generated from field: string repository_name = 1; + */ + repositoryName: string; + + /** + * @generated from field: int64 file_count = 2; + */ + fileCount: bigint; + + /** + * @generated from field: int64 code_context_item_count = 3; + */ + codeContextItemCount: bigint; +}; + +/** + * Describes the message exa.index_pb.IndexStats. + * Use `create(IndexStatsSchema)` to create a new message. + */ +export const IndexStatsSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 60); + +/** + * @generated from message exa.index_pb.IndexerEvent + */ +export type IndexerEvent = Message<"exa.index_pb.IndexerEvent"> & { + /** + * @generated from field: uint64 uid = 1; + */ + uid: bigint; + + /** + * @generated from oneof exa.index_pb.IndexerEvent.event_oneof + */ + eventOneof: { + /** + * @generated from field: exa.index_pb.IndexerEvent.Deletion deletion = 2; + */ + value: IndexerEvent_Deletion; + case: "deletion"; + } | { + /** + * @generated from field: exa.index_pb.IndexerEvent.Untrack untrack = 3; + */ + value: IndexerEvent_Untrack; + case: "untrack"; + } | { + /** + * @generated from field: exa.index_pb.IndexerEvent.Update update = 4; + */ + value: IndexerEvent_Update; + case: "update"; + } | { + /** + * @generated from field: exa.index_pb.IndexerEvent.AddWorkspace add_workspace = 5; + */ + value: IndexerEvent_AddWorkspace; + case: "addWorkspace"; + } | { + /** + * @generated from field: exa.index_pb.IndexerEvent.RemoveWorkspace remove_workspace = 6; + */ + value: IndexerEvent_RemoveWorkspace; + case: "removeWorkspace"; + } | { + /** + * @generated from field: exa.index_pb.IndexerEvent.IgnoreWorkspace ignore_workspace = 7; + */ + value: IndexerEvent_IgnoreWorkspace; + case: "ignoreWorkspace"; + } | { + /** + * @generated from field: exa.index_pb.IndexerEvent.AddCommit add_commit = 8; + */ + value: IndexerEvent_AddCommit; + case: "addCommit"; + } | { case: undefined; value?: undefined }; +}; + +/** + * Describes the message exa.index_pb.IndexerEvent. + * Use `create(IndexerEventSchema)` to create a new message. + */ +export const IndexerEventSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 61); + +/** + * @generated from message exa.index_pb.IndexerEvent.Deletion + */ +export type IndexerEvent_Deletion = Message<"exa.index_pb.IndexerEvent.Deletion"> & { + /** + * @generated from field: string absolute_uri = 1; + */ + absoluteUri: string; +}; + +/** + * Describes the message exa.index_pb.IndexerEvent.Deletion. + * Use `create(IndexerEvent_DeletionSchema)` to create a new message. + */ +export const IndexerEvent_DeletionSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 61, 0); + +/** + * @generated from message exa.index_pb.IndexerEvent.Untrack + */ +export type IndexerEvent_Untrack = Message<"exa.index_pb.IndexerEvent.Untrack"> & { + /** + * @generated from field: string absolute_uri = 1; + */ + absoluteUri: string; + + /** + * @generated from field: repeated exa.codeium_common_pb.WorkspacePath paths = 2; + */ + paths: WorkspacePath[]; + + /** + * @generated from field: string workspace_uri = 3; + */ + workspaceUri: string; +}; + +/** + * Describes the message exa.index_pb.IndexerEvent.Untrack. + * Use `create(IndexerEvent_UntrackSchema)` to create a new message. + */ +export const IndexerEvent_UntrackSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 61, 1); + +/** + * @generated from message exa.index_pb.IndexerEvent.Update + */ +export type IndexerEvent_Update = Message<"exa.index_pb.IndexerEvent.Update"> & { + /** + * @generated from field: string absolute_uri = 1; + */ + absoluteUri: string; + + /** + * @generated from field: repeated exa.codeium_common_pb.WorkspacePath paths = 2; + */ + paths: WorkspacePath[]; + + /** + * @generated from field: google.protobuf.Timestamp mod_time = 3; + */ + modTime?: Timestamp | undefined; + + /** + * @generated from field: exa.index_pb.IndexerEvent.Update.AddWorkspaceInfo add_workspace_info = 4; + */ + addWorkspaceInfo?: IndexerEvent_Update_AddWorkspaceInfo | undefined; +}; + +/** + * Describes the message exa.index_pb.IndexerEvent.Update. + * Use `create(IndexerEvent_UpdateSchema)` to create a new message. + */ +export const IndexerEvent_UpdateSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 61, 2); + +/** + * @generated from message exa.index_pb.IndexerEvent.Update.AddWorkspaceInfo + */ +export type IndexerEvent_Update_AddWorkspaceInfo = Message<"exa.index_pb.IndexerEvent.Update.AddWorkspaceInfo"> & { + /** + * @generated from field: uint64 add_workspace_uid = 1; + */ + addWorkspaceUid: bigint; + + /** + * @generated from field: uint64 add_workspace_queue_uid = 2; + */ + addWorkspaceQueueUid: bigint; +}; + +/** + * Describes the message exa.index_pb.IndexerEvent.Update.AddWorkspaceInfo. + * Use `create(IndexerEvent_Update_AddWorkspaceInfoSchema)` to create a new message. + */ +export const IndexerEvent_Update_AddWorkspaceInfoSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 61, 2, 0); + +/** + * @generated from message exa.index_pb.IndexerEvent.AddWorkspace + */ +export type IndexerEvent_AddWorkspace = Message<"exa.index_pb.IndexerEvent.AddWorkspace"> & { + /** + * @generated from field: uint64 add_workspace_uid = 1; + */ + addWorkspaceUid: bigint; + + /** + * @generated from field: uint64 add_workspace_queue_uid = 2; + */ + addWorkspaceQueueUid: bigint; + + /** + * @generated from field: string workspace_uri = 3; + */ + workspaceUri: string; + + /** + * @generated from field: int64 num_files = 4; + */ + numFiles: bigint; + + /** + * @generated from field: int64 size = 5; + */ + size: bigint; +}; + +/** + * Describes the message exa.index_pb.IndexerEvent.AddWorkspace. + * Use `create(IndexerEvent_AddWorkspaceSchema)` to create a new message. + */ +export const IndexerEvent_AddWorkspaceSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 61, 3); + +/** + * @generated from message exa.index_pb.IndexerEvent.RemoveWorkspace + */ +export type IndexerEvent_RemoveWorkspace = Message<"exa.index_pb.IndexerEvent.RemoveWorkspace"> & { + /** + * @generated from field: string workspace_uri = 1; + */ + workspaceUri: string; +}; + +/** + * Describes the message exa.index_pb.IndexerEvent.RemoveWorkspace. + * Use `create(IndexerEvent_RemoveWorkspaceSchema)` to create a new message. + */ +export const IndexerEvent_RemoveWorkspaceSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 61, 4); + +/** + * @generated from message exa.index_pb.IndexerEvent.IgnoreWorkspace + */ +export type IndexerEvent_IgnoreWorkspace = Message<"exa.index_pb.IndexerEvent.IgnoreWorkspace"> & { + /** + * @generated from field: string workspace_uri = 1; + */ + workspaceUri: string; +}; + +/** + * Describes the message exa.index_pb.IndexerEvent.IgnoreWorkspace. + * Use `create(IndexerEvent_IgnoreWorkspaceSchema)` to create a new message. + */ +export const IndexerEvent_IgnoreWorkspaceSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 61, 5); + +/** + * @generated from message exa.index_pb.IndexerEvent.AddCommit + */ +export type IndexerEvent_AddCommit = Message<"exa.index_pb.IndexerEvent.AddCommit"> & { + /** + * @generated from field: string sha = 1; + */ + sha: string; +}; + +/** + * Describes the message exa.index_pb.IndexerEvent.AddCommit. + * Use `create(IndexerEvent_AddCommitSchema)` to create a new message. + */ +export const IndexerEvent_AddCommitSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_index_pb_index, 61, 6); + +/** + * @generated from enum exa.index_pb.IndexMode + */ +export enum IndexMode { + /** + * @generated from enum value: INDEX_MODE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: INDEX_MODE_HALFVEC = 1; + */ + HALFVEC = 1, + + /** + * @generated from enum value: INDEX_MODE_BINARY = 2; + */ + BINARY = 2, + + /** + * @generated from enum value: INDEX_MODE_BINARY_WITH_RERANK = 3; + */ + BINARY_WITH_RERANK = 3, + + /** + * @generated from enum value: INDEX_MODE_BRUTE_FORCE = 4; + */ + BRUTE_FORCE = 4, + + /** + * @generated from enum value: INDEX_MODE_RANDOM_SEARCH = 5; + */ + RANDOM_SEARCH = 5, +} + +/** + * Describes the enum exa.index_pb.IndexMode. + */ +export const IndexModeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_index_pb_index, 0); + +/** + * @generated from enum exa.index_pb.IndexingStatus + */ +export enum IndexingStatus { + /** + * @generated from enum value: INDEXING_STATUS_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: INDEXING_STATUS_ERROR = 1; + */ + ERROR = 1, + + /** + * @generated from enum value: INDEXING_STATUS_QUEUED = 2; + */ + QUEUED = 2, + + /** + * @generated from enum value: INDEXING_STATUS_CLONING_REPO = 3; + */ + CLONING_REPO = 3, + + /** + * @generated from enum value: INDEXING_STATUS_SCANNING_REPO = 4; + */ + SCANNING_REPO = 4, + + /** + * @generated from enum value: INDEXING_STATUS_GENERATING_EMBEDDINGS = 5; + */ + GENERATING_EMBEDDINGS = 5, + + /** + * @generated from enum value: INDEXING_STATUS_VECTOR_INDEXING = 6; + */ + VECTOR_INDEXING = 6, + + /** + * @generated from enum value: INDEXING_STATUS_DONE = 7; + */ + DONE = 7, + + /** + * @generated from enum value: INDEXING_STATUS_CANCELING = 8; + */ + CANCELING = 8, + + /** + * @generated from enum value: INDEXING_STATUS_CANCELED = 9; + */ + CANCELED = 9, +} + +/** + * Describes the enum exa.index_pb.IndexingStatus. + */ +export const IndexingStatusSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_index_pb_index, 1); + +/** + * @generated from service exa.index_pb.IndexManagementService + */ +export const IndexManagementService: GenService<{ + /** + * @generated from rpc exa.index_pb.IndexManagementService.EnableIndexing + */ + enableIndexing: { + methodKind: "unary"; + input: typeof EnableIndexingRequestSchema; + output: typeof EnableIndexingResponseSchema; + }, + /** + * @generated from rpc exa.index_pb.IndexManagementService.DisableIndexing + */ + disableIndexing: { + methodKind: "unary"; + input: typeof DisableIndexingRequestSchema; + output: typeof DisableIndexingResponseSchema; + }, + /** + * @generated from rpc exa.index_pb.IndexManagementService.AddRepository + */ + addRepository: { + methodKind: "unary"; + input: typeof AddRepositoryRequestSchema; + output: typeof AddRepositoryResponseSchema; + }, + /** + * @generated from rpc exa.index_pb.IndexManagementService.EditRepository + */ + editRepository: { + methodKind: "unary"; + input: typeof EditRepositoryRequestSchema; + output: typeof EditRepositoryResponseSchema; + }, + /** + * @generated from rpc exa.index_pb.IndexManagementService.DeleteRepository + */ + deleteRepository: { + methodKind: "unary"; + input: typeof DeleteRepositoryRequestSchema; + output: typeof DeleteRepositoryResponseSchema; + }, + /** + * @generated from rpc exa.index_pb.IndexManagementService.GetRepositories + */ + getRepositories: { + methodKind: "unary"; + input: typeof GetRepositoriesRequestSchema; + output: typeof GetRepositoriesResponseSchema; + }, + /** + * @generated from rpc exa.index_pb.IndexManagementService.AddIndex + */ + addIndex: { + methodKind: "unary"; + input: typeof AddIndexRequestSchema; + output: typeof AddIndexResponseSchema; + }, + /** + * @generated from rpc exa.index_pb.IndexManagementService.CancelIndexing + */ + cancelIndexing: { + methodKind: "unary"; + input: typeof CancelIndexingRequestSchema; + output: typeof CancelIndexingResponseSchema; + }, + /** + * @generated from rpc exa.index_pb.IndexManagementService.RetryIndexing + */ + retryIndexing: { + methodKind: "unary"; + input: typeof RetryIndexingRequestSchema; + output: typeof RetryIndexingResponseSchema; + }, + /** + * @generated from rpc exa.index_pb.IndexManagementService.DeleteIndex + */ + deleteIndex: { + methodKind: "unary"; + input: typeof DeleteIndexRequestSchema; + output: typeof DeleteIndexResponseSchema; + }, + /** + * @generated from rpc exa.index_pb.IndexManagementService.GetIndexes + */ + getIndexes: { + methodKind: "unary"; + input: typeof GetIndexesRequestSchema; + output: typeof GetIndexesResponseSchema; + }, + /** + * @generated from rpc exa.index_pb.IndexManagementService.GetIndex + */ + getIndex: { + methodKind: "unary"; + input: typeof GetIndexRequestSchema; + output: typeof GetIndexResponseSchema; + }, + /** + * @generated from rpc exa.index_pb.IndexManagementService.GetRemoteIndexStats + */ + getRemoteIndexStats: { + methodKind: "unary"; + input: typeof GetRemoteIndexStatsRequestSchema; + output: typeof GetRemoteIndexStatsResponseSchema; + }, + /** + * @generated from rpc exa.index_pb.IndexManagementService.PruneDatabase + */ + pruneDatabase: { + methodKind: "unary"; + input: typeof PruneDatabaseRequestSchema; + output: typeof PruneDatabaseResponseSchema; + }, + /** + * @generated from rpc exa.index_pb.IndexManagementService.GetDatabaseStats + */ + getDatabaseStats: { + methodKind: "unary"; + input: typeof GetDatabaseStatsRequestSchema; + output: typeof GetDatabaseStatsResponseSchema; + }, + /** + * @generated from rpc exa.index_pb.IndexManagementService.SetIndexConfig + */ + setIndexConfig: { + methodKind: "unary"; + input: typeof SetIndexConfigRequestSchema; + output: typeof SetIndexConfigResponseSchema; + }, + /** + * @generated from rpc exa.index_pb.IndexManagementService.GetIndexConfig + */ + getIndexConfig: { + methodKind: "unary"; + input: typeof GetIndexConfigRequestSchema; + output: typeof GetIndexConfigResponseSchema; + }, + /** + * @generated from rpc exa.index_pb.IndexManagementService.GetNumberConnections + */ + getNumberConnections: { + methodKind: "unary"; + input: typeof GetNumberConnectionsRequestSchema; + output: typeof GetNumberConnectionsResponseSchema; + }, + /** + * @generated from rpc exa.index_pb.IndexManagementService.GetConnectionsDebugInfo + */ + getConnectionsDebugInfo: { + methodKind: "unary"; + input: typeof GetConnectionsDebugInfoRequestSchema; + output: typeof GetConnectionsDebugInfoResponseSchema; + }, +}> = /*@__PURE__*/ + serviceDesc(file_exa_index_pb_index, 0); + +/** + * @generated from service exa.index_pb.IndexService + */ +export const IndexService: GenService<{ + /** + * @generated from rpc exa.index_pb.IndexService.GetIndexedRepositories + */ + getIndexedRepositories: { + methodKind: "unary"; + input: typeof GetIndexedRepositoriesRequestSchema; + output: typeof GetIndexedRepositoriesResponseSchema; + }, + /** + * @generated from rpc exa.index_pb.IndexService.GetNearestCCIsFromEmbedding + */ + getNearestCCIsFromEmbedding: { + methodKind: "unary"; + input: typeof GetNearestCCIsFromEmbeddingRequestSchema; + output: typeof GetNearestCCIsFromEmbeddingResponseSchema; + }, + /** + * @generated from rpc exa.index_pb.IndexService.GetEmbeddingsForCodeContextItems + */ + getEmbeddingsForCodeContextItems: { + methodKind: "unary"; + input: typeof GetEmbeddingsForCodeContextItemsRequestSchema; + output: typeof GetEmbeddingsForCodeContextItemsResponseSchema; + }, + /** + * @generated from rpc exa.index_pb.IndexService.GetMatchingFilePaths + */ + getMatchingFilePaths: { + methodKind: "unary"; + input: typeof GetMatchingFilePathsRequestSchema; + output: typeof GetMatchingFilePathsResponseSchema; + }, +}> = /*@__PURE__*/ + serviceDesc(file_exa_index_pb_index, 1); + diff --git a/packages/catalog/src/discovery/devin-gen/exa/knowledge_base_pb/knowledge_base_pb.ts b/packages/catalog/src/discovery/devin-gen/exa/knowledge_base_pb/knowledge_base_pb.ts new file mode 100644 index 000000000..7b18149b4 --- /dev/null +++ b/packages/catalog/src/discovery/devin-gen/exa/knowledge_base_pb/knowledge_base_pb.ts @@ -0,0 +1,623 @@ +// @generated by protoc-gen-es v2.12.0 with parameter "target=ts" +// @generated from file exa/knowledge_base_pb/knowledge_base.proto (package exa.knowledge_base_pb, syntax proto3) +/* eslint-disable */ + +import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2"; +import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2"; +import { file_buf_validate_validate } from "../../buf/validate/validate_pb"; +import type { GithubInstallationInfo, GithubPullRequestInfo } from "../auto_cascade_common_pb/auto_cascade_common_pb"; +import { file_exa_auto_cascade_common_pb_auto_cascade_common } from "../auto_cascade_common_pb/auto_cascade_common_pb"; +import type { Metadata } from "../codeium_common_pb/codeium_common_pb"; +import { file_exa_codeium_common_pb_codeium_common } from "../codeium_common_pb/codeium_common_pb"; +import type { ConnectorType } from "../opensearch_clients_pb/opensearch_clients_pb"; +import { file_exa_opensearch_clients_pb_opensearch_clients } from "../opensearch_clients_pb/opensearch_clients_pb"; +import type { Timestamp } from "@bufbuild/protobuf/wkt"; +import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt"; +import type { Message } from "@bufbuild/protobuf"; + +/** + * Describes the file exa/knowledge_base_pb/knowledge_base.proto. + */ +export const file_exa_knowledge_base_pb_knowledge_base: GenFile = /*@__PURE__*/ + fileDesc("CipleGEva25vd2xlZGdlX2Jhc2VfcGIva25vd2xlZGdlX2Jhc2UucHJvdG8SFWV4YS5rbm93bGVkZ2VfYmFzZV9wYiLzAQoRS25vd2xlZGdlQmFzZUl0ZW0SEgoKaWRlbnRpZmllchgBIAEoCRJACg5jb25uZWN0b3JfdHlwZRgCIAEoDjIoLmV4YS5vcGVuc2VhcmNoX2NsaWVudHNfcGIuQ29ubmVjdG9yVHlwZRILCgN1cmwYAyABKAkSDQoFdGl0bGUYBCABKAkSEwoLZGVzY3JpcHRpb24YBSABKAkSDwoHY29udGVudBgGIAEoCRIzCg9sYXN0X2NyYXdsZWRfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhEKCXVzZXJfbmFtZRgIIAEoCSLOAQoeQ3JlYXRlS25vd2xlZGdlQmFzZUl0ZW1SZXF1ZXN0EjEKCG1ldGFkYXRhGAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhEkAKDmNvbm5lY3Rvcl90eXBlGAIgASgOMiguZXhhLm9wZW5zZWFyY2hfY2xpZW50c19wYi5Db25uZWN0b3JUeXBlEgwKBHVybHMYBiADKAlKBAgDEARKBAgEEAVKBAgFEAZSBXRpdGxlUgN1cmxSC2Rlc2NyaXB0aW9uIlEKH0NyZWF0ZUtub3dsZWRnZUJhc2VJdGVtUmVzcG9uc2USEgoKaWRlbnRpZmllchgBIAEoCRINCgV0aXRsZRgCIAEoCRILCgN1cmwYAyABKAkiegocRWRpdEtub3dsZWRnZUJhc2VJdGVtUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRISCgppZGVudGlmaWVyGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJIh8KHUVkaXRLbm93bGVkZ2VCYXNlSXRlbVJlc3BvbnNlImcKHkRlbGV0ZUtub3dsZWRnZUJhc2VJdGVtUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRISCgppZGVudGlmaWVyGAIgASgJIiEKH0RlbGV0ZUtub3dsZWRnZUJhc2VJdGVtUmVzcG9uc2UiZQocUmVhZEtub3dsZWRnZUJhc2VJdGVtUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRISCgppZGVudGlmaWVyGAIgASgJIlcKHVJlYWRLbm93bGVkZ2VCYXNlSXRlbVJlc3BvbnNlEjYKBGl0ZW0YASABKAsyKC5leGEua25vd2xlZGdlX2Jhc2VfcGIuS25vd2xlZGdlQmFzZUl0ZW0iUQocR2V0S25vd2xlZGdlQmFzZUl0ZW1zUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YSJYCh1HZXRLbm93bGVkZ2VCYXNlSXRlbXNSZXNwb25zZRI3CgVpdGVtcxgBIAMoCzIoLmV4YS5rbm93bGVkZ2VfYmFzZV9wYi5Lbm93bGVkZ2VCYXNlSXRlbSJeCiNHZXRLbm93bGVkZ2VCYXNlSXRlbXNGb3JUZWFtUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YUoECAIQAyJfCiRHZXRLbm93bGVkZ2VCYXNlSXRlbXNGb3JUZWFtUmVzcG9uc2USNwoFaXRlbXMYASADKAsyKC5leGEua25vd2xlZGdlX2Jhc2VfcGIuS25vd2xlZGdlQmFzZUl0ZW0itgIKF0NyZWF0ZUNvbm5lY3Rpb25SZXF1ZXN0EjEKCG1ldGFkYXRhGAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhEkAKDmNvbm5lY3Rvcl90eXBlGAIgASgOMiguZXhhLm9wZW5zZWFyY2hfY2xpZW50c19wYi5Db25uZWN0b3JUeXBlEhQKDGFjY2Vzc190b2tlbhgDIAEoCRI7ChdhY2Nlc3NfdG9rZW5fZXhwaXJlc19hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASFQoNcmVmcmVzaF90b2tlbhgFIAEoCRI8ChhyZWZyZXNoX3Rva2VuX2V4cGlyZXNfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIhoKGENyZWF0ZUNvbm5lY3Rpb25SZXNwb25zZSKOAQoXUmVtb3ZlQ29ubmVjdGlvblJlcXVlc3QSMQoIbWV0YWRhdGEYASABKAsyHy5leGEuY29kZWl1bV9jb21tb25fcGIuTWV0YWRhdGESQAoOY29ubmVjdG9yX3R5cGUYAiABKA4yKC5leGEub3BlbnNlYXJjaF9jbGllbnRzX3BiLkNvbm5lY3RvclR5cGUiGgoYUmVtb3ZlQ29ubmVjdGlvblJlc3BvbnNlIosBChRHZXRDb25uZWN0aW9uUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRJACg5jb25uZWN0b3JfdHlwZRgCIAEoDjIoLmV4YS5vcGVuc2VhcmNoX2NsaWVudHNfcGIuQ29ubmVjdG9yVHlwZSI+ChVHZXRDb25uZWN0aW9uUmVzcG9uc2USDwoHZW5hYmxlZBgBIAEoCBIUCgxhY2Nlc3NfdG9rZW4YAiABKAkieAolR2V0R2l0aHViUHVsbFJlcXVlc3RTZWFyY2hJbmZvUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRINCgVxdWVyeRgCIAEoCRINCgVsaW1pdBgDIAEoBSJ3CiZHZXRHaXRodWJQdWxsUmVxdWVzdFNlYXJjaEluZm9SZXNwb25zZRJNChJwdWxsX3JlcXVlc3RfaW5mb3MYASADKAsyMS5leGEuYXV0b19jYXNjYWRlX2NvbW1vbl9wYi5HaXRodWJQdWxsUmVxdWVzdEluZm8iVgohR2V0R2l0aHViSW50ZWdyYXRpb25TdGF0dXNSZXF1ZXN0EjEKCG1ldGFkYXRhGAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhIoEBCiJHZXRHaXRodWJJbnRlZ3JhdGlvblN0YXR1c1Jlc3BvbnNlEhAKCHVzZXJuYW1lGAEgASgJEkkKDWluc3RhbGxhdGlvbnMYAiADKAsyMi5leGEuYXV0b19jYXNjYWRlX2NvbW1vbl9wYi5HaXRodWJJbnN0YWxsYXRpb25JbmZvMt8LChRLbm93bGVkZ2VCYXNlU2VydmljZRKIAQoXQ3JlYXRlS25vd2xlZGdlQmFzZUl0ZW0SNS5leGEua25vd2xlZGdlX2Jhc2VfcGIuQ3JlYXRlS25vd2xlZGdlQmFzZUl0ZW1SZXF1ZXN0GjYuZXhhLmtub3dsZWRnZV9iYXNlX3BiLkNyZWF0ZUtub3dsZWRnZUJhc2VJdGVtUmVzcG9uc2USggEKFUVkaXRLbm93bGVkZ2VCYXNlSXRlbRIzLmV4YS5rbm93bGVkZ2VfYmFzZV9wYi5FZGl0S25vd2xlZGdlQmFzZUl0ZW1SZXF1ZXN0GjQuZXhhLmtub3dsZWRnZV9iYXNlX3BiLkVkaXRLbm93bGVkZ2VCYXNlSXRlbVJlc3BvbnNlEogBChdEZWxldGVLbm93bGVkZ2VCYXNlSXRlbRI1LmV4YS5rbm93bGVkZ2VfYmFzZV9wYi5EZWxldGVLbm93bGVkZ2VCYXNlSXRlbVJlcXVlc3QaNi5leGEua25vd2xlZGdlX2Jhc2VfcGIuRGVsZXRlS25vd2xlZGdlQmFzZUl0ZW1SZXNwb25zZRKCAQoVUmVhZEtub3dsZWRnZUJhc2VJdGVtEjMuZXhhLmtub3dsZWRnZV9iYXNlX3BiLlJlYWRLbm93bGVkZ2VCYXNlSXRlbVJlcXVlc3QaNC5leGEua25vd2xlZGdlX2Jhc2VfcGIuUmVhZEtub3dsZWRnZUJhc2VJdGVtUmVzcG9uc2USggEKFUdldEtub3dsZWRnZUJhc2VJdGVtcxIzLmV4YS5rbm93bGVkZ2VfYmFzZV9wYi5HZXRLbm93bGVkZ2VCYXNlSXRlbXNSZXF1ZXN0GjQuZXhhLmtub3dsZWRnZV9iYXNlX3BiLkdldEtub3dsZWRnZUJhc2VJdGVtc1Jlc3BvbnNlEpcBChxHZXRLbm93bGVkZ2VCYXNlSXRlbXNGb3JUZWFtEjouZXhhLmtub3dsZWRnZV9iYXNlX3BiLkdldEtub3dsZWRnZUJhc2VJdGVtc0ZvclRlYW1SZXF1ZXN0GjsuZXhhLmtub3dsZWRnZV9iYXNlX3BiLkdldEtub3dsZWRnZUJhc2VJdGVtc0ZvclRlYW1SZXNwb25zZRKdAQoeR2V0R2l0aHViUHVsbFJlcXVlc3RTZWFyY2hJbmZvEjwuZXhhLmtub3dsZWRnZV9iYXNlX3BiLkdldEdpdGh1YlB1bGxSZXF1ZXN0U2VhcmNoSW5mb1JlcXVlc3QaPS5leGEua25vd2xlZGdlX2Jhc2VfcGIuR2V0R2l0aHViUHVsbFJlcXVlc3RTZWFyY2hJbmZvUmVzcG9uc2UScwoQQ3JlYXRlQ29ubmVjdGlvbhIuLmV4YS5rbm93bGVkZ2VfYmFzZV9wYi5DcmVhdGVDb25uZWN0aW9uUmVxdWVzdBovLmV4YS5rbm93bGVkZ2VfYmFzZV9wYi5DcmVhdGVDb25uZWN0aW9uUmVzcG9uc2UScwoQUmVtb3ZlQ29ubmVjdGlvbhIuLmV4YS5rbm93bGVkZ2VfYmFzZV9wYi5SZW1vdmVDb25uZWN0aW9uUmVxdWVzdBovLmV4YS5rbm93bGVkZ2VfYmFzZV9wYi5SZW1vdmVDb25uZWN0aW9uUmVzcG9uc2USagoNR2V0Q29ubmVjdGlvbhIrLmV4YS5rbm93bGVkZ2VfYmFzZV9wYi5HZXRDb25uZWN0aW9uUmVxdWVzdBosLmV4YS5rbm93bGVkZ2VfYmFzZV9wYi5HZXRDb25uZWN0aW9uUmVzcG9uc2USkQEKGkdldEdpdGh1YkludGVncmF0aW9uU3RhdHVzEjguZXhhLmtub3dsZWRnZV9iYXNlX3BiLkdldEdpdGh1YkludGVncmF0aW9uU3RhdHVzUmVxdWVzdBo5LmV4YS5rbm93bGVkZ2VfYmFzZV9wYi5HZXRHaXRodWJJbnRlZ3JhdGlvblN0YXR1c1Jlc3BvbnNlYgZwcm90bzM", [file_buf_validate_validate, file_exa_auto_cascade_common_pb_auto_cascade_common, file_exa_codeium_common_pb_codeium_common, file_exa_opensearch_clients_pb_opensearch_clients, file_google_protobuf_timestamp]); + +/** + * @generated from message exa.knowledge_base_pb.KnowledgeBaseItem + */ +export type KnowledgeBaseItem = Message<"exa.knowledge_base_pb.KnowledgeBaseItem"> & { + /** + * @generated from field: string identifier = 1; + */ + identifier: string; + + /** + * @generated from field: exa.opensearch_clients_pb.ConnectorType connector_type = 2; + */ + connectorType: ConnectorType; + + /** + * @generated from field: string url = 3; + */ + url: string; + + /** + * @generated from field: string title = 4; + */ + title: string; + + /** + * @generated from field: string description = 5; + */ + description: string; + + /** + * @generated from field: string content = 6; + */ + content: string; + + /** + * @generated from field: google.protobuf.Timestamp last_crawled_at = 7; + */ + lastCrawledAt?: Timestamp | undefined; + + /** + * @generated from field: string user_name = 8; + */ + userName: string; +}; + +/** + * Describes the message exa.knowledge_base_pb.KnowledgeBaseItem. + * Use `create(KnowledgeBaseItemSchema)` to create a new message. + */ +export const KnowledgeBaseItemSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_knowledge_base_pb_knowledge_base, 0); + +/** + * @generated from message exa.knowledge_base_pb.CreateKnowledgeBaseItemRequest + */ +export type CreateKnowledgeBaseItemRequest = Message<"exa.knowledge_base_pb.CreateKnowledgeBaseItemRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: exa.opensearch_clients_pb.ConnectorType connector_type = 2; + */ + connectorType: ConnectorType; + + /** + * @generated from field: repeated string urls = 6; + */ + urls: string[]; +}; + +/** + * Describes the message exa.knowledge_base_pb.CreateKnowledgeBaseItemRequest. + * Use `create(CreateKnowledgeBaseItemRequestSchema)` to create a new message. + */ +export const CreateKnowledgeBaseItemRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_knowledge_base_pb_knowledge_base, 1); + +/** + * @generated from message exa.knowledge_base_pb.CreateKnowledgeBaseItemResponse + */ +export type CreateKnowledgeBaseItemResponse = Message<"exa.knowledge_base_pb.CreateKnowledgeBaseItemResponse"> & { + /** + * @generated from field: string identifier = 1; + */ + identifier: string; + + /** + * @generated from field: string title = 2; + */ + title: string; + + /** + * @generated from field: string url = 3; + */ + url: string; +}; + +/** + * Describes the message exa.knowledge_base_pb.CreateKnowledgeBaseItemResponse. + * Use `create(CreateKnowledgeBaseItemResponseSchema)` to create a new message. + */ +export const CreateKnowledgeBaseItemResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_knowledge_base_pb_knowledge_base, 2); + +/** + * @generated from message exa.knowledge_base_pb.EditKnowledgeBaseItemRequest + */ +export type EditKnowledgeBaseItemRequest = Message<"exa.knowledge_base_pb.EditKnowledgeBaseItemRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string identifier = 2; + */ + identifier: string; + + /** + * @generated from field: string description = 3; + */ + description: string; +}; + +/** + * Describes the message exa.knowledge_base_pb.EditKnowledgeBaseItemRequest. + * Use `create(EditKnowledgeBaseItemRequestSchema)` to create a new message. + */ +export const EditKnowledgeBaseItemRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_knowledge_base_pb_knowledge_base, 3); + +/** + * @generated from message exa.knowledge_base_pb.EditKnowledgeBaseItemResponse + */ +export type EditKnowledgeBaseItemResponse = Message<"exa.knowledge_base_pb.EditKnowledgeBaseItemResponse"> & { +}; + +/** + * Describes the message exa.knowledge_base_pb.EditKnowledgeBaseItemResponse. + * Use `create(EditKnowledgeBaseItemResponseSchema)` to create a new message. + */ +export const EditKnowledgeBaseItemResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_knowledge_base_pb_knowledge_base, 4); + +/** + * @generated from message exa.knowledge_base_pb.DeleteKnowledgeBaseItemRequest + */ +export type DeleteKnowledgeBaseItemRequest = Message<"exa.knowledge_base_pb.DeleteKnowledgeBaseItemRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string identifier = 2; + */ + identifier: string; +}; + +/** + * Describes the message exa.knowledge_base_pb.DeleteKnowledgeBaseItemRequest. + * Use `create(DeleteKnowledgeBaseItemRequestSchema)` to create a new message. + */ +export const DeleteKnowledgeBaseItemRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_knowledge_base_pb_knowledge_base, 5); + +/** + * @generated from message exa.knowledge_base_pb.DeleteKnowledgeBaseItemResponse + */ +export type DeleteKnowledgeBaseItemResponse = Message<"exa.knowledge_base_pb.DeleteKnowledgeBaseItemResponse"> & { +}; + +/** + * Describes the message exa.knowledge_base_pb.DeleteKnowledgeBaseItemResponse. + * Use `create(DeleteKnowledgeBaseItemResponseSchema)` to create a new message. + */ +export const DeleteKnowledgeBaseItemResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_knowledge_base_pb_knowledge_base, 6); + +/** + * @generated from message exa.knowledge_base_pb.ReadKnowledgeBaseItemRequest + */ +export type ReadKnowledgeBaseItemRequest = Message<"exa.knowledge_base_pb.ReadKnowledgeBaseItemRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string identifier = 2; + */ + identifier: string; +}; + +/** + * Describes the message exa.knowledge_base_pb.ReadKnowledgeBaseItemRequest. + * Use `create(ReadKnowledgeBaseItemRequestSchema)` to create a new message. + */ +export const ReadKnowledgeBaseItemRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_knowledge_base_pb_knowledge_base, 7); + +/** + * @generated from message exa.knowledge_base_pb.ReadKnowledgeBaseItemResponse + */ +export type ReadKnowledgeBaseItemResponse = Message<"exa.knowledge_base_pb.ReadKnowledgeBaseItemResponse"> & { + /** + * @generated from field: exa.knowledge_base_pb.KnowledgeBaseItem item = 1; + */ + item?: KnowledgeBaseItem | undefined; +}; + +/** + * Describes the message exa.knowledge_base_pb.ReadKnowledgeBaseItemResponse. + * Use `create(ReadKnowledgeBaseItemResponseSchema)` to create a new message. + */ +export const ReadKnowledgeBaseItemResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_knowledge_base_pb_knowledge_base, 8); + +/** + * @generated from message exa.knowledge_base_pb.GetKnowledgeBaseItemsRequest + */ +export type GetKnowledgeBaseItemsRequest = Message<"exa.knowledge_base_pb.GetKnowledgeBaseItemsRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; +}; + +/** + * Describes the message exa.knowledge_base_pb.GetKnowledgeBaseItemsRequest. + * Use `create(GetKnowledgeBaseItemsRequestSchema)` to create a new message. + */ +export const GetKnowledgeBaseItemsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_knowledge_base_pb_knowledge_base, 9); + +/** + * @generated from message exa.knowledge_base_pb.GetKnowledgeBaseItemsResponse + */ +export type GetKnowledgeBaseItemsResponse = Message<"exa.knowledge_base_pb.GetKnowledgeBaseItemsResponse"> & { + /** + * @generated from field: repeated exa.knowledge_base_pb.KnowledgeBaseItem items = 1; + */ + items: KnowledgeBaseItem[]; +}; + +/** + * Describes the message exa.knowledge_base_pb.GetKnowledgeBaseItemsResponse. + * Use `create(GetKnowledgeBaseItemsResponseSchema)` to create a new message. + */ +export const GetKnowledgeBaseItemsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_knowledge_base_pb_knowledge_base, 10); + +/** + * @generated from message exa.knowledge_base_pb.GetKnowledgeBaseItemsForTeamRequest + */ +export type GetKnowledgeBaseItemsForTeamRequest = Message<"exa.knowledge_base_pb.GetKnowledgeBaseItemsForTeamRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; +}; + +/** + * Describes the message exa.knowledge_base_pb.GetKnowledgeBaseItemsForTeamRequest. + * Use `create(GetKnowledgeBaseItemsForTeamRequestSchema)` to create a new message. + */ +export const GetKnowledgeBaseItemsForTeamRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_knowledge_base_pb_knowledge_base, 11); + +/** + * @generated from message exa.knowledge_base_pb.GetKnowledgeBaseItemsForTeamResponse + */ +export type GetKnowledgeBaseItemsForTeamResponse = Message<"exa.knowledge_base_pb.GetKnowledgeBaseItemsForTeamResponse"> & { + /** + * @generated from field: repeated exa.knowledge_base_pb.KnowledgeBaseItem items = 1; + */ + items: KnowledgeBaseItem[]; +}; + +/** + * Describes the message exa.knowledge_base_pb.GetKnowledgeBaseItemsForTeamResponse. + * Use `create(GetKnowledgeBaseItemsForTeamResponseSchema)` to create a new message. + */ +export const GetKnowledgeBaseItemsForTeamResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_knowledge_base_pb_knowledge_base, 12); + +/** + * @generated from message exa.knowledge_base_pb.CreateConnectionRequest + */ +export type CreateConnectionRequest = Message<"exa.knowledge_base_pb.CreateConnectionRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: exa.opensearch_clients_pb.ConnectorType connector_type = 2; + */ + connectorType: ConnectorType; + + /** + * @generated from field: string access_token = 3; + */ + accessToken: string; + + /** + * @generated from field: google.protobuf.Timestamp access_token_expires_at = 4; + */ + accessTokenExpiresAt?: Timestamp | undefined; + + /** + * @generated from field: string refresh_token = 5; + */ + refreshToken: string; + + /** + * @generated from field: google.protobuf.Timestamp refresh_token_expires_at = 6; + */ + refreshTokenExpiresAt?: Timestamp | undefined; +}; + +/** + * Describes the message exa.knowledge_base_pb.CreateConnectionRequest. + * Use `create(CreateConnectionRequestSchema)` to create a new message. + */ +export const CreateConnectionRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_knowledge_base_pb_knowledge_base, 13); + +/** + * @generated from message exa.knowledge_base_pb.CreateConnectionResponse + */ +export type CreateConnectionResponse = Message<"exa.knowledge_base_pb.CreateConnectionResponse"> & { +}; + +/** + * Describes the message exa.knowledge_base_pb.CreateConnectionResponse. + * Use `create(CreateConnectionResponseSchema)` to create a new message. + */ +export const CreateConnectionResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_knowledge_base_pb_knowledge_base, 14); + +/** + * @generated from message exa.knowledge_base_pb.RemoveConnectionRequest + */ +export type RemoveConnectionRequest = Message<"exa.knowledge_base_pb.RemoveConnectionRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: exa.opensearch_clients_pb.ConnectorType connector_type = 2; + */ + connectorType: ConnectorType; +}; + +/** + * Describes the message exa.knowledge_base_pb.RemoveConnectionRequest. + * Use `create(RemoveConnectionRequestSchema)` to create a new message. + */ +export const RemoveConnectionRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_knowledge_base_pb_knowledge_base, 15); + +/** + * @generated from message exa.knowledge_base_pb.RemoveConnectionResponse + */ +export type RemoveConnectionResponse = Message<"exa.knowledge_base_pb.RemoveConnectionResponse"> & { +}; + +/** + * Describes the message exa.knowledge_base_pb.RemoveConnectionResponse. + * Use `create(RemoveConnectionResponseSchema)` to create a new message. + */ +export const RemoveConnectionResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_knowledge_base_pb_knowledge_base, 16); + +/** + * @generated from message exa.knowledge_base_pb.GetConnectionRequest + */ +export type GetConnectionRequest = Message<"exa.knowledge_base_pb.GetConnectionRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: exa.opensearch_clients_pb.ConnectorType connector_type = 2; + */ + connectorType: ConnectorType; +}; + +/** + * Describes the message exa.knowledge_base_pb.GetConnectionRequest. + * Use `create(GetConnectionRequestSchema)` to create a new message. + */ +export const GetConnectionRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_knowledge_base_pb_knowledge_base, 17); + +/** + * @generated from message exa.knowledge_base_pb.GetConnectionResponse + */ +export type GetConnectionResponse = Message<"exa.knowledge_base_pb.GetConnectionResponse"> & { + /** + * @generated from field: bool enabled = 1; + */ + enabled: boolean; + + /** + * @generated from field: string access_token = 2; + */ + accessToken: string; +}; + +/** + * Describes the message exa.knowledge_base_pb.GetConnectionResponse. + * Use `create(GetConnectionResponseSchema)` to create a new message. + */ +export const GetConnectionResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_knowledge_base_pb_knowledge_base, 18); + +/** + * @generated from message exa.knowledge_base_pb.GetGithubPullRequestSearchInfoRequest + */ +export type GetGithubPullRequestSearchInfoRequest = Message<"exa.knowledge_base_pb.GetGithubPullRequestSearchInfoRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string query = 2; + */ + query: string; + + /** + * @generated from field: int32 limit = 3; + */ + limit: number; +}; + +/** + * Describes the message exa.knowledge_base_pb.GetGithubPullRequestSearchInfoRequest. + * Use `create(GetGithubPullRequestSearchInfoRequestSchema)` to create a new message. + */ +export const GetGithubPullRequestSearchInfoRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_knowledge_base_pb_knowledge_base, 19); + +/** + * @generated from message exa.knowledge_base_pb.GetGithubPullRequestSearchInfoResponse + */ +export type GetGithubPullRequestSearchInfoResponse = Message<"exa.knowledge_base_pb.GetGithubPullRequestSearchInfoResponse"> & { + /** + * @generated from field: repeated exa.auto_cascade_common_pb.GithubPullRequestInfo pull_request_infos = 1; + */ + pullRequestInfos: GithubPullRequestInfo[]; +}; + +/** + * Describes the message exa.knowledge_base_pb.GetGithubPullRequestSearchInfoResponse. + * Use `create(GetGithubPullRequestSearchInfoResponseSchema)` to create a new message. + */ +export const GetGithubPullRequestSearchInfoResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_knowledge_base_pb_knowledge_base, 20); + +/** + * @generated from message exa.knowledge_base_pb.GetGithubIntegrationStatusRequest + */ +export type GetGithubIntegrationStatusRequest = Message<"exa.knowledge_base_pb.GetGithubIntegrationStatusRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; +}; + +/** + * Describes the message exa.knowledge_base_pb.GetGithubIntegrationStatusRequest. + * Use `create(GetGithubIntegrationStatusRequestSchema)` to create a new message. + */ +export const GetGithubIntegrationStatusRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_knowledge_base_pb_knowledge_base, 21); + +/** + * @generated from message exa.knowledge_base_pb.GetGithubIntegrationStatusResponse + */ +export type GetGithubIntegrationStatusResponse = Message<"exa.knowledge_base_pb.GetGithubIntegrationStatusResponse"> & { + /** + * @generated from field: string username = 1; + */ + username: string; + + /** + * @generated from field: repeated exa.auto_cascade_common_pb.GithubInstallationInfo installations = 2; + */ + installations: GithubInstallationInfo[]; +}; + +/** + * Describes the message exa.knowledge_base_pb.GetGithubIntegrationStatusResponse. + * Use `create(GetGithubIntegrationStatusResponseSchema)` to create a new message. + */ +export const GetGithubIntegrationStatusResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_knowledge_base_pb_knowledge_base, 22); + +/** + * @generated from service exa.knowledge_base_pb.KnowledgeBaseService + */ +export const KnowledgeBaseService: GenService<{ + /** + * @generated from rpc exa.knowledge_base_pb.KnowledgeBaseService.CreateKnowledgeBaseItem + */ + createKnowledgeBaseItem: { + methodKind: "unary"; + input: typeof CreateKnowledgeBaseItemRequestSchema; + output: typeof CreateKnowledgeBaseItemResponseSchema; + }, + /** + * @generated from rpc exa.knowledge_base_pb.KnowledgeBaseService.EditKnowledgeBaseItem + */ + editKnowledgeBaseItem: { + methodKind: "unary"; + input: typeof EditKnowledgeBaseItemRequestSchema; + output: typeof EditKnowledgeBaseItemResponseSchema; + }, + /** + * @generated from rpc exa.knowledge_base_pb.KnowledgeBaseService.DeleteKnowledgeBaseItem + */ + deleteKnowledgeBaseItem: { + methodKind: "unary"; + input: typeof DeleteKnowledgeBaseItemRequestSchema; + output: typeof DeleteKnowledgeBaseItemResponseSchema; + }, + /** + * @generated from rpc exa.knowledge_base_pb.KnowledgeBaseService.ReadKnowledgeBaseItem + */ + readKnowledgeBaseItem: { + methodKind: "unary"; + input: typeof ReadKnowledgeBaseItemRequestSchema; + output: typeof ReadKnowledgeBaseItemResponseSchema; + }, + /** + * @generated from rpc exa.knowledge_base_pb.KnowledgeBaseService.GetKnowledgeBaseItems + */ + getKnowledgeBaseItems: { + methodKind: "unary"; + input: typeof GetKnowledgeBaseItemsRequestSchema; + output: typeof GetKnowledgeBaseItemsResponseSchema; + }, + /** + * @generated from rpc exa.knowledge_base_pb.KnowledgeBaseService.GetKnowledgeBaseItemsForTeam + */ + getKnowledgeBaseItemsForTeam: { + methodKind: "unary"; + input: typeof GetKnowledgeBaseItemsForTeamRequestSchema; + output: typeof GetKnowledgeBaseItemsForTeamResponseSchema; + }, + /** + * @generated from rpc exa.knowledge_base_pb.KnowledgeBaseService.GetGithubPullRequestSearchInfo + */ + getGithubPullRequestSearchInfo: { + methodKind: "unary"; + input: typeof GetGithubPullRequestSearchInfoRequestSchema; + output: typeof GetGithubPullRequestSearchInfoResponseSchema; + }, + /** + * @generated from rpc exa.knowledge_base_pb.KnowledgeBaseService.CreateConnection + */ + createConnection: { + methodKind: "unary"; + input: typeof CreateConnectionRequestSchema; + output: typeof CreateConnectionResponseSchema; + }, + /** + * @generated from rpc exa.knowledge_base_pb.KnowledgeBaseService.RemoveConnection + */ + removeConnection: { + methodKind: "unary"; + input: typeof RemoveConnectionRequestSchema; + output: typeof RemoveConnectionResponseSchema; + }, + /** + * @generated from rpc exa.knowledge_base_pb.KnowledgeBaseService.GetConnection + */ + getConnection: { + methodKind: "unary"; + input: typeof GetConnectionRequestSchema; + output: typeof GetConnectionResponseSchema; + }, + /** + * @generated from rpc exa.knowledge_base_pb.KnowledgeBaseService.GetGithubIntegrationStatus + */ + getGithubIntegrationStatus: { + methodKind: "unary"; + input: typeof GetGithubIntegrationStatusRequestSchema; + output: typeof GetGithubIntegrationStatusResponseSchema; + }, +}> = /*@__PURE__*/ + serviceDesc(file_exa_knowledge_base_pb_knowledge_base, 0); + diff --git a/packages/catalog/src/discovery/devin-gen/exa/language_server_pb/language_server_pb.ts b/packages/catalog/src/discovery/devin-gen/exa/language_server_pb/language_server_pb.ts new file mode 100644 index 000000000..57eee6522 --- /dev/null +++ b/packages/catalog/src/discovery/devin-gen/exa/language_server_pb/language_server_pb.ts @@ -0,0 +1,10918 @@ +// @generated by protoc-gen-es v2.12.0 with parameter "target=ts" +// @generated from file exa/language_server_pb/language_server.proto (package exa.language_server_pb, syntax proto3) +/* eslint-disable */ + +import type { GenEnum, GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2"; +import { enumDesc, fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2"; +import { file_buf_validate_validate } from "../../buf/validate/validate_pb"; +import type { GithubPullRequestInfo } from "../auto_cascade_common_pb/auto_cascade_common_pb"; +import { file_exa_auto_cascade_common_pb_auto_cascade_common } from "../auto_cascade_common_pb/auto_cascade_common_pb"; +import type { Bug } from "../bug_checker_pb/bug_checker_pb"; +import { file_exa_bug_checker_pb_bug_checker } from "../bug_checker_pb/bug_checker_pb"; +import type { CascadePluginTemplate, McpRegistryServer } from "../cascade_plugins_pb/cascade_plugins_pb"; +import { file_exa_cascade_plugins_pb_cascade_plugins } from "../cascade_plugins_pb/cascade_plugins_pb"; +import type { ChatFeedbackType, ChatMessage, ChatToolDefinition, DeepWikiContext, GetChatMessageRequestSchema, GetDeepWikiRequestSchema, RawChatMessage, RawGetChatMessageRequestSchema } from "../chat_pb/chat_pb"; +import { file_exa_chat_pb_chat } from "../chat_pb/chat_pb"; +import type { CodeChangeWithContext } from "../code_edit/code_edit_pb/code_edit_pb"; +import { file_exa_code_edit_code_edit_pb_code_edit } from "../code_edit/code_edit_pb/code_edit_pb"; +import type { ActionPointer, APIProvider, CaptureFileRequestData, ChatStatsByModelEntry, ChatToolCall, ClassInfo, ClientModelConfig, ClientModelSort, CodeContextItem, CodeContextType, CodeDiagnostic, CodeSource, CommandRequestSource, Completion, CompletionByDateEntry, CompletionByLanguageEntry, CompletionConfiguration, CompletionSource, CompletionsRequest, CompletionStatistics, CompletionType, ContextScope, ContextScopeItem, ContextScopeType, DeepWikiModelType, DefaultOverrideModelConfig, DeploymentBuildStatus, Document, DocumentPosition, EditorOptions, EmbeddingMetadata, ErrorTrace, Event, ExperimentConfig, ExternalModel, FunctionInfo, GitRepoInfo, GRPCStatus, Guideline, IdeStatus, ImageData, IntellisenseSuggestion, Language, LanguageServerDiagnostics, LifeguardConfig, Metadata, MockResponseData, Model, ModelStatusInfo, OnboardingActionType, PartialIndexMetadata, PlanInfo, PromptStageLatency, ProviderSource, Range, RefreshCustomizationType, ScmType, StopReason, SupercompleteAggression, SuperCompleteFilterReason, SupercompleteTriggerCondition, TeamOrganizationalControls as TeamOrganizationalControls$1, TerminalCommandData, TerminalShellCommandStreamChunkSchema, TextOrScopeItem, UnleashContext, UserSettings, UserStatus, ValidationStatus, WebAppDeploymentConfig, WebDocsOption, WindsurfDeployment, WorkspacePath, WorkspaceStats } from "../codeium_common_pb/codeium_common_pb"; +import { file_exa_codeium_common_pb_codeium_common } from "../codeium_common_pb/codeium_common_pb"; +import type { ActionResultEdit, ArenaModeInfo, BaseTrajectoryIdentifier, CascadeConfig, CascadeRunStatus, CascadeTrajectorySummary, CascadeUserInteraction, CodeMapSuggestion, CortexMemory, CortexSkill, CortexStepGeneratorMetadata, CortexTrajectory, CortexTrajectorySource, CortexTrajectoryStep, CortexTrajectoryType, GrepSearchResult, ImplicitTrajectory, ImplicitTrajectoryDescription, McpResourceContent, McpServerState, RevertMetadata, TrajectoryShareStatus, UserStepSnapshot, WorkflowSpec } from "../cortex_pb/cortex_pb"; +import { file_exa_cortex_pb_cortex } from "../cortex_pb/cortex_pb"; +import type { CharacterDiff, ComboDiff, DiffType, UnifiedDiff as UnifiedDiff$1 } from "../diff_action_pb/diff_action_pb"; +import { file_exa_diff_action_pb_diff_action } from "../diff_action_pb/diff_action_pb"; +import type { IndexStats } from "../index_pb/index_pb"; +import { file_exa_index_pb_index } from "../index_pb/index_pb"; +import type { KnowledgeBaseItem } from "../knowledge_base_pb/knowledge_base_pb"; +import { file_exa_knowledge_base_pb_knowledge_base } from "../knowledge_base_pb/knowledge_base_pb"; +import type { StreamReactiveUpdatesRequestSchema, StreamReactiveUpdatesResponseSchema } from "../reactive_component_pb/reactive_component_pb"; +import { file_exa_reactive_component_pb_reactive_component } from "../reactive_component_pb/reactive_component_pb"; +import type { Duration, Timestamp } from "@bufbuild/protobuf/wkt"; +import { file_google_protobuf_duration, file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt"; +import type { Message } from "@bufbuild/protobuf"; + +/** + * Describes the file exa/language_server_pb/language_server.proto. + */ +export const file_exa_language_server_pb_language_server: GenFile = /*@__PURE__*/ + fileDesc("CixleGEvbGFuZ3VhZ2Vfc2VydmVyX3BiL2xhbmd1YWdlX3NlcnZlci5wcm90bxIWZXhhLmxhbmd1YWdlX3NlcnZlcl9wYiJpCiVHZXRHaXRodWJQdWxsUmVxdWVzdFNlYXJjaEluZm9SZXF1ZXN0EjEKCG1ldGFkYXRhGAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhEg0KBXF1ZXJ5GAIgASgJIncKJkdldEdpdGh1YlB1bGxSZXF1ZXN0U2VhcmNoSW5mb1Jlc3BvbnNlEk0KEnB1bGxfcmVxdWVzdF9pbmZvcxgBIAMoCzIxLmV4YS5hdXRvX2Nhc2NhZGVfY29tbW9uX3BiLkdpdGh1YlB1bGxSZXF1ZXN0SW5mbyJ0CilVcGRhdGVBdXRvQ2FzY2FkZUdpdGh1YkNyZWRlbnRpYWxzUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRIUCgxnaXRodWJfdG9rZW4YAiABKAkiLAoqVXBkYXRlQXV0b0Nhc2NhZGVHaXRodWJDcmVkZW50aWFsc1Jlc3BvbnNlIpwICh1IYW5kbGVTdHJlYW1pbmdDb21tYW5kUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRIxCghkb2N1bWVudBgCIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Eb2N1bWVudBI8Cg5lZGl0b3Jfb3B0aW9ucxgDIAEoCzIkLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5FZGl0b3JPcHRpb25zEjgKEnJlcXVlc3RlZF9tb2RlbF9pZBgEIAEoDjIcLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Nb2RlbBIcChRzZWxlY3Rpb25fc3RhcnRfbGluZRgGIAEoBBIaChJzZWxlY3Rpb25fZW5kX2xpbmUYByABKAQSFAoMY29tbWFuZF90ZXh0GAggASgJEkMKDnJlcXVlc3Rfc291cmNlGAkgASgOMisuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNvbW1hbmRSZXF1ZXN0U291cmNlEjwKD21lbnRpb25lZF9zY29wZRgKIAEoCzIjLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Db250ZXh0U2NvcGUSPAoOYWN0aW9uX3BvaW50ZXIYCyABKAsyJC5leGEuY29kZWl1bV9jb21tb25fcGIuQWN0aW9uUG9pbnRlchIcChRwYXJlbnRfY29tcGxldGlvbl9pZBgMIAEoCRIvCglkaWZmX3R5cGUYDSABKA4yHC5leGEuZGlmZl9hY3Rpb25fcGIuRGlmZlR5cGUSOgoLZGlhZ25vc3RpY3MYDiADKAsyJS5leGEuY29kZWl1bV9jb21tb25fcGIuQ29kZURpYWdub3N0aWMSXQofc3VwZXJjb21wbGV0ZV90cmlnZ2VyX2NvbmRpdGlvbhgPIAEoDjI0LmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5TdXBlcmNvbXBsZXRlVHJpZ2dlckNvbmRpdGlvbhJJChV0ZXJtaW5hbF9jb21tYW5kX2RhdGEYECABKAsyKi5leGEuY29kZWl1bV9jb21tb25fcGIuVGVybWluYWxDb21tYW5kRGF0YRJGChFleHBlcmltZW50X2NvbmZpZxgFIAEoCzInLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5FeHBlcmltZW50Q29uZmlnQgIYARIlCh1pZ25vcmVfc3VwZXJjb21wbGV0ZV9kZWJvdW5jZRgRIAEoCBIXCg9jbGlwYm9hcmRfZW50cnkYEiABKAkSTwoYaW50ZWxsaXNlbnNlX3N1Z2dlc3Rpb25zGBMgAygLMi0uZXhhLmNvZGVpdW1fY29tbW9uX3BiLkludGVsbGlzZW5zZVN1Z2dlc3Rpb24imgYKHkhhbmRsZVN0cmVhbWluZ0NvbW1hbmRSZXNwb25zZRIVCg1jb21wbGV0aW9uX2lkGAEgASgJEhEKCXByb21wdF9pZBgCIAEoCRItCgRkaWZmGAMgASgLMh8uZXhhLmRpZmZfYWN0aW9uX3BiLlVuaWZpZWREaWZmEjkKDGxhdGVuY3lfaW5mbxgEIAEoCzIjLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuTGF0ZW5jeUluZm8SHAoUc2VsZWN0aW9uX3N0YXJ0X2xpbmUYBSABKAQSGgoSc2VsZWN0aW9uX2VuZF9saW5lGAYgASgEEg0KBXNjb3JlGAcgASgBEjkKDmNoYXJhY3Rlcl9kaWZmGAggASgLMiEuZXhhLmRpZmZfYWN0aW9uX3BiLkNoYXJhY3RlckRpZmYSMQoKY29tYm9fZGlmZhgJIAEoCzIdLmV4YS5kaWZmX2FjdGlvbl9wYi5Db21ib0RpZmYSRwoNZmlsdGVyX3JlYXNvbhgKIAEoCzIwLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5TdXBlckNvbXBsZXRlRmlsdGVyUmVhc29uEkMKDWp1bXBfcG9zaXRpb24YDiABKAsyJy5leGEuY29kZWl1bV9jb21tb25fcGIuRG9jdW1lbnRQb3NpdGlvbkgAiAEBEjkKDHJlcXVlc3RfaW5mbxgMIAEoCzIjLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuUmVxdWVzdEluZm8SNgoLc3RvcF9yZWFzb24YDSABKA4yIS5leGEuY29kZWl1bV9jb21tb25fcGIuU3RvcFJlYXNvbhIzCgp0cmFqZWN0b3J5GA8gASgLMh8uZXhhLmNvcnRleF9wYi5Db3J0ZXhUcmFqZWN0b3J5EhAKCHJhd190ZXh0GBAgASgJEiUKFGNsb3Nlc3RfY2hhbmdlZF9saW5lGAsgASgEQgIYAUgBiAEBEhMKC3JlcXVlc3RfdWlkGBEgASgJQhAKDl9qdW1wX3Bvc2l0aW9uQhcKFV9jbG9zZXN0X2NoYW5nZWRfbGluZSLZBAoZSGFuZGxlU3RyZWFtaW5nVGFiUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRIxCghkb2N1bWVudBgCIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Eb2N1bWVudBI8Cg5lZGl0b3Jfb3B0aW9ucxgDIAEoCzIkLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5FZGl0b3JPcHRpb25zEkAKDnJlcXVlc3Rfc291cmNlGAQgASgOMiguZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5UYWJSZXF1ZXN0U291cmNlEjoKC2RpYWdub3N0aWNzGAUgAygLMiUuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNvZGVEaWFnbm9zdGljEl0KH3N1cGVyY29tcGxldGVfdHJpZ2dlcl9jb25kaXRpb24YBiABKA4yNC5leGEuY29kZWl1bV9jb21tb25fcGIuU3VwZXJjb21wbGV0ZVRyaWdnZXJDb25kaXRpb24SFwoPY2xpcGJvYXJkX2VudHJ5GAcgASgJEk8KGGludGVsbGlzZW5zZV9zdWdnZXN0aW9ucxgIIAMoCzItLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5JbnRlbGxpc2Vuc2VTdWdnZXN0aW9uEjgKD290aGVyX2RvY3VtZW50cxgJIAMoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Eb2N1bWVudEoECAoQC1IRZGVlcF93aWtpX2NvbnRleHQiXgoOVGFiUmVxdWVzdEluZm8SEQoJcHJvbXB0X2lkGAEgASgJEg4KBnByb21wdBgCIAEoCRIpCiF0eXBpbmdfYXNfc3VnZ2VzdGVkX3Byb21wdF9zdWZmaXgYAyABKAki3wUKGkhhbmRsZVN0cmVhbWluZ1RhYlJlc3BvbnNlEhUKDWNvbXBsZXRpb25faWQYASABKAkSEQoJcHJvbXB0X2lkGAIgASgJEi0KBGRpZmYYAyABKAsyHy5leGEuZGlmZl9hY3Rpb25fcGIuVW5pZmllZERpZmYSOQoMbGF0ZW5jeV9pbmZvGAQgASgLMiMuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5MYXRlbmN5SW5mbxIcChRzZWxlY3Rpb25fc3RhcnRfbGluZRgFIAEoBBIaChJzZWxlY3Rpb25fZW5kX2xpbmUYBiABKAQSDQoFc2NvcmUYByABKAESOQoOY2hhcmFjdGVyX2RpZmYYCCABKAsyIS5leGEuZGlmZl9hY3Rpb25fcGIuQ2hhcmFjdGVyRGlmZhJHCg1maWx0ZXJfcmVhc29uGAogASgLMjAuZXhhLmNvZGVpdW1fY29tbW9uX3BiLlN1cGVyQ29tcGxldGVGaWx0ZXJSZWFzb24SQwoNanVtcF9wb3NpdGlvbhgOIAEoCzInLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Eb2N1bWVudFBvc2l0aW9uSACIAQESPAoMcmVxdWVzdF9pbmZvGAwgASgLMiYuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5UYWJSZXF1ZXN0SW5mbxI2CgtzdG9wX3JlYXNvbhgNIAEoDjIhLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5TdG9wUmVhc29uEhAKCHJhd190ZXh0GBAgASgJEiUKFGNsb3Nlc3RfY2hhbmdlZF9saW5lGAsgASgEQgIYAUgBiAEBEhMKC3JlcXVlc3RfdWlkGBEgASgJEhQKB29sZF9zdHIYEiABKAlIAogBAUIQCg5fanVtcF9wb3NpdGlvbkIXChVfY2xvc2VzdF9jaGFuZ2VkX2xpbmVCCgoIX29sZF9zdHJKBAgJEApKBAgPEBAiqgYKG0hhbmRsZVN0cmVhbWluZ1RhYlYyUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRIxCghkb2N1bWVudBgCIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Eb2N1bWVudBI8Cg5lZGl0b3Jfb3B0aW9ucxgDIAEoCzIkLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5FZGl0b3JPcHRpb25zEjoKC2RpYWdub3N0aWNzGAUgAygLMiUuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNvZGVEaWFnbm9zdGljEl0KH3N1cGVyY29tcGxldGVfdHJpZ2dlcl9jb25kaXRpb24YBiABKA4yNC5leGEuY29kZWl1bV9jb21tb25fcGIuU3VwZXJjb21wbGV0ZVRyaWdnZXJDb25kaXRpb24SFwoPY2xpcGJvYXJkX2VudHJ5GAcgASgJEk8KGGludGVsbGlzZW5zZV9zdWdnZXN0aW9ucxgIIAMoCzItLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5JbnRlbGxpc2Vuc2VTdWdnZXN0aW9uEjgKD290aGVyX2RvY3VtZW50cxgJIAMoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Eb2N1bWVudBI6ChRkZWVwX3dpa2lfY29udGV4dF92MhgMIAEoCzIcLmV4YS5jaGF0X3BiLkRlZXBXaWtpQ29udGV4dBJIChtwcmVkaWN0aXZlX3RyYWplY3Rvcnlfc3RlcHMYCyADKAsyIy5leGEuY29ydGV4X3BiLkNvcnRleFRyYWplY3RvcnlTdGVwEh0KFWRpc2FibGVfc3VwZXJjb21wbGV0ZRgNIAEoCBIYChBkaXNhYmxlX3RhYl9qdW1wGA4gASgIElAKGHN1cGVyY29tcGxldGVfYWdncmVzc2lvbhgPIAEoDjIuLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5TdXBlcmNvbXBsZXRlQWdncmVzc2lvbkoECAoQC1IRZGVlcF93aWtpX2NvbnRleHQioQkKHEhhbmRsZVN0cmVhbWluZ1RhYlYyUmVzcG9uc2USFQoNY29tcGxldGlvbl9pZBgBIAEoCRIRCglwcm9tcHRfaWQYAiABKAkSEwoLcmVxdWVzdF91aWQYAyABKAkSRwoNZmlsdGVyX3JlYXNvbhgEIAEoCzIwLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5TdXBlckNvbXBsZXRlRmlsdGVyUmVhc29uEjYKC3N0b3BfcmVhc29uGAUgASgOMiEuZXhhLmNvZGVpdW1fY29tbW9uX3BiLlN0b3BSZWFzb24SPAoMcmVxdWVzdF9pbmZvGAYgASgLMiYuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5UYWJSZXF1ZXN0SW5mbxJJCgRkaWZmGAcgASgLMjkuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5IYW5kbGVTdHJlYW1pbmdUYWJWMlJlc3BvbnNlLkRpZmZIABJQCgh0YWJfanVtcBgIIAEoCzI8LmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuSGFuZGxlU3RyZWFtaW5nVGFiVjJSZXNwb25zZS5UYWJKdW1wSAASSQoEbm9vcBgJIAEoCzI5LmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuSGFuZGxlU3RyZWFtaW5nVGFiVjJSZXNwb25zZS5Ob09wSAAamAQKBERpZmYSDAoEcGF0aBgBIAEoCRIcChRzZWxlY3Rpb25fc3RhcnRfbGluZRgCIAEoBBIaChJzZWxlY3Rpb25fZW5kX2xpbmUYAyABKAQSOQoOY2hhcmFjdGVyX2RpZmYYBCABKAsyIS5leGEuZGlmZl9hY3Rpb25fcGIuQ2hhcmFjdGVyRGlmZhJACg9jdXJzb3JfcG9zaXRpb24YBSABKAsyJy5leGEuY29kZWl1bV9jb21tb25fcGIuRG9jdW1lbnRQb3NpdGlvbhIPCgdvbGRfc3RyGAYgASgJEjUKDHVuaWZpZWRfZGlmZhgJIAEoCzIfLmV4YS5kaWZmX2FjdGlvbl9wYi5VbmlmaWVkRGlmZhJkChBzaWRlX2hpbnRfcmVuZGVyGAcgASgLMkguZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5IYW5kbGVTdHJlYW1pbmdUYWJWMlJlc3BvbnNlLkRpZmYuU2lkZUhpbnRSZW5kZXJIABJoChJpbmxpbmVfaGludF9yZW5kZXIYCCABKAsySi5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkhhbmRsZVN0cmVhbWluZ1RhYlYyUmVzcG9uc2UuRGlmZi5JbmxpbmVIaW50UmVuZGVySAAaEAoOU2lkZUhpbnRSZW5kZXIaEgoQSW5saW5lSGludFJlbmRlckINCgtyZW5kZXJfaW5mbxpqCgdUYWJKdW1wEgwKBHBhdGgYASABKAkSPgoNanVtcF9wb3NpdGlvbhgCIAEoCzInLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Eb2N1bWVudFBvc2l0aW9uEhEKCWlzX2ltcG9ydBgDIAEoCBoGCgROb09wQgwKCnN1Z2dlc3Rpb24iUAobVXBsb2FkUmVjZW50Q29tbWFuZHNSZXF1ZXN0EjEKCG1ldGFkYXRhGAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhIjQKHFVwbG9hZFJlY2VudENvbW1hbmRzUmVzcG9uc2USFAoMcmVxdWVzdF91aWRzGAEgAygJIiQKD011bHRpbGluZUNvbmZpZxIRCgl0aHJlc2hvbGQYASABKAIilwUKFUdldENvbXBsZXRpb25zUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRIxCghkb2N1bWVudBgCIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Eb2N1bWVudBI8Cg5lZGl0b3Jfb3B0aW9ucxgDIAEoCzIkLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5FZGl0b3JPcHRpb25zEjgKD290aGVyX2RvY3VtZW50cxgFIAMoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Eb2N1bWVudBJDChJtb2NrX3Jlc3BvbnNlX2RhdGEYBiABKAsyJy5leGEuY29kZWl1bV9jb21tb25fcGIuTW9ja1Jlc3BvbnNlRGF0YRIVCg1kaXNhYmxlX2NhY2hlGAggASgIEjwKDG9yYWNsZV9pdGVtcxgJIAMoCzImLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Db2RlQ29udGV4dEl0ZW0SEgoKbW9kZWxfbmFtZRgKIAEoCRI4ChJyZXF1ZXN0ZWRfbW9kZWxfaWQYDCABKA4yHC5leGEuY29kZWl1bV9jb21tb25fcGIuTW9kZWwSQQoQbXVsdGlsaW5lX2NvbmZpZxgNIAEoCzInLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuTXVsdGlsaW5lQ29uZmlnEkYKEWV4cGVyaW1lbnRfY29uZmlnGAcgASgLMicuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkV4cGVyaW1lbnRDb25maWdCAhgBSgQIBBAFSgQICxAMUhFhcGlfc2VydmVyX3BhcmFtc1IOc3VwZXJfY29tcGxldGUipwMKFkdldENvbXBsZXRpb25zUmVzcG9uc2USLAoFc3RhdGUYASABKAsyHS5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLlN0YXRlEkAKEGNvbXBsZXRpb25faXRlbXMYAiADKAsyJi5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkNvbXBsZXRpb25JdGVtEkkKGWZpbHRlcmVkX2NvbXBsZXRpb25faXRlbXMYByADKAsyJi5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkNvbXBsZXRpb25JdGVtEjkKDHJlcXVlc3RfaW5mbxgDIAEoCzIjLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuUmVxdWVzdEluZm8SOQoMbGF0ZW5jeV9pbmZvGAQgASgLMiMuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5MYXRlbmN5SW5mbxIRCgltb2RlbF90YWcYBSABKAkSEQoJcHJvbXB0X2lkGAYgASgJEjYKC2NvZGVfcmFuZ2VzGAggAygLMiEuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5Db2RlUmFuZ2UiYwoXQWNjZXB0Q29tcGxldGlvblJlcXVlc3QSMQoIbWV0YWRhdGEYASABKAsyHy5leGEuY29kZWl1bV9jb21tb25fcGIuTWV0YWRhdGESFQoNY29tcGxldGlvbl9pZBgCIAEoCSIaChhBY2NlcHRDb21wbGV0aW9uUmVzcG9uc2Ui6wQKIFByb3ZpZGVDb21wbGV0aW9uRmVlZGJhY2tSZXF1ZXN0EjEKCG1ldGFkYXRhGAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhEhMKC2lzX2FjY2VwdGVkGAIgASgIEhkKEWZlZWRiYWNrX2RlbGF5X21zGAMgASgDEhUKDWNvbXBsZXRpb25faWQYBCABKAkSEQoJcHJvbXB0X2lkGAUgASgJEjkKDGxhdGVuY3lfaW5mbxgGIAEoCzIjLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuTGF0ZW5jeUluZm8SNQoGc291cmNlGAcgASgOMiUuZXhhLmNvZGVpdW1fY29tbW9uX3BiLlByb3ZpZGVyU291cmNlEjEKCGRvY3VtZW50GAggASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLkRvY3VtZW50EhkKEXZpZXdfY29sdW1uc19vcGVuGAogASgEEh0KFWlzX2ludGVudGlvbmFsX3JlamVjdBgLIAEoCBISCgppc19wYXJ0aWFsGAwgASgIEiMKG21pZHN0cmVhbV9hdXRvY29tcGxldGVfdGV4dBgNIAEoCRIgChhoYXNfYWN0aXZlX3ZpbV9leHRlbnNpb24YDiABKAgSFwoPY29tcGxldGlvbl90ZXh0GA8gASgJEh8KF2lzX2NsaWVudF9maWx0ZXJfcmVqZWN0GBAgASgIEkYKEWV4cGVyaW1lbnRfY29uZmlnGAkgASgLMicuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkV4cGVyaW1lbnRDb25maWdCAhgBIiMKIVByb3ZpZGVDb21wbGV0aW9uRmVlZGJhY2tSZXNwb25zZSLPAQoQSGVhcnRiZWF0UmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRJAChVwcmV2aW91c19lcnJvcl90cmFjZXMYAiADKAsyIS5leGEuY29kZWl1bV9jb21tb25fcGIuRXJyb3JUcmFjZRJGChFleHBlcmltZW50X2NvbmZpZxgDIAEoCzInLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5FeHBlcmltZW50Q29uZmlnQgIYASJRChFIZWFydGJlYXRSZXNwb25zZRI8ChhsYXN0X2V4dGVuc2lvbl9oZWFydGJlYXQYASABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIkUKEEdldFN0YXR1c1JlcXVlc3QSMQoIbWV0YWRhdGEYASABKAsyHy5leGEuY29kZWl1bV9jb21tb25fcGIuTWV0YWRhdGEiYQoRR2V0U3RhdHVzUmVzcG9uc2USMAoGc3RhdHVzGAEgASgLMiAuZXhhLmNvZGVpdW1fY29tbW9uX3BiLklkZVN0YXR1cxIaChJzaG93X3Jldmlld19wcm9tcHQYAiABKAgiYAodR2V0Q2FzY2FkZU1vZGVsQ29uZmlnc1JlcXVlc3QSMQoIbWV0YWRhdGEYASABKAsyHy5leGEuY29kZWl1bV9jb21tb25fcGIuTWV0YWRhdGFKBAgCEANSBmZpbHRlciKtAgoeR2V0Q2FzY2FkZU1vZGVsQ29uZmlnc1Jlc3BvbnNlEkYKFGNsaWVudF9tb2RlbF9jb25maWdzGAEgAygLMiguZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNsaWVudE1vZGVsQ29uZmlnEkIKEmNsaWVudF9tb2RlbF9zb3J0cxgCIAMoCzImLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5DbGllbnRNb2RlbFNvcnQSXQodZGVmYXVsdF9vdmVycmlkZV9tb2RlbF9jb25maWcYAyABKAsyMS5leGEuY29kZWl1bV9jb21tb25fcGIuRGVmYXVsdE92ZXJyaWRlTW9kZWxDb25maWdIAIgBAUIgCh5fZGVmYXVsdF9vdmVycmlkZV9tb2RlbF9jb25maWciugIKGlRlYW1Pcmdhbml6YXRpb25hbENvbnRyb2xzEg8KB3RlYW1faWQYASABKAkSIAoUY2FzY2FkZV9tb2RlbF9sYWJlbHMYAiADKAlCAhgBEiAKFGNvbW1hbmRfbW9kZWxfbGFiZWxzGAMgAygJQgIYARIuCgpjcmVhdGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIeChZleHRlbnNpb25fbW9kZWxfbGFiZWxzGAYgAygJEkEKFWFsbG93ZWRfYXBpX3Byb3ZpZGVycxgIIAMoDjIiLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5BUElQcm92aWRlckoECAcQCCJZCiRHZXRUZWFtT3JnYW5pemF0aW9uYWxDb250cm9sc1JlcXVlc3QSMQoIbWV0YWRhdGEYASABKAsyHy5leGEuY29kZWl1bV9jb21tb25fcGIuTWV0YWRhdGEibAolR2V0VGVhbU9yZ2FuaXphdGlvbmFsQ29udHJvbHNSZXNwb25zZRJDCghjb250cm9scxgBIAEoCzIxLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5UZWFtT3JnYW5pemF0aW9uYWxDb250cm9scyJSCh1HZXRDb21tYW5kTW9kZWxDb25maWdzUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YSJoCh5HZXRDb21tYW5kTW9kZWxDb25maWdzUmVzcG9uc2USRgoUY2xpZW50X21vZGVsX2NvbmZpZ3MYASADKAsyKC5leGEuY29kZWl1bV9jb21tb25fcGIuQ2xpZW50TW9kZWxDb25maWciFQoTR2V0UHJvY2Vzc2VzUmVxdWVzdCJQChhHZXRFeHRlcm5hbE1vZGVsUmVzcG9uc2USNAoGbW9kZWxzGAEgAygLMiQuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkV4dGVybmFsTW9kZWwiKgoXR2V0RXh0ZXJuYWxNb2RlbFJlcXVlc3QSDwoHYXBpX2tleRgBIAEoCSJeChRHZXRQcm9jZXNzZXNSZXNwb25zZRIQCghsc3BfcG9ydBgBIAEoDRIYChBjaGF0X2NsaWVudF9wb3J0GAMgASgNSgQIAhADUhRjaGF0X3dlYl9zZXJ2ZXJfcG9ydCIVChNHZXRBdXRoVG9rZW5SZXF1ZXN0IjgKFEdldEF1dGhUb2tlblJlc3BvbnNlEhIKCmF1dGhfdG9rZW4YASABKAkSDAoEdXVpZBgCIAEoCSJ0ChJSZWNvcmRFdmVudFJlcXVlc3QSMQoIbWV0YWRhdGEYASABKAsyHy5leGEuY29kZWl1bV9jb21tb25fcGIuTWV0YWRhdGESKwoFZXZlbnQYAiABKAsyHC5leGEuY29kZWl1bV9jb21tb25fcGIuRXZlbnQiFQoTUmVjb3JkRXZlbnRSZXNwb25zZSJsChpSZWNvcmRTeXN0ZW1NZXRyaWNzUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRIbChNzeXN0ZW1fbWV0cmljc19qc29uGAIgASgJIh0KG1JlY29yZFN5c3RlbU1ldHJpY3NSZXNwb25zZSJdChRDYW5jZWxSZXF1ZXN0UmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRISCgpyZXF1ZXN0X2lkGAIgASgEIhcKFUNhbmNlbFJlcXVlc3RSZXNwb25zZSKfAQoYRWRpdENvbmZpZ3VyYXRpb25SZXF1ZXN0EjEKCG1ldGFkYXRhGAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhElAKGGNvbXBsZXRpb25fY29uZmlndXJhdGlvbhgCIAEoCzIuLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Db21wbGV0aW9uQ29uZmlndXJhdGlvbiJtChlFZGl0Q29uZmlndXJhdGlvblJlc3BvbnNlElAKGGNvbXBsZXRpb25fY29uZmlndXJhdGlvbhgBIAEoCzIuLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Db21wbGV0aW9uQ29uZmlndXJhdGlvbiJgChdHZXRUcmFuc2NyaXB0aW9uUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRISCgphdWRpb19kYXRhGAIgASgMIjQKGEdldFRyYW5zY3JpcHRpb25SZXNwb25zZRIYChB0cmFuc2NyaWJlZF90ZXh0GAEgASgJInIKJ1ZhbGlkYXRlV2luZHN1cmZKU0FwcFByb2plY3ROYW1lUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRIUCgxwcm9qZWN0X25hbWUYAiABKAkilgEKKFZhbGlkYXRlV2luZHN1cmZKU0FwcFByb2plY3ROYW1lUmVzcG9uc2USNwoGc3RhdHVzGAEgASgOMicuZXhhLmNvZGVpdW1fY29tbW9uX3BiLlZhbGlkYXRpb25TdGF0dXMSFgoOaW52YWxpZF9yZWFzb24YAyABKAkSGQoRYWx0ZXJuYXRpdmVfbmFtZXMYAiADKAkihQEKI1NhdmVXaW5kc3VyZkpTQXBwUHJvamVjdE5hbWVSZXF1ZXN0EjEKCG1ldGFkYXRhGAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhEhUKDXdvcmtzcGFjZV91cmkYAiABKAkSFAoMcHJvamVjdF9uYW1lGAMgASgJInAKJFNhdmVXaW5kc3VyZkpTQXBwUHJvamVjdE5hbWVSZXNwb25zZRJIChFkZXBsb3ltZW50X2NvbmZpZxgBIAEoCzItLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5XZWJBcHBEZXBsb3ltZW50Q29uZmlnIjAKE1JlZ2lzdGVyVXNlclJlcXVlc3QSGQoRZmlyZWJhc2VfaWRfdG9rZW4YASABKAkiTQoUUmVnaXN0ZXJVc2VyUmVzcG9uc2USDwoHYXBpX2tleRgBIAEoCRIMCgRuYW1lGAIgASgJEhYKDmFwaV9zZXJ2ZXJfdXJsGAMgASgJIicKFE1pZ3JhdGVBcGlLZXlSZXF1ZXN0Eg8KB2FwaV9rZXkYASABKAkiLgoVTWlncmF0ZUFwaUtleVJlc3BvbnNlEhUKDXNlc3Npb25fdG9rZW4YASABKAkiHwodV2VsbFN1cHBvcnRlZExhbmd1YWdlc1JlcXVlc3QiVAoeV2VsbFN1cHBvcnRlZExhbmd1YWdlc1Jlc3BvbnNlEjIKCWxhbmd1YWdlcxgBIAMoDjIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5MYW5ndWFnZSIVChNQcm9ncmVzc0JhcnNSZXF1ZXN0IscBChRQcm9ncmVzc0JhcnNSZXNwb25zZRJVCg1wcm9ncmVzc19iYXJzGAEgAygLMj4uZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5Qcm9ncmVzc0JhcnNSZXNwb25zZS5Qcm9ncmVzc0JhcnNFbnRyeRpYChFQcm9ncmVzc0JhcnNFbnRyeRILCgNrZXkYASABKAkSMgoFdmFsdWUYAiABKAsyIy5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLlByb2dyZXNzQmFyOgI4ASJiChpSZWNvcmRTZWFyY2hEb2NPcGVuUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRIRCglyZXN1bHRfaWQYAiABKAkiHQobUmVjb3JkU2VhcmNoRG9jT3BlblJlc3BvbnNlIqIBCh5SZWNvcmRTZWFyY2hSZXN1bHRzVmlld1JlcXVlc3QSMQoIbWV0YWRhdGEYASABKAsyHy5leGEuY29kZWl1bV9jb21tb25fcGIuTWV0YWRhdGESGQoRY2x1c3Rlcl9zZWFyY2hfaWQYAiABKAkSFwoPZXhhY3Rfc2VhcmNoX2lkGAMgASgJEhkKEXNlYXJjaF9yZXN1bHRfaWRzGAQgAygJIiEKH1JlY29yZFNlYXJjaFJlc3VsdHNWaWV3UmVzcG9uc2UiFAoSQ29udGV4dEluZm9SZXF1ZXN0IkwKE0NvbnRleHRJbmZvUmVzcG9uc2USGQoRYWN0aXZlX3dvcmtzcGFjZXMYASADKAkSGgoSaWdub3JlZF93b3Jrc3BhY2VzGAIgAygJIpMECiFSZWZyZXNoQ29udGV4dEZvcklkZUFjdGlvblJlcXVlc3QSMQoIbWV0YWRhdGEYCCABKAsyHy5leGEuY29kZWl1bV9jb21tb25fcGIuTWV0YWRhdGESOAoPYWN0aXZlX2RvY3VtZW50GAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLkRvY3VtZW50EjUKKW9wZW5fZG9jdW1lbnRfZmlsZXBhdGhzX21pZ3JhdGVfbWVfdG9fdXJpGAIgAygJQgIYARIaChJvcGVuX2RvY3VtZW50X3VyaXMYBiADKAkSOAoPb3RoZXJfZG9jdW1lbnRzGAUgAygLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLkRvY3VtZW50Ei0KIXdvcmtzcGFjZV9wYXRoc19taWdyYXRlX21lX3RvX3VyaRgDIAMoCUICGAESFgoOd29ya3NwYWNlX3VyaXMYByADKAkSEAoIYmxvY2tpbmcYBCABKAgSRgoRZXhwZXJpbWVudF9jb25maWcYCSABKAsyJy5leGEuY29kZWl1bV9jb21tb25fcGIuRXhwZXJpbWVudENvbmZpZ0ICGAESNQoKaWRlX2FjdGlvbhgKIAEoDjIhLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuSWRlQWN0aW9uEhwKFHJlY2VudGx5X29wZW5lZF91cmlzGAsgAygJIiQKIlJlZnJlc2hDb250ZXh0Rm9ySWRlQWN0aW9uUmVzcG9uc2UirwEKHUdldE1hdGNoaW5nQ29kZUNvbnRleHRSZXF1ZXN0Eg0KBXF1ZXJ5GAEgASgJEhMKC2Z1enp5X21hdGNoGAIgASgIEj0KDWFsbG93ZWRfdHlwZXMYAyADKA4yJi5leGEuY29kZWl1bV9jb21tb25fcGIuQ29kZUNvbnRleHRUeXBlEhEKCW1heF9pdGVtcxgEIAEoBRIYChBjYXNlX2luc2Vuc2l0aXZlGAUgASgIIl8KHkdldE1hdGNoaW5nQ29kZUNvbnRleHRSZXNwb25zZRI9Cg1tYXRjaGVkX2l0ZW1zGAEgAygLMiYuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNvZGVDb250ZXh0SXRlbSKkAQoeR2V0TWF0Y2hpbmdJbmRleGVkUmVwb3NSZXF1ZXN0EjEKCG1ldGFkYXRhGAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhEg0KBXF1ZXJ5GAIgASgJEhMKC2Z1enp5X21hdGNoGAMgASgIEhEKCW1heF9pdGVtcxgEIAEoBRIYChBjYXNlX2luc2Vuc2l0aXZlGAUgASgIImMKH0dldE1hdGNoaW5nSW5kZXhlZFJlcG9zUmVzcG9uc2USQAoUbWF0Y2hlZF9yZXBvc2l0b3JpZXMYASADKAsyIi5leGEuY29kZWl1bV9jb21tb25fcGIuR2l0UmVwb0luZm8iZgoWR2V0Q2hhdE1lc3NhZ2VSZXNwb25zZRIuCgxjaGF0X21lc3NhZ2UYASABKAsyGC5leGEuY2hhdF9wYi5DaGF0TWVzc2FnZRIcChRudW1fdG9rZW5zX2luX2ludGVudBgCIAEoDSKOAQoZUmF3R2V0Q2hhdE1lc3NhZ2VSZXNwb25zZRIyCg1kZWx0YV9tZXNzYWdlGAEgASgLMhsuZXhhLmNoYXRfcGIuUmF3Q2hhdE1lc3NhZ2USPQoQZGVsdGFfdG9vbF9jYWxscxgCIAMoCzIjLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5DaGF0VG9vbENhbGwi4QEKE0dldERlZXBXaWtpUmVzcG9uc2USQwoIcmVzcG9uc2UYASABKAsyMS5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLlJhd0dldENoYXRNZXNzYWdlUmVzcG9uc2USEgoKcmVxdWVzdF9pZBgCIAEoCRI8Cgptb2RlbF90eXBlGAMgASgOMiguZXhhLmNvZGVpdW1fY29tbW9uX3BiLkRlZXBXaWtpTW9kZWxUeXBlEhoKEmZvbGxvd3VwX3F1ZXN0aW9ucxgEIAEoCRIXCg9pc19hcnRpY2xlX2RvbmUYBSABKAgidQogQ2hlY2tVc2VyTWVzc2FnZVJhdGVMaW1pdFJlcXVlc3QSMQoIbWV0YWRhdGEYASABKAsyHy5leGEuY29kZWl1bV9jb21tb25fcGIuTWV0YWRhdGESEQoJbW9kZWxfdWlkGAMgASgJSgQIAhADUgVtb2RlbCKXAQohQ2hlY2tVc2VyTWVzc2FnZVJhdGVMaW1pdFJlc3BvbnNlEhQKDGhhc19jYXBhY2l0eRgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEhoKEm1lc3NhZ2VzX3JlbWFpbmluZxgDIAEoBRIUCgxtYXhfbWVzc2FnZXMYBCABKAUSGQoRcmVzZXRzX2luX3NlY29uZHMYBSABKAMibQobR2V0TWVzc2FnZVRva2VuQ291bnRSZXF1ZXN0EhQKDGNoYXRfbWVzc2FnZRgBIAEoCRI4ChJyZXF1ZXN0ZWRfbW9kZWxfaWQYAiABKA4yHC5leGEuY29kZWl1bV9jb21tb25fcGIuTW9kZWwiMwocR2V0TWVzc2FnZVRva2VuQ291bnRSZXNwb25zZRITCgt0b2tlbl9jb3VudBgBIAEoDSLSAQoZUmVjb3JkQ2hhdEZlZWRiYWNrUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRISCgptZXNzYWdlX2lkGAIgASgJEi8KCGZlZWRiYWNrGAMgASgOMh0uZXhhLmNoYXRfcGIuQ2hhdEZlZWRiYWNrVHlwZRIOCgZyZWFzb24YBCABKAkSLQoJdGltZXN0YW1wGAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCIcChpSZWNvcmRDaGF0RmVlZGJhY2tSZXNwb25zZSK6AQodUmVjb3JkQ2hhdFBhbmVsU2Vzc2lvblJlcXVlc3QSMQoIbWV0YWRhdGEYASABKAsyHy5leGEuY29kZWl1bV9jb21tb25fcGIuTWV0YWRhdGESMwoPc3RhcnRfdGltZXN0YW1wGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIxCg1lbmRfdGltZXN0YW1wGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCIgCh5SZWNvcmRDaGF0UGFuZWxTZXNzaW9uUmVzcG9uc2UibQoYQ2hlY2tDaGF0Q2FwYWNpdHlSZXF1ZXN0EjEKCG1ldGFkYXRhGAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhEhEKCW1vZGVsX3VpZBgDIAEoCUoECAIQA1IFbW9kZWwiWwoZQ2hlY2tDaGF0Q2FwYWNpdHlSZXNwb25zZRIUCgxoYXNfY2FwYWNpdHkYASABKAgSDwoHbWVzc2FnZRgCIAEoCRIXCg9hY3RpdmVfc2Vzc2lvbnMYAyABKAUizgEKHkdldFVzZXJBbmFseXRpY3NTdW1tYXJ5UmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRIRCgl0aW1lX3pvbmUYAiABKAkSMwoPc3RhcnRfdGltZXN0YW1wGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIxCg1lbmRfdGltZXN0YW1wGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCLQAgofR2V0VXNlckFuYWx5dGljc1N1bW1hcnlSZXNwb25zZRJKChVjb21wbGV0aW9uX3N0YXRpc3RpY3MYASABKAsyKy5leGEuY29kZWl1bV9jb21tb25fcGIuQ29tcGxldGlvblN0YXRpc3RpY3MSSAoSY29tcGxldGlvbnNfYnlfZGF5GAIgAygLMiwuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNvbXBsZXRpb25CeURhdGVFbnRyeRJRChdjb21wbGV0aW9uc19ieV9sYW5ndWFnZRgDIAMoCzIwLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Db21wbGV0aW9uQnlMYW5ndWFnZUVudHJ5EkQKDmNoYXRzX2J5X21vZGVsGAQgAygLMiwuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNoYXRTdGF0c0J5TW9kZWxFbnRyeSJJChRHZXRVc2VyU3RhdHVzUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YSKDAQoVR2V0VXNlclN0YXR1c1Jlc3BvbnNlEjYKC3VzZXJfc3RhdHVzGAEgASgLMiEuZXhhLmNvZGVpdW1fY29tbW9uX3BiLlVzZXJTdGF0dXMSMgoJcGxhbl9pbmZvGAIgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLlBsYW5JbmZvIjsKIkdldFByaW1hcnlBcGlLZXlGb3JEZXZzT25seVJlcXVlc3QSFQoNc2Vzc2lvbl90b2tlbhgBIAEoCSI2CiNHZXRQcmltYXJ5QXBpS2V5Rm9yRGV2c09ubHlSZXNwb25zZRIPCgdhcGlfa2V5GAEgASgJIigKFUdldFByb2ZpbGVEYXRhUmVxdWVzdBIPCgdhcGlfa2V5GAEgASgJIjUKFkdldFByb2ZpbGVEYXRhUmVzcG9uc2USGwoTcHJvZmlsZV9waWN0dXJlX3VybBgBIAEoCSKKAgoSQ2FwdHVyZUNvZGVSZXF1ZXN0EjEKCG1ldGFkYXRhGAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhEhEKCXByb21wdF9pZBgCIAEoCRIMCgRjb2RlGAMgASgJEhMKC3RpbWVvdXRfc2VjGAQgASgEEhcKD2NvbXBsZXRpb25fdGV4dBgFIAEoCRI+Cg9wcm92aWRlcl9zb3VyY2UYBiABKA4yJS5leGEuY29kZWl1bV9jb21tb25fcGIuUHJvdmlkZXJTb3VyY2USFQoNY29tcGxldGlvbl9pZBgHIAEoCRIbChNkaWFnbm9zdGljX3NldmVyaXR5GAggASgJIhUKE0NhcHR1cmVDb2RlUmVzcG9uc2UimQEKEkNhcHR1cmVGaWxlUmVxdWVzdBI7CgRkYXRhGAEgASgLMi0uZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNhcHR1cmVGaWxlUmVxdWVzdERhdGESRgoRZXhwZXJpbWVudF9jb25maWcYAiABKAsyJy5leGEuY29kZWl1bV9jb21tb25fcGIuRXhwZXJpbWVudENvbmZpZ0ICGAEiFQoTQ2FwdHVyZUZpbGVSZXNwb25zZSImChNHZXRDaGFuZ2Vsb2dSZXF1ZXN0Eg8KB3ZlcnNpb24YASABKAkiJAoUR2V0Q2hhbmdlbG9nUmVzcG9uc2USDAoEcGF0aBgBIAEoCSJIChNHZXRGdW5jdGlvbnNSZXF1ZXN0EjEKCGRvY3VtZW50GAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLkRvY3VtZW50IlYKFEdldEZ1bmN0aW9uc1Jlc3BvbnNlEj4KEWZ1bmN0aW9uX2NhcHR1cmVzGAEgAygLMiMuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkZ1bmN0aW9uSW5mbyJJChRHZXRDbGFzc0luZm9zUmVxdWVzdBIxCghkb2N1bWVudBgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Eb2N1bWVudCJRChVHZXRDbGFzc0luZm9zUmVzcG9uc2USOAoOY2xhc3NfY2FwdHVyZXMYASADKAsyIC5leGEuY29kZWl1bV9jb21tb25fcGIuQ2xhc3NJbmZvIg0KC0V4aXRSZXF1ZXN0Ig4KDEV4aXRSZXNwb25zZSJNCgVTdGF0ZRIzCgVzdGF0ZRgBIAEoDjIkLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuQ29kZWl1bVN0YXRlEg8KB21lc3NhZ2UYAiABKAki8gEKC1JlcXVlc3RJbmZvEhEKCXByb21wdF9pZBgBIAEoCRJGChNjb21wbGV0aW9uc19yZXF1ZXN0GAQgASgLMikuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNvbXBsZXRpb25zUmVxdWVzdBIpCiF0eXBpbmdfYXNfc3VnZ2VzdGVkX3Byb21wdF9zdWZmaXgYBSABKAkSPgoPY29tcGxldGlvbl90eXBlGAYgASgOMiUuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNvbXBsZXRpb25UeXBlSgQIAhADSgQIAxAEUgZwcm9tcHRSCWxpbmVfdHlwZSLfAQoLTGF0ZW5jeUluZm8SGQoRY2xpZW50X2xhdGVuY3lfbXMYASABKAQSGQoRcHJvbXB0X2xhdGVuY3lfbXMYAiABKAQSSQoWcHJvbXB0X3N0YWdlX2xhdGVuY2llcxgDIAMoCzIpLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Qcm9tcHRTdGFnZUxhdGVuY3kSGwoTZGVib3VuY2VfbGF0ZW5jeV9tcxgEIAEoBBIWCg5ycGNfbGF0ZW5jeV9tcxgFIAEoBBIaChJuZXR3b3JrX2xhdGVuY3lfbXMYBiABKAQiMwoGU3VmZml4EgwKBHRleHQYASABKAkSGwoTZGVsdGFfY3Vyc29yX29mZnNldBgCIAEoAyKGAQoOQ29tcGxldGlvblBhcnQSDAoEdGV4dBgBIAEoCRIOCgZvZmZzZXQYAiABKAQSOAoEdHlwZRgDIAEoDjIqLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuQ29tcGxldGlvblBhcnRUeXBlEg4KBnByZWZpeBgEIAEoCRIMCgRsaW5lGAUgASgEIuQCCg5Db21wbGV0aW9uSXRlbRI1Cgpjb21wbGV0aW9uGAEgASgLMiEuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNvbXBsZXRpb24SLgoGc3VmZml4GAUgASgLMh4uZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5TdWZmaXgSKwoFcmFuZ2UYAiABKAsyHC5leGEuY29kZWl1bV9jb21tb25fcGIuUmFuZ2USNwoGc291cmNlGAMgASgOMicuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNvbXBsZXRpb25Tb3VyY2USQAoQY29tcGxldGlvbl9wYXJ0cxgIIAMoCzImLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuQ29tcGxldGlvblBhcnRKBAgEEAVKBAgGEAdKBAgHEAhSCmxhdGVuY3lfbXNSEm5ldHdvcmtfbGF0ZW5jeV9tc1IRY2xpZW50X2xhdGVuY3lfbXMiyQIKDFNlYXJjaFJlc3VsdBIUCgxlbWJlZGRpbmdfaWQYASABKAMSKwofYWJzb2x1dGVfcGF0aF9taWdyYXRlX21lX3RvX3VyaRgCIAEoCUICGAESFAoMYWJzb2x1dGVfdXJpGAcgASgJEj0KD3dvcmtzcGFjZV9wYXRocxgDIAMoCzIkLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Xb3Jrc3BhY2VQYXRoEkQKEmVtYmVkZGluZ19tZXRhZGF0YRgEIAEoCzIoLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5FbWJlZGRpbmdNZXRhZGF0YRIYChBzaW1pbGFyaXR5X3Njb3JlGAUgASgCEkEKEWNvZGVfY29udGV4dF9pdGVtGAYgASgLMiYuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNvZGVDb250ZXh0SXRlbSLKAQoTU2VhcmNoUmVzdWx0Q2x1c3RlchI8Cg5zZWFyY2hfcmVzdWx0cxgBIAMoCzIkLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuU2VhcmNoUmVzdWx0EhsKE3JlcHJlc2VudGF0aXZlX3BhdGgYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSHQoVbWVhbl9zaW1pbGFyaXR5X3Njb3JlGAQgASgCEhEKCXNlYXJjaF9pZBgFIAEoCRIRCglyZXN1bHRfaWQYBiABKAkicAoLUHJvZ3Jlc3NCYXISEAoIcHJvZ3Jlc3MYASABKAISDAoEdGV4dBgCIAEoCRIOCgZoaWRkZW4YAyABKAgSMQoOcmVtYWluaW5nX3RpbWUYBCABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24ifwoQRXhhY3RTZWFyY2hRdWVyeRIPCgdwYXR0ZXJuGAEgASgJEhQKDGlzX211bHRpbGluZRgCIAEoCBISCgppc19yZWdfZXhwGAMgASgIEhkKEWlzX2Nhc2Vfc2Vuc2l0aXZlGAQgASgIEhUKDWlzX3dvcmRfbWF0Y2gYBSABKAgilAMKEkV4YWN0U2VhcmNoT3B0aW9ucxIOCgZmb2xkZXIYASABKAkSEAoIaW5jbHVkZXMYAiADKAkSEAoIZXhjbHVkZXMYAyADKAkSHgoWZGlzcmVnYXJkX2lnbm9yZV9maWxlcxgEIAEoCBIXCg9mb2xsb3dfc3ltbGlua3MYBSABKAgSJQodZGlzcmVnYXJkX2dsb2JhbF9pZ25vcmVfZmlsZXMYBiABKAgSJQodZGlzcmVnYXJkX3BhcmVudF9pZ25vcmVfZmlsZXMYByABKAgSFQoNbWF4X2ZpbGVfc2l6ZRgIIAEoDRIQCghlbmNvZGluZxgJIAEoCRIcChRiZWZvcmVfY29udGV4dF9saW5lcxgKIAEoDRIbChNhZnRlcl9jb250ZXh0X2xpbmVzGAsgASgNEhMKC21heF9yZXN1bHRzGAwgASgNEkoKD3ByZXZpZXdfb3B0aW9ucxgNIAEoCzIxLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuRXhhY3RTZWFyY2hQcmV2aWV3T3B0aW9ucyJIChlFeGFjdFNlYXJjaFByZXZpZXdPcHRpb25zEhMKC21hdGNoX2xpbmVzGAEgASgNEhYKDmNoYXJzX3Blcl9saW5lGAIgASgNIsQBChFFeGFjdFNlYXJjaFJlc3VsdBIVCg1hYnNvbHV0ZV9wYXRoGAEgASgJEhUKDXJlbGF0aXZlX3BhdGgYBCABKAkSLAoGcmFuZ2VzGAIgAygLMhwuZXhhLmNvZGVpdW1fY29tbW9uX3BiLlJhbmdlEkAKB3ByZXZpZXcYAyABKAsyLy5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkV4YWN0U2VhcmNoTWF0Y2hQcmV2aWV3EhEKCXJlc3VsdF9pZBgFIAEoCSJVChdFeGFjdFNlYXJjaE1hdGNoUHJldmlldxIMCgR0ZXh0GAEgASgJEiwKBnJhbmdlcxgCIAMoCzIcLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5SYW5nZSIvChpBZGRUcmFja2VkV29ya3NwYWNlUmVxdWVzdBIRCgl3b3Jrc3BhY2UYASABKAkiHQobQWRkVHJhY2tlZFdvcmtzcGFjZVJlc3BvbnNlIjIKHVJlbW92ZVRyYWNrZWRXb3Jrc3BhY2VSZXF1ZXN0EhEKCXdvcmtzcGFjZRgBIAEoCSIgCh5SZW1vdmVUcmFja2VkV29ya3NwYWNlUmVzcG9uc2UiHgocR2V0V29ya3NwYWNlRWRpdFN0YXRlUmVxdWVzdCKFAQoSV29ya3NwYWNlRWRpdFN0YXRlEhEKCXJlcG9fcm9vdBgBIAEoCRIVCg1udW1fYWRkaXRpb25zGAIgASgEEhUKDW51bV9kZWxldGlvbnMYAyABKAQSLgoFZWRpdHMYBCADKAsyHy5leGEuY29ydGV4X3BiLkFjdGlvblJlc3VsdEVkaXQiZAodR2V0V29ya3NwYWNlRWRpdFN0YXRlUmVzcG9uc2USQwoPd29ya3NwYWNlX2VkaXRzGAEgAygLMiouZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5Xb3Jrc3BhY2VFZGl0U3RhdGUiNQoKQnJhbmNoSW5mbxIMCgRuYW1lGAEgASgJEhkKEWlzX2N1cnJlbnRfYnJhbmNoGAIgASgIIqsBCghSZXBvSW5mbxIMCgRuYW1lGAEgASgJEhEKCXJlcG9fcGF0aBgCIAEoCRI0CghicmFuY2hlcxgDIAMoCzIiLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuQnJhbmNoSW5mbxIwCghzY21fdHlwZRgEIAEoDjIeLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5TY21UeXBlEhYKDmZ1bGxfcmVwb19uYW1lGAUgASgJIkgKE0dldFJlcG9JbmZvc1JlcXVlc3QSMQoIbWV0YWRhdGEYASABKAsyHy5leGEuY29kZWl1bV9jb21tb25fcGIuTWV0YWRhdGEiRwoUR2V0UmVwb0luZm9zUmVzcG9uc2USLwoFcmVwb3MYASADKAsyIC5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLlJlcG9JbmZvIhoKGEdldFdvcmtzcGFjZUluZm9zUmVxdWVzdCI8Cg1Xb3Jrc3BhY2VJbmZvEhUKDXdvcmtzcGFjZV91cmkYASABKAkSFAoMZ2l0X3Jvb3RfdXJpGAIgASgJIogBChlHZXRXb3Jrc3BhY2VJbmZvc1Jlc3BvbnNlEhUKDWhvbWVfZGlyX3BhdGgYASABKAkSPgoPd29ya3NwYWNlX2luZm9zGAIgAygLMiUuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5Xb3Jrc3BhY2VJbmZvEhQKDGhvbWVfZGlyX3VyaRgDIAEoCSKcAQocR2VuZXJhdGVDb21taXRNZXNzYWdlUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRIyCglwbGFuX2luZm8YAiABKAsyHy5leGEuY29kZWl1bV9jb21tb25fcGIuUGxhbkluZm8SFQoNcmVwb19yb290X3VyaRgDIAEoCSKyAQoRQ29tbWl0TWVzc2FnZURhdGESEQoJcmVwb19yb290GAEgASgJEh4KFmNvbW1pdF9tZXNzYWdlX3N1bW1hcnkYAiABKAkSIgoaY29tbWl0X21lc3NhZ2VfZGVzY3JpcHRpb24YAyABKAkSKwofY2hhbmdlZF9maWxlc19taWdyYXRlX21lX3RvX3VyaRgEIAMoCUICGAESGQoRY2hhbmdlZF9maWxlX3VyaXMYBSADKAkiYwodR2VuZXJhdGVDb21taXRNZXNzYWdlUmVzcG9uc2USQgoPY29tbWl0X21lc3NhZ2VzGAEgAygLMikuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5Db21taXRNZXNzYWdlRGF0YSKlAgoeUmVjb3JkQ29tbWl0TWVzc2FnZVNhdmVSZXF1ZXN0EjEKCG1ldGFkYXRhGAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhEhEKCXJlcG9fcm9vdBgCIAEoCRITCgticmFuY2hfbmFtZRgDIAEoCRITCgtjb21taXRfaGFzaBgEIAEoCRIWCg5jb21taXRfbWVzc2FnZRgFIAEoCRI0ChBjb21taXRfdGltZXN0YW1wGAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIaChJwYXJlbnRfY29tbWl0X2hhc2gYByABKAkSEwoLYXV0aG9yX25hbWUYCCABKAkSFAoMYXV0aG9yX2VtYWlsGAkgASgJIiEKH1JlY29yZENvbW1pdE1lc3NhZ2VTYXZlUmVzcG9uc2UiZgoSVmliZUFuZFJlcGxhY2VGaWxlEhAKCGZpbGVfdXJpGAEgASgJEhgKEG9yaWdpbmFsX2NvbnRlbnQYAiABKAkSDwoHbWF0Y2hlcxgDIAMoCRITCgttYXRjaF9saW5lcxgEIAMoBSL/AgomR2VuZXJhdGVWaWJlQW5kUmVwbGFjZVN0cmVhbWluZ1JlcXVlc3QSMQoIbWV0YWRhdGEYASABKAsyHy5leGEuY29kZWl1bV9jb21tb25fcGIuTWV0YWRhdGESMgoJcGxhbl9pbmZvGAIgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLlBsYW5JbmZvEg4KBnByb21wdBgDIAEoCRIUCgxzZWFyY2hfcXVlcnkYBCABKAkSGwoTc2VhcmNoX29wdGlvbnNfdGV4dBgFIAEoCRI5CgVmaWxlcxgGIAMoCzIqLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuVmliZUFuZFJlcGxhY2VGaWxlEhIKCmNhc2NhZGVfaWQYByABKAkSJQoYbW9kZWxfdWlkX2Zvcl9nZW5lcmF0aW9uGAkgASgJSACIAQFCGwoZX21vZGVsX3VpZF9mb3JfZ2VuZXJhdGlvbkoECAgQCVISbW9kZWxGb3JHZW5lcmF0aW9uIsoBChJWaWJlQW5kUmVwbGFjZURhdGESEgoKcmVxdWVzdF9pZBgBIAEoCRIOCgZvdXRwdXQYAiABKAkSNwoKdG9vbF9jYWxscxgDIAMoCzIjLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5DaGF0VG9vbENhbGwSMAoFZXJyb3IYBCABKAsyIS5leGEuY29kZWl1bV9jb21tb25fcGIuR1JQQ1N0YXR1cxIRCglmaWxlX3BhdGgYBSABKAkSEgoKaXNfc2tpcHBlZBgGIAEoCCJ0CidHZW5lcmF0ZVZpYmVBbmRSZXBsYWNlU3RyZWFtaW5nUmVzcG9uc2USSQoVdmliZV9hbmRfcmVwbGFjZV9kYXRhGAEgASgLMiouZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5WaWJlQW5kUmVwbGFjZURhdGEiGAoWR2V0VXNlclNldHRpbmdzUmVxdWVzdCJVChdHZXRVc2VyU2V0dGluZ3NSZXNwb25zZRI6Cg11c2VyX3NldHRpbmdzGAEgASgLMiMuZXhhLmNvZGVpdW1fY29tbW9uX3BiLlVzZXJTZXR0aW5ncyJUChZTZXRVc2VyU2V0dGluZ3NSZXF1ZXN0EjoKDXVzZXJfc2V0dGluZ3MYASABKAsyIy5leGEuY29kZWl1bV9jb21tb25fcGIuVXNlclNldHRpbmdzIlUKF1NldFVzZXJTZXR0aW5nc1Jlc3BvbnNlEjoKDXVzZXJfc2V0dGluZ3MYASABKAsyIy5leGEuY29kZWl1bV9jb21tb25fcGIuVXNlclNldHRpbmdzIh0KG0dldERlZmF1bHRXZWJPcmlnaW5zUmVxdWVzdCI3ChxHZXREZWZhdWx0V2ViT3JpZ2luc1Jlc3BvbnNlEhcKD2RlZmF1bHRfb3JpZ2lucxgBIAMoCSIcChpHZXREZWJ1Z0RpYWdub3N0aWNzUmVxdWVzdCJ0ChtHZXREZWJ1Z0RpYWdub3N0aWNzUmVzcG9uc2USVQobbGFuZ3VhZ2Vfc2VydmVyX2RpYWdub3N0aWNzGAEgASgLMjAuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkxhbmd1YWdlU2VydmVyRGlhZ25vc3RpY3MikQIKCUNvZGVSYW5nZRIxCgZzb3VyY2UYASABKA4yIS5leGEuY29kZWl1bV9jb21tb25fcGIuQ29kZVNvdXJjZRIUCgxzdGFydF9vZmZzZXQYAiABKAQSEgoKZW5kX29mZnNldBgDIAEoBBIQCghtb2RpZmllZBgEIAEoCBIVCg1jb21wbGV0aW9uX2lkGAUgASgJEj4KD2NvbXBsZXRpb25fdHlwZRgGIAEoDjIlLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Db21wbGV0aW9uVHlwZRI+Cg9wcm92aWRlcl9zb3VyY2UYByABKA4yJS5leGEuY29kZWl1bV9jb21tb25fcGIuUHJvdmlkZXJTb3VyY2Ui5gEKEENvZGVUcmFja2VyU3RhdGUSKwofYWJzb2x1dGVfcGF0aF9taWdyYXRlX21lX3RvX3VyaRgBIAEoCUICGAESFAoMYWJzb2x1dGVfdXJpGAYgASgJEgwKBHRleHQYAiABKAkSMQoGcmFuZ2VzGAMgAygLMiEuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5Db2RlUmFuZ2USDgoGY29tbWl0GAQgASgJEicKG3JlcG9fcm9vdF9taWdyYXRlX21lX3RvX3VyaRgFIAEoCUICGAESFQoNcmVwb19yb290X3VyaRgHIAEoCSLoAQokR2V0U3VnZ2VzdGVkQ29udGV4dFNjb3BlSXRlbXNSZXF1ZXN0EjEKCG1ldGFkYXRhGAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhEksKEnN1Z2dlc3Rpb25fc291cmNlcxgCIAMoDjIvLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuQ29udGV4dFN1Z2dlc3Rpb25Tb3VyY2USDQoFcXVlcnkYAyABKAkSHgoWYXV0b19leHBhbmRfZmlsZV9saW1pdBgEIAEoBBIRCgltYXhfaXRlbXMYBSABKAQiXwolR2V0U3VnZ2VzdGVkQ29udGV4dFNjb3BlSXRlbXNSZXNwb25zZRI2CgVpdGVtcxgBIAMoCzInLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Db250ZXh0U2NvcGVJdGVtIusCCiNHZXRNYXRjaGluZ0NvbnRleHRTY29wZUl0ZW1zUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRI+Cg1hbGxvd2VkX3R5cGVzGAIgAygOMicuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNvbnRleHRTY29wZVR5cGUSRQoVYWxsb3dlZF9jb250ZXh0X3R5cGVzGAcgAygOMiYuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNvZGVDb250ZXh0VHlwZRINCgVxdWVyeRgDIAEoCRITCgtmdXp6eV9tYXRjaBgEIAEoCBIRCgltYXhfaXRlbXMYBSABKAUSGAoQY2FzZV9pbnNlbnNpdGl2ZRgGIAEoCBITCgtyZXBvX2ZpbHRlchgIIAEoCRIeChZlbmFibGVfcGF0aF9yZXNvbHV0aW9uGAogASgISgQICRAKIl4KJEdldE1hdGNoaW5nQ29udGV4dFNjb3BlSXRlbXNSZXNwb25zZRI2CgVpdGVtcxgBIAMoCzInLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Db250ZXh0U2NvcGVJdGVtItICCg1Db250ZXh0U3RhdHVzEjgKD2FjdGl2ZV9kb2N1bWVudBgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Eb2N1bWVudBJNCh1sYXN0X2FjdGl2ZV9jb2RlX2NvbnRleHRfaXRlbRgCIAEoCzImLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Db2RlQ29udGV4dEl0ZW0SOQoMcGlubmVkX3Njb3BlGAMgASgLMiMuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNvbnRleHRTY29wZRI6ChBwaW5uZWRfZ3VpZGVsaW5lGAQgASgLMiAuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkd1aWRlbGluZRJBChRkZWZhdWx0X3Bpbm5lZF9zY29wZRgFIAEoCzIjLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Db250ZXh0U2NvcGUi9gMKEExvY2FsSW5kZXhTdGF0dXMSGAoQd29ya3NwYWNlX2ZvbGRlchgBIAEoCRIQCghnaXRfcm9vdBgCIAEoCRIRCglyZXBvX25hbWUYAyABKAkSNwoLcmVtb3RlX3JlcG8YBCABKAsyIi5leGEuY29kZWl1bV9jb21tb25fcGIuR2l0UmVwb0luZm8SLQoLaW5kZXhfc3RhdHMYBSABKAsyGC5leGEuaW5kZXhfcGIuSW5kZXhTdGF0cxI+Cg93b3Jrc3BhY2Vfc3RhdHMYByABKAsyJS5leGEuY29kZWl1bV9jb21tb25fcGIuV29ya3NwYWNlU3RhdHMSSwoWcGFydGlhbF9pbmRleF9tZXRhZGF0YRgIIAEoCzIrLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5QYXJ0aWFsSW5kZXhNZXRhZGF0YRJTCg5pbmRleF9wcm9ncmVzcxgGIAMoCzI7LmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuTG9jYWxJbmRleFN0YXR1cy5JbmRleFByb2dyZXNzRW50cnkaWQoSSW5kZXhQcm9ncmVzc0VudHJ5EgsKA2tleRgBIAEoCRIyCgV2YWx1ZRgCIAEoCzIjLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuUHJvZ3Jlc3NCYXI6AjgBIpQBCgtJbmRleFN0YXR1cxI/Cg1sb2NhbF9pbmRleGVzGAEgAygLMiguZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5Mb2NhbEluZGV4U3RhdHVzEiAKGGlnbm9yZWRfbG9jYWxfd29ya3NwYWNlcxgCIAMoCRIiChpsb2NhbF9maWxlc19pbmRleF9jYXBhY2l0eRgDIAEoDSKHAQoLQnJhaW5TdGF0dXMSPQoOY29udGV4dF9zdGF0dXMYASABKAsyJS5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkNvbnRleHRTdGF0dXMSOQoMaW5kZXhfc3RhdHVzGAIgASgLMiMuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5JbmRleFN0YXR1cyJhChVHZXRCcmFpblN0YXR1c1JlcXVlc3QSMQoIbWV0YWRhdGEYASABKAsyHy5leGEuY29kZWl1bV9jb21tb25fcGIuTWV0YWRhdGESFQoNZm9yY2VfcmVmcmVzaBgCIAEoCCJTChZHZXRCcmFpblN0YXR1c1Jlc3BvbnNlEjkKDGJyYWluX3N0YXR1cxgBIAEoCzIjLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuQnJhaW5TdGF0dXMiigEKGVNldFBpbm5lZEd1aWRlbGluZVJlcXVlc3QSMQoIbWV0YWRhdGEYASABKAsyHy5leGEuY29kZWl1bV9jb21tb25fcGIuTWV0YWRhdGESOgoQcGlubmVkX2d1aWRlbGluZRgCIAEoCzIgLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5HdWlkZWxpbmUihwEKF1NldFBpbm5lZENvbnRleHRSZXF1ZXN0EjEKCG1ldGFkYXRhGAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhEjkKDHBpbm5lZF9zY29wZRgCIAEoCzIjLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Db250ZXh0U2NvcGUiHAoaU2V0UGlubmVkR3VpZGVsaW5lUmVzcG9uc2UiGgoYU2V0UGlubmVkQ29udGV4dFJlc3BvbnNlIh8KHVNldHVwVW5pdmVyc2l0eVNhbmRib3hSZXF1ZXN0IjgKHlNldHVwVW5pdmVyc2l0eVNhbmRib3hSZXNwb25zZRIWCg5iYXNlX2RpcmVjdG9yeRgBIAEoCSJeChFVbmlmaWVkRGlmZkNoYW5nZRIMCgR0ZXh0GAEgASgJEjsKBHR5cGUYAiABKA4yLS5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLlVuaWZpZWREaWZmQ2hhbmdlVHlwZSJJCgtVbmlmaWVkRGlmZhI6CgdjaGFuZ2VzGAEgAygLMikuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5VbmlmaWVkRGlmZkNoYW5nZSKAAgoJQ29kZVRoZW1lEhIKCmJhY2tncm91bmQYASABKAkSDAoEdGV4dBgCIAEoCRISCgp3aGl0ZXNwYWNlGAMgASgJEg0KBW90aGVyGAQgASgJEg8KB2xpdGVyYWwYBSABKAkSFgoObGl0ZXJhbF9zdHJpbmcYBiABKAkSDgoGbnVtYmVyGAcgASgJEhAKCG9wZXJhdG9yGAggASgJEhMKC3B1bmN0dWF0aW9uGAkgASgJEg8KB2dlbmVyaWMYCiABKAkSDAoEbmFtZRgLIAEoCRIPCgdrZXl3b3JkGAwgASgJEg8KB2NvbW1lbnQYDSABKAkSDQoFZXJyb3IYDiABKAkiagoTT25ib2FyZGluZ0l0ZW1TdGF0ZRJACgthY3Rpb25fdHlwZRgBIAEoDjIrLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5PbmJvYXJkaW5nQWN0aW9uVHlwZRIRCgljb21wbGV0ZWQYAiABKAgiYgoPT25ib2FyZGluZ1N0YXRlEhMKC2hhc19za2lwcGVkGAEgASgIEjoKBWl0ZW1zGAIgAygLMisuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5PbmJvYXJkaW5nSXRlbVN0YXRlIi8KFlJlc2V0T25ib2FyZGluZ1JlcXVlc3QSFQoNY2xlYXJfaGlzdG9yeRgBIAEoCCIZChdSZXNldE9uYm9hcmRpbmdSZXNwb25zZSIXChVTa2lwT25ib2FyZGluZ1JlcXVlc3QiGAoWU2tpcE9uYm9hcmRpbmdSZXNwb25zZSJFCh1HZXRVc2VyVHJhamVjdG9yeURlYnVnUmVxdWVzdBIkChhpbmNsdWRlX2FsbF90cmFqZWN0b3JpZXMYASABKAhCAhgBIogBCh5HZXRVc2VyVHJhamVjdG9yeURlYnVnUmVzcG9uc2USMwoIbWFpbmxpbmUYASADKAsyIS5leGEuY29ydGV4X3BiLkltcGxpY2l0VHJhamVjdG9yeRIxCghncmFudWxhchgCIAEoCzIfLmV4YS5jb3J0ZXhfcGIuQ29ydGV4VHJhamVjdG9yeSImCiRHZXRVc2VyVHJhamVjdG9yeURlc2NyaXB0aW9uc1JlcXVlc3QiawolR2V0VXNlclRyYWplY3RvcnlEZXNjcmlwdGlvbnNSZXNwb25zZRJCCgx0cmFqZWN0b3JpZXMYASADKAsyLC5leGEuY29ydGV4X3BiLkltcGxpY2l0VHJhamVjdG9yeURlc2NyaXB0aW9uIqIBCiVGb3JjZUJhY2tncm91bmRSZXNlYXJjaFJlZnJlc2hSZXF1ZXN0EjEKCG1ldGFkYXRhGAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhEh4KFm1haW5saW5lX3RyYWplY3RvcnlfaWQYAiABKAkSEAoIYmxvY2tpbmcYAyABKAgSFAoMZnVsbF9yZWZyZXNoGAQgASgIIigKJkZvcmNlQmFja2dyb3VuZFJlc2VhcmNoUmVmcmVzaFJlc3BvbnNlItwBCiJSZXBsYXlHcm91bmRUcnV0aFRyYWplY3RvcnlSZXF1ZXN0EjEKCG1ldGFkYXRhGAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhEjkKDHJlcGxheV9zdGVwcxgCIAMoCzIjLmV4YS5jb3J0ZXhfcGIuQ29ydGV4VHJhamVjdG9yeVN0ZXASEgoKY2FzY2FkZV9pZBgDIAEoCRI0Cg5jYXNjYWRlX2NvbmZpZxgEIAEoCzIcLmV4YS5jb3J0ZXhfcGIuQ2FzY2FkZUNvbmZpZyJaCiNSZXBsYXlHcm91bmRUcnV0aFRyYWplY3RvcnlSZXNwb25zZRIzCgp0cmFqZWN0b3J5GAEgASgLMh8uZXhhLmNvcnRleF9wYi5Db3J0ZXhUcmFqZWN0b3J5InYKIkluaXRpYWxpemVDYXNjYWRlUGFuZWxTdGF0ZVJlcXVlc3QSMQoIbWV0YWRhdGEYASABKAsyHy5leGEuY29kZWl1bV9jb21tb25fcGIuTWV0YWRhdGFKBAgCEANKBAgDEARSEXdvcmtzcGFjZV90cnVzdGVkIiUKI0luaXRpYWxpemVDYXNjYWRlUGFuZWxTdGF0ZVJlc3BvbnNlIpIBCiVVcGRhdGVQYW5lbFN0YXRlV2l0aFVzZXJTdGF0dXNSZXF1ZXN0EjEKCG1ldGFkYXRhGAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhEjYKC3VzZXJfc3RhdHVzGAIgASgLMiEuZXhhLmNvZGVpdW1fY29tbW9uX3BiLlVzZXJTdGF0dXMiKAomVXBkYXRlUGFuZWxTdGF0ZVdpdGhVc2VyU3RhdHVzUmVzcG9uc2UiRgoWR2VuZXJhdGVDb2RlTWFwUmVxdWVzdBIOCgZwcm9tcHQYASABKAkSDAoEbW9kZRgCIAEoCRIOCgZzb3VyY2UYAyABKAkiuwEKF0dlbmVyYXRlQ29kZU1hcFJlc3BvbnNlEhYKDHVwZGF0ZXNfanNvbhgBIAEoCUgAEkoKB3N1Y2Nlc3MYAiABKAsyNy5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkdlbmVyYXRlQ29kZU1hcFJlc3BvbnNlLlN1Y2Nlc3NIABIQCgZzdGF0dXMYAyABKAlIABogCgdTdWNjZXNzEhUKDWNvZGVfbWFwX2pzb24YASABKAlCCAoGcmVzdWx0ItABCiZCcmFuY2hDYXNjYWRlQW5kR2VuZXJhdGVDb2RlTWFwUmVxdWVzdBISCgpjYXNjYWRlX2lkGAEgASgJEhMKBnByb21wdBgCIAEoCUgAiAEBEhMKBnNvdXJjZRgDIAEoCUgBiAEBEh8KEmVkaXRpbmdfY29kZW1hcF9pZBgEIAEoCUgCiAEBEhEKBG1vZGUYBSABKAlIA4gBAUIJCgdfcHJvbXB0QgkKB19zb3VyY2VCFQoTX2VkaXRpbmdfY29kZW1hcF9pZEIHCgVfbW9kZSLzAQonQnJhbmNoQ2FzY2FkZUFuZEdlbmVyYXRlQ29kZU1hcFJlc3BvbnNlEhYKDHVwZGF0ZXNfanNvbhgBIAEoCUgAEloKB3N1Y2Nlc3MYAiABKAsyRy5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkJyYW5jaENhc2NhZGVBbmRHZW5lcmF0ZUNvZGVNYXBSZXNwb25zZS5TdWNjZXNzSAASEAoGc3RhdHVzGAMgASgJSAAaOAoHU3VjY2VzcxIVCg1jb2RlX21hcF9qc29uGAEgASgJEhYKDm5ld19jYXNjYWRlX2lkGAIgASgJQggKBnJlc3VsdCL4AwoTU3RhcnRDYXNjYWRlUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRJLChpiYXNlX3RyYWplY3RvcnlfaWRlbnRpZmllchgDIAEoCzInLmV4YS5jb3J0ZXhfcGIuQmFzZVRyYWplY3RvcnlJZGVudGlmaWVyEjUKBnNvdXJjZRgEIAEoDjIlLmV4YS5jb3J0ZXhfcGIuQ29ydGV4VHJhamVjdG9yeVNvdXJjZRI8Cg90cmFqZWN0b3J5X3R5cGUYBSABKA4yIy5leGEuY29ydGV4X3BiLkNvcnRleFRyYWplY3RvcnlUeXBlEhgKC3N0YXJ0X2FyZW5hGAYgASgNSACIAQESGQoMZ2l0X3dvcmt0cmVlGAcgASgISAGIAQESRgoRZXhwZXJpbWVudF9jb25maWcYAiABKAsyJy5leGEuY29kZWl1bV9jb21tb25fcGIuRXhwZXJpbWVudENvbmZpZ0ICGAESOgoPYXJlbmFfbW9kZV9pbmZvGAggASgLMhwuZXhhLmNvcnRleF9wYi5BcmVuYU1vZGVJbmZvSAKIAQFCDgoMX3N0YXJ0X2FyZW5hQg8KDV9naXRfd29ya3RyZWVCEgoQX2FyZW5hX21vZGVfaW5mbyJFChRTdGFydENhc2NhZGVSZXNwb25zZRISCgpjYXNjYWRlX2lkGAEgASgJEhkKEWFyZW5hX2Nhc2NhZGVfaWRzGAIgAygJIjEKG0dldENhc2NhZGVUcmFqZWN0b3J5UmVxdWVzdBISCgpjYXNjYWRlX2lkGAEgASgJIsMBChxHZXRDYXNjYWRlVHJhamVjdG9yeVJlc3BvbnNlEjMKCnRyYWplY3RvcnkYASABKAsyHy5leGEuY29ydGV4X3BiLkNvcnRleFRyYWplY3RvcnkSLwoGc3RhdHVzGAIgASgOMh8uZXhhLmNvcnRleF9wYi5DYXNjYWRlUnVuU3RhdHVzEhcKD251bV90b3RhbF9zdGVwcxgDIAEoDRIkChxudW1fdG90YWxfZ2VuZXJhdG9yX21ldGFkYXRhGAQgASgNIjEKGEdldFVzZXJUcmFqZWN0b3J5UmVxdWVzdBIVCg10cmFqZWN0b3J5X2lkGAEgASgJIlAKGUdldFVzZXJUcmFqZWN0b3J5UmVzcG9uc2USMwoKdHJhamVjdG9yeRgBIAEoCzIfLmV4YS5jb3J0ZXhfcGIuQ29ydGV4VHJhamVjdG9yeSJLCiBHZXRDYXNjYWRlVHJhamVjdG9yeVN0ZXBzUmVxdWVzdBISCgpjYXNjYWRlX2lkGAEgASgJEhMKC3N0ZXBfb2Zmc2V0GAIgASgNIlcKIUdldENhc2NhZGVUcmFqZWN0b3J5U3RlcHNSZXNwb25zZRIyCgVzdGVwcxgBIAMoCzIjLmV4YS5jb3J0ZXhfcGIuQ29ydGV4VHJhamVjdG9yeVN0ZXAiZQosR2V0Q2FzY2FkZVRyYWplY3RvcnlHZW5lcmF0b3JNZXRhZGF0YVJlcXVlc3QSEgoKY2FzY2FkZV9pZBgBIAEoCRIhChlnZW5lcmF0b3JfbWV0YWRhdGFfb2Zmc2V0GAIgASgNIncKLUdldENhc2NhZGVUcmFqZWN0b3J5R2VuZXJhdG9yTWV0YWRhdGFSZXNwb25zZRJGChJnZW5lcmF0b3JfbWV0YWRhdGEYASADKAsyKi5leGEuY29ydGV4X3BiLkNvcnRleFN0ZXBHZW5lcmF0b3JNZXRhZGF0YSJVCipHZXRDYXNjYWRlVHJhbnNjcmlwdEZvclRyYWplY3RvcnlJZFJlcXVlc3QSEgoKY2FzY2FkZV9pZBgBIAEoCRITCgtzdGVwX29mZnNldBgCIAEoDSJaCitHZXRDYXNjYWRlVHJhbnNjcmlwdEZvclRyYWplY3RvcnlJZFJlc3BvbnNlEhIKCnRyYW5zY3JpcHQYASABKAkSFwoPbnVtX3RvdGFsX3N0ZXBzGAIgASgNIlwKIEdldEFsbENhc2NhZGVUcmFqZWN0b3JpZXNSZXF1ZXN0EiAKE2luY2x1ZGVfdXNlcl9pbnB1dHMYASABKAhIAIgBAUIWChRfaW5jbHVkZV91c2VyX2lucHV0cyK+AgohR2V0QWxsQ2FzY2FkZVRyYWplY3Rvcmllc1Jlc3BvbnNlEnAKFHRyYWplY3Rvcnlfc3VtbWFyaWVzGAEgAygLMlIuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5HZXRBbGxDYXNjYWRlVHJhamVjdG9yaWVzUmVzcG9uc2UuVHJhamVjdG9yeVN1bW1hcmllc0VudHJ5EkIKC3VzZXJfaW5wdXRzGAIgAygLMi0uZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5Vc2VySW5wdXRXaXRoTWV0YWRhdGEaYwoYVHJhamVjdG9yeVN1bW1hcmllc0VudHJ5EgsKA2tleRgBIAEoCRI2CgV2YWx1ZRgCIAEoCzInLmV4YS5jb3J0ZXhfcGIuQ2FzY2FkZVRyYWplY3RvcnlTdW1tYXJ5OgI4ASI0Ch5DYW5jZWxDYXNjYWRlSW52b2NhdGlvblJlcXVlc3QSEgoKY2FzY2FkZV9pZBgBIAEoCSIhCh9DYW5jZWxDYXNjYWRlSW52b2NhdGlvblJlc3BvbnNlIjsKJUNhbmNlbENhc2NhZGVJbnZvY2F0aW9uQW5kV2FpdFJlcXVlc3QSEgoKY2FzY2FkZV9pZBgBIAEoCSIoCiZDYW5jZWxDYXNjYWRlSW52b2NhdGlvbkFuZFdhaXRSZXNwb25zZSJFChlDYW5jZWxDYXNjYWRlU3RlcHNSZXF1ZXN0EhIKCmNhc2NhZGVfaWQYASABKAkSFAoMc3RlcF9pbmRpY2VzGAIgAygNIhwKGkNhbmNlbENhc2NhZGVTdGVwc1Jlc3BvbnNlIrIDCh1TZW5kVXNlckNhc2NhZGVNZXNzYWdlUmVxdWVzdBIxCghtZXRhZGF0YRgDIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRISCgpjYXNjYWRlX2lkGAEgASgJEjUKBWl0ZW1zGAIgAygLMiYuZXhhLmNvZGVpdW1fY29tbW9uX3BiLlRleHRPclNjb3BlSXRlbRIwCgZpbWFnZXMYBiADKAsyIC5leGEuY29kZWl1bV9jb21tb25fcGIuSW1hZ2VEYXRhEjQKDmNhc2NhZGVfY29uZmlnGAUgASgLMhwuZXhhLmNvcnRleF9wYi5DYXNjYWRlQ29uZmlnEkYKEWV4cGVyaW1lbnRfY29uZmlnGAQgASgLMicuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkV4cGVyaW1lbnRDb25maWdCAhgBEhIKCnJlY2lwZV9pZHMYByADKAkSEAoIYmxvY2tpbmcYCCABKAgSPQoQYWRkaXRpb25hbF9zdGVwcxgJIAMoCzIjLmV4YS5jb3J0ZXhfcGIuQ29ydGV4VHJhamVjdG9yeVN0ZXAiIAoeU2VuZFVzZXJDYXNjYWRlTWVzc2FnZVJlc3BvbnNlIqYDChRCcmFuY2hDYXNjYWRlUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRIXCg9iYXNlX2Nhc2NhZGVfaWQYAiABKAkSNQoFaXRlbXMYAyADKAsyJi5leGEuY29kZWl1bV9jb21tb25fcGIuVGV4dE9yU2NvcGVJdGVtEjAKBmltYWdlcxgEIAMoCzIgLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5JbWFnZURhdGESNAoOY2FzY2FkZV9jb25maWcYBSABKAsyHC5leGEuY29ydGV4X3BiLkNhc2NhZGVDb25maWcSEgoKcmVjaXBlX2lkcxgGIAMoCRIQCghibG9ja2luZxgHIAEoCBI9ChBhZGRpdGlvbmFsX3N0ZXBzGAggAygLMiMuZXhhLmNvcnRleF9wYi5Db3J0ZXhUcmFqZWN0b3J5U3RlcBIjChZicmFuY2hfZnJvbV9zdGVwX2luZGV4GAkgASgFSACIAQFCGQoXX2JyYW5jaF9mcm9tX3N0ZXBfaW5kZXgiLwoVQnJhbmNoQ2FzY2FkZVJlc3BvbnNlEhYKDm5ld19jYXNjYWRlX2lkGAEgASgJIoICChpRdWV1ZUNhc2NhZGVNZXNzYWdlUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRISCgpjYXNjYWRlX2lkGAIgASgJEjUKBWl0ZW1zGAMgAygLMiYuZXhhLmNvZGVpdW1fY29tbW9uX3BiLlRleHRPclNjb3BlSXRlbRIwCgZpbWFnZXMYBCADKAsyIC5leGEuY29kZWl1bV9jb21tb25fcGIuSW1hZ2VEYXRhEjQKDmNhc2NhZGVfY29uZmlnGAUgASgLMhwuZXhhLmNvcnRleF9wYi5DYXNjYWRlQ29uZmlnIi8KG1F1ZXVlQ2FzY2FkZU1lc3NhZ2VSZXNwb25zZRIQCghxdWV1ZV9pZBgBIAEoCSKOAQohSW50ZXJydXB0V2l0aFF1ZXVlZE1lc3NhZ2VSZXF1ZXN0EjEKCG1ldGFkYXRhGAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhEhIKCmNhc2NhZGVfaWQYAiABKAkSFQoIcXVldWVfaWQYAyABKAlIAIgBAUILCglfcXVldWVfaWQiJAoiSW50ZXJydXB0V2l0aFF1ZXVlZE1lc3NhZ2VSZXNwb25zZSJxChZSZW1vdmVGcm9tUXVldWVSZXF1ZXN0EjEKCG1ldGFkYXRhGAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhEhIKCmNhc2NhZGVfaWQYAiABKAkSEAoIcXVldWVfaWQYAyABKAkiKgoXUmVtb3ZlRnJvbVF1ZXVlUmVzcG9uc2USDwoHcmVtb3ZlZBgBIAEoCCKFAQoYTW92ZVF1ZXVlZE1lc3NhZ2VSZXF1ZXN0EjEKCG1ldGFkYXRhGAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhEhIKCmNhc2NhZGVfaWQYAiABKAkSEAoIcXVldWVfaWQYAyABKAkSEAoIdG9faW5kZXgYBCABKAUiGwoZTW92ZVF1ZXVlZE1lc3NhZ2VSZXNwb25zZSLVAQoaUmV2ZXJ0VG9DYXNjYWRlU3RlcFJlcXVlc3QSMQoIbWV0YWRhdGEYAyABKAsyHy5leGEuY29kZWl1bV9jb21tb25fcGIuTWV0YWRhdGESEgoKY2FzY2FkZV9pZBgBIAEoCRISCgpzdGVwX2luZGV4GAIgASgFEkYKEWV4cGVyaW1lbnRfY29uZmlnGAQgASgLMicuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkV4cGVyaW1lbnRDb25maWdCAhgBEhQKDGtlZXBfY2hhbmdlcxgFIAEoCCJOChtSZXZlcnRUb0Nhc2NhZGVTdGVwUmVzcG9uc2USLwoIbWV0YWRhdGEYASABKAsyHS5leGEuY29ydGV4X3BiLlJldmVydE1ldGFkYXRhIpsBChVDb2RlRWRpdFJldmVydFByZXZpZXcSEAoIZmlsZV91cmkYASABKAkSLQoEZGlmZhgCIAEoCzIfLmV4YS5kaWZmX2FjdGlvbl9wYi5VbmlmaWVkRGlmZhJBCgthY3Rpb25fdHlwZRgDIAEoDjIsLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuQ29kZVJldmVydEFjdGlvblR5cGUidAoXR2V0UmV2ZXJ0UHJldmlld1JlcXVlc3QSEgoKY2FzY2FkZV9pZBgBIAEoCRISCgpzdGVwX2luZGV4GAIgASgNEjEKCG1ldGFkYXRhGAMgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhImUKGEdldFJldmVydFByZXZpZXdSZXNwb25zZRJJChJjb2RlX2VkaXRfcHJldmlld3MYASADKAsyLS5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkNvZGVFZGl0UmV2ZXJ0UHJldmlldyJ6Ch1SZWNvcmRVc2VyU3RlcFNuYXBzaG90UmVxdWVzdBISCgpjYXNjYWRlX2lkGAEgASgJEhIKCnN0ZXBfaW5kZXgYAiABKAUSMQoIc25hcHNob3QYAyABKAsyHy5leGEuY29ydGV4X3BiLlVzZXJTdGVwU25hcHNob3QiIAoeUmVjb3JkVXNlclN0ZXBTbmFwc2hvdFJlc3BvbnNlInUKI0hhbmRsZUNhc2NhZGVVc2VySW50ZXJhY3Rpb25SZXF1ZXN0EhIKCmNhc2NhZGVfaWQYASABKAkSOgoLaW50ZXJhY3Rpb24YAiABKAsyJS5leGEuY29ydGV4X3BiLkNhc2NhZGVVc2VySW50ZXJhY3Rpb24iJgokSGFuZGxlQ2FzY2FkZVVzZXJJbnRlcmFjdGlvblJlc3BvbnNlIqIBCiFBY2tub3dsZWRnZUNhc2NhZGVDb2RlRWRpdFJlcXVlc3QSMQoIbWV0YWRhdGEYBCABKAsyHy5leGEuY29kZWl1bV9jb21tb25fcGIuTWV0YWRhdGESEgoKY2FzY2FkZV9pZBgBIAEoCRIUCgxhYnNvbHV0ZV91cmkYAiADKAkSEAoIY29udGVudHMYBSADKAkSDgoGYWNjZXB0GAMgASgIIiQKIkFja25vd2xlZGdlQ2FzY2FkZUNvZGVFZGl0UmVzcG9uc2UiNAoeR2V0Q29kZVZhbGlkYXRpb25TdGF0ZXNSZXF1ZXN0EhIKCmNhc2NhZGVfaWQYASABKAkiWgofR2V0Q29kZVZhbGlkYXRpb25TdGF0ZXNSZXNwb25zZRI3CgZzdGF0ZXMYASADKAsyJy5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLlZhbGlkYXRpb25TdGF0ZSKeAQodUmVzb2x2ZVdvcmt0cmVlQ2hhbmdlc1JlcXVlc3QSEgoKY2FzY2FkZV9pZBgBIAEoCRIMCgR1cmlzGAIgAygJEkAKBG1vZGUYAyABKA4yMi5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLlJlc29sdmVXb3JrdHJlZUNoYW5nZXNNb2RlEhkKEWZhaWxfb25fY29uZmxpY3RzGAQgASgIIlIKHlJlc29sdmVXb3JrdHJlZUNoYW5nZXNSZXNwb25zZRIVCg1oYWRfY29uZmxpY3RzGAEgASgIEhkKEWNvbmZsaWN0aW5nX2ZpbGVzGAIgAygJImIKGFVuZG9Xb3JrdHJlZU1lcmdlUmVxdWVzdBISCgpjYXNjYWRlX2lkGAEgASgJEhcKD2ZvcmNlX292ZXJ3cml0ZRgCIAEoCBIZChFmYWlsX29uX2NvbmZsaWN0cxgDIAEoCCJNChlVbmRvV29ya3RyZWVNZXJnZVJlc3BvbnNlEhUKDWhhZF9jb25mbGljdHMYASABKAgSGQoRY29uZmxpY3RpbmdfZmlsZXMYAiADKAkiQQoVQ3JlYXRlV29ya3RyZWVSZXF1ZXN0EhgKC3RhcmdldF9wYXRoGAEgASgJSACIAQFCDgoMX3RhcmdldF9wYXRoIl4KDFdvcmt0cmVlSW5mbxI3CghvcmlnaW5hbBgBIAEoCzIlLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuV29ya3NwYWNlSW5mbxIVCg13b3JrdHJlZV9wYXRoGAIgASgJIlEKFkNyZWF0ZVdvcmt0cmVlUmVzcG9uc2USNwoJd29ya3RyZWVzGAEgAygLMiQuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5Xb3JrdHJlZUluZm8izAEKD1ZhbGlkYXRpb25TdGF0ZRILCgN1cmkYASABKAkSHwoXbGFzdF9hY2tub3dsZWRnZWRfc3RhdGUYAiABKAkSFQoNY3VycmVudF9zdGF0ZRgDIAEoCRIjChtsYXN0X3N0YXRlX2ZpbGVfbm9uZXhpc3RlbnQYBCABKAgSJgoeY3VycmVudF9zdGF0ZV9maWxlX25vbmV4aXN0ZW50GAUgASgIEhMKC2lzX25vdGVib29rGAYgASgIEhIKCmNlbGxfaW5kZXgYByABKAUiNAoeRGVsZXRlQ2FzY2FkZVRyYWplY3RvcnlSZXF1ZXN0EhIKCmNhc2NhZGVfaWQYASABKAkiIQofRGVsZXRlQ2FzY2FkZVRyYWplY3RvcnlSZXNwb25zZSJCCh5SZW5hbWVDYXNjYWRlVHJhamVjdG9yeVJlcXVlc3QSEgoKY2FzY2FkZV9pZBgBIAEoCRIMCgRuYW1lGAIgASgJIiEKH1JlbmFtZUNhc2NhZGVUcmFqZWN0b3J5UmVzcG9uc2UiSgofQXJjaGl2ZUNhc2NhZGVUcmFqZWN0b3J5UmVxdWVzdBISCgpjYXNjYWRlX2lkGAEgASgJEhMKC2lzX2FyY2hpdmVkGAIgASgIIiIKIEFyY2hpdmVDYXNjYWRlVHJhamVjdG9yeVJlc3BvbnNlIjQKHlJlc29sdmVPdXRzdGFuZGluZ1N0ZXBzUmVxdWVzdBISCgpjYXNjYWRlX2lkGAEgASgJIiEKH1Jlc29sdmVPdXRzdGFuZGluZ1N0ZXBzUmVzcG9uc2UiMwodTW91bnRDYXNjYWRlRmlsZXN5c3RlbVJlcXVlc3QSEgoKY2FzY2FkZV9pZBgBIAEoCSIgCh5Nb3VudENhc2NhZGVGaWxlc3lzdGVtUmVzcG9uc2UiNQofVW5tb3VudENhc2NhZGVGaWxlc3lzdGVtUmVxdWVzdBISCgpjYXNjYWRlX2lkGAEgASgJIiIKIFVubW91bnRDYXNjYWRlRmlsZXN5c3RlbVJlc3BvbnNlIiQKIlN0cmVhbVRlcm1pbmFsU2hlbGxDb21tYW5kUmVzcG9uc2UiTQoYR2V0V2ViRG9jc09wdGlvbnNSZXF1ZXN0EjEKCG1ldGFkYXRhGAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhIlIKGUdldFdlYkRvY3NPcHRpb25zUmVzcG9uc2USNQoHb3B0aW9ucxgBIAMoCzIkLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5XZWJEb2NzT3B0aW9uImEKG1VwZGF0ZURldkV4cGVyaW1lbnRzUmVxdWVzdBJCChFleHBlcmltZW50X2NvbmZpZxgBIAEoCzInLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5FeHBlcmltZW50Q29uZmlnIh4KHFVwZGF0ZURldkV4cGVyaW1lbnRzUmVzcG9uc2UiXwoZU2V0QmFzZUV4cGVyaW1lbnRzUmVxdWVzdBJCChFleHBlcmltZW50X2NvbmZpZxgBIAEoCzInLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5FeHBlcmltZW50Q29uZmlnIhwKGlNldEJhc2VFeHBlcmltZW50c1Jlc3BvbnNlInUKKUdldEFjdGl2ZUFwcERlcGxveW1lbnRGb3JXb3Jrc3BhY2VSZXF1ZXN0EjEKCG1ldGFkYXRhGAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhEhUKDXdvcmtzcGFjZV91cmkYAiABKAkiqQIKKkdldEFjdGl2ZUFwcERlcGxveW1lbnRGb3JXb3Jrc3BhY2VSZXNwb25zZRJIChFkZXBsb3ltZW50X2NvbmZpZxgBIAEoCzItLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5XZWJBcHBEZXBsb3ltZW50Q29uZmlnEj0KCmRlcGxveW1lbnQYAiABKAsyKS5leGEuY29kZWl1bV9jb21tb25fcGIuV2luZHN1cmZEZXBsb3ltZW50EhQKDHByb2plY3RfbmFtZRgDIAEoCRIRCglzdWJkb21haW4YBCABKAkSNgoScHJvamVjdF9jcmVhdGVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIRCgl0ZWFtX3NsdWcYBiABKAkibQohR2V0V2luZHN1cmZKU0FwcERlcGxveW1lbnRSZXF1ZXN0EjEKCG1ldGFkYXRhGAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhEhUKDWRlcGxveW1lbnRfaWQYAiABKAkijwIKIkdldFdpbmRzdXJmSlNBcHBEZXBsb3ltZW50UmVzcG9uc2USPQoKZGVwbG95bWVudBgBIAEoCzIpLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5XaW5kc3VyZkRlcGxveW1lbnQSQgoMYnVpbGRfc3RhdHVzGAIgASgOMiwuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkRlcGxveW1lbnRCdWlsZFN0YXR1cxIWCg5kZXBsb3ltZW50X3VybBgDIAEoCRITCgtidWlsZF9lcnJvchgEIAEoCRISCgpidWlsZF9sb2dzGAUgASgJEhIKCmlzX2NsYWltZWQYBiABKAgSEQoJY2xhaW1fdXJsGAcgASgJIhsKGUdldENhc2NhZGVNZW1vcmllc1JlcXVlc3QiSwoaR2V0Q2FzY2FkZU1lbW9yaWVzUmVzcG9uc2USLQoIbWVtb3JpZXMYASADKAsyGy5leGEuY29ydGV4X3BiLkNvcnRleE1lbW9yeSJMChdHZXRNb2RlbFN0YXR1c2VzUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YSJeChhHZXRNb2RlbFN0YXR1c2VzUmVzcG9uc2USQgoSbW9kZWxfc3RhdHVzX2luZm9zGAEgAygLMiYuZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1vZGVsU3RhdHVzSW5mbyIvChpEZWxldGVDYXNjYWRlTWVtb3J5UmVxdWVzdBIRCgltZW1vcnlfaWQYASABKAkiHQobRGVsZXRlQ2FzY2FkZU1lbW9yeVJlc3BvbnNlIl0KGlVwZGF0ZUNhc2NhZGVNZW1vcnlSZXF1ZXN0EhEKCW1lbW9yeV9pZBgBIAEoCRINCgV0aXRsZRgCIAEoCRIPCgdjb250ZW50GAMgASgJEgwKBHRhZ3MYBCADKAkiHQobVXBkYXRlQ2FzY2FkZU1lbW9yeVJlc3BvbnNlIhgKFkdldFVzZXJNZW1vcmllc1JlcXVlc3QiSAoXR2V0VXNlck1lbW9yaWVzUmVzcG9uc2USLQoIbWVtb3JpZXMYASADKAsyGy5leGEuY29ydGV4X3BiLkNvcnRleE1lbW9yeSJjChtSZWZyZXNoQ3VzdG9taXphdGlvblJlcXVlc3QSRAoLY29uZmlnX3R5cGUYASABKA4yLy5leGEuY29kZWl1bV9jb21tb25fcGIuUmVmcmVzaEN1c3RvbWl6YXRpb25UeXBlIh4KHFJlZnJlc2hDdXN0b21pemF0aW9uUmVzcG9uc2UiTwoaR2V0Q29udmVyc2F0aW9uVGFnc1JlcXVlc3QSMQoIbWV0YWRhdGEYASABKAsyHy5leGEuY29kZWl1bV9jb21tb25fcGIuTWV0YWRhdGEi6QEKG0dldENvbnZlcnNhdGlvblRhZ3NSZXNwb25zZRJkChFjb252ZXJzYXRpb25fdGFncxgBIAMoCzJJLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuR2V0Q29udmVyc2F0aW9uVGFnc1Jlc3BvbnNlLkNvbnZlcnNhdGlvblRhZ3NFbnRyeRpkChVDb252ZXJzYXRpb25UYWdzRW50cnkSCwoDa2V5GAEgASgJEjoKBXZhbHVlGAIgASgLMisuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5Db252ZXJzYXRpb25UYWdMaXN0OgI4ASIjChNDb252ZXJzYXRpb25UYWdMaXN0EgwKBHRhZ3MYASADKAkidAodVXBkYXRlQ29udmVyc2F0aW9uVGFnc1JlcXVlc3QSMQoIbWV0YWRhdGEYASABKAsyHy5leGEuY29kZWl1bV9jb21tb25fcGIuTWV0YWRhdGESEgoKY2FzY2FkZV9pZBgCIAEoCRIMCgR0YWdzGAMgAygJIiAKHlVwZGF0ZUNvbnZlcnNhdGlvblRhZ3NSZXNwb25zZSJKChhSZWZyZXNoTWNwU2VydmVyc1JlcXVlc3QSGAoLc2VydmVyX25hbWUYAiABKAlIAIgBAUIOCgxfc2VydmVyX25hbWVKBAgBEAIiGwoZUmVmcmVzaE1jcFNlcnZlcnNSZXNwb25zZSIbChlHZXRNY3BTZXJ2ZXJTdGF0ZXNSZXF1ZXN0IlcKGkdldE1jcFNlcnZlclN0YXRlc1Jlc3BvbnNlEi0KBnN0YXRlcxgBIAMoCzIdLmV4YS5jb3J0ZXhfcGIuTWNwU2VydmVyU3RhdGVKBAgCEANKBAgDEAQiaQogU2F2ZU1jcFNlcnZlclRvQ29uZmlnRmlsZVJlcXVlc3QSEQoJc2VydmVyX2lkGAEgASgJEhoKDXRlbXBsYXRlX2pzb24YAiABKAlIAIgBAUIQCg5fdGVtcGxhdGVfanNvbkoECAMQBCIvCiFTYXZlTWNwU2VydmVyVG9Db25maWdGaWxlUmVzcG9uc2VKBAgBEAJKBAgCEAMiPQoiVXBkYXRlTWNwU2VydmVySW5Db25maWdGaWxlUmVxdWVzdBIRCglzZXJ2ZXJfaWQYASABKAlKBAgCEAMiMQojVXBkYXRlTWNwU2VydmVySW5Db25maWdGaWxlUmVzcG9uc2VKBAgBEAJKBAgCEAMiPAoUVG9nZ2xlTWNwVG9vbFJlcXVlc3QSEQoJc2VydmVyX2lkGAEgASgJEhEKCXRvb2xfbmFtZRgCIAEoCSIdChVUb2dnbGVNY3BUb29sUmVzcG9uc2VKBAgBEAIiwAEKE0dldE1jcFByb21wdFJlcXVlc3QSEwoLc2VydmVyX25hbWUYASABKAkSEwoLcHJvbXB0X25hbWUYAiABKAkSTQoJYXJndW1lbnRzGAMgAygLMjouZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5HZXRNY3BQcm9tcHRSZXF1ZXN0LkFyZ3VtZW50c0VudHJ5GjAKDkFyZ3VtZW50c0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEiawoXTWNwUHJvbXB0TWVzc2FnZUNvbnRlbnQSDgoEdGV4dBgBIAEoCUgAEjUKCHJlc291cmNlGAIgASgLMiEuZXhhLmNvcnRleF9wYi5NY3BSZXNvdXJjZUNvbnRlbnRIAEIJCgdjb250ZW50ImIKEE1jcFByb21wdE1lc3NhZ2USDAoEcm9sZRgBIAEoCRJACgdjb250ZW50GAIgAygLMi8uZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5NY3BQcm9tcHRNZXNzYWdlQ29udGVudCJSChRHZXRNY3BQcm9tcHRSZXNwb25zZRI6CghtZXNzYWdlcxgBIAMoCzIoLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuTWNwUHJvbXB0TWVzc2FnZSIYChZHZXRBbGxXb3JrZmxvd3NSZXF1ZXN0Ik8KF0dldEFsbFdvcmtmbG93c1Jlc3BvbnNlEi4KCXdvcmtmbG93cxgCIAMoCzIbLmV4YS5jb3J0ZXhfcGIuV29ya2Zsb3dTcGVjSgQIARACIokBCiVDb3B5QnVpbHRpbldvcmtmbG93VG9Xb3Jrc3BhY2VSZXF1ZXN0Ei0KCHdvcmtmbG93GAEgASgLMhsuZXhhLmNvcnRleF9wYi5Xb3JrZmxvd1NwZWMSMQoIbWV0YWRhdGEYAiABKAsyHy5leGEuY29kZWl1bV9jb21tb25fcGIuTWV0YWRhdGEiVwomQ29weUJ1aWx0aW5Xb3JrZmxvd1RvV29ya3NwYWNlUmVzcG9uc2USLQoId29ya2Zsb3cYASABKAsyGy5leGEuY29ydGV4X3BiLldvcmtmbG93U3BlYyIUChJHZXRBbGxSdWxlc1JlcXVlc3QidgoTR2V0QWxsUnVsZXNSZXNwb25zZRItCghtZW1vcmllcxgCIAMoCzIbLmV4YS5jb3J0ZXhfcGIuQ29ydGV4TWVtb3J5EioKBnNraWxscxgDIAMoCzIaLmV4YS5jb3J0ZXhfcGIuQ29ydGV4U2tpbGxKBAgBEAIiFQoTR2V0QWxsU2tpbGxzUmVxdWVzdCJCChRHZXRBbGxTa2lsbHNSZXNwb25zZRIqCgZza2lsbHMYASADKAsyGi5leGEuY29ydGV4X3BiLkNvcnRleFNraWxsIhQKEkdldEFsbFBsYW5zUmVxdWVzdCJKChNHZXRBbGxQbGFuc1Jlc3BvbnNlEjMKBXBsYW5zGAEgAygLMiQuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5QbGFuRmlsZUluZm8iQAoMUGxhbkZpbGVJbmZvEgwKBHBhdGgYASABKAkSDQoFdGl0bGUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkiPwopVXBkYXRlRW50ZXJwcmlzZUV4cGVyaW1lbnRzRnJvbVVybFJlcXVlc3QSEgoKcG9ydGFsX3VybBgBIAEoCSKYAQoqVXBkYXRlRW50ZXJwcmlzZUV4cGVyaW1lbnRzRnJvbVVybFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSFQoNZXJyb3JfbWVzc2FnZRgCIAEoCRJCChFleHBlcmltZW50X2NvbmZpZxgDIAEoCzInLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5FeHBlcmltZW50Q29uZmlnIi4KF0ltcG9ydEZyb21DdXJzb3JSZXF1ZXN0EhMKC3NvdXJjZV9wYXRoGAEgASgJImAKGEltcG9ydEZyb21DdXJzb3JSZXNwb25zZRIUCgxjb3BpZWRfZmlsZXMYASADKAkSFwoPZHVwbGljYXRlX2ZpbGVzGAIgAygJEhUKDXByb2JsZW1fZmlsZXMYAyADKAkikwEKHkNyZWF0ZUN1c3RvbWl6YXRpb25GaWxlUmVxdWVzdBJACglmaWxlX3R5cGUYASABKA4yLS5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkN1c3RvbWl6YXRpb25GaWxlVHlwZRIRCglmaWxlX25hbWUYAiABKAkSHAoUd29ya3NwYWNlX2NvbmZpZ19kaXIYAyABKAkiNAofQ3JlYXRlQ3VzdG9taXphdGlvbkZpbGVSZXNwb25zZRIRCglmaWxlX3BhdGgYASABKAkiRAocU2VuZEFjdGlvblRvQ2hhdFBhbmVsUmVxdWVzdBITCgthY3Rpb25fdHlwZRgBIAEoCRIPCgdwYXlsb2FkGAIgAygMIh8KHVNlbmRBY3Rpb25Ub0NoYXRQYW5lbFJlc3BvbnNlIocBChVSZWNvcmRVc2VyR3JlcFJlcXVlc3QSDQoFcXVlcnkYASABKAkSMAoHcmVzdWx0cxgCIAMoCzIfLmV4YS5jb3J0ZXhfcGIuR3JlcFNlYXJjaFJlc3VsdBItCgl0aW1lc3RhbXAYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIhgKFlJlY29yZFVzZXJHcmVwUmVzcG9uc2Ui0AEKFUdldFVubGVhc2hEYXRhUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRJRCgpwcm9wZXJ0aWVzGAIgAygLMj0uZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5HZXRVbmxlYXNoRGF0YVJlcXVlc3QuUHJvcGVydGllc0VudHJ5GjEKD1Byb3BlcnRpZXNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIpQBChZHZXRVbmxlYXNoRGF0YVJlc3BvbnNlEjYKB2NvbnRleHQYASABKAsyJS5leGEuY29kZWl1bV9jb21tb25fcGIuVW5sZWFzaENvbnRleHQSQgoRZXhwZXJpbWVudF9jb25maWcYAiABKAsyJy5leGEuY29kZWl1bV9jb21tb25fcGIuRXhwZXJpbWVudENvbmZpZyIcChpTaG91bGRFbmFibGVVbmxlYXNoUmVxdWVzdCI0ChtTaG91bGRFbmFibGVVbmxlYXNoUmVzcG9uc2USFQoNc2hvdWxkX2VuYWJsZRgBIAEoCCKDAQocR2V0UGF0Y2hBbmRDb2RlQ2hhbmdlUmVxdWVzdBIOCgZpbnRlbnQYASABKAkSQAoUYmFzZV9zdGF0ZV9yZXBvX2luZm8YAiABKAsyIi5leGEuY29kZWl1bV9jb21tb25fcGIuR2l0UmVwb0luZm8SEQoJcmVwb19wYXRoGAMgASgJIooBCh1HZXRQYXRjaEFuZENvZGVDaGFuZ2VSZXNwb25zZRIUCgxwYXRjaF9zdHJpbmcYASABKAkSUwoYY29kZV9jaGFuZ2Vfd2l0aF9jb250ZXh0GAIgASgLMjEuZXhhLmNvZGVfZWRpdC5jb2RlX2VkaXRfcGIuQ29kZUNoYW5nZVdpdGhDb250ZXh0IqcBChxDcmVhdGVUcmFqZWN0b3J5U2hhcmVSZXF1ZXN0EjEKCG1ldGFkYXRhGAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhEjoKDHNoYXJlX3N0YXR1cxgDIAEoDjIkLmV4YS5jb3J0ZXhfcGIuVHJhamVjdG9yeVNoYXJlU3RhdHVzEhIKCmNhc2NhZGVfaWQYBCABKAlKBAgCEAMiPAodQ3JlYXRlVHJhamVjdG9yeVNoYXJlUmVzcG9uc2USEAoIc2hhcmVfaWQYAiABKAlKBAgBEAJSA3VybCKOAQohR2V0QXZhaWxhYmxlQ2FzY2FkZVBsdWdpbnNSZXF1ZXN0EjEKCG1ldGFkYXRhGAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhEgoKAm9zGAIgASgJEhkKDHNlYXJjaF9xdWVyeRgDIAEoCUgAiAEBQg8KDV9zZWFyY2hfcXVlcnkiZAoiR2V0QXZhaWxhYmxlQ2FzY2FkZVBsdWdpbnNSZXNwb25zZRI+CgdwbHVnaW5zGAEgAygLMi0uZXhhLmNhc2NhZGVfcGx1Z2luc19wYi5DYXNjYWRlUGx1Z2luVGVtcGxhdGUiWAojR2V0S25vd2xlZGdlQmFzZUl0ZW1zRm9yVGVhbVJlcXVlc3QSMQoIbWV0YWRhdGEYASABKAsyHy5leGEuY29kZWl1bV9jb21tb25fcGIuTWV0YWRhdGEiXwokR2V0S25vd2xlZGdlQmFzZUl0ZW1zRm9yVGVhbVJlc3BvbnNlEjcKBWl0ZW1zGAEgAygLMiguZXhhLmtub3dsZWRnZV9iYXNlX3BiLktub3dsZWRnZUJhc2VJdGVtIowBChxHZXRNY3BSZWdpc3RyeVNlcnZlcnNSZXF1ZXN0EjEKCG1ldGFkYXRhGAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhEhQKDHNlYXJjaF9xdWVyeRgCIAEoCRINCgVsaW1pdBgDIAEoBRIOCgZjdXJzb3IYBCABKAlKBAgFEAYifwodR2V0TWNwUmVnaXN0cnlTZXJ2ZXJzUmVzcG9uc2USOgoHc2VydmVycxgBIAMoCzIpLmV4YS5jYXNjYWRlX3BsdWdpbnNfcGIuTWNwUmVnaXN0cnlTZXJ2ZXISDQoFY291bnQYAiABKAUSEwoLbmV4dF9jdXJzb3IYAyABKAkitAEKElJlY29yZExpbnRzUmVxdWVzdBI5ChBjdXJyZW50X2xhbmd1YWdlGAEgASgOMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLkxhbmd1YWdlEjQKBWxpbnRzGAIgAygLMiUuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNvZGVEaWFnbm9zdGljEi0KCXRpbWVzdGFtcBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiFQoTUmVjb3JkTGludHNSZXNwb25zZSIdCg5TdGF0VXJpUmVxdWVzdBILCgN1cmkYASABKAkiRgoPU3RhdFVyaVJlc3BvbnNlEjMKCWZpbGVfdHlwZRgBIAEoDjIgLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuRmlsZVR5cGUiZgoYTG9nQ2FzY2FkZVNlc3Npb25SZXF1ZXN0EjEKCG1ldGFkYXRhGAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhEhcKD3dvcmtzcGFjZV9wYXRocxgCIAMoCSIbChlMb2dDYXNjYWRlU2Vzc2lvblJlc3BvbnNlIpoCChpTeW5jRXhwbG9yZUFnZW50UnVuUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRISCgpjYXNjYWRlX2lkGAIgASgJEhAKCHF1ZXJ5X2lkGAMgASgJEhUKDW1lc3NhZ2VfaW5kZXgYBCABKAUSNQoFaXRlbXMYBSADKAsyJi5leGEuY29kZWl1bV9jb21tb25fcGIuVGV4dE9yU2NvcGVJdGVtEhIKBXRpdGxlGAggASgJSACIAQESFQoIcmVzcG9uc2UYBiABKAlIAYgBARITCgtpc19jb21wbGV0ZRgHIAEoCEIICgZfdGl0bGVCCwoJX3Jlc3BvbnNlIjQKG1N5bmNFeHBsb3JlQWdlbnRSdW5SZXNwb25zZRIVCg1tZXNzYWdlX2luZGV4GAEgASgFIqgBChVVc2VySW5wdXRXaXRoTWV0YWRhdGESEgoKY2FzY2FkZV9pZBgBIAEoCRIVCg11c2VyX3Jlc3BvbnNlGAIgASgJEjUKBWl0ZW1zGAMgAygLMiYuZXhhLmNvZGVpdW1fY29tbW9uX3BiLlRleHRPclNjb3BlSXRlbRItCgl0aW1lc3RhbXAYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIjAKGkdldENvZGVNYXBzRm9yUmVwb3NSZXF1ZXN0EhIKCnJlcG9fcGF0aHMYASADKAkiLgoZR2V0Q29kZU1hcHNGb3JGaWxlUmVxdWVzdBIRCglmaWxlX3BhdGgYASABKAkiMAobR2V0Q29kZU1hcHNGb3JSZXBvc1Jlc3BvbnNlEhEKCWNvZGVfbWFwcxgBIAMoCSIvChpHZXRDb2RlTWFwc0ZvckZpbGVSZXNwb25zZRIRCgljb2RlX21hcHMYASADKAkicgoTU2hhcmVDb2RlTWFwUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRIVCg1jb2RlX21hcF9qc29uGAIgASgJEhEKCWZpbGVfbmFtZRgDIAEoCSIpChRTaGFyZUNvZGVNYXBSZXNwb25zZRIRCglzaGFyZV91cmwYASABKAkifQoXR2V0U2hhcmVkQ29kZU1hcFJlcXVlc3QSMQoIbWV0YWRhdGEYASABKAsyHy5leGEuY29kZWl1bV9jb21tb25fcGIuTWV0YWRhdGESEwoLY29kZV9tYXBfaWQYAiABKAkSGgoSdGltZV9zaW5jZV9pbnN0YWxsGAMgASgFIjEKGEdldFNoYXJlZENvZGVNYXBSZXNwb25zZRIVCg1jb2RlX21hcF9kYXRhGAEgASgJIm0KHEdldENvZGVNYXBTdWdnZXN0aW9uc1JlcXVlc3QSMQoIbWV0YWRhdGEYASABKAsyHy5leGEuY29kZWl1bV9jb21tb25fcGIuTWV0YWRhdGESGgoSbmF2aWdhdGlvbl9oaXN0b3J5GAIgAygJIlYKHUdldENvZGVNYXBTdWdnZXN0aW9uc1Jlc3BvbnNlEjUKC3N1Z2dlc3Rpb25zGAEgAygLMiAuZXhhLmNvcnRleF9wYi5Db2RlTWFwU3VnZ2VzdGlvbiJwChxVcGRhdGVDb2RlTWFwTWV0YWRhdGFSZXF1ZXN0EgoKAmlkGAEgASgJEhQKB3N0YXJyZWQYAiABKAhIAIgBARIVCghhcmNoaXZlZBgDIAEoCEgBiAEBQgoKCF9zdGFycmVkQgsKCV9hcmNoaXZlZCIfCh1VcGRhdGVDb2RlTWFwTWV0YWRhdGFSZXNwb25zZSJmChpTYXZlQ29kZU1hcEZyb21Kc29uUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRIVCg1jb2RlX21hcF9qc29uGAIgASgJIjQKG1NhdmVDb2RlTWFwRnJvbUpzb25SZXNwb25zZRIVCg1jb2RlX21hcF9qc29uGAEgASgJIsICChBDaGVja0J1Z3NSZXF1ZXN0EjEKCG1ldGFkYXRhGAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhEgwKBGRpZmYYAiABKAkSEQoJcmVwb19uYW1lGAMgASgJEhMKC2NvbW1pdF9oYXNoGAQgASgJEhMKC2F1dGhvcl9uYW1lGAUgASgJEg0KBW1vZGVsGAYgASgJEhYKDmNvbW1pdF9tZXNzYWdlGAcgASgJEhUKDWxpbmVzX2NoYW5nZWQYCCABKAUSEgoKdXNlcl9ydWxlcxgJIAMoCRIOCgZtZXRob2QYCiABKAkSFgoOc3ltYm9sX2NvbnRleHQYCyABKAkSEgoKY2hlY2tfdHlwZRgMIAEoCRIQCghiYXNlX3JlZhgNIAEoCRIQCghnaXRfcm9vdBgOIAEoCSLZAQoRQ2hlY2tCdWdzUmVzcG9uc2USJQoEYnVncxgBIAMoCzIXLmV4YS5idWdfY2hlY2tlcl9wYi5CdWcSFAoMYnVnX2NoZWNrX2lkGAIgASgJEhMKC21ldGhvZF91c2VkGAMgASgJEhYKCm1vZGVsX3VzZWQYBCABKAlCAhgBEhMKC3BsYXlncm91bmRzGAUgASgJEi4KCG1vZGVsX2lkGAYgASgOMhwuZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1vZGVsEhUKDWFnZW50X3ZlcnNpb24YByABKAkiTgoZR2V0TGlmZWd1YXJkQ29uZmlnUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YSJUChpHZXRMaWZlZ3VhcmRDb25maWdSZXNwb25zZRI2CgZjb25maWcYASABKAsyJi5leGEuY29kZWl1bV9jb21tb25fcGIuTGlmZWd1YXJkQ29uZmlnIs8CCiVIYW5kbGVTdHJlYW1pbmdUZXJtaW5hbENvbW1hbmRSZXF1ZXN0EjEKCG1ldGFkYXRhGAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhEhQKDGNvbW1hbmRfdGV4dBgCIAEoCRJJChV0ZXJtaW5hbF9jb21tYW5kX2RhdGEYAyABKAsyKi5leGEuY29kZWl1bV9jb21tb25fcGIuVGVybWluYWxDb21tYW5kRGF0YRIwCgVtb2RlbBgEIAEoDjIcLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Nb2RlbEgAiAEBElYKFGNvbnZlcnNhdGlvbl9oaXN0b3J5GAUgAygLMjguZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5UZXJtaW5hbENvbW1hbmRDb252ZXJzYXRpb25FbnRyeUIICgZfbW9kZWwifAogVGVybWluYWxDb21tYW5kQ29udmVyc2F0aW9uRW50cnkSEwoLdXNlcl9wcm9tcHQYASABKAkSGQoRZ2VuZXJhdGVkX2NvbW1hbmQYAiABKAkSGAoLZXhwbGFuYXRpb24YAyABKAlIAIgBAUIOCgxfZXhwbGFuYXRpb24iZQomSGFuZGxlU3RyZWFtaW5nVGVybWluYWxDb21tYW5kUmVzcG9uc2USFQoNY29tcGxldGlvbl9pZBgBIAEoCRIPCgdjb21tYW5kGAIgASgJEhMKC2V4cGxhbmF0aW9uGAMgASgJInwKJFNwYXduQXJlbmFNb2RlTWlkQ29udmVyc2F0aW9uUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRISCgpjYXNjYWRlX2lkGAIgASgJEg0KBWNvdW50GAMgASgNIjwKJVNwYXduQXJlbmFNb2RlTWlkQ29udmVyc2F0aW9uUmVzcG9uc2USEwoLY2FzY2FkZV9pZHMYASADKAkibAocQ29udmVyZ2VBcmVuYUNhc2NhZGVzUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRIZChF0YXJnZXRfY2FzY2FkZV9pZBgCIAEoCSI+Ch1Db252ZXJnZUFyZW5hQ2FzY2FkZXNSZXNwb25zZRIdChVjb252ZXJnZWRfY2FzY2FkZV9pZHMYASADKAkiTAofRGlzbWlzc0NvZGVNYXBTdWdnZXN0aW9uUmVxdWVzdBISCgpjYXNjYWRlX2lkGAEgASgJEhUKDXN1Z2dlc3Rpb25faWQYAiABKAkiIgogRGlzbWlzc0NvZGVNYXBTdWdnZXN0aW9uUmVzcG9uc2UitwEKDU9uRWRpdFJlcXVlc3QSOQoQaW5pdGlhbF9kb2N1bWVudBgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Eb2N1bWVudBI3Cg5maW5hbF9kb2N1bWVudBgCIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Eb2N1bWVudBIyCgZzb3VyY2UYAyABKA4yIi5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkVkaXRTb3VyY2UiEAoOT25FZGl0UmVzcG9uc2UiiQEKHkdldFN5c3RlbVByb21wdEFuZFRvb2xzUmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRI0Cg5jYXNjYWRlX2NvbmZpZxgCIAEoCzIcLmV4YS5jb3J0ZXhfcGIuQ2FzY2FkZUNvbmZpZyJzCh9HZXRTeXN0ZW1Qcm9tcHRBbmRUb29sc1Jlc3BvbnNlEhUKDXN5c3RlbV9wcm9tcHQYASABKAkSOQoQdG9vbF9kZWZpbml0aW9ucxgCIAMoCzIfLmV4YS5jaGF0X3BiLkNoYXRUb29sRGVmaW5pdGlvbiLBAQoWU3VibWl0QnVnUmVwb3J0UmVxdWVzdBIxCghtZXRhZGF0YRgBIAEoCzIfLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5NZXRhZGF0YRITCgtkZXNjcmlwdGlvbhgCIAEoCRIQCghidWdfdHlwZRgDIAEoCRIYChBkaWFnbm9zdGljc19qc29uGAQgASgJEhIKCnNjcmVlbnNob3QYBSABKAwSEAoIdGFiX2luZm8YBiABKAkSDQoFb3RoZXIYByABKAkiLwoXU3VibWl0QnVnUmVwb3J0UmVzcG9uc2USFAoMbWVzc2FnZV9saW5rGAEgASgJImAKGkdldEFsbEFjcFJlZ2lzdHJpZXNSZXF1ZXN0EjEKCG1ldGFkYXRhGAEgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhEg8KB3ZlcnNpb24YAiABKAkiNAobR2V0QWxsQWNwUmVnaXN0cmllc1Jlc3BvbnNlEhUKDXJlZ2lzdHJ5X2pzb24YASABKAkqfQoQVGFiUmVxdWVzdFNvdXJjZRIiCh5UQUJfUkVRVUVTVF9TT1VSQ0VfVU5TUEVDSUZJRUQQABIkCiBUQUJfUkVRVUVTVF9TT1VSQ0VfU1VQRVJDT01QTEVURRABEh8KG1RBQl9SRVFVRVNUX1NPVVJDRV9UQUJfSlVNUBACKsMBCglJZGVBY3Rpb24SGgoWSURFX0FDVElPTl9VTlNQRUNJRklFRBAAEhMKD0lERV9BQ1RJT05fU0FWRRABEiAKHElERV9BQ1RJT05fU0VMRUNUSU9OX0NIQU5HRUQQAhIlCiFJREVfQUNUSU9OX1ZJU0lCTEVfUkFOR0VTX0NIQU5HRUQQAxIkCiBJREVfQUNUSU9OX0FDVElWRV9FRElUT1JfQ0hBTkdFRBAEEhYKEklERV9BQ1RJT05fU1RBUlRVUBAFKrYBCgxDb2RlaXVtU3RhdGUSHQoZQ09ERUlVTV9TVEFURV9VTlNQRUNJRklFRBAAEhoKFkNPREVJVU1fU1RBVEVfSU5BQ1RJVkUQARIcChhDT0RFSVVNX1NUQVRFX1BST0NFU1NJTkcQAhIZChVDT0RFSVVNX1NUQVRFX1NVQ0NFU1MQAxIZChVDT0RFSVVNX1NUQVRFX1dBUk5JTkcQBBIXChNDT0RFSVVNX1NUQVRFX0VSUk9SEAUqoQEKEkNvbXBsZXRpb25QYXJ0VHlwZRIkCiBDT01QTEVUSU9OX1BBUlRfVFlQRV9VTlNQRUNJRklFRBAAEh8KG0NPTVBMRVRJT05fUEFSVF9UWVBFX0lOTElORRABEh4KGkNPTVBMRVRJT05fUEFSVF9UWVBFX0JMT0NLEAISJAogQ09NUExFVElPTl9QQVJUX1RZUEVfSU5MSU5FX01BU0sQAyqeAQoXQ29udGV4dFN1Z2dlc3Rpb25Tb3VyY2USKQolQ09OVEVYVF9TVUdHRVNUSU9OX1NPVVJDRV9VTlNQRUNJRklFRBAAEiwKKENPTlRFWFRfU1VHR0VTVElPTl9TT1VSQ0VfQ09NTUlUX0hJU1RPUlkQARIqCiZDT05URVhUX1NVR0dFU1RJT05fU09VUkNFX0NVUlJFTlRfUExBThACKrMBChVVbmlmaWVkRGlmZkNoYW5nZVR5cGUSKAokVU5JRklFRF9ESUZGX0NIQU5HRV9UWVBFX1VOU1BFQ0lGSUVEEAASIwofVU5JRklFRF9ESUZGX0NIQU5HRV9UWVBFX0lOU0VSVBABEiMKH1VOSUZJRURfRElGRl9DSEFOR0VfVFlQRV9ERUxFVEUQAhImCiJVTklGSUVEX0RJRkZfQ0hBTkdFX1RZUEVfVU5DSEFOR0VEEAMqqwEKFENvZGVSZXZlcnRBY3Rpb25UeXBlEicKI0NPREVfUkVWRVJUX0FDVElPTl9UWVBFX1VOU1BFQ0lGSUVEEAASIgoeQ09ERV9SRVZFUlRfQUNUSU9OX1RZUEVfTU9ESUZZEAESIgoeQ09ERV9SRVZFUlRfQUNUSU9OX1RZUEVfQ1JFQVRFEAISIgoeQ09ERV9SRVZFUlRfQUNUSU9OX1RZUEVfREVMRVRFEAMqnQEKGlJlc29sdmVXb3JrdHJlZUNoYW5nZXNNb2RlEi0KKVJFU09MVkVfV09SS1RSRUVfQ0hBTkdFU19NT0RFX1VOU1BFQ0lGSUVEEAASJwojUkVTT0xWRV9XT1JLVFJFRV9DSEFOR0VTX01PREVfTUVSR0UQARInCiNSRVNPTFZFX1dPUktUUkVFX0NIQU5HRVNfTU9ERV9TVEFTSBACKocCChVDdXN0b21pemF0aW9uRmlsZVR5cGUSJwojQ1VTVE9NSVpBVElPTl9GSUxFX1RZUEVfVU5TUEVDSUZJRUQQABIhCh1DVVNUT01JWkFUSU9OX0ZJTEVfVFlQRV9SVUxFUxABEiUKIUNVU1RPTUlaQVRJT05fRklMRV9UWVBFX1dPUktGTE9XUxACEiwKKENVU1RPTUlaQVRJT05fRklMRV9UWVBFX0dMT0JBTF9XT1JLRkxPV1MQAxIiCh5DVVNUT01JWkFUSU9OX0ZJTEVfVFlQRV9TS0lMTFMQBBIpCiVDVVNUT01JWkFUSU9OX0ZJTEVfVFlQRV9HTE9CQUxfU0tJTExTEAUqaQoIRmlsZVR5cGUSGQoVRklMRV9UWVBFX1VOU1BFQ0lGSUVEEAASEgoORklMRV9UWVBFX0ZJTEUQARIXChNGSUxFX1RZUEVfRElSRUNUT1JZEAISFQoRRklMRV9UWVBFX1NZTUxJTksQAyqLAwoKRWRpdFNvdXJjZRIbChdFRElUX1NPVVJDRV9VTlNQRUNJRklFRBAAEhoKFkVESVRfU09VUkNFX1VTRVJfVFlQRUQQARIbChdFRElUX1NPVVJDRV9VU0VSX1BBU1RFRBACEhkKFUVESVRfU09VUkNFX1VTRVJfVU5ETxADEhkKFUVESVRfU09VUkNFX1VTRVJfUkVETxAEEhgKFEVESVRfU09VUkNFX1VTRVJfQ1VUEAUSHgoaRURJVF9TT1VSQ0VfVVNFUl9EUkFHX0RST1AQBhIYChRFRElUX1NPVVJDRV9VU0VSX1RBQhAHEiAKHEVESVRfU09VUkNFX1VTRVJfUkVGQUNUT1JJTkcQCBIfChtFRElUX1NPVVJDRV9VU0VSX0ZPUk1BVFRJTkcQCRIhCh1FRElUX1NPVVJDRV9DQVNDQURFX0dFTkVSQVRFRBAKEhsKF0VESVRfU09VUkNFX0RJU0tfQ0hBTkdFEAsSGgoWRURJVF9TT1VSQ0VfVVNFUl9PVEhFUhAMMsGuAQoVTGFuZ3VhZ2VTZXJ2ZXJTZXJ2aWNlEm8KDkdldENvbXBsZXRpb25zEi0uZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5HZXRDb21wbGV0aW9uc1JlcXVlc3QaLi5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkdldENvbXBsZXRpb25zUmVzcG9uc2USdQoQQWNjZXB0Q29tcGxldGlvbhIvLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuQWNjZXB0Q29tcGxldGlvblJlcXVlc3QaMC5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkFjY2VwdENvbXBsZXRpb25SZXNwb25zZRKQAQoZUHJvdmlkZUNvbXBsZXRpb25GZWVkYmFjaxI4LmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuUHJvdmlkZUNvbXBsZXRpb25GZWVkYmFja1JlcXVlc3QaOS5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLlByb3ZpZGVDb21wbGV0aW9uRmVlZGJhY2tSZXNwb25zZRJgCglIZWFydGJlYXQSKC5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkhlYXJ0YmVhdFJlcXVlc3QaKS5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkhlYXJ0YmVhdFJlc3BvbnNlEmAKCUdldFN0YXR1cxIoLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuR2V0U3RhdHVzUmVxdWVzdBopLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuR2V0U3RhdHVzUmVzcG9uc2UShwEKFkdldENvbW1hbmRNb2RlbENvbmZpZ3MSNS5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkdldENvbW1hbmRNb2RlbENvbmZpZ3NSZXF1ZXN0GjYuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5HZXRDb21tYW5kTW9kZWxDb25maWdzUmVzcG9uc2UShwEKFkdldENhc2NhZGVNb2RlbENvbmZpZ3MSNS5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkdldENhc2NhZGVNb2RlbENvbmZpZ3NSZXF1ZXN0GjYuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5HZXRDYXNjYWRlTW9kZWxDb25maWdzUmVzcG9uc2USaQoMR2V0UHJvY2Vzc2VzEisuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5HZXRQcm9jZXNzZXNSZXF1ZXN0GiwuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5HZXRQcm9jZXNzZXNSZXNwb25zZRJ1ChBHZXRFeHRlcm5hbE1vZGVsEi8uZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5HZXRFeHRlcm5hbE1vZGVsUmVxdWVzdBowLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuR2V0RXh0ZXJuYWxNb2RlbFJlc3BvbnNlEmkKDEdldEF1dGhUb2tlbhIrLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuR2V0QXV0aFRva2VuUmVxdWVzdBosLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuR2V0QXV0aFRva2VuUmVzcG9uc2USZgoLUmVjb3JkRXZlbnQSKi5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLlJlY29yZEV2ZW50UmVxdWVzdBorLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuUmVjb3JkRXZlbnRSZXNwb25zZRJ+ChNSZWNvcmRTeXN0ZW1NZXRyaWNzEjIuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5SZWNvcmRTeXN0ZW1NZXRyaWNzUmVxdWVzdBozLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuUmVjb3JkU3lzdGVtTWV0cmljc1Jlc3BvbnNlEmwKDUNhbmNlbFJlcXVlc3QSLC5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkNhbmNlbFJlcXVlc3RSZXF1ZXN0Gi0uZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5DYW5jZWxSZXF1ZXN0UmVzcG9uc2USeAoRRWRpdENvbmZpZ3VyYXRpb24SMC5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkVkaXRDb25maWd1cmF0aW9uUmVxdWVzdBoxLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuRWRpdENvbmZpZ3VyYXRpb25SZXNwb25zZRJsCg1NaWdyYXRlQXBpS2V5EiwuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5NaWdyYXRlQXBpS2V5UmVxdWVzdBotLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuTWlncmF0ZUFwaUtleVJlc3BvbnNlEpYBChtHZXRQcmltYXJ5QXBpS2V5Rm9yRGV2c09ubHkSOi5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkdldFByaW1hcnlBcGlLZXlGb3JEZXZzT25seVJlcXVlc3QaOy5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkdldFByaW1hcnlBcGlLZXlGb3JEZXZzT25seVJlc3BvbnNlEocBChZXZWxsU3VwcG9ydGVkTGFuZ3VhZ2VzEjUuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5XZWxsU3VwcG9ydGVkTGFuZ3VhZ2VzUmVxdWVzdBo2LmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuV2VsbFN1cHBvcnRlZExhbmd1YWdlc1Jlc3BvbnNlEmkKDFByb2dyZXNzQmFycxIrLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuUHJvZ3Jlc3NCYXJzUmVxdWVzdBosLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuUHJvZ3Jlc3NCYXJzUmVzcG9uc2USfgoTUmVjb3JkU2VhcmNoRG9jT3BlbhIyLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuUmVjb3JkU2VhcmNoRG9jT3BlblJlcXVlc3QaMy5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLlJlY29yZFNlYXJjaERvY09wZW5SZXNwb25zZRKKAQoXUmVjb3JkU2VhcmNoUmVzdWx0c1ZpZXcSNi5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLlJlY29yZFNlYXJjaFJlc3VsdHNWaWV3UmVxdWVzdBo3LmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuUmVjb3JkU2VhcmNoUmVzdWx0c1ZpZXdSZXNwb25zZRKJAQoWSGFuZGxlU3RyZWFtaW5nQ29tbWFuZBI1LmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuSGFuZGxlU3RyZWFtaW5nQ29tbWFuZFJlcXVlc3QaNi5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkhhbmRsZVN0cmVhbWluZ0NvbW1hbmRSZXNwb25zZTABEn0KEkhhbmRsZVN0cmVhbWluZ1RhYhIxLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuSGFuZGxlU3RyZWFtaW5nVGFiUmVxdWVzdBoyLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuSGFuZGxlU3RyZWFtaW5nVGFiUmVzcG9uc2UwARKBAQoUSGFuZGxlU3RyZWFtaW5nVGFiVjISMy5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkhhbmRsZVN0cmVhbWluZ1RhYlYyUmVxdWVzdBo0LmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuSGFuZGxlU3RyZWFtaW5nVGFiVjJSZXNwb25zZRKhAQoeSGFuZGxlU3RyZWFtaW5nVGVybWluYWxDb21tYW5kEj0uZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5IYW5kbGVTdHJlYW1pbmdUZXJtaW5hbENvbW1hbmRSZXF1ZXN0Gj4uZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5IYW5kbGVTdHJlYW1pbmdUZXJtaW5hbENvbW1hbmRSZXNwb25zZTABEoEBChRVcGxvYWRSZWNlbnRDb21tYW5kcxIzLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuVXBsb2FkUmVjZW50Q29tbWFuZHNSZXF1ZXN0GjQuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5VcGxvYWRSZWNlbnRDb21tYW5kc1Jlc3BvbnNlEm8KDkdldEJyYWluU3RhdHVzEi0uZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5HZXRCcmFpblN0YXR1c1JlcXVlc3QaLi5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkdldEJyYWluU3RhdHVzUmVzcG9uc2USewoSU2V0UGlubmVkR3VpZGVsaW5lEjEuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5TZXRQaW5uZWRHdWlkZWxpbmVSZXF1ZXN0GjIuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5TZXRQaW5uZWRHdWlkZWxpbmVSZXNwb25zZRJ1ChBTZXRQaW5uZWRDb250ZXh0Ei8uZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5TZXRQaW5uZWRDb250ZXh0UmVxdWVzdBowLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuU2V0UGlubmVkQ29udGV4dFJlc3BvbnNlEn4KE0FkZFRyYWNrZWRXb3Jrc3BhY2USMi5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkFkZFRyYWNrZWRXb3Jrc3BhY2VSZXF1ZXN0GjMuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5BZGRUcmFja2VkV29ya3NwYWNlUmVzcG9uc2UShwEKFlJlbW92ZVRyYWNrZWRXb3Jrc3BhY2USNS5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLlJlbW92ZVRyYWNrZWRXb3Jrc3BhY2VSZXF1ZXN0GjYuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5SZW1vdmVUcmFja2VkV29ya3NwYWNlUmVzcG9uc2USWgoHU3RhdFVyaRImLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuU3RhdFVyaVJlcXVlc3QaJy5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLlN0YXRVcmlSZXNwb25zZRKlAQogVmFsaWRhdGVXaW5kc3VyZkpTQXBwUHJvamVjdE5hbWUSPy5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLlZhbGlkYXRlV2luZHN1cmZKU0FwcFByb2plY3ROYW1lUmVxdWVzdBpALmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuVmFsaWRhdGVXaW5kc3VyZkpTQXBwUHJvamVjdE5hbWVSZXNwb25zZRKZAQocU2F2ZVdpbmRzdXJmSlNBcHBQcm9qZWN0TmFtZRI7LmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuU2F2ZVdpbmRzdXJmSlNBcHBQcm9qZWN0TmFtZVJlcXVlc3QaPC5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLlNhdmVXaW5kc3VyZkpTQXBwUHJvamVjdE5hbWVSZXNwb25zZRKTAQoaUmVmcmVzaENvbnRleHRGb3JJZGVBY3Rpb24SOS5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLlJlZnJlc2hDb250ZXh0Rm9ySWRlQWN0aW9uUmVxdWVzdBo6LmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuUmVmcmVzaENvbnRleHRGb3JJZGVBY3Rpb25SZXNwb25zZRKHAQoWR2V0TWF0Y2hpbmdDb2RlQ29udGV4dBI1LmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuR2V0TWF0Y2hpbmdDb2RlQ29udGV4dFJlcXVlc3QaNi5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkdldE1hdGNoaW5nQ29kZUNvbnRleHRSZXNwb25zZRKKAQoXR2V0TWF0Y2hpbmdJbmRleGVkUmVwb3MSNi5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkdldE1hdGNoaW5nSW5kZXhlZFJlcG9zUmVxdWVzdBo3LmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuR2V0TWF0Y2hpbmdJbmRleGVkUmVwb3NSZXNwb25zZRKZAQocR2V0TWF0Y2hpbmdDb250ZXh0U2NvcGVJdGVtcxI7LmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuR2V0TWF0Y2hpbmdDb250ZXh0U2NvcGVJdGVtc1JlcXVlc3QaPC5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkdldE1hdGNoaW5nQ29udGV4dFNjb3BlSXRlbXNSZXNwb25zZRKcAQodR2V0U3VnZ2VzdGVkQ29udGV4dFNjb3BlSXRlbXMSPC5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkdldFN1Z2dlc3RlZENvbnRleHRTY29wZUl0ZW1zUmVxdWVzdBo9LmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuR2V0U3VnZ2VzdGVkQ29udGV4dFNjb3BlSXRlbXNSZXNwb25zZRJmCg5HZXRDaGF0TWVzc2FnZRIiLmV4YS5jaGF0X3BiLkdldENoYXRNZXNzYWdlUmVxdWVzdBouLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuR2V0Q2hhdE1lc3NhZ2VSZXNwb25zZTABEm8KEVJhd0dldENoYXRNZXNzYWdlEiUuZXhhLmNoYXRfcGIuUmF3R2V0Q2hhdE1lc3NhZ2VSZXF1ZXN0GjEuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5SYXdHZXRDaGF0TWVzc2FnZVJlc3BvbnNlMAESXQoLR2V0RGVlcFdpa2kSHy5leGEuY2hhdF9wYi5HZXREZWVwV2lraVJlcXVlc3QaKy5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkdldERlZXBXaWtpUmVzcG9uc2UwARKQAQoZQ2hlY2tVc2VyTWVzc2FnZVJhdGVMaW1pdBI4LmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuQ2hlY2tVc2VyTWVzc2FnZVJhdGVMaW1pdFJlcXVlc3QaOS5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkNoZWNrVXNlck1lc3NhZ2VSYXRlTGltaXRSZXNwb25zZRKBAQoUR2V0TWVzc2FnZVRva2VuQ291bnQSMy5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkdldE1lc3NhZ2VUb2tlbkNvdW50UmVxdWVzdBo0LmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuR2V0TWVzc2FnZVRva2VuQ291bnRSZXNwb25zZRJ7ChJSZWNvcmRDaGF0RmVlZGJhY2sSMS5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLlJlY29yZENoYXRGZWVkYmFja1JlcXVlc3QaMi5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLlJlY29yZENoYXRGZWVkYmFja1Jlc3BvbnNlEocBChZSZWNvcmRDaGF0UGFuZWxTZXNzaW9uEjUuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5SZWNvcmRDaGF0UGFuZWxTZXNzaW9uUmVxdWVzdBo2LmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuUmVjb3JkQ2hhdFBhbmVsU2Vzc2lvblJlc3BvbnNlEngKEUNoZWNrQ2hhdENhcGFjaXR5EjAuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5DaGVja0NoYXRDYXBhY2l0eVJlcXVlc3QaMS5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkNoZWNrQ2hhdENhcGFjaXR5UmVzcG9uc2USfgoTU2hvdWxkRW5hYmxlVW5sZWFzaBIyLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuU2hvdWxkRW5hYmxlVW5sZWFzaFJlcXVlc3QaMy5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLlNob3VsZEVuYWJsZVVubGVhc2hSZXNwb25zZRKEAQoVR2V0V29ya3NwYWNlRWRpdFN0YXRlEjQuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5HZXRXb3Jrc3BhY2VFZGl0U3RhdGVSZXF1ZXN0GjUuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5HZXRXb3Jrc3BhY2VFZGl0U3RhdGVSZXNwb25zZRJpCgxHZXRSZXBvSW5mb3MSKy5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkdldFJlcG9JbmZvc1JlcXVlc3QaLC5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkdldFJlcG9JbmZvc1Jlc3BvbnNlEngKEUdldFdvcmtzcGFjZUluZm9zEjAuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5HZXRXb3Jrc3BhY2VJbmZvc1JlcXVlc3QaMS5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkdldFdvcmtzcGFjZUluZm9zUmVzcG9uc2UShAEKFUdlbmVyYXRlQ29tbWl0TWVzc2FnZRI0LmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuR2VuZXJhdGVDb21taXRNZXNzYWdlUmVxdWVzdBo1LmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuR2VuZXJhdGVDb21taXRNZXNzYWdlUmVzcG9uc2USigEKF1JlY29yZENvbW1pdE1lc3NhZ2VTYXZlEjYuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5SZWNvcmRDb21taXRNZXNzYWdlU2F2ZVJlcXVlc3QaNy5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLlJlY29yZENvbW1pdE1lc3NhZ2VTYXZlUmVzcG9uc2UShAEKFVNlbmRBY3Rpb25Ub0NoYXRQYW5lbBI0LmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuU2VuZEFjdGlvblRvQ2hhdFBhbmVsUmVxdWVzdBo1LmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuU2VuZEFjdGlvblRvQ2hhdFBhbmVsUmVzcG9uc2UScgoPR2V0VXNlclNldHRpbmdzEi4uZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5HZXRVc2VyU2V0dGluZ3NSZXF1ZXN0Gi8uZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5HZXRVc2VyU2V0dGluZ3NSZXNwb25zZRJyCg9TZXRVc2VyU2V0dGluZ3MSLi5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLlNldFVzZXJTZXR0aW5nc1JlcXVlc3QaLy5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLlNldFVzZXJTZXR0aW5nc1Jlc3BvbnNlEoEBChRHZXREZWZhdWx0V2ViT3JpZ2lucxIzLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuR2V0RGVmYXVsdFdlYk9yaWdpbnNSZXF1ZXN0GjQuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5HZXREZWZhdWx0V2ViT3JpZ2luc1Jlc3BvbnNlEn4KE0dldERlYnVnRGlhZ25vc3RpY3MSMi5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkdldERlYnVnRGlhZ25vc3RpY3NSZXF1ZXN0GjMuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5HZXREZWJ1Z0RpYWdub3N0aWNzUmVzcG9uc2USbAoNR2V0VXNlclN0YXR1cxIsLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuR2V0VXNlclN0YXR1c1JlcXVlc3QaLS5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkdldFVzZXJTdGF0dXNSZXNwb25zZRJvCg5HZXRQcm9maWxlRGF0YRItLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuR2V0UHJvZmlsZURhdGFSZXF1ZXN0Gi4uZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5HZXRQcm9maWxlRGF0YVJlc3BvbnNlEmYKC0NhcHR1cmVDb2RlEiouZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5DYXB0dXJlQ29kZVJlcXVlc3QaKy5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkNhcHR1cmVDb2RlUmVzcG9uc2USZgoLQ2FwdHVyZUZpbGUSKi5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkNhcHR1cmVGaWxlUmVxdWVzdBorLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuQ2FwdHVyZUZpbGVSZXNwb25zZRJpCgxHZXRDaGFuZ2Vsb2cSKy5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkdldENoYW5nZWxvZ1JlcXVlc3QaLC5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkdldENoYW5nZWxvZ1Jlc3BvbnNlEmkKDEdldEZ1bmN0aW9ucxIrLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuR2V0RnVuY3Rpb25zUmVxdWVzdBosLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuR2V0RnVuY3Rpb25zUmVzcG9uc2USbAoNR2V0Q2xhc3NJbmZvcxIsLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuR2V0Q2xhc3NJbmZvc1JlcXVlc3QaLS5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkdldENsYXNzSW5mb3NSZXNwb25zZRKHAQoWU2V0dXBVbml2ZXJzaXR5U2FuZGJveBI1LmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuU2V0dXBVbml2ZXJzaXR5U2FuZGJveFJlcXVlc3QaNi5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLlNldHVwVW5pdmVyc2l0eVNhbmRib3hSZXNwb25zZRJRCgRFeGl0EiMuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5FeGl0UmVxdWVzdBokLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuRXhpdFJlc3BvbnNlEnIKD1Jlc2V0T25ib2FyZGluZxIuLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuUmVzZXRPbmJvYXJkaW5nUmVxdWVzdBovLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuUmVzZXRPbmJvYXJkaW5nUmVzcG9uc2USbwoOU2tpcE9uYm9hcmRpbmcSLS5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLlNraXBPbmJvYXJkaW5nUmVxdWVzdBouLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuU2tpcE9uYm9hcmRpbmdSZXNwb25zZRKHAQoWR2V0VXNlclRyYWplY3RvcnlEZWJ1ZxI1LmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuR2V0VXNlclRyYWplY3RvcnlEZWJ1Z1JlcXVlc3QaNi5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkdldFVzZXJUcmFqZWN0b3J5RGVidWdSZXNwb25zZRKcAQodR2V0VXNlclRyYWplY3RvcnlEZXNjcmlwdGlvbnMSPC5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkdldFVzZXJUcmFqZWN0b3J5RGVzY3JpcHRpb25zUmVxdWVzdBo9LmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuR2V0VXNlclRyYWplY3RvcnlEZXNjcmlwdGlvbnNSZXNwb25zZRKaAQojU3RyZWFtVXNlclRyYWplY3RvcnlSZWFjdGl2ZVVwZGF0ZXMSNy5leGEucmVhY3RpdmVfY29tcG9uZW50X3BiLlN0cmVhbVJlYWN0aXZlVXBkYXRlc1JlcXVlc3QaOC5leGEucmVhY3RpdmVfY29tcG9uZW50X3BiLlN0cmVhbVJlYWN0aXZlVXBkYXRlc1Jlc3BvbnNlMAESewoSR2V0Q2FzY2FkZU1lbW9yaWVzEjEuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5HZXRDYXNjYWRlTWVtb3JpZXNSZXF1ZXN0GjIuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5HZXRDYXNjYWRlTWVtb3JpZXNSZXNwb25zZRJ+ChNEZWxldGVDYXNjYWRlTWVtb3J5EjIuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5EZWxldGVDYXNjYWRlTWVtb3J5UmVxdWVzdBozLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuRGVsZXRlQ2FzY2FkZU1lbW9yeVJlc3BvbnNlEn4KE1VwZGF0ZUNhc2NhZGVNZW1vcnkSMi5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLlVwZGF0ZUNhc2NhZGVNZW1vcnlSZXF1ZXN0GjMuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5VcGRhdGVDYXNjYWRlTWVtb3J5UmVzcG9uc2UScgoPR2V0VXNlck1lbW9yaWVzEi4uZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5HZXRVc2VyTWVtb3JpZXNSZXF1ZXN0Gi8uZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5HZXRVc2VyTWVtb3JpZXNSZXNwb25zZRKBAQoUUmVmcmVzaEN1c3RvbWl6YXRpb24SMy5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLlJlZnJlc2hDdXN0b21pemF0aW9uUmVxdWVzdBo0LmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuUmVmcmVzaEN1c3RvbWl6YXRpb25SZXNwb25zZRJ+ChNHZXRDb252ZXJzYXRpb25UYWdzEjIuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5HZXRDb252ZXJzYXRpb25UYWdzUmVxdWVzdBozLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuR2V0Q29udmVyc2F0aW9uVGFnc1Jlc3BvbnNlEocBChZVcGRhdGVDb252ZXJzYXRpb25UYWdzEjUuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5VcGRhdGVDb252ZXJzYXRpb25UYWdzUmVxdWVzdBo2LmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuVXBkYXRlQ29udmVyc2F0aW9uVGFnc1Jlc3BvbnNlEmkKDFN0YXJ0Q2FzY2FkZRIrLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuU3RhcnRDYXNjYWRlUmVxdWVzdBosLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuU3RhcnRDYXNjYWRlUmVzcG9uc2USigEKF0NhbmNlbENhc2NhZGVJbnZvY2F0aW9uEjYuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5DYW5jZWxDYXNjYWRlSW52b2NhdGlvblJlcXVlc3QaNy5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkNhbmNlbENhc2NhZGVJbnZvY2F0aW9uUmVzcG9uc2USnwEKHkNhbmNlbENhc2NhZGVJbnZvY2F0aW9uQW5kV2FpdBI9LmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuQ2FuY2VsQ2FzY2FkZUludm9jYXRpb25BbmRXYWl0UmVxdWVzdBo+LmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuQ2FuY2VsQ2FzY2FkZUludm9jYXRpb25BbmRXYWl0UmVzcG9uc2USewoSQ2FuY2VsQ2FzY2FkZVN0ZXBzEjEuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5DYW5jZWxDYXNjYWRlU3RlcHNSZXF1ZXN0GjIuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5DYW5jZWxDYXNjYWRlU3RlcHNSZXNwb25zZRKHAQoWU2VuZFVzZXJDYXNjYWRlTWVzc2FnZRI1LmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuU2VuZFVzZXJDYXNjYWRlTWVzc2FnZVJlcXVlc3QaNi5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLlNlbmRVc2VyQ2FzY2FkZU1lc3NhZ2VSZXNwb25zZRJsCg1CcmFuY2hDYXNjYWRlEiwuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5CcmFuY2hDYXNjYWRlUmVxdWVzdBotLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuQnJhbmNoQ2FzY2FkZVJlc3BvbnNlEn4KE1F1ZXVlQ2FzY2FkZU1lc3NhZ2USMi5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLlF1ZXVlQ2FzY2FkZU1lc3NhZ2VSZXF1ZXN0GjMuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5RdWV1ZUNhc2NhZGVNZXNzYWdlUmVzcG9uc2USkwEKGkludGVycnVwdFdpdGhRdWV1ZWRNZXNzYWdlEjkuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5JbnRlcnJ1cHRXaXRoUXVldWVkTWVzc2FnZVJlcXVlc3QaOi5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkludGVycnVwdFdpdGhRdWV1ZWRNZXNzYWdlUmVzcG9uc2UScgoPUmVtb3ZlRnJvbVF1ZXVlEi4uZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5SZW1vdmVGcm9tUXVldWVSZXF1ZXN0Gi8uZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5SZW1vdmVGcm9tUXVldWVSZXNwb25zZRJ4ChFNb3ZlUXVldWVkTWVzc2FnZRIwLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuTW92ZVF1ZXVlZE1lc3NhZ2VSZXF1ZXN0GjEuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5Nb3ZlUXVldWVkTWVzc2FnZVJlc3BvbnNlEn4KE1N5bmNFeHBsb3JlQWdlbnRSdW4SMi5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLlN5bmNFeHBsb3JlQWdlbnRSdW5SZXF1ZXN0GjMuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5TeW5jRXhwbG9yZUFnZW50UnVuUmVzcG9uc2USfgoTUmV2ZXJ0VG9DYXNjYWRlU3RlcBIyLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuUmV2ZXJ0VG9DYXNjYWRlU3RlcFJlcXVlc3QaMy5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLlJldmVydFRvQ2FzY2FkZVN0ZXBSZXNwb25zZRJ1ChBHZXRSZXZlcnRQcmV2aWV3Ei8uZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5HZXRSZXZlcnRQcmV2aWV3UmVxdWVzdBowLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuR2V0UmV2ZXJ0UHJldmlld1Jlc3BvbnNlEocBChZSZWNvcmRVc2VyU3RlcFNuYXBzaG90EjUuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5SZWNvcmRVc2VyU3RlcFNuYXBzaG90UmVxdWVzdBo2LmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuUmVjb3JkVXNlclN0ZXBTbmFwc2hvdFJlc3BvbnNlEpABChlHZXRBbGxDYXNjYWRlVHJhamVjdG9yaWVzEjguZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5HZXRBbGxDYXNjYWRlVHJhamVjdG9yaWVzUmVxdWVzdBo5LmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuR2V0QWxsQ2FzY2FkZVRyYWplY3Rvcmllc1Jlc3BvbnNlEpkBChxIYW5kbGVDYXNjYWRlVXNlckludGVyYWN0aW9uEjsuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5IYW5kbGVDYXNjYWRlVXNlckludGVyYWN0aW9uUmVxdWVzdBo8LmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuSGFuZGxlQ2FzY2FkZVVzZXJJbnRlcmFjdGlvblJlc3BvbnNlEpMBChpBY2tub3dsZWRnZUNhc2NhZGVDb2RlRWRpdBI5LmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuQWNrbm93bGVkZ2VDYXNjYWRlQ29kZUVkaXRSZXF1ZXN0GjouZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5BY2tub3dsZWRnZUNhc2NhZGVDb2RlRWRpdFJlc3BvbnNlEooBChdHZXRDb2RlVmFsaWRhdGlvblN0YXRlcxI2LmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuR2V0Q29kZVZhbGlkYXRpb25TdGF0ZXNSZXF1ZXN0GjcuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5HZXRDb2RlVmFsaWRhdGlvblN0YXRlc1Jlc3BvbnNlEm8KDkNyZWF0ZVdvcmt0cmVlEi0uZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5DcmVhdGVXb3JrdHJlZVJlcXVlc3QaLi5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkNyZWF0ZVdvcmt0cmVlUmVzcG9uc2UShwEKFlJlc29sdmVXb3JrdHJlZUNoYW5nZXMSNS5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLlJlc29sdmVXb3JrdHJlZUNoYW5nZXNSZXF1ZXN0GjYuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5SZXNvbHZlV29ya3RyZWVDaGFuZ2VzUmVzcG9uc2USeAoRVW5kb1dvcmt0cmVlTWVyZ2USMC5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLlVuZG9Xb3JrdHJlZU1lcmdlUmVxdWVzdBoxLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuVW5kb1dvcmt0cmVlTWVyZ2VSZXNwb25zZRKKAQoXRGVsZXRlQ2FzY2FkZVRyYWplY3RvcnkSNi5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkRlbGV0ZUNhc2NhZGVUcmFqZWN0b3J5UmVxdWVzdBo3LmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuRGVsZXRlQ2FzY2FkZVRyYWplY3RvcnlSZXNwb25zZRKKAQoXUmVuYW1lQ2FzY2FkZVRyYWplY3RvcnkSNi5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLlJlbmFtZUNhc2NhZGVUcmFqZWN0b3J5UmVxdWVzdBo3LmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuUmVuYW1lQ2FzY2FkZVRyYWplY3RvcnlSZXNwb25zZRKNAQoYQXJjaGl2ZUNhc2NhZGVUcmFqZWN0b3J5EjcuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5BcmNoaXZlQ2FzY2FkZVRyYWplY3RvcnlSZXF1ZXN0GjguZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5BcmNoaXZlQ2FzY2FkZVRyYWplY3RvcnlSZXNwb25zZRKWAQobSW5pdGlhbGl6ZUNhc2NhZGVQYW5lbFN0YXRlEjouZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5Jbml0aWFsaXplQ2FzY2FkZVBhbmVsU3RhdGVSZXF1ZXN0GjsuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5Jbml0aWFsaXplQ2FzY2FkZVBhbmVsU3RhdGVSZXNwb25zZRKfAQoeVXBkYXRlUGFuZWxTdGF0ZVdpdGhVc2VyU3RhdHVzEj0uZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5VcGRhdGVQYW5lbFN0YXRlV2l0aFVzZXJTdGF0dXNSZXF1ZXN0Gj4uZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5VcGRhdGVQYW5lbFN0YXRlV2l0aFVzZXJTdGF0dXNSZXNwb25zZRKcAQodU3Bhd25BcmVuYU1vZGVNaWRDb252ZXJzYXRpb24SPC5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLlNwYXduQXJlbmFNb2RlTWlkQ29udmVyc2F0aW9uUmVxdWVzdBo9LmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuU3Bhd25BcmVuYU1vZGVNaWRDb252ZXJzYXRpb25SZXNwb25zZRKEAQoVQ29udmVyZ2VBcmVuYUNhc2NhZGVzEjQuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5Db252ZXJnZUFyZW5hQ2FzY2FkZXNSZXF1ZXN0GjUuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5Db252ZXJnZUFyZW5hQ2FzY2FkZXNSZXNwb25zZRKYAQohU3RyZWFtQ2FzY2FkZVBhbmVsUmVhY3RpdmVVcGRhdGVzEjcuZXhhLnJlYWN0aXZlX2NvbXBvbmVudF9wYi5TdHJlYW1SZWFjdGl2ZVVwZGF0ZXNSZXF1ZXN0GjguZXhhLnJlYWN0aXZlX2NvbXBvbmVudF9wYi5TdHJlYW1SZWFjdGl2ZVVwZGF0ZXNSZXNwb25zZTABEpMBChxTdHJlYW1DYXNjYWRlUmVhY3RpdmVVcGRhdGVzEjcuZXhhLnJlYWN0aXZlX2NvbXBvbmVudF9wYi5TdHJlYW1SZWFjdGl2ZVVwZGF0ZXNSZXF1ZXN0GjguZXhhLnJlYWN0aXZlX2NvbXBvbmVudF9wYi5TdHJlYW1SZWFjdGl2ZVVwZGF0ZXNSZXNwb25zZTABEpwBCiVTdHJlYW1DYXNjYWRlU3VtbWFyaWVzUmVhY3RpdmVVcGRhdGVzEjcuZXhhLnJlYWN0aXZlX2NvbXBvbmVudF9wYi5TdHJlYW1SZWFjdGl2ZVVwZGF0ZXNSZXF1ZXN0GjguZXhhLnJlYWN0aXZlX2NvbXBvbmVudF9wYi5TdHJlYW1SZWFjdGl2ZVVwZGF0ZXNSZXNwb25zZTABEp8BCh5Gb3JjZUJhY2tncm91bmRSZXNlYXJjaFJlZnJlc2gSPS5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkZvcmNlQmFja2dyb3VuZFJlc2VhcmNoUmVmcmVzaFJlcXVlc3QaPi5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkZvcmNlQmFja2dyb3VuZFJlc2VhcmNoUmVmcmVzaFJlc3BvbnNlEooBChdSZXNvbHZlT3V0c3RhbmRpbmdTdGVwcxI2LmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuUmVzb2x2ZU91dHN0YW5kaW5nU3RlcHNSZXF1ZXN0GjcuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5SZXNvbHZlT3V0c3RhbmRpbmdTdGVwc1Jlc3BvbnNlEngKEVJlZnJlc2hNY3BTZXJ2ZXJzEjAuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5SZWZyZXNoTWNwU2VydmVyc1JlcXVlc3QaMS5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLlJlZnJlc2hNY3BTZXJ2ZXJzUmVzcG9uc2USewoSR2V0TWNwU2VydmVyU3RhdGVzEjEuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5HZXRNY3BTZXJ2ZXJTdGF0ZXNSZXF1ZXN0GjIuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5HZXRNY3BTZXJ2ZXJTdGF0ZXNSZXNwb25zZRJpCgxHZXRNY3BQcm9tcHQSKy5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkdldE1jcFByb21wdFJlcXVlc3QaLC5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkdldE1jcFByb21wdFJlc3BvbnNlEpABChlTYXZlTWNwU2VydmVyVG9Db25maWdGaWxlEjguZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5TYXZlTWNwU2VydmVyVG9Db25maWdGaWxlUmVxdWVzdBo5LmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuU2F2ZU1jcFNlcnZlclRvQ29uZmlnRmlsZVJlc3BvbnNlEpYBChtVcGRhdGVNY3BTZXJ2ZXJJbkNvbmZpZ0ZpbGUSOi5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLlVwZGF0ZU1jcFNlcnZlckluQ29uZmlnRmlsZVJlcXVlc3QaOy5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLlVwZGF0ZU1jcFNlcnZlckluQ29uZmlnRmlsZVJlc3BvbnNlEmwKDVRvZ2dsZU1jcFRvb2wSLC5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLlRvZ2dsZU1jcFRvb2xSZXF1ZXN0Gi0uZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5Ub2dnbGVNY3BUb29sUmVzcG9uc2USjQEKGERpc21pc3NDb2RlTWFwU3VnZ2VzdGlvbhI3LmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuRGlzbWlzc0NvZGVNYXBTdWdnZXN0aW9uUmVxdWVzdBo4LmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuRGlzbWlzc0NvZGVNYXBTdWdnZXN0aW9uUmVzcG9uc2USkgEKGlN0cmVhbVRlcm1pbmFsU2hlbGxDb21tYW5kEjYuZXhhLmNvZGVpdW1fY29tbW9uX3BiLlRlcm1pbmFsU2hlbGxDb21tYW5kU3RyZWFtQ2h1bmsaOi5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLlN0cmVhbVRlcm1pbmFsU2hlbGxDb21tYW5kUmVzcG9uc2UoARJ4ChFHZXRXZWJEb2NzT3B0aW9ucxIwLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuR2V0V2ViRG9jc09wdGlvbnNSZXF1ZXN0GjEuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5HZXRXZWJEb2NzT3B0aW9uc1Jlc3BvbnNlEoEBChRVcGRhdGVEZXZFeHBlcmltZW50cxIzLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuVXBkYXRlRGV2RXhwZXJpbWVudHNSZXF1ZXN0GjQuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5VcGRhdGVEZXZFeHBlcmltZW50c1Jlc3BvbnNlEnsKElNldEJhc2VFeHBlcmltZW50cxIxLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuU2V0QmFzZUV4cGVyaW1lbnRzUmVxdWVzdBoyLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuU2V0QmFzZUV4cGVyaW1lbnRzUmVzcG9uc2USbwoOR2V0VW5sZWFzaERhdGESLS5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkdldFVubGVhc2hEYXRhUmVxdWVzdBouLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuR2V0VW5sZWFzaERhdGFSZXNwb25zZRKrAQoiR2V0QWN0aXZlQXBwRGVwbG95bWVudEZvcldvcmtzcGFjZRJBLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuR2V0QWN0aXZlQXBwRGVwbG95bWVudEZvcldvcmtzcGFjZVJlcXVlc3QaQi5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkdldEFjdGl2ZUFwcERlcGxveW1lbnRGb3JXb3Jrc3BhY2VSZXNwb25zZRKTAQoaR2V0V2luZHN1cmZKU0FwcERlcGxveW1lbnQSOS5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkdldFdpbmRzdXJmSlNBcHBEZXBsb3ltZW50UmVxdWVzdBo6LmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuR2V0V2luZHN1cmZKU0FwcERlcGxveW1lbnRSZXNwb25zZRJ1ChBHZXRNb2RlbFN0YXR1c2VzEi8uZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5HZXRNb2RlbFN0YXR1c2VzUmVxdWVzdBowLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuR2V0TW9kZWxTdGF0dXNlc1Jlc3BvbnNlEqsBCiJVcGRhdGVBdXRvQ2FzY2FkZUdpdGh1YkNyZWRlbnRpYWxzEkEuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5VcGRhdGVBdXRvQ2FzY2FkZUdpdGh1YkNyZWRlbnRpYWxzUmVxdWVzdBpCLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuVXBkYXRlQXV0b0Nhc2NhZGVHaXRodWJDcmVkZW50aWFsc1Jlc3BvbnNlEnIKD0dldEFsbFdvcmtmbG93cxIuLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuR2V0QWxsV29ya2Zsb3dzUmVxdWVzdBovLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuR2V0QWxsV29ya2Zsb3dzUmVzcG9uc2USnwEKHkNvcHlCdWlsdGluV29ya2Zsb3dUb1dvcmtzcGFjZRI9LmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuQ29weUJ1aWx0aW5Xb3JrZmxvd1RvV29ya3NwYWNlUmVxdWVzdBo+LmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuQ29weUJ1aWx0aW5Xb3JrZmxvd1RvV29ya3NwYWNlUmVzcG9uc2USZgoLR2V0QWxsUnVsZXMSKi5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkdldEFsbFJ1bGVzUmVxdWVzdBorLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuR2V0QWxsUnVsZXNSZXNwb25zZRJpCgxHZXRBbGxTa2lsbHMSKy5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkdldEFsbFNraWxsc1JlcXVlc3QaLC5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkdldEFsbFNraWxsc1Jlc3BvbnNlEmYKC0dldEFsbFBsYW5zEiouZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5HZXRBbGxQbGFuc1JlcXVlc3QaKy5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkdldEFsbFBsYW5zUmVzcG9uc2USqwEKIlVwZGF0ZUVudGVycHJpc2VFeHBlcmltZW50c0Zyb21VcmwSQS5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLlVwZGF0ZUVudGVycHJpc2VFeHBlcmltZW50c0Zyb21VcmxSZXF1ZXN0GkIuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5VcGRhdGVFbnRlcnByaXNlRXhwZXJpbWVudHNGcm9tVXJsUmVzcG9uc2USdQoQSW1wb3J0RnJvbUN1cnNvchIvLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuSW1wb3J0RnJvbUN1cnNvclJlcXVlc3QaMC5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkltcG9ydEZyb21DdXJzb3JSZXNwb25zZRKKAQoXQ3JlYXRlQ3VzdG9taXphdGlvbkZpbGUSNi5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkNyZWF0ZUN1c3RvbWl6YXRpb25GaWxlUmVxdWVzdBo3LmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuQ3JlYXRlQ3VzdG9taXphdGlvbkZpbGVSZXNwb25zZRKcAQodR2V0VGVhbU9yZ2FuaXphdGlvbmFsQ29udHJvbHMSPC5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkdldFRlYW1Pcmdhbml6YXRpb25hbENvbnRyb2xzUmVxdWVzdBo9LmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuR2V0VGVhbU9yZ2FuaXphdGlvbmFsQ29udHJvbHNSZXNwb25zZRJvCg5SZWNvcmRVc2VyR3JlcBItLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuUmVjb3JkVXNlckdyZXBSZXF1ZXN0Gi4uZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5SZWNvcmRVc2VyR3JlcFJlc3BvbnNlEp8BCh5HZXRHaXRodWJQdWxsUmVxdWVzdFNlYXJjaEluZm8SPS5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkdldEdpdGh1YlB1bGxSZXF1ZXN0U2VhcmNoSW5mb1JlcXVlc3QaPi5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkdldEdpdGh1YlB1bGxSZXF1ZXN0U2VhcmNoSW5mb1Jlc3BvbnNlEoQBChVDcmVhdGVUcmFqZWN0b3J5U2hhcmUSNC5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkNyZWF0ZVRyYWplY3RvcnlTaGFyZVJlcXVlc3QaNS5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkNyZWF0ZVRyYWplY3RvcnlTaGFyZVJlc3BvbnNlEpkBChxHZXRLbm93bGVkZ2VCYXNlSXRlbXNGb3JUZWFtEjsuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5HZXRLbm93bGVkZ2VCYXNlSXRlbXNGb3JUZWFtUmVxdWVzdBo8LmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuR2V0S25vd2xlZGdlQmFzZUl0ZW1zRm9yVGVhbVJlc3BvbnNlEoEBChRHZXRDYXNjYWRlVHJhamVjdG9yeRIzLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuR2V0Q2FzY2FkZVRyYWplY3RvcnlSZXF1ZXN0GjQuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5HZXRDYXNjYWRlVHJhamVjdG9yeVJlc3BvbnNlEngKEUdldFVzZXJUcmFqZWN0b3J5EjAuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5HZXRVc2VyVHJhamVjdG9yeVJlcXVlc3QaMS5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkdldFVzZXJUcmFqZWN0b3J5UmVzcG9uc2USkAEKGUdldENhc2NhZGVUcmFqZWN0b3J5U3RlcHMSOC5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkdldENhc2NhZGVUcmFqZWN0b3J5U3RlcHNSZXF1ZXN0GjkuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5HZXRDYXNjYWRlVHJhamVjdG9yeVN0ZXBzUmVzcG9uc2UStAEKJUdldENhc2NhZGVUcmFqZWN0b3J5R2VuZXJhdG9yTWV0YWRhdGESRC5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkdldENhc2NhZGVUcmFqZWN0b3J5R2VuZXJhdG9yTWV0YWRhdGFSZXF1ZXN0GkUuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5HZXRDYXNjYWRlVHJhamVjdG9yeUdlbmVyYXRvck1ldGFkYXRhUmVzcG9uc2USrgEKI0dldENhc2NhZGVUcmFuc2NyaXB0Rm9yVHJhamVjdG9yeUlkEkIuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5HZXRDYXNjYWRlVHJhbnNjcmlwdEZvclRyYWplY3RvcnlJZFJlcXVlc3QaQy5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkdldENhc2NhZGVUcmFuc2NyaXB0Rm9yVHJhamVjdG9yeUlkUmVzcG9uc2UShAEKFUdldFBhdGNoQW5kQ29kZUNoYW5nZRI0LmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuR2V0UGF0Y2hBbmRDb2RlQ2hhbmdlUmVxdWVzdBo1LmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuR2V0UGF0Y2hBbmRDb2RlQ2hhbmdlUmVzcG9uc2USkwEKGkdldEF2YWlsYWJsZUNhc2NhZGVQbHVnaW5zEjkuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5HZXRBdmFpbGFibGVDYXNjYWRlUGx1Z2luc1JlcXVlc3QaOi5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkdldEF2YWlsYWJsZUNhc2NhZGVQbHVnaW5zUmVzcG9uc2UShAEKFUdldE1jcFJlZ2lzdHJ5U2VydmVycxI0LmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuR2V0TWNwUmVnaXN0cnlTZXJ2ZXJzUmVxdWVzdBo1LmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuR2V0TWNwUmVnaXN0cnlTZXJ2ZXJzUmVzcG9uc2USfgoTR2V0QWxsQWNwUmVnaXN0cmllcxIyLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuR2V0QWxsQWNwUmVnaXN0cmllc1JlcXVlc3QaMy5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkdldEFsbEFjcFJlZ2lzdHJpZXNSZXNwb25zZRJmCgtSZWNvcmRMaW50cxIqLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuUmVjb3JkTGludHNSZXF1ZXN0GisuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5SZWNvcmRMaW50c1Jlc3BvbnNlEpYBChtSZXBsYXlHcm91bmRUcnV0aFRyYWplY3RvcnkSOi5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLlJlcGxheUdyb3VuZFRydXRoVHJhamVjdG9yeVJlcXVlc3QaOy5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLlJlcGxheUdyb3VuZFRydXRoVHJhamVjdG9yeVJlc3BvbnNlEocBChZNb3VudENhc2NhZGVGaWxlc3lzdGVtEjUuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5Nb3VudENhc2NhZGVGaWxlc3lzdGVtUmVxdWVzdBo2LmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuTW91bnRDYXNjYWRlRmlsZXN5c3RlbVJlc3BvbnNlEo0BChhVbm1vdW50Q2FzY2FkZUZpbGVzeXN0ZW0SNy5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLlVubW91bnRDYXNjYWRlRmlsZXN5c3RlbVJlcXVlc3QaOC5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLlVubW91bnRDYXNjYWRlRmlsZXN5c3RlbVJlc3BvbnNlEngKEUxvZ0Nhc2NhZGVTZXNzaW9uEjAuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5Mb2dDYXNjYWRlU2Vzc2lvblJlcXVlc3QaMS5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkxvZ0Nhc2NhZGVTZXNzaW9uUmVzcG9uc2USdQoQR2V0VHJhbnNjcmlwdGlvbhIvLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuR2V0VHJhbnNjcmlwdGlvblJlcXVlc3QaMC5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkdldFRyYW5zY3JpcHRpb25SZXNwb25zZRKkAQofR2VuZXJhdGVWaWJlQW5kUmVwbGFjZVN0cmVhbWluZxI+LmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuR2VuZXJhdGVWaWJlQW5kUmVwbGFjZVN0cmVhbWluZ1JlcXVlc3QaPy5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkdlbmVyYXRlVmliZUFuZFJlcGxhY2VTdHJlYW1pbmdSZXNwb25zZTABEn4KE0dldENvZGVNYXBzRm9yUmVwb3MSMi5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkdldENvZGVNYXBzRm9yUmVwb3NSZXF1ZXN0GjMuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5HZXRDb2RlTWFwc0ZvclJlcG9zUmVzcG9uc2USewoSR2V0Q29kZU1hcHNGb3JGaWxlEjEuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5HZXRDb2RlTWFwc0ZvckZpbGVSZXF1ZXN0GjIuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5HZXRDb2RlTWFwc0ZvckZpbGVSZXNwb25zZRJ0Cg9HZW5lcmF0ZUNvZGVNYXASLi5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkdlbmVyYXRlQ29kZU1hcFJlcXVlc3QaLy5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkdlbmVyYXRlQ29kZU1hcFJlc3BvbnNlMAESpAEKH0JyYW5jaENhc2NhZGVBbmRHZW5lcmF0ZUNvZGVNYXASPi5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkJyYW5jaENhc2NhZGVBbmRHZW5lcmF0ZUNvZGVNYXBSZXF1ZXN0Gj8uZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5CcmFuY2hDYXNjYWRlQW5kR2VuZXJhdGVDb2RlTWFwUmVzcG9uc2UwARJpCgxTaGFyZUNvZGVNYXASKy5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLlNoYXJlQ29kZU1hcFJlcXVlc3QaLC5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLlNoYXJlQ29kZU1hcFJlc3BvbnNlEnUKEEdldFNoYXJlZENvZGVNYXASLy5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkdldFNoYXJlZENvZGVNYXBSZXF1ZXN0GjAuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5HZXRTaGFyZWRDb2RlTWFwUmVzcG9uc2UShAEKFUdldENvZGVNYXBTdWdnZXN0aW9ucxI0LmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuR2V0Q29kZU1hcFN1Z2dlc3Rpb25zUmVxdWVzdBo1LmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuR2V0Q29kZU1hcFN1Z2dlc3Rpb25zUmVzcG9uc2UShAEKFVVwZGF0ZUNvZGVNYXBNZXRhZGF0YRI0LmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuVXBkYXRlQ29kZU1hcE1ldGFkYXRhUmVxdWVzdBo1LmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuVXBkYXRlQ29kZU1hcE1ldGFkYXRhUmVzcG9uc2USfgoTU2F2ZUNvZGVNYXBGcm9tSnNvbhIyLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuU2F2ZUNvZGVNYXBGcm9tSnNvblJlcXVlc3QaMy5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLlNhdmVDb2RlTWFwRnJvbUpzb25SZXNwb25zZRJgCglDaGVja0J1Z3MSKC5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkNoZWNrQnVnc1JlcXVlc3QaKS5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLkNoZWNrQnVnc1Jlc3BvbnNlEnsKEkdldExpZmVndWFyZENvbmZpZxIxLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuR2V0TGlmZWd1YXJkQ29uZmlnUmVxdWVzdBoyLmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuR2V0TGlmZWd1YXJkQ29uZmlnUmVzcG9uc2UScgoPU3VibWl0QnVnUmVwb3J0Ei4uZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5TdWJtaXRCdWdSZXBvcnRSZXF1ZXN0Gi8uZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5TdWJtaXRCdWdSZXBvcnRSZXNwb25zZRJXCgZPbkVkaXQSJS5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLk9uRWRpdFJlcXVlc3QaJi5leGEubGFuZ3VhZ2Vfc2VydmVyX3BiLk9uRWRpdFJlc3BvbnNlEooBChdHZXRTeXN0ZW1Qcm9tcHRBbmRUb29scxI2LmV4YS5sYW5ndWFnZV9zZXJ2ZXJfcGIuR2V0U3lzdGVtUHJvbXB0QW5kVG9vbHNSZXF1ZXN0GjcuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5HZXRTeXN0ZW1Qcm9tcHRBbmRUb29sc1Jlc3BvbnNlYgZwcm90bzM", [file_buf_validate_validate, file_exa_auto_cascade_common_pb_auto_cascade_common, file_exa_bug_checker_pb_bug_checker, file_exa_cascade_plugins_pb_cascade_plugins, file_exa_chat_pb_chat, file_exa_code_edit_code_edit_pb_code_edit, file_exa_codeium_common_pb_codeium_common, file_exa_cortex_pb_cortex, file_exa_diff_action_pb_diff_action, file_exa_index_pb_index, file_exa_knowledge_base_pb_knowledge_base, file_exa_reactive_component_pb_reactive_component, file_google_protobuf_duration, file_google_protobuf_timestamp]); + +/** + * @generated from message exa.language_server_pb.GetGithubPullRequestSearchInfoRequest + */ +export type GetGithubPullRequestSearchInfoRequest = Message<"exa.language_server_pb.GetGithubPullRequestSearchInfoRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string query = 2; + */ + query: string; +}; + +/** + * Describes the message exa.language_server_pb.GetGithubPullRequestSearchInfoRequest. + * Use `create(GetGithubPullRequestSearchInfoRequestSchema)` to create a new message. + */ +export const GetGithubPullRequestSearchInfoRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 0); + +/** + * @generated from message exa.language_server_pb.GetGithubPullRequestSearchInfoResponse + */ +export type GetGithubPullRequestSearchInfoResponse = Message<"exa.language_server_pb.GetGithubPullRequestSearchInfoResponse"> & { + /** + * @generated from field: repeated exa.auto_cascade_common_pb.GithubPullRequestInfo pull_request_infos = 1; + */ + pullRequestInfos: GithubPullRequestInfo[]; +}; + +/** + * Describes the message exa.language_server_pb.GetGithubPullRequestSearchInfoResponse. + * Use `create(GetGithubPullRequestSearchInfoResponseSchema)` to create a new message. + */ +export const GetGithubPullRequestSearchInfoResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 1); + +/** + * @generated from message exa.language_server_pb.UpdateAutoCascadeGithubCredentialsRequest + */ +export type UpdateAutoCascadeGithubCredentialsRequest = Message<"exa.language_server_pb.UpdateAutoCascadeGithubCredentialsRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string github_token = 2; + */ + githubToken: string; +}; + +/** + * Describes the message exa.language_server_pb.UpdateAutoCascadeGithubCredentialsRequest. + * Use `create(UpdateAutoCascadeGithubCredentialsRequestSchema)` to create a new message. + */ +export const UpdateAutoCascadeGithubCredentialsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 2); + +/** + * @generated from message exa.language_server_pb.UpdateAutoCascadeGithubCredentialsResponse + */ +export type UpdateAutoCascadeGithubCredentialsResponse = Message<"exa.language_server_pb.UpdateAutoCascadeGithubCredentialsResponse"> & { +}; + +/** + * Describes the message exa.language_server_pb.UpdateAutoCascadeGithubCredentialsResponse. + * Use `create(UpdateAutoCascadeGithubCredentialsResponseSchema)` to create a new message. + */ +export const UpdateAutoCascadeGithubCredentialsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 3); + +/** + * @generated from message exa.language_server_pb.HandleStreamingCommandRequest + */ +export type HandleStreamingCommandRequest = Message<"exa.language_server_pb.HandleStreamingCommandRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: exa.codeium_common_pb.Document document = 2; + */ + document?: Document | undefined; + + /** + * @generated from field: exa.codeium_common_pb.EditorOptions editor_options = 3; + */ + editorOptions?: EditorOptions | undefined; + + /** + * @generated from field: exa.codeium_common_pb.Model requested_model_id = 4; + */ + requestedModelId: Model; + + /** + * @generated from field: uint64 selection_start_line = 6; + */ + selectionStartLine: bigint; + + /** + * @generated from field: uint64 selection_end_line = 7; + */ + selectionEndLine: bigint; + + /** + * @generated from field: string command_text = 8; + */ + commandText: string; + + /** + * @generated from field: exa.codeium_common_pb.CommandRequestSource request_source = 9; + */ + requestSource: CommandRequestSource; + + /** + * @generated from field: exa.codeium_common_pb.ContextScope mentioned_scope = 10; + */ + mentionedScope?: ContextScope | undefined; + + /** + * @generated from field: exa.codeium_common_pb.ActionPointer action_pointer = 11; + */ + actionPointer?: ActionPointer | undefined; + + /** + * @generated from field: string parent_completion_id = 12; + */ + parentCompletionId: string; + + /** + * @generated from field: exa.diff_action_pb.DiffType diff_type = 13; + */ + diffType: DiffType; + + /** + * @generated from field: repeated exa.codeium_common_pb.CodeDiagnostic diagnostics = 14; + */ + diagnostics: CodeDiagnostic[]; + + /** + * @generated from field: exa.codeium_common_pb.SupercompleteTriggerCondition supercomplete_trigger_condition = 15; + */ + supercompleteTriggerCondition: SupercompleteTriggerCondition; + + /** + * @generated from field: exa.codeium_common_pb.TerminalCommandData terminal_command_data = 16; + */ + terminalCommandData?: TerminalCommandData | undefined; + + /** + * @generated from field: exa.codeium_common_pb.ExperimentConfig experiment_config = 5 [deprecated = true]; + * @deprecated + */ + experimentConfig?: ExperimentConfig | undefined; + + /** + * @generated from field: bool ignore_supercomplete_debounce = 17; + */ + ignoreSupercompleteDebounce: boolean; + + /** + * @generated from field: string clipboard_entry = 18; + */ + clipboardEntry: string; + + /** + * @generated from field: repeated exa.codeium_common_pb.IntellisenseSuggestion intellisense_suggestions = 19; + */ + intellisenseSuggestions: IntellisenseSuggestion[]; +}; + +/** + * Describes the message exa.language_server_pb.HandleStreamingCommandRequest. + * Use `create(HandleStreamingCommandRequestSchema)` to create a new message. + */ +export const HandleStreamingCommandRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 4); + +/** + * @generated from message exa.language_server_pb.HandleStreamingCommandResponse + */ +export type HandleStreamingCommandResponse = Message<"exa.language_server_pb.HandleStreamingCommandResponse"> & { + /** + * @generated from field: string completion_id = 1; + */ + completionId: string; + + /** + * @generated from field: string prompt_id = 2; + */ + promptId: string; + + /** + * @generated from field: exa.diff_action_pb.UnifiedDiff diff = 3; + */ + diff?: UnifiedDiff$1 | undefined; + + /** + * @generated from field: exa.language_server_pb.LatencyInfo latency_info = 4; + */ + latencyInfo?: LatencyInfo | undefined; + + /** + * @generated from field: uint64 selection_start_line = 5; + */ + selectionStartLine: bigint; + + /** + * @generated from field: uint64 selection_end_line = 6; + */ + selectionEndLine: bigint; + + /** + * @generated from field: double score = 7; + */ + score: number; + + /** + * @generated from field: exa.diff_action_pb.CharacterDiff character_diff = 8; + */ + characterDiff?: CharacterDiff | undefined; + + /** + * @generated from field: exa.diff_action_pb.ComboDiff combo_diff = 9; + */ + comboDiff?: ComboDiff | undefined; + + /** + * @generated from field: exa.codeium_common_pb.SuperCompleteFilterReason filter_reason = 10; + */ + filterReason?: SuperCompleteFilterReason | undefined; + + /** + * @generated from field: optional exa.codeium_common_pb.DocumentPosition jump_position = 14; + */ + jumpPosition?: DocumentPosition | undefined; + + /** + * @generated from field: exa.language_server_pb.RequestInfo request_info = 12; + */ + requestInfo?: RequestInfo | undefined; + + /** + * @generated from field: exa.codeium_common_pb.StopReason stop_reason = 13; + */ + stopReason: StopReason; + + /** + * @generated from field: exa.cortex_pb.CortexTrajectory trajectory = 15; + */ + trajectory?: CortexTrajectory | undefined; + + /** + * @generated from field: string raw_text = 16; + */ + rawText: string; + + /** + * @generated from field: optional uint64 closest_changed_line = 11 [deprecated = true]; + * @deprecated + */ + closestChangedLine?: bigint | undefined; + + /** + * @generated from field: string request_uid = 17; + */ + requestUid: string; +}; + +/** + * Describes the message exa.language_server_pb.HandleStreamingCommandResponse. + * Use `create(HandleStreamingCommandResponseSchema)` to create a new message. + */ +export const HandleStreamingCommandResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 5); + +/** + * @generated from message exa.language_server_pb.HandleStreamingTabRequest + */ +export type HandleStreamingTabRequest = Message<"exa.language_server_pb.HandleStreamingTabRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: exa.codeium_common_pb.Document document = 2; + */ + document?: Document | undefined; + + /** + * @generated from field: exa.codeium_common_pb.EditorOptions editor_options = 3; + */ + editorOptions?: EditorOptions | undefined; + + /** + * @generated from field: exa.language_server_pb.TabRequestSource request_source = 4; + */ + requestSource: TabRequestSource; + + /** + * @generated from field: repeated exa.codeium_common_pb.CodeDiagnostic diagnostics = 5; + */ + diagnostics: CodeDiagnostic[]; + + /** + * @generated from field: exa.codeium_common_pb.SupercompleteTriggerCondition supercomplete_trigger_condition = 6; + */ + supercompleteTriggerCondition: SupercompleteTriggerCondition; + + /** + * @generated from field: string clipboard_entry = 7; + */ + clipboardEntry: string; + + /** + * @generated from field: repeated exa.codeium_common_pb.IntellisenseSuggestion intellisense_suggestions = 8; + */ + intellisenseSuggestions: IntellisenseSuggestion[]; + + /** + * @generated from field: repeated exa.codeium_common_pb.Document other_documents = 9; + */ + otherDocuments: Document[]; +}; + +/** + * Describes the message exa.language_server_pb.HandleStreamingTabRequest. + * Use `create(HandleStreamingTabRequestSchema)` to create a new message. + */ +export const HandleStreamingTabRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 6); + +/** + * @generated from message exa.language_server_pb.TabRequestInfo + */ +export type TabRequestInfo = Message<"exa.language_server_pb.TabRequestInfo"> & { + /** + * @generated from field: string prompt_id = 1; + */ + promptId: string; + + /** + * @generated from field: string prompt = 2; + */ + prompt: string; + + /** + * @generated from field: string typing_as_suggested_prompt_suffix = 3; + */ + typingAsSuggestedPromptSuffix: string; +}; + +/** + * Describes the message exa.language_server_pb.TabRequestInfo. + * Use `create(TabRequestInfoSchema)` to create a new message. + */ +export const TabRequestInfoSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 7); + +/** + * @generated from message exa.language_server_pb.HandleStreamingTabResponse + */ +export type HandleStreamingTabResponse = Message<"exa.language_server_pb.HandleStreamingTabResponse"> & { + /** + * @generated from field: string completion_id = 1; + */ + completionId: string; + + /** + * @generated from field: string prompt_id = 2; + */ + promptId: string; + + /** + * @generated from field: exa.diff_action_pb.UnifiedDiff diff = 3; + */ + diff?: UnifiedDiff$1 | undefined; + + /** + * @generated from field: exa.language_server_pb.LatencyInfo latency_info = 4; + */ + latencyInfo?: LatencyInfo | undefined; + + /** + * @generated from field: uint64 selection_start_line = 5; + */ + selectionStartLine: bigint; + + /** + * @generated from field: uint64 selection_end_line = 6; + */ + selectionEndLine: bigint; + + /** + * @generated from field: double score = 7; + */ + score: number; + + /** + * @generated from field: exa.diff_action_pb.CharacterDiff character_diff = 8; + */ + characterDiff?: CharacterDiff | undefined; + + /** + * @generated from field: exa.codeium_common_pb.SuperCompleteFilterReason filter_reason = 10; + */ + filterReason?: SuperCompleteFilterReason | undefined; + + /** + * @generated from field: optional exa.codeium_common_pb.DocumentPosition jump_position = 14; + */ + jumpPosition?: DocumentPosition | undefined; + + /** + * @generated from field: exa.language_server_pb.TabRequestInfo request_info = 12; + */ + requestInfo?: TabRequestInfo | undefined; + + /** + * @generated from field: exa.codeium_common_pb.StopReason stop_reason = 13; + */ + stopReason: StopReason; + + /** + * @generated from field: string raw_text = 16; + */ + rawText: string; + + /** + * @generated from field: optional uint64 closest_changed_line = 11 [deprecated = true]; + * @deprecated + */ + closestChangedLine?: bigint | undefined; + + /** + * @generated from field: string request_uid = 17; + */ + requestUid: string; + + /** + * @generated from field: optional string old_str = 18; + */ + oldStr?: string | undefined; +}; + +/** + * Describes the message exa.language_server_pb.HandleStreamingTabResponse. + * Use `create(HandleStreamingTabResponseSchema)` to create a new message. + */ +export const HandleStreamingTabResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 8); + +/** + * @generated from message exa.language_server_pb.HandleStreamingTabV2Request + */ +export type HandleStreamingTabV2Request = Message<"exa.language_server_pb.HandleStreamingTabV2Request"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: exa.codeium_common_pb.Document document = 2; + */ + document?: Document | undefined; + + /** + * @generated from field: exa.codeium_common_pb.EditorOptions editor_options = 3; + */ + editorOptions?: EditorOptions | undefined; + + /** + * @generated from field: repeated exa.codeium_common_pb.CodeDiagnostic diagnostics = 5; + */ + diagnostics: CodeDiagnostic[]; + + /** + * @generated from field: exa.codeium_common_pb.SupercompleteTriggerCondition supercomplete_trigger_condition = 6; + */ + supercompleteTriggerCondition: SupercompleteTriggerCondition; + + /** + * @generated from field: string clipboard_entry = 7; + */ + clipboardEntry: string; + + /** + * @generated from field: repeated exa.codeium_common_pb.IntellisenseSuggestion intellisense_suggestions = 8; + */ + intellisenseSuggestions: IntellisenseSuggestion[]; + + /** + * @generated from field: repeated exa.codeium_common_pb.Document other_documents = 9; + */ + otherDocuments: Document[]; + + /** + * @generated from field: exa.chat_pb.DeepWikiContext deep_wiki_context_v2 = 12; + */ + deepWikiContextV2?: DeepWikiContext | undefined; + + /** + * @generated from field: repeated exa.cortex_pb.CortexTrajectoryStep predictive_trajectory_steps = 11; + */ + predictiveTrajectorySteps: CortexTrajectoryStep[]; + + /** + * @generated from field: bool disable_supercomplete = 13; + */ + disableSupercomplete: boolean; + + /** + * @generated from field: bool disable_tab_jump = 14; + */ + disableTabJump: boolean; + + /** + * @generated from field: exa.codeium_common_pb.SupercompleteAggression supercomplete_aggression = 15; + */ + supercompleteAggression: SupercompleteAggression; +}; + +/** + * Describes the message exa.language_server_pb.HandleStreamingTabV2Request. + * Use `create(HandleStreamingTabV2RequestSchema)` to create a new message. + */ +export const HandleStreamingTabV2RequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 9); + +/** + * @generated from message exa.language_server_pb.HandleStreamingTabV2Response + */ +export type HandleStreamingTabV2Response = Message<"exa.language_server_pb.HandleStreamingTabV2Response"> & { + /** + * @generated from field: string completion_id = 1; + */ + completionId: string; + + /** + * @generated from field: string prompt_id = 2; + */ + promptId: string; + + /** + * @generated from field: string request_uid = 3; + */ + requestUid: string; + + /** + * @generated from field: exa.codeium_common_pb.SuperCompleteFilterReason filter_reason = 4; + */ + filterReason?: SuperCompleteFilterReason | undefined; + + /** + * @generated from field: exa.codeium_common_pb.StopReason stop_reason = 5; + */ + stopReason: StopReason; + + /** + * @generated from field: exa.language_server_pb.TabRequestInfo request_info = 6; + */ + requestInfo?: TabRequestInfo | undefined; + + /** + * @generated from oneof exa.language_server_pb.HandleStreamingTabV2Response.suggestion + */ + suggestion: { + /** + * @generated from field: exa.language_server_pb.HandleStreamingTabV2Response.Diff diff = 7; + */ + value: HandleStreamingTabV2Response_Diff; + case: "diff"; + } | { + /** + * @generated from field: exa.language_server_pb.HandleStreamingTabV2Response.TabJump tab_jump = 8; + */ + value: HandleStreamingTabV2Response_TabJump; + case: "tabJump"; + } | { + /** + * @generated from field: exa.language_server_pb.HandleStreamingTabV2Response.NoOp noop = 9; + */ + value: HandleStreamingTabV2Response_NoOp; + case: "noop"; + } | { case: undefined; value?: undefined }; +}; + +/** + * Describes the message exa.language_server_pb.HandleStreamingTabV2Response. + * Use `create(HandleStreamingTabV2ResponseSchema)` to create a new message. + */ +export const HandleStreamingTabV2ResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 10); + +/** + * @generated from message exa.language_server_pb.HandleStreamingTabV2Response.Diff + */ +export type HandleStreamingTabV2Response_Diff = Message<"exa.language_server_pb.HandleStreamingTabV2Response.Diff"> & { + /** + * @generated from field: string path = 1; + */ + path: string; + + /** + * @generated from field: uint64 selection_start_line = 2; + */ + selectionStartLine: bigint; + + /** + * @generated from field: uint64 selection_end_line = 3; + */ + selectionEndLine: bigint; + + /** + * @generated from field: exa.diff_action_pb.CharacterDiff character_diff = 4; + */ + characterDiff?: CharacterDiff | undefined; + + /** + * @generated from field: exa.codeium_common_pb.DocumentPosition cursor_position = 5; + */ + cursorPosition?: DocumentPosition | undefined; + + /** + * @generated from field: string old_str = 6; + */ + oldStr: string; + + /** + * @generated from field: exa.diff_action_pb.UnifiedDiff unified_diff = 9; + */ + unifiedDiff?: UnifiedDiff$1 | undefined; + + /** + * @generated from oneof exa.language_server_pb.HandleStreamingTabV2Response.Diff.render_info + */ + renderInfo: { + /** + * @generated from field: exa.language_server_pb.HandleStreamingTabV2Response.Diff.SideHintRender side_hint_render = 7; + */ + value: HandleStreamingTabV2Response_Diff_SideHintRender; + case: "sideHintRender"; + } | { + /** + * @generated from field: exa.language_server_pb.HandleStreamingTabV2Response.Diff.InlineHintRender inline_hint_render = 8; + */ + value: HandleStreamingTabV2Response_Diff_InlineHintRender; + case: "inlineHintRender"; + } | { case: undefined; value?: undefined }; +}; + +/** + * Describes the message exa.language_server_pb.HandleStreamingTabV2Response.Diff. + * Use `create(HandleStreamingTabV2Response_DiffSchema)` to create a new message. + */ +export const HandleStreamingTabV2Response_DiffSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 10, 0); + +/** + * @generated from message exa.language_server_pb.HandleStreamingTabV2Response.Diff.SideHintRender + */ +export type HandleStreamingTabV2Response_Diff_SideHintRender = Message<"exa.language_server_pb.HandleStreamingTabV2Response.Diff.SideHintRender"> & { +}; + +/** + * Describes the message exa.language_server_pb.HandleStreamingTabV2Response.Diff.SideHintRender. + * Use `create(HandleStreamingTabV2Response_Diff_SideHintRenderSchema)` to create a new message. + */ +export const HandleStreamingTabV2Response_Diff_SideHintRenderSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 10, 0, 0); + +/** + * @generated from message exa.language_server_pb.HandleStreamingTabV2Response.Diff.InlineHintRender + */ +export type HandleStreamingTabV2Response_Diff_InlineHintRender = Message<"exa.language_server_pb.HandleStreamingTabV2Response.Diff.InlineHintRender"> & { +}; + +/** + * Describes the message exa.language_server_pb.HandleStreamingTabV2Response.Diff.InlineHintRender. + * Use `create(HandleStreamingTabV2Response_Diff_InlineHintRenderSchema)` to create a new message. + */ +export const HandleStreamingTabV2Response_Diff_InlineHintRenderSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 10, 0, 1); + +/** + * @generated from message exa.language_server_pb.HandleStreamingTabV2Response.TabJump + */ +export type HandleStreamingTabV2Response_TabJump = Message<"exa.language_server_pb.HandleStreamingTabV2Response.TabJump"> & { + /** + * @generated from field: string path = 1; + */ + path: string; + + /** + * @generated from field: exa.codeium_common_pb.DocumentPosition jump_position = 2; + */ + jumpPosition?: DocumentPosition | undefined; + + /** + * @generated from field: bool is_import = 3; + */ + isImport: boolean; +}; + +/** + * Describes the message exa.language_server_pb.HandleStreamingTabV2Response.TabJump. + * Use `create(HandleStreamingTabV2Response_TabJumpSchema)` to create a new message. + */ +export const HandleStreamingTabV2Response_TabJumpSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 10, 1); + +/** + * @generated from message exa.language_server_pb.HandleStreamingTabV2Response.NoOp + */ +export type HandleStreamingTabV2Response_NoOp = Message<"exa.language_server_pb.HandleStreamingTabV2Response.NoOp"> & { +}; + +/** + * Describes the message exa.language_server_pb.HandleStreamingTabV2Response.NoOp. + * Use `create(HandleStreamingTabV2Response_NoOpSchema)` to create a new message. + */ +export const HandleStreamingTabV2Response_NoOpSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 10, 2); + +/** + * @generated from message exa.language_server_pb.UploadRecentCommandsRequest + */ +export type UploadRecentCommandsRequest = Message<"exa.language_server_pb.UploadRecentCommandsRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; +}; + +/** + * Describes the message exa.language_server_pb.UploadRecentCommandsRequest. + * Use `create(UploadRecentCommandsRequestSchema)` to create a new message. + */ +export const UploadRecentCommandsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 11); + +/** + * @generated from message exa.language_server_pb.UploadRecentCommandsResponse + */ +export type UploadRecentCommandsResponse = Message<"exa.language_server_pb.UploadRecentCommandsResponse"> & { + /** + * @generated from field: repeated string request_uids = 1; + */ + requestUids: string[]; +}; + +/** + * Describes the message exa.language_server_pb.UploadRecentCommandsResponse. + * Use `create(UploadRecentCommandsResponseSchema)` to create a new message. + */ +export const UploadRecentCommandsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 12); + +/** + * @generated from message exa.language_server_pb.MultilineConfig + */ +export type MultilineConfig = Message<"exa.language_server_pb.MultilineConfig"> & { + /** + * @generated from field: float threshold = 1; + */ + threshold: number; +}; + +/** + * Describes the message exa.language_server_pb.MultilineConfig. + * Use `create(MultilineConfigSchema)` to create a new message. + */ +export const MultilineConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 13); + +/** + * @generated from message exa.language_server_pb.GetCompletionsRequest + */ +export type GetCompletionsRequest = Message<"exa.language_server_pb.GetCompletionsRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: exa.codeium_common_pb.Document document = 2; + */ + document?: Document | undefined; + + /** + * @generated from field: exa.codeium_common_pb.EditorOptions editor_options = 3; + */ + editorOptions?: EditorOptions | undefined; + + /** + * @generated from field: repeated exa.codeium_common_pb.Document other_documents = 5; + */ + otherDocuments: Document[]; + + /** + * @generated from field: exa.codeium_common_pb.MockResponseData mock_response_data = 6; + */ + mockResponseData?: MockResponseData | undefined; + + /** + * @generated from field: bool disable_cache = 8; + */ + disableCache: boolean; + + /** + * @generated from field: repeated exa.codeium_common_pb.CodeContextItem oracle_items = 9; + */ + oracleItems: CodeContextItem[]; + + /** + * @generated from field: string model_name = 10; + */ + modelName: string; + + /** + * @generated from field: exa.codeium_common_pb.Model requested_model_id = 12; + */ + requestedModelId: Model; + + /** + * @generated from field: exa.language_server_pb.MultilineConfig multiline_config = 13; + */ + multilineConfig?: MultilineConfig | undefined; + + /** + * @generated from field: exa.codeium_common_pb.ExperimentConfig experiment_config = 7 [deprecated = true]; + * @deprecated + */ + experimentConfig?: ExperimentConfig | undefined; +}; + +/** + * Describes the message exa.language_server_pb.GetCompletionsRequest. + * Use `create(GetCompletionsRequestSchema)` to create a new message. + */ +export const GetCompletionsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 14); + +/** + * @generated from message exa.language_server_pb.GetCompletionsResponse + */ +export type GetCompletionsResponse = Message<"exa.language_server_pb.GetCompletionsResponse"> & { + /** + * @generated from field: exa.language_server_pb.State state = 1; + */ + state?: State | undefined; + + /** + * @generated from field: repeated exa.language_server_pb.CompletionItem completion_items = 2; + */ + completionItems: CompletionItem[]; + + /** + * @generated from field: repeated exa.language_server_pb.CompletionItem filtered_completion_items = 7; + */ + filteredCompletionItems: CompletionItem[]; + + /** + * @generated from field: exa.language_server_pb.RequestInfo request_info = 3; + */ + requestInfo?: RequestInfo | undefined; + + /** + * @generated from field: exa.language_server_pb.LatencyInfo latency_info = 4; + */ + latencyInfo?: LatencyInfo | undefined; + + /** + * @generated from field: string model_tag = 5; + */ + modelTag: string; + + /** + * @generated from field: string prompt_id = 6; + */ + promptId: string; + + /** + * @generated from field: repeated exa.language_server_pb.CodeRange code_ranges = 8; + */ + codeRanges: CodeRange[]; +}; + +/** + * Describes the message exa.language_server_pb.GetCompletionsResponse. + * Use `create(GetCompletionsResponseSchema)` to create a new message. + */ +export const GetCompletionsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 15); + +/** + * @generated from message exa.language_server_pb.AcceptCompletionRequest + */ +export type AcceptCompletionRequest = Message<"exa.language_server_pb.AcceptCompletionRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string completion_id = 2; + */ + completionId: string; +}; + +/** + * Describes the message exa.language_server_pb.AcceptCompletionRequest. + * Use `create(AcceptCompletionRequestSchema)` to create a new message. + */ +export const AcceptCompletionRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 16); + +/** + * @generated from message exa.language_server_pb.AcceptCompletionResponse + */ +export type AcceptCompletionResponse = Message<"exa.language_server_pb.AcceptCompletionResponse"> & { +}; + +/** + * Describes the message exa.language_server_pb.AcceptCompletionResponse. + * Use `create(AcceptCompletionResponseSchema)` to create a new message. + */ +export const AcceptCompletionResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 17); + +/** + * @generated from message exa.language_server_pb.ProvideCompletionFeedbackRequest + */ +export type ProvideCompletionFeedbackRequest = Message<"exa.language_server_pb.ProvideCompletionFeedbackRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: bool is_accepted = 2; + */ + isAccepted: boolean; + + /** + * @generated from field: int64 feedback_delay_ms = 3; + */ + feedbackDelayMs: bigint; + + /** + * @generated from field: string completion_id = 4; + */ + completionId: string; + + /** + * @generated from field: string prompt_id = 5; + */ + promptId: string; + + /** + * @generated from field: exa.language_server_pb.LatencyInfo latency_info = 6; + */ + latencyInfo?: LatencyInfo | undefined; + + /** + * @generated from field: exa.codeium_common_pb.ProviderSource source = 7; + */ + source: ProviderSource; + + /** + * @generated from field: exa.codeium_common_pb.Document document = 8; + */ + document?: Document | undefined; + + /** + * @generated from field: uint64 view_columns_open = 10; + */ + viewColumnsOpen: bigint; + + /** + * @generated from field: bool is_intentional_reject = 11; + */ + isIntentionalReject: boolean; + + /** + * @generated from field: bool is_partial = 12; + */ + isPartial: boolean; + + /** + * @generated from field: string midstream_autocomplete_text = 13; + */ + midstreamAutocompleteText: string; + + /** + * @generated from field: bool has_active_vim_extension = 14; + */ + hasActiveVimExtension: boolean; + + /** + * @generated from field: string completion_text = 15; + */ + completionText: string; + + /** + * @generated from field: bool is_client_filter_reject = 16; + */ + isClientFilterReject: boolean; + + /** + * @generated from field: exa.codeium_common_pb.ExperimentConfig experiment_config = 9 [deprecated = true]; + * @deprecated + */ + experimentConfig?: ExperimentConfig | undefined; +}; + +/** + * Describes the message exa.language_server_pb.ProvideCompletionFeedbackRequest. + * Use `create(ProvideCompletionFeedbackRequestSchema)` to create a new message. + */ +export const ProvideCompletionFeedbackRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 18); + +/** + * @generated from message exa.language_server_pb.ProvideCompletionFeedbackResponse + */ +export type ProvideCompletionFeedbackResponse = Message<"exa.language_server_pb.ProvideCompletionFeedbackResponse"> & { +}; + +/** + * Describes the message exa.language_server_pb.ProvideCompletionFeedbackResponse. + * Use `create(ProvideCompletionFeedbackResponseSchema)` to create a new message. + */ +export const ProvideCompletionFeedbackResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 19); + +/** + * @generated from message exa.language_server_pb.HeartbeatRequest + */ +export type HeartbeatRequest = Message<"exa.language_server_pb.HeartbeatRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: repeated exa.codeium_common_pb.ErrorTrace previous_error_traces = 2; + */ + previousErrorTraces: ErrorTrace[]; + + /** + * @generated from field: exa.codeium_common_pb.ExperimentConfig experiment_config = 3 [deprecated = true]; + * @deprecated + */ + experimentConfig?: ExperimentConfig | undefined; +}; + +/** + * Describes the message exa.language_server_pb.HeartbeatRequest. + * Use `create(HeartbeatRequestSchema)` to create a new message. + */ +export const HeartbeatRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 20); + +/** + * @generated from message exa.language_server_pb.HeartbeatResponse + */ +export type HeartbeatResponse = Message<"exa.language_server_pb.HeartbeatResponse"> & { + /** + * @generated from field: google.protobuf.Timestamp last_extension_heartbeat = 1; + */ + lastExtensionHeartbeat?: Timestamp | undefined; +}; + +/** + * Describes the message exa.language_server_pb.HeartbeatResponse. + * Use `create(HeartbeatResponseSchema)` to create a new message. + */ +export const HeartbeatResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 21); + +/** + * @generated from message exa.language_server_pb.GetStatusRequest + */ +export type GetStatusRequest = Message<"exa.language_server_pb.GetStatusRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; +}; + +/** + * Describes the message exa.language_server_pb.GetStatusRequest. + * Use `create(GetStatusRequestSchema)` to create a new message. + */ +export const GetStatusRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 22); + +/** + * @generated from message exa.language_server_pb.GetStatusResponse + */ +export type GetStatusResponse = Message<"exa.language_server_pb.GetStatusResponse"> & { + /** + * @generated from field: exa.codeium_common_pb.IdeStatus status = 1; + */ + status?: IdeStatus | undefined; + + /** + * @generated from field: bool show_review_prompt = 2; + */ + showReviewPrompt: boolean; +}; + +/** + * Describes the message exa.language_server_pb.GetStatusResponse. + * Use `create(GetStatusResponseSchema)` to create a new message. + */ +export const GetStatusResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 23); + +/** + * @generated from message exa.language_server_pb.GetCascadeModelConfigsRequest + */ +export type GetCascadeModelConfigsRequest = Message<"exa.language_server_pb.GetCascadeModelConfigsRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; +}; + +/** + * Describes the message exa.language_server_pb.GetCascadeModelConfigsRequest. + * Use `create(GetCascadeModelConfigsRequestSchema)` to create a new message. + */ +export const GetCascadeModelConfigsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 24); + +/** + * @generated from message exa.language_server_pb.GetCascadeModelConfigsResponse + */ +export type GetCascadeModelConfigsResponse = Message<"exa.language_server_pb.GetCascadeModelConfigsResponse"> & { + /** + * @generated from field: repeated exa.codeium_common_pb.ClientModelConfig client_model_configs = 1; + */ + clientModelConfigs: ClientModelConfig[]; + + /** + * @generated from field: repeated exa.codeium_common_pb.ClientModelSort client_model_sorts = 2; + */ + clientModelSorts: ClientModelSort[]; + + /** + * @generated from field: optional exa.codeium_common_pb.DefaultOverrideModelConfig default_override_model_config = 3; + */ + defaultOverrideModelConfig?: DefaultOverrideModelConfig | undefined; +}; + +/** + * Describes the message exa.language_server_pb.GetCascadeModelConfigsResponse. + * Use `create(GetCascadeModelConfigsResponseSchema)` to create a new message. + */ +export const GetCascadeModelConfigsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 25); + +/** + * @generated from message exa.language_server_pb.TeamOrganizationalControls + */ +export type TeamOrganizationalControls = Message<"exa.language_server_pb.TeamOrganizationalControls"> & { + /** + * @generated from field: string team_id = 1; + */ + teamId: string; + + /** + * @generated from field: repeated string cascade_model_labels = 2 [deprecated = true]; + * @deprecated + */ + cascadeModelLabels: string[]; + + /** + * @generated from field: repeated string command_model_labels = 3 [deprecated = true]; + * @deprecated + */ + commandModelLabels: string[]; + + /** + * @generated from field: google.protobuf.Timestamp created_at = 4; + */ + createdAt?: Timestamp | undefined; + + /** + * @generated from field: google.protobuf.Timestamp updated_at = 5; + */ + updatedAt?: Timestamp | undefined; + + /** + * @generated from field: repeated string extension_model_labels = 6; + */ + extensionModelLabels: string[]; + + /** + * @generated from field: repeated exa.codeium_common_pb.APIProvider allowed_api_providers = 8; + */ + allowedApiProviders: APIProvider[]; +}; + +/** + * Describes the message exa.language_server_pb.TeamOrganizationalControls. + * Use `create(TeamOrganizationalControlsSchema)` to create a new message. + */ +export const TeamOrganizationalControlsSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 26); + +/** + * @generated from message exa.language_server_pb.GetTeamOrganizationalControlsRequest + */ +export type GetTeamOrganizationalControlsRequest = Message<"exa.language_server_pb.GetTeamOrganizationalControlsRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; +}; + +/** + * Describes the message exa.language_server_pb.GetTeamOrganizationalControlsRequest. + * Use `create(GetTeamOrganizationalControlsRequestSchema)` to create a new message. + */ +export const GetTeamOrganizationalControlsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 27); + +/** + * @generated from message exa.language_server_pb.GetTeamOrganizationalControlsResponse + */ +export type GetTeamOrganizationalControlsResponse = Message<"exa.language_server_pb.GetTeamOrganizationalControlsResponse"> & { + /** + * @generated from field: exa.codeium_common_pb.TeamOrganizationalControls controls = 1; + */ + controls?: TeamOrganizationalControls$1 | undefined; +}; + +/** + * Describes the message exa.language_server_pb.GetTeamOrganizationalControlsResponse. + * Use `create(GetTeamOrganizationalControlsResponseSchema)` to create a new message. + */ +export const GetTeamOrganizationalControlsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 28); + +/** + * @generated from message exa.language_server_pb.GetCommandModelConfigsRequest + */ +export type GetCommandModelConfigsRequest = Message<"exa.language_server_pb.GetCommandModelConfigsRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; +}; + +/** + * Describes the message exa.language_server_pb.GetCommandModelConfigsRequest. + * Use `create(GetCommandModelConfigsRequestSchema)` to create a new message. + */ +export const GetCommandModelConfigsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 29); + +/** + * @generated from message exa.language_server_pb.GetCommandModelConfigsResponse + */ +export type GetCommandModelConfigsResponse = Message<"exa.language_server_pb.GetCommandModelConfigsResponse"> & { + /** + * @generated from field: repeated exa.codeium_common_pb.ClientModelConfig client_model_configs = 1; + */ + clientModelConfigs: ClientModelConfig[]; +}; + +/** + * Describes the message exa.language_server_pb.GetCommandModelConfigsResponse. + * Use `create(GetCommandModelConfigsResponseSchema)` to create a new message. + */ +export const GetCommandModelConfigsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 30); + +/** + * @generated from message exa.language_server_pb.GetProcessesRequest + */ +export type GetProcessesRequest = Message<"exa.language_server_pb.GetProcessesRequest"> & { +}; + +/** + * Describes the message exa.language_server_pb.GetProcessesRequest. + * Use `create(GetProcessesRequestSchema)` to create a new message. + */ +export const GetProcessesRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 31); + +/** + * @generated from message exa.language_server_pb.GetExternalModelResponse + */ +export type GetExternalModelResponse = Message<"exa.language_server_pb.GetExternalModelResponse"> & { + /** + * @generated from field: repeated exa.codeium_common_pb.ExternalModel models = 1; + */ + models: ExternalModel[]; +}; + +/** + * Describes the message exa.language_server_pb.GetExternalModelResponse. + * Use `create(GetExternalModelResponseSchema)` to create a new message. + */ +export const GetExternalModelResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 32); + +/** + * @generated from message exa.language_server_pb.GetExternalModelRequest + */ +export type GetExternalModelRequest = Message<"exa.language_server_pb.GetExternalModelRequest"> & { + /** + * @generated from field: string api_key = 1; + */ + apiKey: string; +}; + +/** + * Describes the message exa.language_server_pb.GetExternalModelRequest. + * Use `create(GetExternalModelRequestSchema)` to create a new message. + */ +export const GetExternalModelRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 33); + +/** + * @generated from message exa.language_server_pb.GetProcessesResponse + */ +export type GetProcessesResponse = Message<"exa.language_server_pb.GetProcessesResponse"> & { + /** + * @generated from field: uint32 lsp_port = 1; + */ + lspPort: number; + + /** + * @generated from field: uint32 chat_client_port = 3; + */ + chatClientPort: number; +}; + +/** + * Describes the message exa.language_server_pb.GetProcessesResponse. + * Use `create(GetProcessesResponseSchema)` to create a new message. + */ +export const GetProcessesResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 34); + +/** + * @generated from message exa.language_server_pb.GetAuthTokenRequest + */ +export type GetAuthTokenRequest = Message<"exa.language_server_pb.GetAuthTokenRequest"> & { +}; + +/** + * Describes the message exa.language_server_pb.GetAuthTokenRequest. + * Use `create(GetAuthTokenRequestSchema)` to create a new message. + */ +export const GetAuthTokenRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 35); + +/** + * @generated from message exa.language_server_pb.GetAuthTokenResponse + */ +export type GetAuthTokenResponse = Message<"exa.language_server_pb.GetAuthTokenResponse"> & { + /** + * @generated from field: string auth_token = 1; + */ + authToken: string; + + /** + * @generated from field: string uuid = 2; + */ + uuid: string; +}; + +/** + * Describes the message exa.language_server_pb.GetAuthTokenResponse. + * Use `create(GetAuthTokenResponseSchema)` to create a new message. + */ +export const GetAuthTokenResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 36); + +/** + * @generated from message exa.language_server_pb.RecordEventRequest + */ +export type RecordEventRequest = Message<"exa.language_server_pb.RecordEventRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: exa.codeium_common_pb.Event event = 2; + */ + event?: Event | undefined; +}; + +/** + * Describes the message exa.language_server_pb.RecordEventRequest. + * Use `create(RecordEventRequestSchema)` to create a new message. + */ +export const RecordEventRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 37); + +/** + * @generated from message exa.language_server_pb.RecordEventResponse + */ +export type RecordEventResponse = Message<"exa.language_server_pb.RecordEventResponse"> & { +}; + +/** + * Describes the message exa.language_server_pb.RecordEventResponse. + * Use `create(RecordEventResponseSchema)` to create a new message. + */ +export const RecordEventResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 38); + +/** + * @generated from message exa.language_server_pb.RecordSystemMetricsRequest + */ +export type RecordSystemMetricsRequest = Message<"exa.language_server_pb.RecordSystemMetricsRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string system_metrics_json = 2; + */ + systemMetricsJson: string; +}; + +/** + * Describes the message exa.language_server_pb.RecordSystemMetricsRequest. + * Use `create(RecordSystemMetricsRequestSchema)` to create a new message. + */ +export const RecordSystemMetricsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 39); + +/** + * @generated from message exa.language_server_pb.RecordSystemMetricsResponse + */ +export type RecordSystemMetricsResponse = Message<"exa.language_server_pb.RecordSystemMetricsResponse"> & { +}; + +/** + * Describes the message exa.language_server_pb.RecordSystemMetricsResponse. + * Use `create(RecordSystemMetricsResponseSchema)` to create a new message. + */ +export const RecordSystemMetricsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 40); + +/** + * @generated from message exa.language_server_pb.CancelRequestRequest + */ +export type CancelRequestRequest = Message<"exa.language_server_pb.CancelRequestRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: uint64 request_id = 2; + */ + requestId: bigint; +}; + +/** + * Describes the message exa.language_server_pb.CancelRequestRequest. + * Use `create(CancelRequestRequestSchema)` to create a new message. + */ +export const CancelRequestRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 41); + +/** + * @generated from message exa.language_server_pb.CancelRequestResponse + */ +export type CancelRequestResponse = Message<"exa.language_server_pb.CancelRequestResponse"> & { +}; + +/** + * Describes the message exa.language_server_pb.CancelRequestResponse. + * Use `create(CancelRequestResponseSchema)` to create a new message. + */ +export const CancelRequestResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 42); + +/** + * @generated from message exa.language_server_pb.EditConfigurationRequest + */ +export type EditConfigurationRequest = Message<"exa.language_server_pb.EditConfigurationRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: exa.codeium_common_pb.CompletionConfiguration completion_configuration = 2; + */ + completionConfiguration?: CompletionConfiguration | undefined; +}; + +/** + * Describes the message exa.language_server_pb.EditConfigurationRequest. + * Use `create(EditConfigurationRequestSchema)` to create a new message. + */ +export const EditConfigurationRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 43); + +/** + * @generated from message exa.language_server_pb.EditConfigurationResponse + */ +export type EditConfigurationResponse = Message<"exa.language_server_pb.EditConfigurationResponse"> & { + /** + * @generated from field: exa.codeium_common_pb.CompletionConfiguration completion_configuration = 1; + */ + completionConfiguration?: CompletionConfiguration | undefined; +}; + +/** + * Describes the message exa.language_server_pb.EditConfigurationResponse. + * Use `create(EditConfigurationResponseSchema)` to create a new message. + */ +export const EditConfigurationResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 44); + +/** + * @generated from message exa.language_server_pb.GetTranscriptionRequest + */ +export type GetTranscriptionRequest = Message<"exa.language_server_pb.GetTranscriptionRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: bytes audio_data = 2; + */ + audioData: Uint8Array; +}; + +/** + * Describes the message exa.language_server_pb.GetTranscriptionRequest. + * Use `create(GetTranscriptionRequestSchema)` to create a new message. + */ +export const GetTranscriptionRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 45); + +/** + * @generated from message exa.language_server_pb.GetTranscriptionResponse + */ +export type GetTranscriptionResponse = Message<"exa.language_server_pb.GetTranscriptionResponse"> & { + /** + * @generated from field: string transcribed_text = 1; + */ + transcribedText: string; +}; + +/** + * Describes the message exa.language_server_pb.GetTranscriptionResponse. + * Use `create(GetTranscriptionResponseSchema)` to create a new message. + */ +export const GetTranscriptionResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 46); + +/** + * @generated from message exa.language_server_pb.ValidateWindsurfJSAppProjectNameRequest + */ +export type ValidateWindsurfJSAppProjectNameRequest = Message<"exa.language_server_pb.ValidateWindsurfJSAppProjectNameRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string project_name = 2; + */ + projectName: string; +}; + +/** + * Describes the message exa.language_server_pb.ValidateWindsurfJSAppProjectNameRequest. + * Use `create(ValidateWindsurfJSAppProjectNameRequestSchema)` to create a new message. + */ +export const ValidateWindsurfJSAppProjectNameRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 47); + +/** + * @generated from message exa.language_server_pb.ValidateWindsurfJSAppProjectNameResponse + */ +export type ValidateWindsurfJSAppProjectNameResponse = Message<"exa.language_server_pb.ValidateWindsurfJSAppProjectNameResponse"> & { + /** + * @generated from field: exa.codeium_common_pb.ValidationStatus status = 1; + */ + status: ValidationStatus; + + /** + * @generated from field: string invalid_reason = 3; + */ + invalidReason: string; + + /** + * @generated from field: repeated string alternative_names = 2; + */ + alternativeNames: string[]; +}; + +/** + * Describes the message exa.language_server_pb.ValidateWindsurfJSAppProjectNameResponse. + * Use `create(ValidateWindsurfJSAppProjectNameResponseSchema)` to create a new message. + */ +export const ValidateWindsurfJSAppProjectNameResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 48); + +/** + * @generated from message exa.language_server_pb.SaveWindsurfJSAppProjectNameRequest + */ +export type SaveWindsurfJSAppProjectNameRequest = Message<"exa.language_server_pb.SaveWindsurfJSAppProjectNameRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string workspace_uri = 2; + */ + workspaceUri: string; + + /** + * @generated from field: string project_name = 3; + */ + projectName: string; +}; + +/** + * Describes the message exa.language_server_pb.SaveWindsurfJSAppProjectNameRequest. + * Use `create(SaveWindsurfJSAppProjectNameRequestSchema)` to create a new message. + */ +export const SaveWindsurfJSAppProjectNameRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 49); + +/** + * @generated from message exa.language_server_pb.SaveWindsurfJSAppProjectNameResponse + */ +export type SaveWindsurfJSAppProjectNameResponse = Message<"exa.language_server_pb.SaveWindsurfJSAppProjectNameResponse"> & { + /** + * @generated from field: exa.codeium_common_pb.WebAppDeploymentConfig deployment_config = 1; + */ + deploymentConfig?: WebAppDeploymentConfig | undefined; +}; + +/** + * Describes the message exa.language_server_pb.SaveWindsurfJSAppProjectNameResponse. + * Use `create(SaveWindsurfJSAppProjectNameResponseSchema)` to create a new message. + */ +export const SaveWindsurfJSAppProjectNameResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 50); + +/** + * @generated from message exa.language_server_pb.RegisterUserRequest + */ +export type RegisterUserRequest = Message<"exa.language_server_pb.RegisterUserRequest"> & { + /** + * @generated from field: string firebase_id_token = 1; + */ + firebaseIdToken: string; +}; + +/** + * Describes the message exa.language_server_pb.RegisterUserRequest. + * Use `create(RegisterUserRequestSchema)` to create a new message. + */ +export const RegisterUserRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 51); + +/** + * @generated from message exa.language_server_pb.RegisterUserResponse + */ +export type RegisterUserResponse = Message<"exa.language_server_pb.RegisterUserResponse"> & { + /** + * @generated from field: string api_key = 1; + */ + apiKey: string; + + /** + * @generated from field: string name = 2; + */ + name: string; + + /** + * @generated from field: string api_server_url = 3; + */ + apiServerUrl: string; +}; + +/** + * Describes the message exa.language_server_pb.RegisterUserResponse. + * Use `create(RegisterUserResponseSchema)` to create a new message. + */ +export const RegisterUserResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 52); + +/** + * @generated from message exa.language_server_pb.MigrateApiKeyRequest + */ +export type MigrateApiKeyRequest = Message<"exa.language_server_pb.MigrateApiKeyRequest"> & { + /** + * @generated from field: string api_key = 1; + */ + apiKey: string; +}; + +/** + * Describes the message exa.language_server_pb.MigrateApiKeyRequest. + * Use `create(MigrateApiKeyRequestSchema)` to create a new message. + */ +export const MigrateApiKeyRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 53); + +/** + * @generated from message exa.language_server_pb.MigrateApiKeyResponse + */ +export type MigrateApiKeyResponse = Message<"exa.language_server_pb.MigrateApiKeyResponse"> & { + /** + * @generated from field: string session_token = 1; + */ + sessionToken: string; +}; + +/** + * Describes the message exa.language_server_pb.MigrateApiKeyResponse. + * Use `create(MigrateApiKeyResponseSchema)` to create a new message. + */ +export const MigrateApiKeyResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 54); + +/** + * @generated from message exa.language_server_pb.WellSupportedLanguagesRequest + */ +export type WellSupportedLanguagesRequest = Message<"exa.language_server_pb.WellSupportedLanguagesRequest"> & { +}; + +/** + * Describes the message exa.language_server_pb.WellSupportedLanguagesRequest. + * Use `create(WellSupportedLanguagesRequestSchema)` to create a new message. + */ +export const WellSupportedLanguagesRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 55); + +/** + * @generated from message exa.language_server_pb.WellSupportedLanguagesResponse + */ +export type WellSupportedLanguagesResponse = Message<"exa.language_server_pb.WellSupportedLanguagesResponse"> & { + /** + * @generated from field: repeated exa.codeium_common_pb.Language languages = 1; + */ + languages: Language[]; +}; + +/** + * Describes the message exa.language_server_pb.WellSupportedLanguagesResponse. + * Use `create(WellSupportedLanguagesResponseSchema)` to create a new message. + */ +export const WellSupportedLanguagesResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 56); + +/** + * @generated from message exa.language_server_pb.ProgressBarsRequest + */ +export type ProgressBarsRequest = Message<"exa.language_server_pb.ProgressBarsRequest"> & { +}; + +/** + * Describes the message exa.language_server_pb.ProgressBarsRequest. + * Use `create(ProgressBarsRequestSchema)` to create a new message. + */ +export const ProgressBarsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 57); + +/** + * @generated from message exa.language_server_pb.ProgressBarsResponse + */ +export type ProgressBarsResponse = Message<"exa.language_server_pb.ProgressBarsResponse"> & { + /** + * @generated from field: map progress_bars = 1; + */ + progressBars: { [key: string]: ProgressBar }; +}; + +/** + * Describes the message exa.language_server_pb.ProgressBarsResponse. + * Use `create(ProgressBarsResponseSchema)` to create a new message. + */ +export const ProgressBarsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 58); + +/** + * @generated from message exa.language_server_pb.RecordSearchDocOpenRequest + */ +export type RecordSearchDocOpenRequest = Message<"exa.language_server_pb.RecordSearchDocOpenRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string result_id = 2; + */ + resultId: string; +}; + +/** + * Describes the message exa.language_server_pb.RecordSearchDocOpenRequest. + * Use `create(RecordSearchDocOpenRequestSchema)` to create a new message. + */ +export const RecordSearchDocOpenRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 59); + +/** + * @generated from message exa.language_server_pb.RecordSearchDocOpenResponse + */ +export type RecordSearchDocOpenResponse = Message<"exa.language_server_pb.RecordSearchDocOpenResponse"> & { +}; + +/** + * Describes the message exa.language_server_pb.RecordSearchDocOpenResponse. + * Use `create(RecordSearchDocOpenResponseSchema)` to create a new message. + */ +export const RecordSearchDocOpenResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 60); + +/** + * @generated from message exa.language_server_pb.RecordSearchResultsViewRequest + */ +export type RecordSearchResultsViewRequest = Message<"exa.language_server_pb.RecordSearchResultsViewRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string cluster_search_id = 2; + */ + clusterSearchId: string; + + /** + * @generated from field: string exact_search_id = 3; + */ + exactSearchId: string; + + /** + * @generated from field: repeated string search_result_ids = 4; + */ + searchResultIds: string[]; +}; + +/** + * Describes the message exa.language_server_pb.RecordSearchResultsViewRequest. + * Use `create(RecordSearchResultsViewRequestSchema)` to create a new message. + */ +export const RecordSearchResultsViewRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 61); + +/** + * @generated from message exa.language_server_pb.RecordSearchResultsViewResponse + */ +export type RecordSearchResultsViewResponse = Message<"exa.language_server_pb.RecordSearchResultsViewResponse"> & { +}; + +/** + * Describes the message exa.language_server_pb.RecordSearchResultsViewResponse. + * Use `create(RecordSearchResultsViewResponseSchema)` to create a new message. + */ +export const RecordSearchResultsViewResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 62); + +/** + * @generated from message exa.language_server_pb.ContextInfoRequest + */ +export type ContextInfoRequest = Message<"exa.language_server_pb.ContextInfoRequest"> & { +}; + +/** + * Describes the message exa.language_server_pb.ContextInfoRequest. + * Use `create(ContextInfoRequestSchema)` to create a new message. + */ +export const ContextInfoRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 63); + +/** + * @generated from message exa.language_server_pb.ContextInfoResponse + */ +export type ContextInfoResponse = Message<"exa.language_server_pb.ContextInfoResponse"> & { + /** + * @generated from field: repeated string active_workspaces = 1; + */ + activeWorkspaces: string[]; + + /** + * @generated from field: repeated string ignored_workspaces = 2; + */ + ignoredWorkspaces: string[]; +}; + +/** + * Describes the message exa.language_server_pb.ContextInfoResponse. + * Use `create(ContextInfoResponseSchema)` to create a new message. + */ +export const ContextInfoResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 64); + +/** + * @generated from message exa.language_server_pb.RefreshContextForIdeActionRequest + */ +export type RefreshContextForIdeActionRequest = Message<"exa.language_server_pb.RefreshContextForIdeActionRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 8; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: exa.codeium_common_pb.Document active_document = 1; + */ + activeDocument?: Document | undefined; + + /** + * @generated from field: repeated string open_document_filepaths_migrate_me_to_uri = 2 [deprecated = true]; + * @deprecated + */ + openDocumentFilepathsMigrateMeToUri: string[]; + + /** + * @generated from field: repeated string open_document_uris = 6; + */ + openDocumentUris: string[]; + + /** + * @generated from field: repeated exa.codeium_common_pb.Document other_documents = 5; + */ + otherDocuments: Document[]; + + /** + * @generated from field: repeated string workspace_paths_migrate_me_to_uri = 3 [deprecated = true]; + * @deprecated + */ + workspacePathsMigrateMeToUri: string[]; + + /** + * @generated from field: repeated string workspace_uris = 7; + */ + workspaceUris: string[]; + + /** + * @generated from field: bool blocking = 4; + */ + blocking: boolean; + + /** + * @generated from field: exa.codeium_common_pb.ExperimentConfig experiment_config = 9 [deprecated = true]; + * @deprecated + */ + experimentConfig?: ExperimentConfig | undefined; + + /** + * @generated from field: exa.language_server_pb.IdeAction ide_action = 10; + */ + ideAction: IdeAction; + + /** + * @generated from field: repeated string recently_opened_uris = 11; + */ + recentlyOpenedUris: string[]; +}; + +/** + * Describes the message exa.language_server_pb.RefreshContextForIdeActionRequest. + * Use `create(RefreshContextForIdeActionRequestSchema)` to create a new message. + */ +export const RefreshContextForIdeActionRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 65); + +/** + * @generated from message exa.language_server_pb.RefreshContextForIdeActionResponse + */ +export type RefreshContextForIdeActionResponse = Message<"exa.language_server_pb.RefreshContextForIdeActionResponse"> & { +}; + +/** + * Describes the message exa.language_server_pb.RefreshContextForIdeActionResponse. + * Use `create(RefreshContextForIdeActionResponseSchema)` to create a new message. + */ +export const RefreshContextForIdeActionResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 66); + +/** + * @generated from message exa.language_server_pb.GetMatchingCodeContextRequest + */ +export type GetMatchingCodeContextRequest = Message<"exa.language_server_pb.GetMatchingCodeContextRequest"> & { + /** + * @generated from field: string query = 1; + */ + query: string; + + /** + * @generated from field: bool fuzzy_match = 2; + */ + fuzzyMatch: boolean; + + /** + * @generated from field: repeated exa.codeium_common_pb.CodeContextType allowed_types = 3; + */ + allowedTypes: CodeContextType[]; + + /** + * @generated from field: int32 max_items = 4; + */ + maxItems: number; + + /** + * @generated from field: bool case_insensitive = 5; + */ + caseInsensitive: boolean; +}; + +/** + * Describes the message exa.language_server_pb.GetMatchingCodeContextRequest. + * Use `create(GetMatchingCodeContextRequestSchema)` to create a new message. + */ +export const GetMatchingCodeContextRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 67); + +/** + * @generated from message exa.language_server_pb.GetMatchingCodeContextResponse + */ +export type GetMatchingCodeContextResponse = Message<"exa.language_server_pb.GetMatchingCodeContextResponse"> & { + /** + * @generated from field: repeated exa.codeium_common_pb.CodeContextItem matched_items = 1; + */ + matchedItems: CodeContextItem[]; +}; + +/** + * Describes the message exa.language_server_pb.GetMatchingCodeContextResponse. + * Use `create(GetMatchingCodeContextResponseSchema)` to create a new message. + */ +export const GetMatchingCodeContextResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 68); + +/** + * @generated from message exa.language_server_pb.GetMatchingIndexedReposRequest + */ +export type GetMatchingIndexedReposRequest = Message<"exa.language_server_pb.GetMatchingIndexedReposRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string query = 2; + */ + query: string; + + /** + * @generated from field: bool fuzzy_match = 3; + */ + fuzzyMatch: boolean; + + /** + * @generated from field: int32 max_items = 4; + */ + maxItems: number; + + /** + * @generated from field: bool case_insensitive = 5; + */ + caseInsensitive: boolean; +}; + +/** + * Describes the message exa.language_server_pb.GetMatchingIndexedReposRequest. + * Use `create(GetMatchingIndexedReposRequestSchema)` to create a new message. + */ +export const GetMatchingIndexedReposRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 69); + +/** + * @generated from message exa.language_server_pb.GetMatchingIndexedReposResponse + */ +export type GetMatchingIndexedReposResponse = Message<"exa.language_server_pb.GetMatchingIndexedReposResponse"> & { + /** + * @generated from field: repeated exa.codeium_common_pb.GitRepoInfo matched_repositories = 1; + */ + matchedRepositories: GitRepoInfo[]; +}; + +/** + * Describes the message exa.language_server_pb.GetMatchingIndexedReposResponse. + * Use `create(GetMatchingIndexedReposResponseSchema)` to create a new message. + */ +export const GetMatchingIndexedReposResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 70); + +/** + * @generated from message exa.language_server_pb.GetChatMessageResponse + */ +export type GetChatMessageResponse = Message<"exa.language_server_pb.GetChatMessageResponse"> & { + /** + * @generated from field: exa.chat_pb.ChatMessage chat_message = 1; + */ + chatMessage?: ChatMessage | undefined; + + /** + * @generated from field: uint32 num_tokens_in_intent = 2; + */ + numTokensInIntent: number; +}; + +/** + * Describes the message exa.language_server_pb.GetChatMessageResponse. + * Use `create(GetChatMessageResponseSchema)` to create a new message. + */ +export const GetChatMessageResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 71); + +/** + * @generated from message exa.language_server_pb.RawGetChatMessageResponse + */ +export type RawGetChatMessageResponse = Message<"exa.language_server_pb.RawGetChatMessageResponse"> & { + /** + * @generated from field: exa.chat_pb.RawChatMessage delta_message = 1; + */ + deltaMessage?: RawChatMessage | undefined; + + /** + * @generated from field: repeated exa.codeium_common_pb.ChatToolCall delta_tool_calls = 2; + */ + deltaToolCalls: ChatToolCall[]; +}; + +/** + * Describes the message exa.language_server_pb.RawGetChatMessageResponse. + * Use `create(RawGetChatMessageResponseSchema)` to create a new message. + */ +export const RawGetChatMessageResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 72); + +/** + * @generated from message exa.language_server_pb.GetDeepWikiResponse + */ +export type GetDeepWikiResponse = Message<"exa.language_server_pb.GetDeepWikiResponse"> & { + /** + * @generated from field: exa.language_server_pb.RawGetChatMessageResponse response = 1; + */ + response?: RawGetChatMessageResponse | undefined; + + /** + * @generated from field: string request_id = 2; + */ + requestId: string; + + /** + * @generated from field: exa.codeium_common_pb.DeepWikiModelType model_type = 3; + */ + modelType: DeepWikiModelType; + + /** + * @generated from field: string followup_questions = 4; + */ + followupQuestions: string; + + /** + * @generated from field: bool is_article_done = 5; + */ + isArticleDone: boolean; +}; + +/** + * Describes the message exa.language_server_pb.GetDeepWikiResponse. + * Use `create(GetDeepWikiResponseSchema)` to create a new message. + */ +export const GetDeepWikiResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 73); + +/** + * @generated from message exa.language_server_pb.CheckUserMessageRateLimitRequest + */ +export type CheckUserMessageRateLimitRequest = Message<"exa.language_server_pb.CheckUserMessageRateLimitRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string model_uid = 3; + */ + modelUid: string; +}; + +/** + * Describes the message exa.language_server_pb.CheckUserMessageRateLimitRequest. + * Use `create(CheckUserMessageRateLimitRequestSchema)` to create a new message. + */ +export const CheckUserMessageRateLimitRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 74); + +/** + * @generated from message exa.language_server_pb.CheckUserMessageRateLimitResponse + */ +export type CheckUserMessageRateLimitResponse = Message<"exa.language_server_pb.CheckUserMessageRateLimitResponse"> & { + /** + * @generated from field: bool has_capacity = 1; + */ + hasCapacity: boolean; + + /** + * @generated from field: string message = 2; + */ + message: string; + + /** + * @generated from field: int32 messages_remaining = 3; + */ + messagesRemaining: number; + + /** + * @generated from field: int32 max_messages = 4; + */ + maxMessages: number; + + /** + * @generated from field: int64 resets_in_seconds = 5; + */ + resetsInSeconds: bigint; +}; + +/** + * Describes the message exa.language_server_pb.CheckUserMessageRateLimitResponse. + * Use `create(CheckUserMessageRateLimitResponseSchema)` to create a new message. + */ +export const CheckUserMessageRateLimitResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 75); + +/** + * @generated from message exa.language_server_pb.GetMessageTokenCountRequest + */ +export type GetMessageTokenCountRequest = Message<"exa.language_server_pb.GetMessageTokenCountRequest"> & { + /** + * @generated from field: string chat_message = 1; + */ + chatMessage: string; + + /** + * @generated from field: exa.codeium_common_pb.Model requested_model_id = 2; + */ + requestedModelId: Model; +}; + +/** + * Describes the message exa.language_server_pb.GetMessageTokenCountRequest. + * Use `create(GetMessageTokenCountRequestSchema)` to create a new message. + */ +export const GetMessageTokenCountRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 76); + +/** + * @generated from message exa.language_server_pb.GetMessageTokenCountResponse + */ +export type GetMessageTokenCountResponse = Message<"exa.language_server_pb.GetMessageTokenCountResponse"> & { + /** + * @generated from field: uint32 token_count = 1; + */ + tokenCount: number; +}; + +/** + * Describes the message exa.language_server_pb.GetMessageTokenCountResponse. + * Use `create(GetMessageTokenCountResponseSchema)` to create a new message. + */ +export const GetMessageTokenCountResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 77); + +/** + * @generated from message exa.language_server_pb.RecordChatFeedbackRequest + */ +export type RecordChatFeedbackRequest = Message<"exa.language_server_pb.RecordChatFeedbackRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string message_id = 2; + */ + messageId: string; + + /** + * @generated from field: exa.chat_pb.ChatFeedbackType feedback = 3; + */ + feedback: ChatFeedbackType; + + /** + * @generated from field: string reason = 4; + */ + reason: string; + + /** + * @generated from field: google.protobuf.Timestamp timestamp = 5; + */ + timestamp?: Timestamp | undefined; +}; + +/** + * Describes the message exa.language_server_pb.RecordChatFeedbackRequest. + * Use `create(RecordChatFeedbackRequestSchema)` to create a new message. + */ +export const RecordChatFeedbackRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 78); + +/** + * @generated from message exa.language_server_pb.RecordChatFeedbackResponse + */ +export type RecordChatFeedbackResponse = Message<"exa.language_server_pb.RecordChatFeedbackResponse"> & { +}; + +/** + * Describes the message exa.language_server_pb.RecordChatFeedbackResponse. + * Use `create(RecordChatFeedbackResponseSchema)` to create a new message. + */ +export const RecordChatFeedbackResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 79); + +/** + * @generated from message exa.language_server_pb.RecordChatPanelSessionRequest + */ +export type RecordChatPanelSessionRequest = Message<"exa.language_server_pb.RecordChatPanelSessionRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: google.protobuf.Timestamp start_timestamp = 2; + */ + startTimestamp?: Timestamp | undefined; + + /** + * @generated from field: google.protobuf.Timestamp end_timestamp = 3; + */ + endTimestamp?: Timestamp | undefined; +}; + +/** + * Describes the message exa.language_server_pb.RecordChatPanelSessionRequest. + * Use `create(RecordChatPanelSessionRequestSchema)` to create a new message. + */ +export const RecordChatPanelSessionRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 80); + +/** + * @generated from message exa.language_server_pb.RecordChatPanelSessionResponse + */ +export type RecordChatPanelSessionResponse = Message<"exa.language_server_pb.RecordChatPanelSessionResponse"> & { +}; + +/** + * Describes the message exa.language_server_pb.RecordChatPanelSessionResponse. + * Use `create(RecordChatPanelSessionResponseSchema)` to create a new message. + */ +export const RecordChatPanelSessionResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 81); + +/** + * @generated from message exa.language_server_pb.CheckChatCapacityRequest + */ +export type CheckChatCapacityRequest = Message<"exa.language_server_pb.CheckChatCapacityRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string model_uid = 3; + */ + modelUid: string; +}; + +/** + * Describes the message exa.language_server_pb.CheckChatCapacityRequest. + * Use `create(CheckChatCapacityRequestSchema)` to create a new message. + */ +export const CheckChatCapacityRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 82); + +/** + * @generated from message exa.language_server_pb.CheckChatCapacityResponse + */ +export type CheckChatCapacityResponse = Message<"exa.language_server_pb.CheckChatCapacityResponse"> & { + /** + * @generated from field: bool has_capacity = 1; + */ + hasCapacity: boolean; + + /** + * @generated from field: string message = 2; + */ + message: string; + + /** + * @generated from field: int32 active_sessions = 3; + */ + activeSessions: number; +}; + +/** + * Describes the message exa.language_server_pb.CheckChatCapacityResponse. + * Use `create(CheckChatCapacityResponseSchema)` to create a new message. + */ +export const CheckChatCapacityResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 83); + +/** + * @generated from message exa.language_server_pb.GetUserAnalyticsSummaryRequest + */ +export type GetUserAnalyticsSummaryRequest = Message<"exa.language_server_pb.GetUserAnalyticsSummaryRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string time_zone = 2; + */ + timeZone: string; + + /** + * @generated from field: google.protobuf.Timestamp start_timestamp = 3; + */ + startTimestamp?: Timestamp | undefined; + + /** + * @generated from field: google.protobuf.Timestamp end_timestamp = 4; + */ + endTimestamp?: Timestamp | undefined; +}; + +/** + * Describes the message exa.language_server_pb.GetUserAnalyticsSummaryRequest. + * Use `create(GetUserAnalyticsSummaryRequestSchema)` to create a new message. + */ +export const GetUserAnalyticsSummaryRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 84); + +/** + * @generated from message exa.language_server_pb.GetUserAnalyticsSummaryResponse + */ +export type GetUserAnalyticsSummaryResponse = Message<"exa.language_server_pb.GetUserAnalyticsSummaryResponse"> & { + /** + * @generated from field: exa.codeium_common_pb.CompletionStatistics completion_statistics = 1; + */ + completionStatistics?: CompletionStatistics | undefined; + + /** + * @generated from field: repeated exa.codeium_common_pb.CompletionByDateEntry completions_by_day = 2; + */ + completionsByDay: CompletionByDateEntry[]; + + /** + * @generated from field: repeated exa.codeium_common_pb.CompletionByLanguageEntry completions_by_language = 3; + */ + completionsByLanguage: CompletionByLanguageEntry[]; + + /** + * @generated from field: repeated exa.codeium_common_pb.ChatStatsByModelEntry chats_by_model = 4; + */ + chatsByModel: ChatStatsByModelEntry[]; +}; + +/** + * Describes the message exa.language_server_pb.GetUserAnalyticsSummaryResponse. + * Use `create(GetUserAnalyticsSummaryResponseSchema)` to create a new message. + */ +export const GetUserAnalyticsSummaryResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 85); + +/** + * @generated from message exa.language_server_pb.GetUserStatusRequest + */ +export type GetUserStatusRequest = Message<"exa.language_server_pb.GetUserStatusRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; +}; + +/** + * Describes the message exa.language_server_pb.GetUserStatusRequest. + * Use `create(GetUserStatusRequestSchema)` to create a new message. + */ +export const GetUserStatusRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 86); + +/** + * @generated from message exa.language_server_pb.GetUserStatusResponse + */ +export type GetUserStatusResponse = Message<"exa.language_server_pb.GetUserStatusResponse"> & { + /** + * @generated from field: exa.codeium_common_pb.UserStatus user_status = 1; + */ + userStatus?: UserStatus | undefined; + + /** + * @generated from field: exa.codeium_common_pb.PlanInfo plan_info = 2; + */ + planInfo?: PlanInfo | undefined; +}; + +/** + * Describes the message exa.language_server_pb.GetUserStatusResponse. + * Use `create(GetUserStatusResponseSchema)` to create a new message. + */ +export const GetUserStatusResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 87); + +/** + * @generated from message exa.language_server_pb.GetPrimaryApiKeyForDevsOnlyRequest + */ +export type GetPrimaryApiKeyForDevsOnlyRequest = Message<"exa.language_server_pb.GetPrimaryApiKeyForDevsOnlyRequest"> & { + /** + * @generated from field: string session_token = 1; + */ + sessionToken: string; +}; + +/** + * Describes the message exa.language_server_pb.GetPrimaryApiKeyForDevsOnlyRequest. + * Use `create(GetPrimaryApiKeyForDevsOnlyRequestSchema)` to create a new message. + */ +export const GetPrimaryApiKeyForDevsOnlyRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 88); + +/** + * @generated from message exa.language_server_pb.GetPrimaryApiKeyForDevsOnlyResponse + */ +export type GetPrimaryApiKeyForDevsOnlyResponse = Message<"exa.language_server_pb.GetPrimaryApiKeyForDevsOnlyResponse"> & { + /** + * @generated from field: string api_key = 1; + */ + apiKey: string; +}; + +/** + * Describes the message exa.language_server_pb.GetPrimaryApiKeyForDevsOnlyResponse. + * Use `create(GetPrimaryApiKeyForDevsOnlyResponseSchema)` to create a new message. + */ +export const GetPrimaryApiKeyForDevsOnlyResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 89); + +/** + * @generated from message exa.language_server_pb.GetProfileDataRequest + */ +export type GetProfileDataRequest = Message<"exa.language_server_pb.GetProfileDataRequest"> & { + /** + * @generated from field: string api_key = 1; + */ + apiKey: string; +}; + +/** + * Describes the message exa.language_server_pb.GetProfileDataRequest. + * Use `create(GetProfileDataRequestSchema)` to create a new message. + */ +export const GetProfileDataRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 90); + +/** + * @generated from message exa.language_server_pb.GetProfileDataResponse + */ +export type GetProfileDataResponse = Message<"exa.language_server_pb.GetProfileDataResponse"> & { + /** + * @generated from field: string profile_picture_url = 1; + */ + profilePictureUrl: string; +}; + +/** + * Describes the message exa.language_server_pb.GetProfileDataResponse. + * Use `create(GetProfileDataResponseSchema)` to create a new message. + */ +export const GetProfileDataResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 91); + +/** + * @generated from message exa.language_server_pb.CaptureCodeRequest + */ +export type CaptureCodeRequest = Message<"exa.language_server_pb.CaptureCodeRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string prompt_id = 2; + */ + promptId: string; + + /** + * @generated from field: string code = 3; + */ + code: string; + + /** + * @generated from field: uint64 timeout_sec = 4; + */ + timeoutSec: bigint; + + /** + * @generated from field: string completion_text = 5; + */ + completionText: string; + + /** + * @generated from field: exa.codeium_common_pb.ProviderSource provider_source = 6; + */ + providerSource: ProviderSource; + + /** + * @generated from field: string completion_id = 7; + */ + completionId: string; + + /** + * @generated from field: string diagnostic_severity = 8; + */ + diagnosticSeverity: string; +}; + +/** + * Describes the message exa.language_server_pb.CaptureCodeRequest. + * Use `create(CaptureCodeRequestSchema)` to create a new message. + */ +export const CaptureCodeRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 92); + +/** + * @generated from message exa.language_server_pb.CaptureCodeResponse + */ +export type CaptureCodeResponse = Message<"exa.language_server_pb.CaptureCodeResponse"> & { +}; + +/** + * Describes the message exa.language_server_pb.CaptureCodeResponse. + * Use `create(CaptureCodeResponseSchema)` to create a new message. + */ +export const CaptureCodeResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 93); + +/** + * @generated from message exa.language_server_pb.CaptureFileRequest + */ +export type CaptureFileRequest = Message<"exa.language_server_pb.CaptureFileRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.CaptureFileRequestData data = 1; + */ + data?: CaptureFileRequestData | undefined; + + /** + * @generated from field: exa.codeium_common_pb.ExperimentConfig experiment_config = 2 [deprecated = true]; + * @deprecated + */ + experimentConfig?: ExperimentConfig | undefined; +}; + +/** + * Describes the message exa.language_server_pb.CaptureFileRequest. + * Use `create(CaptureFileRequestSchema)` to create a new message. + */ +export const CaptureFileRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 94); + +/** + * @generated from message exa.language_server_pb.CaptureFileResponse + */ +export type CaptureFileResponse = Message<"exa.language_server_pb.CaptureFileResponse"> & { +}; + +/** + * Describes the message exa.language_server_pb.CaptureFileResponse. + * Use `create(CaptureFileResponseSchema)` to create a new message. + */ +export const CaptureFileResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 95); + +/** + * @generated from message exa.language_server_pb.GetChangelogRequest + */ +export type GetChangelogRequest = Message<"exa.language_server_pb.GetChangelogRequest"> & { + /** + * @generated from field: string version = 1; + */ + version: string; +}; + +/** + * Describes the message exa.language_server_pb.GetChangelogRequest. + * Use `create(GetChangelogRequestSchema)` to create a new message. + */ +export const GetChangelogRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 96); + +/** + * @generated from message exa.language_server_pb.GetChangelogResponse + */ +export type GetChangelogResponse = Message<"exa.language_server_pb.GetChangelogResponse"> & { + /** + * @generated from field: string path = 1; + */ + path: string; +}; + +/** + * Describes the message exa.language_server_pb.GetChangelogResponse. + * Use `create(GetChangelogResponseSchema)` to create a new message. + */ +export const GetChangelogResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 97); + +/** + * @generated from message exa.language_server_pb.GetFunctionsRequest + */ +export type GetFunctionsRequest = Message<"exa.language_server_pb.GetFunctionsRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Document document = 1; + */ + document?: Document | undefined; +}; + +/** + * Describes the message exa.language_server_pb.GetFunctionsRequest. + * Use `create(GetFunctionsRequestSchema)` to create a new message. + */ +export const GetFunctionsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 98); + +/** + * @generated from message exa.language_server_pb.GetFunctionsResponse + */ +export type GetFunctionsResponse = Message<"exa.language_server_pb.GetFunctionsResponse"> & { + /** + * @generated from field: repeated exa.codeium_common_pb.FunctionInfo function_captures = 1; + */ + functionCaptures: FunctionInfo[]; +}; + +/** + * Describes the message exa.language_server_pb.GetFunctionsResponse. + * Use `create(GetFunctionsResponseSchema)` to create a new message. + */ +export const GetFunctionsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 99); + +/** + * @generated from message exa.language_server_pb.GetClassInfosRequest + */ +export type GetClassInfosRequest = Message<"exa.language_server_pb.GetClassInfosRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Document document = 1; + */ + document?: Document | undefined; +}; + +/** + * Describes the message exa.language_server_pb.GetClassInfosRequest. + * Use `create(GetClassInfosRequestSchema)` to create a new message. + */ +export const GetClassInfosRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 100); + +/** + * @generated from message exa.language_server_pb.GetClassInfosResponse + */ +export type GetClassInfosResponse = Message<"exa.language_server_pb.GetClassInfosResponse"> & { + /** + * @generated from field: repeated exa.codeium_common_pb.ClassInfo class_captures = 1; + */ + classCaptures: ClassInfo[]; +}; + +/** + * Describes the message exa.language_server_pb.GetClassInfosResponse. + * Use `create(GetClassInfosResponseSchema)` to create a new message. + */ +export const GetClassInfosResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 101); + +/** + * @generated from message exa.language_server_pb.ExitRequest + */ +export type ExitRequest = Message<"exa.language_server_pb.ExitRequest"> & { +}; + +/** + * Describes the message exa.language_server_pb.ExitRequest. + * Use `create(ExitRequestSchema)` to create a new message. + */ +export const ExitRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 102); + +/** + * @generated from message exa.language_server_pb.ExitResponse + */ +export type ExitResponse = Message<"exa.language_server_pb.ExitResponse"> & { +}; + +/** + * Describes the message exa.language_server_pb.ExitResponse. + * Use `create(ExitResponseSchema)` to create a new message. + */ +export const ExitResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 103); + +/** + * @generated from message exa.language_server_pb.State + */ +export type State = Message<"exa.language_server_pb.State"> & { + /** + * @generated from field: exa.language_server_pb.CodeiumState state = 1; + */ + state: CodeiumState; + + /** + * @generated from field: string message = 2; + */ + message: string; +}; + +/** + * Describes the message exa.language_server_pb.State. + * Use `create(StateSchema)` to create a new message. + */ +export const StateSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 104); + +/** + * @generated from message exa.language_server_pb.RequestInfo + */ +export type RequestInfo = Message<"exa.language_server_pb.RequestInfo"> & { + /** + * @generated from field: string prompt_id = 1; + */ + promptId: string; + + /** + * @generated from field: exa.codeium_common_pb.CompletionsRequest completions_request = 4; + */ + completionsRequest?: CompletionsRequest | undefined; + + /** + * @generated from field: string typing_as_suggested_prompt_suffix = 5; + */ + typingAsSuggestedPromptSuffix: string; + + /** + * @generated from field: exa.codeium_common_pb.CompletionType completion_type = 6; + */ + completionType: CompletionType; +}; + +/** + * Describes the message exa.language_server_pb.RequestInfo. + * Use `create(RequestInfoSchema)` to create a new message. + */ +export const RequestInfoSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 105); + +/** + * @generated from message exa.language_server_pb.LatencyInfo + */ +export type LatencyInfo = Message<"exa.language_server_pb.LatencyInfo"> & { + /** + * @generated from field: uint64 client_latency_ms = 1; + */ + clientLatencyMs: bigint; + + /** + * @generated from field: uint64 prompt_latency_ms = 2; + */ + promptLatencyMs: bigint; + + /** + * @generated from field: repeated exa.codeium_common_pb.PromptStageLatency prompt_stage_latencies = 3; + */ + promptStageLatencies: PromptStageLatency[]; + + /** + * @generated from field: uint64 debounce_latency_ms = 4; + */ + debounceLatencyMs: bigint; + + /** + * @generated from field: uint64 rpc_latency_ms = 5; + */ + rpcLatencyMs: bigint; + + /** + * @generated from field: uint64 network_latency_ms = 6; + */ + networkLatencyMs: bigint; +}; + +/** + * Describes the message exa.language_server_pb.LatencyInfo. + * Use `create(LatencyInfoSchema)` to create a new message. + */ +export const LatencyInfoSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 106); + +/** + * @generated from message exa.language_server_pb.Suffix + */ +export type Suffix = Message<"exa.language_server_pb.Suffix"> & { + /** + * @generated from field: string text = 1; + */ + text: string; + + /** + * @generated from field: int64 delta_cursor_offset = 2; + */ + deltaCursorOffset: bigint; +}; + +/** + * Describes the message exa.language_server_pb.Suffix. + * Use `create(SuffixSchema)` to create a new message. + */ +export const SuffixSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 107); + +/** + * @generated from message exa.language_server_pb.CompletionPart + */ +export type CompletionPart = Message<"exa.language_server_pb.CompletionPart"> & { + /** + * @generated from field: string text = 1; + */ + text: string; + + /** + * @generated from field: uint64 offset = 2; + */ + offset: bigint; + + /** + * @generated from field: exa.language_server_pb.CompletionPartType type = 3; + */ + type: CompletionPartType; + + /** + * @generated from field: string prefix = 4; + */ + prefix: string; + + /** + * @generated from field: uint64 line = 5; + */ + line: bigint; +}; + +/** + * Describes the message exa.language_server_pb.CompletionPart. + * Use `create(CompletionPartSchema)` to create a new message. + */ +export const CompletionPartSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 108); + +/** + * @generated from message exa.language_server_pb.CompletionItem + */ +export type CompletionItem = Message<"exa.language_server_pb.CompletionItem"> & { + /** + * @generated from field: exa.codeium_common_pb.Completion completion = 1; + */ + completion?: Completion | undefined; + + /** + * @generated from field: exa.language_server_pb.Suffix suffix = 5; + */ + suffix?: Suffix | undefined; + + /** + * @generated from field: exa.codeium_common_pb.Range range = 2; + */ + range?: Range | undefined; + + /** + * @generated from field: exa.codeium_common_pb.CompletionSource source = 3; + */ + source: CompletionSource; + + /** + * @generated from field: repeated exa.language_server_pb.CompletionPart completion_parts = 8; + */ + completionParts: CompletionPart[]; +}; + +/** + * Describes the message exa.language_server_pb.CompletionItem. + * Use `create(CompletionItemSchema)` to create a new message. + */ +export const CompletionItemSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 109); + +/** + * @generated from message exa.language_server_pb.SearchResult + */ +export type SearchResult = Message<"exa.language_server_pb.SearchResult"> & { + /** + * @generated from field: int64 embedding_id = 1; + */ + embeddingId: bigint; + + /** + * @generated from field: string absolute_path_migrate_me_to_uri = 2 [deprecated = true]; + * @deprecated + */ + absolutePathMigrateMeToUri: string; + + /** + * @generated from field: string absolute_uri = 7; + */ + absoluteUri: string; + + /** + * @generated from field: repeated exa.codeium_common_pb.WorkspacePath workspace_paths = 3; + */ + workspacePaths: WorkspacePath[]; + + /** + * @generated from field: exa.codeium_common_pb.EmbeddingMetadata embedding_metadata = 4; + */ + embeddingMetadata?: EmbeddingMetadata | undefined; + + /** + * @generated from field: float similarity_score = 5; + */ + similarityScore: number; + + /** + * @generated from field: exa.codeium_common_pb.CodeContextItem code_context_item = 6; + */ + codeContextItem?: CodeContextItem | undefined; +}; + +/** + * Describes the message exa.language_server_pb.SearchResult. + * Use `create(SearchResultSchema)` to create a new message. + */ +export const SearchResultSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 110); + +/** + * @generated from message exa.language_server_pb.SearchResultCluster + */ +export type SearchResultCluster = Message<"exa.language_server_pb.SearchResultCluster"> & { + /** + * @generated from field: repeated exa.language_server_pb.SearchResult search_results = 1; + */ + searchResults: SearchResult[]; + + /** + * @generated from field: string representative_path = 2; + */ + representativePath: string; + + /** + * @generated from field: string description = 3; + */ + description: string; + + /** + * @generated from field: float mean_similarity_score = 4; + */ + meanSimilarityScore: number; + + /** + * @generated from field: string search_id = 5; + */ + searchId: string; + + /** + * @generated from field: string result_id = 6; + */ + resultId: string; +}; + +/** + * Describes the message exa.language_server_pb.SearchResultCluster. + * Use `create(SearchResultClusterSchema)` to create a new message. + */ +export const SearchResultClusterSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 111); + +/** + * @generated from message exa.language_server_pb.ProgressBar + */ +export type ProgressBar = Message<"exa.language_server_pb.ProgressBar"> & { + /** + * @generated from field: float progress = 1; + */ + progress: number; + + /** + * @generated from field: string text = 2; + */ + text: string; + + /** + * @generated from field: bool hidden = 3; + */ + hidden: boolean; + + /** + * @generated from field: google.protobuf.Duration remaining_time = 4; + */ + remainingTime?: Duration | undefined; +}; + +/** + * Describes the message exa.language_server_pb.ProgressBar. + * Use `create(ProgressBarSchema)` to create a new message. + */ +export const ProgressBarSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 112); + +/** + * @generated from message exa.language_server_pb.ExactSearchQuery + */ +export type ExactSearchQuery = Message<"exa.language_server_pb.ExactSearchQuery"> & { + /** + * @generated from field: string pattern = 1; + */ + pattern: string; + + /** + * @generated from field: bool is_multiline = 2; + */ + isMultiline: boolean; + + /** + * @generated from field: bool is_reg_exp = 3; + */ + isRegExp: boolean; + + /** + * @generated from field: bool is_case_sensitive = 4; + */ + isCaseSensitive: boolean; + + /** + * @generated from field: bool is_word_match = 5; + */ + isWordMatch: boolean; +}; + +/** + * Describes the message exa.language_server_pb.ExactSearchQuery. + * Use `create(ExactSearchQuerySchema)` to create a new message. + */ +export const ExactSearchQuerySchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 113); + +/** + * @generated from message exa.language_server_pb.ExactSearchOptions + */ +export type ExactSearchOptions = Message<"exa.language_server_pb.ExactSearchOptions"> & { + /** + * @generated from field: string folder = 1; + */ + folder: string; + + /** + * @generated from field: repeated string includes = 2; + */ + includes: string[]; + + /** + * @generated from field: repeated string excludes = 3; + */ + excludes: string[]; + + /** + * @generated from field: bool disregard_ignore_files = 4; + */ + disregardIgnoreFiles: boolean; + + /** + * @generated from field: bool follow_symlinks = 5; + */ + followSymlinks: boolean; + + /** + * @generated from field: bool disregard_global_ignore_files = 6; + */ + disregardGlobalIgnoreFiles: boolean; + + /** + * @generated from field: bool disregard_parent_ignore_files = 7; + */ + disregardParentIgnoreFiles: boolean; + + /** + * @generated from field: uint32 max_file_size = 8; + */ + maxFileSize: number; + + /** + * @generated from field: string encoding = 9; + */ + encoding: string; + + /** + * @generated from field: uint32 before_context_lines = 10; + */ + beforeContextLines: number; + + /** + * @generated from field: uint32 after_context_lines = 11; + */ + afterContextLines: number; + + /** + * @generated from field: uint32 max_results = 12; + */ + maxResults: number; + + /** + * @generated from field: exa.language_server_pb.ExactSearchPreviewOptions preview_options = 13; + */ + previewOptions?: ExactSearchPreviewOptions | undefined; +}; + +/** + * Describes the message exa.language_server_pb.ExactSearchOptions. + * Use `create(ExactSearchOptionsSchema)` to create a new message. + */ +export const ExactSearchOptionsSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 114); + +/** + * @generated from message exa.language_server_pb.ExactSearchPreviewOptions + */ +export type ExactSearchPreviewOptions = Message<"exa.language_server_pb.ExactSearchPreviewOptions"> & { + /** + * @generated from field: uint32 match_lines = 1; + */ + matchLines: number; + + /** + * @generated from field: uint32 chars_per_line = 2; + */ + charsPerLine: number; +}; + +/** + * Describes the message exa.language_server_pb.ExactSearchPreviewOptions. + * Use `create(ExactSearchPreviewOptionsSchema)` to create a new message. + */ +export const ExactSearchPreviewOptionsSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 115); + +/** + * @generated from message exa.language_server_pb.ExactSearchResult + */ +export type ExactSearchResult = Message<"exa.language_server_pb.ExactSearchResult"> & { + /** + * @generated from field: string absolute_path = 1; + */ + absolutePath: string; + + /** + * @generated from field: string relative_path = 4; + */ + relativePath: string; + + /** + * @generated from field: repeated exa.codeium_common_pb.Range ranges = 2; + */ + ranges: Range[]; + + /** + * @generated from field: exa.language_server_pb.ExactSearchMatchPreview preview = 3; + */ + preview?: ExactSearchMatchPreview | undefined; + + /** + * @generated from field: string result_id = 5; + */ + resultId: string; +}; + +/** + * Describes the message exa.language_server_pb.ExactSearchResult. + * Use `create(ExactSearchResultSchema)` to create a new message. + */ +export const ExactSearchResultSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 116); + +/** + * @generated from message exa.language_server_pb.ExactSearchMatchPreview + */ +export type ExactSearchMatchPreview = Message<"exa.language_server_pb.ExactSearchMatchPreview"> & { + /** + * @generated from field: string text = 1; + */ + text: string; + + /** + * @generated from field: repeated exa.codeium_common_pb.Range ranges = 2; + */ + ranges: Range[]; +}; + +/** + * Describes the message exa.language_server_pb.ExactSearchMatchPreview. + * Use `create(ExactSearchMatchPreviewSchema)` to create a new message. + */ +export const ExactSearchMatchPreviewSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 117); + +/** + * @generated from message exa.language_server_pb.AddTrackedWorkspaceRequest + */ +export type AddTrackedWorkspaceRequest = Message<"exa.language_server_pb.AddTrackedWorkspaceRequest"> & { + /** + * @generated from field: string workspace = 1; + */ + workspace: string; +}; + +/** + * Describes the message exa.language_server_pb.AddTrackedWorkspaceRequest. + * Use `create(AddTrackedWorkspaceRequestSchema)` to create a new message. + */ +export const AddTrackedWorkspaceRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 118); + +/** + * @generated from message exa.language_server_pb.AddTrackedWorkspaceResponse + */ +export type AddTrackedWorkspaceResponse = Message<"exa.language_server_pb.AddTrackedWorkspaceResponse"> & { +}; + +/** + * Describes the message exa.language_server_pb.AddTrackedWorkspaceResponse. + * Use `create(AddTrackedWorkspaceResponseSchema)` to create a new message. + */ +export const AddTrackedWorkspaceResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 119); + +/** + * @generated from message exa.language_server_pb.RemoveTrackedWorkspaceRequest + */ +export type RemoveTrackedWorkspaceRequest = Message<"exa.language_server_pb.RemoveTrackedWorkspaceRequest"> & { + /** + * @generated from field: string workspace = 1; + */ + workspace: string; +}; + +/** + * Describes the message exa.language_server_pb.RemoveTrackedWorkspaceRequest. + * Use `create(RemoveTrackedWorkspaceRequestSchema)` to create a new message. + */ +export const RemoveTrackedWorkspaceRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 120); + +/** + * @generated from message exa.language_server_pb.RemoveTrackedWorkspaceResponse + */ +export type RemoveTrackedWorkspaceResponse = Message<"exa.language_server_pb.RemoveTrackedWorkspaceResponse"> & { +}; + +/** + * Describes the message exa.language_server_pb.RemoveTrackedWorkspaceResponse. + * Use `create(RemoveTrackedWorkspaceResponseSchema)` to create a new message. + */ +export const RemoveTrackedWorkspaceResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 121); + +/** + * @generated from message exa.language_server_pb.GetWorkspaceEditStateRequest + */ +export type GetWorkspaceEditStateRequest = Message<"exa.language_server_pb.GetWorkspaceEditStateRequest"> & { +}; + +/** + * Describes the message exa.language_server_pb.GetWorkspaceEditStateRequest. + * Use `create(GetWorkspaceEditStateRequestSchema)` to create a new message. + */ +export const GetWorkspaceEditStateRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 122); + +/** + * @generated from message exa.language_server_pb.WorkspaceEditState + */ +export type WorkspaceEditState = Message<"exa.language_server_pb.WorkspaceEditState"> & { + /** + * @generated from field: string repo_root = 1; + */ + repoRoot: string; + + /** + * @generated from field: uint64 num_additions = 2; + */ + numAdditions: bigint; + + /** + * @generated from field: uint64 num_deletions = 3; + */ + numDeletions: bigint; + + /** + * @generated from field: repeated exa.cortex_pb.ActionResultEdit edits = 4; + */ + edits: ActionResultEdit[]; +}; + +/** + * Describes the message exa.language_server_pb.WorkspaceEditState. + * Use `create(WorkspaceEditStateSchema)` to create a new message. + */ +export const WorkspaceEditStateSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 123); + +/** + * @generated from message exa.language_server_pb.GetWorkspaceEditStateResponse + */ +export type GetWorkspaceEditStateResponse = Message<"exa.language_server_pb.GetWorkspaceEditStateResponse"> & { + /** + * @generated from field: repeated exa.language_server_pb.WorkspaceEditState workspace_edits = 1; + */ + workspaceEdits: WorkspaceEditState[]; +}; + +/** + * Describes the message exa.language_server_pb.GetWorkspaceEditStateResponse. + * Use `create(GetWorkspaceEditStateResponseSchema)` to create a new message. + */ +export const GetWorkspaceEditStateResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 124); + +/** + * @generated from message exa.language_server_pb.BranchInfo + */ +export type BranchInfo = Message<"exa.language_server_pb.BranchInfo"> & { + /** + * @generated from field: string name = 1; + */ + name: string; + + /** + * @generated from field: bool is_current_branch = 2; + */ + isCurrentBranch: boolean; +}; + +/** + * Describes the message exa.language_server_pb.BranchInfo. + * Use `create(BranchInfoSchema)` to create a new message. + */ +export const BranchInfoSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 125); + +/** + * @generated from message exa.language_server_pb.RepoInfo + */ +export type RepoInfo = Message<"exa.language_server_pb.RepoInfo"> & { + /** + * @generated from field: string name = 1; + */ + name: string; + + /** + * @generated from field: string repo_path = 2; + */ + repoPath: string; + + /** + * @generated from field: repeated exa.language_server_pb.BranchInfo branches = 3; + */ + branches: BranchInfo[]; + + /** + * @generated from field: exa.codeium_common_pb.ScmType scm_type = 4; + */ + scmType: ScmType; + + /** + * @generated from field: string full_repo_name = 5; + */ + fullRepoName: string; +}; + +/** + * Describes the message exa.language_server_pb.RepoInfo. + * Use `create(RepoInfoSchema)` to create a new message. + */ +export const RepoInfoSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 126); + +/** + * @generated from message exa.language_server_pb.GetRepoInfosRequest + */ +export type GetRepoInfosRequest = Message<"exa.language_server_pb.GetRepoInfosRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; +}; + +/** + * Describes the message exa.language_server_pb.GetRepoInfosRequest. + * Use `create(GetRepoInfosRequestSchema)` to create a new message. + */ +export const GetRepoInfosRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 127); + +/** + * @generated from message exa.language_server_pb.GetRepoInfosResponse + */ +export type GetRepoInfosResponse = Message<"exa.language_server_pb.GetRepoInfosResponse"> & { + /** + * @generated from field: repeated exa.language_server_pb.RepoInfo repos = 1; + */ + repos: RepoInfo[]; +}; + +/** + * Describes the message exa.language_server_pb.GetRepoInfosResponse. + * Use `create(GetRepoInfosResponseSchema)` to create a new message. + */ +export const GetRepoInfosResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 128); + +/** + * @generated from message exa.language_server_pb.GetWorkspaceInfosRequest + */ +export type GetWorkspaceInfosRequest = Message<"exa.language_server_pb.GetWorkspaceInfosRequest"> & { +}; + +/** + * Describes the message exa.language_server_pb.GetWorkspaceInfosRequest. + * Use `create(GetWorkspaceInfosRequestSchema)` to create a new message. + */ +export const GetWorkspaceInfosRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 129); + +/** + * @generated from message exa.language_server_pb.WorkspaceInfo + */ +export type WorkspaceInfo = Message<"exa.language_server_pb.WorkspaceInfo"> & { + /** + * @generated from field: string workspace_uri = 1; + */ + workspaceUri: string; + + /** + * @generated from field: string git_root_uri = 2; + */ + gitRootUri: string; +}; + +/** + * Describes the message exa.language_server_pb.WorkspaceInfo. + * Use `create(WorkspaceInfoSchema)` to create a new message. + */ +export const WorkspaceInfoSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 130); + +/** + * @generated from message exa.language_server_pb.GetWorkspaceInfosResponse + */ +export type GetWorkspaceInfosResponse = Message<"exa.language_server_pb.GetWorkspaceInfosResponse"> & { + /** + * @generated from field: string home_dir_path = 1; + */ + homeDirPath: string; + + /** + * @generated from field: repeated exa.language_server_pb.WorkspaceInfo workspace_infos = 2; + */ + workspaceInfos: WorkspaceInfo[]; + + /** + * @generated from field: string home_dir_uri = 3; + */ + homeDirUri: string; +}; + +/** + * Describes the message exa.language_server_pb.GetWorkspaceInfosResponse. + * Use `create(GetWorkspaceInfosResponseSchema)` to create a new message. + */ +export const GetWorkspaceInfosResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 131); + +/** + * @generated from message exa.language_server_pb.GenerateCommitMessageRequest + */ +export type GenerateCommitMessageRequest = Message<"exa.language_server_pb.GenerateCommitMessageRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: exa.codeium_common_pb.PlanInfo plan_info = 2; + */ + planInfo?: PlanInfo | undefined; + + /** + * @generated from field: string repo_root_uri = 3; + */ + repoRootUri: string; +}; + +/** + * Describes the message exa.language_server_pb.GenerateCommitMessageRequest. + * Use `create(GenerateCommitMessageRequestSchema)` to create a new message. + */ +export const GenerateCommitMessageRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 132); + +/** + * @generated from message exa.language_server_pb.CommitMessageData + */ +export type CommitMessageData = Message<"exa.language_server_pb.CommitMessageData"> & { + /** + * @generated from field: string repo_root = 1; + */ + repoRoot: string; + + /** + * @generated from field: string commit_message_summary = 2; + */ + commitMessageSummary: string; + + /** + * @generated from field: string commit_message_description = 3; + */ + commitMessageDescription: string; + + /** + * @generated from field: repeated string changed_files_migrate_me_to_uri = 4 [deprecated = true]; + * @deprecated + */ + changedFilesMigrateMeToUri: string[]; + + /** + * @generated from field: repeated string changed_file_uris = 5; + */ + changedFileUris: string[]; +}; + +/** + * Describes the message exa.language_server_pb.CommitMessageData. + * Use `create(CommitMessageDataSchema)` to create a new message. + */ +export const CommitMessageDataSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 133); + +/** + * @generated from message exa.language_server_pb.GenerateCommitMessageResponse + */ +export type GenerateCommitMessageResponse = Message<"exa.language_server_pb.GenerateCommitMessageResponse"> & { + /** + * @generated from field: repeated exa.language_server_pb.CommitMessageData commit_messages = 1; + */ + commitMessages: CommitMessageData[]; +}; + +/** + * Describes the message exa.language_server_pb.GenerateCommitMessageResponse. + * Use `create(GenerateCommitMessageResponseSchema)` to create a new message. + */ +export const GenerateCommitMessageResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 134); + +/** + * @generated from message exa.language_server_pb.RecordCommitMessageSaveRequest + */ +export type RecordCommitMessageSaveRequest = Message<"exa.language_server_pb.RecordCommitMessageSaveRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string repo_root = 2; + */ + repoRoot: string; + + /** + * @generated from field: string branch_name = 3; + */ + branchName: string; + + /** + * @generated from field: string commit_hash = 4; + */ + commitHash: string; + + /** + * @generated from field: string commit_message = 5; + */ + commitMessage: string; + + /** + * @generated from field: google.protobuf.Timestamp commit_timestamp = 6; + */ + commitTimestamp?: Timestamp | undefined; + + /** + * @generated from field: string parent_commit_hash = 7; + */ + parentCommitHash: string; + + /** + * @generated from field: string author_name = 8; + */ + authorName: string; + + /** + * @generated from field: string author_email = 9; + */ + authorEmail: string; +}; + +/** + * Describes the message exa.language_server_pb.RecordCommitMessageSaveRequest. + * Use `create(RecordCommitMessageSaveRequestSchema)` to create a new message. + */ +export const RecordCommitMessageSaveRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 135); + +/** + * @generated from message exa.language_server_pb.RecordCommitMessageSaveResponse + */ +export type RecordCommitMessageSaveResponse = Message<"exa.language_server_pb.RecordCommitMessageSaveResponse"> & { +}; + +/** + * Describes the message exa.language_server_pb.RecordCommitMessageSaveResponse. + * Use `create(RecordCommitMessageSaveResponseSchema)` to create a new message. + */ +export const RecordCommitMessageSaveResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 136); + +/** + * @generated from message exa.language_server_pb.VibeAndReplaceFile + */ +export type VibeAndReplaceFile = Message<"exa.language_server_pb.VibeAndReplaceFile"> & { + /** + * @generated from field: string file_uri = 1; + */ + fileUri: string; + + /** + * @generated from field: string original_content = 2; + */ + originalContent: string; + + /** + * @generated from field: repeated string matches = 3; + */ + matches: string[]; + + /** + * @generated from field: repeated int32 match_lines = 4; + */ + matchLines: number[]; +}; + +/** + * Describes the message exa.language_server_pb.VibeAndReplaceFile. + * Use `create(VibeAndReplaceFileSchema)` to create a new message. + */ +export const VibeAndReplaceFileSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 137); + +/** + * @generated from message exa.language_server_pb.GenerateVibeAndReplaceStreamingRequest + */ +export type GenerateVibeAndReplaceStreamingRequest = Message<"exa.language_server_pb.GenerateVibeAndReplaceStreamingRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: exa.codeium_common_pb.PlanInfo plan_info = 2; + */ + planInfo?: PlanInfo | undefined; + + /** + * @generated from field: string prompt = 3; + */ + prompt: string; + + /** + * @generated from field: string search_query = 4; + */ + searchQuery: string; + + /** + * @generated from field: string search_options_text = 5; + */ + searchOptionsText: string; + + /** + * @generated from field: repeated exa.language_server_pb.VibeAndReplaceFile files = 6; + */ + files: VibeAndReplaceFile[]; + + /** + * @generated from field: string cascade_id = 7; + */ + cascadeId: string; + + /** + * @generated from field: optional string model_uid_for_generation = 9; + */ + modelUidForGeneration?: string | undefined; +}; + +/** + * Describes the message exa.language_server_pb.GenerateVibeAndReplaceStreamingRequest. + * Use `create(GenerateVibeAndReplaceStreamingRequestSchema)` to create a new message. + */ +export const GenerateVibeAndReplaceStreamingRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 138); + +/** + * @generated from message exa.language_server_pb.VibeAndReplaceData + */ +export type VibeAndReplaceData = Message<"exa.language_server_pb.VibeAndReplaceData"> & { + /** + * @generated from field: string request_id = 1; + */ + requestId: string; + + /** + * @generated from field: string output = 2; + */ + output: string; + + /** + * @generated from field: repeated exa.codeium_common_pb.ChatToolCall tool_calls = 3; + */ + toolCalls: ChatToolCall[]; + + /** + * @generated from field: exa.codeium_common_pb.GRPCStatus error = 4; + */ + error?: GRPCStatus | undefined; + + /** + * @generated from field: string file_path = 5; + */ + filePath: string; + + /** + * @generated from field: bool is_skipped = 6; + */ + isSkipped: boolean; +}; + +/** + * Describes the message exa.language_server_pb.VibeAndReplaceData. + * Use `create(VibeAndReplaceDataSchema)` to create a new message. + */ +export const VibeAndReplaceDataSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 139); + +/** + * @generated from message exa.language_server_pb.GenerateVibeAndReplaceStreamingResponse + */ +export type GenerateVibeAndReplaceStreamingResponse = Message<"exa.language_server_pb.GenerateVibeAndReplaceStreamingResponse"> & { + /** + * @generated from field: exa.language_server_pb.VibeAndReplaceData vibe_and_replace_data = 1; + */ + vibeAndReplaceData?: VibeAndReplaceData | undefined; +}; + +/** + * Describes the message exa.language_server_pb.GenerateVibeAndReplaceStreamingResponse. + * Use `create(GenerateVibeAndReplaceStreamingResponseSchema)` to create a new message. + */ +export const GenerateVibeAndReplaceStreamingResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 140); + +/** + * @generated from message exa.language_server_pb.GetUserSettingsRequest + */ +export type GetUserSettingsRequest = Message<"exa.language_server_pb.GetUserSettingsRequest"> & { +}; + +/** + * Describes the message exa.language_server_pb.GetUserSettingsRequest. + * Use `create(GetUserSettingsRequestSchema)` to create a new message. + */ +export const GetUserSettingsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 141); + +/** + * @generated from message exa.language_server_pb.GetUserSettingsResponse + */ +export type GetUserSettingsResponse = Message<"exa.language_server_pb.GetUserSettingsResponse"> & { + /** + * @generated from field: exa.codeium_common_pb.UserSettings user_settings = 1; + */ + userSettings?: UserSettings | undefined; +}; + +/** + * Describes the message exa.language_server_pb.GetUserSettingsResponse. + * Use `create(GetUserSettingsResponseSchema)` to create a new message. + */ +export const GetUserSettingsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 142); + +/** + * @generated from message exa.language_server_pb.SetUserSettingsRequest + */ +export type SetUserSettingsRequest = Message<"exa.language_server_pb.SetUserSettingsRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.UserSettings user_settings = 1; + */ + userSettings?: UserSettings | undefined; +}; + +/** + * Describes the message exa.language_server_pb.SetUserSettingsRequest. + * Use `create(SetUserSettingsRequestSchema)` to create a new message. + */ +export const SetUserSettingsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 143); + +/** + * @generated from message exa.language_server_pb.SetUserSettingsResponse + */ +export type SetUserSettingsResponse = Message<"exa.language_server_pb.SetUserSettingsResponse"> & { + /** + * @generated from field: exa.codeium_common_pb.UserSettings user_settings = 1; + */ + userSettings?: UserSettings | undefined; +}; + +/** + * Describes the message exa.language_server_pb.SetUserSettingsResponse. + * Use `create(SetUserSettingsResponseSchema)` to create a new message. + */ +export const SetUserSettingsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 144); + +/** + * @generated from message exa.language_server_pb.GetDefaultWebOriginsRequest + */ +export type GetDefaultWebOriginsRequest = Message<"exa.language_server_pb.GetDefaultWebOriginsRequest"> & { +}; + +/** + * Describes the message exa.language_server_pb.GetDefaultWebOriginsRequest. + * Use `create(GetDefaultWebOriginsRequestSchema)` to create a new message. + */ +export const GetDefaultWebOriginsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 145); + +/** + * @generated from message exa.language_server_pb.GetDefaultWebOriginsResponse + */ +export type GetDefaultWebOriginsResponse = Message<"exa.language_server_pb.GetDefaultWebOriginsResponse"> & { + /** + * @generated from field: repeated string default_origins = 1; + */ + defaultOrigins: string[]; +}; + +/** + * Describes the message exa.language_server_pb.GetDefaultWebOriginsResponse. + * Use `create(GetDefaultWebOriginsResponseSchema)` to create a new message. + */ +export const GetDefaultWebOriginsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 146); + +/** + * @generated from message exa.language_server_pb.GetDebugDiagnosticsRequest + */ +export type GetDebugDiagnosticsRequest = Message<"exa.language_server_pb.GetDebugDiagnosticsRequest"> & { +}; + +/** + * Describes the message exa.language_server_pb.GetDebugDiagnosticsRequest. + * Use `create(GetDebugDiagnosticsRequestSchema)` to create a new message. + */ +export const GetDebugDiagnosticsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 147); + +/** + * @generated from message exa.language_server_pb.GetDebugDiagnosticsResponse + */ +export type GetDebugDiagnosticsResponse = Message<"exa.language_server_pb.GetDebugDiagnosticsResponse"> & { + /** + * @generated from field: exa.codeium_common_pb.LanguageServerDiagnostics language_server_diagnostics = 1; + */ + languageServerDiagnostics?: LanguageServerDiagnostics | undefined; +}; + +/** + * Describes the message exa.language_server_pb.GetDebugDiagnosticsResponse. + * Use `create(GetDebugDiagnosticsResponseSchema)` to create a new message. + */ +export const GetDebugDiagnosticsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 148); + +/** + * @generated from message exa.language_server_pb.CodeRange + */ +export type CodeRange = Message<"exa.language_server_pb.CodeRange"> & { + /** + * @generated from field: exa.codeium_common_pb.CodeSource source = 1; + */ + source: CodeSource; + + /** + * @generated from field: uint64 start_offset = 2; + */ + startOffset: bigint; + + /** + * @generated from field: uint64 end_offset = 3; + */ + endOffset: bigint; + + /** + * @generated from field: bool modified = 4; + */ + modified: boolean; + + /** + * @generated from field: string completion_id = 5; + */ + completionId: string; + + /** + * @generated from field: exa.codeium_common_pb.CompletionType completion_type = 6; + */ + completionType: CompletionType; + + /** + * @generated from field: exa.codeium_common_pb.ProviderSource provider_source = 7; + */ + providerSource: ProviderSource; +}; + +/** + * Describes the message exa.language_server_pb.CodeRange. + * Use `create(CodeRangeSchema)` to create a new message. + */ +export const CodeRangeSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 149); + +/** + * @generated from message exa.language_server_pb.CodeTrackerState + */ +export type CodeTrackerState = Message<"exa.language_server_pb.CodeTrackerState"> & { + /** + * @generated from field: string absolute_path_migrate_me_to_uri = 1 [deprecated = true]; + * @deprecated + */ + absolutePathMigrateMeToUri: string; + + /** + * @generated from field: string absolute_uri = 6; + */ + absoluteUri: string; + + /** + * @generated from field: string text = 2; + */ + text: string; + + /** + * @generated from field: repeated exa.language_server_pb.CodeRange ranges = 3; + */ + ranges: CodeRange[]; + + /** + * @generated from field: string commit = 4; + */ + commit: string; + + /** + * @generated from field: string repo_root_migrate_me_to_uri = 5 [deprecated = true]; + * @deprecated + */ + repoRootMigrateMeToUri: string; + + /** + * @generated from field: string repo_root_uri = 7; + */ + repoRootUri: string; +}; + +/** + * Describes the message exa.language_server_pb.CodeTrackerState. + * Use `create(CodeTrackerStateSchema)` to create a new message. + */ +export const CodeTrackerStateSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 150); + +/** + * @generated from message exa.language_server_pb.GetSuggestedContextScopeItemsRequest + */ +export type GetSuggestedContextScopeItemsRequest = Message<"exa.language_server_pb.GetSuggestedContextScopeItemsRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: repeated exa.language_server_pb.ContextSuggestionSource suggestion_sources = 2; + */ + suggestionSources: ContextSuggestionSource[]; + + /** + * @generated from field: string query = 3; + */ + query: string; + + /** + * @generated from field: uint64 auto_expand_file_limit = 4; + */ + autoExpandFileLimit: bigint; + + /** + * @generated from field: uint64 max_items = 5; + */ + maxItems: bigint; +}; + +/** + * Describes the message exa.language_server_pb.GetSuggestedContextScopeItemsRequest. + * Use `create(GetSuggestedContextScopeItemsRequestSchema)` to create a new message. + */ +export const GetSuggestedContextScopeItemsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 151); + +/** + * @generated from message exa.language_server_pb.GetSuggestedContextScopeItemsResponse + */ +export type GetSuggestedContextScopeItemsResponse = Message<"exa.language_server_pb.GetSuggestedContextScopeItemsResponse"> & { + /** + * @generated from field: repeated exa.codeium_common_pb.ContextScopeItem items = 1; + */ + items: ContextScopeItem[]; +}; + +/** + * Describes the message exa.language_server_pb.GetSuggestedContextScopeItemsResponse. + * Use `create(GetSuggestedContextScopeItemsResponseSchema)` to create a new message. + */ +export const GetSuggestedContextScopeItemsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 152); + +/** + * @generated from message exa.language_server_pb.GetMatchingContextScopeItemsRequest + */ +export type GetMatchingContextScopeItemsRequest = Message<"exa.language_server_pb.GetMatchingContextScopeItemsRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: repeated exa.codeium_common_pb.ContextScopeType allowed_types = 2; + */ + allowedTypes: ContextScopeType[]; + + /** + * @generated from field: repeated exa.codeium_common_pb.CodeContextType allowed_context_types = 7; + */ + allowedContextTypes: CodeContextType[]; + + /** + * @generated from field: string query = 3; + */ + query: string; + + /** + * @generated from field: bool fuzzy_match = 4; + */ + fuzzyMatch: boolean; + + /** + * @generated from field: int32 max_items = 5; + */ + maxItems: number; + + /** + * @generated from field: bool case_insensitive = 6; + */ + caseInsensitive: boolean; + + /** + * @generated from field: string repo_filter = 8; + */ + repoFilter: string; + + /** + * @generated from field: bool enable_path_resolution = 10; + */ + enablePathResolution: boolean; +}; + +/** + * Describes the message exa.language_server_pb.GetMatchingContextScopeItemsRequest. + * Use `create(GetMatchingContextScopeItemsRequestSchema)` to create a new message. + */ +export const GetMatchingContextScopeItemsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 153); + +/** + * @generated from message exa.language_server_pb.GetMatchingContextScopeItemsResponse + */ +export type GetMatchingContextScopeItemsResponse = Message<"exa.language_server_pb.GetMatchingContextScopeItemsResponse"> & { + /** + * @generated from field: repeated exa.codeium_common_pb.ContextScopeItem items = 1; + */ + items: ContextScopeItem[]; +}; + +/** + * Describes the message exa.language_server_pb.GetMatchingContextScopeItemsResponse. + * Use `create(GetMatchingContextScopeItemsResponseSchema)` to create a new message. + */ +export const GetMatchingContextScopeItemsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 154); + +/** + * @generated from message exa.language_server_pb.ContextStatus + */ +export type ContextStatus = Message<"exa.language_server_pb.ContextStatus"> & { + /** + * @generated from field: exa.codeium_common_pb.Document active_document = 1; + */ + activeDocument?: Document | undefined; + + /** + * @generated from field: exa.codeium_common_pb.CodeContextItem last_active_code_context_item = 2; + */ + lastActiveCodeContextItem?: CodeContextItem | undefined; + + /** + * @generated from field: exa.codeium_common_pb.ContextScope pinned_scope = 3; + */ + pinnedScope?: ContextScope | undefined; + + /** + * @generated from field: exa.codeium_common_pb.Guideline pinned_guideline = 4; + */ + pinnedGuideline?: Guideline | undefined; + + /** + * @generated from field: exa.codeium_common_pb.ContextScope default_pinned_scope = 5; + */ + defaultPinnedScope?: ContextScope | undefined; +}; + +/** + * Describes the message exa.language_server_pb.ContextStatus. + * Use `create(ContextStatusSchema)` to create a new message. + */ +export const ContextStatusSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 155); + +/** + * @generated from message exa.language_server_pb.LocalIndexStatus + */ +export type LocalIndexStatus = Message<"exa.language_server_pb.LocalIndexStatus"> & { + /** + * @generated from field: string workspace_folder = 1; + */ + workspaceFolder: string; + + /** + * @generated from field: string git_root = 2; + */ + gitRoot: string; + + /** + * @generated from field: string repo_name = 3; + */ + repoName: string; + + /** + * @generated from field: exa.codeium_common_pb.GitRepoInfo remote_repo = 4; + */ + remoteRepo?: GitRepoInfo | undefined; + + /** + * @generated from field: exa.index_pb.IndexStats index_stats = 5; + */ + indexStats?: IndexStats | undefined; + + /** + * @generated from field: exa.codeium_common_pb.WorkspaceStats workspace_stats = 7; + */ + workspaceStats?: WorkspaceStats | undefined; + + /** + * @generated from field: exa.codeium_common_pb.PartialIndexMetadata partial_index_metadata = 8; + */ + partialIndexMetadata?: PartialIndexMetadata | undefined; + + /** + * @generated from field: map index_progress = 6; + */ + indexProgress: { [key: string]: ProgressBar }; +}; + +/** + * Describes the message exa.language_server_pb.LocalIndexStatus. + * Use `create(LocalIndexStatusSchema)` to create a new message. + */ +export const LocalIndexStatusSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 156); + +/** + * @generated from message exa.language_server_pb.IndexStatus + */ +export type IndexStatus = Message<"exa.language_server_pb.IndexStatus"> & { + /** + * @generated from field: repeated exa.language_server_pb.LocalIndexStatus local_indexes = 1; + */ + localIndexes: LocalIndexStatus[]; + + /** + * @generated from field: repeated string ignored_local_workspaces = 2; + */ + ignoredLocalWorkspaces: string[]; + + /** + * @generated from field: uint32 local_files_index_capacity = 3; + */ + localFilesIndexCapacity: number; +}; + +/** + * Describes the message exa.language_server_pb.IndexStatus. + * Use `create(IndexStatusSchema)` to create a new message. + */ +export const IndexStatusSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 157); + +/** + * @generated from message exa.language_server_pb.BrainStatus + */ +export type BrainStatus = Message<"exa.language_server_pb.BrainStatus"> & { + /** + * @generated from field: exa.language_server_pb.ContextStatus context_status = 1; + */ + contextStatus?: ContextStatus | undefined; + + /** + * @generated from field: exa.language_server_pb.IndexStatus index_status = 2; + */ + indexStatus?: IndexStatus | undefined; +}; + +/** + * Describes the message exa.language_server_pb.BrainStatus. + * Use `create(BrainStatusSchema)` to create a new message. + */ +export const BrainStatusSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 158); + +/** + * @generated from message exa.language_server_pb.GetBrainStatusRequest + */ +export type GetBrainStatusRequest = Message<"exa.language_server_pb.GetBrainStatusRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: bool force_refresh = 2; + */ + forceRefresh: boolean; +}; + +/** + * Describes the message exa.language_server_pb.GetBrainStatusRequest. + * Use `create(GetBrainStatusRequestSchema)` to create a new message. + */ +export const GetBrainStatusRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 159); + +/** + * @generated from message exa.language_server_pb.GetBrainStatusResponse + */ +export type GetBrainStatusResponse = Message<"exa.language_server_pb.GetBrainStatusResponse"> & { + /** + * @generated from field: exa.language_server_pb.BrainStatus brain_status = 1; + */ + brainStatus?: BrainStatus | undefined; +}; + +/** + * Describes the message exa.language_server_pb.GetBrainStatusResponse. + * Use `create(GetBrainStatusResponseSchema)` to create a new message. + */ +export const GetBrainStatusResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 160); + +/** + * @generated from message exa.language_server_pb.SetPinnedGuidelineRequest + */ +export type SetPinnedGuidelineRequest = Message<"exa.language_server_pb.SetPinnedGuidelineRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: exa.codeium_common_pb.Guideline pinned_guideline = 2; + */ + pinnedGuideline?: Guideline | undefined; +}; + +/** + * Describes the message exa.language_server_pb.SetPinnedGuidelineRequest. + * Use `create(SetPinnedGuidelineRequestSchema)` to create a new message. + */ +export const SetPinnedGuidelineRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 161); + +/** + * @generated from message exa.language_server_pb.SetPinnedContextRequest + */ +export type SetPinnedContextRequest = Message<"exa.language_server_pb.SetPinnedContextRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: exa.codeium_common_pb.ContextScope pinned_scope = 2; + */ + pinnedScope?: ContextScope | undefined; +}; + +/** + * Describes the message exa.language_server_pb.SetPinnedContextRequest. + * Use `create(SetPinnedContextRequestSchema)` to create a new message. + */ +export const SetPinnedContextRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 162); + +/** + * @generated from message exa.language_server_pb.SetPinnedGuidelineResponse + */ +export type SetPinnedGuidelineResponse = Message<"exa.language_server_pb.SetPinnedGuidelineResponse"> & { +}; + +/** + * Describes the message exa.language_server_pb.SetPinnedGuidelineResponse. + * Use `create(SetPinnedGuidelineResponseSchema)` to create a new message. + */ +export const SetPinnedGuidelineResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 163); + +/** + * @generated from message exa.language_server_pb.SetPinnedContextResponse + */ +export type SetPinnedContextResponse = Message<"exa.language_server_pb.SetPinnedContextResponse"> & { +}; + +/** + * Describes the message exa.language_server_pb.SetPinnedContextResponse. + * Use `create(SetPinnedContextResponseSchema)` to create a new message. + */ +export const SetPinnedContextResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 164); + +/** + * @generated from message exa.language_server_pb.SetupUniversitySandboxRequest + */ +export type SetupUniversitySandboxRequest = Message<"exa.language_server_pb.SetupUniversitySandboxRequest"> & { +}; + +/** + * Describes the message exa.language_server_pb.SetupUniversitySandboxRequest. + * Use `create(SetupUniversitySandboxRequestSchema)` to create a new message. + */ +export const SetupUniversitySandboxRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 165); + +/** + * @generated from message exa.language_server_pb.SetupUniversitySandboxResponse + */ +export type SetupUniversitySandboxResponse = Message<"exa.language_server_pb.SetupUniversitySandboxResponse"> & { + /** + * @generated from field: string base_directory = 1; + */ + baseDirectory: string; +}; + +/** + * Describes the message exa.language_server_pb.SetupUniversitySandboxResponse. + * Use `create(SetupUniversitySandboxResponseSchema)` to create a new message. + */ +export const SetupUniversitySandboxResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 166); + +/** + * @generated from message exa.language_server_pb.UnifiedDiffChange + */ +export type UnifiedDiffChange = Message<"exa.language_server_pb.UnifiedDiffChange"> & { + /** + * @generated from field: string text = 1; + */ + text: string; + + /** + * @generated from field: exa.language_server_pb.UnifiedDiffChangeType type = 2; + */ + type: UnifiedDiffChangeType; +}; + +/** + * Describes the message exa.language_server_pb.UnifiedDiffChange. + * Use `create(UnifiedDiffChangeSchema)` to create a new message. + */ +export const UnifiedDiffChangeSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 167); + +/** + * @generated from message exa.language_server_pb.UnifiedDiff + */ +export type UnifiedDiff = Message<"exa.language_server_pb.UnifiedDiff"> & { + /** + * @generated from field: repeated exa.language_server_pb.UnifiedDiffChange changes = 1; + */ + changes: UnifiedDiffChange[]; +}; + +/** + * Describes the message exa.language_server_pb.UnifiedDiff. + * Use `create(UnifiedDiffSchema)` to create a new message. + */ +export const UnifiedDiffSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 168); + +/** + * @generated from message exa.language_server_pb.CodeTheme + */ +export type CodeTheme = Message<"exa.language_server_pb.CodeTheme"> & { + /** + * @generated from field: string background = 1; + */ + background: string; + + /** + * @generated from field: string text = 2; + */ + text: string; + + /** + * @generated from field: string whitespace = 3; + */ + whitespace: string; + + /** + * @generated from field: string other = 4; + */ + other: string; + + /** + * @generated from field: string literal = 5; + */ + literal: string; + + /** + * @generated from field: string literal_string = 6; + */ + literalString: string; + + /** + * @generated from field: string number = 7; + */ + number: string; + + /** + * @generated from field: string operator = 8; + */ + operator: string; + + /** + * @generated from field: string punctuation = 9; + */ + punctuation: string; + + /** + * @generated from field: string generic = 10; + */ + generic: string; + + /** + * @generated from field: string name = 11; + */ + name: string; + + /** + * @generated from field: string keyword = 12; + */ + keyword: string; + + /** + * @generated from field: string comment = 13; + */ + comment: string; + + /** + * @generated from field: string error = 14; + */ + error: string; +}; + +/** + * Describes the message exa.language_server_pb.CodeTheme. + * Use `create(CodeThemeSchema)` to create a new message. + */ +export const CodeThemeSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 169); + +/** + * @generated from message exa.language_server_pb.OnboardingItemState + */ +export type OnboardingItemState = Message<"exa.language_server_pb.OnboardingItemState"> & { + /** + * @generated from field: exa.codeium_common_pb.OnboardingActionType action_type = 1; + */ + actionType: OnboardingActionType; + + /** + * @generated from field: bool completed = 2; + */ + completed: boolean; +}; + +/** + * Describes the message exa.language_server_pb.OnboardingItemState. + * Use `create(OnboardingItemStateSchema)` to create a new message. + */ +export const OnboardingItemStateSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 170); + +/** + * @generated from message exa.language_server_pb.OnboardingState + */ +export type OnboardingState = Message<"exa.language_server_pb.OnboardingState"> & { + /** + * @generated from field: bool has_skipped = 1; + */ + hasSkipped: boolean; + + /** + * @generated from field: repeated exa.language_server_pb.OnboardingItemState items = 2; + */ + items: OnboardingItemState[]; +}; + +/** + * Describes the message exa.language_server_pb.OnboardingState. + * Use `create(OnboardingStateSchema)` to create a new message. + */ +export const OnboardingStateSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 171); + +/** + * @generated from message exa.language_server_pb.ResetOnboardingRequest + */ +export type ResetOnboardingRequest = Message<"exa.language_server_pb.ResetOnboardingRequest"> & { + /** + * @generated from field: bool clear_history = 1; + */ + clearHistory: boolean; +}; + +/** + * Describes the message exa.language_server_pb.ResetOnboardingRequest. + * Use `create(ResetOnboardingRequestSchema)` to create a new message. + */ +export const ResetOnboardingRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 172); + +/** + * @generated from message exa.language_server_pb.ResetOnboardingResponse + */ +export type ResetOnboardingResponse = Message<"exa.language_server_pb.ResetOnboardingResponse"> & { +}; + +/** + * Describes the message exa.language_server_pb.ResetOnboardingResponse. + * Use `create(ResetOnboardingResponseSchema)` to create a new message. + */ +export const ResetOnboardingResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 173); + +/** + * @generated from message exa.language_server_pb.SkipOnboardingRequest + */ +export type SkipOnboardingRequest = Message<"exa.language_server_pb.SkipOnboardingRequest"> & { +}; + +/** + * Describes the message exa.language_server_pb.SkipOnboardingRequest. + * Use `create(SkipOnboardingRequestSchema)` to create a new message. + */ +export const SkipOnboardingRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 174); + +/** + * @generated from message exa.language_server_pb.SkipOnboardingResponse + */ +export type SkipOnboardingResponse = Message<"exa.language_server_pb.SkipOnboardingResponse"> & { +}; + +/** + * Describes the message exa.language_server_pb.SkipOnboardingResponse. + * Use `create(SkipOnboardingResponseSchema)` to create a new message. + */ +export const SkipOnboardingResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 175); + +/** + * @generated from message exa.language_server_pb.GetUserTrajectoryDebugRequest + */ +export type GetUserTrajectoryDebugRequest = Message<"exa.language_server_pb.GetUserTrajectoryDebugRequest"> & { + /** + * @generated from field: bool include_all_trajectories = 1 [deprecated = true]; + * @deprecated + */ + includeAllTrajectories: boolean; +}; + +/** + * Describes the message exa.language_server_pb.GetUserTrajectoryDebugRequest. + * Use `create(GetUserTrajectoryDebugRequestSchema)` to create a new message. + */ +export const GetUserTrajectoryDebugRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 176); + +/** + * @generated from message exa.language_server_pb.GetUserTrajectoryDebugResponse + */ +export type GetUserTrajectoryDebugResponse = Message<"exa.language_server_pb.GetUserTrajectoryDebugResponse"> & { + /** + * @generated from field: repeated exa.cortex_pb.ImplicitTrajectory mainline = 1; + */ + mainline: ImplicitTrajectory[]; + + /** + * @generated from field: exa.cortex_pb.CortexTrajectory granular = 2; + */ + granular?: CortexTrajectory | undefined; +}; + +/** + * Describes the message exa.language_server_pb.GetUserTrajectoryDebugResponse. + * Use `create(GetUserTrajectoryDebugResponseSchema)` to create a new message. + */ +export const GetUserTrajectoryDebugResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 177); + +/** + * @generated from message exa.language_server_pb.GetUserTrajectoryDescriptionsRequest + */ +export type GetUserTrajectoryDescriptionsRequest = Message<"exa.language_server_pb.GetUserTrajectoryDescriptionsRequest"> & { +}; + +/** + * Describes the message exa.language_server_pb.GetUserTrajectoryDescriptionsRequest. + * Use `create(GetUserTrajectoryDescriptionsRequestSchema)` to create a new message. + */ +export const GetUserTrajectoryDescriptionsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 178); + +/** + * @generated from message exa.language_server_pb.GetUserTrajectoryDescriptionsResponse + */ +export type GetUserTrajectoryDescriptionsResponse = Message<"exa.language_server_pb.GetUserTrajectoryDescriptionsResponse"> & { + /** + * @generated from field: repeated exa.cortex_pb.ImplicitTrajectoryDescription trajectories = 1; + */ + trajectories: ImplicitTrajectoryDescription[]; +}; + +/** + * Describes the message exa.language_server_pb.GetUserTrajectoryDescriptionsResponse. + * Use `create(GetUserTrajectoryDescriptionsResponseSchema)` to create a new message. + */ +export const GetUserTrajectoryDescriptionsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 179); + +/** + * @generated from message exa.language_server_pb.ForceBackgroundResearchRefreshRequest + */ +export type ForceBackgroundResearchRefreshRequest = Message<"exa.language_server_pb.ForceBackgroundResearchRefreshRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string mainline_trajectory_id = 2; + */ + mainlineTrajectoryId: string; + + /** + * @generated from field: bool blocking = 3; + */ + blocking: boolean; + + /** + * @generated from field: bool full_refresh = 4; + */ + fullRefresh: boolean; +}; + +/** + * Describes the message exa.language_server_pb.ForceBackgroundResearchRefreshRequest. + * Use `create(ForceBackgroundResearchRefreshRequestSchema)` to create a new message. + */ +export const ForceBackgroundResearchRefreshRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 180); + +/** + * @generated from message exa.language_server_pb.ForceBackgroundResearchRefreshResponse + */ +export type ForceBackgroundResearchRefreshResponse = Message<"exa.language_server_pb.ForceBackgroundResearchRefreshResponse"> & { +}; + +/** + * Describes the message exa.language_server_pb.ForceBackgroundResearchRefreshResponse. + * Use `create(ForceBackgroundResearchRefreshResponseSchema)` to create a new message. + */ +export const ForceBackgroundResearchRefreshResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 181); + +/** + * @generated from message exa.language_server_pb.ReplayGroundTruthTrajectoryRequest + */ +export type ReplayGroundTruthTrajectoryRequest = Message<"exa.language_server_pb.ReplayGroundTruthTrajectoryRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: repeated exa.cortex_pb.CortexTrajectoryStep replay_steps = 2; + */ + replaySteps: CortexTrajectoryStep[]; + + /** + * @generated from field: string cascade_id = 3; + */ + cascadeId: string; + + /** + * @generated from field: exa.cortex_pb.CascadeConfig cascade_config = 4; + */ + cascadeConfig?: CascadeConfig | undefined; +}; + +/** + * Describes the message exa.language_server_pb.ReplayGroundTruthTrajectoryRequest. + * Use `create(ReplayGroundTruthTrajectoryRequestSchema)` to create a new message. + */ +export const ReplayGroundTruthTrajectoryRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 182); + +/** + * @generated from message exa.language_server_pb.ReplayGroundTruthTrajectoryResponse + */ +export type ReplayGroundTruthTrajectoryResponse = Message<"exa.language_server_pb.ReplayGroundTruthTrajectoryResponse"> & { + /** + * @generated from field: exa.cortex_pb.CortexTrajectory trajectory = 1; + */ + trajectory?: CortexTrajectory | undefined; +}; + +/** + * Describes the message exa.language_server_pb.ReplayGroundTruthTrajectoryResponse. + * Use `create(ReplayGroundTruthTrajectoryResponseSchema)` to create a new message. + */ +export const ReplayGroundTruthTrajectoryResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 183); + +/** + * @generated from message exa.language_server_pb.InitializeCascadePanelStateRequest + */ +export type InitializeCascadePanelStateRequest = Message<"exa.language_server_pb.InitializeCascadePanelStateRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; +}; + +/** + * Describes the message exa.language_server_pb.InitializeCascadePanelStateRequest. + * Use `create(InitializeCascadePanelStateRequestSchema)` to create a new message. + */ +export const InitializeCascadePanelStateRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 184); + +/** + * @generated from message exa.language_server_pb.InitializeCascadePanelStateResponse + */ +export type InitializeCascadePanelStateResponse = Message<"exa.language_server_pb.InitializeCascadePanelStateResponse"> & { +}; + +/** + * Describes the message exa.language_server_pb.InitializeCascadePanelStateResponse. + * Use `create(InitializeCascadePanelStateResponseSchema)` to create a new message. + */ +export const InitializeCascadePanelStateResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 185); + +/** + * @generated from message exa.language_server_pb.UpdatePanelStateWithUserStatusRequest + */ +export type UpdatePanelStateWithUserStatusRequest = Message<"exa.language_server_pb.UpdatePanelStateWithUserStatusRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: exa.codeium_common_pb.UserStatus user_status = 2; + */ + userStatus?: UserStatus | undefined; +}; + +/** + * Describes the message exa.language_server_pb.UpdatePanelStateWithUserStatusRequest. + * Use `create(UpdatePanelStateWithUserStatusRequestSchema)` to create a new message. + */ +export const UpdatePanelStateWithUserStatusRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 186); + +/** + * @generated from message exa.language_server_pb.UpdatePanelStateWithUserStatusResponse + */ +export type UpdatePanelStateWithUserStatusResponse = Message<"exa.language_server_pb.UpdatePanelStateWithUserStatusResponse"> & { +}; + +/** + * Describes the message exa.language_server_pb.UpdatePanelStateWithUserStatusResponse. + * Use `create(UpdatePanelStateWithUserStatusResponseSchema)` to create a new message. + */ +export const UpdatePanelStateWithUserStatusResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 187); + +/** + * @generated from message exa.language_server_pb.GenerateCodeMapRequest + */ +export type GenerateCodeMapRequest = Message<"exa.language_server_pb.GenerateCodeMapRequest"> & { + /** + * @generated from field: string prompt = 1; + */ + prompt: string; + + /** + * @generated from field: string mode = 2; + */ + mode: string; + + /** + * @generated from field: string source = 3; + */ + source: string; +}; + +/** + * Describes the message exa.language_server_pb.GenerateCodeMapRequest. + * Use `create(GenerateCodeMapRequestSchema)` to create a new message. + */ +export const GenerateCodeMapRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 188); + +/** + * @generated from message exa.language_server_pb.GenerateCodeMapResponse + */ +export type GenerateCodeMapResponse = Message<"exa.language_server_pb.GenerateCodeMapResponse"> & { + /** + * @generated from oneof exa.language_server_pb.GenerateCodeMapResponse.result + */ + result: { + /** + * @generated from field: string updates_json = 1; + */ + value: string; + case: "updatesJson"; + } | { + /** + * @generated from field: exa.language_server_pb.GenerateCodeMapResponse.Success success = 2; + */ + value: GenerateCodeMapResponse_Success; + case: "success"; + } | { + /** + * @generated from field: string status = 3; + */ + value: string; + case: "status"; + } | { case: undefined; value?: undefined }; +}; + +/** + * Describes the message exa.language_server_pb.GenerateCodeMapResponse. + * Use `create(GenerateCodeMapResponseSchema)` to create a new message. + */ +export const GenerateCodeMapResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 189); + +/** + * @generated from message exa.language_server_pb.GenerateCodeMapResponse.Success + */ +export type GenerateCodeMapResponse_Success = Message<"exa.language_server_pb.GenerateCodeMapResponse.Success"> & { + /** + * @generated from field: string code_map_json = 1; + */ + codeMapJson: string; +}; + +/** + * Describes the message exa.language_server_pb.GenerateCodeMapResponse.Success. + * Use `create(GenerateCodeMapResponse_SuccessSchema)` to create a new message. + */ +export const GenerateCodeMapResponse_SuccessSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 189, 0); + +/** + * @generated from message exa.language_server_pb.BranchCascadeAndGenerateCodeMapRequest + */ +export type BranchCascadeAndGenerateCodeMapRequest = Message<"exa.language_server_pb.BranchCascadeAndGenerateCodeMapRequest"> & { + /** + * @generated from field: string cascade_id = 1; + */ + cascadeId: string; + + /** + * @generated from field: optional string prompt = 2; + */ + prompt?: string | undefined; + + /** + * @generated from field: optional string source = 3; + */ + source?: string | undefined; + + /** + * @generated from field: optional string editing_codemap_id = 4; + */ + editingCodemapId?: string | undefined; + + /** + * @generated from field: optional string mode = 5; + */ + mode?: string | undefined; +}; + +/** + * Describes the message exa.language_server_pb.BranchCascadeAndGenerateCodeMapRequest. + * Use `create(BranchCascadeAndGenerateCodeMapRequestSchema)` to create a new message. + */ +export const BranchCascadeAndGenerateCodeMapRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 190); + +/** + * @generated from message exa.language_server_pb.BranchCascadeAndGenerateCodeMapResponse + */ +export type BranchCascadeAndGenerateCodeMapResponse = Message<"exa.language_server_pb.BranchCascadeAndGenerateCodeMapResponse"> & { + /** + * @generated from oneof exa.language_server_pb.BranchCascadeAndGenerateCodeMapResponse.result + */ + result: { + /** + * @generated from field: string updates_json = 1; + */ + value: string; + case: "updatesJson"; + } | { + /** + * @generated from field: exa.language_server_pb.BranchCascadeAndGenerateCodeMapResponse.Success success = 2; + */ + value: BranchCascadeAndGenerateCodeMapResponse_Success; + case: "success"; + } | { + /** + * @generated from field: string status = 3; + */ + value: string; + case: "status"; + } | { case: undefined; value?: undefined }; +}; + +/** + * Describes the message exa.language_server_pb.BranchCascadeAndGenerateCodeMapResponse. + * Use `create(BranchCascadeAndGenerateCodeMapResponseSchema)` to create a new message. + */ +export const BranchCascadeAndGenerateCodeMapResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 191); + +/** + * @generated from message exa.language_server_pb.BranchCascadeAndGenerateCodeMapResponse.Success + */ +export type BranchCascadeAndGenerateCodeMapResponse_Success = Message<"exa.language_server_pb.BranchCascadeAndGenerateCodeMapResponse.Success"> & { + /** + * @generated from field: string code_map_json = 1; + */ + codeMapJson: string; + + /** + * @generated from field: string new_cascade_id = 2; + */ + newCascadeId: string; +}; + +/** + * Describes the message exa.language_server_pb.BranchCascadeAndGenerateCodeMapResponse.Success. + * Use `create(BranchCascadeAndGenerateCodeMapResponse_SuccessSchema)` to create a new message. + */ +export const BranchCascadeAndGenerateCodeMapResponse_SuccessSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 191, 0); + +/** + * @generated from message exa.language_server_pb.StartCascadeRequest + */ +export type StartCascadeRequest = Message<"exa.language_server_pb.StartCascadeRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: exa.cortex_pb.BaseTrajectoryIdentifier base_trajectory_identifier = 3; + */ + baseTrajectoryIdentifier?: BaseTrajectoryIdentifier | undefined; + + /** + * @generated from field: exa.cortex_pb.CortexTrajectorySource source = 4; + */ + source: CortexTrajectorySource; + + /** + * @generated from field: exa.cortex_pb.CortexTrajectoryType trajectory_type = 5; + */ + trajectoryType: CortexTrajectoryType; + + /** + * @generated from field: optional uint32 start_arena = 6; + */ + startArena?: number | undefined; + + /** + * @generated from field: optional bool git_worktree = 7; + */ + gitWorktree?: boolean | undefined; + + /** + * @generated from field: exa.codeium_common_pb.ExperimentConfig experiment_config = 2 [deprecated = true]; + * @deprecated + */ + experimentConfig?: ExperimentConfig | undefined; + + /** + * @generated from field: optional exa.cortex_pb.ArenaModeInfo arena_mode_info = 8; + */ + arenaModeInfo?: ArenaModeInfo | undefined; +}; + +/** + * Describes the message exa.language_server_pb.StartCascadeRequest. + * Use `create(StartCascadeRequestSchema)` to create a new message. + */ +export const StartCascadeRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 192); + +/** + * @generated from message exa.language_server_pb.StartCascadeResponse + */ +export type StartCascadeResponse = Message<"exa.language_server_pb.StartCascadeResponse"> & { + /** + * @generated from field: string cascade_id = 1; + */ + cascadeId: string; + + /** + * @generated from field: repeated string arena_cascade_ids = 2; + */ + arenaCascadeIds: string[]; +}; + +/** + * Describes the message exa.language_server_pb.StartCascadeResponse. + * Use `create(StartCascadeResponseSchema)` to create a new message. + */ +export const StartCascadeResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 193); + +/** + * @generated from message exa.language_server_pb.GetCascadeTrajectoryRequest + */ +export type GetCascadeTrajectoryRequest = Message<"exa.language_server_pb.GetCascadeTrajectoryRequest"> & { + /** + * @generated from field: string cascade_id = 1; + */ + cascadeId: string; +}; + +/** + * Describes the message exa.language_server_pb.GetCascadeTrajectoryRequest. + * Use `create(GetCascadeTrajectoryRequestSchema)` to create a new message. + */ +export const GetCascadeTrajectoryRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 194); + +/** + * @generated from message exa.language_server_pb.GetCascadeTrajectoryResponse + */ +export type GetCascadeTrajectoryResponse = Message<"exa.language_server_pb.GetCascadeTrajectoryResponse"> & { + /** + * @generated from field: exa.cortex_pb.CortexTrajectory trajectory = 1; + */ + trajectory?: CortexTrajectory | undefined; + + /** + * @generated from field: exa.cortex_pb.CascadeRunStatus status = 2; + */ + status: CascadeRunStatus; + + /** + * @generated from field: uint32 num_total_steps = 3; + */ + numTotalSteps: number; + + /** + * @generated from field: uint32 num_total_generator_metadata = 4; + */ + numTotalGeneratorMetadata: number; +}; + +/** + * Describes the message exa.language_server_pb.GetCascadeTrajectoryResponse. + * Use `create(GetCascadeTrajectoryResponseSchema)` to create a new message. + */ +export const GetCascadeTrajectoryResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 195); + +/** + * @generated from message exa.language_server_pb.GetUserTrajectoryRequest + */ +export type GetUserTrajectoryRequest = Message<"exa.language_server_pb.GetUserTrajectoryRequest"> & { + /** + * @generated from field: string trajectory_id = 1; + */ + trajectoryId: string; +}; + +/** + * Describes the message exa.language_server_pb.GetUserTrajectoryRequest. + * Use `create(GetUserTrajectoryRequestSchema)` to create a new message. + */ +export const GetUserTrajectoryRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 196); + +/** + * @generated from message exa.language_server_pb.GetUserTrajectoryResponse + */ +export type GetUserTrajectoryResponse = Message<"exa.language_server_pb.GetUserTrajectoryResponse"> & { + /** + * @generated from field: exa.cortex_pb.CortexTrajectory trajectory = 1; + */ + trajectory?: CortexTrajectory | undefined; +}; + +/** + * Describes the message exa.language_server_pb.GetUserTrajectoryResponse. + * Use `create(GetUserTrajectoryResponseSchema)` to create a new message. + */ +export const GetUserTrajectoryResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 197); + +/** + * @generated from message exa.language_server_pb.GetCascadeTrajectoryStepsRequest + */ +export type GetCascadeTrajectoryStepsRequest = Message<"exa.language_server_pb.GetCascadeTrajectoryStepsRequest"> & { + /** + * @generated from field: string cascade_id = 1; + */ + cascadeId: string; + + /** + * @generated from field: uint32 step_offset = 2; + */ + stepOffset: number; +}; + +/** + * Describes the message exa.language_server_pb.GetCascadeTrajectoryStepsRequest. + * Use `create(GetCascadeTrajectoryStepsRequestSchema)` to create a new message. + */ +export const GetCascadeTrajectoryStepsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 198); + +/** + * @generated from message exa.language_server_pb.GetCascadeTrajectoryStepsResponse + */ +export type GetCascadeTrajectoryStepsResponse = Message<"exa.language_server_pb.GetCascadeTrajectoryStepsResponse"> & { + /** + * @generated from field: repeated exa.cortex_pb.CortexTrajectoryStep steps = 1; + */ + steps: CortexTrajectoryStep[]; +}; + +/** + * Describes the message exa.language_server_pb.GetCascadeTrajectoryStepsResponse. + * Use `create(GetCascadeTrajectoryStepsResponseSchema)` to create a new message. + */ +export const GetCascadeTrajectoryStepsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 199); + +/** + * @generated from message exa.language_server_pb.GetCascadeTrajectoryGeneratorMetadataRequest + */ +export type GetCascadeTrajectoryGeneratorMetadataRequest = Message<"exa.language_server_pb.GetCascadeTrajectoryGeneratorMetadataRequest"> & { + /** + * @generated from field: string cascade_id = 1; + */ + cascadeId: string; + + /** + * @generated from field: uint32 generator_metadata_offset = 2; + */ + generatorMetadataOffset: number; +}; + +/** + * Describes the message exa.language_server_pb.GetCascadeTrajectoryGeneratorMetadataRequest. + * Use `create(GetCascadeTrajectoryGeneratorMetadataRequestSchema)` to create a new message. + */ +export const GetCascadeTrajectoryGeneratorMetadataRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 200); + +/** + * @generated from message exa.language_server_pb.GetCascadeTrajectoryGeneratorMetadataResponse + */ +export type GetCascadeTrajectoryGeneratorMetadataResponse = Message<"exa.language_server_pb.GetCascadeTrajectoryGeneratorMetadataResponse"> & { + /** + * @generated from field: repeated exa.cortex_pb.CortexStepGeneratorMetadata generator_metadata = 1; + */ + generatorMetadata: CortexStepGeneratorMetadata[]; +}; + +/** + * Describes the message exa.language_server_pb.GetCascadeTrajectoryGeneratorMetadataResponse. + * Use `create(GetCascadeTrajectoryGeneratorMetadataResponseSchema)` to create a new message. + */ +export const GetCascadeTrajectoryGeneratorMetadataResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 201); + +/** + * @generated from message exa.language_server_pb.GetCascadeTranscriptForTrajectoryIdRequest + */ +export type GetCascadeTranscriptForTrajectoryIdRequest = Message<"exa.language_server_pb.GetCascadeTranscriptForTrajectoryIdRequest"> & { + /** + * @generated from field: string cascade_id = 1; + */ + cascadeId: string; + + /** + * @generated from field: uint32 step_offset = 2; + */ + stepOffset: number; +}; + +/** + * Describes the message exa.language_server_pb.GetCascadeTranscriptForTrajectoryIdRequest. + * Use `create(GetCascadeTranscriptForTrajectoryIdRequestSchema)` to create a new message. + */ +export const GetCascadeTranscriptForTrajectoryIdRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 202); + +/** + * @generated from message exa.language_server_pb.GetCascadeTranscriptForTrajectoryIdResponse + */ +export type GetCascadeTranscriptForTrajectoryIdResponse = Message<"exa.language_server_pb.GetCascadeTranscriptForTrajectoryIdResponse"> & { + /** + * @generated from field: string transcript = 1; + */ + transcript: string; + + /** + * @generated from field: uint32 num_total_steps = 2; + */ + numTotalSteps: number; +}; + +/** + * Describes the message exa.language_server_pb.GetCascadeTranscriptForTrajectoryIdResponse. + * Use `create(GetCascadeTranscriptForTrajectoryIdResponseSchema)` to create a new message. + */ +export const GetCascadeTranscriptForTrajectoryIdResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 203); + +/** + * @generated from message exa.language_server_pb.GetAllCascadeTrajectoriesRequest + */ +export type GetAllCascadeTrajectoriesRequest = Message<"exa.language_server_pb.GetAllCascadeTrajectoriesRequest"> & { + /** + * @generated from field: optional bool include_user_inputs = 1; + */ + includeUserInputs?: boolean | undefined; +}; + +/** + * Describes the message exa.language_server_pb.GetAllCascadeTrajectoriesRequest. + * Use `create(GetAllCascadeTrajectoriesRequestSchema)` to create a new message. + */ +export const GetAllCascadeTrajectoriesRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 204); + +/** + * @generated from message exa.language_server_pb.GetAllCascadeTrajectoriesResponse + */ +export type GetAllCascadeTrajectoriesResponse = Message<"exa.language_server_pb.GetAllCascadeTrajectoriesResponse"> & { + /** + * @generated from field: map trajectory_summaries = 1; + */ + trajectorySummaries: { [key: string]: CascadeTrajectorySummary }; + + /** + * @generated from field: repeated exa.language_server_pb.UserInputWithMetadata user_inputs = 2; + */ + userInputs: UserInputWithMetadata[]; +}; + +/** + * Describes the message exa.language_server_pb.GetAllCascadeTrajectoriesResponse. + * Use `create(GetAllCascadeTrajectoriesResponseSchema)` to create a new message. + */ +export const GetAllCascadeTrajectoriesResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 205); + +/** + * @generated from message exa.language_server_pb.CancelCascadeInvocationRequest + */ +export type CancelCascadeInvocationRequest = Message<"exa.language_server_pb.CancelCascadeInvocationRequest"> & { + /** + * @generated from field: string cascade_id = 1; + */ + cascadeId: string; +}; + +/** + * Describes the message exa.language_server_pb.CancelCascadeInvocationRequest. + * Use `create(CancelCascadeInvocationRequestSchema)` to create a new message. + */ +export const CancelCascadeInvocationRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 206); + +/** + * @generated from message exa.language_server_pb.CancelCascadeInvocationResponse + */ +export type CancelCascadeInvocationResponse = Message<"exa.language_server_pb.CancelCascadeInvocationResponse"> & { +}; + +/** + * Describes the message exa.language_server_pb.CancelCascadeInvocationResponse. + * Use `create(CancelCascadeInvocationResponseSchema)` to create a new message. + */ +export const CancelCascadeInvocationResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 207); + +/** + * @generated from message exa.language_server_pb.CancelCascadeInvocationAndWaitRequest + */ +export type CancelCascadeInvocationAndWaitRequest = Message<"exa.language_server_pb.CancelCascadeInvocationAndWaitRequest"> & { + /** + * @generated from field: string cascade_id = 1; + */ + cascadeId: string; +}; + +/** + * Describes the message exa.language_server_pb.CancelCascadeInvocationAndWaitRequest. + * Use `create(CancelCascadeInvocationAndWaitRequestSchema)` to create a new message. + */ +export const CancelCascadeInvocationAndWaitRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 208); + +/** + * @generated from message exa.language_server_pb.CancelCascadeInvocationAndWaitResponse + */ +export type CancelCascadeInvocationAndWaitResponse = Message<"exa.language_server_pb.CancelCascadeInvocationAndWaitResponse"> & { +}; + +/** + * Describes the message exa.language_server_pb.CancelCascadeInvocationAndWaitResponse. + * Use `create(CancelCascadeInvocationAndWaitResponseSchema)` to create a new message. + */ +export const CancelCascadeInvocationAndWaitResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 209); + +/** + * @generated from message exa.language_server_pb.CancelCascadeStepsRequest + */ +export type CancelCascadeStepsRequest = Message<"exa.language_server_pb.CancelCascadeStepsRequest"> & { + /** + * @generated from field: string cascade_id = 1; + */ + cascadeId: string; + + /** + * @generated from field: repeated uint32 step_indices = 2; + */ + stepIndices: number[]; +}; + +/** + * Describes the message exa.language_server_pb.CancelCascadeStepsRequest. + * Use `create(CancelCascadeStepsRequestSchema)` to create a new message. + */ +export const CancelCascadeStepsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 210); + +/** + * @generated from message exa.language_server_pb.CancelCascadeStepsResponse + */ +export type CancelCascadeStepsResponse = Message<"exa.language_server_pb.CancelCascadeStepsResponse"> & { +}; + +/** + * Describes the message exa.language_server_pb.CancelCascadeStepsResponse. + * Use `create(CancelCascadeStepsResponseSchema)` to create a new message. + */ +export const CancelCascadeStepsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 211); + +/** + * @generated from message exa.language_server_pb.SendUserCascadeMessageRequest + */ +export type SendUserCascadeMessageRequest = Message<"exa.language_server_pb.SendUserCascadeMessageRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 3; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string cascade_id = 1; + */ + cascadeId: string; + + /** + * @generated from field: repeated exa.codeium_common_pb.TextOrScopeItem items = 2; + */ + items: TextOrScopeItem[]; + + /** + * @generated from field: repeated exa.codeium_common_pb.ImageData images = 6; + */ + images: ImageData[]; + + /** + * @generated from field: exa.cortex_pb.CascadeConfig cascade_config = 5; + */ + cascadeConfig?: CascadeConfig | undefined; + + /** + * @generated from field: exa.codeium_common_pb.ExperimentConfig experiment_config = 4 [deprecated = true]; + * @deprecated + */ + experimentConfig?: ExperimentConfig | undefined; + + /** + * @generated from field: repeated string recipe_ids = 7; + */ + recipeIds: string[]; + + /** + * @generated from field: bool blocking = 8; + */ + blocking: boolean; + + /** + * @generated from field: repeated exa.cortex_pb.CortexTrajectoryStep additional_steps = 9; + */ + additionalSteps: CortexTrajectoryStep[]; +}; + +/** + * Describes the message exa.language_server_pb.SendUserCascadeMessageRequest. + * Use `create(SendUserCascadeMessageRequestSchema)` to create a new message. + */ +export const SendUserCascadeMessageRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 212); + +/** + * @generated from message exa.language_server_pb.SendUserCascadeMessageResponse + */ +export type SendUserCascadeMessageResponse = Message<"exa.language_server_pb.SendUserCascadeMessageResponse"> & { +}; + +/** + * Describes the message exa.language_server_pb.SendUserCascadeMessageResponse. + * Use `create(SendUserCascadeMessageResponseSchema)` to create a new message. + */ +export const SendUserCascadeMessageResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 213); + +/** + * @generated from message exa.language_server_pb.BranchCascadeRequest + */ +export type BranchCascadeRequest = Message<"exa.language_server_pb.BranchCascadeRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string base_cascade_id = 2; + */ + baseCascadeId: string; + + /** + * @generated from field: repeated exa.codeium_common_pb.TextOrScopeItem items = 3; + */ + items: TextOrScopeItem[]; + + /** + * @generated from field: repeated exa.codeium_common_pb.ImageData images = 4; + */ + images: ImageData[]; + + /** + * @generated from field: exa.cortex_pb.CascadeConfig cascade_config = 5; + */ + cascadeConfig?: CascadeConfig | undefined; + + /** + * @generated from field: repeated string recipe_ids = 6; + */ + recipeIds: string[]; + + /** + * @generated from field: bool blocking = 7; + */ + blocking: boolean; + + /** + * @generated from field: repeated exa.cortex_pb.CortexTrajectoryStep additional_steps = 8; + */ + additionalSteps: CortexTrajectoryStep[]; + + /** + * @generated from field: optional int32 branch_from_step_index = 9; + */ + branchFromStepIndex?: number | undefined; +}; + +/** + * Describes the message exa.language_server_pb.BranchCascadeRequest. + * Use `create(BranchCascadeRequestSchema)` to create a new message. + */ +export const BranchCascadeRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 214); + +/** + * @generated from message exa.language_server_pb.BranchCascadeResponse + */ +export type BranchCascadeResponse = Message<"exa.language_server_pb.BranchCascadeResponse"> & { + /** + * @generated from field: string new_cascade_id = 1; + */ + newCascadeId: string; +}; + +/** + * Describes the message exa.language_server_pb.BranchCascadeResponse. + * Use `create(BranchCascadeResponseSchema)` to create a new message. + */ +export const BranchCascadeResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 215); + +/** + * @generated from message exa.language_server_pb.QueueCascadeMessageRequest + */ +export type QueueCascadeMessageRequest = Message<"exa.language_server_pb.QueueCascadeMessageRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string cascade_id = 2; + */ + cascadeId: string; + + /** + * @generated from field: repeated exa.codeium_common_pb.TextOrScopeItem items = 3; + */ + items: TextOrScopeItem[]; + + /** + * @generated from field: repeated exa.codeium_common_pb.ImageData images = 4; + */ + images: ImageData[]; + + /** + * @generated from field: exa.cortex_pb.CascadeConfig cascade_config = 5; + */ + cascadeConfig?: CascadeConfig | undefined; +}; + +/** + * Describes the message exa.language_server_pb.QueueCascadeMessageRequest. + * Use `create(QueueCascadeMessageRequestSchema)` to create a new message. + */ +export const QueueCascadeMessageRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 216); + +/** + * @generated from message exa.language_server_pb.QueueCascadeMessageResponse + */ +export type QueueCascadeMessageResponse = Message<"exa.language_server_pb.QueueCascadeMessageResponse"> & { + /** + * @generated from field: string queue_id = 1; + */ + queueId: string; +}; + +/** + * Describes the message exa.language_server_pb.QueueCascadeMessageResponse. + * Use `create(QueueCascadeMessageResponseSchema)` to create a new message. + */ +export const QueueCascadeMessageResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 217); + +/** + * @generated from message exa.language_server_pb.InterruptWithQueuedMessageRequest + */ +export type InterruptWithQueuedMessageRequest = Message<"exa.language_server_pb.InterruptWithQueuedMessageRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string cascade_id = 2; + */ + cascadeId: string; + + /** + * @generated from field: optional string queue_id = 3; + */ + queueId?: string | undefined; +}; + +/** + * Describes the message exa.language_server_pb.InterruptWithQueuedMessageRequest. + * Use `create(InterruptWithQueuedMessageRequestSchema)` to create a new message. + */ +export const InterruptWithQueuedMessageRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 218); + +/** + * @generated from message exa.language_server_pb.InterruptWithQueuedMessageResponse + */ +export type InterruptWithQueuedMessageResponse = Message<"exa.language_server_pb.InterruptWithQueuedMessageResponse"> & { +}; + +/** + * Describes the message exa.language_server_pb.InterruptWithQueuedMessageResponse. + * Use `create(InterruptWithQueuedMessageResponseSchema)` to create a new message. + */ +export const InterruptWithQueuedMessageResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 219); + +/** + * @generated from message exa.language_server_pb.RemoveFromQueueRequest + */ +export type RemoveFromQueueRequest = Message<"exa.language_server_pb.RemoveFromQueueRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string cascade_id = 2; + */ + cascadeId: string; + + /** + * @generated from field: string queue_id = 3; + */ + queueId: string; +}; + +/** + * Describes the message exa.language_server_pb.RemoveFromQueueRequest. + * Use `create(RemoveFromQueueRequestSchema)` to create a new message. + */ +export const RemoveFromQueueRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 220); + +/** + * @generated from message exa.language_server_pb.RemoveFromQueueResponse + */ +export type RemoveFromQueueResponse = Message<"exa.language_server_pb.RemoveFromQueueResponse"> & { + /** + * @generated from field: bool removed = 1; + */ + removed: boolean; +}; + +/** + * Describes the message exa.language_server_pb.RemoveFromQueueResponse. + * Use `create(RemoveFromQueueResponseSchema)` to create a new message. + */ +export const RemoveFromQueueResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 221); + +/** + * @generated from message exa.language_server_pb.MoveQueuedMessageRequest + */ +export type MoveQueuedMessageRequest = Message<"exa.language_server_pb.MoveQueuedMessageRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string cascade_id = 2; + */ + cascadeId: string; + + /** + * @generated from field: string queue_id = 3; + */ + queueId: string; + + /** + * @generated from field: int32 to_index = 4; + */ + toIndex: number; +}; + +/** + * Describes the message exa.language_server_pb.MoveQueuedMessageRequest. + * Use `create(MoveQueuedMessageRequestSchema)` to create a new message. + */ +export const MoveQueuedMessageRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 222); + +/** + * @generated from message exa.language_server_pb.MoveQueuedMessageResponse + */ +export type MoveQueuedMessageResponse = Message<"exa.language_server_pb.MoveQueuedMessageResponse"> & { +}; + +/** + * Describes the message exa.language_server_pb.MoveQueuedMessageResponse. + * Use `create(MoveQueuedMessageResponseSchema)` to create a new message. + */ +export const MoveQueuedMessageResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 223); + +/** + * @generated from message exa.language_server_pb.RevertToCascadeStepRequest + */ +export type RevertToCascadeStepRequest = Message<"exa.language_server_pb.RevertToCascadeStepRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 3; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string cascade_id = 1; + */ + cascadeId: string; + + /** + * @generated from field: int32 step_index = 2; + */ + stepIndex: number; + + /** + * @generated from field: exa.codeium_common_pb.ExperimentConfig experiment_config = 4 [deprecated = true]; + * @deprecated + */ + experimentConfig?: ExperimentConfig | undefined; + + /** + * @generated from field: bool keep_changes = 5; + */ + keepChanges: boolean; +}; + +/** + * Describes the message exa.language_server_pb.RevertToCascadeStepRequest. + * Use `create(RevertToCascadeStepRequestSchema)` to create a new message. + */ +export const RevertToCascadeStepRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 224); + +/** + * @generated from message exa.language_server_pb.RevertToCascadeStepResponse + */ +export type RevertToCascadeStepResponse = Message<"exa.language_server_pb.RevertToCascadeStepResponse"> & { + /** + * @generated from field: exa.cortex_pb.RevertMetadata metadata = 1; + */ + metadata?: RevertMetadata | undefined; +}; + +/** + * Describes the message exa.language_server_pb.RevertToCascadeStepResponse. + * Use `create(RevertToCascadeStepResponseSchema)` to create a new message. + */ +export const RevertToCascadeStepResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 225); + +/** + * @generated from message exa.language_server_pb.CodeEditRevertPreview + */ +export type CodeEditRevertPreview = Message<"exa.language_server_pb.CodeEditRevertPreview"> & { + /** + * @generated from field: string file_uri = 1; + */ + fileUri: string; + + /** + * @generated from field: exa.diff_action_pb.UnifiedDiff diff = 2; + */ + diff?: UnifiedDiff$1 | undefined; + + /** + * @generated from field: exa.language_server_pb.CodeRevertActionType action_type = 3; + */ + actionType: CodeRevertActionType; +}; + +/** + * Describes the message exa.language_server_pb.CodeEditRevertPreview. + * Use `create(CodeEditRevertPreviewSchema)` to create a new message. + */ +export const CodeEditRevertPreviewSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 226); + +/** + * @generated from message exa.language_server_pb.GetRevertPreviewRequest + */ +export type GetRevertPreviewRequest = Message<"exa.language_server_pb.GetRevertPreviewRequest"> & { + /** + * @generated from field: string cascade_id = 1; + */ + cascadeId: string; + + /** + * @generated from field: uint32 step_index = 2; + */ + stepIndex: number; + + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 3; + */ + metadata?: Metadata | undefined; +}; + +/** + * Describes the message exa.language_server_pb.GetRevertPreviewRequest. + * Use `create(GetRevertPreviewRequestSchema)` to create a new message. + */ +export const GetRevertPreviewRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 227); + +/** + * @generated from message exa.language_server_pb.GetRevertPreviewResponse + */ +export type GetRevertPreviewResponse = Message<"exa.language_server_pb.GetRevertPreviewResponse"> & { + /** + * @generated from field: repeated exa.language_server_pb.CodeEditRevertPreview code_edit_previews = 1; + */ + codeEditPreviews: CodeEditRevertPreview[]; +}; + +/** + * Describes the message exa.language_server_pb.GetRevertPreviewResponse. + * Use `create(GetRevertPreviewResponseSchema)` to create a new message. + */ +export const GetRevertPreviewResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 228); + +/** + * @generated from message exa.language_server_pb.RecordUserStepSnapshotRequest + */ +export type RecordUserStepSnapshotRequest = Message<"exa.language_server_pb.RecordUserStepSnapshotRequest"> & { + /** + * @generated from field: string cascade_id = 1; + */ + cascadeId: string; + + /** + * @generated from field: int32 step_index = 2; + */ + stepIndex: number; + + /** + * @generated from field: exa.cortex_pb.UserStepSnapshot snapshot = 3; + */ + snapshot?: UserStepSnapshot | undefined; +}; + +/** + * Describes the message exa.language_server_pb.RecordUserStepSnapshotRequest. + * Use `create(RecordUserStepSnapshotRequestSchema)` to create a new message. + */ +export const RecordUserStepSnapshotRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 229); + +/** + * @generated from message exa.language_server_pb.RecordUserStepSnapshotResponse + */ +export type RecordUserStepSnapshotResponse = Message<"exa.language_server_pb.RecordUserStepSnapshotResponse"> & { +}; + +/** + * Describes the message exa.language_server_pb.RecordUserStepSnapshotResponse. + * Use `create(RecordUserStepSnapshotResponseSchema)` to create a new message. + */ +export const RecordUserStepSnapshotResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 230); + +/** + * @generated from message exa.language_server_pb.HandleCascadeUserInteractionRequest + */ +export type HandleCascadeUserInteractionRequest = Message<"exa.language_server_pb.HandleCascadeUserInteractionRequest"> & { + /** + * @generated from field: string cascade_id = 1; + */ + cascadeId: string; + + /** + * @generated from field: exa.cortex_pb.CascadeUserInteraction interaction = 2; + */ + interaction?: CascadeUserInteraction | undefined; +}; + +/** + * Describes the message exa.language_server_pb.HandleCascadeUserInteractionRequest. + * Use `create(HandleCascadeUserInteractionRequestSchema)` to create a new message. + */ +export const HandleCascadeUserInteractionRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 231); + +/** + * @generated from message exa.language_server_pb.HandleCascadeUserInteractionResponse + */ +export type HandleCascadeUserInteractionResponse = Message<"exa.language_server_pb.HandleCascadeUserInteractionResponse"> & { +}; + +/** + * Describes the message exa.language_server_pb.HandleCascadeUserInteractionResponse. + * Use `create(HandleCascadeUserInteractionResponseSchema)` to create a new message. + */ +export const HandleCascadeUserInteractionResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 232); + +/** + * @generated from message exa.language_server_pb.AcknowledgeCascadeCodeEditRequest + */ +export type AcknowledgeCascadeCodeEditRequest = Message<"exa.language_server_pb.AcknowledgeCascadeCodeEditRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 4; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string cascade_id = 1; + */ + cascadeId: string; + + /** + * @generated from field: repeated string absolute_uri = 2; + */ + absoluteUri: string[]; + + /** + * @generated from field: repeated string contents = 5; + */ + contents: string[]; + + /** + * @generated from field: bool accept = 3; + */ + accept: boolean; +}; + +/** + * Describes the message exa.language_server_pb.AcknowledgeCascadeCodeEditRequest. + * Use `create(AcknowledgeCascadeCodeEditRequestSchema)` to create a new message. + */ +export const AcknowledgeCascadeCodeEditRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 233); + +/** + * @generated from message exa.language_server_pb.AcknowledgeCascadeCodeEditResponse + */ +export type AcknowledgeCascadeCodeEditResponse = Message<"exa.language_server_pb.AcknowledgeCascadeCodeEditResponse"> & { +}; + +/** + * Describes the message exa.language_server_pb.AcknowledgeCascadeCodeEditResponse. + * Use `create(AcknowledgeCascadeCodeEditResponseSchema)` to create a new message. + */ +export const AcknowledgeCascadeCodeEditResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 234); + +/** + * @generated from message exa.language_server_pb.GetCodeValidationStatesRequest + */ +export type GetCodeValidationStatesRequest = Message<"exa.language_server_pb.GetCodeValidationStatesRequest"> & { + /** + * @generated from field: string cascade_id = 1; + */ + cascadeId: string; +}; + +/** + * Describes the message exa.language_server_pb.GetCodeValidationStatesRequest. + * Use `create(GetCodeValidationStatesRequestSchema)` to create a new message. + */ +export const GetCodeValidationStatesRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 235); + +/** + * @generated from message exa.language_server_pb.GetCodeValidationStatesResponse + */ +export type GetCodeValidationStatesResponse = Message<"exa.language_server_pb.GetCodeValidationStatesResponse"> & { + /** + * @generated from field: repeated exa.language_server_pb.ValidationState states = 1; + */ + states: ValidationState[]; +}; + +/** + * Describes the message exa.language_server_pb.GetCodeValidationStatesResponse. + * Use `create(GetCodeValidationStatesResponseSchema)` to create a new message. + */ +export const GetCodeValidationStatesResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 236); + +/** + * @generated from message exa.language_server_pb.ResolveWorktreeChangesRequest + */ +export type ResolveWorktreeChangesRequest = Message<"exa.language_server_pb.ResolveWorktreeChangesRequest"> & { + /** + * @generated from field: string cascade_id = 1; + */ + cascadeId: string; + + /** + * @generated from field: repeated string uris = 2; + */ + uris: string[]; + + /** + * @generated from field: exa.language_server_pb.ResolveWorktreeChangesMode mode = 3; + */ + mode: ResolveWorktreeChangesMode; + + /** + * @generated from field: bool fail_on_conflicts = 4; + */ + failOnConflicts: boolean; +}; + +/** + * Describes the message exa.language_server_pb.ResolveWorktreeChangesRequest. + * Use `create(ResolveWorktreeChangesRequestSchema)` to create a new message. + */ +export const ResolveWorktreeChangesRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 237); + +/** + * @generated from message exa.language_server_pb.ResolveWorktreeChangesResponse + */ +export type ResolveWorktreeChangesResponse = Message<"exa.language_server_pb.ResolveWorktreeChangesResponse"> & { + /** + * @generated from field: bool had_conflicts = 1; + */ + hadConflicts: boolean; + + /** + * @generated from field: repeated string conflicting_files = 2; + */ + conflictingFiles: string[]; +}; + +/** + * Describes the message exa.language_server_pb.ResolveWorktreeChangesResponse. + * Use `create(ResolveWorktreeChangesResponseSchema)` to create a new message. + */ +export const ResolveWorktreeChangesResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 238); + +/** + * @generated from message exa.language_server_pb.UndoWorktreeMergeRequest + */ +export type UndoWorktreeMergeRequest = Message<"exa.language_server_pb.UndoWorktreeMergeRequest"> & { + /** + * @generated from field: string cascade_id = 1; + */ + cascadeId: string; + + /** + * @generated from field: bool force_overwrite = 2; + */ + forceOverwrite: boolean; + + /** + * @generated from field: bool fail_on_conflicts = 3; + */ + failOnConflicts: boolean; +}; + +/** + * Describes the message exa.language_server_pb.UndoWorktreeMergeRequest. + * Use `create(UndoWorktreeMergeRequestSchema)` to create a new message. + */ +export const UndoWorktreeMergeRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 239); + +/** + * @generated from message exa.language_server_pb.UndoWorktreeMergeResponse + */ +export type UndoWorktreeMergeResponse = Message<"exa.language_server_pb.UndoWorktreeMergeResponse"> & { + /** + * @generated from field: bool had_conflicts = 1; + */ + hadConflicts: boolean; + + /** + * @generated from field: repeated string conflicting_files = 2; + */ + conflictingFiles: string[]; +}; + +/** + * Describes the message exa.language_server_pb.UndoWorktreeMergeResponse. + * Use `create(UndoWorktreeMergeResponseSchema)` to create a new message. + */ +export const UndoWorktreeMergeResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 240); + +/** + * @generated from message exa.language_server_pb.CreateWorktreeRequest + */ +export type CreateWorktreeRequest = Message<"exa.language_server_pb.CreateWorktreeRequest"> & { + /** + * @generated from field: optional string target_path = 1; + */ + targetPath?: string | undefined; +}; + +/** + * Describes the message exa.language_server_pb.CreateWorktreeRequest. + * Use `create(CreateWorktreeRequestSchema)` to create a new message. + */ +export const CreateWorktreeRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 241); + +/** + * @generated from message exa.language_server_pb.WorktreeInfo + */ +export type WorktreeInfo = Message<"exa.language_server_pb.WorktreeInfo"> & { + /** + * @generated from field: exa.language_server_pb.WorkspaceInfo original = 1; + */ + original?: WorkspaceInfo | undefined; + + /** + * @generated from field: string worktree_path = 2; + */ + worktreePath: string; +}; + +/** + * Describes the message exa.language_server_pb.WorktreeInfo. + * Use `create(WorktreeInfoSchema)` to create a new message. + */ +export const WorktreeInfoSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 242); + +/** + * @generated from message exa.language_server_pb.CreateWorktreeResponse + */ +export type CreateWorktreeResponse = Message<"exa.language_server_pb.CreateWorktreeResponse"> & { + /** + * @generated from field: repeated exa.language_server_pb.WorktreeInfo worktrees = 1; + */ + worktrees: WorktreeInfo[]; +}; + +/** + * Describes the message exa.language_server_pb.CreateWorktreeResponse. + * Use `create(CreateWorktreeResponseSchema)` to create a new message. + */ +export const CreateWorktreeResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 243); + +/** + * @generated from message exa.language_server_pb.ValidationState + */ +export type ValidationState = Message<"exa.language_server_pb.ValidationState"> & { + /** + * @generated from field: string uri = 1; + */ + uri: string; + + /** + * @generated from field: string last_acknowledged_state = 2; + */ + lastAcknowledgedState: string; + + /** + * @generated from field: string current_state = 3; + */ + currentState: string; + + /** + * @generated from field: bool last_state_file_nonexistent = 4; + */ + lastStateFileNonexistent: boolean; + + /** + * @generated from field: bool current_state_file_nonexistent = 5; + */ + currentStateFileNonexistent: boolean; + + /** + * @generated from field: bool is_notebook = 6; + */ + isNotebook: boolean; + + /** + * @generated from field: int32 cell_index = 7; + */ + cellIndex: number; +}; + +/** + * Describes the message exa.language_server_pb.ValidationState. + * Use `create(ValidationStateSchema)` to create a new message. + */ +export const ValidationStateSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 244); + +/** + * @generated from message exa.language_server_pb.DeleteCascadeTrajectoryRequest + */ +export type DeleteCascadeTrajectoryRequest = Message<"exa.language_server_pb.DeleteCascadeTrajectoryRequest"> & { + /** + * @generated from field: string cascade_id = 1; + */ + cascadeId: string; +}; + +/** + * Describes the message exa.language_server_pb.DeleteCascadeTrajectoryRequest. + * Use `create(DeleteCascadeTrajectoryRequestSchema)` to create a new message. + */ +export const DeleteCascadeTrajectoryRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 245); + +/** + * @generated from message exa.language_server_pb.DeleteCascadeTrajectoryResponse + */ +export type DeleteCascadeTrajectoryResponse = Message<"exa.language_server_pb.DeleteCascadeTrajectoryResponse"> & { +}; + +/** + * Describes the message exa.language_server_pb.DeleteCascadeTrajectoryResponse. + * Use `create(DeleteCascadeTrajectoryResponseSchema)` to create a new message. + */ +export const DeleteCascadeTrajectoryResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 246); + +/** + * @generated from message exa.language_server_pb.RenameCascadeTrajectoryRequest + */ +export type RenameCascadeTrajectoryRequest = Message<"exa.language_server_pb.RenameCascadeTrajectoryRequest"> & { + /** + * @generated from field: string cascade_id = 1; + */ + cascadeId: string; + + /** + * @generated from field: string name = 2; + */ + name: string; +}; + +/** + * Describes the message exa.language_server_pb.RenameCascadeTrajectoryRequest. + * Use `create(RenameCascadeTrajectoryRequestSchema)` to create a new message. + */ +export const RenameCascadeTrajectoryRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 247); + +/** + * @generated from message exa.language_server_pb.RenameCascadeTrajectoryResponse + */ +export type RenameCascadeTrajectoryResponse = Message<"exa.language_server_pb.RenameCascadeTrajectoryResponse"> & { +}; + +/** + * Describes the message exa.language_server_pb.RenameCascadeTrajectoryResponse. + * Use `create(RenameCascadeTrajectoryResponseSchema)` to create a new message. + */ +export const RenameCascadeTrajectoryResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 248); + +/** + * @generated from message exa.language_server_pb.ArchiveCascadeTrajectoryRequest + */ +export type ArchiveCascadeTrajectoryRequest = Message<"exa.language_server_pb.ArchiveCascadeTrajectoryRequest"> & { + /** + * @generated from field: string cascade_id = 1; + */ + cascadeId: string; + + /** + * @generated from field: bool is_archived = 2; + */ + isArchived: boolean; +}; + +/** + * Describes the message exa.language_server_pb.ArchiveCascadeTrajectoryRequest. + * Use `create(ArchiveCascadeTrajectoryRequestSchema)` to create a new message. + */ +export const ArchiveCascadeTrajectoryRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 249); + +/** + * @generated from message exa.language_server_pb.ArchiveCascadeTrajectoryResponse + */ +export type ArchiveCascadeTrajectoryResponse = Message<"exa.language_server_pb.ArchiveCascadeTrajectoryResponse"> & { +}; + +/** + * Describes the message exa.language_server_pb.ArchiveCascadeTrajectoryResponse. + * Use `create(ArchiveCascadeTrajectoryResponseSchema)` to create a new message. + */ +export const ArchiveCascadeTrajectoryResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 250); + +/** + * @generated from message exa.language_server_pb.ResolveOutstandingStepsRequest + */ +export type ResolveOutstandingStepsRequest = Message<"exa.language_server_pb.ResolveOutstandingStepsRequest"> & { + /** + * @generated from field: string cascade_id = 1; + */ + cascadeId: string; +}; + +/** + * Describes the message exa.language_server_pb.ResolveOutstandingStepsRequest. + * Use `create(ResolveOutstandingStepsRequestSchema)` to create a new message. + */ +export const ResolveOutstandingStepsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 251); + +/** + * @generated from message exa.language_server_pb.ResolveOutstandingStepsResponse + */ +export type ResolveOutstandingStepsResponse = Message<"exa.language_server_pb.ResolveOutstandingStepsResponse"> & { +}; + +/** + * Describes the message exa.language_server_pb.ResolveOutstandingStepsResponse. + * Use `create(ResolveOutstandingStepsResponseSchema)` to create a new message. + */ +export const ResolveOutstandingStepsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 252); + +/** + * @generated from message exa.language_server_pb.MountCascadeFilesystemRequest + */ +export type MountCascadeFilesystemRequest = Message<"exa.language_server_pb.MountCascadeFilesystemRequest"> & { + /** + * @generated from field: string cascade_id = 1; + */ + cascadeId: string; +}; + +/** + * Describes the message exa.language_server_pb.MountCascadeFilesystemRequest. + * Use `create(MountCascadeFilesystemRequestSchema)` to create a new message. + */ +export const MountCascadeFilesystemRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 253); + +/** + * @generated from message exa.language_server_pb.MountCascadeFilesystemResponse + */ +export type MountCascadeFilesystemResponse = Message<"exa.language_server_pb.MountCascadeFilesystemResponse"> & { +}; + +/** + * Describes the message exa.language_server_pb.MountCascadeFilesystemResponse. + * Use `create(MountCascadeFilesystemResponseSchema)` to create a new message. + */ +export const MountCascadeFilesystemResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 254); + +/** + * @generated from message exa.language_server_pb.UnmountCascadeFilesystemRequest + */ +export type UnmountCascadeFilesystemRequest = Message<"exa.language_server_pb.UnmountCascadeFilesystemRequest"> & { + /** + * @generated from field: string cascade_id = 1; + */ + cascadeId: string; +}; + +/** + * Describes the message exa.language_server_pb.UnmountCascadeFilesystemRequest. + * Use `create(UnmountCascadeFilesystemRequestSchema)` to create a new message. + */ +export const UnmountCascadeFilesystemRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 255); + +/** + * @generated from message exa.language_server_pb.UnmountCascadeFilesystemResponse + */ +export type UnmountCascadeFilesystemResponse = Message<"exa.language_server_pb.UnmountCascadeFilesystemResponse"> & { +}; + +/** + * Describes the message exa.language_server_pb.UnmountCascadeFilesystemResponse. + * Use `create(UnmountCascadeFilesystemResponseSchema)` to create a new message. + */ +export const UnmountCascadeFilesystemResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 256); + +/** + * @generated from message exa.language_server_pb.StreamTerminalShellCommandResponse + */ +export type StreamTerminalShellCommandResponse = Message<"exa.language_server_pb.StreamTerminalShellCommandResponse"> & { +}; + +/** + * Describes the message exa.language_server_pb.StreamTerminalShellCommandResponse. + * Use `create(StreamTerminalShellCommandResponseSchema)` to create a new message. + */ +export const StreamTerminalShellCommandResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 257); + +/** + * @generated from message exa.language_server_pb.GetWebDocsOptionsRequest + */ +export type GetWebDocsOptionsRequest = Message<"exa.language_server_pb.GetWebDocsOptionsRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; +}; + +/** + * Describes the message exa.language_server_pb.GetWebDocsOptionsRequest. + * Use `create(GetWebDocsOptionsRequestSchema)` to create a new message. + */ +export const GetWebDocsOptionsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 258); + +/** + * @generated from message exa.language_server_pb.GetWebDocsOptionsResponse + */ +export type GetWebDocsOptionsResponse = Message<"exa.language_server_pb.GetWebDocsOptionsResponse"> & { + /** + * @generated from field: repeated exa.codeium_common_pb.WebDocsOption options = 1; + */ + options: WebDocsOption[]; +}; + +/** + * Describes the message exa.language_server_pb.GetWebDocsOptionsResponse. + * Use `create(GetWebDocsOptionsResponseSchema)` to create a new message. + */ +export const GetWebDocsOptionsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 259); + +/** + * @generated from message exa.language_server_pb.UpdateDevExperimentsRequest + */ +export type UpdateDevExperimentsRequest = Message<"exa.language_server_pb.UpdateDevExperimentsRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.ExperimentConfig experiment_config = 1; + */ + experimentConfig?: ExperimentConfig | undefined; +}; + +/** + * Describes the message exa.language_server_pb.UpdateDevExperimentsRequest. + * Use `create(UpdateDevExperimentsRequestSchema)` to create a new message. + */ +export const UpdateDevExperimentsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 260); + +/** + * @generated from message exa.language_server_pb.UpdateDevExperimentsResponse + */ +export type UpdateDevExperimentsResponse = Message<"exa.language_server_pb.UpdateDevExperimentsResponse"> & { +}; + +/** + * Describes the message exa.language_server_pb.UpdateDevExperimentsResponse. + * Use `create(UpdateDevExperimentsResponseSchema)` to create a new message. + */ +export const UpdateDevExperimentsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 261); + +/** + * @generated from message exa.language_server_pb.SetBaseExperimentsRequest + */ +export type SetBaseExperimentsRequest = Message<"exa.language_server_pb.SetBaseExperimentsRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.ExperimentConfig experiment_config = 1; + */ + experimentConfig?: ExperimentConfig | undefined; +}; + +/** + * Describes the message exa.language_server_pb.SetBaseExperimentsRequest. + * Use `create(SetBaseExperimentsRequestSchema)` to create a new message. + */ +export const SetBaseExperimentsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 262); + +/** + * @generated from message exa.language_server_pb.SetBaseExperimentsResponse + */ +export type SetBaseExperimentsResponse = Message<"exa.language_server_pb.SetBaseExperimentsResponse"> & { +}; + +/** + * Describes the message exa.language_server_pb.SetBaseExperimentsResponse. + * Use `create(SetBaseExperimentsResponseSchema)` to create a new message. + */ +export const SetBaseExperimentsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 263); + +/** + * @generated from message exa.language_server_pb.GetActiveAppDeploymentForWorkspaceRequest + */ +export type GetActiveAppDeploymentForWorkspaceRequest = Message<"exa.language_server_pb.GetActiveAppDeploymentForWorkspaceRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string workspace_uri = 2; + */ + workspaceUri: string; +}; + +/** + * Describes the message exa.language_server_pb.GetActiveAppDeploymentForWorkspaceRequest. + * Use `create(GetActiveAppDeploymentForWorkspaceRequestSchema)` to create a new message. + */ +export const GetActiveAppDeploymentForWorkspaceRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 264); + +/** + * @generated from message exa.language_server_pb.GetActiveAppDeploymentForWorkspaceResponse + */ +export type GetActiveAppDeploymentForWorkspaceResponse = Message<"exa.language_server_pb.GetActiveAppDeploymentForWorkspaceResponse"> & { + /** + * @generated from field: exa.codeium_common_pb.WebAppDeploymentConfig deployment_config = 1; + */ + deploymentConfig?: WebAppDeploymentConfig | undefined; + + /** + * @generated from field: exa.codeium_common_pb.WindsurfDeployment deployment = 2; + */ + deployment?: WindsurfDeployment | undefined; + + /** + * @generated from field: string project_name = 3; + */ + projectName: string; + + /** + * @generated from field: string subdomain = 4; + */ + subdomain: string; + + /** + * @generated from field: google.protobuf.Timestamp project_created_at = 5; + */ + projectCreatedAt?: Timestamp | undefined; + + /** + * @generated from field: string team_slug = 6; + */ + teamSlug: string; +}; + +/** + * Describes the message exa.language_server_pb.GetActiveAppDeploymentForWorkspaceResponse. + * Use `create(GetActiveAppDeploymentForWorkspaceResponseSchema)` to create a new message. + */ +export const GetActiveAppDeploymentForWorkspaceResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 265); + +/** + * @generated from message exa.language_server_pb.GetWindsurfJSAppDeploymentRequest + */ +export type GetWindsurfJSAppDeploymentRequest = Message<"exa.language_server_pb.GetWindsurfJSAppDeploymentRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string deployment_id = 2; + */ + deploymentId: string; +}; + +/** + * Describes the message exa.language_server_pb.GetWindsurfJSAppDeploymentRequest. + * Use `create(GetWindsurfJSAppDeploymentRequestSchema)` to create a new message. + */ +export const GetWindsurfJSAppDeploymentRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 266); + +/** + * @generated from message exa.language_server_pb.GetWindsurfJSAppDeploymentResponse + */ +export type GetWindsurfJSAppDeploymentResponse = Message<"exa.language_server_pb.GetWindsurfJSAppDeploymentResponse"> & { + /** + * @generated from field: exa.codeium_common_pb.WindsurfDeployment deployment = 1; + */ + deployment?: WindsurfDeployment | undefined; + + /** + * @generated from field: exa.codeium_common_pb.DeploymentBuildStatus build_status = 2; + */ + buildStatus: DeploymentBuildStatus; + + /** + * @generated from field: string deployment_url = 3; + */ + deploymentUrl: string; + + /** + * @generated from field: string build_error = 4; + */ + buildError: string; + + /** + * @generated from field: string build_logs = 5; + */ + buildLogs: string; + + /** + * @generated from field: bool is_claimed = 6; + */ + isClaimed: boolean; + + /** + * @generated from field: string claim_url = 7; + */ + claimUrl: string; +}; + +/** + * Describes the message exa.language_server_pb.GetWindsurfJSAppDeploymentResponse. + * Use `create(GetWindsurfJSAppDeploymentResponseSchema)` to create a new message. + */ +export const GetWindsurfJSAppDeploymentResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 267); + +/** + * @generated from message exa.language_server_pb.GetCascadeMemoriesRequest + */ +export type GetCascadeMemoriesRequest = Message<"exa.language_server_pb.GetCascadeMemoriesRequest"> & { +}; + +/** + * Describes the message exa.language_server_pb.GetCascadeMemoriesRequest. + * Use `create(GetCascadeMemoriesRequestSchema)` to create a new message. + */ +export const GetCascadeMemoriesRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 268); + +/** + * @generated from message exa.language_server_pb.GetCascadeMemoriesResponse + */ +export type GetCascadeMemoriesResponse = Message<"exa.language_server_pb.GetCascadeMemoriesResponse"> & { + /** + * @generated from field: repeated exa.cortex_pb.CortexMemory memories = 1; + */ + memories: CortexMemory[]; +}; + +/** + * Describes the message exa.language_server_pb.GetCascadeMemoriesResponse. + * Use `create(GetCascadeMemoriesResponseSchema)` to create a new message. + */ +export const GetCascadeMemoriesResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 269); + +/** + * @generated from message exa.language_server_pb.GetModelStatusesRequest + */ +export type GetModelStatusesRequest = Message<"exa.language_server_pb.GetModelStatusesRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; +}; + +/** + * Describes the message exa.language_server_pb.GetModelStatusesRequest. + * Use `create(GetModelStatusesRequestSchema)` to create a new message. + */ +export const GetModelStatusesRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 270); + +/** + * @generated from message exa.language_server_pb.GetModelStatusesResponse + */ +export type GetModelStatusesResponse = Message<"exa.language_server_pb.GetModelStatusesResponse"> & { + /** + * @generated from field: repeated exa.codeium_common_pb.ModelStatusInfo model_status_infos = 1; + */ + modelStatusInfos: ModelStatusInfo[]; +}; + +/** + * Describes the message exa.language_server_pb.GetModelStatusesResponse. + * Use `create(GetModelStatusesResponseSchema)` to create a new message. + */ +export const GetModelStatusesResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 271); + +/** + * @generated from message exa.language_server_pb.DeleteCascadeMemoryRequest + */ +export type DeleteCascadeMemoryRequest = Message<"exa.language_server_pb.DeleteCascadeMemoryRequest"> & { + /** + * @generated from field: string memory_id = 1; + */ + memoryId: string; +}; + +/** + * Describes the message exa.language_server_pb.DeleteCascadeMemoryRequest. + * Use `create(DeleteCascadeMemoryRequestSchema)` to create a new message. + */ +export const DeleteCascadeMemoryRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 272); + +/** + * @generated from message exa.language_server_pb.DeleteCascadeMemoryResponse + */ +export type DeleteCascadeMemoryResponse = Message<"exa.language_server_pb.DeleteCascadeMemoryResponse"> & { +}; + +/** + * Describes the message exa.language_server_pb.DeleteCascadeMemoryResponse. + * Use `create(DeleteCascadeMemoryResponseSchema)` to create a new message. + */ +export const DeleteCascadeMemoryResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 273); + +/** + * @generated from message exa.language_server_pb.UpdateCascadeMemoryRequest + */ +export type UpdateCascadeMemoryRequest = Message<"exa.language_server_pb.UpdateCascadeMemoryRequest"> & { + /** + * @generated from field: string memory_id = 1; + */ + memoryId: string; + + /** + * @generated from field: string title = 2; + */ + title: string; + + /** + * @generated from field: string content = 3; + */ + content: string; + + /** + * @generated from field: repeated string tags = 4; + */ + tags: string[]; +}; + +/** + * Describes the message exa.language_server_pb.UpdateCascadeMemoryRequest. + * Use `create(UpdateCascadeMemoryRequestSchema)` to create a new message. + */ +export const UpdateCascadeMemoryRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 274); + +/** + * @generated from message exa.language_server_pb.UpdateCascadeMemoryResponse + */ +export type UpdateCascadeMemoryResponse = Message<"exa.language_server_pb.UpdateCascadeMemoryResponse"> & { +}; + +/** + * Describes the message exa.language_server_pb.UpdateCascadeMemoryResponse. + * Use `create(UpdateCascadeMemoryResponseSchema)` to create a new message. + */ +export const UpdateCascadeMemoryResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 275); + +/** + * @generated from message exa.language_server_pb.GetUserMemoriesRequest + */ +export type GetUserMemoriesRequest = Message<"exa.language_server_pb.GetUserMemoriesRequest"> & { +}; + +/** + * Describes the message exa.language_server_pb.GetUserMemoriesRequest. + * Use `create(GetUserMemoriesRequestSchema)` to create a new message. + */ +export const GetUserMemoriesRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 276); + +/** + * @generated from message exa.language_server_pb.GetUserMemoriesResponse + */ +export type GetUserMemoriesResponse = Message<"exa.language_server_pb.GetUserMemoriesResponse"> & { + /** + * @generated from field: repeated exa.cortex_pb.CortexMemory memories = 1; + */ + memories: CortexMemory[]; +}; + +/** + * Describes the message exa.language_server_pb.GetUserMemoriesResponse. + * Use `create(GetUserMemoriesResponseSchema)` to create a new message. + */ +export const GetUserMemoriesResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 277); + +/** + * @generated from message exa.language_server_pb.RefreshCustomizationRequest + */ +export type RefreshCustomizationRequest = Message<"exa.language_server_pb.RefreshCustomizationRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.RefreshCustomizationType config_type = 1; + */ + configType: RefreshCustomizationType; +}; + +/** + * Describes the message exa.language_server_pb.RefreshCustomizationRequest. + * Use `create(RefreshCustomizationRequestSchema)` to create a new message. + */ +export const RefreshCustomizationRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 278); + +/** + * @generated from message exa.language_server_pb.RefreshCustomizationResponse + */ +export type RefreshCustomizationResponse = Message<"exa.language_server_pb.RefreshCustomizationResponse"> & { +}; + +/** + * Describes the message exa.language_server_pb.RefreshCustomizationResponse. + * Use `create(RefreshCustomizationResponseSchema)` to create a new message. + */ +export const RefreshCustomizationResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 279); + +/** + * @generated from message exa.language_server_pb.GetConversationTagsRequest + */ +export type GetConversationTagsRequest = Message<"exa.language_server_pb.GetConversationTagsRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; +}; + +/** + * Describes the message exa.language_server_pb.GetConversationTagsRequest. + * Use `create(GetConversationTagsRequestSchema)` to create a new message. + */ +export const GetConversationTagsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 280); + +/** + * @generated from message exa.language_server_pb.GetConversationTagsResponse + */ +export type GetConversationTagsResponse = Message<"exa.language_server_pb.GetConversationTagsResponse"> & { + /** + * @generated from field: map conversation_tags = 1; + */ + conversationTags: { [key: string]: ConversationTagList }; +}; + +/** + * Describes the message exa.language_server_pb.GetConversationTagsResponse. + * Use `create(GetConversationTagsResponseSchema)` to create a new message. + */ +export const GetConversationTagsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 281); + +/** + * @generated from message exa.language_server_pb.ConversationTagList + */ +export type ConversationTagList = Message<"exa.language_server_pb.ConversationTagList"> & { + /** + * @generated from field: repeated string tags = 1; + */ + tags: string[]; +}; + +/** + * Describes the message exa.language_server_pb.ConversationTagList. + * Use `create(ConversationTagListSchema)` to create a new message. + */ +export const ConversationTagListSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 282); + +/** + * @generated from message exa.language_server_pb.UpdateConversationTagsRequest + */ +export type UpdateConversationTagsRequest = Message<"exa.language_server_pb.UpdateConversationTagsRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string cascade_id = 2; + */ + cascadeId: string; + + /** + * @generated from field: repeated string tags = 3; + */ + tags: string[]; +}; + +/** + * Describes the message exa.language_server_pb.UpdateConversationTagsRequest. + * Use `create(UpdateConversationTagsRequestSchema)` to create a new message. + */ +export const UpdateConversationTagsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 283); + +/** + * @generated from message exa.language_server_pb.UpdateConversationTagsResponse + */ +export type UpdateConversationTagsResponse = Message<"exa.language_server_pb.UpdateConversationTagsResponse"> & { +}; + +/** + * Describes the message exa.language_server_pb.UpdateConversationTagsResponse. + * Use `create(UpdateConversationTagsResponseSchema)` to create a new message. + */ +export const UpdateConversationTagsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 284); + +/** + * @generated from message exa.language_server_pb.RefreshMcpServersRequest + */ +export type RefreshMcpServersRequest = Message<"exa.language_server_pb.RefreshMcpServersRequest"> & { + /** + * @generated from field: optional string server_name = 2; + */ + serverName?: string | undefined; +}; + +/** + * Describes the message exa.language_server_pb.RefreshMcpServersRequest. + * Use `create(RefreshMcpServersRequestSchema)` to create a new message. + */ +export const RefreshMcpServersRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 285); + +/** + * @generated from message exa.language_server_pb.RefreshMcpServersResponse + */ +export type RefreshMcpServersResponse = Message<"exa.language_server_pb.RefreshMcpServersResponse"> & { +}; + +/** + * Describes the message exa.language_server_pb.RefreshMcpServersResponse. + * Use `create(RefreshMcpServersResponseSchema)` to create a new message. + */ +export const RefreshMcpServersResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 286); + +/** + * @generated from message exa.language_server_pb.GetMcpServerStatesRequest + */ +export type GetMcpServerStatesRequest = Message<"exa.language_server_pb.GetMcpServerStatesRequest"> & { +}; + +/** + * Describes the message exa.language_server_pb.GetMcpServerStatesRequest. + * Use `create(GetMcpServerStatesRequestSchema)` to create a new message. + */ +export const GetMcpServerStatesRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 287); + +/** + * @generated from message exa.language_server_pb.GetMcpServerStatesResponse + */ +export type GetMcpServerStatesResponse = Message<"exa.language_server_pb.GetMcpServerStatesResponse"> & { + /** + * @generated from field: repeated exa.cortex_pb.McpServerState states = 1; + */ + states: McpServerState[]; +}; + +/** + * Describes the message exa.language_server_pb.GetMcpServerStatesResponse. + * Use `create(GetMcpServerStatesResponseSchema)` to create a new message. + */ +export const GetMcpServerStatesResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 288); + +/** + * @generated from message exa.language_server_pb.SaveMcpServerToConfigFileRequest + */ +export type SaveMcpServerToConfigFileRequest = Message<"exa.language_server_pb.SaveMcpServerToConfigFileRequest"> & { + /** + * @generated from field: string server_id = 1; + */ + serverId: string; + + /** + * @generated from field: optional string template_json = 2; + */ + templateJson?: string | undefined; +}; + +/** + * Describes the message exa.language_server_pb.SaveMcpServerToConfigFileRequest. + * Use `create(SaveMcpServerToConfigFileRequestSchema)` to create a new message. + */ +export const SaveMcpServerToConfigFileRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 289); + +/** + * @generated from message exa.language_server_pb.SaveMcpServerToConfigFileResponse + */ +export type SaveMcpServerToConfigFileResponse = Message<"exa.language_server_pb.SaveMcpServerToConfigFileResponse"> & { +}; + +/** + * Describes the message exa.language_server_pb.SaveMcpServerToConfigFileResponse. + * Use `create(SaveMcpServerToConfigFileResponseSchema)` to create a new message. + */ +export const SaveMcpServerToConfigFileResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 290); + +/** + * @generated from message exa.language_server_pb.UpdateMcpServerInConfigFileRequest + */ +export type UpdateMcpServerInConfigFileRequest = Message<"exa.language_server_pb.UpdateMcpServerInConfigFileRequest"> & { + /** + * @generated from field: string server_id = 1; + */ + serverId: string; +}; + +/** + * Describes the message exa.language_server_pb.UpdateMcpServerInConfigFileRequest. + * Use `create(UpdateMcpServerInConfigFileRequestSchema)` to create a new message. + */ +export const UpdateMcpServerInConfigFileRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 291); + +/** + * @generated from message exa.language_server_pb.UpdateMcpServerInConfigFileResponse + */ +export type UpdateMcpServerInConfigFileResponse = Message<"exa.language_server_pb.UpdateMcpServerInConfigFileResponse"> & { +}; + +/** + * Describes the message exa.language_server_pb.UpdateMcpServerInConfigFileResponse. + * Use `create(UpdateMcpServerInConfigFileResponseSchema)` to create a new message. + */ +export const UpdateMcpServerInConfigFileResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 292); + +/** + * @generated from message exa.language_server_pb.ToggleMcpToolRequest + */ +export type ToggleMcpToolRequest = Message<"exa.language_server_pb.ToggleMcpToolRequest"> & { + /** + * @generated from field: string server_id = 1; + */ + serverId: string; + + /** + * @generated from field: string tool_name = 2; + */ + toolName: string; +}; + +/** + * Describes the message exa.language_server_pb.ToggleMcpToolRequest. + * Use `create(ToggleMcpToolRequestSchema)` to create a new message. + */ +export const ToggleMcpToolRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 293); + +/** + * @generated from message exa.language_server_pb.ToggleMcpToolResponse + */ +export type ToggleMcpToolResponse = Message<"exa.language_server_pb.ToggleMcpToolResponse"> & { +}; + +/** + * Describes the message exa.language_server_pb.ToggleMcpToolResponse. + * Use `create(ToggleMcpToolResponseSchema)` to create a new message. + */ +export const ToggleMcpToolResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 294); + +/** + * @generated from message exa.language_server_pb.GetMcpPromptRequest + */ +export type GetMcpPromptRequest = Message<"exa.language_server_pb.GetMcpPromptRequest"> & { + /** + * @generated from field: string server_name = 1; + */ + serverName: string; + + /** + * @generated from field: string prompt_name = 2; + */ + promptName: string; + + /** + * @generated from field: map arguments = 3; + */ + arguments: { [key: string]: string }; +}; + +/** + * Describes the message exa.language_server_pb.GetMcpPromptRequest. + * Use `create(GetMcpPromptRequestSchema)` to create a new message. + */ +export const GetMcpPromptRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 295); + +/** + * @generated from message exa.language_server_pb.McpPromptMessageContent + */ +export type McpPromptMessageContent = Message<"exa.language_server_pb.McpPromptMessageContent"> & { + /** + * @generated from oneof exa.language_server_pb.McpPromptMessageContent.content + */ + content: { + /** + * @generated from field: string text = 1; + */ + value: string; + case: "text"; + } | { + /** + * @generated from field: exa.cortex_pb.McpResourceContent resource = 2; + */ + value: McpResourceContent; + case: "resource"; + } | { case: undefined; value?: undefined }; +}; + +/** + * Describes the message exa.language_server_pb.McpPromptMessageContent. + * Use `create(McpPromptMessageContentSchema)` to create a new message. + */ +export const McpPromptMessageContentSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 296); + +/** + * @generated from message exa.language_server_pb.McpPromptMessage + */ +export type McpPromptMessage = Message<"exa.language_server_pb.McpPromptMessage"> & { + /** + * @generated from field: string role = 1; + */ + role: string; + + /** + * @generated from field: repeated exa.language_server_pb.McpPromptMessageContent content = 2; + */ + content: McpPromptMessageContent[]; +}; + +/** + * Describes the message exa.language_server_pb.McpPromptMessage. + * Use `create(McpPromptMessageSchema)` to create a new message. + */ +export const McpPromptMessageSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 297); + +/** + * @generated from message exa.language_server_pb.GetMcpPromptResponse + */ +export type GetMcpPromptResponse = Message<"exa.language_server_pb.GetMcpPromptResponse"> & { + /** + * @generated from field: repeated exa.language_server_pb.McpPromptMessage messages = 1; + */ + messages: McpPromptMessage[]; +}; + +/** + * Describes the message exa.language_server_pb.GetMcpPromptResponse. + * Use `create(GetMcpPromptResponseSchema)` to create a new message. + */ +export const GetMcpPromptResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 298); + +/** + * @generated from message exa.language_server_pb.GetAllWorkflowsRequest + */ +export type GetAllWorkflowsRequest = Message<"exa.language_server_pb.GetAllWorkflowsRequest"> & { +}; + +/** + * Describes the message exa.language_server_pb.GetAllWorkflowsRequest. + * Use `create(GetAllWorkflowsRequestSchema)` to create a new message. + */ +export const GetAllWorkflowsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 299); + +/** + * @generated from message exa.language_server_pb.GetAllWorkflowsResponse + */ +export type GetAllWorkflowsResponse = Message<"exa.language_server_pb.GetAllWorkflowsResponse"> & { + /** + * @generated from field: repeated exa.cortex_pb.WorkflowSpec workflows = 2; + */ + workflows: WorkflowSpec[]; +}; + +/** + * Describes the message exa.language_server_pb.GetAllWorkflowsResponse. + * Use `create(GetAllWorkflowsResponseSchema)` to create a new message. + */ +export const GetAllWorkflowsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 300); + +/** + * @generated from message exa.language_server_pb.CopyBuiltinWorkflowToWorkspaceRequest + */ +export type CopyBuiltinWorkflowToWorkspaceRequest = Message<"exa.language_server_pb.CopyBuiltinWorkflowToWorkspaceRequest"> & { + /** + * @generated from field: exa.cortex_pb.WorkflowSpec workflow = 1; + */ + workflow?: WorkflowSpec | undefined; + + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 2; + */ + metadata?: Metadata | undefined; +}; + +/** + * Describes the message exa.language_server_pb.CopyBuiltinWorkflowToWorkspaceRequest. + * Use `create(CopyBuiltinWorkflowToWorkspaceRequestSchema)` to create a new message. + */ +export const CopyBuiltinWorkflowToWorkspaceRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 301); + +/** + * @generated from message exa.language_server_pb.CopyBuiltinWorkflowToWorkspaceResponse + */ +export type CopyBuiltinWorkflowToWorkspaceResponse = Message<"exa.language_server_pb.CopyBuiltinWorkflowToWorkspaceResponse"> & { + /** + * @generated from field: exa.cortex_pb.WorkflowSpec workflow = 1; + */ + workflow?: WorkflowSpec | undefined; +}; + +/** + * Describes the message exa.language_server_pb.CopyBuiltinWorkflowToWorkspaceResponse. + * Use `create(CopyBuiltinWorkflowToWorkspaceResponseSchema)` to create a new message. + */ +export const CopyBuiltinWorkflowToWorkspaceResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 302); + +/** + * @generated from message exa.language_server_pb.GetAllRulesRequest + */ +export type GetAllRulesRequest = Message<"exa.language_server_pb.GetAllRulesRequest"> & { +}; + +/** + * Describes the message exa.language_server_pb.GetAllRulesRequest. + * Use `create(GetAllRulesRequestSchema)` to create a new message. + */ +export const GetAllRulesRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 303); + +/** + * @generated from message exa.language_server_pb.GetAllRulesResponse + */ +export type GetAllRulesResponse = Message<"exa.language_server_pb.GetAllRulesResponse"> & { + /** + * @generated from field: repeated exa.cortex_pb.CortexMemory memories = 2; + */ + memories: CortexMemory[]; + + /** + * @generated from field: repeated exa.cortex_pb.CortexSkill skills = 3; + */ + skills: CortexSkill[]; +}; + +/** + * Describes the message exa.language_server_pb.GetAllRulesResponse. + * Use `create(GetAllRulesResponseSchema)` to create a new message. + */ +export const GetAllRulesResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 304); + +/** + * @generated from message exa.language_server_pb.GetAllSkillsRequest + */ +export type GetAllSkillsRequest = Message<"exa.language_server_pb.GetAllSkillsRequest"> & { +}; + +/** + * Describes the message exa.language_server_pb.GetAllSkillsRequest. + * Use `create(GetAllSkillsRequestSchema)` to create a new message. + */ +export const GetAllSkillsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 305); + +/** + * @generated from message exa.language_server_pb.GetAllSkillsResponse + */ +export type GetAllSkillsResponse = Message<"exa.language_server_pb.GetAllSkillsResponse"> & { + /** + * @generated from field: repeated exa.cortex_pb.CortexSkill skills = 1; + */ + skills: CortexSkill[]; +}; + +/** + * Describes the message exa.language_server_pb.GetAllSkillsResponse. + * Use `create(GetAllSkillsResponseSchema)` to create a new message. + */ +export const GetAllSkillsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 306); + +/** + * @generated from message exa.language_server_pb.GetAllPlansRequest + */ +export type GetAllPlansRequest = Message<"exa.language_server_pb.GetAllPlansRequest"> & { +}; + +/** + * Describes the message exa.language_server_pb.GetAllPlansRequest. + * Use `create(GetAllPlansRequestSchema)` to create a new message. + */ +export const GetAllPlansRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 307); + +/** + * @generated from message exa.language_server_pb.GetAllPlansResponse + */ +export type GetAllPlansResponse = Message<"exa.language_server_pb.GetAllPlansResponse"> & { + /** + * @generated from field: repeated exa.language_server_pb.PlanFileInfo plans = 1; + */ + plans: PlanFileInfo[]; +}; + +/** + * Describes the message exa.language_server_pb.GetAllPlansResponse. + * Use `create(GetAllPlansResponseSchema)` to create a new message. + */ +export const GetAllPlansResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 308); + +/** + * @generated from message exa.language_server_pb.PlanFileInfo + */ +export type PlanFileInfo = Message<"exa.language_server_pb.PlanFileInfo"> & { + /** + * @generated from field: string path = 1; + */ + path: string; + + /** + * @generated from field: string title = 2; + */ + title: string; + + /** + * @generated from field: string description = 3; + */ + description: string; +}; + +/** + * Describes the message exa.language_server_pb.PlanFileInfo. + * Use `create(PlanFileInfoSchema)` to create a new message. + */ +export const PlanFileInfoSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 309); + +/** + * @generated from message exa.language_server_pb.UpdateEnterpriseExperimentsFromUrlRequest + */ +export type UpdateEnterpriseExperimentsFromUrlRequest = Message<"exa.language_server_pb.UpdateEnterpriseExperimentsFromUrlRequest"> & { + /** + * @generated from field: string portal_url = 1; + */ + portalUrl: string; +}; + +/** + * Describes the message exa.language_server_pb.UpdateEnterpriseExperimentsFromUrlRequest. + * Use `create(UpdateEnterpriseExperimentsFromUrlRequestSchema)` to create a new message. + */ +export const UpdateEnterpriseExperimentsFromUrlRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 310); + +/** + * @generated from message exa.language_server_pb.UpdateEnterpriseExperimentsFromUrlResponse + */ +export type UpdateEnterpriseExperimentsFromUrlResponse = Message<"exa.language_server_pb.UpdateEnterpriseExperimentsFromUrlResponse"> & { + /** + * @generated from field: bool success = 1; + */ + success: boolean; + + /** + * @generated from field: string error_message = 2; + */ + errorMessage: string; + + /** + * @generated from field: exa.codeium_common_pb.ExperimentConfig experiment_config = 3; + */ + experimentConfig?: ExperimentConfig | undefined; +}; + +/** + * Describes the message exa.language_server_pb.UpdateEnterpriseExperimentsFromUrlResponse. + * Use `create(UpdateEnterpriseExperimentsFromUrlResponseSchema)` to create a new message. + */ +export const UpdateEnterpriseExperimentsFromUrlResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 311); + +/** + * @generated from message exa.language_server_pb.ImportFromCursorRequest + */ +export type ImportFromCursorRequest = Message<"exa.language_server_pb.ImportFromCursorRequest"> & { + /** + * @generated from field: string source_path = 1; + */ + sourcePath: string; +}; + +/** + * Describes the message exa.language_server_pb.ImportFromCursorRequest. + * Use `create(ImportFromCursorRequestSchema)` to create a new message. + */ +export const ImportFromCursorRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 312); + +/** + * @generated from message exa.language_server_pb.ImportFromCursorResponse + */ +export type ImportFromCursorResponse = Message<"exa.language_server_pb.ImportFromCursorResponse"> & { + /** + * @generated from field: repeated string copied_files = 1; + */ + copiedFiles: string[]; + + /** + * @generated from field: repeated string duplicate_files = 2; + */ + duplicateFiles: string[]; + + /** + * @generated from field: repeated string problem_files = 3; + */ + problemFiles: string[]; +}; + +/** + * Describes the message exa.language_server_pb.ImportFromCursorResponse. + * Use `create(ImportFromCursorResponseSchema)` to create a new message. + */ +export const ImportFromCursorResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 313); + +/** + * @generated from message exa.language_server_pb.CreateCustomizationFileRequest + */ +export type CreateCustomizationFileRequest = Message<"exa.language_server_pb.CreateCustomizationFileRequest"> & { + /** + * @generated from field: exa.language_server_pb.CustomizationFileType file_type = 1; + */ + fileType: CustomizationFileType; + + /** + * @generated from field: string file_name = 2; + */ + fileName: string; + + /** + * @generated from field: string workspace_config_dir = 3; + */ + workspaceConfigDir: string; +}; + +/** + * Describes the message exa.language_server_pb.CreateCustomizationFileRequest. + * Use `create(CreateCustomizationFileRequestSchema)` to create a new message. + */ +export const CreateCustomizationFileRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 314); + +/** + * @generated from message exa.language_server_pb.CreateCustomizationFileResponse + */ +export type CreateCustomizationFileResponse = Message<"exa.language_server_pb.CreateCustomizationFileResponse"> & { + /** + * @generated from field: string file_path = 1; + */ + filePath: string; +}; + +/** + * Describes the message exa.language_server_pb.CreateCustomizationFileResponse. + * Use `create(CreateCustomizationFileResponseSchema)` to create a new message. + */ +export const CreateCustomizationFileResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 315); + +/** + * @generated from message exa.language_server_pb.SendActionToChatPanelRequest + */ +export type SendActionToChatPanelRequest = Message<"exa.language_server_pb.SendActionToChatPanelRequest"> & { + /** + * @generated from field: string action_type = 1; + */ + actionType: string; + + /** + * @generated from field: repeated bytes payload = 2; + */ + payload: Uint8Array[]; +}; + +/** + * Describes the message exa.language_server_pb.SendActionToChatPanelRequest. + * Use `create(SendActionToChatPanelRequestSchema)` to create a new message. + */ +export const SendActionToChatPanelRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 316); + +/** + * @generated from message exa.language_server_pb.SendActionToChatPanelResponse + */ +export type SendActionToChatPanelResponse = Message<"exa.language_server_pb.SendActionToChatPanelResponse"> & { +}; + +/** + * Describes the message exa.language_server_pb.SendActionToChatPanelResponse. + * Use `create(SendActionToChatPanelResponseSchema)` to create a new message. + */ +export const SendActionToChatPanelResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 317); + +/** + * @generated from message exa.language_server_pb.RecordUserGrepRequest + */ +export type RecordUserGrepRequest = Message<"exa.language_server_pb.RecordUserGrepRequest"> & { + /** + * @generated from field: string query = 1; + */ + query: string; + + /** + * @generated from field: repeated exa.cortex_pb.GrepSearchResult results = 2; + */ + results: GrepSearchResult[]; + + /** + * @generated from field: google.protobuf.Timestamp timestamp = 3; + */ + timestamp?: Timestamp | undefined; +}; + +/** + * Describes the message exa.language_server_pb.RecordUserGrepRequest. + * Use `create(RecordUserGrepRequestSchema)` to create a new message. + */ +export const RecordUserGrepRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 318); + +/** + * @generated from message exa.language_server_pb.RecordUserGrepResponse + */ +export type RecordUserGrepResponse = Message<"exa.language_server_pb.RecordUserGrepResponse"> & { +}; + +/** + * Describes the message exa.language_server_pb.RecordUserGrepResponse. + * Use `create(RecordUserGrepResponseSchema)` to create a new message. + */ +export const RecordUserGrepResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 319); + +/** + * @generated from message exa.language_server_pb.GetUnleashDataRequest + */ +export type GetUnleashDataRequest = Message<"exa.language_server_pb.GetUnleashDataRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: map properties = 2; + */ + properties: { [key: string]: string }; +}; + +/** + * Describes the message exa.language_server_pb.GetUnleashDataRequest. + * Use `create(GetUnleashDataRequestSchema)` to create a new message. + */ +export const GetUnleashDataRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 320); + +/** + * @generated from message exa.language_server_pb.GetUnleashDataResponse + */ +export type GetUnleashDataResponse = Message<"exa.language_server_pb.GetUnleashDataResponse"> & { + /** + * @generated from field: exa.codeium_common_pb.UnleashContext context = 1; + */ + context?: UnleashContext | undefined; + + /** + * @generated from field: exa.codeium_common_pb.ExperimentConfig experiment_config = 2; + */ + experimentConfig?: ExperimentConfig | undefined; +}; + +/** + * Describes the message exa.language_server_pb.GetUnleashDataResponse. + * Use `create(GetUnleashDataResponseSchema)` to create a new message. + */ +export const GetUnleashDataResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 321); + +/** + * @generated from message exa.language_server_pb.ShouldEnableUnleashRequest + */ +export type ShouldEnableUnleashRequest = Message<"exa.language_server_pb.ShouldEnableUnleashRequest"> & { +}; + +/** + * Describes the message exa.language_server_pb.ShouldEnableUnleashRequest. + * Use `create(ShouldEnableUnleashRequestSchema)` to create a new message. + */ +export const ShouldEnableUnleashRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 322); + +/** + * @generated from message exa.language_server_pb.ShouldEnableUnleashResponse + */ +export type ShouldEnableUnleashResponse = Message<"exa.language_server_pb.ShouldEnableUnleashResponse"> & { + /** + * @generated from field: bool should_enable = 1; + */ + shouldEnable: boolean; +}; + +/** + * Describes the message exa.language_server_pb.ShouldEnableUnleashResponse. + * Use `create(ShouldEnableUnleashResponseSchema)` to create a new message. + */ +export const ShouldEnableUnleashResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 323); + +/** + * @generated from message exa.language_server_pb.GetPatchAndCodeChangeRequest + */ +export type GetPatchAndCodeChangeRequest = Message<"exa.language_server_pb.GetPatchAndCodeChangeRequest"> & { + /** + * @generated from field: string intent = 1; + */ + intent: string; + + /** + * @generated from field: exa.codeium_common_pb.GitRepoInfo base_state_repo_info = 2; + */ + baseStateRepoInfo?: GitRepoInfo | undefined; + + /** + * @generated from field: string repo_path = 3; + */ + repoPath: string; +}; + +/** + * Describes the message exa.language_server_pb.GetPatchAndCodeChangeRequest. + * Use `create(GetPatchAndCodeChangeRequestSchema)` to create a new message. + */ +export const GetPatchAndCodeChangeRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 324); + +/** + * @generated from message exa.language_server_pb.GetPatchAndCodeChangeResponse + */ +export type GetPatchAndCodeChangeResponse = Message<"exa.language_server_pb.GetPatchAndCodeChangeResponse"> & { + /** + * @generated from field: string patch_string = 1; + */ + patchString: string; + + /** + * @generated from field: exa.code_edit.code_edit_pb.CodeChangeWithContext code_change_with_context = 2; + */ + codeChangeWithContext?: CodeChangeWithContext | undefined; +}; + +/** + * Describes the message exa.language_server_pb.GetPatchAndCodeChangeResponse. + * Use `create(GetPatchAndCodeChangeResponseSchema)` to create a new message. + */ +export const GetPatchAndCodeChangeResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 325); + +/** + * @generated from message exa.language_server_pb.CreateTrajectoryShareRequest + */ +export type CreateTrajectoryShareRequest = Message<"exa.language_server_pb.CreateTrajectoryShareRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: exa.cortex_pb.TrajectoryShareStatus share_status = 3; + */ + shareStatus: TrajectoryShareStatus; + + /** + * @generated from field: string cascade_id = 4; + */ + cascadeId: string; +}; + +/** + * Describes the message exa.language_server_pb.CreateTrajectoryShareRequest. + * Use `create(CreateTrajectoryShareRequestSchema)` to create a new message. + */ +export const CreateTrajectoryShareRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 326); + +/** + * @generated from message exa.language_server_pb.CreateTrajectoryShareResponse + */ +export type CreateTrajectoryShareResponse = Message<"exa.language_server_pb.CreateTrajectoryShareResponse"> & { + /** + * @generated from field: string share_id = 2; + */ + shareId: string; +}; + +/** + * Describes the message exa.language_server_pb.CreateTrajectoryShareResponse. + * Use `create(CreateTrajectoryShareResponseSchema)` to create a new message. + */ +export const CreateTrajectoryShareResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 327); + +/** + * @generated from message exa.language_server_pb.GetAvailableCascadePluginsRequest + */ +export type GetAvailableCascadePluginsRequest = Message<"exa.language_server_pb.GetAvailableCascadePluginsRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string os = 2; + */ + os: string; + + /** + * @generated from field: optional string search_query = 3; + */ + searchQuery?: string | undefined; +}; + +/** + * Describes the message exa.language_server_pb.GetAvailableCascadePluginsRequest. + * Use `create(GetAvailableCascadePluginsRequestSchema)` to create a new message. + */ +export const GetAvailableCascadePluginsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 328); + +/** + * @generated from message exa.language_server_pb.GetAvailableCascadePluginsResponse + */ +export type GetAvailableCascadePluginsResponse = Message<"exa.language_server_pb.GetAvailableCascadePluginsResponse"> & { + /** + * @generated from field: repeated exa.cascade_plugins_pb.CascadePluginTemplate plugins = 1; + */ + plugins: CascadePluginTemplate[]; +}; + +/** + * Describes the message exa.language_server_pb.GetAvailableCascadePluginsResponse. + * Use `create(GetAvailableCascadePluginsResponseSchema)` to create a new message. + */ +export const GetAvailableCascadePluginsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 329); + +/** + * @generated from message exa.language_server_pb.GetKnowledgeBaseItemsForTeamRequest + */ +export type GetKnowledgeBaseItemsForTeamRequest = Message<"exa.language_server_pb.GetKnowledgeBaseItemsForTeamRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; +}; + +/** + * Describes the message exa.language_server_pb.GetKnowledgeBaseItemsForTeamRequest. + * Use `create(GetKnowledgeBaseItemsForTeamRequestSchema)` to create a new message. + */ +export const GetKnowledgeBaseItemsForTeamRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 330); + +/** + * @generated from message exa.language_server_pb.GetKnowledgeBaseItemsForTeamResponse + */ +export type GetKnowledgeBaseItemsForTeamResponse = Message<"exa.language_server_pb.GetKnowledgeBaseItemsForTeamResponse"> & { + /** + * @generated from field: repeated exa.knowledge_base_pb.KnowledgeBaseItem items = 1; + */ + items: KnowledgeBaseItem[]; +}; + +/** + * Describes the message exa.language_server_pb.GetKnowledgeBaseItemsForTeamResponse. + * Use `create(GetKnowledgeBaseItemsForTeamResponseSchema)` to create a new message. + */ +export const GetKnowledgeBaseItemsForTeamResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 331); + +/** + * @generated from message exa.language_server_pb.GetMcpRegistryServersRequest + */ +export type GetMcpRegistryServersRequest = Message<"exa.language_server_pb.GetMcpRegistryServersRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string search_query = 2; + */ + searchQuery: string; + + /** + * @generated from field: int32 limit = 3; + */ + limit: number; + + /** + * @generated from field: string cursor = 4; + */ + cursor: string; +}; + +/** + * Describes the message exa.language_server_pb.GetMcpRegistryServersRequest. + * Use `create(GetMcpRegistryServersRequestSchema)` to create a new message. + */ +export const GetMcpRegistryServersRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 332); + +/** + * @generated from message exa.language_server_pb.GetMcpRegistryServersResponse + */ +export type GetMcpRegistryServersResponse = Message<"exa.language_server_pb.GetMcpRegistryServersResponse"> & { + /** + * @generated from field: repeated exa.cascade_plugins_pb.McpRegistryServer servers = 1; + */ + servers: McpRegistryServer[]; + + /** + * @generated from field: int32 count = 2; + */ + count: number; + + /** + * @generated from field: string next_cursor = 3; + */ + nextCursor: string; +}; + +/** + * Describes the message exa.language_server_pb.GetMcpRegistryServersResponse. + * Use `create(GetMcpRegistryServersResponseSchema)` to create a new message. + */ +export const GetMcpRegistryServersResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 333); + +/** + * @generated from message exa.language_server_pb.RecordLintsRequest + */ +export type RecordLintsRequest = Message<"exa.language_server_pb.RecordLintsRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Language current_language = 1; + */ + currentLanguage: Language; + + /** + * @generated from field: repeated exa.codeium_common_pb.CodeDiagnostic lints = 2; + */ + lints: CodeDiagnostic[]; + + /** + * @generated from field: google.protobuf.Timestamp timestamp = 3; + */ + timestamp?: Timestamp | undefined; +}; + +/** + * Describes the message exa.language_server_pb.RecordLintsRequest. + * Use `create(RecordLintsRequestSchema)` to create a new message. + */ +export const RecordLintsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 334); + +/** + * @generated from message exa.language_server_pb.RecordLintsResponse + */ +export type RecordLintsResponse = Message<"exa.language_server_pb.RecordLintsResponse"> & { +}; + +/** + * Describes the message exa.language_server_pb.RecordLintsResponse. + * Use `create(RecordLintsResponseSchema)` to create a new message. + */ +export const RecordLintsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 335); + +/** + * @generated from message exa.language_server_pb.StatUriRequest + */ +export type StatUriRequest = Message<"exa.language_server_pb.StatUriRequest"> & { + /** + * @generated from field: string uri = 1; + */ + uri: string; +}; + +/** + * Describes the message exa.language_server_pb.StatUriRequest. + * Use `create(StatUriRequestSchema)` to create a new message. + */ +export const StatUriRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 336); + +/** + * @generated from message exa.language_server_pb.StatUriResponse + */ +export type StatUriResponse = Message<"exa.language_server_pb.StatUriResponse"> & { + /** + * @generated from field: exa.language_server_pb.FileType file_type = 1; + */ + fileType: FileType; +}; + +/** + * Describes the message exa.language_server_pb.StatUriResponse. + * Use `create(StatUriResponseSchema)` to create a new message. + */ +export const StatUriResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 337); + +/** + * @generated from message exa.language_server_pb.LogCascadeSessionRequest + */ +export type LogCascadeSessionRequest = Message<"exa.language_server_pb.LogCascadeSessionRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: repeated string workspace_paths = 2; + */ + workspacePaths: string[]; +}; + +/** + * Describes the message exa.language_server_pb.LogCascadeSessionRequest. + * Use `create(LogCascadeSessionRequestSchema)` to create a new message. + */ +export const LogCascadeSessionRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 338); + +/** + * @generated from message exa.language_server_pb.LogCascadeSessionResponse + */ +export type LogCascadeSessionResponse = Message<"exa.language_server_pb.LogCascadeSessionResponse"> & { +}; + +/** + * Describes the message exa.language_server_pb.LogCascadeSessionResponse. + * Use `create(LogCascadeSessionResponseSchema)` to create a new message. + */ +export const LogCascadeSessionResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 339); + +/** + * @generated from message exa.language_server_pb.SyncExploreAgentRunRequest + */ +export type SyncExploreAgentRunRequest = Message<"exa.language_server_pb.SyncExploreAgentRunRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string cascade_id = 2; + */ + cascadeId: string; + + /** + * @generated from field: string query_id = 3; + */ + queryId: string; + + /** + * @generated from field: int32 message_index = 4; + */ + messageIndex: number; + + /** + * @generated from field: repeated exa.codeium_common_pb.TextOrScopeItem items = 5; + */ + items: TextOrScopeItem[]; + + /** + * @generated from field: optional string title = 8; + */ + title?: string | undefined; + + /** + * @generated from field: optional string response = 6; + */ + response?: string | undefined; + + /** + * @generated from field: bool is_complete = 7; + */ + isComplete: boolean; +}; + +/** + * Describes the message exa.language_server_pb.SyncExploreAgentRunRequest. + * Use `create(SyncExploreAgentRunRequestSchema)` to create a new message. + */ +export const SyncExploreAgentRunRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 340); + +/** + * @generated from message exa.language_server_pb.SyncExploreAgentRunResponse + */ +export type SyncExploreAgentRunResponse = Message<"exa.language_server_pb.SyncExploreAgentRunResponse"> & { + /** + * @generated from field: int32 message_index = 1; + */ + messageIndex: number; +}; + +/** + * Describes the message exa.language_server_pb.SyncExploreAgentRunResponse. + * Use `create(SyncExploreAgentRunResponseSchema)` to create a new message. + */ +export const SyncExploreAgentRunResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 341); + +/** + * @generated from message exa.language_server_pb.UserInputWithMetadata + */ +export type UserInputWithMetadata = Message<"exa.language_server_pb.UserInputWithMetadata"> & { + /** + * @generated from field: string cascade_id = 1; + */ + cascadeId: string; + + /** + * @generated from field: string user_response = 2; + */ + userResponse: string; + + /** + * @generated from field: repeated exa.codeium_common_pb.TextOrScopeItem items = 3; + */ + items: TextOrScopeItem[]; + + /** + * @generated from field: google.protobuf.Timestamp timestamp = 4; + */ + timestamp?: Timestamp | undefined; +}; + +/** + * Describes the message exa.language_server_pb.UserInputWithMetadata. + * Use `create(UserInputWithMetadataSchema)` to create a new message. + */ +export const UserInputWithMetadataSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 342); + +/** + * @generated from message exa.language_server_pb.GetCodeMapsForReposRequest + */ +export type GetCodeMapsForReposRequest = Message<"exa.language_server_pb.GetCodeMapsForReposRequest"> & { + /** + * @generated from field: repeated string repo_paths = 1; + */ + repoPaths: string[]; +}; + +/** + * Describes the message exa.language_server_pb.GetCodeMapsForReposRequest. + * Use `create(GetCodeMapsForReposRequestSchema)` to create a new message. + */ +export const GetCodeMapsForReposRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 343); + +/** + * @generated from message exa.language_server_pb.GetCodeMapsForFileRequest + */ +export type GetCodeMapsForFileRequest = Message<"exa.language_server_pb.GetCodeMapsForFileRequest"> & { + /** + * @generated from field: string file_path = 1; + */ + filePath: string; +}; + +/** + * Describes the message exa.language_server_pb.GetCodeMapsForFileRequest. + * Use `create(GetCodeMapsForFileRequestSchema)` to create a new message. + */ +export const GetCodeMapsForFileRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 344); + +/** + * @generated from message exa.language_server_pb.GetCodeMapsForReposResponse + */ +export type GetCodeMapsForReposResponse = Message<"exa.language_server_pb.GetCodeMapsForReposResponse"> & { + /** + * @generated from field: repeated string code_maps = 1; + */ + codeMaps: string[]; +}; + +/** + * Describes the message exa.language_server_pb.GetCodeMapsForReposResponse. + * Use `create(GetCodeMapsForReposResponseSchema)` to create a new message. + */ +export const GetCodeMapsForReposResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 345); + +/** + * @generated from message exa.language_server_pb.GetCodeMapsForFileResponse + */ +export type GetCodeMapsForFileResponse = Message<"exa.language_server_pb.GetCodeMapsForFileResponse"> & { + /** + * @generated from field: repeated string code_maps = 1; + */ + codeMaps: string[]; +}; + +/** + * Describes the message exa.language_server_pb.GetCodeMapsForFileResponse. + * Use `create(GetCodeMapsForFileResponseSchema)` to create a new message. + */ +export const GetCodeMapsForFileResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 346); + +/** + * @generated from message exa.language_server_pb.ShareCodeMapRequest + */ +export type ShareCodeMapRequest = Message<"exa.language_server_pb.ShareCodeMapRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string code_map_json = 2; + */ + codeMapJson: string; + + /** + * @generated from field: string file_name = 3; + */ + fileName: string; +}; + +/** + * Describes the message exa.language_server_pb.ShareCodeMapRequest. + * Use `create(ShareCodeMapRequestSchema)` to create a new message. + */ +export const ShareCodeMapRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 347); + +/** + * @generated from message exa.language_server_pb.ShareCodeMapResponse + */ +export type ShareCodeMapResponse = Message<"exa.language_server_pb.ShareCodeMapResponse"> & { + /** + * @generated from field: string share_url = 1; + */ + shareUrl: string; +}; + +/** + * Describes the message exa.language_server_pb.ShareCodeMapResponse. + * Use `create(ShareCodeMapResponseSchema)` to create a new message. + */ +export const ShareCodeMapResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 348); + +/** + * @generated from message exa.language_server_pb.GetSharedCodeMapRequest + */ +export type GetSharedCodeMapRequest = Message<"exa.language_server_pb.GetSharedCodeMapRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string code_map_id = 2; + */ + codeMapId: string; + + /** + * @generated from field: int32 time_since_install = 3; + */ + timeSinceInstall: number; +}; + +/** + * Describes the message exa.language_server_pb.GetSharedCodeMapRequest. + * Use `create(GetSharedCodeMapRequestSchema)` to create a new message. + */ +export const GetSharedCodeMapRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 349); + +/** + * @generated from message exa.language_server_pb.GetSharedCodeMapResponse + */ +export type GetSharedCodeMapResponse = Message<"exa.language_server_pb.GetSharedCodeMapResponse"> & { + /** + * @generated from field: string code_map_data = 1; + */ + codeMapData: string; +}; + +/** + * Describes the message exa.language_server_pb.GetSharedCodeMapResponse. + * Use `create(GetSharedCodeMapResponseSchema)` to create a new message. + */ +export const GetSharedCodeMapResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 350); + +/** + * @generated from message exa.language_server_pb.GetCodeMapSuggestionsRequest + */ +export type GetCodeMapSuggestionsRequest = Message<"exa.language_server_pb.GetCodeMapSuggestionsRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: repeated string navigation_history = 2; + */ + navigationHistory: string[]; +}; + +/** + * Describes the message exa.language_server_pb.GetCodeMapSuggestionsRequest. + * Use `create(GetCodeMapSuggestionsRequestSchema)` to create a new message. + */ +export const GetCodeMapSuggestionsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 351); + +/** + * @generated from message exa.language_server_pb.GetCodeMapSuggestionsResponse + */ +export type GetCodeMapSuggestionsResponse = Message<"exa.language_server_pb.GetCodeMapSuggestionsResponse"> & { + /** + * @generated from field: repeated exa.cortex_pb.CodeMapSuggestion suggestions = 1; + */ + suggestions: CodeMapSuggestion[]; +}; + +/** + * Describes the message exa.language_server_pb.GetCodeMapSuggestionsResponse. + * Use `create(GetCodeMapSuggestionsResponseSchema)` to create a new message. + */ +export const GetCodeMapSuggestionsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 352); + +/** + * @generated from message exa.language_server_pb.UpdateCodeMapMetadataRequest + */ +export type UpdateCodeMapMetadataRequest = Message<"exa.language_server_pb.UpdateCodeMapMetadataRequest"> & { + /** + * @generated from field: string id = 1; + */ + id: string; + + /** + * @generated from field: optional bool starred = 2; + */ + starred?: boolean | undefined; + + /** + * @generated from field: optional bool archived = 3; + */ + archived?: boolean | undefined; +}; + +/** + * Describes the message exa.language_server_pb.UpdateCodeMapMetadataRequest. + * Use `create(UpdateCodeMapMetadataRequestSchema)` to create a new message. + */ +export const UpdateCodeMapMetadataRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 353); + +/** + * @generated from message exa.language_server_pb.UpdateCodeMapMetadataResponse + */ +export type UpdateCodeMapMetadataResponse = Message<"exa.language_server_pb.UpdateCodeMapMetadataResponse"> & { +}; + +/** + * Describes the message exa.language_server_pb.UpdateCodeMapMetadataResponse. + * Use `create(UpdateCodeMapMetadataResponseSchema)` to create a new message. + */ +export const UpdateCodeMapMetadataResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 354); + +/** + * @generated from message exa.language_server_pb.SaveCodeMapFromJsonRequest + */ +export type SaveCodeMapFromJsonRequest = Message<"exa.language_server_pb.SaveCodeMapFromJsonRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string code_map_json = 2; + */ + codeMapJson: string; +}; + +/** + * Describes the message exa.language_server_pb.SaveCodeMapFromJsonRequest. + * Use `create(SaveCodeMapFromJsonRequestSchema)` to create a new message. + */ +export const SaveCodeMapFromJsonRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 355); + +/** + * @generated from message exa.language_server_pb.SaveCodeMapFromJsonResponse + */ +export type SaveCodeMapFromJsonResponse = Message<"exa.language_server_pb.SaveCodeMapFromJsonResponse"> & { + /** + * @generated from field: string code_map_json = 1; + */ + codeMapJson: string; +}; + +/** + * Describes the message exa.language_server_pb.SaveCodeMapFromJsonResponse. + * Use `create(SaveCodeMapFromJsonResponseSchema)` to create a new message. + */ +export const SaveCodeMapFromJsonResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 356); + +/** + * @generated from message exa.language_server_pb.CheckBugsRequest + */ +export type CheckBugsRequest = Message<"exa.language_server_pb.CheckBugsRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string diff = 2; + */ + diff: string; + + /** + * @generated from field: string repo_name = 3; + */ + repoName: string; + + /** + * @generated from field: string commit_hash = 4; + */ + commitHash: string; + + /** + * @generated from field: string author_name = 5; + */ + authorName: string; + + /** + * @generated from field: string model = 6; + */ + model: string; + + /** + * @generated from field: string commit_message = 7; + */ + commitMessage: string; + + /** + * @generated from field: int32 lines_changed = 8; + */ + linesChanged: number; + + /** + * @generated from field: repeated string user_rules = 9; + */ + userRules: string[]; + + /** + * @generated from field: string method = 10; + */ + method: string; + + /** + * @generated from field: string symbol_context = 11; + */ + symbolContext: string; + + /** + * @generated from field: string check_type = 12; + */ + checkType: string; + + /** + * @generated from field: string base_ref = 13; + */ + baseRef: string; + + /** + * @generated from field: string git_root = 14; + */ + gitRoot: string; +}; + +/** + * Describes the message exa.language_server_pb.CheckBugsRequest. + * Use `create(CheckBugsRequestSchema)` to create a new message. + */ +export const CheckBugsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 357); + +/** + * @generated from message exa.language_server_pb.CheckBugsResponse + */ +export type CheckBugsResponse = Message<"exa.language_server_pb.CheckBugsResponse"> & { + /** + * @generated from field: repeated exa.bug_checker_pb.Bug bugs = 1; + */ + bugs: Bug[]; + + /** + * @generated from field: string bug_check_id = 2; + */ + bugCheckId: string; + + /** + * @generated from field: string method_used = 3; + */ + methodUsed: string; + + /** + * @generated from field: string model_used = 4 [deprecated = true]; + * @deprecated + */ + modelUsed: string; + + /** + * @generated from field: string playgrounds = 5; + */ + playgrounds: string; + + /** + * @generated from field: exa.codeium_common_pb.Model model_id = 6; + */ + modelId: Model; + + /** + * @generated from field: string agent_version = 7; + */ + agentVersion: string; +}; + +/** + * Describes the message exa.language_server_pb.CheckBugsResponse. + * Use `create(CheckBugsResponseSchema)` to create a new message. + */ +export const CheckBugsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 358); + +/** + * @generated from message exa.language_server_pb.GetLifeguardConfigRequest + */ +export type GetLifeguardConfigRequest = Message<"exa.language_server_pb.GetLifeguardConfigRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; +}; + +/** + * Describes the message exa.language_server_pb.GetLifeguardConfigRequest. + * Use `create(GetLifeguardConfigRequestSchema)` to create a new message. + */ +export const GetLifeguardConfigRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 359); + +/** + * @generated from message exa.language_server_pb.GetLifeguardConfigResponse + */ +export type GetLifeguardConfigResponse = Message<"exa.language_server_pb.GetLifeguardConfigResponse"> & { + /** + * @generated from field: exa.codeium_common_pb.LifeguardConfig config = 1; + */ + config?: LifeguardConfig | undefined; +}; + +/** + * Describes the message exa.language_server_pb.GetLifeguardConfigResponse. + * Use `create(GetLifeguardConfigResponseSchema)` to create a new message. + */ +export const GetLifeguardConfigResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 360); + +/** + * @generated from message exa.language_server_pb.HandleStreamingTerminalCommandRequest + */ +export type HandleStreamingTerminalCommandRequest = Message<"exa.language_server_pb.HandleStreamingTerminalCommandRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string command_text = 2; + */ + commandText: string; + + /** + * @generated from field: exa.codeium_common_pb.TerminalCommandData terminal_command_data = 3; + */ + terminalCommandData?: TerminalCommandData | undefined; + + /** + * @generated from field: optional exa.codeium_common_pb.Model model = 4; + */ + model?: Model | undefined; + + /** + * @generated from field: repeated exa.language_server_pb.TerminalCommandConversationEntry conversation_history = 5; + */ + conversationHistory: TerminalCommandConversationEntry[]; +}; + +/** + * Describes the message exa.language_server_pb.HandleStreamingTerminalCommandRequest. + * Use `create(HandleStreamingTerminalCommandRequestSchema)` to create a new message. + */ +export const HandleStreamingTerminalCommandRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 361); + +/** + * @generated from message exa.language_server_pb.TerminalCommandConversationEntry + */ +export type TerminalCommandConversationEntry = Message<"exa.language_server_pb.TerminalCommandConversationEntry"> & { + /** + * @generated from field: string user_prompt = 1; + */ + userPrompt: string; + + /** + * @generated from field: string generated_command = 2; + */ + generatedCommand: string; + + /** + * @generated from field: optional string explanation = 3; + */ + explanation?: string | undefined; +}; + +/** + * Describes the message exa.language_server_pb.TerminalCommandConversationEntry. + * Use `create(TerminalCommandConversationEntrySchema)` to create a new message. + */ +export const TerminalCommandConversationEntrySchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 362); + +/** + * @generated from message exa.language_server_pb.HandleStreamingTerminalCommandResponse + */ +export type HandleStreamingTerminalCommandResponse = Message<"exa.language_server_pb.HandleStreamingTerminalCommandResponse"> & { + /** + * @generated from field: string completion_id = 1; + */ + completionId: string; + + /** + * @generated from field: string command = 2; + */ + command: string; + + /** + * @generated from field: string explanation = 3; + */ + explanation: string; +}; + +/** + * Describes the message exa.language_server_pb.HandleStreamingTerminalCommandResponse. + * Use `create(HandleStreamingTerminalCommandResponseSchema)` to create a new message. + */ +export const HandleStreamingTerminalCommandResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 363); + +/** + * @generated from message exa.language_server_pb.SpawnArenaModeMidConversationRequest + */ +export type SpawnArenaModeMidConversationRequest = Message<"exa.language_server_pb.SpawnArenaModeMidConversationRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string cascade_id = 2; + */ + cascadeId: string; + + /** + * @generated from field: uint32 count = 3; + */ + count: number; +}; + +/** + * Describes the message exa.language_server_pb.SpawnArenaModeMidConversationRequest. + * Use `create(SpawnArenaModeMidConversationRequestSchema)` to create a new message. + */ +export const SpawnArenaModeMidConversationRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 364); + +/** + * @generated from message exa.language_server_pb.SpawnArenaModeMidConversationResponse + */ +export type SpawnArenaModeMidConversationResponse = Message<"exa.language_server_pb.SpawnArenaModeMidConversationResponse"> & { + /** + * @generated from field: repeated string cascade_ids = 1; + */ + cascadeIds: string[]; +}; + +/** + * Describes the message exa.language_server_pb.SpawnArenaModeMidConversationResponse. + * Use `create(SpawnArenaModeMidConversationResponseSchema)` to create a new message. + */ +export const SpawnArenaModeMidConversationResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 365); + +/** + * @generated from message exa.language_server_pb.ConvergeArenaCascadesRequest + */ +export type ConvergeArenaCascadesRequest = Message<"exa.language_server_pb.ConvergeArenaCascadesRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string target_cascade_id = 2; + */ + targetCascadeId: string; +}; + +/** + * Describes the message exa.language_server_pb.ConvergeArenaCascadesRequest. + * Use `create(ConvergeArenaCascadesRequestSchema)` to create a new message. + */ +export const ConvergeArenaCascadesRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 366); + +/** + * @generated from message exa.language_server_pb.ConvergeArenaCascadesResponse + */ +export type ConvergeArenaCascadesResponse = Message<"exa.language_server_pb.ConvergeArenaCascadesResponse"> & { + /** + * @generated from field: repeated string converged_cascade_ids = 1; + */ + convergedCascadeIds: string[]; +}; + +/** + * Describes the message exa.language_server_pb.ConvergeArenaCascadesResponse. + * Use `create(ConvergeArenaCascadesResponseSchema)` to create a new message. + */ +export const ConvergeArenaCascadesResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 367); + +/** + * @generated from message exa.language_server_pb.DismissCodeMapSuggestionRequest + */ +export type DismissCodeMapSuggestionRequest = Message<"exa.language_server_pb.DismissCodeMapSuggestionRequest"> & { + /** + * @generated from field: string cascade_id = 1; + */ + cascadeId: string; + + /** + * @generated from field: string suggestion_id = 2; + */ + suggestionId: string; +}; + +/** + * Describes the message exa.language_server_pb.DismissCodeMapSuggestionRequest. + * Use `create(DismissCodeMapSuggestionRequestSchema)` to create a new message. + */ +export const DismissCodeMapSuggestionRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 368); + +/** + * @generated from message exa.language_server_pb.DismissCodeMapSuggestionResponse + */ +export type DismissCodeMapSuggestionResponse = Message<"exa.language_server_pb.DismissCodeMapSuggestionResponse"> & { +}; + +/** + * Describes the message exa.language_server_pb.DismissCodeMapSuggestionResponse. + * Use `create(DismissCodeMapSuggestionResponseSchema)` to create a new message. + */ +export const DismissCodeMapSuggestionResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 369); + +/** + * @generated from message exa.language_server_pb.OnEditRequest + */ +export type OnEditRequest = Message<"exa.language_server_pb.OnEditRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Document initial_document = 1; + */ + initialDocument?: Document | undefined; + + /** + * @generated from field: exa.codeium_common_pb.Document final_document = 2; + */ + finalDocument?: Document | undefined; + + /** + * @generated from field: exa.language_server_pb.EditSource source = 3; + */ + source: EditSource; +}; + +/** + * Describes the message exa.language_server_pb.OnEditRequest. + * Use `create(OnEditRequestSchema)` to create a new message. + */ +export const OnEditRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 370); + +/** + * @generated from message exa.language_server_pb.OnEditResponse + */ +export type OnEditResponse = Message<"exa.language_server_pb.OnEditResponse"> & { +}; + +/** + * Describes the message exa.language_server_pb.OnEditResponse. + * Use `create(OnEditResponseSchema)` to create a new message. + */ +export const OnEditResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 371); + +/** + * @generated from message exa.language_server_pb.GetSystemPromptAndToolsRequest + */ +export type GetSystemPromptAndToolsRequest = Message<"exa.language_server_pb.GetSystemPromptAndToolsRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: exa.cortex_pb.CascadeConfig cascade_config = 2; + */ + cascadeConfig?: CascadeConfig | undefined; +}; + +/** + * Describes the message exa.language_server_pb.GetSystemPromptAndToolsRequest. + * Use `create(GetSystemPromptAndToolsRequestSchema)` to create a new message. + */ +export const GetSystemPromptAndToolsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 372); + +/** + * @generated from message exa.language_server_pb.GetSystemPromptAndToolsResponse + */ +export type GetSystemPromptAndToolsResponse = Message<"exa.language_server_pb.GetSystemPromptAndToolsResponse"> & { + /** + * @generated from field: string system_prompt = 1; + */ + systemPrompt: string; + + /** + * @generated from field: repeated exa.chat_pb.ChatToolDefinition tool_definitions = 2; + */ + toolDefinitions: ChatToolDefinition[]; +}; + +/** + * Describes the message exa.language_server_pb.GetSystemPromptAndToolsResponse. + * Use `create(GetSystemPromptAndToolsResponseSchema)` to create a new message. + */ +export const GetSystemPromptAndToolsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 373); + +/** + * @generated from message exa.language_server_pb.SubmitBugReportRequest + */ +export type SubmitBugReportRequest = Message<"exa.language_server_pb.SubmitBugReportRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string description = 2; + */ + description: string; + + /** + * @generated from field: string bug_type = 3; + */ + bugType: string; + + /** + * @generated from field: string diagnostics_json = 4; + */ + diagnosticsJson: string; + + /** + * @generated from field: bytes screenshot = 5; + */ + screenshot: Uint8Array; + + /** + * @generated from field: string tab_info = 6; + */ + tabInfo: string; + + /** + * @generated from field: string other = 7; + */ + other: string; +}; + +/** + * Describes the message exa.language_server_pb.SubmitBugReportRequest. + * Use `create(SubmitBugReportRequestSchema)` to create a new message. + */ +export const SubmitBugReportRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 374); + +/** + * @generated from message exa.language_server_pb.SubmitBugReportResponse + */ +export type SubmitBugReportResponse = Message<"exa.language_server_pb.SubmitBugReportResponse"> & { + /** + * @generated from field: string message_link = 1; + */ + messageLink: string; +}; + +/** + * Describes the message exa.language_server_pb.SubmitBugReportResponse. + * Use `create(SubmitBugReportResponseSchema)` to create a new message. + */ +export const SubmitBugReportResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 375); + +/** + * @generated from message exa.language_server_pb.GetAllAcpRegistriesRequest + */ +export type GetAllAcpRegistriesRequest = Message<"exa.language_server_pb.GetAllAcpRegistriesRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 1; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: string version = 2; + */ + version: string; +}; + +/** + * Describes the message exa.language_server_pb.GetAllAcpRegistriesRequest. + * Use `create(GetAllAcpRegistriesRequestSchema)` to create a new message. + */ +export const GetAllAcpRegistriesRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 376); + +/** + * @generated from message exa.language_server_pb.GetAllAcpRegistriesResponse + */ +export type GetAllAcpRegistriesResponse = Message<"exa.language_server_pb.GetAllAcpRegistriesResponse"> & { + /** + * @generated from field: string registry_json = 1; + */ + registryJson: string; +}; + +/** + * Describes the message exa.language_server_pb.GetAllAcpRegistriesResponse. + * Use `create(GetAllAcpRegistriesResponseSchema)` to create a new message. + */ +export const GetAllAcpRegistriesResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_language_server_pb_language_server, 377); + +/** + * @generated from enum exa.language_server_pb.TabRequestSource + */ +export enum TabRequestSource { + /** + * @generated from enum value: TAB_REQUEST_SOURCE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: TAB_REQUEST_SOURCE_SUPERCOMPLETE = 1; + */ + SUPERCOMPLETE = 1, + + /** + * @generated from enum value: TAB_REQUEST_SOURCE_TAB_JUMP = 2; + */ + TAB_JUMP = 2, +} + +/** + * Describes the enum exa.language_server_pb.TabRequestSource. + */ +export const TabRequestSourceSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_language_server_pb_language_server, 0); + +/** + * @generated from enum exa.language_server_pb.IdeAction + */ +export enum IdeAction { + /** + * @generated from enum value: IDE_ACTION_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: IDE_ACTION_SAVE = 1; + */ + SAVE = 1, + + /** + * @generated from enum value: IDE_ACTION_SELECTION_CHANGED = 2; + */ + SELECTION_CHANGED = 2, + + /** + * @generated from enum value: IDE_ACTION_VISIBLE_RANGES_CHANGED = 3; + */ + VISIBLE_RANGES_CHANGED = 3, + + /** + * @generated from enum value: IDE_ACTION_ACTIVE_EDITOR_CHANGED = 4; + */ + ACTIVE_EDITOR_CHANGED = 4, + + /** + * @generated from enum value: IDE_ACTION_STARTUP = 5; + */ + STARTUP = 5, +} + +/** + * Describes the enum exa.language_server_pb.IdeAction. + */ +export const IdeActionSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_language_server_pb_language_server, 1); + +/** + * @generated from enum exa.language_server_pb.CodeiumState + */ +export enum CodeiumState { + /** + * @generated from enum value: CODEIUM_STATE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: CODEIUM_STATE_INACTIVE = 1; + */ + INACTIVE = 1, + + /** + * @generated from enum value: CODEIUM_STATE_PROCESSING = 2; + */ + PROCESSING = 2, + + /** + * @generated from enum value: CODEIUM_STATE_SUCCESS = 3; + */ + SUCCESS = 3, + + /** + * @generated from enum value: CODEIUM_STATE_WARNING = 4; + */ + WARNING = 4, + + /** + * @generated from enum value: CODEIUM_STATE_ERROR = 5; + */ + ERROR = 5, +} + +/** + * Describes the enum exa.language_server_pb.CodeiumState. + */ +export const CodeiumStateSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_language_server_pb_language_server, 2); + +/** + * @generated from enum exa.language_server_pb.CompletionPartType + */ +export enum CompletionPartType { + /** + * @generated from enum value: COMPLETION_PART_TYPE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: COMPLETION_PART_TYPE_INLINE = 1; + */ + INLINE = 1, + + /** + * @generated from enum value: COMPLETION_PART_TYPE_BLOCK = 2; + */ + BLOCK = 2, + + /** + * @generated from enum value: COMPLETION_PART_TYPE_INLINE_MASK = 3; + */ + INLINE_MASK = 3, +} + +/** + * Describes the enum exa.language_server_pb.CompletionPartType. + */ +export const CompletionPartTypeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_language_server_pb_language_server, 3); + +/** + * @generated from enum exa.language_server_pb.ContextSuggestionSource + */ +export enum ContextSuggestionSource { + /** + * @generated from enum value: CONTEXT_SUGGESTION_SOURCE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: CONTEXT_SUGGESTION_SOURCE_COMMIT_HISTORY = 1; + */ + COMMIT_HISTORY = 1, + + /** + * @generated from enum value: CONTEXT_SUGGESTION_SOURCE_CURRENT_PLAN = 2; + */ + CURRENT_PLAN = 2, +} + +/** + * Describes the enum exa.language_server_pb.ContextSuggestionSource. + */ +export const ContextSuggestionSourceSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_language_server_pb_language_server, 4); + +/** + * @generated from enum exa.language_server_pb.UnifiedDiffChangeType + */ +export enum UnifiedDiffChangeType { + /** + * @generated from enum value: UNIFIED_DIFF_CHANGE_TYPE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: UNIFIED_DIFF_CHANGE_TYPE_INSERT = 1; + */ + INSERT = 1, + + /** + * @generated from enum value: UNIFIED_DIFF_CHANGE_TYPE_DELETE = 2; + */ + DELETE = 2, + + /** + * @generated from enum value: UNIFIED_DIFF_CHANGE_TYPE_UNCHANGED = 3; + */ + UNCHANGED = 3, +} + +/** + * Describes the enum exa.language_server_pb.UnifiedDiffChangeType. + */ +export const UnifiedDiffChangeTypeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_language_server_pb_language_server, 5); + +/** + * @generated from enum exa.language_server_pb.CodeRevertActionType + */ +export enum CodeRevertActionType { + /** + * @generated from enum value: CODE_REVERT_ACTION_TYPE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: CODE_REVERT_ACTION_TYPE_MODIFY = 1; + */ + MODIFY = 1, + + /** + * @generated from enum value: CODE_REVERT_ACTION_TYPE_CREATE = 2; + */ + CREATE = 2, + + /** + * @generated from enum value: CODE_REVERT_ACTION_TYPE_DELETE = 3; + */ + DELETE = 3, +} + +/** + * Describes the enum exa.language_server_pb.CodeRevertActionType. + */ +export const CodeRevertActionTypeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_language_server_pb_language_server, 6); + +/** + * @generated from enum exa.language_server_pb.ResolveWorktreeChangesMode + */ +export enum ResolveWorktreeChangesMode { + /** + * @generated from enum value: RESOLVE_WORKTREE_CHANGES_MODE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: RESOLVE_WORKTREE_CHANGES_MODE_MERGE = 1; + */ + MERGE = 1, + + /** + * @generated from enum value: RESOLVE_WORKTREE_CHANGES_MODE_STASH = 2; + */ + STASH = 2, +} + +/** + * Describes the enum exa.language_server_pb.ResolveWorktreeChangesMode. + */ +export const ResolveWorktreeChangesModeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_language_server_pb_language_server, 7); + +/** + * @generated from enum exa.language_server_pb.CustomizationFileType + */ +export enum CustomizationFileType { + /** + * @generated from enum value: CUSTOMIZATION_FILE_TYPE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: CUSTOMIZATION_FILE_TYPE_RULES = 1; + */ + RULES = 1, + + /** + * @generated from enum value: CUSTOMIZATION_FILE_TYPE_WORKFLOWS = 2; + */ + WORKFLOWS = 2, + + /** + * @generated from enum value: CUSTOMIZATION_FILE_TYPE_GLOBAL_WORKFLOWS = 3; + */ + GLOBAL_WORKFLOWS = 3, + + /** + * @generated from enum value: CUSTOMIZATION_FILE_TYPE_SKILLS = 4; + */ + SKILLS = 4, + + /** + * @generated from enum value: CUSTOMIZATION_FILE_TYPE_GLOBAL_SKILLS = 5; + */ + GLOBAL_SKILLS = 5, +} + +/** + * Describes the enum exa.language_server_pb.CustomizationFileType. + */ +export const CustomizationFileTypeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_language_server_pb_language_server, 8); + +/** + * @generated from enum exa.language_server_pb.FileType + */ +export enum FileType { + /** + * @generated from enum value: FILE_TYPE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: FILE_TYPE_FILE = 1; + */ + FILE = 1, + + /** + * @generated from enum value: FILE_TYPE_DIRECTORY = 2; + */ + DIRECTORY = 2, + + /** + * @generated from enum value: FILE_TYPE_SYMLINK = 3; + */ + SYMLINK = 3, +} + +/** + * Describes the enum exa.language_server_pb.FileType. + */ +export const FileTypeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_language_server_pb_language_server, 9); + +/** + * @generated from enum exa.language_server_pb.EditSource + */ +export enum EditSource { + /** + * @generated from enum value: EDIT_SOURCE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: EDIT_SOURCE_USER_TYPED = 1; + */ + USER_TYPED = 1, + + /** + * @generated from enum value: EDIT_SOURCE_USER_PASTED = 2; + */ + USER_PASTED = 2, + + /** + * @generated from enum value: EDIT_SOURCE_USER_UNDO = 3; + */ + USER_UNDO = 3, + + /** + * @generated from enum value: EDIT_SOURCE_USER_REDO = 4; + */ + USER_REDO = 4, + + /** + * @generated from enum value: EDIT_SOURCE_USER_CUT = 5; + */ + USER_CUT = 5, + + /** + * @generated from enum value: EDIT_SOURCE_USER_DRAG_DROP = 6; + */ + USER_DRAG_DROP = 6, + + /** + * @generated from enum value: EDIT_SOURCE_USER_TAB = 7; + */ + USER_TAB = 7, + + /** + * @generated from enum value: EDIT_SOURCE_USER_REFACTORING = 8; + */ + USER_REFACTORING = 8, + + /** + * @generated from enum value: EDIT_SOURCE_USER_FORMATTING = 9; + */ + USER_FORMATTING = 9, + + /** + * @generated from enum value: EDIT_SOURCE_CASCADE_GENERATED = 10; + */ + CASCADE_GENERATED = 10, + + /** + * @generated from enum value: EDIT_SOURCE_DISK_CHANGE = 11; + */ + DISK_CHANGE = 11, + + /** + * @generated from enum value: EDIT_SOURCE_USER_OTHER = 12; + */ + USER_OTHER = 12, +} + +/** + * Describes the enum exa.language_server_pb.EditSource. + */ +export const EditSourceSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_language_server_pb_language_server, 10); + +/** + * @generated from service exa.language_server_pb.LanguageServerService + */ +export const LanguageServerService: GenService<{ + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetCompletions + */ + getCompletions: { + methodKind: "unary"; + input: typeof GetCompletionsRequestSchema; + output: typeof GetCompletionsResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.AcceptCompletion + */ + acceptCompletion: { + methodKind: "unary"; + input: typeof AcceptCompletionRequestSchema; + output: typeof AcceptCompletionResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.ProvideCompletionFeedback + */ + provideCompletionFeedback: { + methodKind: "unary"; + input: typeof ProvideCompletionFeedbackRequestSchema; + output: typeof ProvideCompletionFeedbackResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.Heartbeat + */ + heartbeat: { + methodKind: "unary"; + input: typeof HeartbeatRequestSchema; + output: typeof HeartbeatResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetStatus + */ + getStatus: { + methodKind: "unary"; + input: typeof GetStatusRequestSchema; + output: typeof GetStatusResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetCommandModelConfigs + */ + getCommandModelConfigs: { + methodKind: "unary"; + input: typeof GetCommandModelConfigsRequestSchema; + output: typeof GetCommandModelConfigsResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetCascadeModelConfigs + */ + getCascadeModelConfigs: { + methodKind: "unary"; + input: typeof GetCascadeModelConfigsRequestSchema; + output: typeof GetCascadeModelConfigsResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetProcesses + */ + getProcesses: { + methodKind: "unary"; + input: typeof GetProcessesRequestSchema; + output: typeof GetProcessesResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetExternalModel + */ + getExternalModel: { + methodKind: "unary"; + input: typeof GetExternalModelRequestSchema; + output: typeof GetExternalModelResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetAuthToken + */ + getAuthToken: { + methodKind: "unary"; + input: typeof GetAuthTokenRequestSchema; + output: typeof GetAuthTokenResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.RecordEvent + */ + recordEvent: { + methodKind: "unary"; + input: typeof RecordEventRequestSchema; + output: typeof RecordEventResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.RecordSystemMetrics + */ + recordSystemMetrics: { + methodKind: "unary"; + input: typeof RecordSystemMetricsRequestSchema; + output: typeof RecordSystemMetricsResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.CancelRequest + */ + cancelRequest: { + methodKind: "unary"; + input: typeof CancelRequestRequestSchema; + output: typeof CancelRequestResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.EditConfiguration + */ + editConfiguration: { + methodKind: "unary"; + input: typeof EditConfigurationRequestSchema; + output: typeof EditConfigurationResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.MigrateApiKey + */ + migrateApiKey: { + methodKind: "unary"; + input: typeof MigrateApiKeyRequestSchema; + output: typeof MigrateApiKeyResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetPrimaryApiKeyForDevsOnly + */ + getPrimaryApiKeyForDevsOnly: { + methodKind: "unary"; + input: typeof GetPrimaryApiKeyForDevsOnlyRequestSchema; + output: typeof GetPrimaryApiKeyForDevsOnlyResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.WellSupportedLanguages + */ + wellSupportedLanguages: { + methodKind: "unary"; + input: typeof WellSupportedLanguagesRequestSchema; + output: typeof WellSupportedLanguagesResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.ProgressBars + */ + progressBars: { + methodKind: "unary"; + input: typeof ProgressBarsRequestSchema; + output: typeof ProgressBarsResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.RecordSearchDocOpen + */ + recordSearchDocOpen: { + methodKind: "unary"; + input: typeof RecordSearchDocOpenRequestSchema; + output: typeof RecordSearchDocOpenResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.RecordSearchResultsView + */ + recordSearchResultsView: { + methodKind: "unary"; + input: typeof RecordSearchResultsViewRequestSchema; + output: typeof RecordSearchResultsViewResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.HandleStreamingCommand + */ + handleStreamingCommand: { + methodKind: "server_streaming"; + input: typeof HandleStreamingCommandRequestSchema; + output: typeof HandleStreamingCommandResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.HandleStreamingTab + */ + handleStreamingTab: { + methodKind: "server_streaming"; + input: typeof HandleStreamingTabRequestSchema; + output: typeof HandleStreamingTabResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.HandleStreamingTabV2 + */ + handleStreamingTabV2: { + methodKind: "unary"; + input: typeof HandleStreamingTabV2RequestSchema; + output: typeof HandleStreamingTabV2ResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.HandleStreamingTerminalCommand + */ + handleStreamingTerminalCommand: { + methodKind: "server_streaming"; + input: typeof HandleStreamingTerminalCommandRequestSchema; + output: typeof HandleStreamingTerminalCommandResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.UploadRecentCommands + */ + uploadRecentCommands: { + methodKind: "unary"; + input: typeof UploadRecentCommandsRequestSchema; + output: typeof UploadRecentCommandsResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetBrainStatus + */ + getBrainStatus: { + methodKind: "unary"; + input: typeof GetBrainStatusRequestSchema; + output: typeof GetBrainStatusResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.SetPinnedGuideline + */ + setPinnedGuideline: { + methodKind: "unary"; + input: typeof SetPinnedGuidelineRequestSchema; + output: typeof SetPinnedGuidelineResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.SetPinnedContext + */ + setPinnedContext: { + methodKind: "unary"; + input: typeof SetPinnedContextRequestSchema; + output: typeof SetPinnedContextResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.AddTrackedWorkspace + */ + addTrackedWorkspace: { + methodKind: "unary"; + input: typeof AddTrackedWorkspaceRequestSchema; + output: typeof AddTrackedWorkspaceResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.RemoveTrackedWorkspace + */ + removeTrackedWorkspace: { + methodKind: "unary"; + input: typeof RemoveTrackedWorkspaceRequestSchema; + output: typeof RemoveTrackedWorkspaceResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.StatUri + */ + statUri: { + methodKind: "unary"; + input: typeof StatUriRequestSchema; + output: typeof StatUriResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.ValidateWindsurfJSAppProjectName + */ + validateWindsurfJSAppProjectName: { + methodKind: "unary"; + input: typeof ValidateWindsurfJSAppProjectNameRequestSchema; + output: typeof ValidateWindsurfJSAppProjectNameResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.SaveWindsurfJSAppProjectName + */ + saveWindsurfJSAppProjectName: { + methodKind: "unary"; + input: typeof SaveWindsurfJSAppProjectNameRequestSchema; + output: typeof SaveWindsurfJSAppProjectNameResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.RefreshContextForIdeAction + */ + refreshContextForIdeAction: { + methodKind: "unary"; + input: typeof RefreshContextForIdeActionRequestSchema; + output: typeof RefreshContextForIdeActionResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetMatchingCodeContext + */ + getMatchingCodeContext: { + methodKind: "unary"; + input: typeof GetMatchingCodeContextRequestSchema; + output: typeof GetMatchingCodeContextResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetMatchingIndexedRepos + */ + getMatchingIndexedRepos: { + methodKind: "unary"; + input: typeof GetMatchingIndexedReposRequestSchema; + output: typeof GetMatchingIndexedReposResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetMatchingContextScopeItems + */ + getMatchingContextScopeItems: { + methodKind: "unary"; + input: typeof GetMatchingContextScopeItemsRequestSchema; + output: typeof GetMatchingContextScopeItemsResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetSuggestedContextScopeItems + */ + getSuggestedContextScopeItems: { + methodKind: "unary"; + input: typeof GetSuggestedContextScopeItemsRequestSchema; + output: typeof GetSuggestedContextScopeItemsResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetChatMessage + */ + getChatMessage: { + methodKind: "server_streaming"; + input: typeof GetChatMessageRequestSchema; + output: typeof GetChatMessageResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.RawGetChatMessage + */ + rawGetChatMessage: { + methodKind: "server_streaming"; + input: typeof RawGetChatMessageRequestSchema; + output: typeof RawGetChatMessageResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetDeepWiki + */ + getDeepWiki: { + methodKind: "server_streaming"; + input: typeof GetDeepWikiRequestSchema; + output: typeof GetDeepWikiResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.CheckUserMessageRateLimit + */ + checkUserMessageRateLimit: { + methodKind: "unary"; + input: typeof CheckUserMessageRateLimitRequestSchema; + output: typeof CheckUserMessageRateLimitResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetMessageTokenCount + */ + getMessageTokenCount: { + methodKind: "unary"; + input: typeof GetMessageTokenCountRequestSchema; + output: typeof GetMessageTokenCountResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.RecordChatFeedback + */ + recordChatFeedback: { + methodKind: "unary"; + input: typeof RecordChatFeedbackRequestSchema; + output: typeof RecordChatFeedbackResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.RecordChatPanelSession + */ + recordChatPanelSession: { + methodKind: "unary"; + input: typeof RecordChatPanelSessionRequestSchema; + output: typeof RecordChatPanelSessionResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.CheckChatCapacity + */ + checkChatCapacity: { + methodKind: "unary"; + input: typeof CheckChatCapacityRequestSchema; + output: typeof CheckChatCapacityResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.ShouldEnableUnleash + */ + shouldEnableUnleash: { + methodKind: "unary"; + input: typeof ShouldEnableUnleashRequestSchema; + output: typeof ShouldEnableUnleashResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetWorkspaceEditState + */ + getWorkspaceEditState: { + methodKind: "unary"; + input: typeof GetWorkspaceEditStateRequestSchema; + output: typeof GetWorkspaceEditStateResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetRepoInfos + */ + getRepoInfos: { + methodKind: "unary"; + input: typeof GetRepoInfosRequestSchema; + output: typeof GetRepoInfosResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetWorkspaceInfos + */ + getWorkspaceInfos: { + methodKind: "unary"; + input: typeof GetWorkspaceInfosRequestSchema; + output: typeof GetWorkspaceInfosResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GenerateCommitMessage + */ + generateCommitMessage: { + methodKind: "unary"; + input: typeof GenerateCommitMessageRequestSchema; + output: typeof GenerateCommitMessageResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.RecordCommitMessageSave + */ + recordCommitMessageSave: { + methodKind: "unary"; + input: typeof RecordCommitMessageSaveRequestSchema; + output: typeof RecordCommitMessageSaveResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.SendActionToChatPanel + */ + sendActionToChatPanel: { + methodKind: "unary"; + input: typeof SendActionToChatPanelRequestSchema; + output: typeof SendActionToChatPanelResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetUserSettings + */ + getUserSettings: { + methodKind: "unary"; + input: typeof GetUserSettingsRequestSchema; + output: typeof GetUserSettingsResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.SetUserSettings + */ + setUserSettings: { + methodKind: "unary"; + input: typeof SetUserSettingsRequestSchema; + output: typeof SetUserSettingsResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetDefaultWebOrigins + */ + getDefaultWebOrigins: { + methodKind: "unary"; + input: typeof GetDefaultWebOriginsRequestSchema; + output: typeof GetDefaultWebOriginsResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetDebugDiagnostics + */ + getDebugDiagnostics: { + methodKind: "unary"; + input: typeof GetDebugDiagnosticsRequestSchema; + output: typeof GetDebugDiagnosticsResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetUserStatus + */ + getUserStatus: { + methodKind: "unary"; + input: typeof GetUserStatusRequestSchema; + output: typeof GetUserStatusResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetProfileData + */ + getProfileData: { + methodKind: "unary"; + input: typeof GetProfileDataRequestSchema; + output: typeof GetProfileDataResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.CaptureCode + */ + captureCode: { + methodKind: "unary"; + input: typeof CaptureCodeRequestSchema; + output: typeof CaptureCodeResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.CaptureFile + */ + captureFile: { + methodKind: "unary"; + input: typeof CaptureFileRequestSchema; + output: typeof CaptureFileResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetChangelog + */ + getChangelog: { + methodKind: "unary"; + input: typeof GetChangelogRequestSchema; + output: typeof GetChangelogResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetFunctions + */ + getFunctions: { + methodKind: "unary"; + input: typeof GetFunctionsRequestSchema; + output: typeof GetFunctionsResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetClassInfos + */ + getClassInfos: { + methodKind: "unary"; + input: typeof GetClassInfosRequestSchema; + output: typeof GetClassInfosResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.SetupUniversitySandbox + */ + setupUniversitySandbox: { + methodKind: "unary"; + input: typeof SetupUniversitySandboxRequestSchema; + output: typeof SetupUniversitySandboxResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.Exit + */ + exit: { + methodKind: "unary"; + input: typeof ExitRequestSchema; + output: typeof ExitResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.ResetOnboarding + */ + resetOnboarding: { + methodKind: "unary"; + input: typeof ResetOnboardingRequestSchema; + output: typeof ResetOnboardingResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.SkipOnboarding + */ + skipOnboarding: { + methodKind: "unary"; + input: typeof SkipOnboardingRequestSchema; + output: typeof SkipOnboardingResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetUserTrajectoryDebug + */ + getUserTrajectoryDebug: { + methodKind: "unary"; + input: typeof GetUserTrajectoryDebugRequestSchema; + output: typeof GetUserTrajectoryDebugResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetUserTrajectoryDescriptions + */ + getUserTrajectoryDescriptions: { + methodKind: "unary"; + input: typeof GetUserTrajectoryDescriptionsRequestSchema; + output: typeof GetUserTrajectoryDescriptionsResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.StreamUserTrajectoryReactiveUpdates + */ + streamUserTrajectoryReactiveUpdates: { + methodKind: "server_streaming"; + input: typeof StreamReactiveUpdatesRequestSchema; + output: typeof StreamReactiveUpdatesResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetCascadeMemories + */ + getCascadeMemories: { + methodKind: "unary"; + input: typeof GetCascadeMemoriesRequestSchema; + output: typeof GetCascadeMemoriesResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.DeleteCascadeMemory + */ + deleteCascadeMemory: { + methodKind: "unary"; + input: typeof DeleteCascadeMemoryRequestSchema; + output: typeof DeleteCascadeMemoryResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.UpdateCascadeMemory + */ + updateCascadeMemory: { + methodKind: "unary"; + input: typeof UpdateCascadeMemoryRequestSchema; + output: typeof UpdateCascadeMemoryResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetUserMemories + */ + getUserMemories: { + methodKind: "unary"; + input: typeof GetUserMemoriesRequestSchema; + output: typeof GetUserMemoriesResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.RefreshCustomization + */ + refreshCustomization: { + methodKind: "unary"; + input: typeof RefreshCustomizationRequestSchema; + output: typeof RefreshCustomizationResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetConversationTags + */ + getConversationTags: { + methodKind: "unary"; + input: typeof GetConversationTagsRequestSchema; + output: typeof GetConversationTagsResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.UpdateConversationTags + */ + updateConversationTags: { + methodKind: "unary"; + input: typeof UpdateConversationTagsRequestSchema; + output: typeof UpdateConversationTagsResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.StartCascade + */ + startCascade: { + methodKind: "unary"; + input: typeof StartCascadeRequestSchema; + output: typeof StartCascadeResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.CancelCascadeInvocation + */ + cancelCascadeInvocation: { + methodKind: "unary"; + input: typeof CancelCascadeInvocationRequestSchema; + output: typeof CancelCascadeInvocationResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.CancelCascadeInvocationAndWait + */ + cancelCascadeInvocationAndWait: { + methodKind: "unary"; + input: typeof CancelCascadeInvocationAndWaitRequestSchema; + output: typeof CancelCascadeInvocationAndWaitResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.CancelCascadeSteps + */ + cancelCascadeSteps: { + methodKind: "unary"; + input: typeof CancelCascadeStepsRequestSchema; + output: typeof CancelCascadeStepsResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.SendUserCascadeMessage + */ + sendUserCascadeMessage: { + methodKind: "unary"; + input: typeof SendUserCascadeMessageRequestSchema; + output: typeof SendUserCascadeMessageResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.BranchCascade + */ + branchCascade: { + methodKind: "unary"; + input: typeof BranchCascadeRequestSchema; + output: typeof BranchCascadeResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.QueueCascadeMessage + */ + queueCascadeMessage: { + methodKind: "unary"; + input: typeof QueueCascadeMessageRequestSchema; + output: typeof QueueCascadeMessageResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.InterruptWithQueuedMessage + */ + interruptWithQueuedMessage: { + methodKind: "unary"; + input: typeof InterruptWithQueuedMessageRequestSchema; + output: typeof InterruptWithQueuedMessageResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.RemoveFromQueue + */ + removeFromQueue: { + methodKind: "unary"; + input: typeof RemoveFromQueueRequestSchema; + output: typeof RemoveFromQueueResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.MoveQueuedMessage + */ + moveQueuedMessage: { + methodKind: "unary"; + input: typeof MoveQueuedMessageRequestSchema; + output: typeof MoveQueuedMessageResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.SyncExploreAgentRun + */ + syncExploreAgentRun: { + methodKind: "unary"; + input: typeof SyncExploreAgentRunRequestSchema; + output: typeof SyncExploreAgentRunResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.RevertToCascadeStep + */ + revertToCascadeStep: { + methodKind: "unary"; + input: typeof RevertToCascadeStepRequestSchema; + output: typeof RevertToCascadeStepResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetRevertPreview + */ + getRevertPreview: { + methodKind: "unary"; + input: typeof GetRevertPreviewRequestSchema; + output: typeof GetRevertPreviewResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.RecordUserStepSnapshot + */ + recordUserStepSnapshot: { + methodKind: "unary"; + input: typeof RecordUserStepSnapshotRequestSchema; + output: typeof RecordUserStepSnapshotResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetAllCascadeTrajectories + */ + getAllCascadeTrajectories: { + methodKind: "unary"; + input: typeof GetAllCascadeTrajectoriesRequestSchema; + output: typeof GetAllCascadeTrajectoriesResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.HandleCascadeUserInteraction + */ + handleCascadeUserInteraction: { + methodKind: "unary"; + input: typeof HandleCascadeUserInteractionRequestSchema; + output: typeof HandleCascadeUserInteractionResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.AcknowledgeCascadeCodeEdit + */ + acknowledgeCascadeCodeEdit: { + methodKind: "unary"; + input: typeof AcknowledgeCascadeCodeEditRequestSchema; + output: typeof AcknowledgeCascadeCodeEditResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetCodeValidationStates + */ + getCodeValidationStates: { + methodKind: "unary"; + input: typeof GetCodeValidationStatesRequestSchema; + output: typeof GetCodeValidationStatesResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.CreateWorktree + */ + createWorktree: { + methodKind: "unary"; + input: typeof CreateWorktreeRequestSchema; + output: typeof CreateWorktreeResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.ResolveWorktreeChanges + */ + resolveWorktreeChanges: { + methodKind: "unary"; + input: typeof ResolveWorktreeChangesRequestSchema; + output: typeof ResolveWorktreeChangesResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.UndoWorktreeMerge + */ + undoWorktreeMerge: { + methodKind: "unary"; + input: typeof UndoWorktreeMergeRequestSchema; + output: typeof UndoWorktreeMergeResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.DeleteCascadeTrajectory + */ + deleteCascadeTrajectory: { + methodKind: "unary"; + input: typeof DeleteCascadeTrajectoryRequestSchema; + output: typeof DeleteCascadeTrajectoryResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.RenameCascadeTrajectory + */ + renameCascadeTrajectory: { + methodKind: "unary"; + input: typeof RenameCascadeTrajectoryRequestSchema; + output: typeof RenameCascadeTrajectoryResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.ArchiveCascadeTrajectory + */ + archiveCascadeTrajectory: { + methodKind: "unary"; + input: typeof ArchiveCascadeTrajectoryRequestSchema; + output: typeof ArchiveCascadeTrajectoryResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.InitializeCascadePanelState + */ + initializeCascadePanelState: { + methodKind: "unary"; + input: typeof InitializeCascadePanelStateRequestSchema; + output: typeof InitializeCascadePanelStateResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.UpdatePanelStateWithUserStatus + */ + updatePanelStateWithUserStatus: { + methodKind: "unary"; + input: typeof UpdatePanelStateWithUserStatusRequestSchema; + output: typeof UpdatePanelStateWithUserStatusResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.SpawnArenaModeMidConversation + */ + spawnArenaModeMidConversation: { + methodKind: "unary"; + input: typeof SpawnArenaModeMidConversationRequestSchema; + output: typeof SpawnArenaModeMidConversationResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.ConvergeArenaCascades + */ + convergeArenaCascades: { + methodKind: "unary"; + input: typeof ConvergeArenaCascadesRequestSchema; + output: typeof ConvergeArenaCascadesResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.StreamCascadePanelReactiveUpdates + */ + streamCascadePanelReactiveUpdates: { + methodKind: "server_streaming"; + input: typeof StreamReactiveUpdatesRequestSchema; + output: typeof StreamReactiveUpdatesResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.StreamCascadeReactiveUpdates + */ + streamCascadeReactiveUpdates: { + methodKind: "server_streaming"; + input: typeof StreamReactiveUpdatesRequestSchema; + output: typeof StreamReactiveUpdatesResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.StreamCascadeSummariesReactiveUpdates + */ + streamCascadeSummariesReactiveUpdates: { + methodKind: "server_streaming"; + input: typeof StreamReactiveUpdatesRequestSchema; + output: typeof StreamReactiveUpdatesResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.ForceBackgroundResearchRefresh + */ + forceBackgroundResearchRefresh: { + methodKind: "unary"; + input: typeof ForceBackgroundResearchRefreshRequestSchema; + output: typeof ForceBackgroundResearchRefreshResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.ResolveOutstandingSteps + */ + resolveOutstandingSteps: { + methodKind: "unary"; + input: typeof ResolveOutstandingStepsRequestSchema; + output: typeof ResolveOutstandingStepsResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.RefreshMcpServers + */ + refreshMcpServers: { + methodKind: "unary"; + input: typeof RefreshMcpServersRequestSchema; + output: typeof RefreshMcpServersResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetMcpServerStates + */ + getMcpServerStates: { + methodKind: "unary"; + input: typeof GetMcpServerStatesRequestSchema; + output: typeof GetMcpServerStatesResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetMcpPrompt + */ + getMcpPrompt: { + methodKind: "unary"; + input: typeof GetMcpPromptRequestSchema; + output: typeof GetMcpPromptResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.SaveMcpServerToConfigFile + */ + saveMcpServerToConfigFile: { + methodKind: "unary"; + input: typeof SaveMcpServerToConfigFileRequestSchema; + output: typeof SaveMcpServerToConfigFileResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.UpdateMcpServerInConfigFile + */ + updateMcpServerInConfigFile: { + methodKind: "unary"; + input: typeof UpdateMcpServerInConfigFileRequestSchema; + output: typeof UpdateMcpServerInConfigFileResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.ToggleMcpTool + */ + toggleMcpTool: { + methodKind: "unary"; + input: typeof ToggleMcpToolRequestSchema; + output: typeof ToggleMcpToolResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.DismissCodeMapSuggestion + */ + dismissCodeMapSuggestion: { + methodKind: "unary"; + input: typeof DismissCodeMapSuggestionRequestSchema; + output: typeof DismissCodeMapSuggestionResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.StreamTerminalShellCommand + */ + streamTerminalShellCommand: { + methodKind: "client_streaming"; + input: typeof TerminalShellCommandStreamChunkSchema; + output: typeof StreamTerminalShellCommandResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetWebDocsOptions + */ + getWebDocsOptions: { + methodKind: "unary"; + input: typeof GetWebDocsOptionsRequestSchema; + output: typeof GetWebDocsOptionsResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.UpdateDevExperiments + */ + updateDevExperiments: { + methodKind: "unary"; + input: typeof UpdateDevExperimentsRequestSchema; + output: typeof UpdateDevExperimentsResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.SetBaseExperiments + */ + setBaseExperiments: { + methodKind: "unary"; + input: typeof SetBaseExperimentsRequestSchema; + output: typeof SetBaseExperimentsResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetUnleashData + */ + getUnleashData: { + methodKind: "unary"; + input: typeof GetUnleashDataRequestSchema; + output: typeof GetUnleashDataResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetActiveAppDeploymentForWorkspace + */ + getActiveAppDeploymentForWorkspace: { + methodKind: "unary"; + input: typeof GetActiveAppDeploymentForWorkspaceRequestSchema; + output: typeof GetActiveAppDeploymentForWorkspaceResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetWindsurfJSAppDeployment + */ + getWindsurfJSAppDeployment: { + methodKind: "unary"; + input: typeof GetWindsurfJSAppDeploymentRequestSchema; + output: typeof GetWindsurfJSAppDeploymentResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetModelStatuses + */ + getModelStatuses: { + methodKind: "unary"; + input: typeof GetModelStatusesRequestSchema; + output: typeof GetModelStatusesResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.UpdateAutoCascadeGithubCredentials + */ + updateAutoCascadeGithubCredentials: { + methodKind: "unary"; + input: typeof UpdateAutoCascadeGithubCredentialsRequestSchema; + output: typeof UpdateAutoCascadeGithubCredentialsResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetAllWorkflows + */ + getAllWorkflows: { + methodKind: "unary"; + input: typeof GetAllWorkflowsRequestSchema; + output: typeof GetAllWorkflowsResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.CopyBuiltinWorkflowToWorkspace + */ + copyBuiltinWorkflowToWorkspace: { + methodKind: "unary"; + input: typeof CopyBuiltinWorkflowToWorkspaceRequestSchema; + output: typeof CopyBuiltinWorkflowToWorkspaceResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetAllRules + */ + getAllRules: { + methodKind: "unary"; + input: typeof GetAllRulesRequestSchema; + output: typeof GetAllRulesResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetAllSkills + */ + getAllSkills: { + methodKind: "unary"; + input: typeof GetAllSkillsRequestSchema; + output: typeof GetAllSkillsResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetAllPlans + */ + getAllPlans: { + methodKind: "unary"; + input: typeof GetAllPlansRequestSchema; + output: typeof GetAllPlansResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.UpdateEnterpriseExperimentsFromUrl + */ + updateEnterpriseExperimentsFromUrl: { + methodKind: "unary"; + input: typeof UpdateEnterpriseExperimentsFromUrlRequestSchema; + output: typeof UpdateEnterpriseExperimentsFromUrlResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.ImportFromCursor + */ + importFromCursor: { + methodKind: "unary"; + input: typeof ImportFromCursorRequestSchema; + output: typeof ImportFromCursorResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.CreateCustomizationFile + */ + createCustomizationFile: { + methodKind: "unary"; + input: typeof CreateCustomizationFileRequestSchema; + output: typeof CreateCustomizationFileResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetTeamOrganizationalControls + */ + getTeamOrganizationalControls: { + methodKind: "unary"; + input: typeof GetTeamOrganizationalControlsRequestSchema; + output: typeof GetTeamOrganizationalControlsResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.RecordUserGrep + */ + recordUserGrep: { + methodKind: "unary"; + input: typeof RecordUserGrepRequestSchema; + output: typeof RecordUserGrepResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetGithubPullRequestSearchInfo + */ + getGithubPullRequestSearchInfo: { + methodKind: "unary"; + input: typeof GetGithubPullRequestSearchInfoRequestSchema; + output: typeof GetGithubPullRequestSearchInfoResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.CreateTrajectoryShare + */ + createTrajectoryShare: { + methodKind: "unary"; + input: typeof CreateTrajectoryShareRequestSchema; + output: typeof CreateTrajectoryShareResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetKnowledgeBaseItemsForTeam + */ + getKnowledgeBaseItemsForTeam: { + methodKind: "unary"; + input: typeof GetKnowledgeBaseItemsForTeamRequestSchema; + output: typeof GetKnowledgeBaseItemsForTeamResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetCascadeTrajectory + */ + getCascadeTrajectory: { + methodKind: "unary"; + input: typeof GetCascadeTrajectoryRequestSchema; + output: typeof GetCascadeTrajectoryResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetUserTrajectory + */ + getUserTrajectory: { + methodKind: "unary"; + input: typeof GetUserTrajectoryRequestSchema; + output: typeof GetUserTrajectoryResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetCascadeTrajectorySteps + */ + getCascadeTrajectorySteps: { + methodKind: "unary"; + input: typeof GetCascadeTrajectoryStepsRequestSchema; + output: typeof GetCascadeTrajectoryStepsResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetCascadeTrajectoryGeneratorMetadata + */ + getCascadeTrajectoryGeneratorMetadata: { + methodKind: "unary"; + input: typeof GetCascadeTrajectoryGeneratorMetadataRequestSchema; + output: typeof GetCascadeTrajectoryGeneratorMetadataResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetCascadeTranscriptForTrajectoryId + */ + getCascadeTranscriptForTrajectoryId: { + methodKind: "unary"; + input: typeof GetCascadeTranscriptForTrajectoryIdRequestSchema; + output: typeof GetCascadeTranscriptForTrajectoryIdResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetPatchAndCodeChange + */ + getPatchAndCodeChange: { + methodKind: "unary"; + input: typeof GetPatchAndCodeChangeRequestSchema; + output: typeof GetPatchAndCodeChangeResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetAvailableCascadePlugins + */ + getAvailableCascadePlugins: { + methodKind: "unary"; + input: typeof GetAvailableCascadePluginsRequestSchema; + output: typeof GetAvailableCascadePluginsResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetMcpRegistryServers + */ + getMcpRegistryServers: { + methodKind: "unary"; + input: typeof GetMcpRegistryServersRequestSchema; + output: typeof GetMcpRegistryServersResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetAllAcpRegistries + */ + getAllAcpRegistries: { + methodKind: "unary"; + input: typeof GetAllAcpRegistriesRequestSchema; + output: typeof GetAllAcpRegistriesResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.RecordLints + */ + recordLints: { + methodKind: "unary"; + input: typeof RecordLintsRequestSchema; + output: typeof RecordLintsResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.ReplayGroundTruthTrajectory + */ + replayGroundTruthTrajectory: { + methodKind: "unary"; + input: typeof ReplayGroundTruthTrajectoryRequestSchema; + output: typeof ReplayGroundTruthTrajectoryResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.MountCascadeFilesystem + */ + mountCascadeFilesystem: { + methodKind: "unary"; + input: typeof MountCascadeFilesystemRequestSchema; + output: typeof MountCascadeFilesystemResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.UnmountCascadeFilesystem + */ + unmountCascadeFilesystem: { + methodKind: "unary"; + input: typeof UnmountCascadeFilesystemRequestSchema; + output: typeof UnmountCascadeFilesystemResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.LogCascadeSession + */ + logCascadeSession: { + methodKind: "unary"; + input: typeof LogCascadeSessionRequestSchema; + output: typeof LogCascadeSessionResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetTranscription + */ + getTranscription: { + methodKind: "unary"; + input: typeof GetTranscriptionRequestSchema; + output: typeof GetTranscriptionResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GenerateVibeAndReplaceStreaming + */ + generateVibeAndReplaceStreaming: { + methodKind: "server_streaming"; + input: typeof GenerateVibeAndReplaceStreamingRequestSchema; + output: typeof GenerateVibeAndReplaceStreamingResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetCodeMapsForRepos + */ + getCodeMapsForRepos: { + methodKind: "unary"; + input: typeof GetCodeMapsForReposRequestSchema; + output: typeof GetCodeMapsForReposResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetCodeMapsForFile + */ + getCodeMapsForFile: { + methodKind: "unary"; + input: typeof GetCodeMapsForFileRequestSchema; + output: typeof GetCodeMapsForFileResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GenerateCodeMap + */ + generateCodeMap: { + methodKind: "server_streaming"; + input: typeof GenerateCodeMapRequestSchema; + output: typeof GenerateCodeMapResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.BranchCascadeAndGenerateCodeMap + */ + branchCascadeAndGenerateCodeMap: { + methodKind: "server_streaming"; + input: typeof BranchCascadeAndGenerateCodeMapRequestSchema; + output: typeof BranchCascadeAndGenerateCodeMapResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.ShareCodeMap + */ + shareCodeMap: { + methodKind: "unary"; + input: typeof ShareCodeMapRequestSchema; + output: typeof ShareCodeMapResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetSharedCodeMap + */ + getSharedCodeMap: { + methodKind: "unary"; + input: typeof GetSharedCodeMapRequestSchema; + output: typeof GetSharedCodeMapResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetCodeMapSuggestions + */ + getCodeMapSuggestions: { + methodKind: "unary"; + input: typeof GetCodeMapSuggestionsRequestSchema; + output: typeof GetCodeMapSuggestionsResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.UpdateCodeMapMetadata + */ + updateCodeMapMetadata: { + methodKind: "unary"; + input: typeof UpdateCodeMapMetadataRequestSchema; + output: typeof UpdateCodeMapMetadataResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.SaveCodeMapFromJson + */ + saveCodeMapFromJson: { + methodKind: "unary"; + input: typeof SaveCodeMapFromJsonRequestSchema; + output: typeof SaveCodeMapFromJsonResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.CheckBugs + */ + checkBugs: { + methodKind: "unary"; + input: typeof CheckBugsRequestSchema; + output: typeof CheckBugsResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetLifeguardConfig + */ + getLifeguardConfig: { + methodKind: "unary"; + input: typeof GetLifeguardConfigRequestSchema; + output: typeof GetLifeguardConfigResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.SubmitBugReport + */ + submitBugReport: { + methodKind: "unary"; + input: typeof SubmitBugReportRequestSchema; + output: typeof SubmitBugReportResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.OnEdit + */ + onEdit: { + methodKind: "unary"; + input: typeof OnEditRequestSchema; + output: typeof OnEditResponseSchema; + }, + /** + * @generated from rpc exa.language_server_pb.LanguageServerService.GetSystemPromptAndTools + */ + getSystemPromptAndTools: { + methodKind: "unary"; + input: typeof GetSystemPromptAndToolsRequestSchema; + output: typeof GetSystemPromptAndToolsResponseSchema; + }, +}> = /*@__PURE__*/ + serviceDesc(file_exa_language_server_pb_language_server, 0); + diff --git a/packages/catalog/src/discovery/devin-gen/exa/opensearch_clients_pb/opensearch_clients_pb.ts b/packages/catalog/src/discovery/devin-gen/exa/opensearch_clients_pb/opensearch_clients_pb.ts new file mode 100644 index 000000000..bc920778f --- /dev/null +++ b/packages/catalog/src/discovery/devin-gen/exa/opensearch_clients_pb/opensearch_clients_pb.ts @@ -0,0 +1,2125 @@ +// @generated by protoc-gen-es v2.12.0 with parameter "target=ts" +// @generated from file exa/opensearch_clients_pb/opensearch_clients.proto (package exa.opensearch_clients_pb, syntax proto3) +/* eslint-disable */ + +import type { GenEnum, GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2"; +import { enumDesc, fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2"; +import { file_buf_validate_validate } from "../../buf/validate/validate_pb"; +import type { ChatMessagePrompt } from "../chat_pb/chat_pb"; +import { file_exa_chat_pb_chat } from "../chat_pb/chat_pb"; +import type { DocumentType, Embedding, IndexChoice, KnowledgeBaseGroup, KnowledgeBaseItemWithMetadata, KnowledgeBaseScopeItem, Metadata } from "../codeium_common_pb/codeium_common_pb"; +import { file_exa_codeium_common_pb_codeium_common } from "../codeium_common_pb/codeium_common_pb"; +import type { IndexingStatus, ManagementMetadata, RepositoryConfig, RequestIndexVersion } from "../index_pb/index_pb"; +import { file_exa_index_pb_index } from "../index_pb/index_pb"; +import type { Timestamp } from "@bufbuild/protobuf/wkt"; +import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt"; +import type { Message } from "@bufbuild/protobuf"; + +/** + * Describes the file exa/opensearch_clients_pb/opensearch_clients.proto. + */ +export const file_exa_opensearch_clients_pb_opensearch_clients: GenFile = /*@__PURE__*/ + fileDesc("CjJleGEvb3BlbnNlYXJjaF9jbGllbnRzX3BiL29wZW5zZWFyY2hfY2xpZW50cy5wcm90bxIZZXhhLm9wZW5zZWFyY2hfY2xpZW50c19wYiJfCglUaW1lUmFuZ2USKQoFc3RhcnQYASABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEicKA2VuZBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiMAoKR2l0aHViVXNlchIQCghhdXRoX3VpZBgBIAEoCRIQCgh1c2VybmFtZRgCIAEoCSJNChVBZGRHaXRodWJVc2Vyc1JlcXVlc3QSNAoFdXNlcnMYASADKAsyJS5leGEub3BlbnNlYXJjaF9jbGllbnRzX3BiLkdpdGh1YlVzZXIiGAoWQWRkR2l0aHViVXNlcnNSZXNwb25zZSJMCghVc2VySW5mbxIQCghhdXRoX3VpZBgBIAEoCRINCgVlbWFpbBgCIAEoCRIMCgRuYW1lGAMgASgJEhEKCXBob3RvX3VybBgEIAEoCSJFCg9BZGRVc2Vyc1JlcXVlc3QSMgoFdXNlcnMYASADKAsyIy5leGEub3BlbnNlYXJjaF9jbGllbnRzX3BiLlVzZXJJbmZvIhIKEEFkZFVzZXJzUmVzcG9uc2UirQQKGktub3dsZWRnZUJhc2VTZWFyY2hSZXF1ZXN0EhMKC21heF9yZXN1bHRzGAIgASgDEg8KB3F1ZXJpZXMYAyADKAkSMQoIbWV0YWRhdGEYBCABKAsyHy5leGEuY29kZWl1bV9jb21tb25fcGIuTWV0YWRhdGESDAoEdXJscxgMIAMoCRIUCgxkb2N1bWVudF9pZHMYDSADKAkSFQoNYWdncmVnYXRlX2lkcxgFIAMoCRI8ChRjaGF0X21lc3NhZ2VfcHJvbXB0cxgGIAMoCzIeLmV4YS5jaGF0X3BiLkNoYXRNZXNzYWdlUHJvbXB0EjgKCnRpbWVfcmFuZ2UYByABKAsyJC5leGEub3BlbnNlYXJjaF9jbGllbnRzX3BiLlRpbWVSYW5nZRI7Cg5kb2N1bWVudF90eXBlcxgOIAMoDjIjLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Eb2N1bWVudFR5cGUSOgoLc2VhcmNoX21vZGUYCSABKA4yJS5leGEub3BlbnNlYXJjaF9jbGllbnRzX3BiLlNlYXJjaE1vZGUSGQoRZGlzYWJsZV9yZXJhbmtpbmcYCiABKAgSIQoZZGlzYWJsZV9jb250ZXh0dWFsX2xvb2t1cBgLIAEoCBI5Cg1pbmRleF9jaG9pY2VzGAggAygOMiIuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkluZGV4Q2hvaWNlEhEKBXF1ZXJ5GAEgASgJQgIYASJnChtLbm93bGVkZ2VCYXNlU2VhcmNoUmVzcG9uc2USSAoVa25vd2xlZGdlX2Jhc2VfZ3JvdXBzGAEgAygLMikuZXhhLmNvZGVpdW1fY29tbW9uX3BiLktub3dsZWRnZUJhc2VHcm91cCL6AQohR2V0S25vd2xlZGdlQmFzZVNjb3BlSXRlbXNSZXF1ZXN0Eg0KBXF1ZXJ5GAEgASgJEjEKCG1ldGFkYXRhGAMgASgLMh8uZXhhLmNvZGVpdW1fY29tbW9uX3BiLk1ldGFkYXRhEjsKDmRvY3VtZW50X3R5cGVzGAUgAygOMiMuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkRvY3VtZW50VHlwZRI9Cg1pbmRleF9jaG9pY2VzGAQgAygOMiIuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkluZGV4Q2hvaWNlQgIYARIXCgtpbmRleF9uYW1lcxgCIAMoCUICGAEiaAoiR2V0S25vd2xlZGdlQmFzZVNjb3BlSXRlbXNSZXNwb25zZRJCCgtzY29wZV9pdGVtcxgBIAMoCzItLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Lbm93bGVkZ2VCYXNlU2NvcGVJdGVtIqkBCipHZXRLbm93bGVkZ2VCYXNlSXRlbXNGcm9tU2NvcGVJdGVtc1JlcXVlc3QSMQoIbWV0YWRhdGEYAiABKAsyHy5leGEuY29kZWl1bV9jb21tb25fcGIuTWV0YWRhdGESQgoLc2NvcGVfaXRlbXMYAyADKAsyLS5leGEuY29kZWl1bV9jb21tb25fcGIuS25vd2xlZGdlQmFzZVNjb3BlSXRlbUoECAEQAiKPAQorR2V0S25vd2xlZGdlQmFzZUl0ZW1zRnJvbVNjb3BlSXRlbXNSZXNwb25zZRJgCiJrbm93bGVkZ2VfYmFzZV9pdGVtc193aXRoX21ldGFkYXRhGAEgAygLMjQuZXhhLmNvZGVpdW1fY29tbW9uX3BiLktub3dsZWRnZUJhc2VJdGVtV2l0aE1ldGFkYXRhImEKFkluZ2VzdFNsYWNrRGF0YVJlcXVlc3QSMgoIbWV0YWRhdGEYASABKAsyIC5leGEuaW5kZXhfcGIuTWFuYWdlbWVudE1ldGFkYXRhEhMKC2NoYW5uZWxfaWRzGAIgAygJIhkKF0luZ2VzdFNsYWNrRGF0YVJlc3BvbnNlIncKF0luZ2VzdEdpdGh1YkRhdGFSZXF1ZXN0EjIKCG1ldGFkYXRhGAMgASgLMiAuZXhhLmluZGV4X3BiLk1hbmFnZW1lbnRNZXRhZGF0YRIUCgxvcmdhbml6YXRpb24YASABKAkSEgoKcmVwb3NpdG9yeRgCIAEoCSIaChhJbmdlc3RHaXRodWJEYXRhUmVzcG9uc2UibAocSW5nZXN0R29vZ2xlRHJpdmVEYXRhUmVxdWVzdBIyCghtZXRhZGF0YRgCIAEoCzIgLmV4YS5pbmRleF9wYi5NYW5hZ2VtZW50TWV0YWRhdGESEgoKZm9sZGVyX2lkcxgDIAMoCUoECAEQAiIfCh1Jbmdlc3RHb29nbGVEcml2ZURhdGFSZXNwb25zZSJdChVJbmdlc3RKaXJhRGF0YVJlcXVlc3QSMgoIbWV0YWRhdGEYBCABKAsyIC5leGEuaW5kZXhfcGIuTWFuYWdlbWVudE1ldGFkYXRhSgQIARACSgQIAhADSgQIAxAEIhgKFkluZ2VzdEppcmFEYXRhUmVzcG9uc2UiKAoYSW5nZXN0SmlyYVBheWxvYWRSZXF1ZXN0EgwKBGJvZHkYAyABKAkiGwoZSW5nZXN0SmlyYVBheWxvYWRSZXNwb25zZSJnCg1Gb3J3YXJkUmVzdWx0EjgKBnN0YXR1cxgBIAEoDjIoLmV4YS5vcGVuc2VhcmNoX2NsaWVudHNfcGIuRm9yd2FyZFN0YXR1cxISCgVlcnJvchgCIAEoCUgAiAEBQggKBl9lcnJvciIsChpGb3J3YXJkU2xhY2tQYXlsb2FkUmVxdWVzdBIOCgZib2RpZXMYASADKAkiWAobRm9yd2FyZFNsYWNrUGF5bG9hZFJlc3BvbnNlEjkKB3Jlc3VsdHMYASADKAsyKC5leGEub3BlbnNlYXJjaF9jbGllbnRzX3BiLkZvcndhcmRSZXN1bHQiVQoZSW5nZXN0U2xhY2tQYXlsb2FkUmVxdWVzdBI4CgdwYXlsb2FkGAEgAygLMicuZXhhLm9wZW5zZWFyY2hfY2xpZW50c19wYi5TbGFja1BheWxvYWQiHAoaSW5nZXN0U2xhY2tQYXlsb2FkUmVzcG9uc2UiMwoOQ29tbW9uRG9jdW1lbnQSEwoLZG9jdW1lbnRfaWQYASABKAkSDAoEdGV4dBgCIAEoCSJlChdDb21tb25Eb2N1bWVudFdpdGhTY29yZRI7Cghkb2N1bWVudBgBIAEoCzIpLmV4YS5vcGVuc2VhcmNoX2NsaWVudHNfcGIuQ29tbW9uRG9jdW1lbnQSDQoFc2NvcmUYAiABKAIiKQoMU2VhcmNoUmVzdWx0EgwKBHRleHQYASABKAkSCwoDdXJsGAIgASgJImcKE1F1ZXJ5U2VhcmNoUmVzcG9uc2USUAoUZG9jdW1lbnRfd2l0aF9zY29yZXMYASADKAsyMi5leGEub3BlbnNlYXJjaF9jbGllbnRzX3BiLkNvbW1vbkRvY3VtZW50V2l0aFNjb3JlIr4BCh5PcGVuU2VhcmNoQWRkUmVwb3NpdG9yeVJlcXVlc3QSMgoIbWV0YWRhdGEYASABKAsyIC5leGEuaW5kZXhfcGIuTWFuYWdlbWVudE1ldGFkYXRhEi4KBmNvbmZpZxgCIAEoCzIeLmV4YS5pbmRleF9wYi5SZXBvc2l0b3J5Q29uZmlnEjgKDWluaXRpYWxfaW5kZXgYAyABKAsyIS5leGEuaW5kZXhfcGIuUmVxdWVzdEluZGV4VmVyc2lvbiJGCh9PcGVuU2VhcmNoQWRkUmVwb3NpdG9yeVJlc3BvbnNlEhEKCXJlcG9fbmFtZRgBIAEoCRIQCghpbmRleF9pZBgCIAEoCSItChlPcGVuU2VhcmNoR2V0SW5kZXhSZXF1ZXN0EhAKCGluZGV4X2lkGAEgASgJIkoKGk9wZW5TZWFyY2hHZXRJbmRleFJlc3BvbnNlEiwKBnN0YXR1cxgBIAEoDjIcLmV4YS5pbmRleF9wYi5JbmRleGluZ1N0YXR1cyJuChNIeWJyaWRTZWFyY2hSZXF1ZXN0Eg0KBXF1ZXJ5GAEgASgJEjMKCWVtYmVkZGluZxgCIAEoCzIgLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5FbWJlZGRpbmcSEwoLbWF4X3Jlc3VsdHMYAyABKAMiaAoUSHlicmlkU2VhcmNoUmVzcG9uc2USUAoUZG9jdW1lbnRfd2l0aF9zY29yZXMYASADKAsyMi5leGEub3BlbnNlYXJjaF9jbGllbnRzX3BiLkNvbW1vbkRvY3VtZW50V2l0aFNjb3JlIm0KEkdyYXBoU2VhcmNoUmVxdWVzdBINCgVxdWVyeRgBIAEoCRIzCgllbWJlZGRpbmcYAiABKAsyIC5leGEuY29kZWl1bV9jb21tb25fcGIuRW1iZWRkaW5nEhMKC21heF9yZXN1bHRzGAMgASgDImcKE0dyYXBoU2VhcmNoUmVzcG9uc2USUAoUZG9jdW1lbnRfd2l0aF9zY29yZXMYASADKAsyMi5leGEub3BlbnNlYXJjaF9jbGllbnRzX3BiLkNvbW1vbkRvY3VtZW50V2l0aFNjb3JlIrACCg9Db25uZWN0b3JDb25maWcSQAoFc2xhY2sYASABKAsyLy5leGEub3BlbnNlYXJjaF9jbGllbnRzX3BiLkNvbm5lY3RvckNvbmZpZ1NsYWNrSAASQgoGZ2l0aHViGAIgASgLMjAuZXhhLm9wZW5zZWFyY2hfY2xpZW50c19wYi5Db25uZWN0b3JDb25maWdHaXRodWJIABJNCgxnb29nbGVfZHJpdmUYAyABKAsyNS5leGEub3BlbnNlYXJjaF9jbGllbnRzX3BiLkNvbm5lY3RvckNvbmZpZ0dvb2dsZURyaXZlSAASPgoEamlyYRgEIAEoCzIuLmV4YS5vcGVuc2VhcmNoX2NsaWVudHNfcGIuQ29ubmVjdG9yQ29uZmlnSmlyYUgAQggKBmNvbmZpZyJcChRDb25uZWN0b3JDb25maWdTbGFjaxIbChNpbmNsdWRlX2NoYW5uZWxfaWRzGAMgAygJEhsKE2V4Y2x1ZGVfY2hhbm5lbF9pZHMYBCADKAlKBAgBEAJKBAgCEAMiHQoVQ29ubmVjdG9yQ29uZmlnR2l0aHViSgQIARACIlgKGkNvbm5lY3RvckNvbmZpZ0dvb2dsZURyaXZlEhkKEWluY2x1ZGVfZHJpdmVfaWRzGAIgAygJEhkKEWV4Y2x1ZGVfZHJpdmVfaWRzGAMgAygJSgQIARACIhUKE0Nvbm5lY3RvckNvbmZpZ0ppcmEi2AIKF0Nvbm5lY3RvckludGVybmFsQ29uZmlnEkgKBXNsYWNrGAEgASgLMjcuZXhhLm9wZW5zZWFyY2hfY2xpZW50c19wYi5Db25uZWN0b3JJbnRlcm5hbENvbmZpZ1NsYWNrSAASSgoGZ2l0aHViGAIgASgLMjguZXhhLm9wZW5zZWFyY2hfY2xpZW50c19wYi5Db25uZWN0b3JJbnRlcm5hbENvbmZpZ0dpdGh1YkgAElUKDGdvb2dsZV9kcml2ZRgDIAEoCzI9LmV4YS5vcGVuc2VhcmNoX2NsaWVudHNfcGIuQ29ubmVjdG9ySW50ZXJuYWxDb25maWdHb29nbGVEcml2ZUgAEkYKBGppcmEYBCABKAsyNi5leGEub3BlbnNlYXJjaF9jbGllbnRzX3BiLkNvbm5lY3RvckludGVybmFsQ29uZmlnSmlyYUgAQggKBmNvbmZpZyJmChxDb25uZWN0b3JJbnRlcm5hbENvbmZpZ1NsYWNrEhEKCWNsaWVudF9pZBgCIAEoCRIVCg1jbGllbnRfc2VjcmV0GAMgASgJEhYKDnNpZ25pbmdfc2VjcmV0GAEgASgJSgQIBBAFIjwKEEdpdGh1YlJlcG9Db25maWcSFAoMb3JnYW5pemF0aW9uGAEgASgJEhIKCnJlcG9zaXRvcnkYAiABKAkiewodQ29ubmVjdG9ySW50ZXJuYWxDb25maWdHaXRodWISFwoPaW5zdGFsbGF0aW9uX2lkGAEgASgDEkEKDHJlcG9fY29uZmlncxgCIAMoCzIrLmV4YS5vcGVuc2VhcmNoX2NsaWVudHNfcGIuR2l0aHViUmVwb0NvbmZpZyIqCiJDb25uZWN0b3JJbnRlcm5hbENvbmZpZ0dvb2dsZURyaXZlSgQIARACIjEKG0Nvbm5lY3RvckludGVybmFsQ29uZmlnSmlyYRISCgp3ZWJob29rX2lkGAEgASgDIpQDCiJDb25uZWN0S25vd2xlZGdlQmFzZUFjY291bnRSZXF1ZXN0EjIKCG1ldGFkYXRhGAcgASgLMiAuZXhhLmluZGV4X3BiLk1hbmFnZW1lbnRNZXRhZGF0YRI7Cgljb25uZWN0b3IYAiABKA4yKC5leGEub3BlbnNlYXJjaF9jbGllbnRzX3BiLkNvbm5lY3RvclR5cGUSFAoMYWNjZXNzX3Rva2VuGAMgASgJEjsKF2FjY2Vzc190b2tlbl9leHBpcmVzX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIVCg1yZWZyZXNoX3Rva2VuGAUgASgJEjwKGHJlZnJlc2hfdG9rZW5fZXhwaXJlc19hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASTwoRYWRkaXRpb25hbF9wYXJhbXMYCCABKAsyNC5leGEub3BlbnNlYXJjaF9jbGllbnRzX3BiLkNvbm5lY3RvckFkZGl0aW9uYWxQYXJhbXNKBAgBEAIilwEKJERlbGV0ZUtub3dsZWRnZUJhc2VDb25uZWN0aW9uUmVxdWVzdBIyCghtZXRhZGF0YRgBIAEoCzIgLmV4YS5pbmRleF9wYi5NYW5hZ2VtZW50TWV0YWRhdGESOwoJY29ubmVjdG9yGAIgASgOMiguZXhhLm9wZW5zZWFyY2hfY2xpZW50c19wYi5Db25uZWN0b3JUeXBlIicKJURlbGV0ZUtub3dsZWRnZUJhc2VDb25uZWN0aW9uUmVzcG9uc2UiywEKHFVwZGF0ZUNvbm5lY3RvckNvbmZpZ1JlcXVlc3QSMgoIbWV0YWRhdGEYASABKAsyIC5leGEuaW5kZXhfcGIuTWFuYWdlbWVudE1ldGFkYXRhEjsKCWNvbm5lY3RvchgCIAEoDjIoLmV4YS5vcGVuc2VhcmNoX2NsaWVudHNfcGIuQ29ubmVjdG9yVHlwZRI6CgZjb25maWcYAyABKAsyKi5leGEub3BlbnNlYXJjaF9jbGllbnRzX3BiLkNvbm5lY3RvckNvbmZpZyIfCh1VcGRhdGVDb25uZWN0b3JDb25maWdSZXNwb25zZSK/AQoZQ29ubmVjdG9yQWRkaXRpb25hbFBhcmFtcxJKCgVzbGFjaxgCIAEoCzI5LmV4YS5vcGVuc2VhcmNoX2NsaWVudHNfcGIuQ29ubmVjdG9yQWRkaXRpb25hbFBhcmFtc1NsYWNrSAASTAoGZ2l0aHViGAEgASgLMjouZXhhLm9wZW5zZWFyY2hfY2xpZW50c19wYi5Db25uZWN0b3JBZGRpdGlvbmFsUGFyYW1zR2l0aHViSABCCAoGY29uZmlnImIKHkNvbm5lY3RvckFkZGl0aW9uYWxQYXJhbXNTbGFjaxIRCgljbGllbnRfaWQYASABKAkSFQoNY2xpZW50X3NlY3JldBgCIAEoCRIWCg5zaWduaW5nX3NlY3JldBgDIAEoCSI6Ch9Db25uZWN0b3JBZGRpdGlvbmFsUGFyYW1zR2l0aHViEhcKD2luc3RhbGxhdGlvbl9pZBgBIAEoAyIlCiNDb25uZWN0S25vd2xlZGdlQmFzZUFjY291bnRSZXNwb25zZSJlCh5DYW5jZWxLbm93bGVkZ2VCYXNlSm9ic1JlcXVlc3QSMgoIbWV0YWRhdGEYASABKAsyIC5leGEuaW5kZXhfcGIuTWFuYWdlbWVudE1ldGFkYXRhEg8KB2pvYl9pZHMYAiADKAMiIQofQ2FuY2VsS25vd2xlZGdlQmFzZUpvYnNSZXNwb25zZSJeChFEb2N1bWVudFR5cGVDb3VudBI6Cg1kb2N1bWVudF90eXBlGAEgASgOMiMuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkRvY3VtZW50VHlwZRINCgVjb3VudBgCIAEoAyKMAwoOQ29ubmVjdG9yU3RhdGUSOwoJY29ubmVjdG9yGAEgASgOMiguZXhhLm9wZW5zZWFyY2hfY2xpZW50c19wYi5Db25uZWN0b3JUeXBlEhMKC2luaXRpYWxpemVkGAIgASgIEjoKBmNvbmZpZxgDIAEoCzIqLmV4YS5vcGVuc2VhcmNoX2NsaWVudHNfcGIuQ29ubmVjdG9yQ29uZmlnEkoKFGRvY3VtZW50X3R5cGVfY291bnRzGAQgAygLMiwuZXhhLm9wZW5zZWFyY2hfY2xpZW50c19wYi5Eb2N1bWVudFR5cGVDb3VudBIzCg9sYXN0X2luZGV4ZWRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjMKD3VuaGVhbHRoeV9zaW5jZRgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASNgoSbGFzdF9jb25maWd1cmVkX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCJhCiVHZXRLbm93bGVkZ2VCYXNlQ29ubmVjdG9yU3RhdGVSZXF1ZXN0EjIKCG1ldGFkYXRhGAEgASgLMiAuZXhhLmluZGV4X3BiLk1hbmFnZW1lbnRNZXRhZGF0YUoECAIQAyJtCiZHZXRLbm93bGVkZ2VCYXNlQ29ubmVjdG9yU3RhdGVSZXNwb25zZRJDChBjb25uZWN0b3Jfc3RhdGVzGAEgAygLMikuZXhhLm9wZW5zZWFyY2hfY2xpZW50c19wYi5Db25uZWN0b3JTdGF0ZSKJAQoISm9iU3RhdGUSOwoJY29ubmVjdG9yGAEgASgOMiguZXhhLm9wZW5zZWFyY2hfY2xpZW50c19wYi5Db25uZWN0b3JUeXBlEgoKAmlkGAIgASgDEjQKBnN0YXR1cxgDIAEoDjIkLmV4YS5vcGVuc2VhcmNoX2NsaWVudHNfcGIuSm9iU3RhdHVzIpkBCiBHZXRLbm93bGVkZ2VCYXNlSm9iU3RhdGVzUmVxdWVzdBIyCghtZXRhZGF0YRgBIAEoCzIgLmV4YS5pbmRleF9wYi5NYW5hZ2VtZW50TWV0YWRhdGESQQoPY29ubmVjdG9yX3R5cGVzGAIgAygOMiguZXhhLm9wZW5zZWFyY2hfY2xpZW50c19wYi5Db25uZWN0b3JUeXBlIlwKIUdldEtub3dsZWRnZUJhc2VKb2JTdGF0ZXNSZXNwb25zZRI3Cgpqb2Jfc3RhdGVzGAEgAygLMiMuZXhhLm9wZW5zZWFyY2hfY2xpZW50c19wYi5Kb2JTdGF0ZSLAAgoTU2xhY2tNZXNzYWdlUGF5bG9hZBISCgpkYXRhc2V0X2lkGAEgASgJEiMKG3ByZXZpb3VzX21lc3NhZ2VfZGF0YXNldF9pZBgCIAEoCRIMCgR0eXBlGAMgASgJEhIKCmNoYW5uZWxfaWQYBCABKAkSDAoEdXNlchgFIAEoCRIMCgR0ZXh0GAYgASgJEhEKCXRpbWVzdGFtcBgHIAEoCRIYChB0aHJlYWRfdGltZXN0YW1wGAggASgJEhQKDGNoYW5uZWxfbmFtZRgJIAEoCRIRCgl0ZWFtX25hbWUYCiABKAkSDwoHdGVhbV9pZBgLIAEoCRIaChJpc19wcml2YXRlX2NoYW5uZWwYDCABKAgSEwoLdGVhbV9kb21haW4YDSABKAkSGgoSb3JpZ2luYWxfdGltZXN0YW1wGA4gASgJIqEBChNTbGFja0NoYW5uZWxQYXlsb2FkEgwKBHR5cGUYASABKAkSEgoKY2hhbm5lbF9pZBgCIAEoCRIUCgxjaGFubmVsX25hbWUYBCABKAkSEwoLZGVzY3JpcHRpb24YByABKAkSDwoHdGVhbV9pZBgIIAEoCRIaChJpc19wcml2YXRlX2NoYW5uZWwYCSABKAhKBAgDEARKBAgFEAZKBAgGEAci5wEKDFNsYWNrUGF5bG9hZBJBCgdtZXNzYWdlGA0gASgLMi4uZXhhLm9wZW5zZWFyY2hfY2xpZW50c19wYi5TbGFja01lc3NhZ2VQYXlsb2FkSAASQQoHY2hhbm5lbBgOIAEoCzIuLmV4YS5vcGVuc2VhcmNoX2NsaWVudHNfcGIuU2xhY2tDaGFubmVsUGF5bG9hZEgAQgkKB3BheWxvYWRKBAgBEAJKBAgCEANKBAgDEARKBAgEEAVKBAgFEAZKBAgGEAdKBAgHEAhKBAgIEAlKBAgJEApKBAgKEAtKBAgLEAxKBAgMEA0iVwohR2V0S25vd2xlZGdlQmFzZVdlYmhvb2tVcmxSZXF1ZXN0EjIKCG1ldGFkYXRhGAEgASgLMiAuZXhhLmluZGV4X3BiLk1hbmFnZW1lbnRNZXRhZGF0YSI5CiJHZXRLbm93bGVkZ2VCYXNlV2ViaG9va1VybFJlc3BvbnNlEhMKC3dlYmhvb2tfdXJsGAEgASgJImAKIUdldENvbm5lY3RvckludGVybmFsQ29uZmlnUmVxdWVzdBI7Cgljb25uZWN0b3IYASABKA4yKC5leGEub3BlbnNlYXJjaF9jbGllbnRzX3BiLkNvbm5lY3RvclR5cGUicQoiR2V0Q29ubmVjdG9ySW50ZXJuYWxDb25maWdSZXNwb25zZRJLCg9pbnRlcm5hbF9jb25maWcYASABKAsyMi5leGEub3BlbnNlYXJjaF9jbGllbnRzX3BiLkNvbm5lY3RvckludGVybmFsQ29uZmlnKpwBCgpTZWFyY2hNb2RlEhsKF1NFQVJDSF9NT0RFX1VOU1BFQ0lGSUVEEAASFgoSU0VBUkNIX01PREVfSFlCUklEEAESFwoTU0VBUkNIX01PREVfS0VZV09SRBACEh8KG1NFQVJDSF9NT0RFX0FQUFJPWElNQVRFX0tOThADEh8KG1NFQVJDSF9NT0RFX0JSVVRFX0ZPUkNFX0tOThAEKoEBCg1Gb3J3YXJkU3RhdHVzEh4KGkZPUldBUkRfU1RBVFVTX1VOU1BFQ0lGSUVEEAASGgoWRk9SV0FSRF9TVEFUVVNfRkFJTFVSRRABEhgKFEZPUldBUkRfU1RBVFVTX1NBVkVEEAISGgoWRk9SV0FSRF9TVEFUVVNfU1VDQ0VTUxADKvUBCg1Db25uZWN0b3JUeXBlEh4KGkNPTk5FQ1RPUl9UWVBFX1VOU1BFQ0lGSUVEEAASGQoVQ09OTkVDVE9SX1RZUEVfR0lUSFVCEAESGAoUQ09OTkVDVE9SX1RZUEVfU0xBQ0sQAhIfChtDT05ORUNUT1JfVFlQRV9HT09HTEVfRFJJVkUQAxIXChNDT05ORUNUT1JfVFlQRV9KSVJBEAQSGgoWQ09OTkVDVE9SX1RZUEVfQ09ERUlVTRAFEhgKFENPTk5FQ1RPUl9UWVBFX0VNQUlMEAYSHwobQ09OTkVDVE9SX1RZUEVfR0lUSFVCX09BVVRIEAcq1wEKCUpvYlN0YXR1cxIaChZKT0JfU1RBVFVTX1VOU1BFQ0lGSUVEEAASFQoRSk9CX1NUQVRVU19RVUVVRUQQARIWChJKT0JfU1RBVFVTX1JVTk5JTkcQAhIYChRKT0JfU1RBVFVTX0NPTVBMRVRFRBADEhgKFEpPQl9TVEFUVVNfQ0FOQ0VMTEVEEAQSGQoVSk9CX1NUQVRVU19DQU5DRUxMSU5HEAUSFgoSSk9CX1NUQVRVU19FUlJPUkVEEAYSGAoUSk9CX1NUQVRVU19SRVRSWUFCTEUQBzKvFgoUS25vd2xlZGdlQmFzZVNlcnZpY2UShAEKE0tub3dsZWRnZUJhc2VTZWFyY2gSNS5leGEub3BlbnNlYXJjaF9jbGllbnRzX3BiLktub3dsZWRnZUJhc2VTZWFyY2hSZXF1ZXN0GjYuZXhhLm9wZW5zZWFyY2hfY2xpZW50c19wYi5Lbm93bGVkZ2VCYXNlU2VhcmNoUmVzcG9uc2USmQEKGkdldEtub3dsZWRnZUJhc2VTY29wZUl0ZW1zEjwuZXhhLm9wZW5zZWFyY2hfY2xpZW50c19wYi5HZXRLbm93bGVkZ2VCYXNlU2NvcGVJdGVtc1JlcXVlc3QaPS5leGEub3BlbnNlYXJjaF9jbGllbnRzX3BiLkdldEtub3dsZWRnZUJhc2VTY29wZUl0ZW1zUmVzcG9uc2UStAEKI0dldEtub3dsZWRnZUJhc2VJdGVtc0Zyb21TY29wZUl0ZW1zEkUuZXhhLm9wZW5zZWFyY2hfY2xpZW50c19wYi5HZXRLbm93bGVkZ2VCYXNlSXRlbXNGcm9tU2NvcGVJdGVtc1JlcXVlc3QaRi5leGEub3BlbnNlYXJjaF9jbGllbnRzX3BiLkdldEtub3dsZWRnZUJhc2VJdGVtc0Zyb21TY29wZUl0ZW1zUmVzcG9uc2USeAoPSW5nZXN0U2xhY2tEYXRhEjEuZXhhLm9wZW5zZWFyY2hfY2xpZW50c19wYi5Jbmdlc3RTbGFja0RhdGFSZXF1ZXN0GjIuZXhhLm9wZW5zZWFyY2hfY2xpZW50c19wYi5Jbmdlc3RTbGFja0RhdGFSZXNwb25zZRJ7ChBJbmdlc3RHaXRodWJEYXRhEjIuZXhhLm9wZW5zZWFyY2hfY2xpZW50c19wYi5Jbmdlc3RHaXRodWJEYXRhUmVxdWVzdBozLmV4YS5vcGVuc2VhcmNoX2NsaWVudHNfcGIuSW5nZXN0R2l0aHViRGF0YVJlc3BvbnNlEooBChVJbmdlc3RHb29nbGVEcml2ZURhdGESNy5leGEub3BlbnNlYXJjaF9jbGllbnRzX3BiLkluZ2VzdEdvb2dsZURyaXZlRGF0YVJlcXVlc3QaOC5leGEub3BlbnNlYXJjaF9jbGllbnRzX3BiLkluZ2VzdEdvb2dsZURyaXZlRGF0YVJlc3BvbnNlEnUKDkluZ2VzdEppcmFEYXRhEjAuZXhhLm9wZW5zZWFyY2hfY2xpZW50c19wYi5Jbmdlc3RKaXJhRGF0YVJlcXVlc3QaMS5leGEub3BlbnNlYXJjaF9jbGllbnRzX3BiLkluZ2VzdEppcmFEYXRhUmVzcG9uc2USfgoRSW5nZXN0SmlyYVBheWxvYWQSMy5leGEub3BlbnNlYXJjaF9jbGllbnRzX3BiLkluZ2VzdEppcmFQYXlsb2FkUmVxdWVzdBo0LmV4YS5vcGVuc2VhcmNoX2NsaWVudHNfcGIuSW5nZXN0SmlyYVBheWxvYWRSZXNwb25zZRKEAQoTRm9yd2FyZFNsYWNrUGF5bG9hZBI1LmV4YS5vcGVuc2VhcmNoX2NsaWVudHNfcGIuRm9yd2FyZFNsYWNrUGF5bG9hZFJlcXVlc3QaNi5leGEub3BlbnNlYXJjaF9jbGllbnRzX3BiLkZvcndhcmRTbGFja1BheWxvYWRSZXNwb25zZRKBAQoSSW5nZXN0U2xhY2tQYXlsb2FkEjQuZXhhLm9wZW5zZWFyY2hfY2xpZW50c19wYi5Jbmdlc3RTbGFja1BheWxvYWRSZXF1ZXN0GjUuZXhhLm9wZW5zZWFyY2hfY2xpZW50c19wYi5Jbmdlc3RTbGFja1BheWxvYWRSZXNwb25zZRKcAQobQ29ubmVjdEtub3dsZWRnZUJhc2VBY2NvdW50Ej0uZXhhLm9wZW5zZWFyY2hfY2xpZW50c19wYi5Db25uZWN0S25vd2xlZGdlQmFzZUFjY291bnRSZXF1ZXN0Gj4uZXhhLm9wZW5zZWFyY2hfY2xpZW50c19wYi5Db25uZWN0S25vd2xlZGdlQmFzZUFjY291bnRSZXNwb25zZRKiAQodRGVsZXRlS25vd2xlZGdlQmFzZUNvbm5lY3Rpb24SPy5leGEub3BlbnNlYXJjaF9jbGllbnRzX3BiLkRlbGV0ZUtub3dsZWRnZUJhc2VDb25uZWN0aW9uUmVxdWVzdBpALmV4YS5vcGVuc2VhcmNoX2NsaWVudHNfcGIuRGVsZXRlS25vd2xlZGdlQmFzZUNvbm5lY3Rpb25SZXNwb25zZRKKAQoVVXBkYXRlQ29ubmVjdG9yQ29uZmlnEjcuZXhhLm9wZW5zZWFyY2hfY2xpZW50c19wYi5VcGRhdGVDb25uZWN0b3JDb25maWdSZXF1ZXN0GjguZXhhLm9wZW5zZWFyY2hfY2xpZW50c19wYi5VcGRhdGVDb25uZWN0b3JDb25maWdSZXNwb25zZRKQAQoXQ2FuY2VsS25vd2xlZGdlQmFzZUpvYnMSOS5leGEub3BlbnNlYXJjaF9jbGllbnRzX3BiLkNhbmNlbEtub3dsZWRnZUJhc2VKb2JzUmVxdWVzdBo6LmV4YS5vcGVuc2VhcmNoX2NsaWVudHNfcGIuQ2FuY2VsS25vd2xlZGdlQmFzZUpvYnNSZXNwb25zZRKlAQoeR2V0S25vd2xlZGdlQmFzZUNvbm5lY3RvclN0YXRlEkAuZXhhLm9wZW5zZWFyY2hfY2xpZW50c19wYi5HZXRLbm93bGVkZ2VCYXNlQ29ubmVjdG9yU3RhdGVSZXF1ZXN0GkEuZXhhLm9wZW5zZWFyY2hfY2xpZW50c19wYi5HZXRLbm93bGVkZ2VCYXNlQ29ubmVjdG9yU3RhdGVSZXNwb25zZRKWAQoZR2V0S25vd2xlZGdlQmFzZUpvYlN0YXRlcxI7LmV4YS5vcGVuc2VhcmNoX2NsaWVudHNfcGIuR2V0S25vd2xlZGdlQmFzZUpvYlN0YXRlc1JlcXVlc3QaPC5leGEub3BlbnNlYXJjaF9jbGllbnRzX3BiLkdldEtub3dsZWRnZUJhc2VKb2JTdGF0ZXNSZXNwb25zZRJjCghBZGRVc2VycxIqLmV4YS5vcGVuc2VhcmNoX2NsaWVudHNfcGIuQWRkVXNlcnNSZXF1ZXN0GisuZXhhLm9wZW5zZWFyY2hfY2xpZW50c19wYi5BZGRVc2Vyc1Jlc3BvbnNlEnUKDkFkZEdpdGh1YlVzZXJzEjAuZXhhLm9wZW5zZWFyY2hfY2xpZW50c19wYi5BZGRHaXRodWJVc2Vyc1JlcXVlc3QaMS5leGEub3BlbnNlYXJjaF9jbGllbnRzX3BiLkFkZEdpdGh1YlVzZXJzUmVzcG9uc2USmQEKGkdldEtub3dsZWRnZUJhc2VXZWJob29rVXJsEjwuZXhhLm9wZW5zZWFyY2hfY2xpZW50c19wYi5HZXRLbm93bGVkZ2VCYXNlV2ViaG9va1VybFJlcXVlc3QaPS5leGEub3BlbnNlYXJjaF9jbGllbnRzX3BiLkdldEtub3dsZWRnZUJhc2VXZWJob29rVXJsUmVzcG9uc2USmQEKGkdldENvbm5lY3RvckludGVybmFsQ29uZmlnEjwuZXhhLm9wZW5zZWFyY2hfY2xpZW50c19wYi5HZXRDb25uZWN0b3JJbnRlcm5hbENvbmZpZ1JlcXVlc3QaPS5leGEub3BlbnNlYXJjaF9jbGllbnRzX3BiLkdldENvbm5lY3RvckludGVybmFsQ29uZmlnUmVzcG9uc2UyiAQKEENvZGVJbmRleFNlcnZpY2USkAEKF09wZW5TZWFyY2hBZGRSZXBvc2l0b3J5EjkuZXhhLm9wZW5zZWFyY2hfY2xpZW50c19wYi5PcGVuU2VhcmNoQWRkUmVwb3NpdG9yeVJlcXVlc3QaOi5leGEub3BlbnNlYXJjaF9jbGllbnRzX3BiLk9wZW5TZWFyY2hBZGRSZXBvc2l0b3J5UmVzcG9uc2USgQEKEk9wZW5TZWFyY2hHZXRJbmRleBI0LmV4YS5vcGVuc2VhcmNoX2NsaWVudHNfcGIuT3BlblNlYXJjaEdldEluZGV4UmVxdWVzdBo1LmV4YS5vcGVuc2VhcmNoX2NsaWVudHNfcGIuT3BlblNlYXJjaEdldEluZGV4UmVzcG9uc2USbwoMSHlicmlkU2VhcmNoEi4uZXhhLm9wZW5zZWFyY2hfY2xpZW50c19wYi5IeWJyaWRTZWFyY2hSZXF1ZXN0Gi8uZXhhLm9wZW5zZWFyY2hfY2xpZW50c19wYi5IeWJyaWRTZWFyY2hSZXNwb25zZRJsCgtHcmFwaFNlYXJjaBItLmV4YS5vcGVuc2VhcmNoX2NsaWVudHNfcGIuR3JhcGhTZWFyY2hSZXF1ZXN0Gi4uZXhhLm9wZW5zZWFyY2hfY2xpZW50c19wYi5HcmFwaFNlYXJjaFJlc3BvbnNlYgZwcm90bzM", [file_buf_validate_validate, file_exa_chat_pb_chat, file_exa_codeium_common_pb_codeium_common, file_exa_index_pb_index, file_google_protobuf_timestamp]); + +/** + * @generated from message exa.opensearch_clients_pb.TimeRange + */ +export type TimeRange = Message<"exa.opensearch_clients_pb.TimeRange"> & { + /** + * @generated from field: google.protobuf.Timestamp start = 1; + */ + start?: Timestamp | undefined; + + /** + * @generated from field: google.protobuf.Timestamp end = 2; + */ + end?: Timestamp | undefined; +}; + +/** + * Describes the message exa.opensearch_clients_pb.TimeRange. + * Use `create(TimeRangeSchema)` to create a new message. + */ +export const TimeRangeSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 0); + +/** + * @generated from message exa.opensearch_clients_pb.GithubUser + */ +export type GithubUser = Message<"exa.opensearch_clients_pb.GithubUser"> & { + /** + * @generated from field: string auth_uid = 1; + */ + authUid: string; + + /** + * @generated from field: string username = 2; + */ + username: string; +}; + +/** + * Describes the message exa.opensearch_clients_pb.GithubUser. + * Use `create(GithubUserSchema)` to create a new message. + */ +export const GithubUserSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 1); + +/** + * @generated from message exa.opensearch_clients_pb.AddGithubUsersRequest + */ +export type AddGithubUsersRequest = Message<"exa.opensearch_clients_pb.AddGithubUsersRequest"> & { + /** + * @generated from field: repeated exa.opensearch_clients_pb.GithubUser users = 1; + */ + users: GithubUser[]; +}; + +/** + * Describes the message exa.opensearch_clients_pb.AddGithubUsersRequest. + * Use `create(AddGithubUsersRequestSchema)` to create a new message. + */ +export const AddGithubUsersRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 2); + +/** + * @generated from message exa.opensearch_clients_pb.AddGithubUsersResponse + */ +export type AddGithubUsersResponse = Message<"exa.opensearch_clients_pb.AddGithubUsersResponse"> & { +}; + +/** + * Describes the message exa.opensearch_clients_pb.AddGithubUsersResponse. + * Use `create(AddGithubUsersResponseSchema)` to create a new message. + */ +export const AddGithubUsersResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 3); + +/** + * @generated from message exa.opensearch_clients_pb.UserInfo + */ +export type UserInfo = Message<"exa.opensearch_clients_pb.UserInfo"> & { + /** + * @generated from field: string auth_uid = 1; + */ + authUid: string; + + /** + * @generated from field: string email = 2; + */ + email: string; + + /** + * @generated from field: string name = 3; + */ + name: string; + + /** + * @generated from field: string photo_url = 4; + */ + photoUrl: string; +}; + +/** + * Describes the message exa.opensearch_clients_pb.UserInfo. + * Use `create(UserInfoSchema)` to create a new message. + */ +export const UserInfoSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 4); + +/** + * @generated from message exa.opensearch_clients_pb.AddUsersRequest + */ +export type AddUsersRequest = Message<"exa.opensearch_clients_pb.AddUsersRequest"> & { + /** + * @generated from field: repeated exa.opensearch_clients_pb.UserInfo users = 1; + */ + users: UserInfo[]; +}; + +/** + * Describes the message exa.opensearch_clients_pb.AddUsersRequest. + * Use `create(AddUsersRequestSchema)` to create a new message. + */ +export const AddUsersRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 5); + +/** + * @generated from message exa.opensearch_clients_pb.AddUsersResponse + */ +export type AddUsersResponse = Message<"exa.opensearch_clients_pb.AddUsersResponse"> & { +}; + +/** + * Describes the message exa.opensearch_clients_pb.AddUsersResponse. + * Use `create(AddUsersResponseSchema)` to create a new message. + */ +export const AddUsersResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 6); + +/** + * @generated from message exa.opensearch_clients_pb.KnowledgeBaseSearchRequest + */ +export type KnowledgeBaseSearchRequest = Message<"exa.opensearch_clients_pb.KnowledgeBaseSearchRequest"> & { + /** + * @generated from field: int64 max_results = 2; + */ + maxResults: bigint; + + /** + * @generated from field: repeated string queries = 3; + */ + queries: string[]; + + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 4; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: repeated string urls = 12; + */ + urls: string[]; + + /** + * @generated from field: repeated string document_ids = 13; + */ + documentIds: string[]; + + /** + * @generated from field: repeated string aggregate_ids = 5; + */ + aggregateIds: string[]; + + /** + * @generated from field: repeated exa.chat_pb.ChatMessagePrompt chat_message_prompts = 6; + */ + chatMessagePrompts: ChatMessagePrompt[]; + + /** + * @generated from field: exa.opensearch_clients_pb.TimeRange time_range = 7; + */ + timeRange?: TimeRange | undefined; + + /** + * @generated from field: repeated exa.codeium_common_pb.DocumentType document_types = 14; + */ + documentTypes: DocumentType[]; + + /** + * @generated from field: exa.opensearch_clients_pb.SearchMode search_mode = 9; + */ + searchMode: SearchMode; + + /** + * @generated from field: bool disable_reranking = 10; + */ + disableReranking: boolean; + + /** + * @generated from field: bool disable_contextual_lookup = 11; + */ + disableContextualLookup: boolean; + + /** + * @generated from field: repeated exa.codeium_common_pb.IndexChoice index_choices = 8; + */ + indexChoices: IndexChoice[]; + + /** + * @generated from field: string query = 1 [deprecated = true]; + * @deprecated + */ + query: string; +}; + +/** + * Describes the message exa.opensearch_clients_pb.KnowledgeBaseSearchRequest. + * Use `create(KnowledgeBaseSearchRequestSchema)` to create a new message. + */ +export const KnowledgeBaseSearchRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 7); + +/** + * @generated from message exa.opensearch_clients_pb.KnowledgeBaseSearchResponse + */ +export type KnowledgeBaseSearchResponse = Message<"exa.opensearch_clients_pb.KnowledgeBaseSearchResponse"> & { + /** + * @generated from field: repeated exa.codeium_common_pb.KnowledgeBaseGroup knowledge_base_groups = 1; + */ + knowledgeBaseGroups: KnowledgeBaseGroup[]; +}; + +/** + * Describes the message exa.opensearch_clients_pb.KnowledgeBaseSearchResponse. + * Use `create(KnowledgeBaseSearchResponseSchema)` to create a new message. + */ +export const KnowledgeBaseSearchResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 8); + +/** + * @generated from message exa.opensearch_clients_pb.GetKnowledgeBaseScopeItemsRequest + */ +export type GetKnowledgeBaseScopeItemsRequest = Message<"exa.opensearch_clients_pb.GetKnowledgeBaseScopeItemsRequest"> & { + /** + * @generated from field: string query = 1; + */ + query: string; + + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 3; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: repeated exa.codeium_common_pb.DocumentType document_types = 5; + */ + documentTypes: DocumentType[]; + + /** + * @generated from field: repeated exa.codeium_common_pb.IndexChoice index_choices = 4 [deprecated = true]; + * @deprecated + */ + indexChoices: IndexChoice[]; + + /** + * @generated from field: repeated string index_names = 2 [deprecated = true]; + * @deprecated + */ + indexNames: string[]; +}; + +/** + * Describes the message exa.opensearch_clients_pb.GetKnowledgeBaseScopeItemsRequest. + * Use `create(GetKnowledgeBaseScopeItemsRequestSchema)` to create a new message. + */ +export const GetKnowledgeBaseScopeItemsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 9); + +/** + * @generated from message exa.opensearch_clients_pb.GetKnowledgeBaseScopeItemsResponse + */ +export type GetKnowledgeBaseScopeItemsResponse = Message<"exa.opensearch_clients_pb.GetKnowledgeBaseScopeItemsResponse"> & { + /** + * @generated from field: repeated exa.codeium_common_pb.KnowledgeBaseScopeItem scope_items = 1; + */ + scopeItems: KnowledgeBaseScopeItem[]; +}; + +/** + * Describes the message exa.opensearch_clients_pb.GetKnowledgeBaseScopeItemsResponse. + * Use `create(GetKnowledgeBaseScopeItemsResponseSchema)` to create a new message. + */ +export const GetKnowledgeBaseScopeItemsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 10); + +/** + * @generated from message exa.opensearch_clients_pb.GetKnowledgeBaseItemsFromScopeItemsRequest + */ +export type GetKnowledgeBaseItemsFromScopeItemsRequest = Message<"exa.opensearch_clients_pb.GetKnowledgeBaseItemsFromScopeItemsRequest"> & { + /** + * @generated from field: exa.codeium_common_pb.Metadata metadata = 2; + */ + metadata?: Metadata | undefined; + + /** + * @generated from field: repeated exa.codeium_common_pb.KnowledgeBaseScopeItem scope_items = 3; + */ + scopeItems: KnowledgeBaseScopeItem[]; +}; + +/** + * Describes the message exa.opensearch_clients_pb.GetKnowledgeBaseItemsFromScopeItemsRequest. + * Use `create(GetKnowledgeBaseItemsFromScopeItemsRequestSchema)` to create a new message. + */ +export const GetKnowledgeBaseItemsFromScopeItemsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 11); + +/** + * @generated from message exa.opensearch_clients_pb.GetKnowledgeBaseItemsFromScopeItemsResponse + */ +export type GetKnowledgeBaseItemsFromScopeItemsResponse = Message<"exa.opensearch_clients_pb.GetKnowledgeBaseItemsFromScopeItemsResponse"> & { + /** + * @generated from field: repeated exa.codeium_common_pb.KnowledgeBaseItemWithMetadata knowledge_base_items_with_metadata = 1; + */ + knowledgeBaseItemsWithMetadata: KnowledgeBaseItemWithMetadata[]; +}; + +/** + * Describes the message exa.opensearch_clients_pb.GetKnowledgeBaseItemsFromScopeItemsResponse. + * Use `create(GetKnowledgeBaseItemsFromScopeItemsResponseSchema)` to create a new message. + */ +export const GetKnowledgeBaseItemsFromScopeItemsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 12); + +/** + * @generated from message exa.opensearch_clients_pb.IngestSlackDataRequest + */ +export type IngestSlackDataRequest = Message<"exa.opensearch_clients_pb.IngestSlackDataRequest"> & { + /** + * @generated from field: exa.index_pb.ManagementMetadata metadata = 1; + */ + metadata?: ManagementMetadata | undefined; + + /** + * @generated from field: repeated string channel_ids = 2; + */ + channelIds: string[]; +}; + +/** + * Describes the message exa.opensearch_clients_pb.IngestSlackDataRequest. + * Use `create(IngestSlackDataRequestSchema)` to create a new message. + */ +export const IngestSlackDataRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 13); + +/** + * @generated from message exa.opensearch_clients_pb.IngestSlackDataResponse + */ +export type IngestSlackDataResponse = Message<"exa.opensearch_clients_pb.IngestSlackDataResponse"> & { +}; + +/** + * Describes the message exa.opensearch_clients_pb.IngestSlackDataResponse. + * Use `create(IngestSlackDataResponseSchema)` to create a new message. + */ +export const IngestSlackDataResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 14); + +/** + * @generated from message exa.opensearch_clients_pb.IngestGithubDataRequest + */ +export type IngestGithubDataRequest = Message<"exa.opensearch_clients_pb.IngestGithubDataRequest"> & { + /** + * @generated from field: exa.index_pb.ManagementMetadata metadata = 3; + */ + metadata?: ManagementMetadata | undefined; + + /** + * @generated from field: string organization = 1; + */ + organization: string; + + /** + * @generated from field: string repository = 2; + */ + repository: string; +}; + +/** + * Describes the message exa.opensearch_clients_pb.IngestGithubDataRequest. + * Use `create(IngestGithubDataRequestSchema)` to create a new message. + */ +export const IngestGithubDataRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 15); + +/** + * @generated from message exa.opensearch_clients_pb.IngestGithubDataResponse + */ +export type IngestGithubDataResponse = Message<"exa.opensearch_clients_pb.IngestGithubDataResponse"> & { +}; + +/** + * Describes the message exa.opensearch_clients_pb.IngestGithubDataResponse. + * Use `create(IngestGithubDataResponseSchema)` to create a new message. + */ +export const IngestGithubDataResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 16); + +/** + * @generated from message exa.opensearch_clients_pb.IngestGoogleDriveDataRequest + */ +export type IngestGoogleDriveDataRequest = Message<"exa.opensearch_clients_pb.IngestGoogleDriveDataRequest"> & { + /** + * @generated from field: exa.index_pb.ManagementMetadata metadata = 2; + */ + metadata?: ManagementMetadata | undefined; + + /** + * @generated from field: repeated string folder_ids = 3; + */ + folderIds: string[]; +}; + +/** + * Describes the message exa.opensearch_clients_pb.IngestGoogleDriveDataRequest. + * Use `create(IngestGoogleDriveDataRequestSchema)` to create a new message. + */ +export const IngestGoogleDriveDataRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 17); + +/** + * @generated from message exa.opensearch_clients_pb.IngestGoogleDriveDataResponse + */ +export type IngestGoogleDriveDataResponse = Message<"exa.opensearch_clients_pb.IngestGoogleDriveDataResponse"> & { +}; + +/** + * Describes the message exa.opensearch_clients_pb.IngestGoogleDriveDataResponse. + * Use `create(IngestGoogleDriveDataResponseSchema)` to create a new message. + */ +export const IngestGoogleDriveDataResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 18); + +/** + * @generated from message exa.opensearch_clients_pb.IngestJiraDataRequest + */ +export type IngestJiraDataRequest = Message<"exa.opensearch_clients_pb.IngestJiraDataRequest"> & { + /** + * @generated from field: exa.index_pb.ManagementMetadata metadata = 4; + */ + metadata?: ManagementMetadata | undefined; +}; + +/** + * Describes the message exa.opensearch_clients_pb.IngestJiraDataRequest. + * Use `create(IngestJiraDataRequestSchema)` to create a new message. + */ +export const IngestJiraDataRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 19); + +/** + * @generated from message exa.opensearch_clients_pb.IngestJiraDataResponse + */ +export type IngestJiraDataResponse = Message<"exa.opensearch_clients_pb.IngestJiraDataResponse"> & { +}; + +/** + * Describes the message exa.opensearch_clients_pb.IngestJiraDataResponse. + * Use `create(IngestJiraDataResponseSchema)` to create a new message. + */ +export const IngestJiraDataResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 20); + +/** + * @generated from message exa.opensearch_clients_pb.IngestJiraPayloadRequest + */ +export type IngestJiraPayloadRequest = Message<"exa.opensearch_clients_pb.IngestJiraPayloadRequest"> & { + /** + * @generated from field: string body = 3; + */ + body: string; +}; + +/** + * Describes the message exa.opensearch_clients_pb.IngestJiraPayloadRequest. + * Use `create(IngestJiraPayloadRequestSchema)` to create a new message. + */ +export const IngestJiraPayloadRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 21); + +/** + * @generated from message exa.opensearch_clients_pb.IngestJiraPayloadResponse + */ +export type IngestJiraPayloadResponse = Message<"exa.opensearch_clients_pb.IngestJiraPayloadResponse"> & { +}; + +/** + * Describes the message exa.opensearch_clients_pb.IngestJiraPayloadResponse. + * Use `create(IngestJiraPayloadResponseSchema)` to create a new message. + */ +export const IngestJiraPayloadResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 22); + +/** + * @generated from message exa.opensearch_clients_pb.ForwardResult + */ +export type ForwardResult = Message<"exa.opensearch_clients_pb.ForwardResult"> & { + /** + * @generated from field: exa.opensearch_clients_pb.ForwardStatus status = 1; + */ + status: ForwardStatus; + + /** + * @generated from field: optional string error = 2; + */ + error?: string | undefined; +}; + +/** + * Describes the message exa.opensearch_clients_pb.ForwardResult. + * Use `create(ForwardResultSchema)` to create a new message. + */ +export const ForwardResultSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 23); + +/** + * @generated from message exa.opensearch_clients_pb.ForwardSlackPayloadRequest + */ +export type ForwardSlackPayloadRequest = Message<"exa.opensearch_clients_pb.ForwardSlackPayloadRequest"> & { + /** + * @generated from field: repeated string bodies = 1; + */ + bodies: string[]; +}; + +/** + * Describes the message exa.opensearch_clients_pb.ForwardSlackPayloadRequest. + * Use `create(ForwardSlackPayloadRequestSchema)` to create a new message. + */ +export const ForwardSlackPayloadRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 24); + +/** + * @generated from message exa.opensearch_clients_pb.ForwardSlackPayloadResponse + */ +export type ForwardSlackPayloadResponse = Message<"exa.opensearch_clients_pb.ForwardSlackPayloadResponse"> & { + /** + * @generated from field: repeated exa.opensearch_clients_pb.ForwardResult results = 1; + */ + results: ForwardResult[]; +}; + +/** + * Describes the message exa.opensearch_clients_pb.ForwardSlackPayloadResponse. + * Use `create(ForwardSlackPayloadResponseSchema)` to create a new message. + */ +export const ForwardSlackPayloadResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 25); + +/** + * @generated from message exa.opensearch_clients_pb.IngestSlackPayloadRequest + */ +export type IngestSlackPayloadRequest = Message<"exa.opensearch_clients_pb.IngestSlackPayloadRequest"> & { + /** + * @generated from field: repeated exa.opensearch_clients_pb.SlackPayload payload = 1; + */ + payload: SlackPayload[]; +}; + +/** + * Describes the message exa.opensearch_clients_pb.IngestSlackPayloadRequest. + * Use `create(IngestSlackPayloadRequestSchema)` to create a new message. + */ +export const IngestSlackPayloadRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 26); + +/** + * @generated from message exa.opensearch_clients_pb.IngestSlackPayloadResponse + */ +export type IngestSlackPayloadResponse = Message<"exa.opensearch_clients_pb.IngestSlackPayloadResponse"> & { +}; + +/** + * Describes the message exa.opensearch_clients_pb.IngestSlackPayloadResponse. + * Use `create(IngestSlackPayloadResponseSchema)` to create a new message. + */ +export const IngestSlackPayloadResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 27); + +/** + * @generated from message exa.opensearch_clients_pb.CommonDocument + */ +export type CommonDocument = Message<"exa.opensearch_clients_pb.CommonDocument"> & { + /** + * @generated from field: string document_id = 1; + */ + documentId: string; + + /** + * @generated from field: string text = 2; + */ + text: string; +}; + +/** + * Describes the message exa.opensearch_clients_pb.CommonDocument. + * Use `create(CommonDocumentSchema)` to create a new message. + */ +export const CommonDocumentSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 28); + +/** + * @generated from message exa.opensearch_clients_pb.CommonDocumentWithScore + */ +export type CommonDocumentWithScore = Message<"exa.opensearch_clients_pb.CommonDocumentWithScore"> & { + /** + * @generated from field: exa.opensearch_clients_pb.CommonDocument document = 1; + */ + document?: CommonDocument | undefined; + + /** + * @generated from field: float score = 2; + */ + score: number; +}; + +/** + * Describes the message exa.opensearch_clients_pb.CommonDocumentWithScore. + * Use `create(CommonDocumentWithScoreSchema)` to create a new message. + */ +export const CommonDocumentWithScoreSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 29); + +/** + * @generated from message exa.opensearch_clients_pb.SearchResult + */ +export type SearchResult = Message<"exa.opensearch_clients_pb.SearchResult"> & { + /** + * @generated from field: string text = 1; + */ + text: string; + + /** + * @generated from field: string url = 2; + */ + url: string; +}; + +/** + * Describes the message exa.opensearch_clients_pb.SearchResult. + * Use `create(SearchResultSchema)` to create a new message. + */ +export const SearchResultSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 30); + +/** + * @generated from message exa.opensearch_clients_pb.QuerySearchResponse + */ +export type QuerySearchResponse = Message<"exa.opensearch_clients_pb.QuerySearchResponse"> & { + /** + * @generated from field: repeated exa.opensearch_clients_pb.CommonDocumentWithScore document_with_scores = 1; + */ + documentWithScores: CommonDocumentWithScore[]; +}; + +/** + * Describes the message exa.opensearch_clients_pb.QuerySearchResponse. + * Use `create(QuerySearchResponseSchema)` to create a new message. + */ +export const QuerySearchResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 31); + +/** + * @generated from message exa.opensearch_clients_pb.OpenSearchAddRepositoryRequest + */ +export type OpenSearchAddRepositoryRequest = Message<"exa.opensearch_clients_pb.OpenSearchAddRepositoryRequest"> & { + /** + * @generated from field: exa.index_pb.ManagementMetadata metadata = 1; + */ + metadata?: ManagementMetadata | undefined; + + /** + * @generated from field: exa.index_pb.RepositoryConfig config = 2; + */ + config?: RepositoryConfig | undefined; + + /** + * @generated from field: exa.index_pb.RequestIndexVersion initial_index = 3; + */ + initialIndex?: RequestIndexVersion | undefined; +}; + +/** + * Describes the message exa.opensearch_clients_pb.OpenSearchAddRepositoryRequest. + * Use `create(OpenSearchAddRepositoryRequestSchema)` to create a new message. + */ +export const OpenSearchAddRepositoryRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 32); + +/** + * @generated from message exa.opensearch_clients_pb.OpenSearchAddRepositoryResponse + */ +export type OpenSearchAddRepositoryResponse = Message<"exa.opensearch_clients_pb.OpenSearchAddRepositoryResponse"> & { + /** + * @generated from field: string repo_name = 1; + */ + repoName: string; + + /** + * @generated from field: string index_id = 2; + */ + indexId: string; +}; + +/** + * Describes the message exa.opensearch_clients_pb.OpenSearchAddRepositoryResponse. + * Use `create(OpenSearchAddRepositoryResponseSchema)` to create a new message. + */ +export const OpenSearchAddRepositoryResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 33); + +/** + * @generated from message exa.opensearch_clients_pb.OpenSearchGetIndexRequest + */ +export type OpenSearchGetIndexRequest = Message<"exa.opensearch_clients_pb.OpenSearchGetIndexRequest"> & { + /** + * @generated from field: string index_id = 1; + */ + indexId: string; +}; + +/** + * Describes the message exa.opensearch_clients_pb.OpenSearchGetIndexRequest. + * Use `create(OpenSearchGetIndexRequestSchema)` to create a new message. + */ +export const OpenSearchGetIndexRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 34); + +/** + * @generated from message exa.opensearch_clients_pb.OpenSearchGetIndexResponse + */ +export type OpenSearchGetIndexResponse = Message<"exa.opensearch_clients_pb.OpenSearchGetIndexResponse"> & { + /** + * @generated from field: exa.index_pb.IndexingStatus status = 1; + */ + status: IndexingStatus; +}; + +/** + * Describes the message exa.opensearch_clients_pb.OpenSearchGetIndexResponse. + * Use `create(OpenSearchGetIndexResponseSchema)` to create a new message. + */ +export const OpenSearchGetIndexResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 35); + +/** + * @generated from message exa.opensearch_clients_pb.HybridSearchRequest + */ +export type HybridSearchRequest = Message<"exa.opensearch_clients_pb.HybridSearchRequest"> & { + /** + * @generated from field: string query = 1; + */ + query: string; + + /** + * @generated from field: exa.codeium_common_pb.Embedding embedding = 2; + */ + embedding?: Embedding | undefined; + + /** + * @generated from field: int64 max_results = 3; + */ + maxResults: bigint; +}; + +/** + * Describes the message exa.opensearch_clients_pb.HybridSearchRequest. + * Use `create(HybridSearchRequestSchema)` to create a new message. + */ +export const HybridSearchRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 36); + +/** + * @generated from message exa.opensearch_clients_pb.HybridSearchResponse + */ +export type HybridSearchResponse = Message<"exa.opensearch_clients_pb.HybridSearchResponse"> & { + /** + * @generated from field: repeated exa.opensearch_clients_pb.CommonDocumentWithScore document_with_scores = 1; + */ + documentWithScores: CommonDocumentWithScore[]; +}; + +/** + * Describes the message exa.opensearch_clients_pb.HybridSearchResponse. + * Use `create(HybridSearchResponseSchema)` to create a new message. + */ +export const HybridSearchResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 37); + +/** + * @generated from message exa.opensearch_clients_pb.GraphSearchRequest + */ +export type GraphSearchRequest = Message<"exa.opensearch_clients_pb.GraphSearchRequest"> & { + /** + * @generated from field: string query = 1; + */ + query: string; + + /** + * @generated from field: exa.codeium_common_pb.Embedding embedding = 2; + */ + embedding?: Embedding | undefined; + + /** + * @generated from field: int64 max_results = 3; + */ + maxResults: bigint; +}; + +/** + * Describes the message exa.opensearch_clients_pb.GraphSearchRequest. + * Use `create(GraphSearchRequestSchema)` to create a new message. + */ +export const GraphSearchRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 38); + +/** + * @generated from message exa.opensearch_clients_pb.GraphSearchResponse + */ +export type GraphSearchResponse = Message<"exa.opensearch_clients_pb.GraphSearchResponse"> & { + /** + * @generated from field: repeated exa.opensearch_clients_pb.CommonDocumentWithScore document_with_scores = 1; + */ + documentWithScores: CommonDocumentWithScore[]; +}; + +/** + * Describes the message exa.opensearch_clients_pb.GraphSearchResponse. + * Use `create(GraphSearchResponseSchema)` to create a new message. + */ +export const GraphSearchResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 39); + +/** + * @generated from message exa.opensearch_clients_pb.ConnectorConfig + */ +export type ConnectorConfig = Message<"exa.opensearch_clients_pb.ConnectorConfig"> & { + /** + * @generated from oneof exa.opensearch_clients_pb.ConnectorConfig.config + */ + config: { + /** + * @generated from field: exa.opensearch_clients_pb.ConnectorConfigSlack slack = 1; + */ + value: ConnectorConfigSlack; + case: "slack"; + } | { + /** + * @generated from field: exa.opensearch_clients_pb.ConnectorConfigGithub github = 2; + */ + value: ConnectorConfigGithub; + case: "github"; + } | { + /** + * @generated from field: exa.opensearch_clients_pb.ConnectorConfigGoogleDrive google_drive = 3; + */ + value: ConnectorConfigGoogleDrive; + case: "googleDrive"; + } | { + /** + * @generated from field: exa.opensearch_clients_pb.ConnectorConfigJira jira = 4; + */ + value: ConnectorConfigJira; + case: "jira"; + } | { case: undefined; value?: undefined }; +}; + +/** + * Describes the message exa.opensearch_clients_pb.ConnectorConfig. + * Use `create(ConnectorConfigSchema)` to create a new message. + */ +export const ConnectorConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 40); + +/** + * @generated from message exa.opensearch_clients_pb.ConnectorConfigSlack + */ +export type ConnectorConfigSlack = Message<"exa.opensearch_clients_pb.ConnectorConfigSlack"> & { + /** + * @generated from field: repeated string include_channel_ids = 3; + */ + includeChannelIds: string[]; + + /** + * @generated from field: repeated string exclude_channel_ids = 4; + */ + excludeChannelIds: string[]; +}; + +/** + * Describes the message exa.opensearch_clients_pb.ConnectorConfigSlack. + * Use `create(ConnectorConfigSlackSchema)` to create a new message. + */ +export const ConnectorConfigSlackSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 41); + +/** + * @generated from message exa.opensearch_clients_pb.ConnectorConfigGithub + */ +export type ConnectorConfigGithub = Message<"exa.opensearch_clients_pb.ConnectorConfigGithub"> & { +}; + +/** + * Describes the message exa.opensearch_clients_pb.ConnectorConfigGithub. + * Use `create(ConnectorConfigGithubSchema)` to create a new message. + */ +export const ConnectorConfigGithubSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 42); + +/** + * @generated from message exa.opensearch_clients_pb.ConnectorConfigGoogleDrive + */ +export type ConnectorConfigGoogleDrive = Message<"exa.opensearch_clients_pb.ConnectorConfigGoogleDrive"> & { + /** + * @generated from field: repeated string include_drive_ids = 2; + */ + includeDriveIds: string[]; + + /** + * @generated from field: repeated string exclude_drive_ids = 3; + */ + excludeDriveIds: string[]; +}; + +/** + * Describes the message exa.opensearch_clients_pb.ConnectorConfigGoogleDrive. + * Use `create(ConnectorConfigGoogleDriveSchema)` to create a new message. + */ +export const ConnectorConfigGoogleDriveSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 43); + +/** + * @generated from message exa.opensearch_clients_pb.ConnectorConfigJira + */ +export type ConnectorConfigJira = Message<"exa.opensearch_clients_pb.ConnectorConfigJira"> & { +}; + +/** + * Describes the message exa.opensearch_clients_pb.ConnectorConfigJira. + * Use `create(ConnectorConfigJiraSchema)` to create a new message. + */ +export const ConnectorConfigJiraSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 44); + +/** + * @generated from message exa.opensearch_clients_pb.ConnectorInternalConfig + */ +export type ConnectorInternalConfig = Message<"exa.opensearch_clients_pb.ConnectorInternalConfig"> & { + /** + * @generated from oneof exa.opensearch_clients_pb.ConnectorInternalConfig.config + */ + config: { + /** + * @generated from field: exa.opensearch_clients_pb.ConnectorInternalConfigSlack slack = 1; + */ + value: ConnectorInternalConfigSlack; + case: "slack"; + } | { + /** + * @generated from field: exa.opensearch_clients_pb.ConnectorInternalConfigGithub github = 2; + */ + value: ConnectorInternalConfigGithub; + case: "github"; + } | { + /** + * @generated from field: exa.opensearch_clients_pb.ConnectorInternalConfigGoogleDrive google_drive = 3; + */ + value: ConnectorInternalConfigGoogleDrive; + case: "googleDrive"; + } | { + /** + * @generated from field: exa.opensearch_clients_pb.ConnectorInternalConfigJira jira = 4; + */ + value: ConnectorInternalConfigJira; + case: "jira"; + } | { case: undefined; value?: undefined }; +}; + +/** + * Describes the message exa.opensearch_clients_pb.ConnectorInternalConfig. + * Use `create(ConnectorInternalConfigSchema)` to create a new message. + */ +export const ConnectorInternalConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 45); + +/** + * @generated from message exa.opensearch_clients_pb.ConnectorInternalConfigSlack + */ +export type ConnectorInternalConfigSlack = Message<"exa.opensearch_clients_pb.ConnectorInternalConfigSlack"> & { + /** + * @generated from field: string client_id = 2; + */ + clientId: string; + + /** + * @generated from field: string client_secret = 3; + */ + clientSecret: string; + + /** + * @generated from field: string signing_secret = 1; + */ + signingSecret: string; +}; + +/** + * Describes the message exa.opensearch_clients_pb.ConnectorInternalConfigSlack. + * Use `create(ConnectorInternalConfigSlackSchema)` to create a new message. + */ +export const ConnectorInternalConfigSlackSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 46); + +/** + * @generated from message exa.opensearch_clients_pb.GithubRepoConfig + */ +export type GithubRepoConfig = Message<"exa.opensearch_clients_pb.GithubRepoConfig"> & { + /** + * @generated from field: string organization = 1; + */ + organization: string; + + /** + * @generated from field: string repository = 2; + */ + repository: string; +}; + +/** + * Describes the message exa.opensearch_clients_pb.GithubRepoConfig. + * Use `create(GithubRepoConfigSchema)` to create a new message. + */ +export const GithubRepoConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 47); + +/** + * @generated from message exa.opensearch_clients_pb.ConnectorInternalConfigGithub + */ +export type ConnectorInternalConfigGithub = Message<"exa.opensearch_clients_pb.ConnectorInternalConfigGithub"> & { + /** + * @generated from field: int64 installation_id = 1; + */ + installationId: bigint; + + /** + * @generated from field: repeated exa.opensearch_clients_pb.GithubRepoConfig repo_configs = 2; + */ + repoConfigs: GithubRepoConfig[]; +}; + +/** + * Describes the message exa.opensearch_clients_pb.ConnectorInternalConfigGithub. + * Use `create(ConnectorInternalConfigGithubSchema)` to create a new message. + */ +export const ConnectorInternalConfigGithubSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 48); + +/** + * @generated from message exa.opensearch_clients_pb.ConnectorInternalConfigGoogleDrive + */ +export type ConnectorInternalConfigGoogleDrive = Message<"exa.opensearch_clients_pb.ConnectorInternalConfigGoogleDrive"> & { +}; + +/** + * Describes the message exa.opensearch_clients_pb.ConnectorInternalConfigGoogleDrive. + * Use `create(ConnectorInternalConfigGoogleDriveSchema)` to create a new message. + */ +export const ConnectorInternalConfigGoogleDriveSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 49); + +/** + * @generated from message exa.opensearch_clients_pb.ConnectorInternalConfigJira + */ +export type ConnectorInternalConfigJira = Message<"exa.opensearch_clients_pb.ConnectorInternalConfigJira"> & { + /** + * @generated from field: int64 webhook_id = 1; + */ + webhookId: bigint; +}; + +/** + * Describes the message exa.opensearch_clients_pb.ConnectorInternalConfigJira. + * Use `create(ConnectorInternalConfigJiraSchema)` to create a new message. + */ +export const ConnectorInternalConfigJiraSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 50); + +/** + * @generated from message exa.opensearch_clients_pb.ConnectKnowledgeBaseAccountRequest + */ +export type ConnectKnowledgeBaseAccountRequest = Message<"exa.opensearch_clients_pb.ConnectKnowledgeBaseAccountRequest"> & { + /** + * @generated from field: exa.index_pb.ManagementMetadata metadata = 7; + */ + metadata?: ManagementMetadata | undefined; + + /** + * @generated from field: exa.opensearch_clients_pb.ConnectorType connector = 2; + */ + connector: ConnectorType; + + /** + * @generated from field: string access_token = 3; + */ + accessToken: string; + + /** + * @generated from field: google.protobuf.Timestamp access_token_expires_at = 4; + */ + accessTokenExpiresAt?: Timestamp | undefined; + + /** + * @generated from field: string refresh_token = 5; + */ + refreshToken: string; + + /** + * @generated from field: google.protobuf.Timestamp refresh_token_expires_at = 6; + */ + refreshTokenExpiresAt?: Timestamp | undefined; + + /** + * @generated from field: exa.opensearch_clients_pb.ConnectorAdditionalParams additional_params = 8; + */ + additionalParams?: ConnectorAdditionalParams | undefined; +}; + +/** + * Describes the message exa.opensearch_clients_pb.ConnectKnowledgeBaseAccountRequest. + * Use `create(ConnectKnowledgeBaseAccountRequestSchema)` to create a new message. + */ +export const ConnectKnowledgeBaseAccountRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 51); + +/** + * @generated from message exa.opensearch_clients_pb.DeleteKnowledgeBaseConnectionRequest + */ +export type DeleteKnowledgeBaseConnectionRequest = Message<"exa.opensearch_clients_pb.DeleteKnowledgeBaseConnectionRequest"> & { + /** + * @generated from field: exa.index_pb.ManagementMetadata metadata = 1; + */ + metadata?: ManagementMetadata | undefined; + + /** + * @generated from field: exa.opensearch_clients_pb.ConnectorType connector = 2; + */ + connector: ConnectorType; +}; + +/** + * Describes the message exa.opensearch_clients_pb.DeleteKnowledgeBaseConnectionRequest. + * Use `create(DeleteKnowledgeBaseConnectionRequestSchema)` to create a new message. + */ +export const DeleteKnowledgeBaseConnectionRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 52); + +/** + * @generated from message exa.opensearch_clients_pb.DeleteKnowledgeBaseConnectionResponse + */ +export type DeleteKnowledgeBaseConnectionResponse = Message<"exa.opensearch_clients_pb.DeleteKnowledgeBaseConnectionResponse"> & { +}; + +/** + * Describes the message exa.opensearch_clients_pb.DeleteKnowledgeBaseConnectionResponse. + * Use `create(DeleteKnowledgeBaseConnectionResponseSchema)` to create a new message. + */ +export const DeleteKnowledgeBaseConnectionResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 53); + +/** + * @generated from message exa.opensearch_clients_pb.UpdateConnectorConfigRequest + */ +export type UpdateConnectorConfigRequest = Message<"exa.opensearch_clients_pb.UpdateConnectorConfigRequest"> & { + /** + * @generated from field: exa.index_pb.ManagementMetadata metadata = 1; + */ + metadata?: ManagementMetadata | undefined; + + /** + * @generated from field: exa.opensearch_clients_pb.ConnectorType connector = 2; + */ + connector: ConnectorType; + + /** + * @generated from field: exa.opensearch_clients_pb.ConnectorConfig config = 3; + */ + config?: ConnectorConfig | undefined; +}; + +/** + * Describes the message exa.opensearch_clients_pb.UpdateConnectorConfigRequest. + * Use `create(UpdateConnectorConfigRequestSchema)` to create a new message. + */ +export const UpdateConnectorConfigRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 54); + +/** + * @generated from message exa.opensearch_clients_pb.UpdateConnectorConfigResponse + */ +export type UpdateConnectorConfigResponse = Message<"exa.opensearch_clients_pb.UpdateConnectorConfigResponse"> & { +}; + +/** + * Describes the message exa.opensearch_clients_pb.UpdateConnectorConfigResponse. + * Use `create(UpdateConnectorConfigResponseSchema)` to create a new message. + */ +export const UpdateConnectorConfigResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 55); + +/** + * @generated from message exa.opensearch_clients_pb.ConnectorAdditionalParams + */ +export type ConnectorAdditionalParams = Message<"exa.opensearch_clients_pb.ConnectorAdditionalParams"> & { + /** + * @generated from oneof exa.opensearch_clients_pb.ConnectorAdditionalParams.config + */ + config: { + /** + * @generated from field: exa.opensearch_clients_pb.ConnectorAdditionalParamsSlack slack = 2; + */ + value: ConnectorAdditionalParamsSlack; + case: "slack"; + } | { + /** + * @generated from field: exa.opensearch_clients_pb.ConnectorAdditionalParamsGithub github = 1; + */ + value: ConnectorAdditionalParamsGithub; + case: "github"; + } | { case: undefined; value?: undefined }; +}; + +/** + * Describes the message exa.opensearch_clients_pb.ConnectorAdditionalParams. + * Use `create(ConnectorAdditionalParamsSchema)` to create a new message. + */ +export const ConnectorAdditionalParamsSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 56); + +/** + * @generated from message exa.opensearch_clients_pb.ConnectorAdditionalParamsSlack + */ +export type ConnectorAdditionalParamsSlack = Message<"exa.opensearch_clients_pb.ConnectorAdditionalParamsSlack"> & { + /** + * @generated from field: string client_id = 1; + */ + clientId: string; + + /** + * @generated from field: string client_secret = 2; + */ + clientSecret: string; + + /** + * @generated from field: string signing_secret = 3; + */ + signingSecret: string; +}; + +/** + * Describes the message exa.opensearch_clients_pb.ConnectorAdditionalParamsSlack. + * Use `create(ConnectorAdditionalParamsSlackSchema)` to create a new message. + */ +export const ConnectorAdditionalParamsSlackSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 57); + +/** + * @generated from message exa.opensearch_clients_pb.ConnectorAdditionalParamsGithub + */ +export type ConnectorAdditionalParamsGithub = Message<"exa.opensearch_clients_pb.ConnectorAdditionalParamsGithub"> & { + /** + * @generated from field: int64 installation_id = 1; + */ + installationId: bigint; +}; + +/** + * Describes the message exa.opensearch_clients_pb.ConnectorAdditionalParamsGithub. + * Use `create(ConnectorAdditionalParamsGithubSchema)` to create a new message. + */ +export const ConnectorAdditionalParamsGithubSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 58); + +/** + * @generated from message exa.opensearch_clients_pb.ConnectKnowledgeBaseAccountResponse + */ +export type ConnectKnowledgeBaseAccountResponse = Message<"exa.opensearch_clients_pb.ConnectKnowledgeBaseAccountResponse"> & { +}; + +/** + * Describes the message exa.opensearch_clients_pb.ConnectKnowledgeBaseAccountResponse. + * Use `create(ConnectKnowledgeBaseAccountResponseSchema)` to create a new message. + */ +export const ConnectKnowledgeBaseAccountResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 59); + +/** + * @generated from message exa.opensearch_clients_pb.CancelKnowledgeBaseJobsRequest + */ +export type CancelKnowledgeBaseJobsRequest = Message<"exa.opensearch_clients_pb.CancelKnowledgeBaseJobsRequest"> & { + /** + * @generated from field: exa.index_pb.ManagementMetadata metadata = 1; + */ + metadata?: ManagementMetadata | undefined; + + /** + * @generated from field: repeated int64 job_ids = 2; + */ + jobIds: bigint[]; +}; + +/** + * Describes the message exa.opensearch_clients_pb.CancelKnowledgeBaseJobsRequest. + * Use `create(CancelKnowledgeBaseJobsRequestSchema)` to create a new message. + */ +export const CancelKnowledgeBaseJobsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 60); + +/** + * @generated from message exa.opensearch_clients_pb.CancelKnowledgeBaseJobsResponse + */ +export type CancelKnowledgeBaseJobsResponse = Message<"exa.opensearch_clients_pb.CancelKnowledgeBaseJobsResponse"> & { +}; + +/** + * Describes the message exa.opensearch_clients_pb.CancelKnowledgeBaseJobsResponse. + * Use `create(CancelKnowledgeBaseJobsResponseSchema)` to create a new message. + */ +export const CancelKnowledgeBaseJobsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 61); + +/** + * @generated from message exa.opensearch_clients_pb.DocumentTypeCount + */ +export type DocumentTypeCount = Message<"exa.opensearch_clients_pb.DocumentTypeCount"> & { + /** + * @generated from field: exa.codeium_common_pb.DocumentType document_type = 1; + */ + documentType: DocumentType; + + /** + * @generated from field: int64 count = 2; + */ + count: bigint; +}; + +/** + * Describes the message exa.opensearch_clients_pb.DocumentTypeCount. + * Use `create(DocumentTypeCountSchema)` to create a new message. + */ +export const DocumentTypeCountSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 62); + +/** + * @generated from message exa.opensearch_clients_pb.ConnectorState + */ +export type ConnectorState = Message<"exa.opensearch_clients_pb.ConnectorState"> & { + /** + * @generated from field: exa.opensearch_clients_pb.ConnectorType connector = 1; + */ + connector: ConnectorType; + + /** + * @generated from field: bool initialized = 2; + */ + initialized: boolean; + + /** + * @generated from field: exa.opensearch_clients_pb.ConnectorConfig config = 3; + */ + config?: ConnectorConfig | undefined; + + /** + * @generated from field: repeated exa.opensearch_clients_pb.DocumentTypeCount document_type_counts = 4; + */ + documentTypeCounts: DocumentTypeCount[]; + + /** + * @generated from field: google.protobuf.Timestamp last_indexed_at = 5; + */ + lastIndexedAt?: Timestamp | undefined; + + /** + * @generated from field: google.protobuf.Timestamp unhealthy_since = 6; + */ + unhealthySince?: Timestamp | undefined; + + /** + * @generated from field: google.protobuf.Timestamp last_configured_at = 7; + */ + lastConfiguredAt?: Timestamp | undefined; +}; + +/** + * Describes the message exa.opensearch_clients_pb.ConnectorState. + * Use `create(ConnectorStateSchema)` to create a new message. + */ +export const ConnectorStateSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 63); + +/** + * @generated from message exa.opensearch_clients_pb.GetKnowledgeBaseConnectorStateRequest + */ +export type GetKnowledgeBaseConnectorStateRequest = Message<"exa.opensearch_clients_pb.GetKnowledgeBaseConnectorStateRequest"> & { + /** + * @generated from field: exa.index_pb.ManagementMetadata metadata = 1; + */ + metadata?: ManagementMetadata | undefined; +}; + +/** + * Describes the message exa.opensearch_clients_pb.GetKnowledgeBaseConnectorStateRequest. + * Use `create(GetKnowledgeBaseConnectorStateRequestSchema)` to create a new message. + */ +export const GetKnowledgeBaseConnectorStateRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 64); + +/** + * @generated from message exa.opensearch_clients_pb.GetKnowledgeBaseConnectorStateResponse + */ +export type GetKnowledgeBaseConnectorStateResponse = Message<"exa.opensearch_clients_pb.GetKnowledgeBaseConnectorStateResponse"> & { + /** + * @generated from field: repeated exa.opensearch_clients_pb.ConnectorState connector_states = 1; + */ + connectorStates: ConnectorState[]; +}; + +/** + * Describes the message exa.opensearch_clients_pb.GetKnowledgeBaseConnectorStateResponse. + * Use `create(GetKnowledgeBaseConnectorStateResponseSchema)` to create a new message. + */ +export const GetKnowledgeBaseConnectorStateResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 65); + +/** + * @generated from message exa.opensearch_clients_pb.JobState + */ +export type JobState = Message<"exa.opensearch_clients_pb.JobState"> & { + /** + * @generated from field: exa.opensearch_clients_pb.ConnectorType connector = 1; + */ + connector: ConnectorType; + + /** + * @generated from field: int64 id = 2; + */ + id: bigint; + + /** + * @generated from field: exa.opensearch_clients_pb.JobStatus status = 3; + */ + status: JobStatus; +}; + +/** + * Describes the message exa.opensearch_clients_pb.JobState. + * Use `create(JobStateSchema)` to create a new message. + */ +export const JobStateSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 66); + +/** + * @generated from message exa.opensearch_clients_pb.GetKnowledgeBaseJobStatesRequest + */ +export type GetKnowledgeBaseJobStatesRequest = Message<"exa.opensearch_clients_pb.GetKnowledgeBaseJobStatesRequest"> & { + /** + * @generated from field: exa.index_pb.ManagementMetadata metadata = 1; + */ + metadata?: ManagementMetadata | undefined; + + /** + * @generated from field: repeated exa.opensearch_clients_pb.ConnectorType connector_types = 2; + */ + connectorTypes: ConnectorType[]; +}; + +/** + * Describes the message exa.opensearch_clients_pb.GetKnowledgeBaseJobStatesRequest. + * Use `create(GetKnowledgeBaseJobStatesRequestSchema)` to create a new message. + */ +export const GetKnowledgeBaseJobStatesRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 67); + +/** + * @generated from message exa.opensearch_clients_pb.GetKnowledgeBaseJobStatesResponse + */ +export type GetKnowledgeBaseJobStatesResponse = Message<"exa.opensearch_clients_pb.GetKnowledgeBaseJobStatesResponse"> & { + /** + * @generated from field: repeated exa.opensearch_clients_pb.JobState job_states = 1; + */ + jobStates: JobState[]; +}; + +/** + * Describes the message exa.opensearch_clients_pb.GetKnowledgeBaseJobStatesResponse. + * Use `create(GetKnowledgeBaseJobStatesResponseSchema)` to create a new message. + */ +export const GetKnowledgeBaseJobStatesResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 68); + +/** + * @generated from message exa.opensearch_clients_pb.SlackMessagePayload + */ +export type SlackMessagePayload = Message<"exa.opensearch_clients_pb.SlackMessagePayload"> & { + /** + * @generated from field: string dataset_id = 1; + */ + datasetId: string; + + /** + * @generated from field: string previous_message_dataset_id = 2; + */ + previousMessageDatasetId: string; + + /** + * @generated from field: string type = 3; + */ + type: string; + + /** + * @generated from field: string channel_id = 4; + */ + channelId: string; + + /** + * @generated from field: string user = 5; + */ + user: string; + + /** + * @generated from field: string text = 6; + */ + text: string; + + /** + * @generated from field: string timestamp = 7; + */ + timestamp: string; + + /** + * @generated from field: string thread_timestamp = 8; + */ + threadTimestamp: string; + + /** + * @generated from field: string channel_name = 9; + */ + channelName: string; + + /** + * @generated from field: string team_name = 10; + */ + teamName: string; + + /** + * @generated from field: string team_id = 11; + */ + teamId: string; + + /** + * @generated from field: bool is_private_channel = 12; + */ + isPrivateChannel: boolean; + + /** + * @generated from field: string team_domain = 13; + */ + teamDomain: string; + + /** + * @generated from field: string original_timestamp = 14; + */ + originalTimestamp: string; +}; + +/** + * Describes the message exa.opensearch_clients_pb.SlackMessagePayload. + * Use `create(SlackMessagePayloadSchema)` to create a new message. + */ +export const SlackMessagePayloadSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 69); + +/** + * @generated from message exa.opensearch_clients_pb.SlackChannelPayload + */ +export type SlackChannelPayload = Message<"exa.opensearch_clients_pb.SlackChannelPayload"> & { + /** + * @generated from field: string type = 1; + */ + type: string; + + /** + * @generated from field: string channel_id = 2; + */ + channelId: string; + + /** + * @generated from field: string channel_name = 4; + */ + channelName: string; + + /** + * @generated from field: string description = 7; + */ + description: string; + + /** + * @generated from field: string team_id = 8; + */ + teamId: string; + + /** + * @generated from field: bool is_private_channel = 9; + */ + isPrivateChannel: boolean; +}; + +/** + * Describes the message exa.opensearch_clients_pb.SlackChannelPayload. + * Use `create(SlackChannelPayloadSchema)` to create a new message. + */ +export const SlackChannelPayloadSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 70); + +/** + * @generated from message exa.opensearch_clients_pb.SlackPayload + */ +export type SlackPayload = Message<"exa.opensearch_clients_pb.SlackPayload"> & { + /** + * @generated from oneof exa.opensearch_clients_pb.SlackPayload.payload + */ + payload: { + /** + * @generated from field: exa.opensearch_clients_pb.SlackMessagePayload message = 13; + */ + value: SlackMessagePayload; + case: "message"; + } | { + /** + * @generated from field: exa.opensearch_clients_pb.SlackChannelPayload channel = 14; + */ + value: SlackChannelPayload; + case: "channel"; + } | { case: undefined; value?: undefined }; +}; + +/** + * Describes the message exa.opensearch_clients_pb.SlackPayload. + * Use `create(SlackPayloadSchema)` to create a new message. + */ +export const SlackPayloadSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 71); + +/** + * @generated from message exa.opensearch_clients_pb.GetKnowledgeBaseWebhookUrlRequest + */ +export type GetKnowledgeBaseWebhookUrlRequest = Message<"exa.opensearch_clients_pb.GetKnowledgeBaseWebhookUrlRequest"> & { + /** + * @generated from field: exa.index_pb.ManagementMetadata metadata = 1; + */ + metadata?: ManagementMetadata | undefined; +}; + +/** + * Describes the message exa.opensearch_clients_pb.GetKnowledgeBaseWebhookUrlRequest. + * Use `create(GetKnowledgeBaseWebhookUrlRequestSchema)` to create a new message. + */ +export const GetKnowledgeBaseWebhookUrlRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 72); + +/** + * @generated from message exa.opensearch_clients_pb.GetKnowledgeBaseWebhookUrlResponse + */ +export type GetKnowledgeBaseWebhookUrlResponse = Message<"exa.opensearch_clients_pb.GetKnowledgeBaseWebhookUrlResponse"> & { + /** + * @generated from field: string webhook_url = 1; + */ + webhookUrl: string; +}; + +/** + * Describes the message exa.opensearch_clients_pb.GetKnowledgeBaseWebhookUrlResponse. + * Use `create(GetKnowledgeBaseWebhookUrlResponseSchema)` to create a new message. + */ +export const GetKnowledgeBaseWebhookUrlResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 73); + +/** + * @generated from message exa.opensearch_clients_pb.GetConnectorInternalConfigRequest + */ +export type GetConnectorInternalConfigRequest = Message<"exa.opensearch_clients_pb.GetConnectorInternalConfigRequest"> & { + /** + * @generated from field: exa.opensearch_clients_pb.ConnectorType connector = 1; + */ + connector: ConnectorType; +}; + +/** + * Describes the message exa.opensearch_clients_pb.GetConnectorInternalConfigRequest. + * Use `create(GetConnectorInternalConfigRequestSchema)` to create a new message. + */ +export const GetConnectorInternalConfigRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 74); + +/** + * @generated from message exa.opensearch_clients_pb.GetConnectorInternalConfigResponse + */ +export type GetConnectorInternalConfigResponse = Message<"exa.opensearch_clients_pb.GetConnectorInternalConfigResponse"> & { + /** + * @generated from field: exa.opensearch_clients_pb.ConnectorInternalConfig internal_config = 1; + */ + internalConfig?: ConnectorInternalConfig | undefined; +}; + +/** + * Describes the message exa.opensearch_clients_pb.GetConnectorInternalConfigResponse. + * Use `create(GetConnectorInternalConfigResponseSchema)` to create a new message. + */ +export const GetConnectorInternalConfigResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_opensearch_clients_pb_opensearch_clients, 75); + +/** + * @generated from enum exa.opensearch_clients_pb.SearchMode + */ +export enum SearchMode { + /** + * @generated from enum value: SEARCH_MODE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: SEARCH_MODE_HYBRID = 1; + */ + HYBRID = 1, + + /** + * @generated from enum value: SEARCH_MODE_KEYWORD = 2; + */ + KEYWORD = 2, + + /** + * @generated from enum value: SEARCH_MODE_APPROXIMATE_KNN = 3; + */ + APPROXIMATE_KNN = 3, + + /** + * @generated from enum value: SEARCH_MODE_BRUTE_FORCE_KNN = 4; + */ + BRUTE_FORCE_KNN = 4, +} + +/** + * Describes the enum exa.opensearch_clients_pb.SearchMode. + */ +export const SearchModeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_opensearch_clients_pb_opensearch_clients, 0); + +/** + * @generated from enum exa.opensearch_clients_pb.ForwardStatus + */ +export enum ForwardStatus { + /** + * @generated from enum value: FORWARD_STATUS_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: FORWARD_STATUS_FAILURE = 1; + */ + FAILURE = 1, + + /** + * @generated from enum value: FORWARD_STATUS_SAVED = 2; + */ + SAVED = 2, + + /** + * @generated from enum value: FORWARD_STATUS_SUCCESS = 3; + */ + SUCCESS = 3, +} + +/** + * Describes the enum exa.opensearch_clients_pb.ForwardStatus. + */ +export const ForwardStatusSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_opensearch_clients_pb_opensearch_clients, 1); + +/** + * @generated from enum exa.opensearch_clients_pb.ConnectorType + */ +export enum ConnectorType { + /** + * @generated from enum value: CONNECTOR_TYPE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: CONNECTOR_TYPE_GITHUB = 1; + */ + GITHUB = 1, + + /** + * @generated from enum value: CONNECTOR_TYPE_SLACK = 2; + */ + SLACK = 2, + + /** + * @generated from enum value: CONNECTOR_TYPE_GOOGLE_DRIVE = 3; + */ + GOOGLE_DRIVE = 3, + + /** + * @generated from enum value: CONNECTOR_TYPE_JIRA = 4; + */ + JIRA = 4, + + /** + * @generated from enum value: CONNECTOR_TYPE_CODEIUM = 5; + */ + CODEIUM = 5, + + /** + * @generated from enum value: CONNECTOR_TYPE_EMAIL = 6; + */ + EMAIL = 6, + + /** + * @generated from enum value: CONNECTOR_TYPE_GITHUB_OAUTH = 7; + */ + GITHUB_OAUTH = 7, +} + +/** + * Describes the enum exa.opensearch_clients_pb.ConnectorType. + */ +export const ConnectorTypeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_opensearch_clients_pb_opensearch_clients, 2); + +/** + * @generated from enum exa.opensearch_clients_pb.JobStatus + */ +export enum JobStatus { + /** + * @generated from enum value: JOB_STATUS_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: JOB_STATUS_QUEUED = 1; + */ + QUEUED = 1, + + /** + * @generated from enum value: JOB_STATUS_RUNNING = 2; + */ + RUNNING = 2, + + /** + * @generated from enum value: JOB_STATUS_COMPLETED = 3; + */ + COMPLETED = 3, + + /** + * @generated from enum value: JOB_STATUS_CANCELLED = 4; + */ + CANCELLED = 4, + + /** + * @generated from enum value: JOB_STATUS_CANCELLING = 5; + */ + CANCELLING = 5, + + /** + * @generated from enum value: JOB_STATUS_ERRORED = 6; + */ + ERRORED = 6, + + /** + * @generated from enum value: JOB_STATUS_RETRYABLE = 7; + */ + RETRYABLE = 7, +} + +/** + * Describes the enum exa.opensearch_clients_pb.JobStatus. + */ +export const JobStatusSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_opensearch_clients_pb_opensearch_clients, 3); + +/** + * @generated from service exa.opensearch_clients_pb.KnowledgeBaseService + */ +export const KnowledgeBaseService: GenService<{ + /** + * @generated from rpc exa.opensearch_clients_pb.KnowledgeBaseService.KnowledgeBaseSearch + */ + knowledgeBaseSearch: { + methodKind: "unary"; + input: typeof KnowledgeBaseSearchRequestSchema; + output: typeof KnowledgeBaseSearchResponseSchema; + }, + /** + * @generated from rpc exa.opensearch_clients_pb.KnowledgeBaseService.GetKnowledgeBaseScopeItems + */ + getKnowledgeBaseScopeItems: { + methodKind: "unary"; + input: typeof GetKnowledgeBaseScopeItemsRequestSchema; + output: typeof GetKnowledgeBaseScopeItemsResponseSchema; + }, + /** + * @generated from rpc exa.opensearch_clients_pb.KnowledgeBaseService.GetKnowledgeBaseItemsFromScopeItems + */ + getKnowledgeBaseItemsFromScopeItems: { + methodKind: "unary"; + input: typeof GetKnowledgeBaseItemsFromScopeItemsRequestSchema; + output: typeof GetKnowledgeBaseItemsFromScopeItemsResponseSchema; + }, + /** + * @generated from rpc exa.opensearch_clients_pb.KnowledgeBaseService.IngestSlackData + */ + ingestSlackData: { + methodKind: "unary"; + input: typeof IngestSlackDataRequestSchema; + output: typeof IngestSlackDataResponseSchema; + }, + /** + * @generated from rpc exa.opensearch_clients_pb.KnowledgeBaseService.IngestGithubData + */ + ingestGithubData: { + methodKind: "unary"; + input: typeof IngestGithubDataRequestSchema; + output: typeof IngestGithubDataResponseSchema; + }, + /** + * @generated from rpc exa.opensearch_clients_pb.KnowledgeBaseService.IngestGoogleDriveData + */ + ingestGoogleDriveData: { + methodKind: "unary"; + input: typeof IngestGoogleDriveDataRequestSchema; + output: typeof IngestGoogleDriveDataResponseSchema; + }, + /** + * @generated from rpc exa.opensearch_clients_pb.KnowledgeBaseService.IngestJiraData + */ + ingestJiraData: { + methodKind: "unary"; + input: typeof IngestJiraDataRequestSchema; + output: typeof IngestJiraDataResponseSchema; + }, + /** + * @generated from rpc exa.opensearch_clients_pb.KnowledgeBaseService.IngestJiraPayload + */ + ingestJiraPayload: { + methodKind: "unary"; + input: typeof IngestJiraPayloadRequestSchema; + output: typeof IngestJiraPayloadResponseSchema; + }, + /** + * @generated from rpc exa.opensearch_clients_pb.KnowledgeBaseService.ForwardSlackPayload + */ + forwardSlackPayload: { + methodKind: "unary"; + input: typeof ForwardSlackPayloadRequestSchema; + output: typeof ForwardSlackPayloadResponseSchema; + }, + /** + * @generated from rpc exa.opensearch_clients_pb.KnowledgeBaseService.IngestSlackPayload + */ + ingestSlackPayload: { + methodKind: "unary"; + input: typeof IngestSlackPayloadRequestSchema; + output: typeof IngestSlackPayloadResponseSchema; + }, + /** + * @generated from rpc exa.opensearch_clients_pb.KnowledgeBaseService.ConnectKnowledgeBaseAccount + */ + connectKnowledgeBaseAccount: { + methodKind: "unary"; + input: typeof ConnectKnowledgeBaseAccountRequestSchema; + output: typeof ConnectKnowledgeBaseAccountResponseSchema; + }, + /** + * @generated from rpc exa.opensearch_clients_pb.KnowledgeBaseService.DeleteKnowledgeBaseConnection + */ + deleteKnowledgeBaseConnection: { + methodKind: "unary"; + input: typeof DeleteKnowledgeBaseConnectionRequestSchema; + output: typeof DeleteKnowledgeBaseConnectionResponseSchema; + }, + /** + * @generated from rpc exa.opensearch_clients_pb.KnowledgeBaseService.UpdateConnectorConfig + */ + updateConnectorConfig: { + methodKind: "unary"; + input: typeof UpdateConnectorConfigRequestSchema; + output: typeof UpdateConnectorConfigResponseSchema; + }, + /** + * @generated from rpc exa.opensearch_clients_pb.KnowledgeBaseService.CancelKnowledgeBaseJobs + */ + cancelKnowledgeBaseJobs: { + methodKind: "unary"; + input: typeof CancelKnowledgeBaseJobsRequestSchema; + output: typeof CancelKnowledgeBaseJobsResponseSchema; + }, + /** + * @generated from rpc exa.opensearch_clients_pb.KnowledgeBaseService.GetKnowledgeBaseConnectorState + */ + getKnowledgeBaseConnectorState: { + methodKind: "unary"; + input: typeof GetKnowledgeBaseConnectorStateRequestSchema; + output: typeof GetKnowledgeBaseConnectorStateResponseSchema; + }, + /** + * @generated from rpc exa.opensearch_clients_pb.KnowledgeBaseService.GetKnowledgeBaseJobStates + */ + getKnowledgeBaseJobStates: { + methodKind: "unary"; + input: typeof GetKnowledgeBaseJobStatesRequestSchema; + output: typeof GetKnowledgeBaseJobStatesResponseSchema; + }, + /** + * @generated from rpc exa.opensearch_clients_pb.KnowledgeBaseService.AddUsers + */ + addUsers: { + methodKind: "unary"; + input: typeof AddUsersRequestSchema; + output: typeof AddUsersResponseSchema; + }, + /** + * @generated from rpc exa.opensearch_clients_pb.KnowledgeBaseService.AddGithubUsers + */ + addGithubUsers: { + methodKind: "unary"; + input: typeof AddGithubUsersRequestSchema; + output: typeof AddGithubUsersResponseSchema; + }, + /** + * @generated from rpc exa.opensearch_clients_pb.KnowledgeBaseService.GetKnowledgeBaseWebhookUrl + */ + getKnowledgeBaseWebhookUrl: { + methodKind: "unary"; + input: typeof GetKnowledgeBaseWebhookUrlRequestSchema; + output: typeof GetKnowledgeBaseWebhookUrlResponseSchema; + }, + /** + * @generated from rpc exa.opensearch_clients_pb.KnowledgeBaseService.GetConnectorInternalConfig + */ + getConnectorInternalConfig: { + methodKind: "unary"; + input: typeof GetConnectorInternalConfigRequestSchema; + output: typeof GetConnectorInternalConfigResponseSchema; + }, +}> = /*@__PURE__*/ + serviceDesc(file_exa_opensearch_clients_pb_opensearch_clients, 0); + +/** + * @generated from service exa.opensearch_clients_pb.CodeIndexService + */ +export const CodeIndexService: GenService<{ + /** + * @generated from rpc exa.opensearch_clients_pb.CodeIndexService.OpenSearchAddRepository + */ + openSearchAddRepository: { + methodKind: "unary"; + input: typeof OpenSearchAddRepositoryRequestSchema; + output: typeof OpenSearchAddRepositoryResponseSchema; + }, + /** + * @generated from rpc exa.opensearch_clients_pb.CodeIndexService.OpenSearchGetIndex + */ + openSearchGetIndex: { + methodKind: "unary"; + input: typeof OpenSearchGetIndexRequestSchema; + output: typeof OpenSearchGetIndexResponseSchema; + }, + /** + * @generated from rpc exa.opensearch_clients_pb.CodeIndexService.HybridSearch + */ + hybridSearch: { + methodKind: "unary"; + input: typeof HybridSearchRequestSchema; + output: typeof HybridSearchResponseSchema; + }, + /** + * @generated from rpc exa.opensearch_clients_pb.CodeIndexService.GraphSearch + */ + graphSearch: { + methodKind: "unary"; + input: typeof GraphSearchRequestSchema; + output: typeof GraphSearchResponseSchema; + }, +}> = /*@__PURE__*/ + serviceDesc(file_exa_opensearch_clients_pb_opensearch_clients, 1); + diff --git a/packages/catalog/src/discovery/devin-gen/exa/prompt_pb/prompt_pb.ts b/packages/catalog/src/discovery/devin-gen/exa/prompt_pb/prompt_pb.ts new file mode 100644 index 000000000..e0babf6ba --- /dev/null +++ b/packages/catalog/src/discovery/devin-gen/exa/prompt_pb/prompt_pb.ts @@ -0,0 +1,361 @@ +// @generated by protoc-gen-es v2.12.0 with parameter "target=ts" +// @generated from file exa/prompt_pb/prompt.proto (package exa.prompt_pb, syntax proto3) +/* eslint-disable */ + +import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2"; +import { fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2"; +import type { ChatMessage, DeepWikiContext, DeepWikiSymbolContext } from "../chat_pb/chat_pb"; +import { file_exa_chat_pb_chat } from "../chat_pb/chat_pb"; +import type { CodeDiagnostic, CommandRequestSource, Document, IntellisenseSuggestion, TerminalCommandData, TerminalShellCommand } from "../codeium_common_pb/codeium_common_pb"; +import { file_exa_codeium_common_pb_codeium_common } from "../codeium_common_pb/codeium_common_pb"; +import type { ContextModuleResult } from "../context_module_pb/context_module_pb"; +import { file_exa_context_module_pb_context_module } from "../context_module_pb/context_module_pb"; +import type { CortexStepType, CortexTrajectory } from "../cortex_pb/cortex_pb"; +import { file_exa_cortex_pb_cortex } from "../cortex_pb/cortex_pb"; +import type { HandleStreamingTabV2Response_Diff, HandleStreamingTabV2Response_TabJump } from "../language_server_pb/language_server_pb"; +import { file_exa_language_server_pb_language_server } from "../language_server_pb/language_server_pb"; +import type { Message } from "@bufbuild/protobuf"; + +/** + * Describes the file exa/prompt_pb/prompt.proto. + */ +export const file_exa_prompt_pb_prompt: GenFile = /*@__PURE__*/ + fileDesc("ChpleGEvcHJvbXB0X3BiL3Byb21wdC5wcm90bxINZXhhLnByb21wdF9wYiI5Cg5QZW5kaW5nQ29tbWFuZBITCgtpbnN0cnVjdGlvbhgBIAEoCRISCgpjb21wbGV0aW9uGAIgASgJIs4EChFDb21tYW5kSW50ZW50SW5mbxIRCglzZWxlY3Rpb24YASABKAkSEwoLaW5zdHJ1Y3Rpb24YAiABKAkSNwoOaW5wdXRfZG9jdW1lbnQYAyABKAsyHy5leGEuY29kZWl1bV9jb21tb25fcGIuRG9jdW1lbnQSHAoUc2VsZWN0aW9uX3N0YXJ0X2xpbmUYBCABKAQSGgoSc2VsZWN0aW9uX2VuZF9saW5lGAUgASgEEkkKFXRlcm1pbmFsX2NvbW1hbmRfZGF0YRgGIAEoCzIqLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5UZXJtaW5hbENvbW1hbmREYXRhEkYKEXByZXZpb3VzX2NvbW1hbmRzGAcgAygLMisuZXhhLmNvZGVpdW1fY29tbW9uX3BiLlRlcm1pbmFsU2hlbGxDb21tYW5kEjcKEHBlbmRpbmdfY29tbWFuZHMYCCADKAsyHS5leGEucHJvbXB0X3BiLlBlbmRpbmdDb21tYW5kEkMKDnJlcXVlc3Rfc291cmNlGAkgASgOMisuZXhhLmNvZGVpdW1fY29tbW9uX3BiLkNvbW1hbmRSZXF1ZXN0U291cmNlEkoKE2ludGVsbGlzZW5zZV9wcm9tcHQYCiADKAsyLS5leGEuY29kZWl1bV9jb21tb25fcGIuSW50ZWxsaXNlbnNlU3VnZ2VzdGlvbhJBChJkaWFnbm9zdGljc19wcm9tcHQYCyADKAsyJS5leGEuY29kZWl1bV9jb21tb25fcGIuQ29kZURpYWdub3N0aWMioAIKFVN1cGVyY29tcGxldGVGZWVkYmFjaxIQCghhY2NlcHRlZBgBIAEoCBIaChJpbnRlbnRpb25hbF9yZWplY3QYAiABKAgSFQoNY29tcGxldGlvbl9pZBgDIAEoCRIUCgx0aW1lc3RhbXBfbXMYBCABKAMSUgoPZGlmZl9zdWdnZXN0aW9uGAUgASgLMjkuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5IYW5kbGVTdHJlYW1pbmdUYWJWMlJlc3BvbnNlLkRpZmYSWAoSdGFianVtcF9zdWdnZXN0aW9uGAYgASgLMjwuZXhhLmxhbmd1YWdlX3NlcnZlcl9wYi5IYW5kbGVTdHJlYW1pbmdUYWJWMlJlc3BvbnNlLlRhYkp1bXAiVgocU3VwZXJjb21wbGV0ZUZlZWRiYWNrQ29udGV4dBI2CghmZWVkYmFjaxgBIAMoCzIkLmV4YS5wcm9tcHRfcGIuU3VwZXJjb21wbGV0ZUZlZWRiYWNrIrUFChdVbmlmaWVkUHJvbXB0Q29tcG9uZW50cxJJChVjb250ZXh0X21vZHVsZV9yZXN1bHQYAiABKAsyKi5leGEuY29udGV4dF9tb2R1bGVfcGIuQ29udGV4dE1vZHVsZVJlc3VsdBI6ChFjb3J0ZXhfdHJhamVjdG9yeRgDIAEoCzIfLmV4YS5jb3J0ZXhfcGIuQ29ydGV4VHJhamVjdG9yeRI9ChNjb21tYW5kX2ludGVudF9pbmZvGAQgASgLMiAuZXhhLnByb21wdF9wYi5Db21tYW5kSW50ZW50SW5mbxIvCg1jaGF0X21lc3NhZ2VzGAEgAygLMhguZXhhLmNoYXRfcGIuQ2hhdE1lc3NhZ2USPwoQY29kZV9kaWFnbm9zdGljcxgFIAMoCzIlLmV4YS5jb2RlaXVtX2NvbW1vbl9wYi5Db2RlRGlhZ25vc3RpYxI4Cg9vdGhlcl9kb2N1bWVudHMYCSADKAsyHy5leGEuY29kZWl1bV9jb21tb25fcGIuRG9jdW1lbnQSQQoRZGVlcF93aWtpX2NvbnRleHQYCiABKAsyIi5leGEuY2hhdF9wYi5EZWVwV2lraVN5bWJvbENvbnRleHRCAhgBEjoKFGRlZXBfd2lraV9jb250ZXh0X3YyGAsgASgLMhwuZXhhLmNoYXRfcGIuRGVlcFdpa2lDb250ZXh0ElMKHnN1cGVyY29tcGxldGVfZmVlZGJhY2tfY29udGV4dBgMIAEoCzIrLmV4YS5wcm9tcHRfcGIuU3VwZXJjb21wbGV0ZUZlZWRiYWNrQ29udGV4dEoECAYQB0oECAcQCEoECAgQCVIVa25vd2xlZGdlX2Jhc2VfcmVzdWx0UhRrbm93bGVkZ2VfYmFzZV9pdGVtc1IVa25vd2xlZGdlX2Jhc2VfZ3JvdXBzIjsKHlN5c3RlbVByb21wdENvbnN0cnVjdGlvbkNvbmZpZxIZChFlbGVtZW50X3NlcGFyYXRvchgBIAEoCSJUChhDb21tYW5kUHJvbXB0Q2FjaGVDb25maWcSGQoRbWF4X3RyYWNrZWRfZmlsZXMYASABKAMSHQoVbWF4X2NhY2hlX2FnZV9zZWNvbmRzGAIgASgDItYHChZDdW11bGF0aXZlUHJvbXB0Q29uZmlnEiUKHXBlcnNpc3RlbnRfY29udGV4dF9tdWx0aXBsaWVyGAcgASgCEi0KJXBlcnNpc3RlbnRfYWN0aXZlX2RvY3VtZW50X211bHRpcGxpZXIYCiABKAISJwofcGVyc2lzdGVudF9vcGVuX2RvY3NfbXVsdGlwbGllchgLIAEoAhIqCiJwZXJzaXN0ZW50X21heF90b2tlbnNfcGVyX29wZW5fZG9jGBEgASgDEiYKHnBlcnNpc3RlbnRfbWF4X2NjaXNfY29uc2lkZXJlZBgMIAEoAxInCh9wZXJzaXN0ZW50X2RvY3VtZW50X3N1ZmZpeF9mcmFjGBQgASgCEiUKHXRyYWplY3RvcnlfY29udGV4dF9tdWx0aXBsaWVyGAIgASgCEi8KJ3RyYWplY3RvcnlfcmVmcmVzaF90aHJlc2hvbGRfbXVsdGlwbGllchgPIAEoAhIoCiB0cmFqZWN0b3J5X3RydW5jYXRpb25fbXVsdGlwbGllchgQIAEoAhIkChxlcGhlbWVyYWxfY29udGV4dF9tdWx0aXBsaWVyGAkgASgCEiEKGWludGVudF9yZXNlcnZhdGlvbl90b2tlbnMYBiABKAMSLAokZXBoZW1lcmFsX2FjdGl2ZV9kb2N1bWVudF9tdWx0aXBsaWVyGA0gASgCEiUKHWVwaGVtZXJhbF9tYXhfY2Npc19jb25zaWRlcmVkGA4gASgDEiYKHmVwaGVtZXJhbF9kb2N1bWVudF9zdWZmaXhfZnJhYxgVIAEoAhJBChphbGxvd2VkX2Nhc2NhZGVfc3RlcF90eXBlcxgSIAMoDjIdLmV4YS5jb3J0ZXhfcGIuQ29ydGV4U3RlcFR5cGUSaAobYWxsb3dlZF9pbXBsaWNpdF9zdGVwX3R5cGVzGBYgAygLMkMuZXhhLnByb21wdF9wYi5DdW11bGF0aXZlUHJvbXB0Q29uZmlnLkFsbG93ZWRJbXBsaWNpdFN0ZXBUeXBlc0VudHJ5Gj8KHUFsbG93ZWRJbXBsaWNpdFN0ZXBUeXBlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCDoCOAFKBAgBEAJKBAgDEARKBAgEEAVKBAgFEAZSImFjdGl2ZV9kb2N1bWVudF9jb250ZXh0X211bHRpcGxpZXJSH2NvbnRleHRfaXRlbV9jb250ZXh0X211bHRpcGxpZXJSGGNhY2hlX2NvbnRleHRfbXVsdGlwbGllclITbWF4X2NjaXNfY29uc2lkZXJlZGIGcHJvdG8z", [file_exa_chat_pb_chat, file_exa_codeium_common_pb_codeium_common, file_exa_context_module_pb_context_module, file_exa_cortex_pb_cortex, file_exa_language_server_pb_language_server]); + +/** + * @generated from message exa.prompt_pb.PendingCommand + */ +export type PendingCommand = Message<"exa.prompt_pb.PendingCommand"> & { + /** + * @generated from field: string instruction = 1; + */ + instruction: string; + + /** + * @generated from field: string completion = 2; + */ + completion: string; +}; + +/** + * Describes the message exa.prompt_pb.PendingCommand. + * Use `create(PendingCommandSchema)` to create a new message. + */ +export const PendingCommandSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_prompt_pb_prompt, 0); + +/** + * @generated from message exa.prompt_pb.CommandIntentInfo + */ +export type CommandIntentInfo = Message<"exa.prompt_pb.CommandIntentInfo"> & { + /** + * @generated from field: string selection = 1; + */ + selection: string; + + /** + * @generated from field: string instruction = 2; + */ + instruction: string; + + /** + * @generated from field: exa.codeium_common_pb.Document input_document = 3; + */ + inputDocument?: Document | undefined; + + /** + * @generated from field: uint64 selection_start_line = 4; + */ + selectionStartLine: bigint; + + /** + * @generated from field: uint64 selection_end_line = 5; + */ + selectionEndLine: bigint; + + /** + * @generated from field: exa.codeium_common_pb.TerminalCommandData terminal_command_data = 6; + */ + terminalCommandData?: TerminalCommandData | undefined; + + /** + * @generated from field: repeated exa.codeium_common_pb.TerminalShellCommand previous_commands = 7; + */ + previousCommands: TerminalShellCommand[]; + + /** + * @generated from field: repeated exa.prompt_pb.PendingCommand pending_commands = 8; + */ + pendingCommands: PendingCommand[]; + + /** + * @generated from field: exa.codeium_common_pb.CommandRequestSource request_source = 9; + */ + requestSource: CommandRequestSource; + + /** + * @generated from field: repeated exa.codeium_common_pb.IntellisenseSuggestion intellisense_prompt = 10; + */ + intellisensePrompt: IntellisenseSuggestion[]; + + /** + * @generated from field: repeated exa.codeium_common_pb.CodeDiagnostic diagnostics_prompt = 11; + */ + diagnosticsPrompt: CodeDiagnostic[]; +}; + +/** + * Describes the message exa.prompt_pb.CommandIntentInfo. + * Use `create(CommandIntentInfoSchema)` to create a new message. + */ +export const CommandIntentInfoSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_prompt_pb_prompt, 1); + +/** + * @generated from message exa.prompt_pb.SupercompleteFeedback + */ +export type SupercompleteFeedback = Message<"exa.prompt_pb.SupercompleteFeedback"> & { + /** + * @generated from field: bool accepted = 1; + */ + accepted: boolean; + + /** + * @generated from field: bool intentional_reject = 2; + */ + intentionalReject: boolean; + + /** + * @generated from field: string completion_id = 3; + */ + completionId: string; + + /** + * @generated from field: int64 timestamp_ms = 4; + */ + timestampMs: bigint; + + /** + * @generated from field: exa.language_server_pb.HandleStreamingTabV2Response.Diff diff_suggestion = 5; + */ + diffSuggestion?: HandleStreamingTabV2Response_Diff | undefined; + + /** + * @generated from field: exa.language_server_pb.HandleStreamingTabV2Response.TabJump tabjump_suggestion = 6; + */ + tabjumpSuggestion?: HandleStreamingTabV2Response_TabJump | undefined; +}; + +/** + * Describes the message exa.prompt_pb.SupercompleteFeedback. + * Use `create(SupercompleteFeedbackSchema)` to create a new message. + */ +export const SupercompleteFeedbackSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_prompt_pb_prompt, 2); + +/** + * @generated from message exa.prompt_pb.SupercompleteFeedbackContext + */ +export type SupercompleteFeedbackContext = Message<"exa.prompt_pb.SupercompleteFeedbackContext"> & { + /** + * @generated from field: repeated exa.prompt_pb.SupercompleteFeedback feedback = 1; + */ + feedback: SupercompleteFeedback[]; +}; + +/** + * Describes the message exa.prompt_pb.SupercompleteFeedbackContext. + * Use `create(SupercompleteFeedbackContextSchema)` to create a new message. + */ +export const SupercompleteFeedbackContextSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_prompt_pb_prompt, 3); + +/** + * @generated from message exa.prompt_pb.UnifiedPromptComponents + */ +export type UnifiedPromptComponents = Message<"exa.prompt_pb.UnifiedPromptComponents"> & { + /** + * @generated from field: exa.context_module_pb.ContextModuleResult context_module_result = 2; + */ + contextModuleResult?: ContextModuleResult | undefined; + + /** + * @generated from field: exa.cortex_pb.CortexTrajectory cortex_trajectory = 3; + */ + cortexTrajectory?: CortexTrajectory | undefined; + + /** + * @generated from field: exa.prompt_pb.CommandIntentInfo command_intent_info = 4; + */ + commandIntentInfo?: CommandIntentInfo | undefined; + + /** + * @generated from field: repeated exa.chat_pb.ChatMessage chat_messages = 1; + */ + chatMessages: ChatMessage[]; + + /** + * @generated from field: repeated exa.codeium_common_pb.CodeDiagnostic code_diagnostics = 5; + */ + codeDiagnostics: CodeDiagnostic[]; + + /** + * @generated from field: repeated exa.codeium_common_pb.Document other_documents = 9; + */ + otherDocuments: Document[]; + + /** + * @generated from field: exa.chat_pb.DeepWikiSymbolContext deep_wiki_context = 10 [deprecated = true]; + * @deprecated + */ + deepWikiContext?: DeepWikiSymbolContext | undefined; + + /** + * @generated from field: exa.chat_pb.DeepWikiContext deep_wiki_context_v2 = 11; + */ + deepWikiContextV2?: DeepWikiContext | undefined; + + /** + * @generated from field: exa.prompt_pb.SupercompleteFeedbackContext supercomplete_feedback_context = 12; + */ + supercompleteFeedbackContext?: SupercompleteFeedbackContext | undefined; +}; + +/** + * Describes the message exa.prompt_pb.UnifiedPromptComponents. + * Use `create(UnifiedPromptComponentsSchema)` to create a new message. + */ +export const UnifiedPromptComponentsSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_prompt_pb_prompt, 4); + +/** + * @generated from message exa.prompt_pb.SystemPromptConstructionConfig + */ +export type SystemPromptConstructionConfig = Message<"exa.prompt_pb.SystemPromptConstructionConfig"> & { + /** + * @generated from field: string element_separator = 1; + */ + elementSeparator: string; +}; + +/** + * Describes the message exa.prompt_pb.SystemPromptConstructionConfig. + * Use `create(SystemPromptConstructionConfigSchema)` to create a new message. + */ +export const SystemPromptConstructionConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_prompt_pb_prompt, 5); + +/** + * @generated from message exa.prompt_pb.CommandPromptCacheConfig + */ +export type CommandPromptCacheConfig = Message<"exa.prompt_pb.CommandPromptCacheConfig"> & { + /** + * @generated from field: int64 max_tracked_files = 1; + */ + maxTrackedFiles: bigint; + + /** + * @generated from field: int64 max_cache_age_seconds = 2; + */ + maxCacheAgeSeconds: bigint; +}; + +/** + * Describes the message exa.prompt_pb.CommandPromptCacheConfig. + * Use `create(CommandPromptCacheConfigSchema)` to create a new message. + */ +export const CommandPromptCacheConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_prompt_pb_prompt, 6); + +/** + * @generated from message exa.prompt_pb.CumulativePromptConfig + */ +export type CumulativePromptConfig = Message<"exa.prompt_pb.CumulativePromptConfig"> & { + /** + * @generated from field: float persistent_context_multiplier = 7; + */ + persistentContextMultiplier: number; + + /** + * @generated from field: float persistent_active_document_multiplier = 10; + */ + persistentActiveDocumentMultiplier: number; + + /** + * @generated from field: float persistent_open_docs_multiplier = 11; + */ + persistentOpenDocsMultiplier: number; + + /** + * @generated from field: int64 persistent_max_tokens_per_open_doc = 17; + */ + persistentMaxTokensPerOpenDoc: bigint; + + /** + * @generated from field: int64 persistent_max_ccis_considered = 12; + */ + persistentMaxCcisConsidered: bigint; + + /** + * @generated from field: float persistent_document_suffix_frac = 20; + */ + persistentDocumentSuffixFrac: number; + + /** + * @generated from field: float trajectory_context_multiplier = 2; + */ + trajectoryContextMultiplier: number; + + /** + * @generated from field: float trajectory_refresh_threshold_multiplier = 15; + */ + trajectoryRefreshThresholdMultiplier: number; + + /** + * @generated from field: float trajectory_truncation_multiplier = 16; + */ + trajectoryTruncationMultiplier: number; + + /** + * @generated from field: float ephemeral_context_multiplier = 9; + */ + ephemeralContextMultiplier: number; + + /** + * @generated from field: int64 intent_reservation_tokens = 6; + */ + intentReservationTokens: bigint; + + /** + * @generated from field: float ephemeral_active_document_multiplier = 13; + */ + ephemeralActiveDocumentMultiplier: number; + + /** + * @generated from field: int64 ephemeral_max_ccis_considered = 14; + */ + ephemeralMaxCcisConsidered: bigint; + + /** + * @generated from field: float ephemeral_document_suffix_frac = 21; + */ + ephemeralDocumentSuffixFrac: number; + + /** + * @generated from field: repeated exa.cortex_pb.CortexStepType allowed_cascade_step_types = 18; + */ + allowedCascadeStepTypes: CortexStepType[]; + + /** + * @generated from field: map allowed_implicit_step_types = 22; + */ + allowedImplicitStepTypes: { [key: string]: boolean }; +}; + +/** + * Describes the message exa.prompt_pb.CumulativePromptConfig. + * Use `create(CumulativePromptConfigSchema)` to create a new message. + */ +export const CumulativePromptConfigSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_prompt_pb_prompt, 7); + diff --git a/packages/catalog/src/discovery/devin-gen/exa/reactive_component_pb/reactive_component_pb.ts b/packages/catalog/src/discovery/devin-gen/exa/reactive_component_pb/reactive_component_pb.ts new file mode 100644 index 000000000..a2fc2198e --- /dev/null +++ b/packages/catalog/src/discovery/devin-gen/exa/reactive_component_pb/reactive_component_pb.ts @@ -0,0 +1,450 @@ +// @generated by protoc-gen-es v2.12.0 with parameter "target=ts" +// @generated from file exa/reactive_component_pb/reactive_component.proto (package exa.reactive_component_pb, syntax proto3) +/* eslint-disable */ + +import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2"; +import { enumDesc, fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2"; +import type { Message } from "@bufbuild/protobuf"; + +/** + * Describes the file exa/reactive_component_pb/reactive_component.proto. + */ +export const file_exa_reactive_component_pb_reactive_component: GenFile = /*@__PURE__*/ + fileDesc("CjJleGEvcmVhY3RpdmVfY29tcG9uZW50X3BiL3JlYWN0aXZlX2NvbXBvbmVudC5wcm90bxIZZXhhLnJlYWN0aXZlX2NvbXBvbmVudF9wYiJEChxTdHJlYW1SZWFjdGl2ZVVwZGF0ZXNSZXF1ZXN0EhgKEHByb3RvY29sX3ZlcnNpb24YASABKA0SCgoCaWQYAiABKAkiegodU3RyZWFtUmVhY3RpdmVVcGRhdGVzUmVzcG9uc2USDwoHdmVyc2lvbhgBIAEoBBI0CgRkaWZmGAIgASgLMiYuZXhhLnJlYWN0aXZlX2NvbXBvbmVudF9wYi5NZXNzYWdlRGlmZhISCgpmdWxsX3N0YXRlGAMgASgMIqEBCglUZXN0UHJvdG8SDwoHY291bnRlchgBIAEoBRIOCgZ2YWx1ZXMYAiADKAUSNAoGbmVzdGVkGAMgASgLMiQuZXhhLnJlYWN0aXZlX2NvbXBvbmVudF9wYi5UZXN0UHJvdG8SPQoPbmVzdGVkX3JlcGVhdGVkGAQgAygLMiQuZXhhLnJlYWN0aXZlX2NvbXBvbmVudF9wYi5UZXN0UHJvdG8iSAoLTWVzc2FnZURpZmYSOQoLZmllbGRfZGlmZnMYASADKAsyJC5leGEucmVhY3RpdmVfY29tcG9uZW50X3BiLkZpZWxkRGlmZiL9AQoJRmllbGREaWZmEhQKDGZpZWxkX251bWJlchgBIAEoDRJDCg91cGRhdGVfc2luZ3VsYXIYAiABKAsyKC5leGEucmVhY3RpdmVfY29tcG9uZW50X3BiLlNpbmd1bGFyVmFsdWVIABJCCg91cGRhdGVfcmVwZWF0ZWQYAyABKAsyJy5leGEucmVhY3RpdmVfY29tcG9uZW50X3BiLlJlcGVhdGVkRGlmZkgAEjgKCnVwZGF0ZV9tYXAYBCABKAsyIi5leGEucmVhY3RpdmVfY29tcG9uZW50X3BiLk1hcERpZmZIABIPCgVjbGVhchgFIAEoCEgAQgYKBGRpZmYiewoMUmVwZWF0ZWREaWZmEhIKCm5ld19sZW5ndGgYASABKA0SPwoNdXBkYXRlX3ZhbHVlcxgCIAMoCzIoLmV4YS5yZWFjdGl2ZV9jb21wb25lbnRfcGIuU2luZ3VsYXJWYWx1ZRIWCg51cGRhdGVfaW5kaWNlcxgDIAMoDSJHCgdNYXBEaWZmEjwKDW1hcF9rZXlfZGlmZnMYASADKAsyJS5leGEucmVhY3RpdmVfY29tcG9uZW50X3BiLk1hcEtleURpZmYipQEKCk1hcEtleURpZmYSOQoHbWFwX2tleRgBIAEoCzIoLmV4YS5yZWFjdGl2ZV9jb21wb25lbnRfcGIuU2luZ3VsYXJWYWx1ZRJDCg91cGRhdGVfc2luZ3VsYXIYAiABKAsyKC5leGEucmVhY3RpdmVfY29tcG9uZW50X3BiLlNpbmd1bGFyVmFsdWVIABIPCgVjbGVhchgDIAEoCEgAQgYKBGRpZmYi1wMKDVNpbmd1bGFyVmFsdWUSFgoMZG91YmxlX3ZhbHVlGAEgASgBSAASFQoLZmxvYXRfdmFsdWUYAiABKAJIABIVCgtpbnQzMl92YWx1ZRgDIAEoBUgAEhUKC2ludDY0X3ZhbHVlGAQgASgDSAASFgoMdWludDMyX3ZhbHVlGAUgASgNSAASFgoMdWludDY0X3ZhbHVlGAYgASgESAASFgoMc2ludDMyX3ZhbHVlGAcgASgRSAASFgoMc2ludDY0X3ZhbHVlGAggASgSSAASFwoNZml4ZWQzMl92YWx1ZRgJIAEoB0gAEhcKDWZpeGVkNjRfdmFsdWUYCiABKAZIABIYCg5zZml4ZWQzMl92YWx1ZRgLIAEoD0gAEhgKDnNmaXhlZDY0X3ZhbHVlGAwgASgQSAASFAoKYm9vbF92YWx1ZRgNIAEoCEgAEhQKCmVudW1fdmFsdWUYDiABKA1IABIWCgxzdHJpbmdfdmFsdWUYDyABKAlIABIVCgtieXRlc192YWx1ZRgQIAEoDEgAEj8KDW1lc3NhZ2VfdmFsdWUYESABKAsyJi5leGEucmVhY3RpdmVfY29tcG9uZW50X3BiLk1lc3NhZ2VEaWZmSABCBwoFdmFsdWUiiAYKDVRlc3REaWZmUHJvdG8SHQoVc2luZ3VsYXJfc2NhbGFyX3ZhbHVlGAEgASgBEkQKFnNpbmd1bGFyX21lc3NhZ2VfdmFsdWUYAiABKAsyJC5leGEucmVhY3RpdmVfY29tcG9uZW50X3BiLlRlc3RQcm90bxIiChVvcHRpb25hbF9zY2FsYXJfdmFsdWUYCiABKAFIAYgBARIdChVyZXBlYXRlZF9zY2FsYXJfdmFsdWUYAyADKAESRAoWcmVwZWF0ZWRfbWVzc2FnZV92YWx1ZRgEIAMoCzIkLmV4YS5yZWFjdGl2ZV9jb21wb25lbnRfcGIuVGVzdFByb3RvElYKEG1hcF9zY2FsYXJfdmFsdWUYBSADKAsyPC5leGEucmVhY3RpdmVfY29tcG9uZW50X3BiLlRlc3REaWZmUHJvdG8uTWFwU2NhbGFyVmFsdWVFbnRyeRJYChFtYXBfbWVzc2FnZV92YWx1ZRgGIAMoCzI9LmV4YS5yZWFjdGl2ZV9jb21wb25lbnRfcGIuVGVzdERpZmZQcm90by5NYXBNZXNzYWdlVmFsdWVFbnRyeRIcChJvbmVvZl9zY2FsYXJfdmFsdWUYByABKAFIABJDChNvbmVvZl9tZXNzYWdlX3ZhbHVlGAggASgLMiQuZXhhLnJlYWN0aXZlX2NvbXBvbmVudF9wYi5UZXN0UHJvdG9IABI3CgplbnVtX3ZhbHVlGAkgASgOMiMuZXhhLnJlYWN0aXZlX2NvbXBvbmVudF9wYi5UZXN0RW51bRo1ChNNYXBTY2FsYXJWYWx1ZUVudHJ5EgsKA2tleRgBIAEoBRINCgV2YWx1ZRgCIAEoAToCOAEaXAoUTWFwTWVzc2FnZVZhbHVlRW50cnkSCwoDa2V5GAEgASgJEjMKBXZhbHVlGAIgASgLMiQuZXhhLnJlYWN0aXZlX2NvbXBvbmVudF9wYi5UZXN0UHJvdG86AjgBQgwKCm9uZW9mX3Rlc3RCGAoWX29wdGlvbmFsX3NjYWxhcl92YWx1ZSpLCghUZXN0RW51bRIZChVURVNUX0VOVU1fVU5TUEVDSUZJRUQQABIRCg1URVNUX0VOVU1fT05FEAESEQoNVEVTVF9FTlVNX1RXTxACYgZwcm90bzM"); + +/** + * @generated from message exa.reactive_component_pb.StreamReactiveUpdatesRequest + */ +export type StreamReactiveUpdatesRequest = Message<"exa.reactive_component_pb.StreamReactiveUpdatesRequest"> & { + /** + * @generated from field: uint32 protocol_version = 1; + */ + protocolVersion: number; + + /** + * @generated from field: string id = 2; + */ + id: string; +}; + +/** + * Describes the message exa.reactive_component_pb.StreamReactiveUpdatesRequest. + * Use `create(StreamReactiveUpdatesRequestSchema)` to create a new message. + */ +export const StreamReactiveUpdatesRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_reactive_component_pb_reactive_component, 0); + +/** + * @generated from message exa.reactive_component_pb.StreamReactiveUpdatesResponse + */ +export type StreamReactiveUpdatesResponse = Message<"exa.reactive_component_pb.StreamReactiveUpdatesResponse"> & { + /** + * @generated from field: uint64 version = 1; + */ + version: bigint; + + /** + * @generated from field: exa.reactive_component_pb.MessageDiff diff = 2; + */ + diff?: MessageDiff | undefined; + + /** + * @generated from field: bytes full_state = 3; + */ + fullState: Uint8Array; +}; + +/** + * Describes the message exa.reactive_component_pb.StreamReactiveUpdatesResponse. + * Use `create(StreamReactiveUpdatesResponseSchema)` to create a new message. + */ +export const StreamReactiveUpdatesResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_reactive_component_pb_reactive_component, 1); + +/** + * @generated from message exa.reactive_component_pb.TestProto + */ +export type TestProto = Message<"exa.reactive_component_pb.TestProto"> & { + /** + * @generated from field: int32 counter = 1; + */ + counter: number; + + /** + * @generated from field: repeated int32 values = 2; + */ + values: number[]; + + /** + * @generated from field: exa.reactive_component_pb.TestProto nested = 3; + */ + nested?: TestProto | undefined; + + /** + * @generated from field: repeated exa.reactive_component_pb.TestProto nested_repeated = 4; + */ + nestedRepeated: TestProto[]; +}; + +/** + * Describes the message exa.reactive_component_pb.TestProto. + * Use `create(TestProtoSchema)` to create a new message. + */ +export const TestProtoSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_reactive_component_pb_reactive_component, 2); + +/** + * @generated from message exa.reactive_component_pb.MessageDiff + */ +export type MessageDiff = Message<"exa.reactive_component_pb.MessageDiff"> & { + /** + * @generated from field: repeated exa.reactive_component_pb.FieldDiff field_diffs = 1; + */ + fieldDiffs: FieldDiff[]; +}; + +/** + * Describes the message exa.reactive_component_pb.MessageDiff. + * Use `create(MessageDiffSchema)` to create a new message. + */ +export const MessageDiffSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_reactive_component_pb_reactive_component, 3); + +/** + * @generated from message exa.reactive_component_pb.FieldDiff + */ +export type FieldDiff = Message<"exa.reactive_component_pb.FieldDiff"> & { + /** + * @generated from field: uint32 field_number = 1; + */ + fieldNumber: number; + + /** + * @generated from oneof exa.reactive_component_pb.FieldDiff.diff + */ + diff: { + /** + * @generated from field: exa.reactive_component_pb.SingularValue update_singular = 2; + */ + value: SingularValue; + case: "updateSingular"; + } | { + /** + * @generated from field: exa.reactive_component_pb.RepeatedDiff update_repeated = 3; + */ + value: RepeatedDiff; + case: "updateRepeated"; + } | { + /** + * @generated from field: exa.reactive_component_pb.MapDiff update_map = 4; + */ + value: MapDiff; + case: "updateMap"; + } | { + /** + * @generated from field: bool clear = 5; + */ + value: boolean; + case: "clear"; + } | { case: undefined; value?: undefined }; +}; + +/** + * Describes the message exa.reactive_component_pb.FieldDiff. + * Use `create(FieldDiffSchema)` to create a new message. + */ +export const FieldDiffSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_reactive_component_pb_reactive_component, 4); + +/** + * @generated from message exa.reactive_component_pb.RepeatedDiff + */ +export type RepeatedDiff = Message<"exa.reactive_component_pb.RepeatedDiff"> & { + /** + * @generated from field: uint32 new_length = 1; + */ + newLength: number; + + /** + * @generated from field: repeated exa.reactive_component_pb.SingularValue update_values = 2; + */ + updateValues: SingularValue[]; + + /** + * @generated from field: repeated uint32 update_indices = 3; + */ + updateIndices: number[]; +}; + +/** + * Describes the message exa.reactive_component_pb.RepeatedDiff. + * Use `create(RepeatedDiffSchema)` to create a new message. + */ +export const RepeatedDiffSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_reactive_component_pb_reactive_component, 5); + +/** + * @generated from message exa.reactive_component_pb.MapDiff + */ +export type MapDiff = Message<"exa.reactive_component_pb.MapDiff"> & { + /** + * @generated from field: repeated exa.reactive_component_pb.MapKeyDiff map_key_diffs = 1; + */ + mapKeyDiffs: MapKeyDiff[]; +}; + +/** + * Describes the message exa.reactive_component_pb.MapDiff. + * Use `create(MapDiffSchema)` to create a new message. + */ +export const MapDiffSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_reactive_component_pb_reactive_component, 6); + +/** + * @generated from message exa.reactive_component_pb.MapKeyDiff + */ +export type MapKeyDiff = Message<"exa.reactive_component_pb.MapKeyDiff"> & { + /** + * @generated from field: exa.reactive_component_pb.SingularValue map_key = 1; + */ + mapKey?: SingularValue | undefined; + + /** + * @generated from oneof exa.reactive_component_pb.MapKeyDiff.diff + */ + diff: { + /** + * @generated from field: exa.reactive_component_pb.SingularValue update_singular = 2; + */ + value: SingularValue; + case: "updateSingular"; + } | { + /** + * @generated from field: bool clear = 3; + */ + value: boolean; + case: "clear"; + } | { case: undefined; value?: undefined }; +}; + +/** + * Describes the message exa.reactive_component_pb.MapKeyDiff. + * Use `create(MapKeyDiffSchema)` to create a new message. + */ +export const MapKeyDiffSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_reactive_component_pb_reactive_component, 7); + +/** + * @generated from message exa.reactive_component_pb.SingularValue + */ +export type SingularValue = Message<"exa.reactive_component_pb.SingularValue"> & { + /** + * @generated from oneof exa.reactive_component_pb.SingularValue.value + */ + value: { + /** + * @generated from field: double double_value = 1; + */ + value: number; + case: "doubleValue"; + } | { + /** + * @generated from field: float float_value = 2; + */ + value: number; + case: "floatValue"; + } | { + /** + * @generated from field: int32 int32_value = 3; + */ + value: number; + case: "int32Value"; + } | { + /** + * @generated from field: int64 int64_value = 4; + */ + value: bigint; + case: "int64Value"; + } | { + /** + * @generated from field: uint32 uint32_value = 5; + */ + value: number; + case: "uint32Value"; + } | { + /** + * @generated from field: uint64 uint64_value = 6; + */ + value: bigint; + case: "uint64Value"; + } | { + /** + * @generated from field: sint32 sint32_value = 7; + */ + value: number; + case: "sint32Value"; + } | { + /** + * @generated from field: sint64 sint64_value = 8; + */ + value: bigint; + case: "sint64Value"; + } | { + /** + * @generated from field: fixed32 fixed32_value = 9; + */ + value: number; + case: "fixed32Value"; + } | { + /** + * @generated from field: fixed64 fixed64_value = 10; + */ + value: bigint; + case: "fixed64Value"; + } | { + /** + * @generated from field: sfixed32 sfixed32_value = 11; + */ + value: number; + case: "sfixed32Value"; + } | { + /** + * @generated from field: sfixed64 sfixed64_value = 12; + */ + value: bigint; + case: "sfixed64Value"; + } | { + /** + * @generated from field: bool bool_value = 13; + */ + value: boolean; + case: "boolValue"; + } | { + /** + * @generated from field: uint32 enum_value = 14; + */ + value: number; + case: "enumValue"; + } | { + /** + * @generated from field: string string_value = 15; + */ + value: string; + case: "stringValue"; + } | { + /** + * @generated from field: bytes bytes_value = 16; + */ + value: Uint8Array; + case: "bytesValue"; + } | { + /** + * @generated from field: exa.reactive_component_pb.MessageDiff message_value = 17; + */ + value: MessageDiff; + case: "messageValue"; + } | { case: undefined; value?: undefined }; +}; + +/** + * Describes the message exa.reactive_component_pb.SingularValue. + * Use `create(SingularValueSchema)` to create a new message. + */ +export const SingularValueSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_reactive_component_pb_reactive_component, 8); + +/** + * @generated from message exa.reactive_component_pb.TestDiffProto + */ +export type TestDiffProto = Message<"exa.reactive_component_pb.TestDiffProto"> & { + /** + * @generated from field: double singular_scalar_value = 1; + */ + singularScalarValue: number; + + /** + * @generated from field: exa.reactive_component_pb.TestProto singular_message_value = 2; + */ + singularMessageValue?: TestProto | undefined; + + /** + * @generated from field: optional double optional_scalar_value = 10; + */ + optionalScalarValue?: number | undefined; + + /** + * @generated from field: repeated double repeated_scalar_value = 3; + */ + repeatedScalarValue: number[]; + + /** + * @generated from field: repeated exa.reactive_component_pb.TestProto repeated_message_value = 4; + */ + repeatedMessageValue: TestProto[]; + + /** + * @generated from field: map map_scalar_value = 5; + */ + mapScalarValue: { [key: number]: number }; + + /** + * @generated from field: map map_message_value = 6; + */ + mapMessageValue: { [key: string]: TestProto }; + + /** + * @generated from oneof exa.reactive_component_pb.TestDiffProto.oneof_test + */ + oneofTest: { + /** + * @generated from field: double oneof_scalar_value = 7; + */ + value: number; + case: "oneofScalarValue"; + } | { + /** + * @generated from field: exa.reactive_component_pb.TestProto oneof_message_value = 8; + */ + value: TestProto; + case: "oneofMessageValue"; + } | { case: undefined; value?: undefined }; + + /** + * @generated from field: exa.reactive_component_pb.TestEnum enum_value = 9; + */ + enumValue: TestEnum; +}; + +/** + * Describes the message exa.reactive_component_pb.TestDiffProto. + * Use `create(TestDiffProtoSchema)` to create a new message. + */ +export const TestDiffProtoSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_reactive_component_pb_reactive_component, 9); + +/** + * @generated from enum exa.reactive_component_pb.TestEnum + */ +export enum TestEnum { + /** + * @generated from enum value: TEST_ENUM_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: TEST_ENUM_ONE = 1; + */ + ONE = 1, + + /** + * @generated from enum value: TEST_ENUM_TWO = 2; + */ + TWO = 2, +} + +/** + * Describes the enum exa.reactive_component_pb.TestEnum. + */ +export const TestEnumSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_reactive_component_pb_reactive_component, 0); + diff --git a/packages/catalog/src/discovery/devin-gen/exa/trust_pb/trust_pb.ts b/packages/catalog/src/discovery/devin-gen/exa/trust_pb/trust_pb.ts new file mode 100644 index 000000000..94581d668 --- /dev/null +++ b/packages/catalog/src/discovery/devin-gen/exa/trust_pb/trust_pb.ts @@ -0,0 +1,712 @@ +// @generated by protoc-gen-es v2.12.0 with parameter "target=ts" +// @generated from file exa/trust_pb/trust.proto (package exa.trust_pb, syntax proto3) +/* eslint-disable */ + +import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2"; +import { enumDesc, fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2"; +import type { Timestamp } from "@bufbuild/protobuf/wkt"; +import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt"; +import type { Message } from "@bufbuild/protobuf"; + +/** + * Describes the file exa/trust_pb/trust.proto. + */ +export const file_exa_trust_pb_trust: GenFile = /*@__PURE__*/ + fileDesc("ChhleGEvdHJ1c3RfcGIvdHJ1c3QucHJvdG8SDGV4YS50cnVzdF9wYiJhCg9UcnVzdElkZW50aWZpZXISOgoPaWRlbnRpZmllcl90eXBlGAEgASgOMiEuZXhhLnRydXN0X3BiLlRydXN0SWRlbnRpZmllclR5cGUSEgoKaWRlbnRpZmllchgCIAEoCSJPCg1UcnVzdFF1ZXJ5S2V5EjEKCGtleV90eXBlGAEgASgOMh8uZXhhLnRydXN0X3BiLlRydXN0UXVlcnlLZXlUeXBlEgsKA2tleRgCIAEoCSKPBwoKVHJ1c3RFdmVudBIvCgtvYnNlcnZlZF9hdBgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoGc291cmNlGAMgASgOMh4uZXhhLnRydXN0X3BiLlRydXN0RXZlbnRTb3VyY2USFwoPaWRlbXBvdGVuY3lfa2V5GAQgASgJEi4KB3Vua25vd24YBSABKAsyGy5leGEudHJ1c3RfcGIuVW5rbm93blNpZ25hbEgAEkUKE3Byb3ZpZGVyc19leGhhdXN0ZWQYBiABKAsyJi5leGEudHJ1c3RfcGIuUHJvdmlkZXJzRXhoYXVzdGVkU2lnbmFsSAASSQoWY3Jvc3NfbW9kZWxfcmF0ZV9saW1pdBgHIAEoCzInLmV4YS50cnVzdF9wYi5Dcm9zc01vZGVsUmF0ZUxpbWl0U2lnbmFsSAASOwoOYWNjb3VudF9mYW5vdXQYCCABKAsyIS5leGEudHJ1c3RfcGIuQWNjb3VudEZhbm91dFNpZ25hbEgAEkQKE211bHRpX2lwX3RyYWplY3RvcnkYCSABKAsyJS5leGEudHJ1c3RfcGIuTXVsdGlJcFRyYWplY3RvcnlTaWduYWxIABI0CgtjeWJlcl9hYnVzZRgKIAEoCzIdLmV4YS50cnVzdF9wYi5DeWJlckFidXNlRXZlbnRIABJDChNvcGVuYWlfYmxvY2tlZF91c2VyGAsgASgLMiQuZXhhLnRydXN0X3BiLk9wZW5BSUJsb2NrZWRVc2VyRXZlbnRIABJIChVzdXNwaWNpb3VzX3VzZXJfYWdlbnQYDCABKAsyJy5leGEudHJ1c3RfcGIuU3VzcGljaW91c1VzZXJBZ2VudFNpZ25hbEgAEjcKDG1hbnVhbF90cnVzdBgOIAEoCzIfLmV4YS50cnVzdF9wYi5NYW51YWxUcnVzdFNpZ25hbEgAElAKGWh1bnRlcl9lbWFpbF92ZXJpZmljYXRpb24YESABKAsyKy5leGEudHJ1c3RfcGIuSHVudGVyRW1haWxWZXJpZmljYXRpb25TaWduYWxIABIyCgtpZGVudGlmaWVycxgNIAMoCzIdLmV4YS50cnVzdF9wYi5UcnVzdElkZW50aWZpZXISLgoJcXVlcnlfa2V5GA8gASgLMhsuZXhhLnRydXN0X3BiLlRydXN0UXVlcnlLZXlCCAoGc2lnbmFsSgQIAhADIg8KDVVua25vd25TaWduYWwiswEKGFByb3ZpZGVyc0V4aGF1c3RlZFNpZ25hbBIRCgltb2RlbF91aWQYASABKAkSDAoEdGllchgCIAEoCRIWCg50b3RhbF9hdHRlbXB0cxgDIAEoBRIXCg9sYXN0X2Vycm9yX2NvZGUYBCABKAkSGgoSbGFzdF9lcnJvcl9tZXNzYWdlGAUgASgJEhcKD3Byb3ZpZGVyc190cmllZBgGIAEoBRIQCghhdXRoX3VpZBgHIAEoCSKcAQoZQ3Jvc3NNb2RlbFJhdGVMaW1pdFNpZ25hbBIRCgltb2RlbF91aWQYASABKAkSDAoEdGllchgCIAEoCRINCgVjb3VudBgDIAEoAxINCgVsaW1pdBgEIAEoAxIWCg5wZXJpb2Rfc2Vjb25kcxgFIAEoBRIWCg5lbWFpbF9taXNtYXRjaBgGIAEoCBIQCghhdXRoX3VpZBgHIAEoCSJfChNBY2NvdW50RmFub3V0U2lnbmFsEhAKCGF1dGhfdWlkGAEgASgJEhAKCGlkZW50aXR5GAIgASgJEhIKCmFjY291bnRfaWQYAyABKAkSEAoIaXNfdHJpYWwYBCABKAgilwEKF011bHRpSXBUcmFqZWN0b3J5U2lnbmFsEhAKCGF1dGhfdWlkGAEgASgJEhAKCGlwX2NvdW50GAIgASgDEhEKCXRocmVzaG9sZBgDIAEoAxIWCg53aW5kb3dfc2Vjb25kcxgEIAEoBRIMCgR0aWVyGAUgASgJEg0KBWVtYWlsGAYgASgJEhAKCGVuZm9yY2VkGAcgASgIImoKD0N5YmVyQWJ1c2VFdmVudBIQCghhdXRoX3VpZBgBIAEoCRIQCghwcm92aWRlchgCIAEoCRISCgpldmVudF90eXBlGAMgASgJEhEKCW1vZGVsX3VpZBgEIAEoCRIMCgR0aWVyGAUgASgJIl0KFk9wZW5BSUJsb2NrZWRVc2VyRXZlbnQSEAoIYXV0aF91aWQYASABKAkSEAoIcHJvdmlkZXIYAiABKAkSEQoJbW9kZWxfdWlkGAMgASgJEgwKBHRpZXIYBCABKAkiWQoZU3VzcGljaW91c1VzZXJBZ2VudFNpZ25hbBIQCghhdXRoX3VpZBgBIAEoCRISCgp1c2VyX2FnZW50GAIgASgJEhYKDm1hdGNoZWRfcHJlZml4GAMgASgJIo0BChFNYW51YWxUcnVzdFNpZ25hbBIQCghhdXRoX3VpZBgBIAEoCRIxCgd2ZXJkaWN0GAIgASgOMiAuZXhhLnRydXN0X3BiLk1hbnVhbFRydXN0VmVyZGljdBIPCgdwZXJjZW50GAMgASgFEg4KBnJlYXNvbhgEIAEoCRISCgpmbGFnZ2VkX2J5GAUgASgJIpwCCh1IdW50ZXJFbWFpbFZlcmlmaWNhdGlvblNpZ25hbBINCgVlbWFpbBgBIAEoCRIOCgZyZXN1bHQYAiABKAkSDgoGc3RhdHVzGAMgASgJEg0KBXNjb3JlGAQgASgFEg4KBnJlZ2V4cBgFIAEoCBIRCglnaWJiZXJpc2gYBiABKAgSEgoKZGlzcG9zYWJsZRgHIAEoCBIPCgd3ZWJtYWlsGAggASgIEhIKCm14X3JlY29yZHMYCSABKAgSEwoLc210cF9zZXJ2ZXIYCiABKAgSEgoKc210cF9jaGVjaxgLIAEoCBISCgphY2NlcHRfYWxsGAwgASgIEg0KBWJsb2NrGA0gASgIEhUKDXNvdXJjZXNfY291bnQYDiABKAUiRAoYUmVjb3JkVHJ1c3RFdmVudHNSZXF1ZXN0EigKBmV2ZW50cxgBIAMoCzIYLmV4YS50cnVzdF9wYi5UcnVzdEV2ZW50IhsKGVJlY29yZFRydXN0RXZlbnRzUmVzcG9uc2UqqwEKEFRydXN0RXZlbnRTb3VyY2USIgoeVFJVU1RfRVZFTlRfU09VUkNFX1VOU1BFQ0lGSUVEEAASIQodVFJVU1RfRVZFTlRfU09VUkNFX0FQSV9TRVJWRVIQARImCiJUUlVTVF9FVkVOVF9TT1VSQ0VfREVWSU5fV0VCU0VSVkVSEAISKAokVFJVU1RfRVZFTlRfU09VUkNFX0lOVEVSTkFMX0RFVEVDVE9SEAMqsgEKE1RydXN0SWRlbnRpZmllclR5cGUSJQohVFJVU1RfSURFTlRJRklFUl9UWVBFX1VOU1BFQ0lGSUVEEAASHwobVFJVU1RfSURFTlRJRklFUl9UWVBFX0VNQUlMEAESJwojVFJVU1RfSURFTlRJRklFUl9UWVBFX0RFVklOX1VTRVJfSUQQAhIqCiZUUlVTVF9JREVOVElGSUVSX1RZUEVfREVWSU5fQUNDT1VOVF9JRBADKq8BChFUcnVzdFF1ZXJ5S2V5VHlwZRIkCiBUUlVTVF9RVUVSWV9LRVlfVFlQRV9VTlNQRUNJRklFRBAAEiEKHVRSVVNUX1FVRVJZX0tFWV9UWVBFX0FVVEhfVUlEEAESJgoiVFJVU1RfUVVFUllfS0VZX1RZUEVfREVWSU5fVVNFUl9JRBACEikKJVRSVVNUX1FVRVJZX0tFWV9UWVBFX0RFVklOX0FDQ09VTlRfSUQQAyp9ChJNYW51YWxUcnVzdFZlcmRpY3QSJAogTUFOVUFMX1RSVVNUX1ZFUkRJQ1RfVU5TUEVDSUZJRUQQABIeChpNQU5VQUxfVFJVU1RfVkVSRElDVF9UUlVTVBABEiEKHU1BTlVBTF9UUlVTVF9WRVJESUNUX0RJU1RSVVNUEAJiBnByb3RvMw", [file_google_protobuf_timestamp]); + +/** + * @generated from message exa.trust_pb.TrustIdentifier + */ +export type TrustIdentifier = Message<"exa.trust_pb.TrustIdentifier"> & { + /** + * @generated from field: exa.trust_pb.TrustIdentifierType identifier_type = 1; + */ + identifierType: TrustIdentifierType; + + /** + * @generated from field: string identifier = 2; + */ + identifier: string; +}; + +/** + * Describes the message exa.trust_pb.TrustIdentifier. + * Use `create(TrustIdentifierSchema)` to create a new message. + */ +export const TrustIdentifierSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_trust_pb_trust, 0); + +/** + * @generated from message exa.trust_pb.TrustQueryKey + */ +export type TrustQueryKey = Message<"exa.trust_pb.TrustQueryKey"> & { + /** + * @generated from field: exa.trust_pb.TrustQueryKeyType key_type = 1; + */ + keyType: TrustQueryKeyType; + + /** + * @generated from field: string key = 2; + */ + key: string; +}; + +/** + * Describes the message exa.trust_pb.TrustQueryKey. + * Use `create(TrustQueryKeySchema)` to create a new message. + */ +export const TrustQueryKeySchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_trust_pb_trust, 1); + +/** + * @generated from message exa.trust_pb.TrustEvent + */ +export type TrustEvent = Message<"exa.trust_pb.TrustEvent"> & { + /** + * @generated from field: google.protobuf.Timestamp observed_at = 1; + */ + observedAt?: Timestamp | undefined; + + /** + * @generated from field: exa.trust_pb.TrustEventSource source = 3; + */ + source: TrustEventSource; + + /** + * @generated from field: string idempotency_key = 4; + */ + idempotencyKey: string; + + /** + * @generated from oneof exa.trust_pb.TrustEvent.signal + */ + signal: { + /** + * @generated from field: exa.trust_pb.UnknownSignal unknown = 5; + */ + value: UnknownSignal; + case: "unknown"; + } | { + /** + * @generated from field: exa.trust_pb.ProvidersExhaustedSignal providers_exhausted = 6; + */ + value: ProvidersExhaustedSignal; + case: "providersExhausted"; + } | { + /** + * @generated from field: exa.trust_pb.CrossModelRateLimitSignal cross_model_rate_limit = 7; + */ + value: CrossModelRateLimitSignal; + case: "crossModelRateLimit"; + } | { + /** + * @generated from field: exa.trust_pb.AccountFanoutSignal account_fanout = 8; + */ + value: AccountFanoutSignal; + case: "accountFanout"; + } | { + /** + * @generated from field: exa.trust_pb.MultiIpTrajectorySignal multi_ip_trajectory = 9; + */ + value: MultiIpTrajectorySignal; + case: "multiIpTrajectory"; + } | { + /** + * @generated from field: exa.trust_pb.CyberAbuseEvent cyber_abuse = 10; + */ + value: CyberAbuseEvent; + case: "cyberAbuse"; + } | { + /** + * @generated from field: exa.trust_pb.OpenAIBlockedUserEvent openai_blocked_user = 11; + */ + value: OpenAIBlockedUserEvent; + case: "openaiBlockedUser"; + } | { + /** + * @generated from field: exa.trust_pb.SuspiciousUserAgentSignal suspicious_user_agent = 12; + */ + value: SuspiciousUserAgentSignal; + case: "suspiciousUserAgent"; + } | { + /** + * @generated from field: exa.trust_pb.ManualTrustSignal manual_trust = 14; + */ + value: ManualTrustSignal; + case: "manualTrust"; + } | { + /** + * @generated from field: exa.trust_pb.HunterEmailVerificationSignal hunter_email_verification = 17; + */ + value: HunterEmailVerificationSignal; + case: "hunterEmailVerification"; + } | { case: undefined; value?: undefined }; + + /** + * @generated from field: repeated exa.trust_pb.TrustIdentifier identifiers = 13; + */ + identifiers: TrustIdentifier[]; + + /** + * @generated from field: exa.trust_pb.TrustQueryKey query_key = 15; + */ + queryKey?: TrustQueryKey | undefined; +}; + +/** + * Describes the message exa.trust_pb.TrustEvent. + * Use `create(TrustEventSchema)` to create a new message. + */ +export const TrustEventSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_trust_pb_trust, 2); + +/** + * @generated from message exa.trust_pb.UnknownSignal + */ +export type UnknownSignal = Message<"exa.trust_pb.UnknownSignal"> & { +}; + +/** + * Describes the message exa.trust_pb.UnknownSignal. + * Use `create(UnknownSignalSchema)` to create a new message. + */ +export const UnknownSignalSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_trust_pb_trust, 3); + +/** + * @generated from message exa.trust_pb.ProvidersExhaustedSignal + */ +export type ProvidersExhaustedSignal = Message<"exa.trust_pb.ProvidersExhaustedSignal"> & { + /** + * @generated from field: string model_uid = 1; + */ + modelUid: string; + + /** + * @generated from field: string tier = 2; + */ + tier: string; + + /** + * @generated from field: int32 total_attempts = 3; + */ + totalAttempts: number; + + /** + * @generated from field: string last_error_code = 4; + */ + lastErrorCode: string; + + /** + * @generated from field: string last_error_message = 5; + */ + lastErrorMessage: string; + + /** + * @generated from field: int32 providers_tried = 6; + */ + providersTried: number; + + /** + * @generated from field: string auth_uid = 7; + */ + authUid: string; +}; + +/** + * Describes the message exa.trust_pb.ProvidersExhaustedSignal. + * Use `create(ProvidersExhaustedSignalSchema)` to create a new message. + */ +export const ProvidersExhaustedSignalSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_trust_pb_trust, 4); + +/** + * @generated from message exa.trust_pb.CrossModelRateLimitSignal + */ +export type CrossModelRateLimitSignal = Message<"exa.trust_pb.CrossModelRateLimitSignal"> & { + /** + * @generated from field: string model_uid = 1; + */ + modelUid: string; + + /** + * @generated from field: string tier = 2; + */ + tier: string; + + /** + * @generated from field: int64 count = 3; + */ + count: bigint; + + /** + * @generated from field: int64 limit = 4; + */ + limit: bigint; + + /** + * @generated from field: int32 period_seconds = 5; + */ + periodSeconds: number; + + /** + * @generated from field: bool email_mismatch = 6; + */ + emailMismatch: boolean; + + /** + * @generated from field: string auth_uid = 7; + */ + authUid: string; +}; + +/** + * Describes the message exa.trust_pb.CrossModelRateLimitSignal. + * Use `create(CrossModelRateLimitSignalSchema)` to create a new message. + */ +export const CrossModelRateLimitSignalSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_trust_pb_trust, 5); + +/** + * @generated from message exa.trust_pb.AccountFanoutSignal + */ +export type AccountFanoutSignal = Message<"exa.trust_pb.AccountFanoutSignal"> & { + /** + * @generated from field: string auth_uid = 1; + */ + authUid: string; + + /** + * @generated from field: string identity = 2; + */ + identity: string; + + /** + * @generated from field: string account_id = 3; + */ + accountId: string; + + /** + * @generated from field: bool is_trial = 4; + */ + isTrial: boolean; +}; + +/** + * Describes the message exa.trust_pb.AccountFanoutSignal. + * Use `create(AccountFanoutSignalSchema)` to create a new message. + */ +export const AccountFanoutSignalSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_trust_pb_trust, 6); + +/** + * @generated from message exa.trust_pb.MultiIpTrajectorySignal + */ +export type MultiIpTrajectorySignal = Message<"exa.trust_pb.MultiIpTrajectorySignal"> & { + /** + * @generated from field: string auth_uid = 1; + */ + authUid: string; + + /** + * @generated from field: int64 ip_count = 2; + */ + ipCount: bigint; + + /** + * @generated from field: int64 threshold = 3; + */ + threshold: bigint; + + /** + * @generated from field: int32 window_seconds = 4; + */ + windowSeconds: number; + + /** + * @generated from field: string tier = 5; + */ + tier: string; + + /** + * @generated from field: string email = 6; + */ + email: string; + + /** + * @generated from field: bool enforced = 7; + */ + enforced: boolean; +}; + +/** + * Describes the message exa.trust_pb.MultiIpTrajectorySignal. + * Use `create(MultiIpTrajectorySignalSchema)` to create a new message. + */ +export const MultiIpTrajectorySignalSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_trust_pb_trust, 7); + +/** + * @generated from message exa.trust_pb.CyberAbuseEvent + */ +export type CyberAbuseEvent = Message<"exa.trust_pb.CyberAbuseEvent"> & { + /** + * @generated from field: string auth_uid = 1; + */ + authUid: string; + + /** + * @generated from field: string provider = 2; + */ + provider: string; + + /** + * @generated from field: string event_type = 3; + */ + eventType: string; + + /** + * @generated from field: string model_uid = 4; + */ + modelUid: string; + + /** + * @generated from field: string tier = 5; + */ + tier: string; +}; + +/** + * Describes the message exa.trust_pb.CyberAbuseEvent. + * Use `create(CyberAbuseEventSchema)` to create a new message. + */ +export const CyberAbuseEventSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_trust_pb_trust, 8); + +/** + * @generated from message exa.trust_pb.OpenAIBlockedUserEvent + */ +export type OpenAIBlockedUserEvent = Message<"exa.trust_pb.OpenAIBlockedUserEvent"> & { + /** + * @generated from field: string auth_uid = 1; + */ + authUid: string; + + /** + * @generated from field: string provider = 2; + */ + provider: string; + + /** + * @generated from field: string model_uid = 3; + */ + modelUid: string; + + /** + * @generated from field: string tier = 4; + */ + tier: string; +}; + +/** + * Describes the message exa.trust_pb.OpenAIBlockedUserEvent. + * Use `create(OpenAIBlockedUserEventSchema)` to create a new message. + */ +export const OpenAIBlockedUserEventSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_trust_pb_trust, 9); + +/** + * @generated from message exa.trust_pb.SuspiciousUserAgentSignal + */ +export type SuspiciousUserAgentSignal = Message<"exa.trust_pb.SuspiciousUserAgentSignal"> & { + /** + * @generated from field: string auth_uid = 1; + */ + authUid: string; + + /** + * @generated from field: string user_agent = 2; + */ + userAgent: string; + + /** + * @generated from field: string matched_prefix = 3; + */ + matchedPrefix: string; +}; + +/** + * Describes the message exa.trust_pb.SuspiciousUserAgentSignal. + * Use `create(SuspiciousUserAgentSignalSchema)` to create a new message. + */ +export const SuspiciousUserAgentSignalSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_trust_pb_trust, 10); + +/** + * @generated from message exa.trust_pb.ManualTrustSignal + */ +export type ManualTrustSignal = Message<"exa.trust_pb.ManualTrustSignal"> & { + /** + * @generated from field: string auth_uid = 1; + */ + authUid: string; + + /** + * @generated from field: exa.trust_pb.ManualTrustVerdict verdict = 2; + */ + verdict: ManualTrustVerdict; + + /** + * @generated from field: int32 percent = 3; + */ + percent: number; + + /** + * @generated from field: string reason = 4; + */ + reason: string; + + /** + * @generated from field: string flagged_by = 5; + */ + flaggedBy: string; +}; + +/** + * Describes the message exa.trust_pb.ManualTrustSignal. + * Use `create(ManualTrustSignalSchema)` to create a new message. + */ +export const ManualTrustSignalSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_trust_pb_trust, 11); + +/** + * @generated from message exa.trust_pb.HunterEmailVerificationSignal + */ +export type HunterEmailVerificationSignal = Message<"exa.trust_pb.HunterEmailVerificationSignal"> & { + /** + * @generated from field: string email = 1; + */ + email: string; + + /** + * @generated from field: string result = 2; + */ + result: string; + + /** + * @generated from field: string status = 3; + */ + status: string; + + /** + * @generated from field: int32 score = 4; + */ + score: number; + + /** + * @generated from field: bool regexp = 5; + */ + regexp: boolean; + + /** + * @generated from field: bool gibberish = 6; + */ + gibberish: boolean; + + /** + * @generated from field: bool disposable = 7; + */ + disposable: boolean; + + /** + * @generated from field: bool webmail = 8; + */ + webmail: boolean; + + /** + * @generated from field: bool mx_records = 9; + */ + mxRecords: boolean; + + /** + * @generated from field: bool smtp_server = 10; + */ + smtpServer: boolean; + + /** + * @generated from field: bool smtp_check = 11; + */ + smtpCheck: boolean; + + /** + * @generated from field: bool accept_all = 12; + */ + acceptAll: boolean; + + /** + * @generated from field: bool block = 13; + */ + block: boolean; + + /** + * @generated from field: int32 sources_count = 14; + */ + sourcesCount: number; +}; + +/** + * Describes the message exa.trust_pb.HunterEmailVerificationSignal. + * Use `create(HunterEmailVerificationSignalSchema)` to create a new message. + */ +export const HunterEmailVerificationSignalSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_trust_pb_trust, 12); + +/** + * @generated from message exa.trust_pb.RecordTrustEventsRequest + */ +export type RecordTrustEventsRequest = Message<"exa.trust_pb.RecordTrustEventsRequest"> & { + /** + * @generated from field: repeated exa.trust_pb.TrustEvent events = 1; + */ + events: TrustEvent[]; +}; + +/** + * Describes the message exa.trust_pb.RecordTrustEventsRequest. + * Use `create(RecordTrustEventsRequestSchema)` to create a new message. + */ +export const RecordTrustEventsRequestSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_trust_pb_trust, 13); + +/** + * @generated from message exa.trust_pb.RecordTrustEventsResponse + */ +export type RecordTrustEventsResponse = Message<"exa.trust_pb.RecordTrustEventsResponse"> & { +}; + +/** + * Describes the message exa.trust_pb.RecordTrustEventsResponse. + * Use `create(RecordTrustEventsResponseSchema)` to create a new message. + */ +export const RecordTrustEventsResponseSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_exa_trust_pb_trust, 14); + +/** + * @generated from enum exa.trust_pb.TrustEventSource + */ +export enum TrustEventSource { + /** + * @generated from enum value: TRUST_EVENT_SOURCE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: TRUST_EVENT_SOURCE_API_SERVER = 1; + */ + API_SERVER = 1, + + /** + * @generated from enum value: TRUST_EVENT_SOURCE_DEVIN_WEBSERVER = 2; + */ + DEVIN_WEBSERVER = 2, + + /** + * @generated from enum value: TRUST_EVENT_SOURCE_INTERNAL_DETECTOR = 3; + */ + INTERNAL_DETECTOR = 3, +} + +/** + * Describes the enum exa.trust_pb.TrustEventSource. + */ +export const TrustEventSourceSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_trust_pb_trust, 0); + +/** + * @generated from enum exa.trust_pb.TrustIdentifierType + */ +export enum TrustIdentifierType { + /** + * @generated from enum value: TRUST_IDENTIFIER_TYPE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: TRUST_IDENTIFIER_TYPE_EMAIL = 1; + */ + EMAIL = 1, + + /** + * @generated from enum value: TRUST_IDENTIFIER_TYPE_DEVIN_USER_ID = 2; + */ + DEVIN_USER_ID = 2, + + /** + * @generated from enum value: TRUST_IDENTIFIER_TYPE_DEVIN_ACCOUNT_ID = 3; + */ + DEVIN_ACCOUNT_ID = 3, +} + +/** + * Describes the enum exa.trust_pb.TrustIdentifierType. + */ +export const TrustIdentifierTypeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_trust_pb_trust, 1); + +/** + * @generated from enum exa.trust_pb.TrustQueryKeyType + */ +export enum TrustQueryKeyType { + /** + * @generated from enum value: TRUST_QUERY_KEY_TYPE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: TRUST_QUERY_KEY_TYPE_AUTH_UID = 1; + */ + AUTH_UID = 1, + + /** + * @generated from enum value: TRUST_QUERY_KEY_TYPE_DEVIN_USER_ID = 2; + */ + DEVIN_USER_ID = 2, + + /** + * @generated from enum value: TRUST_QUERY_KEY_TYPE_DEVIN_ACCOUNT_ID = 3; + */ + DEVIN_ACCOUNT_ID = 3, +} + +/** + * Describes the enum exa.trust_pb.TrustQueryKeyType. + */ +export const TrustQueryKeyTypeSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_trust_pb_trust, 2); + +/** + * @generated from enum exa.trust_pb.ManualTrustVerdict + */ +export enum ManualTrustVerdict { + /** + * @generated from enum value: MANUAL_TRUST_VERDICT_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: MANUAL_TRUST_VERDICT_TRUST = 1; + */ + TRUST = 1, + + /** + * @generated from enum value: MANUAL_TRUST_VERDICT_DISTRUST = 2; + */ + DISTRUST = 2, +} + +/** + * Describes the enum exa.trust_pb.ManualTrustVerdict. + */ +export const ManualTrustVerdictSchema: GenEnum = /*@__PURE__*/ + enumDesc(file_exa_trust_pb_trust, 3); + diff --git a/packages/catalog/src/discovery/devin.ts b/packages/catalog/src/discovery/devin.ts new file mode 100644 index 000000000..6097608cd --- /dev/null +++ b/packages/catalog/src/discovery/devin.ts @@ -0,0 +1,151 @@ +import { gunzipSync } from "node:zlib"; +import { create, fromBinary, toBinary } from "@bufbuild/protobuf"; +import type { FetchImpl, ModelSpec } from "../types"; +import { + GetCliModelConfigsRequestSchema, + GetCliModelConfigsResponseSchema, +} from "./devin-gen/exa/api_server_pb/api_server_pb"; +import { type ClientModelConfig, MetadataSchema } from "./devin-gen/exa/codeium_common_pb/codeium_common_pb"; + +const DEVIN_DEFAULT_BASE_URL = "https://server.codeium.com"; +const DEVIN_GET_CLI_MODEL_CONFIGS_PATH = "/exa.api_server_pb.ApiServerService/GetCliModelConfigs"; +const DEVIN_IDE_VERSION = "3.2.23"; +const DEVIN_EXTENSION_VERSION = "1.48.2"; +const DEVIN_SESSION_TOKEN_PREFIX = "devin-session-token$"; + +const DEFAULT_CONTEXT_WINDOW = 200_000; +const DEFAULT_MAX_TOKENS = 64_000; + +/** Best-effort match for labels whose wording implies a thinking / reasoning-effort variant. */ +const REASONING_LABEL_PATTERN = /think|thinking|high|medium|low|xhigh|reasoning/i; +const NO_REASONING_LABEL_PATTERN = /\bno thinking\b/i; + +function supportsDevinThinking(config: ClientModelConfig): boolean { + if (NO_REASONING_LABEL_PATTERN.test(config.label)) return false; + return config.modelInfo?.modelFeatures?.supportsThinking === true || REASONING_LABEL_PATTERN.test(config.label); +} + +/** + * Options for fetching dynamic Devin (Codeium Cascade) models from `GetCliModelConfigs`. + */ +export interface DevinModelDiscoveryOptions { + /** Codeium session token carried inside protobuf `Metadata.apiKey`. */ + apiKey?: string; + /** Optional Codeium API base URL override. */ + baseUrl?: string; + /** Optional request timeout in milliseconds (default 5000). */ + timeoutMs?: number; + /** Optional caller abort signal, combined with the internal timeout. */ + signal?: AbortSignal; + /** Optional fetch implementation for request-debug/proxy/test transports. */ + fetch?: FetchImpl; +} + +/** + * Fetches Devin models through the `GetCliModelConfigs` unary Connect RPC and + * normalizes them into canonical model entries. + * + * Returns `null` on request/decode failures. + * Returns `[]` only when the endpoint responds successfully with no usable models. + */ +export async function fetchDevinModels( + options: DevinModelDiscoveryOptions, +): Promise[] | null> { + const timeoutMs = options.timeoutMs ?? 5_000; + const resolvedBaseUrl = options.baseUrl ?? DEVIN_DEFAULT_BASE_URL; + const requestUrl = `${resolvedBaseUrl.replace(/\/+$/, "")}${DEVIN_GET_CLI_MODEL_CONFIGS_PATH}`; + + const controller = new AbortController(); + const timer = setTimeout(() => controller.abort(), timeoutMs); + const signal = options.signal ? AbortSignal.any([controller.signal, options.signal]) : controller.signal; + + try { + const request = create(GetCliModelConfigsRequestSchema, { + metadata: create(MetadataSchema, { + apiKey: normalizeDevinSessionToken(options.apiKey), + ideName: "windsurf", + ideVersion: DEVIN_IDE_VERSION, + extensionName: "windsurf", + extensionVersion: DEVIN_EXTENSION_VERSION, + }), + }); + const body = toBinary(GetCliModelConfigsRequestSchema, request); + + const headers: Record = { + "content-type": "application/proto", + "connect-protocol-version": "1", + accept: "*/*", + }; + + const fetchImpl = options.fetch ?? fetch; + const response = await fetchImpl(requestUrl, { method: "POST", headers, body, signal }); + if (!response.ok) { + return null; + } + + const decoded = decodeCliModelConfigsResponse(new Uint8Array(await response.arrayBuffer())); + if (!decoded) { + return null; + } + + return normalizeDevinModels(decoded.clientModelConfigs, options.baseUrl); + } catch { + return null; + } finally { + clearTimeout(timer); + } +} + +function normalizeDevinSessionToken(apiKey: string | undefined): string { + if (!apiKey) return ""; + return apiKey.startsWith(DEVIN_SESSION_TOKEN_PREFIX) ? apiKey : `${DEVIN_SESSION_TOKEN_PREFIX}${apiKey}`; +} + +/** + * Decodes a raw (unframed) `GetCliModelConfigsResponse`. Bun's `fetch` usually + * auto-decompresses gzip, so the direct decode is attempted first; a + * `gunzipSync` fallback covers runtimes that hand back the still-compressed body. + */ +function decodeCliModelConfigsResponse(payload: Uint8Array) { + try { + return fromBinary(GetCliModelConfigsResponseSchema, payload); + } catch { + try { + return fromBinary(GetCliModelConfigsResponseSchema, gunzipSync(payload)); + } catch { + return null; + } + } +} + +function normalizeDevinModels( + configs: readonly ClientModelConfig[], + baseUrlOverride: string | undefined, +): ModelSpec<"devin-agent">[] { + const byId = new Map>(); + for (const config of configs) { + if (config.disabled) { + continue; + } + const id = config.modelUid.trim(); + if (!id) { + continue; + } + const input: ("text" | "image")[] = config.supportsImages ? ["text", "image"] : ["text"]; + const contextWindow = config.maxTokens > 0 ? config.maxTokens : DEFAULT_CONTEXT_WINDOW; + byId.set(id, { + id, + name: config.label.trim() || id, + api: "devin-agent", + provider: "devin", + baseUrl: baseUrlOverride ?? DEVIN_DEFAULT_BASE_URL, + reasoning: supportsDevinThinking(config), + input, + supportsTools: true, + cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 }, + contextWindow, + maxTokens: Math.min(config.maxTokens > 0 ? config.maxTokens : DEFAULT_MAX_TOKENS, DEFAULT_MAX_TOKENS), + }); + } + return [...byId.values()].sort((a, b) => a.id.localeCompare(b.id)); +} diff --git a/packages/catalog/src/models.json b/packages/catalog/src/models.json index 1acd7edf6..6cbd4d262 100644 --- a/packages/catalog/src/models.json +++ b/packages/catalog/src/models.json @@ -14572,6 +14572,2548 @@ } } }, + "devin": { + "claude-opus-4-6": { + "id": "claude-opus-4-6", + "name": "Claude Opus 4.6", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 200000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ], + "effortRouting": { + "off": "claude-opus-4-6", + "minimal": "claude-opus-4-6-thinking", + "low": "claude-opus-4-6-thinking", + "medium": "claude-opus-4-6-thinking", + "high": "claude-opus-4-6-thinking" + } + } + }, + "claude-opus-4-6-1m": { + "id": "claude-opus-4-6-1m", + "name": "Claude Opus 4.6 1M", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 1000000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ], + "effortRouting": { + "off": "claude-opus-4-6-1m", + "minimal": "claude-opus-4-6-thinking-1m", + "low": "claude-opus-4-6-thinking-1m", + "medium": "claude-opus-4-6-thinking-1m", + "high": "claude-opus-4-6-thinking-1m" + } + } + }, + "claude-opus-4-6-fast": { + "id": "claude-opus-4-6-fast", + "name": "Claude Opus 4.6 Fast", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 200000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ], + "effortRouting": { + "off": "claude-opus-4-6-fast", + "minimal": "claude-opus-4-6-thinking-fast", + "low": "claude-opus-4-6-thinking-fast", + "medium": "claude-opus-4-6-thinking-fast", + "high": "claude-opus-4-6-thinking-fast" + } + } + }, + "claude-opus-4-7-high": { + "id": "claude-opus-4-7-high", + "name": "Claude Opus 4.7 High", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 1000000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "claude-opus-4-7-high-fast": { + "id": "claude-opus-4-7-high-fast", + "name": "Claude Opus 4.7 High Fast", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 1000000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "claude-opus-4-7-low": { + "id": "claude-opus-4-7-low", + "name": "Claude Opus 4.7 Low", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 1000000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "claude-opus-4-7-low-fast": { + "id": "claude-opus-4-7-low-fast", + "name": "Claude Opus 4.7 Low Fast", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 1000000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "claude-opus-4-7-max": { + "id": "claude-opus-4-7-max", + "name": "Claude Opus 4.7 Max", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 1000000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "claude-opus-4-7-max-fast": { + "id": "claude-opus-4-7-max-fast", + "name": "Claude Opus 4.7 Max Fast", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 1000000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "claude-opus-4-7-medium": { + "id": "claude-opus-4-7-medium", + "name": "Claude Opus 4.7 Medium", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 1000000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "claude-opus-4-7-medium-fast": { + "id": "claude-opus-4-7-medium-fast", + "name": "Claude Opus 4.7 Medium Fast", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 1000000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "claude-opus-4-7-xhigh": { + "id": "claude-opus-4-7-xhigh", + "name": "Claude Opus 4.7 XHigh", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 1000000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "claude-opus-4-7-xhigh-fast": { + "id": "claude-opus-4-7-xhigh-fast", + "name": "Claude Opus 4.7 XHigh Fast", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 1000000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "claude-opus-4-8-high": { + "id": "claude-opus-4-8-high", + "name": "Claude Opus 4.8 High", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 1000000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "claude-opus-4-8-high-fast": { + "id": "claude-opus-4-8-high-fast", + "name": "Claude Opus 4.8 High Fast", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 1000000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "claude-opus-4-8-low": { + "id": "claude-opus-4-8-low", + "name": "Claude Opus 4.8 Low", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 1000000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "claude-opus-4-8-low-fast": { + "id": "claude-opus-4-8-low-fast", + "name": "Claude Opus 4.8 Low Fast", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 1000000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "claude-opus-4-8-max": { + "id": "claude-opus-4-8-max", + "name": "Claude Opus 4.8 Max", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 1000000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "claude-opus-4-8-max-fast": { + "id": "claude-opus-4-8-max-fast", + "name": "Claude Opus 4.8 Max Fast", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 1000000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "claude-opus-4-8-medium": { + "id": "claude-opus-4-8-medium", + "name": "Claude Opus 4.8 Medium", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 1000000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "claude-opus-4-8-medium-fast": { + "id": "claude-opus-4-8-medium-fast", + "name": "Claude Opus 4.8 Medium Fast", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 1000000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "claude-opus-4-8-xhigh": { + "id": "claude-opus-4-8-xhigh", + "name": "Claude Opus 4.8 XHigh", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 1000000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "claude-opus-4-8-xhigh-fast": { + "id": "claude-opus-4-8-xhigh-fast", + "name": "Claude Opus 4.8 XHigh Fast", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 1000000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "claude-sonnet-4-6": { + "id": "claude-sonnet-4-6", + "name": "Claude Sonnet 4.6", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 200000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ], + "effortRouting": { + "off": "claude-sonnet-4-6", + "minimal": "claude-sonnet-4-6-thinking", + "low": "claude-sonnet-4-6-thinking", + "medium": "claude-sonnet-4-6-thinking", + "high": "claude-sonnet-4-6-thinking" + } + } + }, + "claude-sonnet-4-6-1m": { + "id": "claude-sonnet-4-6-1m", + "name": "Claude Sonnet 4.6 1M", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 1000000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ], + "effortRouting": { + "off": "claude-sonnet-4-6-1m", + "minimal": "claude-sonnet-4-6-thinking-1m", + "low": "claude-sonnet-4-6-thinking-1m", + "medium": "claude-sonnet-4-6-thinking-1m", + "high": "claude-sonnet-4-6-thinking-1m" + } + } + }, + "deepseek-v4": { + "id": "deepseek-v4", + "name": "DeepSeek V4 Pro", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 1048576, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "gemini-3-1-pro-high": { + "id": "gemini-3-1-pro-high", + "name": "Gemini 3.1 Pro High Thinking", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 1048576, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "gemini-3-1-pro-low": { + "id": "gemini-3-1-pro-low", + "name": "Gemini 3.1 Pro Low Thinking", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 1048576, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "gemini-3-5-flash-high": { + "id": "gemini-3-5-flash-high", + "name": "Gemini 3.5 Flash High", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 1048576, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "gemini-3-5-flash-low": { + "id": "gemini-3-5-flash-low", + "name": "Gemini 3.5 Flash Low", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 1048576, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "gemini-3-5-flash-medium": { + "id": "gemini-3-5-flash-medium", + "name": "Gemini 3.5 Flash Medium", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 1048576, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "gemini-3-5-flash-minimal": { + "id": "gemini-3-5-flash-minimal", + "name": "Gemini 3.5 Flash Minimal", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 1048576, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "glm-5-1": { + "id": "glm-5-1", + "name": "GLM-5.1", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 200000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "glm-5-2": { + "id": "glm-5-2", + "name": "GLM-5.2", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 200000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "gpt-5-3-codex-high": { + "id": "gpt-5-3-codex-high", + "name": "GPT-5.3-Codex High", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 400000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "gpt-5-3-codex-high-priority": { + "id": "gpt-5-3-codex-high-priority", + "name": "GPT-5.3-Codex High Fast", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 400000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "gpt-5-3-codex-low": { + "id": "gpt-5-3-codex-low", + "name": "GPT-5.3-Codex Low", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 400000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "gpt-5-3-codex-low-priority": { + "id": "gpt-5-3-codex-low-priority", + "name": "GPT-5.3-Codex Low Fast", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 400000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "gpt-5-3-codex-medium": { + "id": "gpt-5-3-codex-medium", + "name": "GPT-5.3-Codex Medium", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 400000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "gpt-5-3-codex-medium-priority": { + "id": "gpt-5-3-codex-medium-priority", + "name": "GPT-5.3-Codex Medium Fast", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 400000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "gpt-5-3-codex-xhigh": { + "id": "gpt-5-3-codex-xhigh", + "name": "GPT-5.3-Codex X-High", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 400000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "gpt-5-3-codex-xhigh-priority": { + "id": "gpt-5-3-codex-xhigh-priority", + "name": "GPT-5.3-Codex XHigh Fast", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 400000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "gpt-5-4-high": { + "id": "gpt-5-4-high", + "name": "GPT-5.4 High Thinking", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 272000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "gpt-5-4-high-priority": { + "id": "gpt-5-4-high-priority", + "name": "GPT-5.4 High Thinking Fast", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 272000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "gpt-5-4-low": { + "id": "gpt-5-4-low", + "name": "GPT-5.4 Low Thinking", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 272000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "gpt-5-4-low-priority": { + "id": "gpt-5-4-low-priority", + "name": "GPT-5.4 Low Thinking Fast", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 272000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "gpt-5-4-medium": { + "id": "gpt-5-4-medium", + "name": "GPT-5.4 Medium Thinking", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 272000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "gpt-5-4-medium-priority": { + "id": "gpt-5-4-medium-priority", + "name": "GPT-5.4 Medium Thinking Fast", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 272000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "gpt-5-4-mini-high": { + "id": "gpt-5-4-mini-high", + "name": "GPT-5.4 Mini High Thinking", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 400000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "gpt-5-4-mini-low": { + "id": "gpt-5-4-mini-low", + "name": "GPT-5.4 Mini Low Thinking", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 400000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "gpt-5-4-mini-medium": { + "id": "gpt-5-4-mini-medium", + "name": "GPT-5.4 Mini Medium Thinking", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 400000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "gpt-5-4-mini-xhigh": { + "id": "gpt-5-4-mini-xhigh", + "name": "GPT-5.4 Mini XHigh Thinking", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 400000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "gpt-5-4-none": { + "id": "gpt-5-4-none", + "name": "GPT-5.4 No Thinking", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": false, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 272000, + "maxTokens": 64000 + }, + "gpt-5-4-none-priority": { + "id": "gpt-5-4-none-priority", + "name": "GPT-5.4 No Thinking Fast", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": false, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 272000, + "maxTokens": 64000 + }, + "gpt-5-4-xhigh": { + "id": "gpt-5-4-xhigh", + "name": "GPT-5.4 XHigh Thinking", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 272000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "gpt-5-4-xhigh-priority": { + "id": "gpt-5-4-xhigh-priority", + "name": "GPT-5.4 XHigh Thinking Fast", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 272000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "gpt-5-5-high": { + "id": "gpt-5-5-high", + "name": "GPT-5.5 High Thinking", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 272000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "gpt-5-5-high-priority": { + "id": "gpt-5-5-high-priority", + "name": "GPT-5.5 High Thinking Fast", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 272000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "gpt-5-5-low": { + "id": "gpt-5-5-low", + "name": "GPT-5.5 Low Thinking", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 272000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "gpt-5-5-low-priority": { + "id": "gpt-5-5-low-priority", + "name": "GPT-5.5 Low Thinking Fast", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 272000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "gpt-5-5-medium": { + "id": "gpt-5-5-medium", + "name": "GPT-5.5 Medium Thinking", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 272000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "gpt-5-5-medium-priority": { + "id": "gpt-5-5-medium-priority", + "name": "GPT-5.5 Medium Thinking Fast", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 272000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "gpt-5-5-none": { + "id": "gpt-5-5-none", + "name": "GPT-5.5 No Thinking", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": false, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 272000, + "maxTokens": 64000 + }, + "gpt-5-5-none-priority": { + "id": "gpt-5-5-none-priority", + "name": "GPT-5.5 No Thinking Fast", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": false, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 272000, + "maxTokens": 64000 + }, + "gpt-5-5-xhigh": { + "id": "gpt-5-5-xhigh", + "name": "GPT-5.5 XHigh Thinking", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 272000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "gpt-5-5-xhigh-priority": { + "id": "gpt-5-5-xhigh-priority", + "name": "GPT-5.5 XHigh Thinking Fast", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 272000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "kimi-k2-6": { + "id": "kimi-k2-6", + "name": "Kimi K2.6", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 262144, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "kimi-k2-7": { + "id": "kimi-k2-7", + "name": "Kimi K2.7", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 262144, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "MODEL_CLAUDE_4_5_OPUS": { + "id": "MODEL_CLAUDE_4_5_OPUS", + "name": "Claude Opus 4.5", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": false, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 200000, + "maxTokens": 64000 + }, + "MODEL_CLAUDE_4_5_OPUS_THINKING": { + "id": "MODEL_CLAUDE_4_5_OPUS_THINKING", + "name": "Claude Opus 4.5 Thinking", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 200000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "MODEL_GOOGLE_GEMINI_3_0_FLASH_HIGH": { + "id": "MODEL_GOOGLE_GEMINI_3_0_FLASH_HIGH", + "name": "Gemini 3 Flash High", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 1048576, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "MODEL_GOOGLE_GEMINI_3_0_FLASH_LOW": { + "id": "MODEL_GOOGLE_GEMINI_3_0_FLASH_LOW", + "name": "Gemini 3 Flash Low", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 1048576, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "MODEL_GOOGLE_GEMINI_3_0_FLASH_MEDIUM": { + "id": "MODEL_GOOGLE_GEMINI_3_0_FLASH_MEDIUM", + "name": "Gemini 3 Flash Medium", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 1048576, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "MODEL_GOOGLE_GEMINI_3_0_FLASH_MINIMAL": { + "id": "MODEL_GOOGLE_GEMINI_3_0_FLASH_MINIMAL", + "name": "Gemini 3 Flash Minimal", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 1048576, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "MODEL_GPT_5_2_HIGH": { + "id": "MODEL_GPT_5_2_HIGH", + "name": "GPT-5.2 High Thinking", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 384000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "MODEL_GPT_5_2_LOW": { + "id": "MODEL_GPT_5_2_LOW", + "name": "GPT-5.2 Low Thinking", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 384000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "MODEL_GPT_5_2_MEDIUM": { + "id": "MODEL_GPT_5_2_MEDIUM", + "name": "GPT-5.2 Medium Thinking", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 384000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "MODEL_GPT_5_2_NONE": { + "id": "MODEL_GPT_5_2_NONE", + "name": "GPT-5.2 No Thinking", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": false, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 384000, + "maxTokens": 64000 + }, + "MODEL_GPT_5_2_XHIGH": { + "id": "MODEL_GPT_5_2_XHIGH", + "name": "GPT-5.2 XHigh Thinking", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 384000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "MODEL_PRIVATE_11": { + "id": "MODEL_PRIVATE_11", + "name": "Claude Haiku 4.5", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": false, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 200000, + "maxTokens": 64000 + }, + "MODEL_PRIVATE_2": { + "id": "MODEL_PRIVATE_2", + "name": "Claude Sonnet 4.5", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": false, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 200000, + "maxTokens": 64000 + }, + "MODEL_PRIVATE_3": { + "id": "MODEL_PRIVATE_3", + "name": "Claude Sonnet 4.5 Thinking", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 200000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "MODEL_SWE_1_5": { + "id": "MODEL_SWE_1_5", + "name": "SWE-1.5 Fast", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 128000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "MODEL_SWE_1_5_SLOW": { + "id": "MODEL_SWE_1_5_SLOW", + "name": "SWE-1.5", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 200000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "swe-1-6": { + "id": "swe-1-6", + "name": "SWE-1.6", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 200000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + }, + "swe-1-6-fast": { + "id": "swe-1-6-fast", + "name": "SWE-1.6 Fast", + "api": "devin-agent", + "provider": "devin", + "baseUrl": "https://server.codeium.com", + "reasoning": true, + "input": [ + "text", + "image" + ], + "supportsTools": true, + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 200000, + "maxTokens": 64000, + "thinking": { + "mode": "effort", + "efforts": [ + "minimal", + "low", + "medium", + "high" + ] + } + } + }, "firepass": { "kimi-k2.6-turbo": { "id": "kimi-k2.6-turbo", @@ -15218,7 +17760,8 @@ "minimal", "low", "medium", - "high" + "high", + "xhigh" ], "effortMap": { "minimal": "none" @@ -15250,7 +17793,8 @@ "minimal", "low", "medium", - "high" + "high", + "xhigh" ], "effortMap": { "minimal": "none" @@ -15282,7 +17826,8 @@ "minimal", "low", "medium", - "high" + "high", + "xhigh" ], "effortMap": { "minimal": "none" @@ -15317,7 +17862,8 @@ "minimal", "low", "medium", - "high" + "high", + "xhigh" ], "effortMap": { "minimal": "none" @@ -25750,6 +28296,25 @@ "contextWindow": 131072, "maxTokens": 163840 }, + "nex-agi/nex-n2-pro": { + "id": "nex-agi/nex-n2-pro", + "name": "Nex-N2-Pro", + "api": "openai-completions", + "provider": "kilo", + "baseUrl": "https://api.kilo.ai/api/gateway", + "reasoning": false, + "input": [ + "text" + ], + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": null, + "maxTokens": null + }, "nex-agi/nex-n2-pro:free": { "id": "nex-agi/nex-n2-pro:free", "name": "Nex-N2-Pro (free)", @@ -46762,6 +49327,25 @@ "contextWindow": 128000, "maxTokens": 8192 }, + "sofya-research": { + "id": "sofya-research", + "name": "sofya-research", + "api": "openai-completions", + "provider": "nanogpt", + "baseUrl": "https://nano-gpt.com/api/v1", + "reasoning": false, + "input": [ + "text" + ], + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": null, + "maxTokens": null + }, "sonar": { "id": "sonar", "name": "sonar", @@ -59282,13 +61866,13 @@ "image" ], "cost": { - "input": 0.67, + "input": 0.66, "output": 3.5, - "cacheRead": 0.19999999999999998, + "cacheRead": 0.33, "cacheWrite": 0 }, "contextWindow": 262144, - "maxTokens": 262144, + "maxTokens": 65535, "thinking": { "mode": "effort", "efforts": [ @@ -60172,13 +62756,13 @@ "text" ], "cost": { - "input": 0.22, - "output": 0.85, + "input": 0.25, + "output": 0.7999999999999999, "cacheRead": 0.06, "cacheWrite": 0 }, "contextWindow": 262144, - "maxTokens": 262144, + "maxTokens": 80000, "thinking": { "mode": "effort", "efforts": [ @@ -62891,7 +65475,7 @@ "cost": { "input": 0.6, "output": 2.5, - "cacheRead": 0.15, + "cacheRead": 0.6, "cacheWrite": 0 }, "contextWindow": 262144, @@ -62948,13 +65532,13 @@ "image" ], "cost": { - "input": 0.67, + "input": 0.66, "output": 3.5, - "cacheRead": 0.19999999999999998, + "cacheRead": 0.33, "cacheWrite": 0 }, "contextWindow": 262144, - "maxTokens": 262144, + "maxTokens": 65535, "thinking": { "mode": "effort", "efforts": [ @@ -63060,7 +65644,7 @@ "cacheWrite": 0 }, "contextWindow": 262144, - "maxTokens": 262144, + "maxTokens": 256000, "thinking": { "mode": "effort", "efforts": [ @@ -66919,9 +69503,9 @@ "text" ], "cost": { - "input": 0.06599999999999999, - "output": 0.26, - "cacheRead": 0.029, + "input": 0.063, + "output": 0.21, + "cacheRead": 0.020999999999999998, "cacheWrite": 0 }, "contextWindow": 262144, @@ -67915,11 +70499,11 @@ "cost": { "input": 0.98, "output": 3.08, - "cacheRead": 0.182, + "cacheRead": 0.49, "cacheWrite": 0 }, "contextWindow": 202752, - "maxTokens": 131072, + "maxTokens": 65535, "thinking": { "mode": "effort", "efforts": [ @@ -67941,13 +70525,13 @@ "text" ], "cost": { - "input": 1.2, - "output": 4.1, - "cacheRead": 0.19999999999999998, + "input": 1, + "output": 4, + "cacheRead": 0.18, "cacheWrite": 0 }, "contextWindow": 1048576, - "maxTokens": 131072, + "maxTokens": 32768, "thinking": { "mode": "effort", "efforts": [ diff --git a/packages/catalog/src/provider-models/descriptors.ts b/packages/catalog/src/provider-models/descriptors.ts index f2601ede6..5a2c87484 100644 --- a/packages/catalog/src/provider-models/descriptors.ts +++ b/packages/catalog/src/provider-models/descriptors.ts @@ -48,7 +48,7 @@ import { zenmuxModelManagerOptions, zhipuCodingPlanModelManagerOptions, } from "./openai-compat"; -import { cursorModelManagerOptions, zaiModelManagerOptions } from "./special"; +import { cursorModelManagerOptions, devinModelManagerOptions, zaiModelManagerOptions } from "./special"; export const CATALOG_PROVIDERS = [ { @@ -108,6 +108,14 @@ export const CATALOG_PROVIDERS = [ createModelManagerOptions: (config: ModelManagerConfig) => deepseekModelManagerOptions(config), catalogDiscovery: { label: "DeepSeek" }, }, + { + id: "devin", + defaultModel: "swe-1-6", + envVars: ["DEVIN_API_KEY"], + createModelManagerOptions: (config: ModelManagerConfig) => devinModelManagerOptions(config), + dynamicModelsAuthoritative: true, + catalogDiscovery: { label: "Devin", envVars: ["DEVIN_API_KEY"], oauthProvider: "devin" }, + }, { id: "firepass", defaultModel: "kimi-k2.6-turbo", diff --git a/packages/catalog/src/provider-models/special.ts b/packages/catalog/src/provider-models/special.ts index 2c5f029a4..08ce64a7a 100644 --- a/packages/catalog/src/provider-models/special.ts +++ b/packages/catalog/src/provider-models/special.ts @@ -1,5 +1,6 @@ import { once } from "@oh-my-pi/pi-utils"; import { fetchCodexModels } from "../discovery/codex"; +import type { DevinModelDiscoveryOptions } from "../discovery/devin"; import type { ModelManagerOptions } from "../model-manager"; // --------------------------------------------------------------------------- @@ -56,6 +57,34 @@ export function cursorModelManagerOptions(config: CursorModelManagerConfig = {}) const cursorDiscovery = once(() => import("../discovery/cursor")); +// --------------------------------------------------------------------------- +// Devin (Codeium Cascade) +// --------------------------------------------------------------------------- + +export interface DevinModelManagerConfig { + apiKey?: string; + baseUrl?: string; + fetch?: DevinModelDiscoveryOptions["fetch"]; +} + +export function devinModelManagerOptions(config: DevinModelManagerConfig = {}): ModelManagerOptions<"devin-agent"> { + const { apiKey, baseUrl, fetch } = config; + return { + providerId: "devin", + ...(apiKey ? { dynamicModelsAuthoritative: true } : undefined), + ...(apiKey + ? { + fetchDynamicModels: async () => { + const { fetchDevinModels } = await devinDiscovery(); + return fetchDevinModels({ apiKey, baseUrl, fetch }); + }, + } + : undefined), + }; +} + +const devinDiscovery = once(() => import("../discovery/devin")); + // --------------------------------------------------------------------------- // Zai // --------------------------------------------------------------------------- diff --git a/packages/catalog/src/types.ts b/packages/catalog/src/types.ts index 87ff79518..e8c5cbdb8 100644 --- a/packages/catalog/src/types.ts +++ b/packages/catalog/src/types.ts @@ -14,7 +14,8 @@ export type KnownApi = | "google-gemini-cli" | "google-vertex" | "ollama-chat" - | "cursor-agent"; + | "cursor-agent" + | "devin-agent"; export type Api = KnownApi | (string & {}); /** Canonical thinking transport used by a model. */ diff --git a/packages/coding-agent/test/cursor-exec.test.ts b/packages/coding-agent/test/cursor-exec.test.ts index 9d04b5de2..d04f288c7 100644 --- a/packages/coding-agent/test/cursor-exec.test.ts +++ b/packages/coding-agent/test/cursor-exec.test.ts @@ -43,7 +43,7 @@ describe("CursorExecHandlers.grep bridge", () => { path: cwd, pattern: "hello", } as any); - expect(defaultResult.details?.matchCount).toBe(1); + expect((defaultResult.details as { matchCount?: number } | undefined)?.matchCount).toBe(1); // 2. If caseInsensitive: true, should be case-insensitive (match count 2 for "hello") const insensitiveResult = await handlers.grep({ @@ -52,7 +52,7 @@ describe("CursorExecHandlers.grep bridge", () => { pattern: "hello", caseInsensitive: true, } as any); - expect(insensitiveResult.details?.matchCount).toBe(2); + expect((insensitiveResult.details as { matchCount?: number } | undefined)?.matchCount).toBe(2); // 3. If caseInsensitive: false, should be case-sensitive (match count 1 for "hello") const sensitiveResult = await handlers.grep({ @@ -61,6 +61,6 @@ describe("CursorExecHandlers.grep bridge", () => { pattern: "hello", caseInsensitive: false, } as any); - expect(sensitiveResult.details?.matchCount).toBe(1); + expect((sensitiveResult.details as { matchCount?: number } | undefined)?.matchCount).toBe(1); }); }); diff --git a/packages/coding-agent/test/tools/bash-interceptor.test.ts b/packages/coding-agent/test/tools/bash-interceptor.test.ts index 6ca3e1095..dc750719f 100644 --- a/packages/coding-agent/test/tools/bash-interceptor.test.ts +++ b/packages/coding-agent/test/tools/bash-interceptor.test.ts @@ -94,7 +94,7 @@ describe("BashTool argument validation", () => { arguments: { command: "echo should-not-run", async: true }, }); - await expect(tool.execute("tool-call", args as BashToolInput)).rejects.toThrow( + await expect(tool.execute("tool-call", args as unknown as BashToolInput)).rejects.toThrow( "Async bash execution is disabled", ); });