{% extends "server/base.html" %} {% import "agents/macros.html" as m with context %} {% set agent = row.kept.agent %} {% set short = ref(agent.id) %} {% block title %}{{ agent.name }}{% endblock %} {% block back %}/ui/agents/{% endblock %} {% block head %}{% endblock %} {% block heading %}{{ t.text("agents.title") }}{% include "agents/icons/chevron-right.svg" %}{{ agent.name }}{% endblock %} {% block actions %} {% if share %}{% endif %} {% if row.update %}{% include "agents/icons/pencil.svg" %}{{ t.text("agents.edit") }}{% endif %} {% if row.delete %}{% endif %} {% endblock %} {% block body %}
{# a change draws the activity tab again whole, and only the header over the others: an open folder or a form being filled stays as it is #} {% set live = ".detail" if tab == "activity" else ".profile" %}
{{ m.avatar(agent, "lg") }}

{{ agent.name }} {{ m.status(row) }}

{% for provider in agent.channel %} {% set link = (row.activity.channels | selectattr("connection", "equalto", provider.connection) | first | default(none)) if row.activity else none %} {{ m.logo(provider.kind) }}{{ (link.identity.name or link.identity.id) if link and link.identity else "—" }} {% endfor %} {% if agent.harness %} {% for provider in agent.harness %}{% if not loop.first %}{% include "agents/icons/chevron-right.svg" %}{% endif %}{{ m.logo(provider.kind) }}{{ provider["values"].get("model") or t.text("agents.model.default") }}{% if provider["values"].get("effort") %} · {{ provider["values"].get("effort") }}{% endif %}{% if not loop.first %} · {{ t.text("agents.standby") }}{% endif %}{% endfor %} {% endif %} {% include "agents/icons/monitor.svg" %}{{ t.text("agents.runs_on") }} {{ row.computer.name if row.computer else "—" }} {{ t.text("agents.mode." ~ agent.mode) }}
{% include "agents/" ~ tab ~ ".html" %}
{% endblock %}