Represents a running workflow task
| 19 | |
| 20 | @dataclass |
| 21 | class WorkflowTask: |
| 22 | """Represents a running workflow task""" |
| 23 | |
| 24 | task_id: str |
| 25 | status: str = "pending" # pending | running | waiting_for_input | completed | error | cancelled |
| 26 | progress: int = 0 |
| 27 | message: str = "" |
| 28 | result: Optional[Dict[str, Any]] = None |
| 29 | error: Optional[str] = None |
| 30 | started_at: Optional[datetime] = None |
| 31 | completed_at: Optional[datetime] = None |
| 32 | cancel_event: asyncio.Event = field(default_factory=asyncio.Event) |
| 33 | # User-in-Loop support |
| 34 | pending_interaction: Optional[Dict[str, Any]] = ( |
| 35 | None # Current interaction request waiting for user |
| 36 | ) |
| 37 | |
| 38 | |
| 39 | class WorkflowService: |