"""Domain models for CleverAgents - auto-generated from Phase 0 stubs."""

from pydantic import Field

from ..aimodelsdatamodels import BaseModelConfig, ModelRoleConfig
from ..base import DomainBaseModel
from ..core.enums import FallbackType, ModelErrKind


class ModelError(DomainBaseModel):
    """Data contract for ModelError."""

    kind: ModelErrKind = Field(...)
    retriable: bool = Field(...)
    retryafterseconds: int = Field(...)


class FallbackResult(DomainBaseModel):
    """Data contract for FallbackResult."""

    modelroleconfig: ModelRoleConfig | None = Field(default=None)
    isfallback: bool = Field(...)
    fallbacktype: FallbackType = Field(...)
    basemodelconfig: BaseModelConfig | None = Field(default=None)
