Files
siemens_ragas/webapp/api/scenarios.py

22 lines
732 B
Python
Raw Permalink Normal View History

"""Route for discovering scenario YAML files that can be evaluated."""
from __future__ import annotations
import logging
from fastapi import APIRouter
from webapp.services import scenario_scanner
router = APIRouter(prefix="/api/scenarios", tags=["scenarios"])
logger = logging.getLogger("webapp.api.scenarios")
@router.get("")
def get_scenarios() -> dict[str, list]:
"""Return every scenario file found under the scenarios/ directory."""
scenarios = scenario_scanner.list_scenarios()
valid = sum(1 for s in scenarios if not s.error)
logger.info("[get_scenarios] total=%d valid=%d errors=%d", len(scenarios), valid, len(scenarios) - valid)
return {"scenarios": [item.model_dump() for item in scenarios]}