Skip to content

specs: add Requesty to the model catalog#19

Open
Thibaultjaigu wants to merge 1 commit into
starbaser:devfrom
Thibaultjaigu:feat/add-requesty-catalog
Open

specs: add Requesty to the model catalog#19
Thibaultjaigu wants to merge 1 commit into
starbaser:devfrom
Thibaultjaigu:feat/add-requesty-catalog

Conversation

@Thibaultjaigu

Copy link
Copy Markdown

What

Adds Requesty to the model catalog, mirroring how OpenRouter is wired. Requesty is an OpenAI-compatible gateway that exposes a standard /v1/models endpoint, so it slots into both the static floor and the live-merge path.

  • src/ccproxy/specs/model_catalog.py:
    • requesty floor list in STATIC_MODEL_CATALOG
    • "requesty": "https://router.requesty.ai/v1/models" in _PROVIDER_ENDPOINTS (the live-merge fetch uses Authorization: Bearer, which Requesty accepts)
  • tests/test_model_catalog.py: a floor test and a live-merge test for requesty (mirroring the anthropic ones)
  • docs/configuration.md: router.requesty.ai -> requesty in the provider_map example

Floor model IDs are limited to slugs I verified actually route on Requesty.

Tested

  • uv run pytest tests/test_model_catalog.py — 15 passed (incl. 2 new)
  • uv run pytest tests/ -k "catalog or models or config or spec" — 260 passed
  • uv run ruff check and uv run mypy on the touched module — clean
  • Confirmed GET https://router.requesty.ai/v1/models returns an OpenAI-shaped {object: list, data: [...]} payload.

Note: I couldn't get a clean run of the entire suite locally — an unrelated test elsewhere hangs at ~59% on my machine (looks like an e2e/namespace test needing network/WireGuard), well outside this change. The catalog area and its neighbors are fully green. Happy to adjust if CI surfaces anything.

Disclosure

I work at Requesty. This mirrors the existing OpenRouter catalog entry. Happy to adjust naming/placement or close if it's not a fit.

Requesty (https://requesty.ai) is an OpenAI-compatible gateway that exposes a
standard /v1/models endpoint. This adds it to the catalog the same way
OpenRouter is wired:

- model_catalog.py: requesty floor list in STATIC_MODEL_CATALOG + its upstream
  /v1/models URL in _PROVIDER_ENDPOINTS (live-merge uses Bearer auth, which
  Requesty accepts)
- tests/test_model_catalog.py: floor + live-merge tests for requesty
- docs/configuration.md: router.requesty.ai -> requesty in the provider_map example

Verified: tests/test_model_catalog.py passes (15 tests incl. 2 new); ruff and
mypy clean on touched files. Floor model IDs limited to slugs verified to route
on Requesty.
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.

1 participant