import { getAllToolConfigs } from "@/lib/db/queries"; export type ToolRegistry = { getWeather: boolean; createDocument: boolean; updateDocument: boolean; requestSuggestions: boolean; generateVideo: boolean; }; /** * 获取启用的工具列表 * 从数据库读取工具配置,如果工具未配置则默认启用 */ export async function getEnabledTools(): Promise { try { const configs = await getAllToolConfigs(); const enabledTools: string[] = []; // 默认所有工具都启用 const defaultTools = [ "getWeather", "createDocument", "updateDocument", "requestSuggestions", "generateVideo", ]; for (const toolName of defaultTools) { const config = configs.find((c) => c.toolName === toolName); // 如果未配置或配置为启用,则添加到启用列表 if (!config || config.isEnabled) { enabledTools.push(toolName); } } return enabledTools; } catch (error) { console.error("Failed to get enabled tools, using defaults:", error); // 出错时返回所有默认工具 return [ "getWeather", "createDocument", "updateDocument", "requestSuggestions", "generateVideo", ]; } }