// @generated by packages/catalog/scripts/proto-parser.ts - DO NOT EDIT /** * Cursor agent protocol declarations used by omp. * * Each declaration retains only fields consumed by the client or its protocol tests. */ import { pb, type MessageCodec, type ProtoMessage } from "./protobuf"; /** Cursor agent enum CommandClassifierResult_SuggestedSandboxMode. */ export enum CommandClassifierResult_SuggestedSandboxMode { UNSPECIFIED = 0, SANDBOX = 1, NO_SANDBOX = 2, UNDETERMINED = 3, } /** Cursor agent enum ConversationSearchSource. */ export enum ConversationSearchSource { UNSPECIFIED = 0, LOCAL = 1, CLOUD_CACHE = 2, } /** Cursor agent enum CursorError. */ export enum CursorError { ERROR_UNSPECIFIED = 0, ERROR_BAD_API_KEY = 1, ERROR_NOT_LOGGED_IN = 2, ERROR_INVALID_AUTH_ID = 3, ERROR_NOT_HIGH_ENOUGH_PERMISSIONS = 4, ERROR_BAD_MODEL_NAME = 5, ERROR_USER_NOT_FOUND = 6, ERROR_FREE_USER_RATE_LIMIT_EXCEEDED = 7, ERROR_PRO_USER_RATE_LIMIT_EXCEEDED = 8, ERROR_FREE_USER_USAGE_LIMIT = 9, ERROR_PRO_USER_USAGE_LIMIT = 10, ERROR_AUTH_TOKEN_NOT_FOUND = 11, ERROR_AUTH_TOKEN_EXPIRED = 12, ERROR_OPENAI = 13, ERROR_OPENAI_RATE_LIMIT_EXCEEDED = 14, ERROR_AGENT_REQUIRES_LOGIN = 18, ERROR_MAX_TOKENS = 20, ERROR_USER_ABORTED_REQUEST = 21, ERROR_GENERIC_RATE_LIMIT_EXCEEDED = 22, ERROR_PRO_USER_ONLY = 23, ERROR_TIMEOUT = 25, ERROR_GPT_4_VISION_PREVIEW_RATE_LIMIT = 28, ERROR_CUSTOM_MESSAGE = 29, ERROR_OUTDATED_CLIENT = 30, ERROR_CLAUDE_IMAGE_TOO_LARGE = 31, ERROR_FILE_NOT_FOUND = 33, ERROR_API_KEY_RATE_LIMIT = 34, ERROR_DEBOUNCED = 35, ERROR_BAD_REQUEST = 36, ERROR_REPOSITORY_SERVICE_REPOSITORY_IS_NOT_INITIALIZED = 37, ERROR_UNAUTHORIZED = 38, ERROR_NOT_FOUND = 39, ERROR_DEPRECATED = 40, ERROR_RESOURCE_EXHAUSTED = 41, ERROR_BAD_USER_API_KEY = 42, ERROR_CONVERSATION_TOO_LONG = 43, ERROR_USAGE_PRICING_REQUIRED = 44, ERROR_USAGE_PRICING_REQUIRED_CHANGEABLE = 45, ERROR_GITHUB_NO_USER_CREDENTIALS = 46, ERROR_GITHUB_USER_NO_ACCESS = 47, ERROR_GITHUB_APP_NO_ACCESS = 48, ERROR_GITHUB_MULTIPLE_OWNERS = 49, ERROR_RATE_LIMITED = 50, ERROR_RATE_LIMITED_CHANGEABLE = 51, ERROR_CUSTOM = 52, ERROR_HOOKS_BLOCKED = 53, ERROR_SUSPICIOUS_USAGE_BLOCKED = 54, ERROR_EXTENSION_HOST_TIMEOUT = 55, ERROR_NETWORK_ERROR = 56, ERROR_PROVIDER_ERROR = 57, ERROR_MODEL_BLOCKED = 58, ERROR_INTERNAL = 59, ERROR_MAX_MODE_REQUIRED = 60, ERROR_MODEL_NO_LONGER_SUPPORTED = 61, ERROR_PRICING_WARNING = 62, ERROR_SLOW_POOL = 63, ERROR_UNSUPPORTED_REGION = 64, ERROR_ACCOUNT_CLOSED = 65, } /** Cursor agent enum CursorRuleSource. */ export enum CursorRuleSource { UNSPECIFIED = 0, TEAM = 1, USER = 2, } /** Cursor agent enum DegradationStatus. */ export enum DegradationStatus { UNSPECIFIED = 0, DEGRADED = 1, DISABLED = 2, } /** Cursor agent enum DiagnosticSeverity. */ export enum DiagnosticSeverity { UNSPECIFIED = 0, ERROR = 1, WARNING = 2, INFORMATION = 3, HINT = 4, } /** Cursor agent enum ForceBackgroundShellStatus. */ export enum ForceBackgroundShellStatus { UNSPECIFIED = 0, ACCEPTED = 1, NOT_FOUND = 2, } /** Cursor agent enum ForceBackgroundSubagentStatus. */ export enum ForceBackgroundSubagentStatus { UNSPECIFIED = 0, ACCEPTED = 1, NOT_FOUND = 2, } /** Cursor agent enum GetDiffRequest_OutputFormat. */ export enum GetDiffRequest_OutputFormat { UNSPECIFIED = 0, NAME_STATUS = 1, NAME_STATUS_AND_NUMSTAT = 2, FILE_DIFFS = 3, DIFFS_WITH_BEFORE_AND_AFTER = 4, } /** Cursor agent enum GitDiff_DiffType. */ export enum GitDiff_DiffType { UNSPECIFIED = 0, DIFF_TO_HEAD = 1, DIFF_FROM_BRANCH_TO_MAIN = 2, } /** Cursor agent enum ModelVendorId. */ export enum ModelVendorId { UNSPECIFIED = 0, ANTHROPIC = 1, OPENAI = 2, GOOGLE = 3, XAI = 4, MOONSHOT = 5, CURSOR = 6, NVIDIA = 7, ZAI = 8, META = 9, } /** Cursor agent enum ShellBackgroundReason. */ export enum ShellBackgroundReason { UNSPECIFIED = 0, TIMEOUT = 1, USER_REQUEST = 2, } /** Cursor agent enum ShellHookApprovalRequirement_Kind. */ export enum ShellHookApprovalRequirement_Kind { UNSPECIFIED = 0, FORCE_PROMPT = 1, } /** Cursor agent enum SmartModeClassifierDecision. */ export enum SmartModeClassifierDecision { UNSPECIFIED = 0, ALLOW = 1, BLOCK = 2, } /** Cursor agent enum SubagentBackgroundReason. */ export enum SubagentBackgroundReason { UNSPECIFIED = 0, AGENT_REQUEST = 1, USER_REQUEST = 2, QUEUED_FOLLOW_UP = 3, } /** Cursor agent message agent.v1.AfterAgentResponseRequestQuery. */ export interface AfterAgentResponseRequestQuery extends ProtoMessage { } export const AfterAgentResponseRequestQuerySchema: MessageCodec = pb("agent.v1.AfterAgentResponseRequestQuery", [ ]); /** Cursor agent message agent.v1.AfterAgentResponseRequestResponse. */ export interface AfterAgentResponseRequestResponse extends ProtoMessage { } export const AfterAgentResponseRequestResponseSchema: MessageCodec = pb("agent.v1.AfterAgentResponseRequestResponse", [ ]); /** Cursor agent message agent.v1.AfterAgentThoughtRequestQuery. */ export interface AfterAgentThoughtRequestQuery extends ProtoMessage { } export const AfterAgentThoughtRequestQuerySchema: MessageCodec = pb("agent.v1.AfterAgentThoughtRequestQuery", [ ]); /** Cursor agent message agent.v1.AfterAgentThoughtRequestResponse. */ export interface AfterAgentThoughtRequestResponse extends ProtoMessage { } export const AfterAgentThoughtRequestResponseSchema: MessageCodec = pb("agent.v1.AfterAgentThoughtRequestResponse", [ ]); /** Cursor agent message agent.v1.AgentClientMessage. */ export interface AgentClientMessage extends ProtoMessage { message: | { case: undefined; value?: undefined } | { case: "runRequest"; value: AgentRunRequest } | { case: "execClientMessage"; value: ExecClientMessage } | { case: "execClientControlMessage"; value: ExecClientControlMessage } | { case: "kvClientMessage"; value: KvClientMessage } | { case: "conversationAction"; value: ConversationAction } | { case: "interactionResponse"; value: InteractionResponse } | { case: "clientHeartbeat"; value: ClientHeartbeat } | { case: "prewarmRequest"; value: PrewarmRequest }; } export const AgentClientMessageSchema: MessageCodec = pb("agent.v1.AgentClientMessage", [ { kind: "oneof", name: "message", variants: [ { no: 1, name: "runRequest", kind: "message", T: () => AgentRunRequestSchema }, { no: 2, name: "execClientMessage", kind: "message", T: () => ExecClientMessageSchema }, { no: 5, name: "execClientControlMessage", kind: "message", T: () => ExecClientControlMessageSchema }, { no: 3, name: "kvClientMessage", kind: "message", T: () => KvClientMessageSchema }, { no: 4, name: "conversationAction", kind: "message", T: () => ConversationActionSchema }, { no: 6, name: "interactionResponse", kind: "message", T: () => InteractionResponseSchema }, { no: 7, name: "clientHeartbeat", kind: "message", T: () => ClientHeartbeatSchema }, { no: 8, name: "prewarmRequest", kind: "message", T: () => PrewarmRequestSchema }, ], }, ]); /** Cursor agent message agent.v1.AgentConversationTurnStructure. */ export interface AgentConversationTurnStructure extends ProtoMessage { userMessage: Uint8Array; steps: Uint8Array[]; requestId?: string; } export const AgentConversationTurnStructureSchema: MessageCodec = pb("agent.v1.AgentConversationTurnStructure", [ { no: 1, name: "userMessage", kind: "bytes" }, { no: 2, name: "steps", kind: "bytes", repeat: true }, { no: 3, name: "requestId", kind: "string", optional: true }, ]); /** Cursor agent message agent.v1.AgentRunRequest. */ export interface AgentRunRequest extends ProtoMessage { conversationState?: ConversationStateStructure; action?: ConversationAction; modelDetails?: ModelDetails; requestedModel?: RequestedModel; mcpTools?: McpTools; conversationId?: string; mcpFileSystemOptions?: McpFileSystemOptions; skillOptions?: SkillOptions; customSystemPrompt?: string; } export const AgentRunRequestSchema: MessageCodec = pb("agent.v1.AgentRunRequest", [ { no: 1, name: "conversationState", kind: "message", T: () => ConversationStateStructureSchema }, { no: 2, name: "action", kind: "message", T: () => ConversationActionSchema }, { no: 3, name: "modelDetails", kind: "message", T: () => ModelDetailsSchema }, { no: 9, name: "requestedModel", kind: "message", T: () => RequestedModelSchema }, { no: 4, name: "mcpTools", kind: "message", T: () => McpToolsSchema }, { no: 5, name: "conversationId", kind: "string", optional: true }, { no: 6, name: "mcpFileSystemOptions", kind: "message", T: () => McpFileSystemOptionsSchema }, { no: 7, name: "skillOptions", kind: "message", T: () => SkillOptionsSchema }, { no: 8, name: "customSystemPrompt", kind: "string", optional: true }, ]); /** Cursor agent message agent.v1.AgentServerMessage. */ export interface AgentServerMessage extends ProtoMessage { message: | { case: undefined; value?: undefined } | { case: "interactionUpdate"; value: InteractionUpdate } | { case: "execServerMessage"; value: ExecServerMessage } | { case: "execServerControlMessage"; value: ExecServerControlMessage } | { case: "conversationCheckpointUpdate"; value: ConversationStateStructure } | { case: "kvServerMessage"; value: KvServerMessage } | { case: "interactionQuery"; value: InteractionQuery }; } export const AgentServerMessageSchema: MessageCodec = pb("agent.v1.AgentServerMessage", [ { kind: "oneof", name: "message", variants: [ { no: 1, name: "interactionUpdate", kind: "message", T: () => InteractionUpdateSchema }, { no: 2, name: "execServerMessage", kind: "message", T: () => ExecServerMessageSchema }, { no: 5, name: "execServerControlMessage", kind: "message", T: () => ExecServerControlMessageSchema }, { no: 3, name: "conversationCheckpointUpdate", kind: "message", T: () => ConversationStateStructureSchema }, { no: 4, name: "kvServerMessage", kind: "message", T: () => KvServerMessageSchema }, { no: 7, name: "interactionQuery", kind: "message", T: () => InteractionQuerySchema }, ], }, ]); /** Cursor agent message agent.v1.AgentStoreConflictArgs. */ export interface AgentStoreConflictArgs extends ProtoMessage { cursor?: AgentStoreConflictCursor; advance?: boolean; } export const AgentStoreConflictArgsSchema: MessageCodec = pb("agent.v1.AgentStoreConflictArgs", [ { no: 1, name: "cursor", kind: "message", T: () => AgentStoreConflictCursorSchema }, { no: 2, name: "advance", kind: "bool", optional: true }, ]); /** Cursor agent message agent.v1.AgentStoreConflictCursor. */ export interface AgentStoreConflictCursor extends ProtoMessage { journalEpoch: string; seq: bigint; lastEventId: string; } export const AgentStoreConflictCursorSchema: MessageCodec = pb("agent.v1.AgentStoreConflictCursor", [ { no: 1, name: "journalEpoch", kind: "string" }, { no: 2, name: "seq", kind: "uint64" }, { no: 3, name: "lastEventId", kind: "string" }, ]); /** Cursor agent message agent.v1.AgentStoreConflictError. */ export interface AgentStoreConflictError extends ProtoMessage { error: string; } export const AgentStoreConflictErrorSchema: MessageCodec = pb("agent.v1.AgentStoreConflictError", [ { no: 1, name: "error", kind: "string" }, ]); /** Cursor agent message agent.v1.AgentStoreConflictEvent. */ export interface AgentStoreConflictEvent extends ProtoMessage { v: number; eventId: string; journalEpoch: string; seq: bigint; tsMs: bigint; kind: string; storeId?: string; originalRelPath?: string; conflictRelPath?: string; originalAbsPath?: string; conflictAbsPath?: string; preservedBytes?: bigint; } export const AgentStoreConflictEventSchema: MessageCodec = pb("agent.v1.AgentStoreConflictEvent", [ { no: 1, name: "v", kind: "uint32" }, { no: 2, name: "eventId", kind: "string" }, { no: 3, name: "journalEpoch", kind: "string" }, { no: 4, name: "seq", kind: "uint64" }, { no: 5, name: "tsMs", kind: "uint64" }, { no: 6, name: "kind", kind: "string" }, { no: 7, name: "storeId", kind: "string", optional: true }, { no: 8, name: "originalRelPath", kind: "string", optional: true }, { no: 9, name: "conflictRelPath", kind: "string", optional: true }, { no: 10, name: "originalAbsPath", kind: "string", optional: true }, { no: 11, name: "conflictAbsPath", kind: "string", optional: true }, { no: 12, name: "preservedBytes", kind: "uint64", optional: true }, ]); /** Cursor agent message agent.v1.AgentStoreConflictResult. */ export interface AgentStoreConflictResult extends ProtoMessage { result: | { case: undefined; value?: undefined } | { case: "success"; value: AgentStoreConflictSuccess } | { case: "error"; value: AgentStoreConflictError }; } export const AgentStoreConflictResultSchema: MessageCodec = pb("agent.v1.AgentStoreConflictResult", [ { kind: "oneof", name: "result", variants: [ { no: 1, name: "success", kind: "message", T: () => AgentStoreConflictSuccessSchema }, { no: 2, name: "error", kind: "message", T: () => AgentStoreConflictErrorSchema }, ], }, ]); /** Cursor agent message agent.v1.AgentStoreConflictSuccess. */ export interface AgentStoreConflictSuccess extends ProtoMessage { events: AgentStoreConflictEvent[]; nextCursor?: AgentStoreConflictCursor; gap: boolean; } export const AgentStoreConflictSuccessSchema: MessageCodec = pb("agent.v1.AgentStoreConflictSuccess", [ { no: 1, name: "events", kind: "message", T: () => AgentStoreConflictEventSchema, repeat: true }, { no: 2, name: "nextCursor", kind: "message", T: () => AgentStoreConflictCursorSchema }, { no: 3, name: "gap", kind: "bool" }, ]); /** Cursor agent message agent.v1.ApiKeyCredentials. */ export interface ApiKeyCredentials extends ProtoMessage { apiKey: string; baseUrl?: string; } export const ApiKeyCredentialsSchema: MessageCodec = pb("agent.v1.ApiKeyCredentials", [ { no: 1, name: "apiKey", kind: "string" }, { no: 2, name: "baseUrl", kind: "string", optional: true }, ]); /** Cursor agent message agent.v1.AppliedAgentChange. */ export interface AppliedAgentChange extends ProtoMessage { path: string; changeType: number; beforeContent?: string; afterContent?: string; error?: string; messageForModel?: string; } export const AppliedAgentChangeSchema: MessageCodec = pb("agent.v1.AppliedAgentChange", [ { no: 1, name: "path", kind: "string" }, { no: 2, name: "changeType", kind: "int32" }, { no: 3, name: "beforeContent", kind: "string", optional: true }, { no: 4, name: "afterContent", kind: "string", optional: true }, { no: 5, name: "error", kind: "string", optional: true }, { no: 6, name: "messageForModel", kind: "string", optional: true }, ]); /** Cursor agent message agent.v1.ApplyAgentDiffArgs. */ export interface ApplyAgentDiffArgs extends ProtoMessage { agentId: string; } export const ApplyAgentDiffArgsSchema: MessageCodec = pb("agent.v1.ApplyAgentDiffArgs", [ { no: 1, name: "agentId", kind: "string" }, ]); /** Cursor agent message agent.v1.ApplyAgentDiffError. */ export interface ApplyAgentDiffError extends ProtoMessage { error: string; appliedChanges: AppliedAgentChange[]; } export const ApplyAgentDiffErrorSchema: MessageCodec = pb("agent.v1.ApplyAgentDiffError", [ { no: 1, name: "error", kind: "string" }, { no: 2, name: "appliedChanges", kind: "message", T: () => AppliedAgentChangeSchema, repeat: true }, ]); /** Cursor agent message agent.v1.ApplyAgentDiffResult. */ export interface ApplyAgentDiffResult extends ProtoMessage { result: | { case: undefined; value?: undefined } | { case: "success"; value: ApplyAgentDiffSuccess } | { case: "error"; value: ApplyAgentDiffError }; } export const ApplyAgentDiffResultSchema: MessageCodec = pb("agent.v1.ApplyAgentDiffResult", [ { kind: "oneof", name: "result", variants: [ { no: 1, name: "success", kind: "message", T: () => ApplyAgentDiffSuccessSchema }, { no: 2, name: "error", kind: "message", T: () => ApplyAgentDiffErrorSchema }, ], }, ]); /** Cursor agent message agent.v1.ApplyAgentDiffSuccess. */ export interface ApplyAgentDiffSuccess extends ProtoMessage { appliedChanges: AppliedAgentChange[]; } export const ApplyAgentDiffSuccessSchema: MessageCodec = pb("agent.v1.ApplyAgentDiffSuccess", [ { no: 1, name: "appliedChanges", kind: "message", T: () => AppliedAgentChangeSchema, repeat: true }, ]); /** Cursor agent message agent.v1.ApplyAgentDiffToolCall. */ export interface ApplyAgentDiffToolCall extends ProtoMessage { args?: ApplyAgentDiffArgs; result?: ApplyAgentDiffResult; } export const ApplyAgentDiffToolCallSchema: MessageCodec = pb("agent.v1.ApplyAgentDiffToolCall", [ { no: 1, name: "args", kind: "message", T: () => ApplyAgentDiffArgsSchema }, { no: 2, name: "result", kind: "message", T: () => ApplyAgentDiffResultSchema }, ]); /** Cursor agent message agent.v1.AskQuestionArgs. */ export interface AskQuestionArgs extends ProtoMessage { title: string; questions: AskQuestionArgs_Question[]; runAsync: boolean; asyncOriginalToolCallId: string; } export const AskQuestionArgsSchema: MessageCodec = pb("agent.v1.AskQuestionArgs", [ { no: 1, name: "title", kind: "string" }, { no: 2, name: "questions", kind: "message", T: () => AskQuestionArgs_QuestionSchema, repeat: true }, { no: 5, name: "runAsync", kind: "bool" }, { no: 6, name: "asyncOriginalToolCallId", kind: "string" }, ]); /** Cursor agent message agent.v1.AskQuestionArgs_Option. */ export interface AskQuestionArgs_Option extends ProtoMessage { id: string; label: string; } export const AskQuestionArgs_OptionSchema: MessageCodec = pb("agent.v1.AskQuestionArgs_Option", [ { no: 1, name: "id", kind: "string" }, { no: 2, name: "label", kind: "string" }, ]); /** Cursor agent message agent.v1.AskQuestionArgs_Question. */ export interface AskQuestionArgs_Question extends ProtoMessage { id: string; prompt: string; options: AskQuestionArgs_Option[]; allowMultiple: boolean; } export const AskQuestionArgs_QuestionSchema: MessageCodec = pb("agent.v1.AskQuestionArgs_Question", [ { no: 1, name: "id", kind: "string" }, { no: 2, name: "prompt", kind: "string" }, { no: 3, name: "options", kind: "message", T: () => AskQuestionArgs_OptionSchema, repeat: true }, { no: 4, name: "allowMultiple", kind: "bool" }, ]); /** Cursor agent message agent.v1.AskQuestionAsync. */ export interface AskQuestionAsync extends ProtoMessage { } export const AskQuestionAsyncSchema: MessageCodec = pb("agent.v1.AskQuestionAsync", [ ]); /** Cursor agent message agent.v1.AskQuestionError. */ export interface AskQuestionError extends ProtoMessage { errorMessage: string; } export const AskQuestionErrorSchema: MessageCodec = pb("agent.v1.AskQuestionError", [ { no: 1, name: "errorMessage", kind: "string" }, ]); /** Cursor agent message agent.v1.AskQuestionInteractionQuery. */ export interface AskQuestionInteractionQuery extends ProtoMessage { args?: AskQuestionArgs; toolCallId: string; } export const AskQuestionInteractionQuerySchema: MessageCodec = pb("agent.v1.AskQuestionInteractionQuery", [ { no: 1, name: "args", kind: "message", T: () => AskQuestionArgsSchema }, { no: 2, name: "toolCallId", kind: "string" }, ]); /** Cursor agent message agent.v1.AskQuestionInteractionResponse. */ export interface AskQuestionInteractionResponse extends ProtoMessage { result?: AskQuestionResult; } export const AskQuestionInteractionResponseSchema: MessageCodec = pb("agent.v1.AskQuestionInteractionResponse", [ { no: 1, name: "result", kind: "message", T: () => AskQuestionResultSchema }, ]); /** Cursor agent message agent.v1.AskQuestionRejected. */ export interface AskQuestionRejected extends ProtoMessage { reason: string; } export const AskQuestionRejectedSchema: MessageCodec = pb("agent.v1.AskQuestionRejected", [ { no: 1, name: "reason", kind: "string" }, ]); /** Cursor agent message agent.v1.AskQuestionResult. */ export interface AskQuestionResult extends ProtoMessage { result: | { case: undefined; value?: undefined } | { case: "success"; value: AskQuestionSuccess } | { case: "error"; value: AskQuestionError } | { case: "rejected"; value: AskQuestionRejected } | { case: "async"; value: AskQuestionAsync }; } export const AskQuestionResultSchema: MessageCodec = pb("agent.v1.AskQuestionResult", [ { kind: "oneof", name: "result", variants: [ { no: 1, name: "success", kind: "message", T: () => AskQuestionSuccessSchema }, { no: 2, name: "error", kind: "message", T: () => AskQuestionErrorSchema }, { no: 3, name: "rejected", kind: "message", T: () => AskQuestionRejectedSchema }, { no: 4, name: "async", kind: "message", T: () => AskQuestionAsyncSchema }, ], }, ]); /** Cursor agent message agent.v1.AskQuestionSuccess. */ export interface AskQuestionSuccess extends ProtoMessage { answers: AskQuestionSuccess_Answer[]; } export const AskQuestionSuccessSchema: MessageCodec = pb("agent.v1.AskQuestionSuccess", [ { no: 1, name: "answers", kind: "message", T: () => AskQuestionSuccess_AnswerSchema, repeat: true }, ]); /** Cursor agent message agent.v1.AskQuestionSuccess_Answer. */ export interface AskQuestionSuccess_Answer extends ProtoMessage { questionId: string; selectedOptionIds: string[]; } export const AskQuestionSuccess_AnswerSchema: MessageCodec = pb("agent.v1.AskQuestionSuccess_Answer", [ { no: 1, name: "questionId", kind: "string" }, { no: 2, name: "selectedOptionIds", kind: "string", repeat: true }, ]); /** Cursor agent message agent.v1.AskQuestionToolCall. */ export interface AskQuestionToolCall extends ProtoMessage { args?: AskQuestionArgs; result?: AskQuestionResult; } export const AskQuestionToolCallSchema: MessageCodec = pb("agent.v1.AskQuestionToolCall", [ { no: 1, name: "args", kind: "message", T: () => AskQuestionArgsSchema }, { no: 2, name: "result", kind: "message", T: () => AskQuestionResultSchema }, ]); /** Cursor agent message agent.v1.AssistantMessage. */ export interface AssistantMessage extends ProtoMessage { text: string; } export const AssistantMessageSchema: MessageCodec = pb("agent.v1.AssistantMessage", [ { no: 1, name: "text", kind: "string" }, ]); /** Cursor agent message agent.v1.AsyncAskQuestionCompletionAction. */ export interface AsyncAskQuestionCompletionAction extends ProtoMessage { originalToolCallId: string; originalArgs?: AskQuestionArgs; result?: AskQuestionResult; } export const AsyncAskQuestionCompletionActionSchema: MessageCodec = pb("agent.v1.AsyncAskQuestionCompletionAction", [ { no: 1, name: "originalToolCallId", kind: "string" }, { no: 2, name: "originalArgs", kind: "message", T: () => AskQuestionArgsSchema }, { no: 3, name: "result", kind: "message", T: () => AskQuestionResultSchema }, ]); /** Cursor agent message aiserver.v1.AvailableModelsRequest. */ export interface AvailableModelsRequest extends ProtoMessage { isNightly: boolean; includeLongContextModels: boolean; excludeMaxNamedModels: boolean; additionalModelNames: string[]; useModelParameters?: boolean; includeHiddenModels?: boolean; doNotUseMarkdown?: boolean; variantsWillBeShownInExplodedList?: boolean; forAutomations?: boolean; scope?: number; useReactModelPicker?: boolean; useCloudAgentEffortModes?: boolean; adminSettingsGroupPublicId?: string; byokEnabled?: boolean; } export const AvailableModelsRequestSchema: MessageCodec = pb("aiserver.v1.AvailableModelsRequest", [ { no: 1, name: "isNightly", kind: "bool" }, { no: 2, name: "includeLongContextModels", kind: "bool" }, { no: 3, name: "excludeMaxNamedModels", kind: "bool" }, { no: 4, name: "additionalModelNames", kind: "string", repeat: true }, { no: 5, name: "useModelParameters", kind: "bool", optional: true }, { no: 6, name: "includeHiddenModels", kind: "bool", optional: true }, { no: 7, name: "doNotUseMarkdown", kind: "bool", optional: true }, { no: 8, name: "variantsWillBeShownInExplodedList", kind: "bool", optional: true }, { no: 9, name: "forAutomations", kind: "bool", optional: true }, { no: 10, name: "scope", kind: "int32", optional: true }, { no: 11, name: "useReactModelPicker", kind: "bool", optional: true }, { no: 12, name: "useCloudAgentEffortModes", kind: "bool", optional: true }, { no: 13, name: "adminSettingsGroupPublicId", kind: "string", optional: true }, { no: 14, name: "byokEnabled", kind: "bool", optional: true }, ]); /** Cursor agent message aiserver.v1.AvailableModelsResponse. */ export interface AvailableModelsResponse extends ProtoMessage { modelNames: string[]; models: AvailableModelsResponse_ModelDetails[]; useModelParameters: boolean; } export const AvailableModelsResponseSchema: MessageCodec = pb("aiserver.v1.AvailableModelsResponse", [ { no: 1, name: "modelNames", kind: "string", repeat: true }, { no: 2, name: "models", kind: "message", T: () => AvailableModelsResponse_ModelDetailsSchema, repeat: true }, { no: 11, name: "useModelParameters", kind: "bool" }, ]); /** Cursor agent message aiserver.v1.AvailableModelsResponse_ConfirmationDialogue. */ export interface AvailableModelsResponse_ConfirmationDialogue extends ProtoMessage { title: string; body: string; key: string; blocksSubmission: boolean; } export const AvailableModelsResponse_ConfirmationDialogueSchema: MessageCodec = pb("aiserver.v1.AvailableModelsResponse_ConfirmationDialogue", [ { no: 1, name: "title", kind: "string" }, { no: 2, name: "body", kind: "string" }, { no: 3, name: "key", kind: "string" }, { no: 4, name: "blocksSubmission", kind: "bool" }, ]); /** Cursor agent message aiserver.v1.AvailableModelsResponse_ModelDetails. */ export interface AvailableModelsResponse_ModelDetails extends ProtoMessage { name: string; defaultOn: boolean; isLongContextOnly?: boolean; isChatOnly?: boolean; supportsAgent?: boolean; degradationStatus?: DegradationStatus; price?: number; tooltipData?: AvailableModelsResponse_TooltipData; supportsThinking?: boolean; supportsImages?: boolean; supportsAutoContext?: boolean; autoContextMaxTokens?: number; autoContextExtendedMaxTokens?: number; supportsMaxMode?: boolean; contextTokenLimit?: number; contextTokenLimitForMaxMode?: number; clientDisplayName?: string; serverModelName?: string; supportsNonMaxMode?: boolean; tooltipDataForMaxMode?: AvailableModelsResponse_TooltipData; isRecommendedForBackgroundComposer?: boolean; supportsPlanMode?: boolean; isUserAdded?: boolean; inputboxShortModelName?: string; supportsSandboxing?: boolean; supportsCmdK?: boolean; onlySupportsCmdK?: boolean; backgroundComposerSortOrder?: number; parameterDefinitions: ModelParameterDefinition[]; variants: AvailableModelsResponse_ModelVariantConfig[]; cloudAgentEffortMode?: number; cloudMigrateToModel?: string; upgradeModelId?: string; isHidden?: boolean; legacySlugs: string[]; idAliases: string[]; namedModelSectionIndex?: number; tagline?: string; visibleInRoutedModelView?: boolean; vendorName?: string; vendor?: AvailableModelsResponse_ModelVendor; defaultDisabledInAdminAllowlist?: boolean; cloudAgentEffortModes: number[]; supportsSmartModeClassifier?: boolean; requiresDataRetention?: boolean; reasonForZdrConsentBlock?: string; } export const AvailableModelsResponse_ModelDetailsSchema: MessageCodec = pb("aiserver.v1.AvailableModelsResponse_ModelDetails", [ { no: 1, name: "name", kind: "string" }, { no: 2, name: "defaultOn", kind: "bool" }, { no: 3, name: "isLongContextOnly", kind: "bool", optional: true }, { no: 4, name: "isChatOnly", kind: "bool", optional: true }, { no: 5, name: "supportsAgent", kind: "bool", optional: true }, { no: 6, name: "degradationStatus", kind: "enum", optional: true }, { no: 7, name: "price", kind: "double", optional: true }, { no: 8, name: "tooltipData", kind: "message", T: () => AvailableModelsResponse_TooltipDataSchema }, { no: 9, name: "supportsThinking", kind: "bool", optional: true }, { no: 10, name: "supportsImages", kind: "bool", optional: true }, { no: 11, name: "supportsAutoContext", kind: "bool", optional: true }, { no: 12, name: "autoContextMaxTokens", kind: "uint32", optional: true }, { no: 13, name: "autoContextExtendedMaxTokens", kind: "uint32", optional: true }, { no: 14, name: "supportsMaxMode", kind: "bool", optional: true }, { no: 15, name: "contextTokenLimit", kind: "uint32", optional: true }, { no: 16, name: "contextTokenLimitForMaxMode", kind: "uint32", optional: true }, { no: 17, name: "clientDisplayName", kind: "string", optional: true }, { no: 18, name: "serverModelName", kind: "string", optional: true }, { no: 19, name: "supportsNonMaxMode", kind: "bool", optional: true }, { no: 20, name: "tooltipDataForMaxMode", kind: "message", T: () => AvailableModelsResponse_TooltipDataSchema }, { no: 21, name: "isRecommendedForBackgroundComposer", kind: "bool", optional: true }, { no: 22, name: "supportsPlanMode", kind: "bool", optional: true }, { no: 23, name: "isUserAdded", kind: "bool", optional: true }, { no: 24, name: "inputboxShortModelName", kind: "string", optional: true }, { no: 25, name: "supportsSandboxing", kind: "bool", optional: true }, { no: 26, name: "supportsCmdK", kind: "bool", optional: true }, { no: 27, name: "onlySupportsCmdK", kind: "bool", optional: true }, { no: 28, name: "backgroundComposerSortOrder", kind: "uint32", optional: true }, { no: 29, name: "parameterDefinitions", kind: "message", T: () => ModelParameterDefinitionSchema, repeat: true }, { no: 30, name: "variants", kind: "message", T: () => AvailableModelsResponse_ModelVariantConfigSchema, repeat: true }, { no: 32, name: "cloudAgentEffortMode", kind: "int32", optional: true }, { no: 33, name: "cloudMigrateToModel", kind: "string", optional: true }, { no: 34, name: "upgradeModelId", kind: "string", optional: true }, { no: 35, name: "isHidden", kind: "bool", optional: true }, { no: 36, name: "legacySlugs", kind: "string", repeat: true }, { no: 37, name: "idAliases", kind: "string", repeat: true }, { no: 38, name: "namedModelSectionIndex", kind: "uint32", optional: true }, { no: 39, name: "tagline", kind: "string", optional: true }, { no: 40, name: "visibleInRoutedModelView", kind: "bool", optional: true }, { no: 41, name: "vendorName", kind: "string", optional: true }, { no: 42, name: "vendor", kind: "message", T: () => AvailableModelsResponse_ModelVendorSchema }, { no: 43, name: "defaultDisabledInAdminAllowlist", kind: "bool", optional: true }, { no: 44, name: "cloudAgentEffortModes", kind: "int32", repeat: true }, { no: 45, name: "supportsSmartModeClassifier", kind: "bool", optional: true }, { no: 46, name: "requiresDataRetention", kind: "bool", optional: true }, { no: 47, name: "reasonForZdrConsentBlock", kind: "string", optional: true }, ]); /** Cursor agent message aiserver.v1.AvailableModelsResponse_ModelVariantConfig. */ export interface AvailableModelsResponse_ModelVariantConfig extends ProtoMessage { parameterValues: ModelParameterValue[]; displayName?: string; isMaxMode?: boolean; isDefaultMaxConfig?: boolean; isDefaultNonMaxConfig?: boolean; tooltipData?: AvailableModelsResponse_TooltipData; tagline?: string; displayNameOutsidePicker?: string; variantStringRepresentation?: string; confirmationDialogue?: AvailableModelsResponse_ConfirmationDialogue; legacySlug?: string; } export const AvailableModelsResponse_ModelVariantConfigSchema: MessageCodec = pb("aiserver.v1.AvailableModelsResponse_ModelVariantConfig", [ { no: 1, name: "parameterValues", kind: "message", T: () => ModelParameterValueSchema, repeat: true }, { no: 2, name: "displayName", kind: "string", optional: true }, { no: 3, name: "isMaxMode", kind: "bool", optional: true }, { no: 4, name: "isDefaultMaxConfig", kind: "bool", optional: true }, { no: 5, name: "isDefaultNonMaxConfig", kind: "bool", optional: true }, { no: 6, name: "tooltipData", kind: "message", T: () => AvailableModelsResponse_TooltipDataSchema }, { no: 7, name: "tagline", kind: "string", optional: true }, { no: 8, name: "displayNameOutsidePicker", kind: "string", optional: true }, { no: 9, name: "variantStringRepresentation", kind: "string", optional: true }, { no: 10, name: "confirmationDialogue", kind: "message", T: () => AvailableModelsResponse_ConfirmationDialogueSchema }, { no: 11, name: "legacySlug", kind: "string", optional: true }, ]); /** Cursor agent message aiserver.v1.AvailableModelsResponse_ModelVendor. */ export interface AvailableModelsResponse_ModelVendor extends ProtoMessage { id: ModelVendorId; displayName: string; } export const AvailableModelsResponse_ModelVendorSchema: MessageCodec = pb("aiserver.v1.AvailableModelsResponse_ModelVendor", [ { no: 1, name: "id", kind: "enum" }, { no: 2, name: "displayName", kind: "string" }, ]); /** Cursor agent message aiserver.v1.AvailableModelsResponse_TooltipData. */ export interface AvailableModelsResponse_TooltipData extends ProtoMessage { primaryText: string; secondaryText: string; secondaryWarningText: string; icon: string; tertiaryText: string; tertiaryTextUrl?: string; markdownContent?: string; } export const AvailableModelsResponse_TooltipDataSchema: MessageCodec = pb("aiserver.v1.AvailableModelsResponse_TooltipData", [ { no: 1, name: "primaryText", kind: "string" }, { no: 2, name: "secondaryText", kind: "string" }, { no: 3, name: "secondaryWarningText", kind: "string" }, { no: 4, name: "icon", kind: "string" }, { no: 5, name: "tertiaryText", kind: "string" }, { no: 6, name: "tertiaryTextUrl", kind: "string", optional: true }, { no: 7, name: "markdownContent", kind: "string", optional: true }, ]); /** Cursor agent message agent.v1.AzureCredentials. */ export interface AzureCredentials extends ProtoMessage { apiKey: string; baseUrl: string; deployment: string; } export const AzureCredentialsSchema: MessageCodec = pb("agent.v1.AzureCredentials", [ { no: 1, name: "apiKey", kind: "string" }, { no: 2, name: "baseUrl", kind: "string" }, { no: 3, name: "deployment", kind: "string" }, ]); /** Cursor agent message agent.v1.BackgroundShellSpawnArgs. */ export interface BackgroundShellSpawnArgs extends ProtoMessage { command: string; workingDirectory: string; toolCallId: string; parsingResult?: ShellCommandParsingResult; sandboxPolicy?: SandboxPolicy; enableWriteShellStdinTool: boolean; description?: string; classifierResult?: CommandClassifierResult; outputNotification?: ShellOutputNotificationConfig; smartModeApproval?: SmartModeApproval; hookApprovalRequirement?: ShellHookApprovalRequirement; skipApproval: boolean; conversationId?: string; } export const BackgroundShellSpawnArgsSchema: MessageCodec = pb("agent.v1.BackgroundShellSpawnArgs", [ { no: 1, name: "command", kind: "string" }, { no: 2, name: "workingDirectory", kind: "string" }, { no: 3, name: "toolCallId", kind: "string" }, { no: 4, name: "parsingResult", kind: "message", T: () => ShellCommandParsingResultSchema }, { no: 5, name: "sandboxPolicy", kind: "message", T: () => SandboxPolicySchema }, { no: 6, name: "enableWriteShellStdinTool", kind: "bool" }, { no: 7, name: "description", kind: "string", optional: true }, { no: 8, name: "classifierResult", kind: "message", T: () => CommandClassifierResultSchema }, { no: 9, name: "outputNotification", kind: "message", T: () => ShellOutputNotificationConfigSchema }, { no: 10, name: "smartModeApproval", kind: "message", T: () => SmartModeApprovalSchema }, { no: 11, name: "hookApprovalRequirement", kind: "message", T: () => ShellHookApprovalRequirementSchema }, { no: 12, name: "skipApproval", kind: "bool" }, { no: 13, name: "conversationId", kind: "string", optional: true }, ]); /** Cursor agent message agent.v1.BackgroundShellSpawnError. */ export interface BackgroundShellSpawnError extends ProtoMessage { command: string; workingDirectory: string; error: string; } export const BackgroundShellSpawnErrorSchema: MessageCodec = pb("agent.v1.BackgroundShellSpawnError", [ { no: 1, name: "command", kind: "string" }, { no: 2, name: "workingDirectory", kind: "string" }, { no: 3, name: "error", kind: "string" }, ]); /** Cursor agent message agent.v1.BackgroundShellSpawnResult. */ export interface BackgroundShellSpawnResult extends ProtoMessage { result: | { case: undefined; value?: undefined } | { case: "success"; value: BackgroundShellSpawnSuccess } | { case: "error"; value: BackgroundShellSpawnError } | { case: "rejected"; value: ShellRejected } | { case: "permissionDenied"; value: ShellPermissionDenied }; } export const BackgroundShellSpawnResultSchema: MessageCodec = pb("agent.v1.BackgroundShellSpawnResult", [ { kind: "oneof", name: "result", variants: [ { no: 1, name: "success", kind: "message", T: () => BackgroundShellSpawnSuccessSchema }, { no: 2, name: "error", kind: "message", T: () => BackgroundShellSpawnErrorSchema }, { no: 3, name: "rejected", kind: "message", T: () => ShellRejectedSchema }, { no: 4, name: "permissionDenied", kind: "message", T: () => ShellPermissionDeniedSchema }, ], }, ]); /** Cursor agent message agent.v1.BackgroundShellSpawnSuccess. */ export interface BackgroundShellSpawnSuccess extends ProtoMessage { shellId: number; command: string; workingDirectory: string; pid?: number; } export const BackgroundShellSpawnSuccessSchema: MessageCodec = pb("agent.v1.BackgroundShellSpawnSuccess", [ { no: 1, name: "shellId", kind: "uint32" }, { no: 2, name: "command", kind: "string" }, { no: 3, name: "workingDirectory", kind: "string" }, { no: 4, name: "pid", kind: "uint32", optional: true }, ]); /** Cursor agent message agent.v1.BedrockCredentials. */ export interface BedrockCredentials extends ProtoMessage { accessKey: string; secretKey: string; region: string; sessionToken?: string; } export const BedrockCredentialsSchema: MessageCodec = pb("agent.v1.BedrockCredentials", [ { no: 1, name: "accessKey", kind: "string" }, { no: 2, name: "secretKey", kind: "string" }, { no: 3, name: "region", kind: "string" }, { no: 4, name: "sessionToken", kind: "string", optional: true }, ]); /** Cursor agent message agent.v1.BeforeSubmitPromptRequestQuery. */ export interface BeforeSubmitPromptRequestQuery extends ProtoMessage { } export const BeforeSubmitPromptRequestQuerySchema: MessageCodec = pb("agent.v1.BeforeSubmitPromptRequestQuery", [ ]); /** Cursor agent message agent.v1.BeforeSubmitPromptRequestResponse. */ export interface BeforeSubmitPromptRequestResponse extends ProtoMessage { continue?: boolean; userMessage?: string; additionalContext?: string; } export const BeforeSubmitPromptRequestResponseSchema: MessageCodec = pb("agent.v1.BeforeSubmitPromptRequestResponse", [ { no: 1, name: "continue", kind: "bool", optional: true }, { no: 2, name: "userMessage", kind: "string", optional: true }, { no: 3, name: "additionalContext", kind: "string", optional: true }, ]); /** Cursor agent message aiserver.v1.BidiAppendRequest. */ export interface BidiAppendRequest extends ProtoMessage { data: string; requestId?: BidiRequestId; appendSeqno: bigint; dataBinary: Uint8Array; } export const BidiAppendRequestSchema: MessageCodec = pb("aiserver.v1.BidiAppendRequest", [ { no: 1, name: "data", kind: "string" }, { no: 2, name: "requestId", kind: "message", T: () => BidiRequestIdSchema }, { no: 3, name: "appendSeqno", kind: "int64" }, { no: 4, name: "dataBinary", kind: "bytes" }, ]); /** Cursor agent message agent.v1.BidiRequestId. */ export interface BidiRequestId extends ProtoMessage { requestId: string; } export const BidiRequestIdSchema: MessageCodec = pb("agent.v1.BidiRequestId", [ { no: 1, name: "requestId", kind: "string" }, ]); /** Cursor agent message agent.v1.CallFrame. */ export interface CallFrame extends ProtoMessage { functionName?: string; url?: string; lineNumber?: number; columnNumber?: number; } export const CallFrameSchema: MessageCodec = pb("agent.v1.CallFrame", [ { no: 1, name: "functionName", kind: "string", optional: true }, { no: 2, name: "url", kind: "string", optional: true }, { no: 3, name: "lineNumber", kind: "int32", optional: true }, { no: 4, name: "columnNumber", kind: "int32", optional: true }, ]); /** Cursor agent message agent.v1.CancelAction. */ export interface CancelAction extends ProtoMessage { } export const CancelActionSchema: MessageCodec = pb("agent.v1.CancelAction", [ ]); /** Cursor agent message agent.v1.CanvasDiagnosticsArgs. */ export interface CanvasDiagnosticsArgs extends ProtoMessage { path: string; toolCallId: string; } export const CanvasDiagnosticsArgsSchema: MessageCodec = pb("agent.v1.CanvasDiagnosticsArgs", [ { no: 1, name: "path", kind: "string" }, { no: 2, name: "toolCallId", kind: "string" }, ]); /** Cursor agent message agent.v1.CanvasDiagnosticsError. */ export interface CanvasDiagnosticsError extends ProtoMessage { path: string; error: string; } export const CanvasDiagnosticsErrorSchema: MessageCodec = pb("agent.v1.CanvasDiagnosticsError", [ { no: 1, name: "path", kind: "string" }, { no: 2, name: "error", kind: "string" }, ]); /** Cursor agent message agent.v1.CanvasDiagnosticsResult. */ export interface CanvasDiagnosticsResult extends ProtoMessage { result: | { case: undefined; value?: undefined } | { case: "success"; value: CanvasDiagnosticsSuccess } | { case: "error"; value: CanvasDiagnosticsError }; } export const CanvasDiagnosticsResultSchema: MessageCodec = pb("agent.v1.CanvasDiagnosticsResult", [ { kind: "oneof", name: "result", variants: [ { no: 1, name: "success", kind: "message", T: () => CanvasDiagnosticsSuccessSchema }, { no: 2, name: "error", kind: "message", T: () => CanvasDiagnosticsErrorSchema }, ], }, ]); /** Cursor agent message agent.v1.CanvasDiagnosticsSuccess. */ export interface CanvasDiagnosticsSuccess extends ProtoMessage { path: string; diagnostics: Diagnostic[]; } export const CanvasDiagnosticsSuccessSchema: MessageCodec = pb("agent.v1.CanvasDiagnosticsSuccess", [ { no: 1, name: "path", kind: "string" }, { no: 2, name: "diagnostics", kind: "message", T: () => DiagnosticSchema, repeat: true }, ]); /** Cursor agent message agent.v1.ClickAction. */ export interface ClickAction extends ProtoMessage { coordinate?: Coordinate; button: number; count: number; modifierKeys?: string; } export const ClickActionSchema: MessageCodec = pb("agent.v1.ClickAction", [ { no: 1, name: "coordinate", kind: "message", T: () => CoordinateSchema }, { no: 2, name: "button", kind: "int32" }, { no: 3, name: "count", kind: "int32" }, { no: 4, name: "modifierKeys", kind: "string", optional: true }, ]); /** Cursor agent message agent.v1.ClientHeartbeat. */ export interface ClientHeartbeat extends ProtoMessage { } export const ClientHeartbeatSchema: MessageCodec = pb("agent.v1.ClientHeartbeat", [ ]); /** Cursor agent message agent.v1.CommandClassifierResult. */ export interface CommandClassifierResult extends ProtoMessage { commands: CommandClassifierResult_ClassifiedCommand[]; suggestedSandboxMode: CommandClassifierResult_SuggestedSandboxMode; classificationFailed: boolean; } export const CommandClassifierResultSchema: MessageCodec = pb("agent.v1.CommandClassifierResult", [ { no: 1, name: "commands", kind: "message", T: () => CommandClassifierResult_ClassifiedCommandSchema, repeat: true }, { no: 2, name: "suggestedSandboxMode", kind: "enum" }, { no: 3, name: "classificationFailed", kind: "bool" }, ]); /** Cursor agent message agent.v1.CommandClassifierResult_ClassifiedCommand. */ export interface CommandClassifierResult_ClassifiedCommand extends ProtoMessage { name: string; arguments: string[]; suggestedAllowlistEntry?: string; subcommandTokens: string[]; } export const CommandClassifierResult_ClassifiedCommandSchema: MessageCodec = pb("agent.v1.CommandClassifierResult_ClassifiedCommand", [ { no: 1, name: "name", kind: "string" }, { no: 2, name: "arguments", kind: "string", repeat: true }, { no: 3, name: "suggestedAllowlistEntry", kind: "string", optional: true }, { no: 4, name: "subcommandTokens", kind: "string", repeat: true }, ]); /** Cursor agent message agent.v1.ComputerUseAction. */ export interface ComputerUseAction extends ProtoMessage { action: | { case: undefined; value?: undefined } | { case: "mouseMove"; value: MouseMoveAction } | { case: "click"; value: ClickAction } | { case: "mouseDown"; value: MouseDownAction } | { case: "mouseUp"; value: MouseUpAction } | { case: "drag"; value: DragAction } | { case: "scroll"; value: ScrollAction } | { case: "type"; value: TypeAction } | { case: "key"; value: KeyAction } | { case: "wait"; value: WaitAction } | { case: "screenshot"; value: ScreenshotAction } | { case: "cursorPosition"; value: CursorPositionAction }; } export const ComputerUseActionSchema: MessageCodec = pb("agent.v1.ComputerUseAction", [ { kind: "oneof", name: "action", variants: [ { no: 1, name: "mouseMove", kind: "message", T: () => MouseMoveActionSchema }, { no: 2, name: "click", kind: "message", T: () => ClickActionSchema }, { no: 3, name: "mouseDown", kind: "message", T: () => MouseDownActionSchema }, { no: 4, name: "mouseUp", kind: "message", T: () => MouseUpActionSchema }, { no: 5, name: "drag", kind: "message", T: () => DragActionSchema }, { no: 6, name: "scroll", kind: "message", T: () => ScrollActionSchema }, { no: 7, name: "type", kind: "message", T: () => TypeActionSchema }, { no: 8, name: "key", kind: "message", T: () => KeyActionSchema }, { no: 9, name: "wait", kind: "message", T: () => WaitActionSchema }, { no: 10, name: "screenshot", kind: "message", T: () => ScreenshotActionSchema }, { no: 11, name: "cursorPosition", kind: "message", T: () => CursorPositionActionSchema }, ], }, ]); /** Cursor agent message agent.v1.ComputerUseArgs. */ export interface ComputerUseArgs extends ProtoMessage { toolCallId: string; actions: ComputerUseAction[]; } export const ComputerUseArgsSchema: MessageCodec = pb("agent.v1.ComputerUseArgs", [ { no: 1, name: "toolCallId", kind: "string" }, { no: 2, name: "actions", kind: "message", T: () => ComputerUseActionSchema, repeat: true }, ]); /** Cursor agent message agent.v1.ComputerUseError. */ export interface ComputerUseError extends ProtoMessage { error: string; actionCount: number; durationMs: number; log?: string; screenshot?: string; screenshotPath?: string; } export const ComputerUseErrorSchema: MessageCodec = pb("agent.v1.ComputerUseError", [ { no: 1, name: "error", kind: "string" }, { no: 2, name: "actionCount", kind: "int32" }, { no: 3, name: "durationMs", kind: "int32" }, { no: 4, name: "log", kind: "string", optional: true }, { no: 5, name: "screenshot", kind: "string", optional: true }, { no: 6, name: "screenshotPath", kind: "string", optional: true }, ]); /** Cursor agent message agent.v1.ComputerUseResult. */ export interface ComputerUseResult extends ProtoMessage { result: | { case: undefined; value?: undefined } | { case: "success"; value: ComputerUseSuccess } | { case: "error"; value: ComputerUseError }; } export const ComputerUseResultSchema: MessageCodec = pb("agent.v1.ComputerUseResult", [ { kind: "oneof", name: "result", variants: [ { no: 1, name: "success", kind: "message", T: () => ComputerUseSuccessSchema }, { no: 2, name: "error", kind: "message", T: () => ComputerUseErrorSchema }, ], }, ]); /** Cursor agent message agent.v1.ComputerUseSuccess. */ export interface ComputerUseSuccess extends ProtoMessage { actionCount: number; durationMs: number; screenshot?: string; log?: string; screenshotPath?: string; cursorPosition?: Coordinate; } export const ComputerUseSuccessSchema: MessageCodec = pb("agent.v1.ComputerUseSuccess", [ { no: 1, name: "actionCount", kind: "int32" }, { no: 2, name: "durationMs", kind: "int32" }, { no: 3, name: "screenshot", kind: "string", optional: true }, { no: 4, name: "log", kind: "string", optional: true }, { no: 5, name: "screenshotPath", kind: "string", optional: true }, { no: 6, name: "cursorPosition", kind: "message", T: () => CoordinateSchema }, ]); /** Cursor agent message agent.v1.ComputerUseToolCall. */ export interface ComputerUseToolCall extends ProtoMessage { args?: ComputerUseArgs; result?: ComputerUseResult; } export const ComputerUseToolCallSchema: MessageCodec = pb("agent.v1.ComputerUseToolCall", [ { no: 1, name: "args", kind: "message", T: () => ComputerUseArgsSchema }, { no: 2, name: "result", kind: "message", T: () => ComputerUseResultSchema }, ]); /** Cursor agent message agent.v1.ConnectScmArgs. */ export interface ConnectScmArgs extends ProtoMessage { toolCallId: string; target: | { case: undefined; value?: undefined } | { case: "github"; value: ConnectScmGithub }; } export const ConnectScmArgsSchema: MessageCodec = pb("agent.v1.ConnectScmArgs", [ { no: 1, name: "toolCallId", kind: "string" }, { kind: "oneof", name: "target", variants: [ { no: 2, name: "github", kind: "message", T: () => ConnectScmGithubSchema }, ], }, ]); /** Cursor agent message agent.v1.ConnectScmError. */ export interface ConnectScmError extends ProtoMessage { error: string; } export const ConnectScmErrorSchema: MessageCodec = pb("agent.v1.ConnectScmError", [ { no: 1, name: "error", kind: "string" }, ]); /** Cursor agent message agent.v1.ConnectScmGithub. */ export interface ConnectScmGithub extends ProtoMessage { repository?: ConnectScmGithubRepository; gheApplication?: string; } export const ConnectScmGithubSchema: MessageCodec = pb("agent.v1.ConnectScmGithub", [ { no: 1, name: "repository", kind: "message", T: () => ConnectScmGithubRepositorySchema }, { no: 2, name: "gheApplication", kind: "string", optional: true }, ]); /** Cursor agent message agent.v1.ConnectScmGithubRepository. */ export interface ConnectScmGithubRepository extends ProtoMessage { owner: string; repo: string; } export const ConnectScmGithubRepositorySchema: MessageCodec = pb("agent.v1.ConnectScmGithubRepository", [ { no: 1, name: "owner", kind: "string" }, { no: 2, name: "repo", kind: "string" }, ]); /** Cursor agent message agent.v1.ConnectScmRejected. */ export interface ConnectScmRejected extends ProtoMessage { reason: string; } export const ConnectScmRejectedSchema: MessageCodec = pb("agent.v1.ConnectScmRejected", [ { no: 1, name: "reason", kind: "string" }, ]); /** Cursor agent message agent.v1.ConnectScmResult. */ export interface ConnectScmResult extends ProtoMessage { result: | { case: undefined; value?: undefined } | { case: "success"; value: ConnectScmSuccess } | { case: "error"; value: ConnectScmError } | { case: "rejected"; value: ConnectScmRejected }; } export const ConnectScmResultSchema: MessageCodec = pb("agent.v1.ConnectScmResult", [ { kind: "oneof", name: "result", variants: [ { no: 1, name: "success", kind: "message", T: () => ConnectScmSuccessSchema }, { no: 2, name: "error", kind: "message", T: () => ConnectScmErrorSchema }, { no: 3, name: "rejected", kind: "message", T: () => ConnectScmRejectedSchema }, ], }, ]); /** Cursor agent message agent.v1.ConnectScmSuccess. */ export interface ConnectScmSuccess extends ProtoMessage { } export const ConnectScmSuccessSchema: MessageCodec = pb("agent.v1.ConnectScmSuccess", [ ]); /** Cursor agent message agent.v1.ConnectScmToolCall. */ export interface ConnectScmToolCall extends ProtoMessage { args?: ConnectScmArgs; result?: ConnectScmResult; } export const ConnectScmToolCallSchema: MessageCodec = pb("agent.v1.ConnectScmToolCall", [ { no: 1, name: "args", kind: "message", T: () => ConnectScmArgsSchema }, { no: 2, name: "result", kind: "message", T: () => ConnectScmResultSchema }, ]); /** Cursor agent message agent.v1.ConversationAction. */ export interface ConversationAction extends ProtoMessage { action: | { case: undefined; value?: undefined } | { case: "userMessageAction"; value: UserMessageAction } | { case: "resumeAction"; value: ResumeAction } | { case: "cancelAction"; value: CancelAction } | { case: "summarizeAction"; value: SummarizeAction } | { case: "shellCommandAction"; value: ShellCommandAction } | { case: "startPlanAction"; value: StartPlanAction } | { case: "executePlanAction"; value: ExecutePlanAction } | { case: "asyncAskQuestionCompletionAction"; value: AsyncAskQuestionCompletionAction }; } export const ConversationActionSchema: MessageCodec = pb("agent.v1.ConversationAction", [ { kind: "oneof", name: "action", variants: [ { no: 1, name: "userMessageAction", kind: "message", T: () => UserMessageActionSchema }, { no: 2, name: "resumeAction", kind: "message", T: () => ResumeActionSchema }, { no: 3, name: "cancelAction", kind: "message", T: () => CancelActionSchema }, { no: 4, name: "summarizeAction", kind: "message", T: () => SummarizeActionSchema }, { no: 5, name: "shellCommandAction", kind: "message", T: () => ShellCommandActionSchema }, { no: 6, name: "startPlanAction", kind: "message", T: () => StartPlanActionSchema }, { no: 7, name: "executePlanAction", kind: "message", T: () => ExecutePlanActionSchema }, { no: 8, name: "asyncAskQuestionCompletionAction", kind: "message", T: () => AsyncAskQuestionCompletionActionSchema }, ], }, ]); /** Cursor agent message agent.v1.ConversationPlan. */ export interface ConversationPlan extends ProtoMessage { plan: string; } export const ConversationPlanSchema: MessageCodec = pb("agent.v1.ConversationPlan", [ { no: 1, name: "plan", kind: "string" }, ]); /** Cursor agent message agent.v1.ConversationSearchArgs. */ export interface ConversationSearchArgs extends ProtoMessage { query: string; toolCallId: string; limit?: number; } export const ConversationSearchArgsSchema: MessageCodec = pb("agent.v1.ConversationSearchArgs", [ { no: 1, name: "query", kind: "string" }, { no: 2, name: "toolCallId", kind: "string" }, { no: 3, name: "limit", kind: "int32", optional: true }, ]); /** Cursor agent message agent.v1.ConversationSearchError. */ export interface ConversationSearchError extends ProtoMessage { error: string; } export const ConversationSearchErrorSchema: MessageCodec = pb("agent.v1.ConversationSearchError", [ { no: 1, name: "error", kind: "string" }, ]); /** Cursor agent message agent.v1.ConversationSearchHit. */ export interface ConversationSearchHit extends ProtoMessage { conversationId: string; title: string; source: ConversationSearchSource; updatedAtMs: bigint; snippet?: string; } export const ConversationSearchHitSchema: MessageCodec = pb("agent.v1.ConversationSearchHit", [ { no: 1, name: "conversationId", kind: "string" }, { no: 2, name: "title", kind: "string" }, { no: 3, name: "source", kind: "enum" }, { no: 4, name: "updatedAtMs", kind: "int64" }, { no: 5, name: "snippet", kind: "string", optional: true }, ]); /** Cursor agent message agent.v1.ConversationSearchResult. */ export interface ConversationSearchResult extends ProtoMessage { result: | { case: undefined; value?: undefined } | { case: "success"; value: ConversationSearchSuccess } | { case: "error"; value: ConversationSearchError }; } export const ConversationSearchResultSchema: MessageCodec = pb("agent.v1.ConversationSearchResult", [ { kind: "oneof", name: "result", variants: [ { no: 1, name: "success", kind: "message", T: () => ConversationSearchSuccessSchema }, { no: 2, name: "error", kind: "message", T: () => ConversationSearchErrorSchema }, ], }, ]); /** Cursor agent message agent.v1.ConversationSearchSuccess. */ export interface ConversationSearchSuccess extends ProtoMessage { hits: ConversationSearchHit[]; truncated: boolean; partial: boolean; rebuilding: boolean; } export const ConversationSearchSuccessSchema: MessageCodec = pb("agent.v1.ConversationSearchSuccess", [ { no: 1, name: "hits", kind: "message", T: () => ConversationSearchHitSchema, repeat: true }, { no: 2, name: "truncated", kind: "bool" }, { no: 3, name: "partial", kind: "bool" }, { no: 4, name: "rebuilding", kind: "bool" }, ]); /** Cursor agent message agent.v1.ConversationStateStructure. */ export interface ConversationStateStructure extends ProtoMessage { turnsOld: Uint8Array[]; rootPromptMessagesJson: Uint8Array[]; turns: Uint8Array[]; todos: Uint8Array[]; pendingToolCalls: string[]; tokenDetails?: ConversationTokenDetails; summary?: Uint8Array; plan?: Uint8Array; previousWorkspaceUris: string[]; mode?: number; summaryArchive?: Uint8Array; fileStates: Record; fileStatesV2: Record; summaryArchives: Uint8Array[]; turnTimings: StepTiming[]; subagentStates: Record; selfSummaryCount: number; readPaths: string[]; } export const ConversationStateStructureSchema: MessageCodec = pb("agent.v1.ConversationStateStructure", [ { no: 2, name: "turnsOld", kind: "bytes", repeat: true }, { no: 1, name: "rootPromptMessagesJson", kind: "bytes", repeat: true }, { no: 8, name: "turns", kind: "bytes", repeat: true }, { no: 3, name: "todos", kind: "bytes", repeat: true }, { no: 4, name: "pendingToolCalls", kind: "string", repeat: true }, { no: 5, name: "tokenDetails", kind: "message", T: () => ConversationTokenDetailsSchema }, { no: 6, name: "summary", kind: "bytes", optional: true }, { no: 7, name: "plan", kind: "bytes", optional: true }, { no: 9, name: "previousWorkspaceUris", kind: "string", repeat: true }, { no: 10, name: "mode", kind: "int32", optional: true }, { no: 11, name: "summaryArchive", kind: "bytes", optional: true }, { no: 12, name: "fileStates", kind: "map", K: "string", V: "bytes" }, { no: 15, name: "fileStatesV2", kind: "map", K: "string", V: () => FileStateStructureSchema }, { no: 13, name: "summaryArchives", kind: "bytes", repeat: true }, { no: 14, name: "turnTimings", kind: "message", T: () => StepTimingSchema, repeat: true }, { no: 16, name: "subagentStates", kind: "map", K: "string", V: () => SubagentPersistedStateSchema }, { no: 17, name: "selfSummaryCount", kind: "uint32" }, { no: 18, name: "readPaths", kind: "string", repeat: true }, ]); /** Cursor agent message agent.v1.ConversationStep. */ export interface ConversationStep extends ProtoMessage { message: | { case: undefined; value?: undefined } | { case: "assistantMessage"; value: AssistantMessage } | { case: "toolCall"; value: ToolCall } | { case: "thinkingMessage"; value: ThinkingMessage }; } export const ConversationStepSchema: MessageCodec = pb("agent.v1.ConversationStep", [ { kind: "oneof", name: "message", variants: [ { no: 1, name: "assistantMessage", kind: "message", T: () => AssistantMessageSchema }, { no: 2, name: "toolCall", kind: "message", T: () => ToolCallSchema }, { no: 3, name: "thinkingMessage", kind: "message", T: () => ThinkingMessageSchema }, ], }, ]); /** Cursor agent message agent.v1.ConversationTokenDetails. */ export interface ConversationTokenDetails extends ProtoMessage { usedTokens: number; maxTokens: number; } export const ConversationTokenDetailsSchema: MessageCodec = pb("agent.v1.ConversationTokenDetails", [ { no: 1, name: "usedTokens", kind: "uint32" }, { no: 2, name: "maxTokens", kind: "uint32" }, ]); /** Cursor agent message agent.v1.ConversationTurnStructure. */ export interface ConversationTurnStructure extends ProtoMessage { turn: | { case: undefined; value?: undefined } | { case: "agentConversationTurn"; value: AgentConversationTurnStructure } | { case: "shellConversationTurn"; value: ShellConversationTurnStructure }; } export const ConversationTurnStructureSchema: MessageCodec = pb("agent.v1.ConversationTurnStructure", [ { kind: "oneof", name: "turn", variants: [ { no: 1, name: "agentConversationTurn", kind: "message", T: () => AgentConversationTurnStructureSchema }, { no: 2, name: "shellConversationTurn", kind: "message", T: () => ShellConversationTurnStructureSchema }, ], }, ]); /** Cursor agent message agent.v1.Coordinate. */ export interface Coordinate extends ProtoMessage { x: number; y: number; } export const CoordinateSchema: MessageCodec = pb("agent.v1.Coordinate", [ { no: 1, name: "x", kind: "int32" }, { no: 2, name: "y", kind: "int32" }, ]); /** Cursor agent message agent.v1.CreatePlanArgs. */ export interface CreatePlanArgs extends ProtoMessage { plan: string; todos: TodoItem[]; overview: string; name: string; isProject: boolean; phases: Phase[]; } export const CreatePlanArgsSchema: MessageCodec = pb("agent.v1.CreatePlanArgs", [ { no: 1, name: "plan", kind: "string" }, { no: 2, name: "todos", kind: "message", T: () => TodoItemSchema, repeat: true }, { no: 3, name: "overview", kind: "string" }, { no: 4, name: "name", kind: "string" }, { no: 5, name: "isProject", kind: "bool" }, { no: 6, name: "phases", kind: "message", T: () => PhaseSchema, repeat: true }, ]); /** Cursor agent message agent.v1.CreatePlanError. */ export interface CreatePlanError extends ProtoMessage { error: string; } export const CreatePlanErrorSchema: MessageCodec = pb("agent.v1.CreatePlanError", [ { no: 1, name: "error", kind: "string" }, ]); /** Cursor agent message agent.v1.CreatePlanRequestQuery. */ export interface CreatePlanRequestQuery extends ProtoMessage { args?: CreatePlanArgs; toolCallId: string; } export const CreatePlanRequestQuerySchema: MessageCodec = pb("agent.v1.CreatePlanRequestQuery", [ { no: 1, name: "args", kind: "message", T: () => CreatePlanArgsSchema }, { no: 2, name: "toolCallId", kind: "string" }, ]); /** Cursor agent message agent.v1.CreatePlanRequestResponse. */ export interface CreatePlanRequestResponse extends ProtoMessage { result?: CreatePlanResult; } export const CreatePlanRequestResponseSchema: MessageCodec = pb("agent.v1.CreatePlanRequestResponse", [ { no: 1, name: "result", kind: "message", T: () => CreatePlanResultSchema }, ]); /** Cursor agent message agent.v1.CreatePlanResult. */ export interface CreatePlanResult extends ProtoMessage { planUri: string; result: | { case: undefined; value?: undefined } | { case: "success"; value: CreatePlanSuccess } | { case: "error"; value: CreatePlanError }; } export const CreatePlanResultSchema: MessageCodec = pb("agent.v1.CreatePlanResult", [ { no: 3, name: "planUri", kind: "string" }, { kind: "oneof", name: "result", variants: [ { no: 1, name: "success", kind: "message", T: () => CreatePlanSuccessSchema }, { no: 2, name: "error", kind: "message", T: () => CreatePlanErrorSchema }, ], }, ]); /** Cursor agent message agent.v1.CreatePlanSuccess. */ export interface CreatePlanSuccess extends ProtoMessage { } export const CreatePlanSuccessSchema: MessageCodec = pb("agent.v1.CreatePlanSuccess", [ ]); /** Cursor agent message agent.v1.CreatePlanToolCall. */ export interface CreatePlanToolCall extends ProtoMessage { args?: CreatePlanArgs; result?: CreatePlanResult; } export const CreatePlanToolCallSchema: MessageCodec = pb("agent.v1.CreatePlanToolCall", [ { no: 1, name: "args", kind: "message", T: () => CreatePlanArgsSchema }, { no: 2, name: "result", kind: "message", T: () => CreatePlanResultSchema }, ]); /** Cursor agent message agent.v1.CursorPositionAction. */ export interface CursorPositionAction extends ProtoMessage { } export const CursorPositionActionSchema: MessageCodec = pb("agent.v1.CursorPositionAction", [ ]); /** Cursor agent message agent.v1.CursorRule. */ export interface CursorRule extends ProtoMessage { fullPath: string; content: string; type?: CursorRuleType; source: number; gitRemoteOrigin?: string; parseError?: string; } export const CursorRuleSchema: MessageCodec = pb("agent.v1.CursorRule", [ { no: 1, name: "fullPath", kind: "string" }, { no: 2, name: "content", kind: "string" }, { no: 3, name: "type", kind: "message", T: () => CursorRuleTypeSchema }, { no: 4, name: "source", kind: "int32" }, { no: 5, name: "gitRemoteOrigin", kind: "string", optional: true }, { no: 6, name: "parseError", kind: "string", optional: true }, ]); /** Cursor agent message agent.v1.CursorRuleType. */ export interface CursorRuleType extends ProtoMessage { type: | { case: undefined; value?: undefined } | { case: "global"; value: CursorRuleTypeGlobal } | { case: "fileGlobbed"; value: CursorRuleTypeFileGlobs } | { case: "agentFetched"; value: CursorRuleTypeAgentFetched } | { case: "manuallyAttached"; value: CursorRuleTypeManuallyAttached }; } export const CursorRuleTypeSchema: MessageCodec = pb("agent.v1.CursorRuleType", [ { kind: "oneof", name: "type", variants: [ { no: 1, name: "global", kind: "message", T: () => CursorRuleTypeGlobalSchema }, { no: 2, name: "fileGlobbed", kind: "message", T: () => CursorRuleTypeFileGlobsSchema }, { no: 3, name: "agentFetched", kind: "message", T: () => CursorRuleTypeAgentFetchedSchema }, { no: 4, name: "manuallyAttached", kind: "message", T: () => CursorRuleTypeManuallyAttachedSchema }, ], }, ]); /** Cursor agent message agent.v1.CursorRuleTypeAgentFetched. */ export interface CursorRuleTypeAgentFetched extends ProtoMessage { description: string; } export const CursorRuleTypeAgentFetchedSchema: MessageCodec = pb("agent.v1.CursorRuleTypeAgentFetched", [ { no: 1, name: "description", kind: "string" }, ]); /** Cursor agent message agent.v1.CursorRuleTypeFileGlobs. */ export interface CursorRuleTypeFileGlobs extends ProtoMessage { globs: string[]; } export const CursorRuleTypeFileGlobsSchema: MessageCodec = pb("agent.v1.CursorRuleTypeFileGlobs", [ { no: 1, name: "globs", kind: "string", repeat: true }, ]); /** Cursor agent message agent.v1.CursorRuleTypeGlobal. */ export interface CursorRuleTypeGlobal extends ProtoMessage { } export const CursorRuleTypeGlobalSchema: MessageCodec = pb("agent.v1.CursorRuleTypeGlobal", [ ]); /** Cursor agent message agent.v1.CursorRuleTypeManuallyAttached. */ export interface CursorRuleTypeManuallyAttached extends ProtoMessage { } export const CursorRuleTypeManuallyAttachedSchema: MessageCodec = pb("agent.v1.CursorRuleTypeManuallyAttached", [ ]); /** Cursor agent message aiserver.v1.CustomErrorDetails. */ export interface CustomErrorDetails extends ProtoMessage { title: string; detail: string; allowCommandLinksPotentiallyUnsafePleaseOnlyUseForHandwrittenTrustedMarkdown?: boolean; isRetryable?: boolean; showRequestId?: boolean; shouldShowImmediateError?: boolean; } export const CustomErrorDetailsSchema: MessageCodec = pb("aiserver.v1.CustomErrorDetails", [ { no: 1, name: "title", kind: "string" }, { no: 2, name: "detail", kind: "string" }, { no: 3, name: "allowCommandLinksPotentiallyUnsafePleaseOnlyUseForHandwrittenTrustedMarkdown", kind: "bool", optional: true }, { no: 4, name: "isRetryable", kind: "bool", optional: true }, { no: 5, name: "showRequestId", kind: "bool", optional: true }, { no: 6, name: "shouldShowImmediateError", kind: "bool", optional: true }, ]); /** Cursor agent message agent.v1.CustomSubagent. */ export interface CustomSubagent extends ProtoMessage { fullPath: string; name: string; description: string; tools: string[]; model: string; prompt: string; permissionMode: number; } export const CustomSubagentSchema: MessageCodec = pb("agent.v1.CustomSubagent", [ { no: 1, name: "fullPath", kind: "string" }, { no: 2, name: "name", kind: "string" }, { no: 3, name: "description", kind: "string" }, { no: 4, name: "tools", kind: "string", repeat: true }, { no: 5, name: "model", kind: "string" }, { no: 6, name: "prompt", kind: "string" }, { no: 7, name: "permissionMode", kind: "int32" }, ]); /** Cursor agent message agent.v1.DebugModeConfig. */ export interface DebugModeConfig extends ProtoMessage { logPath: string; serverEndpoint: string; } export const DebugModeConfigSchema: MessageCodec = pb("agent.v1.DebugModeConfig", [ { no: 1, name: "logPath", kind: "string" }, { no: 2, name: "serverEndpoint", kind: "string" }, ]); /** Cursor agent message agent.v1.DeleteArgs. */ export interface DeleteArgs extends ProtoMessage { path: string; toolCallId: string; } export const DeleteArgsSchema: MessageCodec = pb("agent.v1.DeleteArgs", [ { no: 1, name: "path", kind: "string" }, { no: 2, name: "toolCallId", kind: "string" }, ]); /** Cursor agent message agent.v1.DeleteError. */ export interface DeleteError extends ProtoMessage { path: string; error: string; } export const DeleteErrorSchema: MessageCodec = pb("agent.v1.DeleteError", [ { no: 1, name: "path", kind: "string" }, { no: 2, name: "error", kind: "string" }, ]); /** Cursor agent message agent.v1.DeleteFileBusy. */ export interface DeleteFileBusy extends ProtoMessage { path: string; } export const DeleteFileBusySchema: MessageCodec = pb("agent.v1.DeleteFileBusy", [ { no: 1, name: "path", kind: "string" }, ]); /** Cursor agent message agent.v1.DeleteFileNotFound. */ export interface DeleteFileNotFound extends ProtoMessage { path: string; } export const DeleteFileNotFoundSchema: MessageCodec = pb("agent.v1.DeleteFileNotFound", [ { no: 1, name: "path", kind: "string" }, ]); /** Cursor agent message agent.v1.DeleteNotFile. */ export interface DeleteNotFile extends ProtoMessage { path: string; actualType: string; } export const DeleteNotFileSchema: MessageCodec = pb("agent.v1.DeleteNotFile", [ { no: 1, name: "path", kind: "string" }, { no: 2, name: "actualType", kind: "string" }, ]); /** Cursor agent message agent.v1.DeletePermissionDenied. */ export interface DeletePermissionDenied extends ProtoMessage { path: string; clientVisibleError: string; isReadonly: boolean; } export const DeletePermissionDeniedSchema: MessageCodec = pb("agent.v1.DeletePermissionDenied", [ { no: 1, name: "path", kind: "string" }, { no: 2, name: "clientVisibleError", kind: "string" }, { no: 3, name: "isReadonly", kind: "bool" }, ]); /** Cursor agent message agent.v1.DeleteRejected. */ export interface DeleteRejected extends ProtoMessage { path: string; reason: string; } export const DeleteRejectedSchema: MessageCodec = pb("agent.v1.DeleteRejected", [ { no: 1, name: "path", kind: "string" }, { no: 2, name: "reason", kind: "string" }, ]); /** Cursor agent message agent.v1.DeleteResult. */ export interface DeleteResult extends ProtoMessage { result: | { case: undefined; value?: undefined } | { case: "success"; value: DeleteSuccess } | { case: "fileNotFound"; value: DeleteFileNotFound } | { case: "notFile"; value: DeleteNotFile } | { case: "permissionDenied"; value: DeletePermissionDenied } | { case: "fileBusy"; value: DeleteFileBusy } | { case: "rejected"; value: DeleteRejected } | { case: "error"; value: DeleteError }; } export const DeleteResultSchema: MessageCodec = pb("agent.v1.DeleteResult", [ { kind: "oneof", name: "result", variants: [ { no: 1, name: "success", kind: "message", T: () => DeleteSuccessSchema }, { no: 2, name: "fileNotFound", kind: "message", T: () => DeleteFileNotFoundSchema }, { no: 3, name: "notFile", kind: "message", T: () => DeleteNotFileSchema }, { no: 4, name: "permissionDenied", kind: "message", T: () => DeletePermissionDeniedSchema }, { no: 5, name: "fileBusy", kind: "message", T: () => DeleteFileBusySchema }, { no: 6, name: "rejected", kind: "message", T: () => DeleteRejectedSchema }, { no: 7, name: "error", kind: "message", T: () => DeleteErrorSchema }, ], }, ]); /** Cursor agent message agent.v1.DeleteSuccess. */ export interface DeleteSuccess extends ProtoMessage { path: string; deletedFile: string; fileSize: bigint; prevContent: string; } export const DeleteSuccessSchema: MessageCodec = pb("agent.v1.DeleteSuccess", [ { no: 1, name: "path", kind: "string" }, { no: 2, name: "deletedFile", kind: "string" }, { no: 3, name: "fileSize", kind: "int64" }, { no: 4, name: "prevContent", kind: "string" }, ]); /** Cursor agent message agent.v1.DeleteToolCall. */ export interface DeleteToolCall extends ProtoMessage { args?: DeleteArgs; result?: DeleteResult; } export const DeleteToolCallSchema: MessageCodec = pb("agent.v1.DeleteToolCall", [ { no: 1, name: "args", kind: "message", T: () => DeleteArgsSchema }, { no: 2, name: "result", kind: "message", T: () => DeleteResultSchema }, ]); /** Cursor agent message agent.v1.Diagnostic. */ export interface Diagnostic extends ProtoMessage { severity: number; range?: Range; message: string; source: string; code: string; isStale: boolean; } export const DiagnosticSchema: MessageCodec = pb("agent.v1.Diagnostic", [ { no: 1, name: "severity", kind: "int32" }, { no: 2, name: "range", kind: "message", T: () => RangeSchema }, { no: 3, name: "message", kind: "string" }, { no: 4, name: "source", kind: "string" }, { no: 5, name: "code", kind: "string" }, { no: 6, name: "isStale", kind: "bool" }, ]); /** Cursor agent message agent.v1.DiagnosticItem. */ export interface DiagnosticItem extends ProtoMessage { severity: DiagnosticSeverity; range?: DiagnosticRange; message: string; source: string; code: string; isStale: boolean; } export const DiagnosticItemSchema: MessageCodec = pb("agent.v1.DiagnosticItem", [ { no: 1, name: "severity", kind: "enum" }, { no: 2, name: "range", kind: "message", T: () => DiagnosticRangeSchema }, { no: 3, name: "message", kind: "string" }, { no: 4, name: "source", kind: "string" }, { no: 5, name: "code", kind: "string" }, { no: 6, name: "isStale", kind: "bool" }, ]); /** Cursor agent message agent.v1.DiagnosticRange. */ export interface DiagnosticRange extends ProtoMessage { start?: Position; end?: Position; } export const DiagnosticRangeSchema: MessageCodec = pb("agent.v1.DiagnosticRange", [ { no: 1, name: "start", kind: "message", T: () => PositionSchema }, { no: 2, name: "end", kind: "message", T: () => PositionSchema }, ]); /** Cursor agent message agent.v1.DiagnosticsArgs. */ export interface DiagnosticsArgs extends ProtoMessage { path: string; toolCallId: string; } export const DiagnosticsArgsSchema: MessageCodec = pb("agent.v1.DiagnosticsArgs", [ { no: 1, name: "path", kind: "string" }, { no: 2, name: "toolCallId", kind: "string" }, ]); /** Cursor agent message agent.v1.DiagnosticsError. */ export interface DiagnosticsError extends ProtoMessage { path: string; error: string; } export const DiagnosticsErrorSchema: MessageCodec = pb("agent.v1.DiagnosticsError", [ { no: 1, name: "path", kind: "string" }, { no: 2, name: "error", kind: "string" }, ]); /** Cursor agent message agent.v1.DiagnosticsFileNotFound. */ export interface DiagnosticsFileNotFound extends ProtoMessage { path: string; } export const DiagnosticsFileNotFoundSchema: MessageCodec = pb("agent.v1.DiagnosticsFileNotFound", [ { no: 1, name: "path", kind: "string" }, ]); /** Cursor agent message agent.v1.DiagnosticsPermissionDenied. */ export interface DiagnosticsPermissionDenied extends ProtoMessage { path: string; } export const DiagnosticsPermissionDeniedSchema: MessageCodec = pb("agent.v1.DiagnosticsPermissionDenied", [ { no: 1, name: "path", kind: "string" }, ]); /** Cursor agent message agent.v1.DiagnosticsRejected. */ export interface DiagnosticsRejected extends ProtoMessage { path: string; reason: string; } export const DiagnosticsRejectedSchema: MessageCodec = pb("agent.v1.DiagnosticsRejected", [ { no: 1, name: "path", kind: "string" }, { no: 2, name: "reason", kind: "string" }, ]); /** Cursor agent message agent.v1.DiagnosticsResult. */ export interface DiagnosticsResult extends ProtoMessage { result: | { case: undefined; value?: undefined } | { case: "success"; value: DiagnosticsSuccess } | { case: "error"; value: DiagnosticsError } | { case: "rejected"; value: DiagnosticsRejected } | { case: "fileNotFound"; value: DiagnosticsFileNotFound } | { case: "permissionDenied"; value: DiagnosticsPermissionDenied }; } export const DiagnosticsResultSchema: MessageCodec = pb("agent.v1.DiagnosticsResult", [ { kind: "oneof", name: "result", variants: [ { no: 1, name: "success", kind: "message", T: () => DiagnosticsSuccessSchema }, { no: 2, name: "error", kind: "message", T: () => DiagnosticsErrorSchema }, { no: 3, name: "rejected", kind: "message", T: () => DiagnosticsRejectedSchema }, { no: 4, name: "fileNotFound", kind: "message", T: () => DiagnosticsFileNotFoundSchema }, { no: 5, name: "permissionDenied", kind: "message", T: () => DiagnosticsPermissionDeniedSchema }, ], }, ]); /** Cursor agent message agent.v1.DiagnosticsSuccess. */ export interface DiagnosticsSuccess extends ProtoMessage { path: string; diagnostics: Diagnostic[]; totalDiagnostics: number; } export const DiagnosticsSuccessSchema: MessageCodec = pb("agent.v1.DiagnosticsSuccess", [ { no: 1, name: "path", kind: "string" }, { no: 2, name: "diagnostics", kind: "message", T: () => DiagnosticSchema, repeat: true }, { no: 3, name: "totalDiagnostics", kind: "int32" }, ]); /** Cursor agent message agent.v1.DragAction. */ export interface DragAction extends ProtoMessage { path: Coordinate[]; button: number; } export const DragActionSchema: MessageCodec = pb("agent.v1.DragAction", [ { no: 1, name: "path", kind: "message", T: () => CoordinateSchema, repeat: true }, { no: 2, name: "button", kind: "int32" }, ]); /** Cursor agent message agent.v1.EditArgs. */ export interface EditArgs extends ProtoMessage { path: string; streamContent?: string; } export const EditArgsSchema: MessageCodec = pb("agent.v1.EditArgs", [ { no: 1, name: "path", kind: "string" }, { no: 6, name: "streamContent", kind: "string", optional: true }, ]); /** Cursor agent message agent.v1.EditError. */ export interface EditError extends ProtoMessage { path: string; error: string; modelVisibleError?: string; } export const EditErrorSchema: MessageCodec = pb("agent.v1.EditError", [ { no: 1, name: "path", kind: "string" }, { no: 2, name: "error", kind: "string" }, { no: 5, name: "modelVisibleError", kind: "string", optional: true }, ]); /** Cursor agent message agent.v1.EditFileNotFound. */ export interface EditFileNotFound extends ProtoMessage { path: string; } export const EditFileNotFoundSchema: MessageCodec = pb("agent.v1.EditFileNotFound", [ { no: 1, name: "path", kind: "string" }, ]); /** Cursor agent message agent.v1.EditReadPermissionDenied. */ export interface EditReadPermissionDenied extends ProtoMessage { path: string; } export const EditReadPermissionDeniedSchema: MessageCodec = pb("agent.v1.EditReadPermissionDenied", [ { no: 1, name: "path", kind: "string" }, ]); /** Cursor agent message agent.v1.EditRejected. */ export interface EditRejected extends ProtoMessage { path: string; reason: string; } export const EditRejectedSchema: MessageCodec = pb("agent.v1.EditRejected", [ { no: 1, name: "path", kind: "string" }, { no: 2, name: "reason", kind: "string" }, ]); /** Cursor agent message agent.v1.EditResult. */ export interface EditResult extends ProtoMessage { result: | { case: undefined; value?: undefined } | { case: "success"; value: EditSuccess } | { case: "fileNotFound"; value: EditFileNotFound } | { case: "readPermissionDenied"; value: EditReadPermissionDenied } | { case: "writePermissionDenied"; value: EditWritePermissionDenied } | { case: "rejected"; value: EditRejected } | { case: "error"; value: EditError }; } export const EditResultSchema: MessageCodec = pb("agent.v1.EditResult", [ { kind: "oneof", name: "result", variants: [ { no: 1, name: "success", kind: "message", T: () => EditSuccessSchema }, { no: 2, name: "fileNotFound", kind: "message", T: () => EditFileNotFoundSchema }, { no: 3, name: "readPermissionDenied", kind: "message", T: () => EditReadPermissionDeniedSchema }, { no: 4, name: "writePermissionDenied", kind: "message", T: () => EditWritePermissionDeniedSchema }, { no: 6, name: "rejected", kind: "message", T: () => EditRejectedSchema }, { no: 7, name: "error", kind: "message", T: () => EditErrorSchema }, ], }, ]); /** Cursor agent message agent.v1.EditSuccess. */ export interface EditSuccess extends ProtoMessage { path: string; linesAdded?: number; linesRemoved?: number; diffString?: string; beforeFullFileContent?: string; afterFullFileContent: string; message?: string; } export const EditSuccessSchema: MessageCodec = pb("agent.v1.EditSuccess", [ { no: 1, name: "path", kind: "string" }, { no: 3, name: "linesAdded", kind: "int32", optional: true }, { no: 4, name: "linesRemoved", kind: "int32", optional: true }, { no: 5, name: "diffString", kind: "string", optional: true }, { no: 6, name: "beforeFullFileContent", kind: "string", optional: true }, { no: 7, name: "afterFullFileContent", kind: "string" }, { no: 8, name: "message", kind: "string", optional: true }, ]); /** Cursor agent message agent.v1.EditToolCall. */ export interface EditToolCall extends ProtoMessage { args?: EditArgs; result?: EditResult; } export const EditToolCallSchema: MessageCodec = pb("agent.v1.EditToolCall", [ { no: 1, name: "args", kind: "message", T: () => EditArgsSchema }, { no: 2, name: "result", kind: "message", T: () => EditResultSchema }, ]); /** Cursor agent message agent.v1.EditToolCallDelta. */ export interface EditToolCallDelta extends ProtoMessage { streamContentDelta: string; } export const EditToolCallDeltaSchema: MessageCodec = pb("agent.v1.EditToolCallDelta", [ { no: 1, name: "streamContentDelta", kind: "string" }, ]); /** Cursor agent message agent.v1.EditWritePermissionDenied. */ export interface EditWritePermissionDenied extends ProtoMessage { path: string; error: string; isReadonly: boolean; } export const EditWritePermissionDeniedSchema: MessageCodec = pb("agent.v1.EditWritePermissionDenied", [ { no: 1, name: "path", kind: "string" }, { no: 2, name: "error", kind: "string" }, { no: 3, name: "isReadonly", kind: "bool" }, ]); /** Cursor agent message agent.v1.Error. */ export interface Error extends ProtoMessage { message: string; } export const ErrorSchema: MessageCodec = pb("agent.v1.Error", [ { no: 1, name: "message", kind: "string" }, ]); /** Cursor agent message aiserver.v1.ErrorDetails. */ export interface ErrorDetails extends ProtoMessage { error: CursorError; details?: CustomErrorDetails; isExpected?: boolean; } export const ErrorDetailsSchema: MessageCodec = pb("aiserver.v1.ErrorDetails", [ { no: 1, name: "error", kind: "enum" }, { no: 2, name: "details", kind: "message", T: () => CustomErrorDetailsSchema }, { no: 3, name: "isExpected", kind: "bool", optional: true }, ]); /** Cursor agent message agent.v1.ExaFetchArgs. */ export interface ExaFetchArgs extends ProtoMessage { ids: string[]; toolCallId: string; } export const ExaFetchArgsSchema: MessageCodec = pb("agent.v1.ExaFetchArgs", [ { no: 1, name: "ids", kind: "string", repeat: true }, { no: 2, name: "toolCallId", kind: "string" }, ]); /** Cursor agent message agent.v1.ExaFetchContent. */ export interface ExaFetchContent extends ProtoMessage { title: string; url: string; text: string; publishedDate: string; } export const ExaFetchContentSchema: MessageCodec = pb("agent.v1.ExaFetchContent", [ { no: 1, name: "title", kind: "string" }, { no: 2, name: "url", kind: "string" }, { no: 3, name: "text", kind: "string" }, { no: 4, name: "publishedDate", kind: "string" }, ]); /** Cursor agent message agent.v1.ExaFetchError. */ export interface ExaFetchError extends ProtoMessage { error: string; } export const ExaFetchErrorSchema: MessageCodec = pb("agent.v1.ExaFetchError", [ { no: 1, name: "error", kind: "string" }, ]); /** Cursor agent message agent.v1.ExaFetchRejected. */ export interface ExaFetchRejected extends ProtoMessage { reason: string; } export const ExaFetchRejectedSchema: MessageCodec = pb("agent.v1.ExaFetchRejected", [ { no: 1, name: "reason", kind: "string" }, ]); /** Cursor agent message agent.v1.ExaFetchRequestQuery. */ export interface ExaFetchRequestQuery extends ProtoMessage { args?: ExaFetchArgs; } export const ExaFetchRequestQuerySchema: MessageCodec = pb("agent.v1.ExaFetchRequestQuery", [ { no: 1, name: "args", kind: "message", T: () => ExaFetchArgsSchema }, ]); /** Cursor agent message agent.v1.ExaFetchRequestResponse. */ export interface ExaFetchRequestResponse extends ProtoMessage { result: | { case: undefined; value?: undefined } | { case: "approved"; value: ExaFetchRequestResponse_Approved } | { case: "rejected"; value: ExaFetchRequestResponse_Rejected }; } export const ExaFetchRequestResponseSchema: MessageCodec = pb("agent.v1.ExaFetchRequestResponse", [ { kind: "oneof", name: "result", variants: [ { no: 1, name: "approved", kind: "message", T: () => ExaFetchRequestResponse_ApprovedSchema }, { no: 2, name: "rejected", kind: "message", T: () => ExaFetchRequestResponse_RejectedSchema }, ], }, ]); /** Cursor agent message agent.v1.ExaFetchRequestResponse_Approved. */ export interface ExaFetchRequestResponse_Approved extends ProtoMessage { } export const ExaFetchRequestResponse_ApprovedSchema: MessageCodec = pb("agent.v1.ExaFetchRequestResponse_Approved", [ ]); /** Cursor agent message agent.v1.ExaFetchRequestResponse_Rejected. */ export interface ExaFetchRequestResponse_Rejected extends ProtoMessage { reason: string; } export const ExaFetchRequestResponse_RejectedSchema: MessageCodec = pb("agent.v1.ExaFetchRequestResponse_Rejected", [ { no: 1, name: "reason", kind: "string" }, ]); /** Cursor agent message agent.v1.ExaFetchResult. */ export interface ExaFetchResult extends ProtoMessage { result: | { case: undefined; value?: undefined } | { case: "success"; value: ExaFetchSuccess } | { case: "error"; value: ExaFetchError } | { case: "rejected"; value: ExaFetchRejected }; } export const ExaFetchResultSchema: MessageCodec = pb("agent.v1.ExaFetchResult", [ { kind: "oneof", name: "result", variants: [ { no: 1, name: "success", kind: "message", T: () => ExaFetchSuccessSchema }, { no: 2, name: "error", kind: "message", T: () => ExaFetchErrorSchema }, { no: 3, name: "rejected", kind: "message", T: () => ExaFetchRejectedSchema }, ], }, ]); /** Cursor agent message agent.v1.ExaFetchSuccess. */ export interface ExaFetchSuccess extends ProtoMessage { contents: ExaFetchContent[]; } export const ExaFetchSuccessSchema: MessageCodec = pb("agent.v1.ExaFetchSuccess", [ { no: 1, name: "contents", kind: "message", T: () => ExaFetchContentSchema, repeat: true }, ]); /** Cursor agent message agent.v1.ExaFetchToolCall. */ export interface ExaFetchToolCall extends ProtoMessage { args?: ExaFetchArgs; result?: ExaFetchResult; } export const ExaFetchToolCallSchema: MessageCodec = pb("agent.v1.ExaFetchToolCall", [ { no: 1, name: "args", kind: "message", T: () => ExaFetchArgsSchema }, { no: 2, name: "result", kind: "message", T: () => ExaFetchResultSchema }, ]); /** Cursor agent message agent.v1.ExaSearchArgs. */ export interface ExaSearchArgs extends ProtoMessage { query: string; type: string; numResults: number; toolCallId: string; } export const ExaSearchArgsSchema: MessageCodec = pb("agent.v1.ExaSearchArgs", [ { no: 1, name: "query", kind: "string" }, { no: 2, name: "type", kind: "string" }, { no: 3, name: "numResults", kind: "int32" }, { no: 4, name: "toolCallId", kind: "string" }, ]); /** Cursor agent message agent.v1.ExaSearchError. */ export interface ExaSearchError extends ProtoMessage { error: string; } export const ExaSearchErrorSchema: MessageCodec = pb("agent.v1.ExaSearchError", [ { no: 1, name: "error", kind: "string" }, ]); /** Cursor agent message agent.v1.ExaSearchReference. */ export interface ExaSearchReference extends ProtoMessage { title: string; url: string; text: string; publishedDate: string; } export const ExaSearchReferenceSchema: MessageCodec = pb("agent.v1.ExaSearchReference", [ { no: 1, name: "title", kind: "string" }, { no: 2, name: "url", kind: "string" }, { no: 3, name: "text", kind: "string" }, { no: 4, name: "publishedDate", kind: "string" }, ]); /** Cursor agent message agent.v1.ExaSearchRejected. */ export interface ExaSearchRejected extends ProtoMessage { reason: string; } export const ExaSearchRejectedSchema: MessageCodec = pb("agent.v1.ExaSearchRejected", [ { no: 1, name: "reason", kind: "string" }, ]); /** Cursor agent message agent.v1.ExaSearchRequestQuery. */ export interface ExaSearchRequestQuery extends ProtoMessage { args?: ExaSearchArgs; } export const ExaSearchRequestQuerySchema: MessageCodec = pb("agent.v1.ExaSearchRequestQuery", [ { no: 1, name: "args", kind: "message", T: () => ExaSearchArgsSchema }, ]); /** Cursor agent message agent.v1.ExaSearchRequestResponse. */ export interface ExaSearchRequestResponse extends ProtoMessage { result: | { case: undefined; value?: undefined } | { case: "approved"; value: ExaSearchRequestResponse_Approved } | { case: "rejected"; value: ExaSearchRequestResponse_Rejected }; } export const ExaSearchRequestResponseSchema: MessageCodec = pb("agent.v1.ExaSearchRequestResponse", [ { kind: "oneof", name: "result", variants: [ { no: 1, name: "approved", kind: "message", T: () => ExaSearchRequestResponse_ApprovedSchema }, { no: 2, name: "rejected", kind: "message", T: () => ExaSearchRequestResponse_RejectedSchema }, ], }, ]); /** Cursor agent message agent.v1.ExaSearchRequestResponse_Approved. */ export interface ExaSearchRequestResponse_Approved extends ProtoMessage { } export const ExaSearchRequestResponse_ApprovedSchema: MessageCodec = pb("agent.v1.ExaSearchRequestResponse_Approved", [ ]); /** Cursor agent message agent.v1.ExaSearchRequestResponse_Rejected. */ export interface ExaSearchRequestResponse_Rejected extends ProtoMessage { reason: string; } export const ExaSearchRequestResponse_RejectedSchema: MessageCodec = pb("agent.v1.ExaSearchRequestResponse_Rejected", [ { no: 1, name: "reason", kind: "string" }, ]); /** Cursor agent message agent.v1.ExaSearchResult. */ export interface ExaSearchResult extends ProtoMessage { result: | { case: undefined; value?: undefined } | { case: "success"; value: ExaSearchSuccess } | { case: "error"; value: ExaSearchError } | { case: "rejected"; value: ExaSearchRejected }; } export const ExaSearchResultSchema: MessageCodec = pb("agent.v1.ExaSearchResult", [ { kind: "oneof", name: "result", variants: [ { no: 1, name: "success", kind: "message", T: () => ExaSearchSuccessSchema }, { no: 2, name: "error", kind: "message", T: () => ExaSearchErrorSchema }, { no: 3, name: "rejected", kind: "message", T: () => ExaSearchRejectedSchema }, ], }, ]); /** Cursor agent message agent.v1.ExaSearchSuccess. */ export interface ExaSearchSuccess extends ProtoMessage { references: ExaSearchReference[]; } export const ExaSearchSuccessSchema: MessageCodec = pb("agent.v1.ExaSearchSuccess", [ { no: 1, name: "references", kind: "message", T: () => ExaSearchReferenceSchema, repeat: true }, ]); /** Cursor agent message agent.v1.ExaSearchToolCall. */ export interface ExaSearchToolCall extends ProtoMessage { args?: ExaSearchArgs; result?: ExaSearchResult; } export const ExaSearchToolCallSchema: MessageCodec = pb("agent.v1.ExaSearchToolCall", [ { no: 1, name: "args", kind: "message", T: () => ExaSearchArgsSchema }, { no: 2, name: "result", kind: "message", T: () => ExaSearchResultSchema }, ]); /** Cursor agent message agent.v1.ExecClientControlMessage. */ export interface ExecClientControlMessage extends ProtoMessage { message: | { case: undefined; value?: undefined } | { case: "streamClose"; value: ExecClientStreamClose } | { case: "throw"; value: ExecClientThrow } | { case: "heartbeat"; value: ExecClientHeartbeat }; } export const ExecClientControlMessageSchema: MessageCodec = pb("agent.v1.ExecClientControlMessage", [ { kind: "oneof", name: "message", variants: [ { no: 1, name: "streamClose", kind: "message", T: () => ExecClientStreamCloseSchema }, { no: 2, name: "throw", kind: "message", T: () => ExecClientThrowSchema }, { no: 3, name: "heartbeat", kind: "message", T: () => ExecClientHeartbeatSchema }, ], }, ]); /** Cursor agent message agent.v1.ExecClientHeartbeat. */ export interface ExecClientHeartbeat extends ProtoMessage { id: number; } export const ExecClientHeartbeatSchema: MessageCodec = pb("agent.v1.ExecClientHeartbeat", [ { no: 1, name: "id", kind: "uint32" }, ]); /** Cursor agent message agent.v1.ExecClientMessage. */ export interface ExecClientMessage extends ProtoMessage { id: number; execId: string; localExecutionTimeMs?: number; hookAdditionalContexts: HookAdditionalContext[]; message: | { case: undefined; value?: undefined } | { case: "shellResult"; value: ShellResult } | { case: "writeResult"; value: WriteResult } | { case: "deleteResult"; value: DeleteResult } | { case: "grepResult"; value: GrepResult } | { case: "readResult"; value: ReadResult } | { case: "lsResult"; value: LsResult } | { case: "diagnosticsResult"; value: DiagnosticsResult } | { case: "requestContextResult"; value: RequestContextResult } | { case: "mcpResult"; value: McpResult } | { case: "shellStream"; value: ShellStream } | { case: "backgroundShellSpawnResult"; value: BackgroundShellSpawnResult } | { case: "listMcpResourcesExecResult"; value: ListMcpResourcesExecResult } | { case: "readMcpResourceExecResult"; value: ReadMcpResourceExecResult } | { case: "fetchResult"; value: FetchResult } | { case: "recordScreenResult"; value: RecordScreenResult } | { case: "computerUseResult"; value: ComputerUseResult } | { case: "writeShellStdinResult"; value: WriteShellStdinResult } | { case: "redactedReadResult"; value: ReadResult } | { case: "mcpStateExecResult"; value: McpStateExecResult } | { case: "executeHookResult"; value: ExecuteHookResult } | { case: "subagentResult"; value: SubagentResult } | { case: "forceBackgroundShellResult"; value: ForceBackgroundShellResult } | { case: "forceBackgroundSubagentResult"; value: ForceBackgroundSubagentResult } | { case: "subagentAwaitResult"; value: SubagentAwaitResult } | { case: "smartModeClassifierResult"; value: SmartModeClassifierResult } | { case: "canvasDiagnosticsResult"; value: CanvasDiagnosticsResult } | { case: "shellAllowlistPrecheckResult"; value: ShellAllowlistPrecheckResult } | { case: "mcpAllowlistPrecheckResult"; value: McpAllowlistPrecheckResult } | { case: "webFetchAllowlistPrecheckResult"; value: WebFetchAllowlistPrecheckResult } | { case: "gitDiffResponse"; value: GetDiffResponse } | { case: "piReadResult"; value: PiReadExecResult } | { case: "piBashResult"; value: PiBashExecResult } | { case: "piEditResult"; value: PiEditExecResult } | { case: "piWriteResult"; value: PiWriteExecResult } | { case: "piGrepResult"; value: PiGrepExecResult } | { case: "piFindResult"; value: PiFindExecResult } | { case: "piLsResult"; value: PiLsExecResult } | { case: "conversationSearchResult"; value: ConversationSearchResult } | { case: "agentStoreConflictResult"; value: AgentStoreConflictResult } | { case: "miniSweAgentBashResult"; value: ShellResult }; } export const ExecClientMessageSchema: MessageCodec = pb("agent.v1.ExecClientMessage", [ { no: 1, name: "id", kind: "uint32" }, { no: 15, name: "execId", kind: "string" }, { no: 39, name: "localExecutionTimeMs", kind: "int32", optional: true }, { no: 45, name: "hookAdditionalContexts", kind: "message", T: () => HookAdditionalContextSchema, repeat: true }, { kind: "oneof", name: "message", variants: [ { no: 2, name: "shellResult", kind: "message", T: () => ShellResultSchema }, { no: 3, name: "writeResult", kind: "message", T: () => WriteResultSchema }, { no: 4, name: "deleteResult", kind: "message", T: () => DeleteResultSchema }, { no: 5, name: "grepResult", kind: "message", T: () => GrepResultSchema }, { no: 7, name: "readResult", kind: "message", T: () => ReadResultSchema }, { no: 8, name: "lsResult", kind: "message", T: () => LsResultSchema }, { no: 9, name: "diagnosticsResult", kind: "message", T: () => DiagnosticsResultSchema }, { no: 10, name: "requestContextResult", kind: "message", T: () => RequestContextResultSchema }, { no: 11, name: "mcpResult", kind: "message", T: () => McpResultSchema }, { no: 14, name: "shellStream", kind: "message", T: () => ShellStreamSchema }, { no: 16, name: "backgroundShellSpawnResult", kind: "message", T: () => BackgroundShellSpawnResultSchema }, { no: 17, name: "listMcpResourcesExecResult", kind: "message", T: () => ListMcpResourcesExecResultSchema }, { no: 18, name: "readMcpResourceExecResult", kind: "message", T: () => ReadMcpResourceExecResultSchema }, { no: 20, name: "fetchResult", kind: "message", T: () => FetchResultSchema }, { no: 21, name: "recordScreenResult", kind: "message", T: () => RecordScreenResultSchema }, { no: 22, name: "computerUseResult", kind: "message", T: () => ComputerUseResultSchema }, { no: 23, name: "writeShellStdinResult", kind: "message", T: () => WriteShellStdinResultSchema }, { no: 29, name: "redactedReadResult", kind: "message", T: () => ReadResultSchema }, { no: 36, name: "mcpStateExecResult", kind: "message", T: () => McpStateExecResultSchema }, { no: 27, name: "executeHookResult", kind: "message", T: () => ExecuteHookResultSchema }, { no: 28, name: "subagentResult", kind: "message", T: () => SubagentResultSchema }, { no: 30, name: "forceBackgroundShellResult", kind: "message", T: () => ForceBackgroundShellResultSchema }, { no: 31, name: "forceBackgroundSubagentResult", kind: "message", T: () => ForceBackgroundSubagentResultSchema }, { no: 37, name: "subagentAwaitResult", kind: "message", T: () => SubagentAwaitResultSchema }, { no: 38, name: "smartModeClassifierResult", kind: "message", T: () => SmartModeClassifierResultSchema }, { no: 40, name: "canvasDiagnosticsResult", kind: "message", T: () => CanvasDiagnosticsResultSchema }, { no: 41, name: "shellAllowlistPrecheckResult", kind: "message", T: () => ShellAllowlistPrecheckResultSchema }, { no: 42, name: "mcpAllowlistPrecheckResult", kind: "message", T: () => McpAllowlistPrecheckResultSchema }, { no: 43, name: "webFetchAllowlistPrecheckResult", kind: "message", T: () => WebFetchAllowlistPrecheckResultSchema }, { no: 44, name: "gitDiffResponse", kind: "message", T: () => GetDiffResponseSchema }, { no: 46, name: "piReadResult", kind: "message", T: () => PiReadExecResultSchema }, { no: 47, name: "piBashResult", kind: "message", T: () => PiBashExecResultSchema }, { no: 48, name: "piEditResult", kind: "message", T: () => PiEditExecResultSchema }, { no: 49, name: "piWriteResult", kind: "message", T: () => PiWriteExecResultSchema }, { no: 50, name: "piGrepResult", kind: "message", T: () => PiGrepExecResultSchema }, { no: 51, name: "piFindResult", kind: "message", T: () => PiFindExecResultSchema }, { no: 52, name: "piLsResult", kind: "message", T: () => PiLsExecResultSchema }, { no: 53, name: "conversationSearchResult", kind: "message", T: () => ConversationSearchResultSchema }, { no: 54, name: "agentStoreConflictResult", kind: "message", T: () => AgentStoreConflictResultSchema }, { no: 55, name: "miniSweAgentBashResult", kind: "message", T: () => ShellResultSchema }, ], }, ]); /** Cursor agent message agent.v1.ExecClientStreamClose. */ export interface ExecClientStreamClose extends ProtoMessage { id: number; } export const ExecClientStreamCloseSchema: MessageCodec = pb("agent.v1.ExecClientStreamClose", [ { no: 1, name: "id", kind: "uint32" }, ]); /** Cursor agent message agent.v1.ExecClientThrow. */ export interface ExecClientThrow extends ProtoMessage { id: number; error: string; stackTrace?: string; errorCode?: string; } export const ExecClientThrowSchema: MessageCodec = pb("agent.v1.ExecClientThrow", [ { no: 1, name: "id", kind: "uint32" }, { no: 2, name: "error", kind: "string" }, { no: 3, name: "stackTrace", kind: "string", optional: true }, { no: 4, name: "errorCode", kind: "string", optional: true }, ]); /** Cursor agent message agent.v1.ExecServerAbort. */ export interface ExecServerAbort extends ProtoMessage { id: number; } export const ExecServerAbortSchema: MessageCodec = pb("agent.v1.ExecServerAbort", [ { no: 1, name: "id", kind: "uint32" }, ]); /** Cursor agent message agent.v1.ExecServerControlMessage. */ export interface ExecServerControlMessage extends ProtoMessage { message: | { case: undefined; value?: undefined } | { case: "abort"; value: ExecServerAbort }; } export const ExecServerControlMessageSchema: MessageCodec = pb("agent.v1.ExecServerControlMessage", [ { kind: "oneof", name: "message", variants: [ { no: 1, name: "abort", kind: "message", T: () => ExecServerAbortSchema }, ], }, ]); /** Cursor agent message agent.v1.ExecServerMessage. */ export interface ExecServerMessage extends ProtoMessage { id: number; execId: string; spanContext?: SpanContext; acceptHookAdditionalContexts?: boolean; message: | { case: undefined; value?: undefined } | { case: "shellArgs"; value: ShellArgs } | { case: "writeArgs"; value: WriteArgs } | { case: "deleteArgs"; value: DeleteArgs } | { case: "grepArgs"; value: GrepArgs } | { case: "readArgs"; value: ReadArgs } | { case: "lsArgs"; value: LsArgs } | { case: "diagnosticsArgs"; value: DiagnosticsArgs } | { case: "requestContextArgs"; value: RequestContextArgs } | { case: "mcpArgs"; value: McpArgs } | { case: "shellStreamArgs"; value: ShellArgs } | { case: "backgroundShellSpawnArgs"; value: BackgroundShellSpawnArgs } | { case: "listMcpResourcesExecArgs"; value: ListMcpResourcesExecArgs } | { case: "readMcpResourceExecArgs"; value: ReadMcpResourceExecArgs } | { case: "fetchArgs"; value: FetchArgs } | { case: "recordScreenArgs"; value: RecordScreenArgs } | { case: "computerUseArgs"; value: ComputerUseArgs } | { case: "writeShellStdinArgs"; value: WriteShellStdinArgs } | { case: "redactedReadArgs"; value: ReadArgs } | { case: "mcpStateExecArgs"; value: McpStateExecArgs } | { case: "executeHookArgs"; value: ExecuteHookArgs } | { case: "subagentArgs"; value: SubagentArgs } | { case: "forceBackgroundShellArgs"; value: ForceBackgroundShellArgs } | { case: "forceBackgroundSubagentArgs"; value: ForceBackgroundSubagentArgs } | { case: "subagentAwaitArgs"; value: SubagentAwaitArgs } | { case: "smartModeClassifierArgs"; value: SmartModeClassifierArgs } | { case: "canvasDiagnosticsArgs"; value: CanvasDiagnosticsArgs } | { case: "shellAllowlistPrecheckArgs"; value: ShellAllowlistPrecheckArgs } | { case: "mcpAllowlistPrecheckArgs"; value: McpAllowlistPrecheckArgs } | { case: "webFetchAllowlistPrecheckArgs"; value: WebFetchAllowlistPrecheckArgs } | { case: "gitDiffRequest"; value: GetDiffRequest } | { case: "piReadArgs"; value: PiReadExecArgs } | { case: "piBashArgs"; value: PiBashExecArgs } | { case: "piEditArgs"; value: PiEditExecArgs } | { case: "piWriteArgs"; value: PiWriteExecArgs } | { case: "piGrepArgs"; value: PiGrepExecArgs } | { case: "piFindArgs"; value: PiFindExecArgs } | { case: "piLsArgs"; value: PiLsExecArgs } | { case: "miniSweAgentBashArgs"; value: ShellArgs } | { case: "conversationSearchArgs"; value: ConversationSearchArgs } | { case: "agentStoreConflictArgs"; value: AgentStoreConflictArgs }; } export const ExecServerMessageSchema: MessageCodec = pb("agent.v1.ExecServerMessage", [ { no: 1, name: "id", kind: "uint32" }, { no: 15, name: "execId", kind: "string" }, { no: 19, name: "spanContext", kind: "message", T: () => SpanContextSchema }, { no: 55, name: "acceptHookAdditionalContexts", kind: "bool", optional: true }, { kind: "oneof", name: "message", variants: [ { no: 2, name: "shellArgs", kind: "message", T: () => ShellArgsSchema }, { no: 3, name: "writeArgs", kind: "message", T: () => WriteArgsSchema }, { no: 4, name: "deleteArgs", kind: "message", T: () => DeleteArgsSchema }, { no: 5, name: "grepArgs", kind: "message", T: () => GrepArgsSchema }, { no: 7, name: "readArgs", kind: "message", T: () => ReadArgsSchema }, { no: 8, name: "lsArgs", kind: "message", T: () => LsArgsSchema }, { no: 9, name: "diagnosticsArgs", kind: "message", T: () => DiagnosticsArgsSchema }, { no: 10, name: "requestContextArgs", kind: "message", T: () => RequestContextArgsSchema }, { no: 11, name: "mcpArgs", kind: "message", T: () => McpArgsSchema }, { no: 14, name: "shellStreamArgs", kind: "message", T: () => ShellArgsSchema }, { no: 16, name: "backgroundShellSpawnArgs", kind: "message", T: () => BackgroundShellSpawnArgsSchema }, { no: 17, name: "listMcpResourcesExecArgs", kind: "message", T: () => ListMcpResourcesExecArgsSchema }, { no: 18, name: "readMcpResourceExecArgs", kind: "message", T: () => ReadMcpResourceExecArgsSchema }, { no: 20, name: "fetchArgs", kind: "message", T: () => FetchArgsSchema }, { no: 21, name: "recordScreenArgs", kind: "message", T: () => RecordScreenArgsSchema }, { no: 22, name: "computerUseArgs", kind: "message", T: () => ComputerUseArgsSchema }, { no: 23, name: "writeShellStdinArgs", kind: "message", T: () => WriteShellStdinArgsSchema }, { no: 29, name: "redactedReadArgs", kind: "message", T: () => ReadArgsSchema }, { no: 36, name: "mcpStateExecArgs", kind: "message", T: () => McpStateExecArgsSchema }, { no: 27, name: "executeHookArgs", kind: "message", T: () => ExecuteHookArgsSchema }, { no: 28, name: "subagentArgs", kind: "message", T: () => SubagentArgsSchema }, { no: 30, name: "forceBackgroundShellArgs", kind: "message", T: () => ForceBackgroundShellArgsSchema }, { no: 31, name: "forceBackgroundSubagentArgs", kind: "message", T: () => ForceBackgroundSubagentArgsSchema }, { no: 37, name: "subagentAwaitArgs", kind: "message", T: () => SubagentAwaitArgsSchema }, { no: 38, name: "smartModeClassifierArgs", kind: "message", T: () => SmartModeClassifierArgsSchema }, { no: 40, name: "canvasDiagnosticsArgs", kind: "message", T: () => CanvasDiagnosticsArgsSchema }, { no: 41, name: "shellAllowlistPrecheckArgs", kind: "message", T: () => ShellAllowlistPrecheckArgsSchema }, { no: 42, name: "mcpAllowlistPrecheckArgs", kind: "message", T: () => McpAllowlistPrecheckArgsSchema }, { no: 43, name: "webFetchAllowlistPrecheckArgs", kind: "message", T: () => WebFetchAllowlistPrecheckArgsSchema }, { no: 44, name: "gitDiffRequest", kind: "message", T: () => GetDiffRequestSchema }, { no: 45, name: "piReadArgs", kind: "message", T: () => PiReadExecArgsSchema }, { no: 46, name: "piBashArgs", kind: "message", T: () => PiBashExecArgsSchema }, { no: 47, name: "piEditArgs", kind: "message", T: () => PiEditExecArgsSchema }, { no: 48, name: "piWriteArgs", kind: "message", T: () => PiWriteExecArgsSchema }, { no: 49, name: "piGrepArgs", kind: "message", T: () => PiGrepExecArgsSchema }, { no: 50, name: "piFindArgs", kind: "message", T: () => PiFindExecArgsSchema }, { no: 51, name: "piLsArgs", kind: "message", T: () => PiLsExecArgsSchema }, { no: 52, name: "miniSweAgentBashArgs", kind: "message", T: () => ShellArgsSchema }, { no: 53, name: "conversationSearchArgs", kind: "message", T: () => ConversationSearchArgsSchema }, { no: 54, name: "agentStoreConflictArgs", kind: "message", T: () => AgentStoreConflictArgsSchema }, ], }, ]); /** Cursor agent message agent.v1.ExecuteHookArgs. */ export interface ExecuteHookArgs extends ProtoMessage { request?: ExecuteHookRequest; } export const ExecuteHookArgsSchema: MessageCodec = pb("agent.v1.ExecuteHookArgs", [ { no: 1, name: "request", kind: "message", T: () => ExecuteHookRequestSchema }, ]); /** Cursor agent message agent.v1.ExecuteHookRequest. */ export interface ExecuteHookRequest extends ProtoMessage { request: | { case: undefined; value?: undefined } | { case: "preCompact"; value: PreCompactRequestQuery } | { case: "subagentStart"; value: SubagentStartRequestQuery } | { case: "subagentStop"; value: SubagentStopRequestQuery } | { case: "preToolUse"; value: PreToolUseRequestQuery } | { case: "postToolUse"; value: PostToolUseRequestQuery } | { case: "postToolUseFailure"; value: PostToolUseFailureRequestQuery } | { case: "beforeSubmitPrompt"; value: BeforeSubmitPromptRequestQuery } | { case: "afterAgentResponse"; value: AfterAgentResponseRequestQuery } | { case: "afterAgentThought"; value: AfterAgentThoughtRequestQuery } | { case: "stop"; value: StopRequestQuery }; } export const ExecuteHookRequestSchema: MessageCodec = pb("agent.v1.ExecuteHookRequest", [ { kind: "oneof", name: "request", variants: [ { no: 1, name: "preCompact", kind: "message", T: () => PreCompactRequestQuerySchema }, { no: 2, name: "subagentStart", kind: "message", T: () => SubagentStartRequestQuerySchema }, { no: 3, name: "subagentStop", kind: "message", T: () => SubagentStopRequestQuerySchema }, { no: 4, name: "preToolUse", kind: "message", T: () => PreToolUseRequestQuerySchema }, { no: 5, name: "postToolUse", kind: "message", T: () => PostToolUseRequestQuerySchema }, { no: 6, name: "postToolUseFailure", kind: "message", T: () => PostToolUseFailureRequestQuerySchema }, { no: 7, name: "beforeSubmitPrompt", kind: "message", T: () => BeforeSubmitPromptRequestQuerySchema }, { no: 8, name: "afterAgentResponse", kind: "message", T: () => AfterAgentResponseRequestQuerySchema }, { no: 9, name: "afterAgentThought", kind: "message", T: () => AfterAgentThoughtRequestQuerySchema }, { no: 11, name: "stop", kind: "message", T: () => StopRequestQuerySchema }, ], }, ]); /** Cursor agent message agent.v1.ExecuteHookResponse. */ export interface ExecuteHookResponse extends ProtoMessage { response: | { case: undefined; value?: undefined } | { case: "preCompact"; value: PreCompactRequestResponse } | { case: "subagentStart"; value: SubagentStartRequestResponse } | { case: "subagentStop"; value: SubagentStopRequestResponse } | { case: "preToolUse"; value: PreToolUseRequestResponse } | { case: "postToolUse"; value: PostToolUseRequestResponse } | { case: "postToolUseFailure"; value: PostToolUseFailureRequestResponse } | { case: "beforeSubmitPrompt"; value: BeforeSubmitPromptRequestResponse } | { case: "afterAgentResponse"; value: AfterAgentResponseRequestResponse } | { case: "afterAgentThought"; value: AfterAgentThoughtRequestResponse } | { case: "stop"; value: StopRequestResponse }; } export const ExecuteHookResponseSchema: MessageCodec = pb("agent.v1.ExecuteHookResponse", [ { kind: "oneof", name: "response", variants: [ { no: 1, name: "preCompact", kind: "message", T: () => PreCompactRequestResponseSchema }, { no: 2, name: "subagentStart", kind: "message", T: () => SubagentStartRequestResponseSchema }, { no: 3, name: "subagentStop", kind: "message", T: () => SubagentStopRequestResponseSchema }, { no: 4, name: "preToolUse", kind: "message", T: () => PreToolUseRequestResponseSchema }, { no: 5, name: "postToolUse", kind: "message", T: () => PostToolUseRequestResponseSchema }, { no: 6, name: "postToolUseFailure", kind: "message", T: () => PostToolUseFailureRequestResponseSchema }, { no: 7, name: "beforeSubmitPrompt", kind: "message", T: () => BeforeSubmitPromptRequestResponseSchema }, { no: 8, name: "afterAgentResponse", kind: "message", T: () => AfterAgentResponseRequestResponseSchema }, { no: 9, name: "afterAgentThought", kind: "message", T: () => AfterAgentThoughtRequestResponseSchema }, { no: 11, name: "stop", kind: "message", T: () => StopRequestResponseSchema }, ], }, ]); /** Cursor agent message agent.v1.ExecuteHookResult. */ export interface ExecuteHookResult extends ProtoMessage { response?: ExecuteHookResponse; } export const ExecuteHookResultSchema: MessageCodec = pb("agent.v1.ExecuteHookResult", [ { no: 1, name: "response", kind: "message", T: () => ExecuteHookResponseSchema }, ]); /** Cursor agent message agent.v1.ExecutePlanAction. */ export interface ExecutePlanAction extends ProtoMessage { requestContext?: RequestContext; plan?: ConversationPlan; planFileUri?: string; planFileContent?: string; } export const ExecutePlanActionSchema: MessageCodec = pb("agent.v1.ExecutePlanAction", [ { no: 1, name: "requestContext", kind: "message", T: () => RequestContextSchema }, { no: 2, name: "plan", kind: "message", T: () => ConversationPlanSchema }, { no: 3, name: "planFileUri", kind: "string", optional: true }, { no: 4, name: "planFileContent", kind: "string", optional: true }, ]); /** Cursor agent message agent.v1.ExtraContextEntry. */ export interface ExtraContextEntry extends ProtoMessage { dataOrBlobId: | { case: undefined; value?: undefined } | { case: "data"; value: string } | { case: "blobId"; value: Uint8Array }; } export const ExtraContextEntrySchema: MessageCodec = pb("agent.v1.ExtraContextEntry", [ { kind: "oneof", name: "dataOrBlobId", variants: [ { no: 1, name: "data", kind: "string" }, { no: 2, name: "blobId", kind: "bytes" }, ], }, ]); /** Cursor agent message agent.v1.FetchArgs. */ export interface FetchArgs extends ProtoMessage { url: string; toolCallId: string; } export const FetchArgsSchema: MessageCodec = pb("agent.v1.FetchArgs", [ { no: 1, name: "url", kind: "string" }, { no: 2, name: "toolCallId", kind: "string" }, ]); /** Cursor agent message agent.v1.FetchError. */ export interface FetchError extends ProtoMessage { url: string; error: string; } export const FetchErrorSchema: MessageCodec = pb("agent.v1.FetchError", [ { no: 1, name: "url", kind: "string" }, { no: 2, name: "error", kind: "string" }, ]); /** Cursor agent message agent.v1.FetchResult. */ export interface FetchResult extends ProtoMessage { result: | { case: undefined; value?: undefined } | { case: "success"; value: FetchSuccess } | { case: "error"; value: FetchError }; } export const FetchResultSchema: MessageCodec = pb("agent.v1.FetchResult", [ { kind: "oneof", name: "result", variants: [ { no: 1, name: "success", kind: "message", T: () => FetchSuccessSchema }, { no: 2, name: "error", kind: "message", T: () => FetchErrorSchema }, ], }, ]); /** Cursor agent message agent.v1.FetchSuccess. */ export interface FetchSuccess extends ProtoMessage { url: string; content: string; statusCode: number; contentType: string; } export const FetchSuccessSchema: MessageCodec = pb("agent.v1.FetchSuccess", [ { no: 1, name: "url", kind: "string" }, { no: 2, name: "content", kind: "string" }, { no: 3, name: "statusCode", kind: "int32" }, { no: 4, name: "contentType", kind: "string" }, ]); /** Cursor agent message agent.v1.FetchToolCall. */ export interface FetchToolCall extends ProtoMessage { args?: FetchArgs; result?: FetchResult; } export const FetchToolCallSchema: MessageCodec = pb("agent.v1.FetchToolCall", [ { no: 1, name: "args", kind: "message", T: () => FetchArgsSchema }, { no: 2, name: "result", kind: "message", T: () => FetchResultSchema }, ]); /** Cursor agent message agent.v1.FileDiagnostics. */ export interface FileDiagnostics extends ProtoMessage { path: string; diagnostics: DiagnosticItem[]; diagnosticsCount: number; } export const FileDiagnosticsSchema: MessageCodec = pb("agent.v1.FileDiagnostics", [ { no: 1, name: "path", kind: "string" }, { no: 2, name: "diagnostics", kind: "message", T: () => DiagnosticItemSchema, repeat: true }, { no: 3, name: "diagnosticsCount", kind: "int32" }, ]); /** Cursor agent message agent.v1.FileDiff. */ export interface FileDiff extends ProtoMessage { added: number; removed: number; from: string; to: string; chunks: FileDiff_Chunk[]; beforeFileContents?: string; afterFileContents?: string; isGenerated?: boolean; } export const FileDiffSchema: MessageCodec = pb("agent.v1.FileDiff", [ { no: 4, name: "added", kind: "int32" }, { no: 5, name: "removed", kind: "int32" }, { no: 1, name: "from", kind: "string" }, { no: 2, name: "to", kind: "string" }, { no: 3, name: "chunks", kind: "message", T: () => FileDiff_ChunkSchema, repeat: true }, { no: 6, name: "beforeFileContents", kind: "string", optional: true }, { no: 7, name: "afterFileContents", kind: "string", optional: true }, { no: 8, name: "isGenerated", kind: "bool", optional: true }, ]); /** Cursor agent message agent.v1.FileDiff_Chunk. */ export interface FileDiff_Chunk extends ProtoMessage { content: string; lines: string[]; oldStart: number; oldLines: number; newStart: number; newLines: number; } export const FileDiff_ChunkSchema: MessageCodec = pb("agent.v1.FileDiff_Chunk", [ { no: 1, name: "content", kind: "string" }, { no: 2, name: "lines", kind: "string", repeat: true }, { no: 3, name: "oldStart", kind: "int32" }, { no: 4, name: "oldLines", kind: "int32" }, { no: 5, name: "newStart", kind: "int32" }, { no: 6, name: "newLines", kind: "int32" }, ]); /** Cursor agent message agent.v1.FileStateStructure. */ export interface FileStateStructure extends ProtoMessage { content?: Uint8Array; initialContent?: Uint8Array; } export const FileStateStructureSchema: MessageCodec = pb("agent.v1.FileStateStructure", [ { no: 1, name: "content", kind: "bytes", optional: true }, { no: 2, name: "initialContent", kind: "bytes", optional: true }, ]); /** Cursor agent message agent.v1.ForceBackgroundShellArgs. */ export interface ForceBackgroundShellArgs extends ProtoMessage { toolCallId: string; } export const ForceBackgroundShellArgsSchema: MessageCodec = pb("agent.v1.ForceBackgroundShellArgs", [ { no: 1, name: "toolCallId", kind: "string" }, ]); /** Cursor agent message agent.v1.ForceBackgroundShellResult. */ export interface ForceBackgroundShellResult extends ProtoMessage { status: ForceBackgroundShellStatus; shellResult?: ShellResult; } export const ForceBackgroundShellResultSchema: MessageCodec = pb("agent.v1.ForceBackgroundShellResult", [ { no: 1, name: "status", kind: "enum" }, { no: 2, name: "shellResult", kind: "message", T: () => ShellResultSchema }, ]); /** Cursor agent message agent.v1.ForceBackgroundSubagentArgs. */ export interface ForceBackgroundSubagentArgs extends ProtoMessage { toolCallId: string; } export const ForceBackgroundSubagentArgsSchema: MessageCodec = pb("agent.v1.ForceBackgroundSubagentArgs", [ { no: 1, name: "toolCallId", kind: "string" }, ]); /** Cursor agent message agent.v1.ForceBackgroundSubagentResult. */ export interface ForceBackgroundSubagentResult extends ProtoMessage { status: ForceBackgroundSubagentStatus; } export const ForceBackgroundSubagentResultSchema: MessageCodec = pb("agent.v1.ForceBackgroundSubagentResult", [ { no: 1, name: "status", kind: "enum" }, ]); /** Cursor agent message agent.v1.GenerateImageArgs. */ export interface GenerateImageArgs extends ProtoMessage { description: string; filePath?: string; referenceImagePaths: string[]; } export const GenerateImageArgsSchema: MessageCodec = pb("agent.v1.GenerateImageArgs", [ { no: 1, name: "description", kind: "string" }, { no: 2, name: "filePath", kind: "string", optional: true }, { no: 5, name: "referenceImagePaths", kind: "string", repeat: true }, ]); /** Cursor agent message agent.v1.GenerateImageError. */ export interface GenerateImageError extends ProtoMessage { error: string; } export const GenerateImageErrorSchema: MessageCodec = pb("agent.v1.GenerateImageError", [ { no: 1, name: "error", kind: "string" }, ]); /** Cursor agent message agent.v1.GenerateImageResult. */ export interface GenerateImageResult extends ProtoMessage { result: | { case: undefined; value?: undefined } | { case: "success"; value: GenerateImageSuccess } | { case: "error"; value: GenerateImageError }; } export const GenerateImageResultSchema: MessageCodec = pb("agent.v1.GenerateImageResult", [ { kind: "oneof", name: "result", variants: [ { no: 1, name: "success", kind: "message", T: () => GenerateImageSuccessSchema }, { no: 2, name: "error", kind: "message", T: () => GenerateImageErrorSchema }, ], }, ]); /** Cursor agent message agent.v1.GenerateImageSuccess. */ export interface GenerateImageSuccess extends ProtoMessage { filePath: string; imageData: string; } export const GenerateImageSuccessSchema: MessageCodec = pb("agent.v1.GenerateImageSuccess", [ { no: 1, name: "filePath", kind: "string" }, { no: 2, name: "imageData", kind: "string" }, ]); /** Cursor agent message agent.v1.GenerateImageToolCall. */ export interface GenerateImageToolCall extends ProtoMessage { args?: GenerateImageArgs; result?: GenerateImageResult; } export const GenerateImageToolCallSchema: MessageCodec = pb("agent.v1.GenerateImageToolCall", [ { no: 1, name: "args", kind: "message", T: () => GenerateImageArgsSchema }, { no: 2, name: "result", kind: "message", T: () => GenerateImageResultSchema }, ]); /** Cursor agent message agent.v1.GetBlobArgs. */ export interface GetBlobArgs extends ProtoMessage { blobId: Uint8Array; } export const GetBlobArgsSchema: MessageCodec = pb("agent.v1.GetBlobArgs", [ { no: 1, name: "blobId", kind: "bytes" }, ]); /** Cursor agent message agent.v1.GetBlobResult. */ export interface GetBlobResult extends ProtoMessage { blobData?: Uint8Array; } export const GetBlobResultSchema: MessageCodec = pb("agent.v1.GetBlobResult", [ { no: 1, name: "blobData", kind: "bytes", optional: true }, ]); /** Cursor agent message agent.v1.GetDefaultModelForCliRequest. */ export interface GetDefaultModelForCliRequest extends ProtoMessage { } export const GetDefaultModelForCliRequestSchema: MessageCodec = pb("agent.v1.GetDefaultModelForCliRequest", [ ]); /** Cursor agent message agent.v1.GetDefaultModelForCliResponse. */ export interface GetDefaultModelForCliResponse extends ProtoMessage { model?: ModelDetails; } export const GetDefaultModelForCliResponseSchema: MessageCodec = pb("agent.v1.GetDefaultModelForCliResponse", [ { no: 1, name: "model", kind: "message", T: () => ModelDetailsSchema }, ]); /** Cursor agent message agent.v1.GetDiffRequest. */ export interface GetDiffRequest extends ProtoMessage { cwd: string; ref: string; baseRef: string; mergeBase: boolean; targetPaths: string[]; unifiedContextLines?: number; maxUntrackedFiles: number; submoduleRecurseDepth: number; includeSpaceChanges: boolean; committedOnly: boolean; computePatchId: boolean; returnHeadSha?: boolean; maxResponseBytes?: number; outputFormat?: GetDiffRequest_OutputFormat; } export const GetDiffRequestSchema: MessageCodec = pb("agent.v1.GetDiffRequest", [ { no: 1, name: "cwd", kind: "string" }, { no: 2, name: "ref", kind: "string" }, { no: 3, name: "baseRef", kind: "string" }, { no: 4, name: "mergeBase", kind: "bool" }, { no: 5, name: "targetPaths", kind: "string", repeat: true }, { no: 6, name: "unifiedContextLines", kind: "int32", optional: true }, { no: 7, name: "maxUntrackedFiles", kind: "int32" }, { no: 9, name: "submoduleRecurseDepth", kind: "int32" }, { no: 10, name: "includeSpaceChanges", kind: "bool" }, { no: 11, name: "committedOnly", kind: "bool" }, { no: 12, name: "computePatchId", kind: "bool" }, { no: 13, name: "returnHeadSha", kind: "bool", optional: true }, { no: 14, name: "maxResponseBytes", kind: "int32", optional: true }, { no: 8, name: "outputFormat", kind: "enum", optional: true }, ]); /** Cursor agent message agent.v1.GetDiffResponse. */ export interface GetDiffResponse extends ProtoMessage { diff?: GitDiff; submoduleDiffs: GetDiffResponse_SubmoduleDiff[]; patchId?: string; headSha?: string; hasUncommittedChanges?: boolean; } export const GetDiffResponseSchema: MessageCodec = pb("agent.v1.GetDiffResponse", [ { no: 1, name: "diff", kind: "message", T: () => GitDiffSchema }, { no: 2, name: "submoduleDiffs", kind: "message", T: () => GetDiffResponse_SubmoduleDiffSchema, repeat: true }, { no: 3, name: "patchId", kind: "string", optional: true }, { no: 4, name: "headSha", kind: "string", optional: true }, { no: 5, name: "hasUncommittedChanges", kind: "bool", optional: true }, ]); /** Cursor agent message agent.v1.GetDiffResponse_SubmoduleDiff. */ export interface GetDiffResponse_SubmoduleDiff extends ProtoMessage { relativePath: string; diff?: GitDiff; errored: boolean; } export const GetDiffResponse_SubmoduleDiffSchema: MessageCodec = pb("agent.v1.GetDiffResponse_SubmoduleDiff", [ { no: 1, name: "relativePath", kind: "string" }, { no: 2, name: "diff", kind: "message", T: () => GitDiffSchema }, { no: 3, name: "errored", kind: "bool" }, ]); /** Cursor agent message agent.v1.GetUsableModelsRequest. */ export interface GetUsableModelsRequest extends ProtoMessage { customModelIds: string[]; } export const GetUsableModelsRequestSchema: MessageCodec = pb("agent.v1.GetUsableModelsRequest", [ { no: 1, name: "customModelIds", kind: "string", repeat: true }, ]); /** Cursor agent message agent.v1.GetUsableModelsResponse. */ export interface GetUsableModelsResponse extends ProtoMessage { models: ModelDetails[]; } export const GetUsableModelsResponseSchema: MessageCodec = pb("agent.v1.GetUsableModelsResponse", [ { no: 1, name: "models", kind: "message", T: () => ModelDetailsSchema, repeat: true }, ]); /** Cursor agent message agent.v1.GitDiff. */ export interface GitDiff extends ProtoMessage { diffs: FileDiff[]; diffType: GitDiff_DiffType; } export const GitDiffSchema: MessageCodec = pb("agent.v1.GitDiff", [ { no: 1, name: "diffs", kind: "message", T: () => FileDiffSchema, repeat: true }, { no: 2, name: "diffType", kind: "enum" }, ]); /** Cursor agent message agent.v1.GitRepoInfo. */ export interface GitRepoInfo extends ProtoMessage { path: string; status: string; branchName: string; remoteUrl?: string; } export const GitRepoInfoSchema: MessageCodec = pb("agent.v1.GitRepoInfo", [ { no: 1, name: "path", kind: "string" }, { no: 2, name: "status", kind: "string" }, { no: 3, name: "branchName", kind: "string" }, { no: 4, name: "remoteUrl", kind: "string", optional: true }, ]); /** Cursor agent message agent.v1.GlobToolCall. */ export interface GlobToolCall extends ProtoMessage { args: Uint8Array; result?: GlobToolResult; } export const GlobToolCallSchema: MessageCodec = pb("agent.v1.GlobToolCall", [ { no: 1, name: "args", kind: "bytes" }, { no: 2, name: "result", kind: "message", T: () => GlobToolResultSchema }, ]); /** Cursor agent message agent.v1.GlobToolError. */ export interface GlobToolError extends ProtoMessage { error: string; } export const GlobToolErrorSchema: MessageCodec = pb("agent.v1.GlobToolError", [ { no: 1, name: "error", kind: "string" }, ]); /** Cursor agent message agent.v1.GlobToolResult. */ export interface GlobToolResult extends ProtoMessage { result: | { case: undefined; value?: undefined } | { case: "success"; value: GlobToolSuccess } | { case: "error"; value: GlobToolError }; } export const GlobToolResultSchema: MessageCodec = pb("agent.v1.GlobToolResult", [ { kind: "oneof", name: "result", variants: [ { no: 1, name: "success", kind: "message", T: () => GlobToolSuccessSchema }, { no: 2, name: "error", kind: "message", T: () => GlobToolErrorSchema }, ], }, ]); /** Cursor agent message agent.v1.GlobToolSuccess. */ export interface GlobToolSuccess extends ProtoMessage { pattern: string; path: string; files: string[]; totalFiles: number; clientTruncated: boolean; ripgrepTruncated: boolean; } export const GlobToolSuccessSchema: MessageCodec = pb("agent.v1.GlobToolSuccess", [ { no: 1, name: "pattern", kind: "string" }, { no: 2, name: "path", kind: "string" }, { no: 3, name: "files", kind: "string", repeat: true }, { no: 4, name: "totalFiles", kind: "int32" }, { no: 5, name: "clientTruncated", kind: "bool" }, { no: 6, name: "ripgrepTruncated", kind: "bool" }, ]); /** Cursor agent message agent.v1.GrepArgs. */ export interface GrepArgs extends ProtoMessage { pattern: string; path?: string; glob?: string; outputMode?: string; contextBefore?: number; contextAfter?: number; context?: number; caseInsensitive?: boolean; type?: string; headLimit?: number; multiline?: boolean; sort?: string; sortAscending?: boolean; toolCallId: string; sandboxPolicy?: SandboxPolicy; offset?: number; } export const GrepArgsSchema: MessageCodec = pb("agent.v1.GrepArgs", [ { no: 1, name: "pattern", kind: "string" }, { no: 2, name: "path", kind: "string", optional: true }, { no: 3, name: "glob", kind: "string", optional: true }, { no: 4, name: "outputMode", kind: "string", optional: true }, { no: 5, name: "contextBefore", kind: "int32", optional: true }, { no: 6, name: "contextAfter", kind: "int32", optional: true }, { no: 7, name: "context", kind: "int32", optional: true }, { no: 8, name: "caseInsensitive", kind: "bool", optional: true }, { no: 9, name: "type", kind: "string", optional: true }, { no: 10, name: "headLimit", kind: "int32", optional: true }, { no: 11, name: "multiline", kind: "bool", optional: true }, { no: 12, name: "sort", kind: "string", optional: true }, { no: 13, name: "sortAscending", kind: "bool", optional: true }, { no: 14, name: "toolCallId", kind: "string" }, { no: 15, name: "sandboxPolicy", kind: "message", T: () => SandboxPolicySchema }, { no: 16, name: "offset", kind: "int32", optional: true }, ]); /** Cursor agent message agent.v1.GrepContentMatch. */ export interface GrepContentMatch extends ProtoMessage { lineNumber: number; content: string; contentTruncated: boolean; isContextLine: boolean; } export const GrepContentMatchSchema: MessageCodec = pb("agent.v1.GrepContentMatch", [ { no: 1, name: "lineNumber", kind: "int32" }, { no: 2, name: "content", kind: "string" }, { no: 3, name: "contentTruncated", kind: "bool" }, { no: 4, name: "isContextLine", kind: "bool" }, ]); /** Cursor agent message agent.v1.GrepContentResult. */ export interface GrepContentResult extends ProtoMessage { matches: GrepFileMatch[]; totalLines: number; totalMatchedLines: number; clientTruncated: boolean; ripgrepTruncated: boolean; headLimitApplied?: number; offsetApplied?: number; } export const GrepContentResultSchema: MessageCodec = pb("agent.v1.GrepContentResult", [ { no: 1, name: "matches", kind: "message", T: () => GrepFileMatchSchema, repeat: true }, { no: 2, name: "totalLines", kind: "int32" }, { no: 3, name: "totalMatchedLines", kind: "int32" }, { no: 4, name: "clientTruncated", kind: "bool" }, { no: 5, name: "ripgrepTruncated", kind: "bool" }, { no: 6, name: "headLimitApplied", kind: "int32", optional: true }, { no: 7, name: "offsetApplied", kind: "int32", optional: true }, ]); /** Cursor agent message agent.v1.GrepCountResult. */ export interface GrepCountResult extends ProtoMessage { counts: GrepFileCount[]; totalFiles: number; totalMatches: number; clientTruncated: boolean; ripgrepTruncated: boolean; headLimitApplied?: number; offsetApplied?: number; } export const GrepCountResultSchema: MessageCodec = pb("agent.v1.GrepCountResult", [ { no: 1, name: "counts", kind: "message", T: () => GrepFileCountSchema, repeat: true }, { no: 2, name: "totalFiles", kind: "int32" }, { no: 3, name: "totalMatches", kind: "int32" }, { no: 4, name: "clientTruncated", kind: "bool" }, { no: 5, name: "ripgrepTruncated", kind: "bool" }, { no: 6, name: "headLimitApplied", kind: "int32", optional: true }, { no: 7, name: "offsetApplied", kind: "int32", optional: true }, ]); /** Cursor agent message agent.v1.GrepError. */ export interface GrepError extends ProtoMessage { error: string; } export const GrepErrorSchema: MessageCodec = pb("agent.v1.GrepError", [ { no: 1, name: "error", kind: "string" }, ]); /** Cursor agent message agent.v1.GrepFileCount. */ export interface GrepFileCount extends ProtoMessage { file: string; count: number; } export const GrepFileCountSchema: MessageCodec = pb("agent.v1.GrepFileCount", [ { no: 1, name: "file", kind: "string" }, { no: 2, name: "count", kind: "int32" }, ]); /** Cursor agent message agent.v1.GrepFileMatch. */ export interface GrepFileMatch extends ProtoMessage { file: string; matches: GrepContentMatch[]; } export const GrepFileMatchSchema: MessageCodec = pb("agent.v1.GrepFileMatch", [ { no: 1, name: "file", kind: "string" }, { no: 2, name: "matches", kind: "message", T: () => GrepContentMatchSchema, repeat: true }, ]); /** Cursor agent message agent.v1.GrepFilesResult. */ export interface GrepFilesResult extends ProtoMessage { files: string[]; totalFiles: number; clientTruncated: boolean; ripgrepTruncated: boolean; headLimitApplied?: number; offsetApplied?: number; } export const GrepFilesResultSchema: MessageCodec = pb("agent.v1.GrepFilesResult", [ { no: 1, name: "files", kind: "string", repeat: true }, { no: 2, name: "totalFiles", kind: "int32" }, { no: 3, name: "clientTruncated", kind: "bool" }, { no: 4, name: "ripgrepTruncated", kind: "bool" }, { no: 5, name: "headLimitApplied", kind: "int32", optional: true }, { no: 6, name: "offsetApplied", kind: "int32", optional: true }, ]); /** Cursor agent message agent.v1.GrepResult. */ export interface GrepResult extends ProtoMessage { result: | { case: undefined; value?: undefined } | { case: "success"; value: GrepSuccess } | { case: "error"; value: GrepError }; } export const GrepResultSchema: MessageCodec = pb("agent.v1.GrepResult", [ { kind: "oneof", name: "result", variants: [ { no: 1, name: "success", kind: "message", T: () => GrepSuccessSchema }, { no: 2, name: "error", kind: "message", T: () => GrepErrorSchema }, ], }, ]); /** Cursor agent message agent.v1.GrepSuccess. */ export interface GrepSuccess extends ProtoMessage { pattern: string; path: string; outputMode: string; workspaceResults: Record; activeEditorResult?: GrepUnionResult; } export const GrepSuccessSchema: MessageCodec = pb("agent.v1.GrepSuccess", [ { no: 1, name: "pattern", kind: "string" }, { no: 2, name: "path", kind: "string" }, { no: 3, name: "outputMode", kind: "string" }, { no: 4, name: "workspaceResults", kind: "map", K: "string", V: () => GrepUnionResultSchema }, { no: 5, name: "activeEditorResult", kind: "message", T: () => GrepUnionResultSchema }, ]); /** Cursor agent message agent.v1.GrepToolCall. */ export interface GrepToolCall extends ProtoMessage { args?: GrepArgs; result?: GrepResult; } export const GrepToolCallSchema: MessageCodec = pb("agent.v1.GrepToolCall", [ { no: 1, name: "args", kind: "message", T: () => GrepArgsSchema }, { no: 2, name: "result", kind: "message", T: () => GrepResultSchema }, ]); /** Cursor agent message agent.v1.GrepUnionResult. */ export interface GrepUnionResult extends ProtoMessage { result: | { case: undefined; value?: undefined } | { case: "count"; value: GrepCountResult } | { case: "files"; value: GrepFilesResult } | { case: "content"; value: GrepContentResult }; } export const GrepUnionResultSchema: MessageCodec = pb("agent.v1.GrepUnionResult", [ { kind: "oneof", name: "result", variants: [ { no: 1, name: "count", kind: "message", T: () => GrepCountResultSchema }, { no: 2, name: "files", kind: "message", T: () => GrepFilesResultSchema }, { no: 3, name: "content", kind: "message", T: () => GrepContentResultSchema }, ], }, ]); /** Cursor agent message agent.v1.HeartbeatUpdate. */ export interface HeartbeatUpdate extends ProtoMessage { } export const HeartbeatUpdateSchema: MessageCodec = pb("agent.v1.HeartbeatUpdate", [ ]); /** Cursor agent message agent.v1.HookAdditionalContext. */ export interface HookAdditionalContext extends ProtoMessage { hookEventName: string; content: string; } export const HookAdditionalContextSchema: MessageCodec = pb("agent.v1.HookAdditionalContext", [ { no: 1, name: "hookEventName", kind: "string" }, { no: 2, name: "content", kind: "string" }, ]); /** Cursor agent message agent.v1.InteractionQuery. */ export interface InteractionQuery extends ProtoMessage { id: number; query: | { case: undefined; value?: undefined } | { case: "webSearchRequestQuery"; value: WebSearchRequestQuery } | { case: "askQuestionInteractionQuery"; value: AskQuestionInteractionQuery } | { case: "switchModeRequestQuery"; value: SwitchModeRequestQuery } | { case: "exaSearchRequestQuery"; value: ExaSearchRequestQuery } | { case: "exaFetchRequestQuery"; value: ExaFetchRequestQuery } | { case: "createPlanRequestQuery"; value: CreatePlanRequestQuery } | { case: "setupVmEnvironmentArgs"; value: SetupVmEnvironmentArgs } | { case: "webFetchRequestQuery"; value: WebFetchRequestQuery }; } export const InteractionQuerySchema: MessageCodec = pb("agent.v1.InteractionQuery", [ { no: 1, name: "id", kind: "uint32" }, { kind: "oneof", name: "query", variants: [ { no: 2, name: "webSearchRequestQuery", kind: "message", T: () => WebSearchRequestQuerySchema }, { no: 3, name: "askQuestionInteractionQuery", kind: "message", T: () => AskQuestionInteractionQuerySchema }, { no: 4, name: "switchModeRequestQuery", kind: "message", T: () => SwitchModeRequestQuerySchema }, { no: 5, name: "exaSearchRequestQuery", kind: "message", T: () => ExaSearchRequestQuerySchema }, { no: 6, name: "exaFetchRequestQuery", kind: "message", T: () => ExaFetchRequestQuerySchema }, { no: 7, name: "createPlanRequestQuery", kind: "message", T: () => CreatePlanRequestQuerySchema }, { no: 8, name: "setupVmEnvironmentArgs", kind: "message", T: () => SetupVmEnvironmentArgsSchema }, { no: 9, name: "webFetchRequestQuery", kind: "message", T: () => WebFetchRequestQuerySchema }, ], }, ]); /** Cursor agent message agent.v1.InteractionResponse. */ export interface InteractionResponse extends ProtoMessage { id: number; result: | { case: undefined; value?: undefined } | { case: "webSearchRequestResponse"; value: WebSearchRequestResponse } | { case: "askQuestionInteractionResponse"; value: AskQuestionInteractionResponse } | { case: "switchModeRequestResponse"; value: SwitchModeRequestResponse } | { case: "exaSearchRequestResponse"; value: ExaSearchRequestResponse } | { case: "exaFetchRequestResponse"; value: ExaFetchRequestResponse } | { case: "createPlanRequestResponse"; value: CreatePlanRequestResponse } | { case: "setupVmEnvironmentResult"; value: SetupVmEnvironmentResult } | { case: "webFetchRequestResponse"; value: WebFetchRequestResponse }; } export const InteractionResponseSchema: MessageCodec = pb("agent.v1.InteractionResponse", [ { no: 1, name: "id", kind: "uint32" }, { kind: "oneof", name: "result", variants: [ { no: 2, name: "webSearchRequestResponse", kind: "message", T: () => WebSearchRequestResponseSchema }, { no: 3, name: "askQuestionInteractionResponse", kind: "message", T: () => AskQuestionInteractionResponseSchema }, { no: 4, name: "switchModeRequestResponse", kind: "message", T: () => SwitchModeRequestResponseSchema }, { no: 5, name: "exaSearchRequestResponse", kind: "message", T: () => ExaSearchRequestResponseSchema }, { no: 6, name: "exaFetchRequestResponse", kind: "message", T: () => ExaFetchRequestResponseSchema }, { no: 7, name: "createPlanRequestResponse", kind: "message", T: () => CreatePlanRequestResponseSchema }, { no: 8, name: "setupVmEnvironmentResult", kind: "message", T: () => SetupVmEnvironmentResultSchema }, { no: 9, name: "webFetchRequestResponse", kind: "message", T: () => WebFetchRequestResponseSchema }, ], }, ]); /** Cursor agent message agent.v1.InteractionUpdate. */ export interface InteractionUpdate extends ProtoMessage { message: | { case: undefined; value?: undefined } | { case: "textDelta"; value: TextDeltaUpdate } | { case: "partialToolCall"; value: PartialToolCallUpdate } | { case: "toolCallDelta"; value: ToolCallDeltaUpdate } | { case: "toolCallStarted"; value: ToolCallStartedUpdate } | { case: "toolCallCompleted"; value: ToolCallCompletedUpdate } | { case: "thinkingDelta"; value: ThinkingDeltaUpdate } | { case: "thinkingCompleted"; value: ThinkingCompletedUpdate } | { case: "userMessageAppended"; value: UserMessageAppendedUpdate } | { case: "tokenDelta"; value: TokenDeltaUpdate } | { case: "summary"; value: SummaryUpdate } | { case: "summaryStarted"; value: SummaryStartedUpdate } | { case: "summaryCompleted"; value: SummaryCompletedUpdate } | { case: "shellOutputDelta"; value: ShellOutputDeltaUpdate } | { case: "heartbeat"; value: HeartbeatUpdate } | { case: "turnEnded"; value: TurnEndedUpdate } | { case: "stepStarted"; value: StepStartedUpdate } | { case: "stepCompleted"; value: StepCompletedUpdate } | { case: "toolRequestsListed"; value: ToolRequestsListedUpdate }; } export const InteractionUpdateSchema: MessageCodec = pb("agent.v1.InteractionUpdate", [ { kind: "oneof", name: "message", variants: [ { no: 1, name: "textDelta", kind: "message", T: () => TextDeltaUpdateSchema }, { no: 7, name: "partialToolCall", kind: "message", T: () => PartialToolCallUpdateSchema }, { no: 15, name: "toolCallDelta", kind: "message", T: () => ToolCallDeltaUpdateSchema }, { no: 2, name: "toolCallStarted", kind: "message", T: () => ToolCallStartedUpdateSchema }, { no: 3, name: "toolCallCompleted", kind: "message", T: () => ToolCallCompletedUpdateSchema }, { no: 4, name: "thinkingDelta", kind: "message", T: () => ThinkingDeltaUpdateSchema }, { no: 5, name: "thinkingCompleted", kind: "message", T: () => ThinkingCompletedUpdateSchema }, { no: 6, name: "userMessageAppended", kind: "message", T: () => UserMessageAppendedUpdateSchema }, { no: 8, name: "tokenDelta", kind: "message", T: () => TokenDeltaUpdateSchema }, { no: 9, name: "summary", kind: "message", T: () => SummaryUpdateSchema }, { no: 10, name: "summaryStarted", kind: "message", T: () => SummaryStartedUpdateSchema }, { no: 11, name: "summaryCompleted", kind: "message", T: () => SummaryCompletedUpdateSchema }, { no: 12, name: "shellOutputDelta", kind: "message", T: () => ShellOutputDeltaUpdateSchema }, { no: 13, name: "heartbeat", kind: "message", T: () => HeartbeatUpdateSchema }, { no: 14, name: "turnEnded", kind: "message", T: () => TurnEndedUpdateSchema }, { no: 16, name: "stepStarted", kind: "message", T: () => StepStartedUpdateSchema }, { no: 17, name: "stepCompleted", kind: "message", T: () => StepCompletedUpdateSchema }, { no: 27, name: "toolRequestsListed", kind: "message", T: () => ToolRequestsListedUpdateSchema }, ], }, ]); /** Cursor agent message agent.v1.InvocationContext. */ export interface InvocationContext extends ProtoMessage { data: | { case: undefined; value?: undefined } | { case: "slackThread"; value: InvocationContext_SlackThread } | { case: "githubPr"; value: InvocationContext_GithubPR } | { case: "ideState"; value: InvocationContext_IdeState } | { case: "blobId"; value: Uint8Array }; } export const InvocationContextSchema: MessageCodec = pb("agent.v1.InvocationContext", [ { kind: "oneof", name: "data", variants: [ { no: 1, name: "slackThread", kind: "message", T: () => InvocationContext_SlackThreadSchema }, { no: 2, name: "githubPr", kind: "message", T: () => InvocationContext_GithubPRSchema }, { no: 3, name: "ideState", kind: "message", T: () => InvocationContext_IdeStateSchema }, { no: 10, name: "blobId", kind: "bytes" }, ], }, ]); /** Cursor agent message agent.v1.InvocationContext_GithubPR. */ export interface InvocationContext_GithubPR extends ProtoMessage { title: string; description: string; comments: string; ciFailures?: string; } export const InvocationContext_GithubPRSchema: MessageCodec = pb("agent.v1.InvocationContext_GithubPR", [ { no: 1, name: "title", kind: "string" }, { no: 2, name: "description", kind: "string" }, { no: 3, name: "comments", kind: "string" }, { no: 4, name: "ciFailures", kind: "string", optional: true }, ]); /** Cursor agent message agent.v1.InvocationContext_IdeState. */ export interface InvocationContext_IdeState extends ProtoMessage { visibleFiles: InvocationContext_IdeState_File[]; recentlyViewedFiles: InvocationContext_IdeState_File[]; currentlyViewedPrs: InvocationContext_IdeState_ViewedPullRequest[]; } export const InvocationContext_IdeStateSchema: MessageCodec = pb("agent.v1.InvocationContext_IdeState", [ { no: 1, name: "visibleFiles", kind: "message", T: () => InvocationContext_IdeState_FileSchema, repeat: true }, { no: 2, name: "recentlyViewedFiles", kind: "message", T: () => InvocationContext_IdeState_FileSchema, repeat: true }, { no: 3, name: "currentlyViewedPrs", kind: "message", T: () => InvocationContext_IdeState_ViewedPullRequestSchema, repeat: true }, ]); /** Cursor agent message agent.v1.InvocationContext_IdeState_File. */ export interface InvocationContext_IdeState_File extends ProtoMessage { path: string; relativePath?: string; cursorPosition?: InvocationContext_IdeState_File_CursorPosition; totalLines: number; activeCommand?: string; } export const InvocationContext_IdeState_FileSchema: MessageCodec = pb("agent.v1.InvocationContext_IdeState_File", [ { no: 1, name: "path", kind: "string" }, { no: 2, name: "relativePath", kind: "string", optional: true }, { no: 3, name: "cursorPosition", kind: "message", T: () => InvocationContext_IdeState_File_CursorPositionSchema }, { no: 4, name: "totalLines", kind: "int32" }, { no: 5, name: "activeCommand", kind: "string", optional: true }, ]); /** Cursor agent message agent.v1.InvocationContext_IdeState_File_CursorPosition. */ export interface InvocationContext_IdeState_File_CursorPosition extends ProtoMessage { line: number; text: string; } export const InvocationContext_IdeState_File_CursorPositionSchema: MessageCodec = pb("agent.v1.InvocationContext_IdeState_File_CursorPosition", [ { no: 1, name: "line", kind: "int32" }, { no: 2, name: "text", kind: "string" }, ]); /** Cursor agent message agent.v1.InvocationContext_IdeState_ViewedPullRequest. */ export interface InvocationContext_IdeState_ViewedPullRequest extends ProtoMessage { number: number; url: string; title?: string; folderPath?: string; summaryJson?: string; description?: string; } export const InvocationContext_IdeState_ViewedPullRequestSchema: MessageCodec = pb("agent.v1.InvocationContext_IdeState_ViewedPullRequest", [ { no: 1, name: "number", kind: "int32" }, { no: 2, name: "url", kind: "string" }, { no: 3, name: "title", kind: "string", optional: true }, { no: 4, name: "folderPath", kind: "string", optional: true }, { no: 5, name: "summaryJson", kind: "string", optional: true }, { no: 6, name: "description", kind: "string", optional: true }, ]); /** Cursor agent message agent.v1.InvocationContext_SlackThread. */ export interface InvocationContext_SlackThread extends ProtoMessage { thread: string; channelName?: string; channelPurpose?: string; channelTopic?: string; } export const InvocationContext_SlackThreadSchema: MessageCodec = pb("agent.v1.InvocationContext_SlackThread", [ { no: 1, name: "thread", kind: "string" }, { no: 2, name: "channelName", kind: "string", optional: true }, { no: 3, name: "channelPurpose", kind: "string", optional: true }, { no: 4, name: "channelTopic", kind: "string", optional: true }, ]); /** Cursor agent message agent.v1.KeyAction. */ export interface KeyAction extends ProtoMessage { key: string; holdDurationMs?: number; } export const KeyActionSchema: MessageCodec = pb("agent.v1.KeyAction", [ { no: 1, name: "key", kind: "string" }, { no: 2, name: "holdDurationMs", kind: "int32", optional: true }, ]); /** Cursor agent message agent.v1.KvClientMessage. */ export interface KvClientMessage extends ProtoMessage { id: number; message: | { case: undefined; value?: undefined } | { case: "getBlobResult"; value: GetBlobResult } | { case: "setBlobResult"; value: SetBlobResult }; } export const KvClientMessageSchema: MessageCodec = pb("agent.v1.KvClientMessage", [ { no: 1, name: "id", kind: "uint32" }, { kind: "oneof", name: "message", variants: [ { no: 2, name: "getBlobResult", kind: "message", T: () => GetBlobResultSchema }, { no: 3, name: "setBlobResult", kind: "message", T: () => SetBlobResultSchema }, ], }, ]); /** Cursor agent message agent.v1.KvServerMessage. */ export interface KvServerMessage extends ProtoMessage { id: number; spanContext?: SpanContext; message: | { case: undefined; value?: undefined } | { case: "getBlobArgs"; value: GetBlobArgs } | { case: "setBlobArgs"; value: SetBlobArgs }; } export const KvServerMessageSchema: MessageCodec = pb("agent.v1.KvServerMessage", [ { no: 1, name: "id", kind: "uint32" }, { no: 4, name: "spanContext", kind: "message", T: () => SpanContextSchema }, { kind: "oneof", name: "message", variants: [ { no: 2, name: "getBlobArgs", kind: "message", T: () => GetBlobArgsSchema }, { no: 3, name: "setBlobArgs", kind: "message", T: () => SetBlobArgsSchema }, ], }, ]); /** Cursor agent message agent.v1.ListMcpResourcesError. */ export interface ListMcpResourcesError extends ProtoMessage { error: string; } export const ListMcpResourcesErrorSchema: MessageCodec = pb("agent.v1.ListMcpResourcesError", [ { no: 1, name: "error", kind: "string" }, ]); /** Cursor agent message agent.v1.ListMcpResourcesExecArgs. */ export interface ListMcpResourcesExecArgs extends ProtoMessage { server?: string; } export const ListMcpResourcesExecArgsSchema: MessageCodec = pb("agent.v1.ListMcpResourcesExecArgs", [ { no: 1, name: "server", kind: "string", optional: true }, ]); /** Cursor agent message agent.v1.ListMcpResourcesExecResult. */ export interface ListMcpResourcesExecResult extends ProtoMessage { result: | { case: undefined; value?: undefined } | { case: "success"; value: ListMcpResourcesSuccess } | { case: "error"; value: ListMcpResourcesError } | { case: "rejected"; value: ListMcpResourcesRejected }; } export const ListMcpResourcesExecResultSchema: MessageCodec = pb("agent.v1.ListMcpResourcesExecResult", [ { kind: "oneof", name: "result", variants: [ { no: 1, name: "success", kind: "message", T: () => ListMcpResourcesSuccessSchema }, { no: 2, name: "error", kind: "message", T: () => ListMcpResourcesErrorSchema }, { no: 3, name: "rejected", kind: "message", T: () => ListMcpResourcesRejectedSchema }, ], }, ]); /** Cursor agent message agent.v1.ListMcpResourcesExecResult_McpResource. */ export interface ListMcpResourcesExecResult_McpResource extends ProtoMessage { uri: string; name?: string; description?: string; mimeType?: string; server: string; annotations: Record; } export const ListMcpResourcesExecResult_McpResourceSchema: MessageCodec = pb("agent.v1.ListMcpResourcesExecResult_McpResource", [ { no: 1, name: "uri", kind: "string" }, { no: 2, name: "name", kind: "string", optional: true }, { no: 3, name: "description", kind: "string", optional: true }, { no: 4, name: "mimeType", kind: "string", optional: true }, { no: 5, name: "server", kind: "string" }, { no: 6, name: "annotations", kind: "map", K: "string", V: "string" }, ]); /** Cursor agent message agent.v1.ListMcpResourcesRejected. */ export interface ListMcpResourcesRejected extends ProtoMessage { reason: string; } export const ListMcpResourcesRejectedSchema: MessageCodec = pb("agent.v1.ListMcpResourcesRejected", [ { no: 1, name: "reason", kind: "string" }, ]); /** Cursor agent message agent.v1.ListMcpResourcesSuccess. */ export interface ListMcpResourcesSuccess extends ProtoMessage { resources: ListMcpResourcesExecResult_McpResource[]; } export const ListMcpResourcesSuccessSchema: MessageCodec = pb("agent.v1.ListMcpResourcesSuccess", [ { no: 1, name: "resources", kind: "message", T: () => ListMcpResourcesExecResult_McpResourceSchema, repeat: true }, ]); /** Cursor agent message agent.v1.ListMcpResourcesToolCall. */ export interface ListMcpResourcesToolCall extends ProtoMessage { args?: ListMcpResourcesExecArgs; result?: ListMcpResourcesExecResult; } export const ListMcpResourcesToolCallSchema: MessageCodec = pb("agent.v1.ListMcpResourcesToolCall", [ { no: 1, name: "args", kind: "message", T: () => ListMcpResourcesExecArgsSchema }, { no: 2, name: "result", kind: "message", T: () => ListMcpResourcesExecResultSchema }, ]); /** Cursor agent message agent.v1.LsArgs. */ export interface LsArgs extends ProtoMessage { path: string; ignore: string[]; toolCallId: string; sandboxPolicy?: SandboxPolicy; timeoutMs?: number; } export const LsArgsSchema: MessageCodec = pb("agent.v1.LsArgs", [ { no: 1, name: "path", kind: "string" }, { no: 2, name: "ignore", kind: "string", repeat: true }, { no: 3, name: "toolCallId", kind: "string" }, { no: 4, name: "sandboxPolicy", kind: "message", T: () => SandboxPolicySchema }, { no: 5, name: "timeoutMs", kind: "uint32", optional: true }, ]); /** Cursor agent message agent.v1.LsDirectoryTreeNode. */ export interface LsDirectoryTreeNode extends ProtoMessage { absPath: string; childrenDirs: LsDirectoryTreeNode[]; childrenFiles: LsDirectoryTreeNode_File[]; childrenWereProcessed: boolean; fullSubtreeExtensionCounts: Record; numFiles: number; } export const LsDirectoryTreeNodeSchema: MessageCodec = pb("agent.v1.LsDirectoryTreeNode", [ { no: 1, name: "absPath", kind: "string" }, { no: 2, name: "childrenDirs", kind: "message", T: () => LsDirectoryTreeNodeSchema, repeat: true }, { no: 3, name: "childrenFiles", kind: "message", T: () => LsDirectoryTreeNode_FileSchema, repeat: true }, { no: 4, name: "childrenWereProcessed", kind: "bool" }, { no: 5, name: "fullSubtreeExtensionCounts", kind: "map", K: "string", V: "int32" }, { no: 6, name: "numFiles", kind: "int32" }, ]); /** Cursor agent message agent.v1.LsDirectoryTreeNode_File. */ export interface LsDirectoryTreeNode_File extends ProtoMessage { name: string; terminalMetadata?: TerminalMetadata; } export const LsDirectoryTreeNode_FileSchema: MessageCodec = pb("agent.v1.LsDirectoryTreeNode_File", [ { no: 1, name: "name", kind: "string" }, { no: 2, name: "terminalMetadata", kind: "message", T: () => TerminalMetadataSchema }, ]); /** Cursor agent message agent.v1.LsError. */ export interface LsError extends ProtoMessage { path: string; error: string; } export const LsErrorSchema: MessageCodec = pb("agent.v1.LsError", [ { no: 1, name: "path", kind: "string" }, { no: 2, name: "error", kind: "string" }, ]); /** Cursor agent message agent.v1.LsRejected. */ export interface LsRejected extends ProtoMessage { path: string; reason: string; } export const LsRejectedSchema: MessageCodec = pb("agent.v1.LsRejected", [ { no: 1, name: "path", kind: "string" }, { no: 2, name: "reason", kind: "string" }, ]); /** Cursor agent message agent.v1.LsResult. */ export interface LsResult extends ProtoMessage { result: | { case: undefined; value?: undefined } | { case: "success"; value: LsSuccess } | { case: "error"; value: LsError } | { case: "rejected"; value: LsRejected } | { case: "timeout"; value: LsTimeout }; } export const LsResultSchema: MessageCodec = pb("agent.v1.LsResult", [ { kind: "oneof", name: "result", variants: [ { no: 1, name: "success", kind: "message", T: () => LsSuccessSchema }, { no: 2, name: "error", kind: "message", T: () => LsErrorSchema }, { no: 3, name: "rejected", kind: "message", T: () => LsRejectedSchema }, { no: 4, name: "timeout", kind: "message", T: () => LsTimeoutSchema }, ], }, ]); /** Cursor agent message agent.v1.LsSuccess. */ export interface LsSuccess extends ProtoMessage { directoryTreeRoot?: LsDirectoryTreeNode; } export const LsSuccessSchema: MessageCodec = pb("agent.v1.LsSuccess", [ { no: 1, name: "directoryTreeRoot", kind: "message", T: () => LsDirectoryTreeNodeSchema }, ]); /** Cursor agent message agent.v1.LsTimeout. */ export interface LsTimeout extends ProtoMessage { directoryTreeRoot?: LsDirectoryTreeNode; } export const LsTimeoutSchema: MessageCodec = pb("agent.v1.LsTimeout", [ { no: 1, name: "directoryTreeRoot", kind: "message", T: () => LsDirectoryTreeNodeSchema }, ]); /** Cursor agent message agent.v1.LsToolCall. */ export interface LsToolCall extends ProtoMessage { args?: LsArgs; result?: LsResult; } export const LsToolCallSchema: MessageCodec = pb("agent.v1.LsToolCall", [ { no: 1, name: "args", kind: "message", T: () => LsArgsSchema }, { no: 2, name: "result", kind: "message", T: () => LsResultSchema }, ]); /** Cursor agent message agent.v1.McpAllowlistPrecheckArgs. */ export interface McpAllowlistPrecheckArgs extends ProtoMessage { providerIdentifier: string; toolName: string; toolCallId?: string; } export const McpAllowlistPrecheckArgsSchema: MessageCodec = pb("agent.v1.McpAllowlistPrecheckArgs", [ { no: 1, name: "providerIdentifier", kind: "string" }, { no: 2, name: "toolName", kind: "string" }, { no: 3, name: "toolCallId", kind: "string", optional: true }, ]); /** Cursor agent message agent.v1.McpAllowlistPrecheckResult. */ export interface McpAllowlistPrecheckResult extends ProtoMessage { allowlisted: boolean; } export const McpAllowlistPrecheckResultSchema: MessageCodec = pb("agent.v1.McpAllowlistPrecheckResult", [ { no: 1, name: "allowlisted", kind: "bool" }, ]); /** Cursor agent message agent.v1.McpApproved. */ export interface McpApproved extends ProtoMessage { } export const McpApprovedSchema: MessageCodec = pb("agent.v1.McpApproved", [ ]); /** Cursor agent message agent.v1.McpArgs. */ export interface McpArgs extends ProtoMessage { name: string; args: Record; toolCallId: string; providerIdentifier: string; toolName: string; smartModeApproval?: SmartModeApproval; smartModeApprovalOnly: boolean; skipApproval: boolean; serverIdentifier: string; } export const McpArgsSchema: MessageCodec = pb("agent.v1.McpArgs", [ { no: 1, name: "name", kind: "string" }, { no: 2, name: "args", kind: "map", K: "string", V: "bytes" }, { no: 3, name: "toolCallId", kind: "string" }, { no: 4, name: "providerIdentifier", kind: "string" }, { no: 5, name: "toolName", kind: "string" }, { no: 6, name: "smartModeApproval", kind: "message", T: () => SmartModeApprovalSchema }, { no: 7, name: "smartModeApprovalOnly", kind: "bool" }, { no: 8, name: "skipApproval", kind: "bool" }, { no: 9, name: "serverIdentifier", kind: "string" }, ]); /** Cursor agent message agent.v1.McpDescriptor. */ export interface McpDescriptor extends ProtoMessage { serverName: string; serverIdentifier: string; folderPath?: string; serverUseInstructions?: string; tools: McpToolDescriptor[]; plugin?: string; marketplace?: string; pluginDbId?: string; marketplaceId?: string; } export const McpDescriptorSchema: MessageCodec = pb("agent.v1.McpDescriptor", [ { no: 1, name: "serverName", kind: "string" }, { no: 2, name: "serverIdentifier", kind: "string" }, { no: 3, name: "folderPath", kind: "string", optional: true }, { no: 4, name: "serverUseInstructions", kind: "string", optional: true }, { no: 5, name: "tools", kind: "message", T: () => McpToolDescriptorSchema, repeat: true }, { no: 7, name: "plugin", kind: "string", optional: true }, { no: 8, name: "marketplace", kind: "string", optional: true }, { no: 9, name: "pluginDbId", kind: "string", optional: true }, { no: 10, name: "marketplaceId", kind: "string", optional: true }, ]); /** Cursor agent message agent.v1.McpError. */ export interface McpError extends ProtoMessage { error: string; } export const McpErrorSchema: MessageCodec = pb("agent.v1.McpError", [ { no: 1, name: "error", kind: "string" }, ]); /** Cursor agent message agent.v1.McpFileSystemOptions. */ export interface McpFileSystemOptions extends ProtoMessage { enabled: boolean; workspaceProjectDir: string; mcpDescriptors: McpDescriptor[]; } export const McpFileSystemOptionsSchema: MessageCodec = pb("agent.v1.McpFileSystemOptions", [ { no: 1, name: "enabled", kind: "bool" }, { no: 2, name: "workspaceProjectDir", kind: "string" }, { no: 3, name: "mcpDescriptors", kind: "message", T: () => McpDescriptorSchema, repeat: true }, ]); /** Cursor agent message agent.v1.McpImageContent. */ export interface McpImageContent extends ProtoMessage { data: Uint8Array; mimeType: string; } export const McpImageContentSchema: MessageCodec = pb("agent.v1.McpImageContent", [ { no: 1, name: "data", kind: "bytes" }, { no: 2, name: "mimeType", kind: "string" }, ]); /** Cursor agent message agent.v1.McpInstructions. */ export interface McpInstructions extends ProtoMessage { serverName: string; instructions: string; serverIdentifier: string; } export const McpInstructionsSchema: MessageCodec = pb("agent.v1.McpInstructions", [ { no: 1, name: "serverName", kind: "string" }, { no: 2, name: "instructions", kind: "string" }, { no: 3, name: "serverIdentifier", kind: "string" }, ]); /** Cursor agent message agent.v1.McpPermissionDenied. */ export interface McpPermissionDenied extends ProtoMessage { error: string; isReadonly: boolean; } export const McpPermissionDeniedSchema: MessageCodec = pb("agent.v1.McpPermissionDenied", [ { no: 1, name: "error", kind: "string" }, { no: 2, name: "isReadonly", kind: "bool" }, ]); /** Cursor agent message agent.v1.McpRejected. */ export interface McpRejected extends ProtoMessage { reason: string; isReadonly: boolean; } export const McpRejectedSchema: MessageCodec = pb("agent.v1.McpRejected", [ { no: 1, name: "reason", kind: "string" }, { no: 2, name: "isReadonly", kind: "bool" }, ]); /** Cursor agent message agent.v1.McpResult. */ export interface McpResult extends ProtoMessage { result: | { case: undefined; value?: undefined } | { case: "success"; value: McpSuccess } | { case: "error"; value: McpError } | { case: "rejected"; value: McpRejected } | { case: "permissionDenied"; value: McpPermissionDenied } | { case: "toolNotFound"; value: McpToolNotFound } | { case: "serverNotFound"; value: McpServerNotFound } | { case: "approved"; value: McpApproved }; } export const McpResultSchema: MessageCodec = pb("agent.v1.McpResult", [ { kind: "oneof", name: "result", variants: [ { no: 1, name: "success", kind: "message", T: () => McpSuccessSchema }, { no: 2, name: "error", kind: "message", T: () => McpErrorSchema }, { no: 3, name: "rejected", kind: "message", T: () => McpRejectedSchema }, { no: 4, name: "permissionDenied", kind: "message", T: () => McpPermissionDeniedSchema }, { no: 5, name: "toolNotFound", kind: "message", T: () => McpToolNotFoundSchema }, { no: 6, name: "serverNotFound", kind: "message", T: () => McpServerNotFoundSchema }, { no: 7, name: "approved", kind: "message", T: () => McpApprovedSchema }, ], }, ]); /** Cursor agent message agent.v1.McpServerNotFound. */ export interface McpServerNotFound extends ProtoMessage { name: string; availableServers: string[]; } export const McpServerNotFoundSchema: MessageCodec = pb("agent.v1.McpServerNotFound", [ { no: 1, name: "name", kind: "string" }, { no: 2, name: "availableServers", kind: "string", repeat: true }, ]); /** Cursor agent message agent.v1.McpStateError. */ export interface McpStateError extends ProtoMessage { error: string; } export const McpStateErrorSchema: MessageCodec = pb("agent.v1.McpStateError", [ { no: 1, name: "error", kind: "string" }, ]); /** Cursor agent message agent.v1.McpStateExecArgs. */ export interface McpStateExecArgs extends ProtoMessage { serverIdentifiers: string[]; kickOnly: boolean; } export const McpStateExecArgsSchema: MessageCodec = pb("agent.v1.McpStateExecArgs", [ { no: 1, name: "serverIdentifiers", kind: "string", repeat: true }, { no: 2, name: "kickOnly", kind: "bool" }, ]); /** Cursor agent message agent.v1.McpStateExecResult. */ export interface McpStateExecResult extends ProtoMessage { result: | { case: undefined; value?: undefined } | { case: "success"; value: McpStateSuccess } | { case: "error"; value: McpStateError } | { case: "rejected"; value: McpStateRejected }; } export const McpStateExecResultSchema: MessageCodec = pb("agent.v1.McpStateExecResult", [ { kind: "oneof", name: "result", variants: [ { no: 1, name: "success", kind: "message", T: () => McpStateSuccessSchema }, { no: 2, name: "error", kind: "message", T: () => McpStateErrorSchema }, { no: 3, name: "rejected", kind: "message", T: () => McpStateRejectedSchema }, ], }, ]); /** Cursor agent message agent.v1.McpStateRejected. */ export interface McpStateRejected extends ProtoMessage { reason: string; } export const McpStateRejectedSchema: MessageCodec = pb("agent.v1.McpStateRejected", [ { no: 1, name: "reason", kind: "string" }, ]); /** Cursor agent message agent.v1.McpStateServer. */ export interface McpStateServer extends ProtoMessage { serverName: string; serverIdentifier: string; plugin?: string; marketplace?: string; tools: McpToolDefinition[]; instructions: McpInstructions[]; status?: string; } export const McpStateServerSchema: MessageCodec = pb("agent.v1.McpStateServer", [ { no: 1, name: "serverName", kind: "string" }, { no: 2, name: "serverIdentifier", kind: "string" }, { no: 3, name: "plugin", kind: "string", optional: true }, { no: 4, name: "marketplace", kind: "string", optional: true }, { no: 5, name: "tools", kind: "message", T: () => McpToolDefinitionSchema, repeat: true }, { no: 6, name: "instructions", kind: "message", T: () => McpInstructionsSchema, repeat: true }, { no: 7, name: "status", kind: "string", optional: true }, ]); /** Cursor agent message agent.v1.McpStateSuccess. */ export interface McpStateSuccess extends ProtoMessage { servers: McpStateServer[]; } export const McpStateSuccessSchema: MessageCodec = pb("agent.v1.McpStateSuccess", [ { no: 1, name: "servers", kind: "message", T: () => McpStateServerSchema, repeat: true }, ]); /** Cursor agent message agent.v1.McpSuccess. */ export interface McpSuccess extends ProtoMessage { content: McpToolResultContentItem[]; isError: boolean; } export const McpSuccessSchema: MessageCodec = pb("agent.v1.McpSuccess", [ { no: 1, name: "content", kind: "message", T: () => McpToolResultContentItemSchema, repeat: true }, { no: 2, name: "isError", kind: "bool" }, ]); /** Cursor agent message agent.v1.McpTextContent. */ export interface McpTextContent extends ProtoMessage { text: string; outputLocation?: OutputLocation; } export const McpTextContentSchema: MessageCodec = pb("agent.v1.McpTextContent", [ { no: 1, name: "text", kind: "string" }, { no: 2, name: "outputLocation", kind: "message", T: () => OutputLocationSchema }, ]); /** Cursor agent message agent.v1.McpToolCall. */ export interface McpToolCall extends ProtoMessage { args?: McpArgs; result?: McpToolResult; description?: string; } export const McpToolCallSchema: MessageCodec = pb("agent.v1.McpToolCall", [ { no: 1, name: "args", kind: "message", T: () => McpArgsSchema }, { no: 2, name: "result", kind: "message", T: () => McpToolResultSchema }, { no: 3, name: "description", kind: "string", optional: true }, ]); /** Cursor agent message agent.v1.McpToolDefinition. */ export interface McpToolDefinition extends ProtoMessage { name: string; providerIdentifier: string; toolName: string; description: string; inputSchema: Uint8Array; inputSchemaJson?: string; } export const McpToolDefinitionSchema: MessageCodec = pb("agent.v1.McpToolDefinition", [ { no: 1, name: "name", kind: "string" }, { no: 4, name: "providerIdentifier", kind: "string" }, { no: 5, name: "toolName", kind: "string" }, { no: 2, name: "description", kind: "string" }, { no: 3, name: "inputSchema", kind: "bytes" }, { no: 6, name: "inputSchemaJson", kind: "string", optional: true }, ]); /** Cursor agent message agent.v1.McpToolDescriptor. */ export interface McpToolDescriptor extends ProtoMessage { toolName: string; definitionPath?: string; description?: string; inputSchemaJson?: string; } export const McpToolDescriptorSchema: MessageCodec = pb("agent.v1.McpToolDescriptor", [ { no: 1, name: "toolName", kind: "string" }, { no: 2, name: "definitionPath", kind: "string", optional: true }, { no: 3, name: "description", kind: "string", optional: true }, { no: 5, name: "inputSchemaJson", kind: "string", optional: true }, ]); /** Cursor agent message agent.v1.McpToolError. */ export interface McpToolError extends ProtoMessage { error: string; readToolDefReminder: string; } export const McpToolErrorSchema: MessageCodec = pb("agent.v1.McpToolError", [ { no: 1, name: "error", kind: "string" }, { no: 2, name: "readToolDefReminder", kind: "string" }, ]); /** Cursor agent message agent.v1.McpToolNotFound. */ export interface McpToolNotFound extends ProtoMessage { name: string; availableTools: string[]; } export const McpToolNotFoundSchema: MessageCodec = pb("agent.v1.McpToolNotFound", [ { no: 1, name: "name", kind: "string" }, { no: 2, name: "availableTools", kind: "string", repeat: true }, ]); /** Cursor agent message agent.v1.McpToolResult. */ export interface McpToolResult extends ProtoMessage { result: | { case: undefined; value?: undefined } | { case: "success"; value: McpSuccess } | { case: "error"; value: McpToolError } | { case: "rejected"; value: McpRejected } | { case: "permissionDenied"; value: McpPermissionDenied }; } export const McpToolResultSchema: MessageCodec = pb("agent.v1.McpToolResult", [ { kind: "oneof", name: "result", variants: [ { no: 1, name: "success", kind: "message", T: () => McpSuccessSchema }, { no: 2, name: "error", kind: "message", T: () => McpToolErrorSchema }, { no: 3, name: "rejected", kind: "message", T: () => McpRejectedSchema }, { no: 4, name: "permissionDenied", kind: "message", T: () => McpPermissionDeniedSchema }, ], }, ]); /** Cursor agent message agent.v1.McpToolResultContentItem. */ export interface McpToolResultContentItem extends ProtoMessage { content: | { case: undefined; value?: undefined } | { case: "text"; value: McpTextContent } | { case: "image"; value: McpImageContent }; } export const McpToolResultContentItemSchema: MessageCodec = pb("agent.v1.McpToolResultContentItem", [ { kind: "oneof", name: "content", variants: [ { no: 1, name: "text", kind: "message", T: () => McpTextContentSchema }, { no: 2, name: "image", kind: "message", T: () => McpImageContentSchema }, ], }, ]); /** Cursor agent message agent.v1.McpTools. */ export interface McpTools extends ProtoMessage { mcpTools: McpToolDefinition[]; } export const McpToolsSchema: MessageCodec = pb("agent.v1.McpTools", [ { no: 1, name: "mcpTools", kind: "message", T: () => McpToolDefinitionSchema, repeat: true }, ]); /** Cursor agent message agent.v1.ModelDetails. */ export interface ModelDetails extends ProtoMessage { modelId: string; displayModelId: string; displayName: string; displayNameShort: string; aliases: string[]; thinkingDetails?: ThinkingDetails; maxMode?: boolean; credentials: | { case: undefined; value?: undefined } | { case: "apiKeyCredentials"; value: ApiKeyCredentials } | { case: "azureCredentials"; value: AzureCredentials } | { case: "bedrockCredentials"; value: BedrockCredentials }; } export const ModelDetailsSchema: MessageCodec = pb("agent.v1.ModelDetails", [ { no: 1, name: "modelId", kind: "string" }, { no: 3, name: "displayModelId", kind: "string" }, { no: 4, name: "displayName", kind: "string" }, { no: 5, name: "displayNameShort", kind: "string" }, { no: 6, name: "aliases", kind: "string", repeat: true }, { no: 2, name: "thinkingDetails", kind: "message", T: () => ThinkingDetailsSchema }, { no: 7, name: "maxMode", kind: "bool", optional: true }, { kind: "oneof", name: "credentials", variants: [ { no: 8, name: "apiKeyCredentials", kind: "message", T: () => ApiKeyCredentialsSchema }, { no: 9, name: "azureCredentials", kind: "message", T: () => AzureCredentialsSchema }, { no: 10, name: "bedrockCredentials", kind: "message", T: () => BedrockCredentialsSchema }, ], }, ]); /** Cursor agent message aiserver.v1.ModelParameterDefinition. */ export interface ModelParameterDefinition extends ProtoMessage { id: string; name: string; markdownTooltip?: string; parameterType?: ModelParameterDefinition_ModelParameterType; isCycleableByHotkey?: boolean; } export const ModelParameterDefinitionSchema: MessageCodec = pb("aiserver.v1.ModelParameterDefinition", [ { no: 1, name: "id", kind: "string" }, { no: 2, name: "name", kind: "string" }, { no: 3, name: "markdownTooltip", kind: "string", optional: true }, { no: 4, name: "parameterType", kind: "message", T: () => ModelParameterDefinition_ModelParameterTypeSchema }, { no: 5, name: "isCycleableByHotkey", kind: "bool", optional: true }, ]); /** Cursor agent message aiserver.v1.ModelParameterDefinition_BooleanParameterDefinition. */ export interface ModelParameterDefinition_BooleanParameterDefinition extends ProtoMessage { values: ModelParameterDefinition_BooleanParameterDefinition_BooleanParameterValue[]; } export const ModelParameterDefinition_BooleanParameterDefinitionSchema: MessageCodec = pb("aiserver.v1.ModelParameterDefinition_BooleanParameterDefinition", [ { no: 1, name: "values", kind: "message", T: () => ModelParameterDefinition_BooleanParameterDefinition_BooleanParameterValueSchema, repeat: true }, ]); /** Cursor agent message aiserver.v1.ModelParameterDefinition_BooleanParameterDefinition_BooleanParameterValue. */ export interface ModelParameterDefinition_BooleanParameterDefinition_BooleanParameterValue extends ProtoMessage { value: string; displayName?: string; increasesModelCost?: boolean; defaultBlockedInAdminAllowlist?: boolean; hideFromUserPickerWhenAdminBlocked?: boolean; blockedByAdminAllowlist?: boolean; } export const ModelParameterDefinition_BooleanParameterDefinition_BooleanParameterValueSchema: MessageCodec = pb("aiserver.v1.ModelParameterDefinition_BooleanParameterDefinition_BooleanParameterValue", [ { no: 1, name: "value", kind: "string" }, { no: 2, name: "displayName", kind: "string", optional: true }, { no: 3, name: "increasesModelCost", kind: "bool", optional: true }, { no: 4, name: "defaultBlockedInAdminAllowlist", kind: "bool", optional: true }, { no: 5, name: "hideFromUserPickerWhenAdminBlocked", kind: "bool", optional: true }, { no: 6, name: "blockedByAdminAllowlist", kind: "bool", optional: true }, ]); /** Cursor agent message aiserver.v1.ModelParameterDefinition_EnumParameterDefinition. */ export interface ModelParameterDefinition_EnumParameterDefinition extends ProtoMessage { values: ModelParameterDefinition_EnumParameterDefinition_EnumParameterValue[]; } export const ModelParameterDefinition_EnumParameterDefinitionSchema: MessageCodec = pb("aiserver.v1.ModelParameterDefinition_EnumParameterDefinition", [ { no: 1, name: "values", kind: "message", T: () => ModelParameterDefinition_EnumParameterDefinition_EnumParameterValueSchema, repeat: true }, ]); /** Cursor agent message aiserver.v1.ModelParameterDefinition_EnumParameterDefinition_EnumParameterValue. */ export interface ModelParameterDefinition_EnumParameterDefinition_EnumParameterValue extends ProtoMessage { value: string; displayName?: string; increasesModelCost?: boolean; blockedByAdminAllowlist?: boolean; markdownTooltip?: string; } export const ModelParameterDefinition_EnumParameterDefinition_EnumParameterValueSchema: MessageCodec = pb("aiserver.v1.ModelParameterDefinition_EnumParameterDefinition_EnumParameterValue", [ { no: 1, name: "value", kind: "string" }, { no: 2, name: "displayName", kind: "string", optional: true }, { no: 3, name: "increasesModelCost", kind: "bool", optional: true }, { no: 4, name: "blockedByAdminAllowlist", kind: "bool", optional: true }, { no: 5, name: "markdownTooltip", kind: "string", optional: true }, ]); /** Cursor agent message aiserver.v1.ModelParameterDefinition_ModelParameterType. */ export interface ModelParameterDefinition_ModelParameterType extends ProtoMessage { booleanParameter?: ModelParameterDefinition_BooleanParameterDefinition; enumParameter?: ModelParameterDefinition_EnumParameterDefinition; } export const ModelParameterDefinition_ModelParameterTypeSchema: MessageCodec = pb("aiserver.v1.ModelParameterDefinition_ModelParameterType", [ { no: 1, name: "booleanParameter", kind: "message", T: () => ModelParameterDefinition_BooleanParameterDefinitionSchema }, { no: 2, name: "enumParameter", kind: "message", T: () => ModelParameterDefinition_EnumParameterDefinitionSchema }, ]); /** Cursor agent message aiserver.v1.ModelParameterValue. */ export interface ModelParameterValue extends ProtoMessage { id: string; value: string; } export const ModelParameterValueSchema: MessageCodec = pb("aiserver.v1.ModelParameterValue", [ { no: 1, name: "id", kind: "string" }, { no: 2, name: "value", kind: "string" }, ]); /** Cursor agent message agent.v1.MouseDownAction. */ export interface MouseDownAction extends ProtoMessage { button: number; } export const MouseDownActionSchema: MessageCodec = pb("agent.v1.MouseDownAction", [ { no: 1, name: "button", kind: "int32" }, ]); /** Cursor agent message agent.v1.MouseMoveAction. */ export interface MouseMoveAction extends ProtoMessage { coordinate?: Coordinate; } export const MouseMoveActionSchema: MessageCodec = pb("agent.v1.MouseMoveAction", [ { no: 1, name: "coordinate", kind: "message", T: () => CoordinateSchema }, ]); /** Cursor agent message agent.v1.MouseUpAction. */ export interface MouseUpAction extends ProtoMessage { button: number; } export const MouseUpActionSchema: MessageCodec = pb("agent.v1.MouseUpAction", [ { no: 1, name: "button", kind: "int32" }, ]); /** Cursor agent message agent.v1.OutputLocation. */ export interface OutputLocation extends ProtoMessage { filePath: string; sizeBytes: bigint; lineCount: bigint; } export const OutputLocationSchema: MessageCodec = pb("agent.v1.OutputLocation", [ { no: 1, name: "filePath", kind: "string" }, { no: 2, name: "sizeBytes", kind: "int64" }, { no: 3, name: "lineCount", kind: "int64" }, ]); /** Cursor agent message agent.v1.PartialToolCallUpdate. */ export interface PartialToolCallUpdate extends ProtoMessage { callId: string; toolCall?: ToolCall; argsTextDelta: string; modelCallId: string; } export const PartialToolCallUpdateSchema: MessageCodec = pb("agent.v1.PartialToolCallUpdate", [ { no: 1, name: "callId", kind: "string" }, { no: 2, name: "toolCall", kind: "message", T: () => ToolCallSchema }, { no: 3, name: "argsTextDelta", kind: "string" }, { no: 4, name: "modelCallId", kind: "string" }, ]); /** Cursor agent message agent.v1.Phase. */ export interface Phase extends ProtoMessage { name: string; todos: TodoItem[]; } export const PhaseSchema: MessageCodec = pb("agent.v1.Phase", [ { no: 1, name: "name", kind: "string" }, { no: 2, name: "todos", kind: "message", T: () => TodoItemSchema, repeat: true }, ]); /** Cursor agent message agent.v1.PiBashExecArgs. */ export interface PiBashExecArgs extends ProtoMessage { command: string; timeout?: number; } export const PiBashExecArgsSchema: MessageCodec = pb("agent.v1.PiBashExecArgs", [ { no: 1, name: "command", kind: "string" }, { no: 2, name: "timeout", kind: "double", optional: true }, ]); /** Cursor agent message agent.v1.PiBashExecError. */ export interface PiBashExecError extends ProtoMessage { error: string; truncation?: PiTruncation; fullOutputPath?: string; } export const PiBashExecErrorSchema: MessageCodec = pb("agent.v1.PiBashExecError", [ { no: 1, name: "error", kind: "string" }, { no: 2, name: "truncation", kind: "message", T: () => PiTruncationSchema }, { no: 3, name: "fullOutputPath", kind: "string", optional: true }, ]); /** Cursor agent message agent.v1.PiBashExecResult. */ export interface PiBashExecResult extends ProtoMessage { result: | { case: undefined; value?: undefined } | { case: "success"; value: PiBashExecSuccess } | { case: "error"; value: PiBashExecError }; } export const PiBashExecResultSchema: MessageCodec = pb("agent.v1.PiBashExecResult", [ { kind: "oneof", name: "result", variants: [ { no: 1, name: "success", kind: "message", T: () => PiBashExecSuccessSchema }, { no: 2, name: "error", kind: "message", T: () => PiBashExecErrorSchema }, ], }, ]); /** Cursor agent message agent.v1.PiBashExecSuccess. */ export interface PiBashExecSuccess extends ProtoMessage { output: string; truncation?: PiTruncation; fullOutputPath?: string; } export const PiBashExecSuccessSchema: MessageCodec = pb("agent.v1.PiBashExecSuccess", [ { no: 1, name: "output", kind: "string" }, { no: 2, name: "truncation", kind: "message", T: () => PiTruncationSchema }, { no: 3, name: "fullOutputPath", kind: "string", optional: true }, ]); /** Cursor agent message agent.v1.PiBashToolCall. */ export interface PiBashToolCall extends ProtoMessage { args?: PiBashExecArgs; result?: PiBashExecResult; } export const PiBashToolCallSchema: MessageCodec = pb("agent.v1.PiBashToolCall", [ { no: 1, name: "args", kind: "message", T: () => PiBashExecArgsSchema }, { no: 2, name: "result", kind: "message", T: () => PiBashExecResultSchema }, ]); /** Cursor agent message agent.v1.PiEditExecArgs. */ export interface PiEditExecArgs extends ProtoMessage { path: string; edits: PiEditReplacement[]; } export const PiEditExecArgsSchema: MessageCodec = pb("agent.v1.PiEditExecArgs", [ { no: 1, name: "path", kind: "string" }, { no: 2, name: "edits", kind: "message", T: () => PiEditReplacementSchema, repeat: true }, ]); /** Cursor agent message agent.v1.PiEditExecError. */ export interface PiEditExecError extends ProtoMessage { error: string; } export const PiEditExecErrorSchema: MessageCodec = pb("agent.v1.PiEditExecError", [ { no: 1, name: "error", kind: "string" }, ]); /** Cursor agent message agent.v1.PiEditExecRejected. */ export interface PiEditExecRejected extends ProtoMessage { reason: string; } export const PiEditExecRejectedSchema: MessageCodec = pb("agent.v1.PiEditExecRejected", [ { no: 1, name: "reason", kind: "string" }, ]); /** Cursor agent message agent.v1.PiEditExecResult. */ export interface PiEditExecResult extends ProtoMessage { result: | { case: undefined; value?: undefined } | { case: "success"; value: PiEditExecSuccess } | { case: "error"; value: PiEditExecError } | { case: "rejected"; value: PiEditExecRejected }; } export const PiEditExecResultSchema: MessageCodec = pb("agent.v1.PiEditExecResult", [ { kind: "oneof", name: "result", variants: [ { no: 1, name: "success", kind: "message", T: () => PiEditExecSuccessSchema }, { no: 2, name: "error", kind: "message", T: () => PiEditExecErrorSchema }, { no: 3, name: "rejected", kind: "message", T: () => PiEditExecRejectedSchema }, ], }, ]); /** Cursor agent message agent.v1.PiEditExecSuccess. */ export interface PiEditExecSuccess extends ProtoMessage { output: string; diff: string; patch: string; firstChangedLine?: number; } export const PiEditExecSuccessSchema: MessageCodec = pb("agent.v1.PiEditExecSuccess", [ { no: 1, name: "output", kind: "string" }, { no: 2, name: "diff", kind: "string" }, { no: 3, name: "patch", kind: "string" }, { no: 4, name: "firstChangedLine", kind: "uint32", optional: true }, ]); /** Cursor agent message agent.v1.PiEditReplacement. */ export interface PiEditReplacement extends ProtoMessage { oldText: string; newText: string; } export const PiEditReplacementSchema: MessageCodec = pb("agent.v1.PiEditReplacement", [ { no: 1, name: "oldText", kind: "string" }, { no: 2, name: "newText", kind: "string" }, ]); /** Cursor agent message agent.v1.PiEditToolCall. */ export interface PiEditToolCall extends ProtoMessage { args?: PiEditExecArgs; result?: PiEditExecResult; } export const PiEditToolCallSchema: MessageCodec = pb("agent.v1.PiEditToolCall", [ { no: 1, name: "args", kind: "message", T: () => PiEditExecArgsSchema }, { no: 2, name: "result", kind: "message", T: () => PiEditExecResultSchema }, ]); /** Cursor agent message agent.v1.PiFindExecArgs. */ export interface PiFindExecArgs extends ProtoMessage { pattern: string; path?: string; limit?: number; } export const PiFindExecArgsSchema: MessageCodec = pb("agent.v1.PiFindExecArgs", [ { no: 1, name: "pattern", kind: "string" }, { no: 2, name: "path", kind: "string", optional: true }, { no: 3, name: "limit", kind: "int32", optional: true }, ]); /** Cursor agent message agent.v1.PiFindExecError. */ export interface PiFindExecError extends ProtoMessage { error: string; } export const PiFindExecErrorSchema: MessageCodec = pb("agent.v1.PiFindExecError", [ { no: 1, name: "error", kind: "string" }, ]); /** Cursor agent message agent.v1.PiFindExecResult. */ export interface PiFindExecResult extends ProtoMessage { result: | { case: undefined; value?: undefined } | { case: "success"; value: PiFindExecSuccess } | { case: "error"; value: PiFindExecError }; } export const PiFindExecResultSchema: MessageCodec = pb("agent.v1.PiFindExecResult", [ { kind: "oneof", name: "result", variants: [ { no: 1, name: "success", kind: "message", T: () => PiFindExecSuccessSchema }, { no: 2, name: "error", kind: "message", T: () => PiFindExecErrorSchema }, ], }, ]); /** Cursor agent message agent.v1.PiFindExecSuccess. */ export interface PiFindExecSuccess extends ProtoMessage { output: string; truncation?: PiTruncation; resultLimitReached?: number; } export const PiFindExecSuccessSchema: MessageCodec = pb("agent.v1.PiFindExecSuccess", [ { no: 1, name: "output", kind: "string" }, { no: 2, name: "truncation", kind: "message", T: () => PiTruncationSchema }, { no: 3, name: "resultLimitReached", kind: "uint32", optional: true }, ]); /** Cursor agent message agent.v1.PiFindToolCall. */ export interface PiFindToolCall extends ProtoMessage { args?: PiFindExecArgs; result?: PiFindExecResult; } export const PiFindToolCallSchema: MessageCodec = pb("agent.v1.PiFindToolCall", [ { no: 1, name: "args", kind: "message", T: () => PiFindExecArgsSchema }, { no: 2, name: "result", kind: "message", T: () => PiFindExecResultSchema }, ]); /** Cursor agent message agent.v1.PiGrepExecArgs. */ export interface PiGrepExecArgs extends ProtoMessage { pattern: string; path?: string; glob?: string; ignoreCase?: boolean; literal?: boolean; context?: number; limit?: number; } export const PiGrepExecArgsSchema: MessageCodec = pb("agent.v1.PiGrepExecArgs", [ { no: 1, name: "pattern", kind: "string" }, { no: 2, name: "path", kind: "string", optional: true }, { no: 3, name: "glob", kind: "string", optional: true }, { no: 4, name: "ignoreCase", kind: "bool", optional: true }, { no: 5, name: "literal", kind: "bool", optional: true }, { no: 6, name: "context", kind: "int32", optional: true }, { no: 7, name: "limit", kind: "int32", optional: true }, ]); /** Cursor agent message agent.v1.PiGrepExecError. */ export interface PiGrepExecError extends ProtoMessage { error: string; } export const PiGrepExecErrorSchema: MessageCodec = pb("agent.v1.PiGrepExecError", [ { no: 1, name: "error", kind: "string" }, ]); /** Cursor agent message agent.v1.PiGrepExecResult. */ export interface PiGrepExecResult extends ProtoMessage { result: | { case: undefined; value?: undefined } | { case: "success"; value: PiGrepExecSuccess } | { case: "error"; value: PiGrepExecError }; } export const PiGrepExecResultSchema: MessageCodec = pb("agent.v1.PiGrepExecResult", [ { kind: "oneof", name: "result", variants: [ { no: 1, name: "success", kind: "message", T: () => PiGrepExecSuccessSchema }, { no: 2, name: "error", kind: "message", T: () => PiGrepExecErrorSchema }, ], }, ]); /** Cursor agent message agent.v1.PiGrepExecSuccess. */ export interface PiGrepExecSuccess extends ProtoMessage { output: string; truncation?: PiTruncation; matchLimitReached?: number; linesTruncated: boolean; } export const PiGrepExecSuccessSchema: MessageCodec = pb("agent.v1.PiGrepExecSuccess", [ { no: 1, name: "output", kind: "string" }, { no: 2, name: "truncation", kind: "message", T: () => PiTruncationSchema }, { no: 3, name: "matchLimitReached", kind: "uint32", optional: true }, { no: 4, name: "linesTruncated", kind: "bool" }, ]); /** Cursor agent message agent.v1.PiGrepToolCall. */ export interface PiGrepToolCall extends ProtoMessage { args?: PiGrepExecArgs; result?: PiGrepExecResult; } export const PiGrepToolCallSchema: MessageCodec = pb("agent.v1.PiGrepToolCall", [ { no: 1, name: "args", kind: "message", T: () => PiGrepExecArgsSchema }, { no: 2, name: "result", kind: "message", T: () => PiGrepExecResultSchema }, ]); /** Cursor agent message agent.v1.PiLsExecArgs. */ export interface PiLsExecArgs extends ProtoMessage { path?: string; limit?: number; } export const PiLsExecArgsSchema: MessageCodec = pb("agent.v1.PiLsExecArgs", [ { no: 1, name: "path", kind: "string", optional: true }, { no: 2, name: "limit", kind: "int32", optional: true }, ]); /** Cursor agent message agent.v1.PiLsExecError. */ export interface PiLsExecError extends ProtoMessage { error: string; } export const PiLsExecErrorSchema: MessageCodec = pb("agent.v1.PiLsExecError", [ { no: 1, name: "error", kind: "string" }, ]); /** Cursor agent message agent.v1.PiLsExecResult. */ export interface PiLsExecResult extends ProtoMessage { result: | { case: undefined; value?: undefined } | { case: "success"; value: PiLsExecSuccess } | { case: "error"; value: PiLsExecError }; } export const PiLsExecResultSchema: MessageCodec = pb("agent.v1.PiLsExecResult", [ { kind: "oneof", name: "result", variants: [ { no: 1, name: "success", kind: "message", T: () => PiLsExecSuccessSchema }, { no: 2, name: "error", kind: "message", T: () => PiLsExecErrorSchema }, ], }, ]); /** Cursor agent message agent.v1.PiLsExecSuccess. */ export interface PiLsExecSuccess extends ProtoMessage { output: string; truncation?: PiTruncation; entryLimitReached?: number; } export const PiLsExecSuccessSchema: MessageCodec = pb("agent.v1.PiLsExecSuccess", [ { no: 1, name: "output", kind: "string" }, { no: 2, name: "truncation", kind: "message", T: () => PiTruncationSchema }, { no: 3, name: "entryLimitReached", kind: "uint32", optional: true }, ]); /** Cursor agent message agent.v1.PiLsToolCall. */ export interface PiLsToolCall extends ProtoMessage { args?: PiLsExecArgs; result?: PiLsExecResult; } export const PiLsToolCallSchema: MessageCodec = pb("agent.v1.PiLsToolCall", [ { no: 1, name: "args", kind: "message", T: () => PiLsExecArgsSchema }, { no: 2, name: "result", kind: "message", T: () => PiLsExecResultSchema }, ]); /** Cursor agent message agent.v1.PiReadExecArgs. */ export interface PiReadExecArgs extends ProtoMessage { path: string; offset?: number; limit?: number; } export const PiReadExecArgsSchema: MessageCodec = pb("agent.v1.PiReadExecArgs", [ { no: 1, name: "path", kind: "string" }, { no: 2, name: "offset", kind: "int32", optional: true }, { no: 3, name: "limit", kind: "int32", optional: true }, ]); /** Cursor agent message agent.v1.PiReadExecError. */ export interface PiReadExecError extends ProtoMessage { error: string; } export const PiReadExecErrorSchema: MessageCodec = pb("agent.v1.PiReadExecError", [ { no: 1, name: "error", kind: "string" }, ]); /** Cursor agent message agent.v1.PiReadExecResult. */ export interface PiReadExecResult extends ProtoMessage { result: | { case: undefined; value?: undefined } | { case: "success"; value: PiReadExecSuccess } | { case: "error"; value: PiReadExecError }; } export const PiReadExecResultSchema: MessageCodec = pb("agent.v1.PiReadExecResult", [ { kind: "oneof", name: "result", variants: [ { no: 1, name: "success", kind: "message", T: () => PiReadExecSuccessSchema }, { no: 2, name: "error", kind: "message", T: () => PiReadExecErrorSchema }, ], }, ]); /** Cursor agent message agent.v1.PiReadExecSuccess. */ export interface PiReadExecSuccess extends ProtoMessage { output: string; truncation?: PiTruncation; } export const PiReadExecSuccessSchema: MessageCodec = pb("agent.v1.PiReadExecSuccess", [ { no: 1, name: "output", kind: "string" }, { no: 2, name: "truncation", kind: "message", T: () => PiTruncationSchema }, ]); /** Cursor agent message agent.v1.PiReadToolCall. */ export interface PiReadToolCall extends ProtoMessage { args?: PiReadExecArgs; result?: PiReadExecResult; } export const PiReadToolCallSchema: MessageCodec = pb("agent.v1.PiReadToolCall", [ { no: 1, name: "args", kind: "message", T: () => PiReadExecArgsSchema }, { no: 2, name: "result", kind: "message", T: () => PiReadExecResultSchema }, ]); /** Cursor agent message agent.v1.PiTruncation. */ export interface PiTruncation extends ProtoMessage { truncated: boolean; truncatedBy: string; totalLines: number; outputLines: number; outputBytes: number; maxLines?: number; maxBytes?: number; firstLineExceedsLimit: boolean; lastLinePartial: boolean; } export const PiTruncationSchema: MessageCodec = pb("agent.v1.PiTruncation", [ { no: 1, name: "truncated", kind: "bool" }, { no: 2, name: "truncatedBy", kind: "string" }, { no: 3, name: "totalLines", kind: "uint32" }, { no: 4, name: "outputLines", kind: "uint32" }, { no: 5, name: "outputBytes", kind: "uint32" }, { no: 6, name: "maxLines", kind: "uint32", optional: true }, { no: 7, name: "maxBytes", kind: "uint32", optional: true }, { no: 8, name: "firstLineExceedsLimit", kind: "bool" }, { no: 9, name: "lastLinePartial", kind: "bool" }, ]); /** Cursor agent message agent.v1.PiWriteExecArgs. */ export interface PiWriteExecArgs extends ProtoMessage { path: string; content: string; } export const PiWriteExecArgsSchema: MessageCodec = pb("agent.v1.PiWriteExecArgs", [ { no: 1, name: "path", kind: "string" }, { no: 2, name: "content", kind: "string" }, ]); /** Cursor agent message agent.v1.PiWriteExecError. */ export interface PiWriteExecError extends ProtoMessage { error: string; } export const PiWriteExecErrorSchema: MessageCodec = pb("agent.v1.PiWriteExecError", [ { no: 1, name: "error", kind: "string" }, ]); /** Cursor agent message agent.v1.PiWriteExecRejected. */ export interface PiWriteExecRejected extends ProtoMessage { reason: string; } export const PiWriteExecRejectedSchema: MessageCodec = pb("agent.v1.PiWriteExecRejected", [ { no: 1, name: "reason", kind: "string" }, ]); /** Cursor agent message agent.v1.PiWriteExecResult. */ export interface PiWriteExecResult extends ProtoMessage { result: | { case: undefined; value?: undefined } | { case: "success"; value: PiWriteExecSuccess } | { case: "error"; value: PiWriteExecError } | { case: "rejected"; value: PiWriteExecRejected }; } export const PiWriteExecResultSchema: MessageCodec = pb("agent.v1.PiWriteExecResult", [ { kind: "oneof", name: "result", variants: [ { no: 1, name: "success", kind: "message", T: () => PiWriteExecSuccessSchema }, { no: 2, name: "error", kind: "message", T: () => PiWriteExecErrorSchema }, { no: 3, name: "rejected", kind: "message", T: () => PiWriteExecRejectedSchema }, ], }, ]); /** Cursor agent message agent.v1.PiWriteExecSuccess. */ export interface PiWriteExecSuccess extends ProtoMessage { output: string; } export const PiWriteExecSuccessSchema: MessageCodec = pb("agent.v1.PiWriteExecSuccess", [ { no: 1, name: "output", kind: "string" }, ]); /** Cursor agent message agent.v1.PiWriteToolCall. */ export interface PiWriteToolCall extends ProtoMessage { args?: PiWriteExecArgs; result?: PiWriteExecResult; } export const PiWriteToolCallSchema: MessageCodec = pb("agent.v1.PiWriteToolCall", [ { no: 1, name: "args", kind: "message", T: () => PiWriteExecArgsSchema }, { no: 2, name: "result", kind: "message", T: () => PiWriteExecResultSchema }, ]); /** Cursor agent message agent.v1.Position. */ export interface Position extends ProtoMessage { line: number; column: number; } export const PositionSchema: MessageCodec = pb("agent.v1.Position", [ { no: 1, name: "line", kind: "uint32" }, { no: 2, name: "column", kind: "uint32" }, ]); /** Cursor agent message agent.v1.PostToolUseFailureRequestQuery. */ export interface PostToolUseFailureRequestQuery extends ProtoMessage { } export const PostToolUseFailureRequestQuerySchema: MessageCodec = pb("agent.v1.PostToolUseFailureRequestQuery", [ ]); /** Cursor agent message agent.v1.PostToolUseFailureRequestResponse. */ export interface PostToolUseFailureRequestResponse extends ProtoMessage { additionalContext?: string; } export const PostToolUseFailureRequestResponseSchema: MessageCodec = pb("agent.v1.PostToolUseFailureRequestResponse", [ { no: 1, name: "additionalContext", kind: "string", optional: true }, ]); /** Cursor agent message agent.v1.PostToolUseRequestQuery. */ export interface PostToolUseRequestQuery extends ProtoMessage { } export const PostToolUseRequestQuerySchema: MessageCodec = pb("agent.v1.PostToolUseRequestQuery", [ ]); /** Cursor agent message agent.v1.PostToolUseRequestResponse. */ export interface PostToolUseRequestResponse extends ProtoMessage { additionalContext?: string; } export const PostToolUseRequestResponseSchema: MessageCodec = pb("agent.v1.PostToolUseRequestResponse", [ { no: 1, name: "additionalContext", kind: "string", optional: true }, ]); /** Cursor agent message agent.v1.PreCompactRequestQuery. */ export interface PreCompactRequestQuery extends ProtoMessage { } export const PreCompactRequestQuerySchema: MessageCodec = pb("agent.v1.PreCompactRequestQuery", [ ]); /** Cursor agent message agent.v1.PreCompactRequestResponse. */ export interface PreCompactRequestResponse extends ProtoMessage { userMessage?: string; } export const PreCompactRequestResponseSchema: MessageCodec = pb("agent.v1.PreCompactRequestResponse", [ { no: 1, name: "userMessage", kind: "string", optional: true }, ]); /** Cursor agent message agent.v1.PreToolUseRequestQuery. */ export interface PreToolUseRequestQuery extends ProtoMessage { } export const PreToolUseRequestQuerySchema: MessageCodec = pb("agent.v1.PreToolUseRequestQuery", [ ]); /** Cursor agent message agent.v1.PreToolUseRequestResponse. */ export interface PreToolUseRequestResponse extends ProtoMessage { permission?: string; userMessage?: string; agentMessage?: string; updatedInput?: string; additionalContext?: string; } export const PreToolUseRequestResponseSchema: MessageCodec = pb("agent.v1.PreToolUseRequestResponse", [ { no: 1, name: "permission", kind: "string", optional: true }, { no: 2, name: "userMessage", kind: "string", optional: true }, { no: 3, name: "agentMessage", kind: "string", optional: true }, { no: 4, name: "updatedInput", kind: "string", optional: true }, { no: 5, name: "additionalContext", kind: "string", optional: true }, ]); /** Cursor agent message agent.v1.PrewarmRequest. */ export interface PrewarmRequest extends ProtoMessage { modelDetails?: ModelDetails; requestedModel?: RequestedModel; conversationId?: string; conversationState?: ConversationStateStructure; mcpTools?: McpTools; mcpFileSystemOptions?: McpFileSystemOptions; bestOfNGroupId?: string; tryUseBestOfNPromotion?: boolean; customSystemPrompt?: string; } export const PrewarmRequestSchema: MessageCodec = pb("agent.v1.PrewarmRequest", [ { no: 1, name: "modelDetails", kind: "message", T: () => ModelDetailsSchema }, { no: 9, name: "requestedModel", kind: "message", T: () => RequestedModelSchema }, { no: 2, name: "conversationId", kind: "string", optional: true }, { no: 3, name: "conversationState", kind: "message", T: () => ConversationStateStructureSchema }, { no: 4, name: "mcpTools", kind: "message", T: () => McpToolsSchema }, { no: 5, name: "mcpFileSystemOptions", kind: "message", T: () => McpFileSystemOptionsSchema }, { no: 6, name: "bestOfNGroupId", kind: "string", optional: true }, { no: 7, name: "tryUseBestOfNPromotion", kind: "bool", optional: true }, { no: 8, name: "customSystemPrompt", kind: "string", optional: true }, ]); /** Cursor agent message agent.v1.Range. */ export interface Range extends ProtoMessage { start?: Position; end?: Position; } export const RangeSchema: MessageCodec = pb("agent.v1.Range", [ { no: 1, name: "start", kind: "message", T: () => PositionSchema }, { no: 2, name: "end", kind: "message", T: () => PositionSchema }, ]); /** Cursor agent message agent.v1.ReadArgs. */ export interface ReadArgs extends ProtoMessage { path: string; toolCallId: string; offset?: number; limit?: number; encodingHint?: string; } export const ReadArgsSchema: MessageCodec = pb("agent.v1.ReadArgs", [ { no: 1, name: "path", kind: "string" }, { no: 2, name: "toolCallId", kind: "string" }, { no: 4, name: "offset", kind: "int32", optional: true }, { no: 5, name: "limit", kind: "uint32", optional: true }, { no: 6, name: "encodingHint", kind: "string", optional: true }, ]); /** Cursor agent message agent.v1.ReadError. */ export interface ReadError extends ProtoMessage { path: string; error: string; } export const ReadErrorSchema: MessageCodec = pb("agent.v1.ReadError", [ { no: 1, name: "path", kind: "string" }, { no: 2, name: "error", kind: "string" }, ]); /** Cursor agent message agent.v1.ReadFileNotFound. */ export interface ReadFileNotFound extends ProtoMessage { path: string; } export const ReadFileNotFoundSchema: MessageCodec = pb("agent.v1.ReadFileNotFound", [ { no: 1, name: "path", kind: "string" }, ]); /** Cursor agent message agent.v1.ReadInvalidFile. */ export interface ReadInvalidFile extends ProtoMessage { path: string; reason: string; } export const ReadInvalidFileSchema: MessageCodec = pb("agent.v1.ReadInvalidFile", [ { no: 1, name: "path", kind: "string" }, { no: 2, name: "reason", kind: "string" }, ]); /** Cursor agent message agent.v1.ReadLintsToolArgs. */ export interface ReadLintsToolArgs extends ProtoMessage { paths: string[]; } export const ReadLintsToolArgsSchema: MessageCodec = pb("agent.v1.ReadLintsToolArgs", [ { no: 1, name: "paths", kind: "string", repeat: true }, ]); /** Cursor agent message agent.v1.ReadLintsToolCall. */ export interface ReadLintsToolCall extends ProtoMessage { args?: ReadLintsToolArgs; result?: ReadLintsToolResult; } export const ReadLintsToolCallSchema: MessageCodec = pb("agent.v1.ReadLintsToolCall", [ { no: 1, name: "args", kind: "message", T: () => ReadLintsToolArgsSchema }, { no: 2, name: "result", kind: "message", T: () => ReadLintsToolResultSchema }, ]); /** Cursor agent message agent.v1.ReadLintsToolError. */ export interface ReadLintsToolError extends ProtoMessage { errorMessage: string; } export const ReadLintsToolErrorSchema: MessageCodec = pb("agent.v1.ReadLintsToolError", [ { no: 1, name: "errorMessage", kind: "string" }, ]); /** Cursor agent message agent.v1.ReadLintsToolResult. */ export interface ReadLintsToolResult extends ProtoMessage { result: | { case: undefined; value?: undefined } | { case: "success"; value: ReadLintsToolSuccess } | { case: "error"; value: ReadLintsToolError }; } export const ReadLintsToolResultSchema: MessageCodec = pb("agent.v1.ReadLintsToolResult", [ { kind: "oneof", name: "result", variants: [ { no: 1, name: "success", kind: "message", T: () => ReadLintsToolSuccessSchema }, { no: 2, name: "error", kind: "message", T: () => ReadLintsToolErrorSchema }, ], }, ]); /** Cursor agent message agent.v1.ReadLintsToolSuccess. */ export interface ReadLintsToolSuccess extends ProtoMessage { fileDiagnostics: FileDiagnostics[]; totalFiles: number; totalDiagnostics: number; } export const ReadLintsToolSuccessSchema: MessageCodec = pb("agent.v1.ReadLintsToolSuccess", [ { no: 1, name: "fileDiagnostics", kind: "message", T: () => FileDiagnosticsSchema, repeat: true }, { no: 2, name: "totalFiles", kind: "int32" }, { no: 3, name: "totalDiagnostics", kind: "int32" }, ]); /** Cursor agent message agent.v1.ReadMcpResourceError. */ export interface ReadMcpResourceError extends ProtoMessage { uri: string; error: string; } export const ReadMcpResourceErrorSchema: MessageCodec = pb("agent.v1.ReadMcpResourceError", [ { no: 1, name: "uri", kind: "string" }, { no: 2, name: "error", kind: "string" }, ]); /** Cursor agent message agent.v1.ReadMcpResourceExecArgs. */ export interface ReadMcpResourceExecArgs extends ProtoMessage { server: string; uri: string; downloadPath?: string; toolCallId: string; smartModeApproval?: SmartModeApproval; } export const ReadMcpResourceExecArgsSchema: MessageCodec = pb("agent.v1.ReadMcpResourceExecArgs", [ { no: 1, name: "server", kind: "string" }, { no: 2, name: "uri", kind: "string" }, { no: 3, name: "downloadPath", kind: "string", optional: true }, { no: 4, name: "toolCallId", kind: "string" }, { no: 5, name: "smartModeApproval", kind: "message", T: () => SmartModeApprovalSchema }, ]); /** Cursor agent message agent.v1.ReadMcpResourceExecResult. */ export interface ReadMcpResourceExecResult extends ProtoMessage { result: | { case: undefined; value?: undefined } | { case: "success"; value: ReadMcpResourceSuccess } | { case: "error"; value: ReadMcpResourceError } | { case: "rejected"; value: ReadMcpResourceRejected } | { case: "notFound"; value: ReadMcpResourceNotFound }; } export const ReadMcpResourceExecResultSchema: MessageCodec = pb("agent.v1.ReadMcpResourceExecResult", [ { kind: "oneof", name: "result", variants: [ { no: 1, name: "success", kind: "message", T: () => ReadMcpResourceSuccessSchema }, { no: 2, name: "error", kind: "message", T: () => ReadMcpResourceErrorSchema }, { no: 3, name: "rejected", kind: "message", T: () => ReadMcpResourceRejectedSchema }, { no: 4, name: "notFound", kind: "message", T: () => ReadMcpResourceNotFoundSchema }, ], }, ]); /** Cursor agent message agent.v1.ReadMcpResourceNotFound. */ export interface ReadMcpResourceNotFound extends ProtoMessage { uri: string; } export const ReadMcpResourceNotFoundSchema: MessageCodec = pb("agent.v1.ReadMcpResourceNotFound", [ { no: 1, name: "uri", kind: "string" }, ]); /** Cursor agent message agent.v1.ReadMcpResourceRejected. */ export interface ReadMcpResourceRejected extends ProtoMessage { uri: string; reason: string; } export const ReadMcpResourceRejectedSchema: MessageCodec = pb("agent.v1.ReadMcpResourceRejected", [ { no: 1, name: "uri", kind: "string" }, { no: 2, name: "reason", kind: "string" }, ]); /** Cursor agent message agent.v1.ReadMcpResourceSuccess. */ export interface ReadMcpResourceSuccess extends ProtoMessage { uri: string; name?: string; description?: string; mimeType?: string; annotations: Record; downloadPath?: string; outputLocation?: OutputLocation; content: | { case: undefined; value?: undefined } | { case: "text"; value: string } | { case: "blob"; value: Uint8Array }; } export const ReadMcpResourceSuccessSchema: MessageCodec = pb("agent.v1.ReadMcpResourceSuccess", [ { no: 1, name: "uri", kind: "string" }, { no: 2, name: "name", kind: "string", optional: true }, { no: 3, name: "description", kind: "string", optional: true }, { no: 4, name: "mimeType", kind: "string", optional: true }, { no: 7, name: "annotations", kind: "map", K: "string", V: "string" }, { no: 8, name: "downloadPath", kind: "string", optional: true }, { no: 9, name: "outputLocation", kind: "message", T: () => OutputLocationSchema }, { kind: "oneof", name: "content", variants: [ { no: 5, name: "text", kind: "string" }, { no: 6, name: "blob", kind: "bytes" }, ], }, ]); /** Cursor agent message agent.v1.ReadMcpResourceToolCall. */ export interface ReadMcpResourceToolCall extends ProtoMessage { args?: ReadMcpResourceExecArgs; result?: ReadMcpResourceExecResult; } export const ReadMcpResourceToolCallSchema: MessageCodec = pb("agent.v1.ReadMcpResourceToolCall", [ { no: 1, name: "args", kind: "message", T: () => ReadMcpResourceExecArgsSchema }, { no: 2, name: "result", kind: "message", T: () => ReadMcpResourceExecResultSchema }, ]); /** Cursor agent message agent.v1.ReadPermissionDenied. */ export interface ReadPermissionDenied extends ProtoMessage { path: string; } export const ReadPermissionDeniedSchema: MessageCodec = pb("agent.v1.ReadPermissionDenied", [ { no: 1, name: "path", kind: "string" }, ]); /** Cursor agent message agent.v1.ReadRange. */ export interface ReadRange extends ProtoMessage { startLine: number; endLine: number; } export const ReadRangeSchema: MessageCodec = pb("agent.v1.ReadRange", [ { no: 1, name: "startLine", kind: "uint32" }, { no: 2, name: "endLine", kind: "uint32" }, ]); /** Cursor agent message agent.v1.ReadRejected. */ export interface ReadRejected extends ProtoMessage { path: string; reason: string; } export const ReadRejectedSchema: MessageCodec = pb("agent.v1.ReadRejected", [ { no: 1, name: "path", kind: "string" }, { no: 2, name: "reason", kind: "string" }, ]); /** Cursor agent message agent.v1.ReadResult. */ export interface ReadResult extends ProtoMessage { result: | { case: undefined; value?: undefined } | { case: "success"; value: ReadSuccess } | { case: "error"; value: ReadError } | { case: "rejected"; value: ReadRejected } | { case: "fileNotFound"; value: ReadFileNotFound } | { case: "permissionDenied"; value: ReadPermissionDenied } | { case: "invalidFile"; value: ReadInvalidFile }; } export const ReadResultSchema: MessageCodec = pb("agent.v1.ReadResult", [ { kind: "oneof", name: "result", variants: [ { no: 1, name: "success", kind: "message", T: () => ReadSuccessSchema }, { no: 2, name: "error", kind: "message", T: () => ReadErrorSchema }, { no: 3, name: "rejected", kind: "message", T: () => ReadRejectedSchema }, { no: 4, name: "fileNotFound", kind: "message", T: () => ReadFileNotFoundSchema }, { no: 5, name: "permissionDenied", kind: "message", T: () => ReadPermissionDeniedSchema }, { no: 6, name: "invalidFile", kind: "message", T: () => ReadInvalidFileSchema }, ], }, ]); /** Cursor agent message agent.v1.ReadSuccess. */ export interface ReadSuccess extends ProtoMessage { path: string; totalLines: number; fileSize: bigint; truncated: boolean; outputBlobId?: Uint8Array; rangeApplied: boolean; output: | { case: undefined; value?: undefined } | { case: "content"; value: string } | { case: "data"; value: Uint8Array }; } export const ReadSuccessSchema: MessageCodec = pb("agent.v1.ReadSuccess", [ { no: 1, name: "path", kind: "string" }, { no: 3, name: "totalLines", kind: "int32" }, { no: 4, name: "fileSize", kind: "int64" }, { no: 6, name: "truncated", kind: "bool" }, { no: 7, name: "outputBlobId", kind: "bytes", optional: true }, { no: 8, name: "rangeApplied", kind: "bool" }, { kind: "oneof", name: "output", variants: [ { no: 2, name: "content", kind: "string" }, { no: 5, name: "data", kind: "bytes" }, ], }, ]); /** Cursor agent message agent.v1.ReadTodosArgs. */ export interface ReadTodosArgs extends ProtoMessage { statusFilter: number[]; idFilter: string[]; } export const ReadTodosArgsSchema: MessageCodec = pb("agent.v1.ReadTodosArgs", [ { no: 1, name: "statusFilter", kind: "int32", repeat: true }, { no: 2, name: "idFilter", kind: "string", repeat: true }, ]); /** Cursor agent message agent.v1.ReadTodosError. */ export interface ReadTodosError extends ProtoMessage { error: string; } export const ReadTodosErrorSchema: MessageCodec = pb("agent.v1.ReadTodosError", [ { no: 1, name: "error", kind: "string" }, ]); /** Cursor agent message agent.v1.ReadTodosResult. */ export interface ReadTodosResult extends ProtoMessage { result: | { case: undefined; value?: undefined } | { case: "success"; value: ReadTodosSuccess } | { case: "error"; value: ReadTodosError }; } export const ReadTodosResultSchema: MessageCodec = pb("agent.v1.ReadTodosResult", [ { kind: "oneof", name: "result", variants: [ { no: 1, name: "success", kind: "message", T: () => ReadTodosSuccessSchema }, { no: 2, name: "error", kind: "message", T: () => ReadTodosErrorSchema }, ], }, ]); /** Cursor agent message agent.v1.ReadTodosSuccess. */ export interface ReadTodosSuccess extends ProtoMessage { todos: TodoItem[]; totalCount: number; } export const ReadTodosSuccessSchema: MessageCodec = pb("agent.v1.ReadTodosSuccess", [ { no: 1, name: "todos", kind: "message", T: () => TodoItemSchema, repeat: true }, { no: 2, name: "totalCount", kind: "int32" }, ]); /** Cursor agent message agent.v1.ReadTodosToolCall. */ export interface ReadTodosToolCall extends ProtoMessage { args?: ReadTodosArgs; result?: ReadTodosResult; } export const ReadTodosToolCallSchema: MessageCodec = pb("agent.v1.ReadTodosToolCall", [ { no: 1, name: "args", kind: "message", T: () => ReadTodosArgsSchema }, { no: 2, name: "result", kind: "message", T: () => ReadTodosResultSchema }, ]); /** Cursor agent message agent.v1.ReadToolArgs. */ export interface ReadToolArgs extends ProtoMessage { path: string; offset?: number; limit?: number; } export const ReadToolArgsSchema: MessageCodec = pb("agent.v1.ReadToolArgs", [ { no: 1, name: "path", kind: "string" }, { no: 2, name: "offset", kind: "int32", optional: true }, { no: 3, name: "limit", kind: "int32", optional: true }, ]); /** Cursor agent message agent.v1.ReadToolCall. */ export interface ReadToolCall extends ProtoMessage { args?: ReadToolArgs; result?: ReadToolResult; } export const ReadToolCallSchema: MessageCodec = pb("agent.v1.ReadToolCall", [ { no: 1, name: "args", kind: "message", T: () => ReadToolArgsSchema }, { no: 2, name: "result", kind: "message", T: () => ReadToolResultSchema }, ]); /** Cursor agent message agent.v1.ReadToolError. */ export interface ReadToolError extends ProtoMessage { errorMessage: string; } export const ReadToolErrorSchema: MessageCodec = pb("agent.v1.ReadToolError", [ { no: 1, name: "errorMessage", kind: "string" }, ]); /** Cursor agent message agent.v1.ReadToolResult. */ export interface ReadToolResult extends ProtoMessage { result: | { case: undefined; value?: undefined } | { case: "success"; value: ReadToolSuccess } | { case: "error"; value: ReadToolError }; } export const ReadToolResultSchema: MessageCodec = pb("agent.v1.ReadToolResult", [ { kind: "oneof", name: "result", variants: [ { no: 1, name: "success", kind: "message", T: () => ReadToolSuccessSchema }, { no: 2, name: "error", kind: "message", T: () => ReadToolErrorSchema }, ], }, ]); /** Cursor agent message agent.v1.ReadToolSuccess. */ export interface ReadToolSuccess extends ProtoMessage { isEmpty: boolean; exceededLimit: boolean; totalLines: number; fileSize: number; path: string; readRange?: ReadRange; output: | { case: undefined; value?: undefined } | { case: "content"; value: string } | { case: "data"; value: Uint8Array } | { case: "dataBlobId"; value: Uint8Array } | { case: "contentBlobId"; value: Uint8Array }; } export const ReadToolSuccessSchema: MessageCodec = pb("agent.v1.ReadToolSuccess", [ { no: 2, name: "isEmpty", kind: "bool" }, { no: 3, name: "exceededLimit", kind: "bool" }, { no: 4, name: "totalLines", kind: "uint32" }, { no: 5, name: "fileSize", kind: "uint32" }, { no: 7, name: "path", kind: "string" }, { no: 8, name: "readRange", kind: "message", T: () => ReadRangeSchema }, { kind: "oneof", name: "output", variants: [ { no: 1, name: "content", kind: "string" }, { no: 6, name: "data", kind: "bytes" }, { no: 9, name: "dataBlobId", kind: "bytes" }, { no: 10, name: "contentBlobId", kind: "bytes" }, ], }, ]); /** Cursor agent message agent.v1.RecordScreenArgs. */ export interface RecordScreenArgs extends ProtoMessage { mode: number; toolCallId: string; saveAsFilename?: string; } export const RecordScreenArgsSchema: MessageCodec = pb("agent.v1.RecordScreenArgs", [ { no: 1, name: "mode", kind: "int32" }, { no: 2, name: "toolCallId", kind: "string" }, { no: 3, name: "saveAsFilename", kind: "string", optional: true }, ]); /** Cursor agent message agent.v1.RecordScreenDiscardSuccess. */ export interface RecordScreenDiscardSuccess extends ProtoMessage { } export const RecordScreenDiscardSuccessSchema: MessageCodec = pb("agent.v1.RecordScreenDiscardSuccess", [ ]); /** Cursor agent message agent.v1.RecordScreenFailure. */ export interface RecordScreenFailure extends ProtoMessage { error: string; } export const RecordScreenFailureSchema: MessageCodec = pb("agent.v1.RecordScreenFailure", [ { no: 1, name: "error", kind: "string" }, ]); /** Cursor agent message agent.v1.RecordScreenResult. */ export interface RecordScreenResult extends ProtoMessage { result: | { case: undefined; value?: undefined } | { case: "startSuccess"; value: RecordScreenStartSuccess } | { case: "saveSuccess"; value: RecordScreenSaveSuccess } | { case: "discardSuccess"; value: RecordScreenDiscardSuccess } | { case: "failure"; value: RecordScreenFailure }; } export const RecordScreenResultSchema: MessageCodec = pb("agent.v1.RecordScreenResult", [ { kind: "oneof", name: "result", variants: [ { no: 1, name: "startSuccess", kind: "message", T: () => RecordScreenStartSuccessSchema }, { no: 2, name: "saveSuccess", kind: "message", T: () => RecordScreenSaveSuccessSchema }, { no: 3, name: "discardSuccess", kind: "message", T: () => RecordScreenDiscardSuccessSchema }, { no: 4, name: "failure", kind: "message", T: () => RecordScreenFailureSchema }, ], }, ]); /** Cursor agent message agent.v1.RecordScreenSaveSuccess. */ export interface RecordScreenSaveSuccess extends ProtoMessage { path: string; recordingDurationMs: bigint; requestedFilePathRejectedReason?: number; } export const RecordScreenSaveSuccessSchema: MessageCodec = pb("agent.v1.RecordScreenSaveSuccess", [ { no: 1, name: "path", kind: "string" }, { no: 2, name: "recordingDurationMs", kind: "int64" }, { no: 3, name: "requestedFilePathRejectedReason", kind: "int32", optional: true }, ]); /** Cursor agent message agent.v1.RecordScreenStartSuccess. */ export interface RecordScreenStartSuccess extends ProtoMessage { wasPriorRecordingCancelled: boolean; wasSaveAsFilenameIgnored: boolean; } export const RecordScreenStartSuccessSchema: MessageCodec = pb("agent.v1.RecordScreenStartSuccess", [ { no: 1, name: "wasPriorRecordingCancelled", kind: "bool" }, { no: 2, name: "wasSaveAsFilenameIgnored", kind: "bool" }, ]); /** Cursor agent message agent.v1.RecordScreenToolCall. */ export interface RecordScreenToolCall extends ProtoMessage { args?: RecordScreenArgs; result?: RecordScreenResult; } export const RecordScreenToolCallSchema: MessageCodec = pb("agent.v1.RecordScreenToolCall", [ { no: 1, name: "args", kind: "message", T: () => RecordScreenArgsSchema }, { no: 2, name: "result", kind: "message", T: () => RecordScreenResultSchema }, ]); /** Cursor agent message agent.v1.ReflectArgs. */ export interface ReflectArgs extends ProtoMessage { unexpectedActionOutcomes: string; relevantInstructions: string; scenarioAnalysis: string; criticalSynthesis: string; nextSteps: string; toolCallId: string; } export const ReflectArgsSchema: MessageCodec = pb("agent.v1.ReflectArgs", [ { no: 1, name: "unexpectedActionOutcomes", kind: "string" }, { no: 2, name: "relevantInstructions", kind: "string" }, { no: 3, name: "scenarioAnalysis", kind: "string" }, { no: 4, name: "criticalSynthesis", kind: "string" }, { no: 5, name: "nextSteps", kind: "string" }, { no: 6, name: "toolCallId", kind: "string" }, ]); /** Cursor agent message agent.v1.ReflectError. */ export interface ReflectError extends ProtoMessage { error: string; } export const ReflectErrorSchema: MessageCodec = pb("agent.v1.ReflectError", [ { no: 1, name: "error", kind: "string" }, ]); /** Cursor agent message agent.v1.ReflectResult. */ export interface ReflectResult extends ProtoMessage { result: | { case: undefined; value?: undefined } | { case: "success"; value: ReflectSuccess } | { case: "error"; value: ReflectError }; } export const ReflectResultSchema: MessageCodec = pb("agent.v1.ReflectResult", [ { kind: "oneof", name: "result", variants: [ { no: 1, name: "success", kind: "message", T: () => ReflectSuccessSchema }, { no: 2, name: "error", kind: "message", T: () => ReflectErrorSchema }, ], }, ]); /** Cursor agent message agent.v1.ReflectSuccess. */ export interface ReflectSuccess extends ProtoMessage { } export const ReflectSuccessSchema: MessageCodec = pb("agent.v1.ReflectSuccess", [ ]); /** Cursor agent message agent.v1.ReflectToolCall. */ export interface ReflectToolCall extends ProtoMessage { args?: ReflectArgs; result?: ReflectResult; } export const ReflectToolCallSchema: MessageCodec = pb("agent.v1.ReflectToolCall", [ { no: 1, name: "args", kind: "message", T: () => ReflectArgsSchema }, { no: 2, name: "result", kind: "message", T: () => ReflectResultSchema }, ]); /** Cursor agent message agent.v1.RepositoryIndexingInfo. */ export interface RepositoryIndexingInfo extends ProtoMessage { relativeWorkspacePath: string; remoteUrls: string[]; remoteNames: string[]; repoName: string; repoOwner: string; isTracked: boolean; isLocal: boolean; orthogonalTransformSeed?: number; workspaceUri: string; pathEncryptionKey: string; } export const RepositoryIndexingInfoSchema: MessageCodec = pb("agent.v1.RepositoryIndexingInfo", [ { no: 1, name: "relativeWorkspacePath", kind: "string" }, { no: 2, name: "remoteUrls", kind: "string", repeat: true }, { no: 3, name: "remoteNames", kind: "string", repeat: true }, { no: 4, name: "repoName", kind: "string" }, { no: 5, name: "repoOwner", kind: "string" }, { no: 6, name: "isTracked", kind: "bool" }, { no: 7, name: "isLocal", kind: "bool" }, { no: 8, name: "orthogonalTransformSeed", kind: "double", optional: true }, { no: 9, name: "workspaceUri", kind: "string" }, { no: 10, name: "pathEncryptionKey", kind: "string" }, ]); /** Cursor agent message agent.v1.RequestContext. */ export interface RequestContext extends ProtoMessage { rules: CursorRule[]; env?: RequestContextEnv; repositoryInfo: RepositoryIndexingInfo[]; tools: McpToolDefinition[]; conversationNotesListing?: string; sharedNotesListing?: string; gitRepos: GitRepoInfo[]; projectLayouts: LsDirectoryTreeNode[]; mcpInstructions: McpInstructions[]; debugModeConfig?: DebugModeConfig; cloudRule?: string; webSearchEnabled?: boolean; skillOptions?: SkillOptions; repositoryInfoShouldQueryProd?: boolean; fileContents: Record; userIntentSummary?: string; customSubagents: CustomSubagent[]; mcpFileSystemOptions?: McpFileSystemOptions; } export const RequestContextSchema: MessageCodec = pb("agent.v1.RequestContext", [ { no: 2, name: "rules", kind: "message", T: () => CursorRuleSchema, repeat: true }, { no: 4, name: "env", kind: "message", T: () => RequestContextEnvSchema }, { no: 6, name: "repositoryInfo", kind: "message", T: () => RepositoryIndexingInfoSchema, repeat: true }, { no: 7, name: "tools", kind: "message", T: () => McpToolDefinitionSchema, repeat: true }, { no: 8, name: "conversationNotesListing", kind: "string", optional: true }, { no: 9, name: "sharedNotesListing", kind: "string", optional: true }, { no: 11, name: "gitRepos", kind: "message", T: () => GitRepoInfoSchema, repeat: true }, { no: 13, name: "projectLayouts", kind: "message", T: () => LsDirectoryTreeNodeSchema, repeat: true }, { no: 14, name: "mcpInstructions", kind: "message", T: () => McpInstructionsSchema, repeat: true }, { no: 15, name: "debugModeConfig", kind: "message", T: () => DebugModeConfigSchema }, { no: 16, name: "cloudRule", kind: "string", optional: true }, { no: 17, name: "webSearchEnabled", kind: "bool", optional: true }, { no: 18, name: "skillOptions", kind: "message", T: () => SkillOptionsSchema }, { no: 19, name: "repositoryInfoShouldQueryProd", kind: "bool", optional: true }, { no: 20, name: "fileContents", kind: "map", K: "string", V: "string" }, { no: 21, name: "userIntentSummary", kind: "string", optional: true }, { no: 22, name: "customSubagents", kind: "message", T: () => CustomSubagentSchema, repeat: true }, { no: 23, name: "mcpFileSystemOptions", kind: "message", T: () => McpFileSystemOptionsSchema }, ]); /** Cursor agent message agent.v1.RequestContextArgs. */ export interface RequestContextArgs extends ProtoMessage { notesSessionId?: string; workspaceId?: string; readOnlyPinnedTreeSha?: string; readOnlyPluginCacheRoot?: string; useCached?: boolean; } export const RequestContextArgsSchema: MessageCodec = pb("agent.v1.RequestContextArgs", [ { no: 2, name: "notesSessionId", kind: "string", optional: true }, { no: 3, name: "workspaceId", kind: "string", optional: true }, { no: 4, name: "readOnlyPinnedTreeSha", kind: "string", optional: true }, { no: 5, name: "readOnlyPluginCacheRoot", kind: "string", optional: true }, { no: 7, name: "useCached", kind: "bool", optional: true }, ]); /** Cursor agent message agent.v1.RequestContextEnv. */ export interface RequestContextEnv extends ProtoMessage { osVersion: string; workspacePaths: string[]; shell: string; sandboxEnabled: boolean; terminalsFolder: string; agentSharedNotesFolder: string; agentConversationNotesFolder: string; timeZone: string; projectFolder: string; agentTranscriptsFolder: string; } export const RequestContextEnvSchema: MessageCodec = pb("agent.v1.RequestContextEnv", [ { no: 1, name: "osVersion", kind: "string" }, { no: 2, name: "workspacePaths", kind: "string", repeat: true }, { no: 3, name: "shell", kind: "string" }, { no: 5, name: "sandboxEnabled", kind: "bool" }, { no: 7, name: "terminalsFolder", kind: "string" }, { no: 8, name: "agentSharedNotesFolder", kind: "string" }, { no: 9, name: "agentConversationNotesFolder", kind: "string" }, { no: 10, name: "timeZone", kind: "string" }, { no: 11, name: "projectFolder", kind: "string" }, { no: 12, name: "agentTranscriptsFolder", kind: "string" }, ]); /** Cursor agent message agent.v1.RequestContextError. */ export interface RequestContextError extends ProtoMessage { error: string; } export const RequestContextErrorSchema: MessageCodec = pb("agent.v1.RequestContextError", [ { no: 1, name: "error", kind: "string" }, ]); /** Cursor agent message agent.v1.RequestContextRejected. */ export interface RequestContextRejected extends ProtoMessage { reason: string; } export const RequestContextRejectedSchema: MessageCodec = pb("agent.v1.RequestContextRejected", [ { no: 1, name: "reason", kind: "string" }, ]); /** Cursor agent message agent.v1.RequestContextResult. */ export interface RequestContextResult extends ProtoMessage { result: | { case: undefined; value?: undefined } | { case: "success"; value: RequestContextSuccess } | { case: "error"; value: RequestContextError } | { case: "rejected"; value: RequestContextRejected }; } export const RequestContextResultSchema: MessageCodec = pb("agent.v1.RequestContextResult", [ { kind: "oneof", name: "result", variants: [ { no: 1, name: "success", kind: "message", T: () => RequestContextSuccessSchema }, { no: 2, name: "error", kind: "message", T: () => RequestContextErrorSchema }, { no: 3, name: "rejected", kind: "message", T: () => RequestContextRejectedSchema }, ], }, ]); /** Cursor agent message agent.v1.RequestContextSuccess. */ export interface RequestContextSuccess extends ProtoMessage { requestContext?: RequestContext; servedFromDiskCache?: boolean; } export const RequestContextSuccessSchema: MessageCodec = pb("agent.v1.RequestContextSuccess", [ { no: 1, name: "requestContext", kind: "message", T: () => RequestContextSchema }, { no: 2, name: "servedFromDiskCache", kind: "bool", optional: true }, ]); /** Cursor agent message agent.v1.RequestedModel. */ export interface RequestedModel extends ProtoMessage { modelId: string; maxMode: boolean; parameters: RequestedModel_ModelParameterbytes[]; credentials: | { case: undefined; value?: undefined } | { case: "apiKeyCredentials"; value: ApiKeyCredentials } | { case: "azureCredentials"; value: AzureCredentials } | { case: "bedrockCredentials"; value: BedrockCredentials }; } export const RequestedModelSchema: MessageCodec = pb("agent.v1.RequestedModel", [ { no: 1, name: "modelId", kind: "string" }, { no: 2, name: "maxMode", kind: "bool" }, { no: 3, name: "parameters", kind: "message", T: () => RequestedModel_ModelParameterbytesSchema, repeat: true }, { kind: "oneof", name: "credentials", variants: [ { no: 4, name: "apiKeyCredentials", kind: "message", T: () => ApiKeyCredentialsSchema }, { no: 5, name: "azureCredentials", kind: "message", T: () => AzureCredentialsSchema }, { no: 6, name: "bedrockCredentials", kind: "message", T: () => BedrockCredentialsSchema }, ], }, ]); /** Cursor agent message agent.v1.RequestedModel_ModelParameterbytes. */ export interface RequestedModel_ModelParameterbytes extends ProtoMessage { id: string; value: string; } export const RequestedModel_ModelParameterbytesSchema: MessageCodec = pb("agent.v1.RequestedModel_ModelParameterbytes", [ { no: 1, name: "id", kind: "string" }, { no: 2, name: "value", kind: "string" }, ]); /** Cursor agent message agent.v1.ResumeAction. */ export interface ResumeAction extends ProtoMessage { requestContext?: RequestContext; } export const ResumeActionSchema: MessageCodec = pb("agent.v1.ResumeAction", [ { no: 2, name: "requestContext", kind: "message", T: () => RequestContextSchema }, ]); /** Cursor agent message agent.v1.SandboxPolicy. */ export interface SandboxPolicy extends ProtoMessage { type: number; networkAccess?: boolean; additionalReadwritePaths: string[]; additionalReadonlyPaths: string[]; debugOutputDir?: string; blockGitWrites?: boolean; disableTmpWrite?: boolean; } export const SandboxPolicySchema: MessageCodec = pb("agent.v1.SandboxPolicy", [ { no: 1, name: "type", kind: "int32" }, { no: 2, name: "networkAccess", kind: "bool", optional: true }, { no: 3, name: "additionalReadwritePaths", kind: "string", repeat: true }, { no: 4, name: "additionalReadonlyPaths", kind: "string", repeat: true }, { no: 5, name: "debugOutputDir", kind: "string", optional: true }, { no: 6, name: "blockGitWrites", kind: "bool", optional: true }, { no: 7, name: "disableTmpWrite", kind: "bool", optional: true }, ]); /** Cursor agent message agent.v1.ScreenshotAction. */ export interface ScreenshotAction extends ProtoMessage { } export const ScreenshotActionSchema: MessageCodec = pb("agent.v1.ScreenshotAction", [ ]); /** Cursor agent message agent.v1.ScrollAction. */ export interface ScrollAction extends ProtoMessage { coordinate?: Coordinate; direction: number; amount: number; modifierKeys?: string; } export const ScrollActionSchema: MessageCodec = pb("agent.v1.ScrollAction", [ { no: 1, name: "coordinate", kind: "message", T: () => CoordinateSchema }, { no: 2, name: "direction", kind: "int32" }, { no: 3, name: "amount", kind: "int32" }, { no: 4, name: "modifierKeys", kind: "string", optional: true }, ]); /** Cursor agent message agent.v1.SearchConversationsToolCall. */ export interface SearchConversationsToolCall extends ProtoMessage { args?: ConversationSearchArgs; result?: ConversationSearchResult; } export const SearchConversationsToolCallSchema: MessageCodec = pb("agent.v1.SearchConversationsToolCall", [ { no: 1, name: "args", kind: "message", T: () => ConversationSearchArgsSchema }, { no: 2, name: "result", kind: "message", T: () => ConversationSearchResultSchema }, ]); /** Cursor agent message agent.v1.SelectedCodeSelection. */ export interface SelectedCodeSelection extends ProtoMessage { content: string; path: string; relativePath?: string; range?: Range; } export const SelectedCodeSelectionSchema: MessageCodec = pb("agent.v1.SelectedCodeSelection", [ { no: 1, name: "content", kind: "string" }, { no: 2, name: "path", kind: "string" }, { no: 3, name: "relativePath", kind: "string", optional: true }, { no: 4, name: "range", kind: "message", T: () => RangeSchema }, ]); /** Cursor agent message agent.v1.SelectedConsoleLog. */ export interface SelectedConsoleLog extends ProtoMessage { message: string; timestamp: number; level: string; clientName: string; sessionId: string; stackTrace?: StackTrace; objectDataJson?: string; } export const SelectedConsoleLogSchema: MessageCodec = pb("agent.v1.SelectedConsoleLog", [ { no: 1, name: "message", kind: "string" }, { no: 2, name: "timestamp", kind: "double" }, { no: 3, name: "level", kind: "string" }, { no: 4, name: "clientName", kind: "string" }, { no: 5, name: "sessionId", kind: "string" }, { no: 6, name: "stackTrace", kind: "message", T: () => StackTraceSchema }, { no: 7, name: "objectDataJson", kind: "string", optional: true }, ]); /** Cursor agent message agent.v1.SelectedContext. */ export interface SelectedContext extends ProtoMessage { selectedImages: SelectedImage[]; invocationContext?: InvocationContext; extraContext: string[]; extraContextEntries: ExtraContextEntry[]; files: SelectedFile[]; codeSelections: SelectedCodeSelection[]; terminals: SelectedTerminal[]; terminalSelections: SelectedTerminalSelection[]; folders: SelectedFolder[]; externalLinks: SelectedExternalLink[]; cursorRules: SelectedCursorRule[]; gitDiff?: SelectedGitDiff; gitDiffFromBranchToMain?: SelectedGitDiffFromBranchToMain; cursorCommands: SelectedCursorCommand[]; documentations: SelectedDocumentation[]; uiElements: SelectedUIElement[]; consoleLogs: SelectedConsoleLog[]; gitCommits: SelectedGitCommit[]; pastChats: SelectedPastChat[]; gitPrDiffSelections: SelectedGitPRDiffSelection[]; selectedPullRequests: SelectedPullRequest[]; selectedSubagents: SelectedSubagent[]; } export const SelectedContextSchema: MessageCodec = pb("agent.v1.SelectedContext", [ { no: 1, name: "selectedImages", kind: "message", T: () => SelectedImageSchema, repeat: true }, { no: 2, name: "invocationContext", kind: "message", T: () => InvocationContextSchema }, { no: 3, name: "extraContext", kind: "string", repeat: true }, { no: 16, name: "extraContextEntries", kind: "message", T: () => ExtraContextEntrySchema, repeat: true }, { no: 4, name: "files", kind: "message", T: () => SelectedFileSchema, repeat: true }, { no: 5, name: "codeSelections", kind: "message", T: () => SelectedCodeSelectionSchema, repeat: true }, { no: 6, name: "terminals", kind: "message", T: () => SelectedTerminalSchema, repeat: true }, { no: 7, name: "terminalSelections", kind: "message", T: () => SelectedTerminalSelectionSchema, repeat: true }, { no: 8, name: "folders", kind: "message", T: () => SelectedFolderSchema, repeat: true }, { no: 9, name: "externalLinks", kind: "message", T: () => SelectedExternalLinkSchema, repeat: true }, { no: 10, name: "cursorRules", kind: "message", T: () => SelectedCursorRuleSchema, repeat: true }, { no: 18, name: "gitDiff", kind: "message", T: () => SelectedGitDiffSchema }, { no: 11, name: "gitDiffFromBranchToMain", kind: "message", T: () => SelectedGitDiffFromBranchToMainSchema }, { no: 12, name: "cursorCommands", kind: "message", T: () => SelectedCursorCommandSchema, repeat: true }, { no: 13, name: "documentations", kind: "message", T: () => SelectedDocumentationSchema, repeat: true }, { no: 14, name: "uiElements", kind: "message", T: () => SelectedUIElementSchema, repeat: true }, { no: 15, name: "consoleLogs", kind: "message", T: () => SelectedConsoleLogSchema, repeat: true }, { no: 17, name: "gitCommits", kind: "message", T: () => SelectedGitCommitSchema, repeat: true }, { no: 19, name: "pastChats", kind: "message", T: () => SelectedPastChatSchema, repeat: true }, { no: 20, name: "gitPrDiffSelections", kind: "message", T: () => SelectedGitPRDiffSelectionSchema, repeat: true }, { no: 21, name: "selectedPullRequests", kind: "message", T: () => SelectedPullRequestSchema, repeat: true }, { no: 22, name: "selectedSubagents", kind: "message", T: () => SelectedSubagentSchema, repeat: true }, ]); /** Cursor agent message agent.v1.SelectedCursorCommand. */ export interface SelectedCursorCommand extends ProtoMessage { name: string; content: string; } export const SelectedCursorCommandSchema: MessageCodec = pb("agent.v1.SelectedCursorCommand", [ { no: 1, name: "name", kind: "string" }, { no: 2, name: "content", kind: "string" }, ]); /** Cursor agent message agent.v1.SelectedCursorRule. */ export interface SelectedCursorRule extends ProtoMessage { rule?: CursorRule; } export const SelectedCursorRuleSchema: MessageCodec = pb("agent.v1.SelectedCursorRule", [ { no: 1, name: "rule", kind: "message", T: () => CursorRuleSchema }, ]); /** Cursor agent message agent.v1.SelectedDocumentation. */ export interface SelectedDocumentation extends ProtoMessage { docId: string; name: string; } export const SelectedDocumentationSchema: MessageCodec = pb("agent.v1.SelectedDocumentation", [ { no: 1, name: "docId", kind: "string" }, { no: 2, name: "name", kind: "string" }, ]); /** Cursor agent message agent.v1.SelectedExternalLink. */ export interface SelectedExternalLink extends ProtoMessage { url: string; uuid: string; pdfContent?: string; isPdf?: boolean; filename?: string; } export const SelectedExternalLinkSchema: MessageCodec = pb("agent.v1.SelectedExternalLink", [ { no: 1, name: "url", kind: "string" }, { no: 2, name: "uuid", kind: "string" }, { no: 3, name: "pdfContent", kind: "string", optional: true }, { no: 4, name: "isPdf", kind: "bool", optional: true }, { no: 5, name: "filename", kind: "string", optional: true }, ]); /** Cursor agent message agent.v1.SelectedFile. */ export interface SelectedFile extends ProtoMessage { content: string; path: string; relativePath?: string; } export const SelectedFileSchema: MessageCodec = pb("agent.v1.SelectedFile", [ { no: 1, name: "content", kind: "string" }, { no: 2, name: "path", kind: "string" }, { no: 3, name: "relativePath", kind: "string", optional: true }, ]); /** Cursor agent message agent.v1.SelectedFolder. */ export interface SelectedFolder extends ProtoMessage { path: string; relativePath?: string; directoryTree?: LsDirectoryTreeNode; } export const SelectedFolderSchema: MessageCodec = pb("agent.v1.SelectedFolder", [ { no: 1, name: "path", kind: "string" }, { no: 2, name: "relativePath", kind: "string", optional: true }, { no: 3, name: "directoryTree", kind: "message", T: () => LsDirectoryTreeNodeSchema }, ]); /** Cursor agent message agent.v1.SelectedGitCommit. */ export interface SelectedGitCommit extends ProtoMessage { sha: string; message: string; description?: string; diff: string; } export const SelectedGitCommitSchema: MessageCodec = pb("agent.v1.SelectedGitCommit", [ { no: 1, name: "sha", kind: "string" }, { no: 2, name: "message", kind: "string" }, { no: 3, name: "description", kind: "string", optional: true }, { no: 4, name: "diff", kind: "string" }, ]); /** Cursor agent message agent.v1.SelectedGitDiff. */ export interface SelectedGitDiff extends ProtoMessage { content: string; } export const SelectedGitDiffSchema: MessageCodec = pb("agent.v1.SelectedGitDiff", [ { no: 1, name: "content", kind: "string" }, ]); /** Cursor agent message agent.v1.SelectedGitDiffFromBranchToMain. */ export interface SelectedGitDiffFromBranchToMain extends ProtoMessage { content: string; } export const SelectedGitDiffFromBranchToMainSchema: MessageCodec = pb("agent.v1.SelectedGitDiffFromBranchToMain", [ { no: 1, name: "content", kind: "string" }, ]); /** Cursor agent message agent.v1.SelectedGitPRDiffSelection. */ export interface SelectedGitPRDiffSelection extends ProtoMessage { prUrl: string; filePath: string; startLine: number; endLine: number; diffContent?: string; blobId?: Uint8Array; } export const SelectedGitPRDiffSelectionSchema: MessageCodec = pb("agent.v1.SelectedGitPRDiffSelection", [ { no: 1, name: "prUrl", kind: "string" }, { no: 2, name: "filePath", kind: "string" }, { no: 3, name: "startLine", kind: "int32" }, { no: 4, name: "endLine", kind: "int32" }, { no: 5, name: "diffContent", kind: "string", optional: true }, { no: 6, name: "blobId", kind: "bytes", optional: true }, ]); /** Cursor agent message agent.v1.SelectedImage. */ export interface SelectedImage extends ProtoMessage { uuid: string; path: string; dimension?: SelectedImage_Dimension; mimeType: string; dataOrBlobId: | { case: undefined; value?: undefined } | { case: "blobId"; value: Uint8Array } | { case: "data"; value: Uint8Array } | { case: "blobIdWithData"; value: SelectedImage_BlobIdWithData }; } export const SelectedImageSchema: MessageCodec = pb("agent.v1.SelectedImage", [ { no: 2, name: "uuid", kind: "string" }, { no: 3, name: "path", kind: "string" }, { no: 4, name: "dimension", kind: "message", T: () => SelectedImage_DimensionSchema }, { no: 7, name: "mimeType", kind: "string" }, { kind: "oneof", name: "dataOrBlobId", variants: [ { no: 1, name: "blobId", kind: "bytes" }, { no: 8, name: "data", kind: "bytes" }, { no: 9, name: "blobIdWithData", kind: "message", T: () => SelectedImage_BlobIdWithDataSchema }, ], }, ]); /** Cursor agent message agent.v1.SelectedImage_BlobIdWithData. */ export interface SelectedImage_BlobIdWithData extends ProtoMessage { blobId: Uint8Array; data: Uint8Array; } export const SelectedImage_BlobIdWithDataSchema: MessageCodec = pb("agent.v1.SelectedImage_BlobIdWithData", [ { no: 1, name: "blobId", kind: "bytes" }, { no: 2, name: "data", kind: "bytes" }, ]); /** Cursor agent message agent.v1.SelectedImage_Dimension. */ export interface SelectedImage_Dimension extends ProtoMessage { width: number; height: number; } export const SelectedImage_DimensionSchema: MessageCodec = pb("agent.v1.SelectedImage_Dimension", [ { no: 1, name: "width", kind: "int32" }, { no: 2, name: "height", kind: "int32" }, ]); /** Cursor agent message agent.v1.SelectedPastChat. */ export interface SelectedPastChat extends ProtoMessage { agentId: string; name: string; } export const SelectedPastChatSchema: MessageCodec = pb("agent.v1.SelectedPastChat", [ { no: 1, name: "agentId", kind: "string" }, { no: 2, name: "name", kind: "string" }, ]); /** Cursor agent message agent.v1.SelectedPullRequest. */ export interface SelectedPullRequest extends ProtoMessage { number: number; url: string; title?: string; folderPath: string; summaryJson?: string; description?: string; blobId?: Uint8Array; } export const SelectedPullRequestSchema: MessageCodec = pb("agent.v1.SelectedPullRequest", [ { no: 1, name: "number", kind: "int32" }, { no: 2, name: "url", kind: "string" }, { no: 3, name: "title", kind: "string", optional: true }, { no: 4, name: "folderPath", kind: "string" }, { no: 5, name: "summaryJson", kind: "string", optional: true }, { no: 6, name: "description", kind: "string", optional: true }, { no: 7, name: "blobId", kind: "bytes", optional: true }, ]); /** Cursor agent message agent.v1.SelectedSubagent. */ export interface SelectedSubagent extends ProtoMessage { name: string; } export const SelectedSubagentSchema: MessageCodec = pb("agent.v1.SelectedSubagent", [ { no: 1, name: "name", kind: "string" }, ]); /** Cursor agent message agent.v1.SelectedTerminal. */ export interface SelectedTerminal extends ProtoMessage { content: string; title?: string; path?: string; } export const SelectedTerminalSchema: MessageCodec = pb("agent.v1.SelectedTerminal", [ { no: 1, name: "content", kind: "string" }, { no: 2, name: "title", kind: "string", optional: true }, { no: 3, name: "path", kind: "string", optional: true }, ]); /** Cursor agent message agent.v1.SelectedTerminalSelection. */ export interface SelectedTerminalSelection extends ProtoMessage { content: string; title?: string; path?: string; range?: Range; } export const SelectedTerminalSelectionSchema: MessageCodec = pb("agent.v1.SelectedTerminalSelection", [ { no: 1, name: "content", kind: "string" }, { no: 2, name: "title", kind: "string", optional: true }, { no: 3, name: "path", kind: "string", optional: true }, { no: 4, name: "range", kind: "message", T: () => RangeSchema }, ]); /** Cursor agent message agent.v1.SelectedUIElement. */ export interface SelectedUIElement extends ProtoMessage { element: string; xpath: string; textContent: string; extra: string; component?: string; componentPropsJson?: string; } export const SelectedUIElementSchema: MessageCodec = pb("agent.v1.SelectedUIElement", [ { no: 1, name: "element", kind: "string" }, { no: 2, name: "xpath", kind: "string" }, { no: 3, name: "textContent", kind: "string" }, { no: 4, name: "extra", kind: "string" }, { no: 5, name: "component", kind: "string", optional: true }, { no: 6, name: "componentPropsJson", kind: "string", optional: true }, ]); /** Cursor agent message agent.v1.SemSearchToolArgs. */ export interface SemSearchToolArgs extends ProtoMessage { query: string; targetDirectories: string[]; explanation: string; } export const SemSearchToolArgsSchema: MessageCodec = pb("agent.v1.SemSearchToolArgs", [ { no: 1, name: "query", kind: "string" }, { no: 2, name: "targetDirectories", kind: "string", repeat: true }, { no: 3, name: "explanation", kind: "string" }, ]); /** Cursor agent message agent.v1.SemSearchToolCall. */ export interface SemSearchToolCall extends ProtoMessage { args?: SemSearchToolArgs; result?: SemSearchToolResult; } export const SemSearchToolCallSchema: MessageCodec = pb("agent.v1.SemSearchToolCall", [ { no: 1, name: "args", kind: "message", T: () => SemSearchToolArgsSchema }, { no: 2, name: "result", kind: "message", T: () => SemSearchToolResultSchema }, ]); /** Cursor agent message agent.v1.SemSearchToolError. */ export interface SemSearchToolError extends ProtoMessage { errorMessage: string; } export const SemSearchToolErrorSchema: MessageCodec = pb("agent.v1.SemSearchToolError", [ { no: 1, name: "errorMessage", kind: "string" }, ]); /** Cursor agent message agent.v1.SemSearchToolResult. */ export interface SemSearchToolResult extends ProtoMessage { result: | { case: undefined; value?: undefined } | { case: "success"; value: SemSearchToolSuccess } | { case: "error"; value: SemSearchToolError }; } export const SemSearchToolResultSchema: MessageCodec = pb("agent.v1.SemSearchToolResult", [ { kind: "oneof", name: "result", variants: [ { no: 1, name: "success", kind: "message", T: () => SemSearchToolSuccessSchema }, { no: 2, name: "error", kind: "message", T: () => SemSearchToolErrorSchema }, ], }, ]); /** Cursor agent message agent.v1.SemSearchToolSuccess. */ export interface SemSearchToolSuccess extends ProtoMessage { results: string; codeResults: Uint8Array[]; } export const SemSearchToolSuccessSchema: MessageCodec = pb("agent.v1.SemSearchToolSuccess", [ { no: 1, name: "results", kind: "string" }, { no: 2, name: "codeResults", kind: "bytes", repeat: true }, ]); /** Cursor agent message agent.v1.SetBlobArgs. */ export interface SetBlobArgs extends ProtoMessage { blobId: Uint8Array; blobData: Uint8Array; } export const SetBlobArgsSchema: MessageCodec = pb("agent.v1.SetBlobArgs", [ { no: 1, name: "blobId", kind: "bytes" }, { no: 2, name: "blobData", kind: "bytes" }, ]); /** Cursor agent message agent.v1.SetBlobResult. */ export interface SetBlobResult extends ProtoMessage { error?: Error; } export const SetBlobResultSchema: MessageCodec = pb("agent.v1.SetBlobResult", [ { no: 1, name: "error", kind: "message", T: () => ErrorSchema }, ]); /** Cursor agent message agent.v1.SetupVmEnvironmentArgs. */ export interface SetupVmEnvironmentArgs extends ProtoMessage { installCommand: string; startCommand: string; } export const SetupVmEnvironmentArgsSchema: MessageCodec = pb("agent.v1.SetupVmEnvironmentArgs", [ { no: 2, name: "installCommand", kind: "string" }, { no: 3, name: "startCommand", kind: "string" }, ]); /** Cursor agent message agent.v1.SetupVmEnvironmentResult. */ export interface SetupVmEnvironmentResult extends ProtoMessage { result: | { case: undefined; value?: undefined } | { case: "success"; value: SetupVmEnvironmentSuccess }; } export const SetupVmEnvironmentResultSchema: MessageCodec = pb("agent.v1.SetupVmEnvironmentResult", [ { kind: "oneof", name: "result", variants: [ { no: 1, name: "success", kind: "message", T: () => SetupVmEnvironmentSuccessSchema }, ], }, ]); /** Cursor agent message agent.v1.SetupVmEnvironmentSuccess. */ export interface SetupVmEnvironmentSuccess extends ProtoMessage { } export const SetupVmEnvironmentSuccessSchema: MessageCodec = pb("agent.v1.SetupVmEnvironmentSuccess", [ ]); /** Cursor agent message agent.v1.SetupVmEnvironmentToolCall. */ export interface SetupVmEnvironmentToolCall extends ProtoMessage { args?: SetupVmEnvironmentArgs; result?: SetupVmEnvironmentResult; } export const SetupVmEnvironmentToolCallSchema: MessageCodec = pb("agent.v1.SetupVmEnvironmentToolCall", [ { no: 1, name: "args", kind: "message", T: () => SetupVmEnvironmentArgsSchema }, { no: 2, name: "result", kind: "message", T: () => SetupVmEnvironmentResultSchema }, ]); /** Cursor agent message agent.v1.ShellAllowlistPrecheckArgs. */ export interface ShellAllowlistPrecheckArgs extends ProtoMessage { command: string; workingDirectory: string; parsingResult?: ShellCommandParsingResult; classifierResult?: CommandClassifierResult; toolCallId?: string; } export const ShellAllowlistPrecheckArgsSchema: MessageCodec = pb("agent.v1.ShellAllowlistPrecheckArgs", [ { no: 1, name: "command", kind: "string" }, { no: 2, name: "workingDirectory", kind: "string" }, { no: 3, name: "parsingResult", kind: "message", T: () => ShellCommandParsingResultSchema }, { no: 4, name: "classifierResult", kind: "message", T: () => CommandClassifierResultSchema }, { no: 5, name: "toolCallId", kind: "string", optional: true }, ]); /** Cursor agent message agent.v1.ShellAllowlistPrecheckResult. */ export interface ShellAllowlistPrecheckResult extends ProtoMessage { allowlisted: boolean; } export const ShellAllowlistPrecheckResultSchema: MessageCodec = pb("agent.v1.ShellAllowlistPrecheckResult", [ { no: 1, name: "allowlisted", kind: "bool" }, ]); /** Cursor agent message agent.v1.ShellArgs. */ export interface ShellArgs extends ProtoMessage { command: string; workingDirectory: string; timeout: number; toolCallId: string; simpleCommands: string[]; hasInputRedirect: boolean; hasOutputRedirect: boolean; parsingResult?: ShellCommandParsingResult; requestedSandboxPolicy?: SandboxPolicy; fileOutputThresholdBytes?: bigint; isBackground: boolean; skipApproval: boolean; timeoutBehavior: number; hardTimeout?: number; description?: string; classifierResult?: CommandClassifierResult; closeStdin: boolean; outputNotification?: ShellOutputNotificationConfig; smartModeApproval?: SmartModeApproval; hookApprovalRequirement?: ShellHookApprovalRequirement; conversationId?: string; } export const ShellArgsSchema: MessageCodec = pb("agent.v1.ShellArgs", [ { no: 1, name: "command", kind: "string" }, { no: 2, name: "workingDirectory", kind: "string" }, { no: 3, name: "timeout", kind: "int32" }, { no: 4, name: "toolCallId", kind: "string" }, { no: 5, name: "simpleCommands", kind: "string", repeat: true }, { no: 6, name: "hasInputRedirect", kind: "bool" }, { no: 7, name: "hasOutputRedirect", kind: "bool" }, { no: 8, name: "parsingResult", kind: "message", T: () => ShellCommandParsingResultSchema }, { no: 9, name: "requestedSandboxPolicy", kind: "message", T: () => SandboxPolicySchema }, { no: 10, name: "fileOutputThresholdBytes", kind: "uint64", optional: true }, { no: 11, name: "isBackground", kind: "bool" }, { no: 12, name: "skipApproval", kind: "bool" }, { no: 13, name: "timeoutBehavior", kind: "int32" }, { no: 14, name: "hardTimeout", kind: "int32", optional: true }, { no: 15, name: "description", kind: "string", optional: true }, { no: 16, name: "classifierResult", kind: "message", T: () => CommandClassifierResultSchema }, { no: 17, name: "closeStdin", kind: "bool" }, { no: 18, name: "outputNotification", kind: "message", T: () => ShellOutputNotificationConfigSchema }, { no: 19, name: "smartModeApproval", kind: "message", T: () => SmartModeApprovalSchema }, { no: 20, name: "hookApprovalRequirement", kind: "message", T: () => ShellHookApprovalRequirementSchema }, { no: 21, name: "conversationId", kind: "string", optional: true }, ]); /** Cursor agent message agent.v1.ShellCommand. */ export interface ShellCommand extends ProtoMessage { command: string; } export const ShellCommandSchema: MessageCodec = pb("agent.v1.ShellCommand", [ { no: 1, name: "command", kind: "string" }, ]); /** Cursor agent message agent.v1.ShellCommandAction. */ export interface ShellCommandAction extends ProtoMessage { shellCommand?: ShellCommand; execId: string; } export const ShellCommandActionSchema: MessageCodec = pb("agent.v1.ShellCommandAction", [ { no: 1, name: "shellCommand", kind: "message", T: () => ShellCommandSchema }, { no: 2, name: "execId", kind: "string" }, ]); /** Cursor agent message agent.v1.ShellCommandParsingResult. */ export interface ShellCommandParsingResult extends ProtoMessage { parsingFailed: boolean; executableCommands: ShellCommandParsingResult_ExecutableCommand[]; hasRedirects: boolean; hasCommandSubstitution: boolean; allRedirectsAreDevNull?: boolean; redirects: ShellCommandParsingResult_Redirect[]; } export const ShellCommandParsingResultSchema: MessageCodec = pb("agent.v1.ShellCommandParsingResult", [ { no: 1, name: "parsingFailed", kind: "bool" }, { no: 2, name: "executableCommands", kind: "message", T: () => ShellCommandParsingResult_ExecutableCommandSchema, repeat: true }, { no: 3, name: "hasRedirects", kind: "bool" }, { no: 4, name: "hasCommandSubstitution", kind: "bool" }, { no: 5, name: "allRedirectsAreDevNull", kind: "bool", optional: true }, { no: 6, name: "redirects", kind: "message", T: () => ShellCommandParsingResult_RedirectSchema, repeat: true }, ]); /** Cursor agent message agent.v1.ShellCommandParsingResult_ExecutableCommand. */ export interface ShellCommandParsingResult_ExecutableCommand extends ProtoMessage { name: string; args: ShellCommandParsingResult_ExecutableCommandArg[]; fullText: string; } export const ShellCommandParsingResult_ExecutableCommandSchema: MessageCodec = pb("agent.v1.ShellCommandParsingResult_ExecutableCommand", [ { no: 1, name: "name", kind: "string" }, { no: 2, name: "args", kind: "message", T: () => ShellCommandParsingResult_ExecutableCommandArgSchema, repeat: true }, { no: 3, name: "fullText", kind: "string" }, ]); /** Cursor agent message agent.v1.ShellCommandParsingResult_ExecutableCommandArg. */ export interface ShellCommandParsingResult_ExecutableCommandArg extends ProtoMessage { type: string; value: string; } export const ShellCommandParsingResult_ExecutableCommandArgSchema: MessageCodec = pb("agent.v1.ShellCommandParsingResult_ExecutableCommandArg", [ { no: 1, name: "type", kind: "string" }, { no: 2, name: "value", kind: "string" }, ]); /** Cursor agent message agent.v1.ShellCommandParsingResult_Redirect. */ export interface ShellCommandParsingResult_Redirect extends ProtoMessage { operator: string; destinationFds: number[]; targetNodeType: string; targetText?: string; } export const ShellCommandParsingResult_RedirectSchema: MessageCodec = pb("agent.v1.ShellCommandParsingResult_Redirect", [ { no: 1, name: "operator", kind: "string" }, { no: 2, name: "destinationFds", kind: "uint32", repeat: true }, { no: 3, name: "targetNodeType", kind: "string" }, { no: 4, name: "targetText", kind: "string", optional: true }, ]); /** Cursor agent message agent.v1.ShellConversationTurnStructure. */ export interface ShellConversationTurnStructure extends ProtoMessage { shellCommand: Uint8Array; shellOutput: Uint8Array; } export const ShellConversationTurnStructureSchema: MessageCodec = pb("agent.v1.ShellConversationTurnStructure", [ { no: 1, name: "shellCommand", kind: "bytes" }, { no: 2, name: "shellOutput", kind: "bytes" }, ]); /** Cursor agent message agent.v1.ShellFailure. */ export interface ShellFailure extends ProtoMessage { command: string; workingDirectory: string; exitCode: number; signal: string; stdout: string; stderr: string; executionTime: number; outputLocation?: OutputLocation; interleavedOutput?: string; abortReason?: number; aborted: boolean; localExecutionTimeMs?: number; outputHead?: string; outputTail?: string; elidedChars?: number; } export const ShellFailureSchema: MessageCodec = pb("agent.v1.ShellFailure", [ { no: 1, name: "command", kind: "string" }, { no: 2, name: "workingDirectory", kind: "string" }, { no: 3, name: "exitCode", kind: "int32" }, { no: 4, name: "signal", kind: "string" }, { no: 5, name: "stdout", kind: "string" }, { no: 6, name: "stderr", kind: "string" }, { no: 7, name: "executionTime", kind: "int32" }, { no: 8, name: "outputLocation", kind: "message", T: () => OutputLocationSchema }, { no: 9, name: "interleavedOutput", kind: "string", optional: true }, { no: 10, name: "abortReason", kind: "int32", optional: true }, { no: 11, name: "aborted", kind: "bool" }, { no: 12, name: "localExecutionTimeMs", kind: "int32", optional: true }, { no: 13, name: "outputHead", kind: "string", optional: true }, { no: 14, name: "outputTail", kind: "string", optional: true }, { no: 15, name: "elidedChars", kind: "uint32", optional: true }, ]); /** Cursor agent message agent.v1.ShellHookApprovalRequirement. */ export interface ShellHookApprovalRequirement extends ProtoMessage { kind: ShellHookApprovalRequirement_Kind; reason?: string; } export const ShellHookApprovalRequirementSchema: MessageCodec = pb("agent.v1.ShellHookApprovalRequirement", [ { no: 1, name: "kind", kind: "enum" }, { no: 2, name: "reason", kind: "string", optional: true }, ]); /** Cursor agent message agent.v1.ShellOutputDeltaUpdate. */ export interface ShellOutputDeltaUpdate extends ProtoMessage { event: | { case: undefined; value?: undefined } | { case: "stdout"; value: ShellStreamStdout } | { case: "stderr"; value: ShellStreamStderr } | { case: "exit"; value: ShellStreamExit } | { case: "start"; value: ShellStreamStart }; } export const ShellOutputDeltaUpdateSchema: MessageCodec = pb("agent.v1.ShellOutputDeltaUpdate", [ { kind: "oneof", name: "event", variants: [ { no: 1, name: "stdout", kind: "message", T: () => ShellStreamStdoutSchema }, { no: 2, name: "stderr", kind: "message", T: () => ShellStreamStderrSchema }, { no: 3, name: "exit", kind: "message", T: () => ShellStreamExitSchema }, { no: 4, name: "start", kind: "message", T: () => ShellStreamStartSchema }, ], }, ]); /** Cursor agent message agent.v1.ShellOutputNotificationConfig. */ export interface ShellOutputNotificationConfig extends ProtoMessage { pattern: string; reason: string; debounce?: number; notificationLimit?: number; } export const ShellOutputNotificationConfigSchema: MessageCodec = pb("agent.v1.ShellOutputNotificationConfig", [ { no: 1, name: "pattern", kind: "string" }, { no: 2, name: "reason", kind: "string" }, { no: 3, name: "debounce", kind: "double", optional: true }, { no: 4, name: "notificationLimit", kind: "int32", optional: true }, ]); /** Cursor agent message agent.v1.ShellPermissionDenied. */ export interface ShellPermissionDenied extends ProtoMessage { command: string; workingDirectory: string; error: string; isReadonly: boolean; } export const ShellPermissionDeniedSchema: MessageCodec = pb("agent.v1.ShellPermissionDenied", [ { no: 1, name: "command", kind: "string" }, { no: 2, name: "workingDirectory", kind: "string" }, { no: 3, name: "error", kind: "string" }, { no: 4, name: "isReadonly", kind: "bool" }, ]); /** Cursor agent message agent.v1.ShellRejected. */ export interface ShellRejected extends ProtoMessage { command: string; workingDirectory: string; reason: string; isReadonly: boolean; } export const ShellRejectedSchema: MessageCodec = pb("agent.v1.ShellRejected", [ { no: 1, name: "command", kind: "string" }, { no: 2, name: "workingDirectory", kind: "string" }, { no: 3, name: "reason", kind: "string" }, { no: 4, name: "isReadonly", kind: "bool" }, ]); /** Cursor agent message agent.v1.ShellResult. */ export interface ShellResult extends ProtoMessage { sandboxPolicy?: SandboxPolicy; isBackground?: boolean; terminalsFolder?: string; pid?: number; result: | { case: undefined; value?: undefined } | { case: "success"; value: ShellSuccess } | { case: "failure"; value: ShellFailure } | { case: "timeout"; value: ShellTimeout } | { case: "rejected"; value: ShellRejected } | { case: "spawnError"; value: ShellSpawnError } | { case: "permissionDenied"; value: ShellPermissionDenied }; } export const ShellResultSchema: MessageCodec = pb("agent.v1.ShellResult", [ { no: 101, name: "sandboxPolicy", kind: "message", T: () => SandboxPolicySchema }, { no: 102, name: "isBackground", kind: "bool", optional: true }, { no: 103, name: "terminalsFolder", kind: "string", optional: true }, { no: 104, name: "pid", kind: "uint32", optional: true }, { kind: "oneof", name: "result", variants: [ { no: 1, name: "success", kind: "message", T: () => ShellSuccessSchema }, { no: 2, name: "failure", kind: "message", T: () => ShellFailureSchema }, { no: 3, name: "timeout", kind: "message", T: () => ShellTimeoutSchema }, { no: 4, name: "rejected", kind: "message", T: () => ShellRejectedSchema }, { no: 5, name: "spawnError", kind: "message", T: () => ShellSpawnErrorSchema }, { no: 7, name: "permissionDenied", kind: "message", T: () => ShellPermissionDeniedSchema }, ], }, ]); /** Cursor agent message agent.v1.ShellSpawnError. */ export interface ShellSpawnError extends ProtoMessage { command: string; workingDirectory: string; error: string; } export const ShellSpawnErrorSchema: MessageCodec = pb("agent.v1.ShellSpawnError", [ { no: 1, name: "command", kind: "string" }, { no: 2, name: "workingDirectory", kind: "string" }, { no: 3, name: "error", kind: "string" }, ]); /** Cursor agent message agent.v1.ShellStream. */ export interface ShellStream extends ProtoMessage { event: | { case: undefined; value?: undefined } | { case: "stdout"; value: ShellStreamStdout } | { case: "stderr"; value: ShellStreamStderr } | { case: "exit"; value: ShellStreamExit } | { case: "start"; value: ShellStreamStart } | { case: "rejected"; value: ShellRejected } | { case: "permissionDenied"; value: ShellPermissionDenied } | { case: "backgrounded"; value: ShellStreamBackgrounded } | { case: "hookContext"; value: ShellStreamHookContext }; } export const ShellStreamSchema: MessageCodec = pb("agent.v1.ShellStream", [ { kind: "oneof", name: "event", variants: [ { no: 1, name: "stdout", kind: "message", T: () => ShellStreamStdoutSchema }, { no: 2, name: "stderr", kind: "message", T: () => ShellStreamStderrSchema }, { no: 3, name: "exit", kind: "message", T: () => ShellStreamExitSchema }, { no: 4, name: "start", kind: "message", T: () => ShellStreamStartSchema }, { no: 5, name: "rejected", kind: "message", T: () => ShellRejectedSchema }, { no: 6, name: "permissionDenied", kind: "message", T: () => ShellPermissionDeniedSchema }, { no: 7, name: "backgrounded", kind: "message", T: () => ShellStreamBackgroundedSchema }, { no: 8, name: "hookContext", kind: "message", T: () => ShellStreamHookContextSchema }, ], }, ]); /** Cursor agent message agent.v1.ShellStreamBackgrounded. */ export interface ShellStreamBackgrounded extends ProtoMessage { shellId: number; command: string; workingDirectory: string; pid?: number; msToWait?: number; reason?: ShellBackgroundReason; } export const ShellStreamBackgroundedSchema: MessageCodec = pb("agent.v1.ShellStreamBackgrounded", [ { no: 1, name: "shellId", kind: "uint32" }, { no: 2, name: "command", kind: "string" }, { no: 3, name: "workingDirectory", kind: "string" }, { no: 4, name: "pid", kind: "uint32", optional: true }, { no: 5, name: "msToWait", kind: "int32", optional: true }, { no: 6, name: "reason", kind: "enum", optional: true }, ]); /** Cursor agent message agent.v1.ShellStreamExit. */ export interface ShellStreamExit extends ProtoMessage { code: number; cwd: string; outputLocation?: OutputLocation; aborted: boolean; abortReason?: number; localExecutionTimeMs?: number; } export const ShellStreamExitSchema: MessageCodec = pb("agent.v1.ShellStreamExit", [ { no: 1, name: "code", kind: "uint32" }, { no: 2, name: "cwd", kind: "string" }, { no: 3, name: "outputLocation", kind: "message", T: () => OutputLocationSchema }, { no: 4, name: "aborted", kind: "bool" }, { no: 5, name: "abortReason", kind: "int32", optional: true }, { no: 6, name: "localExecutionTimeMs", kind: "int32", optional: true }, ]); /** Cursor agent message agent.v1.ShellStreamHookContext. */ export interface ShellStreamHookContext extends ProtoMessage { hookAdditionalContexts: HookAdditionalContext[]; } export const ShellStreamHookContextSchema: MessageCodec = pb("agent.v1.ShellStreamHookContext", [ { no: 1, name: "hookAdditionalContexts", kind: "message", T: () => HookAdditionalContextSchema, repeat: true }, ]); /** Cursor agent message agent.v1.ShellStreamStart. */ export interface ShellStreamStart extends ProtoMessage { sandboxPolicy?: SandboxPolicy; } export const ShellStreamStartSchema: MessageCodec = pb("agent.v1.ShellStreamStart", [ { no: 1, name: "sandboxPolicy", kind: "message", T: () => SandboxPolicySchema }, ]); /** Cursor agent message agent.v1.ShellStreamStderr. */ export interface ShellStreamStderr extends ProtoMessage { data: string; } export const ShellStreamStderrSchema: MessageCodec = pb("agent.v1.ShellStreamStderr", [ { no: 1, name: "data", kind: "string" }, ]); /** Cursor agent message agent.v1.ShellStreamStdout. */ export interface ShellStreamStdout extends ProtoMessage { data: string; } export const ShellStreamStdoutSchema: MessageCodec = pb("agent.v1.ShellStreamStdout", [ { no: 1, name: "data", kind: "string" }, ]); /** Cursor agent message agent.v1.ShellSuccess. */ export interface ShellSuccess extends ProtoMessage { command: string; workingDirectory: string; exitCode: number; signal: string; stdout: string; stderr: string; executionTime: number; outputLocation?: OutputLocation; shellId?: number; interleavedOutput?: string; pid?: number; msToWait?: number; localExecutionTimeMs?: number; backgroundReason?: ShellBackgroundReason; outputHead?: string; outputTail?: string; elidedChars?: number; } export const ShellSuccessSchema: MessageCodec = pb("agent.v1.ShellSuccess", [ { no: 1, name: "command", kind: "string" }, { no: 2, name: "workingDirectory", kind: "string" }, { no: 3, name: "exitCode", kind: "int32" }, { no: 4, name: "signal", kind: "string" }, { no: 5, name: "stdout", kind: "string" }, { no: 6, name: "stderr", kind: "string" }, { no: 7, name: "executionTime", kind: "int32" }, { no: 8, name: "outputLocation", kind: "message", T: () => OutputLocationSchema }, { no: 9, name: "shellId", kind: "uint32", optional: true }, { no: 10, name: "interleavedOutput", kind: "string", optional: true }, { no: 11, name: "pid", kind: "uint32", optional: true }, { no: 12, name: "msToWait", kind: "int32", optional: true }, { no: 13, name: "localExecutionTimeMs", kind: "int32", optional: true }, { no: 14, name: "backgroundReason", kind: "enum", optional: true }, { no: 15, name: "outputHead", kind: "string", optional: true }, { no: 16, name: "outputTail", kind: "string", optional: true }, { no: 17, name: "elidedChars", kind: "uint32", optional: true }, ]); /** Cursor agent message agent.v1.ShellTimeout. */ export interface ShellTimeout extends ProtoMessage { command: string; workingDirectory: string; timeoutMs: number; } export const ShellTimeoutSchema: MessageCodec = pb("agent.v1.ShellTimeout", [ { no: 1, name: "command", kind: "string" }, { no: 2, name: "workingDirectory", kind: "string" }, { no: 3, name: "timeoutMs", kind: "int32" }, ]); /** Cursor agent message agent.v1.ShellToolCall. */ export interface ShellToolCall extends ProtoMessage { args?: ShellArgs; result?: ShellResult; } export const ShellToolCallSchema: MessageCodec = pb("agent.v1.ShellToolCall", [ { no: 1, name: "args", kind: "message", T: () => ShellArgsSchema }, { no: 2, name: "result", kind: "message", T: () => ShellResultSchema }, ]); /** Cursor agent message agent.v1.ShellToolCallDelta. */ export interface ShellToolCallDelta extends ProtoMessage { delta: | { case: undefined; value?: undefined } | { case: "stdout"; value: ShellToolCallStdoutDelta } | { case: "stderr"; value: ShellToolCallStderrDelta }; } export const ShellToolCallDeltaSchema: MessageCodec = pb("agent.v1.ShellToolCallDelta", [ { kind: "oneof", name: "delta", variants: [ { no: 1, name: "stdout", kind: "message", T: () => ShellToolCallStdoutDeltaSchema }, { no: 2, name: "stderr", kind: "message", T: () => ShellToolCallStderrDeltaSchema }, ], }, ]); /** Cursor agent message agent.v1.ShellToolCallStderrDelta. */ export interface ShellToolCallStderrDelta extends ProtoMessage { content: string; } export const ShellToolCallStderrDeltaSchema: MessageCodec = pb("agent.v1.ShellToolCallStderrDelta", [ { no: 1, name: "content", kind: "string" }, ]); /** Cursor agent message agent.v1.ShellToolCallStdoutDelta. */ export interface ShellToolCallStdoutDelta extends ProtoMessage { content: string; } export const ShellToolCallStdoutDeltaSchema: MessageCodec = pb("agent.v1.ShellToolCallStdoutDelta", [ { no: 1, name: "content", kind: "string" }, ]); /** Cursor agent message agent.v1.SkillDescriptor. */ export interface SkillDescriptor extends ProtoMessage { name: string; description: string; folderPath: string; enabled: boolean; parseError?: string; readmeFilePath: string; packageType: number; } export const SkillDescriptorSchema: MessageCodec = pb("agent.v1.SkillDescriptor", [ { no: 1, name: "name", kind: "string" }, { no: 2, name: "description", kind: "string" }, { no: 3, name: "folderPath", kind: "string" }, { no: 4, name: "enabled", kind: "bool" }, { no: 5, name: "parseError", kind: "string", optional: true }, { no: 6, name: "readmeFilePath", kind: "string" }, { no: 7, name: "packageType", kind: "int32" }, ]); /** Cursor agent message agent.v1.SkillOptions. */ export interface SkillOptions extends ProtoMessage { skillDescriptors: SkillDescriptor[]; } export const SkillOptionsSchema: MessageCodec = pb("agent.v1.SkillOptions", [ { no: 1, name: "skillDescriptors", kind: "message", T: () => SkillDescriptorSchema, repeat: true }, ]); /** Cursor agent message agent.v1.SmartModeApproval. */ export interface SmartModeApproval extends ProtoMessage { requestId: string; reason: string; } export const SmartModeApprovalSchema: MessageCodec = pb("agent.v1.SmartModeApproval", [ { no: 1, name: "requestId", kind: "string" }, { no: 2, name: "reason", kind: "string" }, ]); /** Cursor agent message agent.v1.SmartModeClassifierArgs. */ export interface SmartModeClassifierArgs extends ProtoMessage { toolCallId: string; parentConversationId?: string; target?: SmartModeRiskTarget; conversationContext: SmartModeClassifierConversationMessage[]; } export const SmartModeClassifierArgsSchema: MessageCodec = pb("agent.v1.SmartModeClassifierArgs", [ { no: 1, name: "toolCallId", kind: "string" }, { no: 2, name: "parentConversationId", kind: "string", optional: true }, { no: 3, name: "target", kind: "message", T: () => SmartModeRiskTargetSchema }, { no: 4, name: "conversationContext", kind: "message", T: () => SmartModeClassifierConversationMessageSchema, repeat: true }, ]); /** Cursor agent message agent.v1.SmartModeClassifierConversationMessage. */ export interface SmartModeClassifierConversationMessage extends ProtoMessage { role: string; content: string; } export const SmartModeClassifierConversationMessageSchema: MessageCodec = pb("agent.v1.SmartModeClassifierConversationMessage", [ { no: 1, name: "role", kind: "string" }, { no: 2, name: "content", kind: "string" }, ]); /** Cursor agent message agent.v1.SmartModeClassifierError. */ export interface SmartModeClassifierError extends ProtoMessage { error: string; } export const SmartModeClassifierErrorSchema: MessageCodec = pb("agent.v1.SmartModeClassifierError", [ { no: 1, name: "error", kind: "string" }, ]); /** Cursor agent message agent.v1.SmartModeClassifierResult. */ export interface SmartModeClassifierResult extends ProtoMessage { result: | { case: undefined; value?: undefined } | { case: "success"; value: SmartModeClassifierSuccess } | { case: "error"; value: SmartModeClassifierError }; } export const SmartModeClassifierResultSchema: MessageCodec = pb("agent.v1.SmartModeClassifierResult", [ { kind: "oneof", name: "result", variants: [ { no: 1, name: "success", kind: "message", T: () => SmartModeClassifierSuccessSchema }, { no: 2, name: "error", kind: "message", T: () => SmartModeClassifierErrorSchema }, ], }, ]); /** Cursor agent message agent.v1.SmartModeClassifierSuccess. */ export interface SmartModeClassifierSuccess extends ProtoMessage { decision: SmartModeClassifierDecision; blockReason?: string; } export const SmartModeClassifierSuccessSchema: MessageCodec = pb("agent.v1.SmartModeClassifierSuccess", [ { no: 1, name: "decision", kind: "enum" }, { no: 2, name: "blockReason", kind: "string", optional: true }, ]); /** Cursor agent message agent.v1.SmartModeRiskTarget. */ export interface SmartModeRiskTarget extends ProtoMessage { action: string; } export const SmartModeRiskTargetSchema: MessageCodec = pb("agent.v1.SmartModeRiskTarget", [ { no: 1, name: "action", kind: "string" }, ]); /** Cursor agent message agent.v1.SpanContext. */ export interface SpanContext extends ProtoMessage { traceId: string; spanId: string; traceFlags?: number; traceState?: string; } export const SpanContextSchema: MessageCodec = pb("agent.v1.SpanContext", [ { no: 1, name: "traceId", kind: "string" }, { no: 2, name: "spanId", kind: "string" }, { no: 3, name: "traceFlags", kind: "uint32", optional: true }, { no: 4, name: "traceState", kind: "string", optional: true }, ]); /** Cursor agent message agent.v1.StackTrace. */ export interface StackTrace extends ProtoMessage { callFrames: CallFrame[]; rawStackTrace?: string; } export const StackTraceSchema: MessageCodec = pb("agent.v1.StackTrace", [ { no: 1, name: "callFrames", kind: "message", T: () => CallFrameSchema, repeat: true }, { no: 2, name: "rawStackTrace", kind: "string", optional: true }, ]); /** Cursor agent message agent.v1.StartGrindExecutionArgs. */ export interface StartGrindExecutionArgs extends ProtoMessage { explanation?: string; toolCallId: string; } export const StartGrindExecutionArgsSchema: MessageCodec = pb("agent.v1.StartGrindExecutionArgs", [ { no: 1, name: "explanation", kind: "string", optional: true }, { no: 2, name: "toolCallId", kind: "string" }, ]); /** Cursor agent message agent.v1.StartGrindExecutionError. */ export interface StartGrindExecutionError extends ProtoMessage { error: string; } export const StartGrindExecutionErrorSchema: MessageCodec = pb("agent.v1.StartGrindExecutionError", [ { no: 1, name: "error", kind: "string" }, ]); /** Cursor agent message agent.v1.StartGrindExecutionResult. */ export interface StartGrindExecutionResult extends ProtoMessage { result: | { case: undefined; value?: undefined } | { case: "success"; value: StartGrindExecutionSuccess } | { case: "error"; value: StartGrindExecutionError }; } export const StartGrindExecutionResultSchema: MessageCodec = pb("agent.v1.StartGrindExecutionResult", [ { kind: "oneof", name: "result", variants: [ { no: 1, name: "success", kind: "message", T: () => StartGrindExecutionSuccessSchema }, { no: 2, name: "error", kind: "message", T: () => StartGrindExecutionErrorSchema }, ], }, ]); /** Cursor agent message agent.v1.StartGrindExecutionSuccess. */ export interface StartGrindExecutionSuccess extends ProtoMessage { } export const StartGrindExecutionSuccessSchema: MessageCodec = pb("agent.v1.StartGrindExecutionSuccess", [ ]); /** Cursor agent message agent.v1.StartGrindExecutionToolCall. */ export interface StartGrindExecutionToolCall extends ProtoMessage { args?: StartGrindExecutionArgs; result?: StartGrindExecutionResult; } export const StartGrindExecutionToolCallSchema: MessageCodec = pb("agent.v1.StartGrindExecutionToolCall", [ { no: 1, name: "args", kind: "message", T: () => StartGrindExecutionArgsSchema }, { no: 2, name: "result", kind: "message", T: () => StartGrindExecutionResultSchema }, ]); /** Cursor agent message agent.v1.StartGrindPlanningArgs. */ export interface StartGrindPlanningArgs extends ProtoMessage { explanation?: string; toolCallId: string; } export const StartGrindPlanningArgsSchema: MessageCodec = pb("agent.v1.StartGrindPlanningArgs", [ { no: 1, name: "explanation", kind: "string", optional: true }, { no: 2, name: "toolCallId", kind: "string" }, ]); /** Cursor agent message agent.v1.StartGrindPlanningError. */ export interface StartGrindPlanningError extends ProtoMessage { error: string; } export const StartGrindPlanningErrorSchema: MessageCodec = pb("agent.v1.StartGrindPlanningError", [ { no: 1, name: "error", kind: "string" }, ]); /** Cursor agent message agent.v1.StartGrindPlanningResult. */ export interface StartGrindPlanningResult extends ProtoMessage { result: | { case: undefined; value?: undefined } | { case: "success"; value: StartGrindPlanningSuccess } | { case: "error"; value: StartGrindPlanningError }; } export const StartGrindPlanningResultSchema: MessageCodec = pb("agent.v1.StartGrindPlanningResult", [ { kind: "oneof", name: "result", variants: [ { no: 1, name: "success", kind: "message", T: () => StartGrindPlanningSuccessSchema }, { no: 2, name: "error", kind: "message", T: () => StartGrindPlanningErrorSchema }, ], }, ]); /** Cursor agent message agent.v1.StartGrindPlanningSuccess. */ export interface StartGrindPlanningSuccess extends ProtoMessage { } export const StartGrindPlanningSuccessSchema: MessageCodec = pb("agent.v1.StartGrindPlanningSuccess", [ ]); /** Cursor agent message agent.v1.StartGrindPlanningToolCall. */ export interface StartGrindPlanningToolCall extends ProtoMessage { args?: StartGrindPlanningArgs; result?: StartGrindPlanningResult; } export const StartGrindPlanningToolCallSchema: MessageCodec = pb("agent.v1.StartGrindPlanningToolCall", [ { no: 1, name: "args", kind: "message", T: () => StartGrindPlanningArgsSchema }, { no: 2, name: "result", kind: "message", T: () => StartGrindPlanningResultSchema }, ]); /** Cursor agent message agent.v1.StartPlanAction. */ export interface StartPlanAction extends ProtoMessage { userMessage?: UserMessage; requestContext?: RequestContext; isSpec: boolean; } export const StartPlanActionSchema: MessageCodec = pb("agent.v1.StartPlanAction", [ { no: 1, name: "userMessage", kind: "message", T: () => UserMessageSchema }, { no: 2, name: "requestContext", kind: "message", T: () => RequestContextSchema }, { no: 3, name: "isSpec", kind: "bool" }, ]); /** Cursor agent message agent.v1.StepCompletedUpdate. */ export interface StepCompletedUpdate extends ProtoMessage { stepId: bigint; stepDurationMs: bigint; } export const StepCompletedUpdateSchema: MessageCodec = pb("agent.v1.StepCompletedUpdate", [ { no: 1, name: "stepId", kind: "uint64" }, { no: 2, name: "stepDurationMs", kind: "int64" }, ]); /** Cursor agent message agent.v1.StepStartedUpdate. */ export interface StepStartedUpdate extends ProtoMessage { stepId: bigint; } export const StepStartedUpdateSchema: MessageCodec = pb("agent.v1.StepStartedUpdate", [ { no: 1, name: "stepId", kind: "uint64" }, ]); /** Cursor agent message agent.v1.StepTiming. */ export interface StepTiming extends ProtoMessage { durationMs: bigint; timestampMs: bigint; } export const StepTimingSchema: MessageCodec = pb("agent.v1.StepTiming", [ { no: 1, name: "durationMs", kind: "uint64" }, { no: 2, name: "timestampMs", kind: "uint64" }, ]); /** Cursor agent message agent.v1.StopRequestQuery. */ export interface StopRequestQuery extends ProtoMessage { } export const StopRequestQuerySchema: MessageCodec = pb("agent.v1.StopRequestQuery", [ ]); /** Cursor agent message agent.v1.StopRequestResponse. */ export interface StopRequestResponse extends ProtoMessage { followupMessage?: string; } export const StopRequestResponseSchema: MessageCodec = pb("agent.v1.StopRequestResponse", [ { no: 1, name: "followupMessage", kind: "string", optional: true }, ]); /** Cursor agent message agent.v1.SubagentArgs. */ export interface SubagentArgs extends ProtoMessage { toolCallId: string; subagentType: string; prompt: string; } export const SubagentArgsSchema: MessageCodec = pb("agent.v1.SubagentArgs", [ { no: 1, name: "toolCallId", kind: "string" }, { no: 2, name: "subagentType", kind: "string" }, { no: 4, name: "prompt", kind: "string" }, ]); /** Cursor agent message agent.v1.SubagentAwaitArgs. */ export interface SubagentAwaitArgs extends ProtoMessage { agentId: string; timeoutMs: number; } export const SubagentAwaitArgsSchema: MessageCodec = pb("agent.v1.SubagentAwaitArgs", [ { no: 1, name: "agentId", kind: "string" }, { no: 2, name: "timeoutMs", kind: "uint32" }, ]); /** Cursor agent message agent.v1.SubagentAwaitComplete. */ export interface SubagentAwaitComplete extends ProtoMessage { agentId: string; transcriptPath?: string; toolCallCount: number; finalMessage?: string; } export const SubagentAwaitCompleteSchema: MessageCodec = pb("agent.v1.SubagentAwaitComplete", [ { no: 1, name: "agentId", kind: "string" }, { no: 2, name: "transcriptPath", kind: "string", optional: true }, { no: 3, name: "toolCallCount", kind: "int32" }, { no: 4, name: "finalMessage", kind: "string", optional: true }, ]); /** Cursor agent message agent.v1.SubagentAwaitError. */ export interface SubagentAwaitError extends ProtoMessage { agentId?: string; error: string; } export const SubagentAwaitErrorSchema: MessageCodec = pb("agent.v1.SubagentAwaitError", [ { no: 1, name: "agentId", kind: "string", optional: true }, { no: 2, name: "error", kind: "string" }, ]); /** Cursor agent message agent.v1.SubagentAwaitNotFound. */ export interface SubagentAwaitNotFound extends ProtoMessage { agentId: string; } export const SubagentAwaitNotFoundSchema: MessageCodec = pb("agent.v1.SubagentAwaitNotFound", [ { no: 1, name: "agentId", kind: "string" }, ]); /** Cursor agent message agent.v1.SubagentAwaitResult. */ export interface SubagentAwaitResult extends ProtoMessage { result: | { case: undefined; value?: undefined } | { case: "complete"; value: SubagentAwaitComplete } | { case: "stillRunning"; value: SubagentAwaitStillRunning } | { case: "notFound"; value: SubagentAwaitNotFound } | { case: "error"; value: SubagentAwaitError }; } export const SubagentAwaitResultSchema: MessageCodec = pb("agent.v1.SubagentAwaitResult", [ { kind: "oneof", name: "result", variants: [ { no: 1, name: "complete", kind: "message", T: () => SubagentAwaitCompleteSchema }, { no: 2, name: "stillRunning", kind: "message", T: () => SubagentAwaitStillRunningSchema }, { no: 3, name: "notFound", kind: "message", T: () => SubagentAwaitNotFoundSchema }, { no: 4, name: "error", kind: "message", T: () => SubagentAwaitErrorSchema }, ], }, ]); /** Cursor agent message agent.v1.SubagentAwaitStillRunning. */ export interface SubagentAwaitStillRunning extends ProtoMessage { agentId: string; transcriptPath?: string; } export const SubagentAwaitStillRunningSchema: MessageCodec = pb("agent.v1.SubagentAwaitStillRunning", [ { no: 1, name: "agentId", kind: "string" }, { no: 2, name: "transcriptPath", kind: "string", optional: true }, ]); /** Cursor agent message agent.v1.SubagentError. */ export interface SubagentError extends ProtoMessage { agentId?: string; error: string; } export const SubagentErrorSchema: MessageCodec = pb("agent.v1.SubagentError", [ { no: 1, name: "agentId", kind: "string", optional: true }, { no: 2, name: "error", kind: "string" }, ]); /** Cursor agent message agent.v1.SubagentPersistedState. */ export interface SubagentPersistedState extends ProtoMessage { conversationState?: ConversationStateStructure; createdTimestampMs: bigint; lastUsedTimestampMs: bigint; subagentType?: SubagentType; } export const SubagentPersistedStateSchema: MessageCodec = pb("agent.v1.SubagentPersistedState", [ { no: 1, name: "conversationState", kind: "message", T: () => ConversationStateStructureSchema }, { no: 2, name: "createdTimestampMs", kind: "uint64" }, { no: 3, name: "lastUsedTimestampMs", kind: "uint64" }, { no: 4, name: "subagentType", kind: "message", T: () => SubagentTypeSchema }, ]); /** Cursor agent message agent.v1.SubagentResult. */ export interface SubagentResult extends ProtoMessage { result: | { case: undefined; value?: undefined } | { case: "success"; value: SubagentSuccess } | { case: "error"; value: SubagentError }; } export const SubagentResultSchema: MessageCodec = pb("agent.v1.SubagentResult", [ { kind: "oneof", name: "result", variants: [ { no: 1, name: "success", kind: "message", T: () => SubagentSuccessSchema }, { no: 2, name: "error", kind: "message", T: () => SubagentErrorSchema }, ], }, ]); /** Cursor agent message agent.v1.SubagentStartRequestQuery. */ export interface SubagentStartRequestQuery extends ProtoMessage { } export const SubagentStartRequestQuerySchema: MessageCodec = pb("agent.v1.SubagentStartRequestQuery", [ ]); /** Cursor agent message agent.v1.SubagentStartRequestResponse. */ export interface SubagentStartRequestResponse extends ProtoMessage { permission?: string; userMessage?: string; additionalContext?: string; } export const SubagentStartRequestResponseSchema: MessageCodec = pb("agent.v1.SubagentStartRequestResponse", [ { no: 1, name: "permission", kind: "string", optional: true }, { no: 2, name: "userMessage", kind: "string", optional: true }, { no: 3, name: "additionalContext", kind: "string", optional: true }, ]); /** Cursor agent message agent.v1.SubagentStopRequestQuery. */ export interface SubagentStopRequestQuery extends ProtoMessage { } export const SubagentStopRequestQuerySchema: MessageCodec = pb("agent.v1.SubagentStopRequestQuery", [ ]); /** Cursor agent message agent.v1.SubagentStopRequestResponse. */ export interface SubagentStopRequestResponse extends ProtoMessage { followupMessage?: string; additionalContext?: string; } export const SubagentStopRequestResponseSchema: MessageCodec = pb("agent.v1.SubagentStopRequestResponse", [ { no: 1, name: "followupMessage", kind: "string", optional: true }, { no: 2, name: "additionalContext", kind: "string", optional: true }, ]); /** Cursor agent message agent.v1.SubagentSuccess. */ export interface SubagentSuccess extends ProtoMessage { agentId: string; finalMessage?: string; toolCallCount: number; backgroundReason: SubagentBackgroundReason; transcriptPath?: string; } export const SubagentSuccessSchema: MessageCodec = pb("agent.v1.SubagentSuccess", [ { no: 1, name: "agentId", kind: "string" }, { no: 2, name: "finalMessage", kind: "string", optional: true }, { no: 3, name: "toolCallCount", kind: "int32" }, { no: 4, name: "backgroundReason", kind: "enum" }, { no: 5, name: "transcriptPath", kind: "string", optional: true }, ]); /** Cursor agent message agent.v1.SubagentType. */ export interface SubagentType extends ProtoMessage { type: | { case: undefined; value?: undefined } | { case: "unspecified"; value: SubagentTypeUnspecified } | { case: "computerUse"; value: SubagentTypeComputerUse } | { case: "custom"; value: SubagentTypeCustom } | { case: "explore"; value: SubagentTypeExplore }; } export const SubagentTypeSchema: MessageCodec = pb("agent.v1.SubagentType", [ { kind: "oneof", name: "type", variants: [ { no: 1, name: "unspecified", kind: "message", T: () => SubagentTypeUnspecifiedSchema }, { no: 2, name: "computerUse", kind: "message", T: () => SubagentTypeComputerUseSchema }, { no: 3, name: "custom", kind: "message", T: () => SubagentTypeCustomSchema }, { no: 4, name: "explore", kind: "message", T: () => SubagentTypeExploreSchema }, ], }, ]); /** Cursor agent message agent.v1.SubagentTypeComputerUse. */ export interface SubagentTypeComputerUse extends ProtoMessage { } export const SubagentTypeComputerUseSchema: MessageCodec = pb("agent.v1.SubagentTypeComputerUse", [ ]); /** Cursor agent message agent.v1.SubagentTypeCustom. */ export interface SubagentTypeCustom extends ProtoMessage { name: string; } export const SubagentTypeCustomSchema: MessageCodec = pb("agent.v1.SubagentTypeCustom", [ { no: 1, name: "name", kind: "string" }, ]); /** Cursor agent message agent.v1.SubagentTypeExplore. */ export interface SubagentTypeExplore extends ProtoMessage { } export const SubagentTypeExploreSchema: MessageCodec = pb("agent.v1.SubagentTypeExplore", [ ]); /** Cursor agent message agent.v1.SubagentTypeUnspecified. */ export interface SubagentTypeUnspecified extends ProtoMessage { } export const SubagentTypeUnspecifiedSchema: MessageCodec = pb("agent.v1.SubagentTypeUnspecified", [ ]); /** Cursor agent message agent.v1.SummarizeAction. */ export interface SummarizeAction extends ProtoMessage { } export const SummarizeActionSchema: MessageCodec = pb("agent.v1.SummarizeAction", [ ]); /** Cursor agent message agent.v1.SummaryCompletedUpdate. */ export interface SummaryCompletedUpdate extends ProtoMessage { } export const SummaryCompletedUpdateSchema: MessageCodec = pb("agent.v1.SummaryCompletedUpdate", [ ]); /** Cursor agent message agent.v1.SummaryStartedUpdate. */ export interface SummaryStartedUpdate extends ProtoMessage { } export const SummaryStartedUpdateSchema: MessageCodec = pb("agent.v1.SummaryStartedUpdate", [ ]); /** Cursor agent message agent.v1.SummaryUpdate. */ export interface SummaryUpdate extends ProtoMessage { summary: string; } export const SummaryUpdateSchema: MessageCodec = pb("agent.v1.SummaryUpdate", [ { no: 1, name: "summary", kind: "string" }, ]); /** Cursor agent message agent.v1.SwitchModeArgs. */ export interface SwitchModeArgs extends ProtoMessage { targetModeId: string; explanation?: string; toolCallId: string; } export const SwitchModeArgsSchema: MessageCodec = pb("agent.v1.SwitchModeArgs", [ { no: 1, name: "targetModeId", kind: "string" }, { no: 2, name: "explanation", kind: "string", optional: true }, { no: 3, name: "toolCallId", kind: "string" }, ]); /** Cursor agent message agent.v1.SwitchModeError. */ export interface SwitchModeError extends ProtoMessage { error: string; } export const SwitchModeErrorSchema: MessageCodec = pb("agent.v1.SwitchModeError", [ { no: 1, name: "error", kind: "string" }, ]); /** Cursor agent message agent.v1.SwitchModeRejected. */ export interface SwitchModeRejected extends ProtoMessage { reason: string; } export const SwitchModeRejectedSchema: MessageCodec = pb("agent.v1.SwitchModeRejected", [ { no: 1, name: "reason", kind: "string" }, ]); /** Cursor agent message agent.v1.SwitchModeRequestQuery. */ export interface SwitchModeRequestQuery extends ProtoMessage { args?: SwitchModeArgs; } export const SwitchModeRequestQuerySchema: MessageCodec = pb("agent.v1.SwitchModeRequestQuery", [ { no: 1, name: "args", kind: "message", T: () => SwitchModeArgsSchema }, ]); /** Cursor agent message agent.v1.SwitchModeRequestResponse. */ export interface SwitchModeRequestResponse extends ProtoMessage { result: | { case: undefined; value?: undefined } | { case: "approved"; value: SwitchModeRequestResponse_Approved } | { case: "rejected"; value: SwitchModeRequestResponse_Rejected }; } export const SwitchModeRequestResponseSchema: MessageCodec = pb("agent.v1.SwitchModeRequestResponse", [ { kind: "oneof", name: "result", variants: [ { no: 1, name: "approved", kind: "message", T: () => SwitchModeRequestResponse_ApprovedSchema }, { no: 2, name: "rejected", kind: "message", T: () => SwitchModeRequestResponse_RejectedSchema }, ], }, ]); /** Cursor agent message agent.v1.SwitchModeRequestResponse_Approved. */ export interface SwitchModeRequestResponse_Approved extends ProtoMessage { } export const SwitchModeRequestResponse_ApprovedSchema: MessageCodec = pb("agent.v1.SwitchModeRequestResponse_Approved", [ ]); /** Cursor agent message agent.v1.SwitchModeRequestResponse_Rejected. */ export interface SwitchModeRequestResponse_Rejected extends ProtoMessage { reason: string; } export const SwitchModeRequestResponse_RejectedSchema: MessageCodec = pb("agent.v1.SwitchModeRequestResponse_Rejected", [ { no: 1, name: "reason", kind: "string" }, ]); /** Cursor agent message agent.v1.SwitchModeResult. */ export interface SwitchModeResult extends ProtoMessage { result: | { case: undefined; value?: undefined } | { case: "success"; value: SwitchModeSuccess } | { case: "error"; value: SwitchModeError } | { case: "rejected"; value: SwitchModeRejected }; } export const SwitchModeResultSchema: MessageCodec = pb("agent.v1.SwitchModeResult", [ { kind: "oneof", name: "result", variants: [ { no: 1, name: "success", kind: "message", T: () => SwitchModeSuccessSchema }, { no: 2, name: "error", kind: "message", T: () => SwitchModeErrorSchema }, { no: 3, name: "rejected", kind: "message", T: () => SwitchModeRejectedSchema }, ], }, ]); /** Cursor agent message agent.v1.SwitchModeSuccess. */ export interface SwitchModeSuccess extends ProtoMessage { fromModeId: string; toModeId: string; } export const SwitchModeSuccessSchema: MessageCodec = pb("agent.v1.SwitchModeSuccess", [ { no: 1, name: "fromModeId", kind: "string" }, { no: 2, name: "toModeId", kind: "string" }, ]); /** Cursor agent message agent.v1.SwitchModeToolCall. */ export interface SwitchModeToolCall extends ProtoMessage { args?: SwitchModeArgs; result?: SwitchModeResult; } export const SwitchModeToolCallSchema: MessageCodec = pb("agent.v1.SwitchModeToolCall", [ { no: 1, name: "args", kind: "message", T: () => SwitchModeArgsSchema }, { no: 2, name: "result", kind: "message", T: () => SwitchModeResultSchema }, ]); /** Cursor agent message agent.v1.TaskArgs. */ export interface TaskArgs extends ProtoMessage { description: string; prompt: string; subagentType?: SubagentType; model?: string; resume?: string; } export const TaskArgsSchema: MessageCodec = pb("agent.v1.TaskArgs", [ { no: 1, name: "description", kind: "string" }, { no: 2, name: "prompt", kind: "string" }, { no: 3, name: "subagentType", kind: "message", T: () => SubagentTypeSchema }, { no: 4, name: "model", kind: "string", optional: true }, { no: 5, name: "resume", kind: "string", optional: true }, ]); /** Cursor agent message agent.v1.TaskError. */ export interface TaskError extends ProtoMessage { error: string; } export const TaskErrorSchema: MessageCodec = pb("agent.v1.TaskError", [ { no: 1, name: "error", kind: "string" }, ]); /** Cursor agent message agent.v1.TaskResult. */ export interface TaskResult extends ProtoMessage { result: | { case: undefined; value?: undefined } | { case: "success"; value: TaskSuccess } | { case: "error"; value: TaskError }; } export const TaskResultSchema: MessageCodec = pb("agent.v1.TaskResult", [ { kind: "oneof", name: "result", variants: [ { no: 1, name: "success", kind: "message", T: () => TaskSuccessSchema }, { no: 2, name: "error", kind: "message", T: () => TaskErrorSchema }, ], }, ]); /** Cursor agent message agent.v1.TaskSuccess. */ export interface TaskSuccess extends ProtoMessage { conversationSteps: ConversationStep[]; agentId?: string; isBackground: boolean; durationMs?: bigint; } export const TaskSuccessSchema: MessageCodec = pb("agent.v1.TaskSuccess", [ { no: 1, name: "conversationSteps", kind: "message", T: () => ConversationStepSchema, repeat: true }, { no: 2, name: "agentId", kind: "string", optional: true }, { no: 3, name: "isBackground", kind: "bool" }, { no: 4, name: "durationMs", kind: "uint64", optional: true }, ]); /** Cursor agent message agent.v1.TaskToolCall. */ export interface TaskToolCall extends ProtoMessage { args?: TaskArgs; result?: TaskResult; } export const TaskToolCallSchema: MessageCodec = pb("agent.v1.TaskToolCall", [ { no: 1, name: "args", kind: "message", T: () => TaskArgsSchema }, { no: 2, name: "result", kind: "message", T: () => TaskResultSchema }, ]); /** Cursor agent message agent.v1.TaskToolCallDelta. */ export interface TaskToolCallDelta extends ProtoMessage { interactionUpdate?: InteractionUpdate; } export const TaskToolCallDeltaSchema: MessageCodec = pb("agent.v1.TaskToolCallDelta", [ { no: 1, name: "interactionUpdate", kind: "message", T: () => InteractionUpdateSchema }, ]); /** Cursor agent message agent.v1.TerminalMetadata. */ export interface TerminalMetadata extends ProtoMessage { cwd?: string; lastCommands: TerminalMetadata_Command[]; lastModifiedMs?: bigint; currentCommand?: TerminalMetadata_Command; } export const TerminalMetadataSchema: MessageCodec = pb("agent.v1.TerminalMetadata", [ { no: 1, name: "cwd", kind: "string", optional: true }, { no: 2, name: "lastCommands", kind: "message", T: () => TerminalMetadata_CommandSchema, repeat: true }, { no: 3, name: "lastModifiedMs", kind: "int64", optional: true }, { no: 4, name: "currentCommand", kind: "message", T: () => TerminalMetadata_CommandSchema }, ]); /** Cursor agent message agent.v1.TerminalMetadata_Command. */ export interface TerminalMetadata_Command extends ProtoMessage { command: string; exitCode?: number; timestampMs?: bigint; durationMs?: bigint; } export const TerminalMetadata_CommandSchema: MessageCodec = pb("agent.v1.TerminalMetadata_Command", [ { no: 1, name: "command", kind: "string" }, { no: 2, name: "exitCode", kind: "int32", optional: true }, { no: 3, name: "timestampMs", kind: "int64", optional: true }, { no: 4, name: "durationMs", kind: "int64", optional: true }, ]); /** Cursor agent message agent.v1.TextDeltaUpdate. */ export interface TextDeltaUpdate extends ProtoMessage { text: string; } export const TextDeltaUpdateSchema: MessageCodec = pb("agent.v1.TextDeltaUpdate", [ { no: 1, name: "text", kind: "string" }, ]); /** Cursor agent message agent.v1.ThinkingCompletedUpdate. */ export interface ThinkingCompletedUpdate extends ProtoMessage { thinkingDurationMs: number; } export const ThinkingCompletedUpdateSchema: MessageCodec = pb("agent.v1.ThinkingCompletedUpdate", [ { no: 1, name: "thinkingDurationMs", kind: "int32" }, ]); /** Cursor agent message agent.v1.ThinkingDeltaUpdate. */ export interface ThinkingDeltaUpdate extends ProtoMessage { text: string; } export const ThinkingDeltaUpdateSchema: MessageCodec = pb("agent.v1.ThinkingDeltaUpdate", [ { no: 1, name: "text", kind: "string" }, ]); /** Cursor agent message agent.v1.ThinkingDetails. */ export interface ThinkingDetails extends ProtoMessage { } export const ThinkingDetailsSchema: MessageCodec = pb("agent.v1.ThinkingDetails", [ ]); /** Cursor agent message agent.v1.ThinkingMessage. */ export interface ThinkingMessage extends ProtoMessage { text: string; durationMs: number; } export const ThinkingMessageSchema: MessageCodec = pb("agent.v1.ThinkingMessage", [ { no: 1, name: "text", kind: "string" }, { no: 2, name: "durationMs", kind: "uint32" }, ]); /** Cursor agent message agent.v1.TodoItem. */ export interface TodoItem extends ProtoMessage { id: string; content: string; status: number; createdAt: bigint; updatedAt: bigint; dependencies: string[]; } export const TodoItemSchema: MessageCodec = pb("agent.v1.TodoItem", [ { no: 1, name: "id", kind: "string" }, { no: 2, name: "content", kind: "string" }, { no: 3, name: "status", kind: "int32" }, { no: 4, name: "createdAt", kind: "int64" }, { no: 5, name: "updatedAt", kind: "int64" }, { no: 6, name: "dependencies", kind: "string", repeat: true }, ]); /** Cursor agent message agent.v1.TokenDeltaUpdate. */ export interface TokenDeltaUpdate extends ProtoMessage { tokens: number; } export const TokenDeltaUpdateSchema: MessageCodec = pb("agent.v1.TokenDeltaUpdate", [ { no: 1, name: "tokens", kind: "int32" }, ]); /** Cursor agent message agent.v1.ToolCall. */ export interface ToolCall extends ProtoMessage { toolCallId?: string; tool: | { case: undefined; value?: undefined } | { case: "shellToolCall"; value: ShellToolCall } | { case: "deleteToolCall"; value: DeleteToolCall } | { case: "globToolCall"; value: GlobToolCall } | { case: "grepToolCall"; value: GrepToolCall } | { case: "readToolCall"; value: ReadToolCall } | { case: "updateTodosToolCall"; value: UpdateTodosToolCall } | { case: "readTodosToolCall"; value: ReadTodosToolCall } | { case: "editToolCall"; value: EditToolCall } | { case: "lsToolCall"; value: LsToolCall } | { case: "readLintsToolCall"; value: ReadLintsToolCall } | { case: "mcpToolCall"; value: McpToolCall } | { case: "semSearchToolCall"; value: SemSearchToolCall } | { case: "createPlanToolCall"; value: CreatePlanToolCall } | { case: "webSearchToolCall"; value: WebSearchToolCall } | { case: "taskToolCall"; value: TaskToolCall } | { case: "listMcpResourcesToolCall"; value: ListMcpResourcesToolCall } | { case: "readMcpResourceToolCall"; value: ReadMcpResourceToolCall } | { case: "applyAgentDiffToolCall"; value: ApplyAgentDiffToolCall } | { case: "askQuestionToolCall"; value: AskQuestionToolCall } | { case: "fetchToolCall"; value: FetchToolCall } | { case: "switchModeToolCall"; value: SwitchModeToolCall } | { case: "exaSearchToolCall"; value: ExaSearchToolCall } | { case: "exaFetchToolCall"; value: ExaFetchToolCall } | { case: "generateImageToolCall"; value: GenerateImageToolCall } | { case: "recordScreenToolCall"; value: RecordScreenToolCall } | { case: "computerUseToolCall"; value: ComputerUseToolCall } | { case: "writeShellStdinToolCall"; value: WriteShellStdinToolCall } | { case: "reflectToolCall"; value: ReflectToolCall } | { case: "setupVmEnvironmentToolCall"; value: SetupVmEnvironmentToolCall } | { case: "truncatedToolCall"; value: TruncatedToolCall } | { case: "startGrindExecutionToolCall"; value: StartGrindExecutionToolCall } | { case: "startGrindPlanningToolCall"; value: StartGrindPlanningToolCall } | { case: "piReadToolCall"; value: PiReadToolCall } | { case: "piBashToolCall"; value: PiBashToolCall } | { case: "piEditToolCall"; value: PiEditToolCall } | { case: "piWriteToolCall"; value: PiWriteToolCall } | { case: "piGrepToolCall"; value: PiGrepToolCall } | { case: "piFindToolCall"; value: PiFindToolCall } | { case: "piLsToolCall"; value: PiLsToolCall } | { case: "connectScmToolCall"; value: ConnectScmToolCall } | { case: "searchConversationsToolCall"; value: SearchConversationsToolCall } | { case: "webFetchToolCall"; value: FetchToolCall }; } export const ToolCallSchema: MessageCodec = pb("agent.v1.ToolCall", [ { no: 57, name: "toolCallId", kind: "string", optional: true }, { kind: "oneof", name: "tool", variants: [ { no: 1, name: "shellToolCall", kind: "message", T: () => ShellToolCallSchema }, { no: 3, name: "deleteToolCall", kind: "message", T: () => DeleteToolCallSchema }, { no: 4, name: "globToolCall", kind: "message", T: () => GlobToolCallSchema }, { no: 5, name: "grepToolCall", kind: "message", T: () => GrepToolCallSchema }, { no: 8, name: "readToolCall", kind: "message", T: () => ReadToolCallSchema }, { no: 9, name: "updateTodosToolCall", kind: "message", T: () => UpdateTodosToolCallSchema }, { no: 10, name: "readTodosToolCall", kind: "message", T: () => ReadTodosToolCallSchema }, { no: 12, name: "editToolCall", kind: "message", T: () => EditToolCallSchema }, { no: 13, name: "lsToolCall", kind: "message", T: () => LsToolCallSchema }, { no: 14, name: "readLintsToolCall", kind: "message", T: () => ReadLintsToolCallSchema }, { no: 15, name: "mcpToolCall", kind: "message", T: () => McpToolCallSchema }, { no: 16, name: "semSearchToolCall", kind: "message", T: () => SemSearchToolCallSchema }, { no: 17, name: "createPlanToolCall", kind: "message", T: () => CreatePlanToolCallSchema }, { no: 18, name: "webSearchToolCall", kind: "message", T: () => WebSearchToolCallSchema }, { no: 19, name: "taskToolCall", kind: "message", T: () => TaskToolCallSchema }, { no: 20, name: "listMcpResourcesToolCall", kind: "message", T: () => ListMcpResourcesToolCallSchema }, { no: 21, name: "readMcpResourceToolCall", kind: "message", T: () => ReadMcpResourceToolCallSchema }, { no: 22, name: "applyAgentDiffToolCall", kind: "message", T: () => ApplyAgentDiffToolCallSchema }, { no: 23, name: "askQuestionToolCall", kind: "message", T: () => AskQuestionToolCallSchema }, { no: 24, name: "fetchToolCall", kind: "message", T: () => FetchToolCallSchema }, { no: 25, name: "switchModeToolCall", kind: "message", T: () => SwitchModeToolCallSchema }, { no: 26, name: "exaSearchToolCall", kind: "message", T: () => ExaSearchToolCallSchema }, { no: 27, name: "exaFetchToolCall", kind: "message", T: () => ExaFetchToolCallSchema }, { no: 28, name: "generateImageToolCall", kind: "message", T: () => GenerateImageToolCallSchema }, { no: 29, name: "recordScreenToolCall", kind: "message", T: () => RecordScreenToolCallSchema }, { no: 30, name: "computerUseToolCall", kind: "message", T: () => ComputerUseToolCallSchema }, { no: 31, name: "writeShellStdinToolCall", kind: "message", T: () => WriteShellStdinToolCallSchema }, { no: 32, name: "reflectToolCall", kind: "message", T: () => ReflectToolCallSchema }, { no: 33, name: "setupVmEnvironmentToolCall", kind: "message", T: () => SetupVmEnvironmentToolCallSchema }, { no: 34, name: "truncatedToolCall", kind: "message", T: () => TruncatedToolCallSchema }, { no: 35, name: "startGrindExecutionToolCall", kind: "message", T: () => StartGrindExecutionToolCallSchema }, { no: 36, name: "startGrindPlanningToolCall", kind: "message", T: () => StartGrindPlanningToolCallSchema }, { no: 61, name: "piReadToolCall", kind: "message", T: () => PiReadToolCallSchema }, { no: 62, name: "piBashToolCall", kind: "message", T: () => PiBashToolCallSchema }, { no: 63, name: "piEditToolCall", kind: "message", T: () => PiEditToolCallSchema }, { no: 64, name: "piWriteToolCall", kind: "message", T: () => PiWriteToolCallSchema }, { no: 65, name: "piGrepToolCall", kind: "message", T: () => PiGrepToolCallSchema }, { no: 66, name: "piFindToolCall", kind: "message", T: () => PiFindToolCallSchema }, { no: 67, name: "piLsToolCall", kind: "message", T: () => PiLsToolCallSchema }, { no: 68, name: "connectScmToolCall", kind: "message", T: () => ConnectScmToolCallSchema }, { no: 69, name: "searchConversationsToolCall", kind: "message", T: () => SearchConversationsToolCallSchema }, { no: 37, name: "webFetchToolCall", kind: "message", T: () => FetchToolCallSchema }, ], }, ]); /** Cursor agent message agent.v1.ToolCallCompletedUpdate. */ export interface ToolCallCompletedUpdate extends ProtoMessage { callId: string; toolCall?: ToolCall; modelCallId: string; } export const ToolCallCompletedUpdateSchema: MessageCodec = pb("agent.v1.ToolCallCompletedUpdate", [ { no: 1, name: "callId", kind: "string" }, { no: 2, name: "toolCall", kind: "message", T: () => ToolCallSchema }, { no: 3, name: "modelCallId", kind: "string" }, ]); /** Cursor agent message agent.v1.ToolCallDelta. */ export interface ToolCallDelta extends ProtoMessage { delta: | { case: undefined; value?: undefined } | { case: "shellToolCallDelta"; value: ShellToolCallDelta } | { case: "taskToolCallDelta"; value: TaskToolCallDelta } | { case: "editToolCallDelta"; value: EditToolCallDelta }; } export const ToolCallDeltaSchema: MessageCodec = pb("agent.v1.ToolCallDelta", [ { kind: "oneof", name: "delta", variants: [ { no: 1, name: "shellToolCallDelta", kind: "message", T: () => ShellToolCallDeltaSchema }, { no: 2, name: "taskToolCallDelta", kind: "message", T: () => TaskToolCallDeltaSchema }, { no: 3, name: "editToolCallDelta", kind: "message", T: () => EditToolCallDeltaSchema }, ], }, ]); /** Cursor agent message agent.v1.ToolCallDeltaUpdate. */ export interface ToolCallDeltaUpdate extends ProtoMessage { callId: string; toolCallDelta?: ToolCallDelta; modelCallId: string; } export const ToolCallDeltaUpdateSchema: MessageCodec = pb("agent.v1.ToolCallDeltaUpdate", [ { no: 1, name: "callId", kind: "string" }, { no: 2, name: "toolCallDelta", kind: "message", T: () => ToolCallDeltaSchema }, { no: 3, name: "modelCallId", kind: "string" }, ]); /** Cursor agent message agent.v1.ToolCallStartedUpdate. */ export interface ToolCallStartedUpdate extends ProtoMessage { callId: string; toolCall?: ToolCall; modelCallId: string; } export const ToolCallStartedUpdateSchema: MessageCodec = pb("agent.v1.ToolCallStartedUpdate", [ { no: 1, name: "callId", kind: "string" }, { no: 2, name: "toolCall", kind: "message", T: () => ToolCallSchema }, { no: 3, name: "modelCallId", kind: "string" }, ]); /** Cursor agent message agent.v1.ToolRequestsListedUpdate. */ export interface ToolRequestsListedUpdate extends ProtoMessage { callCount: number; } export const ToolRequestsListedUpdateSchema: MessageCodec = pb("agent.v1.ToolRequestsListedUpdate", [ { no: 1, name: "callCount", kind: "uint32" }, ]); /** Cursor agent message agent.v1.TruncatedToolCall. */ export interface TruncatedToolCall extends ProtoMessage { originalStepBlobId: Uint8Array; args?: TruncatedToolCallArgs; result?: TruncatedToolCallResult; } export const TruncatedToolCallSchema: MessageCodec = pb("agent.v1.TruncatedToolCall", [ { no: 1, name: "originalStepBlobId", kind: "bytes" }, { no: 2, name: "args", kind: "message", T: () => TruncatedToolCallArgsSchema }, { no: 3, name: "result", kind: "message", T: () => TruncatedToolCallResultSchema }, ]); /** Cursor agent message agent.v1.TruncatedToolCallArgs. */ export interface TruncatedToolCallArgs extends ProtoMessage { } export const TruncatedToolCallArgsSchema: MessageCodec = pb("agent.v1.TruncatedToolCallArgs", [ ]); /** Cursor agent message agent.v1.TruncatedToolCallError. */ export interface TruncatedToolCallError extends ProtoMessage { error: string; } export const TruncatedToolCallErrorSchema: MessageCodec = pb("agent.v1.TruncatedToolCallError", [ { no: 1, name: "error", kind: "string" }, ]); /** Cursor agent message agent.v1.TruncatedToolCallResult. */ export interface TruncatedToolCallResult extends ProtoMessage { result: | { case: undefined; value?: undefined } | { case: "success"; value: TruncatedToolCallSuccess } | { case: "error"; value: TruncatedToolCallError }; } export const TruncatedToolCallResultSchema: MessageCodec = pb("agent.v1.TruncatedToolCallResult", [ { kind: "oneof", name: "result", variants: [ { no: 1, name: "success", kind: "message", T: () => TruncatedToolCallSuccessSchema }, { no: 2, name: "error", kind: "message", T: () => TruncatedToolCallErrorSchema }, ], }, ]); /** Cursor agent message agent.v1.TruncatedToolCallSuccess. */ export interface TruncatedToolCallSuccess extends ProtoMessage { } export const TruncatedToolCallSuccessSchema: MessageCodec = pb("agent.v1.TruncatedToolCallSuccess", [ ]); /** Cursor agent message agent.v1.TurnEndedUpdate. */ export interface TurnEndedUpdate extends ProtoMessage { inputTokens?: bigint; outputTokens?: bigint; cacheReadTokens?: bigint; cacheWriteTokens?: bigint; reasoningTokens?: bigint; } export const TurnEndedUpdateSchema: MessageCodec = pb("agent.v1.TurnEndedUpdate", [ { no: 1, name: "inputTokens", kind: "int64", optional: true }, { no: 2, name: "outputTokens", kind: "int64", optional: true }, { no: 3, name: "cacheReadTokens", kind: "int64", optional: true }, { no: 4, name: "cacheWriteTokens", kind: "int64", optional: true }, { no: 5, name: "reasoningTokens", kind: "int64", optional: true }, ]); /** Cursor agent message agent.v1.TypeAction. */ export interface TypeAction extends ProtoMessage { text: string; } export const TypeActionSchema: MessageCodec = pb("agent.v1.TypeAction", [ { no: 1, name: "text", kind: "string" }, ]); /** Cursor agent message agent.v1.UpdateTodosArgs. */ export interface UpdateTodosArgs extends ProtoMessage { todos: TodoItem[]; merge: boolean; } export const UpdateTodosArgsSchema: MessageCodec = pb("agent.v1.UpdateTodosArgs", [ { no: 1, name: "todos", kind: "message", T: () => TodoItemSchema, repeat: true }, { no: 2, name: "merge", kind: "bool" }, ]); /** Cursor agent message agent.v1.UpdateTodosError. */ export interface UpdateTodosError extends ProtoMessage { error: string; } export const UpdateTodosErrorSchema: MessageCodec = pb("agent.v1.UpdateTodosError", [ { no: 1, name: "error", kind: "string" }, ]); /** Cursor agent message agent.v1.UpdateTodosResult. */ export interface UpdateTodosResult extends ProtoMessage { result: | { case: undefined; value?: undefined } | { case: "success"; value: UpdateTodosSuccess } | { case: "error"; value: UpdateTodosError }; } export const UpdateTodosResultSchema: MessageCodec = pb("agent.v1.UpdateTodosResult", [ { kind: "oneof", name: "result", variants: [ { no: 1, name: "success", kind: "message", T: () => UpdateTodosSuccessSchema }, { no: 2, name: "error", kind: "message", T: () => UpdateTodosErrorSchema }, ], }, ]); /** Cursor agent message agent.v1.UpdateTodosSuccess. */ export interface UpdateTodosSuccess extends ProtoMessage { todos: TodoItem[]; totalCount: number; wasMerge: boolean; } export const UpdateTodosSuccessSchema: MessageCodec = pb("agent.v1.UpdateTodosSuccess", [ { no: 1, name: "todos", kind: "message", T: () => TodoItemSchema, repeat: true }, { no: 2, name: "totalCount", kind: "int32" }, { no: 3, name: "wasMerge", kind: "bool" }, ]); /** Cursor agent message agent.v1.UpdateTodosToolCall. */ export interface UpdateTodosToolCall extends ProtoMessage { args?: UpdateTodosArgs; result?: UpdateTodosResult; } export const UpdateTodosToolCallSchema: MessageCodec = pb("agent.v1.UpdateTodosToolCall", [ { no: 1, name: "args", kind: "message", T: () => UpdateTodosArgsSchema }, { no: 2, name: "result", kind: "message", T: () => UpdateTodosResultSchema }, ]); /** Cursor agent message agent.v1.UserMessage. */ export interface UserMessage extends ProtoMessage { text: string; messageId: string; selectedContext?: SelectedContext; mode: number; isSimulatedMsg?: boolean; bestOfNGroupId?: string; tryUseBestOfNPromotion?: boolean; richText?: string; } export const UserMessageSchema: MessageCodec = pb("agent.v1.UserMessage", [ { no: 1, name: "text", kind: "string" }, { no: 2, name: "messageId", kind: "string" }, { no: 3, name: "selectedContext", kind: "message", T: () => SelectedContextSchema }, { no: 4, name: "mode", kind: "int32" }, { no: 5, name: "isSimulatedMsg", kind: "bool", optional: true }, { no: 6, name: "bestOfNGroupId", kind: "string", optional: true }, { no: 7, name: "tryUseBestOfNPromotion", kind: "bool", optional: true }, { no: 8, name: "richText", kind: "string", optional: true }, ]); /** Cursor agent message agent.v1.UserMessageAction. */ export interface UserMessageAction extends ProtoMessage { userMessage?: UserMessage; requestContext?: RequestContext; sendToInteractionListener?: boolean; } export const UserMessageActionSchema: MessageCodec = pb("agent.v1.UserMessageAction", [ { no: 1, name: "userMessage", kind: "message", T: () => UserMessageSchema }, { no: 2, name: "requestContext", kind: "message", T: () => RequestContextSchema }, { no: 3, name: "sendToInteractionListener", kind: "bool", optional: true }, ]); /** Cursor agent message agent.v1.UserMessageAppendedUpdate. */ export interface UserMessageAppendedUpdate extends ProtoMessage { userMessage?: UserMessage; } export const UserMessageAppendedUpdateSchema: MessageCodec = pb("agent.v1.UserMessageAppendedUpdate", [ { no: 1, name: "userMessage", kind: "message", T: () => UserMessageSchema }, ]); /** Cursor agent message agent.v1.WaitAction. */ export interface WaitAction extends ProtoMessage { durationMs: number; } export const WaitActionSchema: MessageCodec = pb("agent.v1.WaitAction", [ { no: 1, name: "durationMs", kind: "int32" }, ]); /** Cursor agent message agent.v1.WebFetchAllowlistPrecheckArgs. */ export interface WebFetchAllowlistPrecheckArgs extends ProtoMessage { url: string; toolCallId?: string; } export const WebFetchAllowlistPrecheckArgsSchema: MessageCodec = pb("agent.v1.WebFetchAllowlistPrecheckArgs", [ { no: 1, name: "url", kind: "string" }, { no: 2, name: "toolCallId", kind: "string", optional: true }, ]); /** Cursor agent message agent.v1.WebFetchAllowlistPrecheckResult. */ export interface WebFetchAllowlistPrecheckResult extends ProtoMessage { allowlisted: boolean; } export const WebFetchAllowlistPrecheckResultSchema: MessageCodec = pb("agent.v1.WebFetchAllowlistPrecheckResult", [ { no: 1, name: "allowlisted", kind: "bool" }, ]); /** Cursor agent message agent.v1.WebFetchRequestQuery. */ export interface WebFetchRequestQuery extends ProtoMessage { args?: FetchArgs; } export const WebFetchRequestQuerySchema: MessageCodec = pb("agent.v1.WebFetchRequestQuery", [ { no: 1, name: "args", kind: "message", T: () => FetchArgsSchema }, ]); /** Cursor agent message agent.v1.WebFetchRequestResponse. */ export interface WebFetchRequestResponse extends ProtoMessage { result: | { case: undefined; value?: undefined } | { case: "approved"; value: WebFetchRequestResponse_Approved } | { case: "rejected"; value: WebFetchRequestResponse_Rejected }; } export const WebFetchRequestResponseSchema: MessageCodec = pb("agent.v1.WebFetchRequestResponse", [ { kind: "oneof", name: "result", variants: [ { no: 1, name: "approved", kind: "message", T: () => WebFetchRequestResponse_ApprovedSchema }, { no: 2, name: "rejected", kind: "message", T: () => WebFetchRequestResponse_RejectedSchema }, ], }, ]); /** Cursor agent message agent.v1.WebFetchRequestResponse_Approved. */ export interface WebFetchRequestResponse_Approved extends ProtoMessage { } export const WebFetchRequestResponse_ApprovedSchema: MessageCodec = pb("agent.v1.WebFetchRequestResponse_Approved", [ ]); /** Cursor agent message agent.v1.WebFetchRequestResponse_Rejected. */ export interface WebFetchRequestResponse_Rejected extends ProtoMessage { reason: string; } export const WebFetchRequestResponse_RejectedSchema: MessageCodec = pb("agent.v1.WebFetchRequestResponse_Rejected", [ { no: 1, name: "reason", kind: "string" }, ]); /** Cursor agent message agent.v1.WebSearchArgs. */ export interface WebSearchArgs extends ProtoMessage { searchTerm: string; toolCallId: string; } export const WebSearchArgsSchema: MessageCodec = pb("agent.v1.WebSearchArgs", [ { no: 1, name: "searchTerm", kind: "string" }, { no: 2, name: "toolCallId", kind: "string" }, ]); /** Cursor agent message agent.v1.WebSearchError. */ export interface WebSearchError extends ProtoMessage { error: string; } export const WebSearchErrorSchema: MessageCodec = pb("agent.v1.WebSearchError", [ { no: 1, name: "error", kind: "string" }, ]); /** Cursor agent message agent.v1.WebSearchReference. */ export interface WebSearchReference extends ProtoMessage { title: string; url: string; chunk: string; } export const WebSearchReferenceSchema: MessageCodec = pb("agent.v1.WebSearchReference", [ { no: 1, name: "title", kind: "string" }, { no: 2, name: "url", kind: "string" }, { no: 3, name: "chunk", kind: "string" }, ]); /** Cursor agent message agent.v1.WebSearchRejected. */ export interface WebSearchRejected extends ProtoMessage { reason: string; } export const WebSearchRejectedSchema: MessageCodec = pb("agent.v1.WebSearchRejected", [ { no: 1, name: "reason", kind: "string" }, ]); /** Cursor agent message agent.v1.WebSearchRequestQuery. */ export interface WebSearchRequestQuery extends ProtoMessage { args?: WebSearchArgs; } export const WebSearchRequestQuerySchema: MessageCodec = pb("agent.v1.WebSearchRequestQuery", [ { no: 1, name: "args", kind: "message", T: () => WebSearchArgsSchema }, ]); /** Cursor agent message agent.v1.WebSearchRequestResponse. */ export interface WebSearchRequestResponse extends ProtoMessage { result: | { case: undefined; value?: undefined } | { case: "approved"; value: WebSearchRequestResponse_Approved } | { case: "rejected"; value: WebSearchRequestResponse_Rejected }; } export const WebSearchRequestResponseSchema: MessageCodec = pb("agent.v1.WebSearchRequestResponse", [ { kind: "oneof", name: "result", variants: [ { no: 1, name: "approved", kind: "message", T: () => WebSearchRequestResponse_ApprovedSchema }, { no: 2, name: "rejected", kind: "message", T: () => WebSearchRequestResponse_RejectedSchema }, ], }, ]); /** Cursor agent message agent.v1.WebSearchRequestResponse_Approved. */ export interface WebSearchRequestResponse_Approved extends ProtoMessage { } export const WebSearchRequestResponse_ApprovedSchema: MessageCodec = pb("agent.v1.WebSearchRequestResponse_Approved", [ ]); /** Cursor agent message agent.v1.WebSearchRequestResponse_Rejected. */ export interface WebSearchRequestResponse_Rejected extends ProtoMessage { reason: string; } export const WebSearchRequestResponse_RejectedSchema: MessageCodec = pb("agent.v1.WebSearchRequestResponse_Rejected", [ { no: 1, name: "reason", kind: "string" }, ]); /** Cursor agent message agent.v1.WebSearchResult. */ export interface WebSearchResult extends ProtoMessage { result: | { case: undefined; value?: undefined } | { case: "success"; value: WebSearchSuccess } | { case: "error"; value: WebSearchError } | { case: "rejected"; value: WebSearchRejected }; } export const WebSearchResultSchema: MessageCodec = pb("agent.v1.WebSearchResult", [ { kind: "oneof", name: "result", variants: [ { no: 1, name: "success", kind: "message", T: () => WebSearchSuccessSchema }, { no: 2, name: "error", kind: "message", T: () => WebSearchErrorSchema }, { no: 3, name: "rejected", kind: "message", T: () => WebSearchRejectedSchema }, ], }, ]); /** Cursor agent message agent.v1.WebSearchSuccess. */ export interface WebSearchSuccess extends ProtoMessage { references: WebSearchReference[]; } export const WebSearchSuccessSchema: MessageCodec = pb("agent.v1.WebSearchSuccess", [ { no: 1, name: "references", kind: "message", T: () => WebSearchReferenceSchema, repeat: true }, ]); /** Cursor agent message agent.v1.WebSearchToolCall. */ export interface WebSearchToolCall extends ProtoMessage { args?: WebSearchArgs; result?: WebSearchResult; } export const WebSearchToolCallSchema: MessageCodec = pb("agent.v1.WebSearchToolCall", [ { no: 1, name: "args", kind: "message", T: () => WebSearchArgsSchema }, { no: 2, name: "result", kind: "message", T: () => WebSearchResultSchema }, ]); /** Cursor agent message agent.v1.WriteArgs. */ export interface WriteArgs extends ProtoMessage { path: string; fileText: string; toolCallId: string; returnFileContentAfterWrite: boolean; fileBytes: Uint8Array; encodingHint?: string; } export const WriteArgsSchema: MessageCodec = pb("agent.v1.WriteArgs", [ { no: 1, name: "path", kind: "string" }, { no: 2, name: "fileText", kind: "string" }, { no: 3, name: "toolCallId", kind: "string" }, { no: 4, name: "returnFileContentAfterWrite", kind: "bool" }, { no: 5, name: "fileBytes", kind: "bytes" }, { no: 6, name: "encodingHint", kind: "string", optional: true }, ]); /** Cursor agent message agent.v1.WriteError. */ export interface WriteError extends ProtoMessage { path: string; error: string; } export const WriteErrorSchema: MessageCodec = pb("agent.v1.WriteError", [ { no: 1, name: "path", kind: "string" }, { no: 2, name: "error", kind: "string" }, ]); /** Cursor agent message agent.v1.WriteNoSpace. */ export interface WriteNoSpace extends ProtoMessage { path: string; } export const WriteNoSpaceSchema: MessageCodec = pb("agent.v1.WriteNoSpace", [ { no: 1, name: "path", kind: "string" }, ]); /** Cursor agent message agent.v1.WritePermissionDenied. */ export interface WritePermissionDenied extends ProtoMessage { path: string; directory: string; operation: string; error: string; isReadonly: boolean; } export const WritePermissionDeniedSchema: MessageCodec = pb("agent.v1.WritePermissionDenied", [ { no: 1, name: "path", kind: "string" }, { no: 2, name: "directory", kind: "string" }, { no: 3, name: "operation", kind: "string" }, { no: 4, name: "error", kind: "string" }, { no: 5, name: "isReadonly", kind: "bool" }, ]); /** Cursor agent message agent.v1.WriteRejected. */ export interface WriteRejected extends ProtoMessage { path: string; reason: string; } export const WriteRejectedSchema: MessageCodec = pb("agent.v1.WriteRejected", [ { no: 1, name: "path", kind: "string" }, { no: 2, name: "reason", kind: "string" }, ]); /** Cursor agent message agent.v1.WriteResult. */ export interface WriteResult extends ProtoMessage { result: | { case: undefined; value?: undefined } | { case: "success"; value: WriteSuccess } | { case: "permissionDenied"; value: WritePermissionDenied } | { case: "noSpace"; value: WriteNoSpace } | { case: "error"; value: WriteError } | { case: "rejected"; value: WriteRejected }; } export const WriteResultSchema: MessageCodec = pb("agent.v1.WriteResult", [ { kind: "oneof", name: "result", variants: [ { no: 1, name: "success", kind: "message", T: () => WriteSuccessSchema }, { no: 3, name: "permissionDenied", kind: "message", T: () => WritePermissionDeniedSchema }, { no: 4, name: "noSpace", kind: "message", T: () => WriteNoSpaceSchema }, { no: 5, name: "error", kind: "message", T: () => WriteErrorSchema }, { no: 6, name: "rejected", kind: "message", T: () => WriteRejectedSchema }, ], }, ]); /** Cursor agent message agent.v1.WriteShellStdinArgs. */ export interface WriteShellStdinArgs extends ProtoMessage { shellId: number; chars: string; } export const WriteShellStdinArgsSchema: MessageCodec = pb("agent.v1.WriteShellStdinArgs", [ { no: 1, name: "shellId", kind: "uint32" }, { no: 2, name: "chars", kind: "string" }, ]); /** Cursor agent message agent.v1.WriteShellStdinError. */ export interface WriteShellStdinError extends ProtoMessage { error: string; } export const WriteShellStdinErrorSchema: MessageCodec = pb("agent.v1.WriteShellStdinError", [ { no: 1, name: "error", kind: "string" }, ]); /** Cursor agent message agent.v1.WriteShellStdinResult. */ export interface WriteShellStdinResult extends ProtoMessage { result: | { case: undefined; value?: undefined } | { case: "success"; value: WriteShellStdinSuccess } | { case: "error"; value: WriteShellStdinError }; } export const WriteShellStdinResultSchema: MessageCodec = pb("agent.v1.WriteShellStdinResult", [ { kind: "oneof", name: "result", variants: [ { no: 1, name: "success", kind: "message", T: () => WriteShellStdinSuccessSchema }, { no: 2, name: "error", kind: "message", T: () => WriteShellStdinErrorSchema }, ], }, ]); /** Cursor agent message agent.v1.WriteShellStdinSuccess. */ export interface WriteShellStdinSuccess extends ProtoMessage { shellId: number; terminalFileLengthBeforeInputWritten: number; } export const WriteShellStdinSuccessSchema: MessageCodec = pb("agent.v1.WriteShellStdinSuccess", [ { no: 1, name: "shellId", kind: "uint32" }, { no: 2, name: "terminalFileLengthBeforeInputWritten", kind: "uint32" }, ]); /** Cursor agent message agent.v1.WriteShellStdinToolCall. */ export interface WriteShellStdinToolCall extends ProtoMessage { args?: WriteShellStdinArgs; result?: WriteShellStdinResult; } export const WriteShellStdinToolCallSchema: MessageCodec = pb("agent.v1.WriteShellStdinToolCall", [ { no: 1, name: "args", kind: "message", T: () => WriteShellStdinArgsSchema }, { no: 2, name: "result", kind: "message", T: () => WriteShellStdinResultSchema }, ]); /** Cursor agent message agent.v1.WriteSuccess. */ export interface WriteSuccess extends ProtoMessage { path: string; linesCreated: number; fileSize: number; fileContentAfterWrite?: string; } export const WriteSuccessSchema: MessageCodec = pb("agent.v1.WriteSuccess", [ { no: 1, name: "path", kind: "string" }, { no: 2, name: "linesCreated", kind: "int32" }, { no: 3, name: "fileSize", kind: "int32" }, { no: 4, name: "fileContentAfterWrite", kind: "string", optional: true }, ]);