{#if message.from === "assistant"}
(isTapped = !isTapped)} on:keypress={() => (isTapped = !isTapped)} >
{#if searchUpdates && searchUpdates.length > 0}
{/if} {#if !message.content && (webSearchIsDone || (webSearchMessages && webSearchMessages.length === 0))}
{/if}
{#each tokens as token} {#if token.type === "code"}
{:else} {@html marked.parse(token.raw, options)} {/if} {/each}
{#if webSearchSources?.length}
Sources:
{#each webSearchSources as { link, title, hostname }}
{hostname.replace(/^www\./, "")}
{/each}
{/if}
{#if isAuthor && !loading && message.content}
dispatch("vote", { score: message.score === 1 ? 0 : 1, id: message.id })} >
dispatch("vote", { score: message.score === -1 ? 0 : -1, id: message.id })} >
{/if}
{/if} {#if message.from === "user"}
{message.content.trim()}
{#if !loading}
{#if downloadLink}
{/if} {#if !readOnly}
dispatch("retry", { content: message.content, id: message.id })} >
{/if}
{/if}
{/if}