Skip to content

[defer] feat(antigravity): add Gemini 3.8 Flash tiers and update client fallbacks - #12499

Open
Abhishekchhetri020 wants to merge 6 commits into
diegosouzapw:release/v3.8.52from
Abhishekchhetri020:feat/antigravity-gemini-3-8-flash
Open

Abhishekchhetri020 wants to merge 6 commits into
diegosouzapw:release/v3.8.52from
Abhishekchhetri020:feat/antigravity-gemini-3-8-flash

Conversation

@Abhishekchhetri020

Copy link
Copy Markdown

Summary

  • Add Google's newly launched Gemini 3.8 Flash tiers (gemini-3.8-flash-high, gemini-3.8-flash-medium, gemini-3.8-flash-low) to the antigravity and agy public model catalogs.
  • Map the shorthand gemini-3.8-flash alias to gemini-3.8-flash-high.
  • Add Gemini 3.8 Flash model specifications in modelSpecs.ts (1M context window, 64k max output tokens, 24.5k/8k/1k thinking budget tiers).
  • Update fallback client versions in antigravityVersion.ts (ANTIGRAVITY_IDE_FALLBACK_VERSION to 2.5.5 and ANTIGRAVITY_CLI_FALLBACK_VERSION to 1.1.24). Google's live Cloud Code endpoint (streamGenerateContent) requires a recognized client identity and rejects older client versions (< 2.5.0 or < 1.1.24) with HTTP 404.
  • Add pricing, free model metadata, and CLI tools registry entries for the 3.8 Flash tiers.
  • Update regression test suites across Antigravity and AGY test suites.

Related Issues

Validation

  • Change type: provider / routing
  • Focused tests:
    • node --import tsx/esm --test tests/unit/antigravity-model-aliases.test.ts tests/unit/antigravity-retired-public-models.test.ts tests/unit/model-capabilities-registry.test.ts tests/unit/t28-model-catalog-updates.test.ts tests/unit/provider-models-route.test.ts (94 passed, 0 failed)
  • Reconciled with current active release base (release/v3.8.51)
  • Verified empirically against live Cloud Code API with real consumer-auth credentials

Tests Added Or Updated

  • tests/unit/antigravity-model-aliases.test.ts
  • tests/unit/antigravity-retired-public-models.test.ts
  • tests/unit/model-capabilities-registry.test.ts
  • tests/unit/provider-models-route.test.ts
  • tests/unit/t28-model-catalog-updates.test.ts

Coverage Notes

  • Covered by the existing and updated unit test suites in tests/unit/antigravity-model-aliases.test.ts, antigravity-retired-public-models.test.ts, and model-capabilities-registry.test.ts.

Reviewer Notes

  • Empirical testing against https://daily-cloudcode-pa.googleapis.com/v1internal:streamGenerateContent confirmed that Google returns HTTP 404 for 3.8 Flash when using older IDE headers (antigravity/ide/2.1.1), but returns HTTP 200 SUCCESS when using IDE 2.5.5 or CLI 1.1.24.
  • Unlike Gemini 3.7 which used an upstream endpoint with -tiered suffix, Gemini 3.8 Flash upstream endpoints directly accept -high, -medium, and -low.

…acks

- Add gemini-3.8-flash-high, gemini-3.8-flash-medium, and gemini-3.8-flash-low to ANTIGRAVITY_PUBLIC_MODELS and AGY_PUBLIC_MODELS catalogs
- Add gemini-3.8-flash alias mapping to high tier in ANTIGRAVITY_MODEL_ALIASES
- Add Gemini 3.8 Flash model specifications in modelSpecs.ts with 1M context window and thinking budget configurations
- Bump ANTIGRAVITY_IDE_FALLBACK_VERSION to 2.5.5 and ANTIGRAVITY_CLI_FALLBACK_VERSION to 1.1.24 to prevent upstream 404s on live Cloud Code endpoints
- Add pricing, free model catalog metadata, and CLI tool configurations for 3.8 Flash tiers
- Update regression test suites across antigravity-model-aliases, antigravity-retired-public-models, model-capabilities-registry, provider-models-route, and t28-model-catalog-updates
Abhishek Chhetri and others added 4 commits September 3, 2026 02:38
…tests

Keep the 3.8 Flash tiers on the release tip, bump free-tier docs/SVG to 440 entries, pin IDE/CLI fallback tests to 2.5.5/1.1.24, and cover aicode-consumers x-goog-user-project suppression.

Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>
Keep Gemini 3.8 Flash high/medium/low on the eligibility-gated free-tier
catalog from diegosouzapw#12669, and align unique docs/SVG counts to 447 entries.

Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>
diegosouzapw pushed a commit that referenced this pull request Sep 11, 2026
Straightforward and well-scoped: a live catalog model falling through to the conservative 16384 clamp because `MODEL_SPECS` never got a 3.8 entry. Keeping the fallback for genuinely unknown ids is right, and the note on how this relates to #12663, #12499 and #12672 saved the review.

---

Validated in one consolidated worktree cut from `release/v3.8.51`, boarded with the other 19 PRs of this batch. Two in-batch conflicts, both additive and resolved by keeping each side: the `ENVIRONMENT.md` table (#13035 + #13011) and the `chatHelpers.ts` import block (#12975 on the tip + #13017).

- `typecheck:core` clean; `check:dashboard-typecheck` OK (206 pre-existing, within baseline); `check:changelog-integrity` OK; `check:docs-counts` migrations ✓
- complexity 2816 / baseline 3218 and cognitive-complexity 1271 / baseline 1437 — both under baseline
- 531 of 532 focused assertions green across the batch's 46 test files
- `check-file-size` rebaselined for the batch's real growth (annotation `_rebaseline_2026_09_11_mergebatch_v3851_houminxi`, landed on #13038), attributed per PR

The single red is **not this batch**: `tests/unit/combo/quota-weighted-strategy.test.ts` → "A/B isolation: 7 hard-empty + 2 at 0.5% + 1 at 40%, floor=1" asserts an order between two connections of identical weight and flakes on the pure tip too — 2 failures in 4 runs at `origin/release/v3.8.51` with nothing from this batch applied.

⚠️ base-red inherited: #12732 — `Docs Gates`, `Merge integrity`, `No new ESLint warnings`, `Unit Tests fast-path` and `Fast Quality Gates` reproduce on the pure tip (provider count 356 vs the 358 the modules define, SKILL.md drift, and `open-sse/utils/stream.ts` at 3115 > frozen 3098, untouched here).

Thanks @HouMinXi — the live evidence on these (X500 logs, `storage.sqlite` state, real `/v1/models` probes, the 36-minute outage write-up) is what let a 20-PR batch be reviewed as a unit.
@diegosouzapw

Copy link
Copy Markdown
Owner

Thanks for this — Gemini 3.8 Flash did need registering, but there's a competing PR
(#13318) that landed first with the same catalog addition, already rebased onto the
shared-catalog refactor that merged today (#13410), and it also adds native
functionCall parsing that 3.8's tool-calling needs. I'm closing this one in favor of
#13318, but your PR has three pieces that one is missing and that we do want: the
cliTools.ts dashboard catalog entries, the oauth-subscriptions.ts pricing tier, and
— genuinely independent of the 3.8-flash work — the Antigravity IDE/CLI fallback-version
fix (2.1.1→2.5.5, 1.1.5→1.1.24), which is still stale on the tip. I'll ask the
#13318 author to port those three with credit to you. Thanks for catching the version
drift!

Triage note: this is the review recommendation — the close itself happens only after the maintainer's per-PR sign-off (and, where a superseding PR is named, after it has landed). Nothing is being closed by this comment.

Githab-capibara added a commit to Githab-capibara/OmniRoute that referenced this pull request Sep 17, 2026
…13195)

Straightforward and well-scoped: a live catalog model falling through to the conservative 16384 clamp because `MODEL_SPECS` never got a 3.8 entry. Keeping the fallback for genuinely unknown ids is right, and the note on how this relates to diegosouzapw#12663, diegosouzapw#12499 and diegosouzapw#12672 saved the review.

---

Validated in one consolidated worktree cut from `release/v3.8.51`, boarded with the other 19 PRs of this batch. Two in-batch conflicts, both additive and resolved by keeping each side: the `ENVIRONMENT.md` table (diegosouzapw#13035 + diegosouzapw#13011) and the `chatHelpers.ts` import block (diegosouzapw#12975 on the tip + diegosouzapw#13017).

- `typecheck:core` clean; `check:dashboard-typecheck` OK (206 pre-existing, within baseline); `check:changelog-integrity` OK; `check:docs-counts` migrations ✓
- complexity 2816 / baseline 3218 and cognitive-complexity 1271 / baseline 1437 — both under baseline
- 531 of 532 focused assertions green across the batch's 46 test files
- `check-file-size` rebaselined for the batch's real growth (annotation `_rebaseline_2026_09_11_mergebatch_v3851_houminxi`, landed on diegosouzapw#13038), attributed per PR

The single red is **not this batch**: `tests/unit/combo/quota-weighted-strategy.test.ts` → "A/B isolation: 7 hard-empty + 2 at 0.5% + 1 at 40%, floor=1" asserts an order between two connections of identical weight and flakes on the pure tip too — 2 failures in 4 runs at `origin/release/v3.8.51` with nothing from this batch applied.

⚠️ base-red inherited: diegosouzapw#12732 — `Docs Gates`, `Merge integrity`, `No new ESLint warnings`, `Unit Tests fast-path` and `Fast Quality Gates` reproduce on the pure tip (provider count 356 vs the 358 the modules define, SKILL.md drift, and `open-sse/utils/stream.ts` at 3115 > frozen 3098, untouched here).

Thanks @HouMinXi — the live evidence on these (X500 logs, `storage.sqlite` state, real `/v1/models` probes, the 36-minute outage write-up) is what let a 20-PR batch be reviewed as a unit.
Reconciles against the current release tip and re-derives the Gemini 3.8
Flash tiers through the antigravitySharedModels.ts single source of truth
introduced upstream, keeping this PR's client-version fallback bumps and
its correct 3.8 alias (gemini-3.8-flash -> gemini-3.8-flash-high). Drops
the gemini-3.8-flash-tiered entry/alias pulled in by another branch during
the merge — Google's live Cloud Code endpoint serves 3.8 Flash directly at
the -high/-medium/-low tier ids, unlike 3.7 which uses a -tiered endpoint.

Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>
diegosouzapw added a commit to tuandinh0801/OmniRoute that referenced this pull request Sep 18, 2026
Live testing against Google's Cloud Code upstream
(daily-cloudcode-pa.googleapis.com/v1internal:streamGenerateContent),
documented in diegosouzapw#12499, shows Gemini 3.8 Flash is served directly at
gemini-3.8-flash-high/-medium/-low. Unlike 3.7, there is no
gemini-3.8-flash-tiered endpoint for 3.8.

This branch mapped the bare id and all three tiers to an invented
gemini-3.8-flash-tiered upstream target and declared that model in the
shared Antigravity/AGY catalog. Remove the invented catalog entry, alias
only the bare "gemini-3.8-flash" display id to its default tier
(gemini-3.8-flash-high), and let -high/-medium/-low pass through
verbatim to match what the live endpoint actually serves. Also drops
the now-dead managedModelImport.ts mitm-alias branch that forced the
same invented -tiered target, and updates the catalog/alias tests
accordingly.

Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>
diegosouzapw added a commit to tuandinh0801/OmniRoute that referenced this pull request Sep 18, 2026
…ed by diegosouzapw#12499

Commit be65c76 ("adopt CLI catalog, pricing, and version fallbacks from
diegosouzapw#12499") pulled the Antigravity IDE/CLI fallback-version bump, the
CLI_TOOLS gemini-3.8-flash-* aliases/defaults, the oauth-subscriptions
pricing entries, and the matching antigravity-version.test.ts
assertions straight from PR diegosouzapw#12499's own diff. diegosouzapw#12499 ships all of that
content itself and lands first in the three-way reconciliation with
diegosouzapw#12499/diegosouzapw#13318/diegosouzapw#14018, so keeping a second copy here would duplicate and
collide with it on merge. Revert exactly those four files to their
pre-be65c761 state; diegosouzapw#12499 is now the sole source for this content.

Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>
diegosouzapw added a commit to tuandinh0801/OmniRoute that referenced this pull request Sep 18, 2026
…h catalog

Registering gemini-3.8-flash-high in ANTIGRAVITY_PUBLIC_MODELS (needed for
the corrected direct-tier routing) makes getClientVisibleAntigravityModelName()
prefer our static catalog name "Gemini 3.8 Flash (High)" over the upstream
discovery echo's own displayName, the same interaction diegosouzapw#12499 hit and fixed
for its own copy of this catalog entry. Update the pre-existing discovery
retry test's expectation to match, mirroring diegosouzapw#12499's fix to the same
assertion.

Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>
diegosouzapw added a commit that referenced this pull request Sep 19, 2026
…ogs (#13318)

* feat(models): add Gemini 3.8 Flash tiers to Antigravity and AGY catalogs

* fix(antigravity): handle Gemini 3.8 Flash thought signatures, native tool calls, and output token limits

* fix: remove duplicate Gemini 3.8 model specs

* feat(models): adopt CLI catalog, pricing, and version fallbacks from #12499 (#13318)

* test(models): assert Gemini 3.8 Flash catalog and pricing presence (#13318)

* fix(antigravity): Gemini 3.8 Flash tiers have no shared -tiered endpoint

Live testing against Google's Cloud Code upstream
(daily-cloudcode-pa.googleapis.com/v1internal:streamGenerateContent),
documented in #12499, shows Gemini 3.8 Flash is served directly at
gemini-3.8-flash-high/-medium/-low. Unlike 3.7, there is no
gemini-3.8-flash-tiered endpoint for 3.8.

This branch mapped the bare id and all three tiers to an invented
gemini-3.8-flash-tiered upstream target and declared that model in the
shared Antigravity/AGY catalog. Remove the invented catalog entry, alias
only the bare "gemini-3.8-flash" display id to its default tier
(gemini-3.8-flash-high), and let -high/-medium/-low pass through
verbatim to match what the live endpoint actually serves. Also drops
the now-dead managedModelImport.ts mitm-alias branch that forced the
same invented -tiered target, and updates the catalog/alias tests
accordingly.

Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>

* revert: drop CLI catalog/pricing/version-fallback adoption also shipped by #12499

Commit be65c76 ("adopt CLI catalog, pricing, and version fallbacks from
#12499") pulled the Antigravity IDE/CLI fallback-version bump, the
CLI_TOOLS gemini-3.8-flash-* aliases/defaults, the oauth-subscriptions
pricing entries, and the matching antigravity-version.test.ts
assertions straight from PR #12499's own diff. #12499 ships all of that
content itself and lands first in the three-way reconciliation with
#12499/#13318/#14018, so keeping a second copy here would duplicate and
collide with it on merge. Revert exactly those four files to their
pre-be65c761 state; #12499 is now the sole source for this content.

Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>

* test(models): align provider-models-route with the corrected 3.8 Flash catalog

Registering gemini-3.8-flash-high in ANTIGRAVITY_PUBLIC_MODELS (needed for
the corrected direct-tier routing) makes getClientVisibleAntigravityModelName()
prefer our static catalog name "Gemini 3.8 Flash (High)" over the upstream
discovery echo's own displayName, the same interaction #12499 hit and fixed
for its own copy of this catalog entry. Update the pre-existing discovery
retry test's expectation to match, mirroring #12499's fix to the same
assertion.

Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>

---------

Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>
@diegosouzapw diegosouzapw added the deferred-v3.8.52 Grande demais / suspeito para o lote atual; precisa de sessão dedicada no ciclo v3.8.52 label Sep 25, 2026
@diegosouzapw diegosouzapw changed the title feat(antigravity): add Gemini 3.8 Flash tiers and update client fallbacks [defer] feat(antigravity): add Gemini 3.8 Flash tiers and update client fallbacks Sep 25, 2026
muhamadgalihsaputra pushed a commit to niyatna/NiyatnaRoute that referenced this pull request Sep 27, 2026
…13195)

Straightforward and well-scoped: a live catalog model falling through to the conservative 16384 clamp because `MODEL_SPECS` never got a 3.8 entry. Keeping the fallback for genuinely unknown ids is right, and the note on how this relates to diegosouzapw#12663, diegosouzapw#12499 and diegosouzapw#12672 saved the review.

---

Validated in one consolidated worktree cut from `release/v3.8.51`, boarded with the other 19 PRs of this batch. Two in-batch conflicts, both additive and resolved by keeping each side: the `ENVIRONMENT.md` table (diegosouzapw#13035 + diegosouzapw#13011) and the `chatHelpers.ts` import block (diegosouzapw#12975 on the tip + diegosouzapw#13017).

- `typecheck:core` clean; `check:dashboard-typecheck` OK (206 pre-existing, within baseline); `check:changelog-integrity` OK; `check:docs-counts` migrations ✓
- complexity 2816 / baseline 3218 and cognitive-complexity 1271 / baseline 1437 — both under baseline
- 531 of 532 focused assertions green across the batch's 46 test files
- `check-file-size` rebaselined for the batch's real growth (annotation `_rebaseline_2026_09_11_mergebatch_v3851_houminxi`, landed on diegosouzapw#13038), attributed per PR

The single red is **not this batch**: `tests/unit/combo/quota-weighted-strategy.test.ts` → "A/B isolation: 7 hard-empty + 2 at 0.5% + 1 at 40%, floor=1" asserts an order between two connections of identical weight and flakes on the pure tip too — 2 failures in 4 runs at `origin/release/v3.8.51` with nothing from this batch applied.

⚠️ base-red inherited: diegosouzapw#12732 — `Docs Gates`, `Merge integrity`, `No new ESLint warnings`, `Unit Tests fast-path` and `Fast Quality Gates` reproduce on the pure tip (provider count 356 vs the 358 the modules define, SKILL.md drift, and `open-sse/utils/stream.ts` at 3115 > frozen 3098, untouched here).

Thanks @HouMinXi — the live evidence on these (X500 logs, `storage.sqlite` state, real `/v1/models` probes, the 36-minute outage write-up) is what let a 20-PR batch be reviewed as a unit.
muhamadgalihsaputra pushed a commit to niyatna/NiyatnaRoute that referenced this pull request Sep 27, 2026
…ogs (diegosouzapw#13318)

* feat(models): add Gemini 3.8 Flash tiers to Antigravity and AGY catalogs

* fix(antigravity): handle Gemini 3.8 Flash thought signatures, native tool calls, and output token limits

* fix: remove duplicate Gemini 3.8 model specs

* feat(models): adopt CLI catalog, pricing, and version fallbacks from diegosouzapw#12499 (diegosouzapw#13318)

* test(models): assert Gemini 3.8 Flash catalog and pricing presence (diegosouzapw#13318)

* fix(antigravity): Gemini 3.8 Flash tiers have no shared -tiered endpoint

Live testing against Google's Cloud Code upstream
(daily-cloudcode-pa.googleapis.com/v1internal:streamGenerateContent),
documented in diegosouzapw#12499, shows Gemini 3.8 Flash is served directly at
gemini-3.8-flash-high/-medium/-low. Unlike 3.7, there is no
gemini-3.8-flash-tiered endpoint for 3.8.

This branch mapped the bare id and all three tiers to an invented
gemini-3.8-flash-tiered upstream target and declared that model in the
shared Antigravity/AGY catalog. Remove the invented catalog entry, alias
only the bare "gemini-3.8-flash" display id to its default tier
(gemini-3.8-flash-high), and let -high/-medium/-low pass through
verbatim to match what the live endpoint actually serves. Also drops
the now-dead managedModelImport.ts mitm-alias branch that forced the
same invented -tiered target, and updates the catalog/alias tests
accordingly.

Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>

* revert: drop CLI catalog/pricing/version-fallback adoption also shipped by diegosouzapw#12499

Commit be65c76 ("adopt CLI catalog, pricing, and version fallbacks from
diegosouzapw#12499") pulled the Antigravity IDE/CLI fallback-version bump, the
CLI_TOOLS gemini-3.8-flash-* aliases/defaults, the oauth-subscriptions
pricing entries, and the matching antigravity-version.test.ts
assertions straight from PR diegosouzapw#12499's own diff. diegosouzapw#12499 ships all of that
content itself and lands first in the three-way reconciliation with
diegosouzapw#12499/diegosouzapw#13318/diegosouzapw#14018, so keeping a second copy here would duplicate and
collide with it on merge. Revert exactly those four files to their
pre-be65c761 state; diegosouzapw#12499 is now the sole source for this content.

Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>

* test(models): align provider-models-route with the corrected 3.8 Flash catalog

Registering gemini-3.8-flash-high in ANTIGRAVITY_PUBLIC_MODELS (needed for
the corrected direct-tier routing) makes getClientVisibleAntigravityModelName()
prefer our static catalog name "Gemini 3.8 Flash (High)" over the upstream
discovery echo's own displayName, the same interaction diegosouzapw#12499 hit and fixed
for its own copy of this catalog entry. Update the pre-existing discovery
retry test's expectation to match, mirroring diegosouzapw#12499's fix to the same
assertion.

Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>

---------

Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>
@diegosouzapw
diegosouzapw changed the base branch from release/v3.8.51 to release/v3.8.52 September 29, 2026 11:28
@diegosouzapw

Copy link
Copy Markdown
Owner

Re-homed to release/v3.8.52: v3.8.51 entered its release freeze, so the branch now belongs to the release captain and development continues on the next cycle. Nothing is wrong with this PR — it just needed a live base. No action needed from you; CI will re-run against the new base.

This branch has not been deployed

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

Labels

deferred-v3.8.52 Grande demais / suspeito para o lote atual; precisa de sessão dedicada no ciclo v3.8.52

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants