123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- import type { ComponentType } from 'react'
- import { BlockEnum } from '../types'
- import StartNode from './start/node'
- import StartPanel from './start/panel'
- import EndNode from './end/node'
- import EndPanel from './end/panel'
- import AnswerNode from './answer/node'
- import AnswerPanel from './answer/panel'
- import LLMNode from './llm/node'
- import LLMPanel from './llm/panel'
- import KnowledgeRetrievalNode from './knowledge-retrieval/node'
- import KnowledgeRetrievalPanel from './knowledge-retrieval/panel'
- import QuestionClassifierNode from './question-classifier/node'
- import QuestionClassifierPanel from './question-classifier/panel'
- import IfElseNode from './if-else/node'
- import IfElsePanel from './if-else/panel'
- import CodeNode from './code/node'
- import CodePanel from './code/panel'
- import TemplateTransformNode from './template-transform/node'
- import TemplateTransformPanel from './template-transform/panel'
- import HttpNode from './http/node'
- import HttpPanel from './http/panel'
- import ToolNode from './tool/node'
- import ToolPanel from './tool/panel'
- import VariableAssignerNode from './variable-assigner/node'
- import VariableAssignerPanel from './variable-assigner/panel'
- import AssignerNode from './assigner/node'
- import AssignerPanel from './assigner/panel'
- import ParameterExtractorNode from './parameter-extractor/node'
- import ParameterExtractorPanel from './parameter-extractor/panel'
- import IterationNode from './iteration/node'
- import IterationPanel from './iteration/panel'
- import LoopNode from './loop/node'
- import LoopPanel from './loop/panel'
- import DocExtractorNode from './document-extractor/node'
- import DocExtractorPanel from './document-extractor/panel'
- import ListFilterNode from './list-operator/node'
- import ListFilterPanel from './list-operator/panel'
- import AgentNode from './agent/node'
- import AgentPanel from './agent/panel'
- import { TransferMethod } from '@/types/app'
- export const NodeComponentMap: Record<string, ComponentType<any>> = {
- [BlockEnum.Start]: StartNode,
- [BlockEnum.End]: EndNode,
- [BlockEnum.Answer]: AnswerNode,
- [BlockEnum.LLM]: LLMNode,
- [BlockEnum.KnowledgeRetrieval]: KnowledgeRetrievalNode,
- [BlockEnum.QuestionClassifier]: QuestionClassifierNode,
- [BlockEnum.IfElse]: IfElseNode,
- [BlockEnum.Code]: CodeNode,
- [BlockEnum.TemplateTransform]: TemplateTransformNode,
- [BlockEnum.HttpRequest]: HttpNode,
- [BlockEnum.Tool]: ToolNode,
- [BlockEnum.VariableAssigner]: VariableAssignerNode,
- [BlockEnum.Assigner]: AssignerNode,
- [BlockEnum.VariableAggregator]: VariableAssignerNode,
- [BlockEnum.ParameterExtractor]: ParameterExtractorNode,
- [BlockEnum.Iteration]: IterationNode,
- [BlockEnum.Loop]: LoopNode,
- [BlockEnum.DocExtractor]: DocExtractorNode,
- [BlockEnum.ListFilter]: ListFilterNode,
- [BlockEnum.Agent]: AgentNode,
- }
- export const PanelComponentMap: Record<string, ComponentType<any>> = {
- [BlockEnum.Start]: StartPanel,
- [BlockEnum.End]: EndPanel,
- [BlockEnum.Answer]: AnswerPanel,
- [BlockEnum.LLM]: LLMPanel,
- [BlockEnum.KnowledgeRetrieval]: KnowledgeRetrievalPanel,
- [BlockEnum.QuestionClassifier]: QuestionClassifierPanel,
- [BlockEnum.IfElse]: IfElsePanel,
- [BlockEnum.Code]: CodePanel,
- [BlockEnum.TemplateTransform]: TemplateTransformPanel,
- [BlockEnum.HttpRequest]: HttpPanel,
- [BlockEnum.Tool]: ToolPanel,
- [BlockEnum.VariableAssigner]: VariableAssignerPanel,
- [BlockEnum.VariableAggregator]: VariableAssignerPanel,
- [BlockEnum.Assigner]: AssignerPanel,
- [BlockEnum.ParameterExtractor]: ParameterExtractorPanel,
- [BlockEnum.Iteration]: IterationPanel,
- [BlockEnum.Loop]: LoopPanel,
- [BlockEnum.DocExtractor]: DocExtractorPanel,
- [BlockEnum.ListFilter]: ListFilterPanel,
- [BlockEnum.Agent]: AgentPanel,
- }
- export const CUSTOM_NODE_TYPE = 'custom'
- export const FILE_TYPE_OPTIONS = [
- { value: 'image', i18nKey: 'image' },
- { value: 'document', i18nKey: 'doc' },
- { value: 'audio', i18nKey: 'audio' },
- { value: 'video', i18nKey: 'video' },
- ]
- export const TRANSFER_METHOD = [
- { value: TransferMethod.local_file, i18nKey: 'localUpload' },
- { value: TransferMethod.remote_url, i18nKey: 'url' },
- ]
- export const SUB_VARIABLES = ['type', 'size', 'name', 'url', 'extension', 'mime_type', 'transfer_method']
- export const OUTPUT_FILE_SUB_VARIABLES = SUB_VARIABLES.filter(key => key !== 'transfer_method')
|