@lobehub/lobehub 2.0.0-next.3 → 2.0.0-next.31

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 (728) hide show
  1. package/.env.desktop +1 -2
  2. package/.env.example +0 -3
  3. package/.env.example.development +0 -2
  4. package/.github/workflows/claude-auto-testing.yml +73 -0
  5. package/.github/workflows/claude-translate-comments.yml +67 -0
  6. package/.github/workflows/desktop-pr-build.yml +18 -16
  7. package/.github/workflows/docker.yml +25 -20
  8. package/.github/workflows/e2e.yml +17 -3
  9. package/.github/workflows/release-desktop-beta.yml +12 -12
  10. package/.github/workflows/release.yml +3 -5
  11. package/.github/workflows/test.yml +47 -12
  12. package/.nvmrc +1 -1
  13. package/CHANGELOG.md +684 -0
  14. package/Dockerfile +1 -3
  15. package/README.md +2 -45
  16. package/README.zh-CN.md +2 -45
  17. package/apps/desktop/src/main/controllers/AuthCtr.ts +53 -39
  18. package/apps/desktop/src/main/controllers/MenuCtr.ts +5 -5
  19. package/apps/desktop/src/main/controllers/NotificationCtr.ts +29 -29
  20. package/apps/desktop/src/main/controllers/RemoteServerConfigCtr.ts +16 -16
  21. package/apps/desktop/src/main/controllers/ShortcutCtr.ts +2 -2
  22. package/apps/desktop/src/main/controllers/TrayMenuCtr.ts +18 -18
  23. package/apps/desktop/src/main/controllers/UpdaterCtr.ts +4 -4
  24. package/apps/desktop/src/main/controllers/__tests__/AuthCtr.test.ts +706 -0
  25. package/apps/desktop/src/main/controllers/__tests__/TrayMenuCtr.test.ts +5 -5
  26. package/apps/desktop/src/main/controllers/index.ts +4 -4
  27. package/apps/desktop/src/main/utils/next-electron-rsc.ts +7 -5
  28. package/apps/desktop/tsconfig.json +0 -1
  29. package/changelog/v1.json +232 -0
  30. package/docs/development/database-schema.dbml +12 -0
  31. package/docs/self-hosting/advanced/auth/next-auth/auth0.mdx +2 -2
  32. package/docs/self-hosting/advanced/auth/next-auth/auth0.zh-CN.mdx +2 -2
  33. package/docs/self-hosting/advanced/auth/next-auth/authelia.mdx +2 -2
  34. package/docs/self-hosting/advanced/auth/next-auth/authelia.zh-CN.mdx +2 -2
  35. package/docs/self-hosting/advanced/auth/next-auth/authentik.mdx +2 -2
  36. package/docs/self-hosting/advanced/auth/next-auth/authentik.zh-CN.mdx +2 -2
  37. package/docs/self-hosting/advanced/auth/next-auth/casdoor.mdx +2 -2
  38. package/docs/self-hosting/advanced/auth/next-auth/casdoor.zh-CN.mdx +2 -2
  39. package/docs/self-hosting/advanced/auth/next-auth/cloudflare-zero-trust.mdx +2 -2
  40. package/docs/self-hosting/advanced/auth/next-auth/cloudflare-zero-trust.zh-CN.mdx +2 -2
  41. package/docs/self-hosting/advanced/auth/next-auth/github.mdx +2 -2
  42. package/docs/self-hosting/advanced/auth/next-auth/github.zh-CN.mdx +2 -2
  43. package/docs/self-hosting/advanced/auth/next-auth/google.mdx +32 -29
  44. package/docs/self-hosting/advanced/auth/next-auth/keycloak.mdx +2 -2
  45. package/docs/self-hosting/advanced/auth/next-auth/keycloak.zh-CN.mdx +2 -2
  46. package/docs/self-hosting/advanced/auth/next-auth/logto.mdx +5 -3
  47. package/docs/self-hosting/advanced/auth/next-auth/logto.zh-CN.mdx +5 -3
  48. package/docs/self-hosting/advanced/auth/next-auth/microsoft-entra-id.mdx +2 -2
  49. package/docs/self-hosting/advanced/auth/next-auth/microsoft-entra-id.zh-CN.mdx +2 -2
  50. package/docs/self-hosting/advanced/auth/next-auth/okta.mdx +2 -2
  51. package/docs/self-hosting/advanced/auth/next-auth/okta.zh-CN.mdx +2 -2
  52. package/docs/self-hosting/advanced/auth/next-auth/wechat.mdx +2 -2
  53. package/docs/self-hosting/advanced/auth/next-auth/wechat.zh-CN.mdx +2 -2
  54. package/docs/self-hosting/advanced/auth/next-auth/zitadel.mdx +2 -2
  55. package/docs/self-hosting/advanced/auth/next-auth/zitadel.zh-CN.mdx +2 -2
  56. package/docs/self-hosting/advanced/auth.mdx +32 -21
  57. package/docs/self-hosting/advanced/auth.zh-CN.mdx +30 -19
  58. package/docs/self-hosting/advanced/feature-flags.mdx +0 -1
  59. package/docs/self-hosting/advanced/feature-flags.zh-CN.mdx +0 -1
  60. package/docs/self-hosting/advanced/online-search.mdx +30 -25
  61. package/docs/self-hosting/advanced/online-search.zh-CN.mdx +25 -23
  62. package/e2e/src/features/discover/detail-pages.feature +95 -0
  63. package/e2e/src/features/discover/interactions.feature +113 -0
  64. package/e2e/src/features/discover/smoke.feature +34 -1
  65. package/e2e/src/steps/discover/detail-pages.steps.ts +295 -0
  66. package/e2e/src/steps/discover/interactions.steps.ts +451 -0
  67. package/e2e/src/steps/discover/smoke.steps.ts +116 -4
  68. package/e2e/tsconfig.json +0 -1
  69. package/locales/ar/labs.json +4 -0
  70. package/locales/ar/models.json +15 -6
  71. package/locales/ar/oauth.json +1 -0
  72. package/locales/bg-BG/labs.json +4 -0
  73. package/locales/bg-BG/models.json +15 -6
  74. package/locales/bg-BG/oauth.json +1 -0
  75. package/locales/de-DE/labs.json +4 -0
  76. package/locales/de-DE/models.json +15 -6
  77. package/locales/de-DE/oauth.json +1 -0
  78. package/locales/en-US/labs.json +4 -0
  79. package/locales/en-US/models.json +15 -6
  80. package/locales/en-US/oauth.json +1 -0
  81. package/locales/es-ES/labs.json +4 -0
  82. package/locales/es-ES/models.json +15 -6
  83. package/locales/es-ES/oauth.json +1 -0
  84. package/locales/fa-IR/labs.json +4 -0
  85. package/locales/fa-IR/models.json +15 -6
  86. package/locales/fa-IR/oauth.json +1 -0
  87. package/locales/fr-FR/labs.json +4 -0
  88. package/locales/fr-FR/models.json +15 -6
  89. package/locales/fr-FR/oauth.json +1 -0
  90. package/locales/it-IT/labs.json +4 -0
  91. package/locales/it-IT/models.json +15 -6
  92. package/locales/it-IT/oauth.json +1 -0
  93. package/locales/ja-JP/labs.json +4 -0
  94. package/locales/ja-JP/models.json +15 -6
  95. package/locales/ja-JP/oauth.json +1 -0
  96. package/locales/ko-KR/labs.json +4 -0
  97. package/locales/ko-KR/models.json +21 -12
  98. package/locales/ko-KR/oauth.json +1 -0
  99. package/locales/nl-NL/labs.json +4 -0
  100. package/locales/nl-NL/models.json +15 -6
  101. package/locales/nl-NL/oauth.json +1 -0
  102. package/locales/pl-PL/labs.json +4 -0
  103. package/locales/pl-PL/models.json +15 -6
  104. package/locales/pl-PL/oauth.json +1 -0
  105. package/locales/pt-BR/labs.json +4 -0
  106. package/locales/pt-BR/models.json +15 -6
  107. package/locales/pt-BR/oauth.json +1 -0
  108. package/locales/ru-RU/labs.json +4 -0
  109. package/locales/ru-RU/models.json +15 -6
  110. package/locales/ru-RU/oauth.json +1 -0
  111. package/locales/tr-TR/labs.json +4 -0
  112. package/locales/tr-TR/models.json +15 -6
  113. package/locales/tr-TR/oauth.json +1 -0
  114. package/locales/vi-VN/labs.json +4 -0
  115. package/locales/vi-VN/models.json +15 -6
  116. package/locales/vi-VN/oauth.json +1 -0
  117. package/locales/zh-CN/labs.json +4 -0
  118. package/locales/zh-CN/models.json +15 -6
  119. package/locales/zh-CN/oauth.json +1 -0
  120. package/locales/zh-TW/labs.json +4 -0
  121. package/locales/zh-TW/models.json +15 -6
  122. package/locales/zh-TW/oauth.json +1 -0
  123. package/next.config.ts +2 -3
  124. package/package.json +76 -82
  125. package/packages/const/src/index.ts +0 -1
  126. package/packages/const/src/url.ts +1 -4
  127. package/packages/const/src/user.ts +5 -2
  128. package/packages/const/src/version.ts +3 -3
  129. package/packages/context-engine/src/index.ts +1 -6
  130. package/packages/context-engine/src/processors/GroupMessageFlatten.ts +12 -2
  131. package/packages/context-engine/src/processors/__tests__/GroupMessageFlatten.test.ts +73 -9
  132. package/packages/context-engine/src/providers/index.ts +0 -2
  133. package/packages/database/migrations/0041_improve_index.sql +10 -0
  134. package/packages/database/migrations/0042_improve_agent_index.sql +1 -0
  135. package/packages/database/migrations/0043_add_ai_model_settings.sql +1 -0
  136. package/packages/database/migrations/meta/0041_snapshot.json +7784 -0
  137. package/packages/database/migrations/meta/0042_snapshot.json +7800 -0
  138. package/packages/database/migrations/meta/0043_snapshot.json +8419 -0
  139. package/packages/database/migrations/meta/_journal.json +21 -0
  140. package/packages/database/package.json +2 -2
  141. package/packages/database/src/core/migrations.json +33 -0
  142. package/packages/database/src/core/web-server.ts +2 -1
  143. package/packages/database/src/models/__tests__/message.grouping.test.ts +812 -0
  144. package/packages/database/src/models/__tests__/message.test.ts +256 -233
  145. package/packages/database/src/models/agent.ts +16 -13
  146. package/packages/database/src/models/message.ts +90 -74
  147. package/packages/database/src/models/session.ts +80 -28
  148. package/packages/database/src/models/user.ts +2 -1
  149. package/packages/database/src/repositories/aiInfra/index.test.ts +198 -0
  150. package/packages/database/src/repositories/aiInfra/index.ts +2 -1
  151. package/packages/database/src/repositories/dataImporter/deprecated/__tests__/index.test.ts +2 -1
  152. package/packages/database/src/repositories/dataImporter/deprecated/index.ts +7 -1
  153. package/packages/database/src/schemas/agent.ts +13 -11
  154. package/packages/database/src/schemas/aiInfra.ts +2 -0
  155. package/packages/database/src/schemas/message.ts +5 -1
  156. package/packages/database/src/schemas/relations.ts +6 -4
  157. package/packages/database/src/schemas/session.ts +2 -0
  158. package/packages/database/src/schemas/topic.ts +6 -1
  159. package/packages/database/src/utils/__tests__/groupMessages.test.ts +145 -2
  160. package/packages/database/src/utils/groupMessages.ts +7 -5
  161. package/packages/electron-client-ipc/package.json +4 -1
  162. package/packages/file-loaders/package.json +1 -0
  163. package/packages/memory-extract/package.json +2 -2
  164. package/packages/model-bank/src/aiModels/anthropic.ts +0 -63
  165. package/packages/model-bank/src/aiModels/higress.ts +0 -55
  166. package/packages/model-bank/src/aiModels/infiniai.ts +21 -0
  167. package/packages/model-bank/src/aiModels/ollamacloud.ts +13 -0
  168. package/packages/model-bank/src/aiModels/siliconcloud.ts +19 -0
  169. package/packages/model-runtime/src/core/streams/openai/__snapshots__/responsesStream.test.ts.snap +0 -38
  170. package/packages/model-runtime/src/providers/minimax/index.ts +5 -5
  171. package/packages/model-runtime/src/providers/search1api/index.test.ts +2 -2
  172. package/packages/model-runtime/src/utils/googleErrorParser.test.ts +125 -0
  173. package/packages/model-runtime/src/utils/googleErrorParser.ts +103 -77
  174. package/packages/obervability-otel/package.json +1 -3
  175. package/packages/obervability-otel/src/node.ts +3 -7
  176. package/packages/types/src/discover/mcp.ts +6 -0
  177. package/packages/types/src/index.ts +0 -1
  178. package/packages/types/src/message/common/base.ts +13 -0
  179. package/packages/types/src/message/common/image.ts +8 -0
  180. package/packages/types/src/message/common/metadata.ts +39 -0
  181. package/packages/types/src/message/common/tools.ts +10 -0
  182. package/packages/types/src/message/db/params.ts +47 -1
  183. package/packages/types/src/message/ui/chat.ts +4 -1
  184. package/packages/types/src/message/ui/params.ts +49 -4
  185. package/packages/types/src/plugins/mcp.ts +4 -1
  186. package/packages/types/src/search.ts +16 -0
  187. package/packages/types/src/serverConfig.ts +2 -6
  188. package/packages/types/src/topic/topic.ts +14 -0
  189. package/packages/types/src/user/index.ts +2 -76
  190. package/packages/types/src/user/preference.ts +105 -0
  191. package/packages/types/src/user/settings/index.ts +22 -0
  192. package/packages/utils/src/apiKey.test.ts +139 -0
  193. package/packages/utils/src/client/clipboard.ts +2 -2
  194. package/packages/utils/src/client/exportFile.ts +10 -10
  195. package/packages/utils/src/client/parserPlaceholder.ts +18 -18
  196. package/packages/utils/src/client/topic.ts +10 -10
  197. package/packages/utils/src/client/xor-obfuscation.ts +11 -11
  198. package/packages/utils/src/server/auth.ts +6 -6
  199. package/packages/utils/src/server/geo.ts +9 -9
  200. package/packages/utils/src/server/xor.ts +7 -7
  201. package/packages/web-crawler/src/crawImpl/firecrawl.ts +39 -12
  202. package/packages/web-crawler/tsconfig.json +0 -1
  203. package/renovate.json +23 -1
  204. package/scripts/migrateServerDB/errorHint.js +1 -7
  205. package/scripts/migrateServerDB/index.ts +2 -1
  206. package/src/app/(backend)/webapi/revalidate/route.ts +1 -1
  207. package/src/app/[variants]/(auth)/signup/[[...signup]]/page.tsx +1 -8
  208. package/src/app/[variants]/(main)/(mobile)/me/(home)/__tests__/useCategory.test.tsx +9 -0
  209. package/src/app/[variants]/(main)/(mobile)/me/(home)/features/UserBanner.tsx +3 -6
  210. package/src/app/[variants]/(main)/(mobile)/me/(home)/layout.tsx +0 -2
  211. package/src/app/[variants]/(main)/_layout/Desktop/SideBar/TopActions.tsx +1 -4
  212. package/src/app/[variants]/(main)/chat/(workspace)/@conversation/features/ChatInput/V1Mobile/index.tsx +2 -2
  213. package/src/app/[variants]/(main)/chat/(workspace)/@conversation/features/ChatInput/V1Mobile/useSend.ts +6 -4
  214. package/src/app/[variants]/(main)/chat/(workspace)/@conversation/features/ChatInput/useSend.ts +15 -10
  215. package/src/app/[variants]/(main)/chat/@session/features/SessionListContent/List/Item/Actions.tsx +3 -28
  216. package/src/app/[variants]/(main)/chat/@session/features/SessionListContent/List/Item/index.tsx +4 -2
  217. package/src/app/[variants]/(main)/chat/_layout/Desktop/index.tsx +0 -2
  218. package/src/app/[variants]/(main)/chat/_layout/Mobile.tsx +1 -5
  219. package/src/app/[variants]/(main)/chat/settings/features/HeaderContent.tsx +2 -62
  220. package/src/app/[variants]/(main)/discover/(list)/features/Pagination.tsx +1 -0
  221. package/src/app/[variants]/(main)/discover/(list)/features/SortButton/index.tsx +1 -1
  222. package/src/app/[variants]/(main)/discover/(list)/mcp/features/List/Item.tsx +1 -0
  223. package/src/app/[variants]/(main)/discover/(list)/model/features/List/Item.tsx +1 -0
  224. package/src/app/[variants]/(main)/discover/(list)/provider/features/List/Item.tsx +1 -0
  225. package/src/app/[variants]/(main)/discover/components/CategoryMenu.tsx +9 -1
  226. package/src/app/[variants]/(main)/image/@topic/features/Topics/TopicList.tsx +1 -0
  227. package/src/app/[variants]/(main)/image/features/PromptInput/index.tsx +1 -1
  228. package/src/app/[variants]/(main)/image/page.tsx +0 -2
  229. package/src/app/[variants]/(main)/labs/components/LabCard.tsx +8 -6
  230. package/src/app/[variants]/(main)/labs/page.tsx +19 -22
  231. package/src/app/[variants]/(main)/profile/_layout/Desktop/index.tsx +23 -24
  232. package/src/app/[variants]/(main)/profile/_layout/Mobile/index.tsx +5 -9
  233. package/src/app/[variants]/(main)/settings/_layout/Desktop/index.tsx +0 -2
  234. package/src/app/[variants]/(main)/settings/_layout/Mobile/index.tsx +0 -2
  235. package/src/app/[variants]/(main)/settings/provider/(list)/ProviderGrid/Card.tsx +1 -1
  236. package/src/app/[variants]/(main)/settings/provider/detail/azure/index.tsx +6 -8
  237. package/src/app/[variants]/(main)/settings/provider/detail/azureai/index.tsx +1 -1
  238. package/src/app/[variants]/(main)/settings/provider/detail/bedrock/index.tsx +1 -1
  239. package/src/app/[variants]/(main)/settings/provider/detail/cloudflare/index.tsx +1 -1
  240. package/src/app/[variants]/(main)/settings/provider/detail/comfyui/index.tsx +1 -1
  241. package/src/app/[variants]/(main)/settings/provider/detail/github/index.tsx +1 -1
  242. package/src/app/[variants]/(main)/settings/provider/detail/vertexai/index.tsx +1 -1
  243. package/src/app/[variants]/(main)/settings/provider/features/ProviderConfig/index.tsx +2 -4
  244. package/src/app/[variants]/layout.tsx +1 -0
  245. package/src/app/[variants]/loading/index.tsx +1 -10
  246. package/src/app/[variants]/oauth/ResultLayout.tsx +47 -0
  247. package/src/app/[variants]/oauth/callback/error/page.tsx +20 -33
  248. package/src/app/[variants]/oauth/callback/layout.tsx +1 -0
  249. package/src/app/[variants]/oauth/callback/success/page.tsx +8 -22
  250. package/src/app/[variants]/oauth/consent/[uid]/Consent/BuiltinConsent.tsx +47 -0
  251. package/src/app/[variants]/oauth/consent/[uid]/{Consent.tsx → Consent/index.tsx} +12 -1
  252. package/src/app/[variants]/oauth/consent/[uid]/Login.tsx +19 -2
  253. package/src/app/sitemap.tsx +7 -1
  254. package/src/components/InvalidAPIKey/APIKeyForm/Bedrock.tsx +8 -13
  255. package/src/components/Link.tsx +12 -0
  256. package/src/components/Skeleton/SkeletonSwitch.tsx +13 -0
  257. package/src/components/Skeleton/index.ts +2 -0
  258. package/src/components/Thinking/index.tsx +4 -3
  259. package/src/config/db.ts +0 -5
  260. package/src/config/featureFlags/schema.test.ts +0 -2
  261. package/src/config/featureFlags/schema.ts +0 -6
  262. package/src/config/modelProviders/ai21.ts +1 -16
  263. package/src/config/modelProviders/ai302.ts +1 -128
  264. package/src/config/modelProviders/ai360.ts +1 -32
  265. package/src/config/modelProviders/anthropic.ts +1 -94
  266. package/src/config/modelProviders/azure.ts +1 -51
  267. package/src/config/modelProviders/baichuan.ts +1 -57
  268. package/src/config/modelProviders/bedrock.ts +1 -276
  269. package/src/config/modelProviders/cloudflare.ts +1 -64
  270. package/src/config/modelProviders/deepseek.ts +1 -19
  271. package/src/config/modelProviders/fireworksai.ts +1 -174
  272. package/src/config/modelProviders/giteeai.ts +1 -135
  273. package/src/config/modelProviders/github.ts +1 -254
  274. package/src/config/modelProviders/google.ts +1 -130
  275. package/src/config/modelProviders/groq.ts +1 -119
  276. package/src/config/modelProviders/higress.ts +1 -1736
  277. package/src/config/modelProviders/huggingface.ts +1 -54
  278. package/src/config/modelProviders/hunyuan.ts +1 -83
  279. package/src/config/modelProviders/infiniai.ts +1 -74
  280. package/src/config/modelProviders/internlm.ts +1 -20
  281. package/src/config/modelProviders/minimax.ts +1 -1
  282. package/src/config/modelProviders/mistral.ts +1 -95
  283. package/src/config/modelProviders/modelscope.ts +1 -27
  284. package/src/config/modelProviders/moonshot.ts +1 -29
  285. package/src/config/modelProviders/novita.ts +1 -105
  286. package/src/config/modelProviders/ollama.ts +1 -325
  287. package/src/config/modelProviders/openai.ts +1 -242
  288. package/src/config/modelProviders/openrouter.ts +1 -240
  289. package/src/config/modelProviders/perplexity.ts +1 -45
  290. package/src/config/modelProviders/ppio.ts +1 -152
  291. package/src/config/modelProviders/qiniu.ts +2 -19
  292. package/src/config/modelProviders/qwen.ts +1 -245
  293. package/src/config/modelProviders/search1api.ts +1 -34
  294. package/src/config/modelProviders/sensenova.ts +1 -69
  295. package/src/config/modelProviders/siliconcloud.ts +1 -417
  296. package/src/config/modelProviders/spark.ts +1 -59
  297. package/src/config/modelProviders/stepfun.ts +1 -98
  298. package/src/config/modelProviders/taichu.ts +1 -18
  299. package/src/config/modelProviders/togetherai.ts +1 -274
  300. package/src/config/modelProviders/upstage.ts +1 -28
  301. package/src/config/modelProviders/wenxin.ts +1 -140
  302. package/src/config/modelProviders/xai.ts +1 -38
  303. package/src/config/modelProviders/zeroone.ts +1 -81
  304. package/src/config/modelProviders/zhipu.ts +1 -108
  305. package/src/envs/app.ts +5 -8
  306. package/src/envs/auth.ts +0 -179
  307. package/src/features/AgentSetting/AgentPlugin/index.tsx +2 -2
  308. package/src/features/ChatInput/ActionBar/STT/browser.tsx +2 -2
  309. package/src/features/ChatInput/ActionBar/STT/openai.tsx +2 -2
  310. package/src/features/ChatInput/ActionBar/Tools/useControls.tsx +1 -3
  311. package/src/features/ChatInput/ActionBar/index.tsx +2 -2
  312. package/src/features/ChatInput/InputEditor/index.tsx +2 -2
  313. package/src/features/Conversation/Error/ErrorJsonViewer.tsx +4 -3
  314. package/src/features/Conversation/Error/OllamaBizError/index.tsx +7 -2
  315. package/src/features/Conversation/Error/index.tsx +15 -5
  316. package/src/features/Conversation/MarkdownElements/LobeArtifact/Render/index.tsx +2 -2
  317. package/src/features/Conversation/Messages/Assistant/Extra/index.tsx +2 -2
  318. package/src/features/Conversation/Messages/Assistant/MessageContent.tsx +5 -3
  319. package/src/features/Conversation/Messages/Assistant/Tool/Inspector/BuiltinPluginTitle.tsx +2 -2
  320. package/src/features/Conversation/Messages/Assistant/Tool/Inspector/ToolTitle.tsx +4 -2
  321. package/src/features/Conversation/Messages/Assistant/Tool/Render/CustomRender.tsx +2 -2
  322. package/src/features/Conversation/Messages/Assistant/Tool/Render/index.tsx +2 -2
  323. package/src/features/Conversation/Messages/Assistant/Tool/index.tsx +2 -2
  324. package/src/features/Conversation/Messages/Assistant/index.tsx +4 -4
  325. package/src/features/Conversation/Messages/Default.tsx +2 -2
  326. package/src/features/Conversation/Messages/Group/Actions/WithContentId.tsx +152 -0
  327. package/src/features/Conversation/Messages/Group/Actions/WithoutContentId.tsx +70 -0
  328. package/src/features/Conversation/Messages/Group/Actions/index.tsx +21 -0
  329. package/src/features/Conversation/Messages/Group/ContentBlock.tsx +91 -0
  330. package/src/features/Conversation/Messages/Group/EditState.tsx +51 -0
  331. package/src/features/Conversation/Messages/Group/Error/index.tsx +53 -0
  332. package/src/features/Conversation/Messages/Group/GroupChildren.tsx +73 -0
  333. package/src/features/Conversation/Messages/Group/MessageContent.tsx +39 -0
  334. package/src/features/Conversation/Messages/Group/Tool/Inspector/BuiltinPluginTitle.tsx +49 -0
  335. package/src/features/Conversation/Messages/Group/Tool/Inspector/Debug.tsx +70 -0
  336. package/src/features/Conversation/Messages/Group/Tool/Inspector/PluginResult.tsx +34 -0
  337. package/src/features/Conversation/Messages/Group/Tool/Inspector/PluginState.tsx +18 -0
  338. package/src/features/Conversation/Messages/Group/Tool/Inspector/Settings.tsx +40 -0
  339. package/src/features/Conversation/Messages/Group/Tool/Inspector/ToolTitle.tsx +92 -0
  340. package/src/features/Conversation/Messages/Group/Tool/Inspector/index.tsx +176 -0
  341. package/src/features/Conversation/Messages/Group/Tool/Render/Arguments/ObjectEntity.tsx +81 -0
  342. package/src/features/Conversation/Messages/Group/Tool/Render/Arguments/ValueCell.tsx +43 -0
  343. package/src/features/Conversation/Messages/Group/Tool/Render/Arguments/index.tsx +134 -0
  344. package/src/features/Conversation/Messages/Group/Tool/Render/CustomRender.tsx +88 -0
  345. package/src/features/Conversation/Messages/Group/Tool/Render/ErrorResponse.tsx +35 -0
  346. package/src/features/Conversation/Messages/Group/Tool/Render/LoadingPlaceholder/index.tsx +29 -0
  347. package/src/features/Conversation/Messages/Group/Tool/Render/PluginSettings.tsx +66 -0
  348. package/src/features/Conversation/Messages/Group/Tool/Render/index.tsx +105 -0
  349. package/src/features/Conversation/Messages/Group/Tool/index.tsx +75 -0
  350. package/src/features/Conversation/Messages/Group/Tools.tsx +46 -0
  351. package/src/features/Conversation/Messages/Group/index.tsx +140 -0
  352. package/src/features/Conversation/Messages/User/Extra.tsx +2 -2
  353. package/src/features/Conversation/Messages/User/index.tsx +4 -4
  354. package/src/features/Conversation/Messages/index.tsx +15 -3
  355. package/src/features/Conversation/components/AutoScroll.tsx +2 -2
  356. package/src/features/Conversation/components/Extras/Usage/UsageDetail/index.tsx +9 -6
  357. package/src/features/Conversation/components/ShareMessageModal/ShareImage/Preview.tsx +2 -2
  358. package/src/features/DataImporter/index.tsx +15 -60
  359. package/src/features/DevPanel/PostgresViewer/usePgTable.ts +3 -2
  360. package/src/features/MCP/utils.test.ts +91 -0
  361. package/src/features/MCP/utils.ts +20 -2
  362. package/src/features/PluginStore/Content.tsx +2 -3
  363. package/src/features/PluginStore/McpList/index.tsx +6 -2
  364. package/src/features/PluginTag/index.tsx +1 -3
  365. package/src/features/PluginsUI/Render/BuiltinType/index.test.tsx +37 -28
  366. package/src/features/Portal/Artifacts/Body/index.tsx +2 -2
  367. package/src/helpers/isCanUseFC.ts +0 -8
  368. package/src/hooks/useEnabledChatModels.ts +0 -8
  369. package/src/hooks/useInterceptingRoutes.test.ts +21 -3
  370. package/src/hooks/useModelContextWindowTokens.ts +0 -8
  371. package/src/hooks/useModelHasContextWindowToken.ts +1 -10
  372. package/src/hooks/useModelSupportFiles.ts +1 -11
  373. package/src/hooks/useModelSupportReasoning.ts +1 -11
  374. package/src/hooks/useModelSupportToolUse.ts +1 -11
  375. package/src/hooks/useModelSupportVision.ts +1 -11
  376. package/src/layout/AuthProvider/Clerk/index.tsx +2 -16
  377. package/src/libs/next-auth/auth.config.ts +3 -6
  378. package/src/libs/next-auth/sso-providers/auth0.ts +0 -7
  379. package/src/libs/next-auth/sso-providers/authelia.ts +3 -5
  380. package/src/libs/next-auth/sso-providers/authentik.ts +0 -7
  381. package/src/libs/next-auth/sso-providers/cloudflare-zero-trust.ts +3 -6
  382. package/src/libs/next-auth/sso-providers/cognito.ts +1 -5
  383. package/src/libs/next-auth/sso-providers/generic-oidc.ts +3 -5
  384. package/src/libs/next-auth/sso-providers/github.ts +0 -6
  385. package/src/libs/next-auth/sso-providers/google.ts +0 -2
  386. package/src/libs/next-auth/sso-providers/index.ts +0 -2
  387. package/src/libs/next-auth/sso-providers/keycloak.ts +0 -3
  388. package/src/libs/next-auth/sso-providers/logto.ts +3 -5
  389. package/src/libs/next-auth/sso-providers/okta.ts +0 -4
  390. package/src/libs/next-auth/sso-providers/zitadel.ts +0 -7
  391. package/src/libs/oidc-provider/provider.ts +1 -1
  392. package/src/libs/trpc/client/index.ts +0 -1
  393. package/src/libs/trpc/client/lambda.ts +8 -5
  394. package/src/libs/trpc/lambda/context.ts +4 -1
  395. package/src/locales/default/labs.ts +4 -0
  396. package/src/locales/default/oauth.ts +1 -0
  397. package/src/server/globalConfig/index.ts +0 -23
  398. package/src/server/modules/AssistantStore/index.ts +1 -1
  399. package/src/server/modules/ModelRuntime/trace.ts +11 -4
  400. package/src/server/routers/desktop/mcp.ts +1 -3
  401. package/src/server/routers/lambda/__tests__/integration/message.integration.test.ts +810 -70
  402. package/src/server/routers/lambda/config/__snapshots__/index.test.ts.snap +175 -12
  403. package/src/server/routers/lambda/config/index.test.ts +38 -30
  404. package/src/server/routers/lambda/market/index.ts +4 -2
  405. package/src/server/routers/lambda/message.ts +60 -52
  406. package/src/server/routers/lambda/session.ts +8 -5
  407. package/src/server/routers/lambda/topic.ts +7 -1
  408. package/src/server/routers/lambda/user.ts +32 -31
  409. package/src/server/routers/tools/mcp.ts +2 -3
  410. package/src/server/routers/tools/search.test.ts +1 -7
  411. package/src/server/routers/tools/search.ts +1 -4
  412. package/src/server/services/mcp/deps/MCPSystemDepsCheckService.test.ts +541 -0
  413. package/src/server/services/message/__tests__/index.test.ts +348 -0
  414. package/src/server/services/message/index.ts +159 -0
  415. package/src/server/services/search/impls/firecrawl/index.ts +51 -11
  416. package/src/server/services/search/impls/firecrawl/type.ts +60 -9
  417. package/src/services/__tests__/tool.test.ts +0 -3
  418. package/src/services/aiModel/index.test.ts +3 -6
  419. package/src/services/aiModel/index.ts +55 -7
  420. package/src/services/aiProvider/index.test.ts +2 -5
  421. package/src/services/aiProvider/index.ts +47 -7
  422. package/src/services/chat/chat.test.ts +13 -40
  423. package/src/services/chat/contextEngineering.test.ts +0 -30
  424. package/src/services/chat/contextEngineering.ts +7 -17
  425. package/src/services/chat/helper.ts +7 -31
  426. package/src/services/chat/index.ts +5 -10
  427. package/src/services/chat/types.ts +1 -1
  428. package/src/services/chatGroup/index.ts +64 -9
  429. package/src/services/config.ts +1 -65
  430. package/src/services/export/index.ts +9 -4
  431. package/src/services/file/index.ts +59 -10
  432. package/src/services/import/index.ts +132 -7
  433. package/src/services/mcp.test.ts +777 -0
  434. package/src/services/mcp.ts +40 -6
  435. package/src/services/message/index.ts +203 -10
  436. package/src/services/message/{__tests__/server.test.ts → server.test.ts} +3 -3
  437. package/src/services/models.ts +2 -11
  438. package/src/services/plugin/index.test.ts +8 -0
  439. package/src/services/plugin/index.ts +51 -10
  440. package/src/services/session/index.test.ts +8 -0
  441. package/src/services/session/index.ts +143 -10
  442. package/src/services/tableViewer/client.ts +12 -15
  443. package/src/services/thread/index.test.ts +8 -0
  444. package/src/services/thread/index.ts +37 -7
  445. package/src/services/topic/index.test.ts +8 -0
  446. package/src/services/topic/index.ts +74 -10
  447. package/src/services/user/index.test.ts +8 -0
  448. package/src/services/user/index.ts +50 -11
  449. package/src/store/aiInfra/slices/aiModel/action.test.ts +17 -9
  450. package/src/store/chat/helpers.test.ts +99 -0
  451. package/src/store/chat/helpers.ts +21 -2
  452. package/src/store/chat/selectors.ts +1 -1
  453. package/src/store/chat/slices/aiChat/actions/__tests__/generateAIChat.test.ts +17 -251
  454. package/src/store/chat/slices/aiChat/actions/__tests__/generateAIChatV2.test.ts +339 -7
  455. package/src/store/chat/slices/aiChat/actions/__tests__/helpers.ts +9 -5
  456. package/src/store/chat/slices/aiChat/actions/generateAIChat.ts +49 -178
  457. package/src/store/chat/slices/aiChat/actions/generateAIChatV2.ts +272 -14
  458. package/src/store/chat/slices/aiChat/actions/generateAIGroupChat.ts +7 -2
  459. package/src/store/chat/slices/builtinTool/actions/index.ts +1 -4
  460. package/src/store/chat/slices/builtinTool/actions/search.ts +3 -3
  461. package/src/store/chat/slices/message/action.test.ts +157 -16
  462. package/src/store/chat/slices/message/action.ts +153 -77
  463. package/src/store/chat/slices/message/reducer.test.ts +363 -5
  464. package/src/store/chat/slices/message/reducer.ts +87 -3
  465. package/src/store/chat/slices/message/{selectors.test.ts → selectors/chat.test.ts} +266 -30
  466. package/src/store/chat/slices/message/{selectors.ts → selectors/chat.ts} +29 -79
  467. package/src/store/chat/slices/message/selectors/index.ts +2 -0
  468. package/src/store/chat/slices/message/selectors/messageState.test.ts +36 -0
  469. package/src/store/chat/slices/message/selectors/messageState.ts +80 -0
  470. package/src/store/chat/slices/plugin/action.test.ts +118 -157
  471. package/src/store/chat/slices/plugin/action.ts +53 -68
  472. package/src/store/chat/slices/thread/action.test.ts +13 -4
  473. package/src/store/chat/slices/thread/action.ts +3 -1
  474. package/src/store/chat/slices/topic/action.test.ts +1 -1
  475. package/src/store/chat/slices/topic/action.ts +1 -2
  476. package/src/store/chat/slices/topic/reducer.ts +1 -2
  477. package/src/store/file/slices/chat/action.ts +1 -4
  478. package/src/store/file/slices/fileManager/action.ts +2 -3
  479. package/src/store/global/store.ts +1 -7
  480. package/src/store/session/slices/sessionGroup/action.test.ts +5 -5
  481. package/src/store/tool/selectors/tool.test.ts +1 -1
  482. package/src/store/tool/selectors/tool.ts +6 -8
  483. package/src/store/tool/slices/builtin/action.test.ts +83 -35
  484. package/src/store/tool/slices/builtin/action.ts +0 -9
  485. package/src/store/tool/slices/builtin/selectors.test.ts +4 -30
  486. package/src/store/tool/slices/builtin/selectors.ts +15 -21
  487. package/src/store/tool/slices/mcpStore/action.test.ts +95 -3
  488. package/src/store/tool/slices/mcpStore/action.ts +177 -53
  489. package/src/store/tool/slices/oldStore/initialState.ts +1 -2
  490. package/src/store/user/initialState.ts +1 -7
  491. package/src/store/user/selectors.ts +1 -5
  492. package/src/store/user/slices/common/action.test.ts +1 -4
  493. package/src/store/user/slices/common/action.ts +5 -4
  494. package/src/store/user/slices/preference/action.ts +8 -1
  495. package/src/store/user/slices/preference/selectors/index.ts +2 -0
  496. package/src/store/user/slices/preference/selectors/labPrefer.ts +13 -0
  497. package/src/store/user/slices/preference/{selectors.ts → selectors/preference.ts} +0 -2
  498. package/src/store/user/slices/settings/selectors/index.ts +1 -0
  499. package/src/store/user/slices/settings/selectors/keyVaults.ts +21 -0
  500. package/src/store/user/store.ts +0 -3
  501. package/src/tools/index.ts +0 -6
  502. package/src/tools/renders.ts +0 -3
  503. package/src/tools/web-browsing/Portal/Search/Footer.tsx +2 -2
  504. package/src/tools/web-browsing/Render/Search/ConfigForm/Form.tsx +1 -1
  505. package/tsconfig.json +9 -3
  506. package/packages/const/src/guide.ts +0 -89
  507. package/packages/context-engine/src/providers/InboxGuide.ts +0 -102
  508. package/packages/context-engine/src/providers/__tests__/InboxGuideProvider.test.ts +0 -121
  509. package/packages/utils/src/_deprecated/__snapshots__/parseModels.test.ts.snap +0 -104
  510. package/packages/utils/src/_deprecated/parseModels.test.ts +0 -287
  511. package/packages/utils/src/_deprecated/parseModels.ts +0 -165
  512. package/src/app/(backend)/trpc/edge/[trpc]/route.ts +0 -26
  513. package/src/app/[variants]/(main)/(mobile)/me/data/features/Category.tsx +0 -48
  514. package/src/app/[variants]/(main)/(mobile)/me/data/features/Header.tsx +0 -33
  515. package/src/app/[variants]/(main)/(mobile)/me/data/layout.tsx +0 -13
  516. package/src/app/[variants]/(main)/(mobile)/me/data/loading.tsx +0 -5
  517. package/src/app/[variants]/(main)/(mobile)/me/data/page.tsx +0 -29
  518. package/src/app/[variants]/(main)/chat/features/Migration/DBReader.ts +0 -290
  519. package/src/app/[variants]/(main)/chat/features/Migration/ExportConfigButton.tsx +0 -35
  520. package/src/app/[variants]/(main)/chat/features/Migration/Failed.tsx +0 -120
  521. package/src/app/[variants]/(main)/chat/features/Migration/Modal.tsx +0 -81
  522. package/src/app/[variants]/(main)/chat/features/Migration/Start.tsx +0 -108
  523. package/src/app/[variants]/(main)/chat/features/Migration/UpgradeButton.tsx +0 -71
  524. package/src/app/[variants]/(main)/chat/features/Migration/const.ts +0 -15
  525. package/src/app/[variants]/(main)/chat/features/Migration/index.tsx +0 -50
  526. package/src/app/[variants]/loading/Client/Content.tsx +0 -48
  527. package/src/app/[variants]/loading/Client/Error.tsx +0 -27
  528. package/src/app/[variants]/loading/Client/Redirect.tsx +0 -47
  529. package/src/app/[variants]/loading/Client/index.tsx +0 -22
  530. package/src/components/InnerLink.tsx +0 -20
  531. package/src/database/_deprecated/core/__tests__/db-upgrade.test.ts +0 -42
  532. package/src/database/_deprecated/core/__tests__/db.test.ts +0 -79
  533. package/src/database/_deprecated/core/__tests__/model.test.ts +0 -55
  534. package/src/database/_deprecated/core/db.ts +0 -246
  535. package/src/database/_deprecated/core/index.ts +0 -2
  536. package/src/database/_deprecated/core/migrations/migrateSettingsToUser/fixtures/input.json +0 -55
  537. package/src/database/_deprecated/core/migrations/migrateSettingsToUser/fixtures/output.json +0 -60
  538. package/src/database/_deprecated/core/migrations/migrateSettingsToUser/index.test.ts +0 -14
  539. package/src/database/_deprecated/core/migrations/migrateSettingsToUser/index.ts +0 -22
  540. package/src/database/_deprecated/core/migrations/migrateSettingsToUser/type.ts +0 -105
  541. package/src/database/_deprecated/core/model.ts +0 -218
  542. package/src/database/_deprecated/core/schemas.ts +0 -88
  543. package/src/database/_deprecated/core/types/db.ts +0 -15
  544. package/src/database/_deprecated/models/__DEBUG.ts +0 -124
  545. package/src/database/_deprecated/models/__tests__/file.test.ts +0 -83
  546. package/src/database/_deprecated/models/__tests__/message.test.ts +0 -426
  547. package/src/database/_deprecated/models/__tests__/plugin.test.ts +0 -81
  548. package/src/database/_deprecated/models/__tests__/session.test.ts +0 -253
  549. package/src/database/_deprecated/models/__tests__/sessionGroup.test.ts +0 -220
  550. package/src/database/_deprecated/models/__tests__/topic.test.ts +0 -523
  551. package/src/database/_deprecated/models/__tests__/user.test.ts +0 -82
  552. package/src/database/_deprecated/models/file.ts +0 -51
  553. package/src/database/_deprecated/models/message.ts +0 -277
  554. package/src/database/_deprecated/models/plugin.ts +0 -62
  555. package/src/database/_deprecated/models/session.ts +0 -271
  556. package/src/database/_deprecated/models/sessionGroup.ts +0 -93
  557. package/src/database/_deprecated/models/topic.ts +0 -250
  558. package/src/database/_deprecated/models/user.ts +0 -69
  559. package/src/database/_deprecated/schemas/files.ts +0 -39
  560. package/src/database/_deprecated/schemas/message.ts +0 -50
  561. package/src/database/_deprecated/schemas/plugin.ts +0 -12
  562. package/src/database/_deprecated/schemas/session.ts +0 -54
  563. package/src/database/_deprecated/schemas/sessionGroup.ts +0 -8
  564. package/src/database/_deprecated/schemas/topic.ts +0 -12
  565. package/src/database/_deprecated/schemas/user.ts +0 -40
  566. package/src/envs/__tests__/auth.test.ts +0 -200
  567. package/src/features/DataImporter/_deprecated.ts +0 -43
  568. package/src/features/InitClientDB/EnableModal.tsx +0 -118
  569. package/src/features/InitClientDB/ErrorResult.tsx +0 -143
  570. package/src/features/InitClientDB/InitIndicator.tsx +0 -124
  571. package/src/features/InitClientDB/PGliteIcon.tsx +0 -28
  572. package/src/features/InitClientDB/features/DatabaseRepair/Backup.tsx +0 -75
  573. package/src/features/InitClientDB/features/DatabaseRepair/Diagnosis.tsx +0 -98
  574. package/src/features/InitClientDB/features/DatabaseRepair/Repair.tsx +0 -218
  575. package/src/features/InitClientDB/features/DatabaseRepair/index.tsx +0 -91
  576. package/src/features/InitClientDB/index.tsx +0 -37
  577. package/src/hooks/_header.ts +0 -23
  578. package/src/libs/next-auth/sso-providers/azure-ad.ts +0 -33
  579. package/src/libs/trpc/client/edge.ts +0 -26
  580. package/src/libs/trpc/edge/context.ts +0 -71
  581. package/src/libs/trpc/edge/index.ts +0 -45
  582. package/src/libs/trpc/edge/init.ts +0 -26
  583. package/src/libs/trpc/edge/middleware/jwtPayload.test.ts +0 -75
  584. package/src/libs/trpc/edge/middleware/jwtPayload.ts +0 -14
  585. package/src/migrations/FromV0ToV1.ts +0 -10
  586. package/src/migrations/FromV1ToV2/fixtures/input-v1-session.json +0 -191
  587. package/src/migrations/FromV1ToV2/fixtures/output-v2.json +0 -202
  588. package/src/migrations/FromV1ToV2/index.ts +0 -82
  589. package/src/migrations/FromV1ToV2/migrations.test.ts +0 -224
  590. package/src/migrations/FromV1ToV2/types/v1.ts +0 -78
  591. package/src/migrations/FromV1ToV2/types/v2.ts +0 -52
  592. package/src/migrations/FromV2ToV3/fixtures/input-v2-session.json +0 -72
  593. package/src/migrations/FromV2ToV3/fixtures/output-v3-from-v1.json +0 -203
  594. package/src/migrations/FromV2ToV3/fixtures/output-v3.json +0 -74
  595. package/src/migrations/FromV2ToV3/index.ts +0 -30
  596. package/src/migrations/FromV2ToV3/migrations.test.ts +0 -42
  597. package/src/migrations/FromV2ToV3/types/v3.ts +0 -27
  598. package/src/migrations/FromV3ToV4/fixtures/azure-input-v3.json +0 -79
  599. package/src/migrations/FromV3ToV4/fixtures/azure-output-v4.json +0 -75
  600. package/src/migrations/FromV3ToV4/fixtures/ollama-input-v3.json +0 -85
  601. package/src/migrations/FromV3ToV4/fixtures/ollama-output-v4.json +0 -86
  602. package/src/migrations/FromV3ToV4/fixtures/openai-input-v3.json +0 -77
  603. package/src/migrations/FromV3ToV4/fixtures/openai-output-v4.json +0 -77
  604. package/src/migrations/FromV3ToV4/fixtures/openrouter-input-v3.json +0 -82
  605. package/src/migrations/FromV3ToV4/fixtures/openrouter-output-v4.json +0 -85
  606. package/src/migrations/FromV3ToV4/fixtures/output-v4-from-v1.json +0 -203
  607. package/src/migrations/FromV3ToV4/index.ts +0 -102
  608. package/src/migrations/FromV3ToV4/migrations.test.ts +0 -195
  609. package/src/migrations/FromV3ToV4/types/v3.ts +0 -52
  610. package/src/migrations/FromV3ToV4/types/v4.ts +0 -37
  611. package/src/migrations/FromV4ToV5/fixtures/from-v1-to-v5-output.json +0 -245
  612. package/src/migrations/FromV4ToV5/fixtures/function-input-v4.json +0 -96
  613. package/src/migrations/FromV4ToV5/fixtures/function-output-v5.json +0 -120
  614. package/src/migrations/FromV4ToV5/index.ts +0 -58
  615. package/src/migrations/FromV4ToV5/migrations.test.ts +0 -49
  616. package/src/migrations/FromV4ToV5/types/v4.ts +0 -21
  617. package/src/migrations/FromV4ToV5/types/v5.ts +0 -27
  618. package/src/migrations/FromV5ToV6/fixtures/from-v1-to-v6-output.json +0 -247
  619. package/src/migrations/FromV5ToV6/fixtures/session-input-v5.json +0 -81
  620. package/src/migrations/FromV5ToV6/fixtures/session-output-v6.json +0 -85
  621. package/src/migrations/FromV5ToV6/index.ts +0 -61
  622. package/src/migrations/FromV5ToV6/migrations.test.ts +0 -50
  623. package/src/migrations/FromV5ToV6/types/v5.ts +0 -48
  624. package/src/migrations/FromV5ToV6/types/v6.ts +0 -63
  625. package/src/migrations/FromV6ToV7/fixtures/output-v7-from-v1.json +0 -203
  626. package/src/migrations/FromV6ToV7/fixtures/provider-input-v6.json +0 -103
  627. package/src/migrations/FromV6ToV7/fixtures/provider-output-v7.json +0 -118
  628. package/src/migrations/FromV6ToV7/index.ts +0 -101
  629. package/src/migrations/FromV6ToV7/migrations.test.ts +0 -64
  630. package/src/migrations/FromV6ToV7/types/v6.ts +0 -61
  631. package/src/migrations/FromV6ToV7/types/v7.ts +0 -69
  632. package/src/migrations/VersionController.test.ts +0 -88
  633. package/src/migrations/VersionController.ts +0 -67
  634. package/src/migrations/index.ts +0 -61
  635. package/src/server/globalConfig/_deprecated.test.ts +0 -92
  636. package/src/server/globalConfig/_deprecated.ts +0 -41
  637. package/src/server/routers/edge/appStatus.ts +0 -3
  638. package/src/server/routers/edge/index.ts +0 -14
  639. package/src/server/routers/edge/upload.ts +0 -16
  640. package/src/services/aiModel/client.ts +0 -70
  641. package/src/services/aiModel/server.test.ts +0 -122
  642. package/src/services/aiModel/server.ts +0 -51
  643. package/src/services/aiModel/type.ts +0 -32
  644. package/src/services/aiProvider/client.ts +0 -58
  645. package/src/services/aiProvider/server.ts +0 -43
  646. package/src/services/aiProvider/type.ts +0 -27
  647. package/src/services/baseClientService/index.ts +0 -9
  648. package/src/services/chat/__snapshots__/chat.test.ts.snap +0 -110
  649. package/src/services/chatGroup/client.ts +0 -63
  650. package/src/services/chatGroup/server.ts +0 -67
  651. package/src/services/chatGroup/type.ts +0 -22
  652. package/src/services/export/_deprecated.ts +0 -155
  653. package/src/services/export/client.ts +0 -15
  654. package/src/services/export/server.ts +0 -9
  655. package/src/services/export/type.ts +0 -5
  656. package/src/services/file/_deprecated.test.ts +0 -119
  657. package/src/services/file/_deprecated.ts +0 -80
  658. package/src/services/file/client.test.ts +0 -199
  659. package/src/services/file/client.ts +0 -85
  660. package/src/services/file/server.ts +0 -53
  661. package/src/services/file/type.ts +0 -13
  662. package/src/services/import/_deprecated.ts +0 -115
  663. package/src/services/import/client.test.ts +0 -1015
  664. package/src/services/import/client.ts +0 -64
  665. package/src/services/import/server.ts +0 -133
  666. package/src/services/import/type.ts +0 -17
  667. package/src/services/message/_deprecated.test.ts +0 -398
  668. package/src/services/message/_deprecated.ts +0 -168
  669. package/src/services/message/client.test.ts +0 -410
  670. package/src/services/message/client.ts +0 -186
  671. package/src/services/message/server.ts +0 -150
  672. package/src/services/message/type.ts +0 -54
  673. package/src/services/plugin/_deprecated.test.ts +0 -162
  674. package/src/services/plugin/_deprecated.ts +0 -42
  675. package/src/services/plugin/client.test.ts +0 -177
  676. package/src/services/plugin/client.ts +0 -46
  677. package/src/services/plugin/server.ts +0 -42
  678. package/src/services/plugin/type.ts +0 -23
  679. package/src/services/session/_deprecated.test.ts +0 -440
  680. package/src/services/session/_deprecated.ts +0 -190
  681. package/src/services/session/client.test.ts +0 -413
  682. package/src/services/session/client.ts +0 -193
  683. package/src/services/session/server.test.ts +0 -260
  684. package/src/services/session/server.ts +0 -125
  685. package/src/services/session/type.ts +0 -82
  686. package/src/services/thread/client.ts +0 -51
  687. package/src/services/thread/server.ts +0 -32
  688. package/src/services/thread/type.ts +0 -21
  689. package/src/services/topic/_deprecated.test.ts +0 -245
  690. package/src/services/topic/_deprecated.ts +0 -75
  691. package/src/services/topic/client.ts +0 -89
  692. package/src/services/topic/pglite.test.ts +0 -212
  693. package/src/services/topic/server.ts +0 -57
  694. package/src/services/topic/type.ts +0 -40
  695. package/src/services/user/_deprecated.test.ts +0 -101
  696. package/src/services/user/_deprecated.ts +0 -70
  697. package/src/services/user/client.test.ts +0 -108
  698. package/src/services/user/client.ts +0 -104
  699. package/src/services/user/server.test.ts +0 -149
  700. package/src/services/user/server.ts +0 -47
  701. package/src/services/user/type.ts +0 -21
  702. package/src/store/chat/slices/builtinTool/actions/__tests__/dalle.test.ts +0 -121
  703. package/src/store/chat/slices/builtinTool/actions/dalle.ts +0 -124
  704. package/src/store/global/actions/clientDb.ts +0 -67
  705. package/src/store/user/slices/modelList/__snapshots__/action.test.ts.snap +0 -12
  706. package/src/store/user/slices/modelList/action.test.ts +0 -359
  707. package/src/store/user/slices/modelList/action.ts +0 -223
  708. package/src/store/user/slices/modelList/initialState.ts +0 -15
  709. package/src/store/user/slices/modelList/reducers/customModelCard.test.ts +0 -204
  710. package/src/store/user/slices/modelList/reducers/customModelCard.ts +0 -64
  711. package/src/store/user/slices/modelList/selectors/index.ts +0 -3
  712. package/src/store/user/slices/modelList/selectors/keyVaults.test.ts +0 -201
  713. package/src/store/user/slices/modelList/selectors/keyVaults.ts +0 -50
  714. package/src/store/user/slices/modelList/selectors/modelConfig.test.ts +0 -219
  715. package/src/store/user/slices/modelList/selectors/modelConfig.ts +0 -95
  716. package/src/store/user/slices/modelList/selectors/modelProvider.test.ts +0 -138
  717. package/src/store/user/slices/modelList/selectors/modelProvider.ts +0 -170
  718. package/src/tools/dalle/Render/GalleyGrid.tsx +0 -60
  719. package/src/tools/dalle/Render/Item/EditMode.tsx +0 -66
  720. package/src/tools/dalle/Render/Item/Error.tsx +0 -49
  721. package/src/tools/dalle/Render/Item/Image.tsx +0 -44
  722. package/src/tools/dalle/Render/Item/ImageFileItem.tsx +0 -57
  723. package/src/tools/dalle/Render/Item/index.tsx +0 -88
  724. package/src/tools/dalle/Render/ToolBar.tsx +0 -56
  725. package/src/tools/dalle/Render/index.tsx +0 -52
  726. package/src/tools/dalle/index.ts +0 -92
  727. /package/src/{app/[variants]/(main)/settings/provider/features/ProviderConfig → components/Skeleton}/SkeletonInput.tsx +0 -0
  728. /package/src/{middleware.ts → proxy.ts} +0 -0
package/.env.desktop CHANGED
@@ -4,6 +4,5 @@ FEATURE_FLAGS=-check_updates,+pin_list
4
4
  KEY_VAULTS_SECRET=oLXWIiR/AKF+rWaqy9lHkrYgzpATbW3CtJp3UfkVgpE=
5
5
  DATABASE_URL=postgresql://postgres@localhost:5432/postgres
6
6
  SEARCH_PROVIDERS=search1api
7
- NEXT_PUBLIC_SERVICE_MODE='server'
8
7
  NEXT_PUBLIC_IS_DESKTOP_APP=1
9
- NEXT_PUBLIC_ENABLE_NEXT_AUTH=0
8
+ NEXT_PUBLIC_ENABLE_NEXT_AUTH=0
package/.env.example CHANGED
@@ -273,9 +273,6 @@ OPENAI_API_KEY=sk-xxxxxxxxx
273
273
  ########## Server Database #############
274
274
  ########################################
275
275
 
276
- # Specify the service mode as server if you want to use the server database
277
- # NEXT_PUBLIC_SERVICE_MODE=server
278
-
279
276
  # Postgres database URL
280
277
  # DATABASE_URL=postgres://username:password@host:port/database
281
278
 
@@ -8,8 +8,6 @@ UNSAFE_SECRET="ww+0igxjGRAAR/eTNFQ55VmhQB5KE5trFZseuntThJs="
8
8
  UNSAFE_PASSWORD="CHANGE_THIS_PASSWORD_IN_PRODUCTION"
9
9
 
10
10
  # Core Server Configuration
11
- # Service mode - set to 'server' for server-side deployment
12
- NEXT_PUBLIC_SERVICE_MODE=server
13
11
 
14
12
  # Service Ports Configuration
15
13
  LOBE_PORT=3010
@@ -0,0 +1,73 @@
1
+ name: Claude Auto Testing Coverage
2
+ description: Automatically add unit tests to improve code coverage
3
+
4
+ on:
5
+ schedule:
6
+ # Run daily at 05:30 UTC (13:30 Beijing Time)
7
+ - cron: '30 5 * * *'
8
+ workflow_dispatch:
9
+ inputs:
10
+ target_module:
11
+ description: 'Specific module to add tests (e.g., packages/database, src/services/user)'
12
+ required: false
13
+ type: string
14
+
15
+ concurrency:
16
+ group: auto-testing
17
+ cancel-in-progress: false
18
+
19
+ jobs:
20
+ add-tests:
21
+ runs-on: ubuntu-latest
22
+ timeout-minutes: 45
23
+ permissions:
24
+ contents: write
25
+ pull-requests: write
26
+ id-token: write
27
+
28
+ steps:
29
+ - name: Checkout repository
30
+ uses: actions/checkout@v5
31
+ with:
32
+ fetch-depth: 1
33
+
34
+ - name: Setup Bun
35
+ uses: oven-sh/setup-bun@v2
36
+
37
+ - name: Install dependencies
38
+ run: bun install --frozen-lockfile
39
+
40
+ - name: Configure Git
41
+ run: |
42
+ git config --global user.name "claude-bot[bot]"
43
+ git config --global user.email "claude-bot[bot]@users.noreply.github.com"
44
+
45
+ - name: Copy testing prompt
46
+ run: |
47
+ mkdir -p /tmp/claude-prompts
48
+ cp .claude/prompts/auto-testing.md /tmp/claude-prompts/
49
+
50
+ - name: Run Claude Code for Auto Testing
51
+ uses: anthropics/claude-code-action@main
52
+ with:
53
+ github_token: ${{ secrets.GH_TOKEN }}
54
+ allowed_non_write_users: "*"
55
+ claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
56
+ claude_args: "--allowed-tools Bash,Read,Edit,Write,Glob,Grep"
57
+ prompt: |
58
+ Follow the auto testing guide located at:
59
+ ```bash
60
+ cat /tmp/claude-prompts/auto-testing.md
61
+ ```
62
+
63
+ ## Task Assignment
64
+
65
+ ${{ inputs.target_module && format('Process the specified module: {0}', inputs.target_module) || 'Automatically select one module from the target directories that needs test coverage' }}
66
+
67
+ ## Environment Information
68
+ - Repository: ${{ github.repository }}
69
+ - Branch: ${{ github.ref_name }}
70
+ - Target Module: ${{ inputs.target_module || 'Auto-select' }}
71
+ - Run ID: ${{ github.run_id }}
72
+
73
+ **Start the auto testing process now.**
@@ -0,0 +1,67 @@
1
+ name: Claude Translate Non-English Comments
2
+ description: Automatically detect and translate non-English comments to English in codebase
3
+
4
+ on:
5
+ schedule:
6
+ # Run daily at 02:00 UTC (10:00 Beijing Time)
7
+ - cron: '0 2 * * *'
8
+ workflow_dispatch:
9
+ inputs:
10
+ target_module:
11
+ description: 'Specific module to translate (e.g., packages/database, apps/desktop/src/modules/auth)'
12
+ required: false
13
+ type: string
14
+
15
+ concurrency:
16
+ group: translate-comments
17
+ cancel-in-progress: false
18
+
19
+ jobs:
20
+ translate-comments:
21
+ runs-on: ubuntu-latest
22
+ timeout-minutes: 30
23
+ permissions:
24
+ contents: write
25
+ pull-requests: write
26
+ id-token: write
27
+
28
+ steps:
29
+ - name: Checkout repository
30
+ uses: actions/checkout@v5
31
+ with:
32
+ fetch-depth: 1
33
+
34
+ - name: Configure Git
35
+ run: |
36
+ git config --global user.name "claude-bot[bot]"
37
+ git config --global user.email "claude-bot[bot]@users.noreply.github.com"
38
+
39
+ - name: Copy translation prompt
40
+ run: |
41
+ mkdir -p /tmp/claude-prompts
42
+ cp .claude/prompts/translate-comments.md /tmp/claude-prompts/
43
+
44
+ - name: Run Claude Code for Comment Translation
45
+ uses: anthropics/claude-code-action@main
46
+ with:
47
+ github_token: ${{ secrets.GH_TOKEN }}
48
+ allowed_non_write_users: "*"
49
+ claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
50
+ claude_args: "--allowed-tools Bash,Read,Edit,Glob,Grep"
51
+ prompt: |
52
+ Follow the translation guide located at:
53
+ ```bash
54
+ cat /tmp/claude-prompts/translate-comments.md
55
+ ```
56
+
57
+ ## Task Assignment
58
+
59
+ ${{ inputs.target_module && format('Process the specified module: {0}', inputs.target_module) || 'Automatically select one module from the target directories that has not been processed recently' }}
60
+
61
+ ## Environment Information
62
+ - Repository: ${{ github.repository }}
63
+ - Branch: ${{ github.ref_name }}
64
+ - Target Module: ${{ inputs.target_module || 'Auto-select' }}
65
+ - Run ID: ${{ github.run_id }}
66
+
67
+ **Start the translation process now.**
@@ -1,16 +1,18 @@
1
1
  name: Desktop PR Build
2
2
 
3
3
  on:
4
- pull_request:
4
+ pull_request_target:
5
5
  types: [synchronize, labeled, unlabeled] # PR 更新或标签变化时触发
6
6
 
7
- # 确保同一时间只运行一个相同的 workflow,取消正在进行的旧的运行
7
+ # 确保同一 PR 同一时间只运行一个相同的 workflow,取消正在进行的旧的运行
8
8
  concurrency:
9
- group: ${{ github.ref }}-${{ github.workflow }}
9
+ group: pr-${{ github.event.pull_request.number }}-${{ github.workflow }}
10
10
  cancel-in-progress: true
11
11
 
12
12
  # Add default permissions
13
- permissions: read-all
13
+ permissions:
14
+ contents: write
15
+ pull-requests: write
14
16
 
15
17
  env:
16
18
  PR_TAG_PREFIX: pr- # PR 构建版本的前缀标识
@@ -28,9 +30,9 @@ jobs:
28
30
  fetch-depth: 0
29
31
 
30
32
  - name: Setup Node.js
31
- uses: actions/setup-node@v5
33
+ uses: actions/setup-node@v6
32
34
  with:
33
- node-version: 22
35
+ node-version: 24
34
36
  package-manager-cache: false
35
37
 
36
38
  - name: Install bun
@@ -62,9 +64,9 @@ jobs:
62
64
  fetch-depth: 0
63
65
 
64
66
  - name: Setup Node.js
65
- uses: actions/setup-node@v5
67
+ uses: actions/setup-node@v6
66
68
  with:
67
- node-version: 22
69
+ node-version: 24
68
70
  package-manager-cache: false
69
71
 
70
72
  # 主要逻辑:确定构建版本号
@@ -107,9 +109,9 @@ jobs:
107
109
  run_install: false
108
110
 
109
111
  - name: Setup Node.js
110
- uses: actions/setup-node@v5
112
+ uses: actions/setup-node@v6
111
113
  with:
112
- node-version: 22
114
+ node-version: 24
113
115
  package-manager-cache: false
114
116
 
115
117
  # node-linker=hoisted 模式将可以确保 asar 压缩可用
@@ -199,7 +201,7 @@ jobs:
199
201
 
200
202
  # 上传构建产物
201
203
  - name: Upload artifact
202
- uses: actions/upload-artifact@v4
204
+ uses: actions/upload-artifact@v5
203
205
  with:
204
206
  name: release-${{ matrix.os }}
205
207
  path: |
@@ -226,9 +228,9 @@ jobs:
226
228
  uses: actions/checkout@v5
227
229
 
228
230
  - name: Setup Node.js
229
- uses: actions/setup-node@v5
231
+ uses: actions/setup-node@v6
230
232
  with:
231
- node-version: 22
233
+ node-version: 24
232
234
  package-manager-cache: false
233
235
 
234
236
  - name: Install bun
@@ -238,7 +240,7 @@ jobs:
238
240
 
239
241
  # 下载所有平台的构建产物
240
242
  - name: Download artifacts
241
- uses: actions/download-artifact@v5
243
+ uses: actions/download-artifact@v6
242
244
  with:
243
245
  path: release
244
246
  pattern: release-*
@@ -264,7 +266,7 @@ jobs:
264
266
 
265
267
  # 上传合并后的构建产物
266
268
  - name: Upload artifacts with merged macOS files
267
- uses: actions/upload-artifact@v4
269
+ uses: actions/upload-artifact@v5
268
270
  with:
269
271
  name: merged-release-pr
270
272
  path: release/
@@ -287,7 +289,7 @@ jobs:
287
289
 
288
290
  # 下载合并后的构建产物
289
291
  - name: Download merged artifacts
290
- uses: actions/download-artifact@v5
292
+ uses: actions/download-artifact@v6
291
293
  with:
292
294
  name: merged-release-pr
293
295
  path: release
@@ -1,17 +1,19 @@
1
1
  name: Publish Docker Image
2
2
  permissions:
3
3
  contents: read
4
+ pull-requests: write
4
5
 
5
6
  on:
6
7
  workflow_dispatch:
7
8
  release:
8
9
  types: [published]
9
- pull_request:
10
+ pull_request_target:
10
11
  types: [synchronize, labeled, unlabeled]
11
12
 
12
13
  concurrency:
13
14
  group: ${{ github.ref }}-${{ github.workflow }}
14
- cancel-in-progress: true
15
+ # PR 构建时取消旧的运行,但 release 构建不取消
16
+ cancel-in-progress: ${{ github.event_name != 'release' }}
15
17
 
16
18
  env:
17
19
  REGISTRY_IMAGE: lobehub/lobehub
@@ -21,9 +23,10 @@ jobs:
21
23
  build:
22
24
  # 添加 PR label 触发条件
23
25
  if: |
24
- (github.event_name == 'pull_request' &&
25
- contains(github.event.pull_request.labels.*.name, 'trigger:build-docker')) ||
26
- github.event_name != 'pull_request'
26
+ github.event_name == 'release' ||
27
+ github.event_name == 'workflow_dispatch' ||
28
+ (github.event_name == 'pull_request_target' &&
29
+ contains(github.event.pull_request.labels.*.name, 'trigger:build-docker'))
27
30
 
28
31
  strategy:
29
32
  matrix:
@@ -50,11 +53,12 @@ jobs:
50
53
 
51
54
  # 为 PR 生成特殊的 tag
52
55
  - name: Generate PR metadata
53
- if: github.event_name == 'pull_request'
56
+ if: github.event_name == 'pull_request_target'
54
57
  id: pr_meta
58
+ env:
59
+ BRANCH_NAME: ${{ github.head_ref }}
55
60
  run: |
56
- branch_name="${{ github.head_ref }}"
57
- sanitized_branch=$(echo "${branch_name}" | sed -E 's/[^a-zA-Z0-9_.-]+/-/g')
61
+ sanitized_branch=$(echo "${BRANCH_NAME}" | sed -E 's/[^a-zA-Z0-9_.-]+/-/g')
58
62
  echo "pr_tag=${sanitized_branch}-$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
59
63
 
60
64
  - name: Docker meta
@@ -64,10 +68,10 @@ jobs:
64
68
  images: ${{ env.REGISTRY_IMAGE }}
65
69
  tags: |
66
70
  # PR 构建使用特殊的 tag
67
- type=raw,value=${{ env.PR_TAG_PREFIX }}${{ steps.pr_meta.outputs.pr_tag }},enable=${{ github.event_name == 'pull_request' }}
71
+ type=raw,value=${{ env.PR_TAG_PREFIX }}${{ steps.pr_meta.outputs.pr_tag }},enable=${{ github.event_name == 'pull_request_target' }}
68
72
  # release 构建使用版本号
69
- type=semver,pattern={{version}},enable=${{ github.event_name != 'pull_request' }}
70
- type=raw,value=latest,enable=${{ github.event_name != 'pull_request' }}
73
+ type=semver,pattern={{version}},enable=${{ github.event_name != 'pull_request_target' }}
74
+ type=raw,value=latest,enable=${{ github.event_name != 'pull_request_target' }}
71
75
 
72
76
  - name: Docker login
73
77
  uses: docker/login-action@v3
@@ -100,7 +104,7 @@ jobs:
100
104
  touch "/tmp/digests/${digest#sha256:}"
101
105
 
102
106
  - name: Upload artifact
103
- uses: actions/upload-artifact@v4
107
+ uses: actions/upload-artifact@v5
104
108
  with:
105
109
  name: digest-${{ env.PLATFORM_PAIR }}
106
110
  path: /tmp/digests/*
@@ -118,7 +122,7 @@ jobs:
118
122
  fetch-depth: 0
119
123
 
120
124
  - name: Download digests
121
- uses: actions/download-artifact@v5
125
+ uses: actions/download-artifact@v6
122
126
  with:
123
127
  path: /tmp/digests
124
128
  pattern: digest-*
@@ -129,11 +133,12 @@ jobs:
129
133
 
130
134
  # 为 merge job 添加 PR metadata 生成
131
135
  - name: Generate PR metadata
132
- if: github.event_name == 'pull_request'
136
+ if: github.event_name == 'pull_request_target'
133
137
  id: pr_meta
138
+ env:
139
+ BRANCH_NAME: ${{ github.head_ref }}
134
140
  run: |
135
- branch_name="${{ github.head_ref }}"
136
- sanitized_branch=$(echo "${branch_name}" | sed -E 's/[^a-zA-Z0-9_.-]+/-/g')
141
+ sanitized_branch=$(echo "${BRANCH_NAME}" | sed -E 's/[^a-zA-Z0-9_.-]+/-/g')
137
142
  echo "pr_tag=${sanitized_branch}-$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
138
143
 
139
144
  - name: Docker meta
@@ -142,9 +147,9 @@ jobs:
142
147
  with:
143
148
  images: ${{ env.REGISTRY_IMAGE }}
144
149
  tags: |
145
- type=raw,value=${{ env.PR_TAG_PREFIX }}${{ steps.pr_meta.outputs.pr_tag }},enable=${{ github.event_name == 'pull_request' }}
146
- type=semver,pattern={{version}},enable=${{ github.event_name != 'pull_request' }}
147
- type=raw,value=latest,enable=${{ github.event_name != 'pull_request' }}
150
+ type=raw,value=${{ env.PR_TAG_PREFIX }}${{ steps.pr_meta.outputs.pr_tag }},enable=${{ github.event_name == 'pull_request_target' }}
151
+ type=semver,pattern={{version}},enable=${{ github.event_name != 'pull_request_target' }}
152
+ type=raw,value=latest,enable=${{ github.event_name != 'pull_request_target' }}
148
153
 
149
154
  - name: Docker login
150
155
  uses: docker/login-action@v3
@@ -163,7 +168,7 @@ jobs:
163
168
  docker buildx imagetools inspect ${{ env.REGISTRY_IMAGE }}:${{ steps.meta.outputs.version }}
164
169
 
165
170
  - name: Comment on PR with Docker build info
166
- if: github.event_name == 'pull_request'
171
+ if: github.event_name == 'pull_request_target'
167
172
  uses: actions/github-script@v8
168
173
  with:
169
174
  github-token: ${{ secrets.GITHUB_TOKEN }}
@@ -14,10 +14,21 @@ jobs:
14
14
  e2e:
15
15
  name: Test Web App
16
16
  runs-on: ubuntu-latest
17
+ services:
18
+ postgres:
19
+ image: paradedb/paradedb:latest
20
+ env:
21
+ POSTGRES_PASSWORD: postgres
22
+ options: >-
23
+ --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
24
+
25
+ ports:
26
+ - 5432:5432
27
+
17
28
  timeout-minutes: 25
18
29
  steps:
19
30
  - name: Checkout
20
- uses: actions/checkout@v4
31
+ uses: actions/checkout@v5
21
32
 
22
33
  - name: Setup Bun
23
34
  uses: oven-sh/setup-bun@v2
@@ -33,11 +44,14 @@ jobs:
33
44
  - name: Run E2E tests
34
45
  env:
35
46
  PORT: 3010
47
+ DATABASE_URL: postgresql://postgres:postgres@localhost:5432/postgres
48
+ DATABASE_DRIVER: node
49
+ KEY_VAULTS_SECRET: LA7n9k3JdEcbSgml2sxfw+4TV1AzaaFU5+R176aQz4s=
36
50
  run: bun run e2e
37
51
 
38
52
  - name: Upload Cucumber HTML report (on failure)
39
53
  if: failure()
40
- uses: actions/upload-artifact@v4
54
+ uses: actions/upload-artifact@v5
41
55
  with:
42
56
  name: cucumber-report
43
57
  path: e2e/reports
@@ -45,7 +59,7 @@ jobs:
45
59
 
46
60
  - name: Upload screenshots (on failure)
47
61
  if: failure()
48
- uses: actions/upload-artifact@v4
62
+ uses: actions/upload-artifact@v5
49
63
  with:
50
64
  name: test-screenshots
51
65
  path: e2e/screenshots
@@ -24,9 +24,9 @@ jobs:
24
24
  fetch-depth: 0
25
25
 
26
26
  - name: Setup Node.js
27
- uses: actions/setup-node@v5
27
+ uses: actions/setup-node@v6
28
28
  with:
29
- node-version: 22
29
+ node-version: 24
30
30
  package-manager-cache: false
31
31
 
32
32
  - name: Install bun
@@ -53,9 +53,9 @@ jobs:
53
53
  fetch-depth: 0
54
54
 
55
55
  - name: Setup Node.js
56
- uses: actions/setup-node@v5
56
+ uses: actions/setup-node@v6
57
57
  with:
58
- node-version: 22
58
+ node-version: 24
59
59
  package-manager-cache: false
60
60
 
61
61
  # 主要逻辑:确定构建版本号
@@ -94,9 +94,9 @@ jobs:
94
94
  run_install: false
95
95
 
96
96
  - name: Setup Node.js
97
- uses: actions/setup-node@v5
97
+ uses: actions/setup-node@v6
98
98
  with:
99
- node-version: 22
99
+ node-version: 24
100
100
  package-manager-cache: false
101
101
 
102
102
  # node-linker=hoisted 模式将可以确保 asar 压缩可用
@@ -181,7 +181,7 @@ jobs:
181
181
 
182
182
  # 上传构建产物 (工作流处理重命名,不依赖 electron-builder 钩子)
183
183
  - name: Upload artifact
184
- uses: actions/upload-artifact@v4
184
+ uses: actions/upload-artifact@v5
185
185
  with:
186
186
  name: release-${{ matrix.os }}
187
187
  path: |
@@ -208,9 +208,9 @@ jobs:
208
208
  uses: actions/checkout@v5
209
209
 
210
210
  - name: Setup Node.js
211
- uses: actions/setup-node@v5
211
+ uses: actions/setup-node@v6
212
212
  with:
213
- node-version: 22
213
+ node-version: 24
214
214
  package-manager-cache: false
215
215
 
216
216
  - name: Install bun
@@ -220,7 +220,7 @@ jobs:
220
220
 
221
221
  # 下载所有平台的构建产物
222
222
  - name: Download artifacts
223
- uses: actions/download-artifact@v5
223
+ uses: actions/download-artifact@v6
224
224
  with:
225
225
  path: release
226
226
  pattern: release-*
@@ -246,7 +246,7 @@ jobs:
246
246
 
247
247
  # 上传合并后的构建产物
248
248
  - name: Upload artifacts with merged macOS files
249
- uses: actions/upload-artifact@v4
249
+ uses: actions/upload-artifact@v5
250
250
  with:
251
251
  name: merged-release
252
252
  path: release/
@@ -262,7 +262,7 @@ jobs:
262
262
  steps:
263
263
  # 下载合并后的构建产物
264
264
  - name: Download merged artifacts
265
- uses: actions/download-artifact@v5
265
+ uses: actions/download-artifact@v6
266
266
  with:
267
267
  name: merged-release
268
268
  path: release
@@ -24,7 +24,6 @@ jobs:
24
24
  options: >-
25
25
  --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
26
26
 
27
-
28
27
  ports:
29
28
  - 5432:5432
30
29
 
@@ -34,9 +33,9 @@ jobs:
34
33
  token: ${{ secrets.GH_TOKEN }}
35
34
 
36
35
  - name: Setup Node.js
37
- uses: actions/setup-node@v5
36
+ uses: actions/setup-node@v6
38
37
  with:
39
- node-version: 22
38
+ node-version: 24
40
39
  package-manager-cache: false
41
40
 
42
41
  - name: Install bun
@@ -55,8 +54,7 @@ jobs:
55
54
  env:
56
55
  DATABASE_TEST_URL: postgresql://postgres:postgres@localhost:5432/postgres
57
56
  DATABASE_DRIVER: node
58
- NEXT_PUBLIC_SERVICE_MODE: server
59
- KEY_VAULTS_SECRET: LA7n9k3JdEcbSgml2sxfw+4TV1AzaaFU5+R176aQz4s=
57
+ KEY_VAULTS_SECRET: Kix2wcUONd4CX51E/ZPAd36BqM4wzJgKjPtz2sGztqQ=
60
58
  S3_PUBLIC_DOMAIN: https://example.com
61
59
  APP_URL: https://home.com
62
60
 
@@ -28,9 +28,9 @@ jobs:
28
28
  - uses: actions/checkout@v5
29
29
 
30
30
  - name: Setup Node.js
31
- uses: actions/setup-node@v5
31
+ uses: actions/setup-node@v6
32
32
  with:
33
- node-version: 22
33
+ node-version: 24
34
34
  package-manager-cache: false
35
35
 
36
36
  - name: Install bun
@@ -63,9 +63,9 @@ jobs:
63
63
  - uses: actions/checkout@v5
64
64
 
65
65
  - name: Setup Node.js
66
- uses: actions/setup-node@v5
66
+ uses: actions/setup-node@v6
67
67
  with:
68
- node-version: 22
68
+ node-version: 24
69
69
  package-manager-cache: false
70
70
 
71
71
  - name: Install bun
@@ -96,9 +96,9 @@ jobs:
96
96
  - uses: actions/checkout@v5
97
97
 
98
98
  - name: Setup Node.js
99
- uses: actions/setup-node@v5
99
+ uses: actions/setup-node@v6
100
100
  with:
101
- node-version: 22
101
+ node-version: 24
102
102
  package-manager-cache: false
103
103
 
104
104
  - name: Install bun
@@ -119,6 +119,43 @@ jobs:
119
119
  files: ./coverage/app/lcov.info
120
120
  flags: app
121
121
 
122
+ test-desktop:
123
+ name: Test Desktop App
124
+
125
+ runs-on: ubuntu-latest
126
+
127
+ steps:
128
+ - uses: actions/checkout@v5
129
+
130
+ - name: Setup Node.js
131
+ uses: actions/setup-node@v6
132
+ with:
133
+ node-version: 24
134
+ package-manager-cache: false
135
+
136
+ - name: Setup pnpm
137
+ uses: pnpm/action-setup@v2
138
+ with:
139
+ version: 10
140
+
141
+ - name: Install deps
142
+ run: pnpm install
143
+ working-directory: apps/desktop
144
+ env:
145
+ NODE_OPTIONS: --max-old-space-size=6144
146
+
147
+
148
+ - name: Test Desktop Client
149
+ run: pnpm test
150
+ working-directory: apps/desktop
151
+
152
+ - name: Upload Desktop App Coverage to Codecov
153
+ uses: codecov/codecov-action@v5
154
+ with:
155
+ token: ${{ secrets.CODECOV_TOKEN }}
156
+ files: ./apps/desktop/coverage/lcov.info
157
+ flags: desktop
158
+
122
159
  test-databsae:
123
160
  name: Test Database
124
161
 
@@ -132,7 +169,6 @@ jobs:
132
169
  options: >-
133
170
  --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
134
171
 
135
-
136
172
  ports:
137
173
  - 5432:5432
138
174
 
@@ -140,9 +176,9 @@ jobs:
140
176
  - uses: actions/checkout@v5
141
177
 
142
178
  - name: Setup Node.js
143
- uses: actions/setup-node@v5
179
+ uses: actions/setup-node@v6
144
180
  with:
145
- node-version: 22
181
+ node-version: 24
146
182
  package-manager-cache: false
147
183
 
148
184
  - name: Install pnpm
@@ -157,7 +193,7 @@ jobs:
157
193
  - name: Test Client DB
158
194
  run: pnpm --filter @lobechat/database test:client-db
159
195
  env:
160
- KEY_VAULTS_SECRET: LA7n9k3JdEcbSgml2sxfw+4TV1AzaaFU5+R176aQz4s=
196
+ KEY_VAULTS_SECRET: Kix2wcUONd4CX51E/ZPAd36BqM4wzJgKjPtz2sGztqQ=
161
197
  S3_PUBLIC_DOMAIN: https://example.com
162
198
  APP_URL: https://home.com
163
199
 
@@ -166,8 +202,7 @@ jobs:
166
202
  env:
167
203
  DATABASE_TEST_URL: postgresql://postgres:postgres@localhost:5432/postgres
168
204
  DATABASE_DRIVER: node
169
- NEXT_PUBLIC_SERVICE_MODE: server
170
- KEY_VAULTS_SECRET: LA7n9k3JdEcbSgml2sxfw+4TV1AzaaFU5+R176aQz4s=
205
+ KEY_VAULTS_SECRET: Kix2wcUONd4CX51E/ZPAd36BqM4wzJgKjPtz2sGztqQ=
171
206
  S3_PUBLIC_DOMAIN: https://example.com
172
207
  APP_URL: https://home.com
173
208
 
package/.nvmrc CHANGED
@@ -1 +1 @@
1
- lts/jod
1
+ lts/Krypton