{% extends "base.html" %} {% from "macros.html" import pill, empty_state %} {% block title %}Audit Log — Agent Wasp{% endblock %} {% block page_css %} {% endblock %} {% block content %} {%- set err_rate = ((stats.errors_today / stats.today * 100) | round(1)) if stats.today > 0 else 0 -%}
Every agent action · auto-refresh 30s
| Time | Event | Source | Action | Input | Output | Latency | Status |
|---|---|---|---|---|---|---|---|
| {{ entry.timestamp.strftime('%m-%d %H:%M:%S') if entry.timestamp else '—' }} | {%- set et = entry.event_type -%} {%- if "error" in et or "fail" in et -%} {{ pill(et, "danger", "xs") }} {%- elif "skill" in et or "execute" in et -%} {{ pill(et, "info", "xs") }} {%- elif "login" in et or "auth" in et or "security" in et -%} {{ pill(et, "warning", "xs") }} {%- elif "telegram" in et or "message" in et -%} {{ pill(et, "success", "xs") }} {%- elif "scheduled" in et -%} {{ pill(et, "neutral", "xs") }} {%- else -%} {{ pill(et, "primary", "xs") }} {%- endif -%} | {{ entry.source or '—' }} | {%- set act = entry.action | replace("scheduler.", "") | replace("skill.", "") -%} {{ act[:30] }}{% if act | length > 30 %}…{% endif %} | {{ (entry.input_summary or '')[:50] }}{% if entry.input_summary and entry.input_summary|length > 50 %}…{% endif %} | {%- if has_err -%} {{ (entry.error or '')[:50] }}{% if entry.error and entry.error|length > 50 %}…{% endif %} {%- else -%} {{ (entry.output_summary or '')[:50] }}{% if entry.output_summary and entry.output_summary|length > 50 %}…{% endif %} {%- endif -%} | {% if entry.latency_ms %} {{ entry.latency_ms }}ms {% endif %} | {% if has_err %} ERR {% elif has_meta %} {% else %} · {% endif %} |
| {{ empty_state("No audit entries found.", "Entries appear as the agent processes messages.", "M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2") }} | |||||||