Coverage for src/local_deep_research/llm/providers/implementations/requesty.py: 100%
14 statements
« prev ^ index » next coverage.py v7.15.1, created at 2026-07-19 23:35 +0000
« prev ^ index » next coverage.py v7.15.1, created at 2026-07-19 23:35 +0000
1"""Requesty LLM provider for Local Deep Research."""
3from ..base import Exposure
4from ..openai_base import OpenAICompatibleProvider
7class RequestyProvider(OpenAICompatibleProvider):
8 """Requesty provider using OpenAI-compatible endpoint.
10 Requesty is an LLM gateway that provides access to many different models
11 through a unified OpenAI-compatible API, using ``provider/model`` naming
12 (e.g. ``openai/gpt-4o-mini``), automatically supporting current and future
13 models without needing code updates.
14 """
16 provider_name = "Requesty"
17 api_key_setting = "llm.requesty.api_key"
18 default_base_url = "https://router.requesty.ai/v1"
19 default_model = "" # User must explicitly pick a model — no silent fallback
21 # Metadata for auto-discovery
22 provider_key = "REQUESTY"
23 company_name = "Requesty"
24 is_cloud = True
25 # Egress exposure (ADR-0007): cloud inference sink — data leaves the box.
26 egress_exposure = Exposure.EXPOSING
28 @classmethod
29 def requires_auth_for_models(cls):
30 """Requesty requires authentication for listing models."""
31 return True