{% from "_macros.html" import icon %} {# The reply has stopped and is waiting for you. Two shapes, one mechanism: a question the model asked, and (later) a command waiting to be allowed. Everything shown here is model output and is escaped accordingly -- the question text, the options on the buttons and the command itself all came from a model that may have been reading somebody else's file a moment ago. Deliberately attributed to the model rather than styled as if LLeMbas were asking. A question that looks like it came from the application is a question people answer with things they would not tell a chatbot. hx-swap="none" because the SSE stream clears this card the moment the answer lands; swapping a response in here would fight it. #}

{{ icon("sparkle", "icon--sm") }} The model is asking you

{% for item in ask.items %}

{{ item.title }}

{% if item.detail %}
{{ item.detail }}
{% endif %} {% if item.reason %}

{{ item.reason }}

{% endif %}
{% endfor %}
{% if ask.kind == "question" %} {% for option in ask.options %} {% endfor %} {% if ask.allow_free_text %} {# Never type="password". A model talked into asking for a credential must not be handed a field that looks built for one, and a transcript is not a place to put secrets. #}
{% endif %} {% else %} {% endif %}