# LS Binary Analysis — Reverse Engineering Notes Source: `strings` analysis of `/usr/share/antigravity/resources/app/extensions/antigravity/bin/language_server_linux_x64` --- ## Model IDs (All Known) ### Placeholder Models (M0–M50) 51 placeholder model slots (`MODEL_PLACEHOLDER_M0` through `MODEL_PLACEHOLDER_M50`). **Known mappings** (confirmed via traffic analysis): | Placeholder | Model | | ----------------------- | ------------------- | | `MODEL_PLACEHOLDER_M7` | Gemini 3 Pro (Low) | | `MODEL_PLACEHOLDER_M8` | Gemini 3 Pro (High) | | `MODEL_PLACEHOLDER_M12` | Claude Opus 4.5 | | `MODEL_PLACEHOLDER_M18` | Gemini 3 Flash | | `MODEL_PLACEHOLDER_M26` | Claude Opus 4.6 | Remaining placeholders (M0–M6, M9–M11, M13–M17, M19–M25, M27–M50) are unmapped — likely reserved for future models or A/B test variants. ### Claude Models | Model ID | Notes | | --------------------------------------------------- | ------------------ | | `MODEL_CLAUDE_3_HAIKU_20240307` | Legacy | | `MODEL_CLAUDE_3_SONNET_20240229` | Legacy | | `MODEL_CLAUDE_3_OPUS_20240229` | Legacy | | `MODEL_CLAUDE_3_5_HAIKU_20241022` | | | `MODEL_CLAUDE_3_5_SONNET_20240620` | | | `MODEL_CLAUDE_3_5_SONNET_20241022` | | | `MODEL_CLAUDE_3_5_SONNET_BYOK` | Bring Your Own Key | | `MODEL_CLAUDE_3_7_SONNET_20250219` | | | `MODEL_CLAUDE_3_7_SONNET_20250219_THINKING` | Extended thinking | | `MODEL_CLAUDE_3_7_SONNET_BYOK` | BYOK | | `MODEL_CLAUDE_3_7_SONNET_OPEN_ROUTER_BYOK` | OpenRouter BYOK | | `MODEL_CLAUDE_3_7_SONNET_THINKING_BYOK` | BYOK + thinking | | `MODEL_CLAUDE_3_7_SONNET_THINKING_OPEN_ROUTER_BYOK` | OpenRouter BYOK | | `MODEL_CLAUDE_4_SONNET` | Claude 4 Sonnet | | `MODEL_CLAUDE_4_SONNET_THINKING` | + thinking | | `MODEL_CLAUDE_4_SONNET_BYOK` | BYOK | | `MODEL_CLAUDE_4_SONNET_DATABRICKS` | Databricks hosted | | `MODEL_CLAUDE_4_SONNET_THINKING_DATABRICKS` | Databricks + think | | `MODEL_CLAUDE_4_SONNET_OPEN_ROUTER_BYOK` | OpenRouter BYOK | | `MODEL_CLAUDE_4_SONNET_THINKING_OPEN_ROUTER_BYOK` | OpenRouter BYOK | | `MODEL_CLAUDE_4_SONNET_THINKING_BYOK` | BYOK + thinking | | `MODEL_CLAUDE_4_OPUS` | Claude 4 Opus | | `MODEL_CLAUDE_4_OPUS_THINKING` | + thinking | | `MODEL_CLAUDE_4_OPUS_BYOK` | BYOK | | `MODEL_CLAUDE_4_OPUS_THINKING_BYOK` | BYOK + thinking | | `MODEL_CLAUDE_4_5_SONNET` | Claude 4.5 Sonnet | | `MODEL_CLAUDE_4_5_SONNET_THINKING` | + thinking | | `MODEL_CLAUDE_4_5_HAIKU` | Claude 4.5 Haiku | | `MODEL_CLAUDE_4_5_HAIKU_THINKING` | + thinking | ### Google Models | Model ID | Notes | | ------------------------------------------------------ | ----------------------- | | `MODEL_GOOGLE_GEMINI_1_0_PRO` | Legacy | | `MODEL_GOOGLE_GEMINI_1_5_PRO` | Legacy | | `MODEL_GOOGLE_GEMINI_2_0_FLASH` | | | `MODEL_GOOGLE_GEMINI_2_5_FLASH` | | | `MODEL_GOOGLE_GEMINI_2_5_FLASH_LITE` | | | `MODEL_GOOGLE_GEMINI_2_5_FLASH_THINKING` | | | `MODEL_GOOGLE_GEMINI_2_5_FLASH_THINKING_TOOLS` | With tool use | | `MODEL_GOOGLE_GEMINI_2_5_FLASH_IMAGE_PREVIEW` | Image input | | `MODEL_GOOGLE_GEMINI_2_5_FLASH_PREVIEW_04_17` | April preview | | `MODEL_GOOGLE_GEMINI_2_5_FLASH_PREVIEW_05_20` | May preview | | `MODEL_GOOGLE_GEMINI_2_5_FLASH_PREVIEW_05_20_THINKING` | May preview + thinking | | `MODEL_GOOGLE_GEMINI_2_5_PRO` | | | `MODEL_GOOGLE_GEMINI_2_5_PRO_EVAL` | Evaluation variant | | `MODEL_GOOGLE_GEMINI_COMPUTER_USE_EXPERIMENTAL` | Browser/computer use | | `MODEL_GOOGLE_GEMINI_EXP_1206` | December experiment | | `MODEL_GOOGLE_GEMINI_FOR_GOOGLE_2_5_PRO` | Google-internal 2.5 Pro | | `MODEL_GOOGLE_GEMINI_INTERNAL_BYOM` | Bring Your Own Model | | `MODEL_GOOGLE_GEMINI_INTERNAL_TAB_FLASH_LITE` | Tab completion model | | `MODEL_GOOGLE_GEMINI_INTERNAL_TAB_JUMP_FLASH_LITE` | Tab-jump completion | | `MODEL_GOOGLE_GEMINI_TRAINING_POLICY` | RLHF/training policy | | `MODEL_GOOGLE_TRAINING_CHECKPOINT` | Training checkpoint | | `MODEL_GOOGLE_TRAINING_JUDGE` | Evaluation judge | | **Codename models** (likely Gemini 3.x variants): | | | `MODEL_GOOGLE_GEMINI_RIFTRUNNER` | Codename | | `MODEL_GOOGLE_GEMINI_RIFTRUNNER_THINKING_HIGH` | High compute | | `MODEL_GOOGLE_GEMINI_RIFTRUNNER_THINKING_LOW` | Low compute | | `MODEL_GOOGLE_GEMINI_HORIZONDAWN` | Codename | | `MODEL_GOOGLE_GEMINI_COSMICFORGE` | Codename | | `MODEL_GOOGLE_GEMINI_INFINITYJET` | Codename | | `MODEL_GOOGLE_GEMINI_INFINITYBLOOM` | Codename | | `MODEL_GOOGLE_GEMINI_NEMOSREEF` | Codename | | `MODEL_GOOGLE_GEMINI_PUREPRISM` | Codename | | `MODEL_GOOGLE_GEMINI_ORIONFIRE` | Codename | | `MODEL_GOOGLE_GEMINI_RAINSONG` | Codename | | `MODEL_GOOGLE_GEMINI_GENTLEISLAND` | Codename | | `MODEL_GOOGLE_JARVIS_PROXY` | Jarvis proxy endpoint | | `MODEL_GOOGLE_JARVIS_V4S` | Jarvis v4s model | ### OpenAI Models | Model ID | Notes | | ---------------------------------- | ---------------- | | `MODEL_OPENAI_COMPATIBLE` | Generic compat | | `MODEL_OPENAI_GPT_OSS_120B_MEDIUM` | Open-source 120B | --- ## gRPC Services ### LanguageServerService (137+ methods) The main service running locally on the user's machine. Communicates with both the extension and the API server.
Full method list (click to expand) ``` AcceptTermsOfService AcknowledgeCascadeCodeEdit AcknowledgeCodeActionStep AddToBrowserWhitelist AddTrackedWorkspace BrowserValidateCascadeOrCancelOverlayGenerate CancelCascadeInvocation CancelCascadeSteps CaptureConsoleLogs CaptureScreenshot ConvertTrajectoryToMarkdown CopyBuiltinWorkflowToWorkspace CopyTrajectory CreateCustomizationFile CreateReplayWorkspace CreateTrajectoryShare CreateWorktree DeleteCascadeMemory DeleteCascadeTrajectory DeleteMediaArtifact DeleteQueuedUserInputStep DumpFlightRecorder DumpPprof Exit FocusUserPage ForceBackgroundResearchRefresh GenerateCommitMessage GetAgentScripts GetAllBrowserWhitelistedUrls GetAllCascadeTrajectories GetAllCustomAgentConfigs GetAllRules GetAllSkills GetAllWorkflows GetArtifactSnapshots GetAvailableCascadePlugins GetBrowserOpenConversation GetBrowserWhitelistFilePath GetCascadeMemories GetCascadeModelConfigData GetCascadeModelConfigs GetCascadeNuxes GetCascadePluginById GetCascadeTrajectory GetCascadeTrajectoryGeneratorMetadata GetCascadeTrajectorySteps GetChangelog GetCodeValidationStates GetCommandModelConfigs GetDebugDiagnostics GetMatchingContextScopeItems GetMcpServerStates GetMcpServerTemplates GetModelResponse GetModelStatuses GetPatchAndCodeChange GetProfileData GetRepoInfos GetRevertPreview GetRevisionArtifact GetStaticExperimentStatus GetStatus GetTeamOrganizationalControls GetTermsOfService GetTranscription GetUnleashData GetUserAnalyticsSummary GetUserMemories GetUserSettings GetUserStatus GetUserTrajectory GetUserTrajectoryDebug GetUserTrajectoryDescriptions GetWebDocsOptions GetWorkingDirectories GetWorkspaceEditState GetWorkspaceInfos HandleCascadeUserInteraction HandleScreenRecording HandleStreamingCommand Heartbeat ImportFromCursor InitializeCascadePanelState InstallCascadePlugin ListMcpResources ListPages LoadReplayConversation LoadTrajectory MigrateApiKey OpenUrl ProvideCompletionFeedback RecordAnalyticsEvent RecordChatFeedback RecordChatPanelSession RecordCommitMessageSave RecordEvent RecordInteractiveCascadeFeedback RecordLints RecordSearchDocOpen RecordSearchResultsView RecordUserGrep RecordUserStepSnapshot RefreshContextForIdeAction RefreshMcpServers RegisterGdmUser RemoveTrackedWorkspace ReplayGroundTruthTrajectory ResetOnboarding ResolveOutstandingSteps RevertToCascadeStep SaveMediaAsArtifact SaveScreenRecording SendActionToChatPanel SendAllQueuedMessages SendUserCascadeMessage SetBaseExperiments SetBrowserOpenConversation SetUserSettings SetWorkingDirectories SetupUniversitySandbox ShouldEnableUnleash SignalExecutableIdle SimulateSegFault SkipOnboarding SmartFocusConversation SmartOpenBrowser StartCascade StartScreenRecording StatUri StreamCascadePanelReactiveUpdates StreamCascadeReactiveUpdates StreamCascadeSummariesReactiveUpdates StreamTerminalShellCommand StreamUserTrajectoryReactiveUpdates UpdateCascadeMemory UpdateConversationAnnotations UpdateDevExperiments UpdateEnterpriseExperimentsFromUrl UpdatePRForWorktree WellSupportedLanguages ```
**Notable new findings:** - `StreamCascadeReactiveUpdates` — server-sent streaming RPC for real-time cascade updates (alternative to our current polling approach) - `GetUnleashData` — direct access to feature flag data - `GetUserMemories` — persistent memory system - `DumpFlightRecorder` / `DumpPprof` — debug/profiling endpoints - `SimulateSegFault` — intentional crash trigger (testing?) - `ImportFromCursor` — competitive migration tool - `GetAllRules` / `GetAllWorkflows` / `GetAllSkills` — customization system - `StreamTerminalShellCommand` — streaming terminal execution - `HandleScreenRecording` / `CaptureScreenshot` — browser automation - `CreateWorktree` / `UpdatePRForWorktree` — git worktree integration - `ListMcpResources` / `RefreshMcpServers` — MCP tool integration ### ApiServerService (87+ methods) Cloud-hosted API server. LS communicates with this for analytics, model config, and remote operations.
Full method list (click to expand) ``` ApplyTrajectoryHeuristics BatchRecordChatRequestRecords BatchRecordCompletions BatchRecordPrompts BatchRecordUserLastUpdateTimes CheckHybridDeploymentStatus ContactForm CreateHybridDeploymentInternal CreateTrajectoryShare DeleteAllowlist DeleteOidcProvider DeleteTeamOrganizationalControls DeleteTrajectoryShare ExchangeOidcCode FetchTrajectoryShare FetchTrajectoryShareByUser GenerateSyntheticRule GetAllOidcProviders GetAllowlist GetCascadeModelConfigs GetCascadeNuxes GetChatMessage GetCommandModelConfigs GetCompletionExamples GetDefaultWorkflowTemplates GetDeploymentConfig GetEmbeddings GetExtensionStats GetHybridDeploymentsInternal GetImageGeneration GetMQuery GetMcpServerTemplates GetModelInfos GetModelStatuses GetOidcAuthorizationUrl GetStatus GetStreamingExternalChatCompletions GetStreamingModelAPITextCompletion GetTeamOidcProviders GetTeamOrganizationalControls GetTeamOrganizationalControlsForSite GetTranscription GetUnleashContextFields GetUserAllowlist GetWebDocsOptions GetWebSearchRedirect GetWebSearchResults InsertAllowlist IsConversationSharingBlocked JoinWaitlist LogChatHybrid LogCompletionsHybrid LogFeedbackHybrid PingGemini ProvideFeedback RecordAsyncTelemetry RecordCascadeUsage RecordChatFeedback RecordChatModelNodeRun RecordChatPanelSession RecordChatSuccessfully RecordCodeTrackerUpdates RecordCommandUsage RecordCommitMessageGeneration RecordCommitMessageSave RecordCompletionExample RecordCompletions RecordContextRefresh RecordContextToPrompt RecordCortexCodingPlan RecordCortexCodingStep RecordCortexCodingStepFeedback RecordCortexError RecordCortexExecutionMetadata RecordCortexFeedback RecordCortexGeneratorMetadata RecordCortexStep RecordCortexTrajectory RecordCortexTrajectoryStep RecordDebounce RecordEvent RecordFullTrajectoryAnalytics RecordGitTelemetry RecordMQuery RecordNewCortexPlan RecordOpportunities RecordPinnedContext RecordProfilingData RecordReadUrlContent RecordSearch RecordSearchDocOpen RecordSearchResults RecordSearchResultsView RecordStateInitializationData RecordTrajectorySegmentAnalytics RecordTrajectorySegmentEvents RefreshOidcToken RegisterHybridDeployment RegisterOidcProvider RemoveHybridDeploymentInternal RunCodeAlignment SendReferralEmail StreamingTest Subscribe SubscribeToBlog SupportsRemoteIndexing UnsubscribeFromEmails UploadErrorTraces UpsertDeploymentConfig UpsertTeamOrganizationalControls UpsertTeamOrganizationalControlsForSite ValidateEmail ValidateRegistrationCode WhoAmI ```
**Notable:** - `GetStreamingExternalChatCompletions` — streaming chat API - `GetStreamingModelAPITextCompletion` — streaming text completion - `GetImageGeneration` — image generation capability - `GetMQuery` / `RecordMQuery` — unknown "MQuery" system - `GetEmbeddings` — embedding generation - `PingGemini` — health check for Gemini - `RecordCascadeUsage` — usage reporting (our MITM target!) - `RunCodeAlignment` — code alignment/formatting service - `GetWebSearchResults` — web search integration ### ExtensionServerService (53+ methods) Extension-side service that the LS calls back into for IDE operations.
Full method list (click to expand) ``` AddAnnotation BroadcastConversationDeletion CheckTerminalShellSupport EndAudioRecording ExecuteCommand FetchMCPAuthToken FindAllReferences FocusIDEWindow GetBrowserOnboardingPort GetChromeDevtoolsMcpUrl GetCurrentAudioRecording GetDefinition GetLintErrors GetSecretValue HandleAsyncPostMessage HandleProposeCodeExtensionVerification InsertCodeAtCursor IsAgentManagerEnabled LanguageServerStarted LaunchBrowser LogEvent OpenAntigravityRulesFile OpenConfigurePluginsPage OpenConversationWorkspaceQuickPick OpenDiffZones OpenExternalUrl OpenFilePointer OpenPluginConfigModal OpenPluginPage OpenSetting OpenTerminal OpenVirtualFile PlaySound PushUnifiedStateSyncUpdate ReadTerminal RecordErrorDelta RemoveAnnotation RestartUserStatusUpdater RunExtensionCode SaveDocument SendTerminalInput ShowAnnotation ShowConversationPicker ShowTerminal SmartFocusConversation StartAudioRecording StoreSecretValue SubscribeToUnifiedStateSyncTopic TerminalResearchResult TerminateCommand UpdateCascadeTrajectorySummaries UpdateDetailedViewWithCascadeInputPath WriteCascadeEdit ```
**Notable:** - `FetchMCPAuthToken` — the extension handles MCP auth token fetching - `GetChromeDevtoolsMcpUrl` — Chrome DevTools MCP integration - `RunExtensionCode` — the LS can execute arbitrary extension code - `StartAudioRecording` / `EndAudioRecording` — audio input support - `PlaySound` — audio output - `LaunchBrowser` — browser automation trigger - `StoreSecretValue` / `GetSecretValue` — secret management ### SeatManagementService (97+ methods) Team/organization management. Handles licensing, seats, credits. **Notable methods:** - `AddExtraFlexCreditsInternal` — credit topup - `GetCascadeAnalytics` — usage analytics - `GetPlanStatus` — subscription status - `GetTeamCreditEntries` — credit ledger - `GetTeamSettings` / `UpdateTeamConfig` — team configuration - `GetWrapped` — Spotify-wrapped style usage summary - `UpdateCascadeWebSearchEnabled` — toggle web search - `SetUserApiProviderKey` — BYOK key management ### AnalyticsService (7+ methods) Separate analytics service for recording telemetry and training data. ``` BatchRecordCompletions BatchRecordPrompts RecordCommandUsage RecordCompletions RecordContextToPrompt RecordCortexTrajectory RecordCortexTrajectoryStep ``` **Notable:** Distinct from `ApiServerService.Record*` — likely a dedicated analytics pipeline. ### UserAnalyticsService (5+ methods) Per-user analytics dashboard service. ``` Analytics CascadeAnalytics GetAnalytics GetPreferredTimeZone UserPageAnalytics ``` ### KnowledgeBaseService (17+ methods) Enterprise knowledge base with multi-source ingestion. Uses OpenSearch backend. ``` AddGithubUsers AddUsers CancelKnowledgeBaseJobs ConnectKnowledgeBaseAccount DeleteKnowledgeBaseConnection ForwardSlackPayload GetConnectorInternalConfig GetKnowledgeBaseConnectorState GetKnowledgeBaseItemsFromScopeItems GetKnowledgeBaseJobStates GetKnowledgeBaseScopeItems GetKnowledgeBaseWebhookUrl IngestGithubData IngestGoogleDriveData IngestJiraData IngestJiraPayload IngestSlackData IngestSlackPayload KnowledgeBaseSearch UpdateConnectorConfig ``` **Key insight:** Supports ingesting from **GitHub**, **Google Drive**, **Jira**, and **Slack** — full enterprise knowledge integration. ### CodeIndexService (4+ methods) Code search and indexing. Uses OpenSearch for hybrid vector+keyword search. ``` GraphSearch HybridSearch OpenSearchAddRepository OpenSearchGetIndex ``` **Notable:** `GraphSearch` suggests code graph traversal, `HybridSearch` combines vector embeddings with keyword matching. ### ModelManagementService (8 methods) Self-hosted model management for hybrid deployments. ``` AddModel DeleteModel ListInferenceServers ListModels PollInferenceServerMemory StartInferenceServer StopInferenceServer UpdateInferenceServerMemory ``` ### PredictionService (~15 methods) Google AI Platform prediction service (the upstream LLM API). ``` AsyncGenerateContent CompleteCode CountTokens DirectPredict DirectRawPredict EmbedContent Explain FetchAvailableModels FetchPredictOperation GenerateContent Predict PredictLongRunning RawPredictLongRunning RawPredict RetrieveUserQuota ← quota retrieval! TestGrpcPredict ``` ### CloudCode Service (22 methods) Google internal CloudCode REST-like API at `daily-cloudcode-pa.googleapis.com`. ``` CompleteCode FetchAdminControls FetchCodeCustomizationState GenerateChat GenerateCode GetCodeAssistGlobalUserSetting InternalAtomicAgenticChat ← agentic chat endpoint! ListAgents ListCloudAICompanionProjects ListExperiments ListModelConfigs ListRemoteRepositories LoadCodeAssist MigrateDatabaseCode OnboardUser OnboardUserBackgroundTasks RecordClientEvent RecordCodeAssistMetrics RecordSmartchoicesFeedback SearchSnippets SetCodeAssistGlobalUserSetting TransformCode ``` --- ## REST Endpoints (v1internal) Discovered REST endpoints on `daily-cloudcode-pa.googleapis.com`: ``` v1internal:checkUrlDenylist v1internal:completeCode v1internal:countTokens v1internal:fetchAdminControls v1internal:fetchAvailableModels v1internal:fetchCodeCustomizationState v1internal:fetchUserInfo v1internal:generateChat v1internal:generateCode v1internal:generateContent v1internal:getCodeAssistGlobalUserSetting v1internal:internalAtomicAgenticChat v1internal:listAgents v1internal:listCloudAICompanionProjects v1internal:listExperiments v1internal:listModelConfigs v1internal:listRemoteRepositories v1internal:loadCodeAssist v1internal:logClientError v1internal:migrateDatabaseCode v1internal:onboardUser v1internal:onboardUserBackgroundTasks v1internal:recordClientEvent v1internal:recordCodeAssistMetrics v1internal:recordSmartchoicesFeedback v1internal:recordTrajectoryAnalytics v1internal:retrieveUserQuota v1internal:rewriteUri v1internal:searchSnippets v1internal:setCodeAssistGlobalUserSetting v1internal:setUserSettings v1internal:streamGenerateChat v1internal:streamGenerateContent ← main LLM API v1internal:tabChat v1internal:transformCode ``` **Key endpoints:** - `streamGenerateContent` — the main LLM streaming endpoint (confirmed via MITM) - `internalAtomicAgenticChat` — agentic chat (full tool-use loop in one call?) - `retrieveUserQuota` — quota/credits check - `listModelConfigs` — available models and configuration - `fetchAvailableModels` — model discovery - `countTokens` — tokenization - `streamGenerateChat` — streaming chat variant - `tabChat` — tab completion chat - `fetchUserInfo` — user information - `listExperiments` — A/B test experiments --- ## Proto Packages (v1internal) Internal proto packages discovered in the binary: ``` google/internal/cloud/code/v1internal/cloudcode google/internal/cloud/code/v1internal/credits google/internal/cloud/code/v1internal/jetski google/internal/cloud/code/v1internal/metrics google/internal/cloud/code/v1internal/model google/internal/cloud/code/v1internal/onboarding google/internal/cloud/code/v1internal/prediction google/internal/cloud/code/v1internal/remote ``` **Notable:** - `credits` — credit/quota system proto definitions - `jetski` — internal codename for the cascade/agent system - `prediction` — AI model prediction layer - `metrics` — telemetry/analytics --- ## Feature Flags & Configuration ### Proxy Detection ``` DETECT_AND_USE_PROXY_UNSPECIFIED (0, default — ignores proxy) DETECT_AND_USE_PROXY_ENABLED (1, honors HTTPS_PROXY) DETECT_AND_USE_PROXY_DISABLED (2, explicitly ignores proxy) ``` ### Cascade Config Keys ``` CASCADE_ENFORCE_QUOTA ← quota enforcement toggle CASCADE_BASE_MODEL_ID ← default model selection CASCADE_ENABLE_MCP_TOOLS ← MCP tool use CASCADE_ANTIGRAVITY_BROWSER_TOOLS_ENABLED CASCADE_AUTO_FIX_LINTS CASCADE_WEB_SEARCH_TOOL_ENABLED/DISABLED CASCADE_BACKGROUND_RESEARCH_CONFIG_OVERRIDE CASCADE_GLOBAL_CONFIG_OVERRIDE CASCADE_MEMORY_CONFIG_OVERRIDE CASCADE_DEFAULT_MODEL_OVERRIDE CASCADE_PLAN_BASED_CONFIG_OVERRIDE CASCADE_ENABLE_AUTOMATED_MEMORIES ``` ### Model Status ``` MODEL_STATUS_UNSPECIFIED MODEL_STATUS_INFO MODEL_STATUS_WARNING ``` ### Cortex Step Types (Complete Tool Catalog) Every tool the agent can invoke, organized by category: **File Operations:** ``` CODE_ACTION — edit/create files VIEW_FILE — read file contents VIEW_FILE_OUTLINE — view file structure VIEW_CODE_ITEM — view specific code symbol VIEW_CONTENT_CHUNK — view document chunk LIST_DIRECTORY — list directory contents FIND — find files GREP_SEARCH — search file contents CODE_SEARCH — semantic code search FIND_ALL_REFERENCES — find all references to symbol FILE_CHANGE — track file changes DELETE_DIRECTORY — delete directory MOVE — move/rename files ``` **Terminal / Commands:** ``` RUN_COMMAND — execute shell command COMMAND_STATUS — check command status SEND_COMMAND_INPUT — send input to running command READ_TERMINAL — read terminal output SHELL_EXEC — execute shell (lightweight variant) DEFINE_NEW_ENV_VARIABLE — set environment variable ``` **Browser Automation:** ``` OPEN_BROWSER_URL — navigate to URL READ_BROWSER_PAGE — read current page BROWSER_CLICK_ELEMENT — click element BROWSER_INPUT — type into element BROWSER_SELECT_OPTION — select dropdown option BROWSER_PRESS_KEY — keyboard press BROWSER_SCROLL / _UP / _DOWN — scroll page BROWSER_REFRESH_PAGE — refresh BROWSER_RESIZE_WINDOW — resize viewport BROWSER_MOVE_MOUSE — move cursor BROWSER_MOUSE_DOWN / _UP — mouse events BROWSER_MOUSE_WHEEL — scroll wheel BROWSER_DRAG_PIXEL_TO_PIXEL — drag and drop CLICK_BROWSER_PIXEL — click at pixel coordinates CAPTURE_BROWSER_SCREENSHOT — screenshot CAPTURE_BROWSER_CONSOLE_LOGS — console output BROWSER_GET_DOM — get DOM tree BROWSER_LIST_NETWORK_REQUESTS — list network requests BROWSER_GET_NETWORK_REQUEST — get specific request EXECUTE_BROWSER_JAVASCRIPT — run JS in page LIST_BROWSER_PAGES — list open pages BROWSER_SUBAGENT — spawn browser sub-agent ``` **Web & External:** ``` SEARCH_WEB — web search READ_URL_CONTENT — fetch URL READ_RESOURCE — read MCP resource LIST_RESOURCES — list MCP resources MCP_TOOL — invoke MCP tool ``` **Git & PR:** ``` GIT_COMMIT — create commit POST_PR_REVIEW — post PR review ``` **Knowledge & Memory:** ``` MEMORY — store memory RETRIEVE_MEMORY — recall memory KNOWLEDGE_GENERATION — generate knowledge item KNOWLEDGE_ARTIFACTS — manage knowledge artifacts KI_INSERTION — insert knowledge item BRAIN_UPDATE — update brain state RETRIEVE_CONTENT — retrieve stored content CONVERSATION_HISTORY — access conversation history ``` **Planning & Control Flow:** ``` PLANNER_RESPONSE — planner output PLAN_INPUT — plan step input TASK_BOUNDARY — mark task boundary CHECKPOINT — checkpoint state TRAJECTORY_CHOICE — choose trajectory branch TRAJECTORY_SEARCH — search trajectories TOOL_CALL_CHOICE — choose tool call TOOL_CALL_PROPOSAL — propose tool call PROPOSE_CODE — propose code change CODE_ACKNOWLEDGEMENT — acknowledge code change MANAGER_FEEDBACK — agent manager feedback PROPOSAL_FEEDBACK — proposal feedback CRITIQUE — self-critique step FINISH — mark completion WAIT — wait/pause ``` **Media & UI:** ``` GENERATE_IMAGE — generate image SUGGESTED_RESPONSES — suggest user responses NOTIFY_USER — notify user EPHEMERAL_MESSAGE — temporary message ERROR_MESSAGE — error display SYSTEM_MESSAGE — system message ADD_ANNOTATION — add UI annotation CLIPBOARD — clipboard access ``` **Code Quality:** ``` COMPILE — compile/build COMPILE_APPLET — compile applet LINT_DIFF — lint changes LINT_APPLET — lint applet FINDINGS — code findings ``` **Workspace & Deployment:** ``` WORKSPACE_API — workspace operations RESTART_DEV_SERVER — restart dev server SET_UP_FIREBASE — Firebase setup DEPLOY_FIREBASE — Firebase deployment INSTALL_APPLET_DEPENDENCIES — install deps INSTALL_APPLET_PACKAGE — install package RUN_EXTENSION_CODE — run VS Code extension code ``` **Google-Internal (corp only):** ``` INTERNAL_SEARCH — internal search (Moma?) MOMA — Google Moma system MQUERY — Google MQuery BLAZE_BUILD_TARGETS — Blaze build BLAZE_TEST_TARGETS — Blaze test BUILD_CLEANER — build cleaning CIDER_AGENT_DUMMY — Cider agent placeholder AGENCY_TOOL_CALL — agency tool ``` ### Cortex Generation Types ``` CORTEX_GENERATION_TYPE_CCI_RESEARCH CORTEX_GENERATION_TYPE_DYNAMIC_TRAJECTORY CORTEX_GENERATION_TYPE_FILE_RESEARCH CORTEX_GENERATION_TYPE_GRAPH CORTEX_GENERATION_TYPE_GROUNDTRUTH CORTEX_GENERATION_TYPE_INFORM CORTEX_GENERATION_TYPE_MASKED_GROUND_TRUTH_TRAJECTORY CORTEX_GENERATION_TYPE_REAPPLY_GROUND_TRUTH CORTEX_GENERATION_TYPE_STATIC_TRAJECTORY CORTEX_GENERATION_TYPE_VERIFY ``` ### Cortex Trajectory Types Different "modes" the agent can operate in: ``` CASCADE — standard cascade (user-initiated) INTERACTIVE_CASCADE — interactive cascade (multi-turn) AUTO_CASCADE — auto-triggered cascade AUTO_CASCADE_MANAGER — manages auto-cascades BACKGROUND_RESEARCH — background research thread BROWSER — browser automation trajectory DEEP_THINK — extended reasoning mode KNOWLEDGE_GENERATION — knowledge item generation APPLIER — code application trajectory BRAIN_UPDATE — brain/memory update CHECKPOINT — state checkpoint CUSTOM_TOOL — custom tool execution LLM_JUDGE — LLM-as-judge evaluation PASSIVE_CODER — passive coding assistance RETRIEVE_MEMORY — memory retrieval SUPERCOMPLETE — tab-completion trajectory TOOL_CALL_PROPOSAL — tool call proposal TRAJECTORY_CHOICE — trajectory branching USER_MAINLINE — user's main trajectory USER_GRANULAR — granular user trajectory ARTIFACT_SUMMARY — artifact summary generation ``` ### Cortex Trajectory Sources Where trajectories originate from: ``` INTERACTIVE_CASCADE — user-initiated cascade CASCADE_CLIENT — cascade client REFACTOR_FUNCTION — refactor action EXPLAIN_PROBLEM — explain/debug action PASSIVE_CODER — passive coding REPLAY — trajectory replay SDK / PYTHON_SDK — API/SDK access EVAL / EVAL_TASK — evaluation system ASYNC_CF / ASYNC_SL / ASYNC_CM / ASYNC_PRD / ASYNC_PRR — async operations ``` ## Hardcoded URLs ``` https://play.googleapis.com/log ← Clearcut telemetry https://oauth2.googleapis.com/token ← Token refresh https://oauth2.googleapis.com/device/code ← Device auth flow https://www.googleapis.com/oauth2/v2/userinfo https://docs.googleapis.com/v1/documents/ ← Google Docs integration https://iamcredentials.googleapis.com/v1/ ← Service account impersonation ``` --- ## Miscellaneous Findings - **Unleash config**: Auth key `*:production.e44558998bfc35ea9584dc65858e4485fdaa5d7ef46903e0c67712d1`, domain `antigravity-unleash.goog` - **Sentry**: Has a sample rate config (`ANTIGRAVITY_SENTRY_SAMPLE_RATE`) - **Flight recorder**: Internal debug recording system (`DumpFlightRecorder`) - **Browser extension IDs**: Several Chrome extension IDs visible (`pebbhcjfokadbgbnlmogdkkaahmamnap`, etc.) - **Cortex memory**: `CORTEX_MEMORY_SOURCE_AUTO_CASCADE` — auto-generates memories from cascades - **RLHF/Training**: `MODEL_GOOGLE_TRAINING_JUDGE`, `MODEL_GOOGLE_TRAINING_CHECKPOINT`, `MODEL_GOOGLE_GEMINI_TRAINING_POLICY` — suggests the LS participates in model training/evaluation - **Hybrid deployment**: Multiple methods for on-prem/hybrid deployments (`CheckHybridDeploymentStatus`, `CreateHybridDeploymentInternal`, etc.) - **BYOK support**: Claude and OpenAI models have BYOK variants; also open-router and databricks hosting options - **Jetski**: Internal codename for the cascade/agent system. Google-internal health check: `http://jetski-server.corp.goog/healthz` - **XboxInferenceToolRequest**: Proto message `exa.chat_pb.XboxInferenceToolRequest` — "Xbox" is a codename for their inference tool system --- ## Memory & Brain System The LS has a sophisticated memory system that persists across conversations. ### Memory Sources ``` MEMORY_SOURCE_UNSPECIFIED MEMORY_SOURCE_USER — manually created by user MEMORY_SOURCE_CASCADE — extracted from cascade conversations MEMORY_SOURCE_AUTO_CASCADE — automatically generated from cascades ``` ### Memory Triggers ``` MEMORY_TRIGGER_UNSPECIFIED MEMORY_TRIGGER_ALWAYS_ON — always active MEMORY_TRIGGER_GLOB — glob pattern match on file paths MEMORY_TRIGGER_MANUAL — only when explicitly invoked MEMORY_TRIGGER_MODEL_DECISION — model decides when to use ``` ### Memory Actions ``` MEMORY_ACTION_TYPE_UNSPECIFIED MEMORY_ACTION_TYPE_CREATE MEMORY_ACTION_TYPE_UPDATE MEMORY_ACTION_TYPE_DELETE ``` ### Brain Entry Types ``` BRAIN_ENTRY_TYPE_UNSPECIFIED BRAIN_ENTRY_TYPE_PLAN — implementation plans BRAIN_ENTRY_TYPE_TASK — task checklists ``` ### Brain Update Triggers ``` BRAIN_UPDATE_TRIGGER_UNSPECIFIED BRAIN_UPDATE_TRIGGER_USER_REQUESTED — user explicitly asks BRAIN_UPDATE_TRIGGER_USER_NEW_INFO — user provides new info BRAIN_UPDATE_TRIGGER_RESEARCH_NEW_INFO — research discovers new info BRAIN_UPDATE_TRIGGER_SYSTEM_FORCED — system-initiated update ``` ### Brain Filter Strategies ``` BRAIN_FILTER_STRATEGY_UNSPECIFIED BRAIN_FILTER_STRATEGY_NO_MEMORIES — exclude all memories BRAIN_FILTER_STRATEGY_NO_SYSTEM_INJECTED_STEPS — exclude system steps ``` --- ## Expanded Cascade Configuration Keys Full list of all cascade config keys extracted from binary (60+ keys): ### Core Behavior ``` CASCADE_ENFORCE_QUOTA — quota enforcement toggle CASCADE_BASE_MODEL_ID — default model selection CASCADE_DEFAULT_MODEL_OVERRIDE — model override CASCADE_GLOBAL_CONFIG_OVERRIDE — global cascade config CASCADE_MEMORY_CONFIG_OVERRIDE — memory subsystem config CASCADE_PLAN_BASED_CONFIG_OVERRIDE — planner config CASCADE_FREE_CONFIG_OVERRIDE — free-tier config ``` ### Tool Access ``` CASCADE_ENABLE_MCP_TOOLS — MCP tool use CASCADE_ANTIGRAVITY_BROWSER_TOOLS_ENABLED CASCADE_ENABLE_PROXY_WEB_SERVER — proxy web server CASCADE_ENABLE_IDE_TERMINAL_EXECUTION CASCADE_VIEW_FILE_TOOL_CONFIG_OVERRIDE CASCADE_USE_REPLACE_CONTENT_EDIT_TOOL ``` ### Web Search ``` CASCADE_WEB_SEARCH_TOOL_ENABLED CASCADE_WEB_SEARCH_TOOL_DISABLED CASCADE_WEB_SEARCH_TOOL_UNSPECIFIED CASCADE_WEB_APP_DEPLOYMENTS_ENABLED ``` ### Extension Code Execution ``` CASCADE_RUN_EXTENSION_CODE_ENABLED CASCADE_RUN_EXTENSION_CODE_DISABLED CASCADE_RUN_EXTENSION_CODE_ONLY CASCADE_RUN_EXTENSION_CODE_AUTO_RUN_ENABLED CASCADE_RUN_EXTENSION_CODE_AUTO_RUN_MODEL_DECIDES CASCADE_RUN_EXTENSION_CODE_AUTO_RUN_UNSPECIFIED ``` ### Command Auto-Execution Policy ``` CASCADE_COMMANDS_AUTO_EXECUTION_UNSPECIFIED CASCADE_COMMANDS_AUTO_EXECUTION_OFF — always ask CASCADE_COMMANDS_AUTO_EXECUTION_AUTO — auto-run safe commands CASCADE_COMMANDS_AUTO_EXECUTION_EAGER — auto-run most commands ``` ### Memory & Learning ``` CASCADE_ENABLE_AUTOMATED_MEMORIES — auto-generate memories CASCADE_USER_MEMORIES_IN_SYS_PROMPT CASCADE_ENABLE_CUSTOM_RECIPES CASCADE_BACKGROUND_RESEARCH_CONFIG_OVERRIDE CASCADE_USE_EXPERIMENT_CHECKPOINTER CASCADE_USE_SUBAGENT_CHECKPOINTER ``` ### Autocomplete & Input ``` CASCADE_INPUT_AUTOCOMPLETE_ENABLED CASCADE_INPUT_AUTOCOMPLETE_DISABLED CASCADE_INPUT_AUTOCOMPLETE_UNSPECIFIED CASCADE_RECIPES_AT_MENTION_VISIBILITY ``` ### Run Status ``` CASCADE_RUN_STATUS_UNSPECIFIED CASCADE_RUN_STATUS_IDLE CASCADE_RUN_STATUS_BUSY CASCADE_RUN_STATUS_RUNNING CASCADE_RUN_STATUS_CANCELING ``` ### Edit Importance (for code diffs) ``` CASCADE_EDIT_IMPORTANCE_UNSPECIFIED CASCADE_EDIT_IMPORTANCE_LOW CASCADE_EDIT_IMPORTANCE_MEDIUM CASCADE_EDIT_IMPORTANCE_HIGH ``` ### Seat Types ``` CASCADE_SEAT_TYPE_UNSPECIFIED CASCADE_SEAT_TYPE_ENTRY — entry tier CASCADE_SEAT_TYPE_STANDARD — standard tier ``` --- ## Supercomplete (Tab Completion) System The "Supercomplete" system powers multi-line tab completions, distinct from basic autocomplete. ### Trigger Conditions ``` SUPERCOMPLETE_TRIGGER_CONDITION_UNSPECIFIED SUPERCOMPLETE_TRIGGER_CONDITION_TYPING SUPERCOMPLETE_TRIGGER_CONDITION_AUTOCOMPLETE_ACCEPT SUPERCOMPLETE_TRIGGER_CONDITION_AUTOCOMPLETE_PREDICTIVE SUPERCOMPLETE_TRIGGER_CONDITION_SUPERCOMPLETE_ACCEPT SUPERCOMPLETE_TRIGGER_CONDITION_SUPERCOMPLETE_PREDICTIVE SUPERCOMPLETE_TRIGGER_CONDITION_TAB_JUMP_ACCEPT SUPERCOMPLETE_TRIGGER_CONDITION_TAB_JUMP_EDIT SUPERCOMPLETE_TRIGGER_CONDITION_TAB_JUMP_PREDICTIVE SUPERCOMPLETE_TRIGGER_CONDITION_CURSOR_LINE_NAVIGATION SUPERCOMPLETE_TRIGGER_CONDITION_FORCED ``` ### Filters ``` SUPERCOMPLETE_FILTER_PREFIX_MATCH SUPERCOMPLETE_FILTER_SUFFIX_MATCH SUPERCOMPLETE_FILTER_INSERTION_CAP SUPERCOMPLETE_FILTER_DELETION_CAP SUPERCOMPLETE_FILTER_NO_OP SUPERCOMPLETE_FILTER_REVERT SUPERCOMPLETE_FILTER_PREVIOUSLY_SHOWN SUPERCOMPLETE_FILTER_WHITESPACE_ONLY SUPERCOMPLETE_FILTER_SCORE_THRESHOLD ``` ### Config Keys ``` SUPERCOMPLETE_TEMPERATURE SUPERCOMPLETE_MODEL_CONFIG SUPERCOMPLETE_LINE_RADIUS SUPERCOMPLETE_MIN_SCORE SUPERCOMPLETE_MAX_INSERTIONS SUPERCOMPLETE_MAX_DELETIONS SUPERCOMPLETE_MAX_TRAJECTORY_STEPS SUPERCOMPLETE_MAX_TRAJECTORY_STEP_SIZE SUPERCOMPLETE_MAX_CONCURRENT_REQUESTS SUPERCOMPLETE_FAST_DEBOUNCE SUPERCOMPLETE_REGULAR_DEBOUNCE SUPERCOMPLETE_RECENT_STEPS_DURATION SUPERCOMPLETE_USE_CODE_DIAGNOSTICS SUPERCOMPLETE_CODE_DIAGNOSTICS_TOP_K SUPERCOMPLETE_DIAGNOSTIC_SEVERITY_THRESHOLD SUPERCOMPLETE_DISABLE_TYPING_CACHE SUPERCOMPLETE_DONT_FILTER_MID_STREAMED SUPERCOMPLETE_ALWAYS_USE_CACHE_ON_EQUAL_STATE SUPERCOMPLETE_CACHE_ON_PARENT_ID_KILL_SWITCH SUPERCOMPLETE_ON_ACCEPT_ONLY SUPERCOMPLETE_PRUNE_RESPONSE SUPERCOMPLETE_PRUNE_MAX_INSERT_DELETE_LINE_DELTA SUPERCOMPLETE_INLINE_PURE_DELETE SUPERCOMPLETE_INLINE_RICH_GHOST_TEXT_INSERTIONS SUPERCOMPLETE_USE_CURRENT_LINE SUPERCOMPLETE_NO_ACTIVE_NODE ``` ### Tab Jump (Cursor Navigation) ``` TAB_JUMP_ENABLED TAB_JUMP_LINE_RADIUS TAB_JUMP_CUMULATIVE_PROMPT_CONFIG TAB_JUMP_FILTER_IN_SELECTION TAB_JUMP_FILTER_INSERTION_CAP TAB_JUMP_FILTER_DELETION_CAP TAB_JUMP_FILTER_SCORE_THRESHOLD TAB_JUMP_FILTER_WHITESPACE_ONLY TAB_JUMP_FILTER_NO_OP TAB_JUMP_FILTER_REVERT TAB_JUMP_STOP_TOKEN_MIDSTREAM TAB_JUMP_ON_ACCEPT_ONLY TAB_JUMP_PRUNE_RESPONSE TAB_JUMP_PRUNE_MAX_INSERT_DELETE_LINE_DELTA TAB_JUMP_MIN_FILTER_RADIUS ``` --- ## Browser Automation Policies ### JS Execution Policy (user can control) ``` BROWSER_JS_EXECUTION_POLICY_UNSPECIFIED BROWSER_JS_EXECUTION_POLICY_ALWAYS_ASK BROWSER_JS_EXECUTION_POLICY_MODEL_DECIDES BROWSER_JS_EXECUTION_POLICY_TURBO — never ask BROWSER_JS_EXECUTION_POLICY_DISABLED ``` ### JS Auto-Run Policy (cascade-level) ``` BROWSER_JS_AUTO_RUN_POLICY_UNSPECIFIED BROWSER_JS_AUTO_RUN_POLICY_ENABLED BROWSER_JS_AUTO_RUN_POLICY_DISABLED BROWSER_JS_AUTO_RUN_POLICY_MODEL_DECIDES ``` ### Browser Subagent Mode ``` BROWSER_SUBAGENT_MODE_UNSPECIFIED BROWSER_SUBAGENT_MODE_MAIN_AGENT_ONLY BROWSER_SUBAGENT_MODE_SUBAGENT_ONLY BROWSER_SUBAGENT_MODE_SUBAGENT_PRIMARILY BROWSER_SUBAGENT_MODE_BOTH_AGENTS ``` ### Tool Set Mode (input/output level) ``` BROWSER_TOOL_SET_MODE_UNSPECIFIED BROWSER_TOOL_SET_MODE_ALL_TOOLS BROWSER_TOOL_SET_MODE_PIXEL_ONLY BROWSER_TOOL_SET_MODE_ALL_INPUT_PIXEL_OUTPUT ``` ### Ephemeral Options (what gets captured) ``` BROWSER_EPHEMERAL_OPTION_UNSPECIFIED BROWSER_EPHEMERAL_OPTION_DOM BROWSER_EPHEMERAL_OPTION_SCREENSHOT ``` ### Action Waiting Reasons ``` BROWSER_ACTION_WAITING_REASON_UNSPECIFIED BROWSER_ACTION_WAITING_REASON_PAGE_ACCESS BROWSER_ACTION_WAITING_REASON_ACTION_PERMISSION BROWSER_ACTION_WAITING_REASON_PAGE_ACCESS_AND_ACTION_PERMISSION ``` ### Installation Status ``` BROWSER_INSTALLATION_STATUS_UNSPECIFIED BROWSER_INSTALLATION_STATUS_NOT_INSTALLED BROWSER_INSTALLATION_STATUS_IN_PROGRESS BROWSER_INSTALLATION_STATUS_COMPLETE BROWSER_INSTALLATION_STATUS_ERROR ``` --- ## Sandbox System (macOS Seatbelt) The LS includes a `sandbox-wrapper.sh` that sandboxes command execution on macOS using Apple's Seatbelt framework. ### Key Behaviors - **File writes**: Denied by default, allowed only to workspace dir and `/tmp` - **Network**: Denied unless `--allow-network` flag is passed - **Gitignore**: Reads `.gitignore` and `.agyignore` to deny access to ignored files - **Process isolation**: Uses `sandbox-exec` with a generated Seatbelt profile - **Violation detection**: Detects "Operation not permitted" errors and suggests disabling sandbox ### `.agyignore` File Custom ignore file (like `.gitignore`) specifically for the sandbox. Patterns in `.agyignore` deny both read and write access within the sandbox. --- ## Trainer / RLHF Infrastructure The binary contains extensive proto definitions for model training, suggesting the LS participates in or configures training runs. ### Proto Package: `exa.trainer_pb` **Training Objectives:** ``` DPOConfig — Direct Preference Optimization KTOConfig — Kahneman-Tversky Optimization OnPolicyGRPOConfig — Group Relative Policy Optimization KnowledgeDistillationConfig PreferenceLoss — preference-based loss functions ``` **Model Architecture:** ``` BaseModelConfig EncoderDecoderModelConfig MixtureOfExpertsConfig — MoE architecture MultiLatentAttentionConfig — MLA (DeepSeek-style?) MultiTokenPredictionConfig CrossAttentionConfig SlidingWindowAttentionConfig ``` **Quantization:** ``` QuantizationConfig QuantizationMethod QuantizationPrecision QuantizationPolicy / PolicySet LinearQuantization LayerNormQuantization ``` **Training Infrastructure:** ``` OptimizerType / OptimizerExpAvgDtype CheckpointBackend (TORCH_DCP, ZARR) ParallelismConfig / LayerParallelismConfig RoPEEmbeddingConfig (Llama, DeepseekV scaling) SGLangInferenceProviderConfig MockedInferenceProviderConfig ``` **Experiment Management:** ``` ExperimentProject / ExperimentMetadata SweepAxis / SweepItem ScheduledModel / SchedulingGroupConfig DeviceWorkerRoutingInfo DraftTargetModelPair — speculative decoding? ``` ### Key Proto Packages ``` exa.cortex_pb — agent/cascade core exa.chat_pb — chat message/conversation protos exa.trainer_pb — training/RLHF exa.analytics_pb — telemetry exa.api_server_pb — cloud API server exa.seat_management_pb — user/team management exa.user_analytics_pb — user analytics exa.opensearch_clients_pb — knowledge base / code index exa.language_server_pb — LS service exa.extension_server_pb — extension server exa.model_management_pb — model management ``` --- ## MCP Integration Constants ``` MCP_SERVER_STATUS_UNSPECIFIED MCP_SERVER_STATUS_PENDING MCP_SERVER_STATUS_READY MCP_SERVER_STATUS_ERROR MCP_ADD_SERVER MCP_SAVE_CONFIG MCP_EXPAND_TOOLS MCP_TOOL MCP_RESOURCE ``` --- ## Cortex Step Statuses ``` CORTEX_STEP_STATUS_UNSPECIFIED CORTEX_STEP_STATUS_PENDING CORTEX_STEP_STATUS_QUEUED CORTEX_STEP_STATUS_GENERATING CORTEX_STEP_STATUS_RUNNING CORTEX_STEP_STATUS_WAITING CORTEX_STEP_STATUS_DONE CORTEX_STEP_STATUS_ERROR CORTEX_STEP_STATUS_CANCELED CORTEX_STEP_STATUS_CLEARED CORTEX_STEP_STATUS_HALTED CORTEX_STEP_STATUS_INTERRUPTED CORTEX_STEP_STATUS_INVALID ``` ### Step Sources ``` CORTEX_STEP_SOURCE_UNSPECIFIED CORTEX_STEP_SOURCE_MODEL — generated by LLM CORTEX_STEP_SOURCE_SYSTEM — system-generated CORTEX_STEP_SOURCE_SYSTEM_SDK — SDK-generated CORTEX_STEP_SOURCE_USER_EXPLICIT — user-initiated CORTEX_STEP_SOURCE_USER_IMPLICIT — implied by user action ``` ### Step Credit Reasons ``` CORTEX_STEP_CREDIT_REASON_UNSPECIFIED CORTEX_STEP_CREDIT_REASON_LINT_FIXING_DISCOUNT — lint fixes are discounted ``` ### Manager Feedback Status ``` CORTEX_STEP_MANAGER_FEEDBACK_STATUS_UNSPECIFIED CORTEX_STEP_MANAGER_FEEDBACK_STATUS_APPROVED CORTEX_STEP_MANAGER_FEEDBACK_STATUS_DENIED CORTEX_STEP_MANAGER_FEEDBACK_STATUS_ERROR ``` ### Error Categories ``` CORTEX_ERROR_CATEGORY_UNSPECIFIED CORTEX_ERROR_CATEGORY_OVERALL CORTEX_ERROR_CATEGORY_ACTION_PREPARE CORTEX_ERROR_CATEGORY_ACTION_APPLY ``` ### Compile Tools (Lint Integration) ``` CORTEX_STEP_COMPILE_TOOL_UNSPECIFIED CORTEX_STEP_COMPILE_TOOL_PYLINT ``` --- ## Onboarding Flow ``` ONBOARDING_PROGRESS_UNKNOWN ONBOARDING_PROGRESS_NONE ONBOARDING_PROGRESS_ELIGIBLE ONBOARDING_PROGRESS_ONBOARDED ONBOARDING_ACTION_TYPE_UNSPECIFIED ONBOARDING_ACTION_TYPE_CHAT ONBOARDING_ACTION_TYPE_AUTOCOMPLETE ONBOARDING_ACTION_TYPE_COMMAND ONBOARDING_PAGE_TYPE_UNSPECIFIED ONBOARDING_PAGE_TYPE_HOTKEY ONBOARDING_PAGE_TYPE_LENS ONBOARDING_PAGE_TYPE_SEARCH ``` **Onboarding pages discovered:** ``` ONBOARDING_LANDING_PAGE_OPENED ONBOARDING_AUTH_PAGE_OPENED ONBOARDING_AUTH_MANUAL_PAGE_OPENED ONBOARDING_CHOOSE_THEME_PAGE_OPENED ONBOARDING_KEYBINDINGS_PAGE_OPENED ONBOARDING_AGENT_CONFIG_PAGE_OPENED ONBOARDING_IMPORT_PAGE_OPENED ONBOARDING_MIGRATION_SCOPE_PAGE_OPENED ONBOARDING_SETUP_PAGE_OPENED ONBOARDING_TERMS_OF_USE_PAGE_OPENED ONBOARDING_USAGE_MODE_PAGE_OPENED ``` --- ## Protobuf Enum Numbers (from extension.js) Extracted from the compiled protobuf enum definitions in `extension.js`. These are the wire values sent in proto field 1 (model) of usage messages. ### Placeholder Models | Enum `no` | Proto Name | | --------- | ------------------------- | | 1000 | MODEL_PLACEHOLDER_M0 | | 1001 | MODEL_PLACEHOLDER_M1 | | 1002 | MODEL_PLACEHOLDER_M2 | | 1003 | MODEL_PLACEHOLDER_M3 | | 1004 | MODEL_PLACEHOLDER_M4 | | 1005 | MODEL_PLACEHOLDER_M5 | | 1006 | MODEL_PLACEHOLDER_M6 | | 1007 | MODEL_PLACEHOLDER_M7 | | 1008 | MODEL_PLACEHOLDER_M8 | | 1009 | MODEL_PLACEHOLDER_M9 | | 1010 | MODEL_PLACEHOLDER_M10 | | 1011 | MODEL_PLACEHOLDER_M11 | | 1012 | MODEL_PLACEHOLDER_M12 | | 1013–1050 | MODEL_PLACEHOLDER_M13–M50 | ### Claude Models | Enum `no` | Proto Name | | --------- | -------------------------------- | | 281 | MODEL_CLAUDE_4_SONNET | | 282 | MODEL_CLAUDE_4_SONNET_THINKING | | 290 | MODEL_CLAUDE_4_OPUS | | 291 | MODEL_CLAUDE_4_OPUS_THINKING | | 333 | MODEL_CLAUDE_4_5_SONNET | | 334 | MODEL_CLAUDE_4_5_SONNET_THINKING | | 340 | MODEL_CLAUDE_4_5_HAIKU | | 341 | MODEL_CLAUDE_4_5_HAIKU_THINKING | ### Google Models | Enum `no` | Proto Name | | --------- | ------------------------------------------------ | | 246 | MODEL_GOOGLE_GEMINI_2_5_PRO | | 312 | MODEL_GOOGLE_GEMINI_2_5_FLASH | | 313 | MODEL_GOOGLE_GEMINI_2_5_FLASH_THINKING | | 323 | MODEL_GOOGLE_GEMINI_TRAINING_POLICY | | 326 | MODEL_GOOGLE_GEMINI_INTERNAL_BYOM | | 327 | MODEL_GOOGLE_GEMINI_FOR_GOOGLE_2_5_PRO | | 328 | MODEL_GOOGLE_GEMINI_NEMOSREEF | | 329 | MODEL_GOOGLE_GEMINI_2_5_FLASH_THINKING_TOOLS | | 330 | MODEL_GOOGLE_GEMINI_2_5_FLASH_LITE | | 331 | MODEL_GOOGLE_GEMINI_2_5_PRO_EVAL | | 332 | MODEL_GOOGLE_GEMINI_2_5_FLASH_IMAGE_PREVIEW | | 335 | MODEL_GOOGLE_GEMINI_COMPUTER_USE_EXPERIMENTAL | | 336 | MODEL_GOOGLE_GEMINI_HORIZONDAWN | | 337 | MODEL_GOOGLE_GEMINI_PUREPRISM | | 338 | MODEL_GOOGLE_GEMINI_GENTLEISLAND | | 339 | MODEL_GOOGLE_GEMINI_RAINSONG | | 343 | MODEL_GOOGLE_GEMINI_ORIONFIRE | | 344 | MODEL_GOOGLE_GEMINI_INTERNAL_TAB_FLASH_LITE | | 345 | MODEL_GOOGLE_GEMINI_INTERNAL_TAB_JUMP_FLASH_LITE | | 346 | MODEL_GOOGLE_JARVIS_PROXY | | 347 | MODEL_GOOGLE_GEMINI_COSMICFORGE | | 348 | MODEL_GOOGLE_GEMINI_RIFTRUNNER | | 349 | MODEL_GOOGLE_JARVIS_V4S | | 350 | MODEL_GOOGLE_GEMINI_INFINITYJET | | 351 | MODEL_GOOGLE_GEMINI_INFINITYBLOOM | | 352 | MODEL_GOOGLE_GEMINI_RIFTRUNNER_THINKING_LOW | | 353 | MODEL_GOOGLE_GEMINI_RIFTRUNNER_THINKING_HIGH | ### OpenAI Models | Enum `no` | Proto Name | | --------- | -------------------------------- | | 342 | MODEL_OPENAI_GPT_OSS_120B_MEDIUM | ### Key Mapping Summary (for proxy constants.rs) | Our Name | Placeholder | Proto Enum | | ------------------- | ----------- | ---------- | | Gemini 3 Pro (Low) | M7 | 1007 | | Gemini 3 Pro (High) | M8 | 1008 | | Claude Opus 4.5 | M12 | 1012 | | Gemini 3 Flash | M18 | 1018 | | Claude Opus 4.6 | M26 | 1026 |