{% if message.content is string %}
{% set content_lines = message.content.split('\n') %}
{% if content_lines|length <= 5 %}
{% if message.role == 'assistant' and '```' in message.content %}
{% set parts = message.content.split('```') %}
{% for part in parts %}
{% if loop.index is odd %}
{{ part | unescape_content }}
{% else %}
{{ part | unescape_content }}
{% endif %}
{% endfor %}
{% else %}
{{ message.content | unescape_content }}
{% endif %}
{% else %}
{{ content_lines[:5] | join('\n') | unescape_content }}
▼ {{ content_lines|length - 5 }} more lines
{% if message.role == 'assistant' and '```' in message.content %}
{% set parts = message.content.split('```') %}
{% for part in parts %}
{% if loop.index is odd %}
{{ part | unescape_content }}
{% else %}
{{ part | unescape_content }}
{% endif %}
{% endfor %}
{% else %}
{{ message.content | unescape_content }}
{% endif %}
▲ Click to collapse
{% endif %}
{% elif message.content is iterable %}
{% for content_part in message.content %}
{% if content_part.type == 'text' %}
{% set content_lines = content_part.text.split('\n') %}
{% if content_lines|length <= 5 %}
{{ content_part.text | unescape_content }}
{% else %}
{{ content_lines[:5] | join('\n') | unescape_content }}
▼ {{ content_lines|length - 5 }} more lines
{{ content_part.text | unescape_content }}
▲ Click to collapse
{% endif %}
{% else %}
{{ content_part.type.title() }}:
{{ content_part | tojson(indent=2) }}
{% endif %}
{% endfor %}
{% else %}
{{ message.content | tojson(indent=2) }}
{% endif %}