llm-api-proxy / src /rotator_library /provider_factory.py
Mirrowel
feat(providers): ✨ add antigravity provider and auth base
d5a43fd
raw
history blame contribute delete
854 Bytes
# 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())