feat(server): add Antigravity provider - #8050
Conversation
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
One finding in apps/web/src/components/Icons.tsx: the new AntigravityIcon hardcodes a white fill and drops the className merge that every other brand provider icon in this module uses, so it is invisible in light theme and cannot be recolored by consumers.
Posted via Macroscope — UI Consistency
There was a problem hiding this comment.
Reviewed the new Antigravity Effect code (AgyDriver, AgyAdapter, AgyProvider, AgyTextGeneration) against the Effect service conventions. Service acquisition, Effect.fn-based make functions, subpath namespace imports, and the snapshot probe error handling (static messages plus stdoutLength/errorTag log annotations) all look consistent with the conventions. Two error-modeling issues below.
Posted via Macroscope — Effect Service Conventions
ApprovabilityVerdict: Not approved Macroscope's review found this PR not approvable — This is a substantial full-stack feature that adds a new provider, authenticated CLI session handling, model discovery, text-generation workflows, and default-enabled process execution. The new runtime and permission surfaces are materially broader than a small isolated change. Notes:
You can add or adjust custom eligibility rules. Learn more. |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 7140ac6. Configure here.
There was a problem hiding this comment.
Reviewed the web-side Antigravity wiring (Icons.tsx, providerIconUtils.ts, providerDriverMeta.ts, session-logic.ts, providerModels.ts, modelSelection.ts, providerInstances.ts, ProviderInstanceCard.tsx).
The icon theming issue flagged on the previous revision is resolved: AntigravityIcon now merges className and uses cn("fill-black dark:fill-white", className), matching OpenAI/GrokIcon/CursorIcon/GithubCopilotIcon, so call-site classes and dark mode work as expected. All three provider registration points (icon map, settings driver definitions, picker options) were updated consistently, and the grouped-model helpers in providerModels.ts are no-ops for non-agy drivers, so existing pickers are unchanged.
One non-blocking note on the new cross-driver ordering in providerInstances.ts.
Posted via Macroscope — UI Consistency
There was a problem hiding this comment.
One finding on the Antigravity model-grouping change in the settings card: grouped effort variants are filtered out of the displayed custom-model list, but the add path still accepts and persists them, so the "Add model" action becomes a silent no-op with no way to remove the saved slug.
Posted via Macroscope — UI Consistency

What Changed
Adds Google Antigravity (
agy) as a supported provider.agy modelsWhy
Google models are not as useless as Theo says
UI Changes
Model selector

Settings panel

Simple demo video
https://github.com/user-attachments/assets/ef25edc7-289b-4608-b750-94b2bdb307c5
Checklist
Note
Medium Risk
New CLI driver that spawns
agy(including--dangerously-skip-permissionsin full-access) and is enabled by default. Follows existing provider patterns but expands process/auth surface.Overview
Adds Google Antigravity (
agy) as a built-in provider across server, web, mobile, contracts, and docs.The server driver probes
agy --version/agy models, streams NDJSON sessions, resumes via conversation ID, maps plan vs accept-edits and sandbox vs skip-permissions, and supports in-session model/effort switches by restarting the CLI. Text generation (titles, commits, branches, PRs) usesagy -p --json-schema.Gemini
-low/-medium/-highvariants are collapsed into one picker row with a Reasoning option. Settings (binaryPath,launchArgs) default enabled. UI/icons, provider order, and install docs are updated accordingly.Reviewed by Cursor Bugbot for commit 62b624b. Bugbot is set up for automated code reviews on this repo. Configure here.
Note
Add Antigravity (
agy) provider across server, web, and mobileagyprovider: driver, adapter, text-generation, health-check/model-discovery probe, settings schema, and provider registry entry. The default model isgemini-3.7-flash-high.agyCLI with JSON-schema-constrained I/O and a 180s timeout; commit messages, PR content, branch names, and thread titles are decoded from the CLI's structured output and sanitized.-low/-medium/-highreasoning variants into a single canonical model with a selectablereasoningEffortoption. Non-Gemini slugs are flagged as legacy.sortProviderInstanceEntriesin providerInstances.ts now orders byBUILT_IN_PROVIDER_ORDERinstead of preserving server cross-driver order; unknown kinds fall back to first-seen.getAppModelOptions/getAppModelOptionsForInstancein modelSelection.ts now usegetVisibleProviderModelsandgetBuiltInProviderModelSlugs, so grouped variant slugs are hidden from selection and treated as built-in for custom-model de-duplication.Macroscope summarized 62b624b.