lobe-chat
1import { LobeChatPluginManifest } from '@lobehub/chat-plugin-sdk';2
3import { LobeTool } from '@/types/tool';4import { LobeToolCustomPlugin } from '@/types/tool/plugin';5
6export interface InstallPluginParams {7identifier: string;8manifest: LobeChatPluginManifest;9type: 'plugin' | 'customPlugin';10}
11
12export interface IPluginService {13createCustomPlugin: (customPlugin: LobeToolCustomPlugin) => Promise<void>;14getInstalledPlugins: () => Promise<LobeTool[]>;15installPlugin: (plugin: InstallPluginParams) => Promise<void>;16removeAllPlugins: () => Promise<void>;17uninstallPlugin: (identifier: string) => Promise<void>;18updatePlugin: (id: string, value: LobeToolCustomPlugin) => Promise<void>;19updatePluginManifest: (id: string, manifest: LobeChatPluginManifest) => Promise<void>;20updatePluginSettings: (id: string, settings: any, signal?: AbortSignal) => Promise<void>;21}
22