SurfSense/surfsense_backend
Thibault Jaigu 2ff7ea4cb6 feat: add Requesty as a model provider
Add Requesty (https://requesty.ai), an OpenAI-compatible LLM router, as a
model provider by mirroring the existing OpenRouter integration.

Backend:
- app/services/requesty_model_normalizer.py: normalizes Requesty's /v1/models
  catalogue, mapping its flat capability booleans (supports_tool_calling/
  supports_vision/supports_image_generation) and context_window field onto the
  shared normalized shape (Requesty differs from OpenRouter's architecture +
  supported_parameters + context_length layout)
- provider_registry.py: Requesty ProviderSpec (OpenAI-compatible, base URL
  https://router.requesty.ai/v1, REQUESTY_API_KEY bearer auth)
- model_connection_service.py: key verification + live model discovery
- quality_score.py: Requesty score entry
- unit tests mirroring the OpenRouter normalizer coverage

Frontend:
- Requesty provider icon + registration, metadata entry, and base-url hint

Signed-off-by: Thibault Jaigu <thibault.jaigu@gmail.com>
2026-07-13 09:42:30 +01:00
..
alembic refactor: improve session management and concurrency in Google Search fetcher 2026-07-06 22:33:40 -07:00
app feat: add Requesty as a model provider 2026-07-13 09:42:30 +01:00
scripts Merge remote-tracking branch 'upstream/dev' into feat/instagram-scraper 2026-07-11 04:31:11 +05:30
tests feat: add Requesty as a model provider 2026-07-13 09:42:30 +01:00
.dockerignore chore(backend): exclude tests/ from production Docker image 2026-05-06 17:16:22 +05:30
.env.example Merge remote-tracking branch 'upstream/dev' into feat/instagram-scraper 2026-07-11 04:31:11 +05:30
.gitignore chore(.gitignore): ignore Instagram tagged test fixture 2026-07-11 03:25:39 +05:30
.python-version feat: SurfSense v0.0.6 init 2025-03-14 18:53:14 -07:00
alembic.ini add github connector, add alembic for db migrations, fix bug updating connectors 2025-04-13 13:56:22 -07:00
celery_worker.py fix: celery_app path and gmail indexing 2025-10-21 21:11:41 -07:00
Dockerfile docs(docker): note entrypoint wires xvfb at runtime 2026-07-10 17:17:53 +02:00
main.py feat: api playground, other tweaks 2026-07-06 16:45:04 -07:00
pyproject.toml chore: bumped version to 0.0.31 2026-07-06 21:43:15 -07:00
uv.lock chore: bumped version to 0.0.31 2026-07-06 21:43:15 -07:00