| 12345678910111213141516171819202122232425 | 
							- from typing import Any
 
- from constants import UUID_NIL
 
- def extract_thread_messages(messages: list[Any]):
 
-     thread_messages = []
 
-     next_message = None
 
-     for message in messages:
 
-         if not message.parent_message_id:
 
-             # If the message is regenerated and does not have a parent message, it is the start of a new thread
 
-             thread_messages.append(message)
 
-             break
 
-         if not next_message:
 
-             thread_messages.append(message)
 
-             next_message = message.parent_message_id
 
-         else:
 
-             if next_message in {message.id, UUID_NIL}:
 
-                 thread_messages.append(message)
 
-                 next_message = message.parent_message_id
 
-     return thread_messages
 
 
  |