@workflow/web-shared 5.0.0-beta.38 → 5.0.0-beta.39
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 +3 -3
- package/dist/components/event-list-view.d.ts.map +1 -1
- package/dist/components/event-list-view.js +10 -10
- package/dist/components/index.d.ts +3 -5
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +3 -5
- package/dist/components/sidebar/attribute-panel.d.ts.map +1 -1
- package/dist/components/sidebar/attribute-panel.js +32 -8
- package/dist/components/sidebar/attributes-block.js +3 -3
- package/dist/components/sidebar/copyable-data-block.js +2 -2
- package/dist/components/sidebar/entity-detail-panel.js +3 -3
- package/dist/components/sidebar/events-list.js +2 -2
- package/dist/components/stream-viewer.js +2 -2
- 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.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.map +1 -0
- package/dist/components/trace-viewer/components/detail-panel.js +122 -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.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/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.map +1 -0
- package/dist/components/trace-viewer/components/minimap.js +337 -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.map +1 -0
- package/dist/components/trace-viewer/components/span-markers.js +85 -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.map +1 -0
- package/dist/components/trace-viewer/components/timeline.js +321 -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-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.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.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.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/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} +3 -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 +2 -2
- package/dist/components/ui/button.d.ts +1 -1
- package/dist/components/ui/button.d.ts.map +1 -1
- package/dist/components/ui/button.js +3 -3
- package/dist/components/ui/card.d.ts.map +1 -1
- package/dist/components/ui/card.js +3 -3
- package/dist/components/ui/error-card.js +2 -2
- package/dist/components/ui/error-stack-block.js +4 -4
- package/dist/components/ui/kbd.js +3 -3
- package/dist/components/ui/timestamp-tooltip.js +3 -3
- package/dist/components/workflow-traces/trace-span-construction.d.ts +1 -1
- package/dist/components/workflow-traces/trace-span-construction.js +1 -1
- package/dist/lib/trace-builder.d.ts +1 -1
- package/dist/lib/trace-builder.d.ts.map +1 -1
- package/dist/lib/trace-builder.js +1 -1
- 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/package.json +5 -5
- package/src/components/event-list-view.tsx +12 -9
- package/src/components/index.ts +3 -5
- package/src/components/sidebar/attribute-panel.tsx +46 -8
- package/src/components/sidebar/attributes-block.tsx +2 -2
- package/src/components/sidebar/copyable-data-block.tsx +1 -1
- package/src/components/sidebar/entity-detail-panel.tsx +3 -3
- package/src/components/sidebar/events-list.tsx +1 -1
- package/src/components/stream-viewer.tsx +1 -1
- package/src/components/{new-trace-viewer → trace-viewer}/components/event-list.tsx +1 -1
- package/src/components/{new-trace-viewer → trace-viewer}/components/minimap.tsx +1 -4
- package/src/components/{new-trace-viewer → trace-viewer}/components/timeline.tsx +2 -5
- package/src/components/{new-trace-viewer → trace-viewer}/components/trace-shortcut-helper.tsx +1 -1
- package/src/components/trace-viewer/context.tsx +63 -656
- package/src/components/trace-viewer/trace-viewer.tsx +563 -531
- package/src/components/trace-viewer/types.ts +2 -234
- package/src/components/{new-trace-viewer → trace-viewer}/utils.ts +2 -2
- package/src/components/{trace-viewer-new.tsx → trace-viewer.tsx} +5 -5
- package/src/components/ui/alert.tsx +1 -1
- package/src/components/ui/button.tsx +3 -3
- package/src/components/ui/card.tsx +2 -9
- package/src/components/ui/error-card.tsx +3 -3
- package/src/components/ui/error-stack-block.tsx +3 -3
- package/src/components/ui/kbd.tsx +2 -2
- package/src/components/ui/timestamp-tooltip.tsx +4 -4
- package/src/components/workflow-traces/trace-span-construction.ts +1 -1
- package/src/lib/trace-builder.ts +1 -1
- package/src/lib/trace-types.ts +56 -0
- 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/detail-panel-width.d.ts.map +0 -1
- package/dist/components/new-trace-viewer/components/detail-panel-width.js +0 -67
- package/dist/components/new-trace-viewer/components/detail-panel.d.ts.map +0 -1
- package/dist/components/new-trace-viewer/components/detail-panel.js +0 -122
- package/dist/components/new-trace-viewer/components/draggable-border.d.ts.map +0 -1
- package/dist/components/new-trace-viewer/components/draggable-border.js +0 -140
- 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 -47
- 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/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/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/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/minimap.d.ts.map +0 -1
- package/dist/components/new-trace-viewer/components/minimap.js +0 -337
- package/dist/components/new-trace-viewer/components/pane-constants.d.ts.map +0 -1
- package/dist/components/new-trace-viewer/components/pane-constants.js +0 -16
- package/dist/components/new-trace-viewer/components/span-markers.d.ts.map +0 -1
- package/dist/components/new-trace-viewer/components/span-markers.js +0 -85
- 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 -41
- package/dist/components/new-trace-viewer/components/timeline.d.ts.map +0 -1
- package/dist/components/new-trace-viewer/components/timeline.js +0 -321
- package/dist/components/new-trace-viewer/components/trace-shortcut-helper.d.ts.map +0 -1
- package/dist/components/new-trace-viewer/components/trace-shortcut-helper.js +0 -55
- package/dist/components/new-trace-viewer/components/trace-viewer-skeleton.d.ts.map +0 -1
- package/dist/components/new-trace-viewer/components/trace-viewer-skeleton.js +0 -26
- package/dist/components/new-trace-viewer/components/use-element-width.d.ts.map +0 -1
- package/dist/components/new-trace-viewer/components/use-element-width.js +0 -25
- package/dist/components/new-trace-viewer/components/use-row-window.d.ts.map +0 -1
- package/dist/components/new-trace-viewer/components/use-row-window.js +0 -107
- package/dist/components/new-trace-viewer/context.d.ts +0 -17
- package/dist/components/new-trace-viewer/context.d.ts.map +0 -1
- package/dist/components/new-trace-viewer/context.js +0 -48
- 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/search.d.ts.map +0 -1
- package/dist/components/new-trace-viewer/search.js +0 -134
- package/dist/components/new-trace-viewer/trace-viewer.d.ts +0 -11
- package/dist/components/new-trace-viewer/trace-viewer.d.ts.map +0 -1
- package/dist/components/new-trace-viewer/trace-viewer.js +0 -336
- package/dist/components/new-trace-viewer/types.d.ts +0 -3
- 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/utils.d.ts.map +0 -1
- package/dist/components/new-trace-viewer/utils.js +0 -430
- package/dist/components/run-trace-view.d.ts +0 -23
- package/dist/components/run-trace-view.d.ts.map +0 -1
- package/dist/components/run-trace-view.js +0 -11
- 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/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/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 -286
- 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.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/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-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-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-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/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/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-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/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/trace-viewer.module.css +0 -1465
- 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/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/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/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-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-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/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-new.d.ts.map +0 -1
- package/dist/components/trace-viewer-new.js +0 -21
- package/dist/components/workflow-trace-view.d.ts +0 -39
- package/dist/components/workflow-trace-view.d.ts.map +0 -1
- package/dist/components/workflow-trace-view.js +0 -690
- 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 -86
- package/src/components/new-trace-viewer/context.tsx +0 -93
- package/src/components/new-trace-viewer/trace-viewer.tsx +0 -632
- package/src/components/new-trace-viewer/types.ts +0 -2
- package/src/components/run-trace-view.tsx +0 -80
- 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 -506
- 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/workflow-trace-view.tsx +0 -1166
- 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/detail-panel-width.d.ts +0 -0
- package/dist/components/{new-trace-viewer → trace-viewer}/components/detail-panel.d.ts +0 -0
- package/dist/components/{new-trace-viewer → trace-viewer}/components/draggable-border.d.ts +0 -0
- package/dist/components/{new-trace-viewer → trace-viewer}/components/event-list.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/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}/components/minimap.d.ts +0 -0
- package/dist/components/{new-trace-viewer → trace-viewer}/components/pane-constants.d.ts +0 -0
- package/dist/components/{new-trace-viewer → trace-viewer}/components/span-markers.d.ts +0 -0
- package/dist/components/{new-trace-viewer → trace-viewer}/components/split-pane.d.ts +0 -0
- package/dist/components/{new-trace-viewer → trace-viewer}/components/timeline.d.ts +0 -0
- package/dist/components/{new-trace-viewer → trace-viewer}/components/timeline.module.css +0 -0
- package/dist/components/{new-trace-viewer → trace-viewer}/components/trace-shortcut-helper.d.ts +0 -0
- package/dist/components/{new-trace-viewer → trace-viewer}/components/trace-shortcut-helper.module.css +0 -0
- package/dist/components/{new-trace-viewer → trace-viewer}/components/trace-viewer-skeleton.d.ts +0 -0
- package/dist/components/{new-trace-viewer → trace-viewer}/components/use-element-width.d.ts +0 -0
- package/dist/components/{new-trace-viewer → trace-viewer}/components/use-row-window.d.ts +0 -0
- package/dist/components/{new-trace-viewer → trace-viewer}/icons.d.ts +0 -0
- package/dist/components/{new-trace-viewer → trace-viewer}/search.d.ts +0 -0
- package/dist/components/{new-trace-viewer → trace-viewer}/utils.d.ts +0 -0
- package/src/components/{new-trace-viewer → trace-viewer}/components/copy-button.tsx +0 -0
- package/src/components/{new-trace-viewer → trace-viewer}/components/detail-panel-width.test.ts +0 -0
- package/src/components/{new-trace-viewer → trace-viewer}/components/detail-panel-width.ts +0 -0
- package/src/components/{new-trace-viewer → trace-viewer}/components/detail-panel.tsx +0 -0
- package/src/components/{new-trace-viewer → trace-viewer}/components/draggable-border.tsx +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/middle-truncate.tsx +1 -1
- /package/src/components/{new-trace-viewer → trace-viewer}/components/middle-truncate/truncate.ts +0 -0
- /package/src/components/{new-trace-viewer → trace-viewer}/components/middle-truncate/use-middle-truncate.ts +0 -0
- /package/src/components/{new-trace-viewer → trace-viewer}/components/pane-constants.ts +0 -0
- /package/src/components/{new-trace-viewer → trace-viewer}/components/span-markers.tsx +0 -0
- /package/src/components/{new-trace-viewer → trace-viewer}/components/split-pane.tsx +0 -0
- /package/src/components/{new-trace-viewer → trace-viewer}/components/timeline.module.css +0 -0
- /package/src/components/{new-trace-viewer → trace-viewer}/components/trace-shortcut-helper.module.css +0 -0
- /package/src/components/{new-trace-viewer → trace-viewer}/components/trace-viewer-skeleton.tsx +0 -0
- /package/src/components/{new-trace-viewer → trace-viewer}/components/use-element-width.ts +0 -0
- /package/src/components/{new-trace-viewer → trace-viewer}/components/use-row-window.ts +0 -0
- /package/src/components/{new-trace-viewer → trace-viewer}/icons.tsx +0 -0
- /package/src/components/{new-trace-viewer → trace-viewer}/search.ts +0 -0
- /package/src/components/{new-trace-viewer → trace-viewer}/utils.test.ts +0 -0
- /package/src/{components/trace-viewer/modules.d.ts → modules.d.ts} +0 -0
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
export interface Span {
|
|
2
|
+
name: string;
|
|
3
|
+
kind: number;
|
|
4
|
+
resource: string;
|
|
5
|
+
library: {
|
|
6
|
+
name: string;
|
|
7
|
+
version?: string;
|
|
8
|
+
};
|
|
9
|
+
spanId: string;
|
|
10
|
+
parentSpanId?: string;
|
|
11
|
+
status: {
|
|
12
|
+
code: number;
|
|
13
|
+
};
|
|
14
|
+
traceFlags: number;
|
|
15
|
+
attributes: Record<string, unknown>;
|
|
16
|
+
links: Record<string, unknown>[];
|
|
17
|
+
events: SpanEvent[];
|
|
18
|
+
startTime: [number, number];
|
|
19
|
+
endTime: [number, number];
|
|
20
|
+
duration: [number, number];
|
|
21
|
+
/**
|
|
22
|
+
* The time when the span became active/started executing (optional).
|
|
23
|
+
* If provided and different from startTime, the portion between startTime
|
|
24
|
+
* and activeStartTime will be rendered as a "queued" period with different styling.
|
|
25
|
+
*/
|
|
26
|
+
activeStartTime?: [number, number];
|
|
27
|
+
}
|
|
28
|
+
export interface SpanEvent {
|
|
29
|
+
name: string;
|
|
30
|
+
timestamp: [number, number];
|
|
31
|
+
attributes: Record<string, unknown>;
|
|
32
|
+
/**
|
|
33
|
+
* Optional custom color for this event marker (workflow-specific feature).
|
|
34
|
+
* If provided, this color will be used for the event marker line/diamond.
|
|
35
|
+
*/
|
|
36
|
+
color?: string;
|
|
37
|
+
/**
|
|
38
|
+
* Whether to show a vertical line for this event in the timeline (workflow-specific feature).
|
|
39
|
+
* If false, only the diamond marker on the span will be shown.
|
|
40
|
+
* Defaults to true if not specified.
|
|
41
|
+
*/
|
|
42
|
+
showVerticalLine?: boolean;
|
|
43
|
+
}
|
|
44
|
+
export interface Resource {
|
|
45
|
+
name: string;
|
|
46
|
+
attributes: Record<string, string>;
|
|
47
|
+
}
|
|
48
|
+
export interface Trace {
|
|
49
|
+
traceId: string;
|
|
50
|
+
resources?: Resource[];
|
|
51
|
+
spans: Span[];
|
|
52
|
+
rootSpanId?: string;
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=trace-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trace-types.d.ts","sourceRoot":"","sources":["../../src/lib/trace-types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IACjC,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1B,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3B;;;;OAIG;IACH,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,KAAK;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhY2UtdHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL3RyYWNlLXR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFNwYW4ge1xuICBuYW1lOiBzdHJpbmc7XG4gIGtpbmQ6IG51bWJlcjtcbiAgcmVzb3VyY2U6IHN0cmluZztcbiAgbGlicmFyeToge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICB2ZXJzaW9uPzogc3RyaW5nO1xuICB9O1xuICBzcGFuSWQ6IHN0cmluZztcbiAgcGFyZW50U3BhbklkPzogc3RyaW5nO1xuICBzdGF0dXM6IHtcbiAgICBjb2RlOiBudW1iZXI7XG4gIH07XG4gIHRyYWNlRmxhZ3M6IG51bWJlcjtcbiAgYXR0cmlidXRlczogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gIGxpbmtzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdO1xuICBldmVudHM6IFNwYW5FdmVudFtdO1xuICBzdGFydFRpbWU6IFtudW1iZXIsIG51bWJlcl07XG4gIGVuZFRpbWU6IFtudW1iZXIsIG51bWJlcl07XG4gIGR1cmF0aW9uOiBbbnVtYmVyLCBudW1iZXJdO1xuICAvKipcbiAgICogVGhlIHRpbWUgd2hlbiB0aGUgc3BhbiBiZWNhbWUgYWN0aXZlL3N0YXJ0ZWQgZXhlY3V0aW5nIChvcHRpb25hbCkuXG4gICAqIElmIHByb3ZpZGVkIGFuZCBkaWZmZXJlbnQgZnJvbSBzdGFydFRpbWUsIHRoZSBwb3J0aW9uIGJldHdlZW4gc3RhcnRUaW1lXG4gICAqIGFuZCBhY3RpdmVTdGFydFRpbWUgd2lsbCBiZSByZW5kZXJlZCBhcyBhIFwicXVldWVkXCIgcGVyaW9kIHdpdGggZGlmZmVyZW50IHN0eWxpbmcuXG4gICAqL1xuICBhY3RpdmVTdGFydFRpbWU/OiBbbnVtYmVyLCBudW1iZXJdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNwYW5FdmVudCB7XG4gIG5hbWU6IHN0cmluZztcbiAgdGltZXN0YW1wOiBbbnVtYmVyLCBudW1iZXJdO1xuICBhdHRyaWJ1dGVzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgLyoqXG4gICAqIE9wdGlvbmFsIGN1c3RvbSBjb2xvciBmb3IgdGhpcyBldmVudCBtYXJrZXIgKHdvcmtmbG93LXNwZWNpZmljIGZlYXR1cmUpLlxuICAgKiBJZiBwcm92aWRlZCwgdGhpcyBjb2xvciB3aWxsIGJlIHVzZWQgZm9yIHRoZSBldmVudCBtYXJrZXIgbGluZS9kaWFtb25kLlxuICAgKi9cbiAgY29sb3I/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHNob3cgYSB2ZXJ0aWNhbCBsaW5lIGZvciB0aGlzIGV2ZW50IGluIHRoZSB0aW1lbGluZSAod29ya2Zsb3ctc3BlY2lmaWMgZmVhdHVyZSkuXG4gICAqIElmIGZhbHNlLCBvbmx5IHRoZSBkaWFtb25kIG1hcmtlciBvbiB0aGUgc3BhbiB3aWxsIGJlIHNob3duLlxuICAgKiBEZWZhdWx0cyB0byB0cnVlIGlmIG5vdCBzcGVjaWZpZWQuXG4gICAqL1xuICBzaG93VmVydGljYWxMaW5lPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXNvdXJjZSB7XG4gIG5hbWU6IHN0cmluZztcbiAgYXR0cmlidXRlczogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFjZSB7XG4gIHRyYWNlSWQ6IHN0cmluZztcbiAgcmVzb3VyY2VzPzogUmVzb3VyY2VbXTtcbiAgc3BhbnM6IFNwYW5bXTtcbiAgcm9vdFNwYW5JZD86IHN0cmluZztcbn1cbiJdfQ==
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@workflow/web-shared",
|
|
3
3
|
"description": "Shared components for Workflow Observability UI",
|
|
4
|
-
"version": "5.0.0-beta.
|
|
4
|
+
"version": "5.0.0-beta.39",
|
|
5
5
|
"private": false,
|
|
6
6
|
"files": [
|
|
7
7
|
"dist",
|
|
@@ -55,9 +55,9 @@
|
|
|
55
55
|
"streamdown": "2.3.0",
|
|
56
56
|
"tailwind-merge": "3.5.0",
|
|
57
57
|
"tailwindcss": "4",
|
|
58
|
-
"@workflow/core": "5.0.0-beta.
|
|
58
|
+
"@workflow/core": "5.0.0-beta.39",
|
|
59
59
|
"@workflow/utils": "5.0.0-beta.8",
|
|
60
|
-
"@workflow/world": "5.0.0-beta.
|
|
60
|
+
"@workflow/world": "5.0.0-beta.24"
|
|
61
61
|
},
|
|
62
62
|
"devDependencies": {
|
|
63
63
|
"@biomejs/biome": "^2.4.4",
|
|
@@ -67,11 +67,11 @@
|
|
|
67
67
|
"ai": "6.0.116",
|
|
68
68
|
"typescript": "^6.0.3",
|
|
69
69
|
"vitest": "^4.1.10",
|
|
70
|
-
"@workflow/errors": "5.0.0-beta.
|
|
70
|
+
"@workflow/errors": "5.0.0-beta.15",
|
|
71
71
|
"@workflow/tsconfig": "5.0.0-beta.0"
|
|
72
72
|
},
|
|
73
73
|
"scripts": {
|
|
74
|
-
"build": "tsc && cp
|
|
74
|
+
"build": "tsc && cp src/components/trace-viewer/components/*.module.css dist/components/trace-viewer/components/ && cp src/styles.css dist/styles.css",
|
|
75
75
|
"dev": "tsc --watch",
|
|
76
76
|
"clean": "tsc --build --clean && rm -r dist ||:",
|
|
77
77
|
"test": "vitest run",
|
|
@@ -639,7 +639,10 @@ function PayloadBlock({
|
|
|
639
639
|
: null;
|
|
640
640
|
if (cancelReason) {
|
|
641
641
|
return (
|
|
642
|
-
<div
|
|
642
|
+
<div
|
|
643
|
+
className="p-2 text-label-12"
|
|
644
|
+
style={{ color: 'var(--ds-gray-1000)' }}
|
|
645
|
+
>
|
|
643
646
|
<span style={{ color: 'var(--ds-gray-900)' }}>Reason: </span>
|
|
644
647
|
<span className="whitespace-pre-wrap break-words">
|
|
645
648
|
{cancelReason}
|
|
@@ -660,7 +663,7 @@ function PayloadBlock({
|
|
|
660
663
|
<button
|
|
661
664
|
type="button"
|
|
662
665
|
onClick={handleCopy}
|
|
663
|
-
className="absolute bottom-2 right-2 opacity-0 group-hover/payload:opacity-100 transition-opacity flex items-center gap-1 px-2 py-1 rounded-md text-
|
|
666
|
+
className="absolute bottom-2 right-2 opacity-0 group-hover/payload:opacity-100 transition-opacity flex items-center gap-1 px-2 py-1 rounded-md text-button-12 hover:bg-[var(--ds-gray-alpha-200)]"
|
|
664
667
|
style={{ ...BUTTON_RESET_STYLE, color: 'var(--ds-gray-700)' }}
|
|
665
668
|
aria-label="Copy payload"
|
|
666
669
|
>
|
|
@@ -1028,7 +1031,7 @@ export function EventRow({
|
|
|
1028
1031
|
onKeyDown={(e) => {
|
|
1029
1032
|
if (e.key === 'Enter' || e.key === ' ') handleRowClick();
|
|
1030
1033
|
}}
|
|
1031
|
-
className="w-full text-left flex items-center gap-0 text-
|
|
1034
|
+
className="w-full text-left flex items-center gap-0 text-label-13 hover:bg-[var(--ds-gray-alpha-100)] transition-colors cursor-pointer"
|
|
1032
1035
|
style={{ minHeight: 40 }}
|
|
1033
1036
|
>
|
|
1034
1037
|
<TreeGutter
|
|
@@ -1185,7 +1188,7 @@ export function EventRow({
|
|
|
1185
1188
|
{(durationInfo?.queued !== undefined ||
|
|
1186
1189
|
durationInfo?.ran !== undefined) && (
|
|
1187
1190
|
<div
|
|
1188
|
-
className="px-2 pb-1.5 text-
|
|
1191
|
+
className="px-2 pb-1.5 text-label-12 flex gap-3"
|
|
1189
1192
|
style={{ color: 'var(--ds-gray-900)' }}
|
|
1190
1193
|
>
|
|
1191
1194
|
{durationInfo.queued !== undefined &&
|
|
@@ -1213,7 +1216,7 @@ export function EventRow({
|
|
|
1213
1216
|
<PayloadBlock data={displayPayload} eventType={event.eventType} />
|
|
1214
1217
|
) : loadError ? (
|
|
1215
1218
|
<div
|
|
1216
|
-
className="rounded-md border p-3 text-
|
|
1219
|
+
className="rounded-md border p-3 text-label-12"
|
|
1217
1220
|
style={{
|
|
1218
1221
|
borderColor: 'var(--ds-red-400)',
|
|
1219
1222
|
backgroundColor: 'var(--ds-red-100)',
|
|
@@ -1233,7 +1236,7 @@ export function EventRow({
|
|
|
1233
1236
|
</div>
|
|
1234
1237
|
) : (
|
|
1235
1238
|
<div
|
|
1236
|
-
className="p-2 text-
|
|
1239
|
+
className="p-2 text-label-12"
|
|
1237
1240
|
style={{ color: 'var(--ds-gray-900)' }}
|
|
1238
1241
|
>
|
|
1239
1242
|
No data
|
|
@@ -1708,7 +1711,7 @@ function EventListViewInner({
|
|
|
1708
1711
|
|
|
1709
1712
|
{/* Header */}
|
|
1710
1713
|
<div
|
|
1711
|
-
className="flex items-center gap-0 text-
|
|
1714
|
+
className="flex items-center gap-0 text-label-13 font-medium h-10 border-b flex-shrink-0"
|
|
1712
1715
|
style={{
|
|
1713
1716
|
borderColor: 'var(--ds-gray-alpha-200)',
|
|
1714
1717
|
color: 'var(--ds-gray-900)',
|
|
@@ -1748,7 +1751,7 @@ function EventListViewInner({
|
|
|
1748
1751
|
/>
|
|
1749
1752
|
) : sortedEvents.length === 0 ? (
|
|
1750
1753
|
<div
|
|
1751
|
-
className="flex flex-1 items-center justify-center px-6 text-center text-
|
|
1754
|
+
className="flex flex-1 items-center justify-center px-6 text-center text-copy-14"
|
|
1752
1755
|
style={{ color: 'var(--ds-gray-700)' }}
|
|
1753
1756
|
>
|
|
1754
1757
|
{searchNotFound && searchQuery.trim()
|
|
@@ -1813,7 +1816,7 @@ function EventListViewInner({
|
|
|
1813
1816
|
|
|
1814
1817
|
{/* Fixed footer — count + load more */}
|
|
1815
1818
|
<div
|
|
1816
|
-
className="relative flex-shrink-0 flex items-center h-10 border-t px-4 text-
|
|
1819
|
+
className="relative flex-shrink-0 flex items-center h-10 border-t px-4 text-label-12"
|
|
1817
1820
|
style={{
|
|
1818
1821
|
borderColor: 'var(--ds-gray-alpha-200)',
|
|
1819
1822
|
color: 'var(--ds-gray-900)',
|
package/src/components/index.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export type { Span, SpanEvent } from '../lib/trace-types';
|
|
1
2
|
export { ErrorBoundary } from './error-boundary';
|
|
2
3
|
export { EventListView } from './event-list-view';
|
|
3
4
|
export type {
|
|
@@ -13,8 +14,6 @@ export {
|
|
|
13
14
|
ResolveHookModal,
|
|
14
15
|
useHookActions,
|
|
15
16
|
} from './hook-actions';
|
|
16
|
-
export { TraceViewerSkeleton } from './new-trace-viewer/components/trace-viewer-skeleton';
|
|
17
|
-
export { RunTraceView } from './run-trace-view';
|
|
18
17
|
export { ConversationView } from './sidebar/conversation-view';
|
|
19
18
|
export type {
|
|
20
19
|
SelectedSpanInfo,
|
|
@@ -30,8 +29,8 @@ export type {
|
|
|
30
29
|
} from './sidebar/use-selected-span-detail';
|
|
31
30
|
export { type StreamChunk, StreamViewer } from './stream-viewer';
|
|
32
31
|
export { StreamViewerSkeleton } from './stream-viewer-skeleton';
|
|
33
|
-
export
|
|
34
|
-
export {
|
|
32
|
+
export { TraceViewer } from './trace-viewer';
|
|
33
|
+
export { TraceViewerSkeleton } from './trace-viewer/components/trace-viewer-skeleton';
|
|
35
34
|
export {
|
|
36
35
|
DataInspector,
|
|
37
36
|
type DataInspectorProps,
|
|
@@ -44,4 +43,3 @@ export { Kbd } from './ui/kbd';
|
|
|
44
43
|
export { LoadMoreButton } from './ui/load-more-button';
|
|
45
44
|
export { MenuDropdown, type MenuDropdownOption } from './ui/menu-dropdown';
|
|
46
45
|
export { Spinner } from './ui/spinner';
|
|
47
|
-
export { WorkflowTraceViewer } from './workflow-trace-view';
|
|
@@ -204,7 +204,7 @@ function EncryptedFieldBlock() {
|
|
|
204
204
|
function ExpiredFieldBlock() {
|
|
205
205
|
return (
|
|
206
206
|
<div
|
|
207
|
-
className="flex items-center gap-1.5 rounded-md border px-3 py-2 text-
|
|
207
|
+
className="flex items-center gap-1.5 rounded-md border px-3 py-2 text-label-12"
|
|
208
208
|
style={{
|
|
209
209
|
borderColor: 'var(--ds-gray-300)',
|
|
210
210
|
backgroundColor: 'var(--ds-gray-100)',
|
|
@@ -243,7 +243,14 @@ type AttributeKey =
|
|
|
243
243
|
| 'lastReceivedAt'
|
|
244
244
|
| 'disposedAt'
|
|
245
245
|
| 'isSystem'
|
|
246
|
-
| 'errorCode'
|
|
246
|
+
| 'errorCode'
|
|
247
|
+
// Analytics-only provenance (AnalyticsEvent / AnalyticsStep), not on Event.
|
|
248
|
+
| 'computeInstanceId'
|
|
249
|
+
// Analytics-only, and event-grained: only AnalyticsEvent carries it. The key
|
|
250
|
+
// is `vercelId` because that is the name the backend stores the SDK's
|
|
251
|
+
// `requestId` under; AnalyticsEvent's sibling `requestId` column is never
|
|
252
|
+
// written, so reading that one would always be empty.
|
|
253
|
+
| 'vercelId';
|
|
247
254
|
|
|
248
255
|
const attributeOrder: AttributeKey[] = [
|
|
249
256
|
'workflowName',
|
|
@@ -256,12 +263,16 @@ const attributeOrder: AttributeKey[] = [
|
|
|
256
263
|
'runId',
|
|
257
264
|
'attempt',
|
|
258
265
|
'token',
|
|
266
|
+
'isWebhook',
|
|
267
|
+
'isSystem',
|
|
259
268
|
'receivedCount',
|
|
260
269
|
'lastReceivedAt',
|
|
261
270
|
'disposedAt',
|
|
262
271
|
'correlationId',
|
|
263
272
|
'eventType',
|
|
264
273
|
'deploymentId',
|
|
274
|
+
'vercelId',
|
|
275
|
+
'computeInstanceId',
|
|
265
276
|
'specVersion',
|
|
266
277
|
'workflowCoreVersion',
|
|
267
278
|
'ownerId',
|
|
@@ -275,6 +286,7 @@ const attributeOrder: AttributeKey[] = [
|
|
|
275
286
|
'completedAt',
|
|
276
287
|
'expiredAt',
|
|
277
288
|
'retryAfter',
|
|
289
|
+
'errorCode',
|
|
278
290
|
'error',
|
|
279
291
|
'metadata',
|
|
280
292
|
'eventData',
|
|
@@ -284,12 +296,19 @@ const attributeOrder: AttributeKey[] = [
|
|
|
284
296
|
'resumeAt',
|
|
285
297
|
];
|
|
286
298
|
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
299
|
+
/**
|
|
300
|
+
* Rank of an attribute in {@link attributeOrder}. Keys absent from that list
|
|
301
|
+
* sort after every listed one rather than before them — `indexOf` reports a
|
|
302
|
+
* miss as `-1`, which is truthy, so a `|| 0` fallback never fires.
|
|
303
|
+
*/
|
|
304
|
+
const attributeOrderIndex = (attribute: string): number => {
|
|
305
|
+
const index = attributeOrder.indexOf(attribute as AttributeKey);
|
|
306
|
+
return index === -1 ? attributeOrder.length : index;
|
|
291
307
|
};
|
|
292
308
|
|
|
309
|
+
const sortByAttributeOrder = (a: string, b: string): number =>
|
|
310
|
+
attributeOrderIndex(a) - attributeOrderIndex(b);
|
|
311
|
+
|
|
293
312
|
/**
|
|
294
313
|
* Display names for attributes that should render differently from their key.
|
|
295
314
|
*/
|
|
@@ -307,6 +326,8 @@ const attributeDisplayNames: Partial<Record<AttributeKey, string>> = {
|
|
|
307
326
|
errorCode: 'Error Code',
|
|
308
327
|
correlationId: 'Correlation ID',
|
|
309
328
|
deploymentId: 'Deployment ID',
|
|
329
|
+
vercelId: 'Request ID',
|
|
330
|
+
computeInstanceId: 'Compute Instance ID',
|
|
310
331
|
specVersion: 'Spec Version',
|
|
311
332
|
workflowCoreVersion: '@workflow/core version',
|
|
312
333
|
occurredAt: 'Occurred',
|
|
@@ -388,6 +409,14 @@ const timestampWithTooltipOrNull = (value: unknown): ReactNode | null => {
|
|
|
388
409
|
);
|
|
389
410
|
};
|
|
390
411
|
|
|
412
|
+
/**
|
|
413
|
+
* Renders an opaque provenance id. The analytics read contract types these as
|
|
414
|
+
* nullable, and only a `null` return is filtered out of the panel, so a bare
|
|
415
|
+
* `String()` would surface the literal text "null" as the value.
|
|
416
|
+
*/
|
|
417
|
+
const opaqueIdOrNull = (value: unknown): string | null =>
|
|
418
|
+
hasDisplayContent(value) ? String(value) : null;
|
|
419
|
+
|
|
391
420
|
interface DisplayContext {
|
|
392
421
|
stepName?: string;
|
|
393
422
|
sectionOpen?: boolean;
|
|
@@ -419,11 +448,15 @@ const attributeToDisplayFn: Record<
|
|
|
419
448
|
disposedAt: localMillisecondTimeOrNull,
|
|
420
449
|
// Internal resume plumbing — not surfaced in the UI
|
|
421
450
|
resumeContext: (_value: unknown) => null,
|
|
451
|
+
resumeId: (_value: unknown) => null,
|
|
452
|
+
resumeCapabilities: (_value: unknown) => null,
|
|
422
453
|
// Event details
|
|
423
454
|
eventType: (value: unknown) => String(value),
|
|
424
455
|
correlationId: (value: unknown) => String(value),
|
|
425
456
|
// Project details
|
|
426
457
|
deploymentId: (value: unknown) => String(value),
|
|
458
|
+
vercelId: opaqueIdOrNull,
|
|
459
|
+
computeInstanceId: opaqueIdOrNull,
|
|
427
460
|
specVersion: (value: unknown) => String(value),
|
|
428
461
|
workflowCoreVersion: (value: unknown) => String(value),
|
|
429
462
|
// Tenancy (we don't show these)
|
|
@@ -668,7 +701,7 @@ const selfHeaderedAttributes = new Set([
|
|
|
668
701
|
|
|
669
702
|
const ExpiredDataMessage = () => (
|
|
670
703
|
<div
|
|
671
|
-
className="text-
|
|
704
|
+
className="text-label-12 rounded-md border p-4 my-2"
|
|
672
705
|
style={{
|
|
673
706
|
borderColor: 'var(--ds-gray-300)',
|
|
674
707
|
backgroundColor: 'var(--ds-gray-100)',
|
|
@@ -684,6 +717,8 @@ const copyableBasicAttributes = new Set<AttributeKey>([
|
|
|
684
717
|
'hookId',
|
|
685
718
|
'eventId',
|
|
686
719
|
'deploymentId',
|
|
720
|
+
'vercelId',
|
|
721
|
+
'computeInstanceId',
|
|
687
722
|
'moduleSpecifier',
|
|
688
723
|
'token',
|
|
689
724
|
]);
|
|
@@ -776,7 +811,10 @@ export const AttributeBlock = ({
|
|
|
776
811
|
<span className="text-label-14 text-gray-1000 font-medium first-letter:uppercase">
|
|
777
812
|
{attribute}
|
|
778
813
|
</span>
|
|
779
|
-
<span
|
|
814
|
+
<span
|
|
815
|
+
className="text-label-12"
|
|
816
|
+
style={{ color: 'var(--ds-gray-1000)' }}
|
|
817
|
+
>
|
|
780
818
|
{displayValue}
|
|
781
819
|
</span>
|
|
782
820
|
</div>
|
|
@@ -8,8 +8,8 @@ import { cva, type VariantProps } from 'class-variance-authority';
|
|
|
8
8
|
import { ArrowUpRight } from 'lucide-react';
|
|
9
9
|
import type { ReactNode } from 'react';
|
|
10
10
|
import { cn } from '../../lib/cn';
|
|
11
|
-
import { CopyButton } from '../
|
|
12
|
-
import { MiddleTruncate } from '../
|
|
11
|
+
import { CopyButton } from '../trace-viewer/components/copy-button';
|
|
12
|
+
import { MiddleTruncate } from '../trace-viewer/components/middle-truncate/middle-truncate';
|
|
13
13
|
import {
|
|
14
14
|
CollapsibleContent,
|
|
15
15
|
CollapsibleRoot,
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import { Lock } from 'lucide-react';
|
|
4
4
|
import { useContext } from 'react';
|
|
5
|
-
import { CopyButton } from '../
|
|
5
|
+
import { CopyButton } from '../trace-viewer/components/copy-button';
|
|
6
6
|
import { Button } from '../ui/button';
|
|
7
7
|
import { DataInspector, DecryptClickContext } from '../ui/data-inspector';
|
|
8
8
|
import { Spinner } from '../ui/spinner';
|
|
@@ -323,7 +323,7 @@ export function EntityDetailPanel({
|
|
|
323
323
|
}}
|
|
324
324
|
>
|
|
325
325
|
<p
|
|
326
|
-
className="mb-2 px-1 text-
|
|
326
|
+
className="mb-2 px-1 text-label-13 font-medium uppercase tracking-wide"
|
|
327
327
|
style={{ color: 'var(--ds-gray-700)' }}
|
|
328
328
|
>
|
|
329
329
|
Actions
|
|
@@ -336,7 +336,7 @@ export function EntityDetailPanel({
|
|
|
336
336
|
onClick={handleWakeUp}
|
|
337
337
|
disabled={stoppingSleep}
|
|
338
338
|
className={clsx(
|
|
339
|
-
'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',
|
|
340
340
|
'disabled:opacity-50 disabled:cursor-not-allowed transition-colors',
|
|
341
341
|
stoppingSleep
|
|
342
342
|
? 'opacity-50 cursor-not-allowed'
|
|
@@ -359,7 +359,7 @@ export function EntityDetailPanel({
|
|
|
359
359
|
onClick={() => setShowResolveHookModal(true)}
|
|
360
360
|
disabled={resolvingHook}
|
|
361
361
|
className={clsx(
|
|
362
|
-
'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',
|
|
363
363
|
'disabled:opacity-50 disabled:cursor-not-allowed transition-colors',
|
|
364
364
|
resolvingHook
|
|
365
365
|
? 'opacity-50 cursor-not-allowed'
|
|
@@ -238,7 +238,7 @@ function EventDataBlock({
|
|
|
238
238
|
if (isExpiredMarker(data) || hasOnlyExpiredFields(data, eventType)) {
|
|
239
239
|
return (
|
|
240
240
|
<div
|
|
241
|
-
className="flex items-center gap-1.5 rounded-md border px-3 py-2 text-
|
|
241
|
+
className="flex items-center gap-1.5 rounded-md border px-3 py-2 text-label-12"
|
|
242
242
|
style={{
|
|
243
243
|
borderColor: 'var(--ds-gray-300)',
|
|
244
244
|
backgroundColor: 'var(--ds-gray-100)',
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
import React, { useEffect, useRef } from 'react';
|
|
4
4
|
import { Virtuoso, type VirtuosoHandle } from 'react-virtuoso';
|
|
5
|
-
import { CopyButton } from './new-trace-viewer/components/copy-button';
|
|
6
5
|
import { serializeForClipboard } from './sidebar/copyable-data-block';
|
|
7
6
|
import { StreamViewerSkeleton } from './stream-viewer-skeleton';
|
|
7
|
+
import { CopyButton } from './trace-viewer/components/copy-button';
|
|
8
8
|
import { DataInspector } from './ui/data-inspector';
|
|
9
9
|
|
|
10
10
|
// ──────────────────────────────────────────────────────────────────────────
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Circle } from 'lucide-react';
|
|
2
2
|
import { useRef } from 'react';
|
|
3
3
|
import { cn } from '../../../lib/cn';
|
|
4
|
-
import { formatDurationPrecise } from '../../trace-viewer/util/timing';
|
|
5
4
|
import { Tooltip, TooltipContent, TooltipTrigger } from '../../ui/tooltip';
|
|
6
5
|
import {
|
|
7
6
|
SleepIcon,
|
|
@@ -11,6 +10,7 @@ import {
|
|
|
11
10
|
} from '../icons';
|
|
12
11
|
import { isSpanDimmedBySearch, type SpanSearchResult } from '../search';
|
|
13
12
|
import type { Span } from '../types';
|
|
13
|
+
import { formatDurationPrecise } from '../util/timing';
|
|
14
14
|
import { getSpanDurationMs, isSpanErrored } from '../utils';
|
|
15
15
|
import { MiddleTruncate } from './middle-truncate/middle-truncate';
|
|
16
16
|
import { ROW_HEIGHT_PX, useRowWindow } from './use-row-window';
|
|
@@ -10,11 +10,8 @@ import {
|
|
|
10
10
|
useState,
|
|
11
11
|
} from 'react';
|
|
12
12
|
import { cn } from '../../../lib/cn';
|
|
13
|
-
import {
|
|
14
|
-
formatDurationPrecise,
|
|
15
|
-
getHighResInMs,
|
|
16
|
-
} from '../../trace-viewer/util/timing';
|
|
17
13
|
import type { Span } from '../types';
|
|
14
|
+
import { formatDurationPrecise, getHighResInMs } from '../util/timing';
|
|
18
15
|
import {
|
|
19
16
|
clampViewportToRoot,
|
|
20
17
|
isSpanErrored,
|
|
@@ -12,12 +12,9 @@ import {
|
|
|
12
12
|
useState,
|
|
13
13
|
} from 'react';
|
|
14
14
|
import { cn } from '../../../lib/cn';
|
|
15
|
-
import {
|
|
16
|
-
formatDurationPrecise,
|
|
17
|
-
getHighResInMs,
|
|
18
|
-
} from '../../trace-viewer/util/timing';
|
|
19
15
|
import { isSpanDimmedBySearch, type SpanSearchResult } from '../search';
|
|
20
16
|
import type { Span } from '../types';
|
|
17
|
+
import { formatDurationPrecise, getHighResInMs } from '../util/timing';
|
|
21
18
|
import type {
|
|
22
19
|
OffscreenMarkers,
|
|
23
20
|
Segment,
|
|
@@ -664,7 +661,7 @@ export function TimelineHeader({
|
|
|
664
661
|
{markers.map((m) => (
|
|
665
662
|
<span
|
|
666
663
|
key={String(m.value)}
|
|
667
|
-
className="absolute bottom-1
|
|
664
|
+
className="absolute bottom-1 text-label-12-mono text-gray-900 whitespace-nowrap"
|
|
668
665
|
style={{ left: `${m.position * 100}%` }}
|
|
669
666
|
>
|
|
670
667
|
{m.label}
|
package/src/components/{new-trace-viewer → trace-viewer}/components/trace-shortcut-helper.tsx
RENAMED
|
@@ -86,7 +86,7 @@ export function TraceShortcutHelper({
|
|
|
86
86
|
};
|
|
87
87
|
|
|
88
88
|
return (
|
|
89
|
-
<div className="group pointer-events-auto hidden h-8 w-fit items-center gap-1 text-
|
|
89
|
+
<div className="group pointer-events-auto hidden h-8 w-fit items-center gap-1 text-label-12 leading-none text-gray-900 @min-[480px]:flex">
|
|
90
90
|
<span
|
|
91
91
|
aria-live="polite"
|
|
92
92
|
aria-atomic="true"
|