@xyne/workflow-ui 1.3.6 → 1.3.8

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 (53) hide show
  1. package/dist/components/builder/v3/LoopContainer.d.ts +3 -1
  2. package/dist/components/builder/v3/LoopContainer.d.ts.map +1 -1
  3. package/dist/components/builder/v3/LoopContainer.js +2 -2
  4. package/dist/components/builder/v3/LoopContainer.js.map +1 -1
  5. package/dist/components/builder/v3/WorkflowTree.d.ts.map +1 -1
  6. package/dist/components/builder/v3/WorkflowTree.js +7 -3
  7. package/dist/components/builder/v3/WorkflowTree.js.map +1 -1
  8. package/dist/components/execution/ExecutionJourney.d.ts +5 -2
  9. package/dist/components/execution/ExecutionJourney.d.ts.map +1 -1
  10. package/dist/components/execution/ExecutionJourney.js +85 -17
  11. package/dist/components/execution/ExecutionJourney.js.map +1 -1
  12. package/dist/components/execution/ExecutionTree.d.ts +13 -2
  13. package/dist/components/execution/ExecutionTree.d.ts.map +1 -1
  14. package/dist/components/execution/ExecutionTree.js +9 -4
  15. package/dist/components/execution/ExecutionTree.js.map +1 -1
  16. package/dist/components/execution/ExecutionViewer.d.ts.map +1 -1
  17. package/dist/components/execution/ExecutionViewer.js +31 -9
  18. package/dist/components/execution/ExecutionViewer.js.map +1 -1
  19. package/dist/components/execution/MapContainer.d.ts +29 -0
  20. package/dist/components/execution/MapContainer.d.ts.map +1 -0
  21. package/dist/components/execution/MapContainer.js +24 -0
  22. package/dist/components/execution/MapContainer.js.map +1 -0
  23. package/dist/components/execution/StepDetailPanel.d.ts +2 -1
  24. package/dist/components/execution/StepDetailPanel.d.ts.map +1 -1
  25. package/dist/components/execution/StepDetailPanel.js.map +1 -1
  26. package/dist/components/shared/AttachmentCard.d.ts.map +1 -1
  27. package/dist/components/shared/AttachmentCard.js +2 -1
  28. package/dist/components/shared/AttachmentCard.js.map +1 -1
  29. package/dist/components/shared/DocumentViewer.d.ts.map +1 -1
  30. package/dist/components/shared/DocumentViewer.js +4 -1
  31. package/dist/components/shared/DocumentViewer.js.map +1 -1
  32. package/dist/components/shared/viewers/HtmlView.d.ts +4 -0
  33. package/dist/components/shared/viewers/HtmlView.d.ts.map +1 -0
  34. package/dist/components/shared/viewers/HtmlView.js +38 -0
  35. package/dist/components/shared/viewers/HtmlView.js.map +1 -0
  36. package/dist/hooks/use-execution-viewer.d.ts +2 -35
  37. package/dist/hooks/use-execution-viewer.d.ts.map +1 -1
  38. package/dist/hooks/use-execution-viewer.js +31 -260
  39. package/dist/hooks/use-execution-viewer.js.map +1 -1
  40. package/dist/styles.css +1 -1
  41. package/dist/utils/iterations.d.ts +48 -0
  42. package/dist/utils/iterations.d.ts.map +1 -0
  43. package/dist/utils/iterations.js +79 -0
  44. package/dist/utils/iterations.js.map +1 -0
  45. package/dist/utils/map-lanes.d.ts +35 -0
  46. package/dist/utils/map-lanes.d.ts.map +1 -0
  47. package/dist/utils/map-lanes.js +48 -0
  48. package/dist/utils/map-lanes.js.map +1 -0
  49. package/dist/utils/step-state.d.ts +71 -0
  50. package/dist/utils/step-state.d.ts.map +1 -0
  51. package/dist/utils/step-state.js +267 -0
  52. package/dist/utils/step-state.js.map +1 -0
  53. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
2
- import { leafStepId } from '@xyne/workflow-sdk/common';
3
2
  import { useWorkflowClient } from './use-workflow-client.js';
3
+ import { buildStepStates, patchExecutionStep } from '../utils/step-state.js';
4
4
  function mapStatus(rawStatus) {
5
5
  switch (rawStatus) {
6
6
  case 'COMPLETED': return 'completed';
@@ -11,202 +11,6 @@ function mapStatus(rawStatus) {
11
11
  default: return 'pending';
12
12
  }
13
13
  }
14
- function mapStepStatus(rawStatus) {
15
- switch (rawStatus) {
16
- case 'COMPLETED': return 'completed';
17
- case 'FAILED': return 'failed';
18
- case 'RUNNING': return 'running';
19
- case 'PAUSED':
20
- case 'EXTERNAL_WAIT':
21
- case 'REVIEW_WAIT': return 'paused';
22
- case 'SKIPPED': return 'skipped';
23
- default: return 'pending';
24
- }
25
- }
26
- /**
27
- * Aggregation precedence when several records collapse to the same bare step id
28
- * (a LOOP body step across iterations, or same-id steps in different branches —
29
- * one config node, many records). The most attention-worthy status wins.
30
- */
31
- const STATUS_RANK = {
32
- running: 5, paused: 4, failed: 3, completed: 2, skipped: 1, pending: 0,
33
- };
34
- /** Merge two states for the same bare step id, keeping the higher-ranked status. */
35
- function aggregateStepState(a, b) {
36
- const winner = STATUS_RANK[b.status] >= STATUS_RANK[a.status] ? b : a;
37
- const loser = winner === b ? a : b;
38
- const merged = {
39
- stepName: winner.stepName,
40
- stepType: winner.stepType || loser.stepType,
41
- status: winner.status,
42
- };
43
- const input = winner.input ?? loser.input;
44
- if (input)
45
- merged.input = input;
46
- const output = winner.output ?? loser.output;
47
- if (output)
48
- merged.output = output;
49
- const error = winner.error ?? loser.error;
50
- if (error)
51
- merged.error = error;
52
- // Prefer a pauseState from whichever record is actually paused.
53
- const pauseState = winner.pauseState ?? loser.pauseState;
54
- if (pauseState)
55
- merged.pauseState = pauseState;
56
- // Keep the winner's node-path (the paused record's, since paused outranks) so
57
- // resume can target the right gate.
58
- const nodePath = winner.nodePath ?? loser.nodePath;
59
- if (nodePath)
60
- merged.nodePath = nodePath;
61
- return merged;
62
- }
63
- /**
64
- * Build step states map from execution detail's step rows, keyed by the BARE
65
- * config step id so it matches graph nodes and SSE events.
66
- *
67
- * Step records are keyed by node-path (`ctrl:branch#iter/.../stepId` for nested
68
- * steps; bare id for top-level). We reduce each to its leaf config id via
69
- * `leafStepId`. Multiple records can collapse to one id (a LOOP body across
70
- * iterations, or same-id steps in sibling branches) — those are aggregated by
71
- * status precedence (see `aggregateStepState`).
72
- *
73
- * `synthesizeNestedStates` then fills states for nested steps that have NOT yet
74
- * produced a record (e.g. children of a still-running control step), inheriting
75
- * the parent's status — a fallback for in-progress visualization only.
76
- */
77
- export function buildStepStates(detail) {
78
- const map = new Map();
79
- if (!detail.steps)
80
- return map;
81
- // Build step_N → config step ID mapping
82
- const configSteps = detail.config?.steps;
83
- const stepKeyMap = new Map();
84
- if (configSteps) {
85
- for (let i = 0; i < configSteps.length; i++) {
86
- stepKeyMap.set(`step_${i}`, configSteps[i].id);
87
- }
88
- }
89
- for (const step of detail.steps) {
90
- let stepData;
91
- if (step.data) {
92
- try {
93
- stepData = JSON.parse(step.data);
94
- }
95
- catch {
96
- // Ignore parse errors
97
- }
98
- }
99
- // Record keys are node-path qualified for nested steps and bare config ids
100
- // for top-level steps. Reduce to the bare config id so they match graph
101
- // nodes / SSE events; the legacy `step_N` map is kept as a fallback.
102
- const bareId = stepKeyMap.get(step.stepName) ?? leafStepId(step.stepName);
103
- const incoming = {
104
- stepName: bareId,
105
- stepType: step.executorType,
106
- status: mapStepStatus(step.status),
107
- };
108
- const input = stepData?.['input'];
109
- if (input)
110
- incoming.input = input;
111
- const output = stepData?.['output'];
112
- if (output)
113
- incoming.output = output;
114
- const err = stepData?.['error'];
115
- if (err)
116
- incoming.error = err;
117
- const pauseStateRaw = stepData?.['pauseState'];
118
- if (pauseStateRaw)
119
- incoming.pauseState = pauseStateRaw;
120
- // Retain the full record key so a paused gate can be resumed precisely.
121
- incoming.nodePath = step.stepName;
122
- // Many records can collapse to one bare id (loop iterations / same-id branch
123
- // steps) — aggregate by status precedence rather than last-write-wins.
124
- const existing = map.get(bareId);
125
- map.set(bareId, existing ? aggregateStepState(existing, incoming) : incoming);
126
- }
127
- // Synthesize states for nested steps (branch sub-steps, loop bodies, etc.)
128
- if (configSteps) {
129
- synthesizeNestedStates(configSteps, map);
130
- }
131
- return map;
132
- }
133
- /**
134
- * Recursively walk config steps and synthesize execution states for
135
- * nested steps that the executor doesn't emit as separate rows.
136
- *
137
- * Works at any depth: parallel → loop → parallel → … etc.
138
- * If a parent step has a known state, its children inherit accordingly.
139
- * For PARALLEL branches we also inspect the per-branch result to
140
- * distinguish fulfilled vs rejected sub-steps and attach output to
141
- * the last step in each branch.
142
- */
143
- function synthesizeNestedStates(steps, map, inheritedStatus) {
144
- for (const step of steps) {
145
- const state = map.get(step.id);
146
- const effectiveStatus = state?.status ?? inheritedStatus;
147
- const cfg = step.config;
148
- if (!cfg)
149
- continue;
150
- // ─── Multi-branch containers (PARALLEL, CONDITIONAL, etc.) ───
151
- const branches = cfg['branches'];
152
- if (branches && typeof branches === 'object' && !Array.isArray(branches)) {
153
- // Per-branch results from the parent's output (allSettled shape)
154
- const outputBranches = state?.output?.['branches'];
155
- for (const [branchName, branchSteps] of Object.entries(branches)) {
156
- if (!Array.isArray(branchSteps))
157
- continue;
158
- const typed = branchSteps;
159
- const branchResult = outputBranches?.[branchName];
160
- for (let i = 0; i < typed.length; i++) {
161
- const sub = typed[i];
162
- if (!map.has(sub.id) && effectiveStatus) {
163
- const synth = effectiveStatus === 'completed'
164
- ? (branchResult?.status === 'rejected' ? 'failed' : 'completed')
165
- : effectiveStatus === 'running' ? 'running'
166
- : effectiveStatus === 'failed' ? 'failed'
167
- : undefined;
168
- if (synth) {
169
- const subState = {
170
- stepName: sub.id,
171
- stepType: sub.type,
172
- status: synth,
173
- };
174
- // Attach branch value as the last step's output
175
- if (synth === 'completed' && i === typed.length - 1 && branchResult?.value) {
176
- subState.output = branchResult.value;
177
- }
178
- map.set(sub.id, subState);
179
- }
180
- }
181
- }
182
- // Recurse into branch steps for deeper nesting
183
- synthesizeNestedStates(typed, map, effectiveStatus);
184
- }
185
- }
186
- // ─── Single-branch containers (LOOP, etc.) ───
187
- const body = cfg['body'];
188
- if (Array.isArray(body)) {
189
- const bodySteps = body;
190
- for (const sub of bodySteps) {
191
- if (!map.has(sub.id) && effectiveStatus) {
192
- const synth = effectiveStatus === 'completed' ? 'completed'
193
- : effectiveStatus === 'running' ? 'running'
194
- : effectiveStatus === 'failed' ? 'failed'
195
- : undefined;
196
- if (synth) {
197
- map.set(sub.id, {
198
- stepName: sub.id,
199
- stepType: sub.type,
200
- status: synth,
201
- });
202
- }
203
- }
204
- }
205
- // Recurse into body steps for deeper nesting
206
- synthesizeNestedStates(bodySteps, map, effectiveStatus);
207
- }
208
- }
209
- }
210
14
  export function useExecutionViewer(opts) {
211
15
  const { executionId, pollingInterval = 3000 } = opts;
212
16
  const client = useWorkflowClient();
@@ -214,11 +18,15 @@ export function useExecutionViewer(opts) {
214
18
  const [isLoading, setIsLoading] = useState(true);
215
19
  const [error, setError] = useState(null);
216
20
  const [selectedStepName, setSelectedStepName] = useState(null);
217
- const [stepStates, setStepStates] = useState(new Map());
218
21
  const [stepEvents, setStepEvents] = useState(new Map());
219
22
  const [overrideStatus, setOverrideStatus] = useState(null);
220
23
  const [refreshKey, setRefreshKey] = useState(0);
221
24
  const sseActiveRef = useRef(false);
25
+ // `execution.steps` (node-path-keyed records) is the single source of truth —
26
+ // set by snapshot/poll, then patched incrementally by node-path-aware SSE events
27
+ // (see the handlers below). BOTH views derive from it: the graph aggregates to
28
+ // bare ids here; MAP lanes group by iteration. No separate mutable step-state.
29
+ const stepStates = useMemo(() => (execution ? buildStepStates(execution) : new Map()), [execution]);
222
30
  // Derive status from execution or override (SSE events update override)
223
31
  const status = overrideStatus ?? (execution ? mapStatus(execution.status) : 'pending');
224
32
  const isTerminal = status === 'completed' || status === 'failed' || status === 'cancelled';
@@ -240,7 +48,6 @@ export function useExecutionViewer(opts) {
240
48
  try {
241
49
  const detail = JSON.parse(e.data);
242
50
  setExecution(detail);
243
- setStepStates(buildStepStates(detail));
244
51
  setOverrideStatus(mapStatus(detail.status));
245
52
  setIsLoading(false);
246
53
  setError(null);
@@ -249,20 +56,18 @@ export function useExecutionViewer(opts) {
249
56
  // ignore parse errors
250
57
  }
251
58
  });
59
+ // Each lifecycle event patches the exact node-path record in `execution.steps`
60
+ // (upsert by `nodePath`, falling back to the bare `stepName` for top-level
61
+ // steps / older servers). `stepStates` and the MAP lanes both re-derive from
62
+ // it — one source, no separate aggregate to keep in sync, no refetch.
252
63
  es.addEventListener('step_started', (e) => {
253
64
  try {
254
65
  const data = JSON.parse(e.data);
255
- setStepStates((prev) => {
256
- const next = new Map(prev);
257
- // Find the step_N key for this stepName (id)
258
- const key = findStepKey(prev, data.stepName) ?? data.stepName;
259
- next.set(key, {
260
- ...(prev.get(key) ?? { stepName: key, stepType: data.stepType, status: 'pending' }),
261
- status: 'running',
262
- stepType: data.stepType,
263
- });
264
- return next;
265
- });
66
+ setExecution((prev) => patchExecutionStep(prev, data.nodePath ?? data.stepName, {
67
+ status: 'RUNNING',
68
+ executorType: data.stepType,
69
+ dataMerge: { type: data.stepType },
70
+ }));
266
71
  setOverrideStatus('running');
267
72
  }
268
73
  catch { /* ignore */ }
@@ -270,22 +75,17 @@ export function useExecutionViewer(opts) {
270
75
  es.addEventListener('step_completed', (e) => {
271
76
  try {
272
77
  const data = JSON.parse(e.data);
273
- setStepStates((prev) => {
274
- const next = new Map(prev);
275
- const key = findStepKey(prev, data.stepName) ?? data.stepName;
276
- next.set(key, {
277
- ...(prev.get(key) ?? { stepName: key, stepType: '', status: 'pending' }),
278
- status: 'completed',
279
- output: data.output,
280
- });
281
- return next;
282
- });
78
+ setExecution((prev) => patchExecutionStep(prev, data.nodePath ?? data.stepName, {
79
+ status: 'COMPLETED',
80
+ dataMerge: { output: data.output },
81
+ }));
283
82
  }
284
83
  catch { /* ignore */ }
285
84
  });
286
85
  es.addEventListener('step_progress', (e) => {
287
86
  try {
288
87
  const data = JSON.parse(e.data);
88
+ // Keyed by bare id — live-activity hints aren't per-iteration (yet).
289
89
  setStepEvents((prev) => {
290
90
  const next = new Map(prev);
291
91
  const list = next.get(data.stepName) ?? [];
@@ -298,34 +98,20 @@ export function useExecutionViewer(opts) {
298
98
  es.addEventListener('step_failed', (e) => {
299
99
  try {
300
100
  const data = JSON.parse(e.data);
301
- setStepStates((prev) => {
302
- const next = new Map(prev);
303
- const key = findStepKey(prev, data.stepName) ?? data.stepName;
304
- next.set(key, {
305
- ...(prev.get(key) ?? { stepName: key, stepType: '', status: 'pending' }),
306
- status: 'failed',
307
- error: data.error,
308
- });
309
- return next;
310
- });
101
+ setExecution((prev) => patchExecutionStep(prev, data.nodePath ?? data.stepName, {
102
+ status: 'FAILED',
103
+ dataMerge: { error: data.error },
104
+ }));
311
105
  }
312
106
  catch { /* ignore */ }
313
107
  });
314
108
  es.addEventListener('execution_paused', (e) => {
315
109
  try {
316
110
  const data = JSON.parse(e.data);
317
- setStepStates((prev) => {
318
- const next = new Map(prev);
319
- const key = findStepKey(prev, data.stepName) ?? data.stepName;
320
- next.set(key, {
321
- ...(prev.get(key) ?? { stepName: key, stepType: '', status: 'pending' }),
322
- status: 'paused',
323
- pauseState: data.pauseState,
324
- // Live pauses carry the gate's node-path so it can be resumed precisely.
325
- ...(data.nodePath ? { nodePath: data.nodePath } : {}),
326
- });
327
- return next;
328
- });
111
+ setExecution((prev) => patchExecutionStep(prev, data.nodePath ?? data.stepName, {
112
+ status: 'EXTERNAL_WAIT',
113
+ dataMerge: { pauseState: data.pauseState },
114
+ }));
329
115
  setOverrideStatus('paused');
330
116
  }
331
117
  catch { /* ignore */ }
@@ -371,7 +157,6 @@ export function useExecutionViewer(opts) {
371
157
  const detail = await client.executions.get(executionId);
372
158
  if (!cancelled) {
373
159
  setExecution(detail);
374
- setStepStates(buildStepStates(detail));
375
160
  setError(null);
376
161
  }
377
162
  }
@@ -406,7 +191,9 @@ export function useExecutionViewer(opts) {
406
191
  setSelectedStepName(name);
407
192
  }, []);
408
193
  const refetch = useCallback(() => {
409
- // Force a fresh fetch useful after resume/cancel
194
+ // Deliberate refresh after an explicit action (resume/cancel). Under SSE, live
195
+ // updates already arrive via incremental node-path patches, so this is mainly
196
+ // for the polling-fallback path (the bumped key re-runs the fetch effect).
410
197
  setOverrideStatus(null);
411
198
  setRefreshKey((k) => k + 1);
412
199
  }, []);
@@ -425,20 +212,4 @@ export function useExecutionViewer(opts) {
425
212
  stepEvents,
426
213
  };
427
214
  }
428
- /**
429
- * Both SSE events and `stepStates` keys are bare config ids, so the direct
430
- * `has(stepId)` hit is the normal path; the stepName scan remains a harmless
431
- * fallback for any legacy state value.
432
- */
433
- function findStepKey(states, stepId) {
434
- // If there's a direct match, use it
435
- if (states.has(stepId))
436
- return stepId;
437
- // Search by stepName field (which often stores the step_N key)
438
- for (const [key, state] of states) {
439
- if (state.stepName === stepId)
440
- return key;
441
- }
442
- return undefined;
443
- }
444
215
  //# sourceMappingURL=use-execution-viewer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-execution-viewer.js","sourceRoot":"","sources":["../../src/hooks/use-execution-viewer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-execution-viewer.js","sourceRoot":"","sources":["../../src/hooks/use-execution-viewer.ts"],"names":[],"mappings":"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"}