from __future__ import annotations from uuid import UUID from pydantic import BaseModel class AraFirstRunTriggerBody(BaseModel): """The SQS event the ``ara_first_run`` Lambda is triggered with. A thin command. ``task_id``/``sub_task_id`` drive the SubTask lifecycle (the ``@subtask_handler`` decorator reads them); the three business fields are what the pipeline threads downstream. UPRNs and Scenario definitions are deliberately absent — they are read from their source-of-truth tables, not carried on the event (issue #1130). No ``model_config`` override: Pydantic's default ``extra="ignore"`` lets the FastAPI backend add fields to the payload without breaking deployed lambdas. """ task_id: UUID sub_task_id: UUID portfolio_id: int property_ids: list[int] scenario_ids: list[int]