@lobehub/chat 0.161.22 → 0.161.23

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 (74) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/package.json +1 -1
  3. package/src/app/(main)/chat/settings/features/SubmitAgentButton/SubmitAgentModal.tsx +3 -3
  4. package/src/app/(main)/settings/common/features/Common.tsx +1 -1
  5. package/src/app/(main)/settings/common/features/Theme/ThemeSwatches/ThemeSwatchesNeutral.tsx +5 -5
  6. package/src/app/(main)/settings/common/features/Theme/ThemeSwatches/ThemeSwatchesPrimary.tsx +5 -5
  7. package/src/app/(main)/settings/common/features/Theme/index.tsx +5 -4
  8. package/src/app/(main)/settings/llm/Azure/index.tsx +4 -4
  9. package/src/app/(main)/settings/llm/Bedrock/index.tsx +4 -4
  10. package/src/app/(main)/settings/llm/Ollama/Checker.tsx +1 -1
  11. package/src/app/(main)/settings/llm/components/ProviderConfig/index.tsx +5 -4
  12. package/src/app/(main)/settings/llm/const.ts +2 -1
  13. package/src/const/settings/common.ts +2 -2
  14. package/src/const/settings/index.ts +2 -1
  15. package/src/const/settings/llm.ts +0 -19
  16. package/src/database/client/core/db.ts +19 -0
  17. package/src/database/client/core/schemas.ts +3 -2
  18. package/src/database/client/models/__tests__/user.test.ts +5 -5
  19. package/src/database/client/models/user.ts +2 -3
  20. package/src/database/client/schemas/user.ts +10 -4
  21. package/src/features/AgentSetting/AgentMeta/index.tsx +3 -3
  22. package/src/features/AgentSetting/AgentTTS/index.tsx +2 -2
  23. package/src/features/ChatInput/STT/browser.tsx +2 -2
  24. package/src/features/ChatInput/STT/openai.tsx +2 -2
  25. package/src/features/Conversation/Error/APIKeyForm/Bedrock.tsx +5 -5
  26. package/src/features/Conversation/Error/APIKeyForm/ProviderApiKeyForm.tsx +4 -4
  27. package/src/features/Conversation/Error/AccessCodeForm.tsx +4 -4
  28. package/src/features/Conversation/Extras/TTS/index.tsx +2 -2
  29. package/src/features/Conversation/Plugins/Render/MarkdownType/index.tsx +2 -2
  30. package/src/features/Conversation/components/ChatItem/index.tsx +2 -2
  31. package/src/features/PluginDevModal/LocalForm.tsx +2 -2
  32. package/src/features/PluginStore/index.tsx +6 -2
  33. package/src/features/User/UserPanel/LangButton.tsx +2 -2
  34. package/src/features/User/UserPanel/ThemeButton.tsx +2 -2
  35. package/src/hooks/_header.ts +6 -3
  36. package/src/hooks/useTTS.ts +2 -2
  37. package/src/layout/GlobalProvider/AppTheme.tsx +4 -4
  38. package/src/libs/agent-runtime/types/type.ts +3 -2
  39. package/src/migrations/FromV6ToV7/fixtures/output-v7-from-v1.json +203 -0
  40. package/src/migrations/FromV6ToV7/fixtures/provider-input-v6.json +103 -0
  41. package/src/migrations/FromV6ToV7/fixtures/provider-output-v7.json +118 -0
  42. package/src/migrations/FromV6ToV7/index.ts +101 -0
  43. package/src/migrations/FromV6ToV7/migrations.test.ts +64 -0
  44. package/src/migrations/FromV6ToV7/types/v6.ts +61 -0
  45. package/src/migrations/FromV6ToV7/types/v7.ts +71 -0
  46. package/src/migrations/index.ts +9 -3
  47. package/src/services/__tests__/chat.test.ts +19 -19
  48. package/src/services/__tests__/share.test.ts +2 -2
  49. package/src/services/_auth.test.ts +10 -5
  50. package/src/services/_auth.ts +11 -7
  51. package/src/services/_header.ts +6 -3
  52. package/src/services/ollama.ts +3 -3
  53. package/src/services/user/client.test.ts +1 -1
  54. package/src/store/user/helpers.ts +3 -2
  55. package/src/store/user/selectors.ts +10 -2
  56. package/src/store/user/slices/common/action.test.ts +3 -3
  57. package/src/store/user/slices/common/action.ts +2 -2
  58. package/src/store/user/slices/modelList/action.test.ts +2 -2
  59. package/src/store/user/slices/modelList/action.ts +15 -3
  60. package/src/store/user/slices/modelList/selectors/index.ts +1 -0
  61. package/src/store/user/slices/modelList/selectors/keyVaults.ts +25 -0
  62. package/src/store/user/slices/modelList/selectors/modelConfig.test.ts +1 -1
  63. package/src/store/user/slices/modelList/selectors/modelConfig.ts +0 -5
  64. package/src/store/user/slices/settings/action.test.ts +14 -12
  65. package/src/store/user/slices/settings/action.ts +12 -6
  66. package/src/store/user/slices/settings/selectors/general.test.ts +45 -0
  67. package/src/store/user/slices/settings/selectors/general.ts +40 -0
  68. package/src/store/user/slices/settings/selectors/index.ts +1 -0
  69. package/src/store/user/slices/settings/selectors/settings.test.ts +0 -39
  70. package/src/store/user/slices/settings/selectors/settings.ts +6 -32
  71. package/src/types/user/settings/general.ts +1 -1
  72. package/src/types/user/settings/index.ts +7 -29
  73. package/src/types/user/settings/keyVaults.ts +36 -0
  74. package/src/types/user/settings/modelProvider.ts +4 -40
@@ -1,18 +1,17 @@
1
- import type { NeutralColors, PrimaryColors } from '@lobehub/ui';
2
- import type { ThemeMode } from 'antd-style';
3
-
4
- import { LocaleMode } from '@/types/locale';
5
- import type { LobeAgentSession } from '@/types/session';
1
+ import type { LobeAgentSettings } from '@/types/session';
6
2
 
3
+ import { UserGeneralConfig } from './general';
4
+ import { UserKeyVaults } from './keyVaults';
7
5
  import { UserModelProviderConfig } from './modelProvider';
8
6
  import { UserSyncSettings } from './sync';
9
7
  import { UserSystemAgentConfig } from './systemAgent';
10
8
  import { UserToolConfig } from './tool';
11
9
  import { UserTTSConfig } from './tts';
12
10
 
13
- export type UserDefaultAgent = Pick<LobeAgentSession, 'config' | 'meta'>;
11
+ export type UserDefaultAgent = LobeAgentSettings;
14
12
 
15
13
  export * from './general';
14
+ export * from './keyVaults';
16
15
  export * from './modelProvider';
17
16
  export * from './sync';
18
17
  export * from './systemAgent';
@@ -23,32 +22,11 @@ export * from './tts';
23
22
  */
24
23
  export interface UserSettings {
25
24
  defaultAgent: UserDefaultAgent;
26
- /**
27
- * @deprecated
28
- */
29
- fontSize: number;
30
- /**
31
- * @deprecated
32
- */
33
- language: LocaleMode;
25
+ general: UserGeneralConfig;
26
+ keyVaults: UserKeyVaults;
34
27
  languageModel: UserModelProviderConfig;
35
- /**
36
- * @deprecated
37
- */
38
- neutralColor?: NeutralColors;
39
-
40
- password: string;
41
-
42
- /**
43
- * @deprecated
44
- */
45
- primaryColor?: PrimaryColors;
46
28
  sync: UserSyncSettings;
47
29
  systemAgent: UserSystemAgentConfig;
48
- /**
49
- * @deprecated
50
- */
51
- themeMode: ThemeMode;
52
30
  tool: UserToolConfig;
53
31
  tts: UserTTSConfig;
54
32
  }
@@ -0,0 +1,36 @@
1
+ export interface OpenAICompatibleKeyVault {
2
+ apiKey?: string;
3
+ baseURL?: string;
4
+ }
5
+
6
+ interface AzureOpenAIKeyVault {
7
+ apiKey?: string;
8
+ apiVersion?: string;
9
+ endpoint?: string;
10
+ }
11
+
12
+ export interface AWSBedrockKeyVault {
13
+ accessKeyId?: string;
14
+ region?: string;
15
+ secretAccessKey?: string;
16
+ }
17
+
18
+ export interface UserKeyVaults {
19
+ anthropic?: OpenAICompatibleKeyVault;
20
+ azure?: AzureOpenAIKeyVault;
21
+ bedrock?: AWSBedrockKeyVault;
22
+ deepseek?: OpenAICompatibleKeyVault;
23
+ google?: OpenAICompatibleKeyVault;
24
+ groq?: OpenAICompatibleKeyVault;
25
+ minimax?: OpenAICompatibleKeyVault;
26
+ mistral?: OpenAICompatibleKeyVault;
27
+ moonshot?: OpenAICompatibleKeyVault;
28
+ ollama?: OpenAICompatibleKeyVault;
29
+ openai?: OpenAICompatibleKeyVault;
30
+ openrouter?: OpenAICompatibleKeyVault;
31
+ password?: string;
32
+ perplexity?: OpenAICompatibleKeyVault;
33
+ togetherai?: OpenAICompatibleKeyVault;
34
+ zeroone?: OpenAICompatibleKeyVault;
35
+ zhipu?: OpenAICompatibleKeyVault;
36
+ }
@@ -1,10 +1,7 @@
1
+ import { ModelProviderKey } from '@/libs/agent-runtime';
1
2
  import { ChatModelCard } from '@/types/llm';
2
3
 
3
- export interface OpenAICompatibleProviderConfig {
4
- /**
5
- * @deprecated
6
- */
7
- apiKey?: string;
4
+ export interface ProviderConfig {
8
5
  /**
9
6
  * whether to auto fetch model lists
10
7
  */
@@ -18,10 +15,6 @@ export interface OpenAICompatibleProviderConfig {
18
15
  * enabled models id
19
16
  */
20
17
  enabledModels?: string[] | null;
21
- /**
22
- * @deprecated
23
- */
24
- endpoint?: string;
25
18
  /**
26
19
  * whether fetch on client
27
20
  */
@@ -36,35 +29,6 @@ export interface OpenAICompatibleProviderConfig {
36
29
  remoteModelCards?: ChatModelCard[];
37
30
  }
38
31
 
39
- export interface AzureOpenAIConfig extends Omit<OpenAICompatibleProviderConfig, 'endpoint'> {
40
- apiVersion?: string;
41
- endpoint?: string;
42
- }
43
-
44
- export interface AWSBedrockConfig
45
- extends Omit<OpenAICompatibleProviderConfig, 'apiKey' | 'endpoint'> {
46
- accessKeyId?: string;
47
- region?: string;
48
- secretAccessKey?: string;
49
- }
50
-
51
- export interface UserModelProviderConfig {
52
- anthropic: OpenAICompatibleProviderConfig;
53
- azure: AzureOpenAIConfig;
54
- bedrock: AWSBedrockConfig;
55
- deepseek: OpenAICompatibleProviderConfig;
56
- google: OpenAICompatibleProviderConfig;
57
- groq: OpenAICompatibleProviderConfig;
58
- minimax: OpenAICompatibleProviderConfig;
59
- mistral: OpenAICompatibleProviderConfig;
60
- moonshot: OpenAICompatibleProviderConfig;
61
- ollama: OpenAICompatibleProviderConfig;
62
- openai: OpenAICompatibleProviderConfig;
63
- openrouter: OpenAICompatibleProviderConfig;
64
- perplexity: OpenAICompatibleProviderConfig;
65
- togetherai: OpenAICompatibleProviderConfig;
66
- zeroone: OpenAICompatibleProviderConfig;
67
- zhipu: OpenAICompatibleProviderConfig;
68
- }
32
+ export type GlobalLLMProviderKey = ModelProviderKey;
69
33
 
70
- export type GlobalLLMProviderKey = keyof UserModelProviderConfig;
34
+ export type UserModelProviderConfig = Record<ModelProviderKey, ProviderConfig>;