code: def observation_space(self):
      obs_spaces = copy.copy(self.env.observation_space.spaces)
      try:
          augmentation = obs_spaces["augmentation"]
      except KeyError:
          augmentation = gym.spaces.Dict()
          obs_spaces["augmentation"] = augmentation
  
      for k in obs_spaces["doc"].spaces:
          try:
              aug_k = augmentation[k]
          except KeyError:
              aug_k = gym.spaces.Dict()
              augmentation.spaces[k] = aug_k
  
          assert not aug_k.contains(self.KEY)
  
          aug_k.spaces[self.KEY] = gym.spaces.Box(
              low=-1.0, high=1.0, shape=()
          )
  
      return gym.spaces.Dict(obs_spaces)
  
file_path: ReAgent/reagent/gym/envs/wrappers/recsim.py
imports: import copy
  import logging
  import gym
  import gym.spaces.dict
label_desc: Use image node_id 2 for calling the ValueWrapper obj's underlying member method code with example usage: obj.observation_space() and returns: gym