# 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 These are the internal names for the agent's tool-use steps: ``` CORTEX_STEP_TYPE_CODE_ACTION CORTEX_STEP_TYPE_COMMAND_STATUS CORTEX_STEP_TYPE_COMPILE_TOOL_PYLINT CORTEX_STEP_TYPE_GREP_SEARCH CORTEX_STEP_TYPE_RUN_COMMAND CORTEX_STEP_TYPE_VIEW_CODE_ITEM ``` ### 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 ``` --- ## 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 |