@lobehub/lobehub 2.0.0-next.195 → 2.0.0-next.197

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.
Files changed (110) hide show
  1. package/CHANGELOG.md +58 -0
  2. package/changelog/v1.json +21 -0
  3. package/locales/ar/setting.json +0 -3
  4. package/locales/bg-BG/setting.json +0 -3
  5. package/locales/de-DE/setting.json +0 -3
  6. package/locales/en-US/setting.json +0 -3
  7. package/locales/es-ES/setting.json +0 -3
  8. package/locales/fa-IR/setting.json +0 -3
  9. package/locales/fr-FR/setting.json +0 -3
  10. package/locales/it-IT/setting.json +0 -3
  11. package/locales/ja-JP/setting.json +0 -3
  12. package/locales/ko-KR/setting.json +0 -3
  13. package/locales/nl-NL/setting.json +0 -3
  14. package/locales/pl-PL/setting.json +0 -3
  15. package/locales/pt-BR/setting.json +0 -3
  16. package/locales/ru-RU/setting.json +0 -3
  17. package/locales/tr-TR/setting.json +0 -3
  18. package/locales/vi-VN/setting.json +0 -3
  19. package/locales/zh-CN/setting.json +0 -3
  20. package/locales/zh-TW/setting.json +0 -3
  21. package/package.json +2 -3
  22. package/packages/const/src/fetch.ts +1 -4
  23. package/packages/database/src/core/getTestDB.ts +50 -0
  24. package/packages/database/src/models/__tests__/_test_template.ts +1 -1
  25. package/packages/database/src/models/__tests__/agent.test.ts +1 -1
  26. package/packages/database/src/models/__tests__/aiModel.test.ts +1 -1
  27. package/packages/database/src/models/__tests__/aiProvider.test.ts +1 -1
  28. package/packages/database/src/models/__tests__/apiKey.test.ts +1 -1
  29. package/packages/database/src/models/__tests__/asyncTask.test.ts +1 -1
  30. package/packages/database/src/models/__tests__/chatGroup.test.ts +1 -1
  31. package/packages/database/src/models/__tests__/chunk.test.ts +1 -1
  32. package/packages/database/src/models/__tests__/document.test.ts +1 -1
  33. package/packages/database/src/models/__tests__/drizzleMigration.test.ts +1 -1
  34. package/packages/database/src/models/__tests__/embedding.test.ts +1 -1
  35. package/packages/database/src/models/__tests__/file.test.ts +1 -1
  36. package/packages/database/src/models/__tests__/generation.test.ts +1 -1
  37. package/packages/database/src/models/__tests__/generationBatch.test.ts +1 -1
  38. package/packages/database/src/models/__tests__/generationTopic.test.ts +1 -1
  39. package/packages/database/src/models/__tests__/knowledgeBase.test.ts +1 -1
  40. package/packages/database/src/models/__tests__/messages/message.create.test.ts +1 -1
  41. package/packages/database/src/models/__tests__/messages/message.delete.test.ts +1 -1
  42. package/packages/database/src/models/__tests__/messages/message.query.test.ts +1 -1
  43. package/packages/database/src/models/__tests__/messages/message.stats.test.ts +1 -1
  44. package/packages/database/src/models/__tests__/messages/message.thread-query.test.ts +1 -1
  45. package/packages/database/src/models/__tests__/messages/message.update.test.ts +1 -1
  46. package/packages/database/src/models/__tests__/messages/messageWithTask.test.ts +1 -1
  47. package/packages/database/src/models/__tests__/messages/queryWithMessageGroup.perf.test.ts +1 -1
  48. package/packages/database/src/models/__tests__/messages/queryWithMessageGroup.test.ts +1 -1
  49. package/packages/database/src/models/__tests__/oauthHandoff.test.ts +1 -1
  50. package/packages/database/src/models/__tests__/plugin.test.ts +1 -1
  51. package/packages/database/src/models/__tests__/session.test.ts +1 -1
  52. package/packages/database/src/models/__tests__/sessionGroup.test.ts +1 -1
  53. package/packages/database/src/models/__tests__/thread.test.ts +1 -1
  54. package/packages/database/src/models/__tests__/topicDocument.test.ts +1 -1
  55. package/packages/database/src/models/__tests__/topics/topic.create.test.ts +1 -1
  56. package/packages/database/src/models/__tests__/topics/topic.delete.test.ts +1 -1
  57. package/packages/database/src/models/__tests__/topics/topic.query.test.ts +1 -1
  58. package/packages/database/src/models/__tests__/topics/topic.stats.test.ts +1 -1
  59. package/packages/database/src/models/__tests__/topics/topic.update.test.ts +1 -1
  60. package/packages/database/src/models/__tests__/user.test.ts +1 -1
  61. package/packages/database/src/models/__tests__/userMemories.test.ts +1 -1
  62. package/packages/database/src/models/__tests__/userMemoryIdentity.test.ts +1 -1
  63. package/packages/database/src/models/userMemory/__tests__/context.test.ts +1 -1
  64. package/packages/database/src/models/userMemory/__tests__/experience.test.ts +1 -1
  65. package/packages/database/src/models/userMemory/__tests__/identity.test.ts +1 -1
  66. package/packages/database/src/models/userMemory/__tests__/preference.test.ts +1 -1
  67. package/packages/database/src/repositories/agentGroup/index.test.ts +1 -1
  68. package/packages/database/src/repositories/agentMigration/__tests__/agentMigrationRepo.test.ts +1 -1
  69. package/packages/database/src/repositories/aiInfra/index.test.ts +1 -1
  70. package/packages/database/src/repositories/compression/index.test.ts +1 -1
  71. package/packages/database/src/repositories/dataExporter/index.test.ts +1 -1
  72. package/packages/database/src/repositories/dataImporter/__tests__/index.test.ts +1 -1
  73. package/packages/database/src/repositories/dataImporter/deprecated/__tests__/index.test.ts +2 -2
  74. package/packages/database/src/repositories/home/__tests__/index.test.ts +1 -1
  75. package/packages/database/src/repositories/home/index.test.ts +1 -1
  76. package/packages/database/src/repositories/knowledge/index.test.ts +1 -1
  77. package/packages/database/src/repositories/search/index.test.ts +1 -1
  78. package/packages/database/src/repositories/topicImporter/__tests__/importTopic.test.ts +1 -1
  79. package/packages/database/src/repositories/userMemory/__tests__/UserMemoryTopicRepository.test.ts +1 -1
  80. package/packages/database/src/server/models/__tests__/adapter.test.ts +2 -2
  81. package/packages/database/src/server/models/__tests__/user.test.ts +2 -2
  82. package/packages/database/tests/test-utils.ts +1 -1
  83. package/packages/types/src/auth.ts +0 -4
  84. package/packages/types/src/export.ts +1 -1
  85. package/packages/types/src/index.ts +0 -1
  86. package/packages/utils/src/server/xor.test.ts +1 -2
  87. package/src/app/(backend)/_deprecated/createBizOpenAI/auth.test.ts +7 -41
  88. package/src/app/(backend)/_deprecated/createBizOpenAI/auth.ts +1 -15
  89. package/src/app/(backend)/_deprecated/createBizOpenAI/index.ts +2 -9
  90. package/src/app/(backend)/middleware/auth/index.ts +0 -1
  91. package/src/app/(backend)/middleware/auth/utils.test.ts +2 -42
  92. package/src/app/(backend)/middleware/auth/utils.ts +3 -17
  93. package/src/app/(backend)/webapi/chat/[provider]/route.test.ts +0 -5
  94. package/src/app/(backend)/webapi/models/[provider]/route.test.ts +0 -6
  95. package/src/app/(backend)/webapi/plugin/gateway/route.ts +2 -32
  96. package/src/app/[variants]/(main)/settings/common/features/Common/Common.tsx +1 -16
  97. package/src/features/ChatInput/ActionBar/Token/TokenTag.tsx +1 -0
  98. package/src/features/LibraryModal/AssignKnowledgeBase/List.tsx +12 -13
  99. package/src/features/ResourceManager/components/Explorer/MasonryView/index.tsx +1 -0
  100. package/src/locales/default/setting.ts +0 -3
  101. package/src/server/routers/lambda/__tests__/file.test.ts +76 -3
  102. package/src/server/routers/lambda/file.ts +13 -1
  103. package/src/services/config.ts +2 -16
  104. package/packages/database/src/core/dbForTest.ts +0 -43
  105. package/packages/database/src/core/migrations.json +0 -1080
  106. package/packages/database/src/models/__tests__/_util.ts +0 -30
  107. package/packages/database/src/repositories/tableViewer/index.test.ts +0 -255
  108. package/packages/database/src/repositories/tableViewer/index.ts +0 -251
  109. package/packages/types/src/tableViewer.ts +0 -30
  110. package/scripts/migrateClientDB/compile-migrations.ts +0 -14
@@ -5,7 +5,7 @@ import { ThreadStatus, ThreadType } from '@/types/index';
5
5
  import { messages, sessions, threads, topics, users } from '../../../schemas';
6
6
  import { LobeChatDatabase } from '../../../type';
7
7
  import { MessageModel } from '../../message';
8
- import { getTestDB } from '../_util';
8
+ import { getTestDB } from '../../../core/getTestDB';
9
9
 
10
10
  const userId = 'message-task-user-test';
11
11
  const sessionId = 'message-task-session';
@@ -6,7 +6,7 @@ import { afterEach, beforeEach, describe, expect, it } from 'vitest';
6
6
  import { messageGroups, messages, topics, users } from '../../../schemas';
7
7
  import { LobeChatDatabase } from '../../../type';
8
8
  import { MessageModel } from '../../message';
9
- import { getTestDB } from '../_util';
9
+ import { getTestDB } from '../../../core/getTestDB';
10
10
 
11
11
  const userId = 'message-query-perf-test-user';
12
12
  const topicId = 'perf-test-topic-1';
@@ -6,7 +6,7 @@ import { afterEach, beforeEach, describe, expect, it } from 'vitest';
6
6
  import { messageGroups, messages, topics, users } from '../../../schemas';
7
7
  import { LobeChatDatabase } from '../../../type';
8
8
  import { MessageModel } from '../../message';
9
- import { getTestDB } from '../_util';
9
+ import { getTestDB } from '../../../core/getTestDB';
10
10
 
11
11
  const userId = 'message-query-test-user';
12
12
  const topicId = 'test-topic-1';
@@ -4,7 +4,7 @@ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
4
4
  import { oauthHandoffs } from '../../schemas';
5
5
  import { LobeChatDatabase } from '../../type';
6
6
  import { OAuthHandoffModel } from '../oauthHandoff';
7
- import { getTestDB } from './_util';
7
+ import { getTestDB } from '../../core/getTestDB';
8
8
 
9
9
  const serverDB: LobeChatDatabase = await getTestDB();
10
10
  const oauthHandoffModel = new OAuthHandoffModel(serverDB);
@@ -4,7 +4,7 @@ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
4
4
  import { LobeChatDatabase } from '../../type';
5
5
  import { NewInstalledPlugin, userInstalledPlugins, users } from '../../schemas';
6
6
  import { PluginModel } from '../plugin';
7
- import { getTestDB } from './_util';
7
+ import { getTestDB } from '../../core/getTestDB';
8
8
 
9
9
  const serverDB: LobeChatDatabase = await getTestDB();
10
10
 
@@ -17,7 +17,7 @@ import {
17
17
  import { LobeChatDatabase } from '../../type';
18
18
  import { idGenerator } from '../../utils/idGenerator';
19
19
  import { SessionModel } from '../session';
20
- import { getTestDB } from './_util';
20
+ import { getTestDB } from '../../core/getTestDB';
21
21
 
22
22
  const serverDB: LobeChatDatabase = await getTestDB();
23
23
 
@@ -5,7 +5,7 @@ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
5
5
  import { sessionGroups, users } from '../../schemas';
6
6
  import { LobeChatDatabase } from '../../type';
7
7
  import { SessionGroupModel } from '../sessionGroup';
8
- import { getTestDB } from './_util';
8
+ import { getTestDB } from '../../core/getTestDB';
9
9
 
10
10
  const serverDB: LobeChatDatabase = await getTestDB();
11
11
 
@@ -5,7 +5,7 @@ import { afterEach, beforeEach, describe, expect, it } from 'vitest';
5
5
  import { sessions, threads, topics, users } from '../../schemas';
6
6
  import { LobeChatDatabase } from '../../type';
7
7
  import { ThreadModel } from '../thread';
8
- import { getTestDB } from './_util';
8
+ import { getTestDB } from '../../core/getTestDB';
9
9
 
10
10
  const userId = 'thread-user-test';
11
11
  const otherUserId = 'other-user-test';
@@ -5,7 +5,7 @@ import { documents, sessions, topicDocuments, topics, users } from '../../schema
5
5
  import { LobeChatDatabase } from '../../type';
6
6
  import { DocumentModel } from '../document';
7
7
  import { TopicDocumentModel } from '../topicDocument';
8
- import { getTestDB } from './_util';
8
+ import { getTestDB } from '../../core/getTestDB';
9
9
 
10
10
  const serverDB: LobeChatDatabase = await getTestDB();
11
11
 
@@ -4,7 +4,7 @@ import { afterEach, beforeEach, describe, expect, it } from 'vitest';
4
4
  import { agents, messages, sessions, topics, users } from '../../../schemas';
5
5
  import { LobeChatDatabase } from '../../../type';
6
6
  import { CreateTopicParams, TopicModel } from '../../topic';
7
- import { getTestDB } from '../_util';
7
+ import { getTestDB } from '../../../core/getTestDB';
8
8
 
9
9
  const userId = 'topic-create-user';
10
10
  const userId2 = 'topic-create-user-2';
@@ -12,7 +12,7 @@ import {
12
12
  } from '../../../schemas';
13
13
  import { LobeChatDatabase } from '../../../type';
14
14
  import { TopicModel } from '../../topic';
15
- import { getTestDB } from '../_util';
15
+ import { getTestDB } from '../../../core/getTestDB';
16
16
 
17
17
  const userId = 'topic-delete-user';
18
18
  const userId2 = 'topic-delete-user-2';
@@ -11,7 +11,7 @@ import {
11
11
  } from '../../../schemas';
12
12
  import { LobeChatDatabase } from '../../../type';
13
13
  import { TopicModel } from '../../topic';
14
- import { getTestDB } from '../_util';
14
+ import { getTestDB } from '../../../core/getTestDB';
15
15
 
16
16
  const userId = 'topic-query-user';
17
17
  const userId2 = 'topic-query-user-2';
@@ -3,7 +3,7 @@ import { afterEach, beforeEach, describe, expect, it } from 'vitest';
3
3
  import { agents, agentsToSessions, messages, sessions, topics, users } from '../../../schemas';
4
4
  import { LobeChatDatabase } from '../../../type';
5
5
  import { TopicModel } from '../../topic';
6
- import { getTestDB } from '../_util';
6
+ import { getTestDB } from '../../../core/getTestDB';
7
7
 
8
8
  const userId = 'topic-stats-user';
9
9
  const userId2 = 'topic-stats-user-2';
@@ -3,7 +3,7 @@ import { afterEach, beforeEach, describe, expect, it } from 'vitest';
3
3
  import { sessions, topics, users } from '../../../schemas';
4
4
  import { LobeChatDatabase } from '../../../type';
5
5
  import { TopicModel } from '../../topic';
6
- import { getTestDB } from '../_util';
6
+ import { getTestDB } from '../../../core/getTestDB';
7
7
 
8
8
  const userId = 'topic-update-user';
9
9
  const sessionId = 'topic-update-session';
@@ -5,7 +5,7 @@ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
5
5
  import { nextauthAccounts, userSettings, users } from '../../schemas';
6
6
  import { LobeChatDatabase } from '../../type';
7
7
  import { ListUsersForMemoryExtractorCursor, UserModel, UserNotFoundError } from '../user';
8
- import { getTestDB } from './_util';
8
+ import { getTestDB } from '../../core/getTestDB';
9
9
 
10
10
  const userId = 'user-model-test';
11
11
  const otherUserId = 'other-user-test';
@@ -24,7 +24,7 @@ import {
24
24
  CreateUserMemoryPreferenceParams,
25
25
  UserMemoryModel,
26
26
  } from '../userMemory';
27
- import { getTestDB } from './_util';
27
+ import { getTestDB } from '../../core/getTestDB';
28
28
 
29
29
  const serverDB: LobeChatDatabase = await getTestDB();
30
30
 
@@ -9,7 +9,7 @@ import { idGenerator } from '@/database/utils/idGenerator';
9
9
  import { userMemoriesIdentities, users } from '../../schemas';
10
10
  import { LobeChatDatabase } from '../../type';
11
11
  import { UserMemoryIdentityModel } from '../userMemory/identity';
12
- import { getTestDB } from './_util';
12
+ import { getTestDB } from '../../core/getTestDB';
13
13
 
14
14
  // Helper to generate unique identity IDs
15
15
  const genIdentityId = () => `mem_${nanoid(12)}`;
@@ -3,7 +3,7 @@ import { beforeEach, describe, expect, it } from 'vitest';
3
3
 
4
4
  import { NewUserMemoryContext, userMemories, userMemoriesContexts, users } from '../../../schemas';
5
5
  import { LobeChatDatabase } from '../../../type';
6
- import { getTestDB } from '../../__tests__/_util';
6
+ import { getTestDB } from '../../../core/getTestDB';
7
7
  import { UserMemoryContextModel } from '../context';
8
8
 
9
9
  const userId = 'context-test-user';
@@ -8,7 +8,7 @@ import {
8
8
  users,
9
9
  } from '../../../schemas';
10
10
  import { LobeChatDatabase } from '../../../type';
11
- import { getTestDB } from '../../__tests__/_util';
11
+ import { getTestDB } from '../../../core/getTestDB';
12
12
  import { UserMemoryExperienceModel } from '../experience';
13
13
 
14
14
  const userId = 'experience-test-user';
@@ -9,7 +9,7 @@ import {
9
9
  users,
10
10
  } from '../../../schemas';
11
11
  import { LobeChatDatabase } from '../../../type';
12
- import { getTestDB } from '../../__tests__/_util';
12
+ import { getTestDB } from '../../../core/getTestDB';
13
13
  import { UserMemoryIdentityModel } from '../identity';
14
14
 
15
15
  const userId = 'identity-test-user';
@@ -8,7 +8,7 @@ import {
8
8
  users,
9
9
  } from '../../../schemas';
10
10
  import { LobeChatDatabase } from '../../../type';
11
- import { getTestDB } from '../../__tests__/_util';
11
+ import { getTestDB } from '../../../core/getTestDB';
12
12
  import { UserMemoryPreferenceModel } from '../preference';
13
13
 
14
14
  const userId = 'preference-test-user';
@@ -2,7 +2,7 @@
2
2
  import { BUILTIN_AGENT_SLUGS } from '@lobechat/builtin-agents';
3
3
  import { beforeEach, describe, expect, it } from 'vitest';
4
4
 
5
- import { getTestDB } from '../../models/__tests__/_util';
5
+ import { getTestDB } from '../../core/getTestDB';
6
6
  import { agents } from '../../schemas/agent';
7
7
  import { chatGroups, chatGroupsAgents } from '../../schemas/chatGroup';
8
8
  import { users } from '../../schemas/user';
@@ -1,7 +1,7 @@
1
1
  import { eq, inArray } from 'drizzle-orm';
2
2
  import { afterEach, beforeEach, describe, expect, it } from 'vitest';
3
3
 
4
- import { getTestDB } from '../../../models/__tests__/_util';
4
+ import { getTestDB } from '../../../core/getTestDB';
5
5
  import { agents, messages, sessions, topics, users } from '../../../schemas';
6
6
  import { LobeChatDatabase } from '../../../type';
7
7
  import { AgentMigrationRepo } from '../index';
@@ -8,7 +8,7 @@ import { AiProviderModelListItem, EnabledAiModel } from 'model-bank';
8
8
  import { DEFAULT_MODEL_PROVIDER_LIST } from 'model-bank/modelProviders';
9
9
  import { beforeAll, beforeEach, describe, expect, it, vi } from 'vitest';
10
10
 
11
- import { getTestDB } from '../../models/__tests__/_util';
11
+ import { getTestDB } from '../../core/getTestDB';
12
12
  import { LobeChatDatabase } from '../../type';
13
13
  import { AiInfraRepos } from './index';
14
14
 
@@ -2,7 +2,7 @@
2
2
  import { MessageGroupType } from '@lobechat/types';
3
3
  import { beforeEach, describe, expect, it } from 'vitest';
4
4
 
5
- import { getTestDB } from '../../models/__tests__/_util';
5
+ import { getTestDB } from '../../core/getTestDB';
6
6
  import { messageGroups, messages } from '../../schemas/message';
7
7
  import { topics } from '../../schemas/topic';
8
8
  import { users } from '../../schemas/user';
@@ -1,6 +1,6 @@
1
1
  import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from 'vitest';
2
2
 
3
- import { getTestDB } from '../../models/__tests__/_util';
3
+ import { getTestDB } from '../../core/getTestDB';
4
4
  import {
5
5
  agents,
6
6
  agentsKnowledgeBases,
@@ -2,7 +2,7 @@ import type { ImportPgDataStructure } from '@lobechat/types';
2
2
  import { eq, inArray } from 'drizzle-orm';
3
3
  import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
4
4
 
5
- import { getTestDB } from '../../../models/__tests__/_util';
5
+ import { getTestDB } from '../../../core/getTestDB';
6
6
  import * as Schema from '../../../schemas';
7
7
  import { DataImporterRepos } from '../index';
8
8
  import agentsData from './fixtures/agents.json';
@@ -3,7 +3,7 @@ import type { ImporterEntryData } from '@lobechat/types';
3
3
  import { eq, inArray } from 'drizzle-orm';
4
4
  import { beforeEach, describe, expect, it, vi } from 'vitest';
5
5
 
6
- import { getTestDBInstance } from '@/database/core/dbForTest';
6
+ import { getTestDB } from '../../../../core/getTestDB';
7
7
  import {
8
8
  agents,
9
9
  agentsToSessions,
@@ -19,7 +19,7 @@ import mockImportData from './fixtures/messages.json';
19
19
 
20
20
  const CURRENT_CONFIG_VERSION = 7;
21
21
 
22
- const serverDB = await getTestDBInstance();
22
+ const serverDB = await getTestDB();
23
23
 
24
24
  const userId = 'test-user-id';
25
25
  let importer: DataImporterRepos;
@@ -1,7 +1,7 @@
1
1
  import { eq } from 'drizzle-orm';
2
2
  import { afterEach, beforeEach, describe, expect, it } from 'vitest';
3
3
 
4
- import { getTestDB } from '../../../models/__tests__/_util';
4
+ import { getTestDB } from '../../../core/getTestDB';
5
5
  import * as Schema from '../../../schemas';
6
6
  import { HomeRepository } from '../index';
7
7
 
@@ -1,7 +1,7 @@
1
1
  // @vitest-environment node
2
2
  import { beforeEach, describe, expect, it } from 'vitest';
3
3
 
4
- import { getTestDB } from '../../models/__tests__/_util';
4
+ import { getTestDB } from '../../core/getTestDB';
5
5
  import { NewAgent, agents } from '../../schemas/agent';
6
6
  import { NewChatGroup, chatGroups } from '../../schemas/chatGroup';
7
7
  import { agentsToSessions } from '../../schemas/relations';
@@ -2,7 +2,7 @@
2
2
  import { FilesTabs } from '@lobechat/types';
3
3
  import { beforeEach, describe, expect, it } from 'vitest';
4
4
 
5
- import { getTestDB } from '../../models/__tests__/_util';
5
+ import { getTestDB } from '../../core/getTestDB';
6
6
  import { NewDocument, documents } from '../../schemas/file';
7
7
  import { NewFile, files } from '../../schemas/file';
8
8
  import { users } from '../../schemas/user';
@@ -1,7 +1,7 @@
1
1
  // @vitest-environment node
2
2
  import { beforeEach, describe, expect, it } from 'vitest';
3
3
 
4
- import { getTestDB } from '../../models/__tests__/_util';
4
+ import { getTestDB } from '../../core/getTestDB';
5
5
  import { NewAgent, agents } from '../../schemas/agent';
6
6
  import { NewFile, files } from '../../schemas/file';
7
7
  import { messages } from '../../schemas/message';
@@ -4,7 +4,7 @@ import { readFileSync } from 'node:fs';
4
4
  import path from 'node:path';
5
5
  import { afterEach, beforeEach, describe, expect, it } from 'vitest';
6
6
 
7
- import { getTestDB } from '../../../models/__tests__/_util';
7
+ import { getTestDB } from '../../../core/getTestDB';
8
8
  import { agents, messagePlugins, messages, topics, users } from '../../../schemas';
9
9
  import { LobeChatDatabase } from '../../../type';
10
10
  import { TopicImporterRepo } from '../index';
@@ -1,7 +1,7 @@
1
1
  // @vitest-environment node
2
2
  import { beforeEach, describe, expect, it } from 'vitest';
3
3
 
4
- import { getTestDB } from '../../../models/__tests__/_util';
4
+ import { getTestDB } from '../../../core/getTestDB';
5
5
  import { messages } from '../../../schemas/message';
6
6
  import { topics } from '../../../schemas/topic';
7
7
  import { users } from '../../../schemas/user';
@@ -3,7 +3,7 @@ import { afterEach, beforeEach, describe, expect, it } from 'vitest';
3
3
 
4
4
  import { DrizzleAdapter } from '@/libs/oidc-provider/adapter';
5
5
 
6
- import { getTestDBInstance } from '../../../core/dbForTest';
6
+ import { getTestDB } from '../../../core/getTestDB';
7
7
  import { users } from '../../../schemas';
8
8
  import {
9
9
  oidcAccessTokens,
@@ -14,7 +14,7 @@ import {
14
14
  oidcSessions,
15
15
  } from '../../../schemas/oidc';
16
16
 
17
- let serverDB = await getTestDBInstance();
17
+ let serverDB = await getTestDB();
18
18
 
19
19
  // Test data
20
20
  const testModelName = 'Session';
@@ -7,12 +7,12 @@ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
7
7
 
8
8
  import { KeyVaultsGateKeeper } from '@/server/modules/KeyVaultsEncrypt';
9
9
 
10
- import { getTestDBInstance } from '../../../core/dbForTest';
10
+ import { getTestDB } from '../../../core/getTestDB';
11
11
  import { SessionModel } from '../../../models/session';
12
12
  import { UserModel, UserNotFoundError } from '../../../models/user';
13
13
  import { UserSettingsItem, nextauthAccounts, userSettings, users } from '../../../schemas';
14
14
 
15
- let serverDB = await getTestDBInstance();
15
+ let serverDB = await getTestDB();
16
16
 
17
17
  const userId = 'user-db';
18
18
  const userEmail = 'user@example.com';
@@ -1 +1 @@
1
- export * from '../src/models/__tests__/_util';
1
+ export * from '../src/core/getTestDB';
@@ -1,9 +1,5 @@
1
1
  /* eslint-disable typescript-sort-keys/interface */
2
2
  export interface ClientSecretPayload {
3
- /**
4
- * password
5
- */
6
- accessCode?: string;
7
3
  /**
8
4
  * Represents the user's API key
9
5
  *
@@ -1,6 +1,6 @@
1
1
  export interface ExportDatabaseData {
2
2
  data: Record<string, object[]>;
3
- schemaHash?: string;
3
+ schemaHash: string;
4
4
  url?: string;
5
5
  }
6
6
 
@@ -29,7 +29,6 @@ export * from './serverConfig';
29
29
  export * from './service';
30
30
  export * from './session';
31
31
  export * from './stepContext';
32
- export * from './tableViewer';
33
32
  export * from './tool';
34
33
  export * from './topic';
35
34
  export * from './user';
@@ -7,7 +7,6 @@ describe('getXorPayload', () => {
7
7
  it('should correctly decode XOR obfuscated payload with user data', () => {
8
8
  const originalPayload = {
9
9
  userId: '001362c3-48c5-4635-bd3b-837bfff58fc0',
10
- accessCode: 'test-access-code',
11
10
  apiKey: 'test-api-key',
12
11
  baseURL: 'https://api.example.com',
13
12
  };
@@ -86,7 +85,7 @@ describe('getXorPayload', () => {
86
85
  it('should handle payload with undefined values', () => {
87
86
  const originalPayload = {
88
87
  userId: 'test-user',
89
- accessCode: undefined,
88
+ baseURL: undefined,
90
89
  apiKey: 'test-key',
91
90
  };
92
91
 
@@ -1,53 +1,19 @@
1
1
  // @vitest-environment node
2
2
  import { checkAuth } from './auth';
3
3
 
4
- describe('ACCESS_CODE', () => {
5
- let auth = false;
6
-
7
- beforeEach(() => {
8
- auth = false;
9
- process.env.ACCESS_CODE = undefined;
10
- // Reset environment variables before each test case
11
- vi.restoreAllMocks();
12
- });
13
-
14
- it('set multiple access codes', () => {
15
- process.env.ACCESS_CODE = ',code1,code2,code3';
16
- ({ auth } = checkAuth({ accessCode: 'code1' }));
17
- expect(auth).toBe(true);
18
- ({ auth } = checkAuth({ accessCode: 'code2' }));
19
- expect(auth).toBe(true);
20
- ({ auth } = checkAuth({ accessCode: 'code1,code2' }));
21
- expect(auth).toBe(false);
22
- });
23
-
24
- it('set individual access code', () => {
25
- process.env.ACCESS_CODE = 'code1';
26
- ({ auth } = checkAuth({ accessCode: 'code1' }));
4
+ describe('checkAuth', () => {
5
+ it('should pass with oauth authorized', () => {
6
+ const { auth } = checkAuth({ oauthAuthorized: true });
27
7
  expect(auth).toBe(true);
28
- ({ auth } = checkAuth({ accessCode: 'code2' }));
29
- expect(auth).toBe(false);
30
8
  });
31
9
 
32
- it('no access code', () => {
33
- delete process.env.ACCESS_CODE;
34
- ({ auth } = checkAuth({ accessCode: 'code1' }));
35
- expect(auth).toBe(true);
36
- ({ auth } = checkAuth({}));
10
+ it('should pass with api key', () => {
11
+ const { auth } = checkAuth({ apiKey: 'test-api-key' });
37
12
  expect(auth).toBe(true);
38
13
  });
39
14
 
40
- it('empty access code', () => {
41
- process.env.ACCESS_CODE = '';
42
- ({ auth } = checkAuth({ accessCode: 'code1' }));
43
- expect(auth).toBe(true);
44
- ({ auth } = checkAuth({}));
45
- expect(auth).toBe(true);
46
-
47
- process.env.ACCESS_CODE = ',,';
48
- ({ auth } = checkAuth({ accessCode: 'code1' }));
49
- expect(auth).toBe(true);
50
- ({ auth } = checkAuth({}));
15
+ it('should pass with no params', () => {
16
+ const { auth } = checkAuth({});
51
17
  expect(auth).toBe(true);
52
18
  });
53
19
  });
@@ -1,32 +1,18 @@
1
- import { ChatErrorType } from '@lobechat/types';
2
-
3
- import { getAppConfig } from '@/envs/app';
4
-
5
1
  interface AuthConfig {
6
- accessCode?: string | null;
7
2
  apiKey?: string | null;
8
3
  oauthAuthorized?: boolean;
9
4
  }
10
5
 
11
- export const checkAuth = ({ apiKey, accessCode, oauthAuthorized }: AuthConfig) => {
6
+ export const checkAuth = ({ apiKey, oauthAuthorized }: AuthConfig) => {
12
7
  // If authorized by oauth
13
8
  if (oauthAuthorized) {
14
9
  return { auth: true };
15
10
  }
16
11
 
17
- const { ACCESS_CODES } = getAppConfig();
18
-
19
12
  // if apiKey exist
20
13
  if (apiKey) {
21
14
  return { auth: true };
22
15
  }
23
16
 
24
- // if accessCode doesn't exist
25
- if (!ACCESS_CODES.length) return { auth: true };
26
-
27
- if (!accessCode || !ACCESS_CODES.includes(accessCode)) {
28
- return { auth: false, error: ChatErrorType.InvalidAccessCode };
29
- }
30
-
31
17
  return { auth: true };
32
18
  };
@@ -1,10 +1,9 @@
1
- import { ChatErrorType, type ErrorType } from '@lobechat/types';
1
+ import { ChatErrorType } from '@lobechat/types';
2
2
  import type OpenAI from 'openai';
3
3
 
4
4
  import { getOpenAIAuthFromRequest } from '@/const/fetch';
5
5
  import { createErrorResponse } from '@/utils/errorResponse';
6
6
 
7
- import { checkAuth } from './auth';
8
7
  import { createOpenai } from './createOpenai';
9
8
 
10
9
  /**
@@ -13,13 +12,7 @@ import { createOpenai } from './createOpenai';
13
12
  * if auth not pass ,just return error response
14
13
  */
15
14
  export const createBizOpenAI = (req: Request): Response | OpenAI => {
16
- const { apiKey, accessCode, endpoint, oauthAuthorized } = getOpenAIAuthFromRequest(req);
17
-
18
- const result = checkAuth({ accessCode, apiKey, oauthAuthorized });
19
-
20
- if (!result.auth) {
21
- return createErrorResponse(result.error as ErrorType);
22
- }
15
+ const { apiKey, endpoint } = getOpenAIAuthFromRequest(req);
23
16
 
24
17
  let openai: OpenAI;
25
18
 
@@ -92,7 +92,6 @@ export const checkAuth =
92
92
 
93
93
  if (!isUseOidcAuth)
94
94
  checkAuthMethod({
95
- accessCode: jwtPayload.accessCode,
96
95
  apiKey: jwtPayload.apiKey,
97
96
  betterAuthAuthorized,
98
97
  clerkAuth,