/** * Node config renderers - one per node type (input, ai, email, sharepoint, clickup). */ import type { ComponentType } from 'react'; import type { NodeConfigRendererProps } from './types'; import { FormNodeConfig } from '../form/FormNodeConfig'; import { ApprovalNodeConfig } from './ApprovalNodeConfig'; import { UploadNodeConfig } from './UploadNodeConfig'; import { CommentNodeConfig } from './CommentNodeConfig'; import { ReviewNodeConfig } from './ReviewNodeConfig'; import { SelectionNodeConfig } from './SelectionNodeConfig'; import { ConfirmationNodeConfig } from './ConfirmationNodeConfig'; import { AiNodeConfig } from './AiNodeConfig'; import { EmailNodeConfig } from './EmailNodeConfig'; import { SharePointNodeConfig } from './SharePointNodeConfig'; import { ClickUpNodeConfig } from './ClickUpNodeConfig'; import { StartNodeConfig } from '../start/StartNodeConfig'; import { IfElseNodeConfig } from '../ifElse/IfElseNodeConfig'; import { SwitchNodeConfig } from '../switch/SwitchNodeConfig'; import { LoopNodeConfig } from '../loop/LoopNodeConfig'; import { FormStartNodeConfig } from '../start/FormStartNodeConfig'; import { ScheduleStartNodeConfig } from '../start/ScheduleStartNodeConfig'; import { FileCreateNodeConfig } from './FileCreateNodeConfig'; export type NodeConfigComponent = ComponentType; export const NODE_CONFIG_REGISTRY: Record = { 'trigger.manual': StartNodeConfig, 'trigger.form': FormStartNodeConfig, 'trigger.schedule': ScheduleStartNodeConfig, 'input.form': FormNodeConfig, 'input.approval': ApprovalNodeConfig, 'input.upload': UploadNodeConfig, 'input.comment': CommentNodeConfig, 'input.review': ReviewNodeConfig, 'input.selection': SelectionNodeConfig, 'input.confirmation': ConfirmationNodeConfig, 'ai.prompt': AiNodeConfig, 'ai.webResearch': AiNodeConfig, 'ai.summarizeDocument': AiNodeConfig, 'ai.translateDocument': AiNodeConfig, 'ai.convertDocument': AiNodeConfig, 'ai.generateDocument': AiNodeConfig, 'ai.generateCode': AiNodeConfig, 'file.create': FileCreateNodeConfig, 'email.checkEmail': EmailNodeConfig, 'email.searchEmail': EmailNodeConfig, 'email.draftEmail': EmailNodeConfig, 'sharepoint.findFile': SharePointNodeConfig, 'sharepoint.readFile': SharePointNodeConfig, 'sharepoint.uploadFile': SharePointNodeConfig, 'sharepoint.listFiles': SharePointNodeConfig, 'sharepoint.downloadFile': SharePointNodeConfig, 'sharepoint.copyFile': SharePointNodeConfig, 'clickup.searchTasks': ClickUpNodeConfig, 'clickup.listTasks': ClickUpNodeConfig, 'clickup.getTask': ClickUpNodeConfig, 'clickup.createTask': ClickUpNodeConfig, 'clickup.updateTask': ClickUpNodeConfig, 'clickup.uploadAttachment': ClickUpNodeConfig, 'flow.ifElse': IfElseNodeConfig, 'flow.switch': SwitchNodeConfig, 'flow.loop': LoopNodeConfig, };