@workflow/web-shared 4.1.0-beta.52 → 4.1.0-beta.53

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 (145) hide show
  1. package/dist/components/error-boundary.d.ts +15 -20
  2. package/dist/components/error-boundary.d.ts.map +1 -1
  3. package/dist/components/error-boundary.js +17 -31
  4. package/dist/components/error-boundary.js.map +1 -1
  5. package/dist/components/event-list-view.d.ts +7 -6
  6. package/dist/components/event-list-view.d.ts.map +1 -1
  7. package/dist/components/event-list-view.js +492 -109
  8. package/dist/components/event-list-view.js.map +1 -1
  9. package/dist/components/index.d.ts +1 -0
  10. package/dist/components/index.d.ts.map +1 -1
  11. package/dist/components/index.js +1 -0
  12. package/dist/components/index.js.map +1 -1
  13. package/dist/components/run-trace-view.d.ts +2 -1
  14. package/dist/components/run-trace-view.d.ts.map +1 -1
  15. package/dist/components/run-trace-view.js +2 -2
  16. package/dist/components/run-trace-view.js.map +1 -1
  17. package/dist/components/sidebar/attribute-panel.d.ts +2 -1
  18. package/dist/components/sidebar/attribute-panel.d.ts.map +1 -1
  19. package/dist/components/sidebar/attribute-panel.js +53 -142
  20. package/dist/components/sidebar/attribute-panel.js.map +1 -1
  21. package/dist/components/sidebar/conversation-view.d.ts.map +1 -1
  22. package/dist/components/sidebar/conversation-view.js +3 -17
  23. package/dist/components/sidebar/conversation-view.js.map +1 -1
  24. package/dist/components/sidebar/entity-detail-panel.d.ts +3 -1
  25. package/dist/components/sidebar/entity-detail-panel.d.ts.map +1 -1
  26. package/dist/components/sidebar/entity-detail-panel.js +63 -10
  27. package/dist/components/sidebar/entity-detail-panel.js.map +1 -1
  28. package/dist/components/sidebar/events-list.d.ts.map +1 -1
  29. package/dist/components/sidebar/events-list.js +4 -8
  30. package/dist/components/sidebar/events-list.js.map +1 -1
  31. package/dist/components/sidebar/resolve-hook-modal.d.ts +3 -0
  32. package/dist/components/sidebar/resolve-hook-modal.d.ts.map +1 -1
  33. package/dist/components/sidebar/resolve-hook-modal.js +152 -3
  34. package/dist/components/sidebar/resolve-hook-modal.js.map +1 -1
  35. package/dist/components/stream-viewer.d.ts +7 -5
  36. package/dist/components/stream-viewer.d.ts.map +1 -1
  37. package/dist/components/stream-viewer.js +54 -22
  38. package/dist/components/stream-viewer.js.map +1 -1
  39. package/dist/components/trace-viewer/components/markers.d.ts +2 -1
  40. package/dist/components/trace-viewer/components/markers.d.ts.map +1 -1
  41. package/dist/components/trace-viewer/components/markers.js +59 -20
  42. package/dist/components/trace-viewer/components/markers.js.map +1 -1
  43. package/dist/components/trace-viewer/components/node.d.ts +5 -1
  44. package/dist/components/trace-viewer/components/node.d.ts.map +1 -1
  45. package/dist/components/trace-viewer/components/node.js +250 -68
  46. package/dist/components/trace-viewer/components/node.js.map +1 -1
  47. package/dist/components/trace-viewer/components/span-content.d.ts +19 -0
  48. package/dist/components/trace-viewer/components/span-content.d.ts.map +1 -0
  49. package/dist/components/trace-viewer/components/span-content.js +137 -0
  50. package/dist/components/trace-viewer/components/span-content.js.map +1 -0
  51. package/dist/components/trace-viewer/components/span-detail-panel.d.ts.map +1 -1
  52. package/dist/components/trace-viewer/components/span-detail-panel.js +3 -2
  53. package/dist/components/trace-viewer/components/span-detail-panel.js.map +1 -1
  54. package/dist/components/trace-viewer/components/span-segments.d.ts +50 -0
  55. package/dist/components/trace-viewer/components/span-segments.d.ts.map +1 -0
  56. package/dist/components/trace-viewer/components/span-segments.js +392 -0
  57. package/dist/components/trace-viewer/components/span-segments.js.map +1 -0
  58. package/dist/components/trace-viewer/components/span-strategies.d.ts +46 -0
  59. package/dist/components/trace-viewer/components/span-strategies.d.ts.map +1 -0
  60. package/dist/components/trace-viewer/components/span-strategies.js +108 -0
  61. package/dist/components/trace-viewer/components/span-strategies.js.map +1 -0
  62. package/dist/components/trace-viewer/context.d.ts +7 -6
  63. package/dist/components/trace-viewer/context.d.ts.map +1 -1
  64. package/dist/components/trace-viewer/context.js +47 -18
  65. package/dist/components/trace-viewer/context.js.map +1 -1
  66. package/dist/components/trace-viewer/trace-viewer.d.ts +5 -1
  67. package/dist/components/trace-viewer/trace-viewer.d.ts.map +1 -1
  68. package/dist/components/trace-viewer/trace-viewer.js +87 -11
  69. package/dist/components/trace-viewer/trace-viewer.js.map +1 -1
  70. package/dist/components/trace-viewer/trace-viewer.module.css +179 -6
  71. package/dist/components/trace-viewer/util/timing.d.ts +5 -0
  72. package/dist/components/trace-viewer/util/timing.d.ts.map +1 -1
  73. package/dist/components/trace-viewer/util/timing.js +12 -0
  74. package/dist/components/trace-viewer/util/timing.js.map +1 -1
  75. package/dist/components/trace-viewer/util/use-streaming-spans.d.ts +1 -1
  76. package/dist/components/trace-viewer/util/use-streaming-spans.d.ts.map +1 -1
  77. package/dist/components/trace-viewer/util/use-streaming-spans.js +29 -17
  78. package/dist/components/trace-viewer/util/use-streaming-spans.js.map +1 -1
  79. package/dist/components/trace-viewer/worker.js +3 -1
  80. package/dist/components/trace-viewer/worker.js.map +1 -1
  81. package/dist/components/ui/alert.js +3 -3
  82. package/dist/components/ui/alert.js.map +1 -1
  83. package/dist/components/ui/card.d.ts.map +1 -1
  84. package/dist/components/ui/card.js +2 -2
  85. package/dist/components/ui/card.js.map +1 -1
  86. package/dist/components/ui/data-inspector.d.ts +17 -0
  87. package/dist/components/ui/data-inspector.d.ts.map +1 -0
  88. package/dist/components/ui/data-inspector.js +184 -0
  89. package/dist/components/ui/data-inspector.js.map +1 -0
  90. package/dist/components/ui/error-card.d.ts.map +1 -1
  91. package/dist/components/ui/error-card.js +4 -1
  92. package/dist/components/ui/error-card.js.map +1 -1
  93. package/dist/components/ui/inspector-theme.d.ts +39 -24
  94. package/dist/components/ui/inspector-theme.d.ts.map +1 -1
  95. package/dist/components/ui/inspector-theme.js +90 -38
  96. package/dist/components/ui/inspector-theme.js.map +1 -1
  97. package/dist/components/ui/skeleton.d.ts +1 -1
  98. package/dist/components/ui/skeleton.d.ts.map +1 -1
  99. package/dist/components/ui/skeleton.js +2 -2
  100. package/dist/components/ui/skeleton.js.map +1 -1
  101. package/dist/components/workflow-trace-view.d.ts +3 -1
  102. package/dist/components/workflow-trace-view.d.ts.map +1 -1
  103. package/dist/components/workflow-trace-view.js +435 -21
  104. package/dist/components/workflow-trace-view.js.map +1 -1
  105. package/dist/components/workflow-traces/trace-span-construction.d.ts +1 -1
  106. package/dist/components/workflow-traces/trace-span-construction.d.ts.map +1 -1
  107. package/dist/components/workflow-traces/trace-span-construction.js +2 -2
  108. package/dist/components/workflow-traces/trace-span-construction.js.map +1 -1
  109. package/dist/lib/hydration.d.ts.map +1 -1
  110. package/dist/lib/hydration.js +17 -3
  111. package/dist/lib/hydration.js.map +1 -1
  112. package/dist/styles.css +186 -0
  113. package/package.json +8 -7
  114. package/src/components/error-boundary.tsx +29 -40
  115. package/src/components/event-list-view.tsx +1000 -287
  116. package/src/components/index.ts +1 -0
  117. package/src/components/run-trace-view.tsx +3 -0
  118. package/src/components/sidebar/attribute-panel.tsx +58 -258
  119. package/src/components/sidebar/conversation-view.tsx +30 -27
  120. package/src/components/sidebar/entity-detail-panel.tsx +86 -20
  121. package/src/components/sidebar/events-list.tsx +4 -11
  122. package/src/components/sidebar/resolve-hook-modal.tsx +206 -47
  123. package/src/components/stream-viewer.tsx +138 -61
  124. package/src/components/trace-viewer/components/markers.tsx +69 -21
  125. package/src/components/trace-viewer/components/node.tsx +346 -100
  126. package/src/components/trace-viewer/components/span-content.tsx +247 -0
  127. package/src/components/trace-viewer/components/span-detail-panel.tsx +7 -2
  128. package/src/components/trace-viewer/components/span-segments.ts +516 -0
  129. package/src/components/trace-viewer/components/span-strategies.ts +205 -0
  130. package/src/components/trace-viewer/context.tsx +92 -40
  131. package/src/components/trace-viewer/trace-viewer.module.css +179 -6
  132. package/src/components/trace-viewer/trace-viewer.tsx +115 -11
  133. package/src/components/trace-viewer/util/timing.ts +13 -0
  134. package/src/components/trace-viewer/util/use-streaming-spans.ts +28 -17
  135. package/src/components/trace-viewer/worker.ts +4 -1
  136. package/src/components/ui/alert.tsx +3 -3
  137. package/src/components/ui/card.tsx +3 -5
  138. package/src/components/ui/data-inspector.tsx +318 -0
  139. package/src/components/ui/error-card.tsx +17 -6
  140. package/src/components/ui/inspector-theme.ts +127 -39
  141. package/src/components/ui/skeleton.tsx +3 -1
  142. package/src/components/workflow-trace-view.tsx +625 -26
  143. package/src/components/workflow-traces/trace-span-construction.ts +3 -2
  144. package/src/lib/hydration.ts +17 -8
  145. package/src/styles.css +186 -0
@@ -1,18 +1,394 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { X } from 'lucide-react';
3
+ import { parseStepName, parseWorkflowName } from '@workflow/utils/parse-name';
4
+ import { Clock, Copy, Info, Send, Type, X, XCircle } from 'lucide-react';
4
5
  import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
6
+ import { createPortal } from 'react-dom';
5
7
  import { toast } from 'sonner';
6
8
  import { ErrorBoundary } from './error-boundary';
7
9
  import { EntityDetailPanel, } from './sidebar/entity-detail-panel';
10
+ import { ResolveHookModal } from './sidebar/resolve-hook-modal';
8
11
  import { TraceViewerContextProvider, TraceViewerTimeline, useTraceViewer, } from './trace-viewer';
9
12
  import { Skeleton } from './ui/skeleton';
10
13
  import { getCustomSpanClassName, getCustomSpanEventClassName, } from './workflow-traces/trace-colors';
11
14
  import { hookToSpan, runToSpan, stepToSpan, WORKFLOW_LIBRARY, waitToSpan, } from './workflow-traces/trace-span-construction';
12
15
  import { otelTimeToMs } from './workflow-traces/trace-time-utils';
13
- const RE_RENDER_INTERVAL_MS = 2000;
16
+ /**
17
+ * While a run is live, continuously grow root.duration and rescale so the
18
+ * trace always fits within the viewport. Individual span widths are grown
19
+ * by each SpanComponent's own useEffect (see node.tsx).
20
+ */
21
+ function useLiveTick(isLive) {
22
+ const { state, dispatch } = useTraceViewer();
23
+ const stateRef = useRef(state);
24
+ stateRef.current = state;
25
+ useEffect(() => {
26
+ if (!isLive)
27
+ return;
28
+ // Grow root.duration on every frame so span rAFs see the latest time
29
+ let rafId = 0;
30
+ const tick = () => {
31
+ const { root } = stateRef.current;
32
+ if (root.startTime) {
33
+ const nowMs = Date.now();
34
+ if (nowMs > root.endTime) {
35
+ root.endTime = nowMs;
36
+ root.duration = root.endTime - root.startTime;
37
+ }
38
+ }
39
+ rafId = requestAnimationFrame(tick);
40
+ };
41
+ rafId = requestAnimationFrame(tick);
42
+ // Re-scale smoothly so the trace fits the viewport as it grows.
43
+ // We dispatch detectBaseScale only when the computed baseScale has
44
+ // changed enough to matter visually (>0.1% shift), avoiding
45
+ // unnecessary React re-renders while keeping things smooth.
46
+ let scaleRafId = 0;
47
+ let lastBaseScale = 0;
48
+ const scaleTick = () => {
49
+ const s = stateRef.current;
50
+ if (s.root.duration > 0) {
51
+ const newBaseScale = (s.width - s.scrollbarWidth) / s.root.duration;
52
+ const delta = Math.abs(newBaseScale - lastBaseScale);
53
+ if (delta > lastBaseScale * 0.001 || lastBaseScale === 0) {
54
+ lastBaseScale = newBaseScale;
55
+ dispatch({ type: 'detectBaseScale' });
56
+ }
57
+ }
58
+ scaleRafId = requestAnimationFrame(scaleTick);
59
+ };
60
+ scaleRafId = requestAnimationFrame(scaleTick);
61
+ return () => {
62
+ cancelAnimationFrame(rafId);
63
+ cancelAnimationFrame(scaleRafId);
64
+ };
65
+ }, [isLive, dispatch]);
66
+ }
14
67
  const DEFAULT_PANEL_WIDTH = 380;
15
68
  const MIN_PANEL_WIDTH = 240;
69
+ function SpanContextMenu({ menu, items, onClose, }) {
70
+ const menuRef = useRef(null);
71
+ // Close on outside click
72
+ useEffect(() => {
73
+ const handleClick = (e) => {
74
+ if (menuRef.current && !menuRef.current.contains(e.target)) {
75
+ onClose();
76
+ }
77
+ };
78
+ const handleKeyDown = (e) => {
79
+ if (e.key === 'Escape') {
80
+ onClose();
81
+ }
82
+ };
83
+ const handleScroll = () => {
84
+ onClose();
85
+ };
86
+ // Use a timeout so we don't close immediately from the same event
87
+ const timeout = setTimeout(() => {
88
+ window.addEventListener('mousedown', handleClick);
89
+ window.addEventListener('keydown', handleKeyDown);
90
+ window.addEventListener('scroll', handleScroll, true);
91
+ }, 0);
92
+ return () => {
93
+ clearTimeout(timeout);
94
+ window.removeEventListener('mousedown', handleClick);
95
+ window.removeEventListener('keydown', handleKeyDown);
96
+ window.removeEventListener('scroll', handleScroll, true);
97
+ };
98
+ }, [onClose]);
99
+ // Adjust position if menu would overflow viewport
100
+ const [adjustedPos, setAdjustedPos] = useState({ x: menu.x, y: menu.y });
101
+ useEffect(() => {
102
+ const el = menuRef.current;
103
+ if (!el)
104
+ return;
105
+ const rect = el.getBoundingClientRect();
106
+ let { x, y } = menu;
107
+ if (rect.right > window.innerWidth) {
108
+ x = window.innerWidth - rect.width - 8;
109
+ }
110
+ if (rect.bottom > window.innerHeight) {
111
+ y = window.innerHeight - rect.height - 8;
112
+ }
113
+ if (x !== menu.x || y !== menu.y) {
114
+ setAdjustedPos({ x, y });
115
+ }
116
+ }, [menu]);
117
+ if (items.length === 0)
118
+ return null;
119
+ return createPortal(_jsxs("div", { ref: menuRef, style: {
120
+ position: 'fixed',
121
+ left: adjustedPos.x,
122
+ top: adjustedPos.y,
123
+ zIndex: 99999,
124
+ boxShadow: 'var(--ds-shadow-menu)',
125
+ borderRadius: 12,
126
+ background: 'var(--ds-background-100)',
127
+ padding: 'var(--geist-space-gap-quarter, 4px)',
128
+ fontSize: 14,
129
+ minWidth: 180,
130
+ overflowX: 'hidden',
131
+ overflowY: 'auto',
132
+ }, children: [_jsx("div", { style: {
133
+ display: 'block',
134
+ color: 'var(--ds-gray-900)',
135
+ fontSize: '0.75rem',
136
+ padding: 'var(--geist-gap-quarter, 4px) var(--geist-space-2x, 8px)',
137
+ fontWeight: 500,
138
+ overflow: 'hidden',
139
+ textOverflow: 'ellipsis',
140
+ whiteSpace: 'nowrap',
141
+ maxWidth: 240,
142
+ borderBottom: '1px solid var(--ds-gray-alpha-400)',
143
+ marginBottom: 4,
144
+ }, children: menu.spanName }), items.map((item) => (_jsxs("button", { type: "button", style: {
145
+ outline: 'none',
146
+ cursor: item.disabled ? 'not-allowed' : 'pointer',
147
+ display: 'flex',
148
+ alignItems: 'center',
149
+ gap: 8,
150
+ padding: '0 var(--geist-space-2x, 8px)',
151
+ height: 40,
152
+ textDecoration: 'none',
153
+ borderRadius: 6,
154
+ color: item.destructive
155
+ ? 'var(--ds-red-900)'
156
+ : 'var(--ds-gray-1000)',
157
+ width: '100%',
158
+ background: 'transparent',
159
+ border: 'none',
160
+ fontSize: 14,
161
+ textAlign: 'left',
162
+ opacity: item.disabled ? 0.4 : 1,
163
+ transition: 'background 0.15s',
164
+ }, disabled: item.disabled, onMouseEnter: (e) => {
165
+ e.currentTarget.style.background =
166
+ 'var(--ds-gray-alpha-100)';
167
+ }, onMouseLeave: (e) => {
168
+ e.currentTarget.style.background =
169
+ 'transparent';
170
+ }, onClick: () => {
171
+ item.action();
172
+ onClose();
173
+ }, children: [item.icon ?? null, item.label] }, item.label)))] }), document.body);
174
+ }
175
+ /** Inner wrapper that has access to the TraceViewer context */
176
+ function TraceViewerWithContextMenu({ trace, run, hooks, isLive, onWakeUpSleep, onCancelRun, onResolveHook, children, }) {
177
+ const { dispatch } = useTraceViewer();
178
+ // Drive active span widths at 60fps without React re-renders
179
+ useLiveTick(isLive);
180
+ const [contextMenu, setContextMenu] = useState(null);
181
+ const [resolveHookTarget, setResolveHookTarget] = useState(null);
182
+ const [resolvingHook, setResolvingHook] = useState(false);
183
+ // Track hooks resolved in this session so the context menu item hides immediately
184
+ const [resolvedHookIds, setResolvedHookIds] = useState(new Set());
185
+ // Build a lookup map: spanId -> span
186
+ const spanLookup = useMemo(() => {
187
+ const map = new Map();
188
+ for (const span of trace.spans) {
189
+ map.set(span.spanId, span);
190
+ }
191
+ return map;
192
+ }, [trace.spans]);
193
+ // Build a lookup map: hookId -> Hook
194
+ const hookLookup = useMemo(() => {
195
+ const map = new Map();
196
+ for (const hook of hooks) {
197
+ map.set(hook.hookId, hook);
198
+ }
199
+ return map;
200
+ }, [hooks]);
201
+ const handleResolveHook = useCallback(async (payload) => {
202
+ if (resolvingHook || !resolveHookTarget || !onResolveHook)
203
+ return;
204
+ if (!resolveHookTarget.token) {
205
+ toast.error('Unable to resolve hook', {
206
+ description: 'Missing hook token. Try refreshing the run data and retry.',
207
+ });
208
+ return;
209
+ }
210
+ try {
211
+ setResolvingHook(true);
212
+ await onResolveHook(resolveHookTarget.token, payload, resolveHookTarget);
213
+ toast.success('Hook resolved', {
214
+ description: 'The payload has been sent and the hook resolved.',
215
+ });
216
+ // Mark this hook as resolved locally so the menu item hides immediately
217
+ setResolvedHookIds((prev) => new Set(prev).add(resolveHookTarget.hookId));
218
+ setResolveHookTarget(null);
219
+ }
220
+ catch (err) {
221
+ console.error('Failed to resolve hook:', err);
222
+ toast.error('Failed to resolve hook', {
223
+ description: err instanceof Error ? err.message : 'An unknown error occurred',
224
+ });
225
+ }
226
+ finally {
227
+ setResolvingHook(false);
228
+ }
229
+ }, [onResolveHook, resolveHookTarget, resolvingHook]);
230
+ const handleContextMenu = useCallback((e) => {
231
+ const target = e.target;
232
+ const $button = target.closest('[data-span-id]');
233
+ if (!$button)
234
+ return;
235
+ const spanId = $button.dataset.spanId;
236
+ if (!spanId)
237
+ return;
238
+ e.preventDefault();
239
+ e.stopPropagation();
240
+ const span = spanLookup.get(spanId);
241
+ if (!span)
242
+ return;
243
+ const resourceType = span.attributes.resource ?? 'unknown';
244
+ const spanData = span.attributes.data;
245
+ const isActive = !spanData?.completedAt && !spanData?.disposedAt;
246
+ setContextMenu({
247
+ x: e.clientX,
248
+ y: e.clientY,
249
+ spanId,
250
+ spanName: span.name,
251
+ resourceType,
252
+ isActive,
253
+ });
254
+ }, [spanLookup]);
255
+ const containerRef = useRef(null);
256
+ useEffect(() => {
257
+ const $container = containerRef.current;
258
+ if (!$container)
259
+ return;
260
+ const onContextMenu = (event) => {
261
+ handleContextMenu(event);
262
+ };
263
+ $container.addEventListener('contextmenu', onContextMenu);
264
+ return () => {
265
+ $container.removeEventListener('contextmenu', onContextMenu);
266
+ };
267
+ }, [handleContextMenu]);
268
+ const closeMenu = useCallback(() => {
269
+ setContextMenu(null);
270
+ }, []);
271
+ const getMenuItems = useCallback((menu) => {
272
+ const items = [];
273
+ // Sleep-specific: Wake Up (only on active runs)
274
+ const isRunActive = !run.completedAt;
275
+ if (menu.resourceType === 'sleep' &&
276
+ menu.isActive &&
277
+ isRunActive &&
278
+ onWakeUpSleep) {
279
+ items.push({
280
+ label: 'Wake Up Sleep',
281
+ icon: _jsx(Clock, { className: "h-3.5 w-3.5" }),
282
+ action: () => {
283
+ onWakeUpSleep(run.runId, menu.spanId)
284
+ .then((result) => {
285
+ if (result.stoppedCount > 0) {
286
+ toast.success('Sleep woken up', {
287
+ description: `Woke up ${String(result.stoppedCount)} sleep${result.stoppedCount > 1 ? 's' : ''}`,
288
+ });
289
+ }
290
+ else {
291
+ toast.info('No active sleeps found', {
292
+ description: 'The sleep may have already completed.',
293
+ });
294
+ }
295
+ })
296
+ .catch((err) => {
297
+ toast.error('Failed to wake up sleep', {
298
+ description: err instanceof Error
299
+ ? err.message
300
+ : 'An unknown error occurred',
301
+ });
302
+ });
303
+ },
304
+ });
305
+ }
306
+ // Hook-specific: Resolve Hook (only on active, unresolved hooks)
307
+ if (menu.resourceType === 'hook' && isRunActive && onResolveHook) {
308
+ const hook = hookLookup.get(menu.spanId);
309
+ const span = spanLookup.get(menu.spanId);
310
+ // Check data-level disposedAt, span events, AND local resolved state
311
+ const hookData = span?.attributes?.data;
312
+ const isDisposed = Boolean(hookData?.disposedAt) ||
313
+ Boolean(span?.events?.some((e) => e.name === 'hook_disposed')) ||
314
+ resolvedHookIds.has(menu.spanId);
315
+ if (hook?.token && !isDisposed) {
316
+ items.push({
317
+ label: 'Resolve Hook',
318
+ icon: _jsx(Send, { className: "h-3.5 w-3.5" }),
319
+ action: () => {
320
+ setResolveHookTarget(hook);
321
+ },
322
+ });
323
+ }
324
+ }
325
+ // Run-specific: Cancel (only on active runs)
326
+ if (menu.resourceType === 'run' && isRunActive && onCancelRun) {
327
+ items.push({
328
+ label: 'Cancel Run',
329
+ icon: _jsx(XCircle, { className: "h-3.5 w-3.5" }),
330
+ destructive: true,
331
+ action: () => {
332
+ onCancelRun(run.runId).catch((err) => {
333
+ toast.error('Failed to cancel run', {
334
+ description: err instanceof Error
335
+ ? err.message
336
+ : 'An unknown error occurred',
337
+ });
338
+ });
339
+ },
340
+ });
341
+ }
342
+ // Common actions
343
+ items.push({
344
+ label: 'View Details',
345
+ icon: _jsx(Info, { className: "h-3.5 w-3.5" }),
346
+ action: () => {
347
+ dispatch({ type: 'select', id: menu.spanId });
348
+ },
349
+ });
350
+ items.push({
351
+ label: 'Copy Name',
352
+ icon: _jsx(Type, { className: "h-3.5 w-3.5" }),
353
+ action: () => {
354
+ navigator.clipboard
355
+ .writeText(menu.spanName)
356
+ .then(() => {
357
+ toast.success('Name copied to clipboard');
358
+ })
359
+ .catch(() => {
360
+ toast.error('Failed to copy name');
361
+ });
362
+ },
363
+ });
364
+ items.push({
365
+ label: 'Copy ID',
366
+ icon: _jsx(Copy, { className: "h-3.5 w-3.5" }),
367
+ action: () => {
368
+ navigator.clipboard
369
+ .writeText(menu.spanId)
370
+ .then(() => {
371
+ toast.success('ID copied to clipboard');
372
+ })
373
+ .catch(() => {
374
+ toast.error('Failed to copy ID');
375
+ });
376
+ },
377
+ });
378
+ return items;
379
+ }, [
380
+ dispatch,
381
+ onWakeUpSleep,
382
+ onCancelRun,
383
+ onResolveHook,
384
+ hookLookup,
385
+ spanLookup,
386
+ resolvedHookIds,
387
+ run.runId,
388
+ run.completedAt,
389
+ ]);
390
+ return (_jsxs("div", { className: "relative w-full h-full", ref: containerRef, children: [children, contextMenu ? (_jsx(SpanContextMenu, { menu: contextMenu, items: getMenuItems(contextMenu), onClose: closeMenu })) : null, _jsx(ResolveHookModal, { isOpen: resolveHookTarget !== null, onClose: () => setResolveHookTarget(null), onSubmit: handleResolveHook, isSubmitting: resolvingHook })] }));
391
+ }
16
392
  const isTimerEvent = (eventType) => eventType === 'wait_created' || eventType === 'wait_completed';
17
393
  const isHookLifecycleEvent = (eventType) => eventType === 'hook_received' ||
18
394
  eventType === 'hook_created' ||
@@ -66,9 +442,10 @@ const groupEventsByCorrelation = (events, steps, hooks) => {
66
442
  };
67
443
  };
68
444
  const buildSpans = (run, steps, groupedEvents, now) => {
445
+ const viewerEndTime = new Date(run.completedAt || now);
69
446
  const stepSpans = steps.map((step) => {
70
447
  const stepEvents = groupedEvents.eventsByStepId.get(step.stepId) || [];
71
- return stepToSpan(step, stepEvents, now);
448
+ return stepToSpan(step, stepEvents, now, viewerEndTime);
72
449
  });
73
450
  const hookSpans = Array.from(groupedEvents.hookEvents.values())
74
451
  .map((events) => hookToSpan(events, run, now))
@@ -179,26 +556,20 @@ function PanelResizeHandle({ onResize, }) {
179
556
  // ---------------------------------------------------------------------------
180
557
  // Main component
181
558
  // ---------------------------------------------------------------------------
182
- export const WorkflowTraceViewer = ({ run, steps, hooks, events, isLoading, error, spanDetailData, spanDetailLoading, spanDetailError, onWakeUpSleep, onResolveHook, onStreamClick, onSpanSelect, onLoadEventData, }) => {
183
- const [now, setNow] = useState(() => new Date());
559
+ export const WorkflowTraceViewer = ({ run, steps, hooks, events, isLoading, error, spanDetailData, spanDetailLoading, spanDetailError, onWakeUpSleep, onResolveHook, onCancelRun, onStreamClick, onSpanSelect, onLoadEventData, }) => {
184
560
  const [selectedSpan, setSelectedSpan] = useState(null);
185
561
  const [panelWidth, setPanelWidth] = useState(DEFAULT_PANEL_WIDTH);
186
562
  const [deselectTrigger, setDeselectTrigger] = useState(0);
187
- useEffect(() => {
188
- if (!run?.completedAt) {
189
- const interval = setInterval(() => {
190
- setNow(new Date());
191
- }, RE_RENDER_INTERVAL_MS);
192
- return () => clearInterval(interval);
193
- }
194
- return undefined;
195
- }, [run?.completedAt]);
563
+ const isLive = Boolean(run && !run.completedAt);
564
+ // Build trace only when actual data changes — no timer-driven rebuilds.
565
+ // Active span widths are animated imperatively by useLiveTick at 60fps.
196
566
  const trace = useMemo(() => {
197
567
  if (!run) {
198
568
  return undefined;
199
569
  }
200
- return buildTrace(run, steps, hooks, events, now);
201
- }, [run, steps, hooks, events, now]);
570
+ return buildTrace(run, steps, hooks, events, new Date());
571
+ // eslint-disable-next-line react-hooks/exhaustive-deps -- `new Date()` is intentionally not a dep; useLiveTick handles live growth
572
+ }, [run, steps, hooks, events]);
202
573
  useEffect(() => {
203
574
  if (error && !isLoading) {
204
575
  console.error(error);
@@ -224,6 +595,28 @@ export const WorkflowTraceViewer = ({ run, steps, hooks, events, isLoading, erro
224
595
  setSelectedSpan(null);
225
596
  }
226
597
  }, [events]);
598
+ // Keep selected span raw events live as polling updates arrive.
599
+ useEffect(() => {
600
+ const correlationId = selectedSpan?.spanId;
601
+ if (!correlationId)
602
+ return;
603
+ const nextRawEvents = events.filter((e) => e.correlationId === correlationId);
604
+ setSelectedSpan((prev) => {
605
+ if (!prev || prev.spanId !== correlationId) {
606
+ return prev;
607
+ }
608
+ const prevRawEvents = prev.rawEvents ?? [];
609
+ const isSame = prevRawEvents.length === nextRawEvents.length &&
610
+ prevRawEvents.every((event, index) => event.eventId === nextRawEvents[index]?.eventId);
611
+ if (isSame) {
612
+ return prev;
613
+ }
614
+ return {
615
+ ...prev,
616
+ rawEvents: nextRawEvents,
617
+ };
618
+ });
619
+ }, [events, selectedSpan?.spanId]);
227
620
  const handleClose = useCallback(() => {
228
621
  setSelectedSpan(null);
229
622
  setDeselectTrigger((n) => n + 1);
@@ -231,23 +624,44 @@ export const WorkflowTraceViewer = ({ run, steps, hooks, events, isLoading, erro
231
624
  const handleResize = useCallback((deltaX) => {
232
625
  setPanelWidth((w) => Math.max(MIN_PANEL_WIDTH, w + deltaX));
233
626
  }, []);
234
- // Get the selected span name and duration for the panel header
627
+ // Get the selected span name for the panel header
235
628
  const selectedSpanName = useMemo(() => {
236
629
  if (!selectedSpan?.data)
237
630
  return undefined;
238
631
  const data = selectedSpan.data;
239
- return (data.stepName ??
240
- data.workflowName ??
632
+ const stepName = data.stepName;
633
+ const workflowName = data.workflowName;
634
+ return ((stepName ? parseStepName(stepName)?.shortName : undefined) ??
635
+ (workflowName ? parseWorkflowName(workflowName)?.shortName : undefined) ??
636
+ stepName ??
637
+ workflowName ??
241
638
  data.hookId ??
242
639
  'Details');
243
640
  }, [selectedSpan?.data]);
244
641
  if (isLoading || !trace) {
245
642
  return (_jsxs("div", { className: "relative w-full h-full", children: [_jsx("div", { className: "border-b border-gray-alpha-400 w-full" }), _jsx(Skeleton, { className: "w-full ml-2 mt-1 mb-1 h-[56px]" }), _jsxs("div", { className: "p-2 relative w-full", children: [_jsx(Skeleton, { className: "w-full mt-6 h-[20px]" }), _jsx(Skeleton, { className: "w-[10%] mt-2 ml-6 h-[20px]" }), _jsx(Skeleton, { className: "w-[10%] mt-2 ml-12 h-[20px]" }), _jsx(Skeleton, { className: "w-[20%] mt-2 ml-16 h-[20px]" })] })] }));
246
643
  }
247
- return (_jsxs("div", { className: "relative w-full h-full flex", children: [_jsx("div", { className: "flex-1 min-w-0 relative", children: _jsxs(TraceViewerContextProvider, { customSpanClassNameFunc: getCustomSpanClassName, customSpanEventClassNameFunc: getCustomSpanEventClassName, children: [_jsx(SelectionBridge, { onSelectionChange: handleSelectionChange }), _jsx(DeselectBridge, { triggerDeselect: deselectTrigger }), _jsx(TraceViewerTimeline, { height: "100%", trace: trace })] }) }), selectedSpan && (_jsxs("div", { className: "relative border-l flex-shrink-0 flex flex-col", style: {
644
+ return (_jsxs("div", { className: "relative w-full h-full flex", children: [_jsx("div", { className: "flex-1 min-w-0 relative", children: _jsxs(TraceViewerContextProvider, { customSpanClassNameFunc: getCustomSpanClassName, customSpanEventClassNameFunc: getCustomSpanEventClassName, children: [_jsx(SelectionBridge, { onSelectionChange: handleSelectionChange }), _jsx(DeselectBridge, { triggerDeselect: deselectTrigger }), _jsx(TraceViewerWithContextMenu, { trace: trace, run: run, hooks: hooks, isLive: isLive, onWakeUpSleep: onWakeUpSleep, onCancelRun: onCancelRun, onResolveHook: onResolveHook, children: _jsx(TraceViewerTimeline, { eagerRender: true, height: "100%", isLive: isLive, trace: trace }) })] }) }), selectedSpan && (_jsxs("div", { className: "relative border-l flex-shrink-0 flex flex-col", style: {
248
645
  width: panelWidth,
249
646
  borderColor: 'var(--ds-gray-200)',
250
647
  backgroundColor: 'var(--ds-background-100)',
251
- }, children: [_jsx(PanelResizeHandle, { onResize: handleResize }), _jsxs("div", { className: "flex items-center justify-between px-3 py-2 border-b flex-shrink-0", style: { borderColor: 'var(--ds-gray-200)' }, children: [_jsx("span", { className: "text-sm font-medium truncate", style: { color: 'var(--ds-gray-1000)' }, children: selectedSpanName }), _jsx("button", { type: "button", "aria-label": "Close panel", onClick: handleClose, className: "ml-2 p-1 rounded hover:bg-gray-100 dark:hover:bg-gray-800 flex-shrink-0", children: _jsx(X, { size: 16 }) })] }), _jsx("div", { className: "flex-1 overflow-y-auto", children: _jsx(ErrorBoundary, { title: "Failed to load entity details", children: _jsx(EntityDetailPanel, { run: run, onStreamClick: onStreamClick, spanDetailData: spanDetailData ?? null, spanDetailError: spanDetailError, spanDetailLoading: spanDetailLoading, onSpanSelect: handleSpanSelect, onWakeUpSleep: onWakeUpSleep, onLoadEventData: onLoadEventData, onResolveHook: onResolveHook, selectedSpan: selectedSpan }) }) })] }))] }));
648
+ }, children: [_jsx(PanelResizeHandle, { onResize: handleResize }), _jsxs("div", { className: "flex items-center justify-between px-3 py-2 border-b flex-shrink-0", style: { borderColor: 'var(--ds-gray-200)' }, children: [_jsx("div", { className: "min-w-0 flex-1", children: _jsx("div", { className: "text-sm font-medium truncate", style: { color: 'var(--ds-gray-1000)' }, title: selectedSpanName, children: selectedSpanName }) }), _jsx("button", { type: "button", "aria-label": "Close panel", onClick: handleClose, style: {
649
+ display: 'flex',
650
+ alignItems: 'center',
651
+ justifyContent: 'center',
652
+ marginLeft: 8,
653
+ padding: 4,
654
+ borderRadius: 6,
655
+ border: 'none',
656
+ background: 'transparent',
657
+ color: 'var(--ds-gray-900)',
658
+ cursor: 'pointer',
659
+ flexShrink: 0,
660
+ transition: 'background 0.15s',
661
+ }, onMouseEnter: (e) => {
662
+ e.currentTarget.style.background = 'var(--ds-gray-alpha-200)';
663
+ }, onMouseLeave: (e) => {
664
+ e.currentTarget.style.background = 'transparent';
665
+ }, children: _jsx(X, { size: 16 }) })] }), _jsx("div", { className: "flex-1 overflow-y-auto", children: _jsx(ErrorBoundary, { title: "Failed to load entity details", children: _jsx(EntityDetailPanel, { run: run, hooks: hooks, onStreamClick: onStreamClick, spanDetailData: spanDetailData ?? null, spanDetailError: spanDetailError, spanDetailLoading: spanDetailLoading, onSpanSelect: handleSpanSelect, onWakeUpSleep: onWakeUpSleep, onLoadEventData: onLoadEventData, onResolveHook: onResolveHook, selectedSpan: selectedSpan }) }) })] }))] }));
252
666
  };
253
667
  //# sourceMappingURL=workflow-trace-view.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-trace-view.js","sourceRoot":"","sources":["../../src/components/workflow-trace-view.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow-trace-view.js","sourceRoot":"","sources":["../../src/components/workflow-trace-view.tsx"],"names":[],"mappings":"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"}
@@ -26,7 +26,7 @@ export declare function waitToSpan(events: Event[], run: WorkflowRun, nowTime: D
26
26
  /**
27
27
  * Converts a workflow Step to an OpenTelemetry Span
28
28
  */
29
- export declare function stepToSpan(step: Step, stepEvents: Event[], nowTime?: Date): Span;
29
+ export declare function stepToSpan(step: Step, stepEvents: Event[], nowTime?: Date, maxEndTime?: Date): Span;
30
30
  export declare const hookEventsToHookEntity: (events: Event[]) => {
31
31
  hookId: string;
32
32
  runId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"trace-span-construction.d.ts","sourceRoot":"","sources":["../../../src/components/workflow-traces/trace-span-construction.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAI7D,eAAO,MAAM,gBAAgB;;;CAG5B,CAAC;AAiBF;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,KAAK,EAAE,EACf,WAAW,UAAO,GACjB,SAAS,EAAE,CAgBb;AAED,eAAO,MAAM,sBAAsB,GACjC,QAAQ,KAAK,EAAE,KACd;IACD,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,IAAI,CAAC;IAChB,QAAQ,EAAE,IAAI,CAAC;IACf,WAAW,CAAC,EAAE,IAAI,CAAC;CACpB,GAAG,IAeH,CAAC;AAEF;;GAEG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,KAAK,EAAE,EACf,GAAG,EAAE,WAAW,EAChB,OAAO,EAAE,IAAI,GACZ,IAAI,GAAG,IAAI,CA8Bb;AAED;;GAEG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,KAAK,EAAE,EACnB,OAAO,CAAC,EAAE,IAAI,GACb,IAAI,CAuDN;AAED,eAAO,MAAM,sBAAsB,GACjC,QAAQ,KAAK,EAAE,KACd;IACD,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,IAAI,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,IAAI,CAAC;IACtB,UAAU,CAAC,EAAE,IAAI,CAAC;CACnB,GAAG,IAsBH,CAAC;AAEF;;GAEG;AACH,wBAAgB,UAAU,CACxB,UAAU,EAAE,KAAK,EAAE,EACnB,GAAG,EAAE,WAAW,EAChB,OAAO,EAAE,IAAI,GACZ,IAAI,GAAG,IAAI,CAgCb;AAED;;GAEG;AACH,wBAAgB,SAAS,CACvB,GAAG,EAAE,WAAW,EAChB,SAAS,EAAE,KAAK,EAAE,EAClB,OAAO,CAAC,EAAE,IAAI,GACb,IAAI,CAuCN"}
1
+ {"version":3,"file":"trace-span-construction.d.ts","sourceRoot":"","sources":["../../../src/components/workflow-traces/trace-span-construction.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAI7D,eAAO,MAAM,gBAAgB;;;CAG5B,CAAC;AAiBF;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,KAAK,EAAE,EACf,WAAW,UAAO,GACjB,SAAS,EAAE,CAgBb;AAED,eAAO,MAAM,sBAAsB,GACjC,QAAQ,KAAK,EAAE,KACd;IACD,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,IAAI,CAAC;IAChB,QAAQ,EAAE,IAAI,CAAC;IACf,WAAW,CAAC,EAAE,IAAI,CAAC;CACpB,GAAG,IAeH,CAAC;AAEF;;GAEG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,KAAK,EAAE,EACf,GAAG,EAAE,WAAW,EAChB,OAAO,EAAE,IAAI,GACZ,IAAI,GAAG,IAAI,CA8Bb;AAED;;GAEG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,KAAK,EAAE,EACnB,OAAO,CAAC,EAAE,IAAI,EACd,UAAU,CAAC,EAAE,IAAI,GAChB,IAAI,CAuDN;AAED,eAAO,MAAM,sBAAsB,GACjC,QAAQ,KAAK,EAAE,KACd;IACD,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,IAAI,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,IAAI,CAAC;IACtB,UAAU,CAAC,EAAE,IAAI,CAAC;CACnB,GAAG,IAsBH,CAAC;AAEF;;GAEG;AACH,wBAAgB,UAAU,CACxB,UAAU,EAAE,KAAK,EAAE,EACnB,GAAG,EAAE,WAAW,EAChB,OAAO,EAAE,IAAI,GACZ,IAAI,GAAG,IAAI,CAgCb;AAED;;GAEG;AACH,wBAAgB,SAAS,CACvB,GAAG,EAAE,WAAW,EAChB,SAAS,EAAE,KAAK,EAAE,EAClB,OAAO,CAAC,EAAE,IAAI,GACb,IAAI,CAuCN"}
@@ -92,7 +92,7 @@ export function waitToSpan(events, run, nowTime) {
92
92
  /**
93
93
  * Converts a workflow Step to an OpenTelemetry Span
94
94
  */
95
- export function stepToSpan(step, stepEvents, nowTime) {
95
+ export function stepToSpan(step, stepEvents, nowTime, maxEndTime) {
96
96
  const now = nowTime ?? new Date();
97
97
  const parsedName = parseStepName(String(step.stepName));
98
98
  // Only embed identification fields — not the full object with
@@ -104,7 +104,7 @@ export function stepToSpan(step, stepEvents, nowTime) {
104
104
  data: stepIdentity,
105
105
  };
106
106
  const resource = 'step';
107
- const endTime = new Date(step.completedAt ?? now);
107
+ const endTime = new Date(step.completedAt ?? maxEndTime ?? now);
108
108
  // Include ALL correlated events on the span so the sidebar detail view
109
109
  // can display them. The timeline uses the `showVerticalLine` flag to
110
110
  // determine which events appear as markers.