From 684ed10a041cdc260e50dd9131cfe0d106e6e297 Mon Sep 17 00:00:00 2001 From: Aleksander Grygier Date: Thu, 19 Mar 2026 14:03:51 +0100 Subject: [PATCH] feat: Integrate with `/tools` endpoint --- .../webui/src/lib/constants/api-endpoints.ts | 4 ++++ .../server/webui/src/lib/services/tools.service.ts | 14 ++++++++++++++ tools/server/webui/vite.config.ts | 1 + 3 files changed, 19 insertions(+) create mode 100644 tools/server/webui/src/lib/services/tools.service.ts diff --git a/tools/server/webui/src/lib/constants/api-endpoints.ts b/tools/server/webui/src/lib/constants/api-endpoints.ts index aa7ca3a22a..4c3492c70f 100644 --- a/tools/server/webui/src/lib/constants/api-endpoints.ts +++ b/tools/server/webui/src/lib/constants/api-endpoints.ts @@ -4,5 +4,9 @@ export const API_MODELS = { UNLOAD: '/models/unload' }; +export const API_TOOLS = { + LIST: '/tools' +}; + /** CORS proxy endpoint path */ export const CORS_PROXY_ENDPOINT = '/cors-proxy'; diff --git a/tools/server/webui/src/lib/services/tools.service.ts b/tools/server/webui/src/lib/services/tools.service.ts new file mode 100644 index 0000000000..adeca5c842 --- /dev/null +++ b/tools/server/webui/src/lib/services/tools.service.ts @@ -0,0 +1,14 @@ +import { apiFetch } from '$lib/utils'; +import { API_TOOLS } from '$lib/constants'; +import type { OpenAIToolDefinition } from '$lib/types'; + +export class ToolsService { + /** + * Fetch the list of built-in tools from the server. + * + * @returns Array of tool definitions in OpenAI-compatible format + */ + static async list(): Promise { + return apiFetch(API_TOOLS.LIST); + } +} diff --git a/tools/server/webui/vite.config.ts b/tools/server/webui/vite.config.ts index e4408f09e4..da1bbf1741 100644 --- a/tools/server/webui/vite.config.ts +++ b/tools/server/webui/vite.config.ts @@ -161,6 +161,7 @@ export default defineConfig({ '/v1': 'http://localhost:8080', '/props': 'http://localhost:8080', '/models': 'http://localhost:8080', + '/tools': 'http://localhost:8080', '/cors-proxy': 'http://localhost:8080' }, headers: {