legco_ai_assistant/backend/app/models/prompts.py

68 lines
1.4 KiB
Python

"""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