"""场景元数据 API:暴露已注册的审计场景,供前端动态渲染。 新增场景(实现 BaseScenario 并经 @register_scenario 注册)后,本端点自动反映, 无需改动前端代码。导入 registry 时会触发 app.scenarios 包的自动发现与注册。 """ from __future__ import annotations from fastapi import APIRouter from app.api.schemas import ScenarioOut from app.scenarios.registry import scenario_meta router = APIRouter(prefix="/scenarios", tags=["scenarios"]) @router.get("", response_model=list[ScenarioOut]) def list_scenarios() -> list[dict]: """返回全部已注册场景的元数据(场景码、标题、展示名、风险域)。""" return scenario_meta()