{% from "components.html" import dot %} {% set model_base = base ~ "/model" %}

MODEL POLICY

{% if model_gate.policy_id %} Open policy {% endif %}
Policy
{% if model_gate.policy_id %} {{ model_gate.policy_name }} {% else %} {{ "temporary edit" if model_gate.policy_tag[0] == "temporary" else "none" }} {% endif %} {{ model_gate.policy_tag[0] }}
Configured
{{ model_gate.configured }}
{% for provider in model_gate.providers %}
{{ provider.name }}
{{ provider.api }} {{ provider.models }} {{ provider.rate }} {{ provider.credential }}
{% else %}
Providers
none
{% endfor %}
Changed live
{{ model_gate.changed }}
{% for tile in model_gate.tiles %}
{{ tile.label | upper }}
{% if tile.tone and tile.counted %}{{ dot(tile.tone) }}{% endif %} {{ tile.value }}
{{ tile.note }}
{% endfor %}
{% if not model_gate.started %}
The Run has not started The runner configures the model gateway when it starts the VM. Calls show here from then on.
{% elif not model_gate.groups %}
No call yet The agent has not called a model through the gateway. Calls, their tokens and the budget they spend show here from the first one.
{% else %} {% if model_gate.spend %} {% set spend = model_gate.spend %}

SPENT OVER THE RUN

per minute · {{ spend.axis[0] }} – {{ spend.axis[-1] }} · the runner's window restarts with the runner

Tokens against the budget

{{ dot("green") }} input {{ spend.input }} {{ dot("amber") }} output {{ spend.output }}
{% for tick in spend.axis %}{{ tick }}{% endfor %}

Requests against the rate

{% for strip in spend.strips %}
{{ strip.provider }} {{ strip.note }} {% if strip.refused %}{{ strip.refused }}{% endif %}
{% for bar in strip.bars %} {% endfor %} {% endfor %}
{% for tick in spend.axis %}{{ tick }}{% endfor %}
{% endif %}

CALLS BY MODEL · {{ model_gate.groups_total }}

denied first · grouped by provider and model
{% for group in model_gate.groups %} {% endfor %}
PROVIDER MODEL CALLS INPUT OUTPUT DENIED SLOWEST LAST CALL
{{ group.provider }} {{ group.model }} {{ group.calls }} {{ group.input }} {{ group.output }} {{ group.denied }} {{ group.slowest }} {{ group.last }}

CALLS · {{ model_gate.total }}

{% for key, label in model_gate.filters %} {% set href = model_base ~ ("" if key == "all" else "?decision=" ~ key) %} {{ label }} {% endfor %}
{% for row in model_gate.calls %} {% else %} {% endfor %}
TIME DECISION PROVIDER MODEL INPUT OUTPUT DURATION CATEGORY
{{ row.time }} {{ row.decision }} {{ row.provider }} {{ row.model }} {{ row.input }} {{ row.output }} {{ row.duration }} {% if row.refused %} {{ row.why }} {% elif row.category == "none" %} — {% else %} {{ row.category }} {{ row.why }} {% endif %}
No call yet.
{% endif %}