class_docstr: Abstract teacher that wraps around another teacher.
  
  This teacher allows for manipulating the fields returned by the inner teacher, in
  the abstract self._edit_action() method that is called during self.act(). The inner
  teacher must subclass FixedDialogTeacher in order to make use of that teacher's
  .get_orig_action() and .process_action() methods.
code: def add_cmdline_args(
      cls, parser: ParlaiParser, partial_opt: Optional[Opt] = None
  ) -> ParlaiParser:
      super().add_cmdline_args(parser, partial_opt)
      agent = parser.add_argument_group("AbstractWrapper args")
      agent.add_argument(
          "-wt",
          "--wrapper-task",
          type=str,
          help="The task whose fields will be manipulated.",
      )
      try:
          parser.add_task_args(partial_opt["wrapper_task"], partial_opt)
      except KeyError:
          warn_once(
              "The task name cannot be parsed from command-line arguments! "
              "Task-specific flags will not be added."
          )
      return parser
  
imports: from typing import Optional
  from parlai.core.params import ParlaiParser
  import copy
  from abc import ABC
  from parlai.core.agents import create_agent_from_shared
  from parlai.core.message import Message
  from parlai.core.opt import Opt
  from parlai.core.teachers import create_task_agent_from_taskname, FixedDialogTeacher, Teacher
  from parlai.utils.misc import warn_once
label_desc: Use image node_id 1 for calling the AbstractWrapperTeacher obj's underlying member method code with example usage: obj.add_cmdline_args(cls, parser, partial_opt) and returns: parser