Repository navigation
[Feat] Add Gemini 4 Argon to Gemini and Vertex AI providers - #2043
Conversation
|
Important Review skippedBot user detected. To trigger a single review, invoke the ⚙️ Run configuration
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 |
Review statusThis PR was opened by an automated account. A human maintainer must verify the change intent, provenance, and validation before merging. Current step: Required CI passed. Waiting for automated review of the latest commit. If automated review does not start, a maintainer must restart it. Review-state labels are managed by this workflow; do not edit them manually. |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
Related GitHub Issue
No linked issue. This change was requested directly by a maintainer (Toray Altas) via Discord: register Google's new Gemini 4 Argon model in the relevant providers.
Description
Adds
gemini-4-argonto the two provider registries that enumerate Gemini models statically:packages/types/src/providers/gemini.ts(Google Gemini API / AI Studio)packages/types/src/providers/vertex.ts(GCP Vertex AI)The model pickers in the webview read these registries dynamically, so the new entry appears in the UI with no further wiring. Providers that fetch their catalog at runtime (OpenRouter, Requesty, Unbound, Vercel AI Gateway, Zoo Gateway) need no static entry, and their legacy fallback sets were not extended for Gemini 3.x either, so this PR follows that convention.
Metadata used (per 1M tokens, promo Global Standard tier pricing through November 30, 2026):
supportsReasoningBudget: falsebecausethinking_budgetreturns an HTTP 400 error on this model.supportsTemperature: falsebecause the backend ignores temperature/top_p/top_k.cacheWritesPrice.Availability verified before registering (checked today):
gemini-4-argonis listed on https://ai.google.dev/gemini-api/docs/models (Gemini 4, stable) and on https://ai.google.dev/gemini-api/docs/pricing (paid tier only; not on the Free tier or Google AI Pro plan).global,us, andeulocations per https://cloud.google.com/gemini-enterprise-agent-platform/models/guides/gemini-4-argon.google/gemini-4-argonis live in the catalog API with matching pricing, 1,048,576 context, 65,536 max output, and mandatory reasoning (low/medium/high, default medium). OpenRouter is fetched dynamically in Zoo Code, so no code change was needed there.google/gemini-4-argonis live in its/v1/modelscatalog. Also fetched dynamically.The gated
gemini-4-argon-cyber-permissivevariant (Fairwind-approved cybersecurity workloads, default thinking HIGH) is intentionally not registered: it is access-restricted and there is no gated-variant precedent for such SKUs in these registries.Test Procedure
describe.eachblock inpackages/types/src/__tests__/google-models.test.tsthat asserts the documented limits, thinking levels, default effort, promo pricing, and caching flags forgemini-4-argonon both the Gemini API and Vertex AI registries.pnpm vitest run src/__tests__/google-models.test.tsinpackages/types: 8/8 passed.pnpm run check-typesinpackages/types: passed.pnpm testfrom the repository root: 532 test files, 10,580 tests passed. (One earlier full-suite run showed 2 flaky failures insrc/__tests__/extension.spec.ts; that file passes standalone on cleanmainand with this change, and the rerun is green.)pnpm exec eslint --max-warnings=0on the three touched files: clean.Pre-Submission Checklist
Visual Snapshots
Not applicable: no layout, theme, or rendered-state change. The model picker lists the new entry dynamically from
geminiModels.Videos (interaction / animation only)
Not applicable: no new interaction flow or animation.
Documentation Updates
Additional Notes
Sources: https://cloud.google.com/gemini-enterprise-agent-platform/models/guides/gemini-4-argon and https://cloud.google.com/vertex-ai/generative-ai/pricing.
Get in Touch
Toray Altas (taltas) on Discord.