| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 | import { BlockEnum, ErrorHandleMode } from '../../types'import type { NodeDefault } from '../../types'import type { IterationNodeType } from './types'import {  ALL_CHAT_AVAILABLE_BLOCKS,  ALL_COMPLETION_AVAILABLE_BLOCKS,} from '@/app/components/workflow/constants'const i18nPrefix = 'workflow'const nodeDefault: NodeDefault<IterationNodeType> = {  defaultValue: {    start_node_id: '',    iterator_selector: [],    output_selector: [],    _children: [],    _isShowTips: false,    is_parallel: false,    parallel_nums: 10,    error_handle_mode: ErrorHandleMode.Terminated,  },  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: IterationNodeType, t: any) {    let errorMessages = ''    if (      !errorMessages      && (!payload.iterator_selector || payload.iterator_selector.length === 0)    ) {      errorMessages = t(`${i18nPrefix}.errorMsg.fieldRequired`, {        field: t(`${i18nPrefix}.nodes.iteration.input`),      })    }    if (      !errorMessages      && (!payload.output_selector || payload.output_selector.length === 0)    ) {      errorMessages = t(`${i18nPrefix}.errorMsg.fieldRequired`, {        field: t(`${i18nPrefix}.nodes.iteration.output`),      })    }    return {      isValid: !errorMessages,      errorMessage: errorMessages,    }  },}export default nodeDefault
 |