@lobehub/chat 1.90.4 → 1.91.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.
Files changed (297) hide show
  1. package/CHANGELOG.md +58 -0
  2. package/changelog/v1.json +21 -0
  3. package/docs/changelog/2023-09-09-plugin-system.mdx +2 -3
  4. package/docs/changelog/2023-11-14-gpt4-vision.mdx +4 -6
  5. package/docs/changelog/2023-11-19-tts-stt.mdx +2 -3
  6. package/docs/changelog/2023-12-22-dalle-3.mdx +2 -5
  7. package/docs/changelog/2023-12-22-dalle-3.zh-CN.mdx +2 -2
  8. package/docs/changelog/2024-02-08-sso-oauth.mdx +2 -2
  9. package/docs/changelog/2024-06-19-lobe-chat-v1.mdx +2 -3
  10. package/docs/changelog/2024-06-19-lobe-chat-v1.zh-CN.mdx +2 -2
  11. package/docs/changelog/2024-07-19-gpt-4o-mini.mdx +2 -3
  12. package/docs/changelog/2024-07-19-gpt-4o-mini.zh-CN.mdx +2 -2
  13. package/docs/changelog/2024-08-02-lobe-chat-database-docker.mdx +2 -3
  14. package/docs/changelog/2024-08-21-file-upload-and-knowledge-base.mdx +4 -5
  15. package/docs/changelog/2024-09-13-openai-o1-models.mdx +2 -2
  16. package/docs/changelog/2024-09-20-artifacts.mdx +2 -3
  17. package/docs/changelog/2024-09-20-artifacts.zh-CN.mdx +2 -2
  18. package/docs/changelog/2024-10-27-pin-assistant.mdx +2 -3
  19. package/docs/changelog/2024-11-06-share-text-json.mdx +2 -4
  20. package/docs/changelog/2024-11-06-share-text-json.zh-CN.mdx +2 -2
  21. package/docs/changelog/2024-11-25-november-providers.mdx +2 -2
  22. package/docs/changelog/2024-11-27-forkable-chat.mdx +2 -2
  23. package/docs/changelog/2025-01-03-user-profile.mdx +2 -2
  24. package/docs/changelog/2025-01-22-new-ai-provider.mdx +2 -2
  25. package/docs/changelog/2025-02-02-deepseek-r1.mdx +4 -4
  26. package/docs/development/basic/add-new-authentication-providers.zh-CN.mdx +1 -2
  27. package/docs/development/basic/chat-api.mdx +2 -4
  28. package/docs/development/basic/chat-api.zh-CN.mdx +2 -4
  29. package/docs/development/internationalization/internationalization-implementation.mdx +10 -10
  30. package/docs/development/internationalization/internationalization-implementation.zh-CN.mdx +10 -10
  31. package/docs/self-hosting/advanced/analytics.mdx +2 -2
  32. package/docs/self-hosting/advanced/auth/clerk.mdx +2 -2
  33. package/docs/self-hosting/advanced/auth/next-auth/auth0.mdx +2 -3
  34. package/docs/self-hosting/advanced/auth/next-auth/authelia.mdx +2 -3
  35. package/docs/self-hosting/advanced/auth/next-auth/authentik.mdx +2 -3
  36. package/docs/self-hosting/advanced/auth/next-auth/casdoor.mdx +4 -7
  37. package/docs/self-hosting/advanced/auth/next-auth/casdoor.zh-CN.mdx +0 -3
  38. package/docs/self-hosting/advanced/auth/next-auth/cloudflare-zero-trust.mdx +2 -3
  39. package/docs/self-hosting/advanced/auth/next-auth/cloudflare-zero-trust.zh-CN.mdx +2 -2
  40. package/docs/self-hosting/advanced/auth/next-auth/github.mdx +2 -3
  41. package/docs/self-hosting/advanced/auth/next-auth/keycloak.mdx +12 -6
  42. package/docs/self-hosting/advanced/auth/next-auth/keycloak.zh-CN.mdx +5 -1
  43. package/docs/self-hosting/advanced/auth/next-auth/logto.mdx +8 -14
  44. package/docs/self-hosting/advanced/auth/next-auth/logto.zh-CN.mdx +6 -12
  45. package/docs/self-hosting/advanced/auth/next-auth/microsoft-entra-id.mdx +2 -3
  46. package/docs/self-hosting/advanced/auth/next-auth/wechat.mdx +2 -2
  47. package/docs/self-hosting/advanced/auth/next-auth/zitadel.mdx +2 -3
  48. package/docs/self-hosting/advanced/auth.mdx +2 -3
  49. package/docs/self-hosting/advanced/desktop.mdx +2 -1
  50. package/docs/self-hosting/advanced/desktop.zh-CN.mdx +1 -3
  51. package/docs/self-hosting/advanced/feature-flags.mdx +2 -3
  52. package/docs/self-hosting/advanced/knowledge-base.mdx +4 -3
  53. package/docs/self-hosting/advanced/model-list.mdx +11 -10
  54. package/docs/self-hosting/advanced/model-list.zh-CN.mdx +10 -9
  55. package/docs/self-hosting/advanced/observability/langfuse.mdx +2 -3
  56. package/docs/self-hosting/advanced/online-search.mdx +11 -10
  57. package/docs/self-hosting/advanced/online-search.zh-CN.mdx +7 -7
  58. package/docs/self-hosting/advanced/s3/tencent-cloud.mdx +2 -2
  59. package/docs/self-hosting/advanced/settings-url-share.mdx +2 -3
  60. package/docs/self-hosting/advanced/upstream-sync.mdx +2 -3
  61. package/docs/self-hosting/advanced/webrtc.mdx +2 -2
  62. package/docs/self-hosting/environment-variables/analytics.mdx +2 -3
  63. package/docs/self-hosting/environment-variables/auth.mdx +2 -3
  64. package/docs/self-hosting/environment-variables/basic.mdx +4 -5
  65. package/docs/self-hosting/environment-variables/basic.zh-CN.mdx +2 -2
  66. package/docs/self-hosting/environment-variables/model-provider.mdx +2 -3
  67. package/docs/self-hosting/environment-variables/s3.mdx +3 -5
  68. package/docs/self-hosting/environment-variables.mdx +2 -2
  69. package/docs/self-hosting/examples/azure-openai.mdx +2 -2
  70. package/docs/self-hosting/examples/ollama.mdx +2 -3
  71. package/docs/self-hosting/faq/no-v1-suffix.mdx +4 -4
  72. package/docs/self-hosting/faq/proxy-with-unable-to-verify-leaf-signature.mdx +2 -3
  73. package/docs/self-hosting/platform/alibaba-cloud.mdx +2 -3
  74. package/docs/self-hosting/platform/btpanel.mdx +5 -5
  75. package/docs/self-hosting/platform/btpanel.zh-CN.mdx +4 -3
  76. package/docs/self-hosting/platform/docker-compose.mdx +2 -3
  77. package/docs/self-hosting/platform/docker-compose.zh-CN.mdx +0 -2
  78. package/docs/self-hosting/platform/docker.mdx +2 -2
  79. package/docs/self-hosting/platform/netlify.mdx +2 -4
  80. package/docs/self-hosting/platform/netlify.zh-CN.mdx +2 -2
  81. package/docs/self-hosting/platform/railway.mdx +2 -3
  82. package/docs/self-hosting/platform/repocloud.mdx +2 -3
  83. package/docs/self-hosting/platform/sealos.mdx +2 -2
  84. package/docs/self-hosting/platform/tencentcloud-lighthouse.mdx +2 -3
  85. package/docs/self-hosting/platform/vercel.mdx +2 -3
  86. package/docs/self-hosting/platform/zeabur.mdx +2 -2
  87. package/docs/self-hosting/server-database/docker-compose.mdx +65 -44
  88. package/docs/self-hosting/server-database/docker-compose.zh-CN.mdx +48 -55
  89. package/docs/self-hosting/server-database/docker.mdx +2 -2
  90. package/docs/self-hosting/server-database/docker.zh-CN.mdx +2 -2
  91. package/docs/self-hosting/server-database/dokploy.mdx +4 -5
  92. package/docs/self-hosting/server-database/dokploy.zh-CN.mdx +137 -138
  93. package/docs/self-hosting/server-database/netlify.mdx +2 -2
  94. package/docs/self-hosting/server-database/netlify.zh-CN.mdx +2 -2
  95. package/docs/self-hosting/server-database/railway.mdx +2 -2
  96. package/docs/self-hosting/server-database/repocloud.mdx +2 -2
  97. package/docs/self-hosting/server-database/sealos.mdx +4 -5
  98. package/docs/self-hosting/server-database/sealos.zh-CN.mdx +18 -20
  99. package/docs/self-hosting/server-database/vercel.mdx +5 -3
  100. package/docs/self-hosting/server-database/vercel.zh-CN.mdx +2 -2
  101. package/docs/self-hosting/server-database/zeabur.mdx +2 -2
  102. package/docs/self-hosting/server-database.mdx +1 -1
  103. package/docs/self-hosting/server-database.zh-CN.mdx +2 -1
  104. package/docs/self-hosting/start.mdx +2 -2
  105. package/docs/self-hosting/start.zh-CN.mdx +2 -2
  106. package/docs/usage/agents/agent-organization.mdx +2 -2
  107. package/docs/usage/agents/concepts.mdx +4 -5
  108. package/docs/usage/agents/concepts.zh-CN.mdx +2 -2
  109. package/docs/usage/agents/custom-agent.mdx +3 -4
  110. package/docs/usage/agents/custom-agent.zh-CN.mdx +1 -1
  111. package/docs/usage/agents/model.mdx +5 -5
  112. package/docs/usage/agents/model.zh-CN.mdx +3 -5
  113. package/docs/usage/agents/prompt.mdx +4 -5
  114. package/docs/usage/agents/topics.mdx +3 -4
  115. package/docs/usage/agents/topics.zh-CN.mdx +1 -1
  116. package/docs/usage/features/agent-market.mdx +3 -11
  117. package/docs/usage/features/agent-market.zh-CN.mdx +2 -7
  118. package/docs/usage/features/artifacts.mdx +2 -2
  119. package/docs/usage/features/auth.mdx +2 -3
  120. package/docs/usage/features/cot.mdx +2 -2
  121. package/docs/usage/features/database.mdx +2 -2
  122. package/docs/usage/features/knowledge-base.mdx +4 -3
  123. package/docs/usage/features/knowledge-base.zh-CN.mdx +2 -1
  124. package/docs/usage/features/local-llm.mdx +2 -3
  125. package/docs/usage/features/mobile.mdx +2 -2
  126. package/docs/usage/features/more.mdx +2 -3
  127. package/docs/usage/features/multi-ai-providers.mdx +2 -3
  128. package/docs/usage/features/plugin-system.mdx +3 -11
  129. package/docs/usage/features/plugin-system.zh-CN.mdx +1 -8
  130. package/docs/usage/features/pwa.mdx +4 -4
  131. package/docs/usage/features/pwa.zh-CN.mdx +2 -1
  132. package/docs/usage/features/text-to-image.mdx +3 -11
  133. package/docs/usage/features/text-to-image.zh-CN.mdx +3 -10
  134. package/docs/usage/features/theme.mdx +2 -3
  135. package/docs/usage/features/tts.mdx +3 -11
  136. package/docs/usage/features/tts.zh-CN.mdx +1 -8
  137. package/docs/usage/features/vision.mdx +3 -11
  138. package/docs/usage/features/vision.zh-CN.mdx +1 -8
  139. package/docs/usage/foundation/basic.mdx +2 -3
  140. package/docs/usage/foundation/share.mdx +2 -3
  141. package/docs/usage/foundation/text2image.mdx +2 -2
  142. package/docs/usage/foundation/translate.mdx +2 -2
  143. package/docs/usage/foundation/tts-stt.mdx +2 -2
  144. package/docs/usage/foundation/vision.mdx +2 -3
  145. package/docs/usage/plugins/basic-usage.mdx +2 -3
  146. package/docs/usage/plugins/custom-plugin.mdx +2 -2
  147. package/docs/usage/plugins/development.mdx +2 -4
  148. package/docs/usage/plugins/store.mdx +2 -2
  149. package/docs/usage/providers/ai21.mdx +2 -2
  150. package/docs/usage/providers/anthropic.mdx +2 -3
  151. package/docs/usage/providers/anthropic.zh-CN.mdx +2 -2
  152. package/docs/usage/providers/azure.mdx +2 -3
  153. package/docs/usage/providers/azureai.mdx +4 -2
  154. package/docs/usage/providers/azureai.zh-CN.mdx +2 -1
  155. package/docs/usage/providers/baichuan.mdx +2 -3
  156. package/docs/usage/providers/bedrock.mdx +2 -3
  157. package/docs/usage/providers/cloudflare.mdx +3 -2
  158. package/docs/usage/providers/deepseek.mdx +2 -2
  159. package/docs/usage/providers/fireworksai.mdx +2 -2
  160. package/docs/usage/providers/giteeai.mdx +2 -2
  161. package/docs/usage/providers/github.mdx +1 -1
  162. package/docs/usage/providers/github.zh-CN.mdx +1 -1
  163. package/docs/usage/providers/google.mdx +2 -3
  164. package/docs/usage/providers/groq.mdx +2 -2
  165. package/docs/usage/providers/hunyuan.mdx +2 -2
  166. package/docs/usage/providers/infiniai.zh-CN.mdx +3 -1
  167. package/docs/usage/providers/internlm.mdx +2 -2
  168. package/docs/usage/providers/jina.mdx +4 -3
  169. package/docs/usage/providers/jina.zh-CN.mdx +2 -2
  170. package/docs/usage/providers/lmstudio.mdx +2 -2
  171. package/docs/usage/providers/lmstudio.zh-CN.mdx +2 -4
  172. package/docs/usage/providers/minimax.mdx +2 -3
  173. package/docs/usage/providers/minimax.zh-CN.mdx +2 -2
  174. package/docs/usage/providers/mistral.mdx +2 -3
  175. package/docs/usage/providers/modelscope.mdx +4 -0
  176. package/docs/usage/providers/modelscope.zh-CN.mdx +4 -0
  177. package/docs/usage/providers/moonshot.mdx +2 -3
  178. package/docs/usage/providers/novita.mdx +2 -3
  179. package/docs/usage/providers/novita.zh-CN.mdx +2 -2
  180. package/docs/usage/providers/nvidia.mdx +3 -2
  181. package/docs/usage/providers/ollama/gemma.mdx +2 -3
  182. package/docs/usage/providers/ollama/gemma.zh-CN.mdx +2 -2
  183. package/docs/usage/providers/ollama.mdx +2 -2
  184. package/docs/usage/providers/openai.mdx +5 -5
  185. package/docs/usage/providers/openai.zh-CN.mdx +3 -3
  186. package/docs/usage/providers/openrouter.mdx +2 -3
  187. package/docs/usage/providers/perplexity.mdx +2 -2
  188. package/docs/usage/providers/ppio.mdx +5 -6
  189. package/docs/usage/providers/ppio.zh-CN.mdx +6 -6
  190. package/docs/usage/providers/qiniu.mdx +6 -6
  191. package/docs/usage/providers/qiniu.zh-CN.mdx +2 -1
  192. package/docs/usage/providers/qwen.mdx +2 -4
  193. package/docs/usage/providers/sambanova.mdx +2 -1
  194. package/docs/usage/providers/sensenova.mdx +2 -2
  195. package/docs/usage/providers/siliconcloud.mdx +2 -2
  196. package/docs/usage/providers/stepfun.mdx +2 -3
  197. package/docs/usage/providers/taichu.mdx +2 -3
  198. package/docs/usage/providers/togetherai.mdx +2 -2
  199. package/docs/usage/providers/vllm.mdx +15 -12
  200. package/docs/usage/providers/vllm.zh-CN.mdx +9 -7
  201. package/docs/usage/providers/volcengine.mdx +16 -14
  202. package/docs/usage/providers/wenxin.mdx +2 -2
  203. package/docs/usage/providers/xai.mdx +2 -2
  204. package/docs/usage/providers/zeroone.mdx +2 -3
  205. package/docs/usage/providers/zeroone.zh-CN.mdx +2 -2
  206. package/docs/usage/providers/zhipu.mdx +2 -3
  207. package/docs/usage/providers/zhipu.zh-CN.mdx +1 -1
  208. package/docs/usage/providers.mdx +2 -3
  209. package/docs/usage/start.mdx +2 -3
  210. package/docs/usage/tools-calling/anthropic.mdx +2 -2
  211. package/docs/usage/tools-calling/anthropic.zh-CN.mdx +2 -2
  212. package/docs/usage/tools-calling/google.mdx +2 -2
  213. package/docs/usage/tools-calling/google.zh-CN.mdx +4 -4
  214. package/docs/usage/tools-calling/groq.zh-CN.mdx +2 -2
  215. package/docs/usage/tools-calling/openai.mdx +2 -2
  216. package/docs/usage/tools-calling/openai.zh-CN.mdx +2 -2
  217. package/package.json +1 -1
  218. package/packages/web-crawler/src/crawImpl/exa.ts +93 -0
  219. package/packages/web-crawler/src/crawImpl/firecrawl.ts +97 -0
  220. package/packages/web-crawler/src/crawImpl/index.ts +6 -0
  221. package/packages/web-crawler/src/crawImpl/tavily.ts +94 -0
  222. package/src/app/(backend)/webapi/user/avatar/[id]/[image]/route.ts +1 -1
  223. package/src/app/[variants]/(main)/repos/[id]/_layout/Mobile.tsx +7 -7
  224. package/src/config/aiModels/deepseek.ts +1 -0
  225. package/src/config/aiModels/hunyuan.ts +1 -0
  226. package/src/config/aiModels/mistral.ts +1 -2
  227. package/src/config/aiModels/modelscope.ts +3 -3
  228. package/src/config/aiModels/novita.ts +23 -22
  229. package/src/config/aiModels/openrouter.ts +1 -0
  230. package/src/config/aiModels/qwen.ts +11 -11
  231. package/src/config/aiModels/siliconcloud.ts +7 -6
  232. package/src/config/aiModels/vertexai.ts +2 -2
  233. package/src/config/aiModels/wenxin.ts +1 -2
  234. package/src/config/modelProviders/baichuan.ts +3 -0
  235. package/src/config/modelProviders/fireworksai.ts +3 -0
  236. package/src/config/modelProviders/giteeai.ts +3 -0
  237. package/src/config/modelProviders/github.ts +1 -2
  238. package/src/config/modelProviders/groq.ts +0 -3
  239. package/src/config/modelProviders/hunyuan.ts +3 -0
  240. package/src/config/modelProviders/infiniai.ts +0 -3
  241. package/src/config/modelProviders/internlm.ts +3 -0
  242. package/src/config/modelProviders/minimax.ts +3 -4
  243. package/src/config/modelProviders/modelscope.ts +3 -3
  244. package/src/config/modelProviders/moonshot.ts +0 -7
  245. package/src/config/modelProviders/novita.ts +3 -0
  246. package/src/config/modelProviders/openrouter.ts +0 -4
  247. package/src/config/modelProviders/perplexity.ts +0 -3
  248. package/src/config/modelProviders/qiniu.ts +0 -3
  249. package/src/config/modelProviders/qwen.ts +0 -3
  250. package/src/config/modelProviders/sensenova.ts +3 -0
  251. package/src/config/modelProviders/siliconcloud.ts +0 -3
  252. package/src/config/modelProviders/spark.ts +0 -5
  253. package/src/config/modelProviders/stepfun.ts +3 -6
  254. package/src/config/modelProviders/taichu.ts +3 -0
  255. package/src/config/modelProviders/tencentcloud.ts +3 -0
  256. package/src/config/modelProviders/togetherai.ts +3 -0
  257. package/src/config/modelProviders/upstage.ts +3 -0
  258. package/src/config/modelProviders/wenxin.ts +3 -4
  259. package/src/config/modelProviders/xai.ts +0 -3
  260. package/src/config/modelProviders/zhipu.ts +3 -0
  261. package/src/database/client/migrations.json +10 -0
  262. package/src/database/migrations/0023_remove_param_and_doubao.sql +6 -0
  263. package/src/database/migrations/meta/0014_snapshot.json +182 -539
  264. package/src/database/migrations/meta/0016_snapshot.json +182 -539
  265. package/src/database/migrations/meta/0023_snapshot.json +5340 -0
  266. package/src/database/migrations/meta/_journal.json +7 -0
  267. package/src/database/repositories/dataImporter/__tests__/fixtures/with-client-id.json +13 -58
  268. package/src/features/ChatInput/ActionBar/Model/ControlsForm.tsx +1 -8
  269. package/src/features/ChatInput/ActionBar/Model/index.tsx +8 -16
  270. package/src/features/ChatInput/ActionBar/Search/Controls.tsx +4 -12
  271. package/src/features/ChatInput/ActionBar/Search/FCSearchModel.tsx +1 -7
  272. package/src/features/ChatInput/ActionBar/Search/index.tsx +2 -4
  273. package/src/features/ModelSwitchPanel/index.tsx +1 -4
  274. package/src/libs/model-runtime/anthropic/index.test.ts +4 -2
  275. package/src/libs/model-runtime/utils/streams/anthropic.ts +12 -11
  276. package/src/libs/model-runtime/utils/streams/openai.ts +6 -4
  277. package/src/libs/model-runtime/utils/streams/protocol.ts +1 -1
  278. package/src/libs/model-runtime/utils/streams/spark.test.ts +1 -1
  279. package/src/libs/model-runtime/utils/streams/spark.ts +1 -2
  280. package/src/middleware.ts +1 -1
  281. package/src/server/services/search/impls/bocha/index.ts +124 -0
  282. package/src/server/services/search/impls/bocha/type.ts +47 -0
  283. package/src/server/services/search/impls/exa/index.ts +129 -0
  284. package/src/server/services/search/impls/exa/type.ts +39 -0
  285. package/src/server/services/search/impls/firecrawl/index.ts +128 -0
  286. package/src/server/services/search/impls/firecrawl/type.ts +35 -0
  287. package/src/server/services/search/impls/index.ts +31 -0
  288. package/src/server/services/search/impls/jina/index.ts +109 -0
  289. package/src/server/services/search/impls/jina/type.ts +26 -0
  290. package/src/server/services/search/impls/tavily/index.ts +124 -0
  291. package/src/server/services/search/impls/tavily/type.ts +36 -0
  292. package/src/server/services/user/index.ts +3 -4
  293. package/src/services/__tests__/assistant.test.ts +4 -6
  294. package/src/services/__tests__/tool.test.ts +3 -1
  295. package/src/store/user/slices/auth/selectors.ts +1 -1
  296. package/src/store/user/slices/common/action.test.ts +1 -1
  297. package/src/tools/web-browsing/index.ts +1 -7
@@ -100,16 +100,15 @@ export class UserService {
100
100
  const s3 = new S3();
101
101
  const s3FileUrl = `user/avatar/${id}/${image}`;
102
102
 
103
- try{
103
+ try {
104
104
  const file = await s3.getFileByteArray(s3FileUrl);
105
105
  if (!file) {
106
106
  return null;
107
107
  }
108
108
  const fileBuffer = Buffer.from(file);
109
109
  return fileBuffer;
110
- }
111
- catch (error) {
110
+ } catch (error) {
112
111
  pino.error('Failed to get user avatar:', error);
113
112
  }
114
- }
113
+ };
115
114
  }
@@ -36,7 +36,7 @@ describe('AssistantService', () => {
36
36
  // Arrange
37
37
  const fakeResponse = { agents: [{ name: 'TestAssisstant' }] };
38
38
  (globalHelpers.getCurrentLanguage as Mock).mockReturnValue('tt');
39
-
39
+
40
40
  (edgeClient.market.getAgentIndex.query as Mock).mockResolvedValue(fakeResponse);
41
41
 
42
42
  // Act
@@ -50,21 +50,19 @@ describe('AssistantService', () => {
50
50
  it('should handle fetch error', async () => {
51
51
  // Arrange
52
52
  (globalHelpers.getCurrentLanguage as Mock).mockReturnValue('en');
53
- (edgeClient.market.getAgentIndex.query as Mock).mockRejectedValue(
54
- new Error('Network error'),
55
- );
53
+ (edgeClient.market.getAgentIndex.query as Mock).mockRejectedValue(new Error('Network error'));
56
54
 
57
55
  // Act & Assert
58
56
  await expect(assistantService.getAssistantList()).rejects.toThrow('Network error');
59
57
  });
60
58
  });
61
-
59
+
62
60
  describe('getAssistantById', () => {
63
61
  it('should fetch and return the assistant by id', async () => {
64
62
  // Arrange
65
63
  const fakeResponse = { identifier: 'test-assisstant' };
66
64
  (globalHelpers.getCurrentLanguage as Mock).mockReturnValue('tt');
67
-
65
+
68
66
  (edgeClient.market.getAgent.query as Mock).mockResolvedValue(fakeResponse);
69
67
 
70
68
  // Act
@@ -49,7 +49,9 @@ describe('ToolService', () => {
49
49
  it('should handle fetch error', async () => {
50
50
  // Arrange
51
51
  (globalHelpers.getCurrentLanguage as Mock).mockReturnValue('en');
52
- (edgeClient.market.getPluginIndex.query as Mock).mockRejectedValue(new Error('Network error'));
52
+ (edgeClient.market.getPluginIndex.query as Mock).mockRejectedValue(
53
+ new Error('Network error'),
54
+ );
53
55
 
54
56
  // Act & Assert
55
57
  await expect(toolService.getToolList()).rejects.toThrow('Network error');
@@ -2,9 +2,9 @@ import { t } from 'i18next';
2
2
 
3
3
  import { enableAuth, enableClerk, enableNextAuth } from '@/const/auth';
4
4
  import { BRANDING_NAME } from '@/const/branding';
5
+ import { isDesktop } from '@/const/version';
5
6
  import { UserStore } from '@/store/user';
6
7
  import { LobeUser } from '@/types/user';
7
- import { isDesktop } from '@/const/version';
8
8
 
9
9
  const DEFAULT_USERNAME = BRANDING_NAME;
10
10
 
@@ -83,7 +83,7 @@ describe('createCommonSlice', () => {
83
83
  settings: {
84
84
  general: { fontSize: 14 },
85
85
  },
86
- email: 'test@example.com'
86
+ email: 'test@example.com',
87
87
  };
88
88
 
89
89
  vi.spyOn(userService, 'getUserState').mockResolvedValueOnce(mockUserState);
@@ -25,13 +25,7 @@ export const WebBrowsingManifest: BuiltinToolManifest = {
25
25
  searchCategories: {
26
26
  description: 'The search categories you can set:',
27
27
  items: {
28
- enum: [
29
- 'general',
30
- 'images',
31
- 'news',
32
- 'science',
33
- 'videos',
34
- ],
28
+ enum: ['general', 'images', 'news', 'science', 'videos'],
35
29
  type: 'string',
36
30
  },
37
31
  type: 'array',