import hashlib from dataclasses import dataclass def content_hash(content: str) -> str: return hashlib.sha256(content.encode()).hexdigest() @dataclass class SyncStats: added: int = 0 updated: int = 0 deleted: int = 0 unchanged: int = 0 @dataclass class VectorHit: id: str kind: str ref: str title: str content: str metadata: dict similarity: float def hit_from_metadata(similarity: float, metadata: dict | None) -> VectorHit: """Build a transport-neutral hit from the metadata returned by a vector adapter.""" md = metadata or {} return VectorHit( id=md.get("record_key", ""), kind=md.get("record_kind", md.get("kind", "")), ref=md.get("ref", ""), title=md.get("title", ""), content=md.get("content", ""), metadata=md, similarity=float(similarity), )