# Tracker

Trackers maintain the state of a dialogue between the assistant and the user in the form of conversation sessions. To learn more about how to configure the session behavior, check out the docs on [Session configuration](https://legacy-docs-v1.rasa.com/1.10.26/core/domains/#session-config).

## Class `rasa.core.trackers.DialogueStateTracker(sender_id, slots, max_event_history=None, sender_source=None)`
Maintains the state of a conversation.

### Methods

- `applied_events()`  
Returns all actions that should be applied - w/o reverted events.  
**Return type:** `List[Event]`

- `as_dialogue()`  
Return a `Dialogue` object containing all of the turns.  
This can be serialised and later used to recover the state of this tracker exactly.  
**Return type:** `Dialogue`

- `change_form_to(form_name)`  
Activate or deactivate a form.  
**Return type:** `None`

- `clear_followup_action()`  
Clears follow up action when it was executed.  
**Return type:** `None`

- `copy()`  
Creates a duplicate of this tracker.  
**Return type:** `DialogueStateTracker`

- `current_slot_values()`  
Return the currently set values of the slots.  
**Return type:** `Dict[str, Any]`

- `current_state(event_verbosity=<EventVerbosity.NONE: 1>)`  
Return the current tracker state as an object.  
**Return type:** `Dict[str, Any]`

- `events_after_latest_restart()`  
Return a list of events after the most recent restart.  
**Return type:** `List[Event]`

- `export_stories(e2e=False, include_source=False)`  
Dump the tracker as a story in the Rasa Core story format.  
Returns the dumped tracker as a string.  
**Return type:** `str`

- `export_stories_to_file(export_path='debug.md')`  
Dump the tracker as a story to a file.  
**Return type:** `None`

- **Class method** `from_dict(sender_id, events_as_dict, slots=None, max_event_history=None)`  
Create a tracker from dump.  
**Return type:** `DialogueStateTracker`

- `generate_all_prior_trackers()`  
Returns a generator of the previous trackers of this tracker.  
**Return type:** `Generator[DialogueStateTracker, None, None]`

- `get_last_event_for(event_type, action_names_to_exclude=None, skip=0)`  
Gets the last event of a given type which was actually applied.

### Additional methods include:
- `get_latest_entity_values(entity_type, entity_role=None, entity_group=None)`  
- `get_latest_input_channel()`  
- `get_slot(key)`  
- `idx_after_latest_restart()`  
- `init_copy()`  
- `is_paused()`  
- `last_executed_action_has(name, skip=0)`  
- `past_states(domain)`  
- `recreate_from_dialogue(dialogue)`  
- `reject_action(action_name)`  
- `replay_events()`  
- `set_form_validation(validate)`  
- `set_latest_action_name(action_name)`  
- `travel_back_in_time(target_time)`  
- `trigger_followup_action(action)`  
- `update(event, domain=None)`
