Pruthvi1762/cloud-devops-openenv
0
1from pydantic import BaseModel, Field2from typing import List, Optional, Any, Dict3 4class Observation(BaseModel):5 filesystem: Dict[str, str] = Field(default_factory=dict, description="Simulated file contents")6 processes: List[Dict[str, Any]] = Field(default_factory=list, description="List of running services")7 logs: List[str] = Field(default_factory=list, description="Recent system logs")8 task_description: str = ""9 step_count: int = 010 max_steps: int = 1511 last_action_result: Optional[str] = None12 last_action_error: Optional[str] = None13 14class StepRequest(BaseModel):15 command: Optional[str] = Field(None, description="The CLI command to execute (e.g., 'ls', 'cat', 'write', 'restart')")16 17class ResetRequest(BaseModel):18 task_id: Optional[str] = Field(None, description="The task identifier (easy, medium, hard)")19 20class ResetResponse(BaseModel):21 observation: Observation22 info: Dict[str, Any] = {}23 24class Reward(BaseModel):25 value: float = 0.026 reason: str = ""27 28class StepResponse(BaseModel):29 observation: Observation30 reward: Reward31 done: bool32 info: Dict[str, Any] = {}33 34class StateResponse(BaseModel):35 task_id: str36 step_count: int37 max_steps: int38 is_active: bool39 