d95fa30017
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
55 lines
1.0 KiB
Python
55 lines
1.0 KiB
Python
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
|