{#if message.from === "assistant"}
(isTapped = !isTapped)} onkeydown={() => (isTapped = !isTapped)} >
{#if message.files?.length}
{#each message.files as file (file.value)}
{/each}
{/if}
{#if isLast && loading && message.content.length === 0}
{/if} {#if hasClientThink} {#each message.content.split(THINK_BLOCK_REGEX) as part, _i} {#if part && part.startsWith("
")} {@const isClosed = part.endsWith("
")} {@const thinkContent = part.slice(7, isClosed ? -8 : undefined)} {@const isInterrupted = !isClosed && !loading} {@const summary = isClosed || isInterrupted ? thinkContent.trim().split(/\n+/)[0] || "Reasoning" : "Thinking..."}
{:else if part && part.trim().length > 0}
{/if} {/each} {:else}
{/if}
{#if message.routerMetadata || (!loading && message.content)}
{#if message.routerMetadata && (message.routerMetadata.route || message.routerMetadata.model || message.routerMetadata.provider) && (!isLast || !loading)}
{#if message.routerMetadata.route && message.routerMetadata.model}
{message.routerMetadata.route}
with
{#if publicConfig.isHuggingChat}
{message.routerMetadata.model.split("/").pop()}
{:else}
{message.routerMetadata.model.split("/").pop()}
{/if} {/if} {#if message.routerMetadata.provider} {@const hubOrg = PROVIDERS_HUB_ORGS[message.routerMetadata.provider]}
via
((e.currentTarget as HTMLImageElement).style.display = "none")} /> {message.routerMetadata.provider}
{/if}
{/if} {#if !isLast || !loading}
{ isCopied = true; }} classNames="btn rounded-sm p-1 text-sm text-gray-400 hover:text-gray-500 focus:ring-0 dark:text-gray-400 dark:hover:text-gray-300" value={contentWithoutThink} iconClassNames="text-xs" />
{ onretry?.({ id: message.id }); }} >
{#if alternatives.length > 1 && editMsdgId === null}
onshowAlternateMsg?.(payload)} /> {/if} {/if}
{/if}
{/if} {#if message.from === "user"}
(isTapped = !isTapped)} onkeydown={() => (isTapped = !isTapped)} >
{#if message.files?.length}
{#each message.files as file}
{/each}
{/if}
{#if !editMode}
{message.content.trim()}
{:else}
{ e.preventDefault(); onretry?.({ content: editContentEl?.value, id: message.id }); editMsdgId = null; }} >
Send
{ editMsdgId = null; }} > Cancel
{/if}
{#if alternatives.length > 1 && editMsdgId === null}
onshowAlternateMsg?.(payload)} /> {/if} {#if (alternatives.length > 1 && editMsdgId === null) || (!loading && !editMode)}
{ if (requireAuthUser()) return; editMsdgId = message.id; }} >
Edit
{/if}
{/if}