Source code for olo.archive.types

"""Local archive value types."""

from dataclasses import dataclass
from datetime import datetime
from typing import Literal


[docs] @dataclass(frozen=True) class ImageSummary: filename: str file_path: str file_size: int mime_type: str created_at: datetime | None modified_at: datetime | None
[docs] @dataclass(frozen=True) class VideoSummary: filename: str file_path: str file_size: int created_at: datetime | None modified_at: datetime | None recording_id: str topic: str status: str
[docs] @dataclass(frozen=True) class CaptureImageResult: filename: str file_path: str file_size: int mime_type: str
[docs] @dataclass(frozen=True) class StopVideoCaptureResult: recording_id: str filename: str file_path: str file_size: int frame_count: int duration_seconds: float reason: str
[docs] @dataclass(frozen=True) class BagTopicInfo: name: str type: str message_count: int
[docs] @dataclass(frozen=True) class BagSummary: name: str total_bytes: int file_count: int created_at: datetime | None updated_at: datetime | None duration_seconds: float message_count: int storage_format: str
[docs] @dataclass(frozen=True) class BagInfo: summary: BagSummary topics: tuple[BagTopicInfo, ...] compression: str
[docs] @dataclass(frozen=True) class StopBagRecordingResult: recording_id: str filename: str total_bytes: int
[docs] @dataclass(frozen=True) class StopBagPlaybackResult: playback_id: str
[docs] @dataclass(frozen=True) class BagSessionTerminalEvent: type: Literal["completed", "failed"] exit_code: int total_bytes: int | None = None error_message: str | None = None