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

1"""Requesty LLM provider for Local Deep Research.""" 

2 

3from ..base import Exposure 

4from ..openai_base import OpenAICompatibleProvider 

5 

6 

7class RequestyProvider(OpenAICompatibleProvider): 

8 """Requesty provider using OpenAI-compatible endpoint. 

9 

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 """ 

15 

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 

20 

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 

27 

28 @classmethod 

29 def requires_auth_for_models(cls): 

30 """Requesty requires authentication for listing models.""" 

31 return True