"""M12 请求模型。"""
from __future__ import annotations

from typing import Optional

from pydantic import BaseModel, Field


class GuidelineRequest(BaseModel):
    """检索请求。语料视图由部署注入的身份决定，不作为入参暴露（P0-1）。"""

    query: str = Field(..., description="检索词（如 '儿童CKD蛋白目标'、'钾'）")
    guideline_set: Optional[str] = Field(
        default=None, description="可选过滤: KDIGO2024/PRNT2020/China2023/Growth2025")


class SopRequest(BaseModel):
    query: str = Field(..., description="SOP 检索词")


class CitationRequest(BaseModel):
    ref_id: str = Field(..., description="指南条目或 SOP 的 id")
