Spaces:
Sleeping
Sleeping
| """ | |
| Typed Action and Observation models for the SQL Query Environment. | |
| Action: The agent submits a SQL query string and a task_id. | |
| Observation: The environment returns schema info, query results, feedback, and reward. | |
| """ | |
| from pydantic import Field | |
| from openenv.core.env_server.types import Action, Observation | |
| class SQLAction(Action): | |
| """Action submitted by the agent: a SQL query to execute.""" | |
| task_id: str = Field( | |
| ..., | |
| description="ID of the task being attempted (task_1, task_2, task_3)", | |
| ) | |
| sql_query: str = Field( | |
| ..., | |
| description="The SQL query string to execute against the database", | |
| ) | |
| class SQLObservation(Observation): | |
| """Observation returned to the agent after each step.""" | |
| # Task information | |
| task_id: str = Field(default="", description="Current task ID") | |
| task_description: str = Field( | |
| default="", description="Natural language question the agent must answer" | |
| ) | |
| difficulty: str = Field(default="", description="easy, medium, or hard") | |
| # Database schema | |
| schema_description: str = Field( | |
| default="", description="SQL CREATE TABLE statements describing the database" | |
| ) | |
| # Query result / feedback | |
| query_result: str = Field( | |
| default="", | |
| description="Result of the executed SQL query (rows as text), or error message", | |
| ) | |
| query_error: bool = Field( | |
| default=False, description="True if the SQL query caused an error" | |
| ) | |
| feedback: str = Field( | |
| default="", | |
| description="Human-readable feedback on the query result", | |
| ) | |
| # Scoring | |
| reward: float = Field(default=0.0, description="Score from 0.0 to 1.0") | |
| done: bool = Field(default=False, description="True if the episode is complete") | |
| # Metadata | |
| step_count: int = Field(default=0, description="Number of steps taken so far") | |
| max_steps: int = Field( | |
| default=3, description="Maximum steps allowed per task" | |
| ) | |