sql-debug-env / models.py
aakashdandekar's picture
Initial commit of SQL Debug Environment
be62603
Raw History Blame Contribute Delete
1.78 kB
from typing import Optional, List
from pydantic import BaseModel, Field
class Action(BaseModel):
query: str = Field(..., description="The corrected SQL query to execute")
explanation: Optional[str] = Field(
default="", description="Optional explanation of what was fixed"
)
class Observation(BaseModel):
schema_sql: str = Field(..., description="CREATE TABLE statements for all tables")
sample_data: str = Field(..., description="INSERT statements showing sample rows")
buggy_query: str = Field(..., description="The original broken SQL query")
error_message: str = Field(
default="",
description="Error from running the buggy query (empty if semantic bug)",
)
task_description: str = Field(..., description="What the query should accomplish")
expected_columns: List[str] = Field(..., description="Expected result column names")
attempts_remaining: int = Field(default=5, description="Remaining fix attempts")
last_attempt_result: str = Field(
default="", description="Output/error of last submitted query"
)
reward: float = Field(default=0.0, description="Reward from last action")
done: bool = Field(default=False, description="Whether episode is complete")
success: bool = Field(
default=False, description="Whether task was solved correctly"
)
class State(BaseModel):
episode_id: str = Field(..., description="Unique episode identifier")
step_count: int = Field(default=0, description="Number of steps taken")
task_id: str = Field(default="", description="Current task identifier")
max_steps: int = Field(default=5, description="Maximum steps per episode")
cumulative_reward: float = Field(default=0.0, description="Total reward so far")