isSyntheticMessage function

bool isSyntheticMessage(
  1. Message message
)

Check if a message is synthetic (interrupt, cancel, reject, etc.).

Implementation

bool isSyntheticMessage(Message message) {
  if (message is! UserMessage && message is! AssistantMessage) return false;

  dynamic content;
  if (message is UserMessage) {
    content = message.content;
  } else if (message is AssistantMessage) {
    content = message.content;
  }

  if (content is List && content.isNotEmpty) {
    final first = content[0];
    if (first is TextBlock) {
      return syntheticMessages.contains(first.text);
    }
  }
  return false;
}