{% extends "base.html" %} {% from "macros.html" import src_link, item_href, event_link, flags %} {% set c = view.call %} {% block title %}Turn {{ view.number }}{% endblock %} {% block crumbs %} › {{ src_link(source) }} › {{ c.work_item or "agent" }} › {% if view.run %}{{ view.run.kind }} {{ view.run.role }} › {% endif %}turn {{ view.number }}{% endblock %} {% block main %}
| Role | {{ c.role or "—" }} | Time | {{ c.at|when }}, {{ "%.2f"|format(c.seconds) }}s |
|---|---|---|---|
| Model asked | {{ c.model }} | Answered by | {{ c.answered_by or "—" }} |
| Tokens | {{ c.tokens_in|num }} in · {{ c.tokens_out|num }} out | Prompt reuse (server) | {{ view.reused or "not reported" }} |
| Estimate | {{ c.estimate|num }} tokens (factor {{ c.factor }}) | Route | {{ c.route or "—" }}, HTTP {{ c.status or "—" }} |
| Outcome | {{ c.outcome }} | Fitting | {% if c.trim %}{{ c.trim|pretty }}{% else %}nothing cut{% endif %} |
{{ c.error }}{% endif %}
{{ view.reply.reasoning }}{{ view.reply.text }}{% endif %}
{% for tool, args in view.reply.calls %}
{{ args|pretty }}No reply recorded.
{% endif %} {% if view.reply.finish %}{% endif %}| {{ k }} | {{ v|pretty }} |
|---|
{{ view.tools|join(", ") }}
Messages marked new weren't in the turn before. first change marks where this request first differs from the last one: prompt reuse can't go past it. The server reused {{ view.reused or "an unreported number of" }} tokens.
{% endif %} {% if view.match_note %}{{ view.match_note }}
{% endif %} {% for m in view.messages %}{{ m.text }}{{ m.text }}{% endif %}
{% for id, tool, args in m.tool_calls %}
{{ args|pretty }}{{ view.compacted|length }} events of the log stood behind a compaction in this request: {% for e, comp in view.compacted %}{{ event_link(source, e) }}{% if comp %} → {{ event_link(source, comp) }}{% endif %}{% if not loop.last %}, {% endif %}{% endfor %}
{% endif %} {% if view.dropped %}{{ view.raw_request or "(not recorded)" }}{{ view.raw_response or "(not recorded)" }}