ui-nyla/src/components/Automation2FlowEditor/nodes/configs/index.ts

65 lines
2.8 KiB
TypeScript

/**
* 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<NodeConfigRendererProps>;
export const NODE_CONFIG_REGISTRY: Record<string, NodeConfigComponent> = {
'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,
};