@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.
- package/CHANGELOG.md +58 -0
- package/Dockerfile +1 -1
- package/Dockerfile.database +1 -1
- package/changelog/v1.json +17 -0
- package/docs/usage/providers/wenxin.mdx +16 -13
- package/docs/usage/providers/wenxin.zh-CN.mdx +11 -8
- package/next.config.ts +5 -0
- package/package.json +2 -3
- package/src/app/{(main) → [variants]/(main)}/(mobile)/me/(home)/page.tsx +7 -4
- package/src/app/{(main) → [variants]/(main)}/(mobile)/me/profile/features/Category.tsx +1 -1
- package/src/app/{(main) → [variants]/(main)}/(mobile)/me/profile/page.tsx +7 -4
- package/src/app/{(main) → [variants]/(main)}/(mobile)/me/settings/page.tsx +7 -4
- package/src/app/{(main) → [variants]/(main)}/_layout/Desktop/SideBar/index.tsx +11 -6
- package/src/app/{(main) → [variants]/(main)}/_layout/Mobile/index.tsx +3 -4
- package/src/app/{(main) → [variants]/(main)}/changelog/modal/page.tsx +3 -2
- package/src/app/{(main) → [variants]/(main)}/changelog/page.tsx +7 -6
- package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@conversation/default.tsx +6 -5
- package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@portal/default.tsx +5 -4
- package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@topic/default.tsx +6 -5
- package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/_layout/Mobile/ChatHeader/index.tsx +1 -1
- package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/page.tsx +4 -3
- package/src/app/{(main) → [variants]/(main)}/chat/@session/default.tsx +3 -2
- package/src/app/{(main) → [variants]/(main)}/chat/layout.ts +2 -0
- package/src/app/{(main) → [variants]/(main)}/chat/settings/layout.tsx +2 -2
- package/src/app/{(main) → [variants]/(main)}/discover/(detail)/assistant/[slug]/features/InfoSidebar/SuggestionItem.tsx +2 -2
- package/src/app/{(main) → [variants]/(main)}/discover/(detail)/assistant/[slug]/page.tsx +2 -2
- package/src/app/{(main) → [variants]/(main)}/discover/(detail)/model/[...slugs]/page.tsx +3 -3
- package/src/app/{(main) → [variants]/(main)}/discover/(detail)/plugin/[slug]/page.tsx +2 -2
- package/src/app/{(main) → [variants]/(main)}/discover/(detail)/provider/[slug]/page.tsx +2 -2
- package/src/app/{(main) → [variants]/(main)}/discover/(list)/(home)/page.tsx +10 -3
- package/src/app/{(main) → [variants]/(main)}/discover/(list)/assistants/[slug]/page.tsx +2 -2
- package/src/app/{(main) → [variants]/(main)}/discover/(list)/assistants/page.tsx +10 -4
- package/src/app/{(main) → [variants]/(main)}/discover/(list)/models/[slug]/page.tsx +2 -2
- package/src/app/{(main) → [variants]/(main)}/discover/(list)/models/page.tsx +11 -5
- package/src/app/{(main) → [variants]/(main)}/discover/(list)/plugins/[slug]/page.tsx +2 -2
- package/src/app/{(main) → [variants]/(main)}/discover/(list)/plugins/page.tsx +11 -5
- package/src/app/{(main) → [variants]/(main)}/discover/(list)/providers/page.tsx +11 -5
- package/src/app/{(main) → [variants]/(main)}/discover/layout.tsx +2 -0
- package/src/app/{(main) → [variants]/(main)}/discover/search/page.tsx +3 -3
- package/src/app/{(main) → [variants]/(main)}/files/(content)/@menu/features/FileMenu/index.tsx +1 -1
- package/src/app/{(main) → [variants]/(main)}/files/(content)/@modal/(.)[id]/FullscreenModal.tsx +1 -1
- package/src/app/{(main) → [variants]/(main)}/files/(content)/page.tsx +1 -1
- package/src/app/{(main) → [variants]/(main)}/files/hooks/useFileCategory.ts +1 -4
- package/src/app/{(main) → [variants]/(main)}/files/layout.tsx +2 -0
- package/src/app/{(main) → [variants]/(main)}/profile/(home)/[[...slugs]]/page.tsx +4 -3
- package/src/app/{(main) → [variants]/(main)}/profile/features/ClerkProfile.tsx +3 -1
- package/src/app/{(main) → [variants]/(main)}/profile/security/page.tsx +4 -3
- package/src/app/{(main) → [variants]/(main)}/profile/stats/page.tsx +4 -3
- package/src/app/{(main) → [variants]/(main)}/settings/@category/features/CategoryContent.tsx +2 -1
- package/src/app/{(main) → [variants]/(main)}/settings/common/features/Common.tsx +1 -1
- package/src/app/{(main) → [variants]/(main)}/settings/common/features/Theme/index.tsx +1 -1
- package/src/app/{(main) → [variants]/(main)}/settings/layout.ts +2 -0
- package/src/app/{(main) → [variants]/(main)}/settings/llm/ProviderList/providers.tsx +2 -4
- package/src/app/{(main) → [variants]/(main)}/settings/llm/components/ProviderConfig/index.tsx +2 -2
- package/src/app/{(main) → [variants]/(main)}/settings/provider/layout.tsx +2 -2
- package/src/app/{(main) → [variants]/(main)}/settings/sync/features/WebRTC/index.tsx +1 -1
- package/src/app/{@modal → [variants]/@modal}/(.)changelog/modal/page.tsx +5 -6
- package/src/app/{@modal → [variants]/@modal}/_layout/SettingModalLayout.tsx +2 -2
- package/src/app/{@modal → [variants]/@modal}/chat/(.)settings/modal/features/CategoryContent.tsx +1 -1
- package/src/app/{@modal → [variants]/@modal}/chat/(.)settings/modal/layout.tsx +1 -1
- package/src/app/[variants]/layout.tsx +94 -0
- package/src/app/{page.tsx → [variants]/page.tsx} +3 -1
- package/src/components/server/ServerLayout.tsx +19 -5
- package/src/config/aiModels/wenxin.ts +125 -19
- package/src/config/llm.ts +3 -5
- package/src/config/modelProviders/wenxin.ts +100 -23
- package/src/const/auth.ts +0 -3
- package/src/features/Conversation/Error/APIKeyForm/index.tsx +0 -3
- package/src/features/Conversation/components/ChatItem/utils.test.ts +284 -0
- package/src/features/Conversation/components/ChatItem/utils.ts +39 -8
- package/src/features/Conversation/components/MarkdownElements/LobeArtifact/rehypePlugin.test.ts +125 -0
- package/src/features/DevPanel/CacheViewer/DataTable/index.tsx +33 -0
- package/src/features/DevPanel/CacheViewer/cacheProvider.tsx +64 -0
- package/src/features/DevPanel/CacheViewer/getCacheEntries.ts +52 -0
- package/src/features/DevPanel/CacheViewer/index.tsx +25 -0
- package/src/features/DevPanel/CacheViewer/schema.ts +49 -0
- package/src/features/DevPanel/FeatureFlagViewer/Form.tsx +93 -0
- package/src/features/DevPanel/FeatureFlagViewer/index.tsx +11 -0
- package/src/features/DevPanel/MetadataViewer/Ld.tsx +25 -0
- package/src/features/DevPanel/MetadataViewer/MetaData.tsx +30 -0
- package/src/features/DevPanel/MetadataViewer/Og.tsx +75 -0
- package/src/features/DevPanel/MetadataViewer/index.tsx +80 -0
- package/src/features/DevPanel/MetadataViewer/useHead.ts +16 -0
- package/src/features/DevPanel/PostgresViewer/DataTable/index.tsx +39 -49
- package/src/features/DevPanel/PostgresViewer/{TableColumns.tsx → SchemaSidebar/Columns.tsx} +6 -4
- package/src/features/DevPanel/PostgresViewer/{Schema.tsx → SchemaSidebar/index.tsx} +49 -55
- package/src/features/DevPanel/PostgresViewer/index.tsx +4 -2
- package/src/features/DevPanel/features/FloatPanel.tsx +218 -0
- package/src/features/DevPanel/features/Header.tsx +50 -0
- package/src/features/DevPanel/features/Table/TableCell.tsx +73 -0
- package/src/features/DevPanel/features/Table/TooltipContent.tsx +39 -0
- package/src/features/DevPanel/{PostgresViewer/DataTable/Table.tsx → features/Table/index.tsx} +12 -14
- package/src/features/DevPanel/index.tsx +29 -5
- package/src/hooks/useActiveTabKey.ts +0 -7
- package/src/layout/AuthProvider/Clerk/index.tsx +0 -1
- package/src/layout/GlobalProvider/ReactScan.tsx +2 -4
- package/src/layout/GlobalProvider/StoreInitialization.tsx +7 -2
- package/src/layout/GlobalProvider/index.tsx +21 -29
- package/src/libs/agent-runtime/AgentRuntime.test.ts +0 -1
- package/src/libs/agent-runtime/AgentRuntime.ts +7 -0
- package/src/libs/agent-runtime/wenxin/index.ts +10 -107
- package/src/locales/create.ts +15 -16
- package/src/locales/default/modelProvider.ts +0 -20
- package/src/middleware.ts +96 -23
- package/src/server/modules/AgentRuntime/index.test.ts +0 -21
- package/src/server/translation.test.ts +0 -7
- package/src/server/translation.ts +2 -5
- package/src/services/_auth.ts +0 -14
- package/src/store/chat/slices/portal/selectors.test.ts +169 -3
- package/src/store/chat/slices/portal/selectors.ts +6 -1
- package/src/store/user/slices/modelList/selectors/keyVaults.ts +0 -2
- package/src/types/aiProvider.ts +0 -1
- package/src/types/discover.ts +4 -1
- package/src/types/next.ts +4 -0
- package/src/types/user/settings/keyVaults.ts +1 -6
- package/src/utils/locale.ts +20 -4
- package/src/utils/server/routeVariants.ts +80 -0
- package/src/app/(backend)/webapi/chat/wenxin/route.test.ts +0 -27
- package/src/app/(backend)/webapi/chat/wenxin/route.ts +0 -30
- package/src/app/(main)/settings/llm/ProviderList/Wenxin/index.tsx +0 -44
- package/src/app/(main)/settings/provider/(detail)/wenxin/page.tsx +0 -61
- package/src/app/layout.tsx +0 -67
- package/src/features/Conversation/Error/APIKeyForm/Wenxin.tsx +0 -49
- package/src/features/DevPanel/FloatPanel.tsx +0 -136
- package/src/features/DevPanel/PostgresViewer/DataTable/TableCell.tsx +0 -34
- package/src/hooks/useSettingsTab.ts +0 -12
- package/src/libs/agent-runtime/utils/streams/wenxin.test.ts +0 -153
- package/src/libs/agent-runtime/utils/streams/wenxin.ts +0 -38
- package/src/libs/agent-runtime/wenxin/type.ts +0 -84
- /package/src/app/{(main) → [variants]/(main)}/(mobile)/me/(home)/__tests__/UserBanner.test.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/(mobile)/me/(home)/__tests__/useCategory.test.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/(mobile)/me/(home)/features/Category.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/(mobile)/me/(home)/features/Header.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/(mobile)/me/(home)/features/UserBanner.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/(mobile)/me/(home)/features/useCategory.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/(mobile)/me/(home)/layout.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/(mobile)/me/(home)/loading.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/(mobile)/me/data/features/Category.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/(mobile)/me/data/features/Header.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/(mobile)/me/data/layout.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/(mobile)/me/data/loading.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/(mobile)/me/data/page.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/(mobile)/me/profile/features/Header.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/(mobile)/me/profile/layout.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/(mobile)/me/profile/loading.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/(mobile)/me/settings/features/Category.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/(mobile)/me/settings/features/Header.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/(mobile)/me/settings/features/useCategory.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/(mobile)/me/settings/layout.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/(mobile)/me/settings/loading.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/_layout/Desktop/SideBar/Avatar.test.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/_layout/Desktop/SideBar/Avatar.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/_layout/Desktop/SideBar/BottomActions.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/_layout/Desktop/SideBar/PinList/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/_layout/Desktop/SideBar/TopActions.test.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/_layout/Desktop/SideBar/TopActions.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/_layout/Desktop/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/_layout/Mobile/NavBar.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/changelog/_layout/Desktop.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/changelog/_layout/Mobile/Header.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/changelog/_layout/Mobile/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/changelog/error.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/changelog/features/GridLayout.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/changelog/features/Hero.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/changelog/features/Post.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/changelog/features/PublishedTime.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/changelog/features/VersionTag.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/changelog/layout.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/changelog/loading.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/changelog/not-found.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@conversation/features/ChatHydration/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@conversation/features/ChatInput/Desktop/Footer/SendMore.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@conversation/features/ChatInput/Desktop/Footer/ShortcutHint.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@conversation/features/ChatInput/Desktop/Footer/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@conversation/features/ChatInput/Desktop/TextArea.test.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@conversation/features/ChatInput/Desktop/TextArea.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@conversation/features/ChatInput/Desktop/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@conversation/features/ChatInput/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@conversation/features/ChatList/ChatItem/Thread.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@conversation/features/ChatList/ChatItem/ThreadItem.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@conversation/features/ChatList/ChatItem/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@conversation/features/ChatList/Content.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@conversation/features/ChatList/WelcomeChatItem/InboxWelcome/AgentsSuggest.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@conversation/features/ChatList/WelcomeChatItem/InboxWelcome/QuestionSuggest.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@conversation/features/ChatList/WelcomeChatItem/InboxWelcome/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@conversation/features/ChatList/WelcomeChatItem/WelcomeMessage.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@conversation/features/ChatList/WelcomeChatItem/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@conversation/features/ChatList/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@conversation/features/ThreadHydration.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@conversation/features/ZenModeToast/Toast.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@conversation/features/ZenModeToast/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@portal/_layout/Desktop.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@portal/_layout/Mobile.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@portal/error.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@portal/features/Body.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@portal/loading.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@topic/_layout/Desktop.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@topic/_layout/Mobile.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@topic/features/Header.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@topic/features/SkeletonList.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@topic/features/SystemRole/SystemRoleContent.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@topic/features/SystemRole/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@topic/features/SystemRole/style.ts +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@topic/features/TopicListContent/ByTimeMode/GroupItem.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@topic/features/TopicListContent/ByTimeMode/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@topic/features/TopicListContent/FlatMode/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@topic/features/TopicListContent/ThreadItem/Content.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@topic/features/TopicListContent/ThreadItem/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@topic/features/TopicListContent/TopicItem/DefaultContent.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@topic/features/TopicListContent/TopicItem/TopicContent.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@topic/features/TopicListContent/TopicItem/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@topic/features/TopicListContent/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/@topic/features/TopicSearchBar/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/_layout/Desktop/ChatHeader/HeaderAction.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/_layout/Desktop/ChatHeader/KnowledgeTag.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/_layout/Desktop/ChatHeader/Main.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/_layout/Desktop/ChatHeader/Tags.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/_layout/Desktop/ChatHeader/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/_layout/Desktop/HotKeys.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/_layout/Desktop/Portal.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/_layout/Desktop/TopicPanel.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/_layout/Desktop/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/_layout/Mobile/ChatHeader/ChatHeaderTitle.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/_layout/Mobile/TopicModal.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/_layout/Mobile/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/_layout/type.ts +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/_layout/useInitAgentConfig.ts +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/features/ChangelogModal.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/features/SettingButton.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/features/ShareButton/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/features/TelemetryNotification.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/(workspace)/layout.ts +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/@session/_layout/Desktop/PanelBody.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/@session/_layout/Desktop/SessionHeader.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/@session/_layout/Desktop/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/@session/_layout/Mobile/SessionHeader.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/@session/_layout/Mobile/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/@session/features/SessionHydration.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/@session/features/SessionListContent/CollapseGroup/Actions.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/@session/features/SessionListContent/CollapseGroup/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/@session/features/SessionListContent/DefaultMode.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/@session/features/SessionListContent/Inbox/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/@session/features/SessionListContent/List/AddButton.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/@session/features/SessionListContent/List/Item/Actions.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/@session/features/SessionListContent/List/Item/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/@session/features/SessionListContent/List/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/@session/features/SessionListContent/ListItem/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/@session/features/SessionListContent/Modals/ConfigGroupModal/GroupItem.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/@session/features/SessionListContent/Modals/ConfigGroupModal/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/@session/features/SessionListContent/Modals/CreateGroupModal.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/@session/features/SessionListContent/Modals/RenameGroupModal.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/@session/features/SessionListContent/SearchMode.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/@session/features/SessionListContent/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/@session/features/SessionSearchBar.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/@session/features/SkeletonList.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/_layout/Desktop/SessionPanel.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/_layout/Desktop/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/_layout/Mobile.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/_layout/type.ts +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/error.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/features/Migration/DBReader.ts +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/features/Migration/ExportConfigButton.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/features/Migration/Failed.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/features/Migration/Modal.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/features/Migration/Start.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/features/Migration/UpgradeButton.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/features/Migration/const.ts +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/features/Migration/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/features/PageTitle/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/loading.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/not-found.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/settings/_layout/Desktop/Header.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/settings/_layout/Desktop/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/settings/_layout/Mobile/Header.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/settings/_layout/Mobile/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/settings/error.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/settings/features/EditPage.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/settings/features/HeaderContent.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/settings/features/SubmitAgentButton/SubmitAgentModal.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/settings/features/SubmitAgentButton/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/settings/features/SubmitAgentButton/style.ts +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/settings/loading.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/settings/modal/page.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/settings/not-found.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/chat/settings/page.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/_layout/Desktop.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/_layout/Mobile/Header.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/_layout/Mobile/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/assistant/[slug]/features/Actions.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/assistant/[slug]/features/AddAgent.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/assistant/[slug]/features/ConversationExample/TopicList.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/assistant/[slug]/features/ConversationExample/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/assistant/[slug]/features/Header.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/assistant/[slug]/features/InfoSidebar/ToolItem.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/assistant/[slug]/features/InfoSidebar/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/assistant/[slug]/features/SystemRole.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/assistant/[slug]/features/Temp.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/error.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/features/Back.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/features/Block.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/features/DetailLayout.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/features/HighlightBlock.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/features/ShareButton.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/features/SidebarContainer.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/layout.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/loading.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/model/[...slugs]/features/Actions.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/model/[...slugs]/features/ChatWithModel.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/model/[...slugs]/features/Header.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/model/[...slugs]/features/InfoSidebar/SuggestionItem.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/model/[...slugs]/features/InfoSidebar/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/model/[...slugs]/features/ParameterList/ParameterItem.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/model/[...slugs]/features/ParameterList/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/model/[...slugs]/features/ProviderList/ProviderItem.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/model/[...slugs]/features/ProviderList/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/not-found.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/plugin/[slug]/features/Actions.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/plugin/[slug]/features/Header.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/plugin/[slug]/features/InfoSidebar/SuggestionItem.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/plugin/[slug]/features/InfoSidebar/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/plugin/[slug]/features/InstallPlugin.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/plugin/[slug]/features/ParameterList.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/plugin/[slug]/features/Schema.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/provider/[slug]/features/Actions.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/provider/[slug]/features/Header.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/provider/[slug]/features/InfoSidebar/SuggestionItem.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/provider/[slug]/features/InfoSidebar/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/provider/[slug]/features/ModelList/ModelItem.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/provider/[slug]/features/ModelList/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(detail)/provider/[slug]/features/ProviderConfig.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(list)/(home)/Client.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(list)/(home)/features/AssistantList.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(list)/(home)/features/ModelList.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(list)/(home)/features/PluginList.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(list)/(home)/loading.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(list)/_layout/Desktop/Nav.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(list)/_layout/Desktop/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(list)/_layout/Desktop/useScroll.ts +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(list)/_layout/Mobile/Header.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(list)/_layout/Mobile/Nav.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(list)/_layout/Mobile/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(list)/assistants/_layout/Desktop.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(list)/assistants/_layout/Mobile.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(list)/assistants/features/Card.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(list)/assistants/features/Category.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(list)/assistants/features/List.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(list)/assistants/features/useCategory.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(list)/assistants/layout.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(list)/assistants/loading.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(list)/error.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(list)/layout.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(list)/loading.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(list)/models/_layout/Desktop.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(list)/models/_layout/Mobile.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(list)/models/features/Card.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(list)/models/features/Category.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(list)/models/features/List.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(list)/models/features/const.ts +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(list)/models/layout.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(list)/models/loading.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(list)/not-found.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(list)/plugins/_layout/Desktop.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(list)/plugins/_layout/Mobile.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(list)/plugins/features/Card.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(list)/plugins/features/Category.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(list)/plugins/features/List.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(list)/plugins/features/useCategory.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(list)/plugins/layout.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(list)/plugins/loading.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(list)/providers/features/Card.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(list)/providers/features/List.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/(list)/providers/loading.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/_layout/Desktop/Header.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/_layout/Desktop/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/_layout/Mobile/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/components/CardBanner.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/components/CategoryContainer.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/components/CategoryMenu.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/components/GitHubAvatar.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/components/GridLoadingCard.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/components/ListLoading.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/components/Loading.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/components/SearchResultCount.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/components/Statistic.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/components/Title.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/components/VirtuosoGridList/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/components/VirtuosoGridList/useScrollParent.ts +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/error.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/features/CreateButton/Inner.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/features/CreateButton/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/features/LikeButton.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/features/ModelFeatureTags.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/features/StoreSearchBar.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/features/const.ts +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/features/useNav.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/loading.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/not-found.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/search/_layout/Desktop.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/search/_layout/Mobile/Header.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/search/_layout/Mobile/Nav.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/search/_layout/Mobile/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/search/features/AssistantsResult.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/search/features/Category.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/search/features/ModelsResult.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/search/features/PluginsResult.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/search/features/ProvidersResult.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/search/layout.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/discover/search/loading.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/error.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/files/(content)/@menu/default.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/files/(content)/@menu/features/KnowledgeBase/EmptyStatus.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/files/(content)/@menu/features/KnowledgeBase/Item/Content.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/files/(content)/@menu/features/KnowledgeBase/Item/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/files/(content)/@menu/features/KnowledgeBase/KnowledgeBaseList.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/files/(content)/@menu/features/KnowledgeBase/SkeletonList.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/files/(content)/@menu/features/KnowledgeBase/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/files/(content)/@modal/(.)[id]/FileDetail.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/files/(content)/@modal/(.)[id]/FilePreview.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/files/(content)/@modal/(.)[id]/page.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/files/(content)/@modal/default.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/files/(content)/NotSupportClient.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/files/(content)/_layout/Desktop/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/files/(content)/_layout/Mobile.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/files/(content)/_layout/type.ts +0 -0
- /package/src/app/{(main) → [variants]/(main)}/files/(content)/layout.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/files/[id]/Header.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/files/[id]/page.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/files/features/FileDetail.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/files/loading.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/layout.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/not-found.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/profile/(home)/Client.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/profile/@category/default.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/profile/@category/features/CategoryContent.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/profile/_layout/Desktop/Header.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/profile/_layout/Desktop/SideBar.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/profile/_layout/Desktop/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/profile/_layout/Mobile/Header.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/profile/_layout/Mobile/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/profile/_layout/type.ts +0 -0
- /package/src/app/{(main) → [variants]/(main)}/profile/error.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/profile/hooks/useCategory.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/profile/layout.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/profile/loading.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/profile/not-found.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/profile/stats/Client.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/profile/stats/features/AiHeatmaps.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/profile/stats/features/AssistantsRank.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/profile/stats/features/ModelsRank.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/profile/stats/features/ShareButton/Preview.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/profile/stats/features/ShareButton/ShareModal.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/profile/stats/features/ShareButton/TotalCard.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/profile/stats/features/ShareButton/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/profile/stats/features/TimeLabel.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/profile/stats/features/TopicsRank.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/profile/stats/features/TotalAssistants.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/profile/stats/features/TotalMessages.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/profile/stats/features/TotalTopics.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/profile/stats/features/TotalWords.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/profile/stats/features/Welcome.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/repos/[id]/@menu/Head/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/repos/[id]/@menu/Menu/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/repos/[id]/@menu/default.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/repos/[id]/_layout/Desktop/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/repos/[id]/_layout/Mobile.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/repos/[id]/_layout/type.ts +0 -0
- /package/src/app/{(main) → [variants]/(main)}/repos/[id]/evals/components/Container.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/repos/[id]/evals/components/Tabs.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/repos/[id]/evals/dataset/CreateDataset/CreateForm.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/repos/[id]/evals/dataset/CreateDataset/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/repos/[id]/evals/dataset/DatasetDetail/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/repos/[id]/evals/dataset/DatasetList/Item.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/repos/[id]/evals/dataset/DatasetList/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/repos/[id]/evals/dataset/EmptyGuide/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/repos/[id]/evals/dataset/page.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/repos/[id]/evals/evaluation/CreateEvaluation/CreateForm.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/repos/[id]/evals/evaluation/CreateEvaluation/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/repos/[id]/evals/evaluation/CreateEvaluation/useModal.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/repos/[id]/evals/evaluation/EmptyGuide/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/repos/[id]/evals/evaluation/EvaluationList/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/repos/[id]/evals/evaluation/page.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/repos/[id]/evals/layout.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/repos/[id]/evals/page.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/repos/[id]/hooks/useKnowledgeItem.ts +0 -0
- /package/src/app/{(main) → [variants]/(main)}/repos/[id]/layout.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/repos/[id]/not-found.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/repos/[id]/page.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/repos/layout.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/@category/default.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/@category/features/UpgradeAlert.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/_layout/Desktop/Header.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/_layout/Desktop/SideBar.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/_layout/Desktop/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/_layout/Mobile/Header.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/_layout/Mobile/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/_layout/type.ts +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/about/features/AboutList.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/about/features/Analytics.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/about/features/ItemCard.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/about/features/ItemLink.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/about/features/Version.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/about/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/about/page.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/agent/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/agent/page.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/common/features/Theme/ThemeSwatches/ThemeSwatchesNeutral.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/common/features/Theme/ThemeSwatches/ThemeSwatchesPrimary.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/common/features/Theme/ThemeSwatches/index.ts +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/common/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/common/page.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/error.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/features/UpgradeAlert.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/hooks/useCategory.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/hooks/useSyncSettings.ts +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/llm/ProviderList/Azure/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/llm/ProviderList/Bedrock/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/llm/ProviderList/Cloudflare/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/llm/ProviderList/Github/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/llm/ProviderList/HuggingFace/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/llm/ProviderList/Ollama/Checker.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/llm/ProviderList/Ollama/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/llm/ProviderList/OpenAI/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/llm/components/Checker.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/llm/components/ProviderModelList/CustomModelOption.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/llm/components/ProviderModelList/ModelConfigModal/Form.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/llm/components/ProviderModelList/ModelConfigModal/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/llm/components/ProviderModelList/ModelFetcher.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/llm/components/ProviderModelList/Option.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/llm/components/ProviderModelList/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/llm/const.ts +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/llm/features/Footer.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/llm/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/llm/page.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/llm/type.ts +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/loading.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/not-found.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/provider/(detail)/[id]/ClientMode.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/provider/(detail)/[id]/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/provider/(detail)/[id]/page.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/provider/(detail)/azure/page.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/provider/(detail)/bedrock/page.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/provider/(detail)/cloudflare/page.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/provider/(detail)/doubao/page.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/provider/(detail)/github/page.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/provider/(detail)/huggingface/page.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/provider/(detail)/ollama/CheckError.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/provider/(detail)/ollama/Container.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/provider/(detail)/ollama/OllamaModelDownloader/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/provider/(detail)/ollama/OllamaModelDownloader/useDownloadMonitor.ts +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/provider/(detail)/ollama/page.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/provider/(detail)/openai/page.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/provider/(list)/Footer.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/provider/(list)/ProviderGrid/Card.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/provider/(list)/ProviderGrid/EnableSwitch.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/provider/(list)/ProviderGrid/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/provider/(list)/ProviderGrid/style.ts +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/provider/(list)/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/provider/ProviderMenu/AddNew.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/provider/ProviderMenu/All.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/provider/ProviderMenu/Item.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/provider/ProviderMenu/List.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/provider/ProviderMenu/SearchResult.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/provider/ProviderMenu/SkeletonList.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/provider/ProviderMenu/SortProviderModal/GroupItem.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/provider/ProviderMenu/SortProviderModal/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/provider/ProviderMenu/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/provider/_layout/Desktop.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/provider/_layout/Mobile.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/provider/const.ts +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/provider/features/CreateNewProvider/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/provider/features/ModelList/CreateNewModelModal/Form.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/provider/features/ModelList/CreateNewModelModal/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/provider/features/ModelList/DisabledModels.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/provider/features/ModelList/EmptyModels.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/provider/features/ModelList/EnabledModelList/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/provider/features/ModelList/ModelConfigModal/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/provider/features/ModelList/ModelItem.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/provider/features/ModelList/ModelTitle/Search.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/provider/features/ModelList/ModelTitle/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/provider/features/ModelList/SearchResult.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/provider/features/ModelList/SkeletonList.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/provider/features/ModelList/SortModelModal/ListItem.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/provider/features/ModelList/SortModelModal/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/provider/features/ModelList/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/provider/features/ProviderConfig/Checker.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/provider/features/ProviderConfig/EnableSwitch.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/provider/features/ProviderConfig/SkeletonInput.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/provider/features/ProviderConfig/UpdateProviderInfo/SettingModal.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/provider/features/ProviderConfig/UpdateProviderInfo/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/provider/features/ProviderConfig/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/provider/page.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/provider/type.ts +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/sync/features/Alert.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/sync/features/DeviceInfo/Card.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/sync/features/DeviceInfo/DeviceName.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/sync/features/DeviceInfo/SystemIcon.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/sync/features/DeviceInfo/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/sync/features/WebRTC/ChannelNameInput.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/sync/features/WebRTC/SyncSwitch/index.css +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/sync/features/WebRTC/SyncSwitch/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/sync/features/WebRTC/generateRandomRoomName.ts +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/sync/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/sync/page.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/system-agent/features/createForm.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/system-agent/features/useSync.ts +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/system-agent/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/system-agent/page.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/tts/features/OpenAI.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/tts/features/STT.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/tts/features/const.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/tts/index.tsx +0 -0
- /package/src/app/{(main) → [variants]/(main)}/settings/tts/page.tsx +0 -0
- /package/src/app/{@modal → [variants]/@modal}/(.)changelog/modal/features/Cover.tsx +0 -0
- /package/src/app/{@modal → [variants]/@modal}/(.)changelog/modal/features/Hero.tsx +0 -0
- /package/src/app/{@modal → [variants]/@modal}/(.)changelog/modal/features/Pagination.tsx +0 -0
- /package/src/app/{@modal → [variants]/@modal}/(.)changelog/modal/features/Post.tsx +0 -0
- /package/src/app/{@modal → [variants]/@modal}/(.)changelog/modal/features/PublishedTime.tsx +0 -0
- /package/src/app/{@modal → [variants]/@modal}/(.)changelog/modal/features/ReadDetail.tsx +0 -0
- /package/src/app/{@modal → [variants]/@modal}/(.)changelog/modal/features/UpdateChangelogStatus.tsx +0 -0
- /package/src/app/{@modal → [variants]/@modal}/(.)changelog/modal/features/VersionTag.tsx +0 -0
- /package/src/app/{@modal → [variants]/@modal}/(.)changelog/modal/layout.tsx +0 -0
- /package/src/app/{@modal → [variants]/@modal}/(.)changelog/modal/loading.tsx +0 -0
- /package/src/app/{@modal → [variants]/@modal}/_layout/ModalLayout.tsx +0 -0
- /package/src/app/{@modal → [variants]/@modal}/chat/(.)settings/modal/features/useCategory.tsx +0 -0
- /package/src/app/{@modal → [variants]/@modal}/chat/(.)settings/modal/loading.tsx +0 -0
- /package/src/app/{@modal → [variants]/@modal}/chat/(.)settings/modal/page.tsx +0 -0
- /package/src/app/{@modal → [variants]/@modal}/default.tsx +0 -0
- /package/src/app/{@modal → [variants]/@modal}/error.tsx +0 -0
- /package/src/app/{@modal → [variants]/@modal}/layout.tsx +0 -0
- /package/src/app/{@modal → [variants]/@modal}/loading.tsx +0 -0
- /package/src/app/{error.tsx → [variants]/error.tsx} +0 -0
- /package/src/app/{global-error.tsx → [variants]/global-error.tsx} +0 -0
- /package/src/app/{loading → [variants]/loading}/Client/Content.tsx +0 -0
- /package/src/app/{loading → [variants]/loading}/Client/Error.tsx +0 -0
- /package/src/app/{loading → [variants]/loading}/Client/Redirect.tsx +0 -0
- /package/src/app/{loading → [variants]/loading}/Client/index.tsx +0 -0
- /package/src/app/{loading → [variants]/loading}/Server/Content.tsx +0 -0
- /package/src/app/{loading → [variants]/loading}/Server/Redirect.tsx +0 -0
- /package/src/app/{loading → [variants]/loading}/Server/index.tsx +0 -0
- /package/src/app/{loading → [variants]/loading}/index.tsx +0 -0
- /package/src/app/{loading → [variants]/loading}/stage.ts +0 -0
- /package/src/app/{metadata.ts → [variants]/metadata.ts} +0 -0
- /package/src/app/{not-found.tsx → [variants]/not-found.tsx} +0 -0
package/src/app/layout.tsx
DELETED
@@ -1,67 +0,0 @@
|
|
1
|
-
import { SpeedInsights } from '@vercel/speed-insights/next';
|
2
|
-
import { ResolvingViewport } from 'next';
|
3
|
-
import { cookies } from 'next/headers';
|
4
|
-
import { ReactNode } from 'react';
|
5
|
-
import { isRtlLang } from 'rtl-detect';
|
6
|
-
|
7
|
-
import Analytics from '@/components/Analytics';
|
8
|
-
import { DEFAULT_LANG, LOBE_LOCALE_COOKIE } from '@/const/locale';
|
9
|
-
import PWAInstall from '@/features/PWAInstall';
|
10
|
-
import AuthProvider from '@/layout/AuthProvider';
|
11
|
-
import GlobalProvider from '@/layout/GlobalProvider';
|
12
|
-
import { isMobileDevice } from '@/utils/server/responsive';
|
13
|
-
|
14
|
-
const inVercel = process.env.VERCEL === '1';
|
15
|
-
|
16
|
-
type RootLayoutProps = {
|
17
|
-
children: ReactNode;
|
18
|
-
modal: ReactNode;
|
19
|
-
};
|
20
|
-
|
21
|
-
const RootLayout = async ({ children, modal }: RootLayoutProps) => {
|
22
|
-
const cookieStore = await cookies();
|
23
|
-
|
24
|
-
const lang = cookieStore.get(LOBE_LOCALE_COOKIE);
|
25
|
-
const locale = lang?.value || DEFAULT_LANG;
|
26
|
-
|
27
|
-
const direction = isRtlLang(locale) ? 'rtl' : 'ltr';
|
28
|
-
const mobile = await isMobileDevice();
|
29
|
-
|
30
|
-
return (
|
31
|
-
<html dir={direction} lang={locale} suppressHydrationWarning>
|
32
|
-
<body>
|
33
|
-
<GlobalProvider>
|
34
|
-
<AuthProvider>
|
35
|
-
{children}
|
36
|
-
{!mobile && modal}
|
37
|
-
</AuthProvider>
|
38
|
-
<PWAInstall />
|
39
|
-
</GlobalProvider>
|
40
|
-
<Analytics />
|
41
|
-
{inVercel && <SpeedInsights />}
|
42
|
-
</body>
|
43
|
-
</html>
|
44
|
-
);
|
45
|
-
};
|
46
|
-
|
47
|
-
export default RootLayout;
|
48
|
-
|
49
|
-
export { generateMetadata } from './metadata';
|
50
|
-
|
51
|
-
export const generateViewport = async (): ResolvingViewport => {
|
52
|
-
const isMobile = await isMobileDevice();
|
53
|
-
|
54
|
-
const dynamicScale = isMobile ? { maximumScale: 1, userScalable: false } : {};
|
55
|
-
|
56
|
-
return {
|
57
|
-
...dynamicScale,
|
58
|
-
initialScale: 1,
|
59
|
-
minimumScale: 1,
|
60
|
-
themeColor: [
|
61
|
-
{ color: '#f8f8f8', media: '(prefers-color-scheme: light)' },
|
62
|
-
{ color: '#000', media: '(prefers-color-scheme: dark)' },
|
63
|
-
],
|
64
|
-
viewportFit: 'cover',
|
65
|
-
width: 'device-width',
|
66
|
-
};
|
67
|
-
};
|
@@ -1,49 +0,0 @@
|
|
1
|
-
import { Wenxin } from '@lobehub/icons';
|
2
|
-
import { Input } from 'antd';
|
3
|
-
import { memo } from 'react';
|
4
|
-
import { useTranslation } from 'react-i18next';
|
5
|
-
|
6
|
-
import { ModelProvider } from '@/libs/agent-runtime';
|
7
|
-
import { useUserStore } from '@/store/user';
|
8
|
-
import { keyVaultsConfigSelectors } from '@/store/user/selectors';
|
9
|
-
|
10
|
-
import { FormAction } from '../style';
|
11
|
-
|
12
|
-
const WenxinForm = memo(() => {
|
13
|
-
const { t } = useTranslation('modelProvider');
|
14
|
-
|
15
|
-
const [accessKey, secretKey, setConfig] = useUserStore((s) => [
|
16
|
-
keyVaultsConfigSelectors.wenxinConfig(s).accessKey,
|
17
|
-
keyVaultsConfigSelectors.wenxinConfig(s).secretKey,
|
18
|
-
s.updateKeyVaultConfig,
|
19
|
-
]);
|
20
|
-
|
21
|
-
return (
|
22
|
-
<FormAction
|
23
|
-
avatar={<Wenxin.Color size={56} />}
|
24
|
-
description={t('wenxin.unlock.description')}
|
25
|
-
title={t('wenxin.unlock.title')}
|
26
|
-
>
|
27
|
-
<Input.Password
|
28
|
-
autoComplete={'new-password'}
|
29
|
-
onChange={(e) => {
|
30
|
-
setConfig(ModelProvider.Wenxin, { accessKey: e.target.value });
|
31
|
-
}}
|
32
|
-
placeholder={'Access Key'}
|
33
|
-
type={'block'}
|
34
|
-
value={accessKey}
|
35
|
-
/>
|
36
|
-
<Input.Password
|
37
|
-
autoComplete={'new-password'}
|
38
|
-
onChange={(e) => {
|
39
|
-
setConfig(ModelProvider.Wenxin, { secretKey: e.target.value });
|
40
|
-
}}
|
41
|
-
placeholder={'Secret Key'}
|
42
|
-
type={'block'}
|
43
|
-
value={secretKey}
|
44
|
-
/>
|
45
|
-
</FormAction>
|
46
|
-
);
|
47
|
-
});
|
48
|
-
|
49
|
-
export default WenxinForm;
|
@@ -1,136 +0,0 @@
|
|
1
|
-
import { ActionIcon, Icon } from '@lobehub/ui';
|
2
|
-
import { FloatButton } from 'antd';
|
3
|
-
import { createStyles } from 'antd-style';
|
4
|
-
import { BugIcon, BugOff, XIcon } from 'lucide-react';
|
5
|
-
import React, { PropsWithChildren, useEffect, useState } from 'react';
|
6
|
-
import { Flexbox } from 'react-layout-kit';
|
7
|
-
import { Rnd } from 'react-rnd';
|
8
|
-
|
9
|
-
// 定义样式
|
10
|
-
const useStyles = createStyles(({ token, css }) => {
|
11
|
-
return {
|
12
|
-
collapsed: css`
|
13
|
-
pointer-events: none;
|
14
|
-
transform: scale(0.8);
|
15
|
-
opacity: 0;
|
16
|
-
`,
|
17
|
-
content: css`
|
18
|
-
overflow: auto;
|
19
|
-
flex: 1;
|
20
|
-
height: 100%;
|
21
|
-
color: ${token.colorText};
|
22
|
-
`,
|
23
|
-
|
24
|
-
expanded: css`
|
25
|
-
pointer-events: auto;
|
26
|
-
transform: scale(1);
|
27
|
-
opacity: 1;
|
28
|
-
`,
|
29
|
-
|
30
|
-
header: css`
|
31
|
-
cursor: move;
|
32
|
-
user-select: none;
|
33
|
-
|
34
|
-
padding-block: 8px;
|
35
|
-
padding-inline: 16px;
|
36
|
-
border-block-end: 1px solid ${token.colorBorderSecondary};
|
37
|
-
border-start-start-radius: 12px;
|
38
|
-
border-start-end-radius: 12px;
|
39
|
-
|
40
|
-
font-weight: ${token.fontWeightStrong};
|
41
|
-
color: ${token.colorText};
|
42
|
-
|
43
|
-
background: ${token.colorFillAlter};
|
44
|
-
`,
|
45
|
-
panel: css`
|
46
|
-
position: fixed;
|
47
|
-
z-index: 1000;
|
48
|
-
|
49
|
-
overflow: hidden;
|
50
|
-
display: flex;
|
51
|
-
|
52
|
-
border-radius: 12px;
|
53
|
-
|
54
|
-
background: ${token.colorBgContainer};
|
55
|
-
box-shadow: ${token.boxShadow};
|
56
|
-
|
57
|
-
transition: opacity ${token.motionDurationMid} ${token.motionEaseInOut};
|
58
|
-
`,
|
59
|
-
};
|
60
|
-
});
|
61
|
-
|
62
|
-
const minWidth = 800;
|
63
|
-
const minHeight = 600;
|
64
|
-
|
65
|
-
const CollapsibleFloatPanel = ({ children }: PropsWithChildren) => {
|
66
|
-
const { styles } = useStyles();
|
67
|
-
const [isExpanded, setIsExpanded] = useState(false);
|
68
|
-
const [position, setPosition] = useState({ x: 100, y: 100 });
|
69
|
-
const [size, setSize] = useState({ height: minHeight, width: minWidth });
|
70
|
-
|
71
|
-
useEffect(() => {
|
72
|
-
try {
|
73
|
-
const localStoragePosition = localStorage.getItem('debug-panel-position');
|
74
|
-
if (localStoragePosition && JSON.parse(localStoragePosition)) {
|
75
|
-
setPosition(JSON.parse(localStoragePosition));
|
76
|
-
}
|
77
|
-
} catch {
|
78
|
-
/* empty */
|
79
|
-
}
|
80
|
-
|
81
|
-
try {
|
82
|
-
const localStorageSize = localStorage.getItem('debug-panel-size');
|
83
|
-
if (localStorageSize && JSON.parse(localStorageSize)) {
|
84
|
-
setSize(JSON.parse(localStorageSize));
|
85
|
-
}
|
86
|
-
} catch {
|
87
|
-
/* empty */
|
88
|
-
}
|
89
|
-
}, []);
|
90
|
-
|
91
|
-
return (
|
92
|
-
<>
|
93
|
-
<FloatButton
|
94
|
-
icon={<Icon icon={isExpanded ? BugOff : BugIcon} />}
|
95
|
-
onClick={() => setIsExpanded(!isExpanded)}
|
96
|
-
style={{ bottom: 24, right: 24 }}
|
97
|
-
/>
|
98
|
-
{isExpanded && (
|
99
|
-
<Rnd
|
100
|
-
bounds="window"
|
101
|
-
className={`${styles.panel} ${isExpanded ? styles.expanded : styles.collapsed}`}
|
102
|
-
dragHandleClassName="panel-drag-handle"
|
103
|
-
minHeight={minHeight}
|
104
|
-
minWidth={minWidth}
|
105
|
-
onDragStop={(e, d) => {
|
106
|
-
setPosition({ x: d.x, y: d.y });
|
107
|
-
}}
|
108
|
-
onResizeStop={(e, direction, ref, delta, position) => {
|
109
|
-
setSize({
|
110
|
-
height: Number(ref.style.height),
|
111
|
-
width: Number(ref.style.width),
|
112
|
-
});
|
113
|
-
setPosition(position);
|
114
|
-
}}
|
115
|
-
position={position}
|
116
|
-
size={size}
|
117
|
-
>
|
118
|
-
<Flexbox height={'100%'}>
|
119
|
-
<Flexbox
|
120
|
-
align={'center'}
|
121
|
-
className={`panel-drag-handle ${styles.header}`}
|
122
|
-
horizontal
|
123
|
-
justify={'space-between'}
|
124
|
-
>
|
125
|
-
开发者面板
|
126
|
-
<ActionIcon icon={XIcon} onClick={() => setIsExpanded(false)} />
|
127
|
-
</Flexbox>
|
128
|
-
<Flexbox className={styles.content}>{children}</Flexbox>
|
129
|
-
</Flexbox>
|
130
|
-
</Rnd>
|
131
|
-
)}
|
132
|
-
</>
|
133
|
-
);
|
134
|
-
};
|
135
|
-
|
136
|
-
export default CollapsibleFloatPanel;
|
@@ -1,34 +0,0 @@
|
|
1
|
-
import React, { useMemo } from 'react';
|
2
|
-
|
3
|
-
interface TableCellProps {
|
4
|
-
column: string;
|
5
|
-
dataItem: any;
|
6
|
-
rowIndex: number;
|
7
|
-
}
|
8
|
-
|
9
|
-
const TableCell = ({ dataItem, column, rowIndex }: TableCellProps) => {
|
10
|
-
const data = dataItem[column];
|
11
|
-
const content = useMemo(() => {
|
12
|
-
switch (typeof data) {
|
13
|
-
case 'object': {
|
14
|
-
return JSON.stringify(data);
|
15
|
-
}
|
16
|
-
|
17
|
-
case 'boolean': {
|
18
|
-
return data ? 'True' : 'False';
|
19
|
-
}
|
20
|
-
|
21
|
-
default: {
|
22
|
-
return data;
|
23
|
-
}
|
24
|
-
}
|
25
|
-
}, [data]);
|
26
|
-
|
27
|
-
return (
|
28
|
-
<td key={column} onDoubleClick={() => console.log('Edit cell:', rowIndex, column)}>
|
29
|
-
{content}
|
30
|
-
</td>
|
31
|
-
);
|
32
|
-
};
|
33
|
-
|
34
|
-
export default TableCell;
|
@@ -1,12 +0,0 @@
|
|
1
|
-
import { useQueryState } from 'nuqs';
|
2
|
-
|
3
|
-
import { SettingsTabs } from '@/store/global/initialState';
|
4
|
-
|
5
|
-
export const useSettingsTab = () => {
|
6
|
-
const [type] = useQueryState('tab', {
|
7
|
-
clearOnDefault: true,
|
8
|
-
defaultValue: SettingsTabs.Common,
|
9
|
-
});
|
10
|
-
|
11
|
-
return type as SettingsTabs;
|
12
|
-
};
|
@@ -1,153 +0,0 @@
|
|
1
|
-
import { describe, expect, it, vi } from 'vitest';
|
2
|
-
|
3
|
-
import * as uuidModule from '@/utils/uuid';
|
4
|
-
|
5
|
-
import { convertIterableToStream } from '../../utils/streams/protocol';
|
6
|
-
import { ChatResp } from '../../wenxin/type';
|
7
|
-
import { WenxinStream } from './wenxin';
|
8
|
-
|
9
|
-
const dataStream = [
|
10
|
-
{
|
11
|
-
id: 'as-vb0m37ti8y',
|
12
|
-
object: 'chat.completion',
|
13
|
-
created: 1709089502,
|
14
|
-
sentence_id: 0,
|
15
|
-
is_end: false,
|
16
|
-
is_truncated: false,
|
17
|
-
result: '当然可以,',
|
18
|
-
need_clear_history: false,
|
19
|
-
finish_reason: 'normal',
|
20
|
-
usage: { prompt_tokens: 5, completion_tokens: 2, total_tokens: 7 },
|
21
|
-
},
|
22
|
-
{
|
23
|
-
id: 'as-vb0m37ti8y',
|
24
|
-
object: 'chat.completion',
|
25
|
-
created: 1709089504,
|
26
|
-
sentence_id: 1,
|
27
|
-
is_end: false,
|
28
|
-
is_truncated: false,
|
29
|
-
result:
|
30
|
-
'以下是一些建议的自驾游路线,它们涵盖了各种不同的风景和文化体验:\n\n1. **西安-敦煌历史文化之旅**:\n\n\n\t* 路线:西安',
|
31
|
-
need_clear_history: false,
|
32
|
-
finish_reason: 'normal',
|
33
|
-
usage: { prompt_tokens: 5, completion_tokens: 2, total_tokens: 7 },
|
34
|
-
},
|
35
|
-
{
|
36
|
-
id: 'as-vb0m37ti8y',
|
37
|
-
object: 'chat.completion',
|
38
|
-
created: 1709089506,
|
39
|
-
sentence_id: 2,
|
40
|
-
is_end: false,
|
41
|
-
is_truncated: false,
|
42
|
-
result: ' - 天水 - 兰州 - 嘉峪关 - 敦煌\n\t* 特点:此路线让您领略到中国西北的丰富历史文化。',
|
43
|
-
need_clear_history: false,
|
44
|
-
finish_reason: 'normal',
|
45
|
-
usage: { prompt_tokens: 5, completion_tokens: 2, total_tokens: 7 },
|
46
|
-
},
|
47
|
-
{
|
48
|
-
id: 'as-vb0m37ti8y',
|
49
|
-
object: 'chat.completion',
|
50
|
-
created: 1709089508,
|
51
|
-
sentence_id: 3,
|
52
|
-
is_end: false,
|
53
|
-
is_truncated: false,
|
54
|
-
result: '您可以参观西安的兵马俑、大雁塔,体验兰州的黄河风情,以及在敦煌欣赏壮丽的莫高窟。',
|
55
|
-
need_clear_history: false,
|
56
|
-
finish_reason: 'normal',
|
57
|
-
usage: { prompt_tokens: 5, completion_tokens: 2, total_tokens: 7 },
|
58
|
-
},
|
59
|
-
{
|
60
|
-
id: 'as-vb0m37ti8y',
|
61
|
-
object: 'chat.completion',
|
62
|
-
created: 1709089511,
|
63
|
-
sentence_id: 4,
|
64
|
-
is_end: false,
|
65
|
-
is_truncated: false,
|
66
|
-
result: '\n2. **海南环岛热带风情游**:\n\n\n\t* 路线:海口 - 三亚 - 陵水 - 万宁 - 文昌 - 海',
|
67
|
-
need_clear_history: false,
|
68
|
-
finish_reason: 'normal',
|
69
|
-
usage: { prompt_tokens: 5, completion_tokens: 2, total_tokens: 7 },
|
70
|
-
},
|
71
|
-
{
|
72
|
-
id: 'as-vb0m37ti8y',
|
73
|
-
object: 'chat.completion',
|
74
|
-
created: 1709089512,
|
75
|
-
sentence_id: 5,
|
76
|
-
is_end: false,
|
77
|
-
is_truncated: false,
|
78
|
-
result:
|
79
|
-
'口\n\t* 特点:海南岛是中国唯一的黎族聚居区,这里有独特的热带风情、美丽的海滩和丰富的水果。',
|
80
|
-
need_clear_history: false,
|
81
|
-
finish_reason: 'normal',
|
82
|
-
usage: { prompt_tokens: 5, completion_tokens: 153, total_tokens: 158 },
|
83
|
-
},
|
84
|
-
];
|
85
|
-
|
86
|
-
describe('WenxinStream', () => {
|
87
|
-
it('should transform Wenxin stream to protocol stream', async () => {
|
88
|
-
vi.spyOn(uuidModule, 'nanoid').mockReturnValueOnce('1');
|
89
|
-
|
90
|
-
const mockWenxinStream: AsyncIterable<ChatResp> = {
|
91
|
-
// @ts-ignore
|
92
|
-
async *[Symbol.asyncIterator]() {
|
93
|
-
for (const item of dataStream) {
|
94
|
-
yield item;
|
95
|
-
}
|
96
|
-
},
|
97
|
-
};
|
98
|
-
|
99
|
-
const stream = convertIterableToStream(mockWenxinStream);
|
100
|
-
|
101
|
-
const onStartMock = vi.fn();
|
102
|
-
const onTextMock = vi.fn();
|
103
|
-
const onTokenMock = vi.fn();
|
104
|
-
const onCompletionMock = vi.fn();
|
105
|
-
|
106
|
-
const protocolStream = WenxinStream(stream, {
|
107
|
-
onStart: onStartMock,
|
108
|
-
onText: onTextMock,
|
109
|
-
onToken: onTokenMock,
|
110
|
-
onCompletion: onCompletionMock,
|
111
|
-
});
|
112
|
-
|
113
|
-
const decoder = new TextDecoder();
|
114
|
-
const chunks = [];
|
115
|
-
|
116
|
-
// @ts-ignore
|
117
|
-
for await (const chunk of protocolStream) {
|
118
|
-
chunks.push(decoder.decode(chunk, { stream: true }));
|
119
|
-
}
|
120
|
-
|
121
|
-
expect(chunks).toEqual(
|
122
|
-
[
|
123
|
-
'id: as-vb0m37ti8y',
|
124
|
-
'event: text',
|
125
|
-
`data: "当然可以,"\n`,
|
126
|
-
'id: as-vb0m37ti8y',
|
127
|
-
'event: text',
|
128
|
-
`data: "以下是一些建议的自驾游路线,它们涵盖了各种不同的风景和文化体验:\\n\\n1. **西安-敦煌历史文化之旅**:\\n\\n\\n\\t* 路线:西安"\n`,
|
129
|
-
'id: as-vb0m37ti8y',
|
130
|
-
'event: text',
|
131
|
-
`data: " - 天水 - 兰州 - 嘉峪关 - 敦煌\\n\\t* 特点:此路线让您领略到中国西北的丰富历史文化。"\n`,
|
132
|
-
'id: as-vb0m37ti8y',
|
133
|
-
'event: text',
|
134
|
-
`data: "您可以参观西安的兵马俑、大雁塔,体验兰州的黄河风情,以及在敦煌欣赏壮丽的莫高窟。"\n`,
|
135
|
-
'id: as-vb0m37ti8y',
|
136
|
-
'event: text',
|
137
|
-
`data: "\\n2. **海南环岛热带风情游**:\\n\\n\\n\\t* 路线:海口 - 三亚 - 陵水 - 万宁 - 文昌 - 海"\n`,
|
138
|
-
'id: as-vb0m37ti8y',
|
139
|
-
'event: text',
|
140
|
-
`data: "口\\n\\t* 特点:海南岛是中国唯一的黎族聚居区,这里有独特的热带风情、美丽的海滩和丰富的水果。"\n`,
|
141
|
-
].map((item) => `${item}\n`),
|
142
|
-
);
|
143
|
-
|
144
|
-
expect(onStartMock).toHaveBeenCalledTimes(1);
|
145
|
-
expect(onTextMock).toHaveBeenNthCalledWith(1, '"当然可以,"');
|
146
|
-
expect(onTextMock).toHaveBeenNthCalledWith(
|
147
|
-
2,
|
148
|
-
'"以下是一些建议的自驾游路线,它们涵盖了各种不同的风景和文化体验:\\n\\n1. **西安-敦煌历史文化之旅**:\\n\\n\\n\\t* 路线:西安"',
|
149
|
-
);
|
150
|
-
expect(onTokenMock).toHaveBeenCalledTimes(6);
|
151
|
-
expect(onCompletionMock).toHaveBeenCalledTimes(1);
|
152
|
-
});
|
153
|
-
});
|
@@ -1,38 +0,0 @@
|
|
1
|
-
import { ChatStreamCallbacks } from '@/libs/agent-runtime';
|
2
|
-
import { nanoid } from '@/utils/uuid';
|
3
|
-
|
4
|
-
import { ChatResp } from '../../wenxin/type';
|
5
|
-
import {
|
6
|
-
StreamProtocolChunk,
|
7
|
-
StreamStack,
|
8
|
-
createCallbacksTransformer,
|
9
|
-
createSSEProtocolTransformer,
|
10
|
-
} from './protocol';
|
11
|
-
|
12
|
-
const transformERNIEBotStream = (chunk: ChatResp): StreamProtocolChunk => {
|
13
|
-
const finished = chunk.is_end;
|
14
|
-
if (finished) {
|
15
|
-
return { data: chunk.finish_reason || 'stop', id: chunk.id, type: 'stop' };
|
16
|
-
}
|
17
|
-
|
18
|
-
if (chunk.result) {
|
19
|
-
return { data: chunk.result, id: chunk.id, type: 'text' };
|
20
|
-
}
|
21
|
-
|
22
|
-
return {
|
23
|
-
data: chunk,
|
24
|
-
id: chunk.id,
|
25
|
-
type: 'data',
|
26
|
-
};
|
27
|
-
};
|
28
|
-
|
29
|
-
export const WenxinStream = (
|
30
|
-
rawStream: ReadableStream<ChatResp>,
|
31
|
-
callbacks?: ChatStreamCallbacks,
|
32
|
-
) => {
|
33
|
-
const streamStack: StreamStack = { id: 'chat_' + nanoid() };
|
34
|
-
|
35
|
-
return rawStream
|
36
|
-
.pipeThrough(createSSEProtocolTransformer(transformERNIEBotStream, streamStack))
|
37
|
-
.pipeThrough(createCallbacksTransformer(callbacks));
|
38
|
-
};
|
@@ -1,84 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* token 用量基类
|
3
|
-
*/
|
4
|
-
export interface TokenUsage {
|
5
|
-
/**
|
6
|
-
* 回答tokens数
|
7
|
-
*/
|
8
|
-
completion_tokens?: number;
|
9
|
-
/**
|
10
|
-
* 问题tokens数
|
11
|
-
*/
|
12
|
-
prompt_tokens: number;
|
13
|
-
/**
|
14
|
-
* tokens总数
|
15
|
-
*/
|
16
|
-
total_tokens: number;
|
17
|
-
}
|
18
|
-
|
19
|
-
/**
|
20
|
-
* 响应基类
|
21
|
-
*/
|
22
|
-
export interface RespBase {
|
23
|
-
/**
|
24
|
-
* 时间戳
|
25
|
-
*/
|
26
|
-
created: number;
|
27
|
-
/**
|
28
|
-
* 本轮对话的id
|
29
|
-
*/
|
30
|
-
id: string;
|
31
|
-
/**
|
32
|
-
* 表示当前子句是否是最后一句。只有在流式接口模式下会返回该字段
|
33
|
-
*/
|
34
|
-
is_end?: boolean;
|
35
|
-
/**
|
36
|
-
* 1:表示输入内容无安全风险
|
37
|
-
* 0:表示输入内容有安全风险
|
38
|
-
*/
|
39
|
-
is_safe?: number;
|
40
|
-
/**
|
41
|
-
* 回包类型。
|
42
|
-
*
|
43
|
-
* chat.completion:多轮对话返回
|
44
|
-
*/
|
45
|
-
object: string;
|
46
|
-
/**
|
47
|
-
* 对话返回结果
|
48
|
-
*/
|
49
|
-
result: string;
|
50
|
-
/**
|
51
|
-
* 表示当前子句的序号。只有在流式接口模式下会返回该字段
|
52
|
-
*/
|
53
|
-
sentence_id?: number;
|
54
|
-
/**
|
55
|
-
* token统计信息,token数 = 汉字数+单词数*1.3 (仅为估算逻辑)
|
56
|
-
*/
|
57
|
-
usage: TokenUsage;
|
58
|
-
}
|
59
|
-
|
60
|
-
export interface ChatResp extends RespBase {
|
61
|
-
/**
|
62
|
-
* 当 need_clear_history 为 true 时,此字段会告知第几轮对话有敏感信息,如果是当前问题,ban_round=-1
|
63
|
-
*/
|
64
|
-
ban_round: number;
|
65
|
-
/**
|
66
|
-
* 输出内容标识,说明:
|
67
|
-
* · normal:输出内容完全由大模型生成,未触发截断、替换
|
68
|
-
* · stop:输出结果命中入参stop中指定的字段后被截断
|
69
|
-
* · length:达到了最大的token数,根据EB返回结果is_truncated来截断
|
70
|
-
* · content_filter:输出内容被截断、兜底、替换为**等
|
71
|
-
*/
|
72
|
-
finish_reason: string;
|
73
|
-
/**
|
74
|
-
* 当前生成的结果是否被截断
|
75
|
-
*/
|
76
|
-
is_truncated?: boolean;
|
77
|
-
/**
|
78
|
-
* 表示用户输入是否存在安全,是否关闭当前会话,清理历史会话信息
|
79
|
-
*
|
80
|
-
* true:是,表示用户输入存在安全风险,建议关闭当前会话,清理历史会话信息
|
81
|
-
* false:否,表示用户输入无安全风险
|
82
|
-
*/
|
83
|
-
need_clear_history: boolean;
|
84
|
-
}
|
/package/src/app/{(main) → [variants]/(main)}/(mobile)/me/(home)/__tests__/UserBanner.test.tsx
RENAMED
File without changes
|
/package/src/app/{(main) → [variants]/(main)}/(mobile)/me/(home)/__tests__/useCategory.test.tsx
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|