/** * Node config renderers - one per node type (input, ai, email, sharepoint). */ import type { ComponentType } from 'react'; import type { NodeConfigRendererProps } from './types'; import { FormNodeConfig } from './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'; export type NodeConfigComponent = ComponentType; export const NODE_CONFIG_REGISTRY: Record = { '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, '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, };