{# One job call: the Enterprise Manager block, plus the files it answered with. The block is the same text the job call monitor shows for a selected call (services/execute.format_block builds it from the monitor's own renderers). It carries the .result-view markup so output.js upgrades the pre to an editable Monaco pane and copy/download take the edits, exactly like the other text formats. #}
{% if outcome.ok %} {{ t("execute.ok") }} {% else %} {{ outcome.return_code }} {% endif %} {{ outcome.job }} {{ "%.1f"|format(outcome.duration_ms) }} ms
{{ outcome.text }}
{% if outcome.files %} {# preview-group makes previous/next in the modal walk the files. #}
{% for file in outcome.files %} {% set url = "/api/execute/runs/" ~ outcome.run_id ~ "/files/" ~ file.index %} {% endfor %}
{{ t("execute.files") }}
{{ t("execute.file_name") }} {{ t("execute.file_kind") }} {{ t("execute.file_size") }} {# One archive beats a click per file once there are several. #} {% if outcome.run_id and outcome.files | length > 1 %} {% else %} {{ t("results.actions") }} {% endif %}
{{ file.name }} {{ file.kind }} {{ file.size }} {# No run id means the bytes were not kept, so there is nothing to preview or download; the row still names them. #} {% if outcome.run_id and file.previewable %} {% endif %} {% if outcome.run_id %} {% endif %}
{% endif %}