From 297d0f1f3070533ff1c2f5d7c2f5f8ddbf02c664 Mon Sep 17 00:00:00 2001 From: zxhlyh Date: Tue, 20 Feb 2024 14:49:00 +0800 Subject: [PATCH] fix: code-based extension (#2490) --- .../app/configuration/config-var/index.tsx | 3 +- .../app/configuration/debug/index.tsx | 2 +- .../toolbox/moderation/form-generation.tsx | 2 +- web/app/components/base/chat/chat/hooks.ts | 2 +- web/utils/model-config.ts | 42 +++++++++---------- 5 files changed, 26 insertions(+), 25 deletions(-) diff --git a/web/app/components/app/configuration/config-var/index.tsx b/web/app/components/app/configuration/config-var/index.tsx index 671ff9746e..9aeb00de8f 100644 --- a/web/app/components/app/configuration/config-var/index.tsx +++ b/web/app/components/app/configuration/config-var/index.tsx @@ -147,6 +147,7 @@ const ConfigVar: FC = ({ promptVariables, readonly, onPromptVar ) => { setShowExternalDataToolModal({ payload: { + type, variable: key, label: name, config, @@ -245,7 +246,7 @@ const ConfigVar: FC = ({ promptVariables, readonly, onPromptVar const handleConfig = ({ key, type, index, name, config, icon, icon_background }: ExternalDataToolParams) => { setCurrKey(key) - if (type === 'api') { + if (type !== 'string' && type !== 'paragraph' && type !== 'select') { handleOpenExternalDataToolModal({ key, type, index, name, config, icon, icon_background }, promptVariables) return } diff --git a/web/app/components/app/configuration/debug/index.tsx b/web/app/components/app/configuration/debug/index.tsx index 194bc1f8b5..68bbdacfad 100644 --- a/web/app/components/app/configuration/debug/index.tsx +++ b/web/app/components/app/configuration/debug/index.tsx @@ -149,7 +149,7 @@ const Debug: FC = ({ } let hasEmptyInput = '' const requiredVars = modelConfig.configs.prompt_variables.filter(({ key, name, required, type }) => { - if (type === 'api') + if (type !== 'string' && type !== 'paragraph' && type !== 'select') return false const res = (!key || !key.trim()) || (!name || !name.trim()) || (required || required === undefined || required === null) return res diff --git a/web/app/components/app/configuration/toolbox/moderation/form-generation.tsx b/web/app/components/app/configuration/toolbox/moderation/form-generation.tsx index 15a237efee..daf964447b 100644 --- a/web/app/components/app/configuration/toolbox/moderation/form-generation.tsx +++ b/web/app/components/app/configuration/toolbox/moderation/form-generation.tsx @@ -65,7 +65,7 @@ const FormGeneration: FC = ({ } })} onSelect={item => handleFormChange(form.variable, item.value as string)} - popupClassName='w-[576px]' + popupClassName='w-[576px] !z-[102]' /> ) } diff --git a/web/app/components/base/chat/chat/hooks.ts b/web/app/components/base/chat/chat/hooks.ts index 00d62241c8..d870cfc79f 100644 --- a/web/app/components/base/chat/chat/hooks.ts +++ b/web/app/components/base/chat/chat/hooks.ts @@ -42,7 +42,7 @@ export const useCheckPromptVariables = () => { } = promptVariablesConfig let hasEmptyInput = '' const requiredVars = promptVariables.filter(({ key, name, required, type }) => { - if (type === 'api') + if (type !== 'string' && type !== 'paragraph' && type !== 'select') return false const res = (!key || !key.trim()) || (!name || !name.trim()) || (required || required === undefined || required === null) return res diff --git a/web/utils/model-config.ts b/web/utils/model-config.ts index c465b57dfc..66b8babb21 100644 --- a/web/utils/model-config.ts +++ b/web/utils/model-config.ts @@ -16,7 +16,7 @@ export const userInputsFormToPromptVariables = (useInputs: UserInputFormItem[] | return ['string', item['text-input']] if (item.external_data_tool) - return ['api', item.external_data_tool] + return [item.external_data_tool.type, item.external_data_tool] return ['select', item.select] })() @@ -33,16 +33,13 @@ export const userInputsFormToPromptVariables = (useInputs: UserInputFormItem[] | is_context_var, }) } - else if (type === 'api') { + else if (type === 'select') { promptVariables.push({ key: content.variable, name: content.label, required: content.required, - type: content.type, - enabled: content.enabled, - config: content.config, - icon: content.icon, - icon_background: content.icon_background, + type: 'select', + options: content.options, is_context_var, }) } @@ -51,8 +48,11 @@ export const userInputsFormToPromptVariables = (useInputs: UserInputFormItem[] | key: content.variable, name: content.label, required: content.required, - type: 'select', - options: content.options, + type: content.type, + enabled: content.enabled, + config: content.config, + icon: content.icon, + icon_background: content.icon_background, is_context_var, }) } @@ -79,28 +79,28 @@ export const promptVariablesToUserInputsForm = (promptVariables: PromptVariable[ }, } as any) } - else if (item.type === 'api') { + else if (item.type === 'select') { userInputs.push({ - external_data_tool: { + select: { label: item.name, variable: item.key, - enabled: item.enabled, - type: item.type, - config: item.config, - required: item.required, - icon: item.icon, - icon_background: item.icon_background, + required: item.required !== false, // default true + options: item.options, + default: '', }, } as any) } else { userInputs.push({ - select: { + external_data_tool: { label: item.name, variable: item.key, - required: item.required !== false, // default true - options: item.options, - default: '', + enabled: item.enabled, + type: item.type, + config: item.config, + required: item.required, + icon: item.icon, + icon_background: item.icon_background, }, } as any) }