class_docstr: Wrapper class for making a gym env a remote actor.
class_docstr_tok: ["Wrapper","class","for","making","a","gym","env","a","remote","actor","."]
code: def step(self, action):
      results = self.env.step(action[_DUMMY_AGENT_ID])
  
      obs, rew, terminated, truncated, info = [
          {_DUMMY_AGENT_ID: x} for x in results
      ]
  
      terminated["__all__"] = terminated[_DUMMY_AGENT_ID]
      truncated["__all__"] = truncated[_DUMMY_AGENT_ID]
  
      return obs, rew, terminated, truncated, info
  
imports: import gymnasium
  import logging
  from typing import Callable, Dict, List, Optional, Set, Tuple, TYPE_CHECKING
  import ray
  from ray.util import log_once
  from ray.rllib.env.base_env import BaseEnv, _DUMMY_AGENT_ID, ASYNC_RESET_RETURN
  from ray.rllib.utils.annotations import override, PublicAPI
  from ray.rllib.utils.typing import AgentID, EnvID, EnvType, MultiEnvDict
label_desc: Use image node_id 3 for calling the _RemoteSingleAgentEnv obj's underlying member method code with example usage: obj.step(action) and returns: obs,  rew,  terminated,  truncated,  info