| from pydantic import BaseModel, Field |
| from typing import Optional, List, Dict, Any |
|
|
| class RescueAction(BaseModel): |
| query: str = Field(description="The SQL query to execute against the SQLite database.") |
| submit: bool = Field(default=False, description="Set to True ONLY when you have completed the task and are ready for grading.") |
|
|
| class RescueObservation(BaseModel): |
| schema_info: str = Field(description="The current schema of the database.") |
| query_result: Optional[List[Dict[str, Any]]] = Field(default=None, description="Results from a SELECT query, limited to 50 rows.") |
| rows_affected: int = Field(default=0, description="Number of rows modified by INSERT/UPDATE/DELETE.") |
| error: Optional[str] = Field(default=None, description="SQL execution error message, if any.") |
|
|
| class RescueState(BaseModel): |
| task_name: str |
| steps_taken: int |
| db_path: str |