@lobehub/chat 1.77.2 → 1.77.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +58 -0
- package/changelog/v1.json +18 -0
- package/docs/self-hosting/environment-variables/model-provider.mdx +1 -1
- package/docs/self-hosting/environment-variables/model-provider.zh-CN.mdx +1 -1
- package/package.json +3 -3
- package/packages/electron-server-ipc/README.md +54 -0
- package/packages/electron-server-ipc/package.json +7 -0
- package/packages/electron-server-ipc/src/const.ts +5 -0
- package/packages/electron-server-ipc/src/index.ts +3 -0
- package/packages/electron-server-ipc/src/ipcClient.test.ts +211 -0
- package/packages/electron-server-ipc/src/ipcClient.ts +179 -0
- package/packages/electron-server-ipc/src/ipcServer.ts +126 -0
- package/packages/electron-server-ipc/src/types/event.ts +18 -0
- package/packages/electron-server-ipc/src/types/index.ts +1 -0
- package/scripts/migrateServerDB/index.ts +1 -1
- package/src/app/[variants]/(main)/repos/[id]/@menu/default.tsx +1 -1
- package/src/app/[variants]/(main)/repos/[id]/page.tsx +1 -1
- package/src/components/Branding/ProductLogo/index.tsx +3 -3
- package/src/database/core/db-adaptor.ts +6 -0
- package/src/database/{server/core → core}/dbForTest.ts +2 -2
- package/src/database/{server/core/db.ts → core/web-server.ts} +4 -5
- package/src/database/models/__tests__/_test_template.ts +4 -3
- package/src/database/models/__tests__/_util.ts +2 -2
- package/src/database/models/__tests__/agent.test.ts +1 -1
- package/src/database/models/__tests__/aiModel.test.ts +1 -1
- package/src/database/models/__tests__/aiProvider.test.ts +1 -1
- package/src/database/models/__tests__/asyncTask.test.ts +1 -1
- package/src/database/models/__tests__/chunk.test.ts +1 -1
- package/src/database/models/__tests__/file.test.ts +1 -1
- package/src/database/models/__tests__/knowledgeBase.test.ts +1 -1
- package/src/database/models/__tests__/message.test.ts +1 -1
- package/src/database/models/__tests__/plugin.test.ts +1 -1
- package/src/database/models/__tests__/session.test.ts +1 -2
- package/src/database/models/__tests__/sessionGroup.test.ts +1 -1
- package/src/database/models/__tests__/topic.test.ts +1 -1
- package/src/database/{server/models → models}/_template.ts +1 -1
- package/src/database/{server/models → models}/aiModel.ts +1 -1
- package/src/database/{server/models → models}/aiProvider.ts +1 -1
- package/src/database/{server/models → models}/asyncTask.ts +1 -1
- package/src/database/{server/models → models}/chunk.ts +1 -1
- package/src/database/{server/models → models}/embedding.ts +1 -1
- package/src/database/{server/models → models}/file.ts +1 -1
- package/src/database/{server/models → models}/knowledgeBase.ts +1 -1
- package/src/database/{server/models → models}/message.ts +1 -1
- package/src/database/{server/models → models}/plugin.ts +11 -4
- package/src/database/{server/models → models}/session.ts +1 -1
- package/src/database/{server/models → models}/sessionGroup.ts +1 -1
- package/src/database/{server/models → models}/thread.ts +1 -1
- package/src/database/{server/models → models}/topic.ts +1 -1
- package/src/database/{server/models → models}/user.ts +1 -1
- package/src/database/repositories/aiInfra/index.ts +2 -2
- package/src/database/repositories/dataImporter/deprecated/__tests__/index.test.ts +1 -1
- package/src/database/server/index.ts +1 -1
- package/src/database/server/models/__tests__/nextauth.test.ts +1 -1
- package/src/database/server/models/__tests__/user.test.ts +3 -3
- package/src/libs/next-auth/adapter/index.ts +1 -1
- package/src/libs/trpc/async/asyncAuth.ts +1 -1
- package/src/server/routers/async/file.ts +4 -4
- package/src/server/routers/async/ragEval.ts +3 -3
- package/src/server/routers/lambda/_template.ts +1 -1
- package/src/server/routers/lambda/agent.test.ts +10 -10
- package/src/server/routers/lambda/agent.ts +5 -5
- package/src/server/routers/lambda/aiModel.test.ts +4 -4
- package/src/server/routers/lambda/aiModel.ts +2 -2
- package/src/server/routers/lambda/aiProvider.test.ts +4 -4
- package/src/server/routers/lambda/aiProvider.ts +2 -2
- package/src/server/routers/lambda/chunk.ts +5 -5
- package/src/server/routers/lambda/file.ts +3 -3
- package/src/server/routers/lambda/knowledgeBase.ts +1 -1
- package/src/server/routers/lambda/message.ts +1 -1
- package/src/server/routers/lambda/plugin.ts +1 -1
- package/src/server/routers/lambda/ragEval.ts +1 -1
- package/src/server/routers/lambda/session.ts +2 -2
- package/src/server/routers/lambda/sessionGroup.ts +1 -1
- package/src/server/routers/lambda/thread.ts +2 -2
- package/src/server/routers/lambda/topic.ts +1 -1
- package/src/server/routers/lambda/user.test.ts +6 -6
- package/src/server/routers/lambda/user.ts +3 -3
- package/src/server/services/agent/index.test.ts +2 -2
- package/src/server/services/agent/index.ts +1 -1
- package/src/server/services/chunk/index.ts +2 -2
- package/src/server/services/nextAuthUser/index.test.ts +2 -2
- package/src/server/services/nextAuthUser/index.ts +1 -1
- package/src/server/services/user/index.test.ts +2 -2
- package/src/server/services/user/index.ts +1 -1
- package/src/services/aiModel/client.ts +1 -1
- package/src/services/aiProvider/client.ts +1 -1
- package/src/services/file/client.ts +1 -1
- package/src/services/message/client.ts +1 -1
- package/src/services/plugin/client.ts +1 -1
- package/src/services/session/client.ts +2 -2
- package/src/services/thread/client.ts +2 -2
- package/src/services/topic/client.ts +1 -1
- package/src/services/user/client.ts +3 -3
- /package/src/database/{server/models → models}/agent.ts +0 -0
@@ -4,14 +4,14 @@ import { eq } from 'drizzle-orm/expressions';
|
|
4
4
|
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
|
5
5
|
|
6
6
|
import { INBOX_SESSION_ID } from '@/const/session';
|
7
|
-
import { getTestDBInstance } from '@/database/
|
7
|
+
import { getTestDBInstance } from '@/database/core/dbForTest';
|
8
8
|
import { LobeChatDatabase } from '@/database/type';
|
9
9
|
import { KeyVaultsGateKeeper } from '@/server/modules/KeyVaultsEncrypt';
|
10
10
|
import { UserGuide, UserPreference } from '@/types/user';
|
11
11
|
|
12
|
+
import { SessionModel } from '../../../models/session';
|
13
|
+
import { UserModel, UserNotFoundError } from '../../../models/user';
|
12
14
|
import { UserSettingsItem, userSettings, users } from '../../../schemas';
|
13
|
-
import { SessionModel } from '../session';
|
14
|
-
import { UserModel, UserNotFoundError } from '../user';
|
15
15
|
|
16
16
|
let serverDB = await getTestDBInstance();
|
17
17
|
|
@@ -8,8 +8,8 @@ import { and, eq } from 'drizzle-orm/expressions';
|
|
8
8
|
import type { NeonDatabase } from 'drizzle-orm/neon-serverless';
|
9
9
|
import { Adapter, AdapterAccount } from 'next-auth/adapters';
|
10
10
|
|
11
|
+
import { UserModel } from '@/database/models/user';
|
11
12
|
import * as schema from '@/database/schemas';
|
12
|
-
import { UserModel } from '@/database/server/models/user';
|
13
13
|
import { AgentService } from '@/server/services/agent';
|
14
14
|
import { merge } from '@/utils/merge';
|
15
15
|
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import { TRPCError } from '@trpc/server';
|
2
2
|
|
3
3
|
import { serverDBEnv } from '@/config/db';
|
4
|
+
import { UserModel } from '@/database/models/user';
|
4
5
|
import { serverDB } from '@/database/server';
|
5
|
-
import { UserModel } from '@/database/server/models/user';
|
6
6
|
|
7
7
|
import { asyncTrpc } from './init';
|
8
8
|
|
@@ -6,12 +6,12 @@ import { z } from 'zod';
|
|
6
6
|
import { serverDBEnv } from '@/config/db';
|
7
7
|
import { fileEnv } from '@/config/file';
|
8
8
|
import { DEFAULT_FILE_EMBEDDING_MODEL_ITEM } from '@/const/settings/knowledge';
|
9
|
+
import { ASYNC_TASK_TIMEOUT, AsyncTaskModel } from '@/database/models/asyncTask';
|
10
|
+
import { ChunkModel } from '@/database/models/chunk';
|
11
|
+
import { EmbeddingModel } from '@/database/models/embedding';
|
12
|
+
import { FileModel } from '@/database/models/file';
|
9
13
|
import { NewChunkItem, NewEmbeddingsItem } from '@/database/schemas';
|
10
14
|
import { serverDB } from '@/database/server';
|
11
|
-
import { ASYNC_TASK_TIMEOUT, AsyncTaskModel } from '@/database/server/models/asyncTask';
|
12
|
-
import { ChunkModel } from '@/database/server/models/chunk';
|
13
|
-
import { EmbeddingModel } from '@/database/server/models/embedding';
|
14
|
-
import { FileModel } from '@/database/server/models/file';
|
15
15
|
import { asyncAuthedProcedure, asyncRouter as router } from '@/libs/trpc/async';
|
16
16
|
import { getServerDefaultFilesConfig } from '@/server/globalConfig';
|
17
17
|
import { initAgentRuntimeWithUserPayload } from '@/server/modules/AgentRuntime';
|
@@ -4,10 +4,10 @@ import { z } from 'zod';
|
|
4
4
|
|
5
5
|
import { chainAnswerWithContext } from '@/chains/answerWithContext';
|
6
6
|
import { DEFAULT_EMBEDDING_MODEL, DEFAULT_MODEL } from '@/const/settings';
|
7
|
+
import { ChunkModel } from '@/database/models/chunk';
|
8
|
+
import { EmbeddingModel } from '@/database/models/embedding';
|
9
|
+
import { FileModel } from '@/database/models/file';
|
7
10
|
import { serverDB } from '@/database/server';
|
8
|
-
import { ChunkModel } from '@/database/server/models/chunk';
|
9
|
-
import { EmbeddingModel } from '@/database/server/models/embedding';
|
10
|
-
import { FileModel } from '@/database/server/models/file';
|
11
11
|
import {
|
12
12
|
EvalDatasetRecordModel,
|
13
13
|
EvalEvaluationModel,
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import { z } from 'zod';
|
2
2
|
|
3
|
+
import { SessionGroupModel } from '@/database/models/sessionGroup';
|
3
4
|
import { insertSessionGroupSchema } from '@/database/schemas';
|
4
5
|
import { serverDB } from '@/database/server';
|
5
|
-
import { SessionGroupModel } from '@/database/server/models/sessionGroup';
|
6
6
|
import { authedProcedure, router } from '@/libs/trpc';
|
7
7
|
import { SessionGroupItem } from '@/types/session';
|
8
8
|
|
@@ -3,36 +3,36 @@ import { beforeEach, describe, expect, it, vi } from 'vitest';
|
|
3
3
|
|
4
4
|
import { INBOX_SESSION_ID } from '@/const/session';
|
5
5
|
import { DEFAULT_AGENT_CONFIG } from '@/const/settings';
|
6
|
+
import { AgentModel } from '@/database/models/agent';
|
7
|
+
import { FileModel } from '@/database/models/file';
|
8
|
+
import { KnowledgeBaseModel } from '@/database/models/knowledgeBase';
|
9
|
+
import { SessionModel } from '@/database/models/session';
|
10
|
+
import { UserModel } from '@/database/models/user';
|
6
11
|
import { serverDB } from '@/database/server';
|
7
|
-
import { AgentModel } from '@/database/server/models/agent';
|
8
|
-
import { FileModel } from '@/database/server/models/file';
|
9
|
-
import { KnowledgeBaseModel } from '@/database/server/models/knowledgeBase';
|
10
|
-
import { SessionModel } from '@/database/server/models/session';
|
11
|
-
import { UserModel } from '@/database/server/models/user';
|
12
12
|
import { AgentService } from '@/server/services/agent';
|
13
13
|
import { KnowledgeType } from '@/types/knowledgeBase';
|
14
14
|
|
15
15
|
import { agentRouter } from './agent';
|
16
16
|
|
17
|
-
vi.mock('@/database/
|
17
|
+
vi.mock('@/database/models/user', () => ({
|
18
18
|
UserModel: {
|
19
19
|
findById: vi.fn(),
|
20
20
|
},
|
21
21
|
}));
|
22
22
|
|
23
|
-
vi.mock('@/database/
|
23
|
+
vi.mock('@/database/models/agent', () => ({
|
24
24
|
AgentModel: vi.fn(),
|
25
25
|
}));
|
26
26
|
|
27
|
-
vi.mock('@/database/
|
27
|
+
vi.mock('@/database/models/session', () => ({
|
28
28
|
SessionModel: vi.fn(),
|
29
29
|
}));
|
30
30
|
|
31
|
-
vi.mock('@/database/
|
31
|
+
vi.mock('@/database/models/file', () => ({
|
32
32
|
FileModel: vi.fn(),
|
33
33
|
}));
|
34
34
|
|
35
|
-
vi.mock('@/database/
|
35
|
+
vi.mock('@/database/models/knowledgeBase', () => ({
|
36
36
|
KnowledgeBaseModel: vi.fn(),
|
37
37
|
}));
|
38
38
|
|
@@ -2,12 +2,12 @@ import { z } from 'zod';
|
|
2
2
|
|
3
3
|
import { INBOX_SESSION_ID } from '@/const/session';
|
4
4
|
import { DEFAULT_AGENT_CONFIG } from '@/const/settings';
|
5
|
+
import { AgentModel } from '@/database/models/agent';
|
6
|
+
import { FileModel } from '@/database/models/file';
|
7
|
+
import { KnowledgeBaseModel } from '@/database/models/knowledgeBase';
|
8
|
+
import { SessionModel } from '@/database/models/session';
|
9
|
+
import { UserModel } from '@/database/models/user';
|
5
10
|
import { serverDB } from '@/database/server';
|
6
|
-
import { AgentModel } from '@/database/server/models/agent';
|
7
|
-
import { FileModel } from '@/database/server/models/file';
|
8
|
-
import { KnowledgeBaseModel } from '@/database/server/models/knowledgeBase';
|
9
|
-
import { SessionModel } from '@/database/server/models/session';
|
10
|
-
import { UserModel } from '@/database/server/models/user';
|
11
11
|
import { pino } from '@/libs/logger';
|
12
12
|
import { authedProcedure, router } from '@/libs/trpc';
|
13
13
|
import { AgentService } from '@/server/services/agent';
|
@@ -1,13 +1,13 @@
|
|
1
1
|
import { describe, expect, it, vi } from 'vitest';
|
2
2
|
|
3
|
+
import { AiModelModel } from '@/database/models/aiModel';
|
4
|
+
import { UserModel } from '@/database/models/user';
|
3
5
|
import { AiInfraRepos } from '@/database/repositories/aiInfra';
|
4
|
-
import { AiModelModel } from '@/database/server/models/aiModel';
|
5
|
-
import { UserModel } from '@/database/server/models/user';
|
6
6
|
|
7
7
|
import { aiModelRouter } from './aiModel';
|
8
8
|
|
9
|
-
vi.mock('@/database/
|
10
|
-
vi.mock('@/database/
|
9
|
+
vi.mock('@/database/models/aiModel');
|
10
|
+
vi.mock('@/database/models/user');
|
11
11
|
vi.mock('@/database/repositories/aiInfra');
|
12
12
|
vi.mock('@/server/globalConfig', () => ({
|
13
13
|
getServerGlobalConfig: vi.fn().mockReturnValue({
|
@@ -1,9 +1,9 @@
|
|
1
1
|
import { z } from 'zod';
|
2
2
|
|
3
|
+
import { AiModelModel } from '@/database/models/aiModel';
|
4
|
+
import { UserModel } from '@/database/models/user';
|
3
5
|
import { AiInfraRepos } from '@/database/repositories/aiInfra';
|
4
6
|
import { serverDB } from '@/database/server';
|
5
|
-
import { AiModelModel } from '@/database/server/models/aiModel';
|
6
|
-
import { UserModel } from '@/database/server/models/user';
|
7
7
|
import { authedProcedure, router } from '@/libs/trpc';
|
8
8
|
import { getServerGlobalConfig } from '@/server/globalConfig';
|
9
9
|
import { KeyVaultsGateKeeper } from '@/server/modules/KeyVaultsEncrypt';
|
@@ -1,9 +1,9 @@
|
|
1
1
|
import { beforeEach, describe, expect, it, vi } from 'vitest';
|
2
2
|
|
3
|
+
import { AiProviderModel } from '@/database/models/aiProvider';
|
4
|
+
import { UserModel } from '@/database/models/user';
|
3
5
|
import { AiInfraRepos } from '@/database/repositories/aiInfra';
|
4
6
|
import { serverDB } from '@/database/server';
|
5
|
-
import { AiProviderModel } from '@/database/server/models/aiProvider';
|
6
|
-
import { UserModel } from '@/database/server/models/user';
|
7
7
|
import { getServerGlobalConfig } from '@/server/globalConfig';
|
8
8
|
import { KeyVaultsGateKeeper } from '@/server/modules/KeyVaultsEncrypt';
|
9
9
|
import { AiProviderDetailItem, AiProviderRuntimeState } from '@/types/aiProvider';
|
@@ -13,8 +13,8 @@ import { aiProviderRouter } from './aiProvider';
|
|
13
13
|
vi.mock('@/server/globalConfig');
|
14
14
|
vi.mock('@/server/modules/KeyVaultsEncrypt');
|
15
15
|
vi.mock('@/database/repositories/aiInfra');
|
16
|
-
vi.mock('@/database/
|
17
|
-
vi.mock('@/database/
|
16
|
+
vi.mock('@/database/models/aiProvider');
|
17
|
+
vi.mock('@/database/models/user');
|
18
18
|
|
19
19
|
describe('aiProviderRouter', () => {
|
20
20
|
const mockUserId = 'test-user-id';
|
@@ -1,9 +1,9 @@
|
|
1
1
|
import { z } from 'zod';
|
2
2
|
|
3
|
+
import { AiProviderModel } from '@/database/models/aiProvider';
|
4
|
+
import { UserModel } from '@/database/models/user';
|
3
5
|
import { AiInfraRepos } from '@/database/repositories/aiInfra';
|
4
6
|
import { serverDB } from '@/database/server';
|
5
|
-
import { AiProviderModel } from '@/database/server/models/aiProvider';
|
6
|
-
import { UserModel } from '@/database/server/models/user';
|
7
7
|
import { authedProcedure, router } from '@/libs/trpc';
|
8
8
|
import { getServerGlobalConfig } from '@/server/globalConfig';
|
9
9
|
import { KeyVaultsGateKeeper } from '@/server/modules/KeyVaultsEncrypt';
|
@@ -3,13 +3,13 @@ import { inArray } from 'drizzle-orm/expressions';
|
|
3
3
|
import { z } from 'zod';
|
4
4
|
|
5
5
|
import { DEFAULT_FILE_EMBEDDING_MODEL_ITEM } from '@/const/settings/knowledge';
|
6
|
+
import { AsyncTaskModel } from '@/database/models/asyncTask';
|
7
|
+
import { ChunkModel } from '@/database/models/chunk';
|
8
|
+
import { EmbeddingModel } from '@/database/models/embedding';
|
9
|
+
import { FileModel } from '@/database/models/file';
|
10
|
+
import { MessageModel } from '@/database/models/message';
|
6
11
|
import { knowledgeBaseFiles } from '@/database/schemas';
|
7
12
|
import { serverDB } from '@/database/server';
|
8
|
-
import { AsyncTaskModel } from '@/database/server/models/asyncTask';
|
9
|
-
import { ChunkModel } from '@/database/server/models/chunk';
|
10
|
-
import { EmbeddingModel } from '@/database/server/models/embedding';
|
11
|
-
import { FileModel } from '@/database/server/models/file';
|
12
|
-
import { MessageModel } from '@/database/server/models/message';
|
13
13
|
import { authedProcedure, router } from '@/libs/trpc';
|
14
14
|
import { keyVaults } from '@/libs/trpc/middleware/keyVaults';
|
15
15
|
import { getServerDefaultFilesConfig } from '@/server/globalConfig';
|
@@ -2,10 +2,10 @@ import { TRPCError } from '@trpc/server';
|
|
2
2
|
import { z } from 'zod';
|
3
3
|
|
4
4
|
import { serverDBEnv } from '@/config/db';
|
5
|
+
import { AsyncTaskModel } from '@/database/models/asyncTask';
|
6
|
+
import { ChunkModel } from '@/database/models/chunk';
|
7
|
+
import { FileModel } from '@/database/models/file';
|
5
8
|
import { serverDB } from '@/database/server';
|
6
|
-
import { AsyncTaskModel } from '@/database/server/models/asyncTask';
|
7
|
-
import { ChunkModel } from '@/database/server/models/chunk';
|
8
|
-
import { FileModel } from '@/database/server/models/file';
|
9
9
|
import { authedProcedure, router } from '@/libs/trpc';
|
10
10
|
import { S3 } from '@/server/modules/S3';
|
11
11
|
import { getFullFileUrl } from '@/server/utils/files';
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import { z } from 'zod';
|
2
2
|
|
3
|
+
import { KnowledgeBaseModel } from '@/database/models/knowledgeBase';
|
3
4
|
import { insertKnowledgeBasesSchema } from '@/database/schemas';
|
4
5
|
import { serverDB } from '@/database/server';
|
5
|
-
import { KnowledgeBaseModel } from '@/database/server/models/knowledgeBase';
|
6
6
|
import { authedProcedure, router } from '@/libs/trpc';
|
7
7
|
import { KnowledgeBaseItem } from '@/types/knowledgeBase';
|
8
8
|
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import { z } from 'zod';
|
2
2
|
|
3
|
+
import { MessageModel } from '@/database/models/message';
|
3
4
|
import { updateMessagePluginSchema } from '@/database/schemas';
|
4
5
|
import { serverDB } from '@/database/server';
|
5
|
-
import { MessageModel } from '@/database/server/models/message';
|
6
6
|
import { authedProcedure, publicProcedure, router } from '@/libs/trpc';
|
7
7
|
import { getFullFileUrl } from '@/server/utils/files';
|
8
8
|
import { ChatMessage } from '@/types/message';
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { z } from 'zod';
|
2
2
|
|
3
|
+
import { PluginModel } from '@/database/models/plugin';
|
3
4
|
import { serverDB } from '@/database/server';
|
4
|
-
import { PluginModel } from '@/database/server/models/plugin';
|
5
5
|
import { authedProcedure, publicProcedure, router } from '@/libs/trpc';
|
6
6
|
import { LobeTool } from '@/types/tool';
|
7
7
|
|
@@ -6,8 +6,8 @@ import pMap from 'p-map';
|
|
6
6
|
import { z } from 'zod';
|
7
7
|
|
8
8
|
import { DEFAULT_EMBEDDING_MODEL, DEFAULT_MODEL } from '@/const/settings';
|
9
|
+
import { FileModel } from '@/database/models/file';
|
9
10
|
import { serverDB } from '@/database/server';
|
10
|
-
import { FileModel } from '@/database/server/models/file';
|
11
11
|
import {
|
12
12
|
EvalDatasetModel,
|
13
13
|
EvalDatasetRecordModel,
|
@@ -1,9 +1,9 @@
|
|
1
1
|
import { z } from 'zod';
|
2
2
|
|
3
|
+
import { SessionModel } from '@/database/models/session';
|
4
|
+
import { SessionGroupModel } from '@/database/models/sessionGroup';
|
3
5
|
import { insertAgentSchema, insertSessionSchema } from '@/database/schemas';
|
4
6
|
import { serverDB } from '@/database/server';
|
5
|
-
import { SessionModel } from '@/database/server/models/session';
|
6
|
-
import { SessionGroupModel } from '@/database/server/models/sessionGroup';
|
7
7
|
import { authedProcedure, publicProcedure, router } from '@/libs/trpc';
|
8
8
|
import { AgentChatConfigSchema } from '@/types/agent';
|
9
9
|
import { LobeMetaDataSchema } from '@/types/meta';
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import { z } from 'zod';
|
2
2
|
|
3
|
+
import { SessionGroupModel } from '@/database/models/sessionGroup';
|
3
4
|
import { insertSessionGroupSchema } from '@/database/schemas';
|
4
5
|
import { serverDB } from '@/database/server';
|
5
|
-
import { SessionGroupModel } from '@/database/server/models/sessionGroup';
|
6
6
|
import { authedProcedure, router } from '@/libs/trpc';
|
7
7
|
import { SessionGroupItem } from '@/types/session';
|
8
8
|
|
@@ -1,9 +1,9 @@
|
|
1
1
|
import { z } from 'zod';
|
2
2
|
|
3
|
+
import { MessageModel } from '@/database/models/message';
|
4
|
+
import { ThreadModel } from '@/database/models/thread';
|
3
5
|
import { insertThreadSchema } from '@/database/schemas';
|
4
6
|
import { serverDB } from '@/database/server';
|
5
|
-
import { MessageModel } from '@/database/server/models/message';
|
6
|
-
import { ThreadModel } from '@/database/server/models/thread';
|
7
7
|
import { authedProcedure, router } from '@/libs/trpc';
|
8
8
|
import { ThreadItem, createThreadSchema } from '@/types/topic/thread';
|
9
9
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { z } from 'zod';
|
2
2
|
|
3
|
+
import { TopicModel } from '@/database/models/topic';
|
3
4
|
import { serverDB } from '@/database/server';
|
4
|
-
import { TopicModel } from '@/database/server/models/topic';
|
5
5
|
import { authedProcedure, publicProcedure, router } from '@/libs/trpc';
|
6
6
|
import { BatchTaskResult } from '@/types/service';
|
7
7
|
|
@@ -2,10 +2,10 @@
|
|
2
2
|
import { beforeEach, describe, expect, it, vi } from 'vitest';
|
3
3
|
|
4
4
|
import { enableClerk } from '@/const/auth';
|
5
|
+
import { MessageModel } from '@/database/models/message';
|
6
|
+
import { SessionModel } from '@/database/models/session';
|
7
|
+
import { UserModel, UserNotFoundError } from '@/database/models/user';
|
5
8
|
import { serverDB } from '@/database/server';
|
6
|
-
import { MessageModel } from '@/database/server/models/message';
|
7
|
-
import { SessionModel } from '@/database/server/models/session';
|
8
|
-
import { UserModel, UserNotFoundError } from '@/database/server/models/user';
|
9
9
|
import { LobeNextAuthDbAdapter } from '@/libs/next-auth/adapter';
|
10
10
|
import { KeyVaultsGateKeeper } from '@/server/modules/KeyVaultsEncrypt';
|
11
11
|
import { UserService } from '@/server/services/user';
|
@@ -21,9 +21,9 @@ vi.mock('@/database/server', () => ({
|
|
21
21
|
serverDB: {},
|
22
22
|
}));
|
23
23
|
|
24
|
-
vi.mock('@/database/
|
25
|
-
vi.mock('@/database/
|
26
|
-
vi.mock('@/database/
|
24
|
+
vi.mock('@/database/models/message');
|
25
|
+
vi.mock('@/database/models/session');
|
26
|
+
vi.mock('@/database/models/user');
|
27
27
|
vi.mock('@/libs/next-auth/adapter');
|
28
28
|
vi.mock('@/server/modules/KeyVaultsEncrypt');
|
29
29
|
vi.mock('@/server/services/user');
|
@@ -2,10 +2,10 @@ import { UserJSON } from '@clerk/backend';
|
|
2
2
|
import { z } from 'zod';
|
3
3
|
|
4
4
|
import { enableClerk } from '@/const/auth';
|
5
|
+
import { MessageModel } from '@/database/models/message';
|
6
|
+
import { SessionModel } from '@/database/models/session';
|
7
|
+
import { UserModel, UserNotFoundError } from '@/database/models/user';
|
5
8
|
import { serverDB } from '@/database/server';
|
6
|
-
import { MessageModel } from '@/database/server/models/message';
|
7
|
-
import { SessionModel } from '@/database/server/models/session';
|
8
|
-
import { UserModel, UserNotFoundError } from '@/database/server/models/user';
|
9
9
|
import { ClerkAuth } from '@/libs/clerk-auth';
|
10
10
|
import { LobeNextAuthDbAdapter } from '@/libs/next-auth/adapter';
|
11
11
|
import { authedProcedure, router } from '@/libs/trpc';
|
@@ -1,7 +1,7 @@
|
|
1
1
|
// @vitest-environment node
|
2
2
|
import { beforeEach, describe, expect, it, vi } from 'vitest';
|
3
3
|
|
4
|
-
import { SessionModel } from '@/database/
|
4
|
+
import { SessionModel } from '@/database/models/session';
|
5
5
|
import { parseAgentConfig } from '@/server/globalConfig/parseDefaultAgent';
|
6
6
|
|
7
7
|
import { AgentService } from './index';
|
@@ -16,7 +16,7 @@ vi.mock('@/server/globalConfig/parseDefaultAgent', () => ({
|
|
16
16
|
parseAgentConfig: vi.fn(),
|
17
17
|
}));
|
18
18
|
|
19
|
-
vi.mock('@/database/
|
19
|
+
vi.mock('@/database/models/session', () => ({
|
20
20
|
SessionModel: vi.fn(),
|
21
21
|
}));
|
22
22
|
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { appEnv } from '@/config/app';
|
2
|
-
import { SessionModel } from '@/database/
|
2
|
+
import { SessionModel } from '@/database/models/session';
|
3
3
|
import { LobeChatDatabase } from '@/database/type';
|
4
4
|
import { parseAgentConfig } from '@/server/globalConfig/parseDefaultAgent';
|
5
5
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { JWTPayload } from '@/const/auth';
|
2
|
+
import { AsyncTaskModel } from '@/database/models/asyncTask';
|
3
|
+
import { FileModel } from '@/database/models/file';
|
2
4
|
import { serverDB } from '@/database/server';
|
3
|
-
import { AsyncTaskModel } from '@/database/server/models/asyncTask';
|
4
|
-
import { FileModel } from '@/database/server/models/file';
|
5
5
|
import { ChunkContentParams, ContentChunk } from '@/server/modules/ContentChunk';
|
6
6
|
import { createAsyncServerClient } from '@/server/routers/async';
|
7
7
|
import {
|
@@ -2,9 +2,9 @@
|
|
2
2
|
import { NextResponse } from 'next/server';
|
3
3
|
import { beforeEach, describe, expect, it, vi } from 'vitest';
|
4
4
|
|
5
|
+
import { UserModel } from '@/database/models/user';
|
5
6
|
import { UserItem } from '@/database/schemas';
|
6
7
|
import { serverDB } from '@/database/server';
|
7
|
-
import { UserModel } from '@/database/server/models/user';
|
8
8
|
import { pino } from '@/libs/logger';
|
9
9
|
import { LobeNextAuthDbAdapter } from '@/libs/next-auth/adapter';
|
10
10
|
|
@@ -17,7 +17,7 @@ vi.mock('@/libs/logger', () => ({
|
|
17
17
|
},
|
18
18
|
}));
|
19
19
|
|
20
|
-
vi.mock('@/database/
|
20
|
+
vi.mock('@/database/models/user');
|
21
21
|
vi.mock('@/database/server');
|
22
22
|
|
23
23
|
describe('NextAuthUserService', () => {
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import { NextResponse } from 'next/server';
|
2
2
|
|
3
|
+
import { UserModel } from '@/database/models/user';
|
3
4
|
import { UserItem } from '@/database/schemas';
|
4
5
|
import { serverDB } from '@/database/server';
|
5
|
-
import { UserModel } from '@/database/server/models/user';
|
6
6
|
import { pino } from '@/libs/logger';
|
7
7
|
import { LobeNextAuthDbAdapter } from '@/libs/next-auth/adapter';
|
8
8
|
|
@@ -1,15 +1,15 @@
|
|
1
1
|
import { UserJSON } from '@clerk/backend';
|
2
2
|
import { beforeEach, describe, expect, it, vi } from 'vitest';
|
3
3
|
|
4
|
+
import { UserModel } from '@/database/models/user';
|
4
5
|
import { UserItem } from '@/database/schemas';
|
5
|
-
import { UserModel } from '@/database/server/models/user';
|
6
6
|
import { pino } from '@/libs/logger';
|
7
7
|
import { AgentService } from '@/server/services/agent';
|
8
8
|
|
9
9
|
import { UserService } from './index';
|
10
10
|
|
11
11
|
// Mock dependencies
|
12
|
-
vi.mock('@/database/
|
12
|
+
vi.mock('@/database/models/user', () => {
|
13
13
|
const MockUserModel = vi.fn();
|
14
14
|
// @ts-ignore
|
15
15
|
MockUserModel.findById = vi.fn();
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { UserJSON } from '@clerk/backend';
|
2
2
|
|
3
|
+
import { UserModel } from '@/database/models/user';
|
3
4
|
import { serverDB } from '@/database/server';
|
4
|
-
import { UserModel } from '@/database/server/models/user';
|
5
5
|
import { pino } from '@/libs/logger';
|
6
6
|
import { KeyVaultsGateKeeper } from '@/server/modules/KeyVaultsEncrypt';
|
7
7
|
import { AgentService } from '@/server/services/agent';
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { clientDB } from '@/database/client/db';
|
2
|
+
import { AiModelModel } from '@/database/models/aiModel';
|
2
3
|
import { AiInfraRepos } from '@/database/repositories/aiInfra';
|
3
|
-
import { AiModelModel } from '@/database/server/models/aiModel';
|
4
4
|
import { BaseClientService } from '@/services/baseClientService';
|
5
5
|
|
6
6
|
import { IAiModelService } from './type';
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { clientDB } from '@/database/client/db';
|
2
|
+
import { AiProviderModel } from '@/database/models/aiProvider';
|
2
3
|
import { AiInfraRepos } from '@/database/repositories/aiInfra';
|
3
|
-
import { AiProviderModel } from '@/database/server/models/aiProvider';
|
4
4
|
import { BaseClientService } from '@/services/baseClientService';
|
5
5
|
|
6
6
|
import { IAiProviderService } from './type';
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { clientDB } from '@/database/client/db';
|
2
|
-
import { FileModel } from '@/database/
|
2
|
+
import { FileModel } from '@/database/models/file';
|
3
3
|
import { BaseClientService } from '@/services/baseClientService';
|
4
4
|
import { clientS3Storage } from '@/services/file/ClientS3';
|
5
5
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { INBOX_SESSION_ID } from '@/const/session';
|
2
2
|
import { clientDB } from '@/database/client/db';
|
3
|
-
import { MessageModel } from '@/database/
|
3
|
+
import { MessageModel } from '@/database/models/message';
|
4
4
|
import { BaseClientService } from '@/services/baseClientService';
|
5
5
|
import { clientS3Storage } from '@/services/file/ClientS3';
|
6
6
|
import { ChatMessage } from '@/types/message';
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { clientDB } from '@/database/client/db';
|
2
|
-
import { PluginModel } from '@/database/
|
2
|
+
import { PluginModel } from '@/database/models/plugin';
|
3
3
|
import { BaseClientService } from '@/services/baseClientService';
|
4
4
|
import { LobeTool } from '@/types/tool';
|
5
5
|
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import { INBOX_SESSION_ID } from '@/const/session';
|
2
2
|
import { clientDB } from '@/database/client/db';
|
3
|
+
import { SessionModel } from '@/database/models/session';
|
4
|
+
import { SessionGroupModel } from '@/database/models/sessionGroup';
|
3
5
|
import { AgentItem } from '@/database/schemas';
|
4
|
-
import { SessionModel } from '@/database/server/models/session';
|
5
|
-
import { SessionGroupModel } from '@/database/server/models/sessionGroup';
|
6
6
|
import { BaseClientService } from '@/services/baseClientService';
|
7
7
|
import { LobeAgentConfig } from '@/types/agent';
|
8
8
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { INBOX_SESSION_ID } from '@/const/session';
|
2
2
|
import { clientDB } from '@/database/client/db';
|
3
|
-
import { MessageModel } from '@/database/
|
4
|
-
import { ThreadModel } from '@/database/
|
3
|
+
import { MessageModel } from '@/database/models/message';
|
4
|
+
import { ThreadModel } from '@/database/models/thread';
|
5
5
|
import { BaseClientService } from '@/services/baseClientService';
|
6
6
|
|
7
7
|
import { IThreadService } from './type';
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { INBOX_SESSION_ID } from '@/const/session';
|
2
2
|
import { clientDB } from '@/database/client/db';
|
3
|
-
import { TopicModel } from '@/database/
|
3
|
+
import { TopicModel } from '@/database/models/topic';
|
4
4
|
import { BaseClientService } from '@/services/baseClientService';
|
5
5
|
import { ChatTopic } from '@/types/topic';
|
6
6
|
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import { clientDB } from '@/database/client/db';
|
2
|
+
import { MessageModel } from '@/database/models/message';
|
3
|
+
import { SessionModel } from '@/database/models/session';
|
4
|
+
import { UserModel } from '@/database/models/user';
|
2
5
|
import { users } from '@/database/schemas';
|
3
|
-
import { MessageModel } from '@/database/server/models/message';
|
4
|
-
import { SessionModel } from '@/database/server/models/session';
|
5
|
-
import { UserModel } from '@/database/server/models/user';
|
6
6
|
import { BaseClientService } from '@/services/baseClientService';
|
7
7
|
import { UserPreference } from '@/types/user';
|
8
8
|
import { AsyncLocalStorage } from '@/utils/localStorage';
|
File without changes
|