from __future__ import annotations from typing import Any from rag.services import get_pest_disease_risk def _stats_label(level: str | None) -> str: if level == "high": return "بالا" if level == "medium": return "متوسط" return "پایین" def _normalize_risk_block(block: dict[str, Any] | None) -> dict[str, Any]: payload = dict(block or {}) payload.setdefault("score", 0.0) payload.setdefault("level", "low") payload["statsLabel"] = _stats_label(payload.get("level")) return payload def build_pest_disease_risk_summary(*, farm_uuid: str) -> dict[str, Any]: rag_result = get_pest_disease_risk(farm_uuid=farm_uuid) return { "farm_uuid": farm_uuid, "diseaseRisk": _normalize_risk_block(rag_result.get("disease_risk")), "pestRisk": _normalize_risk_block(rag_result.get("pest_risk")), "drivers": { "keyDrivers": rag_result.get("key_drivers") or [], "summary": rag_result.get("summary"), "forecastWindow": rag_result.get("forecast_window"), "source": "rag", }, }