20 lines
429 B
Python
20 lines
429 B
Python
from dataclasses import dataclass
|
|
from zoneinfo import ZoneInfo
|
|
|
|
from .ai import AIClient
|
|
from .speech import SpeechTranscriber
|
|
from .storage import AssistantStorage
|
|
|
|
|
|
SERVICES_KEY = "services"
|
|
|
|
|
|
@dataclass(frozen=True)
|
|
class ApplicationServices:
|
|
storage: AssistantStorage
|
|
ai_client: AIClient
|
|
timezone: ZoneInfo
|
|
speech_recognizer: SpeechTranscriber
|
|
voice_max_duration_seconds: int
|
|
assistant_password: str
|