Rhythm@28
deploy: final verified championship submission
ef737d3
"""
client.py — OpenEnv-Compliant Client for Autonomy Calibration
This client provides a strictly separated interface to the environment,
satisfying the hackathon's architectural requirements.
"""
from openenv.core.env_client import EnvClient
from models import Action, Observation, StepResult
class AutonomyCalibrationClient(EnvClient):
"""
Client for interacting with the Autonomy Calibration Space.
Inheriting from OpenEnv's EnvClient ensures standard communication protocols.
"""
def __init__(self, base_url: str = "http://localhost:7860"):
super().__init__(base_url=base_url)
def reset_env(self, task: str = "email_triage", seed: int = None) -> Observation:
"""Resets the remote environment and returns a Pydantic Observation."""
response = self._post("/api/reset", json={"task": task, "seed": seed})
return Observation(**response.json())
def step_env(self, action_type: str) -> StepResult:
"""Takes a step in the remote environment and returns a Pydantic StepResult."""
action = {"type": action_type, "payload": {}}
response = self._post("/api/step", json=action)
return StepResult(**response.json())