# 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 ### 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 --- ## 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 |