| 
					
				 | 
			
			
				@@ -5,7 +5,7 @@ import useOutputVarList from '../_base/hooks/use-output-var-list' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { BlockEnum, VarType } from '../../types' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import type { Var } from '../../types' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { useStore } from '../../store' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import type { CodeDependency, CodeNodeType, OutputVar } from './types' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import type { CodeNodeType, OutputVar } from './types' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { CodeLanguage } from './types' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import useNodeCrud from '@/app/components/workflow/nodes/_base/hooks/use-node-crud' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import useOneStepRun from '@/app/components/workflow/nodes/_base/hooks/use-one-step-run' 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -21,19 +21,15 @@ const useConfig = (id: string, payload: CodeNodeType) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   const appId = useAppStore.getState().appDetail?.id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   const [allLanguageDefault, setAllLanguageDefault] = useState<Record<CodeLanguage, CodeNodeType> | null>(null) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  const [allLanguageDependencies, setAllLanguageDependencies] = useState<Record<CodeLanguage, CodeDependency[]> | null>(null) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   useEffect(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (appId) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       (async () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         const { config: javaScriptConfig } = await fetchNodeDefault(appId, BlockEnum.Code, { code_language: CodeLanguage.javascript }) as any 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        const { config: pythonConfig, available_dependencies: pythonDependencies } = await fetchNodeDefault(appId, BlockEnum.Code, { code_language: CodeLanguage.python3 }) as any 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const { config: pythonConfig } = await fetchNodeDefault(appId, BlockEnum.Code, { code_language: CodeLanguage.python3 }) as any 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         setAllLanguageDefault({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           [CodeLanguage.javascript]: javaScriptConfig as CodeNodeType, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           [CodeLanguage.python3]: pythonConfig as CodeNodeType, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } as any) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        setAllLanguageDependencies({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          [CodeLanguage.python3]: pythonDependencies as CodeDependency[], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } as any) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       })() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }, [appId]) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -45,62 +41,6 @@ const useConfig = (id: string, payload: CodeNodeType) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     setInputs, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  const handleAddDependency = useCallback((dependency: CodeDependency) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    const newInputs = produce(inputs, (draft) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      if (!draft.dependencies) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        draft.dependencies = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      draft.dependencies.push(dependency) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    setInputs(newInputs) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  }, [inputs, setInputs]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  const handleRemoveDependency = useCallback((index: number) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    const newInputs = produce(inputs, (draft) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      if (!draft.dependencies) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        draft.dependencies = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      draft.dependencies.splice(index, 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    setInputs(newInputs) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  }, [inputs, setInputs]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  const handleChangeDependency = useCallback((index: number, dependency: CodeDependency) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    const newInputs = produce(inputs, (draft) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      if (!draft.dependencies) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        draft.dependencies = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      draft.dependencies[index] = dependency 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    setInputs(newInputs) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  }, [inputs, setInputs]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  const [allowDependencies, setAllowDependencies] = useState<boolean>(false) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  useEffect(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (!inputs.code_language) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (!allLanguageDependencies) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    const newAllowDependencies = !!allLanguageDependencies[inputs.code_language] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    setAllowDependencies(newAllowDependencies) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  }, [allLanguageDependencies, inputs.code_language]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  const [availableDependencies, setAvailableDependencies] = useState<CodeDependency[]>([]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  useEffect(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (!inputs.code_language) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (!allLanguageDependencies) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    const newAvailableDependencies = produce(allLanguageDependencies[inputs.code_language], (draft) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      const currentLanguage = inputs.code_language 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      if (!currentLanguage || !draft || !inputs.dependencies) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      return draft.filter((dependency) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return !inputs.dependencies?.find(d => d.name === dependency.name) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    setAvailableDependencies(newAvailableDependencies || []) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  }, [allLanguageDependencies, inputs.code_language, inputs.dependencies]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   const [outputKeyOrders, setOutputKeyOrders] = useState<string[]>([]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   const syncOutputKeyOrders = useCallback((outputs: OutputVar) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     setOutputKeyOrders(Object.keys(outputs)) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -223,11 +163,6 @@ const useConfig = (id: string, payload: CodeNodeType) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     inputVarValues, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     setInputVarValues, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     runResult, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    availableDependencies, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    allowDependencies, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    handleAddDependency, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    handleRemoveDependency, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    handleChangeDependency, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |