@lobehub/lobehub 2.0.0-next.196 → 2.0.0-next.198

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 (80) hide show
  1. package/CHANGELOG.md +58 -0
  2. package/changelog/v1.json +21 -0
  3. package/package.json +2 -3
  4. package/packages/database/src/core/getTestDB.ts +50 -0
  5. package/packages/database/src/models/__tests__/_test_template.ts +1 -1
  6. package/packages/database/src/models/__tests__/agent.test.ts +1 -1
  7. package/packages/database/src/models/__tests__/aiModel.test.ts +1 -1
  8. package/packages/database/src/models/__tests__/aiProvider.test.ts +1 -1
  9. package/packages/database/src/models/__tests__/apiKey.test.ts +1 -1
  10. package/packages/database/src/models/__tests__/asyncTask.test.ts +1 -1
  11. package/packages/database/src/models/__tests__/chatGroup.test.ts +1 -1
  12. package/packages/database/src/models/__tests__/chunk.test.ts +1 -1
  13. package/packages/database/src/models/__tests__/document.test.ts +1 -1
  14. package/packages/database/src/models/__tests__/drizzleMigration.test.ts +1 -1
  15. package/packages/database/src/models/__tests__/embedding.test.ts +1 -1
  16. package/packages/database/src/models/__tests__/file.test.ts +1 -1
  17. package/packages/database/src/models/__tests__/generation.test.ts +1 -1
  18. package/packages/database/src/models/__tests__/generationBatch.test.ts +1 -1
  19. package/packages/database/src/models/__tests__/generationTopic.test.ts +1 -1
  20. package/packages/database/src/models/__tests__/knowledgeBase.test.ts +1 -1
  21. package/packages/database/src/models/__tests__/messages/message.create.test.ts +1 -1
  22. package/packages/database/src/models/__tests__/messages/message.delete.test.ts +1 -1
  23. package/packages/database/src/models/__tests__/messages/message.query.test.ts +1 -1
  24. package/packages/database/src/models/__tests__/messages/message.stats.test.ts +1 -1
  25. package/packages/database/src/models/__tests__/messages/message.thread-query.test.ts +1 -1
  26. package/packages/database/src/models/__tests__/messages/message.update.test.ts +1 -1
  27. package/packages/database/src/models/__tests__/messages/messageWithTask.test.ts +1 -1
  28. package/packages/database/src/models/__tests__/messages/queryWithMessageGroup.perf.test.ts +1 -1
  29. package/packages/database/src/models/__tests__/messages/queryWithMessageGroup.test.ts +1 -1
  30. package/packages/database/src/models/__tests__/oauthHandoff.test.ts +1 -1
  31. package/packages/database/src/models/__tests__/plugin.test.ts +1 -1
  32. package/packages/database/src/models/__tests__/session.test.ts +1 -1
  33. package/packages/database/src/models/__tests__/sessionGroup.test.ts +1 -1
  34. package/packages/database/src/models/__tests__/thread.test.ts +1 -1
  35. package/packages/database/src/models/__tests__/topicDocument.test.ts +1 -1
  36. package/packages/database/src/models/__tests__/topics/topic.create.test.ts +1 -1
  37. package/packages/database/src/models/__tests__/topics/topic.delete.test.ts +1 -1
  38. package/packages/database/src/models/__tests__/topics/topic.query.test.ts +1 -1
  39. package/packages/database/src/models/__tests__/topics/topic.stats.test.ts +1 -1
  40. package/packages/database/src/models/__tests__/topics/topic.update.test.ts +1 -1
  41. package/packages/database/src/models/__tests__/user.test.ts +1 -1
  42. package/packages/database/src/models/__tests__/userMemories.test.ts +1 -1
  43. package/packages/database/src/models/__tests__/userMemoryIdentity.test.ts +1 -1
  44. package/packages/database/src/models/userMemory/__tests__/context.test.ts +1 -1
  45. package/packages/database/src/models/userMemory/__tests__/experience.test.ts +1 -1
  46. package/packages/database/src/models/userMemory/__tests__/identity.test.ts +1 -1
  47. package/packages/database/src/models/userMemory/__tests__/preference.test.ts +1 -1
  48. package/packages/database/src/repositories/agentGroup/index.test.ts +1 -1
  49. package/packages/database/src/repositories/agentMigration/__tests__/agentMigrationRepo.test.ts +1 -1
  50. package/packages/database/src/repositories/aiInfra/index.test.ts +1 -1
  51. package/packages/database/src/repositories/compression/index.test.ts +1 -1
  52. package/packages/database/src/repositories/dataExporter/index.test.ts +1 -1
  53. package/packages/database/src/repositories/dataImporter/__tests__/index.test.ts +1 -1
  54. package/packages/database/src/repositories/dataImporter/deprecated/__tests__/index.test.ts +2 -2
  55. package/packages/database/src/repositories/home/__tests__/index.test.ts +1 -1
  56. package/packages/database/src/repositories/home/index.test.ts +1 -1
  57. package/packages/database/src/repositories/knowledge/index.test.ts +1 -1
  58. package/packages/database/src/repositories/search/index.test.ts +1 -1
  59. package/packages/database/src/repositories/topicImporter/__tests__/importTopic.test.ts +1 -1
  60. package/packages/database/src/repositories/userMemory/__tests__/UserMemoryTopicRepository.test.ts +1 -1
  61. package/packages/database/src/server/models/__tests__/adapter.test.ts +2 -2
  62. package/packages/database/src/server/models/__tests__/user.test.ts +2 -2
  63. package/packages/database/tests/test-utils.ts +1 -1
  64. package/packages/model-runtime/src/core/streams/openai/openai.test.ts +155 -0
  65. package/packages/model-runtime/src/core/streams/openai/openai.ts +26 -1
  66. package/packages/types/src/export.ts +1 -1
  67. package/packages/types/src/index.ts +0 -1
  68. package/src/features/ChatInput/ActionBar/Token/TokenTag.tsx +1 -0
  69. package/src/features/LibraryModal/AssignKnowledgeBase/List.tsx +12 -13
  70. package/src/features/ResourceManager/components/Explorer/MasonryView/index.tsx +1 -0
  71. package/src/server/routers/lambda/__tests__/file.test.ts +76 -3
  72. package/src/server/routers/lambda/file.ts +13 -1
  73. package/src/services/config.ts +2 -16
  74. package/packages/database/src/core/dbForTest.ts +0 -43
  75. package/packages/database/src/core/migrations.json +0 -1080
  76. package/packages/database/src/models/__tests__/_util.ts +0 -30
  77. package/packages/database/src/repositories/tableViewer/index.test.ts +0 -255
  78. package/packages/database/src/repositories/tableViewer/index.ts +0 -251
  79. package/packages/types/src/tableViewer.ts +0 -30
  80. package/scripts/migrateClientDB/compile-migrations.ts +0 -14
package/CHANGELOG.md CHANGED
@@ -2,6 +2,64 @@
2
2
 
3
3
  # Changelog
4
4
 
5
+ ## [Version 2.0.0-next.198](https://github.com/lobehub/lobe-chat/compare/v2.0.0-next.197...v2.0.0-next.198)
6
+
7
+ <sup>Released on **2026-01-03**</sup>
8
+
9
+ #### 🐛 Bug Fixes
10
+
11
+ - **misc**: Support thoughtSignature for openrouter.
12
+
13
+ <br/>
14
+
15
+ <details>
16
+ <summary><kbd>Improvements and Fixes</kbd></summary>
17
+
18
+ #### What's fixed
19
+
20
+ - **misc**: Support thoughtSignature for openrouter, closes [#11117](https://github.com/lobehub/lobe-chat/issues/11117) ([bf5d41e](https://github.com/lobehub/lobe-chat/commit/bf5d41e))
21
+
22
+ </details>
23
+
24
+ <div align="right">
25
+
26
+ [![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)
27
+
28
+ </div>
29
+
30
+ ## [Version 2.0.0-next.197](https://github.com/lobehub/lobe-chat/compare/v2.0.0-next.196...v2.0.0-next.197)
31
+
32
+ <sup>Released on **2026-01-03**</sup>
33
+
34
+ #### ♻ Code Refactoring
35
+
36
+ - **misc**: Remove client db and refactor test.
37
+
38
+ #### 🐛 Bug Fixes
39
+
40
+ - **misc**: Fix file upload issue.
41
+
42
+ <br/>
43
+
44
+ <details>
45
+ <summary><kbd>Improvements and Fixes</kbd></summary>
46
+
47
+ #### Code refactoring
48
+
49
+ - **misc**: Remove client db and refactor test, closes [#11123](https://github.com/lobehub/lobe-chat/issues/11123) ([bb2799d](https://github.com/lobehub/lobe-chat/commit/bb2799d))
50
+
51
+ #### What's fixed
52
+
53
+ - **misc**: Fix file upload issue, closes [#11122](https://github.com/lobehub/lobe-chat/issues/11122) ([1ae327a](https://github.com/lobehub/lobe-chat/commit/1ae327a))
54
+
55
+ </details>
56
+
57
+ <div align="right">
58
+
59
+ [![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)
60
+
61
+ </div>
62
+
5
63
  ## [Version 2.0.0-next.196](https://github.com/lobehub/lobe-chat/compare/v2.0.0-next.195...v2.0.0-next.196)
6
64
 
7
65
  <sup>Released on **2026-01-03**</sup>
package/changelog/v1.json CHANGED
@@ -1,4 +1,25 @@
1
1
  [
2
+ {
3
+ "children": {
4
+ "fixes": [
5
+ "Support thoughtSignature for openrouter."
6
+ ]
7
+ },
8
+ "date": "2026-01-03",
9
+ "version": "2.0.0-next.198"
10
+ },
11
+ {
12
+ "children": {
13
+ "improvements": [
14
+ "Remove client db and refactor test."
15
+ ],
16
+ "fixes": [
17
+ "Fix file upload issue."
18
+ ]
19
+ },
20
+ "date": "2026-01-03",
21
+ "version": "2.0.0-next.197"
22
+ },
2
23
  {
3
24
  "children": {
4
25
  "improvements": [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lobehub/lobehub",
3
- "version": "2.0.0-next.196",
3
+ "version": "2.0.0-next.198",
4
4
  "description": "LobeHub - an open-source,comprehensive AI Agent framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.",
5
5
  "keywords": [
6
6
  "framework",
@@ -42,8 +42,7 @@
42
42
  "build:electron": "cross-env NODE_OPTIONS=--max-old-space-size=8192 NEXT_PUBLIC_IS_DESKTOP_APP=1 tsx scripts/electronWorkflow/buildNextApp.mts",
43
43
  "build:vercel": "npm run prebuild && cross-env NODE_OPTIONS=--max-old-space-size=6144 next build --webpack",
44
44
  "clean:node_modules": "bash -lc 'set -e; echo \"Removing all node_modules...\"; rm -rf node_modules; pnpm -r exec rm -rf node_modules; rm -rf apps/desktop/node_modules; echo \"All node_modules removed.\"'",
45
- "db:generate": "drizzle-kit generate && npm run db:generate-client && npm run workflow:dbml",
46
- "db:generate-client": "tsx ./scripts/migrateClientDB/compile-migrations.ts",
45
+ "db:generate": "drizzle-kit generate && npm run workflow:dbml",
47
46
  "db:migrate": "MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts",
48
47
  "db:studio": "drizzle-kit studio",
49
48
  "db:visualize": "dbdocs build docs/development/database-schema.dbml --project lobe-chat",
@@ -0,0 +1,50 @@
1
+ import { PGlite } from '@electric-sql/pglite';
2
+ import { vector } from '@electric-sql/pglite/vector';
3
+ import { drizzle as pgliteDrizzle } from 'drizzle-orm/pglite';
4
+ import { migrate as pgliteMigrate } from 'drizzle-orm/pglite/migrator';
5
+ import { drizzle as nodeDrizzle } from 'drizzle-orm/node-postgres';
6
+ import { migrate as nodeMigrate } from 'drizzle-orm/node-postgres/migrator';
7
+ import { join } from 'node:path';
8
+ import { Pool as NodePool } from 'pg';
9
+
10
+ import { serverDBEnv } from '@/config/db';
11
+
12
+ import * as schema from '../schemas';
13
+ import { LobeChatDatabase } from '../type';
14
+
15
+ const migrationsFolder = join(__dirname, '../../migrations');
16
+
17
+ const isServerDBMode = process.env.TEST_SERVER_DB === '1';
18
+
19
+ let testClientDB: ReturnType<typeof pgliteDrizzle<typeof schema>> | null = null;
20
+ let testServerDB: ReturnType<typeof nodeDrizzle<typeof schema>> | null = null;
21
+
22
+ export const getTestDB = async (): Promise<LobeChatDatabase> => {
23
+ // Server DB mode (node-postgres)
24
+ if (isServerDBMode) {
25
+ if (testServerDB) return testServerDB as unknown as LobeChatDatabase;
26
+
27
+ const connectionString = serverDBEnv.DATABASE_TEST_URL;
28
+
29
+ if (!connectionString) {
30
+ throw new Error('DATABASE_TEST_URL is not set');
31
+ }
32
+
33
+ const client = new NodePool({ connectionString });
34
+ testServerDB = nodeDrizzle(client, { schema });
35
+
36
+ await nodeMigrate(testServerDB, { migrationsFolder });
37
+
38
+ return testServerDB as unknown as LobeChatDatabase;
39
+ }
40
+
41
+ // Client DB mode (PGlite)
42
+ if (testClientDB) return testClientDB as unknown as LobeChatDatabase;
43
+
44
+ const pglite = new PGlite({ extensions: { vector } });
45
+ testClientDB = pgliteDrizzle({ client: pglite, schema });
46
+
47
+ await pgliteMigrate(testClientDB, { migrationsFolder });
48
+
49
+ return testClientDB as unknown as LobeChatDatabase;
50
+ };
@@ -2,10 +2,10 @@
2
2
  import { eq } from 'drizzle-orm';
3
3
  import { afterEach, beforeEach, describe, expect, it } from 'vitest';
4
4
 
5
+ import { getTestDB } from '../../core/getTestDB';
5
6
  import { sessionGroups, users } from '../../schemas';
6
7
  import { LobeChatDatabase } from '../../type';
7
8
  import { SessionGroupModel } from '../sessionGroup';
8
- import { getTestDB } from './_util';
9
9
 
10
10
  const serverDB: LobeChatDatabase = await getTestDB();
11
11
 
@@ -16,7 +16,7 @@ import {
16
16
  } from '../../schemas';
17
17
  import { LobeChatDatabase } from '../../type';
18
18
  import { AgentModel } from '../agent';
19
- import { getTestDB } from './_util';
19
+ import { getTestDB } from '../../core/getTestDB';
20
20
 
21
21
  const serverDB: LobeChatDatabase = await getTestDB();
22
22
 
@@ -6,7 +6,7 @@ import { afterEach, beforeEach, describe, expect, it } from 'vitest';
6
6
  import { AiModelSelectItem, NewAiModelItem, aiModels, users } from '../../schemas';
7
7
  import { LobeChatDatabase } from '../../type';
8
8
  import { AiModelModel } from '../aiModel';
9
- import { getTestDB } from './_util';
9
+ import { getTestDB } from '../../core/getTestDB';
10
10
 
11
11
  const serverDB: LobeChatDatabase = await getTestDB();
12
12
 
@@ -8,7 +8,7 @@ import { sleep } from '@/utils/sleep';
8
8
  import { aiProviders, users } from '../../schemas';
9
9
  import { LobeChatDatabase } from '../../type';
10
10
  import { AiProviderModel } from '../aiProvider';
11
- import { getTestDB } from './_util';
11
+ import { getTestDB } from '../../core/getTestDB';
12
12
 
13
13
  const serverDB: LobeChatDatabase = await getTestDB();
14
14
 
@@ -5,7 +5,7 @@ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
5
5
  import { apiKeys, users } from '../../schemas';
6
6
  import { LobeChatDatabase } from '../../type';
7
7
  import { ApiKeyModel } from '../apiKey';
8
- import { getTestDB } from './_util';
8
+ import { getTestDB } from '../../core/getTestDB';
9
9
 
10
10
  const serverDB: LobeChatDatabase = await getTestDB();
11
11
 
@@ -7,7 +7,7 @@ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
7
7
  import { asyncTasks, users } from '../../schemas';
8
8
  import { LobeChatDatabase } from '../../type';
9
9
  import { AsyncTaskModel } from '../asyncTask';
10
- import { getTestDB } from './_util';
10
+ import { getTestDB } from '../../core/getTestDB';
11
11
 
12
12
  const serverDB: LobeChatDatabase = await getTestDB();
13
13
 
@@ -12,7 +12,7 @@ import {
12
12
  users,
13
13
  } from '../../schemas';
14
14
  import { ChatGroupModel } from '../chatGroup';
15
- import { getTestDB } from './_util';
15
+ import { getTestDB } from '../../core/getTestDB';
16
16
 
17
17
  const userId = 'test-user';
18
18
  const otherUserId = 'other-user';
@@ -6,7 +6,7 @@ import { LobeChatDatabase } from '../../type';import { uuid } from '@/utils/uuid
6
6
 
7
7
  import { chunks, embeddings, fileChunks, files, unstructuredChunks, users } from '../../schemas';
8
8
  import { ChunkModel } from '../chunk';
9
- import { getTestDB } from './_util';
9
+ import { getTestDB } from '../../core/getTestDB';
10
10
  import { codeEmbedding, designThinkingQuery, designThinkingQuery2 } from './fixtures/embedding';
11
11
 
12
12
  const serverDB: LobeChatDatabase = await getTestDB();
@@ -5,7 +5,7 @@ import { documents, files, users } from '../../schemas';
5
5
  import { LobeChatDatabase } from '../../type';
6
6
  import { DocumentModel } from '../document';
7
7
  import { FileModel } from '../file';
8
- import { getTestDB } from './_util';
8
+ import { getTestDB } from '../../core/getTestDB';
9
9
 
10
10
  const serverDB: LobeChatDatabase = await getTestDB();
11
11
 
@@ -3,7 +3,7 @@ import { beforeEach, describe, expect, it } from 'vitest';
3
3
 
4
4
  import { LobeChatDatabase } from '../../type';
5
5
  import { DrizzleMigrationModel } from '../drizzleMigration';
6
- import { getTestDB } from './_util';
6
+ import { getTestDB } from '../../core/getTestDB';
7
7
 
8
8
  const serverDB: LobeChatDatabase = await getTestDB();
9
9
 
@@ -4,7 +4,7 @@ import { afterEach, beforeEach, describe, expect, it } from 'vitest';
4
4
  import { chunks, embeddings, users } from '../../schemas';
5
5
  import { LobeChatDatabase } from '../../type';
6
6
  import { EmbeddingModel } from '../embedding';
7
- import { getTestDB } from './_util';
7
+ import { getTestDB } from '../../core/getTestDB';
8
8
  import { designThinkingQuery } from './fixtures/embedding';
9
9
 
10
10
  const userId = 'embedding-user-test';
@@ -15,7 +15,7 @@ import {
15
15
  } from '../../schemas';
16
16
  import { LobeChatDatabase } from '../../type';
17
17
  import { FileModel } from '../file';
18
- import { getTestDB } from './_util';
18
+ import { getTestDB } from '../../core/getTestDB';
19
19
 
20
20
  const serverDB: LobeChatDatabase = await getTestDB();
21
21
 
@@ -15,7 +15,7 @@ import {
15
15
  } from '../../schemas';
16
16
  import { LobeChatDatabase } from '../../type';
17
17
  import { GenerationModel } from '../generation';
18
- import { getTestDB } from './_util';
18
+ import { getTestDB } from '../../core/getTestDB';
19
19
 
20
20
  const serverDB: LobeChatDatabase = await getTestDB();
21
21
 
@@ -13,7 +13,7 @@ import {
13
13
  } from '../../schemas';
14
14
  import { LobeChatDatabase } from '../../type';
15
15
  import { GenerationBatchModel } from '../generationBatch';
16
- import { getTestDB } from './_util';
16
+ import { getTestDB } from '../../core/getTestDB';
17
17
 
18
18
  const serverDB: LobeChatDatabase = await getTestDB();
19
19
 
@@ -6,7 +6,7 @@ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
6
6
  import { generationBatches, generationTopics, generations, users } from '../../schemas';
7
7
  import { LobeChatDatabase } from '../../type';
8
8
  import { GenerationTopicModel } from '../generationTopic';
9
- import { getTestDB } from './_util';
9
+ import { getTestDB } from '../../core/getTestDB';
10
10
 
11
11
  // Mock FileService
12
12
  const mockGetFullFileUrl = vi.fn();
@@ -14,7 +14,7 @@ import {
14
14
  } from '../../schemas';
15
15
  import { LobeChatDatabase } from '../../type';
16
16
  import { KnowledgeBaseModel } from '../knowledgeBase';
17
- import { getTestDB } from './_util';
17
+ import { getTestDB } from '../../core/getTestDB';
18
18
 
19
19
  const serverDB: LobeChatDatabase = await getTestDB();
20
20
 
@@ -19,7 +19,7 @@ import {
19
19
  } from '../../../schemas';
20
20
  import { LobeChatDatabase } from '../../../type';
21
21
  import { MessageModel } from '../../message';
22
- import { getTestDB } from '../_util';
22
+ import { getTestDB } from '../../../core/getTestDB';
23
23
  import { codeEmbedding } from '../fixtures/embedding';
24
24
 
25
25
  const serverDB: LobeChatDatabase = await getTestDB();
@@ -18,7 +18,7 @@ import {
18
18
  } from '../../../schemas';
19
19
  import { LobeChatDatabase } from '../../../type';
20
20
  import { MessageModel } from '../../message';
21
- import { getTestDB } from '../_util';
21
+ import { getTestDB } from '../../../core/getTestDB';
22
22
  import { codeEmbedding } from '../fixtures/embedding';
23
23
 
24
24
  const serverDB: LobeChatDatabase = await getTestDB();
@@ -28,7 +28,7 @@ import {
28
28
  } from '../../../schemas';
29
29
  import { LobeChatDatabase } from '../../../type';
30
30
  import { MessageModel } from '../../message';
31
- import { getTestDB } from '../_util';
31
+ import { getTestDB } from '../../../core/getTestDB';
32
32
  import { codeEmbedding } from '../fixtures/embedding';
33
33
 
34
34
  const serverDB: LobeChatDatabase = await getTestDB();
@@ -7,7 +7,7 @@ import { uuid } from '@/utils/uuid';
7
7
  import { embeddings, files, messageQueries, messages, sessions, users } from '../../../schemas';
8
8
  import { LobeChatDatabase } from '../../../type';
9
9
  import { MessageModel } from '../../message';
10
- import { getTestDB } from '../_util';
10
+ import { getTestDB } from '../../../core/getTestDB';
11
11
  import { codeEmbedding } from '../fixtures/embedding';
12
12
 
13
13
  const serverDB: LobeChatDatabase = await getTestDB();
@@ -4,7 +4,7 @@ import { afterEach, beforeEach, describe, expect, it } from 'vitest';
4
4
  import { agents, messages, sessions, threads, topics, users } from '../../../schemas';
5
5
  import { LobeChatDatabase } from '../../../type';
6
6
  import { MessageModel } from '../../message';
7
- import { getTestDB } from '../_util';
7
+ import { getTestDB } from '../../../core/getTestDB';
8
8
 
9
9
  const serverDB: LobeChatDatabase = await getTestDB();
10
10
 
@@ -23,7 +23,7 @@ import {
23
23
  } from '../../../schemas';
24
24
  import { LobeChatDatabase } from '../../../type';
25
25
  import { MessageModel } from '../../message';
26
- import { getTestDB } from '../_util';
26
+ import { getTestDB } from '../../../core/getTestDB';
27
27
  import { codeEmbedding } from '../fixtures/embedding';
28
28
 
29
29
  const serverDB: LobeChatDatabase = await getTestDB();
@@ -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';