canCopy && copyToClipboard(text)}
-/>
diff --git a/tools/server/webui/src/lib/components/app/actions/RemoveButton.svelte b/tools/server/webui/src/lib/components/app/actions/RemoveButton.svelte
deleted file mode 100644
index 1ae3d21774..0000000000
--- a/tools/server/webui/src/lib/components/app/actions/RemoveButton.svelte
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
diff --git a/tools/server/webui/src/lib/components/app/actions/index.ts b/tools/server/webui/src/lib/components/app/actions/index.ts
index bc0fe00f3a..43485c7b7e 100644
--- a/tools/server/webui/src/lib/components/app/actions/index.ts
+++ b/tools/server/webui/src/lib/components/app/actions/index.ts
@@ -6,17 +6,14 @@
*
*/
-/** Styled button for action triggers with icon support. */
-export { default as ActionButton } from './ActionButton.svelte';
+/** Styled icon button for action triggers with tooltip. */
+export { default as ActionIcon } from './ActionIcon.svelte';
/** Code block actions component (copy, preview). */
-export { default as CodeBlockActions } from '../actions/CodeBlockActions.svelte';
+export { default as ActionIconsCodeBlock } from './ActionIconsCodeBlock.svelte';
-/** Copy-to-clipboard button with success feedback. */
-export { default as CopyToClipboardIcon } from './CopyToClipboardIcon.svelte';
+/** Copy-to-clipboard icon button with click handler. */
+export { default as ActionIconCopyToClipboard } from './ActionIconCopyToClipboard.svelte';
-/** Remove/delete button with X icon. */
-export { default as RemoveButton } from './RemoveButton.svelte';
-
-/** Display for keyboard shortcut hints (e.g., "⌘ + Enter"). */
-export { default as KeyboardShortcutInfo } from './KeyboardShortcutInfo.svelte';
+/** Remove/delete icon button with X icon. */
+export { default as ActionIconRemove } from './ActionIconRemove.svelte';
diff --git a/tools/server/webui/src/lib/components/app/chat/ChatAttachments/ChatAttachmentMcpPrompt.svelte b/tools/server/webui/src/lib/components/app/chat/ChatAttachments/ChatAttachmentMcpPrompt.svelte
index d168a7c058..c802f361ac 100644
--- a/tools/server/webui/src/lib/components/app/chat/ChatAttachments/ChatAttachmentMcpPrompt.svelte
+++ b/tools/server/webui/src/lib/components/app/chat/ChatAttachments/ChatAttachmentMcpPrompt.svelte
@@ -1,5 +1,5 @@
-
-
{#if isAutocompleteActive && suggestions.length > 0}
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 03803490ba..fd154eb64a 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
@@ -7,10 +7,12 @@
import { DatabaseService } from '$lib/services';
import { SYSTEM_MESSAGE_PLACEHOLDER } from '$lib/constants/ui';
import { MessageRole, AttachmentType } from '$lib/enums';
- import ChatMessageAssistant from './ChatMessageAssistant.svelte';
- import ChatMessageUser from './ChatMessageUser.svelte';
- import ChatMessageSystem from './ChatMessageSystem.svelte';
- import ChatMessageMcpPrompt from './ChatMessageMcpPrompt.svelte';
+ import {
+ ChatMessageAssistant,
+ ChatMessageUser,
+ ChatMessageSystem,
+ ChatMessageMcpPrompt
+ } from '$lib/components/app/chat';
import { parseFilesToMessageExtras } from '$lib/utils/browser-only';
import type { DatabaseMessageExtraMcpPrompt } from '$lib/types';
diff --git a/tools/server/webui/src/lib/components/app/chat/ChatMessages/ChatMessageActions.svelte b/tools/server/webui/src/lib/components/app/chat/ChatMessages/ChatMessageActions.svelte
index 681d49c89b..97b34e92cc 100644
--- a/tools/server/webui/src/lib/components/app/chat/ChatMessages/ChatMessageActions.svelte
+++ b/tools/server/webui/src/lib/components/app/chat/ChatMessages/ChatMessageActions.svelte
@@ -1,7 +1,7 @@