isNotEmptyMessage function

bool isNotEmptyMessage(
  1. Message message
)

Check if a message is not empty.

Implementation

bool isNotEmptyMessage(Message message) {
  if (message is ProgressMessage ||
      message is AttachmentMessage ||
      message is SystemMessage) {
    return true;
  }

  if (message is UserMessage) {
    if (message.content is String) {
      return (message.content as String).trim().isNotEmpty;
    }
    final blocks = message.content as List;
    if (blocks.isEmpty) return false;
    if (blocks.length > 1) return true;
    final first = blocks[0];
    if (first is TextBlock) {
      return first.text.trim().isNotEmpty &&
          first.text != noContentMessage &&
          first.text != interruptMessageForToolUse;
    }
    return true;
  }

  if (message is AssistantMessage) {
    if (message.content.isEmpty) return false;
    if (message.content.length > 1) return true;
    final first = message.content[0];
    if (first is TextBlock) {
      return first.text.trim().isNotEmpty &&
          first.text != noContentMessage &&
          first.text != interruptMessageForToolUse;
    }
    return true;
  }

  return true;
}