class_docstr: An Action Recording Wrapper that records for (sub-)step the respective MazeAction or agent action taken.
  
  :param env: Environment to wrap.
  :param record_maze_actions: If True maze action objects are recorded.
  :param record_actions: If True agent actions are recorded.
  :param output_dir: Path where to store the action records.
class_docstr_tok: ["An","Action","Recording","Wrapper","that","records","for","(","sub-",")","step","the","respective","MazeAction","or","agent","action","taken",".",":","param","env",":","Environment","to","wrap",".",":","param","record_maze_actions",":","If","True","maze","action","objects","are","recorded",".",":","param","record_actions",":","If","True","agent","actions","are","recorded",".",":","param","output_dir",":","Path","where","to","store","the","action","records","."]
docstr: Intercept ``ObservationWrapper.reset`` and map observation.
docstr_tok: ["Intercept","``","ObservationWrapper.reset","``","and","map","observation","."]
code: def reset(self) -> Any:
      """Intercept ``ObservationWrapper.reset`` and map observation."""
  
      # make sure that the episode is seeded properly
      assert self._current_seed is not None
  
      # dump previous trajectory
      self.dump()
  
      self.action_record = ActionRecord(seed=self._current_seed)
      obs = self.env.reset()
      self._cum_reward = 0.0
  
      self._episode_id = self.env.get_episode_id()
  
      # clear seed to make sure that the next episode is again seeded properly
      self._current_seed = None
  
      return obs
  
file_path: maze/maze/core/wrappers/action_recording_wrapper.py
imports: from typing import Dict, Any, Tuple, Optional, Union
  from pathlib import Path
  from maze.core.annotations import override
  from maze.core.env.core_env import CoreEnv
  from maze.core.env.maze_action import MazeActionType
  from maze.core.env.maze_env import MazeEnv
  from maze.core.env.maze_state import MazeStateType
  from maze.core.trajectory_recording.records.action_record import ActionRecord
  from maze.core.wrappers.wrapper import ObservationWrapper, Wrapper
label_desc: Use image node_id 4 for calling the ActionRecordingWrapper obj's underlying member method code with example usage: obj.reset() and returns: obs