Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
c8d5a69
ui: replace per-conversation MCP overrides with per-conversation tool…
allozaur Aug 22, 2026
38c4721
ui: keep tool policy migration running when defaults parse fails
allozaur Aug 26, 2026
40d5906
ui: fall back to global defaults when agentic flow has no tool policy
allozaur Aug 26, 2026
c7dd200
ui: align preferences section headers with their methods
allozaur Aug 26, 2026
d018525
ui: gate MCP server avatars on conversation tool policy
allozaur Aug 26, 2026
9eb3f7d
ui: drop unused MCP category toggle from tools panel hook
allozaur Aug 26, 2026
617d9ae
ui: skip MCP init when flow policy disables the MCP category
allozaur Aug 26, 2026
f1a9607
chore: format
allozaur Aug 26, 2026
f51b3cd
ui: restore reasoning section in mobile add sheet
allozaur Aug 27, 2026
473d4a3
ui: clear MCP server group key in enableAllToolsForServer
allozaur Aug 27, 2026
0de27be
ui: skip MCP init when no policy-enabled server remains
allozaur Aug 27, 2026
a9ea5b9
ui: make Settings tools tab edit defaults with category toggles
allozaur Aug 27, 2026
f6346a6
ui: gate cwd picker and mention picker on effective tool policy
allozaur Aug 27, 2026
4f2f679
ui: clean up tool key helpers and store docs
allozaur Aug 27, 2026
ba419bf
ui: indeterminate group checkboxes and inert grayed rows
allozaur Aug 27, 2026
cd9d02c
ui: gate MCP prompt and resource capabilities on tool policy
allozaur Aug 27, 2026
e87eff0
ui: remove unmounted MCP submenu component
allozaur Aug 27, 2026
a72d3f1
ui: fix model information dialog width on all screen sizes
allozaur Aug 27, 2026
075dd71
ui: scroll wide chat template in model information dialog
allozaur Aug 27, 2026
116599b
ui: use fixed table layout in model information dialog
allozaur Aug 27, 2026
b76386d
ui: make model information dialog full-screen on mobile
allozaur Aug 27, 2026
e88da90
ui: stack chat template row in model information dialog
allozaur Aug 27, 2026
9bb932d
ui: scroll model information header with the content
allozaur Aug 27, 2026
20b0733
ui: replace literal comment text in sheet group snippet
allozaur Aug 27, 2026
b520daf
ui: let indeterminate state win over checked in group checkboxes
allozaur Aug 27, 2026
cbace8a
ui: initialize only policy-enabled MCP servers for a flow
allozaur Aug 27, 2026
e415366
ui: derive group checkbox state in useToolsPanel
allozaur Aug 27, 2026
2e8cce8
ui: gate /prompt command on the conversation tool policy
allozaur Aug 27, 2026
dc2dd99
ui: remove dead MCP prompt menu trigger chain
allozaur Aug 27, 2026
cf39a07
ui: render dash for mixed-state group checkboxes
allozaur Aug 27, 2026
85acaa0
ui: fix group checkbox sticking checked after disable
allozaur Aug 27, 2026
9b521a7
fix: UI for Model Information dialog
allozaur Aug 27, 2026
3d964e8
ui: keep MCP connections stable across policy switches
allozaur Aug 27, 2026
0cfa2be
ui: remove dead MCP resources menu trigger chain
allozaur Aug 27, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 15 additions & 9 deletions tools/ui/src/lib/components/app/chat/ChatForm/ChatForm.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,8 @@
FileExtensionText,
KeyboardKey,
MimeTypeText,
SpecialFileType
SpecialFileType,
ToolSource
} from '$lib/enums';
import { useChatFormPickers } from '$lib/hooks/use-chat-form-pickers.svelte';
import {
Expand Down Expand Up @@ -73,7 +74,6 @@
disabled?: boolean;
isLoading?: boolean;
placeholder?: string;
showMcpPromptButton?: boolean;
showAddButton?: boolean;
showModelSelector?: boolean;

Expand Down Expand Up @@ -103,7 +103,6 @@
onValueChange,
placeholder = 'Type a message...',
showAddButton = true,
showMcpPromptButton = false,
showModelSelector = true,
uploadedFiles = $bindable([]),
value = $bindable('')
Expand Down Expand Up @@ -152,9 +151,18 @@
getServerHome: () => toolsStore.serverHome ?? null,
getShowModelSelector: () => showModelSelector,
getValue: () => value,
hasCwdTools: () => toolsStore.hasEnabledCwdTools,
hasPrompts: () =>
mcpStore.hasPromptsCapability(conversationsStore.preferences.getAllMcpServerOverrides()),
hasCwdTools: () => conversationsStore.preferences.hasEnabledCwdTools(),
// policy-aware, same rule as the agentic flow: MCP category on and at
// least one globally-enabled server whose group key is not disabled
hasPrompts: () => {
const prefs = conversationsStore.preferences;

if (!prefs.isCategoryEnabled(ToolSource.MCP)) return false;

return mcpStore
.getServers()
.some((s) => s.enabled && prefs.isServerToolsEnabled(s.id) && s.url.trim());
},
openModelSelector: () => chatFormActionsRef?.openModelSelector(),
setCaretOffset: (offset) => inputRef?.setCaretOffset(offset),
setValue: (v) => {
Expand Down Expand Up @@ -620,8 +628,6 @@
isReasoning={chatStore.isReasoning}
{isRecording}
onFileUpload={handleFileUpload}
onMcpPromptClick={showMcpPromptButton ? () => pickers.openPromptPicker() : undefined}
onMcpResourcesClick={() => (isResourceDialogOpen = true)}
onMcpSettingsClick={() => (isMcpServersDialogOpen = true)}
onMicClick={handleMicClick}
{onStop}
Expand All @@ -635,7 +641,7 @@

<ContextGaugePopup />

{#if toolsStore.hasEnabledCwdTools}
{#if conversationsStore.preferences.hasEnabledCwdTools()}
<ChatFormCurrentWorkingDirectory
bind:query={pickers.workingDirectoryQuery}
customAnchor={mentionAnchor}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,15 +30,11 @@
const attachmentMenu = useAttachmentMenu(
() => ({
hasAudioModality: chatFormActions.hasAudioModality,
hasMcpPromptsSupport: chatFormActions.hasMcpPromptsSupport,
hasMcpResourcesSupport: chatFormActions.hasMcpResourcesSupport,
hasVideoModality: chatFormActions.hasVideoModality,
hasVisionModality: chatFormActions.hasVisionModality
}),
() => ({
onFileUpload: chatFormActions.onFileUpload,
onMcpPromptClick: chatFormActions.onMcpPromptClick,
onMcpResourcesClick: chatFormActions.onMcpResourcesClick,
onSystemPromptClick: chatFormActions.onSystemPromptClick
}),
() => {
Expand Down

This file was deleted.

Loading
Loading