code: def add_agent_preset(self, file_path):
          
          if file_path is not None and os.path.isfile(file_path):
              name = pathlib.Path(file_path).stem
          else:
              raise FileNotFoundError(f"File path {file_path} is not found!")
  
          if name in self.agent_presets:
              if self.agent_presets[name].config_path == file_path:
                  return self.agent_presets[name]
              else:
                  i = 1
                  for preset_name in self.agent_presets:
                      if name in preset_name:
                          i += 1
                  name = f"{name} ({i})"
          preset = AgentPreset(name, file_path)
          self.agent_presets[preset.get_name()] = preset
          return preset
docs: Loads a preset using file_path with all values from that path loaded
          :param file_path: the path to load the preset from. We'll throw an exception if it's invalid.
          :return preset: the agent preset created