From 509107fc1e38f0b128cb168dfd983262dfc18c80 Mon Sep 17 00:00:00 2001 From: kangfenmao Date: Wed, 30 Oct 2024 17:23:52 +0800 Subject: [PATCH] refactor: services --- .../src/components/Popups/AddAssistantPopup.tsx | 4 ++-- .../src/components/Popups/SelectModelPopup.tsx | 2 +- src/renderer/src/components/Popups/UserPopup.tsx | 2 +- src/renderer/src/hooks/useAssistant.ts | 2 +- src/renderer/src/hooks/usePaintings.ts | 2 +- src/renderer/src/hooks/useTopic.ts | 2 +- src/renderer/src/pages/agents/Agents.tsx | 2 +- src/renderer/src/pages/agents/AgentsPage.tsx | 2 +- .../src/pages/agents/components/AddAgentPopup.tsx | 4 ++-- src/renderer/src/pages/files/FilesPage.tsx | 2 +- .../src/pages/history/components/SearchMessage.tsx | 2 +- .../src/pages/history/components/TopicMessages.tsx | 6 +++--- .../src/pages/home/Inputbar/AttachmentPreview.tsx | 2 +- src/renderer/src/pages/home/Inputbar/Inputbar.tsx | 8 ++++---- src/renderer/src/pages/home/Messages/Message.tsx | 6 +++--- .../src/pages/home/Messages/MessageAttachments.tsx | 2 +- .../src/pages/home/Messages/MessageMenubar.tsx | 2 +- src/renderer/src/pages/home/Messages/MessageTokens.tsx | 2 +- src/renderer/src/pages/home/Messages/Messages.tsx | 10 +++++----- src/renderer/src/pages/home/Navbar.tsx | 2 +- src/renderer/src/pages/home/Tabs/Assistants.tsx | 4 ++-- src/renderer/src/pages/home/Tabs/Topics.tsx | 4 ++-- src/renderer/src/pages/home/Tabs/index.tsx | 2 +- src/renderer/src/pages/home/components/Suggestions.tsx | 4 ++-- src/renderer/src/pages/paintings/PaintingsList.tsx | 2 +- src/renderer/src/pages/paintings/PaintingsPage.tsx | 4 ++-- .../src/pages/settings/DataSettings/DataSettings.tsx | 2 +- .../src/pages/settings/DataSettings/WebDavSettings.tsx | 2 +- src/renderer/src/pages/settings/ModelSettings.tsx | 2 +- .../settings/ProviderSettings/EditModelsPopup.tsx | 2 +- .../settings/ProviderSettings/ProviderSetting.tsx | 2 +- src/renderer/src/pages/translate/TranslatePage.tsx | 4 ++-- src/renderer/src/providers/AnthropicProvider.ts | 10 +++++++--- src/renderer/src/providers/GeminiProvider.ts | 10 +++++++--- src/renderer/src/providers/OpenAIProvider.ts | 6 +++--- src/renderer/src/services/{api.ts => ApiService.ts} | 8 ++++---- .../src/services/{assistant.ts => AssistantService.ts} | 2 +- .../src/services/{backup.ts => BackupService.ts} | 0 .../src/services/{event.ts => EventService.ts} | 0 src/renderer/src/services/{file.ts => FileManager.ts} | 0 .../src/services/{storage.ts => ImageStorage.ts} | 0 .../src/services/{messages.ts => MessagesService.ts} | 6 +++--- .../src/services/{model.ts => ModelService.ts} | 0 .../src/services/{tokens.ts => TokenService.ts} | 4 ++-- src/renderer/src/store/assistants.ts | 2 +- 45 files changed, 78 insertions(+), 70 deletions(-) rename src/renderer/src/services/{api.ts => ApiService.ts} (96%) rename src/renderer/src/services/{assistant.ts => AssistantService.ts} (98%) rename src/renderer/src/services/{backup.ts => BackupService.ts} (100%) rename src/renderer/src/services/{event.ts => EventService.ts} (100%) rename src/renderer/src/services/{file.ts => FileManager.ts} (100%) rename src/renderer/src/services/{storage.ts => ImageStorage.ts} (100%) rename src/renderer/src/services/{messages.ts => MessagesService.ts} (93%) rename src/renderer/src/services/{model.ts => ModelService.ts} (100%) rename src/renderer/src/services/{tokens.ts => TokenService.ts} (96%) diff --git a/src/renderer/src/components/Popups/AddAssistantPopup.tsx b/src/renderer/src/components/Popups/AddAssistantPopup.tsx index 6cc5ca35cf..4411defbb9 100644 --- a/src/renderer/src/components/Popups/AddAssistantPopup.tsx +++ b/src/renderer/src/components/Popups/AddAssistantPopup.tsx @@ -3,8 +3,8 @@ import { TopView } from '@renderer/components/TopView' import systemAgents from '@renderer/config/agents.json' import { useAgents } from '@renderer/hooks/useAgents' import { useAssistants, useDefaultAssistant } from '@renderer/hooks/useAssistant' -import { createAssistantFromAgent } from '@renderer/services/assistant' -import { EVENT_NAMES, EventEmitter } from '@renderer/services/event' +import { createAssistantFromAgent } from '@renderer/services/AssistantService' +import { EVENT_NAMES, EventEmitter } from '@renderer/services/EventService' import { Agent, Assistant } from '@renderer/types' import { uuid } from '@renderer/utils' import { Divider, Input, InputRef, Modal, Tag } from 'antd' diff --git a/src/renderer/src/components/Popups/SelectModelPopup.tsx b/src/renderer/src/components/Popups/SelectModelPopup.tsx index eaf80e5eb7..4d6b38c1c2 100644 --- a/src/renderer/src/components/Popups/SelectModelPopup.tsx +++ b/src/renderer/src/components/Popups/SelectModelPopup.tsx @@ -3,7 +3,7 @@ import VisionIcon from '@renderer/components/Icons/VisionIcon' import { TopView } from '@renderer/components/TopView' import { getModelLogo, isVisionModel } from '@renderer/config/models' import { useProviders } from '@renderer/hooks/useProvider' -import { getModelUniqId } from '@renderer/services/model' +import { getModelUniqId } from '@renderer/services/ModelService' import { Model } from '@renderer/types' import { Avatar, Divider, Empty, Input, InputRef, Menu, MenuProps, Modal } from 'antd' import { first, reverse, sortBy } from 'lodash' diff --git a/src/renderer/src/components/Popups/UserPopup.tsx b/src/renderer/src/components/Popups/UserPopup.tsx index 6245edc55b..8b858ce760 100644 --- a/src/renderer/src/components/Popups/UserPopup.tsx +++ b/src/renderer/src/components/Popups/UserPopup.tsx @@ -1,6 +1,6 @@ import useAvatar from '@renderer/hooks/useAvatar' import { useSettings } from '@renderer/hooks/useSettings' -import ImageStorage from '@renderer/services/storage' +import ImageStorage from '@renderer/services/ImageStorage' import { useAppDispatch } from '@renderer/store' import { setAvatar } from '@renderer/store/runtime' import { setUserName } from '@renderer/store/settings' diff --git a/src/renderer/src/hooks/useAssistant.ts b/src/renderer/src/hooks/useAssistant.ts index 856fffd781..513b67cdc7 100644 --- a/src/renderer/src/hooks/useAssistant.ts +++ b/src/renderer/src/hooks/useAssistant.ts @@ -1,4 +1,4 @@ -import { getDefaultTopic } from '@renderer/services/assistant' +import { getDefaultTopic } from '@renderer/services/AssistantService' import { useAppDispatch, useAppSelector } from '@renderer/store' import { addAssistant, diff --git a/src/renderer/src/hooks/usePaintings.ts b/src/renderer/src/hooks/usePaintings.ts index 4c7e08883c..13eb21b131 100644 --- a/src/renderer/src/hooks/usePaintings.ts +++ b/src/renderer/src/hooks/usePaintings.ts @@ -1,5 +1,5 @@ import { TEXT_TO_IMAGES_MODELS } from '@renderer/config/models' -import FileManager from '@renderer/services/file' +import FileManager from '@renderer/services/FileManager' import { useAppDispatch, useAppSelector } from '@renderer/store' import { addPainting, removePainting, updatePainting, updatePaintings } from '@renderer/store/paintings' import { Painting } from '@renderer/types' diff --git a/src/renderer/src/hooks/useTopic.ts b/src/renderer/src/hooks/useTopic.ts index e4e547b933..0c41a8019d 100644 --- a/src/renderer/src/hooks/useTopic.ts +++ b/src/renderer/src/hooks/useTopic.ts @@ -1,5 +1,5 @@ import db from '@renderer/databases' -import { deleteMessageFiles } from '@renderer/services/messages' +import { deleteMessageFiles } from '@renderer/services/MessagesService' import store from '@renderer/store' import { Assistant, Topic } from '@renderer/types' import { find } from 'lodash' diff --git a/src/renderer/src/pages/agents/Agents.tsx b/src/renderer/src/pages/agents/Agents.tsx index b3fa5e57c8..9df144495f 100644 --- a/src/renderer/src/pages/agents/Agents.tsx +++ b/src/renderer/src/pages/agents/Agents.tsx @@ -4,7 +4,7 @@ import DragableList from '@renderer/components/DragableList' import { HStack } from '@renderer/components/Layout' import Scrollbar from '@renderer/components/Scrollbar' import { useAgents } from '@renderer/hooks/useAgents' -import { createAssistantFromAgent } from '@renderer/services/assistant' +import { createAssistantFromAgent } from '@renderer/services/AssistantService' import { Agent } from '@renderer/types' import { Button, Dropdown, Typography } from 'antd' import { ItemType } from 'antd/es/menu/interface' diff --git a/src/renderer/src/pages/agents/AgentsPage.tsx b/src/renderer/src/pages/agents/AgentsPage.tsx index 946a114731..f659b58c59 100644 --- a/src/renderer/src/pages/agents/AgentsPage.tsx +++ b/src/renderer/src/pages/agents/AgentsPage.tsx @@ -2,7 +2,7 @@ import { SearchOutlined } from '@ant-design/icons' import { Navbar, NavbarCenter } from '@renderer/components/app/Navbar' import Scrollbar from '@renderer/components/Scrollbar' import SystemAgents from '@renderer/config/agents.json' -import { createAssistantFromAgent } from '@renderer/services/assistant' +import { createAssistantFromAgent } from '@renderer/services/AssistantService' import { Agent } from '@renderer/types' import { uuid } from '@renderer/utils' import { Col, Empty, Input, Row, Tabs as TabsAntd, Typography } from 'antd' diff --git a/src/renderer/src/pages/agents/components/AddAgentPopup.tsx b/src/renderer/src/pages/agents/components/AddAgentPopup.tsx index 0d613a21ac..e2f15b93a4 100644 --- a/src/renderer/src/pages/agents/components/AddAgentPopup.tsx +++ b/src/renderer/src/pages/agents/components/AddAgentPopup.tsx @@ -5,8 +5,8 @@ import EmojiPicker from '@renderer/components/EmojiPicker' import { TopView } from '@renderer/components/TopView' import { AGENT_PROMPT } from '@renderer/config/prompts' import { useAgents } from '@renderer/hooks/useAgents' -import { fetchGenerate } from '@renderer/services/api' -import { getDefaultModel } from '@renderer/services/assistant' +import { fetchGenerate } from '@renderer/services/ApiService' +import { getDefaultModel } from '@renderer/services/AssistantService' import { Agent } from '@renderer/types' import { getLeadingEmoji, uuid } from '@renderer/utils' import { Button, Form, FormInstance, Input, Modal, Popover } from 'antd' diff --git a/src/renderer/src/pages/files/FilesPage.tsx b/src/renderer/src/pages/files/FilesPage.tsx index fcfb0ab8b7..5fb0b0bdb5 100644 --- a/src/renderer/src/pages/files/FilesPage.tsx +++ b/src/renderer/src/pages/files/FilesPage.tsx @@ -1,7 +1,7 @@ import { Navbar, NavbarCenter } from '@renderer/components/app/Navbar' import Scrollbar from '@renderer/components/Scrollbar' import db from '@renderer/databases' -import FileManager from '@renderer/services/file' +import FileManager from '@renderer/services/FileManager' import { FileType, FileTypes } from '@renderer/types' import { formatFileSize } from '@renderer/utils' import { Image, Table } from 'antd' diff --git a/src/renderer/src/pages/history/components/SearchMessage.tsx b/src/renderer/src/pages/history/components/SearchMessage.tsx index a26c5c587e..e69a6fe701 100644 --- a/src/renderer/src/pages/history/components/SearchMessage.tsx +++ b/src/renderer/src/pages/history/components/SearchMessage.tsx @@ -1,7 +1,7 @@ import { ArrowRightOutlined } from '@ant-design/icons' import { HStack } from '@renderer/components/Layout' import { default as MessageItem } from '@renderer/pages/home/Messages/Message' -import { locateToMessage } from '@renderer/services/messages' +import { locateToMessage } from '@renderer/services/MessagesService' import { Message } from '@renderer/types' import { Button } from 'antd' import { FC } from 'react' diff --git a/src/renderer/src/pages/history/components/TopicMessages.tsx b/src/renderer/src/pages/history/components/TopicMessages.tsx index bedc5ed2cd..d66838b392 100644 --- a/src/renderer/src/pages/history/components/TopicMessages.tsx +++ b/src/renderer/src/pages/history/components/TopicMessages.tsx @@ -1,9 +1,9 @@ import { ArrowRightOutlined, MessageOutlined } from '@ant-design/icons' import { HStack } from '@renderer/components/Layout' import useScrollPosition from '@renderer/hooks/useScrollPosition' -import { getAssistantById } from '@renderer/services/assistant' -import { EVENT_NAMES, EventEmitter } from '@renderer/services/event' -import { locateToMessage } from '@renderer/services/messages' +import { getAssistantById } from '@renderer/services/AssistantService' +import { EVENT_NAMES, EventEmitter } from '@renderer/services/EventService' +import { locateToMessage } from '@renderer/services/MessagesService' import { Topic } from '@renderer/types' import { Button, Divider, Empty } from 'antd' import { t } from 'i18next' diff --git a/src/renderer/src/pages/home/Inputbar/AttachmentPreview.tsx b/src/renderer/src/pages/home/Inputbar/AttachmentPreview.tsx index cfd8ec7bf6..a4c00492d7 100644 --- a/src/renderer/src/pages/home/Inputbar/AttachmentPreview.tsx +++ b/src/renderer/src/pages/home/Inputbar/AttachmentPreview.tsx @@ -1,4 +1,4 @@ -import FileManager from '@renderer/services/file' +import FileManager from '@renderer/services/FileManager' import { FileType } from '@renderer/types' import { Upload } from 'antd' import { isEmpty } from 'lodash' diff --git a/src/renderer/src/pages/home/Inputbar/Inputbar.tsx b/src/renderer/src/pages/home/Inputbar/Inputbar.tsx index d8c26a8d7e..a2d5d537c4 100644 --- a/src/renderer/src/pages/home/Inputbar/Inputbar.tsx +++ b/src/renderer/src/pages/home/Inputbar/Inputbar.tsx @@ -14,10 +14,10 @@ import { useAssistant } from '@renderer/hooks/useAssistant' import { useRuntime } from '@renderer/hooks/useRuntime' import { useSettings } from '@renderer/hooks/useSettings' import { useShowTopics } from '@renderer/hooks/useStore' -import { addAssistantMessagesToTopic, getDefaultTopic } from '@renderer/services/assistant' -import { EVENT_NAMES, EventEmitter } from '@renderer/services/event' -import FileManager from '@renderer/services/file' -import { estimateTextTokens as estimateTxtTokens } from '@renderer/services/tokens' +import { addAssistantMessagesToTopic, getDefaultTopic } from '@renderer/services/AssistantService' +import { EVENT_NAMES, EventEmitter } from '@renderer/services/EventService' +import FileManager from '@renderer/services/FileManager' +import { estimateTextTokens as estimateTxtTokens } from '@renderer/services/TokenService' import store, { useAppDispatch, useAppSelector } from '@renderer/store' import { setGenerating, setSearching } from '@renderer/store/runtime' import { Assistant, FileType, Message, Topic } from '@renderer/types' diff --git a/src/renderer/src/pages/home/Messages/Message.tsx b/src/renderer/src/pages/home/Messages/Message.tsx index 608b58d3f4..b5fe9dcc5e 100644 --- a/src/renderer/src/pages/home/Messages/Message.tsx +++ b/src/renderer/src/pages/home/Messages/Message.tsx @@ -3,9 +3,9 @@ import db from '@renderer/databases' import { useAssistant } from '@renderer/hooks/useAssistant' import { useModel } from '@renderer/hooks/useModel' import { useSettings } from '@renderer/hooks/useSettings' -import { fetchChatCompletion } from '@renderer/services/api' -import { EVENT_NAMES, EventEmitter } from '@renderer/services/event' -import { estimateMessageUsage } from '@renderer/services/tokens' +import { fetchChatCompletion } from '@renderer/services/ApiService' +import { EVENT_NAMES, EventEmitter } from '@renderer/services/EventService' +import { estimateMessageUsage } from '@renderer/services/TokenService' import { Message, Topic } from '@renderer/types' import { runAsyncFunction } from '@renderer/utils' import { Divider } from 'antd' diff --git a/src/renderer/src/pages/home/Messages/MessageAttachments.tsx b/src/renderer/src/pages/home/Messages/MessageAttachments.tsx index 8bcb5a89c4..2656aa5f5c 100644 --- a/src/renderer/src/pages/home/Messages/MessageAttachments.tsx +++ b/src/renderer/src/pages/home/Messages/MessageAttachments.tsx @@ -1,4 +1,4 @@ -import FileManager from '@renderer/services/file' +import FileManager from '@renderer/services/FileManager' import { FileTypes, Message } from '@renderer/types' import { Image as AntdImage, Upload } from 'antd' import { FC } from 'react' diff --git a/src/renderer/src/pages/home/Messages/MessageMenubar.tsx b/src/renderer/src/pages/home/Messages/MessageMenubar.tsx index 9d5480fa25..0107e56190 100644 --- a/src/renderer/src/pages/home/Messages/MessageMenubar.tsx +++ b/src/renderer/src/pages/home/Messages/MessageMenubar.tsx @@ -10,7 +10,7 @@ import { } from '@ant-design/icons' import SelectModelPopup from '@renderer/components/Popups/SelectModelPopup' import TextEditPopup from '@renderer/components/Popups/TextEditPopup' -import { EVENT_NAMES, EventEmitter } from '@renderer/services/event' +import { EVENT_NAMES, EventEmitter } from '@renderer/services/EventService' import { Message, Model } from '@renderer/types' import { removeTrailingDoubleSpaces } from '@renderer/utils' import { Dropdown, Popconfirm, Tooltip } from 'antd' diff --git a/src/renderer/src/pages/home/Messages/MessageTokens.tsx b/src/renderer/src/pages/home/Messages/MessageTokens.tsx index 21b5367366..ae63793e28 100644 --- a/src/renderer/src/pages/home/Messages/MessageTokens.tsx +++ b/src/renderer/src/pages/home/Messages/MessageTokens.tsx @@ -1,5 +1,5 @@ import { useRuntime } from '@renderer/hooks/useRuntime' -import { EVENT_NAMES, EventEmitter } from '@renderer/services/event' +import { EVENT_NAMES, EventEmitter } from '@renderer/services/EventService' import { Message } from '@renderer/types' import styled from 'styled-components' diff --git a/src/renderer/src/pages/home/Messages/Messages.tsx b/src/renderer/src/pages/home/Messages/Messages.tsx index c715a257cf..8ab432e465 100644 --- a/src/renderer/src/pages/home/Messages/Messages.tsx +++ b/src/renderer/src/pages/home/Messages/Messages.tsx @@ -3,17 +3,17 @@ import db from '@renderer/databases' import { useAssistant } from '@renderer/hooks/useAssistant' import { useSettings } from '@renderer/hooks/useSettings' import { getTopic, TopicManager } from '@renderer/hooks/useTopic' -import { fetchMessagesSummary } from '@renderer/services/api' -import { getDefaultTopic } from '@renderer/services/assistant' -import { EVENT_NAMES, EventEmitter } from '@renderer/services/event' +import { fetchMessagesSummary } from '@renderer/services/ApiService' +import { getDefaultTopic } from '@renderer/services/AssistantService' +import { EVENT_NAMES, EventEmitter } from '@renderer/services/EventService' import { deleteMessageFiles, filterMessages, getAssistantMessage, getContextCount, getUserMessage -} from '@renderer/services/messages' -import { estimateHistoryTokens } from '@renderer/services/tokens' +} from '@renderer/services/MessagesService' +import { estimateHistoryTokens } from '@renderer/services/TokenService' import { Assistant, Message, Model, Topic } from '@renderer/types' import { captureScrollableDiv, runAsyncFunction, uuid } from '@renderer/utils' import { t } from 'i18next' diff --git a/src/renderer/src/pages/home/Navbar.tsx b/src/renderer/src/pages/home/Navbar.tsx index 2995be2ef1..3a6ff05573 100644 --- a/src/renderer/src/pages/home/Navbar.tsx +++ b/src/renderer/src/pages/home/Navbar.tsx @@ -7,7 +7,7 @@ import { useTheme } from '@renderer/context/ThemeProvider' import { useAssistant } from '@renderer/hooks/useAssistant' import { useSettings } from '@renderer/hooks/useSettings' import { useShowAssistants, useShowTopics } from '@renderer/hooks/useStore' -import { EVENT_NAMES, EventEmitter } from '@renderer/services/event' +import { EVENT_NAMES, EventEmitter } from '@renderer/services/EventService' import { Assistant, Topic } from '@renderer/types' import { Switch } from 'antd' import { FC, useCallback } from 'react' diff --git a/src/renderer/src/pages/home/Tabs/Assistants.tsx b/src/renderer/src/pages/home/Tabs/Assistants.tsx index cb4fd40948..816bf5b8e3 100644 --- a/src/renderer/src/pages/home/Tabs/Assistants.tsx +++ b/src/renderer/src/pages/home/Tabs/Assistants.tsx @@ -6,8 +6,8 @@ import Scrollbar from '@renderer/components/Scrollbar' import { useAgents } from '@renderer/hooks/useAgents' import { useAssistant, useAssistants } from '@renderer/hooks/useAssistant' import { useSettings } from '@renderer/hooks/useSettings' -import { getDefaultTopic } from '@renderer/services/assistant' -import { EVENT_NAMES, EventEmitter } from '@renderer/services/event' +import { getDefaultTopic } from '@renderer/services/AssistantService' +import { EVENT_NAMES, EventEmitter } from '@renderer/services/EventService' import { useAppDispatch, useAppSelector } from '@renderer/store' import { setSearching } from '@renderer/store/runtime' import { Assistant } from '@renderer/types' diff --git a/src/renderer/src/pages/home/Tabs/Topics.tsx b/src/renderer/src/pages/home/Tabs/Topics.tsx index 5e1227f5fe..225d925745 100644 --- a/src/renderer/src/pages/home/Tabs/Topics.tsx +++ b/src/renderer/src/pages/home/Tabs/Topics.tsx @@ -12,8 +12,8 @@ import Scrollbar from '@renderer/components/Scrollbar' import { useAssistant, useAssistants } from '@renderer/hooks/useAssistant' import { useSettings } from '@renderer/hooks/useSettings' import { TopicManager } from '@renderer/hooks/useTopic' -import { fetchMessagesSummary } from '@renderer/services/api' -import { EVENT_NAMES, EventEmitter } from '@renderer/services/event' +import { fetchMessagesSummary } from '@renderer/services/ApiService' +import { EVENT_NAMES, EventEmitter } from '@renderer/services/EventService' import store, { useAppSelector } from '@renderer/store' import { setGenerating } from '@renderer/store/runtime' import { Assistant, Topic } from '@renderer/types' diff --git a/src/renderer/src/pages/home/Tabs/index.tsx b/src/renderer/src/pages/home/Tabs/index.tsx index 50532b7db3..d72a38c606 100644 --- a/src/renderer/src/pages/home/Tabs/index.tsx +++ b/src/renderer/src/pages/home/Tabs/index.tsx @@ -3,7 +3,7 @@ import AddAssistantPopup from '@renderer/components/Popups/AddAssistantPopup' import { useAssistants, useDefaultAssistant } from '@renderer/hooks/useAssistant' import { useSettings } from '@renderer/hooks/useSettings' import { useShowTopics } from '@renderer/hooks/useStore' -import { EVENT_NAMES, EventEmitter } from '@renderer/services/event' +import { EVENT_NAMES, EventEmitter } from '@renderer/services/EventService' import { Assistant, Topic } from '@renderer/types' import { uuid } from '@renderer/utils' import { Segmented, SegmentedProps } from 'antd' diff --git a/src/renderer/src/pages/home/components/Suggestions.tsx b/src/renderer/src/pages/home/components/Suggestions.tsx index addf4972c5..1a402d6fbd 100644 --- a/src/renderer/src/pages/home/components/Suggestions.tsx +++ b/src/renderer/src/pages/home/components/Suggestions.tsx @@ -1,5 +1,5 @@ -import { fetchSuggestions } from '@renderer/services/api' -import { EVENT_NAMES, EventEmitter } from '@renderer/services/event' +import { fetchSuggestions } from '@renderer/services/ApiService' +import { EVENT_NAMES, EventEmitter } from '@renderer/services/EventService' import { Assistant, Message, Suggestion } from '@renderer/types' import { uuid } from '@renderer/utils' import dayjs from 'dayjs' diff --git a/src/renderer/src/pages/paintings/PaintingsList.tsx b/src/renderer/src/pages/paintings/PaintingsList.tsx index 81ce0dd610..6a50f4d4ba 100644 --- a/src/renderer/src/pages/paintings/PaintingsList.tsx +++ b/src/renderer/src/pages/paintings/PaintingsList.tsx @@ -1,7 +1,7 @@ import { DeleteOutlined } from '@ant-design/icons' import DragableList from '@renderer/components/DragableList' import { usePaintings } from '@renderer/hooks/usePaintings' -import FileManager from '@renderer/services/file' +import FileManager from '@renderer/services/FileManager' import { Painting } from '@renderer/types' import { classNames } from '@renderer/utils' import { Popconfirm } from 'antd' diff --git a/src/renderer/src/pages/paintings/PaintingsPage.tsx b/src/renderer/src/pages/paintings/PaintingsPage.tsx index e694888551..4a96838e2d 100644 --- a/src/renderer/src/pages/paintings/PaintingsPage.tsx +++ b/src/renderer/src/pages/paintings/PaintingsPage.tsx @@ -13,8 +13,8 @@ import { useTheme } from '@renderer/context/ThemeProvider' import { usePaintings } from '@renderer/hooks/usePaintings' import { useProviders } from '@renderer/hooks/useProvider' import AiProvider from '@renderer/providers/AiProvider' -import { getProviderByModel } from '@renderer/services/assistant' -import FileManager from '@renderer/services/file' +import { getProviderByModel } from '@renderer/services/AssistantService' +import FileManager from '@renderer/services/FileManager' import { DEFAULT_PAINTING } from '@renderer/store/paintings' import { FileType, Painting } from '@renderer/types' import { getErrorMessage } from '@renderer/utils' diff --git a/src/renderer/src/pages/settings/DataSettings/DataSettings.tsx b/src/renderer/src/pages/settings/DataSettings/DataSettings.tsx index f8c08edda4..0b2fcd6c9d 100644 --- a/src/renderer/src/pages/settings/DataSettings/DataSettings.tsx +++ b/src/renderer/src/pages/settings/DataSettings/DataSettings.tsx @@ -1,6 +1,6 @@ import { FolderOpenOutlined, SaveOutlined } from '@ant-design/icons' import { HStack, VStack } from '@renderer/components/Layout' -import { backup, reset, restore } from '@renderer/services/backup' +import { backup, reset, restore } from '@renderer/services/BackupService' import { Button } from 'antd' import { FC } from 'react' import { useTranslation } from 'react-i18next' diff --git a/src/renderer/src/pages/settings/DataSettings/WebDavSettings.tsx b/src/renderer/src/pages/settings/DataSettings/WebDavSettings.tsx index 686c3bcd08..4204b338bd 100644 --- a/src/renderer/src/pages/settings/DataSettings/WebDavSettings.tsx +++ b/src/renderer/src/pages/settings/DataSettings/WebDavSettings.tsx @@ -1,7 +1,7 @@ import { FolderOpenOutlined, SaveOutlined } from '@ant-design/icons' import { HStack } from '@renderer/components/Layout' import { useSettings } from '@renderer/hooks/useSettings' -import { backupToWebdav, restoreFromWebdav } from '@renderer/services/backup' +import { backupToWebdav, restoreFromWebdav } from '@renderer/services/BackupService' import { useAppDispatch } from '@renderer/store' import { setWebdavHost as _setWebdavHost, diff --git a/src/renderer/src/pages/settings/ModelSettings.tsx b/src/renderer/src/pages/settings/ModelSettings.tsx index bc26839c8b..6f29c3f940 100644 --- a/src/renderer/src/pages/settings/ModelSettings.tsx +++ b/src/renderer/src/pages/settings/ModelSettings.tsx @@ -1,7 +1,7 @@ import { EditOutlined, MessageOutlined, TranslationOutlined } from '@ant-design/icons' import { useDefaultModel } from '@renderer/hooks/useAssistant' import { useProviders } from '@renderer/hooks/useProvider' -import { getModelUniqId, hasModel } from '@renderer/services/model' +import { getModelUniqId, hasModel } from '@renderer/services/ModelService' import { Model } from '@renderer/types' import { Select } from 'antd' import { find, sortBy } from 'lodash' diff --git a/src/renderer/src/pages/settings/ProviderSettings/EditModelsPopup.tsx b/src/renderer/src/pages/settings/ProviderSettings/EditModelsPopup.tsx index 3e31d488be..7cecede56a 100644 --- a/src/renderer/src/pages/settings/ProviderSettings/EditModelsPopup.tsx +++ b/src/renderer/src/pages/settings/ProviderSettings/EditModelsPopup.tsx @@ -2,7 +2,7 @@ import { LoadingOutlined, MinusOutlined, PlusOutlined, QuestionCircleOutlined } import VisionIcon from '@renderer/components/Icons/VisionIcon' import { getModelLogo, isVisionModel, SYSTEM_MODELS } from '@renderer/config/models' import { useProvider } from '@renderer/hooks/useProvider' -import { fetchModels } from '@renderer/services/api' +import { fetchModels } from '@renderer/services/ApiService' import { Model, Provider } from '@renderer/types' import { getDefaultGroupName, isFreeModel, runAsyncFunction } from '@renderer/utils' import { Avatar, Button, Empty, Flex, Modal, Tag } from 'antd' diff --git a/src/renderer/src/pages/settings/ProviderSettings/ProviderSetting.tsx b/src/renderer/src/pages/settings/ProviderSettings/ProviderSetting.tsx index 66340da2e4..d9a0667447 100644 --- a/src/renderer/src/pages/settings/ProviderSettings/ProviderSetting.tsx +++ b/src/renderer/src/pages/settings/ProviderSettings/ProviderSetting.tsx @@ -12,7 +12,7 @@ import { PROVIDER_CONFIG } from '@renderer/config/providers' import { useTheme } from '@renderer/context/ThemeProvider' import { useProvider } from '@renderer/hooks/useProvider' import { isOpenAIProvider } from '@renderer/providers/ProviderFactory' -import { checkApi } from '@renderer/services/api' +import { checkApi } from '@renderer/services/ApiService' import { Provider } from '@renderer/types' import { Avatar, Button, Card, Divider, Flex, Input, Space, Switch } from 'antd' import Link from 'antd/es/typography/Link' diff --git a/src/renderer/src/pages/translate/TranslatePage.tsx b/src/renderer/src/pages/translate/TranslatePage.tsx index 18e938ea3e..fb1e47150e 100644 --- a/src/renderer/src/pages/translate/TranslatePage.tsx +++ b/src/renderer/src/pages/translate/TranslatePage.tsx @@ -4,8 +4,8 @@ import CopyIcon from '@renderer/components/Icons/CopyIcon' import { isLocalAi } from '@renderer/config/env' import db from '@renderer/databases' import { useDefaultModel } from '@renderer/hooks/useAssistant' -import { fetchTranslate } from '@renderer/services/api' -import { getDefaultAssistant } from '@renderer/services/assistant' +import { fetchTranslate } from '@renderer/services/ApiService' +import { getDefaultAssistant } from '@renderer/services/AssistantService' import { Assistant, Message } from '@renderer/types' import { runAsyncFunction, uuid } from '@renderer/utils' import { Button, Select, Space } from 'antd' diff --git a/src/renderer/src/providers/AnthropicProvider.ts b/src/renderer/src/providers/AnthropicProvider.ts index 58950a137f..96c1119075 100644 --- a/src/renderer/src/providers/AnthropicProvider.ts +++ b/src/renderer/src/providers/AnthropicProvider.ts @@ -2,9 +2,9 @@ import Anthropic from '@anthropic-ai/sdk' import { MessageCreateParamsNonStreaming, MessageParam } from '@anthropic-ai/sdk/resources' import { DEFAULT_MAX_TOKENS } from '@renderer/config/constant' import { SUMMARIZE_PROMPT } from '@renderer/config/prompts' -import { getAssistantSettings, getDefaultModel, getTopNamingModel } from '@renderer/services/assistant' -import { EVENT_NAMES } from '@renderer/services/event' -import { filterContextMessages } from '@renderer/services/messages' +import { getAssistantSettings, getDefaultModel, getTopNamingModel } from '@renderer/services/AssistantService' +import { EVENT_NAMES } from '@renderer/services/EventService' +import { filterContextMessages } from '@renderer/services/MessagesService' import { Assistant, FileTypes, Message, Provider, Suggestion } from '@renderer/types' import { first, flatten, sum, takeRight } from 'lodash' import OpenAI from 'openai' @@ -193,6 +193,10 @@ export default class AnthropicProvider extends BaseProvider { return message.content[0].type === 'text' ? message.content[0].text : '' } + public async generateImage(): Promise { + return [] + } + public async suggestions(): Promise { return [] } diff --git a/src/renderer/src/providers/GeminiProvider.ts b/src/renderer/src/providers/GeminiProvider.ts index e2ec4b122e..b07d6b3720 100644 --- a/src/renderer/src/providers/GeminiProvider.ts +++ b/src/renderer/src/providers/GeminiProvider.ts @@ -8,9 +8,9 @@ import { TextPart } from '@google/generative-ai' import { SUMMARIZE_PROMPT } from '@renderer/config/prompts' -import { getAssistantSettings, getDefaultModel, getTopNamingModel } from '@renderer/services/assistant' -import { EVENT_NAMES } from '@renderer/services/event' -import { filterContextMessages } from '@renderer/services/messages' +import { getAssistantSettings, getDefaultModel, getTopNamingModel } from '@renderer/services/AssistantService' +import { EVENT_NAMES } from '@renderer/services/EventService' +import { filterContextMessages } from '@renderer/services/MessagesService' import { Assistant, FileTypes, Message, Provider, Suggestion } from '@renderer/types' import axios from 'axios' import { first, isEmpty, takeRight } from 'lodash' @@ -199,6 +199,10 @@ export default class GeminiProvider extends BaseProvider { return [] } + public async generateImage(): Promise { + return [] + } + public async check(): Promise<{ valid: boolean; error: Error | null }> { const model = this.provider.models[0] diff --git a/src/renderer/src/providers/OpenAIProvider.ts b/src/renderer/src/providers/OpenAIProvider.ts index 6ec216855b..da72bc6a9c 100644 --- a/src/renderer/src/providers/OpenAIProvider.ts +++ b/src/renderer/src/providers/OpenAIProvider.ts @@ -1,8 +1,8 @@ import { isSupportedModel, isVisionModel } from '@renderer/config/models' import { SUMMARIZE_PROMPT } from '@renderer/config/prompts' -import { getAssistantSettings, getDefaultModel, getTopNamingModel } from '@renderer/services/assistant' -import { EVENT_NAMES } from '@renderer/services/event' -import { filterContextMessages } from '@renderer/services/messages' +import { getAssistantSettings, getDefaultModel, getTopNamingModel } from '@renderer/services/AssistantService' +import { EVENT_NAMES } from '@renderer/services/EventService' +import { filterContextMessages } from '@renderer/services/MessagesService' import { Assistant, FileTypes, Message, Model, Provider, Suggestion } from '@renderer/types' import { removeQuotes } from '@renderer/utils' import { takeRight } from 'lodash' diff --git a/src/renderer/src/services/api.ts b/src/renderer/src/services/ApiService.ts similarity index 96% rename from src/renderer/src/services/api.ts rename to src/renderer/src/services/ApiService.ts index 72769c9515..30e597203f 100644 --- a/src/renderer/src/services/api.ts +++ b/src/renderer/src/services/ApiService.ts @@ -11,10 +11,10 @@ import { getProviderByModel, getTopNamingModel, getTranslateModel -} from './assistant' -import { EVENT_NAMES, EventEmitter } from './event' -import { filterMessages } from './messages' -import { estimateMessagesUsage } from './tokens' +} from './AssistantService' +import { EVENT_NAMES, EventEmitter } from './EventService' +import { filterMessages } from './MessagesService' +import { estimateMessagesUsage } from './TokenService' export async function fetchChatCompletion({ message, diff --git a/src/renderer/src/services/assistant.ts b/src/renderer/src/services/AssistantService.ts similarity index 98% rename from src/renderer/src/services/assistant.ts rename to src/renderer/src/services/AssistantService.ts index 7a68d9a216..2348c969d9 100644 --- a/src/renderer/src/services/assistant.ts +++ b/src/renderer/src/services/AssistantService.ts @@ -6,7 +6,7 @@ import { addAssistant } from '@renderer/store/assistants' import { Agent, Assistant, AssistantSettings, Message, Model, Provider, Topic } from '@renderer/types' import { uuid } from '@renderer/utils' -import { estimateMessageUsage } from './tokens' +import { estimateMessageUsage } from './TokenService' export function getDefaultAssistant(): Assistant { return { diff --git a/src/renderer/src/services/backup.ts b/src/renderer/src/services/BackupService.ts similarity index 100% rename from src/renderer/src/services/backup.ts rename to src/renderer/src/services/BackupService.ts diff --git a/src/renderer/src/services/event.ts b/src/renderer/src/services/EventService.ts similarity index 100% rename from src/renderer/src/services/event.ts rename to src/renderer/src/services/EventService.ts diff --git a/src/renderer/src/services/file.ts b/src/renderer/src/services/FileManager.ts similarity index 100% rename from src/renderer/src/services/file.ts rename to src/renderer/src/services/FileManager.ts diff --git a/src/renderer/src/services/storage.ts b/src/renderer/src/services/ImageStorage.ts similarity index 100% rename from src/renderer/src/services/storage.ts rename to src/renderer/src/services/ImageStorage.ts diff --git a/src/renderer/src/services/messages.ts b/src/renderer/src/services/MessagesService.ts similarity index 93% rename from src/renderer/src/services/messages.ts rename to src/renderer/src/services/MessagesService.ts index 6721d7b589..4553a14123 100644 --- a/src/renderer/src/services/messages.ts +++ b/src/renderer/src/services/MessagesService.ts @@ -5,9 +5,9 @@ import { uuid } from '@renderer/utils' import { isEmpty, takeRight } from 'lodash' import { NavigateFunction } from 'react-router' -import { getAssistantById, getDefaultModel } from './assistant' -import { EVENT_NAMES, EventEmitter } from './event' -import FileManager from './file' +import { getAssistantById, getDefaultModel } from './AssistantService' +import { EVENT_NAMES, EventEmitter } from './EventService' +import FileManager from './FileManager' export const filterMessages = (messages: Message[]) => { return messages diff --git a/src/renderer/src/services/model.ts b/src/renderer/src/services/ModelService.ts similarity index 100% rename from src/renderer/src/services/model.ts rename to src/renderer/src/services/ModelService.ts diff --git a/src/renderer/src/services/tokens.ts b/src/renderer/src/services/TokenService.ts similarity index 96% rename from src/renderer/src/services/tokens.ts rename to src/renderer/src/services/TokenService.ts index 38ec9d5ba6..36dbd677d6 100644 --- a/src/renderer/src/services/tokens.ts +++ b/src/renderer/src/services/TokenService.ts @@ -3,8 +3,8 @@ import { GPTTokens } from 'gpt-tokens' import { flatten, takeRight } from 'lodash' import { CompletionUsage } from 'openai/resources' -import { getAssistantSettings } from './assistant' -import { filterContextMessages, filterMessages } from './messages' +import { getAssistantSettings } from './AssistantService' +import { filterContextMessages, filterMessages } from './MessagesService' interface MessageItem { name?: string diff --git a/src/renderer/src/store/assistants.ts b/src/renderer/src/store/assistants.ts index b29a13532b..4800a03062 100644 --- a/src/renderer/src/store/assistants.ts +++ b/src/renderer/src/store/assistants.ts @@ -1,7 +1,7 @@ import { createSlice, PayloadAction } from '@reduxjs/toolkit' import { DEFAULT_CONEXTCOUNT, DEFAULT_TEMPERATURE } from '@renderer/config/constant' import { TopicManager } from '@renderer/hooks/useTopic' -import { getDefaultAssistant, getDefaultTopic } from '@renderer/services/assistant' +import { getDefaultAssistant, getDefaultTopic } from '@renderer/services/AssistantService' import { Assistant, AssistantSettings, Model, Topic } from '@renderer/types' import { uniqBy } from 'lodash'