"""API request/response schemas."""
from __future__ import annotations

from typing import Any

from pydantic import BaseModel


class ErrorResponse(BaseModel):
    detail: str


class ExperimentSearchResponse(BaseModel):
    experiments: list[dict[str, Any]]
    total: int


class LineageResponse(BaseModel):
    tree: dict[str, Any]
    ancestor_chain: list[str]


class DiffResponse(BaseModel):
    overrides: dict[str, Any]
    engines: dict[str, Any]
    tags: dict[str, Any]
    description: dict[str, Any]


class LeaderboardResponse(BaseModel):
    entries: list[dict[str, Any]]
    total: int
