Files
document-haness/build/lib/claridoc/providers/registry.py
T

22 lines
816 B
Python

from __future__ import annotations
from claridoc.models import ProviderSpec, ValidationError
from claridoc.providers.antigravity import AntigravityProvider
from claridoc.providers.base import Provider
from claridoc.providers.claude import ClaudeProvider
from claridoc.providers.codex import CodexProvider
from claridoc.providers.mock import MockProvider
def create_provider(spec: ProviderSpec) -> Provider:
name = spec.provider.casefold().strip()
if name == "mock":
return MockProvider(spec)
if name == "codex":
return CodexProvider(spec)
if name == "claude":
return ClaudeProvider(spec)
if name == "antigravity":
return AntigravityProvider(spec)
raise ValidationError(f"unsupported provider: {spec.provider}; expected mock, codex, claude, or antigravity")