"""Pydantic schemas for the prompt-profile management endpoints.""" from pydantic import BaseModel class ProfileItem(BaseModel): name: str is_active: bool class ProfileListResponse(BaseModel): profiles: list[ProfileItem] class PromptSetResponse(BaseModel): profile_name: str prompts: dict[str, str] class PromptUpdateRequest(BaseModel): template: str class PromptBatchUpdateRequest(BaseModel): prompts: dict[str, str] class ResetToDefaultsRequest(BaseModel): step: str | None = None # ── Export / Import models ───────────────────────────────────────────────── class ProfileExportRequest(BaseModel): format: str = "legco-reranker-profile/v1" profile_name: str exported_at: str | None = None prompts: dict[str, str] class ProfileExportResponse(BaseModel): format: str profile_name: str exported_at: str prompts: dict[str, str] class AllProfilesExportResponse(BaseModel): format: str exported_at: str active_profile: str profiles: dict[str, dict] class ProfileImportRequest(BaseModel): format: str profile_name: str exported_at: str | None = None prompts: dict[str, str] class ProfileImportResponse(BaseModel): status: str profile: str imported_steps: int source_profile: str