@workflow/web-shared 5.0.0-beta.4 → 5.0.0-beta.40
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.
- package/README.md +5 -13
- package/dist/components/error-boundary.js +1 -1
- package/dist/components/event-list-view.d.ts +46 -1
- package/dist/components/event-list-view.d.ts.map +1 -1
- package/dist/components/event-list-view.js +235 -97
- package/dist/components/hook-actions.js +1 -1
- package/dist/components/index.d.ts +8 -5
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +6 -4
- package/dist/components/sidebar/attribute-panel.d.ts +4 -1
- package/dist/components/sidebar/attribute-panel.d.ts.map +1 -1
- package/dist/components/sidebar/attribute-panel.js +173 -119
- package/dist/components/sidebar/attributes-block.d.ts +40 -0
- package/dist/components/sidebar/attributes-block.d.ts.map +1 -0
- package/dist/components/sidebar/attributes-block.js +140 -0
- package/dist/components/sidebar/conversation-view.js +1 -1
- package/dist/components/sidebar/copyable-data-block.d.ts +2 -0
- package/dist/components/sidebar/copyable-data-block.d.ts.map +1 -1
- package/dist/components/sidebar/copyable-data-block.js +17 -16
- package/dist/components/sidebar/entity-detail-panel.d.ts +11 -11
- package/dist/components/sidebar/entity-detail-panel.d.ts.map +1 -1
- package/dist/components/sidebar/entity-detail-panel.js +37 -71
- package/dist/components/sidebar/events-list.d.ts +6 -2
- package/dist/components/sidebar/events-list.d.ts.map +1 -1
- package/dist/components/sidebar/events-list.js +77 -63
- package/dist/components/sidebar/resolve-hook-modal.js +1 -1
- package/dist/components/sidebar/sidebar-data-context.d.ts +10 -7
- package/dist/components/sidebar/sidebar-data-context.d.ts.map +1 -1
- package/dist/components/sidebar/sidebar-data-context.js +1 -1
- package/dist/components/sidebar/span-detail-merge.d.ts +31 -0
- package/dist/components/sidebar/span-detail-merge.d.ts.map +1 -0
- package/dist/components/sidebar/span-detail-merge.js +92 -0
- package/dist/components/sidebar/use-selected-span-detail.d.ts +16 -0
- package/dist/components/sidebar/use-selected-span-detail.d.ts.map +1 -0
- package/dist/components/sidebar/use-selected-span-detail.js +93 -0
- package/dist/components/stream-viewer-skeleton.d.ts +2 -0
- package/dist/components/stream-viewer-skeleton.d.ts.map +1 -0
- package/dist/components/stream-viewer-skeleton.js +12 -0
- package/dist/components/stream-viewer.d.ts +1 -1
- package/dist/components/stream-viewer.d.ts.map +1 -1
- package/dist/components/stream-viewer.js +9 -26
- package/dist/components/trace-viewer/components/copy-button.d.ts.map +1 -0
- package/dist/components/trace-viewer/components/copy-button.js +27 -0
- package/dist/components/trace-viewer/components/detail-panel-width.d.ts +34 -0
- package/dist/components/trace-viewer/components/detail-panel-width.d.ts.map +1 -0
- package/dist/components/trace-viewer/components/detail-panel-width.js +67 -0
- package/dist/components/trace-viewer/components/detail-panel.d.ts +14 -0
- package/dist/components/trace-viewer/components/detail-panel.d.ts.map +1 -0
- package/dist/components/trace-viewer/components/detail-panel.js +122 -0
- package/dist/components/trace-viewer/components/draggable-border.d.ts +31 -0
- package/dist/components/trace-viewer/components/draggable-border.d.ts.map +1 -0
- package/dist/components/trace-viewer/components/draggable-border.js +140 -0
- package/dist/components/trace-viewer/components/event-list.d.ts +10 -0
- package/dist/components/trace-viewer/components/event-list.d.ts.map +1 -0
- package/dist/components/trace-viewer/components/event-list.js +47 -0
- package/dist/components/trace-viewer/components/middle-truncate/copy-selection.d.ts.map +1 -0
- package/dist/components/trace-viewer/components/middle-truncate/copy-selection.js +54 -0
- package/dist/components/trace-viewer/components/middle-truncate/middle-truncate.d.ts.map +1 -0
- package/dist/components/trace-viewer/components/middle-truncate/middle-truncate.js +81 -0
- package/dist/components/{new-trace-viewer → trace-viewer}/components/middle-truncate/truncate.d.ts +1 -1
- package/dist/components/trace-viewer/components/middle-truncate/truncate.d.ts.map +1 -0
- package/dist/components/trace-viewer/components/middle-truncate/truncate.js +101 -0
- package/dist/components/trace-viewer/components/middle-truncate/use-middle-truncate.d.ts.map +1 -0
- package/dist/components/trace-viewer/components/middle-truncate/use-middle-truncate.js +114 -0
- package/dist/components/trace-viewer/components/minimap.d.ts +14 -0
- package/dist/components/trace-viewer/components/minimap.d.ts.map +1 -0
- package/dist/components/trace-viewer/components/minimap.js +337 -0
- package/dist/components/trace-viewer/components/pane-constants.d.ts +14 -0
- package/dist/components/trace-viewer/components/pane-constants.d.ts.map +1 -0
- package/dist/components/trace-viewer/components/pane-constants.js +16 -0
- package/dist/components/trace-viewer/components/span-markers.d.ts +46 -0
- package/dist/components/trace-viewer/components/span-markers.d.ts.map +1 -0
- package/dist/components/trace-viewer/components/span-markers.js +85 -0
- package/dist/components/trace-viewer/components/split-pane.d.ts +10 -0
- package/dist/components/trace-viewer/components/split-pane.d.ts.map +1 -0
- package/dist/components/trace-viewer/components/split-pane.js +41 -0
- package/dist/components/trace-viewer/components/timeline.d.ts +42 -0
- package/dist/components/trace-viewer/components/timeline.d.ts.map +1 -0
- package/dist/components/trace-viewer/components/timeline.js +321 -0
- package/dist/components/trace-viewer/components/timeline.module.css +46 -0
- package/dist/components/trace-viewer/components/trace-shortcut-helper.d.ts +5 -0
- package/dist/components/trace-viewer/components/trace-shortcut-helper.d.ts.map +1 -0
- package/dist/components/trace-viewer/components/trace-shortcut-helper.js +55 -0
- package/dist/components/trace-viewer/components/trace-shortcut-helper.module.css +20 -0
- package/dist/components/trace-viewer/components/trace-viewer-skeleton.d.ts +2 -0
- package/dist/components/trace-viewer/components/trace-viewer-skeleton.d.ts.map +1 -0
- package/dist/components/trace-viewer/components/trace-viewer-skeleton.js +26 -0
- package/dist/components/trace-viewer/components/use-element-width.d.ts +8 -0
- package/dist/components/trace-viewer/components/use-element-width.d.ts.map +1 -0
- package/dist/components/trace-viewer/components/use-element-width.js +25 -0
- package/dist/components/trace-viewer/components/use-row-window.d.ts +34 -0
- package/dist/components/trace-viewer/components/use-row-window.d.ts.map +1 -0
- package/dist/components/trace-viewer/components/use-row-window.js +107 -0
- package/dist/components/trace-viewer/context.d.ts +14 -182
- package/dist/components/trace-viewer/context.d.ts.map +1 -1
- package/dist/components/trace-viewer/context.js +44 -351
- package/dist/components/trace-viewer/icons.d.ts.map +1 -0
- package/dist/components/trace-viewer/icons.js +15 -0
- package/dist/components/trace-viewer/search.d.ts +19 -0
- package/dist/components/trace-viewer/search.d.ts.map +1 -0
- package/dist/components/trace-viewer/search.js +134 -0
- package/dist/components/trace-viewer/trace-viewer.d.ts +7 -28
- package/dist/components/trace-viewer/trace-viewer.d.ts.map +1 -1
- package/dist/components/trace-viewer/trace-viewer.js +306 -356
- package/dist/components/trace-viewer/types.d.ts +2 -211
- package/dist/components/trace-viewer/types.d.ts.map +1 -1
- package/dist/components/trace-viewer/types.js +1 -1
- package/dist/components/trace-viewer/util/timing.d.ts +2 -2
- package/dist/components/trace-viewer/util/timing.d.ts.map +1 -1
- package/dist/components/trace-viewer/util/timing.js +3 -3
- package/dist/components/trace-viewer/utils.d.ts +111 -0
- package/dist/components/trace-viewer/utils.d.ts.map +1 -0
- package/dist/components/trace-viewer/utils.js +430 -0
- package/dist/components/{trace-viewer-new.d.ts → trace-viewer.d.ts} +7 -3
- package/dist/components/trace-viewer.d.ts.map +1 -0
- package/dist/components/trace-viewer.js +21 -0
- package/dist/components/ui/alert.js +3 -3
- package/dist/components/ui/button.d.ts +10 -0
- package/dist/components/ui/button.d.ts.map +1 -0
- package/dist/components/ui/button.js +46 -0
- package/dist/components/ui/card.d.ts.map +1 -1
- package/dist/components/ui/card.js +4 -4
- package/dist/components/ui/collapsible.d.ts +46 -0
- package/dist/components/ui/collapsible.d.ts.map +1 -0
- package/dist/components/ui/collapsible.js +66 -0
- package/dist/components/ui/context-card.d.ts +47 -0
- package/dist/components/ui/context-card.d.ts.map +1 -0
- package/dist/components/ui/context-card.js +471 -0
- package/dist/components/ui/data-inspector.d.ts +7 -6
- package/dist/components/ui/data-inspector.d.ts.map +1 -1
- package/dist/components/ui/data-inspector.js +232 -99
- package/dist/components/ui/data-inspector.styles.d.ts +29 -0
- package/dist/components/ui/data-inspector.styles.d.ts.map +1 -0
- package/dist/components/ui/data-inspector.styles.js +95 -0
- package/dist/components/ui/decrypt-button.js +1 -1
- package/dist/components/ui/error-card.js +3 -3
- package/dist/components/ui/error-stack-block.d.ts +17 -10
- package/dist/components/ui/error-stack-block.d.ts.map +1 -1
- package/dist/components/ui/error-stack-block.js +49 -30
- package/dist/components/ui/icon-button.d.ts +19 -0
- package/dist/components/ui/icon-button.d.ts.map +1 -0
- package/dist/components/ui/icon-button.js +29 -0
- package/dist/components/ui/kbd.d.ts +10 -0
- package/dist/components/ui/kbd.d.ts.map +1 -0
- package/dist/components/ui/kbd.js +25 -0
- package/dist/components/ui/load-more-button.js +1 -1
- package/dist/components/ui/menu-dropdown.js +1 -1
- package/dist/components/ui/skeleton.js +2 -2
- package/dist/components/ui/spinner.js +1 -1
- package/dist/components/ui/timestamp-tooltip.d.ts +34 -1
- package/dist/components/ui/timestamp-tooltip.d.ts.map +1 -1
- package/dist/components/ui/timestamp-tooltip.js +80 -132
- package/dist/components/ui/tooltip.d.ts +10 -0
- package/dist/components/ui/tooltip.d.ts.map +1 -0
- package/dist/components/ui/tooltip.js +12 -0
- package/dist/components/workflow-traces/event-colors.d.ts +2 -1
- package/dist/components/workflow-traces/event-colors.d.ts.map +1 -1
- package/dist/components/workflow-traces/event-colors.js +15 -7
- package/dist/components/workflow-traces/trace-span-construction.d.ts +6 -3
- package/dist/components/workflow-traces/trace-span-construction.d.ts.map +1 -1
- package/dist/components/workflow-traces/trace-span-construction.js +71 -30
- package/dist/components/workflow-traces/trace-time-utils.js +1 -1
- package/dist/hooks/use-dark-mode.js +1 -1
- package/dist/hooks/use-intersection-observer.d.ts +17 -0
- package/dist/hooks/use-intersection-observer.d.ts.map +1 -0
- package/dist/hooks/use-intersection-observer.js +29 -0
- package/dist/hooks/use-load-more-on-scroll.d.ts +21 -0
- package/dist/hooks/use-load-more-on-scroll.d.ts.map +1 -0
- package/dist/hooks/use-load-more-on-scroll.js +28 -0
- package/dist/hooks/use-reduced-motion.d.ts +10 -0
- package/dist/hooks/use-reduced-motion.d.ts.map +1 -0
- package/dist/hooks/use-reduced-motion.js +29 -0
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -3
- package/dist/lib/cn.d.ts +10 -0
- package/dist/lib/cn.d.ts.map +1 -0
- package/dist/lib/cn.js +83 -0
- package/dist/lib/event-analysis.d.ts +1 -1
- package/dist/lib/event-analysis.d.ts.map +1 -1
- package/dist/lib/event-analysis.js +3 -2
- package/dist/lib/event-materialization.d.ts +1 -1
- package/dist/lib/event-materialization.d.ts.map +1 -1
- package/dist/lib/event-materialization.js +29 -21
- package/dist/lib/exact-event-search-id.d.ts +25 -0
- package/dist/lib/exact-event-search-id.d.ts.map +1 -0
- package/dist/lib/exact-event-search-id.js +39 -0
- package/dist/lib/hydration.d.ts +17 -2
- package/dist/lib/hydration.d.ts.map +1 -1
- package/dist/lib/hydration.js +194 -23
- package/dist/lib/stream-display.js +1 -1
- package/dist/lib/toast.js +1 -1
- package/dist/lib/trace-builder.d.ts +17 -5
- package/dist/lib/trace-builder.d.ts.map +1 -1
- package/dist/lib/trace-builder.js +32 -14
- package/dist/lib/trace-types.d.ts +54 -0
- package/dist/lib/trace-types.d.ts.map +1 -0
- package/dist/lib/trace-types.js +2 -0
- package/dist/lib/utils.d.ts +14 -2
- package/dist/lib/utils.d.ts.map +1 -1
- package/dist/lib/utils.js +46 -6
- package/dist/lib/zstd-browser-decoder.d.ts +7 -0
- package/dist/lib/zstd-browser-decoder.d.ts.map +1 -0
- package/dist/lib/zstd-browser-decoder.js +41 -0
- package/dist/styles.css +210 -139
- package/package.json +11 -8
- package/src/components/event-list-view.tsx +385 -123
- package/src/components/index.ts +14 -8
- package/src/components/sidebar/attribute-panel.tsx +331 -282
- package/src/components/sidebar/attributes-block.tsx +326 -0
- package/src/components/sidebar/copyable-data-block.tsx +50 -28
- package/src/components/sidebar/entity-detail-panel.tsx +92 -126
- package/src/components/sidebar/events-list.tsx +197 -179
- package/src/components/sidebar/sidebar-data-context.tsx +11 -11
- package/src/components/sidebar/span-detail-merge.ts +134 -0
- package/src/components/sidebar/use-selected-span-detail.ts +146 -0
- package/src/components/stream-viewer-skeleton.tsx +34 -0
- package/src/components/stream-viewer.tsx +34 -106
- package/src/components/{new-trace-viewer → trace-viewer}/components/copy-button.tsx +2 -2
- package/src/components/trace-viewer/components/detail-panel-width.test.ts +123 -0
- package/src/components/trace-viewer/components/detail-panel-width.ts +76 -0
- package/src/components/trace-viewer/components/detail-panel.tsx +273 -0
- package/src/components/trace-viewer/components/draggable-border.tsx +216 -0
- package/src/components/trace-viewer/components/event-list.tsx +144 -0
- package/src/components/{new-trace-viewer → trace-viewer}/components/middle-truncate/middle-truncate.tsx +8 -8
- package/src/components/{new-trace-viewer → trace-viewer}/components/middle-truncate/truncate.ts +1 -1
- package/src/components/trace-viewer/components/minimap.tsx +556 -0
- package/src/components/trace-viewer/components/pane-constants.ts +19 -0
- package/src/components/trace-viewer/components/span-markers.tsx +173 -0
- package/src/components/trace-viewer/components/split-pane.tsx +141 -0
- package/src/components/trace-viewer/components/timeline.module.css +46 -0
- package/src/components/trace-viewer/components/timeline.tsx +850 -0
- package/src/components/trace-viewer/components/trace-shortcut-helper.module.css +20 -0
- package/src/components/trace-viewer/components/trace-shortcut-helper.tsx +116 -0
- package/src/components/trace-viewer/components/trace-viewer-skeleton.tsx +114 -0
- package/src/components/trace-viewer/components/use-element-width.ts +29 -0
- package/src/components/trace-viewer/components/use-row-window.ts +140 -0
- package/src/components/trace-viewer/context.tsx +63 -656
- package/src/components/{new-trace-viewer → trace-viewer}/icons.tsx +2 -2
- package/src/components/trace-viewer/search.ts +178 -0
- package/src/components/trace-viewer/trace-viewer.tsx +563 -531
- package/src/components/trace-viewer/types.ts +2 -234
- package/src/components/trace-viewer/util/timing.ts +2 -2
- package/src/components/trace-viewer/utils.test.ts +458 -0
- package/src/components/{new-trace-viewer → trace-viewer}/utils.ts +271 -50
- package/src/components/{trace-viewer-new.tsx → trace-viewer.tsx} +24 -18
- package/src/components/ui/alert.tsx +2 -2
- package/src/components/ui/button.tsx +68 -0
- package/src/components/ui/card.tsx +3 -10
- package/src/components/ui/collapsible.tsx +219 -0
- package/src/components/ui/context-card.tsx +784 -0
- package/src/components/ui/data-inspector.styles.ts +96 -0
- package/src/components/ui/data-inspector.tsx +501 -204
- package/src/components/ui/error-card.tsx +4 -4
- package/src/components/ui/error-stack-block.tsx +84 -55
- package/src/components/ui/icon-button.tsx +53 -0
- package/src/components/ui/kbd.tsx +43 -0
- package/src/components/ui/skeleton.tsx +1 -1
- package/src/components/ui/timestamp-tooltip.tsx +132 -194
- package/src/components/ui/tooltip.tsx +47 -0
- package/src/components/workflow-traces/event-colors.ts +15 -11
- package/src/components/workflow-traces/trace-span-construction.test.ts +85 -0
- package/src/components/workflow-traces/trace-span-construction.ts +97 -32
- package/src/hooks/use-intersection-observer.ts +57 -0
- package/src/hooks/use-load-more-on-scroll.ts +49 -0
- package/src/hooks/use-reduced-motion.ts +34 -0
- package/src/index.ts +10 -4
- package/src/lib/cn.ts +93 -0
- package/src/lib/event-analysis.ts +6 -4
- package/src/lib/event-materialization.ts +35 -21
- package/src/lib/exact-event-search-id.ts +67 -0
- package/src/lib/hydration.ts +210 -30
- package/src/lib/trace-builder.ts +43 -19
- package/src/lib/trace-types.ts +56 -0
- package/src/lib/utils.test.ts +33 -0
- package/src/lib/utils.ts +53 -6
- package/src/lib/zstd-browser-decoder.ts +42 -0
- package/src/styles.css +210 -139
- package/dist/components/error-boundary.js.map +0 -1
- package/dist/components/event-list-view.js.map +0 -1
- package/dist/components/hook-actions.js.map +0 -1
- package/dist/components/index.js.map +0 -1
- package/dist/components/new-trace-viewer/components/copy-button.d.ts.map +0 -1
- package/dist/components/new-trace-viewer/components/copy-button.js +0 -27
- package/dist/components/new-trace-viewer/components/copy-button.js.map +0 -1
- package/dist/components/new-trace-viewer/components/event-list.d.ts +0 -8
- package/dist/components/new-trace-viewer/components/event-list.d.ts.map +0 -1
- package/dist/components/new-trace-viewer/components/event-list.js +0 -38
- package/dist/components/new-trace-viewer/components/event-list.js.map +0 -1
- package/dist/components/new-trace-viewer/components/middle-truncate/copy-selection.d.ts.map +0 -1
- package/dist/components/new-trace-viewer/components/middle-truncate/copy-selection.js +0 -54
- package/dist/components/new-trace-viewer/components/middle-truncate/copy-selection.js.map +0 -1
- package/dist/components/new-trace-viewer/components/middle-truncate/middle-truncate.d.ts.map +0 -1
- package/dist/components/new-trace-viewer/components/middle-truncate/middle-truncate.js +0 -81
- package/dist/components/new-trace-viewer/components/middle-truncate/middle-truncate.js.map +0 -1
- package/dist/components/new-trace-viewer/components/middle-truncate/truncate.d.ts.map +0 -1
- package/dist/components/new-trace-viewer/components/middle-truncate/truncate.js +0 -101
- package/dist/components/new-trace-viewer/components/middle-truncate/truncate.js.map +0 -1
- package/dist/components/new-trace-viewer/components/middle-truncate/use-middle-truncate.d.ts.map +0 -1
- package/dist/components/new-trace-viewer/components/middle-truncate/use-middle-truncate.js +0 -114
- package/dist/components/new-trace-viewer/components/middle-truncate/use-middle-truncate.js.map +0 -1
- package/dist/components/new-trace-viewer/components/split-pane.d.ts +0 -14
- package/dist/components/new-trace-viewer/components/split-pane.d.ts.map +0 -1
- package/dist/components/new-trace-viewer/components/split-pane.js +0 -99
- package/dist/components/new-trace-viewer/components/split-pane.js.map +0 -1
- package/dist/components/new-trace-viewer/components/timeline.d.ts +0 -31
- package/dist/components/new-trace-viewer/components/timeline.d.ts.map +0 -1
- package/dist/components/new-trace-viewer/components/timeline.js +0 -138
- package/dist/components/new-trace-viewer/components/timeline.js.map +0 -1
- package/dist/components/new-trace-viewer/context.d.ts +0 -15
- package/dist/components/new-trace-viewer/context.d.ts.map +0 -1
- package/dist/components/new-trace-viewer/context.js +0 -47
- package/dist/components/new-trace-viewer/context.js.map +0 -1
- package/dist/components/new-trace-viewer/detail-panel.d.ts +0 -10
- package/dist/components/new-trace-viewer/detail-panel.d.ts.map +0 -1
- package/dist/components/new-trace-viewer/detail-panel.js +0 -12
- package/dist/components/new-trace-viewer/detail-panel.js.map +0 -1
- package/dist/components/new-trace-viewer/icons.d.ts.map +0 -1
- package/dist/components/new-trace-viewer/icons.js +0 -15
- package/dist/components/new-trace-viewer/icons.js.map +0 -1
- package/dist/components/new-trace-viewer/trace-viewer.d.ts +0 -8
- package/dist/components/new-trace-viewer/trace-viewer.d.ts.map +0 -1
- package/dist/components/new-trace-viewer/trace-viewer.js +0 -349
- package/dist/components/new-trace-viewer/trace-viewer.js.map +0 -1
- package/dist/components/new-trace-viewer/types.d.ts +0 -1
- package/dist/components/new-trace-viewer/types.d.ts.map +0 -1
- package/dist/components/new-trace-viewer/types.js +0 -2
- package/dist/components/new-trace-viewer/types.js.map +0 -1
- package/dist/components/new-trace-viewer/util/constants.d.ts +0 -1
- package/dist/components/new-trace-viewer/util/constants.d.ts.map +0 -1
- package/dist/components/new-trace-viewer/util/constants.js +0 -2
- package/dist/components/new-trace-viewer/util/constants.js.map +0 -1
- package/dist/components/new-trace-viewer/utils.d.ts +0 -42
- package/dist/components/new-trace-viewer/utils.d.ts.map +0 -1
- package/dist/components/new-trace-viewer/utils.js +0 -305
- package/dist/components/new-trace-viewer/utils.js.map +0 -1
- package/dist/components/run-trace-view.d.ts +0 -25
- package/dist/components/run-trace-view.d.ts.map +0 -1
- package/dist/components/run-trace-view.js +0 -11
- package/dist/components/run-trace-view.js.map +0 -1
- package/dist/components/sidebar/attribute-panel.js.map +0 -1
- package/dist/components/sidebar/conversation-view.js.map +0 -1
- package/dist/components/sidebar/copyable-data-block.js.map +0 -1
- package/dist/components/sidebar/detail-card.d.ts +0 -14
- package/dist/components/sidebar/detail-card.d.ts.map +0 -1
- package/dist/components/sidebar/detail-card.js +0 -20
- package/dist/components/sidebar/detail-card.js.map +0 -1
- package/dist/components/sidebar/entity-detail-panel.js.map +0 -1
- package/dist/components/sidebar/events-list.js.map +0 -1
- package/dist/components/sidebar/resolve-hook-modal.js.map +0 -1
- package/dist/components/sidebar/sidebar-data-context.js.map +0 -1
- package/dist/components/stream-viewer.js.map +0 -1
- package/dist/components/trace-viewer/components/map.d.ts +0 -8
- package/dist/components/trace-viewer/components/map.d.ts.map +0 -1
- package/dist/components/trace-viewer/components/map.js +0 -162
- package/dist/components/trace-viewer/components/map.js.map +0 -1
- package/dist/components/trace-viewer/components/markers.d.ts +0 -23
- package/dist/components/trace-viewer/components/markers.d.ts.map +0 -1
- package/dist/components/trace-viewer/components/markers.js +0 -416
- package/dist/components/trace-viewer/components/markers.js.map +0 -1
- package/dist/components/trace-viewer/components/node.d.ts +0 -35
- package/dist/components/trace-viewer/components/node.d.ts.map +0 -1
- package/dist/components/trace-viewer/components/node.js +0 -285
- package/dist/components/trace-viewer/components/node.js.map +0 -1
- package/dist/components/trace-viewer/components/search-input.d.ts +0 -9
- package/dist/components/trace-viewer/components/search-input.d.ts.map +0 -1
- package/dist/components/trace-viewer/components/search-input.js +0 -9
- package/dist/components/trace-viewer/components/search-input.js.map +0 -1
- package/dist/components/trace-viewer/components/search.d.ts +0 -3
- package/dist/components/trace-viewer/components/search.d.ts.map +0 -1
- package/dist/components/trace-viewer/components/search.js +0 -25
- package/dist/components/trace-viewer/components/search.js.map +0 -1
- package/dist/components/trace-viewer/components/span-content.d.ts +0 -19
- package/dist/components/trace-viewer/components/span-content.d.ts.map +0 -1
- package/dist/components/trace-viewer/components/span-content.js +0 -137
- package/dist/components/trace-viewer/components/span-content.js.map +0 -1
- package/dist/components/trace-viewer/components/span-detail-panel.d.ts +0 -10
- package/dist/components/trace-viewer/components/span-detail-panel.d.ts.map +0 -1
- package/dist/components/trace-viewer/components/span-detail-panel.js +0 -285
- package/dist/components/trace-viewer/components/span-detail-panel.js.map +0 -1
- package/dist/components/trace-viewer/components/span-segments.d.ts +0 -50
- package/dist/components/trace-viewer/components/span-segments.d.ts.map +0 -1
- package/dist/components/trace-viewer/components/span-segments.js +0 -445
- package/dist/components/trace-viewer/components/span-segments.js.map +0 -1
- package/dist/components/trace-viewer/components/span-strategies.d.ts +0 -46
- package/dist/components/trace-viewer/components/span-strategies.d.ts.map +0 -1
- package/dist/components/trace-viewer/components/span-strategies.js +0 -108
- package/dist/components/trace-viewer/components/span-strategies.js.map +0 -1
- package/dist/components/trace-viewer/components/ui.d.ts +0 -28
- package/dist/components/trace-viewer/components/ui.d.ts.map +0 -1
- package/dist/components/trace-viewer/components/ui.js +0 -39
- package/dist/components/trace-viewer/components/ui.js.map +0 -1
- package/dist/components/trace-viewer/components/zoom-button.d.ts +0 -3
- package/dist/components/trace-viewer/components/zoom-button.d.ts.map +0 -1
- package/dist/components/trace-viewer/components/zoom-button.js +0 -29
- package/dist/components/trace-viewer/components/zoom-button.js.map +0 -1
- package/dist/components/trace-viewer/components/zoom-icons.d.ts +0 -11
- package/dist/components/trace-viewer/components/zoom-icons.d.ts.map +0 -1
- package/dist/components/trace-viewer/components/zoom-icons.js +0 -11
- package/dist/components/trace-viewer/components/zoom-icons.js.map +0 -1
- package/dist/components/trace-viewer/context.js.map +0 -1
- package/dist/components/trace-viewer/index.d.ts +0 -5
- package/dist/components/trace-viewer/index.d.ts.map +0 -1
- package/dist/components/trace-viewer/index.js +0 -4
- package/dist/components/trace-viewer/index.js.map +0 -1
- package/dist/components/trace-viewer/trace-viewer.js.map +0 -1
- package/dist/components/trace-viewer/trace-viewer.module.css +0 -1465
- package/dist/components/trace-viewer/types.js.map +0 -1
- package/dist/components/trace-viewer/util/constants.d.ts +0 -9
- package/dist/components/trace-viewer/util/constants.d.ts.map +0 -1
- package/dist/components/trace-viewer/util/constants.js +0 -9
- package/dist/components/trace-viewer/util/constants.js.map +0 -1
- package/dist/components/trace-viewer/util/scrollbar-width.d.ts +0 -2
- package/dist/components/trace-viewer/util/scrollbar-width.d.ts.map +0 -1
- package/dist/components/trace-viewer/util/scrollbar-width.js +0 -14
- package/dist/components/trace-viewer/util/scrollbar-width.js.map +0 -1
- package/dist/components/trace-viewer/util/timing.js.map +0 -1
- package/dist/components/trace-viewer/util/tree.d.ts +0 -13
- package/dist/components/trace-viewer/util/tree.d.ts.map +0 -1
- package/dist/components/trace-viewer/util/tree.js +0 -227
- package/dist/components/trace-viewer/util/tree.js.map +0 -1
- package/dist/components/trace-viewer/util/use-immediate-style.d.ts +0 -15
- package/dist/components/trace-viewer/util/use-immediate-style.d.ts.map +0 -1
- package/dist/components/trace-viewer/util/use-immediate-style.js +0 -23
- package/dist/components/trace-viewer/util/use-immediate-style.js.map +0 -1
- package/dist/components/trace-viewer/util/use-streaming-spans.d.ts +0 -8
- package/dist/components/trace-viewer/util/use-streaming-spans.d.ts.map +0 -1
- package/dist/components/trace-viewer/util/use-streaming-spans.js +0 -345
- package/dist/components/trace-viewer/util/use-streaming-spans.js.map +0 -1
- package/dist/components/trace-viewer/util/use-trackpad-zoom.d.ts +0 -6
- package/dist/components/trace-viewer/util/use-trackpad-zoom.d.ts.map +0 -1
- package/dist/components/trace-viewer/util/use-trackpad-zoom.js +0 -39
- package/dist/components/trace-viewer/util/use-trackpad-zoom.js.map +0 -1
- package/dist/components/trace-viewer/worker.d.ts +0 -2
- package/dist/components/trace-viewer/worker.d.ts.map +0 -1
- package/dist/components/trace-viewer/worker.js +0 -109
- package/dist/components/trace-viewer/worker.js.map +0 -1
- package/dist/components/trace-viewer-new.d.ts.map +0 -1
- package/dist/components/trace-viewer-new.js +0 -23
- package/dist/components/trace-viewer-new.js.map +0 -1
- package/dist/components/ui/alert.js.map +0 -1
- package/dist/components/ui/card.js.map +0 -1
- package/dist/components/ui/data-inspector.js.map +0 -1
- package/dist/components/ui/decrypt-button.js.map +0 -1
- package/dist/components/ui/error-card.js.map +0 -1
- package/dist/components/ui/error-stack-block.js.map +0 -1
- package/dist/components/ui/inspector-theme.d.ts +0 -95
- package/dist/components/ui/inspector-theme.d.ts.map +0 -1
- package/dist/components/ui/inspector-theme.js +0 -82
- package/dist/components/ui/inspector-theme.js.map +0 -1
- package/dist/components/ui/load-more-button.js.map +0 -1
- package/dist/components/ui/menu-dropdown.js.map +0 -1
- package/dist/components/ui/skeleton.js.map +0 -1
- package/dist/components/ui/spinner.js.map +0 -1
- package/dist/components/ui/timestamp-tooltip.js.map +0 -1
- package/dist/components/workflow-trace-view.d.ts +0 -40
- package/dist/components/workflow-trace-view.d.ts.map +0 -1
- package/dist/components/workflow-trace-view.js +0 -695
- package/dist/components/workflow-trace-view.js.map +0 -1
- package/dist/components/workflow-traces/event-colors.js.map +0 -1
- package/dist/components/workflow-traces/trace-colors.d.ts +0 -15
- package/dist/components/workflow-traces/trace-colors.d.ts.map +0 -1
- package/dist/components/workflow-traces/trace-colors.js +0 -87
- package/dist/components/workflow-traces/trace-colors.js.map +0 -1
- package/dist/components/workflow-traces/trace-span-construction.js.map +0 -1
- package/dist/components/workflow-traces/trace-time-utils.js.map +0 -1
- package/dist/hooks/use-dark-mode.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/lib/event-analysis.js.map +0 -1
- package/dist/lib/event-materialization.js.map +0 -1
- package/dist/lib/hydration.js.map +0 -1
- package/dist/lib/stream-display.js.map +0 -1
- package/dist/lib/toast.js.map +0 -1
- package/dist/lib/trace-builder.js.map +0 -1
- package/dist/lib/utils.js.map +0 -1
- package/src/components/new-trace-viewer/components/event-list.tsx +0 -116
- package/src/components/new-trace-viewer/components/split-pane.tsx +0 -185
- package/src/components/new-trace-viewer/components/timeline.tsx +0 -382
- package/src/components/new-trace-viewer/context.tsx +0 -92
- package/src/components/new-trace-viewer/detail-panel.tsx +0 -58
- package/src/components/new-trace-viewer/trace-viewer.tsx +0 -645
- package/src/components/new-trace-viewer/types.ts +0 -0
- package/src/components/new-trace-viewer/util/constants.ts +0 -0
- package/src/components/run-trace-view.tsx +0 -84
- package/src/components/sidebar/detail-card.tsx +0 -65
- package/src/components/trace-viewer/components/map.tsx +0 -226
- package/src/components/trace-viewer/components/markers.tsx +0 -612
- package/src/components/trace-viewer/components/node.tsx +0 -505
- package/src/components/trace-viewer/components/search-input.tsx +0 -52
- package/src/components/trace-viewer/components/search.tsx +0 -47
- package/src/components/trace-viewer/components/span-content.tsx +0 -247
- package/src/components/trace-viewer/components/span-detail-panel.tsx +0 -655
- package/src/components/trace-viewer/components/span-segments.ts +0 -585
- package/src/components/trace-viewer/components/span-strategies.ts +0 -205
- package/src/components/trace-viewer/components/ui.tsx +0 -156
- package/src/components/trace-viewer/components/zoom-button.tsx +0 -61
- package/src/components/trace-viewer/components/zoom-icons.tsx +0 -65
- package/src/components/trace-viewer/index.tsx +0 -4
- package/src/components/trace-viewer/trace-viewer.module.css +0 -1465
- package/src/components/trace-viewer/util/constants.ts +0 -8
- package/src/components/trace-viewer/util/scrollbar-width.ts +0 -13
- package/src/components/trace-viewer/util/tree.ts +0 -277
- package/src/components/trace-viewer/util/use-immediate-style.ts +0 -38
- package/src/components/trace-viewer/util/use-streaming-spans.ts +0 -426
- package/src/components/trace-viewer/util/use-trackpad-zoom.tsx +0 -51
- package/src/components/trace-viewer/worker.ts +0 -131
- package/src/components/ui/inspector-theme.ts +0 -110
- package/src/components/workflow-trace-view.tsx +0 -1171
- package/src/components/workflow-traces/trace-colors.ts +0 -112
- /package/dist/components/{new-trace-viewer → trace-viewer}/components/copy-button.d.ts +0 -0
- /package/dist/components/{new-trace-viewer → trace-viewer}/components/middle-truncate/copy-selection.d.ts +0 -0
- /package/dist/components/{new-trace-viewer → trace-viewer}/components/middle-truncate/middle-truncate.d.ts +0 -0
- /package/dist/components/{new-trace-viewer → trace-viewer}/components/middle-truncate/use-middle-truncate.d.ts +0 -0
- /package/dist/components/{new-trace-viewer → trace-viewer}/icons.d.ts +0 -0
- /package/src/components/{new-trace-viewer → trace-viewer}/components/middle-truncate/copy-selection.ts +0 -0
- /package/src/components/{new-trace-viewer → trace-viewer}/components/middle-truncate/use-middle-truncate.ts +0 -0
- /package/src/{components/trace-viewer/modules.d.ts → modules.d.ts} +0 -0
|
@@ -1,24 +1,27 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import { parseStepName, parseWorkflowName } from '@workflow/utils/parse-name';
|
|
4
|
+
import {
|
|
5
|
+
type Event,
|
|
6
|
+
type Hook,
|
|
7
|
+
isTerminalWorkflowRunStatus,
|
|
8
|
+
type WorkflowRun,
|
|
9
|
+
} from '@workflow/world';
|
|
4
10
|
import clsx from 'clsx';
|
|
5
11
|
import { Send, Zap } from 'lucide-react';
|
|
6
|
-
import { useCallback, useEffect, useMemo,
|
|
12
|
+
import { useCallback, useEffect, useMemo, useState } from 'react';
|
|
7
13
|
import { useToast } from '../../lib/toast';
|
|
8
14
|
import { DecryptClickContext } from '../ui/data-inspector';
|
|
9
15
|
import { AttributePanel } from './attribute-panel';
|
|
10
16
|
import { EventsList } from './events-list';
|
|
11
17
|
import { ResolveHookModal } from './resolve-hook-modal';
|
|
18
|
+
import { useSidebarDataOptional } from './sidebar-data-context';
|
|
19
|
+
import {
|
|
20
|
+
type FetchSpanDetail,
|
|
21
|
+
useSelectedSpanDetail,
|
|
22
|
+
} from './use-selected-span-detail';
|
|
12
23
|
|
|
13
|
-
// Type
|
|
14
|
-
function isStep(data: unknown): data is Step {
|
|
15
|
-
return data !== null && typeof data === 'object' && 'stepId' in data;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
function isWorkflowRun(data: unknown): data is WorkflowRun {
|
|
19
|
-
return data !== null && typeof data === 'object' && 'runId' in data;
|
|
20
|
-
}
|
|
21
|
-
|
|
24
|
+
// Type guard for runtime validation of span attribute data
|
|
22
25
|
function isHook(data: unknown): data is Hook {
|
|
23
26
|
return data !== null && typeof data === 'object' && 'hookId' in data;
|
|
24
27
|
}
|
|
@@ -56,10 +59,7 @@ export function EntityDetailPanel({
|
|
|
56
59
|
run,
|
|
57
60
|
onStreamClick,
|
|
58
61
|
onRunClick,
|
|
59
|
-
|
|
60
|
-
spanDetailError,
|
|
61
|
-
spanDetailLoading,
|
|
62
|
-
onSpanSelect,
|
|
62
|
+
fetchSpanDetail,
|
|
63
63
|
onWakeUpSleep,
|
|
64
64
|
onLoadEventData,
|
|
65
65
|
onResolveHook,
|
|
@@ -67,30 +67,22 @@ export function EntityDetailPanel({
|
|
|
67
67
|
onDecrypt,
|
|
68
68
|
isDecrypting = false,
|
|
69
69
|
selectedSpan,
|
|
70
|
+
showSeparateEventOccurrenceTimestamps = false,
|
|
71
|
+
getModuleSourceUrl,
|
|
70
72
|
}: {
|
|
71
73
|
run: WorkflowRun;
|
|
72
74
|
/** Callback when a stream reference is clicked */
|
|
73
75
|
onStreamClick?: (streamId: string) => void;
|
|
74
76
|
/** Callback when a run reference is clicked */
|
|
75
77
|
onRunClick?: (runId: string) => void;
|
|
76
|
-
|
|
77
|
-
spanDetailData: WorkflowRun | Step | Hook | Event | null;
|
|
78
|
-
/** Error from external span detail fetch. */
|
|
79
|
-
spanDetailError?: Error | null;
|
|
80
|
-
/** Loading state from external span detail fetch. */
|
|
81
|
-
spanDetailLoading?: boolean;
|
|
82
|
-
/** Callback when a span is selected. Use this to fetch data externally and pass via spanDetailData. */
|
|
83
|
-
onSpanSelect: (info: SpanSelectionInfo) => void;
|
|
78
|
+
fetchSpanDetail: FetchSpanDetail;
|
|
84
79
|
/** Callback to wake up a pending sleep call. */
|
|
85
80
|
onWakeUpSleep?: (
|
|
86
81
|
runId: string,
|
|
87
82
|
correlationId: string
|
|
88
83
|
) => Promise<{ stoppedCount: number }>;
|
|
89
84
|
/** Callback to load event data for a specific event (lazy loading) */
|
|
90
|
-
onLoadEventData?: (
|
|
91
|
-
correlationId: string,
|
|
92
|
-
eventId: string
|
|
93
|
-
) => Promise<unknown | null>;
|
|
85
|
+
onLoadEventData?: (event: Event) => Promise<unknown | null>;
|
|
94
86
|
/** Callback to resolve a hook with a payload. */
|
|
95
87
|
onResolveHook?: (
|
|
96
88
|
hookToken: string,
|
|
@@ -105,6 +97,12 @@ export function EntityDetailPanel({
|
|
|
105
97
|
isDecrypting?: boolean;
|
|
106
98
|
/** Info about the currently selected span from the trace viewer */
|
|
107
99
|
selectedSpan: SelectedSpanInfo | null;
|
|
100
|
+
/** Show occurredAt separately instead of folding it into the Created timestamp. */
|
|
101
|
+
showSeparateEventOccurrenceTimestamps?: boolean;
|
|
102
|
+
getModuleSourceUrl?: (info: {
|
|
103
|
+
moduleSpecifier: string;
|
|
104
|
+
deploymentId: string;
|
|
105
|
+
}) => string | undefined;
|
|
108
106
|
}): React.JSX.Element | null {
|
|
109
107
|
const toast = useToast();
|
|
110
108
|
const [stoppingSleep, setStoppingSleep] = useState(false);
|
|
@@ -116,64 +114,28 @@ export function EntityDetailPanel({
|
|
|
116
114
|
new Set()
|
|
117
115
|
);
|
|
118
116
|
|
|
117
|
+
const sidebar = useSidebarDataOptional();
|
|
118
|
+
const hasEncryptedData = Boolean(sidebar?.hasEncryptedData && !encryptionKey);
|
|
119
|
+
|
|
119
120
|
const data = selectedSpan?.data;
|
|
120
121
|
const rawEvents = selectedSpan?.rawEvents;
|
|
121
122
|
const rawEventsLength = rawEvents?.length ?? 0;
|
|
122
123
|
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
}
|
|
133
|
-
if (res === 'run' && isWorkflowRun(data)) {
|
|
134
|
-
return { resource: 'run', resourceId: data.runId, runId: undefined };
|
|
135
|
-
}
|
|
136
|
-
if (res === 'hook' && isHook(data)) {
|
|
137
|
-
return { resource: 'hook', resourceId: data.hookId, runId: undefined };
|
|
138
|
-
}
|
|
139
|
-
if (res === 'sleep') {
|
|
140
|
-
const waitData = data as { runId?: string } | undefined;
|
|
141
|
-
return {
|
|
142
|
-
resource: 'sleep',
|
|
143
|
-
resourceId: selectedSpan.spanId,
|
|
144
|
-
runId: waitData?.runId,
|
|
145
|
-
};
|
|
146
|
-
}
|
|
147
|
-
return { resource: undefined, resourceId: undefined, runId: undefined };
|
|
148
|
-
}, [selectedSpan, data]);
|
|
149
|
-
|
|
150
|
-
// Notify parent when span selection changes.
|
|
151
|
-
// Use a ref for the callback so the effect only fires when the actual
|
|
152
|
-
// selection values change, not when the callback identity changes due to
|
|
153
|
-
// parent re-renders from polling.
|
|
154
|
-
const onSpanSelectRef = useRef(onSpanSelect);
|
|
155
|
-
onSpanSelectRef.current = onSpanSelect;
|
|
156
|
-
|
|
157
|
-
useEffect(() => {
|
|
158
|
-
if (
|
|
159
|
-
resource &&
|
|
160
|
-
resourceId &&
|
|
161
|
-
['run', 'step', 'hook', 'sleep'].includes(resource)
|
|
162
|
-
) {
|
|
163
|
-
onSpanSelectRef.current({
|
|
164
|
-
resource: resource as 'run' | 'step' | 'hook' | 'sleep',
|
|
165
|
-
resourceId,
|
|
166
|
-
runId,
|
|
167
|
-
});
|
|
168
|
-
}
|
|
169
|
-
}, [resource, resourceId, runId]);
|
|
124
|
+
const {
|
|
125
|
+
status,
|
|
126
|
+
resource,
|
|
127
|
+
resourceId,
|
|
128
|
+
displayData,
|
|
129
|
+
detail: matchedSpanDetailData,
|
|
130
|
+
error,
|
|
131
|
+
} = useSelectedSpanDetail(selectedSpan, fetchSpanDetail);
|
|
132
|
+
const loading = status === 'loading';
|
|
170
133
|
|
|
171
134
|
// Check if this sleep is still pending and can be woken up
|
|
172
135
|
const canWakeUp = useMemo(() => {
|
|
173
136
|
void rawEventsLength;
|
|
174
137
|
if (resource !== 'sleep' || !rawEvents) return false;
|
|
175
|
-
|
|
176
|
-
if (terminalStates.includes(run.status)) return false;
|
|
138
|
+
if (isTerminalWorkflowRunStatus(run.status)) return false;
|
|
177
139
|
const hasWaitCreated = rawEvents.some(
|
|
178
140
|
(e) => e.eventType === 'wait_created'
|
|
179
141
|
);
|
|
@@ -192,8 +154,7 @@ export function EntityDetailPanel({
|
|
|
192
154
|
// Check if we already resolved this hook in this session
|
|
193
155
|
if (resolvedHookIds.has(resourceId)) return false;
|
|
194
156
|
|
|
195
|
-
|
|
196
|
-
if (terminalStates.includes(run.status)) return false;
|
|
157
|
+
if (isTerminalWorkflowRunStatus(run.status)) return false;
|
|
197
158
|
const hasHookDisposed = rawEvents.some(
|
|
198
159
|
(e) => e.eventType === 'hook_disposed'
|
|
199
160
|
);
|
|
@@ -208,22 +169,19 @@ export function EntityDetailPanel({
|
|
|
208
169
|
resolvedHookIds,
|
|
209
170
|
]);
|
|
210
171
|
|
|
211
|
-
const error = spanDetailError ?? undefined;
|
|
212
|
-
const loading = spanDetailLoading ?? false;
|
|
213
|
-
|
|
214
172
|
// Get the hook token for resolving (prefer fetched data, then hooks array fallback)
|
|
215
173
|
const hookToken = useMemo(() => {
|
|
216
174
|
if (resource !== 'hook' || !resourceId) return undefined;
|
|
217
175
|
// 1. Try the externally-fetched detail data first
|
|
218
|
-
if (isHook(
|
|
219
|
-
return
|
|
176
|
+
if (isHook(matchedSpanDetailData) && matchedSpanDetailData.token) {
|
|
177
|
+
return matchedSpanDetailData.token;
|
|
220
178
|
}
|
|
221
179
|
// 2. Try the span's inline data (reconstructed from hook_created event)
|
|
222
180
|
if (isHook(data) && (data as Hook).token) {
|
|
223
181
|
return (data as Hook).token;
|
|
224
182
|
}
|
|
225
183
|
return undefined;
|
|
226
|
-
}, [resource, resourceId,
|
|
184
|
+
}, [resource, resourceId, matchedSpanDetailData, data]);
|
|
227
185
|
|
|
228
186
|
useEffect(() => {
|
|
229
187
|
if (error && selectedSpan && resource) {
|
|
@@ -285,7 +243,7 @@ export function EntityDetailPanel({
|
|
|
285
243
|
|
|
286
244
|
try {
|
|
287
245
|
setResolvingHook(true);
|
|
288
|
-
const candidate =
|
|
246
|
+
const candidate = matchedSpanDetailData ?? data;
|
|
289
247
|
const hook = isHook(candidate) ? candidate : undefined;
|
|
290
248
|
await onResolveHook(hookToken, payload, hook);
|
|
291
249
|
toast.success('Hook resolved', {
|
|
@@ -306,18 +264,9 @@ export function EntityDetailPanel({
|
|
|
306
264
|
setResolvingHook(false);
|
|
307
265
|
}
|
|
308
266
|
},
|
|
309
|
-
[onResolveHook, hookToken, resolvingHook,
|
|
267
|
+
[onResolveHook, hookToken, resolvingHook, matchedSpanDetailData, data]
|
|
310
268
|
);
|
|
311
269
|
|
|
312
|
-
// Prefer externally-fetched details when available. For sleep spans, the
|
|
313
|
-
// host fetches full correlated events (withData=true) and materializes a wait
|
|
314
|
-
// entity, so this includes resumeAt/completedAt without bloating trace payloads.
|
|
315
|
-
const displayData = (spanDetailData ?? data) as
|
|
316
|
-
| WorkflowRun
|
|
317
|
-
| Step
|
|
318
|
-
| Hook
|
|
319
|
-
| Event;
|
|
320
|
-
|
|
321
270
|
const moduleSpecifier = useMemo(() => {
|
|
322
271
|
const displayRecord = displayData as Record<string, unknown>;
|
|
323
272
|
const displayStepName = displayRecord.stepName;
|
|
@@ -334,6 +283,21 @@ export function EntityDetailPanel({
|
|
|
334
283
|
return undefined;
|
|
335
284
|
}, [displayData, run.workflowName]);
|
|
336
285
|
|
|
286
|
+
const moduleSourceUrl = useMemo(() => {
|
|
287
|
+
if (!getModuleSourceUrl || !moduleSpecifier) return undefined;
|
|
288
|
+
const parsed =
|
|
289
|
+
parseStepName(moduleSpecifier) ?? parseWorkflowName(moduleSpecifier);
|
|
290
|
+
if (!parsed) return undefined;
|
|
291
|
+
const dataDeploymentId = displayData.deploymentId;
|
|
292
|
+
return getModuleSourceUrl({
|
|
293
|
+
moduleSpecifier: parsed.moduleSpecifier,
|
|
294
|
+
deploymentId:
|
|
295
|
+
typeof dataDeploymentId === 'string'
|
|
296
|
+
? dataDeploymentId
|
|
297
|
+
: run.deploymentId,
|
|
298
|
+
});
|
|
299
|
+
}, [getModuleSourceUrl, moduleSpecifier, displayData, run.deploymentId]);
|
|
300
|
+
|
|
337
301
|
if (!selectedSpan || !resource || !resourceId) {
|
|
338
302
|
return null;
|
|
339
303
|
}
|
|
@@ -345,9 +309,11 @@ export function EntityDetailPanel({
|
|
|
345
309
|
return (
|
|
346
310
|
<div className="flex h-full flex-col">
|
|
347
311
|
<DecryptClickContext.Provider
|
|
348
|
-
value={
|
|
312
|
+
value={
|
|
313
|
+
onDecrypt ? { onDecrypt, isDecrypting, hasEncryptedData } : undefined
|
|
314
|
+
}
|
|
349
315
|
>
|
|
350
|
-
<div className="flex-1 overflow-y-auto px-
|
|
316
|
+
<div className="flex-1 overflow-y-auto px-4 pb-8">
|
|
351
317
|
{hasPendingActions && (
|
|
352
318
|
<div
|
|
353
319
|
className="mb-4 rounded-lg border p-2"
|
|
@@ -357,7 +323,7 @@ export function EntityDetailPanel({
|
|
|
357
323
|
}}
|
|
358
324
|
>
|
|
359
325
|
<p
|
|
360
|
-
className="mb-2 px-1 text-
|
|
326
|
+
className="mb-2 px-1 text-label-13 font-medium uppercase tracking-wide"
|
|
361
327
|
style={{ color: 'var(--ds-gray-700)' }}
|
|
362
328
|
>
|
|
363
329
|
Actions
|
|
@@ -370,7 +336,7 @@ export function EntityDetailPanel({
|
|
|
370
336
|
onClick={handleWakeUp}
|
|
371
337
|
disabled={stoppingSleep}
|
|
372
338
|
className={clsx(
|
|
373
|
-
'flex items-center justify-center gap-2 rounded-md px-3 py-2 text-
|
|
339
|
+
'flex items-center justify-center gap-2 rounded-md px-3 py-2 text-button-14',
|
|
374
340
|
'disabled:opacity-50 disabled:cursor-not-allowed transition-colors',
|
|
375
341
|
stoppingSleep
|
|
376
342
|
? 'opacity-50 cursor-not-allowed'
|
|
@@ -393,7 +359,7 @@ export function EntityDetailPanel({
|
|
|
393
359
|
onClick={() => setShowResolveHookModal(true)}
|
|
394
360
|
disabled={resolvingHook}
|
|
395
361
|
className={clsx(
|
|
396
|
-
'flex items-center justify-center gap-2 rounded-md px-3 py-2 text-
|
|
362
|
+
'flex items-center justify-center gap-2 rounded-md px-3 py-2 text-button-14',
|
|
397
363
|
'disabled:opacity-50 disabled:cursor-not-allowed transition-colors',
|
|
398
364
|
resolvingHook
|
|
399
365
|
? 'opacity-50 cursor-not-allowed'
|
|
@@ -412,32 +378,32 @@ export function EntityDetailPanel({
|
|
|
412
378
|
</div>
|
|
413
379
|
)}
|
|
414
380
|
|
|
415
|
-
<
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
381
|
+
<AttributePanel
|
|
382
|
+
data={displayData}
|
|
383
|
+
moduleSpecifier={moduleSpecifier}
|
|
384
|
+
moduleSourceUrl={moduleSourceUrl}
|
|
385
|
+
expiredAt={run.expiredAt}
|
|
386
|
+
isLoading={loading}
|
|
387
|
+
error={error ?? undefined}
|
|
388
|
+
onStreamClick={onStreamClick}
|
|
389
|
+
onRunClick={onRunClick}
|
|
390
|
+
onDecrypt={onDecrypt}
|
|
391
|
+
isDecrypting={isDecrypting}
|
|
392
|
+
resource={resource}
|
|
393
|
+
/>
|
|
394
|
+
|
|
395
|
+
{rawEvents && (
|
|
396
|
+
<EventsList
|
|
397
|
+
events={rawEvents}
|
|
398
|
+
onLoadEventData={onLoadEventData}
|
|
399
|
+
onStreamClick={onStreamClick}
|
|
400
|
+
onRunClick={onRunClick}
|
|
401
|
+
encryptionKey={encryptionKey}
|
|
402
|
+
showSeparateEventOccurrenceTimestamps={
|
|
403
|
+
showSeparateEventOccurrenceTimestamps
|
|
404
|
+
}
|
|
405
|
+
/>
|
|
406
|
+
)}
|
|
441
407
|
</div>
|
|
442
408
|
</DecryptClickContext.Provider>
|
|
443
409
|
|