MetaLearning / env /models.py
Salil-IND's picture
Second Commit
78940a4 verified
raw
history blame contribute delete
960 Bytes
from pydantic import BaseModel, Field
from typing import List, Optional, Dict, Any
class Email(BaseModel):
id: str
sender: str
subject: str
body: str
metadata: Dict[str, Any] = Field(default_factory=dict, description="Metadata like SLA, tags, or threat-level.")
class Observation(BaseModel):
inbox: List[Email]
archived: List[Email]
replied: List[Email]
forwarded: List[Email]
spam: List[Email]
escalated: List[Email]
pending_info: List[Email]
class Action(BaseModel):
action_type: str = Field(..., description="'reply', 'forward', 'archive', 'mark_spam', 'request_info', or 'escalate'")
email_id: str
response_text: Optional[str] = None
forward_to: Optional[str] = None
priority_level: str = Field(default="normal", description="'urgent', 'normal', or 'low'")
class State(BaseModel):
step_count: int
max_steps: int
score: float
is_done: bool
observation: Observation