diff --git a/tools/server/webui/src/lib/components/app/chat/ChatMessages/ChatMessageAgenticContent.svelte b/tools/server/webui/src/lib/components/app/chat/ChatMessages/ChatMessageAgenticContent.svelte index 68e3a9c635..7fd0bf4237 100644 --- a/tools/server/webui/src/lib/components/app/chat/ChatMessages/ChatMessageAgenticContent.svelte +++ b/tools/server/webui/src/lib/components/app/chat/ChatMessages/ChatMessageAgenticContent.svelte @@ -97,7 +97,7 @@ {#each sectionsParsed as section, index (index)} {#if section.type === AgenticSectionType.TEXT}
- +
{:else if section.type === AgenticSectionType.TOOL_CALL_STREAMING} {@const streamingIcon = isStreaming ? Loader2 : AlertTriangle} diff --git a/tools/server/webui/src/lib/components/app/chat/ChatMessages/ChatMessageAssistant.svelte b/tools/server/webui/src/lib/components/app/chat/ChatMessages/ChatMessageAssistant.svelte index cb62af48e6..a9889946c2 100644 --- a/tools/server/webui/src/lib/components/app/chat/ChatMessages/ChatMessageAssistant.svelte +++ b/tools/server/webui/src/lib/components/app/chat/ChatMessages/ChatMessageAssistant.svelte @@ -208,7 +208,7 @@ {message} /> {:else} - + {/if} {:else}
diff --git a/tools/server/webui/src/lib/components/app/content/MarkdownContent.svelte b/tools/server/webui/src/lib/components/app/content/MarkdownContent.svelte index 9e7370c805..62a0401091 100644 --- a/tools/server/webui/src/lib/components/app/content/MarkdownContent.svelte +++ b/tools/server/webui/src/lib/components/app/content/MarkdownContent.svelte @@ -36,10 +36,10 @@ import { mode } from 'mode-watcher'; import { ActionIconsCodeBlock, DialogCodePreview } from '$lib/components/app'; import { createAutoScrollController } from '$lib/hooks/use-auto-scroll.svelte'; - import type { DatabaseMessage } from '$lib/types/database'; + import type { DatabaseMessageExtra } from '$lib/types/database'; interface Props { - message?: DatabaseMessage; + attachments?: DatabaseMessageExtra[]; content: string; class?: string; disableMath?: boolean; @@ -51,7 +51,7 @@ contentHash?: string; } - let { content, message, class: className = '', disableMath = false }: Props = $props(); + let { content, attachments, class: className = '', disableMath = false }: Props = $props(); let containerRef = $state(); let renderedBlocks = $state([]); @@ -76,7 +76,7 @@ const themeStyleId = `highlight-theme-${(window.idxThemeStyle = (window.idxThemeStyle ?? 0) + 1)}`; let processor = $derived(() => { - void message; + void attachments; // eslint-disable-next-line @typescript-eslint/no-explicit-any let proc: any = remark().use(remarkGfm); // GitHub Flavored Markdown @@ -98,7 +98,7 @@ .use(rehypeRestoreTableHtml) // Restore limited HTML (e.g.,
,
    ) inside Markdown tables .use(rehypeEnhanceLinks) // Add target="_blank" to links .use(rehypeEnhanceCodeBlocks) // Wrap code blocks with header and actions - .use(rehypeResolveAttachmentImages, { message }) + .use(rehypeResolveAttachmentImages, { attachments }) .use(rehypeStringify, { allowDangerousHtml: true }); // Convert to HTML string }); diff --git a/tools/server/webui/src/lib/components/app/content/index.ts b/tools/server/webui/src/lib/components/app/content/index.ts index 634c9b644a..bca1c9f4c2 100644 --- a/tools/server/webui/src/lib/components/app/content/index.ts +++ b/tools/server/webui/src/lib/components/app/content/index.ts @@ -26,7 +26,7 @@ * * @example * ```svelte - * + * * ``` */ export { default as MarkdownContent } from './MarkdownContent.svelte'; diff --git a/tools/server/webui/src/lib/markdown/resolve-attachment-images.ts b/tools/server/webui/src/lib/markdown/resolve-attachment-images.ts index 86e1cdccfe..87c00d883d 100644 --- a/tools/server/webui/src/lib/markdown/resolve-attachment-images.ts +++ b/tools/server/webui/src/lib/markdown/resolve-attachment-images.ts @@ -1,13 +1,13 @@ import type { Root as HastRoot } from 'hast'; import { visit } from 'unist-util-visit'; -import type { DatabaseMessage, DatabaseMessageExtraImageFile } from '$lib/types/database'; +import type { DatabaseMessageExtra, DatabaseMessageExtraImageFile } from '$lib/types/database'; import { AttachmentType, UrlPrefix } from '$lib/enums'; /** * Rehype plugin to resolve attachment image sources. * Converts attachment names (e.g., "mcp-attachment-xxx.png") to base64 data URLs. */ -export function rehypeResolveAttachmentImages(options: { message?: DatabaseMessage }) { +export function rehypeResolveAttachmentImages(options: { attachments?: DatabaseMessageExtra[] }) { return (tree: HastRoot) => { visit(tree, 'element', (node) => { if (node.tagName === 'img' && node.properties?.src) { @@ -19,7 +19,7 @@ export function rehypeResolveAttachmentImages(options: { message?: DatabaseMessa } // Find matching attachment - const attachment = options.message?.extra?.find( + const attachment = options.attachments?.find( (a): a is DatabaseMessageExtraImageFile => a.type === AttachmentType.IMAGE && a.name === src );