char-fork/llama.cpp

git clone https://git.t4t.associates/char-fork/llama.cpp

Aleksander Grygierui: Refactor Built-In Tools naming (Server/Browser) (#27271)0021a77de

char/aliceai-t5-moe
1.8 KiB60 linesraw
1// Registry of server and browser tools whose renderer
2// shows a recognizable icon and friendly label inline in the chat UI.
3//
4// To add a new tool, add an entry to TOOL_UI. To give a
5// tool a custom title or body renderer, add a dedicated component under
6// ChatMessageToolCall/ and route it in ChatMessageToolCallBlock.svelte
7// (see ChatMessageToolCallBlockGetDatetime and
8// ChatMessageToolCallBlockSearchResults for prior art).
9
10import {
11	Braces,
12	Clock,
13	Eye,
14	FilePen,
15	FilePlus,
16	FileSearch,
17	FileText,
18	Info,
19	SearchCode,
20	Terminal
21} from '@lucide/svelte';
22import { BuiltInTool, ToolSource } from '$lib/enums';
23import type { ToolUiEntry } from '$lib/types';
24
25export const TOOL_UI: Readonly<Record<BuiltInTool, ToolUiEntry>> = {
26	[BuiltInTool.BROWSER_GET_DATETIME]: {
27		icon: Clock,
28		label: 'Current time',
29		source: ToolSource.BROWSER
30	},
31	[BuiltInTool.BROWSER_READ_MEDIA]: { icon: Eye, label: 'Read media', source: ToolSource.BROWSER },
32	[BuiltInTool.BROWSER_RUN_JAVASCRIPT]: {
33		icon: Braces,
34		label: 'Run JavaScript',
35		source: ToolSource.BROWSER
36	},
37	[BuiltInTool.SERVER_EDIT_FILE]: { icon: FilePen, label: 'Edit file', source: ToolSource.SERVER },
38	[BuiltInTool.SERVER_EXEC_SHELL_COMMAND]: {
39		icon: Terminal,
40		label: 'Run command',
41		source: ToolSource.SERVER
42	},
43	[BuiltInTool.SERVER_FILE_GLOB_SEARCH]: {
44		icon: FileSearch,
45		label: 'Search files',
46		source: ToolSource.SERVER
47	},
48	[BuiltInTool.SERVER_GET_INFO]: { icon: Info, label: 'Runtime info', source: ToolSource.SERVER },
49	[BuiltInTool.SERVER_GREP_SEARCH]: {
50		icon: SearchCode,
51		label: 'Search in files',
52		source: ToolSource.SERVER
53	},
54	[BuiltInTool.SERVER_READ_FILE]: { icon: FileText, label: 'Read file', source: ToolSource.SERVER },
55	[BuiltInTool.SERVER_WRITE_FILE]: {
56		icon: FilePlus,
57		label: 'Write file',
58		source: ToolSource.SERVER
59	}
60} as const;