import numpy as np


class ZeroActionClient:
    """Inference client that outputs all-zero actions matching the env action space."""

    def __init__(self, action_shape: tuple[int, ...], **kwargs):
        self._action_shape = action_shape

    def reset(self):
        pass

    def infer(
        self, obs: dict, instruction: str = "", return_viz: bool = False
    ) -> tuple[np.ndarray, None]:
        action = np.zeros(self._action_shape, dtype=np.float32)
        return action, None
