from typing import Dict, Any, List from .config import PM_THRESHOLDS def predictive_maintenance(car_year: int = None, mileage_km: int = None) -> List[str]: tips = [] if mileage_km is not None: if mileage_km % PM_THRESHOLDS["engine_oil"] > PM_THRESHOLDS["engine_oil"] - 1000: tips.append("Engine oil service due soon based on mileage.") if mileage_km % PM_THRESHOLDS["tire_rotation"] > PM_THRESHOLDS["tire_rotation"] - 500: tips.append("Consider tire rotation and balancing.") if mileage_km > 50000: tips.append("Inspect suspension components (shocks/struts) for wear.") if mileage_km > 80000: tips.append("Check timing belt/chain and water pump as per manufacturer schedule.") if car_year is not None and car_year < 2015: tips.append("Vehicle age suggests comprehensive electrical & rubber parts inspection.") if not tips: tips.append("No immediate predictive maintenance items flagged.") return tips def advanced_suggestions(top_issues: Dict[str, Any]) -> List[str]: tips = [] if "engine_leak" in top_issues: tips.append("After fixing leak, clean engine bay and monitor oil level weekly for 1 month.") if "brake_wear" in top_issues: tips.append("Bed-in new pads and avoid hard braking for first 200 km.") if "flat_tire" in top_issues: tips.append("Check alignment and inspect other tires for embedded nails/screws.") if "rust" in top_issues: tips.append("Apply rust protection and inspect underbody after monsoon season.") if "cracked_windshield" in top_issues: tips.append("Avoid potholes and sudden temperature changes until replacement.") return tips