835 lines
26 KiB
Markdown
835 lines
26 KiB
Markdown
# 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.
|
||
|
||
<details>
|
||
<summary>Full method list (click to expand)</summary>
|
||
|
||
```
|
||
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
|
||
```
|
||
|
||
</details>
|
||
|
||
**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.
|
||
|
||
<details>
|
||
<summary>Full method list (click to expand)</summary>
|
||
|
||
```
|
||
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
|
||
```
|
||
|
||
</details>
|
||
|
||
**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.
|
||
|
||
<details>
|
||
<summary>Full method list (click to expand)</summary>
|
||
|
||
```
|
||
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
|
||
```
|
||
|
||
</details>
|
||
|
||
**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 |
|