Skip to content

feat(providers): refresh curated model catalogs and retire Imagen 4 - #10537

Merged
diegosouzapw merged 9 commits into
diegosouzapw:release/v3.8.50from
backryun:agent/refresh-gemini-flash-catalogs
Aug 18, 2026
Merged

diegosouzapw merged 9 commits into
diegosouzapw:release/v3.8.50from
backryun:agent/refresh-gemini-flash-catalogs

Conversation

@backryun

@backryun backryun commented Aug 16, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Refresh the curated model catalogs for Gemini-family providers, Perplexity Web, PromptQL, Notion Web, KIE, TinyCMS, Conol, OpenCode Zen, and LMArena.
  • Preserve provider-specific upstream identifiers instead of forcing one global Gemini Flash name.
  • Register current Gemini 3.7 promotional pricing and the published CheaperInference and OrcaRouter rates while keeping Gemini Web on its existing flat-rate path.
  • Restore the stable notion-ai default in the Notion fallback catalog and synchronize the captured PromptQL model references and vision flags.
  • Retire Google Imagen 4 from the direct Gemini image path and KIE catalog, including its registry, executor, rate-limit metadata, documentation, and obsolete tests.

Catalog updates

Gemini Flash and pricing

  • Refresh Antigravity/AGY, Gemini, Gemini Web, GitHub Copilot, CheaperInference, Devin, OrcaRouter, LMArena, Conol, Notion, PromptQL, KIE, and TinyCMS entries according to each provider's currently exposed identifiers.
  • Remove retired Gemini 3.5/3.6 Flash entries only where the provider has a verified replacement; providers that still expose an older identifier remain provider-scoped.
  • Keep OrcaRouter on google/gemini-3.6-flash and use its published provider-specific rates.
  • Remove the stale Gemini 3.5 free-catalog entry and obsolete provider-specific pricing coverage.

Web and curated provider catalogs

  • Replace the PromptQL fallback snapshot with the captured model_reference, model_id, config IDs, and vision capability flags.
  • Refresh Notion's friendly IDs and internal food codenames while retaining notion-ai as the stable default.
  • Refresh KIE, TinyCMS, and Conol to their current curated model sets.
  • Refresh OpenCode Zen newest-first, remove delisted models, and align the context-overflow fixture with a live free-tier model.
  • Refresh Perplexity Web mappings and update the LMArena Gemini 3.6 direct-chat mapping.

Google Imagen 4 retirement

  • Remove:
    • imagen-4.0-generate-001
    • imagen-4.0-ultra-generate-001
    • imagen-4.0-fast-generate-001
  • Delete the Gemini Imagen image-provider registry and dedicated :predict executor.
  • Remove Imagen 4 rate-limit rows, KIE aliases, discovery/parser behavior, README advertising, and obsolete tests.
  • Keep unrelated imagen3 providers 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

  • Focused Node unit suite: 328 passed, 0 failed
  • npm run test:vitest: 40 files, 362 tests passed
  • npm run lint: passed
  • npm run typecheck:core: passed
  • node scripts/check/check-docs-sync.mjs: passed
  • npm run check:any-budget:t11: passed
  • node scripts/check/check-tracked-artifacts.mjs: passed
  • git diff --check: passed

Prettier was intentionally not run for this catalog refresh.

@backryun
backryun marked this pull request as ready for review August 16, 2026 12:45
@backryun
backryun requested a review from diegosouzapw as a code owner August 16, 2026 12:45
@backryun
backryun force-pushed the agent/refresh-gemini-flash-catalogs branch from e0ec492 to 82504de Compare August 17, 2026 01:54
@diegosouzapw

Copy link
Copy Markdown
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.

@backryun

Copy link
Copy Markdown
Contributor Author

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.

working on it right now.

@backryun
backryun force-pushed the agent/refresh-gemini-flash-catalogs branch 4 times, most recently from 74011e6 to ce8088b Compare August 17, 2026 11:52
@backryun backryun changed the title feat(providers): refresh Gemini Flash catalogs and pricing feat(providers): refresh curated model catalogs and retire Imagen 4 Aug 17, 2026
@backryun

Copy link
Copy Markdown
Contributor Author

@diegosouzapw Finished, I hope you satisfy it.

@backryun
backryun force-pushed the agent/refresh-gemini-flash-catalogs branch 6 times, most recently from 8912d3b to b4de9ee Compare August 18, 2026 14:04
@backryun
backryun force-pushed the agent/refresh-gemini-flash-catalogs branch from b4de9ee to bc7c8b8 Compare August 18, 2026 14:43
@diegosouzapw
diegosouzapw merged commit df90591 into diegosouzapw:release/v3.8.50 Aug 18, 2026
4 of 5 checks passed
@backryun
backryun deleted the agent/refresh-gemini-flash-catalogs branch August 19, 2026 06:29
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants