from __future__ import annotations from datetime import datetime from typing import Any from pydantic import BaseModel, Field class MenuItem(BaseModel): item_id: str name: str category: str description: str ingredients: list[str] price: int | None = None price_label: str size: str | None = None photo_url: str source_url: str scraped_at: datetime metadata: dict[str, Any] = Field(default_factory=dict) class MenuSnapshot(BaseModel): source_url: str scraped_at: datetime total_items: int items: list[MenuItem]