from __future__ import annotations

import uuid
from datetime import datetime

from pydantic import BaseModel


class SearchResultItem(BaseModel):
    entity_id: uuid.UUID
    entity_type: str
    title: str
    url: str
    domain: str
    summary: str
    tags: list[str]
    similarity: float
    created_at: datetime | None


class SearchResponse(BaseModel):
    query: str
    total: int
    items: list[SearchResultItem]
