@lobehub/chat 1.75.5 → 1.76.1
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 +50 -0
- package/Dockerfile +3 -2
- package/Dockerfile.database +3 -1
- package/Dockerfile.pglite +3 -1
- package/changelog/v1.json +18 -0
- package/docs/developer/database-schema.dbml +1 -0
- package/locales/ar/hotkey.json +46 -0
- package/locales/ar/models.json +3 -0
- package/locales/ar/setting.json +12 -0
- package/locales/bg-BG/hotkey.json +46 -0
- package/locales/bg-BG/models.json +3 -0
- package/locales/bg-BG/setting.json +12 -0
- package/locales/de-DE/hotkey.json +46 -0
- package/locales/de-DE/models.json +3 -0
- package/locales/de-DE/setting.json +12 -0
- package/locales/en-US/hotkey.json +46 -0
- package/locales/en-US/models.json +3 -0
- package/locales/en-US/setting.json +12 -0
- package/locales/es-ES/hotkey.json +46 -0
- package/locales/es-ES/models.json +3 -0
- package/locales/es-ES/setting.json +12 -0
- package/locales/fa-IR/hotkey.json +46 -0
- package/locales/fa-IR/models.json +3 -0
- package/locales/fa-IR/setting.json +12 -0
- package/locales/fr-FR/hotkey.json +46 -0
- package/locales/fr-FR/models.json +3 -0
- package/locales/fr-FR/setting.json +12 -0
- package/locales/it-IT/hotkey.json +46 -0
- package/locales/it-IT/models.json +3 -0
- package/locales/it-IT/setting.json +12 -0
- package/locales/ja-JP/hotkey.json +46 -0
- package/locales/ja-JP/models.json +3 -0
- package/locales/ja-JP/setting.json +12 -0
- package/locales/ko-KR/hotkey.json +46 -0
- package/locales/ko-KR/models.json +3 -0
- package/locales/ko-KR/setting.json +12 -0
- package/locales/nl-NL/hotkey.json +46 -0
- package/locales/nl-NL/models.json +3 -0
- package/locales/nl-NL/setting.json +12 -0
- package/locales/pl-PL/hotkey.json +46 -0
- package/locales/pl-PL/models.json +3 -0
- package/locales/pl-PL/setting.json +12 -0
- package/locales/pt-BR/hotkey.json +46 -0
- package/locales/pt-BR/models.json +3 -0
- package/locales/pt-BR/setting.json +12 -0
- package/locales/ru-RU/hotkey.json +46 -0
- package/locales/ru-RU/models.json +3 -0
- package/locales/ru-RU/setting.json +12 -0
- package/locales/tr-TR/hotkey.json +46 -0
- package/locales/tr-TR/models.json +3 -0
- package/locales/tr-TR/setting.json +12 -0
- package/locales/vi-VN/hotkey.json +46 -0
- package/locales/vi-VN/models.json +3 -0
- package/locales/vi-VN/setting.json +12 -0
- package/locales/zh-CN/hotkey.json +46 -0
- package/locales/zh-CN/models.json +3 -0
- package/locales/zh-CN/setting.json +12 -0
- package/locales/zh-TW/hotkey.json +46 -0
- package/locales/zh-TW/models.json +3 -0
- package/locales/zh-TW/setting.json +12 -0
- package/package.json +3 -3
- package/src/app/[variants]/(main)/(mobile)/me/(home)/features/Category.tsx +1 -1
- package/src/app/[variants]/(main)/(mobile)/me/(home)/layout.tsx +3 -2
- package/src/app/[variants]/(main)/(mobile)/me/data/features/Category.tsx +1 -1
- package/src/app/[variants]/(main)/(mobile)/me/profile/features/Category.tsx +1 -1
- package/src/app/[variants]/(main)/(mobile)/me/settings/features/Category.tsx +1 -1
- package/src/app/[variants]/(main)/_layout/Desktop/RegisterHotkeys.tsx +11 -0
- package/src/app/[variants]/(main)/_layout/Desktop/SideBar/PinList/index.tsx +6 -23
- package/src/app/[variants]/(main)/_layout/Desktop/SideBar/TopActions.test.tsx +2 -0
- package/src/app/[variants]/(main)/_layout/Desktop/index.tsx +11 -4
- package/src/app/[variants]/(main)/chat/(workspace)/@conversation/features/ChatInput/Desktop/Footer/SendMore.tsx +6 -21
- package/src/app/[variants]/(main)/chat/(workspace)/@conversation/features/ChatInput/Desktop/Footer/ShortcutHint.tsx +13 -34
- package/src/app/[variants]/(main)/chat/(workspace)/@conversation/features/ChatInput/Desktop/Footer/index.tsx +1 -1
- package/src/app/[variants]/(main)/chat/(workspace)/@conversation/features/ZenModeToast/Toast.tsx +7 -4
- package/src/app/[variants]/(main)/chat/(workspace)/_layout/Desktop/ChatHeader/HeaderAction.tsx +12 -8
- package/src/app/[variants]/(main)/chat/(workspace)/_layout/Desktop/ChatHeader/Main.tsx +24 -30
- package/src/app/[variants]/(main)/chat/(workspace)/_layout/Desktop/index.tsx +0 -2
- package/src/app/[variants]/(main)/chat/(workspace)/features/SettingButton.tsx +12 -7
- package/src/app/[variants]/(main)/chat/@session/features/SessionSearchBar.tsx +5 -1
- package/src/app/[variants]/(main)/chat/_layout/Desktop/RegisterHotkeys.tsx +10 -0
- package/src/app/[variants]/(main)/chat/_layout/Desktop/index.tsx +5 -0
- package/src/app/[variants]/(main)/chat/_layout/Mobile.tsx +1 -1
- package/src/app/[variants]/(main)/discover/features/StoreSearchBar.tsx +5 -1
- package/src/app/[variants]/(main)/settings/hooks/useCategory.tsx +31 -21
- package/src/app/[variants]/(main)/settings/hotkey/features/HotkeySetting.tsx +80 -0
- package/src/app/[variants]/(main)/settings/hotkey/index.tsx +9 -0
- package/src/app/[variants]/(main)/settings/hotkey/page.tsx +15 -0
- package/src/app/[variants]/(main)/settings/tts/features/const.tsx +4 -0
- package/src/app/[variants]/layout.tsx +16 -13
- package/src/config/aiModels/openai.ts +10 -0
- package/src/const/hotkeys.ts +80 -10
- package/src/const/settings/hotkey.ts +10 -0
- package/src/const/settings/index.ts +3 -0
- package/src/database/client/migrations.json +46 -32
- package/src/database/migrations/0019_add_hotkey_user_settings.sql +2 -0
- package/src/database/migrations/meta/0019_snapshot.json +4218 -0
- package/src/database/migrations/meta/_journal.json +7 -0
- package/src/database/schemas/user.ts +1 -0
- package/src/database/server/models/user.ts +2 -0
- package/src/features/ChatInput/Desktop/InputArea/index.tsx +8 -0
- package/src/features/ChatInput/Desktop/index.tsx +0 -1
- package/src/features/ChatInput/Topic/index.tsx +10 -15
- package/src/features/FileManager/Header/FilesSearchBar.tsx +6 -2
- package/src/features/HotkeyHelperPanel/HotkeyContent.tsx +62 -0
- package/src/features/HotkeyHelperPanel/index.tsx +59 -0
- package/src/hooks/useHotkeys/chatScope.ts +105 -0
- package/src/hooks/useHotkeys/globalScope.ts +69 -0
- package/src/hooks/useHotkeys/index.ts +2 -0
- package/src/hooks/useHotkeys/useHotkeyById.test.ts +194 -0
- package/src/hooks/useHotkeys/useHotkeyById.ts +57 -0
- package/src/locales/default/hotkey.ts +50 -0
- package/src/locales/default/index.ts +2 -0
- package/src/locales/default/setting.ts +12 -0
- package/src/store/global/initialState.ts +3 -0
- package/src/store/user/slices/settings/selectors/__snapshots__/settings.test.ts.snap +79 -0
- package/src/store/user/slices/settings/selectors/settings.test.ts +131 -0
- package/src/store/user/slices/settings/selectors/settings.ts +6 -0
- package/src/types/hotkey.ts +59 -0
- package/src/types/user/settings/hotkey.ts +3 -0
- package/src/types/user/settings/index.ts +3 -0
- package/src/types/user/settings/tts.ts +1 -1
- package/src/app/[variants]/(main)/chat/(workspace)/_layout/Desktop/HotKeys.tsx +0 -44
- package/src/components/HotKeys/index.tsx +0 -77
@@ -480,6 +480,16 @@ export const openaiTTSModels: AITTSModelCard[] = [
|
|
480
480
|
},
|
481
481
|
type: 'tts',
|
482
482
|
},
|
483
|
+
{
|
484
|
+
description:
|
485
|
+
'GPT-4o mini TTS 是一个基于 GPT-4o mini 构建的文本转语音模型,这是一种快速且强大的语言模型。使用它可以将文本转换为自然听起来的语音文本。最大输入标记数为 2000。',
|
486
|
+
displayName: 'GPT-4o Mini TTS',
|
487
|
+
id: 'gpt-4o-mini-tts',
|
488
|
+
pricing: {
|
489
|
+
input: 10,
|
490
|
+
},
|
491
|
+
type: 'tts',
|
492
|
+
},
|
483
493
|
];
|
484
494
|
|
485
495
|
// 语音识别模型
|
package/src/const/hotkeys.ts
CHANGED
@@ -1,11 +1,81 @@
|
|
1
|
-
|
2
|
-
export const META_KEY = 'mod';
|
3
|
-
export const SAVE_TOPIC_KEY = 'n';
|
4
|
-
export const CLEAN_MESSAGE_KEY = 'backspace';
|
1
|
+
import { combineKeys } from '@lobehub/ui/es/Hotkey';
|
5
2
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
3
|
+
import {
|
4
|
+
HotkeyEnum,
|
5
|
+
HotkeyGroupEnum,
|
6
|
+
HotkeyRegistration,
|
7
|
+
HotkeyScopeEnum,
|
8
|
+
KeyEnum,
|
9
|
+
} from '@/types/hotkey';
|
10
|
+
|
11
|
+
// mod 在 Mac 上是 command 键,alt 在 Win 上是 ctrl 键
|
12
|
+
export const HOTKEYS_REGISTRATION: HotkeyRegistration = [
|
13
|
+
{
|
14
|
+
group: HotkeyGroupEnum.Essential,
|
15
|
+
id: HotkeyEnum.Search,
|
16
|
+
keys: combineKeys([KeyEnum.Mod, 'k']),
|
17
|
+
scopes: [HotkeyScopeEnum.Global],
|
18
|
+
},
|
19
|
+
{
|
20
|
+
group: HotkeyGroupEnum.Essential,
|
21
|
+
id: HotkeyEnum.SwitchAgent,
|
22
|
+
keys: combineKeys([KeyEnum.Ctrl, KeyEnum.Number]),
|
23
|
+
nonEditable: true,
|
24
|
+
scopes: [HotkeyScopeEnum.Global],
|
25
|
+
},
|
26
|
+
{
|
27
|
+
group: HotkeyGroupEnum.Essential,
|
28
|
+
id: HotkeyEnum.ToggleZenMode,
|
29
|
+
keys: combineKeys([KeyEnum.Mod, KeyEnum.Backslash]),
|
30
|
+
scopes: [HotkeyScopeEnum.Chat],
|
31
|
+
},
|
32
|
+
{
|
33
|
+
group: HotkeyGroupEnum.Essential,
|
34
|
+
id: HotkeyEnum.ToggleLeftPanel,
|
35
|
+
keys: combineKeys([KeyEnum.Mod, KeyEnum.BracketLeft]),
|
36
|
+
scopes: [HotkeyScopeEnum.Chat],
|
37
|
+
},
|
38
|
+
{
|
39
|
+
group: HotkeyGroupEnum.Essential,
|
40
|
+
id: HotkeyEnum.ToggleRightPanel,
|
41
|
+
keys: combineKeys([KeyEnum.Mod, KeyEnum.BracketRight]),
|
42
|
+
scopes: [HotkeyScopeEnum.Chat],
|
43
|
+
},
|
44
|
+
{
|
45
|
+
group: HotkeyGroupEnum.Essential,
|
46
|
+
id: HotkeyEnum.OpenHotkeyHelper,
|
47
|
+
keys: combineKeys([KeyEnum.Ctrl, KeyEnum.Shift, KeyEnum.QuestionMark]),
|
48
|
+
scopes: [HotkeyScopeEnum.Global],
|
49
|
+
},
|
50
|
+
{
|
51
|
+
group: HotkeyGroupEnum.Conversation,
|
52
|
+
id: HotkeyEnum.OpenChatSettings,
|
53
|
+
keys: combineKeys([KeyEnum.Alt, KeyEnum.Comma]),
|
54
|
+
scopes: [HotkeyScopeEnum.Chat],
|
55
|
+
},
|
56
|
+
{
|
57
|
+
group: HotkeyGroupEnum.Conversation,
|
58
|
+
id: HotkeyEnum.RegenerateMessage,
|
59
|
+
keys: combineKeys([KeyEnum.Alt, 'r']),
|
60
|
+
scopes: [HotkeyScopeEnum.Chat],
|
61
|
+
},
|
62
|
+
{
|
63
|
+
group: HotkeyGroupEnum.Conversation,
|
64
|
+
id: HotkeyEnum.SaveTopic,
|
65
|
+
keys: combineKeys([KeyEnum.Alt, 'n']),
|
66
|
+
scopes: [HotkeyScopeEnum.Chat],
|
67
|
+
},
|
68
|
+
{
|
69
|
+
group: HotkeyGroupEnum.Conversation,
|
70
|
+
id: HotkeyEnum.AddUserMessage,
|
71
|
+
keys: combineKeys([KeyEnum.Alt, KeyEnum.Enter]),
|
72
|
+
// 不通过 Scope 模式激活
|
73
|
+
},
|
74
|
+
{
|
75
|
+
group: HotkeyGroupEnum.Conversation,
|
76
|
+
id: HotkeyEnum.EditMessage,
|
77
|
+
keys: combineKeys([KeyEnum.Alt, KeyEnum.LeftDoubleClick]),
|
78
|
+
nonEditable: true,
|
79
|
+
scopes: [HotkeyScopeEnum.Chat],
|
80
|
+
},
|
81
|
+
];
|
@@ -0,0 +1,10 @@
|
|
1
|
+
import { HOTKEYS_REGISTRATION } from '@/const/hotkeys';
|
2
|
+
import { UserHotkeyConfig } from '@/types/user/settings';
|
3
|
+
|
4
|
+
export const DEFAULT_HOTKEY_CONFIG: UserHotkeyConfig = HOTKEYS_REGISTRATION.reduce(
|
5
|
+
(acc: UserHotkeyConfig, item) => {
|
6
|
+
acc[item.id] = item.keys;
|
7
|
+
return acc;
|
8
|
+
},
|
9
|
+
{} as UserHotkeyConfig,
|
10
|
+
);
|
@@ -2,6 +2,7 @@ import { UserSettings } from '@/types/user/settings';
|
|
2
2
|
|
3
3
|
import { DEFAULT_AGENT } from './agent';
|
4
4
|
import { DEFAULT_COMMON_SETTINGS } from './common';
|
5
|
+
import { DEFAULT_HOTKEY_CONFIG } from './hotkey';
|
5
6
|
import { DEFAULT_LLM_CONFIG } from './llm';
|
6
7
|
import { DEFAULT_SYNC_CONFIG } from './sync';
|
7
8
|
import { DEFAULT_SYSTEM_AGENT_CONFIG } from './systemAgent';
|
@@ -11,6 +12,7 @@ import { DEFAULT_TTS_CONFIG } from './tts';
|
|
11
12
|
export const COOKIE_CACHE_DAYS = 30;
|
12
13
|
|
13
14
|
export * from './agent';
|
15
|
+
export * from './hotkey';
|
14
16
|
export * from './llm';
|
15
17
|
export * from './systemAgent';
|
16
18
|
export * from './tool';
|
@@ -19,6 +21,7 @@ export * from './tts';
|
|
19
21
|
export const DEFAULT_SETTINGS: UserSettings = {
|
20
22
|
defaultAgent: DEFAULT_AGENT,
|
21
23
|
general: DEFAULT_COMMON_SETTINGS,
|
24
|
+
hotkey: DEFAULT_HOTKEY_CONFIG,
|
22
25
|
keyVaults: {},
|
23
26
|
languageModel: DEFAULT_LLM_CONFIG,
|
24
27
|
sync: DEFAULT_SYNC_CONFIG,
|
@@ -223,7 +223,10 @@
|
|
223
223
|
"hash": "9646161fa041354714f823d726af27247bcd6e60fa3be5698c0d69f337a5700b"
|
224
224
|
},
|
225
225
|
{
|
226
|
-
"sql": [
|
226
|
+
"sql": [
|
227
|
+
"DROP TABLE \"user_budgets\";",
|
228
|
+
"\nDROP TABLE \"user_subscriptions\";"
|
229
|
+
],
|
227
230
|
"bps": true,
|
228
231
|
"folderMillis": 1729699958471,
|
229
232
|
"hash": "7dad43a2a25d1aec82124a4e53f8d82f8505c3073f23606c1dc5d2a4598eacf9"
|
@@ -295,7 +298,9 @@
|
|
295
298
|
"hash": "845a692ceabbfc3caf252a97d3e19a213bc0c433df2689900135f9cfded2cf49"
|
296
299
|
},
|
297
300
|
{
|
298
|
-
"sql": [
|
301
|
+
"sql": [
|
302
|
+
"ALTER TABLE \"messages\" ADD COLUMN \"reasoning\" jsonb;"
|
303
|
+
],
|
299
304
|
"bps": true,
|
300
305
|
"folderMillis": 1737609172353,
|
301
306
|
"hash": "2cb36ae4fcdd7b7064767e04bfbb36ae34518ff4bb1b39006f2dd394d1893868"
|
@@ -383,37 +388,46 @@
|
|
383
388
|
},
|
384
389
|
{
|
385
390
|
"sql": [
|
386
|
-
"ALTER TABLE \"session_groups\" DROP CONSTRAINT \"session_group_client_id_user_unique\";",
|
387
|
-
"\nALTER TABLE \"sessions\" DROP CONSTRAINT \"sessions_client_id_user_id_unique\";",
|
388
|
-
"\nALTER TABLE \"topics\" DROP CONSTRAINT \"topic_client_id_user_id_unique\";",
|
389
|
-
"\nALTER TABLE \"agents\" ADD COLUMN \"client_id\" text;",
|
390
|
-
"\nALTER TABLE \"files\" ADD COLUMN \"client_id\" text;",
|
391
|
-
"\nALTER TABLE \"knowledge_bases\" ADD COLUMN \"client_id\" text;",
|
392
|
-
"\nALTER TABLE \"message_plugins\" ADD COLUMN \"client_id\" text;",
|
393
|
-
"\nALTER TABLE \"message_queries\" ADD COLUMN \"client_id\" text;",
|
394
|
-
"\nALTER TABLE \"message_tts\" ADD COLUMN \"client_id\" text;",
|
395
|
-
"\nALTER TABLE \"message_translates\" ADD COLUMN \"client_id\" text;",
|
396
|
-
"\nALTER TABLE \"chunks\" ADD COLUMN \"client_id\" text;",
|
397
|
-
"\nALTER TABLE \"embeddings\" ADD COLUMN \"client_id\" text;",
|
398
|
-
"\nALTER TABLE \"unstructured_chunks\" ADD COLUMN \"client_id\" text;",
|
399
|
-
"\nALTER TABLE \"threads\" ADD COLUMN \"client_id\" text;",
|
400
|
-
"\nCREATE UNIQUE INDEX \"client_id_user_id_unique\" ON \"agents\" USING btree (\"client_id\",\"user_id\");",
|
401
|
-
"\nCREATE UNIQUE INDEX \"files_client_id_user_id_unique\" ON \"files\" USING btree (\"client_id\",\"user_id\");",
|
402
|
-
"\nCREATE UNIQUE INDEX \"knowledge_bases_client_id_user_id_unique\" ON \"knowledge_bases\" USING btree (\"client_id\",\"user_id\");",
|
403
|
-
"\nCREATE UNIQUE INDEX \"message_plugins_client_id_user_id_unique\" ON \"message_plugins\" USING btree (\"client_id\",\"user_id\");",
|
404
|
-
"\nCREATE UNIQUE INDEX \"message_queries_client_id_user_id_unique\" ON \"message_queries\" USING btree (\"client_id\",\"user_id\");",
|
405
|
-
"\nCREATE UNIQUE INDEX \"message_tts_client_id_user_id_unique\" ON \"message_tts\" USING btree (\"client_id\",\"user_id\");",
|
406
|
-
"\nCREATE UNIQUE INDEX \"message_translates_client_id_user_id_unique\" ON \"message_translates\" USING btree (\"client_id\",\"user_id\");",
|
407
|
-
"\nCREATE UNIQUE INDEX \"chunks_client_id_user_id_unique\" ON \"chunks\" USING btree (\"client_id\",\"user_id\");",
|
408
|
-
"\nCREATE UNIQUE INDEX \"embeddings_client_id_user_id_unique\" ON \"embeddings\" USING btree (\"client_id\",\"user_id\");",
|
409
|
-
"\nCREATE UNIQUE INDEX \"unstructured_chunks_client_id_user_id_unique\" ON \"unstructured_chunks\" USING btree (\"client_id\",\"user_id\");",
|
410
|
-
"\nCREATE UNIQUE INDEX \"session_groups_client_id_user_id_unique\" ON \"session_groups\" USING btree (\"client_id\",\"user_id\");",
|
411
|
-
"\nCREATE UNIQUE INDEX \"sessions_client_id_user_id_unique\" ON \"sessions\" USING btree (\"client_id\",\"user_id\");",
|
412
|
-
"\nCREATE UNIQUE INDEX \"threads_client_id_user_id_unique\" ON \"threads\" USING btree (\"client_id\",\"user_id\");",
|
413
|
-
"\nCREATE UNIQUE INDEX \"topics_client_id_user_id_unique\" ON \"topics\" USING btree (\"client_id\",\"user_id\")
|
391
|
+
"ALTER TABLE \"session_groups\" DROP CONSTRAINT IF EXISTS \"session_group_client_id_user_unique\";",
|
392
|
+
"\nALTER TABLE \"sessions\" DROP CONSTRAINT IF EXISTS \"sessions_client_id_user_id_unique\";",
|
393
|
+
"\nALTER TABLE \"topics\" DROP CONSTRAINT IF EXISTS \"topic_client_id_user_id_unique\";",
|
394
|
+
"\n\n-- add client_id column\nALTER TABLE \"agents\" ADD COLUMN IF NOT EXISTS \"client_id\" text;",
|
395
|
+
"\nALTER TABLE \"files\" ADD COLUMN IF NOT EXISTS \"client_id\" text;",
|
396
|
+
"\nALTER TABLE \"knowledge_bases\" ADD COLUMN IF NOT EXISTS \"client_id\" text;",
|
397
|
+
"\nALTER TABLE \"message_plugins\" ADD COLUMN IF NOT EXISTS \"client_id\" text;",
|
398
|
+
"\nALTER TABLE \"message_queries\" ADD COLUMN IF NOT EXISTS \"client_id\" text;",
|
399
|
+
"\nALTER TABLE \"message_tts\" ADD COLUMN IF NOT EXISTS \"client_id\" text;",
|
400
|
+
"\nALTER TABLE \"message_translates\" ADD COLUMN IF NOT EXISTS \"client_id\" text;",
|
401
|
+
"\nALTER TABLE \"chunks\" ADD COLUMN IF NOT EXISTS \"client_id\" text;",
|
402
|
+
"\nALTER TABLE \"embeddings\" ADD COLUMN IF NOT EXISTS \"client_id\" text;",
|
403
|
+
"\nALTER TABLE \"unstructured_chunks\" ADD COLUMN IF NOT EXISTS \"client_id\" text;",
|
404
|
+
"\nALTER TABLE \"threads\" ADD COLUMN IF NOT EXISTS \"client_id\" text;",
|
405
|
+
"\n\n-- Create unique index(using IF NOT EXISTS)\nCREATE UNIQUE INDEX IF NOT EXISTS \"client_id_user_id_unique\" ON \"agents\" USING btree (\"client_id\",\"user_id\");",
|
406
|
+
"\nCREATE UNIQUE INDEX IF NOT EXISTS \"files_client_id_user_id_unique\" ON \"files\" USING btree (\"client_id\",\"user_id\");",
|
407
|
+
"\nCREATE UNIQUE INDEX IF NOT EXISTS \"knowledge_bases_client_id_user_id_unique\" ON \"knowledge_bases\" USING btree (\"client_id\",\"user_id\");",
|
408
|
+
"\nCREATE UNIQUE INDEX IF NOT EXISTS \"message_plugins_client_id_user_id_unique\" ON \"message_plugins\" USING btree (\"client_id\",\"user_id\");",
|
409
|
+
"\nCREATE UNIQUE INDEX IF NOT EXISTS \"message_queries_client_id_user_id_unique\" ON \"message_queries\" USING btree (\"client_id\",\"user_id\");",
|
410
|
+
"\nCREATE UNIQUE INDEX IF NOT EXISTS \"message_tts_client_id_user_id_unique\" ON \"message_tts\" USING btree (\"client_id\",\"user_id\");",
|
411
|
+
"\nCREATE UNIQUE INDEX IF NOT EXISTS \"message_translates_client_id_user_id_unique\" ON \"message_translates\" USING btree (\"client_id\",\"user_id\");",
|
412
|
+
"\nCREATE UNIQUE INDEX IF NOT EXISTS \"chunks_client_id_user_id_unique\" ON \"chunks\" USING btree (\"client_id\",\"user_id\");",
|
413
|
+
"\nCREATE UNIQUE INDEX IF NOT EXISTS \"embeddings_client_id_user_id_unique\" ON \"embeddings\" USING btree (\"client_id\",\"user_id\");",
|
414
|
+
"\nCREATE UNIQUE INDEX IF NOT EXISTS \"unstructured_chunks_client_id_user_id_unique\" ON \"unstructured_chunks\" USING btree (\"client_id\",\"user_id\");",
|
415
|
+
"\nCREATE UNIQUE INDEX IF NOT EXISTS \"session_groups_client_id_user_id_unique\" ON \"session_groups\" USING btree (\"client_id\",\"user_id\");",
|
416
|
+
"\nCREATE UNIQUE INDEX IF NOT EXISTS \"sessions_client_id_user_id_unique\" ON \"sessions\" USING btree (\"client_id\",\"user_id\");",
|
417
|
+
"\nCREATE UNIQUE INDEX IF NOT EXISTS \"threads_client_id_user_id_unique\" ON \"threads\" USING btree (\"client_id\",\"user_id\");",
|
418
|
+
"\nCREATE UNIQUE INDEX IF NOT EXISTS \"topics_client_id_user_id_unique\" ON \"topics\" USING btree (\"client_id\",\"user_id\");\n"
|
414
419
|
],
|
415
420
|
"bps": true,
|
416
421
|
"folderMillis": 1742616026643,
|
417
|
-
"hash": "
|
422
|
+
"hash": "110a49a1a7c42ded9a9613edb8dc15fee0b4b3dd8061f871b7b42241f29987b5"
|
423
|
+
},
|
424
|
+
{
|
425
|
+
"sql": [
|
426
|
+
"-- Add hotkey column to user_settings table\nALTER TABLE \"user_settings\" ADD COLUMN IF NOT EXISTS \"hotkey\" jsonb;",
|
427
|
+
"\n"
|
428
|
+
],
|
429
|
+
"bps": true,
|
430
|
+
"folderMillis": 1742806552131,
|
431
|
+
"hash": "d9032edf59f717e0e71da5a95b3545ec251c311155cafe14df01a12800a9eae0"
|
418
432
|
}
|
419
|
-
]
|
433
|
+
]
|