diff --git a/tools/ui/src/lib/components/app/chat/ChatForm/ChatFormActions/ChatFormActionAdd/ChatFormActionAddDropdown.svelte b/tools/ui/src/lib/components/app/chat/ChatForm/ChatFormActions/ChatFormActionAdd/ChatFormActionAddDropdown.svelte index 0fb4ae9919..c33ffb7a36 100644 --- a/tools/ui/src/lib/components/app/chat/ChatForm/ChatFormActions/ChatFormActionAdd/ChatFormActionAddDropdown.svelte +++ b/tools/ui/src/lib/components/app/chat/ChatForm/ChatFormActions/ChatFormActionAdd/ChatFormActionAddDropdown.svelte @@ -5,7 +5,11 @@ import * as DropdownMenu from '$lib/components/ui/dropdown-menu'; import * as Tooltip from '$lib/components/ui/tooltip'; import { cn } from '$lib/components/ui/utils'; - import { ATTACHMENT_FILE_ITEMS, ATTACHMENT_TOOLTIP_TEXT, ICON_CLASS_DEFAULT } from '$lib/constants'; + import { + ATTACHMENT_FILE_ITEMS, + ATTACHMENT_TOOLTIP_TEXT, + ICON_CLASS_DEFAULT + } from '$lib/constants'; import { getChatFormActionsContext } from '$lib/contexts'; import { AttachmentAction, AttachmentItemEnabledWhen } from '$lib/enums'; import { useAttachmentMenu } from '$lib/hooks/use-attachment-menu.svelte'; @@ -43,16 +47,15 @@ ); const FILE_MODALITY_ICONS: Record = { - [AttachmentItemEnabledWhen.HAS_VISION_MODALITY]: { icon: Image, label: 'Vision' }, [AttachmentItemEnabledWhen.HAS_AUDIO_MODALITY]: { icon: Mic, label: 'Audio' }, - [AttachmentItemEnabledWhen.HAS_VIDEO_MODALITY]: { icon: Video, label: 'Video' } + [AttachmentItemEnabledWhen.HAS_VIDEO_MODALITY]: { icon: Video, label: 'Video' }, + [AttachmentItemEnabledWhen.HAS_VISION_MODALITY]: { icon: Image, label: 'Vision' } }; - const supportedModalities = $derived.by( - () => - ATTACHMENT_FILE_ITEMS.filter((item) => attachmentMenu.isItemEnabled(item.enabledWhen)) - .map((item) => FILE_MODALITY_ICONS[item.enabledWhen ?? '']) - .filter((modality) => modality !== undefined) + const supportedModalities = $derived.by(() => + ATTACHMENT_FILE_ITEMS.filter((item) => attachmentMenu.isItemEnabled(item.enabledWhen)) + .map((item) => FILE_MODALITY_ICONS[item.enabledWhen ?? '']) + .filter((modality) => modality !== undefined) ); diff --git a/tools/ui/src/lib/components/app/chat/ChatForm/ChatFormActions/ChatFormActionAdd/ChatFormActionAddReasoningSubmenu.svelte b/tools/ui/src/lib/components/app/chat/ChatForm/ChatFormActions/ChatFormActionAdd/ChatFormActionAddReasoningSubmenu.svelte index c2e676f3d5..197d6c2e59 100644 --- a/tools/ui/src/lib/components/app/chat/ChatForm/ChatFormActions/ChatFormActionAdd/ChatFormActionAddReasoningSubmenu.svelte +++ b/tools/ui/src/lib/components/app/chat/ChatForm/ChatFormActions/ChatFormActionAdd/ChatFormActionAddReasoningSubmenu.svelte @@ -9,67 +9,67 @@ - - {#if reasoning.isReasoningActive} - - {:else if reasoning.isOff} - - {:else} - - {/if} + + {#if reasoning.isReasoningActive} + + {:else if reasoning.isOff} + + {:else} + + {/if} - - Reasoning - - - {reasoning.currentEffort} - - - - - - {#each reasoning.levels as level (level.value)} - {@const tokenLabel = reasoning.tokenLabel(level)} - reasoning.select(level)} - > - {#if reasoning.isSelected(level)} - - {:else} -
- {/if} + Reasoning - {level.label} + + {reasoning.currentEffort} + + +
- {#if tokenLabel} - - {tokenLabel} - - {/if} + + {#each reasoning.levels as level (level.value)} + {@const tokenLabel = reasoning.tokenLabel(level)} + reasoning.select(level)} + > + {#if reasoning.isSelected(level)} + + {:else} +
+ {/if} - {#if level.hasInfo} - - - - + {level.label} - -

Maximum reasoning effort with extended context usage

-
-
- {/if} -
- {/each} -
-
+ {#if tokenLabel} + + {tokenLabel} + + {/if} + + {#if level.hasInfo} + + + + + + +

Maximum reasoning effort with extended context usage

+
+
+ {/if} + + {/each} + + diff --git a/tools/ui/src/lib/components/app/chat/ChatForm/ChatFormActions/ChatFormActionAdd/ChatFormActionAddSheet.svelte b/tools/ui/src/lib/components/app/chat/ChatForm/ChatFormActions/ChatFormActionAdd/ChatFormActionAddSheet.svelte index 1ff17038fc..e8da0af6b9 100644 --- a/tools/ui/src/lib/components/app/chat/ChatForm/ChatFormActions/ChatFormActionAdd/ChatFormActionAddSheet.svelte +++ b/tools/ui/src/lib/components/app/chat/ChatForm/ChatFormActions/ChatFormActionAdd/ChatFormActionAddSheet.svelte @@ -63,7 +63,7 @@ {@render trigger({ disabled: chatFormActions.disabled, onclick: () => (sheetOpen = true) })} - + Add to chat @@ -73,7 +73,7 @@
- (filesExpanded = open)}> + (filesExpanded = open)} open={filesExpanded}> {#if filesExpanded} @@ -92,9 +92,9 @@ {@const enabled = attachmentMenu.isItemEnabled(item.enabledWhen)} {#if enabled} {#if toolsPanel.totalToolCount > 0} - (toolsExpanded = open)}> + (toolsExpanded = open)} open={toolsExpanded}> {#if toolsExpanded} @@ -163,12 +163,12 @@ {/if} {/snippet} diff --git a/tools/ui/src/lib/components/app/dialogs/DialogMcpServers.svelte b/tools/ui/src/lib/components/app/dialogs/DialogMcpServers.svelte index d6b90920a4..2eaaa0a657 100644 --- a/tools/ui/src/lib/components/app/dialogs/DialogMcpServers.svelte +++ b/tools/ui/src/lib/components/app/dialogs/DialogMcpServers.svelte @@ -16,7 +16,7 @@ } - + diff --git a/tools/ui/src/lib/components/app/dialogs/DialogSettingsChat.svelte b/tools/ui/src/lib/components/app/dialogs/DialogSettingsChat.svelte index 268a00442f..5e0046aae5 100644 --- a/tools/ui/src/lib/components/app/dialogs/DialogSettingsChat.svelte +++ b/tools/ui/src/lib/components/app/dialogs/DialogSettingsChat.svelte @@ -17,7 +17,7 @@ } - + @@ -29,6 +29,6 @@ - {}} onClose={() => (open = false)} /> + (open = false)} onSectionChange={() => {}} /> diff --git a/tools/ui/src/lib/components/app/models/ModelId.svelte b/tools/ui/src/lib/components/app/models/ModelId.svelte index 123aec8980..ea700580a0 100644 --- a/tools/ui/src/lib/components/app/models/ModelId.svelte +++ b/tools/ui/src/lib/components/app/models/ModelId.svelte @@ -120,6 +120,7 @@ +

Reasoning

@@ -131,6 +132,7 @@ +

Vision

@@ -142,6 +144,7 @@ +

Video

@@ -153,6 +156,7 @@ +

Audio

diff --git a/tools/ui/src/lib/components/app/models/ModelsSelectorOption.svelte b/tools/ui/src/lib/components/app/models/ModelsSelectorOption.svelte index e83021b2b9..16bc4f8976 100644 --- a/tools/ui/src/lib/components/app/models/ModelsSelectorOption.svelte +++ b/tools/ui/src/lib/components/app/models/ModelsSelectorOption.svelte @@ -85,10 +85,10 @@ aliases={option.aliases} class="flex-1" {hideOrgName} + {modalities} modelId={option.model} - modalities={modalities} - {supportsThinking} showRawTooltip + {supportsThinking} tags={option.tags} /> diff --git a/tools/ui/src/lib/components/app/settings/SettingsMcpServers.svelte b/tools/ui/src/lib/components/app/settings/SettingsMcpServers.svelte index 127a035ad5..c0cf0000d3 100644 --- a/tools/ui/src/lib/components/app/settings/SettingsMcpServers.svelte +++ b/tools/ui/src/lib/components/app/settings/SettingsMcpServers.svelte @@ -86,7 +86,6 @@ {:else} (isResourcesDialogOpen = true)} onDelete={() => mcpStore.removeServer(server.id)} @@ -103,6 +102,7 @@ } }} onUpdate={(updates) => mcpStore.updateServer(server.id, updates)} + {server} /> {/if} {/each} diff --git a/tools/ui/src/lib/components/ui/dialog/dialog-header.svelte b/tools/ui/src/lib/components/ui/dialog/dialog-header.svelte index 99abfce4be..fd590e1860 100644 --- a/tools/ui/src/lib/components/ui/dialog/dialog-header.svelte +++ b/tools/ui/src/lib/components/ui/dialog/dialog-header.svelte @@ -1,7 +1,7 @@