devops-arena / models.py
SidraMiconi's picture
deploy DevOps Arena
5aeebf2
raw
history blame contribute delete
990 Bytes
"""DevOps Arena data models — Pydantic v2 for OpenEnv compatibility."""
from pydantic import BaseModel, Field
from typing import Optional
class DevAction(BaseModel):
tool: str = ""
parameters: dict = Field(default_factory=dict)
class DevObservation(BaseModel):
success: bool = False
output: str = ""
error: Optional[str] = None
reward: float = 0.0
done: bool = False
step_count: int = 0
task_description: str = ""
tools_available: list = Field(default_factory=lambda: [
"read_issue", "list_files", "file_read", "file_write",
"shell", "search", "submit"
])
class EpisodeState(BaseModel):
task_id: str = ""
task_description: str = ""
repo_name: str = ""
issue_title: str = ""
files_modified: list = Field(default_factory=list)
commands_run: list = Field(default_factory=list)
step_count: int = 0
max_steps: int = 20
completed: bool = False
verdict: dict = Field(default_factory=dict)