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()