def __init__(
      self,
      model: language_model.LanguageModel,
      memory: associative_memory.AssociativeMemory,
      activity_configs: Sequence[ActivityConfig],
      resolution_scene: str,
      players: Sequence[entity_agent.EntityAgent],
      player_initial_activity_distribution: dict[str, dict[str, float]],
      clock_now: Callable[[], datetime.datetime],
      num_to_retrieve: int = 10,
      chain_of_thought_prefix: str = _DEFAULT_CHAIN_OF_THOUGHT_PREFIX,
      basic_setting: str = '',
      name: str = 'DailyActivities',
      verbose: bool = False,
  ):
    """Initialize a grounded activities component tracking objects in python.

    Args:
      model: a language model
      memory: an associative memory
      activity_configs: sequence of activity configurations
      resolution_scene: on which scene type should this component be updated
        after the event, i.e. when to check the joint action and compute results
      players: sequence of players who have an activities and will observe it.
      player_initial_activity_distribution: dict mapping player name to a
        dictionary with activities as keys and initial daily time as values.
      clock_now: Function to call to get current time.
      num_to_retrieve: number of recent memories to retrieve for context.
      chain_of_thought_prefix: include this string in context before all
        reasoning steps for handling the activities.
      basic_setting: a string to include in the context before all reasoning
      name: the name of this component e.g. Possessions, Account, Property, etc
      verbose: whether to print the full update chain of thought or not
    """
    self._model = model
    self._memory = memory
    self._players = players
    self._player_initial_activity_distribution = (
        player_initial_activity_distribution)
    self._chain_of_thought_prefix = chain_of_thought_prefix
    self._clock_now = clock_now
    self._num_to_retrieve = num_to_retrieve
    self._basic_setting = basic_setting
    self._name = name
    self._verbose = verbose

    self._activity_names = [config.name for config in activity_configs]
    self._activity_configs_dict = {
        config.name: config for config in activity_configs
    }
    self._player_names = list(player_initial_activity_distribution.keys())
    self._names_to_players = {player.name: player for player in self._players}

    self._activities = {}
    for player_name, fractions in player_initial_activity_distribution.items():
      self._activities[player_name] = {
          activity_name: fractions.get(activity_name, _DEFAULT_FRACTION)
          for activity_name in self._activity_names
      }

    self._resolution_scene = resolution_scene
    self._current_scene = current_scene.CurrentScene(
        name='current scene type',
        memory=self._memory,
        clock_now=self._clock_now,
        verbose=verbose,
    )

    self._latest_update_log = None
    self._state = ''
    self._partial_states = {name: '' for name in self._player_names}

    self._lock = threading.Lock()

    # Set the initial state's string representation.
    self.update()
Initialize a grounded activities component tracking objects in python.

    Args:
      model: a language model
      memory: an associative memory
      activity_configs: sequence of activity configurations
      resolution_scene: on which scene type should this component be updated
        after the event, i.e. when to check the joint action and compute results
      players: sequence of players who have an activities and will observe it.
      player_initial_activity_distribution: dict mapping player name to a
        dictionary with activities as keys and initial daily time as values.
      clock_now: Function to call to get current time.
      num_to_retrieve: number of recent memories to retrieve for context.
      chain_of_thought_prefix: include this string in context before all
        reasoning steps for handling the activities.
      basic_setting: a string to include in the context before all reasoning
      name: the name of this component e.g. Possessions, Account, Property, etc
      verbose: whether to print the full update chain of thought or not
    
concordia/contrib/components/game_master/deprecated/daily_activities.py