Spaces:
Sleeping
Sleeping
File size: 1,423 Bytes
d69a935 628ab8b d69a935 ae3c0a1 d69a935 628ab8b |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
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() |