"""ORM row for administrator-managed model capabilities.""" from __future__ import annotations from datetime import UTC, datetime from sqlalchemy import Boolean, String, false from sqlalchemy.orm import Mapped, mapped_column from deerflow.persistence.base import Base from deerflow.persistence.types import BeijingDateTime class ModelCapabilityRow(Base): __tablename__ = "model_capabilities" model_name: Mapped[str] = mapped_column(String(160), primary_key=True) supports_reasoning_effort: Mapped[bool] = mapped_column( Boolean, nullable=False, default=False, server_default=false(), ) default_reasoning_effort: Mapped[str] = mapped_column( String(16), nullable=False, default="xhigh", server_default="xhigh", ) updated_by: Mapped[str | None] = mapped_column(String(64), nullable=True) updated_at: Mapped[datetime] = mapped_column( BeijingDateTime(), nullable=False, default=lambda: datetime.now(UTC), onupdate=lambda: datetime.now(UTC), )