{% extends "base.html" %} {% block styles %} {{ super() }} .task-back { margin-top: 0; } .timeline-step { border: 1px solid #c8d0d6; background: #fff; padding: 1rem; margin-bottom: 1rem; } .step-heading { display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; align-items: baseline; margin-bottom: 0.75rem; } .step-heading p { margin: 0; color: #4d5a63; } .evidence-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-bottom: 1rem; } .evidence-pane { margin: 0; min-width: 0; } .evidence-pane h3 { font-size: 1rem; margin: 0 0 0.35rem; } .screenshot-frame { min-height: 6rem; border: 1px solid #c8d0d6; background: #f8fafb; display: grid; place-items: center; overflow: hidden; color: #5e6b73; position: relative; } .screenshot-frame img { display: block; width: 100%; height: auto; } .overlay-svg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; } .overlay-svg .overlay-box { fill: none; stroke-width: 2; vector-effect: non-scaling-stroke; } .overlay-svg .overlay-box.source-ui { stroke: #1e88e5; } .overlay-svg .overlay-box.source-ocr { stroke: #fb8c00; } .overlay-svg .overlay-boxes { display: none; } .overlay-svg.show-boxes .overlay-boxes { display: inline; } .overlay-svg .action-tap { fill: #e53935; fill-opacity: 0.25; stroke: #e53935; stroke-width: 2; vector-effect: non-scaling-stroke; } .overlay-svg .action-swipe-line { stroke: #e53935; stroke-width: 3; vector-effect: non-scaling-stroke; fill: none; } .overlay-svg .action-swipe-dot { fill: #e53935; } .overlay-toggle { margin-bottom: 1rem; } .step-details { margin-top: 0.75rem; } .step-details summary { cursor: pointer; font-weight: 600; } .step-details pre { white-space: pre-wrap; overflow-wrap: anywhere; margin: 0.65rem 0 0; padding: 0.65rem; border: 1px solid #d5dce0; background: #f8fafb; } .operation-grid { display: grid; grid-template-columns: minmax(7rem, 0.4fr) minmax(0, 1fr); gap: 0.35rem 0.75rem; margin: 0.65rem 0 0; } .operation-grid dt { font-weight: 600; } .operation-grid dd { margin: 0; overflow-wrap: anywhere; } .observation-list, .ui-tree-nodes { margin: 0.65rem 0 0; padding-left: 1.25rem; } .observation-list li, .ui-tree-nodes li { margin-bottom: 0.45rem; overflow-wrap: anywhere; } .observation-list span, .ui-tree-nodes span { color: #4d5a63; margin-left: 0.4rem; } .ui-tree-nodes code { overflow-wrap: anywhere; } @media (max-width: 640px) { .evidence-grid { grid-template-columns: minmax(0, 1fr); } .timeline-step { padding: 0.75rem; } } {% endblock %} {% block body %}
| Field | Value |
|---|---|
| {{ row[0] }} | {{ row[1] }} |
{{ cancel_notice }}
{% endif %} {% if cancel_error %}{{ cancel_error }}
{% endif %} {% if can_cancel %} {% endif %}No timeline records.
{% else %} {% endif %} {% for step in timeline_steps %}{{ step.timestamp }}
{{ step.tool_call | tojson(indent=2) }}
{{ step.result | tojson(indent=2) }}
{{ step.prompt }}
{{ node.get("bounds") | tojson }}
{% if node.get("confidence") is not none %}confidence {{ "%.3f" | format(node.get("confidence")) }}{% endif %}