UNPKG

@lobehub/chat

Version:

Lobe Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.

104 lines (86 loc) 2.88 kB
import { EditLocalFileParams, EditLocalFileResult, GetCommandOutputParams, GetCommandOutputResult, GlobFilesParams, GlobFilesResult, GrepContentParams, GrepContentResult, KillCommandParams, KillCommandResult, ListLocalFileParams, LocalFileItem, LocalMoveFilesResultItem, LocalReadFileParams, LocalReadFileResult, LocalReadFilesParams, LocalSearchFilesParams, MoveLocalFilesParams, OpenLocalFileParams, OpenLocalFolderParams, RenameLocalFileParams, RunCommandParams, RunCommandResult, WriteLocalFileParams, dispatch, } from '@lobechat/electron-client-ipc'; class LocalFileService { // File Operations async listLocalFiles(params: ListLocalFileParams): Promise<LocalFileItem[]> { return dispatch('listLocalFiles', params); } async readLocalFile(params: LocalReadFileParams): Promise<LocalReadFileResult> { return dispatch('readLocalFile', params); } async readLocalFiles(params: LocalReadFilesParams): Promise<LocalReadFileResult[]> { return dispatch('readLocalFiles', params); } async searchLocalFiles(params: LocalSearchFilesParams): Promise<LocalFileItem[]> { return dispatch('searchLocalFiles', params); } async openLocalFile(params: OpenLocalFileParams) { return dispatch('openLocalFile', params); } async openLocalFolder(params: OpenLocalFolderParams) { return dispatch('openLocalFolder', params); } async moveLocalFiles(params: MoveLocalFilesParams): Promise<LocalMoveFilesResultItem[]> { return dispatch('moveLocalFiles', params); } async renameLocalFile(params: RenameLocalFileParams) { return dispatch('renameLocalFile', params); } async writeFile(params: WriteLocalFileParams) { return dispatch('writeLocalFile', params); } async editLocalFile(params: EditLocalFileParams): Promise<EditLocalFileResult> { return dispatch('editLocalFile', params); } // Shell Commands async runCommand(params: RunCommandParams): Promise<RunCommandResult> { return dispatch('runCommand', params); } async getCommandOutput(params: GetCommandOutputParams): Promise<GetCommandOutputResult> { return dispatch('getCommandOutput', params); } async killCommand(params: KillCommandParams): Promise<KillCommandResult> { return dispatch('killCommand', params); } // Search & Find async grepContent(params: GrepContentParams): Promise<GrepContentResult> { return dispatch('grepContent', params); } async globFiles(params: GlobFilesParams): Promise<GlobFilesResult> { return dispatch('globLocalFiles', params); } // Helper methods async openLocalFileOrFolder(path: string, isDirectory: boolean) { if (isDirectory) { return this.openLocalFolder({ isDirectory, path }); } else { return this.openLocalFile({ path }); } } } export const localFileService = new LocalFileService();