Conversation
Opper is an EU-hosted AI gateway run by Opper Technology AB (Stockholm): one API key and one OpenAI-compatible endpoint reach models from 30+ upstream providers at each provider's own token rates, with no markup, and requests can be pinned to EU-hosted regions. It is wired exactly like the Vercel AI Gateway preset: an OpenAI chat completions endpoint with an empty model list, so the catalog is imported on demand from GET /models. - src/shared/model-provider-preset-catalog-extended.ts: the preset - src/shared/model-provider-preset-types.ts: the preset id - packages/provider-catalog/src/index.ts: the shared catalog entry - src/main/models-dev-catalog.ts: Opper is published on models.dev as `opper`, so the preset maps straight onto that catalog - docs/model-provider-presets.md: the Built-in Providers entry No icon asset, matching Vercel AI Gateway, so the diff stays additive. Model ids come in two forms and the docs entry explains both: a bare pool name such as claude-sonnet-4-6 routes across every provider serving that model, and provider/model such as aws/claude-sonnet-4-6-eu pins one provider or region. I work at Opper. Happy to adjust anything to match project conventions. Not verified locally: `npm test` needs the full dependency install, which I did not run here. Every change is a data entry mirroring the adjacent gateway preset, plus one union member and one catalog mapping.
packages/provider-catalog/src/index.test.ts freezes the catalog size, the expanded entry count and the per-category counts. Adding an api preset moves three of them: 26 -> 27 presets, 32 -> 33 entries, and 12 -> 13 in the api category. Subscription and free counts are unchanged.
|
Thanks for the contribution — the preset is wired correctly and One gap before this can merge: Since "Allow edits from maintainers" is off on the fork branch, I've carried your commits into #1340 and added the fix + test cases there. This PR is superseded by #1340 — happy to credit you in the merge. |
|
This PR has been superseded by #1340, which has been merged into #1340 carries your two original commits (authorship preserved) plus one fix on top:
It also picked up baseline fixes from develop (#1341) that were blocking CI. Thanks for the contribution! |
|
Thanks for catching the Closing in favour of #1340. Appreciate you carrying the commits over and adding the test cases. |
Opper is an EU-hosted AI gateway run by Opper Technology AB (Stockholm): one API key and one OpenAI-compatible endpoint reach models from 30+ upstream providers at each provider's own token rates, with no markup, and requests can be pinned to EU-hosted regions.
It is wired exactly like the Vercel AI Gateway preset: an OpenAI chat completions endpoint with an empty model list, so the catalog is imported on demand from GET /models.
opper, so the preset maps straight onto that catalogNo icon asset, matching Vercel AI Gateway, so the diff stays additive. Model ids come in two forms and the docs entry explains both: a bare pool name such as claude-sonnet-4-6 routes across every provider serving that model, and provider/model such as aws/claude-sonnet-4-6-eu pins one provider or region.
I work at Opper. Happy to adjust anything to match project conventions.
Not verified locally:
npm testneeds the full dependency install, which I did not run here. Every change is a data entry mirroring the adjacent gateway preset, plus one union member and one catalog mapping.Summary / 概要
Why / 背景
Changes / 变更
Media / 截图或录屏
Tests / 测试
Validation / 验证
npm run testnpm run typechecknpm run buildnpm run dev(if runtime or UI behavior changed / 如果运行时或界面行为有变化)Notes / 备注