collectCompactableToolIds function

List<String> collectCompactableToolIds(
  1. List<CompactMessage> messages
)

Collect tool_use IDs whose tool name is compactable.

Implementation

List<String> collectCompactableToolIds(List<CompactMessage> messages) {
  final ids = <String>[];
  for (final message in messages) {
    if (message.type == MessageRole.assistant) {
      for (final block in message.contentBlocks) {
        if (block.type == ContentBlockType.toolUse &&
            block.name != null &&
            compactableTools.contains(block.name) &&
            block.id != null) {
          ids.add(block.id!);
        }
      }
    }
  }
  return ids;
}