Spaces:
Sleeping
Sleeping
| from pydantic import BaseModel, Field | |
| from typing import Any, Dict, List, Optional | |
| class Observation(BaseModel): | |
| task_id: str | |
| difficulty: str | |
| chat_history: List[str] | |
| constraints: Optional[dict] = None | |
| step_count: int | |
| features: Dict[str, Any] = Field(default_factory=dict) | |
| session_id: Optional[str] = None | |
| class Action(BaseModel): | |
| type: str # "tool" | "final_answer" | |
| content: str = "" | |
| tool_name: Optional[str] = None | |
| class StepResult(BaseModel): | |
| observation: Observation | |
| reward: float | |
| done: bool | |
| info: Dict[str, Any] | |
| class ResetRequest(BaseModel): | |
| task_id: Optional[str] = None | |
| session_id: Optional[str] = None | |
| seed: Optional[int] = None | |
| stochastic: bool = False | |
| class StepRequest(BaseModel): | |
| session_id: Optional[str] = None | |
| action: Optional[Action] = None | |
| type: Optional[str] = None | |
| content: str = "" | |
| tool_name: Optional[str] = None | |
| def to_action(self) -> Action: | |
| if self.action is not None: | |
| return self.action | |
| return Action(type=self.type or "", content=self.content, tool_name=self.tool_name) | |