nexa / env /models.py
Hariom Jaiswal
updated
ad59efe
Raw
History Blame Contribute Delete
864 Bytes
from pydantic import BaseModel, Field
from typing import List, Optional, Literal, Dict, Any
class Email(BaseModel):
id: str
subject: str
body: str
class TaskItem(BaseModel):
id: str
description: str
status: Literal["pending", "completed"] = "pending"
class CalendarEvent(BaseModel):
id: str
title: str
time: str
class Observation(BaseModel):
inbox: List[Email]
tasks: List[TaskItem]
calendar: List[CalendarEvent]
class Action(BaseModel):
action_type: Literal["classify_email", "extract_task", "schedule_meeting", "reply_email", "ignore_email"]
email_id: str
metadata: Optional[Dict[str, Any]] = Field(default_factory=dict)
class Reward(BaseModel):
value: float
info: str
class State(BaseModel):
observation: Observation
terminated: bool
step_count: int
total_reward: float