from datetime import date from typing import Literal from pydantic import BaseModel class ReportResponse(BaseModel): title: str content: str lines: list[str] class PushReportRequest(BaseModel): receive_id: str | None = None receive_id_type: str = "chat_id" actor: str = "system" class WorkReportGenerateRequest(BaseModel): report_type: Literal["daily", "weekly"] = "daily" reporter: str = "system" department: str | None = None project_code: str | None = None period_start: date | None = None period_end: date | None = None persist: bool = True actor: str = "api"