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: {