OpenenvScaler / models.py
KRISHDEV99's picture aryanpatel's picture
Upload 17 files (#1)
bbe2ae8
Raw History Blame Contribute Delete
1.38 kB
from __future__ import annotations
from typing import Any, Dict, List, Literal, Optional
from openenv.core.env_server.types import Action, Observation, State
from pydantic import Field
class SupportAction(Action):
action_type: Literal["classify", "search_kb", "respond", "escalate"] = Field(
..., description="Action category taken by the agent"
)
content: str = Field(default="", description="Action payload text")
class SupportObservation(Observation):
ticket_id: int = Field(..., description="Current ticket identifier")
task_id: str = Field(..., description="Current task id")
difficulty: Literal["easy", "medium", "hard"] = Field(...)
query: str = Field(..., description="Customer support query")
kb_id: str = Field(..., description="Expected knowledge-base identifier")
requires_escalation: bool = Field(..., description="Whether escalation is required")
history: List[Dict[str, Any]] = Field(default_factory=list)
feedback: str = Field(default="", description="Reward-shaping feedback")
class SupportState(State):
difficulty_filter: Optional[str] = Field(default=None)
current_index: int = Field(default=0)
task_id: str = Field(default="")
score_so_far: float = Field(default=0.0)
final_score: float = Field(default=0.0)
done: bool = Field(default=False)