code: def setup_tod_args(cls, parser: ParlaiParser):
      tod_args = parser.add_argument_group(
          "TOD World Script Agent arguments. NOTE: If there are issues with invoking downstream opts of agents specified here sometimes you will have more luck with `python -u -m parlai.scripts.tod_world_script` than `parlai tod_world_script`."
      )
      tod_args.add_argument(
          "--system-model-file",
          default="",
          help="Define the system model for the chat. Exactly one of this or system-model must be specified",
      )
  
      tod_args.add_argument(
          "--system-model",
          default="",
          help="Define the system agent for the chat. Exactly one of this or system-model-file must be specified",
      )
  
      tod_args.add_argument(
          "--user-model-file",
          default="",
          help="Define the user model for the chat. Exactly one of this user-model must be specified. Currently assumed to be the API Call creation agent as well.",
      )
  
      tod_args.add_argument(
          "--user-model",
          default="",
          help="Define the user agent for the chat. Exactly one of this or user-model-file must be specified. Currently assumed to be the API Call creation agent as well.",
      )
  
      tod_args.add_argument(
          "--api-resp-model",
          default="",
          help="Agent used for defining API response values",
      )
  
      tod_args.add_argument(
          "--api-schema-grounding-model",
          default="",
          help="Agent used in first turn to grounding api call/response agents with api schemas. Will use EmptyApiSchemaAgent if both this and `--api-schemas` not set.",
      )
  
      tod_args.add_argument(
          "--goal-grounding-model",
          default="",
          help="Agent used in first turn to grounding user agent with goal. Will use EmptyGoalAgent if not set",
      )
  
      tod_args.add_argument(
          "--api-schemas",
          default=None,
          help="If set and `--api-schema-grounding-model` is empty, will infer `--api-schema-grounding-model` based on this and a regex on `--goal-grounding-model`. If you run into issues with parsing order of opts using this flag, just switch to `--api-schema-grounding-model`.",
      )
  
imports: import json
  from copy import deepcopy
  from shutil import copyfile
  import os
  import parlai.utils.logging
  import parlai.core.tod.tod_world
  import parlai.core.tod.tod_agents
  from parlai.core.agents import create_agent
  from parlai.core.metrics import dict_report, aggregate_unnamed_reports
  from parlai.core.opt import Opt
  from parlai.core.params import ParlaiParser
  from parlai.core.script import ParlaiScript, register_script
  from parlai.utils.distributed import is_primary_worker, all_gather_list, is_distributed, get_rank, sync_object, num_workers
  from parlai.utils.io import PathManager
  from parlai.utils.misc import TimeLogger, nice_report
  from parlai.utils.world_logging import WorldLogger
label_desc: Use image node_id 1 for calling the TodWorldScript obj's underlying member method code with example usage: obj.setup_tod_args(cls, parser) without return types