|
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 DocExtractorNode from './document-extractor/node' |
|
import DocExtractorPanel from './document-extractor/panel' |
|
import ListFilterNode from './list-operator/node' |
|
import ListFilterPanel from './list-operator/panel' |
|
|
|
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.DocExtractor]: DocExtractorNode, |
|
[BlockEnum.ListFilter]: ListFilterNode, |
|
} |
|
|
|
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.DocExtractor]: DocExtractorPanel, |
|
[BlockEnum.ListFilter]: ListFilterPanel, |
|
} |
|
|
|
export const CUSTOM_NODE_TYPE = 'custom' |
|
|