MATIH Platform is in active MVP development. Documentation reflects current implementation status.
15. Workbench Architecture
Pipeline Editor

Pipeline Editor

The Pipeline Editor at frontend/data-workbench/src/components/PipelineBuilder/ provides a visual DAG editor for constructing data pipelines with drag-and-drop node composition.


Components

ComponentFilePurpose
PipelineCanvasPipelineCanvas.tsxReact Flow canvas for DAG editing
PipelineNodePipelineNode.tsxCustom node for pipeline steps
NodePaletteNodePalette.tsxDraggable node type catalog
NodeConfigPanelNodeConfigPanel.tsxNode configuration side panel

Types

// frontend/data-workbench/src/components/PipelineBuilder/types.ts
interface PipelineNodeData {
  id: string;
  type: 'source' | 'transform' | 'sink' | 'quality' | 'branch' | 'join';
  name: string;
  config: Record<string, unknown>;
  status?: 'idle' | 'running' | 'success' | 'failed';
}

Node Types

CategoryNode Types
SourceDatabase, File, API, Stream
TransformSQL, Python, dbt, Filter, Aggregate
SinkDatabase, File, API, Data Lake
QualityValidation, Profiling, Alerting
FlowBranch, Join, Loop

PipelineCanvas

Features:

  • Drag nodes from palette to canvas
  • Connect nodes by drawing edges
  • Validate DAG (no cycles, required inputs)
  • Execute pipeline with real-time status
  • View execution logs per node
  • Integration with PipelineApiClient