Skip to content

Enums

agenticraft_types.enums

Shared enumerations for AgentiCraft packages.

ProviderName

Bases: str, Enum

Supported LLM provider identifiers.

Source code in src/agenticraft_types/enums.py
class ProviderName(str, Enum):
    """Supported LLM provider identifiers."""

    OPENAI = "openai"
    ANTHROPIC = "anthropic"
    GOOGLE = "google"
    AZURE_OPENAI = "azure_openai"
    BEDROCK = "bedrock"
    FIREWORKS = "fireworks"
    CEREBRAS = "cerebras"
    COHERE = "cohere"
    DEEPSEEK = "deepseek"
    XAI = "xai"
    OLLAMA = "ollama"
    OPENROUTER = "openrouter"
    PERPLEXITY = "perplexity"
    NEBIUS = "nebius"
    GROQ = "groq"
    TOGETHER = "together"
    MISTRAL = "mistral"

FailureType

Bases: str, Enum

Classification of failure types for circuit breakers and error handling.

Source code in src/agenticraft_types/enums.py
class FailureType(str, Enum):
    """Classification of failure types for circuit breakers and error handling."""

    RATE_LIMIT = "rate_limit"
    AUTH = "auth"
    MODEL = "model"
    NETWORK = "network"
    CONTENT = "content"
    TIMEOUT = "timeout"
    SERVICE_ERROR = "service_error"
    CONNECTION_ERROR = "connection_error"
    UNKNOWN = "unknown"

RoutingStrategy

Bases: str, Enum

Provider routing/selection strategies.

Source code in src/agenticraft_types/enums.py
class RoutingStrategy(str, Enum):
    """Provider routing/selection strategies."""

    THOMPSON = "thompson"
    ROUND_ROBIN = "round_robin"
    COST_AWARE = "cost_aware"
    RANDOM = "random"
    LEAST_USED = "least_used"
    LATENCY = "latency"
    QUALITY = "quality"

MessageRole

Bases: str, Enum

Message roles in a conversation.

Source code in src/agenticraft_types/enums.py
class MessageRole(str, Enum):
    """Message roles in a conversation."""

    SYSTEM = "system"
    USER = "user"
    ASSISTANT = "assistant"
    TOOL = "tool"

CircuitBreakerState

Bases: str, Enum

Circuit breaker states.

Source code in src/agenticraft_types/enums.py
class CircuitBreakerState(str, Enum):
    """Circuit breaker states."""

    CLOSED = "closed"
    OPEN = "open"
    HALF_OPEN = "half_open"