Browse Source

fix: code-based extension (#2490)

zxhlyh 1 year ago
parent
commit
297d0f1f30

+ 2 - 1
web/app/components/app/configuration/config-var/index.tsx

@@ -147,6 +147,7 @@ const ConfigVar: FC<IConfigVarProps> = ({ promptVariables, readonly, onPromptVar
   ) => {
     setShowExternalDataToolModal({
       payload: {
+        type,
         variable: key,
         label: name,
         config,
@@ -245,7 +246,7 @@ const ConfigVar: FC<IConfigVarProps> = ({ 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
     }

+ 1 - 1
web/app/components/app/configuration/debug/index.tsx

@@ -149,7 +149,7 @@ const Debug: FC<IDebug> = ({
     }
     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

+ 1 - 1
web/app/components/app/configuration/toolbox/moderation/form-generation.tsx

@@ -65,7 +65,7 @@ const FormGeneration: FC<FormGenerationProps> = ({
                     }
                   })}
                   onSelect={item => handleFormChange(form.variable, item.value as string)}
-                  popupClassName='w-[576px]'
+                  popupClassName='w-[576px] !z-[102]'
                 />
               )
             }

+ 1 - 1
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

+ 21 - 21
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)
     }