import datetime from typing import List, Dict, Optional class Task: def __init__(self, description: str, deadline: Optional[str] = None): self.description = description self.deadline = deadline self.created_at = datetime.datetime.now() self.status = "scheduled" def to_dict(self) -> Dict: return { "description": self.description, "deadline": self.deadline, "created_at": self.created_at.isoformat(), "status": self.status } class PlannerScheduler: def __init__(self): self.tasks: List[Task] = [] def schedule_task(self, description: str, deadline: Optional[str] = None) -> str: task = Task(description, deadline) self.tasks.append(task) return f"Task '{description}' scheduled." def list_tasks(self, status_filter: Optional[str] = None) -> List[Dict]: return [t.to_dict() for t in self.tasks if status_filter is None or t.status == status_filter] def update_task_status(self, index: int, new_status: str) -> str: if 0 <= index < len(self.tasks): self.tasks[index].status = new_status return f"Task '{self.tasks[index].description}' marked as {new_status}." return "Invalid task index."