Skip to content

feat(providers): add the Antigravity setup surfaces - #440

Merged
rynfar merged 1 commit into
pylonfrom
upstream/2026-09-09-antigravity-ui
Sep 10, 2026
Merged

feat(providers): add the Antigravity setup surfaces#440
rynfar merged 1 commit into
pylonfrom
upstream/2026-09-09-antigravity-ui

Conversation

@rynfar

@rynfar rynfar commented Sep 9, 2026

Copy link
Copy Markdown
Collaborator

Antigravity has been reachable only from the server since #425. This adds the
web and mobile surfaces that let a user actually sign in and use it: a setup
section in provider settings, a mobile setup screen reachable from both
connection entry points, the provider's icon and picker entries, and user docs.

Stacked on #433, which adds the setup RPCs this UI binds to.

What changed

Web. Antigravity instances get a setup section above their runtime settings,
covering all four sign-in methods the schema declares — Google account, Gemini
Enterprise, Gemini API key, and Agent Platform. Browser methods hand off to
Google and wait for the callback; credential methods verify what is configured
in the instance settings. Antigravity joins the model picker, provider settings
list, and settings search.

Mobile. The same flow as a route, reachable from Settings → Environments and
from Connections. Antigravity's icon ships as an asset.

Docs. docs/user/providers-antigravity.md, plus the provider and install
guides.

Adopted from T3 Code

Ported manually from 06336460c9988f29c71e839c4c9c840c4552e077 (#9348).

Applying that commit directly was rejected: it predates several Pylon changes and
its diff reverts them. Replaying it conflicts in 36 files across 119 hunks, and
most of those conflicts are not about Antigravity at all — it restores
LoaderIcon over the Spinner from #426, swaps
getBackgroundTextGenerationProviders back to textGenerationProviders, returns
per-instance provider updates to per-driver, and deletes Pylon's provider
unavailable banner handling and rollbackMutationBlocked. The Antigravity
additions were extracted and applied to Pylon's current code instead.

Pylon adaptations

  • Prime survives. The upstream diff presents Pylon's Prime Agent entry as a
    deletion replaced by Antigravity in all four provider lists — icons, driver
    metadata, session provider options, and the picker. Both are present here.
  • No tabbed card. Upstream renders its setup surface inside a tabbed
    ProviderInstanceCard. Pylon's card is a flat sectioned layout, so the new
    setup slot renders above the Runtime section instead.
  • Settings patch shape. AntigravitySettingsPatch takes
    Array(CustomModelSetting) to match Pylon's custom model entries from feat: add custom model names and option descriptors #423,
    not upstream's Array(String). Without the patch entry, saving Antigravity
    auth settings fails at the wire even though the full settings schema accepts
    the field.
  • Both mobile entry points. Upstream reaches the setup screen from its
    connection rows; Pylon renders that row from Settings → Environments as well,
    so both navigate to it.
  • Version formatting. Antigravity reports release tags such as
    agy_acp_server_20260818_01_RC01, which is not semver. Those render as a date
    and candidate, and the v prefix now applies only to bare numeric versions.

Verification

  • Tests: 108 across the new setup section, mobile setup state, and session logic.
  • Types: all seven packages clean.
  • vp check: 0 errors across 3360 files.
  • Unused exports and files: knip:check clean.

ANTIGRAVITY_AUTH_METHODS is exported here rather than in #433 so the export
lands with the consumer that needs it.

Not yet verified against a live Antigravity account; the flows above are covered
by unit and component tests only.

Model and harness: Claude Opus 5 via Claude Code.


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

Antigravity has been server-only since #425. This adds the web setup section
and the mobile setup route, reachable from both Settings and Connections, plus
the provider icon, picker entries, and user docs.

Antigravity joins Prime in every provider list rather than replacing it, which
is what a direct application of the upstream diff would have done. The card gets
a setup slot because Pylon's card is flat where upstream's is tabbed, and
AntigravitySettingsPatch takes CustomModelSetting entries to match Pylon's
custom model shape; without that patch entry, saving auth settings fails at the
wire.

Adopted from 06336460c9988f29c71e839c4c9c840c4552e077 (#9348).
@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:XXL labels Sep 9, 2026
@github-actions

github-actions Bot commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

Provider Metric Main baseline This PR Impact PR ceiling
Codex Total thread wire 13.8 KiB 13.7 KiB −170 B (−1.2%) 15.1 KiB
Codex Thread snapshot wire 7.1 KiB 7.1 KiB −1 B (−0.0%) 7.3 KiB
Codex Live turn WebSocket wire 6.7 KiB 6.6 KiB −169 B (−2.5%) 7.8 KiB
Codex Live turn WebSocket decoded 57.4 KiB 56.5 KiB −910 B (−1.5%) 66.4 KiB
Codex Live turn messages 10 8 −2 (−20.0%) 21
Claude Total thread wire 13.8 KiB 13.7 KiB −156 B (−1.1%) 15.1 KiB
Claude Thread snapshot wire 7.1 KiB 7.1 KiB +6 B (+0.1%) 7.3 KiB
Claude Live turn WebSocket wire 6.7 KiB 6.6 KiB −162 B (−2.4%) 7.8 KiB
Claude Live turn WebSocket decoded 58.2 KiB 57.3 KiB −928 B (−1.6%) 66.4 KiB
Claude Live turn messages 10 8 −2 (−20.0%) 21

Baseline: f6bf292 · PR result: cb48a88 · Source CI: success

Scenario and decoded snapshot size

10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.

  • Codex decoded thread snapshot: 111.2 KiB
  • Claude decoded thread snapshot: 111.9 KiB

Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XXL vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant