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();