diff --git a/packages/global/core/app/constants.ts b/packages/global/core/app/constants.ts index 5186c916c..9817ab4f8 100644 --- a/packages/global/core/app/constants.ts +++ b/packages/global/core/app/constants.ts @@ -1,10 +1,10 @@ import { type AppTTSConfigType, - type AppFileSelectConfigType, type AppWhisperConfigType, type AppAutoExecuteConfigType, type AppQGConfigType } from './type'; +import type { AppFileSelectConfigType } from './type/config'; export enum AppTypeEnum { folder = 'folder', diff --git a/packages/global/core/app/formEdit/type.ts b/packages/global/core/app/formEdit/type.ts index 6da00c5fe..52c9ff159 100644 --- a/packages/global/core/app/formEdit/type.ts +++ b/packages/global/core/app/formEdit/type.ts @@ -1,10 +1,6 @@ import { SelectedDatasetSchema } from '../../workflow/type/io'; import { z } from 'zod'; -import { - AppChatConfigTypeSchema, - AppDatasetSearchParamsTypeSchema, - AppFileSelectConfigTypeSchema -} from '../type'; +import { AppChatConfigTypeSchema, AppDatasetSearchParamsTypeSchema } from '../type'; import { FlowNodeTemplateTypeSchema } from '../../workflow/type/node'; import { NodeInputKeyEnum } from '../../workflow/constants'; diff --git a/packages/global/core/app/type.ts b/packages/global/core/app/type.ts index ca2e839f2..6cbd7849e 100644 --- a/packages/global/core/app/type.ts +++ b/packages/global/core/app/type.ts @@ -11,20 +11,7 @@ import type { WorkflowTemplateBasicType } from '../workflow/type'; import type { SourceMemberType } from '../../support/user/type'; import z from 'zod'; import { ObjectIdSchema } from '../../common/type/mongo'; - -/* app chat config type */ -// File -export const AppFileSelectConfigTypeSchema = z.object({ - maxFiles: z.number().optional(), - canSelectFile: z.boolean().optional(), - customPdfParse: z.boolean().optional(), - canSelectImg: z.boolean().optional(), - canSelectVideo: z.boolean().optional(), - canSelectAudio: z.boolean().optional(), - canSelectCustomFileExtension: z.boolean().optional(), - customFileExtensionList: z.array(z.string()).optional() -}); -export type AppFileSelectConfigType = z.infer; +import { AppFileSelectConfigTypeSchema } from './type/config'; // variable export const VariableItemTypeSchema = AppFileSelectConfigTypeSchema.and( diff --git a/packages/global/core/app/type/config.ts b/packages/global/core/app/type/config.ts new file mode 100644 index 000000000..9a1d0ba43 --- /dev/null +++ b/packages/global/core/app/type/config.ts @@ -0,0 +1,14 @@ +import z from 'zod'; + +/* app chat file select config type */ +export const AppFileSelectConfigTypeSchema = z.object({ + maxFiles: z.number().optional(), + canSelectFile: z.boolean().optional(), + customPdfParse: z.boolean().optional(), + canSelectImg: z.boolean().optional(), + canSelectVideo: z.boolean().optional(), + canSelectAudio: z.boolean().optional(), + canSelectCustomFileExtension: z.boolean().optional(), + customFileExtensionList: z.array(z.string()).optional() +}); +export type AppFileSelectConfigType = z.infer; diff --git a/packages/global/core/workflow/template/system/interactive/type.ts b/packages/global/core/workflow/template/system/interactive/type.ts index d2b005b75..2c2ac5118 100644 --- a/packages/global/core/workflow/template/system/interactive/type.ts +++ b/packages/global/core/workflow/template/system/interactive/type.ts @@ -2,7 +2,7 @@ import { NodeOutputItemSchema } from '../../../../chat/type'; import { FlowNodeInputTypeEnum } from '../../../../../core/workflow/node/constant'; import { WorkflowIOValueTypeEnum } from '../../../../../core/workflow/constants'; import type { ChatCompletionMessageParam } from '../../../../ai/type'; -import { AppFileSelectConfigTypeSchema } from '../../../../app/type'; +import { AppFileSelectConfigTypeSchema } from '../../../../app/type/config'; import { RuntimeEdgeItemTypeSchema } from '../../../type/edge'; import z from 'zod'; diff --git a/projects/app/src/components/core/app/FileSelect.tsx b/projects/app/src/components/core/app/FileSelect.tsx index a1a35fd28..5123eadc4 100644 --- a/projects/app/src/components/core/app/FileSelect.tsx +++ b/projects/app/src/components/core/app/FileSelect.tsx @@ -14,7 +14,7 @@ import { } from '@chakra-ui/react'; import React, { useState } from 'react'; import { useTranslation } from 'next-i18next'; -import type { AppFileSelectConfigType } from '@fastgpt/global/core/app/type'; +import type { AppFileSelectConfigType } from '@fastgpt/global/core/app/type/config'; import MyModal from '@fastgpt/web/components/common/MyModal'; import ChatFunctionTip from './Tip'; import FormLabel from '@fastgpt/web/components/common/MyBox/FormLabel'; diff --git a/projects/app/src/components/core/app/FileSelector/index.tsx b/projects/app/src/components/core/app/FileSelector/index.tsx index 5e73e7569..a25261e76 100644 --- a/projects/app/src/components/core/app/FileSelector/index.tsx +++ b/projects/app/src/components/core/app/FileSelector/index.tsx @@ -14,7 +14,7 @@ import MyBox from '@fastgpt/web/components/common/MyBox'; import MyIcon from '@fastgpt/web/components/common/Icon'; import { ChatFileTypeEnum } from '@fastgpt/global/core/chat/constants'; import { getFileIcon } from '@fastgpt/global/common/file/icon'; -import type { AppFileSelectConfigType } from '@fastgpt/global/core/app/type'; +import type { AppFileSelectConfigType } from '@fastgpt/global/core/app/type/config'; import { useSystemStore } from '@/web/common/system/useSystemStore'; import { getUploadFileType } from '@fastgpt/global/core/app/constants'; import { useToast } from '@fastgpt/web/hooks/useToast'; diff --git a/projects/app/src/components/core/app/formRender/type.d.ts b/projects/app/src/components/core/app/formRender/type.d.ts index 85ee89cb8..cac70c322 100644 --- a/projects/app/src/components/core/app/formRender/type.d.ts +++ b/projects/app/src/components/core/app/formRender/type.d.ts @@ -7,7 +7,6 @@ import type { VariableInputEnum } from '@fastgpt/global/core/workflow/constants' import type { UseFormReturn } from 'react-hook-form'; import type { BoxProps } from '@chakra-ui/react'; import type { EditorProps } from '@fastgpt/web/components/common/Textarea/PromptEditor/Editor'; -import type { AppFileSelectConfigType } from '@fastgpt/global/core/app/type'; import type { SelectedDatasetType } from '@fastgpt/global/core/workflow/type/io'; type CommonRenderProps = { diff --git a/projects/app/src/components/core/chat/ChatContainer/ChatBox/Provider.tsx b/projects/app/src/components/core/chat/ChatContainer/ChatBox/Provider.tsx index 51b310c30..b9a48986d 100644 --- a/projects/app/src/components/core/chat/ChatContainer/ChatBox/Provider.tsx +++ b/projects/app/src/components/core/chat/ChatContainer/ChatBox/Provider.tsx @@ -2,13 +2,13 @@ import React, { useState, useMemo, useCallback } from 'react'; import { useAudioPlay } from '@/web/common/utils/voice'; import { type OutLinkChatAuthProps } from '@fastgpt/global/support/permission/chat'; import { - type AppFileSelectConfigType, type AppQGConfigType, type AppTTSConfigType, type AppWhisperConfigType, type ChatInputGuideConfigType, type VariableItemType } from '@fastgpt/global/core/app/type'; +import { type AppFileSelectConfigType } from '@fastgpt/global/core/app/type/config'; import { type ChatHistoryItemResType } from '@fastgpt/global/core/chat/type'; import { defaultAppSelectFileConfig, diff --git a/projects/app/src/components/core/chat/ChatContainer/ChatBox/hooks/useFileUpload.tsx b/projects/app/src/components/core/chat/ChatContainer/ChatBox/hooks/useFileUpload.tsx index b60071a91..5a1355dbc 100644 --- a/projects/app/src/components/core/chat/ChatContainer/ChatBox/hooks/useFileUpload.tsx +++ b/projects/app/src/components/core/chat/ChatContainer/ChatBox/hooks/useFileUpload.tsx @@ -10,7 +10,7 @@ import { clone } from 'lodash'; import { getErrText } from '@fastgpt/global/common/error/utils'; import { type UseFieldArrayReturn } from 'react-hook-form'; import { type ChatBoxInputFormType, type UserInputFileItemType } from '../type'; -import { type AppFileSelectConfigType } from '@fastgpt/global/core/app/type'; +import { type AppFileSelectConfigType } from '@fastgpt/global/core/app/type/config'; import { useSystemStore } from '@/web/common/system/useSystemStore'; import { type OutLinkChatAuthProps } from '@fastgpt/global/support/permission/chat'; import { getPresignedChatFileGetUrl, getUploadChatFilePresignedUrl } from '@/web/common/file/api'; diff --git a/projects/app/src/components/core/chat/ChatContainer/PluginRunBox/context.tsx b/projects/app/src/components/core/chat/ChatContainer/PluginRunBox/context.tsx index cbd65ab9e..6d6a42d39 100644 --- a/projects/app/src/components/core/chat/ChatContainer/PluginRunBox/context.tsx +++ b/projects/app/src/components/core/chat/ChatContainer/PluginRunBox/context.tsx @@ -18,7 +18,7 @@ import { chats2GPTMessages } from '@fastgpt/global/core/chat/adapt'; import { clientGetWorkflowToolRunUserQuery } from '@fastgpt/global/core/workflow/utils'; import { ChatItemContext } from '@/web/core/chat/context/chatItemContext'; import { ChatRecordContext } from '@/web/core/chat/context/chatRecordContext'; -import { type AppFileSelectConfigType } from '@fastgpt/global/core/app/type'; +import { type AppFileSelectConfigType } from '@fastgpt/global/core/app/type/config'; import { defaultAppSelectFileConfig } from '@fastgpt/global/core/app/constants'; import { mergeChatResponseData } from '@fastgpt/global/core/chat/utils'; import { getErrText } from '@fastgpt/global/common/error/utils'; diff --git a/projects/app/src/components/core/chat/HelperBot/context.tsx b/projects/app/src/components/core/chat/HelperBot/context.tsx index 4f9fb915c..6f418b41f 100644 --- a/projects/app/src/components/core/chat/HelperBot/context.tsx +++ b/projects/app/src/components/core/chat/HelperBot/context.tsx @@ -3,7 +3,7 @@ import React, { type ReactNode } from 'react'; import { createContext } from 'use-context-selector'; import { HelperBotTypeEnum } from '@fastgpt/global/core/chat/helperBot/type'; import type { TopAgentParamsType } from '@fastgpt/global/core/chat/helperBot/topAgent/type'; -import type { AppFileSelectConfigType } from '@fastgpt/global/core/app/type'; +import { type AppFileSelectConfigType } from '@fastgpt/global/core/app/type/config'; import type { TopAgentFormDataType } from '@fastgpt/service/core/chat/HelperBot/dispatch/topAgent/type'; import type { GeneratedSkillResultType, diff --git a/projects/app/src/components/core/chat/HelperBot/hooks/useFileUpload.tsx b/projects/app/src/components/core/chat/HelperBot/hooks/useFileUpload.tsx index 00f719776..b7346a6a8 100644 --- a/projects/app/src/components/core/chat/HelperBot/hooks/useFileUpload.tsx +++ b/projects/app/src/components/core/chat/HelperBot/hooks/useFileUpload.tsx @@ -10,7 +10,7 @@ import { clone } from 'lodash'; import { getErrText } from '@fastgpt/global/common/error/utils'; import { type UseFieldArrayReturn } from 'react-hook-form'; import type { ChatBoxInputFormType, UserInputFileItemType } from '../../ChatContainer/ChatBox/type'; -import { type AppFileSelectConfigType } from '@fastgpt/global/core/app/type'; +import { type AppFileSelectConfigType } from '@fastgpt/global/core/app/type/config'; import { useSystemStore } from '@/web/common/system/useSystemStore'; import { type OutLinkChatAuthProps } from '@fastgpt/global/support/permission/chat'; import { getPresignedChatFileGetUrl, getUploadChatFilePresignedUrl } from '@/web/common/file/api'; diff --git a/projects/app/src/pageComponents/app/detail/Edit/ChatAgent/SkillEdit/EditForm.tsx b/projects/app/src/pageComponents/app/detail/Edit/ChatAgent/SkillEdit/EditForm.tsx index d9f4f7337..41415055b 100644 --- a/projects/app/src/pageComponents/app/detail/Edit/ChatAgent/SkillEdit/EditForm.tsx +++ b/projects/app/src/pageComponents/app/detail/Edit/ChatAgent/SkillEdit/EditForm.tsx @@ -11,7 +11,7 @@ import { IconButton, Textarea } from '@chakra-ui/react'; -import type { AppFileSelectConfigType } from '@fastgpt/global/core/app/type'; +import { type AppFileSelectConfigType } from '@fastgpt/global/core/app/type/config'; import type { SkillEditType } from '@fastgpt/global/core/app/formEdit/type'; import { useRouter } from 'next/router'; import { useTranslation } from 'next-i18next'; diff --git a/projects/app/src/pageComponents/app/detail/Edit/ChatAgent/utils.ts b/projects/app/src/pageComponents/app/detail/Edit/ChatAgent/utils.ts index f494c957d..f226b66db 100644 --- a/projects/app/src/pageComponents/app/detail/Edit/ChatAgent/utils.ts +++ b/projects/app/src/pageComponents/app/detail/Edit/ChatAgent/utils.ts @@ -56,12 +56,6 @@ export const appWorkflow2AgentForm = ({ if (subApps) { defaultAppForm.selectedTools = subApps; } - - // TODO: 临时存这里,后续会改成单独表存储 - const skills = inputMap.get(NodeInputKeyEnum.skills) as SkillEditType[]; - if (skills) { - defaultAppForm.skills = skills; - } } else if (node.flowNodeType === FlowNodeTypeEnum.systemConfig) { defaultAppForm.chatConfig = getAppChatConfig({ chatConfig, @@ -216,38 +210,6 @@ export function agentForm2AppWorkflow( return input; }) })) - }, - { - key: NodeInputKeyEnum.skills, - renderTypeList: [FlowNodeInputTypeEnum.hidden], // Set in the pop-up window - label: '', - valueType: WorkflowIOValueTypeEnum.arrayObject, - value: data.skills.map((skill) => ({ - ...skill, - selectedTools: skill.selectedTools.map((tool) => ({ - ...tool, - inputs: tool.inputs.map((input) => { - // Special key value - if (input.key === NodeInputKeyEnum.forbidStream) { - input.value = true; - } - // Special tool - if ( - tool.flowNodeType === FlowNodeTypeEnum.appModule && - input.key === NodeInputKeyEnum.history - ) { - return { - ...input, - value: data.aiSettings.maxHistories - }; - } - if (input.renderTypeList.includes(FlowNodeInputTypeEnum.fileSelect)) { - input.value = [[workflowStartNodeId, NodeOutputKeyEnum.userFiles]]; - } - return input; - }) - })) - })) } ], outputs: AgentNode.outputs diff --git a/projects/app/src/pageComponents/app/detail/Edit/FormComponent/AppCard.tsx b/projects/app/src/pageComponents/app/detail/Edit/FormComponent/AppCard.tsx index 10f33e862..0efbf8e5c 100644 --- a/projects/app/src/pageComponents/app/detail/Edit/FormComponent/AppCard.tsx +++ b/projects/app/src/pageComponents/app/detail/Edit/FormComponent/AppCard.tsx @@ -191,95 +191,6 @@ const AppCard = ({ > {appDetail.intro || t('common:core.app.tip.Add a intro to app')} - - - {appDetail.permission.hasManagePer && ( - - )} - {appDetail.permission.isOwner && ( - } - aria-label={''} - /> - } - menuList={[ - { - children: [ - { - label: ( - - - - ) - }, - { - icon: 'core/app/type/workflow', - label: t('app:transition_to_workflow'), - onClick: () => setTransitionCreateNew(true) - }, - ...(appDetail.permission.hasWritePer && feConfigs?.show_team_chat - ? [ - { - icon: 'core/chat/fileSelect', - label: t('app:team_tags_set'), - onClick: () => setTeamTagsSet(appDetail) - } - ] - : []) - ] - }, - { - children: [ - { - icon: 'delete', - type: 'danger', - label: t('common:Delete'), - onClick: onDelApp - } - ] - } - ]} - /> - )} - - {/* {isPc && ( */} - {/* (appDetail.permission.hasManagePer ? onOpenInfoEdit() : undefined)} */} - {/* > */} - {/* */} - {/* */} - {/* )} */} - {TeamTagsSet && setTeamTagsSet(undefined)} />} {transitionCreateNew !== undefined && ( diff --git a/projects/app/src/pageComponents/app/detail/Edit/FormComponent/ToolSelector/ToolSelect.tsx b/projects/app/src/pageComponents/app/detail/Edit/FormComponent/ToolSelector/ToolSelect.tsx index 14dfe4321..f5c30388a 100644 --- a/projects/app/src/pageComponents/app/detail/Edit/FormComponent/ToolSelector/ToolSelect.tsx +++ b/projects/app/src/pageComponents/app/detail/Edit/FormComponent/ToolSelector/ToolSelect.tsx @@ -4,7 +4,7 @@ import MyIcon from '@fastgpt/web/components/common/Icon'; import { useTranslation } from 'next-i18next'; import QuestionTip from '@fastgpt/web/components/common/MyTooltip/QuestionTip'; import { SmallAddIcon } from '@chakra-ui/icons'; -import type { AppFileSelectConfigType } from '@fastgpt/global/core/app/type'; +import { type AppFileSelectConfigType } from '@fastgpt/global/core/app/type/config'; import type { AppFormEditFormType } from '@fastgpt/global/core/app/formEdit/type'; import type { SelectedToolItemType } from '@fastgpt/global/core/app/formEdit/type'; import MyTooltip from '@fastgpt/web/components/common/MyTooltip'; diff --git a/projects/app/src/pageComponents/chat/ChatWindow/HomeChatWindow.tsx b/projects/app/src/pageComponents/chat/ChatWindow/HomeChatWindow.tsx index 7413baf72..432c20ecf 100644 --- a/projects/app/src/pageComponents/chat/ChatWindow/HomeChatWindow.tsx +++ b/projects/app/src/pageComponents/chat/ChatWindow/HomeChatWindow.tsx @@ -36,11 +36,8 @@ import { getToolPreviewNode } from '@/web/core/app/api/tool'; import type { FlowNodeTemplateType } from '@fastgpt/global/core/workflow/type/node'; import { getWebLLMModel } from '@/web/common/system/utils'; import { ChatSettingContext } from '@/web/core/chat/context/chatSettingContext'; -import type { - AppFileSelectConfigType, - AppListItemType, - AppWhisperConfigType -} from '@fastgpt/global/core/app/type'; +import type { AppListItemType, AppWhisperConfigType } from '@fastgpt/global/core/app/type'; +import { type AppFileSelectConfigType } from '@fastgpt/global/core/app/type/config'; import ChatHeader from '@/pageComponents/chat/ChatHeader'; import { ChatRecordContext } from '@/web/core/chat/context/chatRecordContext'; import { ChatSidebarPaneEnum } from '../constants';