Files
zerogravity/docs/ls-binary-analysis.md

47 KiB
Raw Permalink Blame History

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 (M0M50)

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 (M0M6, M9M11, M13M17, M19M25, M27M50) 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
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
10131050 MODEL_PLACEHOLDER_M13M50

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