from llm_tool import llm from notification_tool import send_email_reminder from calendar_tool import get_calendar_service, add_to_calendar class TaskAgent: def __init__(self): self.tasks = [] self.calendar_service = get_calendar_service() def add_task(self, name, description, email): suggestion = self._safe_get_deadline(description) deadline = self._extract_field(suggestion, "Recommended Deadline") priority = self._extract_field(suggestion, "Priority") self.tasks.append({ "name": name, "description": description, "deadline": deadline or "2024-12-31 23:59", "priority": priority or "Medium", "status": "Pending", "email": email }) if self.calendar_service: add_to_calendar(self.calendar_service, name, deadline) return suggestion def _safe_get_deadline(self, description): try: return llm.get_deadline_suggestion(description) except Exception as e: return f"LLM unavailable: {str(e)}. Set deadline manually." def _extract_field(self, text, field): for line in text.split("\n"): if field in line: return line.split(":", 1)[-1].strip() return None # This line is CRITICAL — don't remove it agent = TaskAgent()