vedkdev/FlakyTestSleuthOpenEnvRL
0
1from __future__ import annotations2 3from dataclasses import dataclass4from typing import Any5 6import requests7 8from env.models import FlakySleuthAction9 10 11@dataclass12class FlakySleuthClient:13 base_url: str14 timeout_s: float = 30.015 16 def reset(self) -> dict[str, Any]:17 response = requests.post(f"{self.base_url.rstrip('/')}/reset", timeout=self.timeout_s)18 response.raise_for_status()19 return response.json()20 21 def step(self, action: FlakySleuthAction) -> dict[str, Any]:22 payload = {"action": action.model_dump()}23 response = requests.post(24 f"{self.base_url.rstrip('/')}/step",25 json=payload,26 timeout=self.timeout_s,27 )28 response.raise_for_status()29 return response.json()30 31 def state(self) -> dict[str, Any]:32 response = requests.get(f"{self.base_url.rstrip('/')}/state", timeout=self.timeout_s)33 response.raise_for_status()34 return response.json()35 