lobe-chat
1import { PluginSchema } from '@lobehub/chat-plugin-sdk';
2
3import { MetaData } from '@/types/meta';
4import { LobeTool } from '@/types/tool';
5
6const getPluginFormList = (list: LobeTool[], id: string) => list?.find((p) => p.identifier === id);
7
8const getPluginTitle = (meta?: MetaData) => meta?.title;
9const getPluginDesc = (meta?: MetaData) => meta?.description;
10
11const getPluginTags = (meta?: MetaData) => meta?.tags;
12const getPluginAvatar = (meta?: MetaData) => meta?.avatar || '🧩';
13
14const isCustomPlugin = (id: string, pluginList: LobeTool[]) =>
15pluginList.some((i) => i.identifier === id && i.type === 'customPlugin');
16
17const isSettingSchemaNonEmpty = (schema?: PluginSchema) =>
18schema?.properties && Object.keys(schema.properties).length > 0;
19
20export const pluginHelpers = {
21getPluginAvatar,
22getPluginDesc,
23getPluginFormList,
24getPluginTags,
25getPluginTitle,
26isCustomPlugin,
27isSettingSchemaNonEmpty,
28};
29