| |
| |
| |
| |
| |
|
|
| """ |
| Data models for the TB2 environment. |
| """ |
|
|
| from pydantic import Field |
|
|
|
|
| |
| try: |
| |
| from openenv.core.env_server.types import Action, Observation, State |
| except ImportError: |
| |
| from openenv.core.env_server.types import Action, Observation, State |
|
|
|
|
| class Tbench2Action(Action): |
| """Action for interacting with a TB2 task session.""" |
|
|
| action_type: str = Field(default="exec") |
| command: str = Field(default="") |
| session_id: str | None = Field(default=None) |
| block: bool = Field(default=True) |
| wait_seconds: float | None = Field(default=None) |
| file_path: str = Field(default="") |
| content: str = Field(default="") |
|
|
|
|
| class Tbench2Observation(Observation): |
| """Observation returned from the TB2 environment.""" |
|
|
| instruction: str = Field(default="") |
| output: str = Field(default="") |
| success: bool = Field(default=True) |
| error: str = Field(default="") |
| task_id: str = Field(default="") |
| task_path: str = Field(default="") |
| session_id: str | None = Field(default=None) |
| action_type: str = Field(default="") |
| info: dict = Field(default_factory=dict) |
|
|
|
|
| class Tbench2State(State): |
| """Server-side state for a TB2 task.""" |
|
|
| task_id: str = Field(default="") |
| task_path: str = Field(default="") |
| session_id: str = Field(default="") |
| terminal_ready: bool = Field(default=False) |
| last_action_type: str = Field(default="") |
| last_command: str = Field(default="") |
| last_output: str = Field(default="") |
|
|