diff --git a/tools/server/webui/src/lib/components/app/chat/ChatForm/ChatFormPromptPicker.svelte b/tools/server/webui/src/lib/components/app/chat/ChatForm/ChatFormPromptPicker/ChatFormPromptPicker.svelte similarity index 56% rename from tools/server/webui/src/lib/components/app/chat/ChatForm/ChatFormPromptPicker.svelte rename to tools/server/webui/src/lib/components/app/chat/ChatForm/ChatFormPromptPicker/ChatFormPromptPicker.svelte index b865fdd26d..7c9d76e38c 100644 --- a/tools/server/webui/src/lib/components/app/chat/ChatForm/ChatFormPromptPicker.svelte +++ b/tools/server/webui/src/lib/components/app/chat/ChatForm/ChatFormPromptPicker/ChatFormPromptPicker.svelte @@ -2,11 +2,13 @@ import { mcpClient } from '$lib/clients/mcp.client'; import { conversationsStore } from '$lib/stores/conversations.svelte'; import { mcpStore } from '$lib/stores/mcp.svelte'; - import { getFaviconUrl, debounce } from '$lib/utils'; + import { debounce } from '$lib/utils'; import type { MCPPromptInfo, GetPromptResult, MCPServerSettingsEntry } from '$lib/types'; import { fly } from 'svelte/transition'; import { SvelteMap } from 'svelte/reactivity'; - import { SearchInput } from '$lib/components/app'; + import ChatFormPromptPickerList from './ChatFormPromptPickerList.svelte'; + import ChatFormPromptPickerHeader from './ChatFormPromptPickerHeader.svelte'; + import ChatFormPromptPickerArgumentForm from './ChatFormPromptPickerArgumentForm.svelte'; interface Props { class?: string; @@ -237,6 +239,18 @@ }, 150); } + function handleArgFocus(argName: string) { + if ((suggestions[argName]?.length ?? 0) > 0) { + activeAutocomplete = argName; + } + } + + function handleCancelArgumentForm() { + selectedPrompt = null; + promptArgs = {}; + promptError = null; + } + export function handleKeydown(event: KeyboardEvent): boolean { if (!isOpen) return false; @@ -316,202 +330,39 @@
- {selectedPrompt.description} -
- {/if} -+ {prompt.description} +
+ {/if} +