Skip to content

feat(server): add Antigravity provider - #8050

Open
carterwsmith wants to merge 7 commits into
pingdotgg:mainfrom
carterwsmith:feat/antigravity-provider
Open

feat(server): add Antigravity provider#8050
carterwsmith wants to merge 7 commits into
pingdotgg:mainfrom
carterwsmith:feat/antigravity-provider

Conversation

@carterwsmith

@carterwsmith carterwsmith commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

What Changed

Adds Google Antigravity (agy) as a supported provider.

  • Supports authenticated, resumable Antigravity chat sessions
  • Discovers available models through agy models
  • Adds provider status, authentication detection, settings, icons, and documentation
  • Integrates Antigravity text generation for titles, commits, branches, and PRs

Why

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

  • This PR is small and focused
  • I explained what changed and why
  • I included before/after screenshots for any UI changes
  • I included a video for animation/interaction changes

Note

Medium Risk
New CLI driver that spawns agy (including --dangerously-skip-permissions in 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) uses agy -p --json-schema.

Gemini -low/-medium/-high variants 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 mobile

  • Introduces a full-stack agy provider: driver, adapter, text-generation, health-check/model-discovery probe, settings schema, and provider registry entry. The default model is gemini-3.7-flash-high.
  • Server-side text generation spawns the agy CLI 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.
  • Model catalog parsing groups -low/-medium/-high reasoning variants into a single canonical model with a selectable reasoningEffort option. Non-Gemini slugs are flagged as legacy.
  • Web UI adds provider selection, settings card, inline SVG icon, and a canonical cross-driver sort order. Mobile adds a matching icon.
  • Risk: sortProviderInstanceEntries in providerInstances.ts now orders by BUILT_IN_PROVIDER_ORDER instead of preserving server cross-driver order; unknown kinds fall back to first-seen. getAppModelOptions/getAppModelOptionsForInstance in modelSelection.ts now use getVisibleProviderModels and getBuiltInProviderModelSlugs, so grouped variant slugs are hidden from selection and treated as built-in for custom-model de-duplication.

Macroscope summarized 62b624b.

@coderabbitai

coderabbitai Bot commented Aug 24, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: d9c7e1f5-6f60-4b49-a2f1-6b0cbb077128

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added vouch:unvouched PR author is not yet trusted in the VOUCHED list. size:XXL 1,000+ changed lines (additions + deletions). labels Aug 24, 2026

@macroscopeapp macroscopeapp Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Comment thread apps/web/src/components/Icons.tsx Outdated
Comment thread apps/server/src/provider/Layers/AgyAdapter.ts
Comment thread packages/contracts/src/settings.ts

@macroscopeapp macroscopeapp Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Comment thread apps/server/src/provider/Drivers/AgyDriver.ts Outdated
Comment thread apps/server/src/textGeneration/AgyTextGeneration.ts Outdated
@carterwsmith carterwsmith changed the title feat: add Antigravity provider feat(web): add Antigravity provider Aug 24, 2026
Comment thread apps/server/src/provider/Layers/AgyAdapter.ts
Comment thread apps/web/src/components/Icons.tsx Outdated
@macroscopeapp

macroscopeapp Bot commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: 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:

  • No code objects were reviewed. Approvability was decided on eligibility alone.

You can add or adjust custom eligibility rules. Learn more.

Comment thread apps/server/src/provider/Layers/AgyAdapter.ts
Comment thread apps/server/src/provider/Layers/AgyAdapter.ts Outdated

@cursor cursor Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.

Fix All in Cursor

❌ 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.

Comment thread apps/server/src/provider/Layers/AgyAdapter.ts Outdated

@macroscopeapp macroscopeapp Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Comment thread apps/web/src/providerInstances.ts Outdated
Comment thread apps/server/src/provider/Layers/AgyAdapter.ts

@macroscopeapp macroscopeapp Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Comment thread apps/web/src/components/settings/ProviderInstanceCard.tsx
@carterwsmith carterwsmith changed the title feat(web): add Antigravity provider feat(server): add Antigravity provider Aug 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XXL 1,000+ changed lines (additions + deletions). vouch:unvouched PR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant