File size: 689 Bytes
aac350d | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | """Provider service — list/get provider info."""
from __future__ import annotations
from providers.registry import ProviderRegistry
class ProviderService:
"""Read-only provider info queries."""
def __init__(self, registry: ProviderRegistry) -> None:
self._registry = registry
def list_providers(self) -> list[dict]:
return [p.model_dump() for p in self._registry.info()]
def get_provider(self, name: str) -> dict | None:
for p in self._registry.info():
if p.name == name:
return p.model_dump()
return None
def manifest_errors(self) -> dict[str, str]:
return self._registry.manifest_errors()
|