import enum class FanoutSource(enum.StrEnum): manual = "manual" triggered = "triggered" scheduled = "scheduled" class TaskStatus(enum.StrEnum): idle = "idle" queued = "queued" running = "running" done = "done" stale = "stale" # was running but timed out without a completion signal error = "error" cancelled = "cancelled" paused = "paused" class TaskFinishedReason(enum.StrEnum): done = "done" timed_out = "timed_out" circuit_breaker = "circuit_breaker" stalled = "stalled" cancelled = "cancelled" no_credentials = "no_credentials"