from pydantic import BaseModel, Field, NonNegativeInt, PositiveInt class PictureAsset(BaseModel): id: str = Field(min_length=1) name: str = Field(min_length=1) image_path: str = Field(min_length=1) class SubtractionEquation(BaseModel): initial_quantity: PositiveInt removed_quantity: PositiveInt remaining_quantity: NonNegativeInt symbol: str = "-" equals_symbol: str = "=" class FigureGroup(BaseModel): label: str = Field(min_length=1) quantity: NonNegativeInt picture: PictureAsset class SubtractWithImageReferenceProblem(BaseModel): title: str = "¿Cuántos quedan?" question: str object_name: str = Field(min_length=1) actor_name: str = Field(min_length=1) figure: PictureAsset remaining_group: FigureGroup subtracted_group: FigureGroup equation: SubtractionEquation class SubtractWithImageReferenceRequest(BaseModel): object_name: str = Field(min_length=1) initial_quantity: PositiveInt removed_quantity: PositiveInt figure: PictureAsset actor_name: str = Field(default="Diego", min_length=1)