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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (145) hide show
  1. package/dist/components/error-boundary.d.ts +15 -20
  2. package/dist/components/error-boundary.d.ts.map +1 -1
  3. package/dist/components/error-boundary.js +17 -31
  4. package/dist/components/error-boundary.js.map +1 -1
  5. package/dist/components/event-list-view.d.ts +7 -6
  6. package/dist/components/event-list-view.d.ts.map +1 -1
  7. package/dist/components/event-list-view.js +492 -109
  8. package/dist/components/event-list-view.js.map +1 -1
  9. package/dist/components/index.d.ts +1 -0
  10. package/dist/components/index.d.ts.map +1 -1
  11. package/dist/components/index.js +1 -0
  12. package/dist/components/index.js.map +1 -1
  13. package/dist/components/run-trace-view.d.ts +2 -1
  14. package/dist/components/run-trace-view.d.ts.map +1 -1
  15. package/dist/components/run-trace-view.js +2 -2
  16. package/dist/components/run-trace-view.js.map +1 -1
  17. package/dist/components/sidebar/attribute-panel.d.ts +2 -1
  18. package/dist/components/sidebar/attribute-panel.d.ts.map +1 -1
  19. package/dist/components/sidebar/attribute-panel.js +53 -142
  20. package/dist/components/sidebar/attribute-panel.js.map +1 -1
  21. package/dist/components/sidebar/conversation-view.d.ts.map +1 -1
  22. package/dist/components/sidebar/conversation-view.js +3 -17
  23. package/dist/components/sidebar/conversation-view.js.map +1 -1
  24. package/dist/components/sidebar/entity-detail-panel.d.ts +3 -1
  25. package/dist/components/sidebar/entity-detail-panel.d.ts.map +1 -1
  26. package/dist/components/sidebar/entity-detail-panel.js +63 -10
  27. package/dist/components/sidebar/entity-detail-panel.js.map +1 -1
  28. package/dist/components/sidebar/events-list.d.ts.map +1 -1
  29. package/dist/components/sidebar/events-list.js +4 -8
  30. package/dist/components/sidebar/events-list.js.map +1 -1
  31. package/dist/components/sidebar/resolve-hook-modal.d.ts +3 -0
  32. package/dist/components/sidebar/resolve-hook-modal.d.ts.map +1 -1
  33. package/dist/components/sidebar/resolve-hook-modal.js +152 -3
  34. package/dist/components/sidebar/resolve-hook-modal.js.map +1 -1
  35. package/dist/components/stream-viewer.d.ts +7 -5
  36. package/dist/components/stream-viewer.d.ts.map +1 -1
  37. package/dist/components/stream-viewer.js +54 -22
  38. package/dist/components/stream-viewer.js.map +1 -1
  39. package/dist/components/trace-viewer/components/markers.d.ts +2 -1
  40. package/dist/components/trace-viewer/components/markers.d.ts.map +1 -1
  41. package/dist/components/trace-viewer/components/markers.js +59 -20
  42. package/dist/components/trace-viewer/components/markers.js.map +1 -1
  43. package/dist/components/trace-viewer/components/node.d.ts +5 -1
  44. package/dist/components/trace-viewer/components/node.d.ts.map +1 -1
  45. package/dist/components/trace-viewer/components/node.js +250 -68
  46. package/dist/components/trace-viewer/components/node.js.map +1 -1
  47. package/dist/components/trace-viewer/components/span-content.d.ts +19 -0
  48. package/dist/components/trace-viewer/components/span-content.d.ts.map +1 -0
  49. package/dist/components/trace-viewer/components/span-content.js +137 -0
  50. package/dist/components/trace-viewer/components/span-content.js.map +1 -0
  51. package/dist/components/trace-viewer/components/span-detail-panel.d.ts.map +1 -1
  52. package/dist/components/trace-viewer/components/span-detail-panel.js +3 -2
  53. package/dist/components/trace-viewer/components/span-detail-panel.js.map +1 -1
  54. package/dist/components/trace-viewer/components/span-segments.d.ts +50 -0
  55. package/dist/components/trace-viewer/components/span-segments.d.ts.map +1 -0
  56. package/dist/components/trace-viewer/components/span-segments.js +392 -0
  57. package/dist/components/trace-viewer/components/span-segments.js.map +1 -0
  58. package/dist/components/trace-viewer/components/span-strategies.d.ts +46 -0
  59. package/dist/components/trace-viewer/components/span-strategies.d.ts.map +1 -0
  60. package/dist/components/trace-viewer/components/span-strategies.js +108 -0
  61. package/dist/components/trace-viewer/components/span-strategies.js.map +1 -0
  62. package/dist/components/trace-viewer/context.d.ts +7 -6
  63. package/dist/components/trace-viewer/context.d.ts.map +1 -1
  64. package/dist/components/trace-viewer/context.js +47 -18
  65. package/dist/components/trace-viewer/context.js.map +1 -1
  66. package/dist/components/trace-viewer/trace-viewer.d.ts +5 -1
  67. package/dist/components/trace-viewer/trace-viewer.d.ts.map +1 -1
  68. package/dist/components/trace-viewer/trace-viewer.js +87 -11
  69. package/dist/components/trace-viewer/trace-viewer.js.map +1 -1
  70. package/dist/components/trace-viewer/trace-viewer.module.css +179 -6
  71. package/dist/components/trace-viewer/util/timing.d.ts +5 -0
  72. package/dist/components/trace-viewer/util/timing.d.ts.map +1 -1
  73. package/dist/components/trace-viewer/util/timing.js +12 -0
  74. package/dist/components/trace-viewer/util/timing.js.map +1 -1
  75. package/dist/components/trace-viewer/util/use-streaming-spans.d.ts +1 -1
  76. package/dist/components/trace-viewer/util/use-streaming-spans.d.ts.map +1 -1
  77. package/dist/components/trace-viewer/util/use-streaming-spans.js +29 -17
  78. package/dist/components/trace-viewer/util/use-streaming-spans.js.map +1 -1
  79. package/dist/components/trace-viewer/worker.js +3 -1
  80. package/dist/components/trace-viewer/worker.js.map +1 -1
  81. package/dist/components/ui/alert.js +3 -3
  82. package/dist/components/ui/alert.js.map +1 -1
  83. package/dist/components/ui/card.d.ts.map +1 -1
  84. package/dist/components/ui/card.js +2 -2
  85. package/dist/components/ui/card.js.map +1 -1
  86. package/dist/components/ui/data-inspector.d.ts +17 -0
  87. package/dist/components/ui/data-inspector.d.ts.map +1 -0
  88. package/dist/components/ui/data-inspector.js +184 -0
  89. package/dist/components/ui/data-inspector.js.map +1 -0
  90. package/dist/components/ui/error-card.d.ts.map +1 -1
  91. package/dist/components/ui/error-card.js +4 -1
  92. package/dist/components/ui/error-card.js.map +1 -1
  93. package/dist/components/ui/inspector-theme.d.ts +39 -24
  94. package/dist/components/ui/inspector-theme.d.ts.map +1 -1
  95. package/dist/components/ui/inspector-theme.js +90 -38
  96. package/dist/components/ui/inspector-theme.js.map +1 -1
  97. package/dist/components/ui/skeleton.d.ts +1 -1
  98. package/dist/components/ui/skeleton.d.ts.map +1 -1
  99. package/dist/components/ui/skeleton.js +2 -2
  100. package/dist/components/ui/skeleton.js.map +1 -1
  101. package/dist/components/workflow-trace-view.d.ts +3 -1
  102. package/dist/components/workflow-trace-view.d.ts.map +1 -1
  103. package/dist/components/workflow-trace-view.js +435 -21
  104. package/dist/components/workflow-trace-view.js.map +1 -1
  105. package/dist/components/workflow-traces/trace-span-construction.d.ts +1 -1
  106. package/dist/components/workflow-traces/trace-span-construction.d.ts.map +1 -1
  107. package/dist/components/workflow-traces/trace-span-construction.js +2 -2
  108. package/dist/components/workflow-traces/trace-span-construction.js.map +1 -1
  109. package/dist/lib/hydration.d.ts.map +1 -1
  110. package/dist/lib/hydration.js +17 -3
  111. package/dist/lib/hydration.js.map +1 -1
  112. package/dist/styles.css +186 -0
  113. package/package.json +8 -7
  114. package/src/components/error-boundary.tsx +29 -40
  115. package/src/components/event-list-view.tsx +1000 -287
  116. package/src/components/index.ts +1 -0
  117. package/src/components/run-trace-view.tsx +3 -0
  118. package/src/components/sidebar/attribute-panel.tsx +58 -258
  119. package/src/components/sidebar/conversation-view.tsx +30 -27
  120. package/src/components/sidebar/entity-detail-panel.tsx +86 -20
  121. package/src/components/sidebar/events-list.tsx +4 -11
  122. package/src/components/sidebar/resolve-hook-modal.tsx +206 -47
  123. package/src/components/stream-viewer.tsx +138 -61
  124. package/src/components/trace-viewer/components/markers.tsx +69 -21
  125. package/src/components/trace-viewer/components/node.tsx +346 -100
  126. package/src/components/trace-viewer/components/span-content.tsx +247 -0
  127. package/src/components/trace-viewer/components/span-detail-panel.tsx +7 -2
  128. package/src/components/trace-viewer/components/span-segments.ts +516 -0
  129. package/src/components/trace-viewer/components/span-strategies.ts +205 -0
  130. package/src/components/trace-viewer/context.tsx +92 -40
  131. package/src/components/trace-viewer/trace-viewer.module.css +179 -6
  132. package/src/components/trace-viewer/trace-viewer.tsx +115 -11
  133. package/src/components/trace-viewer/util/timing.ts +13 -0
  134. package/src/components/trace-viewer/util/use-streaming-spans.ts +28 -17
  135. package/src/components/trace-viewer/worker.ts +4 -1
  136. package/src/components/ui/alert.tsx +3 -3
  137. package/src/components/ui/card.tsx +3 -5
  138. package/src/components/ui/data-inspector.tsx +318 -0
  139. package/src/components/ui/error-card.tsx +17 -6
  140. package/src/components/ui/inspector-theme.ts +127 -39
  141. package/src/components/ui/skeleton.tsx +3 -1
  142. package/src/components/workflow-trace-view.tsx +625 -26
  143. package/src/components/workflow-traces/trace-span-construction.ts +3 -2
  144. package/src/lib/hydration.ts +17 -8
  145. package/src/styles.css +186 -0
@@ -1,56 +1,71 @@
1
1
  /**
2
2
  * Shared theme configuration for react-inspector's ObjectInspector.
3
3
  *
4
- * Used by AttributePanel, EventListView, StreamViewer, and any other
5
- * component that renders data with ObjectInspector.
4
+ * Color choices are inspired by Node.js `util.inspect()` ANSI stylizing:
5
+ * - property names: unstyled (default foreground — dark text on light, light text on dark)
6
+ * - strings / symbols: green
7
+ * - numbers / booleans / bigint: yellow
8
+ * - null: bold (foreground)
9
+ * - undefined: grey
10
+ * - regexp: red
11
+ * - functions (special): cyan
12
+ * - date: magenta
13
+ *
14
+ * See: https://github.com/nodejs/node/blob/main/lib/internal/util/inspect.js
6
15
  */
16
+ export interface InspectorThemeExtended {
17
+ /** Color for Date values (Node: 'magenta') */
18
+ OBJECT_VALUE_DATE_COLOR: string;
19
+ }
20
+ export declare const inspectorThemeExtendedLight: InspectorThemeExtended;
21
+ export declare const inspectorThemeExtendedDark: InspectorThemeExtended;
7
22
  export declare const inspectorThemeLight: {
8
- BASE_FONT_SIZE: string;
9
- BASE_LINE_HEIGHT: number;
10
- BASE_BACKGROUND_COLOR: string;
11
23
  BASE_COLOR: string;
12
- OBJECT_PREVIEW_ARRAY_MAX_PROPERTIES: number;
13
- OBJECT_PREVIEW_OBJECT_MAX_PROPERTIES: number;
14
24
  OBJECT_NAME_COLOR: string;
15
- OBJECT_VALUE_NULL_COLOR: string;
16
- OBJECT_VALUE_UNDEFINED_COLOR: string;
17
- OBJECT_VALUE_REGEXP_COLOR: string;
18
25
  OBJECT_VALUE_STRING_COLOR: string;
19
26
  OBJECT_VALUE_SYMBOL_COLOR: string;
20
27
  OBJECT_VALUE_NUMBER_COLOR: string;
21
28
  OBJECT_VALUE_BOOLEAN_COLOR: string;
29
+ OBJECT_VALUE_NULL_COLOR: string;
30
+ OBJECT_VALUE_UNDEFINED_COLOR: string;
31
+ OBJECT_VALUE_REGEXP_COLOR: string;
22
32
  OBJECT_VALUE_FUNCTION_PREFIX_COLOR: string;
23
33
  HTML_TAG_COLOR: string;
24
34
  HTML_TAGNAME_COLOR: string;
25
- HTML_TAGNAME_TEXT_TRANSFORM: string;
26
35
  HTML_ATTRIBUTE_NAME_COLOR: string;
27
36
  HTML_ATTRIBUTE_VALUE_COLOR: string;
28
37
  HTML_COMMENT_COLOR: string;
29
38
  HTML_DOCTYPE_COLOR: string;
30
39
  ARROW_COLOR: string;
40
+ TABLE_BORDER_COLOR: string;
41
+ TABLE_TH_BACKGROUND_COLOR: string;
42
+ TABLE_TH_HOVER_COLOR: string;
43
+ TABLE_SORT_ICON_COLOR: string;
44
+ BASE_FONT_SIZE: string;
45
+ BASE_LINE_HEIGHT: number;
46
+ BASE_BACKGROUND_COLOR: string;
47
+ OBJECT_PREVIEW_ARRAY_MAX_PROPERTIES: number;
48
+ OBJECT_PREVIEW_OBJECT_MAX_PROPERTIES: number;
49
+ HTML_TAGNAME_TEXT_TRANSFORM: "lowercase";
31
50
  ARROW_MARGIN_RIGHT: number;
32
51
  ARROW_FONT_SIZE: number;
33
52
  TREENODE_FONT_FAMILY: string;
34
53
  TREENODE_FONT_SIZE: string;
35
54
  TREENODE_LINE_HEIGHT: number;
36
55
  TREENODE_PADDING_LEFT: number;
37
- TABLE_BORDER_COLOR: string;
38
- TABLE_TH_BACKGROUND_COLOR: string;
39
- TABLE_TH_HOVER_COLOR: string;
40
- TABLE_SORT_ICON_COLOR: string;
41
56
  TABLE_DATA_BACKGROUND_IMAGE: string;
42
57
  TABLE_DATA_BACKGROUND_SIZE: string;
43
58
  };
44
59
  export declare const inspectorThemeDark: {
45
60
  BASE_COLOR: string;
46
61
  OBJECT_NAME_COLOR: string;
47
- OBJECT_VALUE_NULL_COLOR: string;
48
- OBJECT_VALUE_UNDEFINED_COLOR: string;
49
- OBJECT_VALUE_REGEXP_COLOR: string;
50
62
  OBJECT_VALUE_STRING_COLOR: string;
51
63
  OBJECT_VALUE_SYMBOL_COLOR: string;
52
64
  OBJECT_VALUE_NUMBER_COLOR: string;
53
65
  OBJECT_VALUE_BOOLEAN_COLOR: string;
66
+ OBJECT_VALUE_NULL_COLOR: string;
67
+ OBJECT_VALUE_UNDEFINED_COLOR: string;
68
+ OBJECT_VALUE_REGEXP_COLOR: string;
54
69
  OBJECT_VALUE_FUNCTION_PREFIX_COLOR: string;
55
70
  HTML_TAG_COLOR: string;
56
71
  HTML_TAGNAME_COLOR: string;
@@ -58,23 +73,23 @@ export declare const inspectorThemeDark: {
58
73
  HTML_ATTRIBUTE_VALUE_COLOR: string;
59
74
  HTML_COMMENT_COLOR: string;
60
75
  HTML_DOCTYPE_COLOR: string;
76
+ ARROW_COLOR: string;
77
+ TABLE_BORDER_COLOR: string;
78
+ TABLE_TH_BACKGROUND_COLOR: string;
79
+ TABLE_TH_HOVER_COLOR: string;
80
+ TABLE_SORT_ICON_COLOR: string;
61
81
  BASE_FONT_SIZE: string;
62
82
  BASE_LINE_HEIGHT: number;
63
83
  BASE_BACKGROUND_COLOR: string;
64
84
  OBJECT_PREVIEW_ARRAY_MAX_PROPERTIES: number;
65
85
  OBJECT_PREVIEW_OBJECT_MAX_PROPERTIES: number;
66
- HTML_TAGNAME_TEXT_TRANSFORM: string;
67
- ARROW_COLOR: string;
86
+ HTML_TAGNAME_TEXT_TRANSFORM: "lowercase";
68
87
  ARROW_MARGIN_RIGHT: number;
69
88
  ARROW_FONT_SIZE: number;
70
89
  TREENODE_FONT_FAMILY: string;
71
90
  TREENODE_FONT_SIZE: string;
72
91
  TREENODE_LINE_HEIGHT: number;
73
92
  TREENODE_PADDING_LEFT: number;
74
- TABLE_BORDER_COLOR: string;
75
- TABLE_TH_BACKGROUND_COLOR: string;
76
- TABLE_TH_HOVER_COLOR: string;
77
- TABLE_SORT_ICON_COLOR: string;
78
93
  TABLE_DATA_BACKGROUND_IMAGE: string;
79
94
  TABLE_DATA_BACKGROUND_SIZE: string;
80
95
  };
@@ -1 +1 @@
1
- {"version":3,"file":"inspector-theme.d.ts","sourceRoot":"","sources":["../../../src/components/ui/inspector-theme.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoC/B,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkB9B,CAAC"}
1
+ {"version":3,"file":"inspector-theme.d.ts","sourceRoot":"","sources":["../../../src/components/ui/inspector-theme.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAOH,MAAM,WAAW,sBAAsB;IACrC,8CAA8C;IAC9C,uBAAuB,EAAE,MAAM,CAAC;CACjC;AAED,eAAO,MAAM,2BAA2B,EAAE,sBAEzC,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,sBAExC,CAAC;AA2BF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2C/B,CAAC;AAMF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2C9B,CAAC"}
@@ -1,63 +1,115 @@
1
1
  /**
2
2
  * Shared theme configuration for react-inspector's ObjectInspector.
3
3
  *
4
- * Used by AttributePanel, EventListView, StreamViewer, and any other
5
- * component that renders data with ObjectInspector.
4
+ * Color choices are inspired by Node.js `util.inspect()` ANSI stylizing:
5
+ * - property names: unstyled (default foreground — dark text on light, light text on dark)
6
+ * - strings / symbols: green
7
+ * - numbers / booleans / bigint: yellow
8
+ * - null: bold (foreground)
9
+ * - undefined: grey
10
+ * - regexp: red
11
+ * - functions (special): cyan
12
+ * - date: magenta
13
+ *
14
+ * See: https://github.com/nodejs/node/blob/main/lib/internal/util/inspect.js
6
15
  */
7
- export const inspectorThemeLight = {
16
+ export const inspectorThemeExtendedLight = {
17
+ OBJECT_VALUE_DATE_COLOR: '#a21caf', // fuchsia-700
18
+ };
19
+ export const inspectorThemeExtendedDark = {
20
+ OBJECT_VALUE_DATE_COLOR: '#e879f9', // fuchsia-400
21
+ };
22
+ // ---------------------------------------------------------------------------
23
+ // Shared structural values (same in both themes)
24
+ // ---------------------------------------------------------------------------
25
+ const shared = {
8
26
  BASE_FONT_SIZE: '11px',
9
27
  BASE_LINE_HEIGHT: 1.4,
10
28
  BASE_BACKGROUND_COLOR: 'transparent',
11
- BASE_COLOR: 'var(--ds-gray-1000)',
12
29
  OBJECT_PREVIEW_ARRAY_MAX_PROPERTIES: 10,
13
30
  OBJECT_PREVIEW_OBJECT_MAX_PROPERTIES: 5,
14
- OBJECT_NAME_COLOR: 'rgb(136, 19, 145)',
15
- OBJECT_VALUE_NULL_COLOR: 'rgb(128, 128, 128)',
16
- OBJECT_VALUE_UNDEFINED_COLOR: 'rgb(128, 128, 128)',
17
- OBJECT_VALUE_REGEXP_COLOR: 'rgb(196, 26, 22)',
18
- OBJECT_VALUE_STRING_COLOR: 'rgb(196, 26, 22)',
19
- OBJECT_VALUE_SYMBOL_COLOR: 'rgb(196, 26, 22)',
20
- OBJECT_VALUE_NUMBER_COLOR: 'rgb(28, 0, 207)',
21
- OBJECT_VALUE_BOOLEAN_COLOR: 'rgb(28, 0, 207)',
22
- OBJECT_VALUE_FUNCTION_PREFIX_COLOR: 'rgb(13, 34, 170)',
23
- HTML_TAG_COLOR: 'rgb(168, 148, 166)',
24
- HTML_TAGNAME_COLOR: 'rgb(136, 18, 128)',
25
31
  HTML_TAGNAME_TEXT_TRANSFORM: 'lowercase',
26
- HTML_ATTRIBUTE_NAME_COLOR: 'rgb(153, 69, 0)',
27
- HTML_ATTRIBUTE_VALUE_COLOR: 'rgb(26, 26, 166)',
28
- HTML_COMMENT_COLOR: 'rgb(35, 110, 37)',
29
- HTML_DOCTYPE_COLOR: 'rgb(192, 192, 192)',
30
- ARROW_COLOR: 'var(--ds-gray-600)',
31
32
  ARROW_MARGIN_RIGHT: 3,
32
33
  ARROW_FONT_SIZE: 12,
33
34
  TREENODE_FONT_FAMILY: 'var(--font-mono)',
34
35
  TREENODE_FONT_SIZE: '11px',
35
36
  TREENODE_LINE_HEIGHT: 1.4,
36
37
  TREENODE_PADDING_LEFT: 12,
38
+ TABLE_DATA_BACKGROUND_IMAGE: 'none',
39
+ TABLE_DATA_BACKGROUND_SIZE: '0',
40
+ };
41
+ // ---------------------------------------------------------------------------
42
+ // Light theme
43
+ // ---------------------------------------------------------------------------
44
+ export const inspectorThemeLight = {
45
+ ...shared,
46
+ // Base text
47
+ BASE_COLOR: 'var(--ds-gray-1000)',
48
+ // Property names — unstyled, same as base foreground (Node: no style)
49
+ OBJECT_NAME_COLOR: 'var(--ds-gray-900)',
50
+ // Strings & symbols — green (Node: 'green')
51
+ OBJECT_VALUE_STRING_COLOR: '#16a34a', // green-600
52
+ OBJECT_VALUE_SYMBOL_COLOR: '#16a34a',
53
+ // Numbers & booleans — yellow/amber (Node: 'yellow')
54
+ OBJECT_VALUE_NUMBER_COLOR: '#b45309', // amber-700 (readable on white)
55
+ OBJECT_VALUE_BOOLEAN_COLOR: '#b45309',
56
+ // null — bold foreground (Node: 'bold')
57
+ OBJECT_VALUE_NULL_COLOR: 'var(--ds-gray-900)',
58
+ // undefined — grey (Node: 'grey')
59
+ OBJECT_VALUE_UNDEFINED_COLOR: 'var(--ds-gray-500)',
60
+ // RegExp — red (Node regexp base uses green/red/yellow palette)
61
+ OBJECT_VALUE_REGEXP_COLOR: '#dc2626', // red-600
62
+ // Functions — cyan (Node: 'special' → 'cyan')
63
+ OBJECT_VALUE_FUNCTION_PREFIX_COLOR: '#0891b2', // cyan-600
64
+ // HTML (less relevant for data inspection, but reasonable defaults)
65
+ HTML_TAG_COLOR: 'var(--ds-gray-500)',
66
+ HTML_TAGNAME_COLOR: '#0891b2',
67
+ HTML_ATTRIBUTE_NAME_COLOR: '#b45309',
68
+ HTML_ATTRIBUTE_VALUE_COLOR: '#16a34a',
69
+ HTML_COMMENT_COLOR: 'var(--ds-gray-400)',
70
+ HTML_DOCTYPE_COLOR: 'var(--ds-gray-400)',
71
+ // Structural
72
+ ARROW_COLOR: 'var(--ds-gray-500)',
37
73
  TABLE_BORDER_COLOR: 'var(--ds-gray-300)',
38
74
  TABLE_TH_BACKGROUND_COLOR: 'var(--ds-gray-100)',
39
75
  TABLE_TH_HOVER_COLOR: 'var(--ds-gray-200)',
40
76
  TABLE_SORT_ICON_COLOR: 'var(--ds-gray-500)',
41
- TABLE_DATA_BACKGROUND_IMAGE: 'none',
42
- TABLE_DATA_BACKGROUND_SIZE: '0',
43
77
  };
78
+ // ---------------------------------------------------------------------------
79
+ // Dark theme
80
+ // ---------------------------------------------------------------------------
44
81
  export const inspectorThemeDark = {
45
- ...inspectorThemeLight,
82
+ ...shared,
83
+ // Base text
46
84
  BASE_COLOR: 'var(--ds-gray-1000)',
47
- OBJECT_NAME_COLOR: 'rgb(227, 110, 236)',
48
- OBJECT_VALUE_NULL_COLOR: 'rgb(127, 127, 127)',
49
- OBJECT_VALUE_UNDEFINED_COLOR: 'rgb(127, 127, 127)',
50
- OBJECT_VALUE_REGEXP_COLOR: 'rgb(233, 63, 59)',
51
- OBJECT_VALUE_STRING_COLOR: 'rgb(233, 63, 59)',
52
- OBJECT_VALUE_SYMBOL_COLOR: 'rgb(233, 63, 59)',
53
- OBJECT_VALUE_NUMBER_COLOR: 'hsl(252, 100%, 75%)',
54
- OBJECT_VALUE_BOOLEAN_COLOR: 'hsl(252, 100%, 75%)',
55
- OBJECT_VALUE_FUNCTION_PREFIX_COLOR: 'rgb(85, 106, 242)',
56
- HTML_TAG_COLOR: 'rgb(93, 176, 215)',
57
- HTML_TAGNAME_COLOR: 'rgb(93, 176, 215)',
58
- HTML_ATTRIBUTE_NAME_COLOR: 'rgb(155, 187, 220)',
59
- HTML_ATTRIBUTE_VALUE_COLOR: 'rgb(242, 151, 102)',
60
- HTML_COMMENT_COLOR: 'rgb(137, 137, 137)',
61
- HTML_DOCTYPE_COLOR: 'rgb(192, 192, 192)',
85
+ // Property names — white/light foreground (Node: unstyled = white in dark terminal)
86
+ OBJECT_NAME_COLOR: 'var(--ds-gray-900)',
87
+ // Strings & symbols — green (Node: 'green')
88
+ OBJECT_VALUE_STRING_COLOR: '#4ade80', // green-400
89
+ OBJECT_VALUE_SYMBOL_COLOR: '#4ade80',
90
+ // Numbers & booleans — yellow (Node: 'yellow')
91
+ OBJECT_VALUE_NUMBER_COLOR: '#facc15', // yellow-400
92
+ OBJECT_VALUE_BOOLEAN_COLOR: '#facc15',
93
+ // null — bold foreground / white (Node: 'bold')
94
+ OBJECT_VALUE_NULL_COLOR: 'var(--ds-gray-1000)',
95
+ // undefined — grey (Node: 'grey')
96
+ OBJECT_VALUE_UNDEFINED_COLOR: 'var(--ds-gray-500)',
97
+ // RegExp — red (Node regexp palette)
98
+ OBJECT_VALUE_REGEXP_COLOR: '#f87171', // red-400
99
+ // Functions — cyan (Node: 'special' 'cyan')
100
+ OBJECT_VALUE_FUNCTION_PREFIX_COLOR: '#22d3ee', // cyan-400
101
+ // HTML
102
+ HTML_TAG_COLOR: 'var(--ds-gray-500)',
103
+ HTML_TAGNAME_COLOR: '#22d3ee',
104
+ HTML_ATTRIBUTE_NAME_COLOR: '#facc15',
105
+ HTML_ATTRIBUTE_VALUE_COLOR: '#4ade80',
106
+ HTML_COMMENT_COLOR: 'var(--ds-gray-500)',
107
+ HTML_DOCTYPE_COLOR: 'var(--ds-gray-500)',
108
+ // Structural
109
+ ARROW_COLOR: 'var(--ds-gray-500)',
110
+ TABLE_BORDER_COLOR: 'var(--ds-gray-300)',
111
+ TABLE_TH_BACKGROUND_COLOR: 'var(--ds-gray-100)',
112
+ TABLE_TH_HOVER_COLOR: 'var(--ds-gray-200)',
113
+ TABLE_SORT_ICON_COLOR: 'var(--ds-gray-500)',
62
114
  };
63
115
  //# sourceMappingURL=inspector-theme.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"inspector-theme.js","sourceRoot":"","sources":["../../../src/components/ui/inspector-theme.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,cAAc,EAAE,MAAM;IACtB,gBAAgB,EAAE,GAAG;IACrB,qBAAqB,EAAE,aAAa;IACpC,UAAU,EAAE,qBAAqB;IACjC,mCAAmC,EAAE,EAAE;IACvC,oCAAoC,EAAE,CAAC;IACvC,iBAAiB,EAAE,mBAAmB;IACtC,uBAAuB,EAAE,oBAAoB;IAC7C,4BAA4B,EAAE,oBAAoB;IAClD,yBAAyB,EAAE,kBAAkB;IAC7C,yBAAyB,EAAE,kBAAkB;IAC7C,yBAAyB,EAAE,kBAAkB;IAC7C,yBAAyB,EAAE,iBAAiB;IAC5C,0BAA0B,EAAE,iBAAiB;IAC7C,kCAAkC,EAAE,kBAAkB;IACtD,cAAc,EAAE,oBAAoB;IACpC,kBAAkB,EAAE,mBAAmB;IACvC,2BAA2B,EAAE,WAAW;IACxC,yBAAyB,EAAE,iBAAiB;IAC5C,0BAA0B,EAAE,kBAAkB;IAC9C,kBAAkB,EAAE,kBAAkB;IACtC,kBAAkB,EAAE,oBAAoB;IACxC,WAAW,EAAE,oBAAoB;IACjC,kBAAkB,EAAE,CAAC;IACrB,eAAe,EAAE,EAAE;IACnB,oBAAoB,EAAE,kBAAkB;IACxC,kBAAkB,EAAE,MAAM;IAC1B,oBAAoB,EAAE,GAAG;IACzB,qBAAqB,EAAE,EAAE;IACzB,kBAAkB,EAAE,oBAAoB;IACxC,yBAAyB,EAAE,oBAAoB;IAC/C,oBAAoB,EAAE,oBAAoB;IAC1C,qBAAqB,EAAE,oBAAoB;IAC3C,2BAA2B,EAAE,MAAM;IACnC,0BAA0B,EAAE,GAAG;CAChC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,GAAG,mBAAmB;IACtB,UAAU,EAAE,qBAAqB;IACjC,iBAAiB,EAAE,oBAAoB;IACvC,uBAAuB,EAAE,oBAAoB;IAC7C,4BAA4B,EAAE,oBAAoB;IAClD,yBAAyB,EAAE,kBAAkB;IAC7C,yBAAyB,EAAE,kBAAkB;IAC7C,yBAAyB,EAAE,kBAAkB;IAC7C,yBAAyB,EAAE,qBAAqB;IAChD,0BAA0B,EAAE,qBAAqB;IACjD,kCAAkC,EAAE,mBAAmB;IACvD,cAAc,EAAE,mBAAmB;IACnC,kBAAkB,EAAE,mBAAmB;IACvC,yBAAyB,EAAE,oBAAoB;IAC/C,0BAA0B,EAAE,oBAAoB;IAChD,kBAAkB,EAAE,oBAAoB;IACxC,kBAAkB,EAAE,oBAAoB;CACzC,CAAC"}
1
+ {"version":3,"file":"inspector-theme.js","sourceRoot":"","sources":["../../../src/components/ui/inspector-theme.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- declare function Skeleton({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
1
+ declare function Skeleton({ className, style, ...props }: React.HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
2
2
  export { Skeleton };
3
3
  //# sourceMappingURL=skeleton.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"skeleton.d.ts","sourceRoot":"","sources":["../../../src/components/ui/skeleton.tsx"],"names":[],"mappings":"AAEA,iBAAS,QAAQ,CAAC,EAChB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,2CAOtC;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC"}
1
+ {"version":3,"file":"skeleton.d.ts","sourceRoot":"","sources":["../../../src/components/ui/skeleton.tsx"],"names":[],"mappings":"AAEA,iBAAS,QAAQ,CAAC,EAChB,SAAS,EACT,KAAK,EACL,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,2CAQtC;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { cn } from '../../lib/utils';
3
- function Skeleton({ className, ...props }) {
4
- return (_jsx("div", { className: cn('animate-pulse rounded-md bg-muted', className), ...props }));
3
+ function Skeleton({ className, style, ...props }) {
4
+ return (_jsx("div", { ...props, className: cn('rounded-md', className), style: { backgroundColor: 'var(--ds-gray-200)', ...style } }));
5
5
  }
6
6
  export { Skeleton };
7
7
  //# sourceMappingURL=skeleton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"skeleton.js","sourceRoot":"","sources":["../../../src/components/ui/skeleton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAErC,SAAS,QAAQ,CAAC,EAChB,SAAS,EACT,GAAG,KAAK,EAC6B;IACrC,OAAO,CACL,cACE,SAAS,EAAE,EAAE,CAAC,mCAAmC,EAAE,SAAS,CAAC,KACzD,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC"}
1
+ {"version":3,"file":"skeleton.js","sourceRoot":"","sources":["../../../src/components/ui/skeleton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAErC,SAAS,QAAQ,CAAC,EAChB,SAAS,EACT,KAAK,EACL,GAAG,KAAK,EAC6B;IACrC,OAAO,CACL,iBACM,KAAK,EACT,SAAS,EAAE,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC,EACtC,KAAK,EAAE,EAAE,eAAe,EAAE,oBAAoB,EAAE,GAAG,KAAK,EAAE,GAC1D,CACH,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC"}
@@ -2,7 +2,7 @@ import type { Event, Hook, Step, WorkflowRun } from '@workflow/world';
2
2
  import { type SpanSelectionInfo } from './sidebar/entity-detail-panel';
3
3
  /** Re-export SpanSelectionInfo for consumers */
4
4
  export type { SpanSelectionInfo };
5
- export declare const WorkflowTraceViewer: ({ run, steps, hooks, events, isLoading, error, spanDetailData, spanDetailLoading, spanDetailError, onWakeUpSleep, onResolveHook, onStreamClick, onSpanSelect, onLoadEventData, }: {
5
+ export declare const WorkflowTraceViewer: ({ run, steps, hooks, events, isLoading, error, spanDetailData, spanDetailLoading, spanDetailError, onWakeUpSleep, onResolveHook, onCancelRun, onStreamClick, onSpanSelect, onLoadEventData, }: {
6
6
  run: WorkflowRun;
7
7
  steps: Step[];
8
8
  hooks: Hook[];
@@ -16,6 +16,8 @@ export declare const WorkflowTraceViewer: ({ run, steps, hooks, events, isLoadin
16
16
  stoppedCount: number;
17
17
  }>;
18
18
  onResolveHook?: (hookToken: string, payload: unknown, hook?: Hook) => Promise<void>;
19
+ /** Callback to cancel the current run */
20
+ onCancelRun?: (runId: string) => Promise<void>;
19
21
  /** Callback when a stream reference is clicked in the detail panel */
20
22
  onStreamClick?: (streamId: string) => void;
21
23
  /** Callback when a span is selected. */
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-trace-view.d.ts","sourceRoot":"","sources":["../../src/components/workflow-trace-view.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAKtE,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,+BAA+B,CAAC;AAiLvC,gDAAgD;AAChD,YAAY,EAAE,iBAAiB,EAAE,CAAC;AA2FlC,eAAO,MAAM,mBAAmB,GAAI,kLAejC;IACD,GAAG,EAAE,WAAW,CAAC;IACjB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IACrB,cAAc,CAAC,EAAE,WAAW,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC;IAC1D,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,eAAe,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IAC/B,aAAa,CAAC,EAAE,CACd,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,MAAM,KAClB,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvC,aAAa,CAAC,EAAE,CACd,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO,EAChB,IAAI,CAAC,EAAE,IAAI,KACR,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,sEAAsE;IACtE,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,wCAAwC;IACxC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACjD,iFAAiF;IACjF,eAAe,CAAC,EAAE,CAChB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,KACZ,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;CAC9B,4CAgKA,CAAC"}
1
+ {"version":3,"file":"workflow-trace-view.d.ts","sourceRoot":"","sources":["../../src/components/workflow-trace-view.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAOtE,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,+BAA+B,CAAC;AAgsBvC,gDAAgD;AAChD,YAAY,EAAE,iBAAiB,EAAE,CAAC;AA2FlC,eAAO,MAAM,mBAAmB,GAAI,+LAgBjC;IACD,GAAG,EAAE,WAAW,CAAC;IACjB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IACrB,cAAc,CAAC,EAAE,WAAW,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC;IAC1D,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,eAAe,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IAC/B,aAAa,CAAC,EAAE,CACd,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,MAAM,KAClB,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvC,aAAa,CAAC,EAAE,CACd,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO,EAChB,IAAI,CAAC,EAAE,IAAI,KACR,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,yCAAyC;IACzC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,sEAAsE;IACtE,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,wCAAwC;IACxC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACjD,iFAAiF;IACjF,eAAe,CAAC,EAAE,CAChB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,KACZ,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;CAC9B,4CAkOA,CAAC"}