|
|
|
|
|
|
|
|
|
|
|
|
| """
|
| Data models for the SQL/Data Cleaning Sandbox Environment.
|
|
|
| Agents interact by sending SQL queries or Python snippets to clean
|
| messy databases and generate reports.
|
| """
|
|
|
| from typing import Literal, Optional
|
|
|
| from openenv.core.env_server.types import Action, Observation
|
| from pydantic import Field
|
|
|
|
|
| class SqlSandboxAction(Action):
|
| """Action for the SQL Sandbox run a SQL query or Python snippet."""
|
|
|
| tool: Literal["sql", "python"] = Field(
|
| ..., description="Tool to use: 'sql' for SQLite queries, 'python' for Python scripts"
|
| )
|
| command: str = Field(
|
| ..., description="The SQL query or Python code to execute"
|
| )
|
|
|
|
|
| class SqlSandboxObservation(Observation):
|
| """Observation returned after each step."""
|
|
|
| output: str = Field(default="", description="stdout / query result")
|
| error: Optional[str] = Field(default=None, description="stderr or error message")
|
| current_step: int = Field(default=0, description="Current step number")
|
| max_steps: int = Field(default=20, description="Maximum allowed steps")
|
| task_description: str = Field(default="", description="Current task description")
|
|
|