Spaces:
Sleeping
Sleeping
| from __future__ import annotations | |
| from typing import Literal | |
| from pydantic import BaseModel, Field | |
| class EmailSummary(BaseModel): | |
| id: int | |
| sender: str | |
| subject: str | |
| snippet: str | |
| class EmailDetail(BaseModel): | |
| id: int | |
| sender: str | |
| recipient: str | |
| subject: str | |
| body: str | |
| timestamp: str | |
| class FileSearchResult(BaseModel): | |
| id: int | |
| filename: str | |
| snippet: str | |
| class WorkspaceObservation(BaseModel): | |
| current_time: str | |
| unread_emails: list[EmailSummary] | |
| active_todos: list[str] | |
| last_action_status: str | |
| current_email: EmailDetail | None = None | |
| search_results: list[FileSearchResult] = Field(default_factory=list) | |
| action_history: list[str] = Field(default_factory=list) | |
| class AssistantAction(BaseModel): | |
| action_type: Literal[ | |
| "read_email", | |
| "reply", | |
| "forward", | |
| "add_todo", | |
| "archive", | |
| "search_files", | |
| ] | |
| target_id: int | None = None | |
| payload: str | None = None | |
| secondary_payload: str | None = None | |
| class TaskReward(BaseModel): | |
| step_reward: float = Field(default=0.0) | |
| total_score: float = Field(default=0.0) | |
| is_done: bool = Field(default=False) | |
| reasoning: str = Field(default="") | |
| class PolicyDecision(BaseModel): | |
| reasoning: str = Field(default="") | |
| action: AssistantAction | |