From 2ac1ff324be205c32cb498c9f506c4dd7c2e14f6 Mon Sep 17 00:00:00 2001 From: Arvin Xu Date: Sun, 26 Oct 2025 00:13:10 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20chore:=20refactor=20me?= =?UTF-8?q?ssage=20type=20(#9876)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * refactor message position * refactor @/message to @lobechat/types * refactor @lobechat/types * fix lint --- .../src/models/__tests__/generation.test.ts | 4 +-- .../models/__tests__/generationBatch.test.ts | 2 +- .../models/__tests__/generationTopic.test.ts | 6 ++-- .../src/models/__tests__/message.test.ts | 2 +- packages/database/src/models/asyncTask.ts | 7 ++--- packages/database/src/models/chatGroup.ts | 4 +-- packages/database/src/models/chunk.ts | 5 ++- .../database/src/models/drizzleMigration.ts | 2 +- packages/database/src/models/file.ts | 3 +- packages/database/src/models/generation.ts | 12 ++++--- .../database/src/models/generationBatch.ts | 2 +- .../database/src/models/generationTopic.ts | 4 +-- packages/database/src/models/knowledgeBase.ts | 5 ++- packages/database/src/models/session.ts | 18 +++++------ packages/database/src/models/thread.ts | 5 ++- packages/database/src/models/topic.ts | 4 +-- packages/database/src/models/user.ts | 3 +- packages/database/src/schemas/generation.ts | 3 +- packages/database/src/schemas/message.ts | 4 +-- .../src/core/streams/anthropic.ts | 3 +- .../src/core/streams/protocol.ts | 3 +- .../src/core/usageConverters/anthropic.ts | 3 +- .../src/core/usageConverters/google-ai.ts | 3 +- .../utils/computeChatCost.test.ts | 3 +- .../usageConverters/utils/computeChatCost.ts | 3 +- .../usageConverters/utils/withUsageCost.ts | 3 +- packages/model-runtime/src/types/image.ts | 3 +- packages/prompts/src/chains/summaryTitle.ts | 3 +- packages/types/src/exportConfig.ts | 8 ++--- packages/types/src/index.ts | 2 ++ .../types/src/message/{ => common}/base.ts | 6 ++-- .../types/src/message/{ => common}/image.ts | 0 packages/types/src/message/common/index.ts | 3 ++ .../src/message/{ => common}/translate.ts | 0 packages/types/src/message/index.ts | 7 ++--- packages/types/src/message/{ => ui}/chat.ts | 21 ++++++++----- packages/types/src/message/ui/index.ts | 3 ++ packages/types/src/message/{ => ui}/rag.ts | 2 +- packages/types/src/message/{ => ui}/video.ts | 0 .../features/ChatInput/V1Mobile/useSend.ts | 2 +- .../profile/stats/features/ModelsRank.tsx | 2 +- .../settings/llm/components/Checker.tsx | 3 +- .../provider/detail/ollama/CheckError.tsx | 3 +- .../features/ProviderConfig/Checker.tsx | 3 +- .../models/__tests__/message.test.ts | 3 +- src/database/_deprecated/models/message.ts | 2 +- .../AgentTTS/SelectWithTTSPreview.tsx | 2 +- .../ChatInput/ActionBar/STT/browser.tsx | 2 +- .../ChatInput/ActionBar/STT/common.tsx | 3 +- .../ChatInput/ActionBar/STT/openai.tsx | 2 +- .../Conversation/Error/ErrorJsonViewer.tsx | 3 +- .../Error/OllamaBizError/index.tsx | 3 +- src/features/Conversation/Error/index.tsx | 3 +- .../Messages/Assistant/Actions/index.tsx | 2 +- .../Conversation/Messages/Assistant/Block.tsx | 2 +- .../Messages/Assistant/Extra/index.test.tsx | 2 +- .../Messages/Assistant/Extra/index.tsx | 2 +- .../Assistant/FileChunks/Item/index.tsx | 2 +- .../Messages/Assistant/FileChunks/index.tsx | 3 +- .../Messages/Assistant/MessageContent.tsx | 2 +- .../Assistant/Tool/Render/CustomRender.tsx | 2 +- .../Assistant/Tool/Render/ErrorResponse.tsx | 3 +- .../Assistant/Tool/Render/PluginSettings.tsx | 2 +- .../Conversation/Messages/Default.tsx | 2 +- .../Messages/Supervisor/index.tsx | 2 +- .../Messages/User/FileListViewer/Item.tsx | 2 +- .../Messages/User/FileListViewer/index.tsx | 3 +- .../Messages/User/MessageContent.tsx | 3 +- .../Messages/User/VideoFileListViewer.tsx | 3 +- .../ShareMessageModal/SharePdf/index.tsx | 2 +- .../ShareMessageModal/SharePdf/template.ts | 2 +- .../components/Extras/TTS/InitPlayer.tsx | 2 +- .../components/Extras/TTS/Player.tsx | 3 +- .../components/Extras/Translate.tsx | 2 +- .../Extras/Usage/UsageDetail/index.tsx | 2 +- .../Extras/Usage/UsageDetail/tokens.ts | 2 +- .../components/Extras/Usage/index.tsx | 3 +- .../ShareMessageModal/ShareImage/Preview.tsx | 2 +- .../ShareMessageModal/ShareImage/index.tsx | 2 +- .../ShareMessageModal/ShareText/index.tsx | 2 +- .../ShareText/template.test.ts | 2 +- .../ShareMessageModal/ShareText/template.ts | 2 +- .../components/ShareMessageModal/index.tsx | 4 +-- src/features/Conversation/types/index.ts | 2 +- .../Portal/Home/Body/Files/FileList/Item.tsx | 2 +- .../Body/Plugins/ArtifactList/Item/index.tsx | 2 +- .../Portal/Thread/Chat/ChatInput/useSend.ts | 2 +- .../ShareJSON/generateMessages.test.ts | 2 +- .../ShareModal/ShareJSON/generateMessages.ts | 3 +- src/features/ShareModal/SharePdf/index.tsx | 4 +-- .../ShareModal/ShareText/template.test.ts | 2 +- src/features/ShareModal/ShareText/template.ts | 2 +- .../loaders/code/__tests__/long.json | 2 +- .../langchain/loaders/code/__tests__/long.txt | 2 +- .../routers/lambda/__tests__/message.test.ts | 3 +- src/server/routers/lambda/message.ts | 4 +-- src/services/chat/chat.test.ts | 2 +- src/services/chat/index.ts | 9 ++---- src/services/message/_deprecated.test.ts | 10 +++--- src/services/message/_deprecated.ts | 12 +++---- src/services/message/client.test.ts | 16 +++++----- src/services/message/client.ts | 3 +- src/services/message/server.ts | 3 +- src/services/message/type.ts | 7 ++--- src/services/thread/type.ts | 3 +- src/store/chat/helpers.test.ts | 2 +- src/store/chat/helpers.ts | 3 +- .../aiChat/actions/__tests__/fixtures.ts | 3 +- .../__tests__/generateAIChatV2.test.ts | 6 ++-- .../aiChat/actions/__tests__/rag.test.ts | 2 +- .../slices/aiChat/actions/generateAIChat.ts | 19 +++++++----- .../slices/aiChat/actions/generateAIChatV2.ts | 7 ++--- .../aiChat/actions/generateAIGroupChat.ts | 2 +- .../chat/slices/aiChat/actions/memory.ts | 3 +- .../actions/__tests__/search.test.ts | 2 +- src/store/chat/slices/message/action.test.ts | 2 +- src/store/chat/slices/message/action.ts | 31 ++++++++++--------- src/store/chat/slices/message/initialState.ts | 3 +- src/store/chat/slices/message/reducer.test.ts | 2 +- src/store/chat/slices/message/reducer.ts | 8 ++--- .../chat/slices/message/selectors.test.ts | 2 +- src/store/chat/slices/message/selectors.ts | 3 +- src/store/chat/slices/plugin/action.test.ts | 2 +- src/store/chat/slices/plugin/action.ts | 17 +++++----- .../chat/slices/portal/selectors.test.ts | 2 +- src/store/chat/slices/share/action.test.ts | 2 +- src/store/chat/slices/thread/action.test.ts | 2 +- src/store/chat/slices/thread/action.ts | 2 +- .../chat/slices/thread/selectors/index.ts | 3 +- .../chat/slices/thread/selectors/util.ts | 3 +- src/store/chat/slices/topic/action.test.ts | 2 +- src/store/chat/slices/topic/action.ts | 3 +- src/store/chat/slices/translate/action.ts | 5 ++- src/store/chat/slices/tts/action.ts | 2 +- .../local-system/Render/ListFiles/Result.tsx | 2 +- .../local-system/Render/ListFiles/index.tsx | 2 +- .../Render/ReadLocalFile/index.tsx | 2 +- .../Render/RenameLocalFile/index.tsx | 2 +- .../local-system/Render/RunCommand/index.tsx | 2 +- .../local-system/Render/SearchFiles/index.tsx | 2 +- .../local-system/Render/WriteFile/index.tsx | 2 +- .../web-browsing/Render/Search/index.tsx | 4 +-- 142 files changed, 258 insertions(+), 281 deletions(-) rename packages/types/src/message/{ => common}/base.ts (96%) rename packages/types/src/message/{ => common}/image.ts (100%) create mode 100644 packages/types/src/message/common/index.ts rename packages/types/src/message/{ => common}/translate.ts (100%) rename packages/types/src/message/{ => ui}/chat.ts (89%) create mode 100644 packages/types/src/message/ui/index.ts rename packages/types/src/message/{ => ui}/rag.ts (88%) rename packages/types/src/message/{ => ui}/video.ts (100%) diff --git a/packages/database/src/models/__tests__/generation.test.ts b/packages/database/src/models/__tests__/generation.test.ts index 6c3cf815b10..2432003d1e7 100644 --- a/packages/database/src/models/__tests__/generation.test.ts +++ b/packages/database/src/models/__tests__/generation.test.ts @@ -1,10 +1,9 @@ // @vitest-environment node +import { AsyncTaskStatus, ImageGenerationAsset } from '@lobechat/types'; import { eq } from 'drizzle-orm'; import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; -import { LobeChatDatabase } from '../../type';import { AsyncTaskStatus } from '@/types/asyncTask'; import { FileSource } from '@/types/files'; -import { ImageGenerationAsset } from '@/types/generation'; import { NewGeneration, @@ -15,6 +14,7 @@ import { generations, users, } from '../../schemas'; +import { LobeChatDatabase } from '../../type'; import { GenerationModel } from '../generation'; import { getTestDB } from './_util'; diff --git a/packages/database/src/models/__tests__/generationBatch.test.ts b/packages/database/src/models/__tests__/generationBatch.test.ts index 18dd4f8297b..199dd72f762 100644 --- a/packages/database/src/models/__tests__/generationBatch.test.ts +++ b/packages/database/src/models/__tests__/generationBatch.test.ts @@ -1,9 +1,9 @@ // @vitest-environment node +import { GenerationConfig } from '@lobechat/types'; import { eq } from 'drizzle-orm'; import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; import { AsyncTaskStatus } from '@/types/asyncTask'; -import { GenerationConfig } from '@/types/generation'; import { NewGenerationBatch, diff --git a/packages/database/src/models/__tests__/generationTopic.test.ts b/packages/database/src/models/__tests__/generationTopic.test.ts index b093dca60b5..ede4fc2f8bd 100644 --- a/packages/database/src/models/__tests__/generationTopic.test.ts +++ b/packages/database/src/models/__tests__/generationTopic.test.ts @@ -1,12 +1,10 @@ // @vitest-environment node +import { ImageGenerationTopic } from '@lobechat/types'; import { eq } from 'drizzle-orm'; import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; -import { LobeChatDatabase } from '../../type';import { FileService } from '@/server/services/file'; -import { ImageGenerationTopic } from '@/types/generation'; - import { generationBatches, generationTopics, generations, users } from '../../schemas'; -import { GenerationTopicItem } from '../../schemas/generation'; +import { LobeChatDatabase } from '../../type'; import { GenerationTopicModel } from '../generationTopic'; import { getTestDB } from './_util'; diff --git a/packages/database/src/models/__tests__/message.test.ts b/packages/database/src/models/__tests__/message.test.ts index 1709bf97e54..0317b8dcd1d 100644 --- a/packages/database/src/models/__tests__/message.test.ts +++ b/packages/database/src/models/__tests__/message.test.ts @@ -1,8 +1,8 @@ +import { MessageItem } from '@lobechat/types'; import dayjs from 'dayjs'; import { eq } from 'drizzle-orm'; import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; -import { MessageItem } from '@/types/message'; import { uuid } from '@/utils/uuid'; import { getTestDB } from '../../models/__tests__/_util'; diff --git a/packages/database/src/models/asyncTask.ts b/packages/database/src/models/asyncTask.ts index d8b411b11e4..931bf50ec2f 100644 --- a/packages/database/src/models/asyncTask.ts +++ b/packages/database/src/models/asyncTask.ts @@ -1,14 +1,13 @@ -import { and, eq, inArray, lt } from 'drizzle-orm'; - -import { LobeChatDatabase } from '../type'; import { AsyncTaskError, AsyncTaskErrorType, AsyncTaskStatus, AsyncTaskType, -} from '@/types/asyncTask'; +} from '@lobechat/types'; +import { and, eq, inArray, lt } from 'drizzle-orm'; import { AsyncTaskSelectItem, NewAsyncTaskItem, asyncTasks } from '../schemas'; +import { LobeChatDatabase } from '../type'; // set timeout to about 5 minutes, and give 2s padding time export const ASYNC_TASK_TIMEOUT = 298 * 1000; diff --git a/packages/database/src/models/chatGroup.ts b/packages/database/src/models/chatGroup.ts index 3e67d2ae310..478d3fdacbf 100644 --- a/packages/database/src/models/chatGroup.ts +++ b/packages/database/src/models/chatGroup.ts @@ -7,8 +7,8 @@ import { NewChatGroupAgent, chatGroups, chatGroupsAgents, -} from '@/database/schemas'; -import { LobeChatDatabase } from '@/database/type'; +} from '../schemas'; +import { LobeChatDatabase } from '../type'; export class ChatGroupModel { private userId: string; diff --git a/packages/database/src/models/chunk.ts b/packages/database/src/models/chunk.ts index e5bd233b9cc..9942681e62f 100644 --- a/packages/database/src/models/chunk.ts +++ b/packages/database/src/models/chunk.ts @@ -1,9 +1,7 @@ +import { ChunkMetadata, FileChunk } from '@lobechat/types'; import { and, asc, cosineDistance, count, desc, eq, inArray, isNull, sql } from 'drizzle-orm'; import { chunk } from 'lodash-es'; -import { LobeChatDatabase } from '../type'; -import { ChunkMetadata, FileChunk } from '@/types/chunk'; - import { NewChunkItem, NewUnstructuredChunkItem, @@ -13,6 +11,7 @@ import { files, unstructuredChunks, } from '../schemas'; +import { LobeChatDatabase } from '../type'; export class ChunkModel { private userId: string; diff --git a/packages/database/src/models/drizzleMigration.ts b/packages/database/src/models/drizzleMigration.ts index edb42603135..c95b9479325 100644 --- a/packages/database/src/models/drizzleMigration.ts +++ b/packages/database/src/models/drizzleMigration.ts @@ -1,7 +1,7 @@ +import { MigrationTableItem } from '@lobechat/types'; import { sql } from 'drizzle-orm'; import { LobeChatDatabase } from '../type'; -import { MigrationTableItem } from '@/types/clientDB'; export class DrizzleMigrationModel { private db: LobeChatDatabase; diff --git a/packages/database/src/models/file.ts b/packages/database/src/models/file.ts index 5c7bcea3156..5b43e6a86f1 100644 --- a/packages/database/src/models/file.ts +++ b/packages/database/src/models/file.ts @@ -1,8 +1,7 @@ +import { FilesTabs, QueryFileListParams, SortType } from '@lobechat/types'; import { and, asc, count, desc, eq, ilike, inArray, like, notExists, or, sum } from 'drizzle-orm'; import type { PgTransaction } from 'drizzle-orm/pg-core'; -import { FilesTabs, QueryFileListParams, SortType } from '@/types/files'; - import { FileItem, NewFile, diff --git a/packages/database/src/models/generation.ts b/packages/database/src/models/generation.ts index d5cf316d23f..f1b8e3717a4 100644 --- a/packages/database/src/models/generation.ts +++ b/packages/database/src/models/generation.ts @@ -1,11 +1,14 @@ +import { + AsyncTaskError, + AsyncTaskStatus, + FileSource, + Generation, + ImageGenerationAsset, +} from '@lobechat/types'; import debug from 'debug'; import { and, eq } from 'drizzle-orm'; -import { LobeChatDatabase, Transaction } from '../type'; import { FileService } from '@/server/services/file'; -import { AsyncTaskError, AsyncTaskStatus } from '@/types/asyncTask'; -import { FileSource } from '@/types/files'; -import { Generation, ImageGenerationAsset } from '@/types/generation'; import { NewFile } from '../schemas'; import { @@ -14,6 +17,7 @@ import { NewGeneration, generations, } from '../schemas/generation'; +import { LobeChatDatabase, Transaction } from '../type'; import { FileModel } from './file'; // Create debug logger diff --git a/packages/database/src/models/generationBatch.ts b/packages/database/src/models/generationBatch.ts index c7e82f0672a..cb2442c9fd0 100644 --- a/packages/database/src/models/generationBatch.ts +++ b/packages/database/src/models/generationBatch.ts @@ -1,8 +1,8 @@ +import { Generation, GenerationAsset, GenerationBatch, GenerationConfig } from '@lobechat/types'; import debug from 'debug'; import { and, eq } from 'drizzle-orm'; import { FileService } from '@/server/services/file'; -import { Generation, GenerationAsset, GenerationBatch, GenerationConfig } from '@/types/generation'; import { GenerationBatchItem, diff --git a/packages/database/src/models/generationTopic.ts b/packages/database/src/models/generationTopic.ts index 4bd93f5a334..56e8d8d1eac 100644 --- a/packages/database/src/models/generationTopic.ts +++ b/packages/database/src/models/generationTopic.ts @@ -1,10 +1,10 @@ +import { GenerationAsset, ImageGenerationTopic } from '@lobechat/types'; import { and, desc, eq } from 'drizzle-orm'; -import { LobeChatDatabase } from '../type'; import { FileService } from '@/server/services/file'; -import { GenerationAsset, ImageGenerationTopic } from '@/types/generation'; import { GenerationTopicItem, generationTopics } from '../schemas/generation'; +import { LobeChatDatabase } from '../type'; export class GenerationTopicModel { private userId: string; diff --git a/packages/database/src/models/knowledgeBase.ts b/packages/database/src/models/knowledgeBase.ts index b079d8dea29..6c541ff5a30 100644 --- a/packages/database/src/models/knowledgeBase.ts +++ b/packages/database/src/models/knowledgeBase.ts @@ -1,9 +1,8 @@ +import { KnowledgeBaseItem } from '@lobechat/types'; import { and, desc, eq, inArray } from 'drizzle-orm'; -import { LobeChatDatabase } from '../type'; -import { KnowledgeBaseItem } from '@/types/knowledgeBase'; - import { NewKnowledgeBase, knowledgeBaseFiles, knowledgeBases } from '../schemas'; +import { LobeChatDatabase } from '../type'; export class KnowledgeBaseModel { private userId: string; diff --git a/packages/database/src/models/session.ts b/packages/database/src/models/session.ts index 78918e25048..ae5d66b759c 100644 --- a/packages/database/src/models/session.ts +++ b/packages/database/src/models/session.ts @@ -1,3 +1,11 @@ +import { DEFAULT_AGENT_CONFIG, DEFAULT_INBOX_AVATAR, INBOX_SESSION_ID } from '@lobechat/const'; +import { + ChatSessionList, + LobeAgentConfig, + LobeAgentSession, + LobeGroupSession, + SessionRankItem, +} from '@lobechat/types'; import { Column, and, @@ -15,16 +23,6 @@ import { } from 'drizzle-orm'; import type { PartialDeep } from 'type-fest'; -import { DEFAULT_INBOX_AVATAR } from '@/const/meta'; -import { INBOX_SESSION_ID } from '@/const/session'; -import { DEFAULT_AGENT_CONFIG } from '@/const/settings'; -import { LobeAgentConfig } from '@/types/agent'; -import { - ChatSessionList, - LobeAgentSession, - LobeGroupSession, - SessionRankItem, -} from '@/types/session'; import { merge } from '@/utils/merge'; import { diff --git a/packages/database/src/models/thread.ts b/packages/database/src/models/thread.ts index d47be980001..6f095d233ec 100644 --- a/packages/database/src/models/thread.ts +++ b/packages/database/src/models/thread.ts @@ -1,9 +1,8 @@ +import { CreateThreadParams, ThreadStatus } from '@lobechat/types'; import { and, desc, eq } from 'drizzle-orm'; -import { LobeChatDatabase } from '../type'; -import { CreateThreadParams, ThreadStatus } from '@/types/topic'; - import { ThreadItem, threads } from '../schemas'; +import { LobeChatDatabase } from '../type'; const queryColumns = { createdAt: threads.createdAt, diff --git a/packages/database/src/models/topic.ts b/packages/database/src/models/topic.ts index 13bc425341f..4087e66fc38 100644 --- a/packages/database/src/models/topic.ts +++ b/packages/database/src/models/topic.ts @@ -1,8 +1,6 @@ +import { MessageItem, TopicRankItem } from '@lobechat/types'; import { and, count, desc, eq, gt, ilike, inArray, isNull, or, sql } from 'drizzle-orm'; -import { MessageItem } from '@/types/message'; -import { TopicRankItem } from '@/types/topic'; - import { TopicItem, messages, topics } from '../schemas'; import { LobeChatDatabase } from '../type'; import { genEndDateWhere, genRangeWhere, genStartDateWhere, genWhere } from '../utils/genWhere'; diff --git a/packages/database/src/models/user.ts b/packages/database/src/models/user.ts index 5db2d58705e..619fd349bf0 100644 --- a/packages/database/src/models/user.ts +++ b/packages/database/src/models/user.ts @@ -1,11 +1,10 @@ +import { UserGuide, UserKeyVaults, UserPreference, UserSettings } from '@lobechat/types'; import { TRPCError } from '@trpc/server'; import dayjs from 'dayjs'; import { eq } from 'drizzle-orm'; import type { AdapterAccount } from 'next-auth/adapters'; import type { PartialDeep } from 'type-fest'; -import { UserGuide, UserPreference } from '@/types/user'; -import { UserKeyVaults, UserSettings } from '@/types/user/settings'; import { merge } from '@/utils/merge'; import { today } from '@/utils/time'; diff --git a/packages/database/src/schemas/generation.ts b/packages/database/src/schemas/generation.ts index 918e42e9fd5..32a1abc169d 100644 --- a/packages/database/src/schemas/generation.ts +++ b/packages/database/src/schemas/generation.ts @@ -1,9 +1,8 @@ /* eslint-disable sort-keys-fix/sort-keys-fix */ +import { ImageGenerationAsset } from '@lobechat/types'; import { integer, jsonb, pgTable, text, uuid, varchar } from 'drizzle-orm/pg-core'; import { createInsertSchema } from 'drizzle-zod'; -import { ImageGenerationAsset } from '@/types/generation'; - import { idGenerator } from '../utils/idGenerator'; import { timestamps } from './_helpers'; import { AsyncTaskSelectItem, asyncTasks } from './asyncTask'; diff --git a/packages/database/src/schemas/message.ts b/packages/database/src/schemas/message.ts index 77dff604ea4..6b4486454e6 100644 --- a/packages/database/src/schemas/message.ts +++ b/packages/database/src/schemas/message.ts @@ -1,4 +1,5 @@ /* eslint-disable sort-keys-fix/sort-keys-fix */ +import { GroundingSearch, ModelReasoning } from '@lobechat/types'; import { boolean, index, @@ -12,9 +13,6 @@ import { } from 'drizzle-orm/pg-core'; import { createInsertSchema, createSelectSchema } from 'drizzle-zod'; -import { ModelReasoning } from '@/types/message'; -import { GroundingSearch } from '@/types/search'; - import { idGenerator } from '../utils/idGenerator'; import { timestamps, varchar255 } from './_helpers'; import { agents } from './agent'; diff --git a/packages/model-runtime/src/core/streams/anthropic.ts b/packages/model-runtime/src/core/streams/anthropic.ts index 519a0efc733..c0b02c18140 100644 --- a/packages/model-runtime/src/core/streams/anthropic.ts +++ b/packages/model-runtime/src/core/streams/anthropic.ts @@ -1,7 +1,6 @@ import Anthropic from '@anthropic-ai/sdk'; import type { Stream } from '@anthropic-ai/sdk/streaming'; - -import { ChatCitationItem } from '@/types/message'; +import { ChatCitationItem } from '@lobechat/types'; import { ChatStreamCallbacks } from '../../types'; import { convertAnthropicUsage } from '../usageConverters'; diff --git a/packages/model-runtime/src/core/streams/protocol.ts b/packages/model-runtime/src/core/streams/protocol.ts index f29c76b70a5..e3f0936f202 100644 --- a/packages/model-runtime/src/core/streams/protocol.ts +++ b/packages/model-runtime/src/core/streams/protocol.ts @@ -1,7 +1,6 @@ +import { ChatCitationItem, ModelSpeed, ModelUsage } from '@lobechat/types'; import type { Pricing } from 'model-bank'; -import { ChatCitationItem, ModelSpeed, ModelUsage } from '@/types/message'; - import { parseToolCalls } from '../../helpers'; import { ChatStreamCallbacks } from '../../types'; import { AgentRuntimeErrorType } from '../../types/error'; diff --git a/packages/model-runtime/src/core/usageConverters/anthropic.ts b/packages/model-runtime/src/core/usageConverters/anthropic.ts index 764b3e0da97..b53cc82437f 100644 --- a/packages/model-runtime/src/core/usageConverters/anthropic.ts +++ b/packages/model-runtime/src/core/usageConverters/anthropic.ts @@ -1,6 +1,5 @@ import Anthropic from '@anthropic-ai/sdk'; - -import { ModelUsage } from '@/types/message'; +import { ModelUsage } from '@lobechat/types'; import { ChatPayloadForTransformStream } from '../streams/protocol'; import { withUsageCost } from './utils/withUsageCost'; diff --git a/packages/model-runtime/src/core/usageConverters/google-ai.ts b/packages/model-runtime/src/core/usageConverters/google-ai.ts index 3180af02829..427abb5bfa4 100644 --- a/packages/model-runtime/src/core/usageConverters/google-ai.ts +++ b/packages/model-runtime/src/core/usageConverters/google-ai.ts @@ -3,10 +3,9 @@ import { MediaModality, ModalityTokenCount, } from '@google/genai'; +import { ModelUsage } from '@lobechat/types'; import type { Pricing } from 'model-bank'; -import { ModelUsage } from '@/types/message'; - import { withUsageCost } from './utils/withUsageCost'; const getTokenCount = (details: ModalityTokenCount[] | undefined, modality: MediaModality) => { diff --git a/packages/model-runtime/src/core/usageConverters/utils/computeChatCost.test.ts b/packages/model-runtime/src/core/usageConverters/utils/computeChatCost.test.ts index 87809593fcc..1bbc809f38b 100644 --- a/packages/model-runtime/src/core/usageConverters/utils/computeChatCost.test.ts +++ b/packages/model-runtime/src/core/usageConverters/utils/computeChatCost.test.ts @@ -1,3 +1,4 @@ +import { ModelTokensUsage } from '@lobechat/types'; import { Pricing } from 'model-bank'; import anthropicChatModels from 'model-bank/anthropic'; import googleChatModels from 'model-bank/google'; @@ -5,8 +6,6 @@ import lobehubChatModels from 'model-bank/lobehub'; import openaiChatModels from 'model-bank/openai'; import { describe, expect, it } from 'vitest'; -import { ModelTokensUsage } from '@/types/message'; - import { computeChatCost } from './computeChatCost'; describe('computeChatPricing', () => { diff --git a/packages/model-runtime/src/core/usageConverters/utils/computeChatCost.ts b/packages/model-runtime/src/core/usageConverters/utils/computeChatCost.ts index 008d84f7464..ceef533ba65 100644 --- a/packages/model-runtime/src/core/usageConverters/utils/computeChatCost.ts +++ b/packages/model-runtime/src/core/usageConverters/utils/computeChatCost.ts @@ -1,5 +1,6 @@ /* eslint-disable sort-keys-fix/sort-keys-fix */ import { CREDITS_PER_DOLLAR, USD_TO_CNY } from '@lobechat/const/currency'; +import { ModelTokensUsage } from '@lobechat/types'; import debug from 'debug'; import { FixedPricingUnit, @@ -10,8 +11,6 @@ import { TieredPricingUnit, } from 'model-bank'; -import { ModelTokensUsage } from '@/types/message'; - const log = debug('lobe-cost:computeChatPricing'); export interface PricingUnitBreakdown { diff --git a/packages/model-runtime/src/core/usageConverters/utils/withUsageCost.ts b/packages/model-runtime/src/core/usageConverters/utils/withUsageCost.ts index 2b133a5b208..74151074074 100644 --- a/packages/model-runtime/src/core/usageConverters/utils/withUsageCost.ts +++ b/packages/model-runtime/src/core/usageConverters/utils/withUsageCost.ts @@ -1,7 +1,6 @@ +import type { ModelUsage } from '@lobechat/types'; import type { Pricing } from 'model-bank'; -import type { ModelUsage } from '@/types/message'; - import { computeChatCost } from './computeChatCost'; import type { ComputeChatCostOptions } from './computeChatCost'; diff --git a/packages/model-runtime/src/types/image.ts b/packages/model-runtime/src/types/image.ts index 75d0411ecb3..9e7a4cb7ef4 100644 --- a/packages/model-runtime/src/types/image.ts +++ b/packages/model-runtime/src/types/image.ts @@ -1,8 +1,7 @@ /* eslint-disable typescript-sort-keys/interface */ +import { ModelUsage } from '@lobechat/types'; import { RuntimeImageGenParams } from 'model-bank'; -import { ModelUsage } from '@/types/message'; - export type CreateImagePayload = { model: string; params: RuntimeImageGenParams; diff --git a/packages/prompts/src/chains/summaryTitle.ts b/packages/prompts/src/chains/summaryTitle.ts index 4952beaeb44..1661d7b71b6 100644 --- a/packages/prompts/src/chains/summaryTitle.ts +++ b/packages/prompts/src/chains/summaryTitle.ts @@ -1,5 +1,4 @@ -import { ChatMessage } from '@/types/message/chat'; -import { ChatStreamPayload, OpenAIChatMessage } from '@/types/openai/chat'; +import { ChatMessage, ChatStreamPayload, OpenAIChatMessage } from '@lobechat/types'; export const chainSummaryTitle = ( messages: (ChatMessage | OpenAIChatMessage)[], diff --git a/packages/types/src/exportConfig.ts b/packages/types/src/exportConfig.ts index 7c4f473d64f..3684735e662 100644 --- a/packages/types/src/exportConfig.ts +++ b/packages/types/src/exportConfig.ts @@ -1,7 +1,7 @@ -import { ChatMessage } from '@/types/message'; -import { LobeSessions, SessionGroupItem } from '@/types/session'; -import { ChatTopic } from '@/types/topic'; -import { UserSettings } from '@/types/user/settings'; +import { ChatMessage } from './message'; +import { LobeSessions, SessionGroupItem } from './session'; +import { ChatTopic } from './topic'; +import { UserSettings } from './user/settings'; // ---------- TODO: this file need to be deleted in V2 ---------- // diff --git a/packages/types/src/index.ts b/packages/types/src/index.ts index 479c303a4c1..ef77b00b63d 100644 --- a/packages/types/src/index.ts +++ b/packages/types/src/index.ts @@ -11,6 +11,7 @@ export * from './discover'; export * from './eval'; export * from './fetch'; export * from './files'; +export * from './generation'; export * from './hotkey'; export * from './knowledgeBase'; export * from './llm'; @@ -20,6 +21,7 @@ export * from './plugins'; export * from './rag'; export * from './search'; export * from './serverConfig'; +export * from './service'; export * from './session'; export * from './tool'; export * from './topic'; diff --git a/packages/types/src/message/base.ts b/packages/types/src/message/common/base.ts similarity index 96% rename from packages/types/src/message/base.ts rename to packages/types/src/message/common/base.ts index c3bbf1cb504..e1e9f3721ea 100644 --- a/packages/types/src/message/base.ts +++ b/packages/types/src/message/common/base.ts @@ -2,10 +2,10 @@ import type { ILobeAgentRuntimeErrorType } from '@lobechat/model-runtime'; import type { IPluginErrorType } from '@lobehub/chat-plugin-sdk'; -import { ErrorType } from '../fetch'; -import { GroundingSearch } from '../search'; +import { ErrorType } from '../../fetch'; +import { GroundingSearch } from '../../search'; +import { ChatToolPayload, MessageToolCall } from '../tools'; import { ChatImageItem } from './image'; -import { ChatToolPayload, MessageToolCall } from './tools'; /** * 聊天消息错误对象 diff --git a/packages/types/src/message/image.ts b/packages/types/src/message/common/image.ts similarity index 100% rename from packages/types/src/message/image.ts rename to packages/types/src/message/common/image.ts diff --git a/packages/types/src/message/common/index.ts b/packages/types/src/message/common/index.ts new file mode 100644 index 00000000000..634423b2492 --- /dev/null +++ b/packages/types/src/message/common/index.ts @@ -0,0 +1,3 @@ +export * from './base'; +export * from './image'; +export * from './translate'; diff --git a/packages/types/src/message/translate.ts b/packages/types/src/message/common/translate.ts similarity index 100% rename from packages/types/src/message/translate.ts rename to packages/types/src/message/common/translate.ts diff --git a/packages/types/src/message/index.ts b/packages/types/src/message/index.ts index 04fb6999496..7db1665fb2b 100644 --- a/packages/types/src/message/index.ts +++ b/packages/types/src/message/index.ts @@ -1,9 +1,6 @@ -export * from './base'; -export * from './chat'; -export * from './image'; -export * from './rag'; +export * from './common'; export * from './tools'; -export * from './video'; +export * from './ui'; export interface ModelRankItem { count: number; diff --git a/packages/types/src/message/chat.ts b/packages/types/src/message/ui/chat.ts similarity index 89% rename from packages/types/src/message/chat.ts rename to packages/types/src/message/ui/chat.ts index a5402b05ef9..8d85a1945f8 100644 --- a/packages/types/src/message/chat.ts +++ b/packages/types/src/message/ui/chat.ts @@ -1,11 +1,16 @@ -import { UploadFileItem } from '../files'; -import { MetaData } from '../meta'; -import { MessageSemanticSearchChunk } from '../rag'; -import { GroundingSearch } from '../search'; -import type { ChatMessageError, MessageMetadata, MessageRoleType, ModelReasoning } from './base'; -import { ChatImageItem } from './image'; -import { ChatPluginPayload, ChatToolPayload } from './tools'; -import { Translate } from './translate'; +import { UploadFileItem } from '../../files'; +import { MetaData } from '../../meta'; +import { MessageSemanticSearchChunk } from '../../rag'; +import { GroundingSearch } from '../../search'; +import type { + ChatMessageError, + MessageMetadata, + MessageRoleType, + ModelReasoning, +} from '../common/base'; +import { ChatImageItem } from '../common/image'; +import { Translate } from '../common/translate'; +import { ChatPluginPayload, ChatToolPayload } from '../tools'; import { ChatVideoItem } from './video'; export interface ChatTranslate extends Translate { diff --git a/packages/types/src/message/ui/index.ts b/packages/types/src/message/ui/index.ts new file mode 100644 index 00000000000..26b66e802d8 --- /dev/null +++ b/packages/types/src/message/ui/index.ts @@ -0,0 +1,3 @@ +export * from './chat'; +export * from './rag'; +export * from './video'; diff --git a/packages/types/src/message/rag.ts b/packages/types/src/message/ui/rag.ts similarity index 88% rename from packages/types/src/message/rag.ts rename to packages/types/src/message/ui/rag.ts index f3ffd377637..d3faa60ef3e 100644 --- a/packages/types/src/message/rag.ts +++ b/packages/types/src/message/ui/rag.ts @@ -1,6 +1,6 @@ import { z } from 'zod'; -import { MessageSemanticSearchChunk } from '../rag'; +import { MessageSemanticSearchChunk } from '../../rag'; export const SemanticSearchChunkSchema = z.object({ id: z.string(), diff --git a/packages/types/src/message/video.ts b/packages/types/src/message/ui/video.ts similarity index 100% rename from packages/types/src/message/video.ts rename to packages/types/src/message/ui/video.ts diff --git a/src/app/[variants]/(main)/chat/(workspace)/@conversation/features/ChatInput/V1Mobile/useSend.ts b/src/app/[variants]/(main)/chat/(workspace)/@conversation/features/ChatInput/V1Mobile/useSend.ts index ba16697cb40..268825877c3 100644 --- a/src/app/[variants]/(main)/chat/(workspace)/@conversation/features/ChatInput/V1Mobile/useSend.ts +++ b/src/app/[variants]/(main)/chat/(workspace)/@conversation/features/ChatInput/V1Mobile/useSend.ts @@ -1,3 +1,4 @@ +import { SendMessageParams } from '@lobechat/types'; import { useAnalytics } from '@lobehub/analytics/react'; import { useCallback, useMemo } from 'react'; @@ -8,7 +9,6 @@ import { useChatStore } from '@/store/chat'; import { chatSelectors, topicSelectors } from '@/store/chat/selectors'; import { fileChatSelectors, useFileStore } from '@/store/file'; import { getUserStoreState } from '@/store/user'; -import { SendMessageParams } from '@/types/message'; export type UseSendMessageParams = Pick< SendMessageParams, diff --git a/src/app/[variants]/(main)/profile/stats/features/ModelsRank.tsx b/src/app/[variants]/(main)/profile/stats/features/ModelsRank.tsx index 48c82e6495a..91c573c1afc 100644 --- a/src/app/[variants]/(main)/profile/stats/features/ModelsRank.tsx +++ b/src/app/[variants]/(main)/profile/stats/features/ModelsRank.tsx @@ -1,3 +1,4 @@ +import { ModelRankItem } from '@lobechat/types'; import { BarList } from '@lobehub/charts'; import { ModelIcon } from '@lobehub/icons'; import { ActionIcon, FormGroup, Modal } from '@lobehub/ui'; @@ -9,7 +10,6 @@ import { Flexbox } from 'react-layout-kit'; import { FORM_STYLE } from '@/const/layoutTokens'; import { useClientDataSWR } from '@/libs/swr'; import { messageService } from '@/services/message'; -import { ModelRankItem } from '@/types/message'; export const TopicsRank = memo(() => { const [open, setOpen] = useState(false); diff --git a/src/app/[variants]/(main)/settings/llm/components/Checker.tsx b/src/app/[variants]/(main)/settings/llm/components/Checker.tsx index 980d57ec65a..04a0546c729 100644 --- a/src/app/[variants]/(main)/settings/llm/components/Checker.tsx +++ b/src/app/[variants]/(main)/settings/llm/components/Checker.tsx @@ -1,7 +1,7 @@ 'use client'; import { CheckCircleFilled } from '@ant-design/icons'; -import { TraceNameMap } from '@lobechat/types'; +import { TraceNameMap , ChatMessageError } from '@lobechat/types'; import { Alert, Button, Highlighter } from '@lobehub/ui'; import { useTheme } from 'antd-style'; import { memo, useState } from 'react'; @@ -11,7 +11,6 @@ import { Flexbox } from 'react-layout-kit'; import { useIsMobile } from '@/hooks/useIsMobile'; import { useProviderName } from '@/hooks/useProviderName'; import { chatService } from '@/services/chat'; -import { ChatMessageError } from '@/types/message'; interface ConnectionCheckerProps { model: string; diff --git a/src/app/[variants]/(main)/settings/provider/detail/ollama/CheckError.tsx b/src/app/[variants]/(main)/settings/provider/detail/ollama/CheckError.tsx index 382bc1a0350..e6704bd39db 100644 --- a/src/app/[variants]/(main)/settings/provider/detail/ollama/CheckError.tsx +++ b/src/app/[variants]/(main)/settings/provider/detail/ollama/CheckError.tsx @@ -1,9 +1,8 @@ +import { ChatMessageError } from '@lobechat/types'; import { Skeleton } from 'antd'; import dynamic from 'next/dynamic'; import { ReactNode } from 'react'; -import { ChatMessageError } from '@/types/message'; - import Container from './Container'; const loading = () => ; diff --git a/src/app/[variants]/(main)/settings/provider/features/ProviderConfig/Checker.tsx b/src/app/[variants]/(main)/settings/provider/features/ProviderConfig/Checker.tsx index 7298a5bc20e..d8fa3c0818f 100644 --- a/src/app/[variants]/(main)/settings/provider/features/ProviderConfig/Checker.tsx +++ b/src/app/[variants]/(main)/settings/provider/features/ProviderConfig/Checker.tsx @@ -1,7 +1,7 @@ 'use client'; import { CheckCircleFilled } from '@ant-design/icons'; -import { TraceNameMap } from '@lobechat/types'; +import { TraceNameMap , ChatMessageError } from '@lobechat/types'; import { ModelIcon } from '@lobehub/icons'; import { Alert, Button, Highlighter, Icon, Select } from '@lobehub/ui'; import { useTheme } from 'antd-style'; @@ -13,7 +13,6 @@ import { Flexbox } from 'react-layout-kit'; import { useProviderName } from '@/hooks/useProviderName'; import { chatService } from '@/services/chat'; import { aiModelSelectors, aiProviderSelectors, useAiInfraStore } from '@/store/aiInfra'; -import { ChatMessageError } from '@/types/message'; const Error = memo<{ error: ChatMessageError }>(({ error }) => { const { t } = useTranslation('error'); diff --git a/src/database/_deprecated/models/__tests__/message.test.ts b/src/database/_deprecated/models/__tests__/message.test.ts index 42f6f29b895..0f5efb15d81 100644 --- a/src/database/_deprecated/models/__tests__/message.test.ts +++ b/src/database/_deprecated/models/__tests__/message.test.ts @@ -1,7 +1,6 @@ +import { ChatMessage } from '@lobechat/types'; import { afterEach, beforeEach, describe, expect, it } from 'vitest'; -import { ChatMessage } from '@/types/message'; - import { CreateMessageParams, MessageModel } from '../message'; describe('MessageModel', () => { diff --git a/src/database/_deprecated/models/message.ts b/src/database/_deprecated/models/message.ts index 3a5046c83fe..f26e85fc37b 100644 --- a/src/database/_deprecated/models/message.ts +++ b/src/database/_deprecated/models/message.ts @@ -1,9 +1,9 @@ +import { ChatMessage } from '@lobechat/types'; import type { PartialDeep } from 'type-fest'; import { BaseModel } from '@/database/_deprecated/core'; import { DBModel } from '@/database/_deprecated/core/types/db'; import { DB_Message, DB_MessageSchema } from '@/database/_deprecated/schemas/message'; -import { ChatMessage } from '@/types/message'; import { nanoid } from '@/utils/uuid'; /** diff --git a/src/features/AgentSetting/AgentTTS/SelectWithTTSPreview.tsx b/src/features/AgentSetting/AgentTTS/SelectWithTTSPreview.tsx index 18e14fbd970..b8e1769ea3f 100644 --- a/src/features/AgentSetting/AgentTTS/SelectWithTTSPreview.tsx +++ b/src/features/AgentSetting/AgentTTS/SelectWithTTSPreview.tsx @@ -1,3 +1,4 @@ +import { ChatMessageError } from '@lobechat/types'; import { AudioPlayer } from '@lobehub/tts/react'; import { Alert, Button, Highlighter, Select, SelectProps } from '@lobehub/ui'; import { RefSelectProps } from 'antd'; @@ -8,7 +9,6 @@ import { Flexbox } from 'react-layout-kit'; import { useTTS } from '@/hooks/useTTS'; import { TTSServer } from '@/types/agent'; -import { ChatMessageError } from '@/types/message'; import { getMessageError } from '@/utils/fetch'; interface SelectWithTTSPreviewProps extends SelectProps { diff --git a/src/features/ChatInput/ActionBar/STT/browser.tsx b/src/features/ChatInput/ActionBar/STT/browser.tsx index 5139d63ba5e..3bdf7240e60 100644 --- a/src/features/ChatInput/ActionBar/STT/browser.tsx +++ b/src/features/ChatInput/ActionBar/STT/browser.tsx @@ -1,3 +1,4 @@ +import { ChatMessageError } from '@lobechat/types'; import { SpeechRecognitionOptions, useSpeechRecognition } from '@lobehub/tts/react'; import isEqual from 'fast-deep-equal'; import { memo, useCallback, useState } from 'react'; @@ -12,7 +13,6 @@ import { useGlobalStore } from '@/store/global'; import { globalGeneralSelectors } from '@/store/global/selectors'; import { useUserStore } from '@/store/user'; import { settingsSelectors } from '@/store/user/selectors'; -import { ChatMessageError } from '@/types/message'; import { getMessageError } from '@/utils/fetch'; import CommonSTT from './common'; diff --git a/src/features/ChatInput/ActionBar/STT/common.tsx b/src/features/ChatInput/ActionBar/STT/common.tsx index 4e03da59bb5..c9c4edae0f3 100644 --- a/src/features/ChatInput/ActionBar/STT/common.tsx +++ b/src/features/ChatInput/ActionBar/STT/common.tsx @@ -1,3 +1,4 @@ +import { ChatMessageError } from '@lobechat/types'; import { Alert, Button, Highlighter } from '@lobehub/ui'; import { createStyles } from 'antd-style'; import { Mic, MicOff } from 'lucide-react'; @@ -5,8 +6,6 @@ import { memo, useState } from 'react'; import { useTranslation } from 'react-i18next'; import { Flexbox } from 'react-layout-kit'; -import { ChatMessageError } from '@/types/message'; - import Action from '../components/Action'; const useStyles = createStyles(({ css, token }) => ({ diff --git a/src/features/ChatInput/ActionBar/STT/openai.tsx b/src/features/ChatInput/ActionBar/STT/openai.tsx index a78b916cc9f..b7a50acc729 100644 --- a/src/features/ChatInput/ActionBar/STT/openai.tsx +++ b/src/features/ChatInput/ActionBar/STT/openai.tsx @@ -1,3 +1,4 @@ +import { ChatMessageError } from '@lobechat/types'; import { getRecordMineType } from '@lobehub/tts'; import { OpenAISTTOptions, useOpenAISTT } from '@lobehub/tts/react'; import isEqual from 'fast-deep-equal'; @@ -15,7 +16,6 @@ import { useGlobalStore } from '@/store/global'; import { globalGeneralSelectors } from '@/store/global/selectors'; import { useUserStore } from '@/store/user'; import { settingsSelectors } from '@/store/user/selectors'; -import { ChatMessageError } from '@/types/message'; import { getMessageError } from '@/utils/fetch'; import CommonSTT from './common'; diff --git a/src/features/Conversation/Error/ErrorJsonViewer.tsx b/src/features/Conversation/Error/ErrorJsonViewer.tsx index 5377d79aef8..347f9767de5 100644 --- a/src/features/Conversation/Error/ErrorJsonViewer.tsx +++ b/src/features/Conversation/Error/ErrorJsonViewer.tsx @@ -1,9 +1,8 @@ +import { ChatMessageError } from '@lobechat/types'; import { Highlighter } from '@lobehub/ui'; import { memo } from 'react'; import { Flexbox } from 'react-layout-kit'; -import { ChatMessageError } from '@/types/message'; - interface ErrorJSONViewerProps { error?: ChatMessageError | null; id: string; diff --git a/src/features/Conversation/Error/OllamaBizError/index.tsx b/src/features/Conversation/Error/OllamaBizError/index.tsx index 9f00b1347d2..034c974b48f 100644 --- a/src/features/Conversation/Error/OllamaBizError/index.tsx +++ b/src/features/Conversation/Error/OllamaBizError/index.tsx @@ -1,9 +1,8 @@ +import { ChatMessage } from '@lobechat/types'; import { Skeleton } from 'antd'; import dynamic from 'next/dynamic'; import { memo } from 'react'; -import { ChatMessage } from '@/types/message'; - import ErrorJsonViewer from '../ErrorJsonViewer'; const loading = () => ; diff --git a/src/features/Conversation/Error/index.tsx b/src/features/Conversation/Error/index.tsx index aabccd29d24..92e977297f3 100644 --- a/src/features/Conversation/Error/index.tsx +++ b/src/features/Conversation/Error/index.tsx @@ -1,5 +1,5 @@ import { AgentRuntimeErrorType, ILobeAgentRuntimeErrorType } from '@lobechat/model-runtime'; -import { ChatErrorType, ErrorType } from '@lobechat/types'; +import { ChatErrorType, ErrorType , ChatMessage, ChatMessageError } from '@lobechat/types'; import { IPluginErrorType } from '@lobehub/chat-plugin-sdk'; import type { AlertProps } from '@lobehub/ui'; import { Skeleton } from 'antd'; @@ -8,7 +8,6 @@ import { Suspense, memo, useMemo } from 'react'; import { useTranslation } from 'react-i18next'; import { useProviderName } from '@/hooks/useProviderName'; -import { ChatMessage, ChatMessageError } from '@/types/message'; import ChatInvalidAPIKey from './ChatInvalidApiKey'; import ClerkLogin from './ClerkLogin'; diff --git a/src/features/Conversation/Messages/Assistant/Actions/index.tsx b/src/features/Conversation/Messages/Assistant/Actions/index.tsx index 5e202884d1b..3bb5473ff3e 100644 --- a/src/features/Conversation/Messages/Assistant/Actions/index.tsx +++ b/src/features/Conversation/Messages/Assistant/Actions/index.tsx @@ -1,3 +1,4 @@ +import { ChatMessage } from '@lobechat/types'; import { ActionIconGroup, type ActionIconGroupEvent, ActionIconGroupItemType } from '@lobehub/ui'; import { App } from 'antd'; import { useSearchParams } from 'next/navigation'; @@ -10,7 +11,6 @@ import { useChatStore } from '@/store/chat'; import { threadSelectors } from '@/store/chat/selectors'; import { useSessionStore } from '@/store/session'; import { sessionSelectors } from '@/store/session/selectors'; -import { ChatMessage } from '@/types/message'; import { InPortalThreadContext } from '../../../context/InPortalThreadContext'; import { useChatListActionsBar } from '../../../hooks/useChatListActionsBar'; diff --git a/src/features/Conversation/Messages/Assistant/Block.tsx b/src/features/Conversation/Messages/Assistant/Block.tsx index 15aadc4d81b..f5aac09e807 100644 --- a/src/features/Conversation/Messages/Assistant/Block.tsx +++ b/src/features/Conversation/Messages/Assistant/Block.tsx @@ -1,3 +1,4 @@ +import { AssistantContentBlock } from '@lobechat/types'; import { Markdown } from '@lobehub/ui'; import { ReactNode, memo } from 'react'; import { Flexbox } from 'react-layout-kit'; @@ -6,7 +7,6 @@ import { LOADING_FLAT } from '@/const/message'; import ImageFileListViewer from '@/features/Conversation/Messages/User/ImageFileListViewer'; import { useChatStore } from '@/store/chat'; import { chatSelectors } from '@/store/chat/selectors'; -import { AssistantContentBlock } from '@/types/message'; import { DefaultMessage } from '../Default'; import Tool from './Tool'; diff --git a/src/features/Conversation/Messages/Assistant/Extra/index.test.tsx b/src/features/Conversation/Messages/Assistant/Extra/index.test.tsx index 9f7e1a85199..db9395b3a82 100644 --- a/src/features/Conversation/Messages/Assistant/Extra/index.test.tsx +++ b/src/features/Conversation/Messages/Assistant/Extra/index.test.tsx @@ -1,8 +1,8 @@ +import { ChatMessage } from '@lobechat/types'; import { render, screen } from '@testing-library/react'; import { Mock, beforeEach, describe, expect, it, vi } from 'vitest'; import { useChatStore } from '@/store/chat'; -import { ChatMessage } from '@/types/message'; import { AssistantMessageExtra } from './index'; diff --git a/src/features/Conversation/Messages/Assistant/Extra/index.tsx b/src/features/Conversation/Messages/Assistant/Extra/index.tsx index d704dedc4ab..87e7da64cd3 100644 --- a/src/features/Conversation/Messages/Assistant/Extra/index.tsx +++ b/src/features/Conversation/Messages/Assistant/Extra/index.tsx @@ -1,3 +1,4 @@ +import { type MessageMetadata } from '@lobechat/types'; import { memo } from 'react'; import { Flexbox } from 'react-layout-kit'; @@ -8,7 +9,6 @@ import Translate from '@/features/Conversation/components/Extras/Translate'; import Usage from '@/features/Conversation/components/Extras/Usage'; import { useChatStore } from '@/store/chat'; import { chatSelectors } from '@/store/chat/selectors'; -import { type MessageMetadata } from '@/types/message'; interface AssistantMessageExtraProps { content: string; diff --git a/src/features/Conversation/Messages/Assistant/FileChunks/Item/index.tsx b/src/features/Conversation/Messages/Assistant/FileChunks/Item/index.tsx index 20370631ce3..511907c2e5c 100644 --- a/src/features/Conversation/Messages/Assistant/FileChunks/Item/index.tsx +++ b/src/features/Conversation/Messages/Assistant/FileChunks/Item/index.tsx @@ -1,3 +1,4 @@ +import { ChatFileChunk } from '@lobechat/types'; import { Text, Tooltip } from '@lobehub/ui'; import { memo } from 'react'; import { Center, Flexbox } from 'react-layout-kit'; @@ -5,7 +6,6 @@ import { Center, Flexbox } from 'react-layout-kit'; import FileIcon from '@/components/FileIcon'; import { useIsMobile } from '@/hooks/useIsMobile'; import { useChatStore } from '@/store/chat'; -import { ChatFileChunk } from '@/types/message'; import { useStyles } from './style'; diff --git a/src/features/Conversation/Messages/Assistant/FileChunks/index.tsx b/src/features/Conversation/Messages/Assistant/FileChunks/index.tsx index 0443afe59c4..d38b1581edf 100644 --- a/src/features/Conversation/Messages/Assistant/FileChunks/index.tsx +++ b/src/features/Conversation/Messages/Assistant/FileChunks/index.tsx @@ -1,3 +1,4 @@ +import { ChatFileChunk } from '@lobechat/types'; import { Icon } from '@lobehub/ui'; import { createStyles } from 'antd-style'; import { BookOpenTextIcon, ChevronDown, ChevronRight } from 'lucide-react'; @@ -5,8 +6,6 @@ import { memo, useState } from 'react'; import { useTranslation } from 'react-i18next'; import { Flexbox } from 'react-layout-kit'; -import { ChatFileChunk } from '@/types/message'; - import ChunkItem from './Item'; const useStyles = createStyles(({ css, token, isDarkMode }) => ({ diff --git a/src/features/Conversation/Messages/Assistant/MessageContent.tsx b/src/features/Conversation/Messages/Assistant/MessageContent.tsx index da5a9c0588d..889ef8874b2 100644 --- a/src/features/Conversation/Messages/Assistant/MessageContent.tsx +++ b/src/features/Conversation/Messages/Assistant/MessageContent.tsx @@ -1,3 +1,4 @@ +import { ChatMessage } from '@lobechat/types'; import { ReactNode, memo } from 'react'; import { Flexbox } from 'react-layout-kit'; @@ -7,7 +8,6 @@ import ImageFileListViewer from '@/features/Conversation/Messages/User/ImageFile import VideoFileListViewer from '@/features/Conversation/Messages/User/VideoFileListViewer'; import { useChatStore } from '@/store/chat'; import { aiChatSelectors, chatSelectors } from '@/store/chat/selectors'; -import { ChatMessage } from '@/types/message'; import { DefaultMessage } from '../Default'; import FileChunks from './FileChunks'; diff --git a/src/features/Conversation/Messages/Assistant/Tool/Render/CustomRender.tsx b/src/features/Conversation/Messages/Assistant/Tool/Render/CustomRender.tsx index 291a7c51acb..cf5f98b156e 100644 --- a/src/features/Conversation/Messages/Assistant/Tool/Render/CustomRender.tsx +++ b/src/features/Conversation/Messages/Assistant/Tool/Render/CustomRender.tsx @@ -1,3 +1,4 @@ +import { ChatMessage } from '@lobechat/types'; import { ActionIcon } from '@lobehub/ui'; import { App } from 'antd'; import { Edit3Icon, PlayCircleIcon } from 'lucide-react'; @@ -10,7 +11,6 @@ import PluginResult from '@/features/Conversation/Messages/Assistant/Tool/Inspec import PluginRender from '@/features/PluginsUI/Render'; import { useChatStore } from '@/store/chat'; import { chatSelectors } from '@/store/chat/selectors'; -import { ChatMessage } from '@/types/message'; import Arguments from './Arguments'; import KeyValueEditor from './KeyValueEditor'; diff --git a/src/features/Conversation/Messages/Assistant/Tool/Render/ErrorResponse.tsx b/src/features/Conversation/Messages/Assistant/Tool/Render/ErrorResponse.tsx index 13cc81750b0..f56cf6be657 100644 --- a/src/features/Conversation/Messages/Assistant/Tool/Render/ErrorResponse.tsx +++ b/src/features/Conversation/Messages/Assistant/Tool/Render/ErrorResponse.tsx @@ -1,10 +1,9 @@ +import { ChatMessageError, ChatPluginPayload } from '@lobechat/types'; import { Alert, Highlighter } from '@lobehub/ui'; import { memo } from 'react'; import { useTranslation } from 'react-i18next'; import { Flexbox } from 'react-layout-kit'; -import { ChatMessageError, ChatPluginPayload } from '@/types/message'; - import PluginSettings from './PluginSettings'; interface ErrorResponseProps extends ChatMessageError { diff --git a/src/features/Conversation/Messages/Assistant/Tool/Render/PluginSettings.tsx b/src/features/Conversation/Messages/Assistant/Tool/Render/PluginSettings.tsx index aa3526ac3ed..ae962d4d3f9 100644 --- a/src/features/Conversation/Messages/Assistant/Tool/Render/PluginSettings.tsx +++ b/src/features/Conversation/Messages/Assistant/Tool/Render/PluginSettings.tsx @@ -1,3 +1,4 @@ +import { ChatPluginPayload } from '@lobechat/types'; import { Avatar, Button } from '@lobehub/ui'; import { Divider } from 'antd'; import { useTheme } from 'antd-style'; @@ -10,7 +11,6 @@ import PluginSettingsConfig from '@/features/PluginSettings'; import { useChatStore } from '@/store/chat'; import { pluginHelpers, useToolStore } from '@/store/tool'; import { pluginSelectors } from '@/store/tool/selectors'; -import { ChatPluginPayload } from '@/types/message'; import { ErrorActionContainer, useStyles } from '../../../../Error/style'; diff --git a/src/features/Conversation/Messages/Default.tsx b/src/features/Conversation/Messages/Default.tsx index 252ba709b6a..3f6138179c8 100644 --- a/src/features/Conversation/Messages/Default.tsx +++ b/src/features/Conversation/Messages/Default.tsx @@ -1,10 +1,10 @@ +import { ChatMessage } from '@lobechat/types'; import { ReactNode, memo } from 'react'; import BubblesLoading from '@/components/BubblesLoading'; import { LOADING_FLAT } from '@/const/message'; import { useChatStore } from '@/store/chat'; import { chatSelectors } from '@/store/chat/selectors'; -import { ChatMessage } from '@/types/message'; export const DefaultMessage = memo< ChatMessage & { diff --git a/src/features/Conversation/Messages/Supervisor/index.tsx b/src/features/Conversation/Messages/Supervisor/index.tsx index c05060fd8c3..64da25fcb58 100644 --- a/src/features/Conversation/Messages/Supervisor/index.tsx +++ b/src/features/Conversation/Messages/Supervisor/index.tsx @@ -1,5 +1,6 @@ 'use client'; +import { ChatMessage } from '@lobechat/types'; import { ModelIcon } from '@lobehub/icons'; import { Button, Text } from '@lobehub/ui'; import { createStyles, useTheme } from 'antd-style'; @@ -12,7 +13,6 @@ import { DEFAULT_SUPERVISOR_AVATAR } from '@/const/meta'; import { ChatItem } from '@/features/ChatItem'; import { useChatStore } from '@/store/chat'; import { ChatErrorType } from '@/types/fetch'; -import { ChatMessage } from '@/types/message'; import TodoList, { TodoData } from './TodoList'; diff --git a/src/features/Conversation/Messages/User/FileListViewer/Item.tsx b/src/features/Conversation/Messages/User/FileListViewer/Item.tsx index 10c46e6bba0..1509eac07e4 100644 --- a/src/features/Conversation/Messages/User/FileListViewer/Item.tsx +++ b/src/features/Conversation/Messages/User/FileListViewer/Item.tsx @@ -1,3 +1,4 @@ +import { ChatFileItem } from '@lobechat/types'; import { Text } from '@lobehub/ui'; import { createStyles } from 'antd-style'; import { memo } from 'react'; @@ -5,7 +6,6 @@ import { Flexbox } from 'react-layout-kit'; import FileIcon from '@/components/FileIcon'; import { useChatStore } from '@/store/chat'; -import { ChatFileItem } from '@/types/message'; import { formatSize } from '@/utils/format'; const useStyles = createStyles(({ css, token, isDarkMode }) => ({ diff --git a/src/features/Conversation/Messages/User/FileListViewer/index.tsx b/src/features/Conversation/Messages/User/FileListViewer/index.tsx index 72e21643070..fc29516e1ce 100644 --- a/src/features/Conversation/Messages/User/FileListViewer/index.tsx +++ b/src/features/Conversation/Messages/User/FileListViewer/index.tsx @@ -1,8 +1,7 @@ +import { ChatFileItem } from '@lobechat/types'; import { memo } from 'react'; import { Flexbox } from 'react-layout-kit'; -import { ChatFileItem } from '@/types/message'; - import FileItem from './Item'; interface FileListViewerProps { diff --git a/src/features/Conversation/Messages/User/MessageContent.tsx b/src/features/Conversation/Messages/User/MessageContent.tsx index fdb0a2e756c..9642737fed1 100644 --- a/src/features/Conversation/Messages/User/MessageContent.tsx +++ b/src/features/Conversation/Messages/User/MessageContent.tsx @@ -1,8 +1,7 @@ +import { ChatMessage } from '@lobechat/types'; import { ReactNode, memo } from 'react'; import { Flexbox } from 'react-layout-kit'; -import { ChatMessage } from '@/types/message'; - import FileListViewer from './FileListViewer'; import ImageFileListViewer from './ImageFileListViewer'; import VideoFileListViewer from './VideoFileListViewer'; diff --git a/src/features/Conversation/Messages/User/VideoFileListViewer.tsx b/src/features/Conversation/Messages/User/VideoFileListViewer.tsx index b06621620f9..e151e3dd169 100644 --- a/src/features/Conversation/Messages/User/VideoFileListViewer.tsx +++ b/src/features/Conversation/Messages/User/VideoFileListViewer.tsx @@ -1,8 +1,7 @@ +import { ChatVideoItem } from '@lobechat/types'; import { memo } from 'react'; import { Flexbox } from 'react-layout-kit'; -import { ChatVideoItem } from '@/types/message'; - interface VideoFileListViewerProps { items: ChatVideoItem[]; } diff --git a/src/features/Conversation/components/ChatItem/ShareMessageModal/SharePdf/index.tsx b/src/features/Conversation/components/ChatItem/ShareMessageModal/SharePdf/index.tsx index 49f4b02e23f..deeb82d39a2 100644 --- a/src/features/Conversation/components/ChatItem/ShareMessageModal/SharePdf/index.tsx +++ b/src/features/Conversation/components/ChatItem/ShareMessageModal/SharePdf/index.tsx @@ -1,3 +1,4 @@ +import { ChatMessage } from '@lobechat/types'; import { Button } from '@lobehub/ui'; import { App } from 'antd'; import { DownloadIcon, FileText } from 'lucide-react'; @@ -7,7 +8,6 @@ import { Flexbox } from 'react-layout-kit'; import { useIsMobile } from '@/hooks/useIsMobile'; import { useChatStore } from '@/store/chat'; -import { ChatMessage } from '@/types/message'; import PdfPreview from './PdfPreview'; import { useContainerStyles, useStyles } from './style'; diff --git a/src/features/Conversation/components/ChatItem/ShareMessageModal/SharePdf/template.ts b/src/features/Conversation/components/ChatItem/ShareMessageModal/SharePdf/template.ts index b1bada47487..546ac27e6b4 100644 --- a/src/features/Conversation/components/ChatItem/ShareMessageModal/SharePdf/template.ts +++ b/src/features/Conversation/components/ChatItem/ShareMessageModal/SharePdf/template.ts @@ -1,7 +1,7 @@ +import { ChatMessage } from '@lobechat/types'; import { template } from 'lodash-es'; import { LOADING_FLAT } from '@/const/message'; -import { ChatMessage } from '@/types/message'; const markdownTemplate = template(`{{message.content}}`, { evaluate: /<%([\S\s]+?)%>/g, diff --git a/src/features/Conversation/components/Extras/TTS/InitPlayer.tsx b/src/features/Conversation/components/Extras/TTS/InitPlayer.tsx index 24d2c04f568..7261ee61784 100644 --- a/src/features/Conversation/components/Extras/TTS/InitPlayer.tsx +++ b/src/features/Conversation/components/Extras/TTS/InitPlayer.tsx @@ -1,10 +1,10 @@ +import { ChatMessageError, ChatTTS } from '@lobechat/types'; import { memo, useCallback, useEffect, useState } from 'react'; import { useTranslation } from 'react-i18next'; import { useTTS } from '@/hooks/useTTS'; import { useChatStore } from '@/store/chat'; import { useFileStore } from '@/store/file'; -import { ChatMessageError, ChatTTS } from '@/types/message'; import { getMessageError } from '@/utils/fetch'; import Player from './Player'; diff --git a/src/features/Conversation/components/Extras/TTS/Player.tsx b/src/features/Conversation/components/Extras/TTS/Player.tsx index 4b6fc96912f..fa3dae7e629 100644 --- a/src/features/Conversation/components/Extras/TTS/Player.tsx +++ b/src/features/Conversation/components/Extras/TTS/Player.tsx @@ -1,3 +1,4 @@ +import { ChatMessageError } from '@lobechat/types'; import { AudioPlayer, AudioPlayerProps } from '@lobehub/tts/react'; import { ActionIcon, Alert, Button, Highlighter } from '@lobehub/ui'; import { TrashIcon } from 'lucide-react'; @@ -5,8 +6,6 @@ import { memo } from 'react'; import { useTranslation } from 'react-i18next'; import { Flexbox } from 'react-layout-kit'; -import { ChatMessageError } from '@/types/message'; - interface PlayerProps extends AudioPlayerProps { error?: ChatMessageError; onDelete: () => void; diff --git a/src/features/Conversation/components/Extras/Translate.tsx b/src/features/Conversation/components/Extras/Translate.tsx index 62bc593b423..288e180bcd0 100644 --- a/src/features/Conversation/components/Extras/Translate.tsx +++ b/src/features/Conversation/components/Extras/Translate.tsx @@ -1,3 +1,4 @@ +import { ChatTranslate } from '@lobechat/types'; import { ActionIcon, Icon, Markdown, Tag, copyToClipboard } from '@lobehub/ui'; import { App } from 'antd'; import { useTheme } from 'antd-style'; @@ -8,7 +9,6 @@ import { Flexbox } from 'react-layout-kit'; import BubblesLoading from '@/components/BubblesLoading'; import { useChatStore } from '@/store/chat'; -import { ChatTranslate } from '@/types/message'; interface TranslateProps extends ChatTranslate { id: string; diff --git a/src/features/Conversation/components/Extras/Usage/UsageDetail/index.tsx b/src/features/Conversation/components/Extras/Usage/UsageDetail/index.tsx index 47afd4c3eb2..d02c4538b49 100644 --- a/src/features/Conversation/components/Extras/Usage/UsageDetail/index.tsx +++ b/src/features/Conversation/components/Extras/Usage/UsageDetail/index.tsx @@ -1,3 +1,4 @@ +import { MessageMetadata } from '@lobechat/types'; import { Icon } from '@lobehub/ui'; import { Divider, Popover } from 'antd'; import { useTheme } from 'antd-style'; @@ -10,7 +11,6 @@ import InfoTooltip from '@/components/InfoTooltip'; import { aiModelSelectors, useAiInfraStore } from '@/store/aiInfra'; import { useGlobalStore } from '@/store/global'; import { systemStatusSelectors } from '@/store/global/selectors'; -import { MessageMetadata } from '@/types/message'; import { formatNumber } from '@/utils/format'; import ModelCard from './ModelCard'; diff --git a/src/features/Conversation/components/Extras/Usage/UsageDetail/tokens.ts b/src/features/Conversation/components/Extras/Usage/UsageDetail/tokens.ts index 18486e9702c..09609ba7f4d 100644 --- a/src/features/Conversation/components/Extras/Usage/UsageDetail/tokens.ts +++ b/src/features/Conversation/components/Extras/Usage/UsageDetail/tokens.ts @@ -1,6 +1,6 @@ +import type { ModelTokensUsage } from '@lobechat/types'; import { LobeDefaultAiModelListItem } from 'model-bank'; -import type { ModelTokensUsage } from '@/types/message'; import { getAudioInputUnitRate, getAudioOutputUnitRate } from '@/utils/pricing'; import { getPrice } from './pricing'; diff --git a/src/features/Conversation/components/Extras/Usage/index.tsx b/src/features/Conversation/components/Extras/Usage/index.tsx index 4bcd995485f..28c716658c5 100644 --- a/src/features/Conversation/components/Extras/Usage/index.tsx +++ b/src/features/Conversation/components/Extras/Usage/index.tsx @@ -1,10 +1,9 @@ +import { MessageMetadata } from '@lobechat/types'; import { ModelIcon } from '@lobehub/icons'; import { createStyles } from 'antd-style'; import { memo } from 'react'; import { Center, Flexbox } from 'react-layout-kit'; -import { MessageMetadata } from '@/types/message'; - import TokenDetail from './UsageDetail'; export const useStyles = createStyles(({ token, css, cx }) => ({ diff --git a/src/features/Conversation/components/ShareMessageModal/ShareImage/Preview.tsx b/src/features/Conversation/components/ShareMessageModal/ShareImage/Preview.tsx index 2d98f02f4ba..4b12224892d 100644 --- a/src/features/Conversation/components/ShareMessageModal/ShareImage/Preview.tsx +++ b/src/features/Conversation/components/ShareMessageModal/ShareImage/Preview.tsx @@ -1,3 +1,4 @@ +import { ChatMessage } from '@lobechat/types'; import { ModelTag } from '@lobehub/icons'; import { Avatar } from '@lobehub/ui'; import { ChatHeaderTitle } from '@lobehub/ui/chat'; @@ -12,7 +13,6 @@ import { useAgentStore } from '@/store/agent'; import { agentSelectors } from '@/store/agent/selectors'; import { useSessionStore } from '@/store/session'; import { sessionMetaSelectors, sessionSelectors } from '@/store/session/selectors'; -import { ChatMessage } from '@/types/message'; import pkg from '../../../../../../package.json'; import { useContainerStyles } from '../style'; diff --git a/src/features/Conversation/components/ShareMessageModal/ShareImage/index.tsx b/src/features/Conversation/components/ShareMessageModal/ShareImage/index.tsx index de71d887b8c..f4d31315d88 100644 --- a/src/features/Conversation/components/ShareMessageModal/ShareImage/index.tsx +++ b/src/features/Conversation/components/ShareMessageModal/ShareImage/index.tsx @@ -1,3 +1,4 @@ +import { ChatMessage } from '@lobechat/types'; import { Button, Form, type FormItemProps, Segmented } from '@lobehub/ui'; import { Switch } from 'antd'; import { CopyIcon } from 'lucide-react'; @@ -11,7 +12,6 @@ import { useIsMobile } from '@/hooks/useIsMobile'; import { ImageType, imageTypeOptions, useScreenshot } from '@/hooks/useScreenshot'; import { useSessionStore } from '@/store/session'; import { sessionMetaSelectors } from '@/store/session/selectors'; -import { ChatMessage } from '@/types/message'; import { useStyles } from '../style'; import Preview from './Preview'; diff --git a/src/features/Conversation/components/ShareMessageModal/ShareText/index.tsx b/src/features/Conversation/components/ShareMessageModal/ShareText/index.tsx index 6f6e331d57e..b1ac92ddfd5 100644 --- a/src/features/Conversation/components/ShareMessageModal/ShareText/index.tsx +++ b/src/features/Conversation/components/ShareMessageModal/ShareText/index.tsx @@ -1,3 +1,4 @@ +import { ChatMessage } from '@lobechat/types'; import { Button, copyToClipboard } from '@lobehub/ui'; import { App } from 'antd'; import isEqual from 'fast-deep-equal'; @@ -9,7 +10,6 @@ import { Flexbox } from 'react-layout-kit'; import { useIsMobile } from '@/hooks/useIsMobile'; import { useChatStore } from '@/store/chat'; import { topicSelectors } from '@/store/chat/selectors'; -import { ChatMessage } from '@/types/message'; import { exportFile } from '@/utils/client'; import { useStyles } from '../style'; diff --git a/src/features/Conversation/components/ShareMessageModal/ShareText/template.test.ts b/src/features/Conversation/components/ShareMessageModal/ShareText/template.test.ts index 611c4c6295c..13df7089f60 100644 --- a/src/features/Conversation/components/ShareMessageModal/ShareText/template.test.ts +++ b/src/features/Conversation/components/ShareMessageModal/ShareText/template.test.ts @@ -1,7 +1,7 @@ +import { ChatMessage } from '@lobechat/types'; import { describe, expect, it } from 'vitest'; import { LOADING_FLAT } from '@/const/message'; -import { ChatMessage } from '@/types/message'; import { generateMarkdown } from './template'; diff --git a/src/features/Conversation/components/ShareMessageModal/ShareText/template.ts b/src/features/Conversation/components/ShareMessageModal/ShareText/template.ts index 9cbb71640bb..3fb8943e6b4 100644 --- a/src/features/Conversation/components/ShareMessageModal/ShareText/template.ts +++ b/src/features/Conversation/components/ShareMessageModal/ShareText/template.ts @@ -1,7 +1,7 @@ +import { ChatMessage } from '@lobechat/types'; import { template } from 'lodash-es'; import { LOADING_FLAT } from '@/const/message'; -import { ChatMessage } from '@/types/message'; const markdownTemplate = template( `<% messages.forEach(function(chat) { %> diff --git a/src/features/Conversation/components/ShareMessageModal/index.tsx b/src/features/Conversation/components/ShareMessageModal/index.tsx index 3d553fb3f1a..6d37a42067d 100644 --- a/src/features/Conversation/components/ShareMessageModal/index.tsx +++ b/src/features/Conversation/components/ShareMessageModal/index.tsx @@ -1,15 +1,15 @@ +import { ChatMessage } from '@lobechat/types'; import { Modal, Segmented, Tabs } from '@lobehub/ui'; import { memo, useId, useMemo, useState } from 'react'; import { useTranslation } from 'react-i18next'; import { Flexbox } from 'react-layout-kit'; import { isServerMode } from '@/const/version'; +import SharePdf from '@/features/ShareModal/SharePdf'; import { useIsMobile } from '@/hooks/useIsMobile'; -import { ChatMessage } from '@/types/message'; import ShareImage from './ShareImage'; import ShareText from './ShareText'; -import SharePdf from '@/features/ShareModal/SharePdf'; enum Tab { PDF = 'pdf', diff --git a/src/features/Conversation/types/index.ts b/src/features/Conversation/types/index.ts index 571c3abc8e0..d56aa547108 100644 --- a/src/features/Conversation/types/index.ts +++ b/src/features/Conversation/types/index.ts @@ -1,8 +1,8 @@ +import { ChatMessage } from '@lobechat/types'; import { type ChatItemProps } from '@lobehub/ui/chat'; import { FC, ReactNode } from 'react'; import { LLMRoleType } from '@/types/llm'; -import { ChatMessage } from '@/types/message'; export type RenderRole = LLMRoleType | 'default' | 'history' | string; export type RenderMessage = FC; diff --git a/src/features/Portal/Home/Body/Files/FileList/Item.tsx b/src/features/Portal/Home/Body/Files/FileList/Item.tsx index 8c70d354c7c..c05f6bc63c7 100644 --- a/src/features/Portal/Home/Body/Files/FileList/Item.tsx +++ b/src/features/Portal/Home/Body/Files/FileList/Item.tsx @@ -1,3 +1,4 @@ +import { ChatFileItem } from '@lobechat/types'; import { Text } from '@lobehub/ui'; import { createStyles } from 'antd-style'; import { memo } from 'react'; @@ -5,7 +6,6 @@ import { Flexbox } from 'react-layout-kit'; import FileIcon from '@/components/FileIcon'; import { useChatStore } from '@/store/chat'; -import { ChatFileItem } from '@/types/message'; import { formatSize } from '@/utils/format'; const useStyles = createStyles(({ css, token }) => ({ diff --git a/src/features/Portal/Home/Body/Plugins/ArtifactList/Item/index.tsx b/src/features/Portal/Home/Body/Plugins/ArtifactList/Item/index.tsx index e18a712ea19..3033cdbdf86 100644 --- a/src/features/Portal/Home/Body/Plugins/ArtifactList/Item/index.tsx +++ b/src/features/Portal/Home/Body/Plugins/ArtifactList/Item/index.tsx @@ -1,3 +1,4 @@ +import { ChatPluginPayload } from '@lobechat/types'; import { Icon, Tag, Text } from '@lobehub/ui'; import isEqual from 'fast-deep-equal'; import { CircuitBoard } from 'lucide-react'; @@ -10,7 +11,6 @@ import { useYamlArguments } from '@/hooks/useYamlArguments'; import { useChatStore } from '@/store/chat'; import { pluginHelpers, useToolStore } from '@/store/tool'; import { toolSelectors } from '@/store/tool/selectors'; -import { ChatPluginPayload } from '@/types/message'; import { useStyles } from './style'; diff --git a/src/features/Portal/Thread/Chat/ChatInput/useSend.ts b/src/features/Portal/Thread/Chat/ChatInput/useSend.ts index 2740fe80970..bf50649bd6a 100644 --- a/src/features/Portal/Thread/Chat/ChatInput/useSend.ts +++ b/src/features/Portal/Thread/Chat/ChatInput/useSend.ts @@ -1,3 +1,4 @@ +import { SendMessageParams } from '@lobechat/types'; import { useMemo, useState } from 'react'; import { useGeminiChineseWarning } from '@/hooks/useGeminiChineseWarning'; @@ -5,7 +6,6 @@ import { getAgentStoreState } from '@/store/agent'; import { agentSelectors } from '@/store/agent/slices/chat'; import { useChatStore } from '@/store/chat'; import { threadSelectors } from '@/store/chat/selectors'; -import { SendMessageParams } from '@/types/message'; export type UseSendMessageParams = Pick< SendMessageParams, diff --git a/src/features/ShareModal/ShareJSON/generateMessages.test.ts b/src/features/ShareModal/ShareJSON/generateMessages.test.ts index 627f5d9391c..23f64d240ad 100644 --- a/src/features/ShareModal/ShareJSON/generateMessages.test.ts +++ b/src/features/ShareModal/ShareJSON/generateMessages.test.ts @@ -1,7 +1,7 @@ +import { ChatMessage } from '@lobechat/types'; import { describe, expect, it } from 'vitest'; import { LOADING_FLAT } from '@/const/message'; -import { ChatMessage } from '@/types/message'; import { generateMessages } from './generateMessages'; diff --git a/src/features/ShareModal/ShareJSON/generateMessages.ts b/src/features/ShareModal/ShareJSON/generateMessages.ts index 4975a725527..5b2bb144d12 100644 --- a/src/features/ShareModal/ShareJSON/generateMessages.ts +++ b/src/features/ShareModal/ShareJSON/generateMessages.ts @@ -1,5 +1,6 @@ +import { ChatMessage } from '@lobechat/types'; + import { LOADING_FLAT } from '@/const/message'; -import { ChatMessage } from '@/types/message'; import { FieldType } from './type'; diff --git a/src/features/ShareModal/SharePdf/index.tsx b/src/features/ShareModal/SharePdf/index.tsx index eb48e3894bc..cd2a60c31a0 100644 --- a/src/features/ShareModal/SharePdf/index.tsx +++ b/src/features/ShareModal/SharePdf/index.tsx @@ -1,3 +1,4 @@ +import { ChatMessage } from '@lobechat/types'; import { Button, Form, type FormItemProps } from '@lobehub/ui'; import { App, Switch } from 'antd'; import isEqual from 'fast-deep-equal'; @@ -18,7 +19,6 @@ import { FieldType } from '../ShareText/type'; import { useContainerStyles, useStyles } from '../style'; import PdfPreview from './PdfPreview'; import { usePdfGeneration } from './usePdfGeneration'; -import { ChatMessage } from '@/types/message'; const DEFAULT_FIELD_VALUE: FieldType = { includeTool: true, @@ -27,7 +27,7 @@ const DEFAULT_FIELD_VALUE: FieldType = { withSystemRole: false, }; -const SharePdf = memo((props: {message?: ChatMessage}) => { +const SharePdf = memo((props: { message?: ChatMessage }) => { const [fieldValue, setFieldValue] = useState(DEFAULT_FIELD_VALUE); const { t } = useTranslation(['chat', 'common']); const { styles } = useStyles(); diff --git a/src/features/ShareModal/ShareText/template.test.ts b/src/features/ShareModal/ShareText/template.test.ts index 6466adef07f..5adf3048e3e 100644 --- a/src/features/ShareModal/ShareText/template.test.ts +++ b/src/features/ShareModal/ShareText/template.test.ts @@ -1,7 +1,7 @@ +import { ChatMessage } from '@lobechat/types'; import { describe, expect, it } from 'vitest'; import { LOADING_FLAT } from '@/const/message'; -import { ChatMessage } from '@/types/message'; import { generateMarkdown } from './template'; diff --git a/src/features/ShareModal/ShareText/template.ts b/src/features/ShareModal/ShareText/template.ts index ba1d4689466..2b66bf64048 100644 --- a/src/features/ShareModal/ShareText/template.ts +++ b/src/features/ShareModal/ShareText/template.ts @@ -1,8 +1,8 @@ +import { ChatMessage } from '@lobechat/types'; import { template } from 'lodash-es'; import { LOADING_FLAT } from '@/const/message'; import { FieldType } from '@/features/ShareModal/ShareText/type'; -import { ChatMessage } from '@/types/message'; const markdownTemplate = template( `# {{title}} diff --git a/src/libs/langchain/loaders/code/__tests__/long.json b/src/libs/langchain/loaders/code/__tests__/long.json index b0c97257e89..cea53cd543d 100644 --- a/src/libs/langchain/loaders/code/__tests__/long.json +++ b/src/libs/langchain/loaders/code/__tests__/long.json @@ -8,7 +8,7 @@ "metadata": { "loc": { "lines": { "from": 8, "to": 22 } } } }, { - "pageContent": "import { traceService } from '@/services/trace';\nimport { useAgentStore } from '@/store/agent';\nimport { agentSelectors } from '@/store/agent/selectors';\nimport { chatHelpers } from '@/store/chat/helpers';\nimport { messageMapKey } from '@/store/chat/slices/message/utils';\nimport { ChatStore } from '@/store/chat/store';\nimport { useSessionStore } from '@/store/session';\nimport { UploadFileItem } from '@/types/files/upload';\nimport {\n ChatMessage,\n ChatMessageError,\n CreateMessageParams,\n MessageToolCall,\n} from '@/types/message';\nimport { TraceEventPayloads } from '@/types/trace';\nimport { setNamespace } from '@/utils/storeDebug';\nimport { nanoid } from '@/utils/uuid';", + "pageContent": "import { traceService } from '@/services/trace';\nimport { useAgentStore } from '@/store/agent';\nimport { agentSelectors } from '@/store/agent/selectors';\nimport { chatHelpers } from '@/store/chat/helpers';\nimport { messageMapKey } from '@/store/chat/slices/message/utils';\nimport { ChatStore } from '@/store/chat/store';\nimport { useSessionStore } from '@/store/session';\nimport { UploadFileItem } from '@/types/files/upload';\nimport {\n ChatMessage,\n ChatMessageError,\n CreateMessageParams,\n MessageToolCall,\n} from '@lobechat/types';\nimport { TraceEventPayloads } from '@/types/trace';\nimport { setNamespace } from '@/utils/storeDebug';\nimport { nanoid } from '@/utils/uuid';", "metadata": { "loc": { "lines": { "from": 16, "to": 32 } } } }, { diff --git a/src/libs/langchain/loaders/code/__tests__/long.txt b/src/libs/langchain/loaders/code/__tests__/long.txt index d161ba9c6a4..4dc13a1987c 100644 --- a/src/libs/langchain/loaders/code/__tests__/long.txt +++ b/src/libs/langchain/loaders/code/__tests__/long.txt @@ -26,7 +26,7 @@ import { ChatMessageError, CreateMessageParams, MessageToolCall, -} from '@/types/message'; +} from '@lobechat/types'; import { TraceEventPayloads } from '@/types/trace'; import { setNamespace } from '@/utils/storeDebug'; import { nanoid } from '@/utils/uuid'; diff --git a/src/server/routers/lambda/__tests__/message.test.ts b/src/server/routers/lambda/__tests__/message.test.ts index 1abc8e4922b..46635d204ed 100644 --- a/src/server/routers/lambda/__tests__/message.test.ts +++ b/src/server/routers/lambda/__tests__/message.test.ts @@ -1,9 +1,8 @@ +import { ChatMessage, CreateMessageParams, UpdateMessageRAGParams } from '@lobechat/types'; import { describe, expect, it, vi } from 'vitest'; import { MessageModel } from '@/database/models/message'; import { FileService } from '@/server/services/file'; -import { ChatMessage, CreateMessageParams } from '@/types/message'; -import { UpdateMessageRAGParams } from '@/types/message/rag'; vi.mock('@/database/models/message', () => ({ MessageModel: vi.fn(), diff --git a/src/server/routers/lambda/message.ts b/src/server/routers/lambda/message.ts index 8bf64f967f7..d894e8406bb 100644 --- a/src/server/routers/lambda/message.ts +++ b/src/server/routers/lambda/message.ts @@ -1,3 +1,4 @@ +import { BatchTaskResult, ChatMessage, UpdateMessageRAGParamsSchema } from '@lobechat/types'; import { z } from 'zod'; import { MessageModel } from '@/database/models/message'; @@ -6,9 +7,6 @@ import { getServerDB } from '@/database/server'; import { authedProcedure, publicProcedure, router } from '@/libs/trpc/lambda'; import { serverDatabase } from '@/libs/trpc/lambda/middleware'; import { FileService } from '@/server/services/file'; -import { ChatMessage } from '@/types/message'; -import { UpdateMessageRAGParamsSchema } from '@/types/message/rag'; -import { BatchTaskResult } from '@/types/service'; type ChatMessageList = ChatMessage[]; diff --git a/src/services/chat/chat.test.ts b/src/services/chat/chat.test.ts index b62701a48bc..262a0708ebf 100644 --- a/src/services/chat/chat.test.ts +++ b/src/services/chat/chat.test.ts @@ -1,4 +1,5 @@ import { LobeTool } from '@lobechat/types'; +import { ChatImageItem, ChatMessage } from '@lobechat/types'; import { LobeChatPluginManifest } from '@lobehub/chat-plugin-sdk'; import { act } from '@testing-library/react'; import { type Mock, afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; @@ -15,7 +16,6 @@ import { modelProviderSelectors } from '@/store/user/selectors'; import { DalleManifest } from '@/tools/dalle'; import { WebBrowsingManifest } from '@/tools/web-browsing'; import { ChatErrorType } from '@/types/index'; -import { ChatImageItem, ChatMessage } from '@/types/message'; import { ChatStreamPayload, type OpenAIChatMessage } from '@/types/openai/chat'; import { API_ENDPOINTS } from '../_url'; diff --git a/src/services/chat/index.ts b/src/services/chat/index.ts index 23bbf50c1e8..3c7f47133f0 100644 --- a/src/services/chat/index.ts +++ b/src/services/chat/index.ts @@ -1,5 +1,5 @@ import { AgentRuntimeError, ChatCompletionErrorPayload } from '@lobechat/model-runtime'; -import { ChatErrorType, TracePayload, TraceTagMap } from '@lobechat/types'; +import { ChatErrorType, TracePayload, TraceTagMap , ChatMessage } from '@lobechat/types'; import { PluginRequestPayload, createHeadersWithPluginSettings } from '@lobehub/chat-plugin-sdk'; import { merge } from 'lodash-es'; import { ModelProvider } from 'model-bank'; @@ -22,11 +22,8 @@ import { userGeneralSettingsSelectors, userProfileSelectors, } from '@/store/user/selectors'; -import { ChatMessage } from '@/types/message'; import type { ChatStreamPayload, OpenAIChatMessage } from '@/types/openai/chat'; -import { - fetchWithInvokeStream, -} from '@/utils/electron/desktopRemoteRPCFetch'; +import { fetchWithInvokeStream } from '@/utils/electron/desktopRemoteRPCFetch'; import { createErrorResponse } from '@/utils/errorResponse'; import { FetchSSEOptions, @@ -279,7 +276,7 @@ class ChatService { if (payload.top_p === null) payload.top_p = undefined; if (payload.presence_penalty === null) payload.presence_penalty = undefined; if (payload.frequency_penalty === null) payload.frequency_penalty = undefined; - + const sdkType = resolveRuntimeProvider(provider); /** diff --git a/src/services/message/_deprecated.test.ts b/src/services/message/_deprecated.test.ts index 5d1a0018d0c..4c8a69f2cd8 100644 --- a/src/services/message/_deprecated.test.ts +++ b/src/services/message/_deprecated.test.ts @@ -1,14 +1,14 @@ -import dayjs from 'dayjs'; -import { Mock, describe, expect, it, vi } from 'vitest'; - -import { CreateMessageParams, MessageModel } from '@/database/_deprecated/models/message'; import { ChatMessage, ChatMessageError, ChatPluginPayload, ChatTTS, ChatTranslate, -} from '@/types/message'; +} from '@lobechat/types'; +import dayjs from 'dayjs'; +import { Mock, describe, expect, it, vi } from 'vitest'; + +import { CreateMessageParams, MessageModel } from '@/database/_deprecated/models/message'; import { ClientService } from './_deprecated'; diff --git a/src/services/message/_deprecated.ts b/src/services/message/_deprecated.ts index 77c815452f3..b62deb89240 100644 --- a/src/services/message/_deprecated.ts +++ b/src/services/message/_deprecated.ts @@ -1,8 +1,3 @@ -import dayjs from 'dayjs'; - -import { FileModel } from '@/database/_deprecated/models/file'; -import { MessageModel } from '@/database/_deprecated/models/message'; -import { DB_Message } from '@/database/_deprecated/schemas/message'; import { ChatFileItem, ChatMessage, @@ -11,7 +6,12 @@ import { ChatTranslate, CreateMessageParams, ModelRankItem, -} from '@/types/message'; +} from '@lobechat/types'; +import dayjs from 'dayjs'; + +import { FileModel } from '@/database/_deprecated/models/file'; +import { MessageModel } from '@/database/_deprecated/models/message'; +import { DB_Message } from '@/database/_deprecated/schemas/message'; import { IMessageService } from './type'; diff --git a/src/services/message/client.test.ts b/src/services/message/client.test.ts index 102993742d2..c8c9ea153de 100644 --- a/src/services/message/client.test.ts +++ b/src/services/message/client.test.ts @@ -1,3 +1,11 @@ +import { + ChatMessage, + ChatMessageError, + ChatTTS, + ChatTranslate, + CreateMessageParams, + MessageItem, +} from '@lobechat/types'; import { and, eq } from 'drizzle-orm'; import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; @@ -12,14 +20,6 @@ import { topics, users, } from '@/database/schemas'; -import { - ChatMessage, - ChatMessageError, - ChatTTS, - ChatTranslate, - CreateMessageParams, - MessageItem, -} from '@/types/message'; import { ClientService } from './client'; diff --git a/src/services/message/client.ts b/src/services/message/client.ts index 8fb107b0e79..0f8fee467e0 100644 --- a/src/services/message/client.ts +++ b/src/services/message/client.ts @@ -1,9 +1,10 @@ +import { ChatMessage } from '@lobechat/types'; + import { INBOX_SESSION_ID } from '@/const/session'; import { clientDB } from '@/database/client/db'; import { MessageModel } from '@/database/models/message'; import { BaseClientService } from '@/services/baseClientService'; import { clientS3Storage } from '@/services/file/ClientS3'; -import { ChatMessage } from '@/types/message'; import { IMessageService } from './type'; diff --git a/src/services/message/server.ts b/src/services/message/server.ts index 7b4b0408f21..94e2d1416e1 100644 --- a/src/services/message/server.ts +++ b/src/services/message/server.ts @@ -1,7 +1,8 @@ /* eslint-disable @typescript-eslint/no-unused-vars */ +import { ChatMessage, ChatTranslate } from '@lobechat/types'; + import { INBOX_SESSION_ID } from '@/const/session'; import { lambdaClient } from '@/libs/trpc/client'; -import { ChatMessage, ChatTranslate } from '@/types/message'; import { IMessageService } from './type'; diff --git a/src/services/message/type.ts b/src/services/message/type.ts index 480f000bd5a..64fee3df43b 100644 --- a/src/services/message/type.ts +++ b/src/services/message/type.ts @@ -1,5 +1,3 @@ -import type { HeatmapsProps } from '@lobehub/charts'; - import { ChatMessage, ChatMessageError, @@ -10,8 +8,9 @@ import { MessageItem, ModelRankItem, UpdateMessageParams, -} from '@/types/message'; -import { UpdateMessageRAGParams } from '@/types/message/rag'; + UpdateMessageRAGParams, +} from '@lobechat/types'; +import type { HeatmapsProps } from '@lobehub/charts'; /* eslint-disable typescript-sort-keys/interface */ diff --git a/src/services/thread/type.ts b/src/services/thread/type.ts index d4ade28f355..cd070c977a5 100644 --- a/src/services/thread/type.ts +++ b/src/services/thread/type.ts @@ -1,5 +1,6 @@ /* eslint-disable typescript-sort-keys/interface */ -import { CreateMessageParams } from '@/types/message'; +import { CreateMessageParams } from '@lobechat/types'; + import { CreateThreadParams, ThreadItem } from '@/types/topic'; interface CreateThreadWithMessageParams extends CreateThreadParams { diff --git a/src/store/chat/helpers.test.ts b/src/store/chat/helpers.test.ts index 4e179eaf879..3f8c3ac28ce 100644 --- a/src/store/chat/helpers.test.ts +++ b/src/store/chat/helpers.test.ts @@ -1,7 +1,7 @@ +import { ChatMessage } from '@lobechat/types'; import { describe, expect, it, vi } from 'vitest'; import { LobeAgentChatConfig, LobeAgentConfig } from '@/types/agent'; -import { ChatMessage } from '@/types/message'; import { OpenAIChatMessage } from '@/types/openai/chat'; import { encodeAsync } from '@/utils/tokenizer'; import * as tokenizerObj from '@/utils/tokenizer'; diff --git a/src/store/chat/helpers.ts b/src/store/chat/helpers.ts index 9813bf44766..58558f3602d 100644 --- a/src/store/chat/helpers.ts +++ b/src/store/chat/helpers.ts @@ -1,4 +1,5 @@ -import { ChatMessage } from '@/types/message'; +import { ChatMessage } from '@lobechat/types'; + import { OpenAIChatMessage } from '@/types/openai/chat'; import { encodeAsync } from '@/utils/tokenizer'; diff --git a/src/store/chat/slices/aiChat/actions/__tests__/fixtures.ts b/src/store/chat/slices/aiChat/actions/__tests__/fixtures.ts index 879faf6c1fc..ca57e3fca7e 100644 --- a/src/store/chat/slices/aiChat/actions/__tests__/fixtures.ts +++ b/src/store/chat/slices/aiChat/actions/__tests__/fixtures.ts @@ -1,5 +1,6 @@ +import { ChatMessage } from '@lobechat/types'; + import { DEFAULT_AGENT_CHAT_CONFIG, DEFAULT_AGENT_CONFIG } from '@/const/settings'; -import { ChatMessage } from '@/types/message'; // Test Constants export const TEST_IDS = { diff --git a/src/store/chat/slices/aiChat/actions/__tests__/generateAIChatV2.test.ts b/src/store/chat/slices/aiChat/actions/__tests__/generateAIChatV2.test.ts index e0e9b5617a2..f9795ff1c8e 100644 --- a/src/store/chat/slices/aiChat/actions/__tests__/generateAIChatV2.test.ts +++ b/src/store/chat/slices/aiChat/actions/__tests__/generateAIChatV2.test.ts @@ -1,3 +1,4 @@ +import { ChatMessage } from '@lobechat/types'; import { act, renderHook } from '@testing-library/react'; import { TRPCClientError } from '@trpc/client'; import { Mock, afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; @@ -7,14 +8,13 @@ import { DEFAULT_AGENT_CHAT_CONFIG, DEFAULT_MODEL, DEFAULT_PROVIDER } from '@/co import { aiChatService } from '@/services/aiChat'; import { chatService } from '@/services/chat'; import { messageService } from '@/services/message'; +import { agentChatConfigSelectors } from '@/store/agent/selectors'; import { UploadFileItem } from '@/types/files/upload'; -import { ChatMessage } from '@/types/message'; import { useChatStore } from '../../../../store'; import { messageMapKey } from '../../../../utils/messageMapKey'; import { TEST_CONTENT, TEST_IDS, createMockStoreState } from './fixtures'; import { resetTestEnvironment, setupMockSelectors, spyOnMessageService } from './helpers'; -import { agentChatConfigSelectors } from '@/store/agent/selectors'; // Keep zustand mock as it's needed globally vi.mock('zustand/traditional'); @@ -587,7 +587,7 @@ describe('generateAIChatV2 actions', () => { expect( result.current.mainSendMessageOperations[ - messageMapKey(TEST_IDS.SESSION_ID, TEST_IDS.TOPIC_ID) + messageMapKey(TEST_IDS.SESSION_ID, TEST_IDS.TOPIC_ID) ], ).toBeUndefined(); }); diff --git a/src/store/chat/slices/aiChat/actions/__tests__/rag.test.ts b/src/store/chat/slices/aiChat/actions/__tests__/rag.test.ts index 0104a83ae89..a29203142a5 100644 --- a/src/store/chat/slices/aiChat/actions/__tests__/rag.test.ts +++ b/src/store/chat/slices/aiChat/actions/__tests__/rag.test.ts @@ -1,3 +1,4 @@ +import { ChatMessage } from '@lobechat/types'; import { act, renderHook } from '@testing-library/react'; import { Mock, beforeEach, describe, expect, it, vi } from 'vitest'; @@ -7,7 +8,6 @@ import { useAgentStore } from '@/store/agent'; import { agentSelectors } from '@/store/agent/selectors'; import { chatSelectors } from '@/store/chat/selectors'; import { systemAgentSelectors } from '@/store/user/selectors'; -import { ChatMessage } from '@/types/message'; import { QueryRewriteSystemAgent } from '@/types/user/settings'; import { useChatStore } from '../../../../store'; diff --git a/src/store/chat/slices/aiChat/actions/generateAIChat.ts b/src/store/chat/slices/aiChat/actions/generateAIChat.ts index 33d7d1289d0..47ae00b8b89 100644 --- a/src/store/chat/slices/aiChat/actions/generateAIChat.ts +++ b/src/store/chat/slices/aiChat/actions/generateAIChat.ts @@ -1,13 +1,20 @@ /* eslint-disable sort-keys-fix/sort-keys-fix, typescript-sort-keys/interface */ // Disable the auto sort key eslint rule to make the code more logic and readable +import { LOADING_FLAT, MESSAGE_CANCEL_FLAT, isDesktop, isServerMode } from '@lobechat/const'; import { knowledgeBaseQAPrompts } from '@lobechat/prompts'; -import { TraceEventType, TraceNameMap } from '@lobechat/types'; +import { + ChatImageItem, + ChatMessage, + CreateMessageParams, + MessageSemanticSearchChunk, + SendMessageParams, + TraceEventType, + TraceNameMap, +} from '@lobechat/types'; import { t } from 'i18next'; import { produce } from 'immer'; import { StateCreator } from 'zustand/vanilla'; -import { LOADING_FLAT, MESSAGE_CANCEL_FLAT } from '@/const/message'; -import { isDesktop, isServerMode } from '@/const/version'; import { chatService } from '@/services/chat'; import { messageService } from '@/services/message'; import { useAgentStore } from '@/store/agent'; @@ -20,9 +27,6 @@ import { messageMapKey } from '@/store/chat/utils/messageMapKey'; import { getFileStoreState } from '@/store/file/store'; import { useSessionStore } from '@/store/session'; import { WebBrowsingManifest } from '@/tools/web-browsing'; -import { ChatMessage, CreateMessageParams, SendMessageParams } from '@/types/message'; -import { ChatImageItem } from '@/types/message/image'; -import { MessageSemanticSearchChunk } from '@/types/rag'; import { Action, setNamespace } from '@/utils/storeDebug'; import { chatSelectors, topicSelectors } from '../../../selectors'; @@ -394,7 +398,8 @@ export const generateAIChat: StateCreator< )(aiInfraStoreState); const useModelBuiltinSearch = agentChatConfigSelectors.useModelBuiltinSearch(agentStoreState); const useModelSearch = - ((isProviderHasBuiltinSearch || isModelHasBuiltinSearch) && useModelBuiltinSearch) || isModelBuiltinSearchInternal; + ((isProviderHasBuiltinSearch || isModelHasBuiltinSearch) && useModelBuiltinSearch) || + isModelBuiltinSearchInternal; const isAgentEnableSearch = agentChatConfigSelectors.isAgentEnableSearch(agentStoreState); if (isAgentEnableSearch && !useModelSearch && !isModelSupportToolUse) { diff --git a/src/store/chat/slices/aiChat/actions/generateAIChatV2.ts b/src/store/chat/slices/aiChat/actions/generateAIChatV2.ts index 1e4f72161a3..12e0eb20845 100644 --- a/src/store/chat/slices/aiChat/actions/generateAIChatV2.ts +++ b/src/store/chat/slices/aiChat/actions/generateAIChatV2.ts @@ -1,10 +1,12 @@ /* eslint-disable sort-keys-fix/sort-keys-fix, typescript-sort-keys/interface */ // Disable the auto sort key eslint rule to make the code more logic and readable -import { INBOX_SESSION_ID, isDesktop } from '@lobechat/const'; +import { DEFAULT_AGENT_CHAT_CONFIG, INBOX_SESSION_ID, isDesktop } from '@lobechat/const'; import { knowledgeBaseQAPrompts } from '@lobechat/prompts'; import { + ChatImageItem, ChatMessage, ChatTopic, + ChatVideoItem, MessageSemanticSearchChunk, SendMessageParams, SendMessageServerResponse, @@ -15,7 +17,6 @@ import { t } from 'i18next'; import { produce } from 'immer'; import { StateCreator } from 'zustand/vanilla'; -import { DEFAULT_AGENT_CHAT_CONFIG } from '@/const/settings'; import { aiChatService } from '@/services/aiChat'; import { chatService } from '@/services/chat'; import { messageService } from '@/services/message'; @@ -27,8 +28,6 @@ import type { ChatStore } from '@/store/chat/store'; import { getFileStoreState } from '@/store/file/store'; import { getSessionStoreState } from '@/store/session'; import { WebBrowsingManifest } from '@/tools/web-browsing'; -import { ChatImageItem } from '@/types/message/image'; -import { ChatVideoItem } from '@/types/message/video'; import { setNamespace } from '@/utils/storeDebug'; import { chatSelectors, topicSelectors } from '../../../selectors'; diff --git a/src/store/chat/slices/aiChat/actions/generateAIGroupChat.ts b/src/store/chat/slices/aiChat/actions/generateAIGroupChat.ts index bde7626ea13..4c9857719c8 100644 --- a/src/store/chat/slices/aiChat/actions/generateAIGroupChat.ts +++ b/src/store/chat/slices/aiChat/actions/generateAIGroupChat.ts @@ -5,6 +5,7 @@ import { buildGroupChatSystemPrompt, filterMessagesForAgent, } from '@lobechat/prompts'; +import { ChatMessage, CreateMessageParams, SendGroupMessageParams } from '@lobechat/types'; import { produce } from 'immer'; import { StateCreator } from 'zustand/vanilla'; @@ -17,7 +18,6 @@ import { sessionSelectors } from '@/store/session/selectors'; import { userProfileSelectors } from '@/store/user/selectors'; import { getUserStoreState } from '@/store/user/store'; import { ChatErrorType } from '@/types/fetch'; -import { ChatMessage, CreateMessageParams, SendGroupMessageParams } from '@/types/message'; import { merge } from '@/utils/merge'; import { setNamespace } from '@/utils/storeDebug'; diff --git a/src/store/chat/slices/aiChat/actions/memory.ts b/src/store/chat/slices/aiChat/actions/memory.ts index 25ff60ac0f9..cf047febbdf 100644 --- a/src/store/chat/slices/aiChat/actions/memory.ts +++ b/src/store/chat/slices/aiChat/actions/memory.ts @@ -1,5 +1,5 @@ import { chainSummaryHistory } from '@lobechat/prompts'; -import { TraceNameMap } from '@lobechat/types'; +import { TraceNameMap , ChatMessage } from '@lobechat/types'; import { StateCreator } from 'zustand/vanilla'; import { chatService } from '@/services/chat'; @@ -7,7 +7,6 @@ import { topicService } from '@/services/topic'; import { ChatStore } from '@/store/chat'; import { useUserStore } from '@/store/user'; import { systemAgentSelectors } from '@/store/user/selectors'; -import { ChatMessage } from '@/types/message'; export interface ChatMemoryAction { internal_summaryHistory: (messages: ChatMessage[]) => Promise; diff --git a/src/store/chat/slices/builtinTool/actions/__tests__/search.test.ts b/src/store/chat/slices/builtinTool/actions/__tests__/search.test.ts index c400fe18727..641e7fae552 100644 --- a/src/store/chat/slices/builtinTool/actions/__tests__/search.test.ts +++ b/src/store/chat/slices/builtinTool/actions/__tests__/search.test.ts @@ -1,5 +1,6 @@ import { crawlResultsPrompt, searchResultsPrompt } from '@lobechat/prompts'; import { SearchContent, SearchQuery, UniformSearchResponse } from '@lobechat/types'; +import { ChatMessage } from '@lobechat/types'; import { act, renderHook } from '@testing-library/react'; import { Mock, beforeEach, describe, expect, it, vi } from 'vitest'; @@ -7,7 +8,6 @@ import { searchService } from '@/services/search'; import { useChatStore } from '@/store/chat'; import { chatSelectors } from '@/store/chat/selectors'; import { CRAWL_CONTENT_LIMITED_COUNT } from '@/tools/web-browsing/const'; -import { ChatMessage } from '@/types/message'; // Mock services vi.mock('@/services/search', () => ({ diff --git a/src/store/chat/slices/message/action.test.ts b/src/store/chat/slices/message/action.test.ts index fe0c687b3a5..b17f961e135 100644 --- a/src/store/chat/slices/message/action.test.ts +++ b/src/store/chat/slices/message/action.test.ts @@ -1,4 +1,5 @@ import { TraceEventType } from '@lobechat/types'; +import { ChatMessage } from '@lobechat/types'; import * as lobeUIModules from '@lobehub/ui'; import { act, renderHook, waitFor } from '@testing-library/react'; import { mutate } from 'swr'; @@ -7,7 +8,6 @@ import { Mock, afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; import { messageService } from '@/services/message'; import { topicService } from '@/services/topic'; import { messageMapKey } from '@/store/chat/utils/messageMapKey'; -import { ChatMessage } from '@/types/message'; import { useChatStore } from '../../store'; diff --git a/src/store/chat/slices/message/action.ts b/src/store/chat/slices/message/action.ts index b9ee51ea9d7..c792883cad1 100644 --- a/src/store/chat/slices/message/action.ts +++ b/src/store/chat/slices/message/action.ts @@ -1,6 +1,21 @@ /* eslint-disable sort-keys-fix/sort-keys-fix, typescript-sort-keys/interface */ // Disable the auto sort key eslint rule to make the code more logic and readable -import { ChatErrorType, TraceEventType } from '@lobechat/types'; +import { + ChatErrorType, + ChatImageItem, + ChatMessage, + ChatMessageError, + ChatMessagePluginError, + CreateMessageParams, + GroundingSearch, + MessageMetadata, + MessageToolCall, + ModelReasoning, + TraceEventPayloads, + TraceEventType, + UpdateMessageRAGParams, +} from '@lobechat/types'; +import { nanoid } from '@lobechat/utils'; import { copyToClipboard } from '@lobehub/ui'; import isEqual from 'fast-deep-equal'; import { SWRResponse, mutate } from 'swr'; @@ -14,21 +29,7 @@ import { ChatStore } from '@/store/chat/store'; import { messageMapKey } from '@/store/chat/utils/messageMapKey'; import { useSessionStore } from '@/store/session'; import { sessionSelectors } from '@/store/session/selectors'; -import { - ChatMessage, - ChatMessageError, - ChatMessagePluginError, - CreateMessageParams, - MessageMetadata, - MessageToolCall, - ModelReasoning, -} from '@/types/message'; -import { ChatImageItem } from '@/types/message/image'; -import { UpdateMessageRAGParams } from '@/types/message/rag'; -import { GroundingSearch } from '@/types/search'; -import { TraceEventPayloads } from '@/types/trace'; import { Action, setNamespace } from '@/utils/storeDebug'; -import { nanoid } from '@/utils/uuid'; import type { ChatStoreState } from '../../initialState'; import { chatSelectors } from '../../selectors'; diff --git a/src/store/chat/slices/message/initialState.ts b/src/store/chat/slices/message/initialState.ts index af059c6b88b..76718814d26 100644 --- a/src/store/chat/slices/message/initialState.ts +++ b/src/store/chat/slices/message/initialState.ts @@ -1,5 +1,6 @@ +import { ChatMessage } from '@lobechat/types'; + import { ChatGroupAgentItem, ChatGroupItem } from '@/database/schemas/chatGroup'; -import { ChatMessage } from '@/types/message'; import type { SupervisorTodoItem } from './supervisor'; diff --git a/src/store/chat/slices/message/reducer.test.ts b/src/store/chat/slices/message/reducer.test.ts index abe1c0445a7..23732091d81 100644 --- a/src/store/chat/slices/message/reducer.test.ts +++ b/src/store/chat/slices/message/reducer.test.ts @@ -1,4 +1,4 @@ -import { ChatMessage, ChatToolPayload } from '@/types/message'; +import { ChatMessage, ChatToolPayload } from '@lobechat/types'; import { MessageDispatch, messagesReducer } from './reducer'; diff --git a/src/store/chat/slices/message/reducer.ts b/src/store/chat/slices/message/reducer.ts index d75d8d6bcf4..4a09e504393 100644 --- a/src/store/chat/slices/message/reducer.ts +++ b/src/store/chat/slices/message/reducer.ts @@ -1,13 +1,13 @@ -import isEqual from 'fast-deep-equal'; -import { produce } from 'immer'; - import { ChatMessage, ChatMessageExtra, ChatPluginPayload, ChatToolPayload, CreateMessageParams, -} from '@/types/message'; +} from '@lobechat/types'; +import isEqual from 'fast-deep-equal'; +import { produce } from 'immer'; + import { merge } from '@/utils/merge'; interface UpdateMessages { diff --git a/src/store/chat/slices/message/selectors.test.ts b/src/store/chat/slices/message/selectors.test.ts index 9615ad63dbd..ee6c6f7a0f4 100644 --- a/src/store/chat/slices/message/selectors.test.ts +++ b/src/store/chat/slices/message/selectors.test.ts @@ -1,3 +1,4 @@ +import { ChatMessage } from '@lobechat/types'; import { act } from '@testing-library/react'; import { describe, expect, it } from 'vitest'; @@ -9,7 +10,6 @@ import { initialState } from '@/store/chat/initialState'; import { messageMapKey } from '@/store/chat/utils/messageMapKey'; import { createServerConfigStore } from '@/store/serverConfig/store'; import { LobeAgentConfig } from '@/types/agent'; -import { ChatMessage } from '@/types/message'; import { merge } from '@/utils/merge'; import { chatSelectors } from './selectors'; diff --git a/src/store/chat/slices/message/selectors.ts b/src/store/chat/slices/message/selectors.ts index e76928ada0f..ed694ac2fa6 100644 --- a/src/store/chat/slices/message/selectors.ts +++ b/src/store/chat/slices/message/selectors.ts @@ -1,3 +1,5 @@ +import { ChatFileItem, ChatMessage } from '@lobechat/types'; + import { DEFAULT_USER_AVATAR } from '@/const/meta'; import { INBOX_SESSION_ID } from '@/const/session'; import { useAgentStore } from '@/store/agent'; @@ -7,7 +9,6 @@ import { useSessionStore } from '@/store/session'; import { sessionMetaSelectors } from '@/store/session/selectors'; import { useUserStore } from '@/store/user'; import { userProfileSelectors } from '@/store/user/selectors'; -import { ChatFileItem, ChatMessage } from '@/types/message'; import { chatHelpers } from '../../helpers'; import type { ChatStoreState } from '../../initialState'; diff --git a/src/store/chat/slices/plugin/action.test.ts b/src/store/chat/slices/plugin/action.test.ts index 1517c976004..f8d1a0eb2fd 100644 --- a/src/store/chat/slices/plugin/action.test.ts +++ b/src/store/chat/slices/plugin/action.test.ts @@ -1,4 +1,5 @@ import { ToolNameResolver } from '@lobechat/context-engine'; +import { ChatMessage, ChatToolPayload, MessageToolCall } from '@lobechat/types'; import { act, renderHook } from '@testing-library/react'; import { Mock, afterEach, describe, expect, it, vi } from 'vitest'; @@ -11,7 +12,6 @@ import { chatSelectors } from '@/store/chat/selectors'; import { useChatStore } from '@/store/chat/store'; import { messageMapKey } from '@/store/chat/utils/messageMapKey'; import { useToolStore } from '@/store/tool'; -import { ChatMessage, ChatToolPayload, MessageToolCall } from '@/types/message'; const invokeStandaloneTypePlugin = useChatStore.getState().invokeStandaloneTypePlugin; diff --git a/src/store/chat/slices/plugin/action.ts b/src/store/chat/slices/plugin/action.ts index 711bad152b4..06690013d9f 100644 --- a/src/store/chat/slices/plugin/action.ts +++ b/src/store/chat/slices/plugin/action.ts @@ -1,6 +1,13 @@ /* eslint-disable sort-keys-fix/sort-keys-fix, typescript-sort-keys/interface */ import { ToolNameResolver } from '@lobechat/context-engine'; -import { ChatErrorType } from '@lobechat/types'; +import { ChatErrorType , + ChatMessage, + ChatMessageError, + ChatToolPayload, + CreateMessageParams, + MessageToolCall, + ToolsCallingContext, +} from '@lobechat/types'; import { LobeChatPluginManifest, PluginErrorType } from '@lobehub/chat-plugin-sdk'; import isEqual from 'fast-deep-equal'; import { t } from 'i18next'; @@ -14,14 +21,6 @@ import { ChatStore } from '@/store/chat/store'; import { useToolStore } from '@/store/tool'; import { pluginSelectors } from '@/store/tool/selectors'; import { builtinTools } from '@/tools'; -import { - ChatMessage, - ChatMessageError, - ChatToolPayload, - CreateMessageParams, - MessageToolCall, - ToolsCallingContext, -} from '@/types/message'; import { merge } from '@/utils/merge'; import { safeParseJSON } from '@/utils/safeParseJSON'; import { setNamespace } from '@/utils/storeDebug'; diff --git a/src/store/chat/slices/portal/selectors.test.ts b/src/store/chat/slices/portal/selectors.test.ts index f8be90532d5..a05742dcf21 100644 --- a/src/store/chat/slices/portal/selectors.test.ts +++ b/src/store/chat/slices/portal/selectors.test.ts @@ -1,7 +1,7 @@ +import { ChatMessage } from '@lobechat/types'; import { describe, expect, it } from 'vitest'; import type { ChatStoreState } from '@/store/chat'; -import { ChatMessage } from '@/types/message'; import { chatPortalSelectors } from './selectors'; diff --git a/src/store/chat/slices/share/action.test.ts b/src/store/chat/slices/share/action.test.ts index 7a1d4cf8413..a58d383db59 100644 --- a/src/store/chat/slices/share/action.test.ts +++ b/src/store/chat/slices/share/action.test.ts @@ -1,10 +1,10 @@ +import { ChatMessage } from '@lobechat/types'; import { act, renderHook } from '@testing-library/react'; import { DEFAULT_USER_AVATAR_URL } from '@/const/meta'; import { shareService } from '@/services/share'; import { useChatStore } from '@/store/chat'; import { messageMapKey } from '@/store/chat/utils/messageMapKey'; -import { ChatMessage } from '@/types/message'; afterEach(() => { vi.restoreAllMocks(); diff --git a/src/store/chat/slices/thread/action.test.ts b/src/store/chat/slices/thread/action.test.ts index 13c0c6dcad9..5df2d3848fc 100644 --- a/src/store/chat/slices/thread/action.test.ts +++ b/src/store/chat/slices/thread/action.test.ts @@ -1,3 +1,4 @@ +import { ChatMessage } from '@lobechat/types'; import { act, renderHook, waitFor } from '@testing-library/react'; import { mutate } from 'swr'; import { Mock, afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; @@ -7,7 +8,6 @@ import { chatService } from '@/services/chat'; import { threadService } from '@/services/thread'; import { messageMapKey } from '@/store/chat/utils/messageMapKey'; import { useSessionStore } from '@/store/session'; -import { ChatMessage } from '@/types/message'; import { ThreadItem, ThreadStatus, ThreadType } from '@/types/topic'; import { useChatStore } from '../../store'; diff --git a/src/store/chat/slices/thread/action.ts b/src/store/chat/slices/thread/action.ts index b883754ddaf..8c35a8e01d6 100644 --- a/src/store/chat/slices/thread/action.ts +++ b/src/store/chat/slices/thread/action.ts @@ -1,6 +1,7 @@ /* eslint-disable sort-keys-fix/sort-keys-fix, typescript-sort-keys/interface */ // Disable the auto sort key eslint rule to make the code more logic and readable import { chainSummaryTitle } from '@lobechat/prompts'; +import { ChatMessage, CreateMessageParams, SendThreadMessageParams } from '@lobechat/types'; import isEqual from 'fast-deep-equal'; import { SWRResponse, mutate } from 'swr'; import { StateCreator } from 'zustand/vanilla'; @@ -16,7 +17,6 @@ import { globalHelpers } from '@/store/global/helpers'; import { useSessionStore } from '@/store/session'; import { useUserStore } from '@/store/user'; import { systemAgentSelectors } from '@/store/user/selectors'; -import { ChatMessage, CreateMessageParams, SendThreadMessageParams } from '@/types/message'; import { ThreadItem, ThreadType } from '@/types/topic'; import { merge } from '@/utils/merge'; import { setNamespace } from '@/utils/storeDebug'; diff --git a/src/store/chat/slices/thread/selectors/index.ts b/src/store/chat/slices/thread/selectors/index.ts index 6c11ed82ab0..c51fff9cf2c 100644 --- a/src/store/chat/slices/thread/selectors/index.ts +++ b/src/store/chat/slices/thread/selectors/index.ts @@ -1,9 +1,10 @@ +import { ChatMessage } from '@lobechat/types'; + import { THREAD_DRAFT_ID } from '@/const/message'; import { useAgentStore } from '@/store/agent'; import { agentChatConfigSelectors } from '@/store/agent/selectors'; import type { ChatStoreState } from '@/store/chat'; import { chatHelpers } from '@/store/chat/helpers'; -import { ChatMessage } from '@/types/message'; import { ThreadItem } from '@/types/topic'; import { chatSelectors } from '../../message/selectors'; diff --git a/src/store/chat/slices/thread/selectors/util.ts b/src/store/chat/slices/thread/selectors/util.ts index 56fb3c8008d..9b5febfa4fe 100644 --- a/src/store/chat/slices/thread/selectors/util.ts +++ b/src/store/chat/slices/thread/selectors/util.ts @@ -1,4 +1,5 @@ -import { ChatMessage } from '@/types/message'; +import { ChatMessage } from '@lobechat/types'; + import { ThreadType } from '@/types/topic'; export const genMessage = ( diff --git a/src/store/chat/slices/topic/action.test.ts b/src/store/chat/slices/topic/action.test.ts index 5eeaf8fff9c..9848e5464ad 100644 --- a/src/store/chat/slices/topic/action.test.ts +++ b/src/store/chat/slices/topic/action.test.ts @@ -1,3 +1,4 @@ +import { ChatMessage } from '@lobechat/types'; import { act, renderHook, waitFor } from '@testing-library/react'; import { mutate } from 'swr'; import { Mock, afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; @@ -8,7 +9,6 @@ import { messageService } from '@/services/message'; import { topicService } from '@/services/topic'; import { messageMapKey } from '@/store/chat/utils/messageMapKey'; import { useSessionStore } from '@/store/session'; -import { ChatMessage } from '@/types/message'; import { LobeSessionType } from '@/types/session'; import { ChatTopic } from '@/types/topic'; diff --git a/src/store/chat/slices/topic/action.ts b/src/store/chat/slices/topic/action.ts index 89e2cef7d44..ed1752d2567 100644 --- a/src/store/chat/slices/topic/action.ts +++ b/src/store/chat/slices/topic/action.ts @@ -2,7 +2,7 @@ // Note: To make the code more logic and readable, we just disable the auto sort key eslint rule // DON'T REMOVE THE FIRST LINE import { chainSummaryTitle } from '@lobechat/prompts'; -import { TraceNameMap } from '@lobechat/types'; +import { TraceNameMap , ChatMessage } from '@lobechat/types'; import isEqual from 'fast-deep-equal'; import { t } from 'i18next'; import { produce } from 'immer'; @@ -24,7 +24,6 @@ import { useSessionStore } from '@/store/session'; import { sessionSelectors } from '@/store/session/selectors'; import { useUserStore } from '@/store/user'; import { systemAgentSelectors } from '@/store/user/selectors'; -import { ChatMessage } from '@/types/message'; import { ChatTopic } from '@/types/topic'; import { merge } from '@/utils/merge'; import { setNamespace } from '@/utils/storeDebug'; diff --git a/src/store/chat/slices/translate/action.ts b/src/store/chat/slices/translate/action.ts index f8b5c24ff2a..84dd0d9ca40 100644 --- a/src/store/chat/slices/translate/action.ts +++ b/src/store/chat/slices/translate/action.ts @@ -1,5 +1,5 @@ -import { chainLangDetect , chainTranslate } from '@lobechat/prompts'; -import { TraceNameMap, TracePayload } from '@lobechat/types'; +import { chainLangDetect, chainTranslate } from '@lobechat/prompts'; +import { TraceNameMap, TracePayload , ChatTranslate } from '@lobechat/types'; import { produce } from 'immer'; import { StateCreator } from 'zustand/vanilla'; @@ -10,7 +10,6 @@ import { chatSelectors } from '@/store/chat/selectors'; import { ChatStore } from '@/store/chat/store'; import { useUserStore } from '@/store/user'; import { systemAgentSelectors } from '@/store/user/selectors'; -import { ChatTranslate } from '@/types/message'; import { merge } from '@/utils/merge'; import { setNamespace } from '@/utils/storeDebug'; diff --git a/src/store/chat/slices/tts/action.ts b/src/store/chat/slices/tts/action.ts index 4ff0a2d603c..20e55bebd42 100644 --- a/src/store/chat/slices/tts/action.ts +++ b/src/store/chat/slices/tts/action.ts @@ -1,8 +1,8 @@ +import { ChatTTS } from '@lobechat/types'; import { StateCreator } from 'zustand/vanilla'; import { messageService } from '@/services/message'; import { ChatStore } from '@/store/chat/store'; -import { ChatTTS } from '@/types/message'; /** * enhance chat action like translate,tts diff --git a/src/tools/local-system/Render/ListFiles/Result.tsx b/src/tools/local-system/Render/ListFiles/Result.tsx index 9aeaf1daad1..54dc039e3f8 100644 --- a/src/tools/local-system/Render/ListFiles/Result.tsx +++ b/src/tools/local-system/Render/ListFiles/Result.tsx @@ -1,4 +1,5 @@ import { LocalFileItem } from '@lobechat/electron-client-ipc'; +import { ChatMessagePluginError } from '@lobechat/types'; import { Skeleton } from 'antd'; import { memo } from 'react'; import { Flexbox } from 'react-layout-kit'; @@ -6,7 +7,6 @@ import { Flexbox } from 'react-layout-kit'; import { useChatStore } from '@/store/chat'; import { chatToolSelectors } from '@/store/chat/selectors'; import FileItem from '@/tools/local-system/components/FileItem'; -import { ChatMessagePluginError } from '@/types/message'; interface SearchFilesProps { listResults?: LocalFileItem[]; diff --git a/src/tools/local-system/Render/ListFiles/index.tsx b/src/tools/local-system/Render/ListFiles/index.tsx index 8b8fa68867b..8e084b5904e 100644 --- a/src/tools/local-system/Render/ListFiles/index.tsx +++ b/src/tools/local-system/Render/ListFiles/index.tsx @@ -1,9 +1,9 @@ import { ListLocalFileParams } from '@lobechat/electron-client-ipc'; +import { ChatMessagePluginError } from '@lobechat/types'; import React, { memo } from 'react'; import { LocalFolder } from '@/features/LocalFile'; import { LocalFileListState } from '@/tools/local-system/type'; -import { ChatMessagePluginError } from '@/types/message'; import SearchResult from './Result'; diff --git a/src/tools/local-system/Render/ReadLocalFile/index.tsx b/src/tools/local-system/Render/ReadLocalFile/index.tsx index 511b30b89d7..e3a24416e1e 100644 --- a/src/tools/local-system/Render/ReadLocalFile/index.tsx +++ b/src/tools/local-system/Render/ReadLocalFile/index.tsx @@ -1,10 +1,10 @@ import { LocalReadFileParams } from '@lobechat/electron-client-ipc'; +import { ChatMessagePluginError } from '@lobechat/types'; import { memo } from 'react'; import { useChatStore } from '@/store/chat'; import { chatToolSelectors } from '@/store/chat/slices/builtinTool/selectors'; import { LocalReadFileState } from '@/tools/local-system/type'; -import { ChatMessagePluginError } from '@/types/message'; import ReadFileSkeleton from './ReadFileSkeleton'; import ReadFileView from './ReadFileView'; diff --git a/src/tools/local-system/Render/RenameLocalFile/index.tsx b/src/tools/local-system/Render/RenameLocalFile/index.tsx index 95067ec2e20..aea1eb37fe6 100644 --- a/src/tools/local-system/Render/RenameLocalFile/index.tsx +++ b/src/tools/local-system/Render/RenameLocalFile/index.tsx @@ -1,4 +1,5 @@ import { RenameLocalFileParams } from '@lobechat/electron-client-ipc'; +import { ChatMessagePluginError } from '@lobechat/types'; import { Icon } from '@lobehub/ui'; import { createStyles } from 'antd-style'; import { ArrowRightIcon } from 'lucide-react'; @@ -8,7 +9,6 @@ import { Flexbox } from 'react-layout-kit'; import { LocalFile } from '@/features/LocalFile'; import { LocalReadFileState } from '@/tools/local-system/type'; -import { ChatMessagePluginError } from '@/types/message'; const useStyles = createStyles(({ css, token }) => ({ container: css` diff --git a/src/tools/local-system/Render/RunCommand/index.tsx b/src/tools/local-system/Render/RunCommand/index.tsx index 98e6cfeee4d..1d0f51e62fe 100644 --- a/src/tools/local-system/Render/RunCommand/index.tsx +++ b/src/tools/local-system/Render/RunCommand/index.tsx @@ -1,10 +1,10 @@ import { RunCommandParams } from '@lobechat/electron-client-ipc'; +import { ChatMessagePluginError } from '@lobechat/types'; import { Terminal } from '@xterm/xterm'; import '@xterm/xterm/css/xterm.css'; import { memo, useEffect, useRef } from 'react'; import { LocalReadFileState } from '@/tools/local-system/type'; -import { ChatMessagePluginError } from '@/types/message'; interface RunCommandProps { args: RunCommandParams; diff --git a/src/tools/local-system/Render/SearchFiles/index.tsx b/src/tools/local-system/Render/SearchFiles/index.tsx index 055fe33d4a8..d2cab748484 100644 --- a/src/tools/local-system/Render/SearchFiles/index.tsx +++ b/src/tools/local-system/Render/SearchFiles/index.tsx @@ -1,9 +1,9 @@ import { LocalSearchFilesParams } from '@lobechat/electron-client-ipc'; +import { ChatMessagePluginError } from '@lobechat/types'; import { memo } from 'react'; import { Flexbox } from 'react-layout-kit'; import { LocalFileSearchState } from '@/tools/local-system/type'; -import { ChatMessagePluginError } from '@/types/message'; import SearchResult from './Result'; import SearchQuery from './SearchQuery'; diff --git a/src/tools/local-system/Render/WriteFile/index.tsx b/src/tools/local-system/Render/WriteFile/index.tsx index 6ed3c9dbdac..29593726e6d 100644 --- a/src/tools/local-system/Render/WriteFile/index.tsx +++ b/src/tools/local-system/Render/WriteFile/index.tsx @@ -1,4 +1,5 @@ import { WriteLocalFileParams } from '@lobechat/electron-client-ipc'; +import { ChatMessagePluginError } from '@lobechat/types'; import { Icon } from '@lobehub/ui'; import { Skeleton } from 'antd'; import { ChevronRight } from 'lucide-react'; @@ -7,7 +8,6 @@ import { memo } from 'react'; import { Flexbox } from 'react-layout-kit'; import { LocalFile, LocalFolder } from '@/features/LocalFile'; -import { ChatMessagePluginError } from '@/types/message'; interface WriteFileProps { args: WriteLocalFileParams; diff --git a/src/tools/web-browsing/Render/Search/index.tsx b/src/tools/web-browsing/Render/Search/index.tsx index 989b3206b57..c493bd5ec62 100644 --- a/src/tools/web-browsing/Render/Search/index.tsx +++ b/src/tools/web-browsing/Render/Search/index.tsx @@ -1,10 +1,8 @@ -import { SearchQuery, UniformSearchResponse } from '@lobechat/types'; +import { SearchQuery, UniformSearchResponse , ChatMessagePluginError } from '@lobechat/types'; import { Alert, Highlighter } from '@lobehub/ui'; import { memo, useState } from 'react'; import { Flexbox } from 'react-layout-kit'; -import { ChatMessagePluginError } from '@/types/message'; - import ConfigForm from './ConfigForm'; import SearchQueryView from './SearchQuery'; import SearchResult from './SearchResult'; From 2558b319639193d14a47e1272fc3ce6ef992c381 Mon Sep 17 00:00:00 2001 From: lobehubbot Date: Sat, 25 Oct 2025 16:24:48 +0000 Subject: [PATCH 2/2] =?UTF-8?q?=F0=9F=93=9D=20docs(bot):=20Auto=20sync=20a?= =?UTF-8?q?gents=20&=20plugin=20to=20readme?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- README.zh-CN.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 55ca3c87e2d..a79dd7a4785 100644 --- a/README.md +++ b/README.md @@ -389,7 +389,7 @@ In addition, these plugins are not limited to news aggregation, but can also ext | [Bing_websearch](https://lobechat.com/discover/plugin/Bingsearch-identifier)
By **FineHow** on **2024-12-22** | Search for information from the internet base BingApi
`bingsearch` | | [Google CSE](https://lobechat.com/discover/plugin/google-cse)
By **vsnthdev** on **2024-12-02** | Searches Google through their official CSE API.
`web` `search` | -> 📊 Total plugins: [**42**](https://lobechat.com/discover/plugins) +> 📊 Total plugins: [**41**](https://lobechat.com/discover/plugins) diff --git a/README.zh-CN.md b/README.zh-CN.md index 97959575e38..d3576ee4f60 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -382,7 +382,7 @@ LobeChat 的插件生态系统是其核心功能的重要扩展,它极大地 | [必应网页搜索](https://lobechat.com/discover/plugin/Bingsearch-identifier)
By **FineHow** on **2024-12-22** | 通过 BingApi 搜索互联网上的信息
`bingsearch` | | [谷歌自定义搜索引擎](https://lobechat.com/discover/plugin/google-cse)
By **vsnthdev** on **2024-12-02** | 通过他们的官方自定义搜索引擎 API 搜索谷歌。
`网络` `搜索` | -> 📊 Total plugins: [**42**](https://lobechat.com/discover/plugins) +> 📊 Total plugins: [**41**](https://lobechat.com/discover/plugins)