def __init__(
      self,
      model: language_model.LanguageModel,
      memory: associative_memory.AssociativeMemory,
      agent_name: str,
      components: list[component.Component],
      clock_now: Callable[[], datetime.datetime],
      name: str = 'plan',
      goal: component.Component | None = None,
      num_memories_to_retrieve: int = 5,
      horizon: str = 'the rest of the day',
      verbose: bool = False,
      log_color='green',
  ):
    """Initialize a component to represent the agent's plan.

    Args:
      model: a language model
      memory: an associative memory
      agent_name: the name of the agent
      components: components to build the context of planning
      clock_now: time callback to use for the state.
      name: name of the component
      goal: a component to represent the goal of planning
      num_memories_to_retrieve: how many memories to retrieve as conditioning
        for the planning chain of thought
      horizon: string describing how long the plan should last
      verbose: whether or not to print intermediate reasoning steps
      log_color: color for debug logging
    """
    self._model = model
    self._memory = memory
    self._state = ''
    self._agent_name = agent_name
    self._log_color = log_color
    self._components = components
    self._name = name
    self._num_memories_to_retrieve = num_memories_to_retrieve
    self._goal_component = goal
    self._horizon = horizon
    self._clock_now = clock_now
    self._last_update = datetime.datetime.min

    self._latest_memories = ''
    self._last_observation = []
    self._current_plan = ''
    self._history = []

    self._verbose = verbose
Initialize a component to represent the agent's plan.

    Args:
      model: a language model
      memory: an associative memory
      agent_name: the name of the agent
      components: components to build the context of planning
      clock_now: time callback to use for the state.
      name: name of the component
      goal: a component to represent the goal of planning
      num_memories_to_retrieve: how many memories to retrieve as conditioning
        for the planning chain of thought
      horizon: string describing how long the plan should last
      verbose: whether or not to print intermediate reasoning steps
      log_color: color for debug logging
    
concordia/components/agent/deprecated/to_be_deprecated/plan.py