"""Auto-generated error type and code lists.

DO NOT EDIT — regenerate with: python3 scripts/extract-errors.py
"""

from __future__ import annotations

from typing import Literal

from .models import (
    AgentNotFoundError,
    AgentVersionNotFoundError,
    AlreadyInvalidatedError,
    ArtifactNotFoundError,
    ArtifactNotReleasedError,
    AtCapacityError,
    CodeAnalysisError,
    CooldownActiveError,
    EvalRunNotFoundError,
    FileTooLargeError,
    HTTPValidationError,
    InvalidAgentNameError,
    InvalidArtifactTypeError,
    InvalidFileError,
    InvalidProblemIdError,
    LeaseExpiredError,
    MinerNotFoundError,
    MissingParameterError,
    MissingScoreError,
    NoActiveSuiteError,
    NotRunOwnerError,
    ProblemNotFoundError,
    RateLimitExceededError,
    RunAlreadyCompleteError,
    ScoreBelowThresholdError,
    SuiteNotFoundError,
    ValidatorNotFoundError,
)

OroErrorCode = Literal[
    "AGENT_NOT_FOUND",
    "AGENT_VERSION_NOT_FOUND",
    "ALREADY_INVALIDATED",
    "ARTIFACT_NOT_FOUND",
    "ARTIFACT_NOT_RELEASED",
    "AT_CAPACITY",
    "CODE_ANALYSIS_ERROR",
    "COOLDOWN_ACTIVE",
    "EVAL_RUN_NOT_FOUND",
    "FILE_TOO_LARGE",
    "INVALID_AGENT_NAME",
    "INVALID_ARTIFACT_TYPE",
    "INVALID_FILE",
    "INVALID_PROBLEM_ID",
    "LEASE_EXPIRED",
    "MINER_NOT_FOUND",
    "MISSING_PARAMETER",
    "MISSING_SCORE",
    "NO_ACTIVE_SUITE",
    "NOT_RUN_OWNER",
    "PROBLEM_NOT_FOUND",
    "RATE_LIMIT_EXCEEDED",
    "RUN_ALREADY_COMPLETE",
    "SCORE_BELOW_THRESHOLD",
    "SUITE_NOT_FOUND",
    "VALIDATOR_NOT_FOUND",
]

ALL_ERROR_TYPES: tuple[type, ...] = (
    AgentNotFoundError,
    AgentVersionNotFoundError,
    AlreadyInvalidatedError,
    ArtifactNotFoundError,
    ArtifactNotReleasedError,
    AtCapacityError,
    CodeAnalysisError,
    CooldownActiveError,
    EvalRunNotFoundError,
    FileTooLargeError,
    HTTPValidationError,
    InvalidAgentNameError,
    InvalidArtifactTypeError,
    InvalidFileError,
    InvalidProblemIdError,
    LeaseExpiredError,
    MinerNotFoundError,
    MissingParameterError,
    MissingScoreError,
    NoActiveSuiteError,
    NotRunOwnerError,
    ProblemNotFoundError,
    RateLimitExceededError,
    RunAlreadyCompleteError,
    ScoreBelowThresholdError,
    SuiteNotFoundError,
    ValidatorNotFoundError,
)

__all__ = [
    "AgentNotFoundError",
    "AgentVersionNotFoundError",
    "AlreadyInvalidatedError",
    "ArtifactNotFoundError",
    "ArtifactNotReleasedError",
    "AtCapacityError",
    "CodeAnalysisError",
    "CooldownActiveError",
    "EvalRunNotFoundError",
    "FileTooLargeError",
    "HTTPValidationError",
    "InvalidAgentNameError",
    "InvalidArtifactTypeError",
    "InvalidFileError",
    "InvalidProblemIdError",
    "LeaseExpiredError",
    "MinerNotFoundError",
    "MissingParameterError",
    "MissingScoreError",
    "NoActiveSuiteError",
    "NotRunOwnerError",
    "ProblemNotFoundError",
    "RateLimitExceededError",
    "RunAlreadyCompleteError",
    "ScoreBelowThresholdError",
    "SuiteNotFoundError",
    "ValidatorNotFoundError",
    "OroErrorCode",
    "ALL_ERROR_TYPES",
]
