| from pydantic import BaseModel |
| from typing import List, Optional, Dict |
|
|
| class Email(BaseModel): |
| id: int |
| sender: str |
| subject: str |
| body: str |
| folder: str |
| priority: int |
|
|
| class CalendarEvent(BaseModel): |
| title: str |
| start_time: str |
| end_time: str |
|
|
| class Observation(BaseModel): |
| inbox_count: int |
| current_email: Optional[Email] = None |
| calendar: List[CalendarEvent] = [] |
| folders: List[str] = ["Inbox", "Archive", "Spam", "Work", "Social"] |
|
|
| class Action(BaseModel): |
| type: str |
| email_id: int |
| target_folder: Optional[str] = None |
| reply_text: Optional[str] = None |
|
|
| class Reward(BaseModel): |
| value: float |
| reason: str |
|
|