{% extends "base.html" %} {% block title %}AI Traces{% endblock %} {% block extra_css %} {% endblock %} {% block content %}
{% for chip in surface_chips %} {{ chip.label }} {{ chip.count }} {% endfor %}
{% if show_verdict_filters %}
Verdict All prompts {{ verdict_summary.total }} Blocked {{ verdict_summary.blocked }} Accepted {{ verdict_summary.accepted }}
{% endif %}

{% if type_filter == "llm_call" %} {% if verdict_filter == "blocked" %}Blocked prompts {% elif verdict_filter == "accepted" %}Accepted prompts {% else %}Prompt activity{% endif %} {% elif type_filter %}{{ active_label }} activity {% else %}Recent activity{% endif %}

{% if show_verdict_filters %} {{ verdict_summary.blocked }} blocked · {{ verdict_summary.accepted }} accepted {% endif %}
{% if traces %}
{% for row in trace_rows %} {% endfor %}
Verdict {% if type_filter == "llm_call" %}Prompt{% else %}Activity{% endif %} Model Provider Latency Risk When
{{ row.verdict_label }}
{{ row.trace_short }} · {{ row.surface_label }}
{% if row.preview %}
{{ row.preview }}
{% endif %} {% if row.verdict == "blocked" and row.reason %}
Reason: {{ row.reason }}
{% endif %}
{{ row.model_or_tool }} {{ row.provider }} {{ row.latency }}
{{ row.risk_display }}
{{ row.when }}
{% else %}

{% if verdict_filter == "blocked" %} No blocked prompts in this window. {% elif verdict_filter == "accepted" %} No accepted prompts in this window. {% elif type_filter %} No {{ active_label|lower }} traces yet. {% else %} No traces yet. Gateway traffic will show up here. {% endif %}

{% endif %}
{% endblock %}