import re def classify_role(user_message: str) -> str | None: """Return an inferred role from the user's message using regex cues.""" text = (user_message or "").lower() if re.search(r"\b(caregiver|care giver|caring for|supporting|helping)\b", text): return "caregiver" if re.search(r"\b(pregnant|pregnancy|gestational|pregnant woman|gestational diabetes)\b", text): return "patient" if re.search(r"\b(diet|nutrition|meal plan|glycemic|carbohydrate|food facts|calorie|keto|vegetarian|vegan|grocery|menu)\b", text): return "dietary" if re.search(r"\b(study|research|paper|trial|meta-analysis|randomized|cohort|evidence|data|epidemiology)\b", text): return "researcher" if re.search(r"\b(doctor|dr\.|physician|provider|clinician|prescription|diagnosis|treatment|protocol|dose|medication|management|hba1c|a1c|insulin regimen|therapy|medical advice)\b", text): return "clinician" return None