| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 | 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 ParameterExtractorNode from './parameter-extractor/node'import ParameterExtractorPanel from './parameter-extractor/panel'import IterationNode from './iteration/node'import IterationPanel from './iteration/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.VariableAggregator]: VariableAssignerNode,  [BlockEnum.ParameterExtractor]: ParameterExtractorNode,  [BlockEnum.Iteration]: IterationNode,}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.ParameterExtractor]: ParameterExtractorPanel,  [BlockEnum.Iteration]: IterationPanel,}export const CUSTOM_NODE_TYPE = 'custom'
 |