/** * @startsimpli/ui/workflows — generic workflow-graph foundation. * * Pure-TS foundation (types, serialization, layout) for the workflow * editor/viewer. Isolated behind a dedicated subpath so consumers that do * not need @xyflow/react don't pull it in (mirrors gantt / email-editor). * * Also exports the read-only execution-monitor components (timeline + run * viewer), which are plain React + shared @startsimpli/ui primitives. */ // Types export type { NodeStatus, RunStatus, WfNode, WfPosition, WfEdge, NodeTypeDef, WorkflowGraph, BackendConnection, BackendConnections, BackendNode, NodeExecView, WfExecutionView, JsonSchema, } from './types'; // Serialization (graph <-> xyflow <-> backend connections) export { graphToFlow, flowToGraph, connectionsToEdges, edgeId, } from './serialization'; export type { FlowNode, FlowEdge } from './serialization'; // Layout export { autoLayout, layoutLR, layoutTB } from './layout/auto-layout'; export type { LayoutDirection, AutoLayoutOptions } from './layout/auto-layout'; // Graph mutation (pure helpers used by the editor; also reusable standalone) export { connectionToEdge, addEdgeToGraph, removeNodesFromGraph, removeEdgesFromGraph, } from './graph-ops'; export type { GraphConnection } from './graph-ops'; // Theme export { CATEGORY_TOKENS, DEFAULT_CATEGORY_TOKEN, getCategoryToken, } from './theme/categories'; export type { CategoryToken } from './theme/categories'; // Execution monitor (read-only run visualization) export { ExecutionTimeline } from './ExecutionTimeline'; export type { ExecutionTimelineProps } from './ExecutionTimeline'; export { WorkflowRunViewer } from './WorkflowRunViewer'; export type { WorkflowRunViewerProps } from './WorkflowRunViewer'; export { ExecNodeDetails } from './ExecNodeDetails'; export type { ExecNodeDetailsProps } from './ExecNodeDetails'; // Visual editor (interactive xyflow canvas + palette + inspector) export { WorkflowNode } from './WorkflowNode'; export type { WorkflowNodeData } from './WorkflowNode'; export { WorkflowEdge } from './WorkflowEdge'; export type { WorkflowEdgeData } from './WorkflowEdge'; export { WorkflowCanvas } from './WorkflowCanvas'; export type { WorkflowCanvasProps } from './WorkflowCanvas'; export { NodePalette, NODE_DND_MIME } from './NodePalette'; export type { NodePaletteProps } from './NodePalette'; export { NodeInspector } from './NodeInspector'; export type { NodeInspectorProps } from './NodeInspector'; export { WorkflowEditor } from './WorkflowEditor'; export type { WorkflowEditorProps } from './WorkflowEditor'; // Editor hooks export { useCanvasGraph } from './hooks/useCanvasGraph'; export type { UseCanvasGraphOptions } from './hooks/useCanvasGraph'; export { useNodeStatusOverlay } from './hooks/useNodeStatusOverlay'; // Category icon resolver (lucide) export { getCategoryIcon } from './node-icons'; // Page composers — zero-coupling workflow UI (empty-state guidance + version history) export { WorkflowEmptyState, useWorkflowEmptyState } from './WorkflowEmptyState'; export type { WorkflowEmptyStateProps } from './WorkflowEmptyState'; export { WorkflowVersionHistory } from './WorkflowVersionHistory'; export type { WorkflowVersion, WorkflowVersionHistoryProps, } from './WorkflowVersionHistory'; // Page composers — workflow settings, stats, list, and template gallery export { WorkflowSettingsCard } from './WorkflowSettingsCard'; export type { WorkflowSettingsCardProps } from './WorkflowSettingsCard'; export { WorkflowStatsOverview } from './WorkflowStatsOverview'; export type { WorkflowStats, WorkflowStatsOverviewProps, } from './WorkflowStatsOverview'; export { WorkflowListComposer } from './WorkflowListComposer'; export type { WorkflowListItem, WorkflowCreateInput, WorkflowListComposerProps, } from './WorkflowListComposer'; export { WorkflowTemplateGallery, WORKFLOW_TEMPLATES, } from './WorkflowTemplateGallery'; export type { WorkflowTemplate, WorkflowTemplateDefinition, WorkflowTemplateGalleryProps, } from './WorkflowTemplateGallery';