@lobehub/chat 1.51.2 → 1.51.4

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 (643) hide show
  1. package/CHANGELOG.md +58 -0
  2. package/Dockerfile +1 -1
  3. package/Dockerfile.database +1 -1
  4. package/changelog/v1.json +17 -0
  5. package/docs/usage/providers/wenxin.mdx +16 -13
  6. package/docs/usage/providers/wenxin.zh-CN.mdx +11 -8
  7. package/next.config.ts +5 -0
  8. package/package.json +2 -3
  9. package/src/app/{(main) → [variants]/(main)}/(mobile)/me/(home)/page.tsx +7 -4
  10. package/src/app/{(main) → [variants]/(main)}/(mobile)/me/profile/features/Category.tsx +1 -1
  11. package/src/app/{(main) → [variants]/(main)}/(mobile)/me/profile/page.tsx +7 -4
  12. package/src/app/{(main) → [variants]/(main)}/(mobile)/me/settings/page.tsx +7 -4
  13. package/src/app/{(main) → [variants]/(main)}/_layout/Desktop/SideBar/index.tsx +11 -6
  14. package/src/app/{(main) → [variants]/(main)}/_layout/Mobile/index.tsx +3 -4
  15. package/src/app/{(main) → [variants]/(main)}/changelog/modal/page.tsx +3 -2
  16. package/src/app/{(main) → [variants]/(main)}/changelog/page.tsx +7 -6
  17. package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@conversation/default.tsx +6 -5
  18. package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@portal/default.tsx +5 -4
  19. package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@topic/default.tsx +6 -5
  20. package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/_layout/Mobile/ChatHeader/index.tsx +1 -1
  21. package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/page.tsx +4 -3
  22. package/src/app/{(main) → [variants]/(main)}/chat/@session/default.tsx +3 -2
  23. package/src/app/{(main) → [variants]/(main)}/chat/layout.ts +2 -0
  24. package/src/app/{(main) → [variants]/(main)}/chat/settings/layout.tsx +2 -2
  25. package/src/app/{(main) → [variants]/(main)}/discover/(detail)/assistant/[slug]/features/InfoSidebar/SuggestionItem.tsx +2 -2
  26. package/src/app/{(main) → [variants]/(main)}/discover/(detail)/assistant/[slug]/page.tsx +2 -2
  27. package/src/app/{(main) → [variants]/(main)}/discover/(detail)/model/[...slugs]/page.tsx +3 -3
  28. package/src/app/{(main) → [variants]/(main)}/discover/(detail)/plugin/[slug]/page.tsx +2 -2
  29. package/src/app/{(main) → [variants]/(main)}/discover/(detail)/provider/[slug]/page.tsx +2 -2
  30. package/src/app/{(main) → [variants]/(main)}/discover/(list)/(home)/page.tsx +10 -3
  31. package/src/app/{(main) → [variants]/(main)}/discover/(list)/assistants/[slug]/page.tsx +2 -2
  32. package/src/app/{(main) → [variants]/(main)}/discover/(list)/assistants/page.tsx +10 -4
  33. package/src/app/{(main) → [variants]/(main)}/discover/(list)/models/[slug]/page.tsx +2 -2
  34. package/src/app/{(main) → [variants]/(main)}/discover/(list)/models/page.tsx +11 -5
  35. package/src/app/{(main) → [variants]/(main)}/discover/(list)/plugins/[slug]/page.tsx +2 -2
  36. package/src/app/{(main) → [variants]/(main)}/discover/(list)/plugins/page.tsx +11 -5
  37. package/src/app/{(main) → [variants]/(main)}/discover/(list)/providers/page.tsx +11 -5
  38. package/src/app/{(main) → [variants]/(main)}/discover/layout.tsx +2 -0
  39. package/src/app/{(main) → [variants]/(main)}/discover/search/page.tsx +3 -3
  40. package/src/app/{(main) → [variants]/(main)}/files/(content)/@menu/features/FileMenu/index.tsx +1 -1
  41. package/src/app/{(main) → [variants]/(main)}/files/(content)/@modal/(.)[id]/FullscreenModal.tsx +1 -1
  42. package/src/app/{(main) → [variants]/(main)}/files/(content)/page.tsx +1 -1
  43. package/src/app/{(main) → [variants]/(main)}/files/hooks/useFileCategory.ts +1 -4
  44. package/src/app/{(main) → [variants]/(main)}/files/layout.tsx +2 -0
  45. package/src/app/{(main) → [variants]/(main)}/profile/(home)/[[...slugs]]/page.tsx +4 -3
  46. package/src/app/{(main) → [variants]/(main)}/profile/features/ClerkProfile.tsx +3 -1
  47. package/src/app/{(main) → [variants]/(main)}/profile/security/page.tsx +4 -3
  48. package/src/app/{(main) → [variants]/(main)}/profile/stats/page.tsx +4 -3
  49. package/src/app/{(main) → [variants]/(main)}/settings/@category/features/CategoryContent.tsx +2 -1
  50. package/src/app/{(main) → [variants]/(main)}/settings/common/features/Common.tsx +1 -1
  51. package/src/app/{(main) → [variants]/(main)}/settings/common/features/Theme/index.tsx +1 -1
  52. package/src/app/{(main) → [variants]/(main)}/settings/layout.ts +2 -0
  53. package/src/app/{(main) → [variants]/(main)}/settings/llm/ProviderList/providers.tsx +2 -4
  54. package/src/app/{(main) → [variants]/(main)}/settings/llm/components/ProviderConfig/index.tsx +2 -2
  55. package/src/app/{(main) → [variants]/(main)}/settings/provider/layout.tsx +2 -2
  56. package/src/app/{(main) → [variants]/(main)}/settings/sync/features/WebRTC/index.tsx +1 -1
  57. package/src/app/{@modal → [variants]/@modal}/(.)changelog/modal/page.tsx +5 -6
  58. package/src/app/{@modal → [variants]/@modal}/_layout/SettingModalLayout.tsx +2 -2
  59. package/src/app/{@modal → [variants]/@modal}/chat/(.)settings/modal/features/CategoryContent.tsx +1 -1
  60. package/src/app/{@modal → [variants]/@modal}/chat/(.)settings/modal/layout.tsx +1 -1
  61. package/src/app/[variants]/layout.tsx +94 -0
  62. package/src/app/{page.tsx → [variants]/page.tsx} +3 -1
  63. package/src/components/server/ServerLayout.tsx +19 -5
  64. package/src/config/aiModels/wenxin.ts +125 -19
  65. package/src/config/llm.ts +3 -5
  66. package/src/config/modelProviders/wenxin.ts +100 -23
  67. package/src/const/auth.ts +0 -3
  68. package/src/features/Conversation/Error/APIKeyForm/index.tsx +0 -3
  69. package/src/features/Conversation/components/ChatItem/utils.test.ts +284 -0
  70. package/src/features/Conversation/components/ChatItem/utils.ts +39 -8
  71. package/src/features/Conversation/components/MarkdownElements/LobeArtifact/rehypePlugin.test.ts +125 -0
  72. package/src/features/DevPanel/CacheViewer/DataTable/index.tsx +33 -0
  73. package/src/features/DevPanel/CacheViewer/cacheProvider.tsx +64 -0
  74. package/src/features/DevPanel/CacheViewer/getCacheEntries.ts +52 -0
  75. package/src/features/DevPanel/CacheViewer/index.tsx +25 -0
  76. package/src/features/DevPanel/CacheViewer/schema.ts +49 -0
  77. package/src/features/DevPanel/FeatureFlagViewer/Form.tsx +93 -0
  78. package/src/features/DevPanel/FeatureFlagViewer/index.tsx +11 -0
  79. package/src/features/DevPanel/MetadataViewer/Ld.tsx +25 -0
  80. package/src/features/DevPanel/MetadataViewer/MetaData.tsx +30 -0
  81. package/src/features/DevPanel/MetadataViewer/Og.tsx +75 -0
  82. package/src/features/DevPanel/MetadataViewer/index.tsx +80 -0
  83. package/src/features/DevPanel/MetadataViewer/useHead.ts +16 -0
  84. package/src/features/DevPanel/PostgresViewer/DataTable/index.tsx +39 -49
  85. package/src/features/DevPanel/PostgresViewer/{TableColumns.tsx → SchemaSidebar/Columns.tsx} +6 -4
  86. package/src/features/DevPanel/PostgresViewer/{Schema.tsx → SchemaSidebar/index.tsx} +49 -55
  87. package/src/features/DevPanel/PostgresViewer/index.tsx +4 -2
  88. package/src/features/DevPanel/features/FloatPanel.tsx +218 -0
  89. package/src/features/DevPanel/features/Header.tsx +50 -0
  90. package/src/features/DevPanel/features/Table/TableCell.tsx +73 -0
  91. package/src/features/DevPanel/features/Table/TooltipContent.tsx +39 -0
  92. package/src/features/DevPanel/{PostgresViewer/DataTable/Table.tsx → features/Table/index.tsx} +12 -14
  93. package/src/features/DevPanel/index.tsx +29 -5
  94. package/src/hooks/useActiveTabKey.ts +0 -7
  95. package/src/layout/AuthProvider/Clerk/index.tsx +0 -1
  96. package/src/layout/GlobalProvider/ReactScan.tsx +2 -4
  97. package/src/layout/GlobalProvider/StoreInitialization.tsx +7 -2
  98. package/src/layout/GlobalProvider/index.tsx +21 -29
  99. package/src/libs/agent-runtime/AgentRuntime.test.ts +0 -1
  100. package/src/libs/agent-runtime/AgentRuntime.ts +7 -0
  101. package/src/libs/agent-runtime/wenxin/index.ts +10 -107
  102. package/src/locales/create.ts +15 -16
  103. package/src/locales/default/modelProvider.ts +0 -20
  104. package/src/middleware.ts +96 -23
  105. package/src/server/modules/AgentRuntime/index.test.ts +0 -21
  106. package/src/server/translation.test.ts +0 -7
  107. package/src/server/translation.ts +2 -5
  108. package/src/services/_auth.ts +0 -14
  109. package/src/store/chat/slices/portal/selectors.test.ts +169 -3
  110. package/src/store/chat/slices/portal/selectors.ts +6 -1
  111. package/src/store/user/slices/modelList/selectors/keyVaults.ts +0 -2
  112. package/src/types/aiProvider.ts +0 -1
  113. package/src/types/discover.ts +4 -1
  114. package/src/types/next.ts +4 -0
  115. package/src/types/user/settings/keyVaults.ts +1 -6
  116. package/src/utils/locale.ts +20 -4
  117. package/src/utils/server/routeVariants.ts +80 -0
  118. package/src/app/(backend)/webapi/chat/wenxin/route.test.ts +0 -27
  119. package/src/app/(backend)/webapi/chat/wenxin/route.ts +0 -30
  120. package/src/app/(main)/settings/llm/ProviderList/Wenxin/index.tsx +0 -44
  121. package/src/app/(main)/settings/provider/(detail)/wenxin/page.tsx +0 -61
  122. package/src/app/layout.tsx +0 -67
  123. package/src/features/Conversation/Error/APIKeyForm/Wenxin.tsx +0 -49
  124. package/src/features/DevPanel/FloatPanel.tsx +0 -136
  125. package/src/features/DevPanel/PostgresViewer/DataTable/TableCell.tsx +0 -34
  126. package/src/hooks/useSettingsTab.ts +0 -12
  127. package/src/libs/agent-runtime/utils/streams/wenxin.test.ts +0 -153
  128. package/src/libs/agent-runtime/utils/streams/wenxin.ts +0 -38
  129. package/src/libs/agent-runtime/wenxin/type.ts +0 -84
  130. /package/src/app/{(main) → [variants]/(main)}/(mobile)/me/(home)/__tests__/UserBanner.test.tsx +0 -0
  131. /package/src/app/{(main) → [variants]/(main)}/(mobile)/me/(home)/__tests__/useCategory.test.tsx +0 -0
  132. /package/src/app/{(main) → [variants]/(main)}/(mobile)/me/(home)/features/Category.tsx +0 -0
  133. /package/src/app/{(main) → [variants]/(main)}/(mobile)/me/(home)/features/Header.tsx +0 -0
  134. /package/src/app/{(main) → [variants]/(main)}/(mobile)/me/(home)/features/UserBanner.tsx +0 -0
  135. /package/src/app/{(main) → [variants]/(main)}/(mobile)/me/(home)/features/useCategory.tsx +0 -0
  136. /package/src/app/{(main) → [variants]/(main)}/(mobile)/me/(home)/layout.tsx +0 -0
  137. /package/src/app/{(main) → [variants]/(main)}/(mobile)/me/(home)/loading.tsx +0 -0
  138. /package/src/app/{(main) → [variants]/(main)}/(mobile)/me/data/features/Category.tsx +0 -0
  139. /package/src/app/{(main) → [variants]/(main)}/(mobile)/me/data/features/Header.tsx +0 -0
  140. /package/src/app/{(main) → [variants]/(main)}/(mobile)/me/data/layout.tsx +0 -0
  141. /package/src/app/{(main) → [variants]/(main)}/(mobile)/me/data/loading.tsx +0 -0
  142. /package/src/app/{(main) → [variants]/(main)}/(mobile)/me/data/page.tsx +0 -0
  143. /package/src/app/{(main) → [variants]/(main)}/(mobile)/me/profile/features/Header.tsx +0 -0
  144. /package/src/app/{(main) → [variants]/(main)}/(mobile)/me/profile/layout.tsx +0 -0
  145. /package/src/app/{(main) → [variants]/(main)}/(mobile)/me/profile/loading.tsx +0 -0
  146. /package/src/app/{(main) → [variants]/(main)}/(mobile)/me/settings/features/Category.tsx +0 -0
  147. /package/src/app/{(main) → [variants]/(main)}/(mobile)/me/settings/features/Header.tsx +0 -0
  148. /package/src/app/{(main) → [variants]/(main)}/(mobile)/me/settings/features/useCategory.tsx +0 -0
  149. /package/src/app/{(main) → [variants]/(main)}/(mobile)/me/settings/layout.tsx +0 -0
  150. /package/src/app/{(main) → [variants]/(main)}/(mobile)/me/settings/loading.tsx +0 -0
  151. /package/src/app/{(main) → [variants]/(main)}/_layout/Desktop/SideBar/Avatar.test.tsx +0 -0
  152. /package/src/app/{(main) → [variants]/(main)}/_layout/Desktop/SideBar/Avatar.tsx +0 -0
  153. /package/src/app/{(main) → [variants]/(main)}/_layout/Desktop/SideBar/BottomActions.tsx +0 -0
  154. /package/src/app/{(main) → [variants]/(main)}/_layout/Desktop/SideBar/PinList/index.tsx +0 -0
  155. /package/src/app/{(main) → [variants]/(main)}/_layout/Desktop/SideBar/TopActions.test.tsx +0 -0
  156. /package/src/app/{(main) → [variants]/(main)}/_layout/Desktop/SideBar/TopActions.tsx +0 -0
  157. /package/src/app/{(main) → [variants]/(main)}/_layout/Desktop/index.tsx +0 -0
  158. /package/src/app/{(main) → [variants]/(main)}/_layout/Mobile/NavBar.tsx +0 -0
  159. /package/src/app/{(main) → [variants]/(main)}/changelog/_layout/Desktop.tsx +0 -0
  160. /package/src/app/{(main) → [variants]/(main)}/changelog/_layout/Mobile/Header.tsx +0 -0
  161. /package/src/app/{(main) → [variants]/(main)}/changelog/_layout/Mobile/index.tsx +0 -0
  162. /package/src/app/{(main) → [variants]/(main)}/changelog/error.tsx +0 -0
  163. /package/src/app/{(main) → [variants]/(main)}/changelog/features/GridLayout.tsx +0 -0
  164. /package/src/app/{(main) → [variants]/(main)}/changelog/features/Hero.tsx +0 -0
  165. /package/src/app/{(main) → [variants]/(main)}/changelog/features/Post.tsx +0 -0
  166. /package/src/app/{(main) → [variants]/(main)}/changelog/features/PublishedTime.tsx +0 -0
  167. /package/src/app/{(main) → [variants]/(main)}/changelog/features/VersionTag.tsx +0 -0
  168. /package/src/app/{(main) → [variants]/(main)}/changelog/layout.tsx +0 -0
  169. /package/src/app/{(main) → [variants]/(main)}/changelog/loading.tsx +0 -0
  170. /package/src/app/{(main) → [variants]/(main)}/changelog/not-found.tsx +0 -0
  171. /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@conversation/features/ChatHydration/index.tsx +0 -0
  172. /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@conversation/features/ChatInput/Desktop/Footer/SendMore.tsx +0 -0
  173. /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@conversation/features/ChatInput/Desktop/Footer/ShortcutHint.tsx +0 -0
  174. /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@conversation/features/ChatInput/Desktop/Footer/index.tsx +0 -0
  175. /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@conversation/features/ChatInput/Desktop/TextArea.test.tsx +0 -0
  176. /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@conversation/features/ChatInput/Desktop/TextArea.tsx +0 -0
  177. /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@conversation/features/ChatInput/Desktop/index.tsx +0 -0
  178. /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@conversation/features/ChatInput/index.tsx +0 -0
  179. /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@conversation/features/ChatList/ChatItem/Thread.tsx +0 -0
  180. /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@conversation/features/ChatList/ChatItem/ThreadItem.tsx +0 -0
  181. /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@conversation/features/ChatList/ChatItem/index.tsx +0 -0
  182. /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@conversation/features/ChatList/Content.tsx +0 -0
  183. /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@conversation/features/ChatList/WelcomeChatItem/InboxWelcome/AgentsSuggest.tsx +0 -0
  184. /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@conversation/features/ChatList/WelcomeChatItem/InboxWelcome/QuestionSuggest.tsx +0 -0
  185. /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@conversation/features/ChatList/WelcomeChatItem/InboxWelcome/index.tsx +0 -0
  186. /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@conversation/features/ChatList/WelcomeChatItem/WelcomeMessage.tsx +0 -0
  187. /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@conversation/features/ChatList/WelcomeChatItem/index.tsx +0 -0
  188. /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@conversation/features/ChatList/index.tsx +0 -0
  189. /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@conversation/features/ThreadHydration.tsx +0 -0
  190. /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@conversation/features/ZenModeToast/Toast.tsx +0 -0
  191. /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@conversation/features/ZenModeToast/index.tsx +0 -0
  192. /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@portal/_layout/Desktop.tsx +0 -0
  193. /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@portal/_layout/Mobile.tsx +0 -0
  194. /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@portal/error.tsx +0 -0
  195. /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@portal/features/Body.tsx +0 -0
  196. /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@portal/loading.tsx +0 -0
  197. /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@topic/_layout/Desktop.tsx +0 -0
  198. /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@topic/_layout/Mobile.tsx +0 -0
  199. /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@topic/features/Header.tsx +0 -0
  200. /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@topic/features/SkeletonList.tsx +0 -0
  201. /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@topic/features/SystemRole/SystemRoleContent.tsx +0 -0
  202. /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@topic/features/SystemRole/index.tsx +0 -0
  203. /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@topic/features/SystemRole/style.ts +0 -0
  204. /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@topic/features/TopicListContent/ByTimeMode/GroupItem.tsx +0 -0
  205. /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@topic/features/TopicListContent/ByTimeMode/index.tsx +0 -0
  206. /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@topic/features/TopicListContent/FlatMode/index.tsx +0 -0
  207. /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@topic/features/TopicListContent/ThreadItem/Content.tsx +0 -0
  208. /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@topic/features/TopicListContent/ThreadItem/index.tsx +0 -0
  209. /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@topic/features/TopicListContent/TopicItem/DefaultContent.tsx +0 -0
  210. /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@topic/features/TopicListContent/TopicItem/TopicContent.tsx +0 -0
  211. /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@topic/features/TopicListContent/TopicItem/index.tsx +0 -0
  212. /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@topic/features/TopicListContent/index.tsx +0 -0
  213. /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@topic/features/TopicSearchBar/index.tsx +0 -0
  214. /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/_layout/Desktop/ChatHeader/HeaderAction.tsx +0 -0
  215. /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/_layout/Desktop/ChatHeader/KnowledgeTag.tsx +0 -0
  216. /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/_layout/Desktop/ChatHeader/Main.tsx +0 -0
  217. /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/_layout/Desktop/ChatHeader/Tags.tsx +0 -0
  218. /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/_layout/Desktop/ChatHeader/index.tsx +0 -0
  219. /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/_layout/Desktop/HotKeys.tsx +0 -0
  220. /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/_layout/Desktop/Portal.tsx +0 -0
  221. /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/_layout/Desktop/TopicPanel.tsx +0 -0
  222. /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/_layout/Desktop/index.tsx +0 -0
  223. /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/_layout/Mobile/ChatHeader/ChatHeaderTitle.tsx +0 -0
  224. /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/_layout/Mobile/TopicModal.tsx +0 -0
  225. /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/_layout/Mobile/index.tsx +0 -0
  226. /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/_layout/type.ts +0 -0
  227. /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/_layout/useInitAgentConfig.ts +0 -0
  228. /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/features/ChangelogModal.tsx +0 -0
  229. /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/features/SettingButton.tsx +0 -0
  230. /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/features/ShareButton/index.tsx +0 -0
  231. /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/features/TelemetryNotification.tsx +0 -0
  232. /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/layout.ts +0 -0
  233. /package/src/app/{(main) → [variants]/(main)}/chat/@session/_layout/Desktop/PanelBody.tsx +0 -0
  234. /package/src/app/{(main) → [variants]/(main)}/chat/@session/_layout/Desktop/SessionHeader.tsx +0 -0
  235. /package/src/app/{(main) → [variants]/(main)}/chat/@session/_layout/Desktop/index.tsx +0 -0
  236. /package/src/app/{(main) → [variants]/(main)}/chat/@session/_layout/Mobile/SessionHeader.tsx +0 -0
  237. /package/src/app/{(main) → [variants]/(main)}/chat/@session/_layout/Mobile/index.tsx +0 -0
  238. /package/src/app/{(main) → [variants]/(main)}/chat/@session/features/SessionHydration.tsx +0 -0
  239. /package/src/app/{(main) → [variants]/(main)}/chat/@session/features/SessionListContent/CollapseGroup/Actions.tsx +0 -0
  240. /package/src/app/{(main) → [variants]/(main)}/chat/@session/features/SessionListContent/CollapseGroup/index.tsx +0 -0
  241. /package/src/app/{(main) → [variants]/(main)}/chat/@session/features/SessionListContent/DefaultMode.tsx +0 -0
  242. /package/src/app/{(main) → [variants]/(main)}/chat/@session/features/SessionListContent/Inbox/index.tsx +0 -0
  243. /package/src/app/{(main) → [variants]/(main)}/chat/@session/features/SessionListContent/List/AddButton.tsx +0 -0
  244. /package/src/app/{(main) → [variants]/(main)}/chat/@session/features/SessionListContent/List/Item/Actions.tsx +0 -0
  245. /package/src/app/{(main) → [variants]/(main)}/chat/@session/features/SessionListContent/List/Item/index.tsx +0 -0
  246. /package/src/app/{(main) → [variants]/(main)}/chat/@session/features/SessionListContent/List/index.tsx +0 -0
  247. /package/src/app/{(main) → [variants]/(main)}/chat/@session/features/SessionListContent/ListItem/index.tsx +0 -0
  248. /package/src/app/{(main) → [variants]/(main)}/chat/@session/features/SessionListContent/Modals/ConfigGroupModal/GroupItem.tsx +0 -0
  249. /package/src/app/{(main) → [variants]/(main)}/chat/@session/features/SessionListContent/Modals/ConfigGroupModal/index.tsx +0 -0
  250. /package/src/app/{(main) → [variants]/(main)}/chat/@session/features/SessionListContent/Modals/CreateGroupModal.tsx +0 -0
  251. /package/src/app/{(main) → [variants]/(main)}/chat/@session/features/SessionListContent/Modals/RenameGroupModal.tsx +0 -0
  252. /package/src/app/{(main) → [variants]/(main)}/chat/@session/features/SessionListContent/SearchMode.tsx +0 -0
  253. /package/src/app/{(main) → [variants]/(main)}/chat/@session/features/SessionListContent/index.tsx +0 -0
  254. /package/src/app/{(main) → [variants]/(main)}/chat/@session/features/SessionSearchBar.tsx +0 -0
  255. /package/src/app/{(main) → [variants]/(main)}/chat/@session/features/SkeletonList.tsx +0 -0
  256. /package/src/app/{(main) → [variants]/(main)}/chat/_layout/Desktop/SessionPanel.tsx +0 -0
  257. /package/src/app/{(main) → [variants]/(main)}/chat/_layout/Desktop/index.tsx +0 -0
  258. /package/src/app/{(main) → [variants]/(main)}/chat/_layout/Mobile.tsx +0 -0
  259. /package/src/app/{(main) → [variants]/(main)}/chat/_layout/type.ts +0 -0
  260. /package/src/app/{(main) → [variants]/(main)}/chat/error.tsx +0 -0
  261. /package/src/app/{(main) → [variants]/(main)}/chat/features/Migration/DBReader.ts +0 -0
  262. /package/src/app/{(main) → [variants]/(main)}/chat/features/Migration/ExportConfigButton.tsx +0 -0
  263. /package/src/app/{(main) → [variants]/(main)}/chat/features/Migration/Failed.tsx +0 -0
  264. /package/src/app/{(main) → [variants]/(main)}/chat/features/Migration/Modal.tsx +0 -0
  265. /package/src/app/{(main) → [variants]/(main)}/chat/features/Migration/Start.tsx +0 -0
  266. /package/src/app/{(main) → [variants]/(main)}/chat/features/Migration/UpgradeButton.tsx +0 -0
  267. /package/src/app/{(main) → [variants]/(main)}/chat/features/Migration/const.ts +0 -0
  268. /package/src/app/{(main) → [variants]/(main)}/chat/features/Migration/index.tsx +0 -0
  269. /package/src/app/{(main) → [variants]/(main)}/chat/features/PageTitle/index.tsx +0 -0
  270. /package/src/app/{(main) → [variants]/(main)}/chat/loading.tsx +0 -0
  271. /package/src/app/{(main) → [variants]/(main)}/chat/not-found.tsx +0 -0
  272. /package/src/app/{(main) → [variants]/(main)}/chat/settings/_layout/Desktop/Header.tsx +0 -0
  273. /package/src/app/{(main) → [variants]/(main)}/chat/settings/_layout/Desktop/index.tsx +0 -0
  274. /package/src/app/{(main) → [variants]/(main)}/chat/settings/_layout/Mobile/Header.tsx +0 -0
  275. /package/src/app/{(main) → [variants]/(main)}/chat/settings/_layout/Mobile/index.tsx +0 -0
  276. /package/src/app/{(main) → [variants]/(main)}/chat/settings/error.tsx +0 -0
  277. /package/src/app/{(main) → [variants]/(main)}/chat/settings/features/EditPage.tsx +0 -0
  278. /package/src/app/{(main) → [variants]/(main)}/chat/settings/features/HeaderContent.tsx +0 -0
  279. /package/src/app/{(main) → [variants]/(main)}/chat/settings/features/SubmitAgentButton/SubmitAgentModal.tsx +0 -0
  280. /package/src/app/{(main) → [variants]/(main)}/chat/settings/features/SubmitAgentButton/index.tsx +0 -0
  281. /package/src/app/{(main) → [variants]/(main)}/chat/settings/features/SubmitAgentButton/style.ts +0 -0
  282. /package/src/app/{(main) → [variants]/(main)}/chat/settings/loading.tsx +0 -0
  283. /package/src/app/{(main) → [variants]/(main)}/chat/settings/modal/page.tsx +0 -0
  284. /package/src/app/{(main) → [variants]/(main)}/chat/settings/not-found.tsx +0 -0
  285. /package/src/app/{(main) → [variants]/(main)}/chat/settings/page.tsx +0 -0
  286. /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/_layout/Desktop.tsx +0 -0
  287. /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/_layout/Mobile/Header.tsx +0 -0
  288. /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/_layout/Mobile/index.tsx +0 -0
  289. /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/assistant/[slug]/features/Actions.tsx +0 -0
  290. /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/assistant/[slug]/features/AddAgent.tsx +0 -0
  291. /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/assistant/[slug]/features/ConversationExample/TopicList.tsx +0 -0
  292. /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/assistant/[slug]/features/ConversationExample/index.tsx +0 -0
  293. /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/assistant/[slug]/features/Header.tsx +0 -0
  294. /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/assistant/[slug]/features/InfoSidebar/ToolItem.tsx +0 -0
  295. /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/assistant/[slug]/features/InfoSidebar/index.tsx +0 -0
  296. /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/assistant/[slug]/features/SystemRole.tsx +0 -0
  297. /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/assistant/[slug]/features/Temp.tsx +0 -0
  298. /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/error.tsx +0 -0
  299. /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/features/Back.tsx +0 -0
  300. /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/features/Block.tsx +0 -0
  301. /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/features/DetailLayout.tsx +0 -0
  302. /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/features/HighlightBlock.tsx +0 -0
  303. /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/features/ShareButton.tsx +0 -0
  304. /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/features/SidebarContainer.tsx +0 -0
  305. /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/layout.tsx +0 -0
  306. /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/loading.tsx +0 -0
  307. /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/model/[...slugs]/features/Actions.tsx +0 -0
  308. /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/model/[...slugs]/features/ChatWithModel.tsx +0 -0
  309. /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/model/[...slugs]/features/Header.tsx +0 -0
  310. /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/model/[...slugs]/features/InfoSidebar/SuggestionItem.tsx +0 -0
  311. /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/model/[...slugs]/features/InfoSidebar/index.tsx +0 -0
  312. /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/model/[...slugs]/features/ParameterList/ParameterItem.tsx +0 -0
  313. /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/model/[...slugs]/features/ParameterList/index.tsx +0 -0
  314. /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/model/[...slugs]/features/ProviderList/ProviderItem.tsx +0 -0
  315. /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/model/[...slugs]/features/ProviderList/index.tsx +0 -0
  316. /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/not-found.tsx +0 -0
  317. /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/plugin/[slug]/features/Actions.tsx +0 -0
  318. /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/plugin/[slug]/features/Header.tsx +0 -0
  319. /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/plugin/[slug]/features/InfoSidebar/SuggestionItem.tsx +0 -0
  320. /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/plugin/[slug]/features/InfoSidebar/index.tsx +0 -0
  321. /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/plugin/[slug]/features/InstallPlugin.tsx +0 -0
  322. /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/plugin/[slug]/features/ParameterList.tsx +0 -0
  323. /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/plugin/[slug]/features/Schema.tsx +0 -0
  324. /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/provider/[slug]/features/Actions.tsx +0 -0
  325. /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/provider/[slug]/features/Header.tsx +0 -0
  326. /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/provider/[slug]/features/InfoSidebar/SuggestionItem.tsx +0 -0
  327. /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/provider/[slug]/features/InfoSidebar/index.tsx +0 -0
  328. /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/provider/[slug]/features/ModelList/ModelItem.tsx +0 -0
  329. /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/provider/[slug]/features/ModelList/index.tsx +0 -0
  330. /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/provider/[slug]/features/ProviderConfig.tsx +0 -0
  331. /package/src/app/{(main) → [variants]/(main)}/discover/(list)/(home)/Client.tsx +0 -0
  332. /package/src/app/{(main) → [variants]/(main)}/discover/(list)/(home)/features/AssistantList.tsx +0 -0
  333. /package/src/app/{(main) → [variants]/(main)}/discover/(list)/(home)/features/ModelList.tsx +0 -0
  334. /package/src/app/{(main) → [variants]/(main)}/discover/(list)/(home)/features/PluginList.tsx +0 -0
  335. /package/src/app/{(main) → [variants]/(main)}/discover/(list)/(home)/loading.tsx +0 -0
  336. /package/src/app/{(main) → [variants]/(main)}/discover/(list)/_layout/Desktop/Nav.tsx +0 -0
  337. /package/src/app/{(main) → [variants]/(main)}/discover/(list)/_layout/Desktop/index.tsx +0 -0
  338. /package/src/app/{(main) → [variants]/(main)}/discover/(list)/_layout/Desktop/useScroll.ts +0 -0
  339. /package/src/app/{(main) → [variants]/(main)}/discover/(list)/_layout/Mobile/Header.tsx +0 -0
  340. /package/src/app/{(main) → [variants]/(main)}/discover/(list)/_layout/Mobile/Nav.tsx +0 -0
  341. /package/src/app/{(main) → [variants]/(main)}/discover/(list)/_layout/Mobile/index.tsx +0 -0
  342. /package/src/app/{(main) → [variants]/(main)}/discover/(list)/assistants/_layout/Desktop.tsx +0 -0
  343. /package/src/app/{(main) → [variants]/(main)}/discover/(list)/assistants/_layout/Mobile.tsx +0 -0
  344. /package/src/app/{(main) → [variants]/(main)}/discover/(list)/assistants/features/Card.tsx +0 -0
  345. /package/src/app/{(main) → [variants]/(main)}/discover/(list)/assistants/features/Category.tsx +0 -0
  346. /package/src/app/{(main) → [variants]/(main)}/discover/(list)/assistants/features/List.tsx +0 -0
  347. /package/src/app/{(main) → [variants]/(main)}/discover/(list)/assistants/features/useCategory.tsx +0 -0
  348. /package/src/app/{(main) → [variants]/(main)}/discover/(list)/assistants/layout.tsx +0 -0
  349. /package/src/app/{(main) → [variants]/(main)}/discover/(list)/assistants/loading.tsx +0 -0
  350. /package/src/app/{(main) → [variants]/(main)}/discover/(list)/error.tsx +0 -0
  351. /package/src/app/{(main) → [variants]/(main)}/discover/(list)/layout.tsx +0 -0
  352. /package/src/app/{(main) → [variants]/(main)}/discover/(list)/loading.tsx +0 -0
  353. /package/src/app/{(main) → [variants]/(main)}/discover/(list)/models/_layout/Desktop.tsx +0 -0
  354. /package/src/app/{(main) → [variants]/(main)}/discover/(list)/models/_layout/Mobile.tsx +0 -0
  355. /package/src/app/{(main) → [variants]/(main)}/discover/(list)/models/features/Card.tsx +0 -0
  356. /package/src/app/{(main) → [variants]/(main)}/discover/(list)/models/features/Category.tsx +0 -0
  357. /package/src/app/{(main) → [variants]/(main)}/discover/(list)/models/features/List.tsx +0 -0
  358. /package/src/app/{(main) → [variants]/(main)}/discover/(list)/models/features/const.ts +0 -0
  359. /package/src/app/{(main) → [variants]/(main)}/discover/(list)/models/layout.tsx +0 -0
  360. /package/src/app/{(main) → [variants]/(main)}/discover/(list)/models/loading.tsx +0 -0
  361. /package/src/app/{(main) → [variants]/(main)}/discover/(list)/not-found.tsx +0 -0
  362. /package/src/app/{(main) → [variants]/(main)}/discover/(list)/plugins/_layout/Desktop.tsx +0 -0
  363. /package/src/app/{(main) → [variants]/(main)}/discover/(list)/plugins/_layout/Mobile.tsx +0 -0
  364. /package/src/app/{(main) → [variants]/(main)}/discover/(list)/plugins/features/Card.tsx +0 -0
  365. /package/src/app/{(main) → [variants]/(main)}/discover/(list)/plugins/features/Category.tsx +0 -0
  366. /package/src/app/{(main) → [variants]/(main)}/discover/(list)/plugins/features/List.tsx +0 -0
  367. /package/src/app/{(main) → [variants]/(main)}/discover/(list)/plugins/features/useCategory.tsx +0 -0
  368. /package/src/app/{(main) → [variants]/(main)}/discover/(list)/plugins/layout.tsx +0 -0
  369. /package/src/app/{(main) → [variants]/(main)}/discover/(list)/plugins/loading.tsx +0 -0
  370. /package/src/app/{(main) → [variants]/(main)}/discover/(list)/providers/features/Card.tsx +0 -0
  371. /package/src/app/{(main) → [variants]/(main)}/discover/(list)/providers/features/List.tsx +0 -0
  372. /package/src/app/{(main) → [variants]/(main)}/discover/(list)/providers/loading.tsx +0 -0
  373. /package/src/app/{(main) → [variants]/(main)}/discover/_layout/Desktop/Header.tsx +0 -0
  374. /package/src/app/{(main) → [variants]/(main)}/discover/_layout/Desktop/index.tsx +0 -0
  375. /package/src/app/{(main) → [variants]/(main)}/discover/_layout/Mobile/index.tsx +0 -0
  376. /package/src/app/{(main) → [variants]/(main)}/discover/components/CardBanner.tsx +0 -0
  377. /package/src/app/{(main) → [variants]/(main)}/discover/components/CategoryContainer.tsx +0 -0
  378. /package/src/app/{(main) → [variants]/(main)}/discover/components/CategoryMenu.tsx +0 -0
  379. /package/src/app/{(main) → [variants]/(main)}/discover/components/GitHubAvatar.tsx +0 -0
  380. /package/src/app/{(main) → [variants]/(main)}/discover/components/GridLoadingCard.tsx +0 -0
  381. /package/src/app/{(main) → [variants]/(main)}/discover/components/ListLoading.tsx +0 -0
  382. /package/src/app/{(main) → [variants]/(main)}/discover/components/Loading.tsx +0 -0
  383. /package/src/app/{(main) → [variants]/(main)}/discover/components/SearchResultCount.tsx +0 -0
  384. /package/src/app/{(main) → [variants]/(main)}/discover/components/Statistic.tsx +0 -0
  385. /package/src/app/{(main) → [variants]/(main)}/discover/components/Title.tsx +0 -0
  386. /package/src/app/{(main) → [variants]/(main)}/discover/components/VirtuosoGridList/index.tsx +0 -0
  387. /package/src/app/{(main) → [variants]/(main)}/discover/components/VirtuosoGridList/useScrollParent.ts +0 -0
  388. /package/src/app/{(main) → [variants]/(main)}/discover/error.tsx +0 -0
  389. /package/src/app/{(main) → [variants]/(main)}/discover/features/CreateButton/Inner.tsx +0 -0
  390. /package/src/app/{(main) → [variants]/(main)}/discover/features/CreateButton/index.tsx +0 -0
  391. /package/src/app/{(main) → [variants]/(main)}/discover/features/LikeButton.tsx +0 -0
  392. /package/src/app/{(main) → [variants]/(main)}/discover/features/ModelFeatureTags.tsx +0 -0
  393. /package/src/app/{(main) → [variants]/(main)}/discover/features/StoreSearchBar.tsx +0 -0
  394. /package/src/app/{(main) → [variants]/(main)}/discover/features/const.ts +0 -0
  395. /package/src/app/{(main) → [variants]/(main)}/discover/features/useNav.tsx +0 -0
  396. /package/src/app/{(main) → [variants]/(main)}/discover/loading.tsx +0 -0
  397. /package/src/app/{(main) → [variants]/(main)}/discover/not-found.tsx +0 -0
  398. /package/src/app/{(main) → [variants]/(main)}/discover/search/_layout/Desktop.tsx +0 -0
  399. /package/src/app/{(main) → [variants]/(main)}/discover/search/_layout/Mobile/Header.tsx +0 -0
  400. /package/src/app/{(main) → [variants]/(main)}/discover/search/_layout/Mobile/Nav.tsx +0 -0
  401. /package/src/app/{(main) → [variants]/(main)}/discover/search/_layout/Mobile/index.tsx +0 -0
  402. /package/src/app/{(main) → [variants]/(main)}/discover/search/features/AssistantsResult.tsx +0 -0
  403. /package/src/app/{(main) → [variants]/(main)}/discover/search/features/Category.tsx +0 -0
  404. /package/src/app/{(main) → [variants]/(main)}/discover/search/features/ModelsResult.tsx +0 -0
  405. /package/src/app/{(main) → [variants]/(main)}/discover/search/features/PluginsResult.tsx +0 -0
  406. /package/src/app/{(main) → [variants]/(main)}/discover/search/features/ProvidersResult.tsx +0 -0
  407. /package/src/app/{(main) → [variants]/(main)}/discover/search/layout.tsx +0 -0
  408. /package/src/app/{(main) → [variants]/(main)}/discover/search/loading.tsx +0 -0
  409. /package/src/app/{(main) → [variants]/(main)}/error.tsx +0 -0
  410. /package/src/app/{(main) → [variants]/(main)}/files/(content)/@menu/default.tsx +0 -0
  411. /package/src/app/{(main) → [variants]/(main)}/files/(content)/@menu/features/KnowledgeBase/EmptyStatus.tsx +0 -0
  412. /package/src/app/{(main) → [variants]/(main)}/files/(content)/@menu/features/KnowledgeBase/Item/Content.tsx +0 -0
  413. /package/src/app/{(main) → [variants]/(main)}/files/(content)/@menu/features/KnowledgeBase/Item/index.tsx +0 -0
  414. /package/src/app/{(main) → [variants]/(main)}/files/(content)/@menu/features/KnowledgeBase/KnowledgeBaseList.tsx +0 -0
  415. /package/src/app/{(main) → [variants]/(main)}/files/(content)/@menu/features/KnowledgeBase/SkeletonList.tsx +0 -0
  416. /package/src/app/{(main) → [variants]/(main)}/files/(content)/@menu/features/KnowledgeBase/index.tsx +0 -0
  417. /package/src/app/{(main) → [variants]/(main)}/files/(content)/@modal/(.)[id]/FileDetail.tsx +0 -0
  418. /package/src/app/{(main) → [variants]/(main)}/files/(content)/@modal/(.)[id]/FilePreview.tsx +0 -0
  419. /package/src/app/{(main) → [variants]/(main)}/files/(content)/@modal/(.)[id]/page.tsx +0 -0
  420. /package/src/app/{(main) → [variants]/(main)}/files/(content)/@modal/default.tsx +0 -0
  421. /package/src/app/{(main) → [variants]/(main)}/files/(content)/NotSupportClient.tsx +0 -0
  422. /package/src/app/{(main) → [variants]/(main)}/files/(content)/_layout/Desktop/index.tsx +0 -0
  423. /package/src/app/{(main) → [variants]/(main)}/files/(content)/_layout/Mobile.tsx +0 -0
  424. /package/src/app/{(main) → [variants]/(main)}/files/(content)/_layout/type.ts +0 -0
  425. /package/src/app/{(main) → [variants]/(main)}/files/(content)/layout.tsx +0 -0
  426. /package/src/app/{(main) → [variants]/(main)}/files/[id]/Header.tsx +0 -0
  427. /package/src/app/{(main) → [variants]/(main)}/files/[id]/page.tsx +0 -0
  428. /package/src/app/{(main) → [variants]/(main)}/files/features/FileDetail.tsx +0 -0
  429. /package/src/app/{(main) → [variants]/(main)}/files/loading.tsx +0 -0
  430. /package/src/app/{(main) → [variants]/(main)}/layout.tsx +0 -0
  431. /package/src/app/{(main) → [variants]/(main)}/not-found.tsx +0 -0
  432. /package/src/app/{(main) → [variants]/(main)}/profile/(home)/Client.tsx +0 -0
  433. /package/src/app/{(main) → [variants]/(main)}/profile/@category/default.tsx +0 -0
  434. /package/src/app/{(main) → [variants]/(main)}/profile/@category/features/CategoryContent.tsx +0 -0
  435. /package/src/app/{(main) → [variants]/(main)}/profile/_layout/Desktop/Header.tsx +0 -0
  436. /package/src/app/{(main) → [variants]/(main)}/profile/_layout/Desktop/SideBar.tsx +0 -0
  437. /package/src/app/{(main) → [variants]/(main)}/profile/_layout/Desktop/index.tsx +0 -0
  438. /package/src/app/{(main) → [variants]/(main)}/profile/_layout/Mobile/Header.tsx +0 -0
  439. /package/src/app/{(main) → [variants]/(main)}/profile/_layout/Mobile/index.tsx +0 -0
  440. /package/src/app/{(main) → [variants]/(main)}/profile/_layout/type.ts +0 -0
  441. /package/src/app/{(main) → [variants]/(main)}/profile/error.tsx +0 -0
  442. /package/src/app/{(main) → [variants]/(main)}/profile/hooks/useCategory.tsx +0 -0
  443. /package/src/app/{(main) → [variants]/(main)}/profile/layout.tsx +0 -0
  444. /package/src/app/{(main) → [variants]/(main)}/profile/loading.tsx +0 -0
  445. /package/src/app/{(main) → [variants]/(main)}/profile/not-found.tsx +0 -0
  446. /package/src/app/{(main) → [variants]/(main)}/profile/stats/Client.tsx +0 -0
  447. /package/src/app/{(main) → [variants]/(main)}/profile/stats/features/AiHeatmaps.tsx +0 -0
  448. /package/src/app/{(main) → [variants]/(main)}/profile/stats/features/AssistantsRank.tsx +0 -0
  449. /package/src/app/{(main) → [variants]/(main)}/profile/stats/features/ModelsRank.tsx +0 -0
  450. /package/src/app/{(main) → [variants]/(main)}/profile/stats/features/ShareButton/Preview.tsx +0 -0
  451. /package/src/app/{(main) → [variants]/(main)}/profile/stats/features/ShareButton/ShareModal.tsx +0 -0
  452. /package/src/app/{(main) → [variants]/(main)}/profile/stats/features/ShareButton/TotalCard.tsx +0 -0
  453. /package/src/app/{(main) → [variants]/(main)}/profile/stats/features/ShareButton/index.tsx +0 -0
  454. /package/src/app/{(main) → [variants]/(main)}/profile/stats/features/TimeLabel.tsx +0 -0
  455. /package/src/app/{(main) → [variants]/(main)}/profile/stats/features/TopicsRank.tsx +0 -0
  456. /package/src/app/{(main) → [variants]/(main)}/profile/stats/features/TotalAssistants.tsx +0 -0
  457. /package/src/app/{(main) → [variants]/(main)}/profile/stats/features/TotalMessages.tsx +0 -0
  458. /package/src/app/{(main) → [variants]/(main)}/profile/stats/features/TotalTopics.tsx +0 -0
  459. /package/src/app/{(main) → [variants]/(main)}/profile/stats/features/TotalWords.tsx +0 -0
  460. /package/src/app/{(main) → [variants]/(main)}/profile/stats/features/Welcome.tsx +0 -0
  461. /package/src/app/{(main) → [variants]/(main)}/repos/[id]/@menu/Head/index.tsx +0 -0
  462. /package/src/app/{(main) → [variants]/(main)}/repos/[id]/@menu/Menu/index.tsx +0 -0
  463. /package/src/app/{(main) → [variants]/(main)}/repos/[id]/@menu/default.tsx +0 -0
  464. /package/src/app/{(main) → [variants]/(main)}/repos/[id]/_layout/Desktop/index.tsx +0 -0
  465. /package/src/app/{(main) → [variants]/(main)}/repos/[id]/_layout/Mobile.tsx +0 -0
  466. /package/src/app/{(main) → [variants]/(main)}/repos/[id]/_layout/type.ts +0 -0
  467. /package/src/app/{(main) → [variants]/(main)}/repos/[id]/evals/components/Container.tsx +0 -0
  468. /package/src/app/{(main) → [variants]/(main)}/repos/[id]/evals/components/Tabs.tsx +0 -0
  469. /package/src/app/{(main) → [variants]/(main)}/repos/[id]/evals/dataset/CreateDataset/CreateForm.tsx +0 -0
  470. /package/src/app/{(main) → [variants]/(main)}/repos/[id]/evals/dataset/CreateDataset/index.tsx +0 -0
  471. /package/src/app/{(main) → [variants]/(main)}/repos/[id]/evals/dataset/DatasetDetail/index.tsx +0 -0
  472. /package/src/app/{(main) → [variants]/(main)}/repos/[id]/evals/dataset/DatasetList/Item.tsx +0 -0
  473. /package/src/app/{(main) → [variants]/(main)}/repos/[id]/evals/dataset/DatasetList/index.tsx +0 -0
  474. /package/src/app/{(main) → [variants]/(main)}/repos/[id]/evals/dataset/EmptyGuide/index.tsx +0 -0
  475. /package/src/app/{(main) → [variants]/(main)}/repos/[id]/evals/dataset/page.tsx +0 -0
  476. /package/src/app/{(main) → [variants]/(main)}/repos/[id]/evals/evaluation/CreateEvaluation/CreateForm.tsx +0 -0
  477. /package/src/app/{(main) → [variants]/(main)}/repos/[id]/evals/evaluation/CreateEvaluation/index.tsx +0 -0
  478. /package/src/app/{(main) → [variants]/(main)}/repos/[id]/evals/evaluation/CreateEvaluation/useModal.tsx +0 -0
  479. /package/src/app/{(main) → [variants]/(main)}/repos/[id]/evals/evaluation/EmptyGuide/index.tsx +0 -0
  480. /package/src/app/{(main) → [variants]/(main)}/repos/[id]/evals/evaluation/EvaluationList/index.tsx +0 -0
  481. /package/src/app/{(main) → [variants]/(main)}/repos/[id]/evals/evaluation/page.tsx +0 -0
  482. /package/src/app/{(main) → [variants]/(main)}/repos/[id]/evals/layout.tsx +0 -0
  483. /package/src/app/{(main) → [variants]/(main)}/repos/[id]/evals/page.tsx +0 -0
  484. /package/src/app/{(main) → [variants]/(main)}/repos/[id]/hooks/useKnowledgeItem.ts +0 -0
  485. /package/src/app/{(main) → [variants]/(main)}/repos/[id]/layout.tsx +0 -0
  486. /package/src/app/{(main) → [variants]/(main)}/repos/[id]/not-found.tsx +0 -0
  487. /package/src/app/{(main) → [variants]/(main)}/repos/[id]/page.tsx +0 -0
  488. /package/src/app/{(main) → [variants]/(main)}/repos/layout.tsx +0 -0
  489. /package/src/app/{(main) → [variants]/(main)}/settings/@category/default.tsx +0 -0
  490. /package/src/app/{(main) → [variants]/(main)}/settings/@category/features/UpgradeAlert.tsx +0 -0
  491. /package/src/app/{(main) → [variants]/(main)}/settings/_layout/Desktop/Header.tsx +0 -0
  492. /package/src/app/{(main) → [variants]/(main)}/settings/_layout/Desktop/SideBar.tsx +0 -0
  493. /package/src/app/{(main) → [variants]/(main)}/settings/_layout/Desktop/index.tsx +0 -0
  494. /package/src/app/{(main) → [variants]/(main)}/settings/_layout/Mobile/Header.tsx +0 -0
  495. /package/src/app/{(main) → [variants]/(main)}/settings/_layout/Mobile/index.tsx +0 -0
  496. /package/src/app/{(main) → [variants]/(main)}/settings/_layout/type.ts +0 -0
  497. /package/src/app/{(main) → [variants]/(main)}/settings/about/features/AboutList.tsx +0 -0
  498. /package/src/app/{(main) → [variants]/(main)}/settings/about/features/Analytics.tsx +0 -0
  499. /package/src/app/{(main) → [variants]/(main)}/settings/about/features/ItemCard.tsx +0 -0
  500. /package/src/app/{(main) → [variants]/(main)}/settings/about/features/ItemLink.tsx +0 -0
  501. /package/src/app/{(main) → [variants]/(main)}/settings/about/features/Version.tsx +0 -0
  502. /package/src/app/{(main) → [variants]/(main)}/settings/about/index.tsx +0 -0
  503. /package/src/app/{(main) → [variants]/(main)}/settings/about/page.tsx +0 -0
  504. /package/src/app/{(main) → [variants]/(main)}/settings/agent/index.tsx +0 -0
  505. /package/src/app/{(main) → [variants]/(main)}/settings/agent/page.tsx +0 -0
  506. /package/src/app/{(main) → [variants]/(main)}/settings/common/features/Theme/ThemeSwatches/ThemeSwatchesNeutral.tsx +0 -0
  507. /package/src/app/{(main) → [variants]/(main)}/settings/common/features/Theme/ThemeSwatches/ThemeSwatchesPrimary.tsx +0 -0
  508. /package/src/app/{(main) → [variants]/(main)}/settings/common/features/Theme/ThemeSwatches/index.ts +0 -0
  509. /package/src/app/{(main) → [variants]/(main)}/settings/common/index.tsx +0 -0
  510. /package/src/app/{(main) → [variants]/(main)}/settings/common/page.tsx +0 -0
  511. /package/src/app/{(main) → [variants]/(main)}/settings/error.tsx +0 -0
  512. /package/src/app/{(main) → [variants]/(main)}/settings/features/UpgradeAlert.tsx +0 -0
  513. /package/src/app/{(main) → [variants]/(main)}/settings/hooks/useCategory.tsx +0 -0
  514. /package/src/app/{(main) → [variants]/(main)}/settings/hooks/useSyncSettings.ts +0 -0
  515. /package/src/app/{(main) → [variants]/(main)}/settings/llm/ProviderList/Azure/index.tsx +0 -0
  516. /package/src/app/{(main) → [variants]/(main)}/settings/llm/ProviderList/Bedrock/index.tsx +0 -0
  517. /package/src/app/{(main) → [variants]/(main)}/settings/llm/ProviderList/Cloudflare/index.tsx +0 -0
  518. /package/src/app/{(main) → [variants]/(main)}/settings/llm/ProviderList/Github/index.tsx +0 -0
  519. /package/src/app/{(main) → [variants]/(main)}/settings/llm/ProviderList/HuggingFace/index.tsx +0 -0
  520. /package/src/app/{(main) → [variants]/(main)}/settings/llm/ProviderList/Ollama/Checker.tsx +0 -0
  521. /package/src/app/{(main) → [variants]/(main)}/settings/llm/ProviderList/Ollama/index.tsx +0 -0
  522. /package/src/app/{(main) → [variants]/(main)}/settings/llm/ProviderList/OpenAI/index.tsx +0 -0
  523. /package/src/app/{(main) → [variants]/(main)}/settings/llm/components/Checker.tsx +0 -0
  524. /package/src/app/{(main) → [variants]/(main)}/settings/llm/components/ProviderModelList/CustomModelOption.tsx +0 -0
  525. /package/src/app/{(main) → [variants]/(main)}/settings/llm/components/ProviderModelList/ModelConfigModal/Form.tsx +0 -0
  526. /package/src/app/{(main) → [variants]/(main)}/settings/llm/components/ProviderModelList/ModelConfigModal/index.tsx +0 -0
  527. /package/src/app/{(main) → [variants]/(main)}/settings/llm/components/ProviderModelList/ModelFetcher.tsx +0 -0
  528. /package/src/app/{(main) → [variants]/(main)}/settings/llm/components/ProviderModelList/Option.tsx +0 -0
  529. /package/src/app/{(main) → [variants]/(main)}/settings/llm/components/ProviderModelList/index.tsx +0 -0
  530. /package/src/app/{(main) → [variants]/(main)}/settings/llm/const.ts +0 -0
  531. /package/src/app/{(main) → [variants]/(main)}/settings/llm/features/Footer.tsx +0 -0
  532. /package/src/app/{(main) → [variants]/(main)}/settings/llm/index.tsx +0 -0
  533. /package/src/app/{(main) → [variants]/(main)}/settings/llm/page.tsx +0 -0
  534. /package/src/app/{(main) → [variants]/(main)}/settings/llm/type.ts +0 -0
  535. /package/src/app/{(main) → [variants]/(main)}/settings/loading.tsx +0 -0
  536. /package/src/app/{(main) → [variants]/(main)}/settings/not-found.tsx +0 -0
  537. /package/src/app/{(main) → [variants]/(main)}/settings/provider/(detail)/[id]/ClientMode.tsx +0 -0
  538. /package/src/app/{(main) → [variants]/(main)}/settings/provider/(detail)/[id]/index.tsx +0 -0
  539. /package/src/app/{(main) → [variants]/(main)}/settings/provider/(detail)/[id]/page.tsx +0 -0
  540. /package/src/app/{(main) → [variants]/(main)}/settings/provider/(detail)/azure/page.tsx +0 -0
  541. /package/src/app/{(main) → [variants]/(main)}/settings/provider/(detail)/bedrock/page.tsx +0 -0
  542. /package/src/app/{(main) → [variants]/(main)}/settings/provider/(detail)/cloudflare/page.tsx +0 -0
  543. /package/src/app/{(main) → [variants]/(main)}/settings/provider/(detail)/doubao/page.tsx +0 -0
  544. /package/src/app/{(main) → [variants]/(main)}/settings/provider/(detail)/github/page.tsx +0 -0
  545. /package/src/app/{(main) → [variants]/(main)}/settings/provider/(detail)/huggingface/page.tsx +0 -0
  546. /package/src/app/{(main) → [variants]/(main)}/settings/provider/(detail)/ollama/CheckError.tsx +0 -0
  547. /package/src/app/{(main) → [variants]/(main)}/settings/provider/(detail)/ollama/Container.tsx +0 -0
  548. /package/src/app/{(main) → [variants]/(main)}/settings/provider/(detail)/ollama/OllamaModelDownloader/index.tsx +0 -0
  549. /package/src/app/{(main) → [variants]/(main)}/settings/provider/(detail)/ollama/OllamaModelDownloader/useDownloadMonitor.ts +0 -0
  550. /package/src/app/{(main) → [variants]/(main)}/settings/provider/(detail)/ollama/page.tsx +0 -0
  551. /package/src/app/{(main) → [variants]/(main)}/settings/provider/(detail)/openai/page.tsx +0 -0
  552. /package/src/app/{(main) → [variants]/(main)}/settings/provider/(list)/Footer.tsx +0 -0
  553. /package/src/app/{(main) → [variants]/(main)}/settings/provider/(list)/ProviderGrid/Card.tsx +0 -0
  554. /package/src/app/{(main) → [variants]/(main)}/settings/provider/(list)/ProviderGrid/EnableSwitch.tsx +0 -0
  555. /package/src/app/{(main) → [variants]/(main)}/settings/provider/(list)/ProviderGrid/index.tsx +0 -0
  556. /package/src/app/{(main) → [variants]/(main)}/settings/provider/(list)/ProviderGrid/style.ts +0 -0
  557. /package/src/app/{(main) → [variants]/(main)}/settings/provider/(list)/index.tsx +0 -0
  558. /package/src/app/{(main) → [variants]/(main)}/settings/provider/ProviderMenu/AddNew.tsx +0 -0
  559. /package/src/app/{(main) → [variants]/(main)}/settings/provider/ProviderMenu/All.tsx +0 -0
  560. /package/src/app/{(main) → [variants]/(main)}/settings/provider/ProviderMenu/Item.tsx +0 -0
  561. /package/src/app/{(main) → [variants]/(main)}/settings/provider/ProviderMenu/List.tsx +0 -0
  562. /package/src/app/{(main) → [variants]/(main)}/settings/provider/ProviderMenu/SearchResult.tsx +0 -0
  563. /package/src/app/{(main) → [variants]/(main)}/settings/provider/ProviderMenu/SkeletonList.tsx +0 -0
  564. /package/src/app/{(main) → [variants]/(main)}/settings/provider/ProviderMenu/SortProviderModal/GroupItem.tsx +0 -0
  565. /package/src/app/{(main) → [variants]/(main)}/settings/provider/ProviderMenu/SortProviderModal/index.tsx +0 -0
  566. /package/src/app/{(main) → [variants]/(main)}/settings/provider/ProviderMenu/index.tsx +0 -0
  567. /package/src/app/{(main) → [variants]/(main)}/settings/provider/_layout/Desktop.tsx +0 -0
  568. /package/src/app/{(main) → [variants]/(main)}/settings/provider/_layout/Mobile.tsx +0 -0
  569. /package/src/app/{(main) → [variants]/(main)}/settings/provider/const.ts +0 -0
  570. /package/src/app/{(main) → [variants]/(main)}/settings/provider/features/CreateNewProvider/index.tsx +0 -0
  571. /package/src/app/{(main) → [variants]/(main)}/settings/provider/features/ModelList/CreateNewModelModal/Form.tsx +0 -0
  572. /package/src/app/{(main) → [variants]/(main)}/settings/provider/features/ModelList/CreateNewModelModal/index.tsx +0 -0
  573. /package/src/app/{(main) → [variants]/(main)}/settings/provider/features/ModelList/DisabledModels.tsx +0 -0
  574. /package/src/app/{(main) → [variants]/(main)}/settings/provider/features/ModelList/EmptyModels.tsx +0 -0
  575. /package/src/app/{(main) → [variants]/(main)}/settings/provider/features/ModelList/EnabledModelList/index.tsx +0 -0
  576. /package/src/app/{(main) → [variants]/(main)}/settings/provider/features/ModelList/ModelConfigModal/index.tsx +0 -0
  577. /package/src/app/{(main) → [variants]/(main)}/settings/provider/features/ModelList/ModelItem.tsx +0 -0
  578. /package/src/app/{(main) → [variants]/(main)}/settings/provider/features/ModelList/ModelTitle/Search.tsx +0 -0
  579. /package/src/app/{(main) → [variants]/(main)}/settings/provider/features/ModelList/ModelTitle/index.tsx +0 -0
  580. /package/src/app/{(main) → [variants]/(main)}/settings/provider/features/ModelList/SearchResult.tsx +0 -0
  581. /package/src/app/{(main) → [variants]/(main)}/settings/provider/features/ModelList/SkeletonList.tsx +0 -0
  582. /package/src/app/{(main) → [variants]/(main)}/settings/provider/features/ModelList/SortModelModal/ListItem.tsx +0 -0
  583. /package/src/app/{(main) → [variants]/(main)}/settings/provider/features/ModelList/SortModelModal/index.tsx +0 -0
  584. /package/src/app/{(main) → [variants]/(main)}/settings/provider/features/ModelList/index.tsx +0 -0
  585. /package/src/app/{(main) → [variants]/(main)}/settings/provider/features/ProviderConfig/Checker.tsx +0 -0
  586. /package/src/app/{(main) → [variants]/(main)}/settings/provider/features/ProviderConfig/EnableSwitch.tsx +0 -0
  587. /package/src/app/{(main) → [variants]/(main)}/settings/provider/features/ProviderConfig/SkeletonInput.tsx +0 -0
  588. /package/src/app/{(main) → [variants]/(main)}/settings/provider/features/ProviderConfig/UpdateProviderInfo/SettingModal.tsx +0 -0
  589. /package/src/app/{(main) → [variants]/(main)}/settings/provider/features/ProviderConfig/UpdateProviderInfo/index.tsx +0 -0
  590. /package/src/app/{(main) → [variants]/(main)}/settings/provider/features/ProviderConfig/index.tsx +0 -0
  591. /package/src/app/{(main) → [variants]/(main)}/settings/provider/page.tsx +0 -0
  592. /package/src/app/{(main) → [variants]/(main)}/settings/provider/type.ts +0 -0
  593. /package/src/app/{(main) → [variants]/(main)}/settings/sync/features/Alert.tsx +0 -0
  594. /package/src/app/{(main) → [variants]/(main)}/settings/sync/features/DeviceInfo/Card.tsx +0 -0
  595. /package/src/app/{(main) → [variants]/(main)}/settings/sync/features/DeviceInfo/DeviceName.tsx +0 -0
  596. /package/src/app/{(main) → [variants]/(main)}/settings/sync/features/DeviceInfo/SystemIcon.tsx +0 -0
  597. /package/src/app/{(main) → [variants]/(main)}/settings/sync/features/DeviceInfo/index.tsx +0 -0
  598. /package/src/app/{(main) → [variants]/(main)}/settings/sync/features/WebRTC/ChannelNameInput.tsx +0 -0
  599. /package/src/app/{(main) → [variants]/(main)}/settings/sync/features/WebRTC/SyncSwitch/index.css +0 -0
  600. /package/src/app/{(main) → [variants]/(main)}/settings/sync/features/WebRTC/SyncSwitch/index.tsx +0 -0
  601. /package/src/app/{(main) → [variants]/(main)}/settings/sync/features/WebRTC/generateRandomRoomName.ts +0 -0
  602. /package/src/app/{(main) → [variants]/(main)}/settings/sync/index.tsx +0 -0
  603. /package/src/app/{(main) → [variants]/(main)}/settings/sync/page.tsx +0 -0
  604. /package/src/app/{(main) → [variants]/(main)}/settings/system-agent/features/createForm.tsx +0 -0
  605. /package/src/app/{(main) → [variants]/(main)}/settings/system-agent/features/useSync.ts +0 -0
  606. /package/src/app/{(main) → [variants]/(main)}/settings/system-agent/index.tsx +0 -0
  607. /package/src/app/{(main) → [variants]/(main)}/settings/system-agent/page.tsx +0 -0
  608. /package/src/app/{(main) → [variants]/(main)}/settings/tts/features/OpenAI.tsx +0 -0
  609. /package/src/app/{(main) → [variants]/(main)}/settings/tts/features/STT.tsx +0 -0
  610. /package/src/app/{(main) → [variants]/(main)}/settings/tts/features/const.tsx +0 -0
  611. /package/src/app/{(main) → [variants]/(main)}/settings/tts/index.tsx +0 -0
  612. /package/src/app/{(main) → [variants]/(main)}/settings/tts/page.tsx +0 -0
  613. /package/src/app/{@modal → [variants]/@modal}/(.)changelog/modal/features/Cover.tsx +0 -0
  614. /package/src/app/{@modal → [variants]/@modal}/(.)changelog/modal/features/Hero.tsx +0 -0
  615. /package/src/app/{@modal → [variants]/@modal}/(.)changelog/modal/features/Pagination.tsx +0 -0
  616. /package/src/app/{@modal → [variants]/@modal}/(.)changelog/modal/features/Post.tsx +0 -0
  617. /package/src/app/{@modal → [variants]/@modal}/(.)changelog/modal/features/PublishedTime.tsx +0 -0
  618. /package/src/app/{@modal → [variants]/@modal}/(.)changelog/modal/features/ReadDetail.tsx +0 -0
  619. /package/src/app/{@modal → [variants]/@modal}/(.)changelog/modal/features/UpdateChangelogStatus.tsx +0 -0
  620. /package/src/app/{@modal → [variants]/@modal}/(.)changelog/modal/features/VersionTag.tsx +0 -0
  621. /package/src/app/{@modal → [variants]/@modal}/(.)changelog/modal/layout.tsx +0 -0
  622. /package/src/app/{@modal → [variants]/@modal}/(.)changelog/modal/loading.tsx +0 -0
  623. /package/src/app/{@modal → [variants]/@modal}/_layout/ModalLayout.tsx +0 -0
  624. /package/src/app/{@modal → [variants]/@modal}/chat/(.)settings/modal/features/useCategory.tsx +0 -0
  625. /package/src/app/{@modal → [variants]/@modal}/chat/(.)settings/modal/loading.tsx +0 -0
  626. /package/src/app/{@modal → [variants]/@modal}/chat/(.)settings/modal/page.tsx +0 -0
  627. /package/src/app/{@modal → [variants]/@modal}/default.tsx +0 -0
  628. /package/src/app/{@modal → [variants]/@modal}/error.tsx +0 -0
  629. /package/src/app/{@modal → [variants]/@modal}/layout.tsx +0 -0
  630. /package/src/app/{@modal → [variants]/@modal}/loading.tsx +0 -0
  631. /package/src/app/{error.tsx → [variants]/error.tsx} +0 -0
  632. /package/src/app/{global-error.tsx → [variants]/global-error.tsx} +0 -0
  633. /package/src/app/{loading → [variants]/loading}/Client/Content.tsx +0 -0
  634. /package/src/app/{loading → [variants]/loading}/Client/Error.tsx +0 -0
  635. /package/src/app/{loading → [variants]/loading}/Client/Redirect.tsx +0 -0
  636. /package/src/app/{loading → [variants]/loading}/Client/index.tsx +0 -0
  637. /package/src/app/{loading → [variants]/loading}/Server/Content.tsx +0 -0
  638. /package/src/app/{loading → [variants]/loading}/Server/Redirect.tsx +0 -0
  639. /package/src/app/{loading → [variants]/loading}/Server/index.tsx +0 -0
  640. /package/src/app/{loading → [variants]/loading}/index.tsx +0 -0
  641. /package/src/app/{loading → [variants]/loading}/stage.ts +0 -0
  642. /package/src/app/{metadata.ts → [variants]/metadata.ts} +0 -0
  643. /package/src/app/{not-found.tsx → [variants]/not-found.tsx} +0 -0
package/CHANGELOG.md CHANGED
@@ -2,6 +2,64 @@
2
2
 
3
3
  # Changelog
4
4
 
5
+ ### [Version 1.51.4](https://github.com/lobehub/lobe-chat/compare/v1.51.3...v1.51.4)
6
+
7
+ <sup>Released on **2025-02-06**</sup>
8
+
9
+ <br/>
10
+
11
+ <details>
12
+ <summary><kbd>Improvements and Fixes</kbd></summary>
13
+
14
+ </details>
15
+
16
+ <div align="right">
17
+
18
+ [![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)
19
+
20
+ </div>
21
+
22
+ ### [Version 1.51.3](https://github.com/lobehub/lobe-chat/compare/v1.51.2...v1.51.3)
23
+
24
+ <sup>Released on **2025-02-05**</sup>
25
+
26
+ #### ♻ Code Refactoring
27
+
28
+ - **misc**: Refactor Wenxin with LobeOpenAICompatibleFactory.
29
+
30
+ #### 🐛 Bug Fixes
31
+
32
+ - **misc**: Artifact Parsing and Rendering Bug Fix for Gemini 2.0 Flash.
33
+
34
+ #### 💄 Styles
35
+
36
+ - **misc**: Add Cache, Metadata, FeatureFlag Viewer to DevPanel.
37
+
38
+ <br/>
39
+
40
+ <details>
41
+ <summary><kbd>Improvements and Fixes</kbd></summary>
42
+
43
+ #### Code refactoring
44
+
45
+ - **misc**: Refactor Wenxin with LobeOpenAICompatibleFactory, closes [#5729](https://github.com/lobehub/lobe-chat/issues/5729) ([a90a75e](https://github.com/lobehub/lobe-chat/commit/a90a75e))
46
+
47
+ #### What's fixed
48
+
49
+ - **misc**: Artifact Parsing and Rendering Bug Fix for Gemini 2.0 Flash, closes [#5633](https://github.com/lobehub/lobe-chat/issues/5633) ([7d782b1](https://github.com/lobehub/lobe-chat/commit/7d782b1))
50
+
51
+ #### Styles
52
+
53
+ - **misc**: Add Cache, Metadata, FeatureFlag Viewer to DevPanel, closes [#5764](https://github.com/lobehub/lobe-chat/issues/5764) ([db4e9c7](https://github.com/lobehub/lobe-chat/commit/db4e9c7))
54
+
55
+ </details>
56
+
57
+ <div align="right">
58
+
59
+ [![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)
60
+
61
+ </div>
62
+
5
63
  ### [Version 1.51.2](https://github.com/lobehub/lobe-chat/compare/v1.51.1...v1.51.2)
6
64
 
7
65
  <sup>Released on **2025-02-05**</sup>
package/Dockerfile CHANGED
@@ -212,7 +212,7 @@ ENV \
212
212
  # Upstage
213
213
  UPSTAGE_API_KEY="" UPSTAGE_MODEL_LIST="" \
214
214
  # Wenxin
215
- WENXIN_ACCESS_KEY="" WENXIN_SECRET_KEY="" WENXIN_MODEL_LIST="" \
215
+ WENXIN_API_KEY="" WENXIN_MODEL_LIST="" \
216
216
  # xAI
217
217
  XAI_API_KEY="" XAI_MODEL_LIST="" XAI_PROXY_URL="" \
218
218
  # 01.AI
@@ -247,7 +247,7 @@ ENV \
247
247
  # Upstage
248
248
  UPSTAGE_API_KEY="" UPSTAGE_MODEL_LIST="" \
249
249
  # Wenxin
250
- WENXIN_ACCESS_KEY="" WENXIN_SECRET_KEY="" WENXIN_MODEL_LIST="" \
250
+ WENXIN_API_KEY="" WENXIN_MODEL_LIST="" \
251
251
  # xAI
252
252
  XAI_API_KEY="" XAI_MODEL_LIST="" XAI_PROXY_URL="" \
253
253
  # 01.AI
package/changelog/v1.json CHANGED
@@ -1,4 +1,21 @@
1
1
  [
2
+ {
3
+ "children": {},
4
+ "date": "2025-02-06",
5
+ "version": "1.51.4"
6
+ },
7
+ {
8
+ "children": {
9
+ "improvements": [
10
+ "Add Cache, Metadata, FeatureFlag Viewer to DevPanel."
11
+ ],
12
+ "fixes": [
13
+ "Artifact Parsing and Rendering Bug Fix for Gemini 2.0 Flash."
14
+ ]
15
+ },
16
+ "date": "2025-02-05",
17
+ "version": "1.51.3"
18
+ },
2
19
  {
3
20
  "children": {
4
21
  "improvements": [
@@ -22,27 +22,30 @@ This article will guide you on how to use Wenxin Qianfan in LobeChat.
22
22
  <Steps>
23
23
  ### Step 1: Obtain the Wenxin Qianfan API Key
24
24
 
25
- - Register and log in to the [Baidu Intelligent Cloud Console](https://console.bce.baidu.com/)
26
- - Navigate to `Baidu Intelligent Cloud Qianfan ModelBuilder`
27
- - Choose `Application Access` from the left-side menu
28
- - Create an application
25
+ - Register and log in to the [Baidu AI Cloud Console](https://console.bce.baidu.com/)
26
+ - Navigate to `Baidu AI Cloud Qianfan ModelBuilder`
27
+ - Select `API Key` from the left menu
29
28
 
30
- <Image alt={'Create Application'} inStep src={'https://github.com/user-attachments/assets/927b1040-e23f-4919-92e2-80a400db8327'} />
29
+ <Image alt={'API Key'} inStep src={'https://github.com/user-attachments/assets/6234428d-5633-4b2f-be22-1a1772a69a55'} />
31
30
 
32
- - Enter the `Security Authentication` -> `Access Key` management page from the user account menu
33
- - Copy the `Access Key` and `Secret Key`, and store them safely
31
+ - Click `Create API Key`
32
+ - In `Service`, select `Qianfan ModelBuilder`
33
+ - In `Resource`, choose `All Resources`
34
+ - Click the `Confirm` button
35
+ - Copy the `API Key` and keep it safe
34
36
 
35
- <Image alt={'Save Keys'} inStep src={'https://github.com/user-attachments/assets/bb9dadd3-7e9c-45fd-8c56-553ab7287453'} />
37
+ <Image alt={'Create API Key'} inStep src={'https://github.com/user-attachments/assets/6d068fe0-8100-4b43-b0c3-7934f54e688f'} />
38
+ <Image alt={'Copy API Key'} inStep src={'https://github.com/user-attachments/assets/629adf4e-e9e1-40dc-b9e5-d7b908878170'} />
36
39
 
37
40
  ### Step 2: Configure Wenxin Qianfan in LobeChat
38
41
 
39
- - Go to the `Settings` interface in LobeChat
40
- - Locate the settings for `Wenxin Qianfan` under `Language Model`
42
+ - Go to the `Settings` page of LobeChat
43
+ - Under `Language Models`, find the `Wenxin Qianfan` settings
41
44
 
42
- <Image alt={'Enter API Keys'} inStep src={'https://github.com/user-attachments/assets/e3995de7-38d9-489b-80a2-434477018469'} />
45
+ <Image alt={'Enter API Key'} inStep src={'https://github.com/user-attachments/assets/d7666e2a-0202-4b45-8338-9806ddffa44e'} />
43
46
 
44
- - Enter the obtained `Access Key` and `Secret Key`
45
- - Select a Wenxin Qianfan model for your AI assistant to start interacting
47
+ - Enter the obtained `API Key`
48
+ - Select a Wenxin Qianfan model for your AI assistant, and you're ready to start chatting!
46
49
 
47
50
  <Image alt={'Select Wenxin Qianfan Model and Start Chat'} inStep src={'https://github.com/user-attachments/assets/b6e6a3eb-13c6-46f0-9c7c-69a20deae30f'} />
48
51
 
@@ -22,24 +22,27 @@ tags:
22
22
 
23
23
  - 注册并登录 [百度智能云控制台](https://console.bce.baidu.com/)
24
24
  - 进入 `百度智能云千帆 ModelBuilder`
25
- - 在左侧菜单中选择`应用接入`
26
- - 创建一个应用
25
+ - 在左侧菜单中选择 `API Key`
27
26
 
28
- <Image alt={'创建应用'} inStep src={'https://github.com/user-attachments/assets/927b1040-e23f-4919-92e2-80a400db8327'} />
27
+ <Image alt={'API Key'} inStep src={'https://github.com/user-attachments/assets/6234428d-5633-4b2f-be22-1a1772a69a55'} />
29
28
 
30
- - 在用户账号菜单进入 `安全认证` -> `Access Key` 管理页面
31
- - 复制 `Access Key` `Secret Key`,并妥善保存
29
+ - 点击创建 API Key
30
+ - `服务` 中选择 `千帆ModelBuilder`
31
+ - 在 `资源` 中选择 `所有资源`
32
+ - 点击 `确定` 按钮
33
+ - 复制 `API Key` 并妥善保存
32
34
 
33
- <Image alt={'保存密钥'} inStep src={'https://github.com/user-attachments/assets/bb9dadd3-7e9c-45fd-8c56-553ab7287453'} />
35
+ <Image alt={'创建密钥'} inStep src={'https://github.com/user-attachments/assets/6d068fe0-8100-4b43-b0c3-7934f54e688f'} />
36
+ <Image alt={'复制密钥'} inStep src={'https://github.com/user-attachments/assets/629adf4e-e9e1-40dc-b9e5-d7b908878170'} />
34
37
 
35
38
  ### 步骤二:在 LobeChat 中配置文心千帆
36
39
 
37
40
  - 访问 LobeChat 的`设置`界面
38
41
  - 在`语言模型`下找到 `文心千帆` 的设置项
39
42
 
40
- <Image alt={'填入 API 密钥'} inStep src={'https://github.com/user-attachments/assets/e3995de7-38d9-489b-80a2-434477018469'} />
43
+ <Image alt={'填入 API 密钥'} inStep src={'https://github.com/user-attachments/assets/d7666e2a-0202-4b45-8338-9806ddffa44e'} />
41
44
 
42
- - 填入获得的 `Access Key` 和 `Secret Key`
45
+ - 填入获得的 `API Key`
43
46
  - 为你的 AI 助手选择一个文心千帆的模型即可开始对话
44
47
 
45
48
  <Image alt={'选择文心千帆模型并开始对话'} inStep src={'https://github.com/user-attachments/assets/b6e6a3eb-13c6-46f0-9c7c-69a20deae30f'} />
package/next.config.ts CHANGED
@@ -176,6 +176,11 @@ const nextConfig: NextConfig = {
176
176
  permanent: false,
177
177
  source: '/repos',
178
178
  },
179
+ {
180
+ destination: '/files',
181
+ permanent: false,
182
+ source: '/repos',
183
+ },
179
184
  ],
180
185
  // when external packages in dev mode with turbopack, this config will lead to bundle error
181
186
  serverExternalPackages: isProd ? ['@electric-sql/pglite'] : undefined,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lobehub/chat",
3
- "version": "1.51.2",
3
+ "version": "1.51.4",
4
4
  "description": "Lobe Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.",
5
5
  "keywords": [
6
6
  "framework",
@@ -111,7 +111,6 @@
111
111
  "@aws-sdk/s3-request-presigner": "^3.723.0",
112
112
  "@azure/core-rest-pipeline": "1.16.0",
113
113
  "@azure/openai": "1.0.0-beta.12",
114
- "@baiducloud/qianfan": "^0.1.9",
115
114
  "@cfworker/json-schema": "^4.1.0",
116
115
  "@clerk/localizations": "^3.9.6",
117
116
  "@clerk/nextjs": "^6.10.6",
@@ -318,7 +317,7 @@
318
317
  "vitest": "~1.2.2",
319
318
  "vitest-canvas-mock": "^0.3.3"
320
319
  },
321
- "packageManager": "pnpm@9.15.4",
320
+ "packageManager": "pnpm@10.2.0",
322
321
  "publishConfig": {
323
322
  "access": "public",
324
323
  "registry": "https://registry.npmjs.org"
@@ -4,7 +4,8 @@ import { Center } from 'react-layout-kit';
4
4
  import BrandWatermark from '@/components/BrandWatermark';
5
5
  import { metadataModule } from '@/server/metadata';
6
6
  import { translation } from '@/server/translation';
7
- import { isMobileDevice } from '@/utils/server/responsive';
7
+ import { DynamicLayoutProps } from '@/types/next';
8
+ import { RouteVariants } from '@/utils/server/routeVariants';
8
9
 
9
10
  import Category from './features/Category';
10
11
  import UserBanner from './features/UserBanner';
@@ -17,10 +18,10 @@ export const generateMetadata = async () => {
17
18
  });
18
19
  };
19
20
 
20
- const Page = async () => {
21
- const mobile = await isMobileDevice();
21
+ const Page = async (props: DynamicLayoutProps) => {
22
+ const isMobile = await RouteVariants.getIsMobile(props);
22
23
 
23
- if (!mobile) return redirect('/chat');
24
+ if (!isMobile) return redirect('/chat');
24
25
 
25
26
  return (
26
27
  <>
@@ -36,3 +37,5 @@ const Page = async () => {
36
37
  Page.displayName = 'Me';
37
38
 
38
39
  export default Page;
40
+
41
+ export const dynamic = 'force-static';
@@ -9,7 +9,7 @@ import Cell, { CellProps } from '@/components/Cell';
9
9
  import { isDeprecatedEdition } from '@/const/version';
10
10
  import { ProfileTabs } from '@/store/global/initialState';
11
11
  import { useUserStore } from '@/store/user';
12
- import { authSelectors } from '@/store/user/slices/auth/selectors';
12
+ import { authSelectors } from '@/store/user/selectors';
13
13
 
14
14
  const Category = memo(() => {
15
15
  const [isLogin, enableAuth, isLoginWithClerk, signOut] = useUserStore((s) => [
@@ -2,7 +2,8 @@ import { redirect } from 'next/navigation';
2
2
 
3
3
  import { metadataModule } from '@/server/metadata';
4
4
  import { translation } from '@/server/translation';
5
- import { isMobileDevice } from '@/utils/server/responsive';
5
+ import { DynamicLayoutProps } from '@/types/next';
6
+ import { RouteVariants } from '@/utils/server/routeVariants';
6
7
 
7
8
  import Category from './features/Category';
8
9
 
@@ -15,10 +16,10 @@ export const generateMetadata = async () => {
15
16
  });
16
17
  };
17
18
 
18
- const Page = async () => {
19
- const mobile = await isMobileDevice();
19
+ const Page = async (props: DynamicLayoutProps) => {
20
+ const isMobile = await RouteVariants.getIsMobile(props);
20
21
 
21
- if (!mobile) return redirect('/profile');
22
+ if (!isMobile) return redirect('/profile');
22
23
 
23
24
  return <Category />;
24
25
  };
@@ -26,3 +27,5 @@ const Page = async () => {
26
27
  Page.displayName = 'MeProfile';
27
28
 
28
29
  export default Page;
30
+
31
+ export const dynamic = 'force-static';
@@ -2,7 +2,8 @@ import { redirect } from 'next/navigation';
2
2
 
3
3
  import { metadataModule } from '@/server/metadata';
4
4
  import { translation } from '@/server/translation';
5
- import { isMobileDevice } from '@/utils/server/responsive';
5
+ import { DynamicLayoutProps } from '@/types/next';
6
+ import { RouteVariants } from '@/utils/server/routeVariants';
6
7
 
7
8
  import Category from './features/Category';
8
9
 
@@ -15,10 +16,10 @@ export const generateMetadata = async () => {
15
16
  });
16
17
  };
17
18
 
18
- const Page = async () => {
19
- const mobile = await isMobileDevice();
19
+ const Page = async (props: DynamicLayoutProps) => {
20
+ const isMobile = await RouteVariants.getIsMobile(props);
20
21
 
21
- if (!mobile) return redirect('/settings/common');
22
+ if (!isMobile) return redirect('/settings/common');
22
23
 
23
24
  return <Category />;
24
25
  };
@@ -26,3 +27,5 @@ const Page = async () => {
26
27
  Page.displayName = 'MeSettings';
27
28
 
28
29
  export default Page;
30
+
31
+ export const dynamic = 'force-static';
@@ -2,7 +2,7 @@
2
2
 
3
3
  import { SideNav } from '@lobehub/ui';
4
4
  import { parseAsBoolean, useQueryState } from 'nuqs';
5
- import { memo } from 'react';
5
+ import { Suspense, memo } from 'react';
6
6
 
7
7
  import { useActiveTabKey } from '@/hooks/useActiveTabKey';
8
8
  import { useGlobalStore } from '@/store/global';
@@ -14,11 +14,16 @@ import BottomActions from './BottomActions';
14
14
  import PinList from './PinList';
15
15
  import TopActions from './TopActions';
16
16
 
17
- const Nav = memo(() => {
17
+ const Top = () => {
18
+ const [isPinned] = useQueryState('pinned', parseAsBoolean);
18
19
  const sidebarKey = useActiveTabKey();
20
+
21
+ return <TopActions isPinned={isPinned} tab={sidebarKey} />;
22
+ };
23
+
24
+ const Nav = memo(() => {
19
25
  const inZenMode = useGlobalStore(systemStatusSelectors.inZenMode);
20
26
  const { showPinList } = useServerConfigStore(featureFlagsSelectors);
21
- const [isPinned] = useQueryState('pinned', parseAsBoolean);
22
27
 
23
28
  return (
24
29
  !inZenMode && (
@@ -27,10 +32,10 @@ const Nav = memo(() => {
27
32
  bottomActions={<BottomActions />}
28
33
  style={{ height: '100%', zIndex: 100 }}
29
34
  topActions={
30
- <>
31
- <TopActions isPinned={isPinned} tab={sidebarKey} />
35
+ <Suspense>
36
+ <Top />
32
37
  {showPinList && <PinList />}
33
- </>
38
+ </Suspense>
34
39
  }
35
40
  />
36
41
  )
@@ -2,9 +2,9 @@
2
2
 
3
3
  import dynamic from 'next/dynamic';
4
4
  import { usePathname } from 'next/navigation';
5
- import qs from 'query-string';
6
5
  import { PropsWithChildren, memo } from 'react';
7
6
 
7
+ import { withSuspense } from '@/components/withSuspense';
8
8
  import { useShowMobileWorkspace } from '@/hooks/useShowMobileWorkspace';
9
9
  import { featureFlagsSelectors, useServerConfigStore } from '@/store/serverConfig';
10
10
 
@@ -24,8 +24,7 @@ const MOBILE_NAV_ROUTES = new Set([
24
24
  const Layout = memo(({ children }: PropsWithChildren) => {
25
25
  const showMobileWorkspace = useShowMobileWorkspace();
26
26
  const pathname = usePathname();
27
- const { url } = qs.parseUrl(pathname);
28
- const showNav = !showMobileWorkspace && MOBILE_NAV_ROUTES.has(url);
27
+ const showNav = !showMobileWorkspace && MOBILE_NAV_ROUTES.has(pathname);
29
28
 
30
29
  const { showCloudPromotion } = useServerConfigStore(featureFlagsSelectors);
31
30
 
@@ -40,4 +39,4 @@ const Layout = memo(({ children }: PropsWithChildren) => {
40
39
 
41
40
  Layout.displayName = 'MobileMainLayout';
42
41
 
43
- export default Layout;
42
+ export default withSuspense(Layout);
@@ -2,6 +2,7 @@
2
2
 
3
3
  import { useLayoutEffect } from 'react';
4
4
 
5
+ import { withSuspense } from '@/components/withSuspense';
5
6
  import { useQueryRoute } from '@/hooks/useQueryRoute';
6
7
 
7
8
  /**
@@ -10,7 +11,7 @@ import { useQueryRoute } from '@/hooks/useQueryRoute';
10
11
  * @refs: https://github.com/lobehub/lobe-chat/discussions/2295#discussioncomment-9290942
11
12
  */
12
13
 
13
- const ChangelogModalFallback = () => {
14
+ const ChangelogModal = () => {
14
15
  const router = useQueryRoute();
15
16
 
16
17
  useLayoutEffect(() => {
@@ -20,4 +21,4 @@ const ChangelogModalFallback = () => {
20
21
  return null;
21
22
  };
22
23
 
23
- export default ChangelogModalFallback;
24
+ export default withSuspense(ChangelogModal);
@@ -4,7 +4,7 @@ import { Fragment, Suspense } from 'react';
4
4
  import { Flexbox } from 'react-layout-kit';
5
5
  import urlJoin from 'url-join';
6
6
 
7
- import Pagination from '@/app/@modal/(.)changelog/modal/features/Pagination';
7
+ import Pagination from '@/app/[variants]/@modal/(.)changelog/modal/features/Pagination';
8
8
  import StructuredData from '@/components/StructuredData';
9
9
  import { serverFeatureFlags } from '@/config/featureFlags';
10
10
  import { BRANDING_NAME } from '@/const/branding';
@@ -13,7 +13,8 @@ import { ldModule } from '@/server/ld';
13
13
  import { metadataModule } from '@/server/metadata';
14
14
  import { ChangelogService } from '@/server/services/changelog';
15
15
  import { translation } from '@/server/translation';
16
- import { isMobileDevice } from '@/utils/server/responsive';
16
+ import { DynamicLayoutProps } from '@/types/next';
17
+ import { RouteVariants } from '@/utils/server/routeVariants';
17
18
 
18
19
  import GridLayout from './features/GridLayout';
19
20
  import Post from './features/Post';
@@ -28,12 +29,12 @@ export const generateMetadata = async () => {
28
29
  });
29
30
  };
30
31
 
31
- const Page = async () => {
32
+ const Page = async (props: DynamicLayoutProps) => {
32
33
  const hideDocs = serverFeatureFlags().hideDocs;
33
34
 
34
35
  if (hideDocs) return notFound();
35
36
 
36
- const mobile = await isMobileDevice();
37
+ const isMobile = await RouteVariants.getIsMobile(props);
37
38
  const { t, locale } = await translation('metadata');
38
39
  const changelogService = new ChangelogService();
39
40
  const data = await changelogService.getChangelogIndex();
@@ -49,7 +50,7 @@ const Page = async () => {
49
50
  return (
50
51
  <>
51
52
  <StructuredData ld={ld} />
52
- <Flexbox gap={mobile ? 16 : 48}>
53
+ <Flexbox gap={isMobile ? 16 : 48}>
53
54
  {data?.map((item) => (
54
55
  <Fragment key={item.id}>
55
56
  <Suspense
@@ -60,7 +61,7 @@ const Page = async () => {
60
61
  </GridLayout>
61
62
  }
62
63
  >
63
- <Post locale={locale} mobile={mobile} {...item} />
64
+ <Post locale={locale} mobile={isMobile} {...item} />
64
65
  </Suspense>
65
66
  </Fragment>
66
67
  ))}
@@ -1,4 +1,5 @@
1
- import { isMobileDevice } from '@/utils/server/responsive';
1
+ import { DynamicLayoutProps } from '@/types/next';
2
+ import { RouteVariants } from '@/utils/server/routeVariants';
2
3
 
3
4
  import ChatHydration from './features/ChatHydration';
4
5
  import ChatInput from './features/ChatInput';
@@ -6,14 +7,14 @@ import ChatList from './features/ChatList';
6
7
  import ThreadHydration from './features/ThreadHydration';
7
8
  import ZenModeToast from './features/ZenModeToast';
8
9
 
9
- const ChatConversation = async () => {
10
- const mobile = await isMobileDevice();
10
+ const ChatConversation = async (props: DynamicLayoutProps) => {
11
+ const isMobile = await RouteVariants.getIsMobile(props);
11
12
 
12
13
  return (
13
14
  <>
14
15
  <ZenModeToast />
15
- <ChatList mobile={mobile} />
16
- <ChatInput mobile={mobile} />
16
+ <ChatList mobile={isMobile} />
17
+ <ChatInput mobile={isMobile} />
17
18
  <ChatHydration />
18
19
  <ThreadHydration />
19
20
  </>
@@ -1,17 +1,18 @@
1
1
  import React, { Suspense, lazy } from 'react';
2
2
 
3
3
  import Loading from '@/components/Loading/BrandTextLoading';
4
- import { isMobileDevice } from '@/utils/server/responsive';
4
+ import { DynamicLayoutProps } from '@/types/next';
5
+ import { RouteVariants } from '@/utils/server/routeVariants';
5
6
 
6
7
  import Desktop from './_layout/Desktop';
7
8
  import Mobile from './_layout/Mobile';
8
9
 
9
10
  const PortalBody = lazy(() => import('@/features/Portal/router'));
10
11
 
11
- const Inspector = async () => {
12
- const mobile = await isMobileDevice();
12
+ const Inspector = async (props: DynamicLayoutProps) => {
13
+ const isMobile = await RouteVariants.getIsMobile(props);
13
14
 
14
- const Layout = mobile ? Mobile : Desktop;
15
+ const Layout = isMobile ? Mobile : Desktop;
15
16
 
16
17
  return (
17
18
  <Suspense fallback={<Loading />}>
@@ -1,7 +1,8 @@
1
1
  // import TopicListContent from './features/TopicListContent';
2
2
  import React, { Suspense, lazy } from 'react';
3
3
 
4
- import { isMobileDevice } from '@/utils/server/responsive';
4
+ import { DynamicLayoutProps } from '@/types/next';
5
+ import { RouteVariants } from '@/utils/server/routeVariants';
5
6
 
6
7
  import Desktop from './_layout/Desktop';
7
8
  import Mobile from './_layout/Mobile';
@@ -10,14 +11,14 @@ import SystemRole from './features/SystemRole';
10
11
 
11
12
  const TopicContent = lazy(() => import('./features/TopicListContent'));
12
13
 
13
- const Topic = async () => {
14
- const mobile = await isMobileDevice();
14
+ const Topic = async (props: DynamicLayoutProps) => {
15
+ const isMobile = await RouteVariants.getIsMobile(props);
15
16
 
16
- const Layout = mobile ? Mobile : Desktop;
17
+ const Layout = isMobile ? Mobile : Desktop;
17
18
 
18
19
  return (
19
20
  <>
20
- {!mobile && <SystemRole />}
21
+ {!isMobile && <SystemRole />}
21
22
  <Layout>
22
23
  <Suspense fallback={<SkeletonList />}>
23
24
  <TopicContent />
@@ -3,7 +3,7 @@
3
3
  import { MobileNavBar } from '@lobehub/ui/mobile';
4
4
  import { memo, useState } from 'react';
5
5
 
6
- import { useInitAgentConfig } from '@/app/(main)/chat/(workspace)/_layout/useInitAgentConfig';
6
+ import { useInitAgentConfig } from '@/app/[variants]/(main)/chat/(workspace)/_layout/useInitAgentConfig';
7
7
  import { INBOX_SESSION_ID } from '@/const/session';
8
8
  import { useQueryRoute } from '@/hooks/useQueryRoute';
9
9
  import { featureFlagsSelectors, useServerConfigStore } from '@/store/serverConfig';
@@ -6,7 +6,8 @@ import { BRANDING_NAME } from '@/const/branding';
6
6
  import { ldModule } from '@/server/ld';
7
7
  import { metadataModule } from '@/server/metadata';
8
8
  import { translation } from '@/server/translation';
9
- import { isMobileDevice } from '@/utils/server/responsive';
9
+ import { DynamicLayoutProps } from '@/types/next';
10
+ import { RouteVariants } from '@/utils/server/routeVariants';
10
11
 
11
12
  import PageTitle from '../features/PageTitle';
12
13
  import Changelog from './features/ChangelogModal';
@@ -21,9 +22,9 @@ export const generateMetadata = async () => {
21
22
  });
22
23
  };
23
24
 
24
- const Page = async () => {
25
+ const Page = async (props: DynamicLayoutProps) => {
25
26
  const { hideDocs, showChangelog } = serverFeatureFlags();
26
- const mobile = await isMobileDevice();
27
+ const mobile = await RouteVariants.getIsMobile(props);
27
28
  const { t } = await translation('metadata');
28
29
  const ld = ldModule.generate({
29
30
  description: t('chat.description', { appName: BRANDING_NAME }),
@@ -2,6 +2,7 @@ import { Suspense, lazy } from 'react';
2
2
 
3
3
  import CircleLoading from '@/components/Loading/CircleLoading';
4
4
  import ServerLayout from '@/components/server/ServerLayout';
5
+ import { DynamicLayoutProps } from '@/types/next';
5
6
 
6
7
  import Desktop from './_layout/Desktop';
7
8
  import Mobile from './_layout/Mobile';
@@ -12,10 +13,10 @@ const SessionListContent = lazy(() => import('./features/SessionListContent'));
12
13
 
13
14
  const Layout = ServerLayout({ Desktop, Mobile });
14
15
 
15
- const Session = () => {
16
+ const Session = (props: DynamicLayoutProps) => {
16
17
  return (
17
18
  <Suspense fallback={<CircleLoading />}>
18
- <Layout>
19
+ <Layout {...props}>
19
20
  <Suspense fallback={<SkeletonList />}>
20
21
  <SessionListContent />
21
22
  </Suspense>
@@ -9,3 +9,5 @@ const Layout = ServerLayout<LayoutProps>({ Desktop, Mobile });
9
9
  Layout.displayName = 'ChatLayout';
10
10
 
11
11
  export default Layout;
12
+
13
+ export const dynamic = 'force-static';
@@ -9,11 +9,11 @@ import Mobile from './_layout/Mobile';
9
9
 
10
10
  const SessionSettingsLayout = ServerLayout({ Desktop, Mobile });
11
11
 
12
- const Layout = ({ children }: PropsWithChildren) => {
12
+ const Layout = ({ children, ...res }: PropsWithChildren) => {
13
13
  const isAgentEditable = serverFeatureFlags().isAgentEditable;
14
14
  if (!isAgentEditable) return notFound();
15
15
 
16
- return <SessionSettingsLayout>{children}</SessionSettingsLayout>;
16
+ return <SessionSettingsLayout {...res}>{children}</SessionSettingsLayout>;
17
17
  };
18
18
 
19
19
  Layout.displayName = 'SessionSettingsLayout';
@@ -33,13 +33,13 @@ export interface SuggestionItemProps
33
33
  extends Omit<DiscoverAssistantItem, 'suggestions' | 'socialData' | 'category' | 'config'>,
34
34
  FlexboxProps {}
35
35
 
36
- const SuggestionItem = memo<SuggestionItemProps>(({ className, meta, identifier, ...rest }) => {
36
+ const SuggestionItem = memo<SuggestionItemProps>(({ className, meta, identifier }) => {
37
37
  const { avatar, title, description, backgroundColor } = meta;
38
38
 
39
39
  const { cx, styles, theme } = useStyles();
40
40
 
41
41
  return (
42
- <Flexbox className={cx(styles.container, className)} gap={12} key={identifier} {...rest}>
42
+ <Flexbox className={cx(styles.container, className)} gap={12} key={identifier}>
43
43
  <Flexbox align={'center'} gap={12} horizontal width={'100%'}>
44
44
  <Avatar
45
45
  alt={title}