summarizeRecentActivities static method
Summarize a list of recent tool activities into a compact description.
Implementation
static String? summarizeRecentActivities(
List<Map<String, dynamic>> activities,
) {
if (activities.isEmpty) return null;
var searchCount = 0;
var readCount = 0;
for (var i = activities.length - 1; i >= 0; i--) {
final activity = activities[i];
if (activity['isSearch'] == true) {
searchCount++;
} else if (activity['isRead'] == true) {
readCount++;
} else {
break;
}
}
final collapsibleCount = searchCount + readCount;
if (collapsibleCount >= 2) {
return getSearchReadSummaryText(
searchCount: searchCount,
readCount: readCount,
isActive: true,
);
}
// Fall back to most recent activity with a description.
for (var i = activities.length - 1; i >= 0; i--) {
final desc = activities[i]['activityDescription'] as String?;
if (desc != null && desc.isNotEmpty) return desc;
}
return null;
}