{{ request_id }} {% if is_active %} streaming {% elif error %} error {% else %} ok {% endif %} {{ model }}

{{ duration_ms }}ms {% if input_tokens is not none or output_tokens is not none %} {{ (input_tokens|default(0, true)) + (output_tokens|default(0, true)) }} tokens {% endif %} {% if is_active %}Live Stream{% endif %}
{% if not is_active %} Open Log {% endif %}
API Key
{{ api_key }}
Started
{{ timestamp or "Active" }}
Completed
{% if is_active %}Pending{% else %}{{ timestamp or "-" }}{% endif %}
Duration
{{ duration_ms }}ms
Prompt Tokens
{{ input_tokens|default("-", true) }}
Completion Tokens
{{ output_tokens|default("-", true) }}
Total Tokens
{% if input_tokens is not none or output_tokens is not none %}{{ (input_tokens|default(0, true)) + (output_tokens|default(0, true)) }}{% else %}-{% endif %}
Messages Attachments
{% if messages %}{{ messages|length }}{% endif %}
{% if messages %} {% for msg in messages %}
{{ msg.role }} {% if timestamp %}{{ timestamp[11:19] }}{% endif %}
{{ msg.content }}
{% if msg.attachments %}
{% for att in msg.attachments %} {% if att.content_type == "url" %} attachment {% elif att.media_type.startswith("image/") %} attachment {% else %} {{ att.filename }} {% endif %} {% endfor %}
{% endif %}
{% endfor %} {% else %}

No messages captured for this request.

{% endif %} {% if is_active %}
Live Stream
{{ buffered_text }}
{% endif %}
{% if error %}Response{% else %}Response{% endif %} Info
{% if error %}
Server error{{ error }}
{
  "error": {
    "message": {{ error|tojson }},
    "type": {{ (exception_type or "server_error")|tojson }},
    "code": {{ (exception_type or "server_error")|tojson }}
  },
  "request_id": {{ request_id|tojson }},
  "status": "error"
}
{% elif response %}
{{ response }}
{% elif is_active %}

Streaming response will appear in the live stream panel.

{% else %}

No response body captured for this request.

{% endif %}