Skip to main content

group_messages_for_export

Function group_messages_for_export 

Source
pub fn group_messages_for_export(messages: Vec<Message>) -> Vec<MessageGroup>
Expand description

Groups flat messages into MessageGroups with tool correlation.

§Algorithm

  1. Detect agent format from message structure
  2. Classify each message
  3. User/Assistant content messages start new groups
  4. Tool-only messages attach to current assistant group
  5. Tool results correlate by ID to matching tool call
  6. System messages are standalone groups
  7. Track timestamps for group range

§Logging

  • INFO: Group formation summary
  • DEBUG: Each message classification
  • TRACE: Correlation matching details

§Example

let messages: Vec<Message> = load_messages();
let groups = group_messages_for_export(messages);
for group in groups {
    render_message_group(&group);
}