{roleLabel} · {timeStr} {#if message.queued} wartet {/if} {#if isStreaming && phaseLabel} · {phaseLabel} {/if} {#if showEdit} {/if} {#if showRegenerate} {/if} {#if onRemember} {/if} {#if showRewind} {/if}
{#if knowledgeHints.length > 0}
{#each knowledgeHints as hint (hint.id)} {/each}
{/if} {#if renderParts.length > 0}
{#each renderParts as part, i (i)} {#if part.type === 'text'}
{@html renderMarkdown(part.content)} {#if isStreaming && i === lastTextIdx} {/if}
{:else if part.type === 'tool'}
{/if} {/each}
{:else if isStreaming}
{/if}