@lobehub/chat 1.29.5 → 1.30.0

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 (42) hide show
  1. package/.env.example +5 -0
  2. package/CHANGELOG.md +50 -0
  3. package/locales/ar/modelProvider.json +12 -0
  4. package/locales/bg-BG/modelProvider.json +12 -0
  5. package/locales/de-DE/modelProvider.json +12 -0
  6. package/locales/en-US/modelProvider.json +12 -0
  7. package/locales/es-ES/modelProvider.json +12 -0
  8. package/locales/fr-FR/modelProvider.json +12 -0
  9. package/locales/it-IT/modelProvider.json +12 -0
  10. package/locales/ja-JP/modelProvider.json +12 -0
  11. package/locales/ko-KR/modelProvider.json +12 -0
  12. package/locales/nl-NL/modelProvider.json +12 -0
  13. package/locales/pl-PL/modelProvider.json +12 -0
  14. package/locales/pt-BR/modelProvider.json +12 -0
  15. package/locales/ru-RU/modelProvider.json +12 -0
  16. package/locales/tr-TR/modelProvider.json +12 -0
  17. package/locales/vi-VN/modelProvider.json +12 -0
  18. package/locales/zh-CN/modelProvider.json +12 -0
  19. package/locales/zh-TW/modelProvider.json +12 -0
  20. package/package.json +2 -2
  21. package/src/app/(main)/settings/llm/ProviderList/Cloudflare/index.tsx +43 -0
  22. package/src/app/(main)/settings/llm/ProviderList/providers.tsx +4 -0
  23. package/src/config/llm.ts +9 -0
  24. package/src/config/modelProviders/bedrock.ts +14 -0
  25. package/src/config/modelProviders/cloudflare.ts +89 -0
  26. package/src/config/modelProviders/index.ts +4 -0
  27. package/src/const/auth.ts +2 -0
  28. package/src/const/settings/llm.ts +5 -0
  29. package/src/libs/agent-runtime/AgentRuntime.ts +7 -1
  30. package/src/libs/agent-runtime/cloudflare/index.test.ts +648 -0
  31. package/src/libs/agent-runtime/cloudflare/index.ts +123 -0
  32. package/src/libs/agent-runtime/types/type.ts +1 -0
  33. package/src/libs/agent-runtime/utils/cloudflareHelpers.test.ts +339 -0
  34. package/src/libs/agent-runtime/utils/cloudflareHelpers.ts +134 -0
  35. package/src/locales/default/modelProvider.ts +13 -1
  36. package/src/server/globalConfig/index.ts +4 -0
  37. package/src/server/modules/AgentRuntime/index.ts +11 -0
  38. package/src/services/_auth.ts +9 -0
  39. package/src/services/chat.ts +7 -0
  40. package/src/store/user/slices/modelList/selectors/keyVaults.ts +2 -0
  41. package/src/store/user/slices/modelList/selectors/modelConfig.ts +2 -0
  42. package/src/types/user/settings/keyVaults.ts +6 -0
@@ -175,6 +175,13 @@ export function initializeWithClientStore(provider: string, payload: any) {
175
175
  case ModelProvider.ZeroOne: {
176
176
  break;
177
177
  }
178
+ case ModelProvider.Cloudflare: {
179
+ providerOptions = {
180
+ apikey: providerAuthPayload?.apiKey,
181
+ baseURLOrAccountID: providerAuthPayload?.cloudflareBaseURLOrAccountID,
182
+ };
183
+ break;
184
+ }
178
185
  }
179
186
 
180
187
  /**
@@ -18,6 +18,7 @@ const wenxinConfig = (s: UserStore) => keyVaultsSettings(s).wenxin || {};
18
18
  const ollamaConfig = (s: UserStore) => keyVaultsSettings(s).ollama || {};
19
19
  const sensenovaConfig = (s: UserStore) => keyVaultsSettings(s).sensenova || {};
20
20
  const azureConfig = (s: UserStore) => keyVaultsSettings(s).azure || {};
21
+ const cloudflareConfig = (s: UserStore) => keyVaultsSettings(s).cloudflare || {};
21
22
  const getVaultByProvider = (provider: GlobalLLMProviderKey) => (s: UserStore) =>
22
23
  (keyVaultsSettings(s)[provider] || {}) as OpenAICompatibleKeyVault &
23
24
  AzureOpenAIKeyVault &
@@ -38,6 +39,7 @@ const password = (s: UserStore) => keyVaultsSettings(s).password || '';
38
39
  export const keyVaultsConfigSelectors = {
39
40
  azureConfig,
40
41
  bedrockConfig,
42
+ cloudflareConfig,
41
43
  getVaultByProvider,
42
44
  isProviderApiKeyNotEmpty,
43
45
  isProviderEndpointNotEmpty,
@@ -69,6 +69,7 @@ const openAIConfig = (s: UserStore) => currentLLMSettings(s).openai;
69
69
  const bedrockConfig = (s: UserStore) => currentLLMSettings(s).bedrock;
70
70
  const ollamaConfig = (s: UserStore) => currentLLMSettings(s).ollama;
71
71
  const azureConfig = (s: UserStore) => currentLLMSettings(s).azure;
72
+ const cloudflareConfig = (s: UserStore) => currentLLMSettings(s).cloudflare;
72
73
  const sensenovaConfig = (s: UserStore) => currentLLMSettings(s).sensenova;
73
74
 
74
75
  const isAzureEnabled = (s: UserStore) => currentLLMSettings(s).azure.enabled;
@@ -76,6 +77,7 @@ const isAzureEnabled = (s: UserStore) => currentLLMSettings(s).azure.enabled;
76
77
  export const modelConfigSelectors = {
77
78
  azureConfig,
78
79
  bedrockConfig,
80
+ cloudflareConfig,
79
81
 
80
82
  currentEditingCustomModelCard,
81
83
  getCustomModelCard,
@@ -16,6 +16,11 @@ export interface AWSBedrockKeyVault {
16
16
  sessionToken?: string;
17
17
  }
18
18
 
19
+ export interface CloudflareKeyVault {
20
+ apiKey?: string;
21
+ baseURLOrAccountID?: string;
22
+ }
23
+
19
24
  export interface SenseNovaKeyVault {
20
25
  sensenovaAccessKeyID?: string;
21
26
  sensenovaAccessKeySecret?: string;
@@ -33,6 +38,7 @@ export interface UserKeyVaults {
33
38
  azure?: AzureOpenAIKeyVault;
34
39
  baichuan?: OpenAICompatibleKeyVault;
35
40
  bedrock?: AWSBedrockKeyVault;
41
+ cloudflare?: CloudflareKeyVault;
36
42
  deepseek?: OpenAICompatibleKeyVault;
37
43
  fireworksai?: OpenAICompatibleKeyVault;
38
44
  github?: OpenAICompatibleKeyVault;