webui: Server tools (#21237)
* wip: server_tools * feat: Integrate with `/tools` endpoint * feat: Builtin + MCP + JSON Schema Tools WIP * refactor * displayName -> display_name * snake_case everywhere * rm redundant field * feat: Improvements * chore: update webui build output * refactor: Updates after server updates * chore: update webui build output * change arg to --tools all * feat: UI improvements * chore: update webui build output * add readme mention * llama-gen-docs * chore: update webui build output * chore: update webui build output * chore: update webui build output * feat: Reorganize settings sections * feat: Separate dialogs for MCP Servers Settings and Import/Export * feat: WIP * feat: WIP * feat: WIP * feat: WIP * feat: WIP * feat: WIP * WIP on allozaur/20677-webui-server-tools * feat: UI improvements * chore: Update package lock * chore: Run `npm audit fix` * feat: UI WIP * feat: UI * refactor: Desktop Icon Strip DRY * feat: Cleaner rendering and transition for ChatScreen * feat: UI improvements * feat: UI improvement * feat: Remove MCP Server "enable" switch from Tools submenu * chore: Run `npm audit fix` * feat: WIP * feat: Logic improvements * refactor: Cleanup * refactor: DRY * test: Fix Chat Sidebar UI Tests * chore: Update package lock * refactor: Cleanup * feat: Chat Message Action Card with Continue and Permission flow implementations * feat: Add agentic steering messages, draft messages and improve chat UX * fix: Search results UI * test: Fix unit test * feat: UI/UX improvements * refactor: Simplify `useToolsPanel` access in components * feat: Implement Processing Info Context API * feat: Implement 'Go back to chat' functionality for settings * feat: Enhance MCP Server management in Chat Form Attachments * style: Minor UI and branding adjustments * chore: Update webui static build output * chore: Formatting, linting & type checks * feat: Draft messages logic * feat: UI improvements * feat: Steering Messages improvements * refactor: Cleanup * refactor: Cleanup * feat: Improve UI * refactor: Settings navigation hook * refactor: DRY code * refactor: DRY ChatMessageUser UI components * refactor: Desktop Icon Strip DRY * refactor: Tools & permissions * fix: Navigation condition * refactor: Cleanup * refactor: Cleanup * refactor: Cleanup * fix: preserve reasoning_content in agentic flow --------- Co-authored-by: Xuan Son Nguyen <son@huggingface.co>
This commit is contained in:
co-authored by
Xuan Son Nguyen
parent
19821178be
commit
f42e29fdf1
@@ -0,0 +1,20 @@
|
||||
import { getContext, setContext } from 'svelte';
|
||||
import { CONTEXT_KEY_CHAT_SETTINGS_CONFIG } from '$lib/constants';
|
||||
|
||||
export interface ChatSettingsConfigContext {
|
||||
readonly localConfig: SettingsConfigType;
|
||||
handleConfigChange: (key: string, value: string | boolean) => void;
|
||||
handleThemeChange: (theme: string) => void;
|
||||
}
|
||||
|
||||
const CHAT_SETTINGS_CONFIG_KEY = Symbol.for(CONTEXT_KEY_CHAT_SETTINGS_CONFIG);
|
||||
|
||||
export function setChatSettingsConfigContext(
|
||||
ctx: ChatSettingsConfigContext
|
||||
): ChatSettingsConfigContext {
|
||||
return setContext(CHAT_SETTINGS_CONFIG_KEY, ctx);
|
||||
}
|
||||
|
||||
export function getChatSettingsConfigContext(): ChatSettingsConfigContext {
|
||||
return getContext(CHAT_SETTINGS_CONFIG_KEY);
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
import { getContext, setContext } from 'svelte';
|
||||
import type { SettingsSectionTitle } from '$lib/constants';
|
||||
import { CONTEXT_KEY_CHAT_SETTINGS_DIALOG } from '$lib/constants';
|
||||
|
||||
export interface ChatSettingsDialogContext {
|
||||
open: (initialSection?: SettingsSectionTitle) => void;
|
||||
}
|
||||
|
||||
const CHAT_SETTINGS_DIALOG_KEY = Symbol.for(CONTEXT_KEY_CHAT_SETTINGS_DIALOG);
|
||||
|
||||
export function setChatSettingsDialogContext(
|
||||
ctx: ChatSettingsDialogContext
|
||||
): ChatSettingsDialogContext {
|
||||
return setContext(CHAT_SETTINGS_DIALOG_KEY, ctx);
|
||||
}
|
||||
|
||||
export function getChatSettingsDialogContext(): ChatSettingsDialogContext {
|
||||
return getContext(CHAT_SETTINGS_DIALOG_KEY);
|
||||
}
|
||||
@@ -13,7 +13,13 @@ export {
|
||||
} from './chat-actions.context';
|
||||
|
||||
export {
|
||||
getChatSettingsDialogContext,
|
||||
setChatSettingsDialogContext,
|
||||
type ChatSettingsDialogContext
|
||||
} from './chat-settings-dialog.context';
|
||||
getChatSettingsConfigContext,
|
||||
setChatSettingsConfigContext,
|
||||
type ChatSettingsConfigContext
|
||||
} from './chat-settings-config.context';
|
||||
|
||||
export {
|
||||
getProcessingInfoContext,
|
||||
setProcessingInfoContext,
|
||||
type ProcessingInfoContext
|
||||
} from './processing-info.context';
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
import { getContext, setContext } from 'svelte';
|
||||
import { CONTEXT_KEY_PROCESSING_INFO } from '$lib/constants';
|
||||
|
||||
export interface ProcessingInfoContext {
|
||||
readonly showProcessingInfo: boolean;
|
||||
}
|
||||
|
||||
const PROCESSING_INFO_KEY = Symbol.for(CONTEXT_KEY_PROCESSING_INFO);
|
||||
|
||||
export function setProcessingInfoContext(ctx: ProcessingInfoContext): ProcessingInfoContext {
|
||||
return setContext(PROCESSING_INFO_KEY, ctx);
|
||||
}
|
||||
|
||||
export function getProcessingInfoContext(): ProcessingInfoContext {
|
||||
return getContext(PROCESSING_INFO_KEY);
|
||||
}
|
||||
Reference in New Issue
Block a user