diff --git a/src/lib/components/chat/Messages/ResponseMessage.svelte b/src/lib/components/chat/Messages/ResponseMessage.svelte index 8cd377bdf..5cb0cbeef 100644 --- a/src/lib/components/chat/Messages/ResponseMessage.svelte +++ b/src/lib/components/chat/Messages/ResponseMessage.svelte @@ -38,6 +38,7 @@ import Spinner from '$lib/components/common/Spinner.svelte'; import WebSearchResults from './ResponseMessage/WebSearchResults.svelte'; import Sparkles from '$lib/components/icons/Sparkles.svelte'; + import TokenRenderer from './TokenRenderer.svelte'; export let message; export let siblings; @@ -80,25 +81,6 @@ replaceTokens(sanitizeResponseContent(message?.content), model?.name, $user?.name) ); - const renderer = new marked.Renderer(); - - // For code blocks with simple backticks - renderer.codespan = (code) => { - return `${code.replaceAll('&', '&')}`; - }; - - // Open all links in a new tab/window (from https://github.com/markedjs/marked/issues/655#issuecomment-383226346) - const origLinkRenderer = renderer.link; - renderer.link = (href, title, text) => { - const html = origLinkRenderer.call(renderer, href, title, text); - return html.replace(/^ - {#if (message?.files ?? []).filter((f) => f.type === 'image').length > 0} -
- {#each message.files as file} -
- {#if file.type === 'image'} - - {/if} -
- {/each} -
- {/if} +
+ {#if (message?.files ?? []).filter((f) => f.type === 'image').length > 0} +
+ {#each message.files as file} +
+ {#if file.type === 'image'} + + {/if} +
+ {/each} +
+ {/if} -
-
- {#if (message?.statusHistory ?? [...(message?.status ? [message?.status] : [])]).length > 0} - {@const status = ( - message?.statusHistory ?? [...(message?.status ? [message?.status] : [])] - ).at(-1)} -
- {#if status.done === false} -
- -
- {/if} +
+
+ {#if (message?.statusHistory ?? [...(message?.status ? [message?.status] : [])]).length > 0} + {@const status = ( + message?.statusHistory ?? [...(message?.status ? [message?.status] : [])] + ).at(-1)} +
+ {#if status.done === false} +
+ +
+ {/if} - {#if status?.action === 'web_search' && status?.urls} - + {#if status?.action === 'web_search' && status?.urls} + +
+
+ {status?.description} +
+
+
+ {:else}
-
+
{status?.description}
- - {:else} -
-
- {status?.description} -
-
- {/if} -
- {/if} - - {#if edit === true} -
-