Spaces:
Running
Running
| from typing import Any, Dict, List, Optional | |
| from openenv.core.env_server.types import Action, Observation | |
| from pydantic import Field | |
| class SQLArenaAction(Action): | |
| sql: str = Field(..., description="SQL query to execute against the database") | |
| query_type: str = Field( | |
| default="explore", | |
| description="'explore' for investigative queries, 'submit' for final answer" | |
| ) | |
| class SQLArenaObservation(Observation): | |
| # task context | |
| task_id: str = Field(default="", description="Current task identifier") | |
| difficulty: str = Field(default="easy", description="Task difficulty: easy/medium/hard/expert") | |
| question: str = Field(default="", description="Natural language question to answer via SQL") | |
| schema_info: str = Field(default="", description="Database schema description") | |
| # query result | |
| query_result: List[Dict[str, Any]] = Field( | |
| default_factory=list, | |
| description="Rows returned by the SQL query (up to 20 rows shown)" | |
| ) | |
| query_error: Optional[str] = Field( | |
| default=None, | |
| description="SQL error message if query failed, null otherwise" | |
| ) | |
| query_type: str = Field(default="explore", description="Type of query just executed") | |
| rows_returned: int = Field(default=0, description="Number of rows returned") | |
| # episode progress | |
| explore_steps_used: int = Field(default=0, description="Number of explore actions used so far") | |
| explore_steps_remaining: int = Field(default=5, description="Explore actions remaining before forced submit") | |
| submitted: bool = Field(default=False, description="Whether agent has submitted final answer") | |
| # feedback shown only after submit | |
| is_correct: Optional[bool] = Field(default=None, description="Whether submitted answer is correct (after submit only)") | |
| feedback: Optional[str] = Field(default=None, description="Feedback message after submission") | |
| expected_row_count: Optional[int] = Field(default=None, description="How many rows correct answer has") |