from dataclasses import dataclass from datetime import datetime from typing import Optional @dataclass class Room: id: int name: str device_label: Optional[str] is_active: bool last_seen: Optional[datetime] created_at: datetime @dataclass class Speaker: id: int name: str created_at: datetime updated_at: datetime @dataclass class VoiceEmbedding: id: int speaker_id: int embedding: bytes # packed float32 audio_sample: Optional[bytes] created_at: datetime @dataclass class Utterance: id: int room_id: int speaker_id: Optional[int] transcript: str embedding: Optional[bytes] match_status: str # known | unknown | ambiguous | unreviewed match_confidence: Optional[float] start_time: datetime end_time: datetime audio_clip_path: Optional[str] livekit_room: Optional[str] created_at: datetime @dataclass class DailySummary: id: int date: str # YYYY-MM-DD summary_text: str generated_at: datetime