Spaces:
Paused
Paused
| # src/rotator_library/provider_factory.py | |
| from .providers.gemini_auth_base import GeminiAuthBase | |
| from .providers.qwen_auth_base import QwenAuthBase | |
| from .providers.iflow_auth_base import IFlowAuthBase | |
| from .providers.antigravity_auth_base import AntigravityAuthBase | |
| PROVIDER_MAP = { | |
| "gemini_cli": GeminiAuthBase, | |
| "qwen_code": QwenAuthBase, | |
| "iflow": IFlowAuthBase, | |
| "antigravity": AntigravityAuthBase, | |
| } | |
| def get_provider_auth_class(provider_name: str): | |
| """ | |
| Returns the authentication class for a given provider. | |
| """ | |
| provider_class = PROVIDER_MAP.get(provider_name.lower()) | |
| if not provider_class: | |
| raise ValueError(f"Unknown provider: {provider_name}") | |
| return provider_class | |
| def get_available_providers(): | |
| """ | |
| Returns a list of available provider names. | |
| """ | |
| return list(PROVIDER_MAP.keys()) |