feat(providers): refresh curated model catalogs and retire Imagen 4 - #10537
Merged
diegosouzapw merged 9 commits intoAug 18, 2026
Merged
diegosouzapw merged 9 commits into
diegosouzapw merged 9 commits into
Conversation
backryun
marked this pull request as ready for review
August 16, 2026 12:45
backryun
force-pushed
the
agent/refresh-gemini-flash-catalogs
branch
from
August 17, 2026 01:54
e0ec492 to
82504de
Compare
Owner
|
The refresh is useful but not merge-ready: retirement filters remove IDs still present in model specs and quota/output-cap contracts, while the pricing test was deleted without replacement assertions. Please reconcile cross-layer contracts, restore pricing coverage, and rerun the relevant gates. |
Contributor
Author
working on it right now. |
backryun
force-pushed
the
agent/refresh-gemini-flash-catalogs
branch
4 times, most recently
from
August 17, 2026 11:52
74011e6 to
ce8088b
Compare
Contributor
Author
|
@diegosouzapw Finished, I hope you satisfy it. |
backryun
force-pushed
the
agent/refresh-gemini-flash-catalogs
branch
6 times, most recently
from
August 18, 2026 14:04
8912d3b to
b4de9ee
Compare
5 tasks done
backryun
force-pushed
the
agent/refresh-gemini-flash-catalogs
branch
from
August 18, 2026 14:43
b4de9ee to
bc7c8b8
Compare
diegosouzapw
merged commit Aug 18, 2026
df90591
into
diegosouzapw:release/v3.8.50
4 of 5 checks passed
11 tasks done
diegosouzapw
added a commit
that referenced
this pull request
Aug 19, 2026
…10749) * fix(ci): route the Gemini Web b64_json download error through sanitizeErrorMessage() open-sse/handlers/imageGeneration/providers/geminiWeb.ts embedded a raw err.message in the b64_json download-failure response, tripping check:error-helper (Hard Rule #12) on release/v3.8.50. Refs #9985. * fix(tests): drain test-drift base-reds left by #10603/#10537 and a stale qwen-web catalog id Several base-reds on release/v3.8.50 (#9985) share one root cause: a legitimate product change landed without updating the test asserting the old behavior. - tests/unit/glm-provider-model-import-route.test.ts (12 tests) and tests/unit/model-sync-route.test.ts (2 tests) predate #10603, which made upstream model sync opt-in (isAutoFetchModelsEnabled() now requires providerSpecificData.autoFetchModels === true) and made manual custom-model overrides survive a sync instead of being demoted. Updated both files to opt in / assert the new preserve-manual-overrides behavior, with a comment citing #10603. - tests/unit/antigravity-model-aliases.test.ts predates #10537, which retired the collapsed 'gemini-3.7-flash' alias (upstream 'gemini-3.7-flash-tiered') in favor of the three directly-callable tiered ids. Dropped the retired id from EXPECTED_FLASH_TIERS. - open-sse/config/freeModelCatalog.data.ts: the qwen-web free-catalog entry still listed the retired 'qwen3.8-max-preview' id instead of the current 'qwen3.8-max' (open-sse/config/providers/registry/qwen/web/index.ts and the executor's compat alias both confirm 'qwen3.8-max' is canonical). Real data drift, not test drift. - src/i18n/messages/zh-TW.json: providers.autoFetchModelsTooltip (added by #10603) used the mainland term 緩存 instead of the zh-TW glossary-canonical 快取, tripping the i18n-glossary-consistency-check base-red. - src/lib/oauth/providers/zed-hosted.ts: removed an unused default export (the named export already covers every consumer) — shaves one symbol off the check:dead-code ratchet (419 -> 418; baseline 415, 3 still outstanding). Refs #9985. --------- Co-authored-by: Markus Hartung <mail@hartmark.se>
HouMinXi
pushed a commit
to HouMinXi/OmniRoute
that referenced
this pull request
Aug 20, 2026
…iegosouzapw#10537) * feat(providers): refresh Gemini Flash catalogs and pricing * fix(providers): refresh gemini-web Flash catalog * chore(providers): eliminate Gemini 3.5/3.6 Flash models * feat(providers): refresh Perplexity Web model mappings * feat(providers): refresh PromptQL and Notion catalogs * feat(providers): refresh KIE TinyCMS and Conol catalogs * feat(providers): refresh OpenCode Zen catalog * chore(providers): finish Gemini Flash cleanup * chore(providers): retire Google Imagen 4
giauphan
pushed a commit
to giauphan/OmniRoute
that referenced
this pull request
Aug 20, 2026
…iegosouzapw#10537) * feat(providers): refresh Gemini Flash catalogs and pricing * fix(providers): refresh gemini-web Flash catalog * chore(providers): eliminate Gemini 3.5/3.6 Flash models * feat(providers): refresh Perplexity Web model mappings * feat(providers): refresh PromptQL and Notion catalogs * feat(providers): refresh KIE TinyCMS and Conol catalogs * feat(providers): refresh OpenCode Zen catalog * chore(providers): finish Gemini Flash cleanup * chore(providers): retire Google Imagen 4
giauphan
pushed a commit
to giauphan/OmniRoute
that referenced
this pull request
Aug 20, 2026
…apw#9985) (diegosouzapw#10749) * fix(ci): route the Gemini Web b64_json download error through sanitizeErrorMessage() open-sse/handlers/imageGeneration/providers/geminiWeb.ts embedded a raw err.message in the b64_json download-failure response, tripping check:error-helper (Hard Rule #12) on release/v3.8.50. Refs diegosouzapw#9985. * fix(tests): drain test-drift base-reds left by diegosouzapw#10603/diegosouzapw#10537 and a stale qwen-web catalog id Several base-reds on release/v3.8.50 (diegosouzapw#9985) share one root cause: a legitimate product change landed without updating the test asserting the old behavior. - tests/unit/glm-provider-model-import-route.test.ts (12 tests) and tests/unit/model-sync-route.test.ts (2 tests) predate diegosouzapw#10603, which made upstream model sync opt-in (isAutoFetchModelsEnabled() now requires providerSpecificData.autoFetchModels === true) and made manual custom-model overrides survive a sync instead of being demoted. Updated both files to opt in / assert the new preserve-manual-overrides behavior, with a comment citing diegosouzapw#10603. - tests/unit/antigravity-model-aliases.test.ts predates diegosouzapw#10537, which retired the collapsed 'gemini-3.7-flash' alias (upstream 'gemini-3.7-flash-tiered') in favor of the three directly-callable tiered ids. Dropped the retired id from EXPECTED_FLASH_TIERS. - open-sse/config/freeModelCatalog.data.ts: the qwen-web free-catalog entry still listed the retired 'qwen3.8-max-preview' id instead of the current 'qwen3.8-max' (open-sse/config/providers/registry/qwen/web/index.ts and the executor's compat alias both confirm 'qwen3.8-max' is canonical). Real data drift, not test drift. - src/i18n/messages/zh-TW.json: providers.autoFetchModelsTooltip (added by diegosouzapw#10603) used the mainland term 緩存 instead of the zh-TW glossary-canonical 快取, tripping the i18n-glossary-consistency-check base-red. - src/lib/oauth/providers/zed-hosted.ts: removed an unused default export (the named export already covers every consumer) — shaves one symbol off the check:dead-code ratchet (419 -> 418; baseline 415, 3 still outstanding). Refs diegosouzapw#9985. --------- Co-authored-by: Markus Hartung <mail@hartmark.se>
muhamadgalihsaputra
pushed a commit
to niyatna/NiyatnaRoute
that referenced
this pull request
Sep 27, 2026
…iegosouzapw#10537) * feat(providers): refresh Gemini Flash catalogs and pricing * fix(providers): refresh gemini-web Flash catalog * chore(providers): eliminate Gemini 3.5/3.6 Flash models * feat(providers): refresh Perplexity Web model mappings * feat(providers): refresh PromptQL and Notion catalogs * feat(providers): refresh KIE TinyCMS and Conol catalogs * feat(providers): refresh OpenCode Zen catalog * chore(providers): finish Gemini Flash cleanup * chore(providers): retire Google Imagen 4
muhamadgalihsaputra
pushed a commit
to niyatna/NiyatnaRoute
that referenced
this pull request
Sep 27, 2026
…apw#9985) (diegosouzapw#10749) * fix(ci): route the Gemini Web b64_json download error through sanitizeErrorMessage() open-sse/handlers/imageGeneration/providers/geminiWeb.ts embedded a raw err.message in the b64_json download-failure response, tripping check:error-helper (Hard Rule diegosouzapw#12) on release/v3.8.50. Refs diegosouzapw#9985. * fix(tests): drain test-drift base-reds left by diegosouzapw#10603/diegosouzapw#10537 and a stale qwen-web catalog id Several base-reds on release/v3.8.50 (diegosouzapw#9985) share one root cause: a legitimate product change landed without updating the test asserting the old behavior. - tests/unit/glm-provider-model-import-route.test.ts (12 tests) and tests/unit/model-sync-route.test.ts (2 tests) predate diegosouzapw#10603, which made upstream model sync opt-in (isAutoFetchModelsEnabled() now requires providerSpecificData.autoFetchModels === true) and made manual custom-model overrides survive a sync instead of being demoted. Updated both files to opt in / assert the new preserve-manual-overrides behavior, with a comment citing diegosouzapw#10603. - tests/unit/antigravity-model-aliases.test.ts predates diegosouzapw#10537, which retired the collapsed 'gemini-3.7-flash' alias (upstream 'gemini-3.7-flash-tiered') in favor of the three directly-callable tiered ids. Dropped the retired id from EXPECTED_FLASH_TIERS. - open-sse/config/freeModelCatalog.data.ts: the qwen-web free-catalog entry still listed the retired 'qwen3.8-max-preview' id instead of the current 'qwen3.8-max' (open-sse/config/providers/registry/qwen/web/index.ts and the executor's compat alias both confirm 'qwen3.8-max' is canonical). Real data drift, not test drift. - src/i18n/messages/zh-TW.json: providers.autoFetchModelsTooltip (added by diegosouzapw#10603) used the mainland term 緩存 instead of the zh-TW glossary-canonical 快取, tripping the i18n-glossary-consistency-check base-red. - src/lib/oauth/providers/zed-hosted.ts: removed an unused default export (the named export already covers every consumer) — shaves one symbol off the check:dead-code ratchet (419 -> 418; baseline 415, 3 still outstanding). Refs diegosouzapw#9985. --------- Co-authored-by: Markus Hartung <mail@hartmark.se>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
notion-aidefault in the Notion fallback catalog and synchronize the captured PromptQL model references and vision flags.Catalog updates
Gemini Flash and pricing
google/gemini-3.6-flashand use its published provider-specific rates.Web and curated provider catalogs
model_reference,model_id, config IDs, and vision capability flags.notion-aias the stable default.Google Imagen 4 retirement
imagen-4.0-generate-001imagen-4.0-ultra-generate-001imagen-4.0-fast-generate-001:predictexecutor.imagen3providers and KIE Nano Banana models unchanged.Why
Several static catalogs had drifted from the model identifiers currently exposed by their upstream providers. The drift advertised retired models, hid newer curated entries, and left dead Google Imagen 4 execution paths in the image registry. This refresh makes each provider catalog match its own upstream contract without reintroducing intentionally removed models.
Validation
npm run test:vitest: 40 files, 362 tests passednpm run lint: passednpm run typecheck:core: passednode scripts/check/check-docs-sync.mjs: passednpm run check:any-budget:t11: passednode scripts/check/check-tracked-artifacts.mjs: passedgit diff --check: passedPrettier was intentionally not run for this catalog refresh.