Spaces:
Sleeping
Sleeping
| from typing import Optional, List, Any, Literal | |
| from pydantic import Field, ConfigDict | |
| from openenv.core.env_server.types import Action, Observation, State | |
| TOOL_NAMES = Literal[ | |
| "search_kb", | |
| "get_article", | |
| "search_tickets", | |
| "get_ticket", | |
| "search_incidents", | |
| "get_incident", | |
| "submit_resolution", | |
| ] | |
| class TriageAction(Action): | |
| tool_name: TOOL_NAMES = "search_kb" | |
| query: Optional[str] = None | |
| status: Optional[str] = None | |
| max_results: int = 5 | |
| ticket_id: Optional[str] = None | |
| article_id: Optional[str] = None | |
| incident_id: Optional[str] = None | |
| resolution: Optional[str] = None | |
| cited_artifacts: Optional[List[str]] = None | |
| confidence: Optional[float] = None | |
| escalate: bool = False | |
| class TriageObservation(Observation): | |
| ticket_id: str = "" | |
| ticket_title: str = "" | |
| ticket_description: str = "" | |
| tool_name: str = "reset" | |
| tool_result: dict = Field(default_factory=dict) | |
| turn: int = 0 | |
| max_turns: int = 20 | |
| remaining_budget: int = 20 | |
| info: dict = Field(default_factory=dict) | |
| class TriageState(State): | |
| model_config = ConfigDict(arbitrary_types_allowed=True) | |
| # Task | |
| target_ticket_id: str = "" | |
| gold_resolution: str = "" | |
| gold_cited_ids: List[str] = Field(default_factory=list) | |
| difficulty: str = "medium" | |
| is_unanswerable: bool = False | |
| # Tracked behavior | |
| tools_called: List[Any] = Field(default_factory=list) | |
| artifacts_viewed: List[str] = Field(default_factory=list) | |
| searches_made: int = 0 | |
| fetches_made: int = 0 | |
| # Terminal data | |
| submitted: bool = False | |
| submitted_resolution: Optional[str] = None | |
| submitted_citations: List[str] = Field(default_factory=list) | |
| submitted_confidence: Optional[float] = None | |
| submitted_escalate: bool = False | |