# MessageStore

> **Class** in `deepagents_code`

📖 [View in docs](https://reference.langchain.com/python/deepagents-code/tui/widgets/message_store/MessageStore)

Manages message data and widget window for virtualization.

This class stores all messages as data and manages a sliding window
of widgets that are actually mounted in the DOM.

## Signature

```python
MessageStore(
    self,
)
```

## Constructors

```python
__init__(
    self,
) -> None
```


## Properties

- `WINDOW_SIZE`
- `HYDRATE_BUFFER`
- `total_count`
- `visible_count`
- `has_messages_above`
- `has_messages_below`

## Methods

- [`append()`](https://reference.langchain.com/python/deepagents-code/tui/widgets/message_store/MessageStore/append)
- [`bulk_load()`](https://reference.langchain.com/python/deepagents-code/tui/widgets/message_store/MessageStore/bulk_load)
- [`get_message()`](https://reference.langchain.com/python/deepagents-code/tui/widgets/message_store/MessageStore/get_message)
- [`update_message()`](https://reference.langchain.com/python/deepagents-code/tui/widgets/message_store/MessageStore/update_message)
- [`set_active_message()`](https://reference.langchain.com/python/deepagents-code/tui/widgets/message_store/MessageStore/set_active_message)
- [`is_active()`](https://reference.langchain.com/python/deepagents-code/tui/widgets/message_store/MessageStore/is_active)
- [`protect_message()`](https://reference.langchain.com/python/deepagents-code/tui/widgets/message_store/MessageStore/protect_message)
- [`unprotect_message()`](https://reference.langchain.com/python/deepagents-code/tui/widgets/message_store/MessageStore/unprotect_message)
- [`is_protected()`](https://reference.langchain.com/python/deepagents-code/tui/widgets/message_store/MessageStore/is_protected)
- [`window_exceeded()`](https://reference.langchain.com/python/deepagents-code/tui/widgets/message_store/MessageStore/window_exceeded)
- [`get_messages_to_prune()`](https://reference.langchain.com/python/deepagents-code/tui/widgets/message_store/MessageStore/get_messages_to_prune)
- [`get_messages_to_prune_below()`](https://reference.langchain.com/python/deepagents-code/tui/widgets/message_store/MessageStore/get_messages_to_prune_below)
- [`mark_pruned()`](https://reference.langchain.com/python/deepagents-code/tui/widgets/message_store/MessageStore/mark_pruned)
- [`mark_pruned_below()`](https://reference.langchain.com/python/deepagents-code/tui/widgets/message_store/MessageStore/mark_pruned_below)
- [`get_messages_to_hydrate()`](https://reference.langchain.com/python/deepagents-code/tui/widgets/message_store/MessageStore/get_messages_to_hydrate)
- [`mark_hydrated()`](https://reference.langchain.com/python/deepagents-code/tui/widgets/message_store/MessageStore/mark_hydrated)
- [`get_messages_to_hydrate_below()`](https://reference.langchain.com/python/deepagents-code/tui/widgets/message_store/MessageStore/get_messages_to_hydrate_below)
- [`mark_hydrated_below()`](https://reference.langchain.com/python/deepagents-code/tui/widgets/message_store/MessageStore/mark_hydrated_below)
- [`should_hydrate_above()`](https://reference.langchain.com/python/deepagents-code/tui/widgets/message_store/MessageStore/should_hydrate_above)
- [`should_prune_below()`](https://reference.langchain.com/python/deepagents-code/tui/widgets/message_store/MessageStore/should_prune_below)
- [`should_hydrate_below()`](https://reference.langchain.com/python/deepagents-code/tui/widgets/message_store/MessageStore/should_hydrate_below)
- [`clear()`](https://reference.langchain.com/python/deepagents-code/tui/widgets/message_store/MessageStore/clear)
- [`get_visible_range()`](https://reference.langchain.com/python/deepagents-code/tui/widgets/message_store/MessageStore/get_visible_range)
- [`get_all_messages()`](https://reference.langchain.com/python/deepagents-code/tui/widgets/message_store/MessageStore/get_all_messages)
- [`get_visible_messages()`](https://reference.langchain.com/python/deepagents-code/tui/widgets/message_store/MessageStore/get_visible_messages)
- [`set_height_hint()`](https://reference.langchain.com/python/deepagents-code/tui/widgets/message_store/MessageStore/set_height_hint)
- [`invalidate_height_hints()`](https://reference.langchain.com/python/deepagents-code/tui/widgets/message_store/MessageStore/invalidate_height_hints)
- [`estimate_height()`](https://reference.langchain.com/python/deepagents-code/tui/widgets/message_store/MessageStore/estimate_height)
- [`range_height()`](https://reference.langchain.com/python/deepagents-code/tui/widgets/message_store/MessageStore/range_height)

---

[View source on GitHub](https://github.com/langchain-ai/deepagents/blob/7794b61a6e76230e8c7a49bdce808b3728305914/libs/code/deepagents_code/tui/widgets/message_store.py#L463)