hunk.code_window:     const clientWidth = reactFlowWrapper.current?.clientWidth;
       const middle = clientWidth ? clientWidth / 2 - 100 : 0;
       const zoomView = 1;
       const xyPos = reactFlowInstance?.project({ x: middle, y: 10 });
       setViewport({ x: xyPos?.x ?? middle, y: xyPos?.y ?? 0, zoom: zoomView }, { duration: 800 });
     }, [reactFlowInstance]);
     useEffect(() => {
       initializeWorkflowTree();
     }, [steps, dragging, errors, readonly]);
  
hunk.labels: keep keep keep replace replace keep keep keep keep keep
hunk.after_edit:     reactFlowInstance?.project({ x: middle, y: 10 });
       setViewport({ x: middle, y: 10, zoom: zoomView }, { duration: 800 });
  
hunk.file_path: apps/web/src/pages/templates/workflow/workflow/FlowEditor.tsx
hunk.type: replace
file: export * from './providers';
  export * from './notification-item-buttons';
  export * from './handlebar-helpers';
  export * from './password-helper';
  export * from './filters';
  