From 2d6020b574c5a5345b823d5a01db64b624ce44d6 Mon Sep 17 00:00:00 2001 From: Aleksander Grygier Date: Mon, 5 Jan 2026 12:03:35 +0100 Subject: [PATCH] feat: Enable adding System Prompt per-chat --- .../app/chat/ChatForm/ChatForm.svelte | 3 + .../ChatFormActionFileAttachments.svelte | 24 ++- .../ChatFormActions/ChatFormActions.svelte | 7 +- .../app/chat/ChatMessages/ChatMessage.svelte | 63 ++++++- .../ChatMessages/ChatMessageSystem.svelte | 2 +- .../app/chat/ChatScreen/ChatScreen.svelte | 2 + tools/server/webui/src/lib/constants/ui.ts | 1 + .../webui/src/lib/stores/chat.svelte.ts | 166 ++++++++++++++++++ 8 files changed, 259 insertions(+), 9 deletions(-) create mode 100644 tools/server/webui/src/lib/constants/ui.ts diff --git a/tools/server/webui/src/lib/components/app/chat/ChatForm/ChatForm.svelte b/tools/server/webui/src/lib/components/app/chat/ChatForm/ChatForm.svelte index f3a8028265..eec90a5d70 100644 --- a/tools/server/webui/src/lib/components/app/chat/ChatForm/ChatForm.svelte +++ b/tools/server/webui/src/lib/components/app/chat/ChatForm/ChatForm.svelte @@ -42,6 +42,7 @@ onFileUpload?: (files: File[]) => void; onSend?: (message: string, files?: ChatUploadedFile[]) => Promise; onStop?: () => void; + onSystemPromptAdd?: () => void; showHelperText?: boolean; uploadedFiles?: ChatUploadedFile[]; } @@ -54,6 +55,7 @@ onFileUpload, onSend, onStop, + onSystemPromptAdd, showHelperText = true, uploadedFiles = $bindable([]) }: Props = $props(); @@ -389,6 +391,7 @@ onFileUpload={handleFileUpload} onMicClick={handleMicClick} onStop={handleStop} + onSystemPromptClick={onSystemPromptAdd} /> diff --git a/tools/server/webui/src/lib/components/app/chat/ChatForm/ChatFormActions/ChatFormActionFileAttachments.svelte b/tools/server/webui/src/lib/components/app/chat/ChatForm/ChatFormActions/ChatFormActionFileAttachments.svelte index 61bf641aa3..748c55403f 100644 --- a/tools/server/webui/src/lib/components/app/chat/ChatForm/ChatFormActions/ChatFormActionFileAttachments.svelte +++ b/tools/server/webui/src/lib/components/app/chat/ChatForm/ChatFormActions/ChatFormActionFileAttachments.svelte @@ -1,5 +1,5 @@ @@ -181,6 +183,7 @@ showMcpOption={!hasMcpServers} onMcpClick={() => (showMcpDialog = true)} {onFileUpload} + {onSystemPromptClick} /> {#if hasMcpServers} diff --git a/tools/server/webui/src/lib/components/app/chat/ChatMessages/ChatMessage.svelte b/tools/server/webui/src/lib/components/app/chat/ChatMessages/ChatMessage.svelte index 9eedf8a4e3..518375582e 100644 --- a/tools/server/webui/src/lib/components/app/chat/ChatMessages/ChatMessage.svelte +++ b/tools/server/webui/src/lib/components/app/chat/ChatMessages/ChatMessage.svelte @@ -1,6 +1,15 @@