"""Request contract for the Modelling Run Distributor (ADR-0055/0056).""" from uuid import UUID from pydantic import BaseModel from backend.app.modelling.property_filters import PropertyGroupFilters class TriggerRunRequest(BaseModel): """Exactly what the app sends: the app-created task, the portfolio scope, the scenarios to model, and the property-group filters ({} = everything). Anything else the distributor might want is readable from the task row.""" task_id: UUID portfolio_id: int scenario_ids: list[int] filters: PropertyGroupFilters = PropertyGroupFilters()