pub fn group_messages_for_export(messages: Vec<Message>) -> Vec<MessageGroup>Expand description
Groups flat messages into MessageGroups with tool correlation.
§Algorithm
- Detect agent format from message structure
- Classify each message
- User/Assistant content messages start new groups
- Tool-only messages attach to current assistant group
- Tool results correlate by ID to matching tool call
- System messages are standalone groups
- 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);
}