We need to persist long-term chat history separately from the short-term memory. Short-term memory is more about the graph state than a traditional chat history. It’s important to handle cases where the user might receive messages outside of the current state — such as trace_id, run_id, other metadata, or custom messages like CustomUiMessage, which can be streamed from a tool.