| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 | 
							- import type { NodeDefault } from '../../types'
 
- import { BlockEnum } from '../../types'
 
- import type { QuestionClassifierNodeType } from './types'
 
- import { ALL_CHAT_AVAILABLE_BLOCKS, ALL_COMPLETION_AVAILABLE_BLOCKS } from '@/app/components/workflow/blocks'
 
- const i18nPrefix = 'workflow'
 
- const nodeDefault: NodeDefault<QuestionClassifierNodeType> = {
 
-   defaultValue: {
 
-     query_variable_selector: [],
 
-     model: {
 
-       provider: '',
 
-       name: '',
 
-       mode: 'chat',
 
-       completion_params: {
 
-         temperature: 0.7,
 
-       },
 
-     },
 
-     classes: [
 
-       {
 
-         id: '1',
 
-         name: '',
 
-       },
 
-       {
 
-         id: '2',
 
-         name: '',
 
-       },
 
-     ],
 
-     _targetBranches: [
 
-       {
 
-         id: '1',
 
-         name: '',
 
-       },
 
-       {
 
-         id: '2',
 
-         name: '',
 
-       },
 
-     ],
 
-     vision: {
 
-       enabled: false,
 
-     },
 
-   },
 
-   getAvailablePrevNodes(isChatMode: boolean) {
 
-     const nodes = isChatMode
 
-       ? ALL_CHAT_AVAILABLE_BLOCKS
 
-       : ALL_COMPLETION_AVAILABLE_BLOCKS.filter(type => type !== BlockEnum.End)
 
-     return nodes
 
-   },
 
-   getAvailableNextNodes(isChatMode: boolean) {
 
-     const nodes = isChatMode ? ALL_CHAT_AVAILABLE_BLOCKS : ALL_COMPLETION_AVAILABLE_BLOCKS
 
-     return nodes
 
-   },
 
-   checkValid(payload: QuestionClassifierNodeType, t: any) {
 
-     let errorMessages = ''
 
-     if (!errorMessages && (!payload.query_variable_selector || payload.query_variable_selector.length === 0))
 
-       errorMessages = t(`${i18nPrefix}.errorMsg.fieldRequired`, { field: t(`${i18nPrefix}.nodes.questionClassifiers.inputVars`) })
 
-     if (!errorMessages && !payload.model.provider)
 
-       errorMessages = t(`${i18nPrefix}.errorMsg.fieldRequired`, { field: t(`${i18nPrefix}.nodes.questionClassifiers.model`) })
 
-     if (!errorMessages && (!payload.classes || payload.classes.length === 0))
 
-       errorMessages = t(`${i18nPrefix}.errorMsg.fieldRequired`, { field: t(`${i18nPrefix}.nodes.questionClassifiers.class`) })
 
-     if (!errorMessages && (payload.classes.some(item => !item.name)))
 
-       errorMessages = t(`${i18nPrefix}.errorMsg.fieldRequired`, { field: t(`${i18nPrefix}.nodes.questionClassifiers.topicName`) })
 
-     if (!errorMessages && payload.vision?.enabled && !payload.vision.configs?.variable_selector?.length)
 
-       errorMessages = t(`${i18nPrefix}.errorMsg.fieldRequired`, { field: t(`${i18nPrefix}.errorMsg.fields.visionVariable`) })
 
-     return {
 
-       isValid: !errorMessages,
 
-       errorMessage: errorMessages,
 
-     }
 
-   },
 
- }
 
- export default nodeDefault
 
 
  |