from enum import StrEnum


class EventType(StrEnum):
    RUN_STARTED = "run.started"
    RUN_COMPLETED = "run.completed"
    RUN_FAILED = "run.failed"
    RUN_PAUSED = "run.paused"
    RUN_RESUMED = "run.resumed"
    STEP_STARTED = "step.started"
    STEP_COMPLETED = "step.completed"
    STEP_PAUSED = "step.paused"
    WORKER_STARTED = "worker.started"
    WORKER_COMPLETED = "worker.completed"
    WORKER_FAILED = "worker.failed"
    WORKER_PAUSED = "worker.paused"
    WORKER_CONTEXT_SUMMARIZED = "worker.context_summarized"
    WORKFORCE_STARTED = "workforce.started"
    WORKFORCE_COMPLETED = "workforce.completed"
    TOOL_STARTED = "tool.started"
    TOOL_COMPLETED = "tool.completed"
    TOOL_FAILED = "tool.failed"
    TOOL_CONFIRMATION_REQUESTED = "tool.confirmation_requested"
    TOOL_USER_INPUT_REQUESTED = "tool.user_input_requested"
    STREAM_TOKEN = "stream.token"
    ASSISTANT_MESSAGE = "assistant.message"
    LLM_STARTED = "llm.started"
    LLM_COMPLETED = "llm.completed"
    LLM_FAILED = "llm.failed"
