"""安全 API(§16):审计时间线查询。 工具策略治理与确认流已由百工域承接(/capabilities /mandates /petitions); 本路由保留 audit-events(行动账时间线)。 """ from __future__ import annotations from fastapi import APIRouter, Depends, Query from app.api.v1.deps import get_current_user from app.schemas.admin import AuditEntry from app.schemas.auth import CurrentUser from app.schemas.common import Page from app.services import audit as audit_service router = APIRouter(prefix="/safety", tags=["safety"]) @router.get("/audit-events", response_model=Page[AuditEntry]) async def list_audit_events( character_id: str | None = Query(default=None, description="按人物过滤。"), pivot: str | None = Query(default=None, description="按枢过滤(契约字典 §5.9)。"), page: int = Query(default=1, ge=1), page_size: int = Query(default=50, ge=1, le=200), _user: CurrentUser = Depends(get_current_user), ) -> Page[AuditEntry]: return await audit_service.query_audit_events( character_id=character_id, pivot=pivot, page=page, page_size=page_size )