From 4b08d65597e5b634b7191b0bd6d28feeafcc2a48 Mon Sep 17 00:00:00 2001 From: Timothy Jaeryang Baek Date: Wed, 1 Jul 2026 02:53:22 -0500 Subject: [PATCH] refac --- src/lib/components/chat/Overview/Node.svelte | 12 +++++++++--- src/lib/components/layout/Navbar/Menu.svelte | 4 +++- src/lib/components/layout/SearchModal.svelte | 9 +++++---- src/lib/components/layout/Sidebar/ChatItem.svelte | 9 +++++---- src/lib/components/layout/Sidebar/ChatMenu.svelte | 4 +++- 5 files changed, 25 insertions(+), 13 deletions(-) diff --git a/src/lib/components/chat/Overview/Node.svelte b/src/lib/components/chat/Overview/Node.svelte index 17c5e51e0c..45d7a0e95d 100644 --- a/src/lib/components/chat/Overview/Node.svelte +++ b/src/lib/components/chat/Overview/Node.svelte @@ -6,18 +6,24 @@ import ProfileImage from '../Messages/ProfileImage.svelte'; import Tooltip from '$lib/components/common/Tooltip.svelte'; import Heart from '$lib/components/icons/Heart.svelte'; + import { getOutputText } from '../Messages/structuredOutput'; const i18n = getContext('i18n'); type $$Props = NodeProps; export let data: $$Props['data']; + + const getMessageContent = (nodeData: any) => + getOutputText(nodeData?.message?.output) || nodeData?.message?.content || ''; + + $: messageContent = getMessageContent(data);
@@ -37,7 +43,7 @@ {#if data?.message?.error}
{data.message.error.content}
{:else} -
{data.message.content}
+
{messageContent}
{/if}
@@ -77,7 +83,7 @@ {data.message.error.content} {:else} -
{data.message.content}
+
{messageContent}
{/if} diff --git a/src/lib/components/layout/Navbar/Menu.svelte b/src/lib/components/layout/Navbar/Menu.svelte index 71fe4d81c4..8a7c03f372 100644 --- a/src/lib/components/layout/Navbar/Menu.svelte +++ b/src/lib/components/layout/Navbar/Menu.svelte @@ -7,6 +7,7 @@ import { downloadChatAsPDF } from '$lib/apis/utils'; import { copyToClipboard, createMessagesList } from '$lib/utils'; + import { getOutputText } from '$lib/components/chat/Messages/structuredOutput'; import { showControls, @@ -59,7 +60,8 @@ const history = chat.chat.history; const messages = createMessagesList(history, history.currentId); const chatText = messages.reduce((a, message, i, arr) => { - return `${a}### ${message.role.toUpperCase()}\n${message.content}\n\n`; + const content = getOutputText(message.output) || message.content || ''; + return `${a}### ${message.role.toUpperCase()}\n${content}\n\n`; }, ''); return chatText.trim(); diff --git a/src/lib/components/layout/SearchModal.svelte b/src/lib/components/layout/SearchModal.svelte index 8146750fad..6f9e5a64fc 100644 --- a/src/lib/components/layout/SearchModal.svelte +++ b/src/lib/components/layout/SearchModal.svelte @@ -24,6 +24,7 @@ import calendar from 'dayjs/plugin/calendar'; import Loader from '../common/Loader.svelte'; import { createMessagesList } from '$lib/utils'; + import { getOutputText } from '$lib/components/chat/Messages/structuredOutput'; import { config, user, @@ -204,14 +205,14 @@ let msgList = []; if (history?.messages && history?.currentId) { - msgList = createMessagesList(history, history.currentId).map((m) => ({ + msgList = createMessagesList(history, history.currentId).map((m: any) => ({ role: m.role, - content: m.content + content: getOutputText(m.output) || m.content || '' })); } else { - msgList = (chatContent?.messages ?? []).map((m) => ({ + msgList = (chatContent?.messages ?? []).map((m: any) => ({ role: m.role, - content: m.content + content: getOutputText(m.output) || m.content || '' })); } diff --git a/src/lib/components/layout/Sidebar/ChatItem.svelte b/src/lib/components/layout/Sidebar/ChatItem.svelte index 5a0a55a9fd..7454c60b4e 100644 --- a/src/lib/components/layout/Sidebar/ChatItem.svelte +++ b/src/lib/components/layout/Sidebar/ChatItem.svelte @@ -49,6 +49,7 @@ import Spinner from '$lib/components/common/Spinner.svelte'; import { generateTitle } from '$lib/apis'; import { createMessagesList } from '$lib/utils'; + import { getOutputText } from '$lib/components/chat/Messages/structuredOutput'; const i18n = getContext('i18n'); @@ -361,14 +362,14 @@ const history = chatContent?.history; let messages = []; if (history?.messages && history?.currentId) { - messages = createMessagesList(history, history.currentId).map((message) => ({ + messages = createMessagesList(history, history.currentId).map((message: any) => ({ role: message.role, - content: message.content + content: getOutputText(message.output) || message.content || '' })); } else { - messages = (chatContent?.messages ?? []).map((message) => ({ + messages = (chatContent?.messages ?? []).map((message: any) => ({ role: message.role, - content: message.content + content: getOutputText(message.output) || message.content || '' })); } diff --git a/src/lib/components/layout/Sidebar/ChatMenu.svelte b/src/lib/components/layout/Sidebar/ChatMenu.svelte index 13731e6528..1367906c0a 100644 --- a/src/lib/components/layout/Sidebar/ChatMenu.svelte +++ b/src/lib/components/layout/Sidebar/ChatMenu.svelte @@ -22,6 +22,7 @@ } from '$lib/apis/chats'; import { chats, folders, settings, theme, user } from '$lib/stores'; import { createMessagesList } from '$lib/utils'; + import { getOutputText } from '$lib/components/chat/Messages/structuredOutput'; import { downloadChatAsPDF } from '$lib/apis/utils'; import Download from '$lib/components/icons/Download.svelte'; import Folder from '$lib/components/icons/Folder.svelte'; @@ -61,7 +62,8 @@ const history = chat.chat.history; const messages = createMessagesList(history, history.currentId); const chatText = messages.reduce((a, message, i, arr) => { - return `${a}### ${message.role.toUpperCase()}\n${message.content}\n\n`; + const content = getOutputText(message.output) || message.content || ''; + return `${a}### ${message.role.toUpperCase()}\n${content}\n\n`; }, ''); return chatText.trim();