flowstudio 0.0.19 → 0.0.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/dist/app_analytics.js +2 -1
  2. package/dist/app_analytics.js.map +1 -1
  3. package/dist/app_details.js +3 -2
  4. package/dist/app_details.js.map +1 -1
  5. package/dist/app_layout.js +1 -0
  6. package/dist/app_layout.js.map +1 -1
  7. package/dist/app_settings.js +2 -2
  8. package/dist/app_settings.js.map +1 -1
  9. package/dist/code.d.ts +1 -0
  10. package/dist/code.js +8 -0
  11. package/dist/code.js.map +1 -0
  12. package/dist/components/combo_box/style.css +10 -0
  13. package/dist/components/date_picker/style.css +204 -0
  14. package/dist/components/sheet/index.d.ts +1 -0
  15. package/dist/components/sheet/index.js +1 -1
  16. package/dist/components/sheet/index.js.map +1 -1
  17. package/dist/components/sheet/style.css +155 -0
  18. package/dist/constants.d.ts +6 -0
  19. package/dist/constants.js +7 -0
  20. package/dist/constants.js.map +1 -0
  21. package/dist/envs.js +26 -10
  22. package/dist/envs.js.map +1 -1
  23. package/dist/functions.js +39 -32
  24. package/dist/functions.js.map +1 -1
  25. package/dist/home.d.ts +1 -1
  26. package/dist/home.js +5 -3
  27. package/dist/home.js.map +1 -1
  28. package/dist/index.d.ts +9 -2
  29. package/dist/index.js +17 -17
  30. package/dist/index.js.map +1 -1
  31. package/dist/new_project.js +3 -2
  32. package/dist/new_project.js.map +1 -1
  33. package/dist/node.js +4 -3
  34. package/dist/node.js.map +1 -1
  35. package/dist/project_widget.js +1 -1
  36. package/dist/project_widget.js.map +1 -1
  37. package/dist/simulator.js +16 -14
  38. package/dist/simulator.js.map +1 -1
  39. package/dist/studio.css +19 -0
  40. package/dist/studio_pane.d.ts +2 -1
  41. package/dist/studio_pane.js +285 -120
  42. package/dist/studio_pane.js.map +1 -1
  43. package/dist/studio_pane_old.d.ts +1 -0
  44. package/dist/studio_pane_old.js +309 -0
  45. package/dist/studio_pane_old.js.map +1 -0
  46. package/dist/studio_pane_old_new.d.ts +1 -0
  47. package/dist/studio_pane_old_new.js +349 -0
  48. package/dist/studio_pane_old_new.js.map +1 -0
  49. package/dist/top_left_panel.js +2 -1
  50. package/dist/top_left_panel.js.map +1 -1
  51. package/dist/top_right_panel.js +4 -3
  52. package/dist/top_right_panel.js.map +1 -1
  53. package/dist/triggers.js +8 -7
  54. package/dist/triggers.js.map +1 -1
  55. package/package.json +2 -2
  56. package/dist/getcode.d.ts +0 -1
  57. package/dist/getcode.js +0 -8
  58. package/dist/getcode.js.map +0 -1
@@ -12,70 +12,279 @@ import { v4 as uuidv4 } from 'uuid';
12
12
  import TopRightPanel from './top_right_panel';
13
13
  import TopCenterPanel from './top_center_panel';
14
14
  import TopLeftPanel from './top_left_panel';
15
- // import './studio.css';
15
+ import './studio.css';
16
16
  import AppAnalytics from './app_analytics';
17
- export default function StudioPane({ api_key, projectsRefetch, identifier, providers, provider }) {
18
- const { appTheme, stateType } = useConfigStore();
19
- const { data: project, status: projectStatus, refetch: projectRefetch } = useQuery({ queryKey: [`project_${identifier}`], queryFn: async () => {
20
- const res = await fetch(`${process.env.BACKEND_ENDPOINT}/projects/${identifier}`, { headers: { "X-API-KEY": `${api_key}` } });
17
+ import flow_constants from './constants';
18
+ // Constants
19
+ const MAX_HISTORY_SIZE = 50;
20
+ const AUTO_SAVE_DELAY = 1000;
21
+ const QUERY_STALE_TIME = 5 * 60 * 1000; // 5 minutes
22
+ const QUERY_CACHE_TIME = 10 * 60 * 1000; // 10 minutes
23
+ // Node templates for performance
24
+ const NODE_TEMPLATES = {
25
+ function: {
26
+ type: 'fNode',
27
+ data: { label: '', function: '' }
28
+ },
29
+ default: {
30
+ type: 'gNode',
31
+ data: {
32
+ label: '',
33
+ message: '',
34
+ type: 'end',
35
+ response: {
36
+ validation: 'alpha-numeric',
37
+ source: 'manual',
38
+ inputs: [{ id: 1 }]
39
+ }
40
+ }
41
+ }
42
+ };
43
+ // Debounce utility
44
+ function useDebounce(callback, delay) {
45
+ const timeoutRef = useRef(null);
46
+ return useCallback((...args) => {
47
+ if (timeoutRef.current) {
48
+ clearTimeout(timeoutRef.current);
49
+ }
50
+ timeoutRef.current = setTimeout(() => callback(...args), delay);
51
+ }, [callback, delay]);
52
+ }
53
+ // Custom hook for history management
54
+ function useFlowHistory() {
55
+ const [history, setHistory] = useState([]);
56
+ const [historyIndex, setHistoryIndex] = useState(0);
57
+ const addToHistory = useCallback((newState) => {
58
+ setHistory(prevHistory => {
59
+ let updatedHistory = prevHistory;
60
+ // If we're not at the end, truncate future history
61
+ if (historyIndex < prevHistory.length - 1) {
62
+ updatedHistory = prevHistory.slice(0, historyIndex + 1);
63
+ }
64
+ // Add new state and maintain max size
65
+ const newHistory = [...updatedHistory, newState];
66
+ return newHistory.length > MAX_HISTORY_SIZE
67
+ ? newHistory.slice(-MAX_HISTORY_SIZE)
68
+ : newHistory;
69
+ });
70
+ setHistoryIndex(prev => {
71
+ const newIndex = Math.min(prev + 1, MAX_HISTORY_SIZE - 1);
72
+ return newIndex;
73
+ });
74
+ }, [historyIndex]);
75
+ const undo = useCallback(() => {
76
+ if (historyIndex > 0) {
77
+ setHistoryIndex(prev => prev - 1);
78
+ return history[historyIndex - 1];
79
+ }
80
+ return null;
81
+ }, [history, historyIndex]);
82
+ const redo = useCallback(() => {
83
+ if (historyIndex < history.length - 1) {
84
+ setHistoryIndex(prev => prev + 1);
85
+ return history[historyIndex + 1];
86
+ }
87
+ return null;
88
+ }, [history, historyIndex]);
89
+ return { addToHistory, undo, redo, historyIndex, historySize: history.length };
90
+ }
91
+ // Custom hook for auto-save functionality
92
+ function useAutoSave(rfInstance, identifier, api_key, nodes, edges, addToHistory) {
93
+ const [saving, setSaving] = useState(false);
94
+ const lastSavedStateRef = useRef('');
95
+ const performSave = useCallback(async () => {
96
+ if (!rfInstance || !identifier)
97
+ return;
98
+ setSaving(true);
99
+ try {
100
+ const flow = rfInstance.toObject();
101
+ const response = await fetch(`${flow_constants.BACKEND_ENDPOINT}/projects/${identifier}`, {
102
+ method: 'PATCH',
103
+ headers: {
104
+ "X-API-KEY": `${api_key}`,
105
+ 'Content-Type': 'application/json'
106
+ },
107
+ body: JSON.stringify({ flow_draft: flow })
108
+ });
109
+ if (!response.ok) {
110
+ console.error('Failed to save flow draft');
111
+ }
112
+ }
113
+ catch (error) {
114
+ console.error('Error saving nodes and edges:', error);
115
+ }
116
+ finally {
117
+ setSaving(false);
118
+ }
119
+ }, [rfInstance, identifier, api_key]);
120
+ const debouncedSave = useDebounce(performSave, AUTO_SAVE_DELAY);
121
+ const saveWithHistory = useCallback(() => {
122
+ if (!rfInstance)
123
+ return;
124
+ const currentState = {
125
+ nodes: nodes === null || nodes === void 0 ? void 0 : nodes.map(n => ({ ...n })),
126
+ edges: edges === null || edges === void 0 ? void 0 : edges.map(e => ({ ...e })),
127
+ viewport: rfInstance.getViewport()
128
+ };
129
+ // Check if state actually changed to avoid unnecessary saves
130
+ const currentStateString = JSON.stringify(currentState);
131
+ if (currentStateString === lastSavedStateRef.current)
132
+ return;
133
+ lastSavedStateRef.current = currentStateString;
134
+ addToHistory(currentState);
135
+ debouncedSave();
136
+ }, [rfInstance, nodes, edges, addToHistory, debouncedSave]);
137
+ return { performSave, saveWithHistory, saving };
138
+ }
139
+ // Custom hook for context menu
140
+ function useContextMenu() {
141
+ const [contextMenu, setContextMenu] = useState({
142
+ show: false,
143
+ position: { x: 0, y: 0 }
144
+ });
145
+ const handleContextMenu = useCallback((event) => {
146
+ event.preventDefault();
147
+ setContextMenu({
148
+ show: true,
149
+ position: { x: event.clientX, y: event.clientY }
150
+ });
151
+ }, []);
152
+ const hideContextMenu = useCallback(() => {
153
+ setContextMenu(prev => ({ ...prev, show: false }));
154
+ }, []);
155
+ return {
156
+ showContextMenu: contextMenu.show,
157
+ contextMenuPosition: contextMenu.position,
158
+ handleContextMenu,
159
+ setShowContextMenu: hideContextMenu
160
+ };
161
+ }
162
+ export default function StudioPane({ api_key, projectsRefetch, identifier, providers, provider, theme }) {
163
+ const { stateType } = useConfigStore();
164
+ // Optimized queries with better caching
165
+ const { data: project, status: projectStatus, refetch: projectRefetch } = useQuery({
166
+ queryKey: [`project_${identifier}`],
167
+ queryFn: async () => {
168
+ const res = await fetch(`${flow_constants.BACKEND_ENDPOINT}/projects/${identifier}`, {
169
+ headers: { "X-API-KEY": `${api_key}` }
170
+ });
21
171
  return res === null || res === void 0 ? void 0 : res.json();
22
- }, enabled: !!identifier });
23
- const { data: functions, refetch: functionsRefetch } = useQuery({ queryKey: [`project_${identifier}_functions`], queryFn: async () => {
24
- const res = await fetch(`${process.env.BACKEND_ENDPOINT}/functions?project=${identifier}`, { headers: { "X-API-KEY": `${api_key}` } });
172
+ },
173
+ enabled: !!identifier,
174
+ staleTime: QUERY_STALE_TIME,
175
+ gcTime: QUERY_CACHE_TIME
176
+ });
177
+ const { data: functions, refetch: functionsRefetch } = useQuery({
178
+ queryKey: [`project_${identifier}_functions`],
179
+ queryFn: async () => {
180
+ const res = await fetch(`${flow_constants.BACKEND_ENDPOINT}/functions?project=${identifier}`, {
181
+ headers: { "X-API-KEY": `${api_key}` }
182
+ });
25
183
  return res === null || res === void 0 ? void 0 : res.json();
26
- }, enabled: !!identifier });
27
- const { data: triggers, refetch: triggersRefetch } = useQuery({ queryKey: [`project_${identifier}_triggers`], queryFn: async () => {
28
- const res = await fetch(`${process.env.BACKEND_ENDPOINT}/triggers?project=${identifier}`, { headers: { "X-API-KEY": `${api_key}` } });
184
+ },
185
+ enabled: !!identifier,
186
+ staleTime: QUERY_STALE_TIME,
187
+ gcTime: QUERY_CACHE_TIME
188
+ });
189
+ const { data: triggers, refetch: triggersRefetch } = useQuery({
190
+ queryKey: [`project_${identifier}_triggers`],
191
+ queryFn: async () => {
192
+ const res = await fetch(`${flow_constants.BACKEND_ENDPOINT}/triggers?project=${identifier}`, {
193
+ headers: { "X-API-KEY": `${api_key}` }
194
+ });
29
195
  return res === null || res === void 0 ? void 0 : res.json();
30
- }, enabled: !!identifier });
31
- const { data: envs, refetch: envsRefetch } = useQuery({ queryKey: [`project_${identifier}_envs`], queryFn: async () => {
32
- const res = await fetch(`${process.env.BACKEND_ENDPOINT}/envs?project=${identifier}`, { headers: { "X-API-KEY": `${api_key}` } });
196
+ },
197
+ enabled: !!identifier,
198
+ staleTime: QUERY_STALE_TIME,
199
+ gcTime: QUERY_CACHE_TIME
200
+ });
201
+ const { data: envs, refetch: envsRefetch } = useQuery({
202
+ queryKey: [`project_${identifier}_envs`],
203
+ queryFn: async () => {
204
+ const res = await fetch(`${flow_constants.BACKEND_ENDPOINT}/envs?project=${identifier}`, {
205
+ headers: { "X-API-KEY": `${api_key}` }
206
+ });
33
207
  return res === null || res === void 0 ? void 0 : res.json();
34
- }, enabled: !!identifier });
35
- const { data: sessions, status: sessionsStatus, refetch: sessionsRefetch } = useQuery({ queryKey: [`project_${identifier}_sessions`], queryFn: async () => {
36
- const res = await fetch(`${process.env.BACKEND_ENDPOINT}/sessions?project=${identifier}`, { headers: { "X-API-KEY": `${api_key}` } });
208
+ },
209
+ enabled: !!identifier,
210
+ staleTime: QUERY_STALE_TIME,
211
+ gcTime: QUERY_CACHE_TIME
212
+ });
213
+ const { data: sessions, status: sessionsStatus, refetch: sessionsRefetch } = useQuery({
214
+ queryKey: [`project_${identifier}_sessions`],
215
+ queryFn: async () => {
216
+ const res = await fetch(`${flow_constants.BACKEND_ENDPOINT}/sessions?project=${identifier}`, {
217
+ headers: { "X-API-KEY": `${api_key}` }
218
+ });
37
219
  return res === null || res === void 0 ? void 0 : res.json();
38
- }, enabled: !!identifier });
220
+ },
221
+ enabled: !!identifier,
222
+ staleTime: QUERY_STALE_TIME,
223
+ gcTime: QUERY_CACHE_TIME
224
+ });
225
+ // Optimized session lookup - compute once, use many times
226
+ const sessionsByNodeId = useMemo(() => {
227
+ if (!(sessions === null || sessions === void 0 ? void 0 : sessions.results))
228
+ return {};
229
+ return sessions.results.reduce((acc, session) => {
230
+ if (!acc[session.node_id]) {
231
+ acc[session.node_id] = [];
232
+ }
233
+ acc[session.node_id].push(session);
234
+ return acc;
235
+ }, {});
236
+ }, [sessions === null || sessions === void 0 ? void 0 : sessions.results]);
39
237
  ////////////////// Nodes Management (React Flow) /////////////////////////////
40
- const CustomSmoothstepEdge = ({ data, ...props }) => {
238
+ const CustomSmoothstepEdge = memo(({ data, ...props }) => {
41
239
  return _jsx(SmoothStepEdge, { ...props, data: data, style: { strokeWidth: 2 } });
42
- };
240
+ });
241
+ // Optimized node types with memoized session lookup
43
242
  const nodeTypes = useMemo(() => ({
44
- gNode: (props) => { var _a; return (_jsx(GNode, { ...props, data: { ...props.data, functions: functions === null || functions === void 0 ? void 0 : functions.results, sessions: ((_a = sessions === null || sessions === void 0 ? void 0 : sessions.results) === null || _a === void 0 ? void 0 : _a.filter((session) => session.node_id === props.id)) || [] } })); },
45
- fNode: (props) => { var _a; return (_jsx(FNode, { ...props, data: { ...props.data, functions: functions === null || functions === void 0 ? void 0 : functions.results, sessions: ((_a = sessions === null || sessions === void 0 ? void 0 : sessions.results) === null || _a === void 0 ? void 0 : _a.filter((session) => session.node_id === props.id)) || [] } })); }
46
- }), [project === null || project === void 0 ? void 0 : project.identifier, functions]);
47
- const edgeTypes = useMemo(() => ({ default: memo((props) => (_jsx(CustomSmoothstepEdge, { ...props, deletable: true }))) }), []);
243
+ gNode: (props) => (_jsx(GNode, { ...props, data: {
244
+ ...props.data,
245
+ functions: functions === null || functions === void 0 ? void 0 : functions.results,
246
+ sessions: sessionsByNodeId[props.id] || []
247
+ } })),
248
+ fNode: (props) => (_jsx(FNode, { ...props, data: {
249
+ ...props.data,
250
+ functions: functions === null || functions === void 0 ? void 0 : functions.results,
251
+ sessions: sessionsByNodeId[props.id] || []
252
+ } }))
253
+ }), [functions === null || functions === void 0 ? void 0 : functions.results, sessionsByNodeId]);
254
+ const edgeTypes = useMemo(() => ({
255
+ default: memo((props) => (_jsx(CustomSmoothstepEdge, { ...props, deletable: true })))
256
+ }), []);
48
257
  const [nodes, setNodes, onNodesChange] = useNodesState((project === null || project === void 0 ? void 0 : project.nodes) || []);
49
258
  const [edges, setEdges, onEdgesChange] = useEdgesState((project === null || project === void 0 ? void 0 : project.edges) || []);
50
259
  const [rfInstance, setRfInstance] = useState(null);
51
- const [saving, setSaving] = useState(false);
52
260
  const { setViewport, screenToFlowPosition, getNodes, getEdges } = useReactFlow();
53
261
  const isReconnectingRef = useRef(false);
54
- const [currentState, setCurrentState] = useState(null);
55
- const [history, setHistory] = useState([]);
56
- const [historyIndex, setHistoryIndex] = useState(0);
262
+ // Custom hooks
263
+ const { addToHistory, undo, redo, historyIndex, historySize } = useFlowHistory();
264
+ const { performSave, saveWithHistory, saving } = useAutoSave(rfInstance, identifier, api_key, nodes, edges, addToHistory);
265
+ const { showContextMenu, contextMenuPosition, handleContextMenu, setShowContextMenu } = useContextMenu();
57
266
  // Key Presses
58
267
  const cmdAndSPressed = useKeyPress(['Meta+s', 'Strg+s']);
59
268
  const cmdAndZPressed = useKeyPress(['Meta+z', 'Strg+z']);
60
269
  const cmdAndYPressed = useKeyPress(['Meta+y', 'Strg+y']);
61
270
  ////////////// onMount and Initial Load //////////////
62
271
  useEffect(() => {
272
+ // Component initialization logic can go here
63
273
  }, []);
64
274
  useEffect(() => {
65
275
  var _a, _b, _c;
66
276
  if (project === null || project === void 0 ? void 0 : project.flow_draft) {
67
277
  const { x = 0, y = 0, zoom = 1 } = ((_a = project === null || project === void 0 ? void 0 : project.flow_draft) === null || _a === void 0 ? void 0 : _a.viewport) || {};
68
- // const updatedNodes = project?.flow_draft?.nodes?.map((val: any) => {
69
- // return { ...val, data: { ...val.data,
70
- // },};
71
- // }) || [];
72
278
  setNodes(((_b = project === null || project === void 0 ? void 0 : project.flow_draft) === null || _b === void 0 ? void 0 : _b.nodes) || []);
73
279
  setEdges(((_c = project === null || project === void 0 ? void 0 : project.flow_draft) === null || _c === void 0 ? void 0 : _c.edges) || []);
74
280
  setViewport({ x, y, zoom });
75
281
  }
76
- }, [project]);
282
+ }, [project, setNodes, setEdges, setViewport]);
77
283
  useEffect(() => {
78
- setEdges((eds) => eds.map((edge) => ({ ...edge, animated: stateType === 'sessions', })));
284
+ setEdges((eds) => eds.map((edge) => ({
285
+ ...edge,
286
+ animated: stateType === 'sessions'
287
+ })));
79
288
  }, [stateType, setEdges]);
80
289
  //////////////////////////// Connections /////////////////////////////////
81
290
  const onConnect = useCallback((connection) => {
@@ -86,7 +295,6 @@ export default function StudioPane({ api_key, projectsRefetch, identifier, provi
86
295
  // Generate a unique ID for the new edge
87
296
  const newEdgeId = `e${connection.source}-${connection.sourceHandle}-${connection.target}-${connection.targetHandle}`;
88
297
  // Add the new connection with the unique ID
89
- // console.log(`on connect edge: ${connection}`)
90
298
  return addEdge({ ...connection, id: newEdgeId }, filteredEdges);
91
299
  });
92
300
  }, [setEdges]);
@@ -94,7 +302,6 @@ export default function StudioPane({ api_key, projectsRefetch, identifier, provi
94
302
  // isReconnectingRef.current = false;
95
303
  }, []);
96
304
  const onConnectEnd = useCallback((event, connectionState) => {
97
- // const reactFlowWrapper = document.querySelector('.react-flow'); // or your actual wrapper class
98
305
  if (!connectionState.isValid && !connectionState.toNode) {
99
306
  if (!connectionState.toNode && !isReconnectingRef.current) {
100
307
  const { clientX, clientY } = 'changedTouches' in event ? event.changedTouches[0] : event;
@@ -151,7 +358,7 @@ export default function StudioPane({ api_key, projectsRefetch, identifier, provi
151
358
  }, []);
152
359
  const onEdgesDelete = useCallback((edgesToDelete) => {
153
360
  setEdges((eds) => eds.filter((e) => !edgesToDelete.some((d) => d.id === e.id)));
154
- }, []);
361
+ }, [setEdges]);
155
362
  const onReconnect = useCallback((oldEdge, newConnection) => {
156
363
  if (!newConnection.target) {
157
364
  // If no target, remove the edge
@@ -171,86 +378,41 @@ export default function StudioPane({ api_key, projectsRefetch, identifier, provi
171
378
  isReconnectingRef.current = false;
172
379
  }, [setEdges]);
173
380
  ///////////////////////////////Save//////////////////////////////////////////
174
- const onSave = useCallback(async () => {
175
- if (rfInstance) {
176
- setSaving(true);
177
- const flow = rfInstance.toObject();
178
- // alert(JSON.stringify(flow))
179
- if (!identifier)
180
- return;
181
- try {
182
- const response = await fetch(`${process.env.BACKEND_ENDPOINT}/projects/${identifier}`, { method: 'PATCH', headers: { "X-API-KEY": `${api_key}`, 'Content-Type': 'application/json' }, body: JSON.stringify({ flow_draft: flow }) });
183
- if (!response.ok) {
184
- setSaving(false);
185
- // throw new Error('Failed to save flow draft');
186
- }
187
- setSaving(false);
188
- // const result = await response.json();
189
- // console.log('Save successful:', result);
190
- }
191
- catch (error) {
192
- setSaving(false);
193
- console.error('Error saving nodes and edges:', error);
194
- }
195
- }
196
- }, [rfInstance]);
381
+ const onSave = useCallback(() => {
382
+ performSave();
383
+ }, [performSave]);
197
384
  useEffect(() => {
198
385
  if (cmdAndSPressed) {
199
386
  onSave();
200
387
  }
201
388
  }, [cmdAndSPressed, onSave]);
202
389
  ///////////////// Undo and Redo ///////////////////////
203
- const handleChange = (newState) => {
204
- // console.log('handleChange', newState);
205
- if (historyIndex < history.length - 1) {
206
- setHistory((prevHistory) => prevHistory.slice(0, historyIndex + 1));
207
- }
208
- // Add new state to history
209
- setHistory((prevHistory) => [...prevHistory, newState]);
210
- setHistoryIndex((prevIndex) => prevIndex + 1);
211
- setCurrentState(newState);
212
- };
213
- // Undo function
214
- const undo = () => {
215
- if (historyIndex > 0) {
216
- const prevIndex = historyIndex - 1;
217
- setHistoryIndex(prevIndex);
218
- setCurrentState(history[prevIndex]);
219
- setNodes(history[prevIndex].nodes);
220
- setEdges(history[prevIndex].edges);
221
- setViewport(history[prevIndex].viewport);
390
+ const handleUndo = useCallback(() => {
391
+ const prevState = undo();
392
+ if (prevState) {
393
+ setNodes(prevState.nodes);
394
+ setEdges(prevState.edges);
395
+ setViewport(prevState.viewport);
222
396
  }
223
- };
224
- // Redo function
225
- const redo = () => {
226
- if (historyIndex < history.length - 1) {
227
- const nextIndex = historyIndex + 1;
228
- setHistoryIndex(nextIndex);
229
- setCurrentState(history[nextIndex]);
230
- setNodes(history[nextIndex].nodes);
231
- setEdges(history[nextIndex].edges);
232
- setViewport(history[nextIndex].viewport);
397
+ }, [undo, setNodes, setEdges, setViewport]);
398
+ const handleRedo = useCallback(() => {
399
+ const nextState = redo();
400
+ if (nextState) {
401
+ setNodes(nextState.nodes);
402
+ setEdges(nextState.edges);
403
+ setViewport(nextState.viewport);
233
404
  }
234
- };
405
+ }, [redo, setNodes, setEdges, setViewport]);
235
406
  useEffect(() => {
236
407
  if (cmdAndZPressed) {
237
- undo();
408
+ handleUndo();
238
409
  }
239
410
  if (cmdAndYPressed) {
240
- redo();
411
+ handleRedo();
241
412
  }
242
- }, [cmdAndZPressed, cmdAndYPressed]);
413
+ }, [cmdAndZPressed, cmdAndYPressed, handleUndo, handleRedo]);
243
414
  ////////////////// For Context Menu /////////////////////////////
244
- const [showContextMenu, setShowContextMenu] = useState(false);
245
- const [contextMenuPosition, setContextMenuPosition] = useState({ x: 0, y: 0 });
246
- const handleContextMenu = (event) => {
247
- event.preventDefault();
248
- const clickX = event.clientX;
249
- const clickY = event.clientY;
250
- setContextMenuPosition({ x: clickX, y: clickY });
251
- setShowContextMenu(true);
252
- };
253
- const createNode = (type) => {
415
+ const createNode = useCallback((type) => {
254
416
  if ((contextMenuPosition === null || contextMenuPosition === void 0 ? void 0 : contextMenuPosition.x) != null && (contextMenuPosition === null || contextMenuPosition === void 0 ? void 0 : contextMenuPosition.y) != null) {
255
417
  setNodes((prevNodes) => {
256
418
  const newId = `node-${uuidv4()}`;
@@ -261,32 +423,37 @@ export default function StudioPane({ api_key, projectsRefetch, identifier, provi
261
423
  while (existingLabels.has(newLabel)) {
262
424
  newLabel = `${type}_label_${counter++}`;
263
425
  }
426
+ const template = type === 'function' ? NODE_TEMPLATES.function : NODE_TEMPLATES.default;
264
427
  return [
265
428
  ...prevNodes,
266
429
  {
267
430
  id: newId,
268
- type: type === 'function' ? 'fNode' : 'gNode',
431
+ type: template.type,
269
432
  position: { x: contextMenuPosition.x, y: contextMenuPosition.y },
270
- data: type === 'function'
271
- ? { label: newLabel, function: '' }
272
- : { label: newLabel, message: '', type, response: { validation: 'alpha-numeric', source: 'manual', inputs: [{ id: 1 }] } }
433
+ data: {
434
+ ...template.data,
435
+ label: newLabel,
436
+ ...(type === 'function' ? { function: '' } : {
437
+ message: '',
438
+ type,
439
+ response: {
440
+ validation: 'alpha-numeric',
441
+ source: 'manual',
442
+ inputs: [{ id: 1 }]
443
+ }
444
+ })
445
+ }
273
446
  }
274
447
  ];
275
448
  });
276
- // Reset context menu position to avoid reusing the same position
277
- setContextMenuPosition({ x: 0, y: 0 });
278
449
  }
279
- };
450
+ }, [contextMenuPosition, setNodes]);
280
451
  //////////////////// Auto Save //////////////////
281
452
  useEffect(() => {
282
- // Only save if there's an rfInstance and identifier
283
- if (rfInstance && identifier) {
284
- // Add a small debounce to prevent too frequent saves
285
- const timer = setTimeout(() => { onSave(); }, 1000); // 1 second debounce
286
- handleChange({ nodes, edges, viewport: rfInstance.getViewport() });
287
- return () => clearTimeout(timer);
453
+ if (rfInstance && identifier && (nodes.length > 0 || edges.length > 0)) {
454
+ saveWithHistory();
288
455
  }
289
- }, [nodes, edges]);
456
+ }, [nodes, edges, rfInstance, identifier, saveWithHistory]);
290
457
  ///////////////// Delete Key Code ////////////////
291
458
  const onSelectionChange = useCallback(({ nodes, edges }) => {
292
459
  // console.log('Selected nodes:', nodes)
@@ -302,8 +469,6 @@ export default function StudioPane({ api_key, projectsRefetch, identifier, provi
302
469
  window.addEventListener('keydown', handleKeyDown);
303
470
  return () => window.removeEventListener('keydown', handleKeyDown);
304
471
  }, [setNodes, setEdges]);
305
- return (_jsxs(Box, { position: 'absolute', top: '0', right: '0', bottom: '0px', left: '0', style: {}, children: [_jsxs(ReactFlow, { nodes: nodes, edges: edges, onNodesChange: onNodesChange, onEdgesChange: onEdgesChange, onConnect: onConnect, nodeTypes: nodeTypes, edgeTypes: edgeTypes, onNodesDelete: onNodesDelete, onEdgesDelete: onEdgesDelete, onSelectionChange: onSelectionChange, onConnectEnd: onConnectEnd, onConnectStart: onConnectStart, onReconnect: onReconnect, onReconnectStart: onReconnectStart, onReconnectEnd: onReconnectEnd, onInit: setRfInstance, snapToGrid: true, fitView: true, minZoom: 0.1, maxZoom: 3, colorMode: appTheme, onPaneContextMenu: handleContextMenu, deleteKeyCode: null,
306
- // viewport={project?.flow_draft?.viewport}
307
- attributionPosition: "bottom-right", children: [_jsx(Controls, {}), _jsx(Background, { gap: 12, size: 1 }), _jsxs(Panel, { position: "top-center", children: [" ", _jsx(TopCenterPanel, { projectId: identifier })] }), _jsxs(Panel, { position: "top-left", children: [" ", _jsx(TopLeftPanel, { api_key: api_key, projectId: identifier, createNode: createNode, onSave: onSave, saving: saving, rfInstance: rfInstance, redo: redo, undo: undo, historyIndex: historyIndex })] }), _jsxs(Panel, { position: "top-right", children: [" ", _jsx(TopRightPanel, { api_key: api_key, projectId: identifier, createNode: createNode, onSave: onSave, saving: saving, rfInstance: rfInstance })] })] }), _jsx(AppAnalytics, { api_key: api_key, project: project, sessions: sessions, sessionsStatus: sessionsStatus, refetch: sessionsRefetch }), _jsx(AppSettings, { api_key: api_key, project: project, projectsRefetch: projectsRefetch, providers: providers, provider: provider, triggers: triggers, triggersRefetch: triggersRefetch, functions: functions, functionsRefetch: functionsRefetch, envs: envs, envsRefetch: envsRefetch }), _jsx(ContextMenu, { api_key: api_key, open: showContextMenu, setOpen: setShowContextMenu, createNode: createNode, menuPosition: contextMenuPosition })] }));
472
+ return (_jsxs(Box, { position: 'absolute', top: '0', right: '0', bottom: '0px', left: '0', style: {}, children: [_jsxs(ReactFlow, { nodes: nodes, edges: edges, onNodesChange: onNodesChange, onEdgesChange: onEdgesChange, onConnect: onConnect, nodeTypes: nodeTypes, edgeTypes: edgeTypes, onNodesDelete: onNodesDelete, onEdgesDelete: onEdgesDelete, onSelectionChange: onSelectionChange, onConnectEnd: onConnectEnd, onConnectStart: onConnectStart, onReconnect: onReconnect, onReconnectStart: onReconnectStart, onReconnectEnd: onReconnectEnd, onInit: setRfInstance, snapToGrid: true, fitView: true, minZoom: 0.1, maxZoom: 3, colorMode: theme, onPaneContextMenu: handleContextMenu, deleteKeyCode: null, attributionPosition: "bottom-right", children: [_jsx(Controls, {}), _jsx(Background, { gap: 12, size: 1 }), _jsx(Panel, { position: "top-center", children: _jsx(TopCenterPanel, { projectId: identifier }) }), _jsx(Panel, { position: "top-left", children: _jsx(TopLeftPanel, { api_key: api_key, projectId: identifier, createNode: createNode, onSave: onSave, saving: saving, rfInstance: rfInstance, redo: handleRedo, undo: handleUndo, historyIndex: historyIndex }) }), _jsx(Panel, { position: "top-right", children: _jsx(TopRightPanel, { api_key: api_key, projectId: identifier, createNode: createNode, onSave: onSave, saving: saving, rfInstance: rfInstance }) })] }), _jsx(AppAnalytics, { api_key: api_key, project: project, sessions: sessions, sessionsStatus: sessionsStatus, refetch: sessionsRefetch }), _jsx(AppSettings, { api_key: api_key, project: project, projectsRefetch: projectsRefetch, providers: providers, provider: provider, triggers: triggers, triggersRefetch: triggersRefetch, functions: functions, functionsRefetch: functionsRefetch, envs: envs, envsRefetch: envsRefetch }), _jsx(ContextMenu, { api_key: api_key, open: showContextMenu, setOpen: setShowContextMenu, createNode: createNode, menuPosition: contextMenuPosition })] }));
308
473
  }
309
474
  //# sourceMappingURL=studio_pane.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"studio_pane.js","sourceRoot":"","sources":["../src/studio_pane.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"studio_pane.js","sourceRoot":"","sources":["../src/studio_pane.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export default function StudioPane({ api_key, projectsRefetch, identifier, providers, provider }: any): import("react/jsx-runtime").JSX.Element;