from pydantic import BaseModel
from typing import Optional, List
from datetime import datetime
class ProductImage(BaseModel):
"""Domain entity representing a product seam image."""
image_id: str
machine_setting: str
timestamp: datetime
image_data: bytes
anomaly_label: Optional[str] = None
class Dataset(BaseModel):
"""Domain entity representing a dataset of product images."""
name: str
version: str
images: List[ProductImage]
created_at: datetime
class InferenceResult(BaseModel):
"""Domain entity representing an anomaly detection inference result."""
image_id: str
anomaly_score: float
is_anomalous: bool
confidence: float
inference_time_ms: float