lobe-chat

Форк
0
46 строк · 1.5 Кб
1
import { LobeChatPluginManifest } from '@lobehub/chat-plugin-sdk';
2

3
import { lambdaClient } from '@/libs/trpc/client';
4
import { LobeTool } from '@/types/tool';
5
import { LobeToolCustomPlugin } from '@/types/tool/plugin';
6

7
import { IPluginService, InstallPluginParams } from './type';
8

9
export class ServerService implements IPluginService {
10
  installPlugin = async (plugin: InstallPluginParams) => {
11
    await lambdaClient.plugin.createOrInstallPlugin.mutate(plugin);
12
  };
13

14
  getInstalledPlugins = (): Promise<LobeTool[]> => {
15
    return lambdaClient.plugin.getPlugins.query();
16
  };
17

18
  async uninstallPlugin(identifier: string) {
19
    await lambdaClient.plugin.removePlugin.mutate({ id: identifier });
20
  }
21

22
  async createCustomPlugin(customPlugin: LobeToolCustomPlugin) {
23
    await lambdaClient.plugin.createPlugin.mutate({ ...customPlugin, type: 'customPlugin' });
24
  }
25

26
  async updatePlugin(id: string, value: LobeToolCustomPlugin) {
27
    await lambdaClient.plugin.updatePlugin.mutate({
28
      customParams: value.customParams,
29
      id,
30
      manifest: value.manifest,
31
      settings: value.settings,
32
    });
33
  }
34

35
  async updatePluginManifest(id: string, manifest: LobeChatPluginManifest) {
36
    await lambdaClient.plugin.updatePlugin.mutate({ id, manifest });
37
  }
38

39
  async removeAllPlugins() {
40
    await lambdaClient.plugin.removeAllPlugins.mutate();
41
  }
42

43
  async updatePluginSettings(id: string, settings: any, signal?: AbortSignal) {
44
    await lambdaClient.plugin.updatePlugin.mutate({ id, settings }, { signal });
45
  }
46
}
47

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.