class_docstr: Convert the action space from MultiDiscrete to Discrete
  
  At this moment, RLlib's DQN algorithms only work on Discrete action space.
  This wrapper allows us to apply DQN algorithms to the RecSim environment.
code: def __init__(self, env: gym.Env):
      super().__init__(env)
  
      if not isinstance(env.action_space, MultiDiscrete):
          raise UnsupportedSpaceException(
              f"Action space {env.action_space} "
              f"is not supported by {self.__class__.__name__}"
          )
      self.action_space_dimensions = env.action_space.nvec
      self.action_space = Discrete(
          np.prod(self.action_space_dimensions)
      )
  
imports: from collections import OrderedDict
  import gymnasium
  from gymnasium.spaces import Dict, Discrete, MultiDiscrete
  from gymnasium.wrappers import EnvCompatibility
  import numpy
  from recsim.document import AbstractDocumentSampler
  from recsim.simulator import environment, recsim_gym
  from recsim.user import AbstractUserModel, AbstractResponse
  from typing import Callable, List, Optional, Type
  from ray.rllib.env.env_context import EnvContext
  from ray.rllib.utils.error import UnsupportedSpaceException
  from ray.rllib.utils.gym import convert_old_gym_space_to_gymnasium_space
  from ray.rllib.utils.spaces.space_utils import convert_element_to_space_type
label_desc: Use image node_id 1 to create a new MultiDiscreteToDiscreteActionWrapper object from inherited base classes: gym with example: obj = MultiDiscreteToDiscreteActionWrapper(env)