contentAsString property

String get contentAsString

Returns to content of the message as a string.

Implementation

String get contentAsString => switch (this) {
      final SystemChatMessage system => system.content,
      final HumanChatMessage human => switch (human.content) {
          final ChatMessageContentText text => text.text,
          final ChatMessageContentImage image => image.data,
          final ChatMessageContentMultiModal multiModal => multiModal.parts
              .map(
                (final p) => switch (p) {
                  final ChatMessageContentText text => text.text,
                  final ChatMessageContentImage image => image.data,
                  ChatMessageContentMultiModal _ => '',
                },
              )
              .join('\n'),
        },
      final AIChatMessage ai => ai.content,
      final ToolChatMessage tool => tool.content,
      final CustomChatMessage custom => custom.content,
    };