{% from "_macros.html" import icon %}
{#
A plan the model proposed in Plan mode.
Rendered from `message.plan_json` rather than parsed back out of the prose, so
the Execute button sends exactly what was proposed. Every line is model output
and is escaped; a step is shown as text, never as Markdown, because a plan is
the last thing that should be able to emit a link.
Execute switches the chat to Edit, never Auto -- the plan was written under a
mode where every command stopped for approval, and a button that also removed
the asking is not the button anybody pressed. The confirm dialog says so.
#}
{{ icon("check", "icon--sm") }}
{{ message.plan_json.title or "A plan" }}