"""All closed-set enums used across the codebase.""" from enum import StrEnum class Backend(StrEnum): OPENROUTER = "openrouter" ANTHROPIC = "anthropic" OPENAI = "openai" GOOGLE = "google" FAKE = "fake" class Capability(StrEnum): SPEC_WRITE = "spec_write" PHASE_PLANNING = "phase_planning" TASK_DAG_PLANNING = "task_dag_planning" CODE_EDIT = "code_edit" TEST_FIRST_DEVELOPMENT = "test_first_development" CODE_REVIEW = "code_review" EVIDENCE_CHECK = "evidence_check" COMMAND_EXECUTE = "command_execute" BACKTEST_RUN = "backtest_run" METRIC_EXTRACT = "metric_extract" FAILURE_MINING = "failure_mining" OBJECTIVE_EVAL = "objective_eval" FINAL_REPORT_COMPOSE = "final_report_compose" class RiskLevel(StrEnum): LOW = "low" MEDIUM = "medium" HIGH = "high" class ApprovalDecisionAction(StrEnum): APPROVE = "approve" REJECT = "reject" REQUEST_CHANGES = "request_changes" ABORT = "abort" class ApprovalState(StrEnum): PENDING = "pending" APPROVED = "approved" REJECTED = "rejected" CHANGES_REQUESTED = "changes_requested" ABORTED = "aborted" PAUSED = "paused" class RunState(StrEnum): CREATED = "created" BOUND = "bound" PLANNING = "planning" AWAITING_APPROVAL = "awaiting_approval" EXECUTING = "executing" PAUSED = "paused" COMPLETED = "completed" FAILED = "failed" ABORTED = "aborted" class RunPhaseState(StrEnum): PENDING = "pending" RUNNING = "running" AWAITING_ARTIFACT = "awaiting_artifact" VALIDATING = "validating" AWAITING_APPROVAL = "awaiting_approval" COMPLETED = "completed" FAILED = "failed" SKIPPED = "skipped" class SessionState(StrEnum): CREATED = "CREATED" BOOTSTRAPPING = "BOOTSTRAPPING" READY = "READY" BUSY = "BUSY" WAITING_FOR_APPROVAL = "WAITING_FOR_APPROVAL" ARTIFACT_TIMEOUT = "ARTIFACT_TIMEOUT" HUNG = "HUNG" CRASHED = "CRASHED" RESUMING = "RESUMING" REBOOTSTRAPPED = "REBOOTSTRAPPED" FAILED_NEEDS_HUMAN = "FAILED_NEEDS_HUMAN" class ErrorClass(StrEnum): RECOVERABLE = "recoverable" HUMAN_REQUIRED = "human_required" FATAL = "fatal"