Required environment interface
class Environment(Protocol): def reset(self, goal: str) -> str: ... def step(self, action: str) -> ( tuple[str, bool, bool] | Awaitable[tuple[str, bool, bool]] ): ...
observation
done
success