def __init__(
      self,
      model: language_model.LanguageModel,
      player_names: Sequence[str],
      components: Sequence[str] = (),
      pre_act_label: str = DEFAULT_NEXT_ACTING_PRE_ACT_LABEL,
  ):
    """Initializes the component.

    Args:
      model: The language model to use for the component.
      player_names: Names of players to choose from.
      components: Keys of components to condition the answer on.
      pre_act_label: Prefix to add to the output of the component when called
        in `pre_act`.

    Raises:
      ValueError: If the component order is not None and contains duplicate
        components.
    """
    super().__init__()
    self._model = model
    self._player_names = player_names
    self._components = components
    self._pre_act_label = pre_act_label

    self._currently_active_player = None

    if not self._player_names:
      raise ValueError('No player names provided.')
Initializes the component.

    Args:
      model: The language model to use for the component.
      player_names: Names of players to choose from.
      components: Keys of components to condition the answer on.
      pre_act_label: Prefix to add to the output of the component when called
        in `pre_act`.

    Raises:
      ValueError: If the component order is not None and contains duplicate
        components.
    
concordia/components/game_master/next_acting.py