Spaces:
Running
Running
File size: 899 Bytes
5c793cc | 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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | from dataclasses import dataclass, field
from datetime import datetime
from typing import Any
@dataclass(frozen=True)
class PostSourceRecord:
id: str
document: str
metadata: dict[str, Any]
content_hash: str
is_active: bool
author_type: str | None = None
author_id: str | None = None
published_at: datetime | None = None
source_version: int | None = None
@dataclass(frozen=True)
class PostChangeRecord:
event_id: int
post_id: str
operation: str
source_version: int
post: PostSourceRecord | None = None
@dataclass(frozen=True)
class PostEmbeddingRecord:
source: PostSourceRecord
embedding: list[float]
versioned_hash: str
@dataclass
class PostSyncResult:
processed: int = 0
skipped: int = 0
upserted: int = 0
deactivated: int = 0
last_event_id: int = 0
errors: list[str] = field(default_factory=list)
|