File size: 899 Bytes
e4f3d12
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
from typing import Any, Dict, List, Optional
import requests
from commitguard_env.models import CommitGuardAction, CommitGuardObservation

class CommitGuardClient:
    def __init__(self, base_url: str):
        self.base_url = base_url.rstrip("/")

    def reset(self) -> Dict[str, Any]:
        resp = requests.post(f"{self.base_url}/reset")
        resp.raise_for_status()
        return resp.json()

    def step(self, action: str | Dict[str, Any]) -> Dict[str, Any]:
        if isinstance(action, str):
            payload = {"action": action}
        else:
            payload = action
        resp = requests.post(f"{self.base_url}/step", json=payload)
        resp.raise_for_status()
        return resp.json()

    def health(self) -> Dict[str, str]:
        resp = requests.get(f"{self.base_url}/health")
        resp.raise_for_status()
        return resp.json()