STATUS_QUEUED = "queued"
STATUS_RUNNING = "running"
STATUS_COMPLETED = "completed"
STATUS_FAILED = "failed"
STATUS_KILLED = "killed"

TERMINAL_STATUSES: frozenset[str] = frozenset([STATUS_COMPLETED, STATUS_FAILED, STATUS_KILLED])

STATUS_ICONS: dict[str, str] = {
    STATUS_COMPLETED: "✓",
    STATUS_FAILED: "✗",
    STATUS_KILLED: "🛑",
}

JOB_INIT_MAX_ATTEMPTS = 10
COMPLETED_JOB_LOG_TAIL_LINES = 5000
HISTORY_MAX_DISPLAY = 25
COMMAND_TRUNCATE_DEFAULT = 80
COMMAND_TRUNCATE_SHORT = 50
COMMAND_TRUNCATE_QUEUE = 60
ATTACH_LOG_TAIL_LINES = 1000
QUEUE_PREVIEW_COUNT = 3
PING_THRESHOLD_GOOD = 50
PING_THRESHOLD_WARNING = 100
