@workflow/web-shared 5.0.0-beta.4 → 5.0.0-beta.41

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 (517) hide show
  1. package/README.md +5 -13
  2. package/dist/components/error-boundary.js +1 -1
  3. package/dist/components/event-list-view.d.ts +46 -1
  4. package/dist/components/event-list-view.d.ts.map +1 -1
  5. package/dist/components/event-list-view.js +235 -97
  6. package/dist/components/hook-actions.js +1 -1
  7. package/dist/components/index.d.ts +8 -5
  8. package/dist/components/index.d.ts.map +1 -1
  9. package/dist/components/index.js +6 -4
  10. package/dist/components/sidebar/attribute-panel.d.ts +4 -1
  11. package/dist/components/sidebar/attribute-panel.d.ts.map +1 -1
  12. package/dist/components/sidebar/attribute-panel.js +173 -119
  13. package/dist/components/sidebar/attributes-block.d.ts +40 -0
  14. package/dist/components/sidebar/attributes-block.d.ts.map +1 -0
  15. package/dist/components/sidebar/attributes-block.js +140 -0
  16. package/dist/components/sidebar/conversation-view.js +1 -1
  17. package/dist/components/sidebar/copyable-data-block.d.ts +2 -0
  18. package/dist/components/sidebar/copyable-data-block.d.ts.map +1 -1
  19. package/dist/components/sidebar/copyable-data-block.js +17 -16
  20. package/dist/components/sidebar/entity-detail-panel.d.ts +11 -11
  21. package/dist/components/sidebar/entity-detail-panel.d.ts.map +1 -1
  22. package/dist/components/sidebar/entity-detail-panel.js +37 -71
  23. package/dist/components/sidebar/events-list.d.ts +6 -2
  24. package/dist/components/sidebar/events-list.d.ts.map +1 -1
  25. package/dist/components/sidebar/events-list.js +77 -63
  26. package/dist/components/sidebar/resolve-hook-modal.js +1 -1
  27. package/dist/components/sidebar/sidebar-data-context.d.ts +10 -7
  28. package/dist/components/sidebar/sidebar-data-context.d.ts.map +1 -1
  29. package/dist/components/sidebar/sidebar-data-context.js +1 -1
  30. package/dist/components/sidebar/span-detail-merge.d.ts +31 -0
  31. package/dist/components/sidebar/span-detail-merge.d.ts.map +1 -0
  32. package/dist/components/sidebar/span-detail-merge.js +92 -0
  33. package/dist/components/sidebar/use-selected-span-detail.d.ts +16 -0
  34. package/dist/components/sidebar/use-selected-span-detail.d.ts.map +1 -0
  35. package/dist/components/sidebar/use-selected-span-detail.js +93 -0
  36. package/dist/components/stream-viewer-skeleton.d.ts +2 -0
  37. package/dist/components/stream-viewer-skeleton.d.ts.map +1 -0
  38. package/dist/components/stream-viewer-skeleton.js +12 -0
  39. package/dist/components/stream-viewer.d.ts +1 -1
  40. package/dist/components/stream-viewer.d.ts.map +1 -1
  41. package/dist/components/stream-viewer.js +9 -26
  42. package/dist/components/trace-viewer/components/copy-button.d.ts.map +1 -0
  43. package/dist/components/trace-viewer/components/copy-button.js +27 -0
  44. package/dist/components/trace-viewer/components/detail-panel-width.d.ts +34 -0
  45. package/dist/components/trace-viewer/components/detail-panel-width.d.ts.map +1 -0
  46. package/dist/components/trace-viewer/components/detail-panel-width.js +67 -0
  47. package/dist/components/trace-viewer/components/detail-panel.d.ts +14 -0
  48. package/dist/components/trace-viewer/components/detail-panel.d.ts.map +1 -0
  49. package/dist/components/trace-viewer/components/detail-panel.js +122 -0
  50. package/dist/components/trace-viewer/components/draggable-border.d.ts +31 -0
  51. package/dist/components/trace-viewer/components/draggable-border.d.ts.map +1 -0
  52. package/dist/components/trace-viewer/components/draggable-border.js +140 -0
  53. package/dist/components/trace-viewer/components/event-list.d.ts +10 -0
  54. package/dist/components/trace-viewer/components/event-list.d.ts.map +1 -0
  55. package/dist/components/trace-viewer/components/event-list.js +47 -0
  56. package/dist/components/trace-viewer/components/middle-truncate/copy-selection.d.ts.map +1 -0
  57. package/dist/components/trace-viewer/components/middle-truncate/copy-selection.js +54 -0
  58. package/dist/components/trace-viewer/components/middle-truncate/middle-truncate.d.ts.map +1 -0
  59. package/dist/components/trace-viewer/components/middle-truncate/middle-truncate.js +81 -0
  60. package/dist/components/{new-trace-viewer → trace-viewer}/components/middle-truncate/truncate.d.ts +1 -1
  61. package/dist/components/trace-viewer/components/middle-truncate/truncate.d.ts.map +1 -0
  62. package/dist/components/trace-viewer/components/middle-truncate/truncate.js +101 -0
  63. package/dist/components/trace-viewer/components/middle-truncate/use-middle-truncate.d.ts.map +1 -0
  64. package/dist/components/trace-viewer/components/middle-truncate/use-middle-truncate.js +114 -0
  65. package/dist/components/trace-viewer/components/minimap.d.ts +14 -0
  66. package/dist/components/trace-viewer/components/minimap.d.ts.map +1 -0
  67. package/dist/components/trace-viewer/components/minimap.js +337 -0
  68. package/dist/components/trace-viewer/components/pane-constants.d.ts +14 -0
  69. package/dist/components/trace-viewer/components/pane-constants.d.ts.map +1 -0
  70. package/dist/components/trace-viewer/components/pane-constants.js +16 -0
  71. package/dist/components/trace-viewer/components/span-markers.d.ts +46 -0
  72. package/dist/components/trace-viewer/components/span-markers.d.ts.map +1 -0
  73. package/dist/components/trace-viewer/components/span-markers.js +85 -0
  74. package/dist/components/trace-viewer/components/split-pane.d.ts +10 -0
  75. package/dist/components/trace-viewer/components/split-pane.d.ts.map +1 -0
  76. package/dist/components/trace-viewer/components/split-pane.js +41 -0
  77. package/dist/components/trace-viewer/components/timeline.d.ts +42 -0
  78. package/dist/components/trace-viewer/components/timeline.d.ts.map +1 -0
  79. package/dist/components/trace-viewer/components/timeline.js +321 -0
  80. package/dist/components/trace-viewer/components/timeline.module.css +46 -0
  81. package/dist/components/trace-viewer/components/trace-shortcut-helper.d.ts +5 -0
  82. package/dist/components/trace-viewer/components/trace-shortcut-helper.d.ts.map +1 -0
  83. package/dist/components/trace-viewer/components/trace-shortcut-helper.js +55 -0
  84. package/dist/components/trace-viewer/components/trace-shortcut-helper.module.css +20 -0
  85. package/dist/components/trace-viewer/components/trace-viewer-skeleton.d.ts +2 -0
  86. package/dist/components/trace-viewer/components/trace-viewer-skeleton.d.ts.map +1 -0
  87. package/dist/components/trace-viewer/components/trace-viewer-skeleton.js +26 -0
  88. package/dist/components/trace-viewer/components/use-element-width.d.ts +8 -0
  89. package/dist/components/trace-viewer/components/use-element-width.d.ts.map +1 -0
  90. package/dist/components/trace-viewer/components/use-element-width.js +25 -0
  91. package/dist/components/trace-viewer/components/use-row-window.d.ts +34 -0
  92. package/dist/components/trace-viewer/components/use-row-window.d.ts.map +1 -0
  93. package/dist/components/trace-viewer/components/use-row-window.js +107 -0
  94. package/dist/components/trace-viewer/context.d.ts +14 -182
  95. package/dist/components/trace-viewer/context.d.ts.map +1 -1
  96. package/dist/components/trace-viewer/context.js +44 -351
  97. package/dist/components/trace-viewer/icons.d.ts.map +1 -0
  98. package/dist/components/trace-viewer/icons.js +15 -0
  99. package/dist/components/trace-viewer/search.d.ts +19 -0
  100. package/dist/components/trace-viewer/search.d.ts.map +1 -0
  101. package/dist/components/trace-viewer/search.js +134 -0
  102. package/dist/components/trace-viewer/trace-viewer.d.ts +7 -28
  103. package/dist/components/trace-viewer/trace-viewer.d.ts.map +1 -1
  104. package/dist/components/trace-viewer/trace-viewer.js +306 -356
  105. package/dist/components/trace-viewer/types.d.ts +2 -211
  106. package/dist/components/trace-viewer/types.d.ts.map +1 -1
  107. package/dist/components/trace-viewer/types.js +1 -1
  108. package/dist/components/trace-viewer/util/timing.d.ts +2 -2
  109. package/dist/components/trace-viewer/util/timing.d.ts.map +1 -1
  110. package/dist/components/trace-viewer/util/timing.js +3 -3
  111. package/dist/components/trace-viewer/utils.d.ts +111 -0
  112. package/dist/components/trace-viewer/utils.d.ts.map +1 -0
  113. package/dist/components/trace-viewer/utils.js +430 -0
  114. package/dist/components/{trace-viewer-new.d.ts → trace-viewer.d.ts} +7 -3
  115. package/dist/components/trace-viewer.d.ts.map +1 -0
  116. package/dist/components/trace-viewer.js +21 -0
  117. package/dist/components/ui/alert.js +3 -3
  118. package/dist/components/ui/button.d.ts +10 -0
  119. package/dist/components/ui/button.d.ts.map +1 -0
  120. package/dist/components/ui/button.js +46 -0
  121. package/dist/components/ui/card.d.ts.map +1 -1
  122. package/dist/components/ui/card.js +4 -4
  123. package/dist/components/ui/collapsible.d.ts +46 -0
  124. package/dist/components/ui/collapsible.d.ts.map +1 -0
  125. package/dist/components/ui/collapsible.js +66 -0
  126. package/dist/components/ui/context-card.d.ts +47 -0
  127. package/dist/components/ui/context-card.d.ts.map +1 -0
  128. package/dist/components/ui/context-card.js +471 -0
  129. package/dist/components/ui/data-inspector.d.ts +7 -6
  130. package/dist/components/ui/data-inspector.d.ts.map +1 -1
  131. package/dist/components/ui/data-inspector.js +232 -99
  132. package/dist/components/ui/data-inspector.styles.d.ts +29 -0
  133. package/dist/components/ui/data-inspector.styles.d.ts.map +1 -0
  134. package/dist/components/ui/data-inspector.styles.js +95 -0
  135. package/dist/components/ui/decrypt-button.js +1 -1
  136. package/dist/components/ui/error-card.js +3 -3
  137. package/dist/components/ui/error-stack-block.d.ts +17 -10
  138. package/dist/components/ui/error-stack-block.d.ts.map +1 -1
  139. package/dist/components/ui/error-stack-block.js +49 -30
  140. package/dist/components/ui/icon-button.d.ts +19 -0
  141. package/dist/components/ui/icon-button.d.ts.map +1 -0
  142. package/dist/components/ui/icon-button.js +29 -0
  143. package/dist/components/ui/kbd.d.ts +10 -0
  144. package/dist/components/ui/kbd.d.ts.map +1 -0
  145. package/dist/components/ui/kbd.js +25 -0
  146. package/dist/components/ui/load-more-button.js +1 -1
  147. package/dist/components/ui/menu-dropdown.js +1 -1
  148. package/dist/components/ui/skeleton.js +2 -2
  149. package/dist/components/ui/spinner.js +1 -1
  150. package/dist/components/ui/timestamp-tooltip.d.ts +34 -1
  151. package/dist/components/ui/timestamp-tooltip.d.ts.map +1 -1
  152. package/dist/components/ui/timestamp-tooltip.js +80 -132
  153. package/dist/components/ui/tooltip.d.ts +10 -0
  154. package/dist/components/ui/tooltip.d.ts.map +1 -0
  155. package/dist/components/ui/tooltip.js +12 -0
  156. package/dist/components/workflow-traces/event-colors.d.ts +2 -1
  157. package/dist/components/workflow-traces/event-colors.d.ts.map +1 -1
  158. package/dist/components/workflow-traces/event-colors.js +15 -7
  159. package/dist/components/workflow-traces/trace-span-construction.d.ts +6 -3
  160. package/dist/components/workflow-traces/trace-span-construction.d.ts.map +1 -1
  161. package/dist/components/workflow-traces/trace-span-construction.js +71 -30
  162. package/dist/components/workflow-traces/trace-time-utils.js +1 -1
  163. package/dist/hooks/use-dark-mode.js +1 -1
  164. package/dist/hooks/use-intersection-observer.d.ts +17 -0
  165. package/dist/hooks/use-intersection-observer.d.ts.map +1 -0
  166. package/dist/hooks/use-intersection-observer.js +29 -0
  167. package/dist/hooks/use-load-more-on-scroll.d.ts +21 -0
  168. package/dist/hooks/use-load-more-on-scroll.d.ts.map +1 -0
  169. package/dist/hooks/use-load-more-on-scroll.js +28 -0
  170. package/dist/hooks/use-reduced-motion.d.ts +10 -0
  171. package/dist/hooks/use-reduced-motion.d.ts.map +1 -0
  172. package/dist/hooks/use-reduced-motion.js +29 -0
  173. package/dist/index.d.ts +4 -3
  174. package/dist/index.d.ts.map +1 -1
  175. package/dist/index.js +4 -3
  176. package/dist/lib/cn.d.ts +10 -0
  177. package/dist/lib/cn.d.ts.map +1 -0
  178. package/dist/lib/cn.js +83 -0
  179. package/dist/lib/event-analysis.d.ts +1 -1
  180. package/dist/lib/event-analysis.d.ts.map +1 -1
  181. package/dist/lib/event-analysis.js +3 -2
  182. package/dist/lib/event-materialization.d.ts +1 -1
  183. package/dist/lib/event-materialization.d.ts.map +1 -1
  184. package/dist/lib/event-materialization.js +29 -21
  185. package/dist/lib/exact-event-search-id.d.ts +25 -0
  186. package/dist/lib/exact-event-search-id.d.ts.map +1 -0
  187. package/dist/lib/exact-event-search-id.js +39 -0
  188. package/dist/lib/hydration.d.ts +17 -2
  189. package/dist/lib/hydration.d.ts.map +1 -1
  190. package/dist/lib/hydration.js +194 -23
  191. package/dist/lib/stream-display.js +1 -1
  192. package/dist/lib/toast.js +1 -1
  193. package/dist/lib/trace-builder.d.ts +17 -5
  194. package/dist/lib/trace-builder.d.ts.map +1 -1
  195. package/dist/lib/trace-builder.js +32 -14
  196. package/dist/lib/trace-types.d.ts +54 -0
  197. package/dist/lib/trace-types.d.ts.map +1 -0
  198. package/dist/lib/trace-types.js +2 -0
  199. package/dist/lib/utils.d.ts +14 -2
  200. package/dist/lib/utils.d.ts.map +1 -1
  201. package/dist/lib/utils.js +46 -6
  202. package/dist/lib/zstd-browser-decoder.d.ts +7 -0
  203. package/dist/lib/zstd-browser-decoder.d.ts.map +1 -0
  204. package/dist/lib/zstd-browser-decoder.js +41 -0
  205. package/dist/styles.css +210 -139
  206. package/package.json +11 -8
  207. package/src/components/event-list-view.tsx +385 -123
  208. package/src/components/index.ts +14 -8
  209. package/src/components/sidebar/attribute-panel.tsx +331 -282
  210. package/src/components/sidebar/attributes-block.tsx +326 -0
  211. package/src/components/sidebar/copyable-data-block.tsx +50 -28
  212. package/src/components/sidebar/entity-detail-panel.tsx +92 -126
  213. package/src/components/sidebar/events-list.tsx +197 -179
  214. package/src/components/sidebar/sidebar-data-context.tsx +11 -11
  215. package/src/components/sidebar/span-detail-merge.ts +134 -0
  216. package/src/components/sidebar/use-selected-span-detail.ts +146 -0
  217. package/src/components/stream-viewer-skeleton.tsx +34 -0
  218. package/src/components/stream-viewer.tsx +34 -106
  219. package/src/components/{new-trace-viewer → trace-viewer}/components/copy-button.tsx +2 -2
  220. package/src/components/trace-viewer/components/detail-panel-width.test.ts +123 -0
  221. package/src/components/trace-viewer/components/detail-panel-width.ts +76 -0
  222. package/src/components/trace-viewer/components/detail-panel.tsx +273 -0
  223. package/src/components/trace-viewer/components/draggable-border.tsx +216 -0
  224. package/src/components/trace-viewer/components/event-list.tsx +144 -0
  225. package/src/components/{new-trace-viewer → trace-viewer}/components/middle-truncate/middle-truncate.tsx +8 -8
  226. package/src/components/{new-trace-viewer → trace-viewer}/components/middle-truncate/truncate.ts +1 -1
  227. package/src/components/trace-viewer/components/minimap.tsx +556 -0
  228. package/src/components/trace-viewer/components/pane-constants.ts +19 -0
  229. package/src/components/trace-viewer/components/span-markers.tsx +173 -0
  230. package/src/components/trace-viewer/components/split-pane.tsx +141 -0
  231. package/src/components/trace-viewer/components/timeline.module.css +46 -0
  232. package/src/components/trace-viewer/components/timeline.tsx +850 -0
  233. package/src/components/trace-viewer/components/trace-shortcut-helper.module.css +20 -0
  234. package/src/components/trace-viewer/components/trace-shortcut-helper.tsx +116 -0
  235. package/src/components/trace-viewer/components/trace-viewer-skeleton.tsx +114 -0
  236. package/src/components/trace-viewer/components/use-element-width.ts +29 -0
  237. package/src/components/trace-viewer/components/use-row-window.ts +140 -0
  238. package/src/components/trace-viewer/context.tsx +63 -656
  239. package/src/components/{new-trace-viewer → trace-viewer}/icons.tsx +2 -2
  240. package/src/components/trace-viewer/search.ts +178 -0
  241. package/src/components/trace-viewer/trace-viewer.tsx +563 -531
  242. package/src/components/trace-viewer/types.ts +2 -234
  243. package/src/components/trace-viewer/util/timing.ts +2 -2
  244. package/src/components/trace-viewer/utils.test.ts +458 -0
  245. package/src/components/{new-trace-viewer → trace-viewer}/utils.ts +271 -50
  246. package/src/components/{trace-viewer-new.tsx → trace-viewer.tsx} +24 -18
  247. package/src/components/ui/alert.tsx +2 -2
  248. package/src/components/ui/button.tsx +68 -0
  249. package/src/components/ui/card.tsx +3 -10
  250. package/src/components/ui/collapsible.tsx +219 -0
  251. package/src/components/ui/context-card.tsx +784 -0
  252. package/src/components/ui/data-inspector.styles.ts +96 -0
  253. package/src/components/ui/data-inspector.tsx +501 -204
  254. package/src/components/ui/error-card.tsx +4 -4
  255. package/src/components/ui/error-stack-block.tsx +84 -55
  256. package/src/components/ui/icon-button.tsx +53 -0
  257. package/src/components/ui/kbd.tsx +43 -0
  258. package/src/components/ui/skeleton.tsx +1 -1
  259. package/src/components/ui/timestamp-tooltip.tsx +132 -194
  260. package/src/components/ui/tooltip.tsx +47 -0
  261. package/src/components/workflow-traces/event-colors.ts +15 -11
  262. package/src/components/workflow-traces/trace-span-construction.test.ts +85 -0
  263. package/src/components/workflow-traces/trace-span-construction.ts +97 -32
  264. package/src/hooks/use-intersection-observer.ts +57 -0
  265. package/src/hooks/use-load-more-on-scroll.ts +49 -0
  266. package/src/hooks/use-reduced-motion.ts +34 -0
  267. package/src/index.ts +10 -4
  268. package/src/lib/cn.ts +93 -0
  269. package/src/lib/event-analysis.ts +6 -4
  270. package/src/lib/event-materialization.ts +35 -21
  271. package/src/lib/exact-event-search-id.ts +67 -0
  272. package/src/lib/hydration.ts +210 -30
  273. package/src/lib/trace-builder.ts +43 -19
  274. package/src/lib/trace-types.ts +56 -0
  275. package/src/lib/utils.test.ts +33 -0
  276. package/src/lib/utils.ts +53 -6
  277. package/src/lib/zstd-browser-decoder.ts +42 -0
  278. package/src/styles.css +210 -139
  279. package/dist/components/error-boundary.js.map +0 -1
  280. package/dist/components/event-list-view.js.map +0 -1
  281. package/dist/components/hook-actions.js.map +0 -1
  282. package/dist/components/index.js.map +0 -1
  283. package/dist/components/new-trace-viewer/components/copy-button.d.ts.map +0 -1
  284. package/dist/components/new-trace-viewer/components/copy-button.js +0 -27
  285. package/dist/components/new-trace-viewer/components/copy-button.js.map +0 -1
  286. package/dist/components/new-trace-viewer/components/event-list.d.ts +0 -8
  287. package/dist/components/new-trace-viewer/components/event-list.d.ts.map +0 -1
  288. package/dist/components/new-trace-viewer/components/event-list.js +0 -38
  289. package/dist/components/new-trace-viewer/components/event-list.js.map +0 -1
  290. package/dist/components/new-trace-viewer/components/middle-truncate/copy-selection.d.ts.map +0 -1
  291. package/dist/components/new-trace-viewer/components/middle-truncate/copy-selection.js +0 -54
  292. package/dist/components/new-trace-viewer/components/middle-truncate/copy-selection.js.map +0 -1
  293. package/dist/components/new-trace-viewer/components/middle-truncate/middle-truncate.d.ts.map +0 -1
  294. package/dist/components/new-trace-viewer/components/middle-truncate/middle-truncate.js +0 -81
  295. package/dist/components/new-trace-viewer/components/middle-truncate/middle-truncate.js.map +0 -1
  296. package/dist/components/new-trace-viewer/components/middle-truncate/truncate.d.ts.map +0 -1
  297. package/dist/components/new-trace-viewer/components/middle-truncate/truncate.js +0 -101
  298. package/dist/components/new-trace-viewer/components/middle-truncate/truncate.js.map +0 -1
  299. package/dist/components/new-trace-viewer/components/middle-truncate/use-middle-truncate.d.ts.map +0 -1
  300. package/dist/components/new-trace-viewer/components/middle-truncate/use-middle-truncate.js +0 -114
  301. package/dist/components/new-trace-viewer/components/middle-truncate/use-middle-truncate.js.map +0 -1
  302. package/dist/components/new-trace-viewer/components/split-pane.d.ts +0 -14
  303. package/dist/components/new-trace-viewer/components/split-pane.d.ts.map +0 -1
  304. package/dist/components/new-trace-viewer/components/split-pane.js +0 -99
  305. package/dist/components/new-trace-viewer/components/split-pane.js.map +0 -1
  306. package/dist/components/new-trace-viewer/components/timeline.d.ts +0 -31
  307. package/dist/components/new-trace-viewer/components/timeline.d.ts.map +0 -1
  308. package/dist/components/new-trace-viewer/components/timeline.js +0 -138
  309. package/dist/components/new-trace-viewer/components/timeline.js.map +0 -1
  310. package/dist/components/new-trace-viewer/context.d.ts +0 -15
  311. package/dist/components/new-trace-viewer/context.d.ts.map +0 -1
  312. package/dist/components/new-trace-viewer/context.js +0 -47
  313. package/dist/components/new-trace-viewer/context.js.map +0 -1
  314. package/dist/components/new-trace-viewer/detail-panel.d.ts +0 -10
  315. package/dist/components/new-trace-viewer/detail-panel.d.ts.map +0 -1
  316. package/dist/components/new-trace-viewer/detail-panel.js +0 -12
  317. package/dist/components/new-trace-viewer/detail-panel.js.map +0 -1
  318. package/dist/components/new-trace-viewer/icons.d.ts.map +0 -1
  319. package/dist/components/new-trace-viewer/icons.js +0 -15
  320. package/dist/components/new-trace-viewer/icons.js.map +0 -1
  321. package/dist/components/new-trace-viewer/trace-viewer.d.ts +0 -8
  322. package/dist/components/new-trace-viewer/trace-viewer.d.ts.map +0 -1
  323. package/dist/components/new-trace-viewer/trace-viewer.js +0 -349
  324. package/dist/components/new-trace-viewer/trace-viewer.js.map +0 -1
  325. package/dist/components/new-trace-viewer/types.d.ts +0 -1
  326. package/dist/components/new-trace-viewer/types.d.ts.map +0 -1
  327. package/dist/components/new-trace-viewer/types.js +0 -2
  328. package/dist/components/new-trace-viewer/types.js.map +0 -1
  329. package/dist/components/new-trace-viewer/util/constants.d.ts +0 -1
  330. package/dist/components/new-trace-viewer/util/constants.d.ts.map +0 -1
  331. package/dist/components/new-trace-viewer/util/constants.js +0 -2
  332. package/dist/components/new-trace-viewer/util/constants.js.map +0 -1
  333. package/dist/components/new-trace-viewer/utils.d.ts +0 -42
  334. package/dist/components/new-trace-viewer/utils.d.ts.map +0 -1
  335. package/dist/components/new-trace-viewer/utils.js +0 -305
  336. package/dist/components/new-trace-viewer/utils.js.map +0 -1
  337. package/dist/components/run-trace-view.d.ts +0 -25
  338. package/dist/components/run-trace-view.d.ts.map +0 -1
  339. package/dist/components/run-trace-view.js +0 -11
  340. package/dist/components/run-trace-view.js.map +0 -1
  341. package/dist/components/sidebar/attribute-panel.js.map +0 -1
  342. package/dist/components/sidebar/conversation-view.js.map +0 -1
  343. package/dist/components/sidebar/copyable-data-block.js.map +0 -1
  344. package/dist/components/sidebar/detail-card.d.ts +0 -14
  345. package/dist/components/sidebar/detail-card.d.ts.map +0 -1
  346. package/dist/components/sidebar/detail-card.js +0 -20
  347. package/dist/components/sidebar/detail-card.js.map +0 -1
  348. package/dist/components/sidebar/entity-detail-panel.js.map +0 -1
  349. package/dist/components/sidebar/events-list.js.map +0 -1
  350. package/dist/components/sidebar/resolve-hook-modal.js.map +0 -1
  351. package/dist/components/sidebar/sidebar-data-context.js.map +0 -1
  352. package/dist/components/stream-viewer.js.map +0 -1
  353. package/dist/components/trace-viewer/components/map.d.ts +0 -8
  354. package/dist/components/trace-viewer/components/map.d.ts.map +0 -1
  355. package/dist/components/trace-viewer/components/map.js +0 -162
  356. package/dist/components/trace-viewer/components/map.js.map +0 -1
  357. package/dist/components/trace-viewer/components/markers.d.ts +0 -23
  358. package/dist/components/trace-viewer/components/markers.d.ts.map +0 -1
  359. package/dist/components/trace-viewer/components/markers.js +0 -416
  360. package/dist/components/trace-viewer/components/markers.js.map +0 -1
  361. package/dist/components/trace-viewer/components/node.d.ts +0 -35
  362. package/dist/components/trace-viewer/components/node.d.ts.map +0 -1
  363. package/dist/components/trace-viewer/components/node.js +0 -285
  364. package/dist/components/trace-viewer/components/node.js.map +0 -1
  365. package/dist/components/trace-viewer/components/search-input.d.ts +0 -9
  366. package/dist/components/trace-viewer/components/search-input.d.ts.map +0 -1
  367. package/dist/components/trace-viewer/components/search-input.js +0 -9
  368. package/dist/components/trace-viewer/components/search-input.js.map +0 -1
  369. package/dist/components/trace-viewer/components/search.d.ts +0 -3
  370. package/dist/components/trace-viewer/components/search.d.ts.map +0 -1
  371. package/dist/components/trace-viewer/components/search.js +0 -25
  372. package/dist/components/trace-viewer/components/search.js.map +0 -1
  373. package/dist/components/trace-viewer/components/span-content.d.ts +0 -19
  374. package/dist/components/trace-viewer/components/span-content.d.ts.map +0 -1
  375. package/dist/components/trace-viewer/components/span-content.js +0 -137
  376. package/dist/components/trace-viewer/components/span-content.js.map +0 -1
  377. package/dist/components/trace-viewer/components/span-detail-panel.d.ts +0 -10
  378. package/dist/components/trace-viewer/components/span-detail-panel.d.ts.map +0 -1
  379. package/dist/components/trace-viewer/components/span-detail-panel.js +0 -285
  380. package/dist/components/trace-viewer/components/span-detail-panel.js.map +0 -1
  381. package/dist/components/trace-viewer/components/span-segments.d.ts +0 -50
  382. package/dist/components/trace-viewer/components/span-segments.d.ts.map +0 -1
  383. package/dist/components/trace-viewer/components/span-segments.js +0 -445
  384. package/dist/components/trace-viewer/components/span-segments.js.map +0 -1
  385. package/dist/components/trace-viewer/components/span-strategies.d.ts +0 -46
  386. package/dist/components/trace-viewer/components/span-strategies.d.ts.map +0 -1
  387. package/dist/components/trace-viewer/components/span-strategies.js +0 -108
  388. package/dist/components/trace-viewer/components/span-strategies.js.map +0 -1
  389. package/dist/components/trace-viewer/components/ui.d.ts +0 -28
  390. package/dist/components/trace-viewer/components/ui.d.ts.map +0 -1
  391. package/dist/components/trace-viewer/components/ui.js +0 -39
  392. package/dist/components/trace-viewer/components/ui.js.map +0 -1
  393. package/dist/components/trace-viewer/components/zoom-button.d.ts +0 -3
  394. package/dist/components/trace-viewer/components/zoom-button.d.ts.map +0 -1
  395. package/dist/components/trace-viewer/components/zoom-button.js +0 -29
  396. package/dist/components/trace-viewer/components/zoom-button.js.map +0 -1
  397. package/dist/components/trace-viewer/components/zoom-icons.d.ts +0 -11
  398. package/dist/components/trace-viewer/components/zoom-icons.d.ts.map +0 -1
  399. package/dist/components/trace-viewer/components/zoom-icons.js +0 -11
  400. package/dist/components/trace-viewer/components/zoom-icons.js.map +0 -1
  401. package/dist/components/trace-viewer/context.js.map +0 -1
  402. package/dist/components/trace-viewer/index.d.ts +0 -5
  403. package/dist/components/trace-viewer/index.d.ts.map +0 -1
  404. package/dist/components/trace-viewer/index.js +0 -4
  405. package/dist/components/trace-viewer/index.js.map +0 -1
  406. package/dist/components/trace-viewer/trace-viewer.js.map +0 -1
  407. package/dist/components/trace-viewer/trace-viewer.module.css +0 -1465
  408. package/dist/components/trace-viewer/types.js.map +0 -1
  409. package/dist/components/trace-viewer/util/constants.d.ts +0 -9
  410. package/dist/components/trace-viewer/util/constants.d.ts.map +0 -1
  411. package/dist/components/trace-viewer/util/constants.js +0 -9
  412. package/dist/components/trace-viewer/util/constants.js.map +0 -1
  413. package/dist/components/trace-viewer/util/scrollbar-width.d.ts +0 -2
  414. package/dist/components/trace-viewer/util/scrollbar-width.d.ts.map +0 -1
  415. package/dist/components/trace-viewer/util/scrollbar-width.js +0 -14
  416. package/dist/components/trace-viewer/util/scrollbar-width.js.map +0 -1
  417. package/dist/components/trace-viewer/util/timing.js.map +0 -1
  418. package/dist/components/trace-viewer/util/tree.d.ts +0 -13
  419. package/dist/components/trace-viewer/util/tree.d.ts.map +0 -1
  420. package/dist/components/trace-viewer/util/tree.js +0 -227
  421. package/dist/components/trace-viewer/util/tree.js.map +0 -1
  422. package/dist/components/trace-viewer/util/use-immediate-style.d.ts +0 -15
  423. package/dist/components/trace-viewer/util/use-immediate-style.d.ts.map +0 -1
  424. package/dist/components/trace-viewer/util/use-immediate-style.js +0 -23
  425. package/dist/components/trace-viewer/util/use-immediate-style.js.map +0 -1
  426. package/dist/components/trace-viewer/util/use-streaming-spans.d.ts +0 -8
  427. package/dist/components/trace-viewer/util/use-streaming-spans.d.ts.map +0 -1
  428. package/dist/components/trace-viewer/util/use-streaming-spans.js +0 -345
  429. package/dist/components/trace-viewer/util/use-streaming-spans.js.map +0 -1
  430. package/dist/components/trace-viewer/util/use-trackpad-zoom.d.ts +0 -6
  431. package/dist/components/trace-viewer/util/use-trackpad-zoom.d.ts.map +0 -1
  432. package/dist/components/trace-viewer/util/use-trackpad-zoom.js +0 -39
  433. package/dist/components/trace-viewer/util/use-trackpad-zoom.js.map +0 -1
  434. package/dist/components/trace-viewer/worker.d.ts +0 -2
  435. package/dist/components/trace-viewer/worker.d.ts.map +0 -1
  436. package/dist/components/trace-viewer/worker.js +0 -109
  437. package/dist/components/trace-viewer/worker.js.map +0 -1
  438. package/dist/components/trace-viewer-new.d.ts.map +0 -1
  439. package/dist/components/trace-viewer-new.js +0 -23
  440. package/dist/components/trace-viewer-new.js.map +0 -1
  441. package/dist/components/ui/alert.js.map +0 -1
  442. package/dist/components/ui/card.js.map +0 -1
  443. package/dist/components/ui/data-inspector.js.map +0 -1
  444. package/dist/components/ui/decrypt-button.js.map +0 -1
  445. package/dist/components/ui/error-card.js.map +0 -1
  446. package/dist/components/ui/error-stack-block.js.map +0 -1
  447. package/dist/components/ui/inspector-theme.d.ts +0 -95
  448. package/dist/components/ui/inspector-theme.d.ts.map +0 -1
  449. package/dist/components/ui/inspector-theme.js +0 -82
  450. package/dist/components/ui/inspector-theme.js.map +0 -1
  451. package/dist/components/ui/load-more-button.js.map +0 -1
  452. package/dist/components/ui/menu-dropdown.js.map +0 -1
  453. package/dist/components/ui/skeleton.js.map +0 -1
  454. package/dist/components/ui/spinner.js.map +0 -1
  455. package/dist/components/ui/timestamp-tooltip.js.map +0 -1
  456. package/dist/components/workflow-trace-view.d.ts +0 -40
  457. package/dist/components/workflow-trace-view.d.ts.map +0 -1
  458. package/dist/components/workflow-trace-view.js +0 -695
  459. package/dist/components/workflow-trace-view.js.map +0 -1
  460. package/dist/components/workflow-traces/event-colors.js.map +0 -1
  461. package/dist/components/workflow-traces/trace-colors.d.ts +0 -15
  462. package/dist/components/workflow-traces/trace-colors.d.ts.map +0 -1
  463. package/dist/components/workflow-traces/trace-colors.js +0 -87
  464. package/dist/components/workflow-traces/trace-colors.js.map +0 -1
  465. package/dist/components/workflow-traces/trace-span-construction.js.map +0 -1
  466. package/dist/components/workflow-traces/trace-time-utils.js.map +0 -1
  467. package/dist/hooks/use-dark-mode.js.map +0 -1
  468. package/dist/index.js.map +0 -1
  469. package/dist/lib/event-analysis.js.map +0 -1
  470. package/dist/lib/event-materialization.js.map +0 -1
  471. package/dist/lib/hydration.js.map +0 -1
  472. package/dist/lib/stream-display.js.map +0 -1
  473. package/dist/lib/toast.js.map +0 -1
  474. package/dist/lib/trace-builder.js.map +0 -1
  475. package/dist/lib/utils.js.map +0 -1
  476. package/src/components/new-trace-viewer/components/event-list.tsx +0 -116
  477. package/src/components/new-trace-viewer/components/split-pane.tsx +0 -185
  478. package/src/components/new-trace-viewer/components/timeline.tsx +0 -382
  479. package/src/components/new-trace-viewer/context.tsx +0 -92
  480. package/src/components/new-trace-viewer/detail-panel.tsx +0 -58
  481. package/src/components/new-trace-viewer/trace-viewer.tsx +0 -645
  482. package/src/components/new-trace-viewer/types.ts +0 -0
  483. package/src/components/new-trace-viewer/util/constants.ts +0 -0
  484. package/src/components/run-trace-view.tsx +0 -84
  485. package/src/components/sidebar/detail-card.tsx +0 -65
  486. package/src/components/trace-viewer/components/map.tsx +0 -226
  487. package/src/components/trace-viewer/components/markers.tsx +0 -612
  488. package/src/components/trace-viewer/components/node.tsx +0 -505
  489. package/src/components/trace-viewer/components/search-input.tsx +0 -52
  490. package/src/components/trace-viewer/components/search.tsx +0 -47
  491. package/src/components/trace-viewer/components/span-content.tsx +0 -247
  492. package/src/components/trace-viewer/components/span-detail-panel.tsx +0 -655
  493. package/src/components/trace-viewer/components/span-segments.ts +0 -585
  494. package/src/components/trace-viewer/components/span-strategies.ts +0 -205
  495. package/src/components/trace-viewer/components/ui.tsx +0 -156
  496. package/src/components/trace-viewer/components/zoom-button.tsx +0 -61
  497. package/src/components/trace-viewer/components/zoom-icons.tsx +0 -65
  498. package/src/components/trace-viewer/index.tsx +0 -4
  499. package/src/components/trace-viewer/trace-viewer.module.css +0 -1465
  500. package/src/components/trace-viewer/util/constants.ts +0 -8
  501. package/src/components/trace-viewer/util/scrollbar-width.ts +0 -13
  502. package/src/components/trace-viewer/util/tree.ts +0 -277
  503. package/src/components/trace-viewer/util/use-immediate-style.ts +0 -38
  504. package/src/components/trace-viewer/util/use-streaming-spans.ts +0 -426
  505. package/src/components/trace-viewer/util/use-trackpad-zoom.tsx +0 -51
  506. package/src/components/trace-viewer/worker.ts +0 -131
  507. package/src/components/ui/inspector-theme.ts +0 -110
  508. package/src/components/workflow-trace-view.tsx +0 -1171
  509. package/src/components/workflow-traces/trace-colors.ts +0 -112
  510. /package/dist/components/{new-trace-viewer → trace-viewer}/components/copy-button.d.ts +0 -0
  511. /package/dist/components/{new-trace-viewer → trace-viewer}/components/middle-truncate/copy-selection.d.ts +0 -0
  512. /package/dist/components/{new-trace-viewer → trace-viewer}/components/middle-truncate/middle-truncate.d.ts +0 -0
  513. /package/dist/components/{new-trace-viewer → trace-viewer}/components/middle-truncate/use-middle-truncate.d.ts +0 -0
  514. /package/dist/components/{new-trace-viewer → trace-viewer}/icons.d.ts +0 -0
  515. /package/src/components/{new-trace-viewer → trace-viewer}/components/middle-truncate/copy-selection.ts +0 -0
  516. /package/src/components/{new-trace-viewer → trace-viewer}/components/middle-truncate/use-middle-truncate.ts +0 -0
  517. /package/src/{components/trace-viewer/modules.d.ts → modules.d.ts} +0 -0
package/dist/lib/cn.js ADDED
@@ -0,0 +1,83 @@
1
+ import { clsx } from 'clsx';
2
+ import { extendTailwindMerge } from 'tailwind-merge';
3
+ const twMergeConfig = {
4
+ extend: {
5
+ classGroups: {
6
+ 'text-heading': [
7
+ {
8
+ 'text-heading': [
9
+ '72',
10
+ '64',
11
+ '56',
12
+ '48',
13
+ '40',
14
+ '32',
15
+ '24',
16
+ '20',
17
+ '16',
18
+ '14',
19
+ ],
20
+ },
21
+ ],
22
+ 'text-button': [
23
+ {
24
+ 'text-button': ['16', '14', '12'],
25
+ },
26
+ ],
27
+ 'text-label': [
28
+ {
29
+ 'text-label': [
30
+ '20',
31
+ '18',
32
+ '16',
33
+ '14',
34
+ '14-mono',
35
+ '13',
36
+ '13-mono',
37
+ '12',
38
+ '12-mono',
39
+ ],
40
+ },
41
+ ],
42
+ 'text-copy': [
43
+ {
44
+ 'text-copy': ['24', '20', '18', '16', '14', '13', '13-mono'],
45
+ },
46
+ ],
47
+ material: [
48
+ {
49
+ material: [
50
+ 'base',
51
+ 'small',
52
+ 'medium',
53
+ 'large',
54
+ 'tooltip',
55
+ 'menu',
56
+ 'modal',
57
+ 'fullscreen',
58
+ ],
59
+ },
60
+ ],
61
+ },
62
+ // Make each category conflict with itself, so e.g. text-heading-32 overrides text-heading-24
63
+ conflictingClassGroups: {
64
+ 'text-heading': ['text-heading'],
65
+ 'text-button': ['text-button'],
66
+ 'text-label': ['text-label'],
67
+ 'text-copy': ['text-copy'],
68
+ material: ['material'],
69
+ },
70
+ },
71
+ };
72
+ const customTwMerge = extendTailwindMerge(twMergeConfig);
73
+ /**
74
+ * Merges Tailwind class names and resolves any conflicts using `clsx` with `tailwind-merge`.
75
+ *
76
+ * @param inputs - An array of class names to merge.
77
+ * @returns A string of merged and optimized class names.
78
+ */
79
+ function cn(...classes) {
80
+ return customTwMerge(clsx(...classes));
81
+ }
82
+ export { cn };
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL2NuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBbUIsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJELE1BQU0sYUFBYSxHQUFHO0lBQ3BCLE1BQU0sRUFBRTtRQUNOLFdBQVcsRUFBRTtZQUNYLGNBQWMsRUFBRTtnQkFDZDtvQkFDRSxjQUFjLEVBQUU7d0JBQ2QsSUFBSTt3QkFDSixJQUFJO3dCQUNKLElBQUk7d0JBQ0osSUFBSTt3QkFDSixJQUFJO3dCQUNKLElBQUk7d0JBQ0osSUFBSTt3QkFDSixJQUFJO3dCQUNKLElBQUk7d0JBQ0osSUFBSTtxQkFDTDtpQkFDRjthQUNGO1lBQ0QsYUFBYSxFQUFFO2dCQUNiO29CQUNFLGFBQWEsRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO2lCQUNsQzthQUNGO1lBQ0QsWUFBWSxFQUFFO2dCQUNaO29CQUNFLFlBQVksRUFBRTt3QkFDWixJQUFJO3dCQUNKLElBQUk7d0JBQ0osSUFBSTt3QkFDSixJQUFJO3dCQUNKLFNBQVM7d0JBQ1QsSUFBSTt3QkFDSixTQUFTO3dCQUNULElBQUk7d0JBQ0osU0FBUztxQkFDVjtpQkFDRjthQUNGO1lBQ0QsV0FBVyxFQUFFO2dCQUNYO29CQUNFLFdBQVcsRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsQ0FBQztpQkFDN0Q7YUFDRjtZQUNELFFBQVEsRUFBRTtnQkFDUjtvQkFDRSxRQUFRLEVBQUU7d0JBQ1IsTUFBTTt3QkFDTixPQUFPO3dCQUNQLFFBQVE7d0JBQ1IsT0FBTzt3QkFDUCxTQUFTO3dCQUNULE1BQU07d0JBQ04sT0FBTzt3QkFDUCxZQUFZO3FCQUNiO2lCQUNGO2FBQ0Y7U0FDRjtRQUNELDZGQUE2RjtRQUM3RixzQkFBc0IsRUFBRTtZQUN0QixjQUFjLEVBQUUsQ0FBQyxjQUFjLENBQUM7WUFDaEMsYUFBYSxFQUFFLENBQUMsYUFBYSxDQUFDO1lBQzlCLFlBQVksRUFBRSxDQUFDLFlBQVksQ0FBQztZQUM1QixXQUFXLEVBQUUsQ0FBQyxXQUFXLENBQUM7WUFDMUIsUUFBUSxFQUFFLENBQUMsVUFBVSxDQUFDO1NBQ3ZCO0tBQ0Y7Q0FDTyxDQUFDO0FBU1gsTUFBTSxhQUFhLEdBQUcsbUJBQW1CLENBQXNCLGFBQWEsQ0FBQyxDQUFDO0FBRTlFOzs7OztHQUtHO0FBQ0gsU0FBUyxFQUFFLENBQUMsR0FBRyxPQUFxQjtJQUNsQyxPQUFPLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDO0FBQ3pDLENBQUM7QUFFRCxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIENsYXNzVmFsdWUsIGNsc3ggfSBmcm9tICdjbHN4JztcbmltcG9ydCB7IGV4dGVuZFRhaWx3aW5kTWVyZ2UgfSBmcm9tICd0YWlsd2luZC1tZXJnZSc7XG5cbmNvbnN0IHR3TWVyZ2VDb25maWcgPSB7XG4gIGV4dGVuZDoge1xuICAgIGNsYXNzR3JvdXBzOiB7XG4gICAgICAndGV4dC1oZWFkaW5nJzogW1xuICAgICAgICB7XG4gICAgICAgICAgJ3RleHQtaGVhZGluZyc6IFtcbiAgICAgICAgICAgICc3MicsXG4gICAgICAgICAgICAnNjQnLFxuICAgICAgICAgICAgJzU2JyxcbiAgICAgICAgICAgICc0OCcsXG4gICAgICAgICAgICAnNDAnLFxuICAgICAgICAgICAgJzMyJyxcbiAgICAgICAgICAgICcyNCcsXG4gICAgICAgICAgICAnMjAnLFxuICAgICAgICAgICAgJzE2JyxcbiAgICAgICAgICAgICcxNCcsXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICAndGV4dC1idXR0b24nOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAndGV4dC1idXR0b24nOiBbJzE2JywgJzE0JywgJzEyJ10sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgJ3RleHQtbGFiZWwnOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAndGV4dC1sYWJlbCc6IFtcbiAgICAgICAgICAgICcyMCcsXG4gICAgICAgICAgICAnMTgnLFxuICAgICAgICAgICAgJzE2JyxcbiAgICAgICAgICAgICcxNCcsXG4gICAgICAgICAgICAnMTQtbW9ubycsXG4gICAgICAgICAgICAnMTMnLFxuICAgICAgICAgICAgJzEzLW1vbm8nLFxuICAgICAgICAgICAgJzEyJyxcbiAgICAgICAgICAgICcxMi1tb25vJyxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgICd0ZXh0LWNvcHknOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAndGV4dC1jb3B5JzogWycyNCcsICcyMCcsICcxOCcsICcxNicsICcxNCcsICcxMycsICcxMy1tb25vJ10sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgbWF0ZXJpYWw6IFtcbiAgICAgICAge1xuICAgICAgICAgIG1hdGVyaWFsOiBbXG4gICAgICAgICAgICAnYmFzZScsXG4gICAgICAgICAgICAnc21hbGwnLFxuICAgICAgICAgICAgJ21lZGl1bScsXG4gICAgICAgICAgICAnbGFyZ2UnLFxuICAgICAgICAgICAgJ3Rvb2x0aXAnLFxuICAgICAgICAgICAgJ21lbnUnLFxuICAgICAgICAgICAgJ21vZGFsJyxcbiAgICAgICAgICAgICdmdWxsc2NyZWVuJyxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIC8vIE1ha2UgZWFjaCBjYXRlZ29yeSBjb25mbGljdCB3aXRoIGl0c2VsZiwgc28gZS5nLiB0ZXh0LWhlYWRpbmctMzIgb3ZlcnJpZGVzIHRleHQtaGVhZGluZy0yNFxuICAgIGNvbmZsaWN0aW5nQ2xhc3NHcm91cHM6IHtcbiAgICAgICd0ZXh0LWhlYWRpbmcnOiBbJ3RleHQtaGVhZGluZyddLFxuICAgICAgJ3RleHQtYnV0dG9uJzogWyd0ZXh0LWJ1dHRvbiddLFxuICAgICAgJ3RleHQtbGFiZWwnOiBbJ3RleHQtbGFiZWwnXSxcbiAgICAgICd0ZXh0LWNvcHknOiBbJ3RleHQtY29weSddLFxuICAgICAgbWF0ZXJpYWw6IFsnbWF0ZXJpYWwnXSxcbiAgICB9LFxuICB9LFxufSBhcyBjb25zdDtcblxudHlwZSBDdXN0b21DbGFzc0dyb3VwSWRzID1cbiAgfCAndGV4dC1oZWFkaW5nJ1xuICB8ICd0ZXh0LWJ1dHRvbidcbiAgfCAndGV4dC1sYWJlbCdcbiAgfCAndGV4dC1jb3B5J1xuICB8ICdtYXRlcmlhbCc7XG5cbmNvbnN0IGN1c3RvbVR3TWVyZ2UgPSBleHRlbmRUYWlsd2luZE1lcmdlPEN1c3RvbUNsYXNzR3JvdXBJZHM+KHR3TWVyZ2VDb25maWcpO1xuXG4vKipcbiAqIE1lcmdlcyBUYWlsd2luZCBjbGFzcyBuYW1lcyBhbmQgcmVzb2x2ZXMgYW55IGNvbmZsaWN0cyB1c2luZyBgY2xzeGAgd2l0aCBgdGFpbHdpbmQtbWVyZ2VgLlxuICpcbiAqIEBwYXJhbSBpbnB1dHMgLSBBbiBhcnJheSBvZiBjbGFzcyBuYW1lcyB0byBtZXJnZS5cbiAqIEByZXR1cm5zIEEgc3RyaW5nIG9mIG1lcmdlZCBhbmQgb3B0aW1pemVkIGNsYXNzIG5hbWVzLlxuICovXG5mdW5jdGlvbiBjbiguLi5jbGFzc2VzOiBDbGFzc1ZhbHVlW10pIHtcbiAgcmV0dXJuIGN1c3RvbVR3TWVyZ2UoY2xzeCguLi5jbGFzc2VzKSk7XG59XG5cbmV4cG9ydCB7IGNuIH07XG4iXX0=
@@ -2,7 +2,7 @@
2
2
  * Shared utilities for analyzing workflow events.
3
3
  * Used by run-actions and trace viewer components.
4
4
  */
5
- import type { Event, WorkflowRunStatus } from '@workflow/world';
5
+ import { type Event, type WorkflowRunStatus } from '@workflow/world';
6
6
  /**
7
7
  * Result of analyzing events for a workflow run
8
8
  */
@@ -1 +1 @@
1
- {"version":3,"file":"event-analysis.d.ts","sourceRoot":"","sources":["../../src/lib/event-analysis.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAMhE;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,iDAAiD;IACjD,gBAAgB,EAAE,OAAO,CAAC;IAC1B,yEAAyE;IACzE,eAAe,EAAE,OAAO,CAAC;IACzB,iEAAiE;IACjE,eAAe,EAAE,OAAO,CAAC;IACzB,wCAAwC;IACxC,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,uCAAuC;IACvC,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,uCAAuC;IACvC,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,gEAAgE;IAChE,kBAAkB,EAAE,IAAI,GAAG,IAAI,CAAC;IAChC,4EAA4E;IAC5E,oBAAoB,EAAE,IAAI,GAAG,IAAI,CAAC;CACnC;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,SAAS,GAAG,aAAa,CAkGxE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,iBAAiB,GAAG,SAAS,GACpC,OAAO,CAIT;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,KAAK,EAAE,GAAG,SAAS,EAC3B,MAAM,EAAE,iBAAiB,GAAG,SAAS,GACpC,OAAO,CAmDT;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,KAAK,EAAE,GAAG,SAAS,GAC1B,OAAO,CAET;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,KAAK,EAAE,GAAG,SAAS,GAC1B,OAAO,CAET"}
1
+ {"version":3,"file":"event-analysis.d.ts","sourceRoot":"","sources":["../../src/lib/event-analysis.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,KAAK,KAAK,EAEV,KAAK,iBAAiB,EACvB,MAAM,iBAAiB,CAAC;AAMzB;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,iDAAiD;IACjD,gBAAgB,EAAE,OAAO,CAAC;IAC1B,yEAAyE;IACzE,eAAe,EAAE,OAAO,CAAC;IACzB,iEAAiE;IACjE,eAAe,EAAE,OAAO,CAAC;IACzB,wCAAwC;IACxC,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,uCAAuC;IACvC,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,uCAAuC;IACvC,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,gEAAgE;IAChE,kBAAkB,EAAE,IAAI,GAAG,IAAI,CAAC;IAChC,4EAA4E;IAC5E,oBAAoB,EAAE,IAAI,GAAG,IAAI,CAAC;CACnC;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,SAAS,GAAG,aAAa,CAkGxE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,iBAAiB,GAAG,SAAS,GACpC,OAAO,CAET;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,KAAK,EAAE,GAAG,SAAS,EAC3B,MAAM,EAAE,iBAAiB,GAAG,SAAS,GACpC,OAAO,CAmDT;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,KAAK,EAAE,GAAG,SAAS,GAC1B,OAAO,CAET;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,KAAK,EAAE,GAAG,SAAS,GAC1B,OAAO,CAET"}
@@ -2,6 +2,7 @@
2
2
  * Shared utilities for analyzing workflow events.
3
3
  * Used by run-actions and trace viewer components.
4
4
  */
5
+ import { isTerminalWorkflowRunStatus, } from '@workflow/world';
5
6
  // Time thresholds for Re-enqueue button visibility
6
7
  const STEP_ACTIVITY_TIMEOUT_MS = 30 * 60 * 1000; // 30 minutes
7
8
  const STEP_IDLE_TIMEOUT_MS = 5 * 60 * 1000; // 5 minutes
@@ -92,7 +93,7 @@ export function analyzeEvents(events) {
92
93
  * Check if a workflow run status is terminal (completed, failed, or cancelled)
93
94
  */
94
95
  export function isTerminalStatus(status) {
95
- return (status === 'completed' || status === 'failed' || status === 'cancelled');
96
+ return status ? isTerminalWorkflowRunStatus(status) : false;
96
97
  }
97
98
  /**
98
99
  * Determine if the Re-enqueue button should be shown without the debug flag.
@@ -158,4 +159,4 @@ export function hasPendingStepsFromEvents(events) {
158
159
  export function hasPendingHooksFromEvents(events) {
159
160
  return analyzeEvents(events).hasPendingHooks;
160
161
  }
161
- //# sourceMappingURL=event-analysis.js.map
162
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtYW5hbHlzaXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL2V2ZW50LWFuYWx5c2lzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUVILE9BQU8sRUFFTCwyQkFBMkIsR0FFNUIsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QixtREFBbUQ7QUFDbkQsTUFBTSx3QkFBd0IsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDLGFBQWE7QUFDOUQsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDLFlBQVk7QUF3QnhEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGFBQWEsQ0FBQyxNQUEyQjtJQUN2RCxJQUFJLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDbkMsT0FBTztZQUNMLGdCQUFnQixFQUFFLEtBQUs7WUFDdkIsZUFBZSxFQUFFLEtBQUs7WUFDdEIsZUFBZSxFQUFFLEtBQUs7WUFDdEIsZUFBZSxFQUFFLEVBQUU7WUFDbkIsY0FBYyxFQUFFLEVBQUU7WUFDbEIsY0FBYyxFQUFFLEVBQUU7WUFDbEIsa0JBQWtCLEVBQUUsSUFBSTtZQUN4QixvQkFBb0IsRUFBRSxJQUFJO1NBQzNCLENBQUM7SUFDSixDQUFDO0lBRUQsK0NBQStDO0lBQy9DLE1BQU0sV0FBVyxHQUFHLElBQUksR0FBRyxFQUFpQixDQUFDO0lBQzdDLE1BQU0sYUFBYSxHQUFHLElBQUksR0FBRyxFQUFVLENBQUM7SUFDeEMsTUFBTSxXQUFXLEdBQUcsSUFBSSxHQUFHLEVBQWlCLENBQUM7SUFDN0MsTUFBTSxhQUFhLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztJQUN4QyxNQUFNLFdBQVcsR0FBRyxJQUFJLEdBQUcsRUFBaUIsQ0FBQztJQUM3QyxNQUFNLFlBQVksR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFDO0lBRXZDLElB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USxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDL0QsTUFBTSx1QkFBdUIsR0FDM0IsR0FBRyxHQUFHLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNoRCxJQUFJLHVCQUF1QixHQUFHLG9CQUFvQixFQUFFLENBQUM7WUFDbkQsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO0lBQ0gsQ0FBQztJQUVELGtFQUFrRTtJQUNsRSxzREFBc0Q7SUFDdEQsSUFDRSxDQUFDLFFBQVEsQ0FBQyxrQkFBa0I7UUFDNUIsQ0FBQyxRQUFRLENBQUMsZUFBZTtRQUN6QixDQUFDLFFBQVEsQ0FBQyxnQkFBZ0I7UUFDMUIsQ0FBQyxRQUFRLENBQUMsZUFBZSxFQUN6QixDQUFDO1FBQ0QsNERBQTREO1FBQzVELHVEQUF1RDtRQUN2RCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSx5QkFBeUIsQ0FDdkMsTUFBMkI7SUFFM0IsT0FBTyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsZUFBZSxDQUFDO0FBQy9DLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSx5QkFBeUIsQ0FDdkMsTUFBMkI7SUFFM0IsT0FBTyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsZUFBZSxDQUFDO0FBQy9DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFNoYXJlZCB1dGlsaXRpZXMgZm9yIGFuYWx5emluZyB3b3JrZmxvdyBldmVudHMuXG4gKiBVc2VkIGJ5IHJ1bi1hY3Rpb25zIGFuZCB0cmFjZSB2aWV3ZXIgY29tcG9uZW50cy5cbiAqL1xuXG5pbXBvcnQge1xuICB0eXBlIEV2ZW50LFxuICBpc1Rlcm1pbmFsV29ya2Zsb3dSdW5TdGF0dXMsXG4gIHR5cGUgV29ya2Zsb3dSdW5TdGF0dXMsXG59IGZyb20gJ0B3b3JrZmxvdy93b3JsZCc7XG5cbi8vIFRpbWUgdGhyZXNob2xkcyBmb3IgUmUtZW5xdWV1ZSBidXR0b24gdmlzaWJpbGl0eVxuY29uc3QgU1RFUF9BQ1RJVklUWV9USU1FT1VUX01TID0gMzAgKiA2MCAqIDEwMDA7IC8vIDMwIG1pbnV0ZXNcbmNvbnN0IFNURVBfSURMRV9USU1FT1VUX01TID0gNSAqIDYwICogMTAwMDsgLy8gNSBtaW51dGVzXG5cbi8qKlxuICogUmVzdWx0IG9mIGFuYWx5emluZyBldmVudHMgZm9yIGEgd29ya2Zsb3cgcnVuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRXZlbnRBbmFseXNpcyB7XG4gIC8qKiBXaGV0aGVyIHRoZXJlIGFyZSBwZW5kaW5nIHNsZWVwL3dhaXQgY2FsbHMgKi9cbiAgaGFzUGVuZGluZ1NsZWVwczogYm9vbGVhbjtcbiAgLyoqIFdoZXRoZXIgdGhlcmUgYXJlIHBlbmRpbmcgc3RlcHMgKHN0YXJ0ZWQgYnV0IG5vdCBjb21wbGV0ZWQvZmFpbGVkKSAqL1xuICBoYXNQZW5kaW5nU3RlcHM6IGJvb2xlYW47XG4gIC8qKiBXaGV0aGVyIHRoZXJlIGFyZSBwZW5kaW5nIGhvb2tzIChjcmVhdGVkIGJ1dCBub3QgZGlzcG9zZWQpICovXG4gIGhhc1BlbmRpbmdIb29rczogYm9vbGVhbjtcbiAgLyoqIENvcnJlbGF0aW9uIElEcyBvZiBwZW5kaW5nIHNsZWVwcyAqL1xuICBwZW5kaW5nU2xlZXBJZHM6IHN0cmluZ1tdO1xuICAvKiogQ29ycmVsYXRpb24gSURzIG9mIHBlbmRpbmcgc3RlcHMgKi9cbiAgcGVuZGluZ1N0ZXBJZHM6IHN0cmluZ1tdO1xuICAvKiogQ29ycmVsYXRpb24gSURzIG9mIHBlbmRpbmcgaG9va3MgKi9cbiAgcGVuZGluZ0hvb2tJZHM6IHN0cmluZ1tdO1xuICAvKiogVGltZXN0YW1wIG9mIHRoZSBsYXN0IHN0ZXBfc3RhcnRlZCBvciBzdGVwX3JldHJ5aW5nIGV2ZW50ICovXG4gIGxhc3RTdGVwQWN0aXZpdHlBdDogRGF0ZSB8IG51bGw7XG4gIC8qKiBUaW1lc3RhbXAgb2YgdGhlIGxhc3Qgc3RlcCBjb21wbGV0aW9uIChzdGVwX2NvbXBsZXRlZCBvciBzdGVwX2ZhaWxlZCkgKi9cbiAgbGFzdFN0ZXBDb21wbGV0aW9uQXQ6IERhdGUgfCBudWxsO1xufVxuXG4vKipcbiAqIEFuYWx5emUgZXZlbnRzIHRvIGRldGVybWluZSBwZW5kaW5nIHNsZWVwcywgc3RlcHMsIGFuZCBob29rcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFuYWx5emVFdmVudHMoZXZlbnRzOiBFdmVudFtdIHwgdW5kZWZpbmVkKTogRXZlbnRBbmFseXNpcyB7XG4gIGlmICghZXZlbnRzIHx8IGV2ZW50cy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4ge1xuICAgICAgaGFzUGVuZGluZ1NsZWVwczogZmFsc2UsXG4gICAgICBoYXNQZW5kaW5nU3RlcHM6IGZhbHNlLFxuICAgICAgaGFzUGVuZGluZ0hvb2tzOiBmYWxzZSxcbiAgICAgIHBlbmRpbmdTbGVlcElkczogW10sXG4gICAgICBwZW5kaW5nU3RlcElkczogW10sXG4gICAgICBwZW5kaW5nSG9va0lkczogW10sXG4gICAgICBsYXN0U3RlcEFjdGl2aXR5QXQ6IG51bGwsXG4gICAgICBsYXN0U3RlcENvbXBsZXRpb25BdDogbnVsbCxcbiAgICB9O1xuICB9XG5cbiAgLy8gR3JvdXAgZXZlbnRzIGJ5IGNvcnJlbGF0aW9uIElEIGZvciBlYWNoIHR5cGVcbiAgY29uc3Qgd2FpdENyZWF0ZWQgPSBuZXcgTWFwPHN0cmluZywgRXZlbnQ+KCk7XG4gIGNvbnN0IHdhaXRDb21wbGV0ZWQgPSBuZXcgU2V0PHN0cmluZz4oKTtcbiAgY29uc3Qgc3RlcFN0YXJ0ZWQgPSBuZXcgTWFwPHN0cmluZywgRXZlbnQ+KCk7XG4gIGNvbnN0IHN0ZXBDb21wbGV0ZWQgPSBuZXcgU2V0PHN0cmluZz4oKTtcbiAgY29uc3QgaG9va0NyZWF0ZWQgPSBuZXcgTWFwPHN0cmluZywgRXZlbnQ+KCk7XG4gIGNvbnN0IGhvb2tEaXNwb3NlZCA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuXG4gIGxldCBsYXN0U3RlcEFjdGl2aXR5QXQ6IERhdGUgfCBudWxsID0gbnVsbDtcbiAgbGV0IGxhc3RTdGVwQ29tcGxldGlvbkF0OiBEYXRlIHwgbnVsbCA9IG51bGw7XG5cbiAgZm9yIChjb25zdCBldmVudCBvZiBldmVudHMpIHtcbiAgICBjb25zdCBjb3JyZWxhdGlvbklkID0gZXZlbnQuY29ycmVsYXRpb25JZDtcbiAgICBpZiAoIWNvcnJlbGF0aW9uSWQpIGNvbnRpbnVlO1xuXG4gICAgc3dpdGNoIChldmVudC5ldmVudFR5cGUpIHtcbiAgICAgIC8vIFNsZWVwcy9XYWl0c1xuICAgICAgY2FzZSAnd2FpdF9jcmVhdGVkJzpcbiAgICAgICAgd2FpdENyZWF0ZWQuc2V0KGNvcnJlbGF0aW9uSWQsIGV2ZW50KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICd3YWl0X2NvbXBsZXRlZCc6XG4gICAgICAgIHdhaXRDb21wbGV0ZWQuYWRkKGNvcnJlbGF0aW9uSWQpO1xuICAgICAgICBicmVhaztcblxuICAgICAgLy8gU3RlcHNcbiAgICAgIGNhc2UgJ3N0ZXBfc3RhcnRlZCc6XG4gICAgICAgIHN0ZXBTdGFydGVkLnNldChjb3JyZWxhdGlvbklkLCBldmVudCk7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAhbGFzdFN0ZXBBY3Rpdml0eUF0IHx8XG4gICAgICAgICAgbmV3IERhdGUoZXZlbnQuY3JlYXRlZEF0KSA+IGxhc3RTdGVwQWN0aXZpdHlBdFxuICAgICAgICApIHtcbiAgICAgICAgICBsYXN0U3RlcEFjdGl2aXR5QXQgPSBuZXcgRGF0ZShldmVudC5jcmVhdGVkQXQpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnc3RlcF9yZXRyeWluZyc6XG4gICAgICAgIGlmIChcbiAgICAgICAgICAhbGFzdFN0ZXBBY3Rpdml0eUF0IHx8XG4gICAgICAgICAgbmV3IERhdGUoZXZlbnQuY3JlYXRlZEF0KSA+IGxhc3RTdGVwQWN0aXZpdHlBdFxuICAgICAgICApIHtcbiAgICAgICAgICBsYXN0U3RlcEFjdGl2aXR5QXQgPSBuZXcgRGF0ZShldmVudC5jcmVhdGVkQXQpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnc3RlcF9jb21wbGV0ZWQnOlxuICAgICAgY2FzZSAnc3RlcF9mYWlsZWQnOlxuICAgICAgICBzdGVwQ29tcGxldGVkLmFkZChjb3JyZWxhdGlvbklkKTtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICFsYXN0U3RlcENvbXBsZXRpb25BdCB8fFxuICAgICAgICAgIG5ldyBEYXRlKGV2ZW50LmNyZWF0ZWRBdCkgPiBsYXN0U3RlcENvbXBsZXRpb25BdFxuICAgICAgICApIHtcbiAgICAgICAgICBsYXN0U3RlcENvbXBsZXRpb25BdCA9IG5ldyBEYXRlKGV2ZW50LmNyZWF0ZWRBdCk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIC8vIEhvb2tzXG4gICAgICBjYXNlICdob29rX2NyZWF0ZWQnOlxuICAgICAgICBob29rQ3JlYXRlZC5zZXQoY29ycmVsYXRpb25JZCwgZXZlbnQpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2hvb2tfZGlzcG9zZWQnOlxuICAgICAgICBob29rRGlzcG9zZWQuYWRkKGNvcnJlbGF0aW9uSWQpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICAvLyBGaW5kIHBlbmRpbmcgaXRlbXMgKGNyZWF0ZWQgYnV0IG5vdCBjb21wbGV0ZWQpXG4gIGNvbnN0IHBlbmRpbmdTbGVlcElkcyA9IEFycmF5LmZyb20od2FpdENyZWF0ZWQua2V5cygpKS5maWx0ZXIoXG4gICAgKGlkKSA9PiAhd2FpdENvbXBsZXRlZC5oYXMoaWQpXG4gICk7XG4gIGNvbnN0IHBlbmRpbmdTdGVwSWRzID0gQXJyYXkuZnJvbShzdGVwU3RhcnRlZC5rZXlzKCkpLmZpbHRlcihcbiAgICAoaWQpID0+ICFzdGVwQ29tcGxldGVkLmhhcyhpZClcbiAgKTtcbiAgY29uc3QgcGVuZGluZ0hvb2tJZHMgPSBBcnJheS5mcm9tKGhvb2tDcmVhdGVkLmtleXMoKSkuZmlsdGVyKFxuICAgIChpZCkgPT4gIWhvb2tEaXNwb3NlZC5oYXMoaWQpXG4gICk7XG5cbiAgcmV0dXJuIHtcbiAgICBoYXNQZW5kaW5nU2xlZXBzOiBwZW5kaW5nU2xlZXBJZHMubGVuZ3RoID4gMCxcbiAgICBoYXNQZW5kaW5nU3RlcHM6IHBlbmRpbmdTdGVwSWRzLmxlbmd0aCA+IDAsXG4gICAgaGFzUGVuZGluZ0hvb2tzOiBwZW5kaW5nSG9va0lkcy5sZW5ndGggPiAwLFxuICAgIHBlbmRpbmdTbGVlcElkcyxcbiAgICBwZW5kaW5nU3RlcElkcyxcbiAgICBwZW5kaW5nSG9va0lkcyxcbiAgICBsYXN0U3RlcEFjdGl2aXR5QXQsXG4gICAgbGFzdFN0ZXBDb21wbGV0aW9uQXQsXG4gIH07XG59XG5cbi8qKlxuICogQ2hlY2sgaWYgYSB3b3JrZmxvdyBydW4gc3RhdHVzIGlzIHRlcm1pbmFsIChjb21wbGV0ZWQsIGZhaWxlZCwgb3IgY2FuY2VsbGVkKVxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNUZXJtaW5hbFN0YXR1cyhcbiAgc3RhdHVzOiBXb3JrZmxvd1J1blN0YXR1cyB8IHVuZGVmaW5lZFxuKTogYm9vbGVhbiB7XG4gIHJldHVybiBzdGF0dXMgPyBpc1Rlcm1pbmFsV29ya2Zsb3dSdW5TdGF0dXMoc3RhdHVzKSA6IGZhbHNlO1xufVxuXG4vKipcbiAqIERldGVybWluZSBpZiB0aGUgUmUtZW5xdWV1ZSBidXR0b24gc2hvdWxkIGJlIHNob3duIHdpdGhvdXQgdGhlIGRlYnVnIGZsYWcuXG4gKlxuICogVGhlIFJlLWVucXVldWUgYnV0dG9uIGlzIHNob3duIHdoZW4gdGhlIHdvcmtmbG93IGFwcGVhcnMgdG8gYmUgc3R1Y2s6XG4gKiAtIFRoZSB3b3JrZmxvdyBpcyBub3QgaW4gYSB0ZXJtaW5hbCBzdGF0ZVxuICogLSBUaGVyZSBhcmUgbm8gcGVuZGluZyBzbGVlcHMgKHdoaWNoIHdvdWxkIHNob3cgdGhlIFdha2UgdXAgYnV0dG9uIGluc3RlYWQpXG4gKiAtIFRoZXJlIGFyZSBubyBwZW5kaW5nIGhvb2tzICh3aGljaCBhcmUgd2FpdGluZyBmb3IgZXh0ZXJuYWwgaW5wdXQpXG4gKiAtIEVpdGhlcjpcbiAqICAgLSBUaGUgbGFzdCBzdGVwX3N0YXJ0ZWQgb3Igc3RlcF9yZXRyeWluZyBldmVudCB3YXMgPjMwIG1pbnV0ZXMgYWdvLCBPUlxuICogICAtIFRoZXJlIGhhdmUgYmVlbiBubyBwZW5kaW5nIHN0ZXBzIGZvciA+NSBtaW51dGVzIChhbGwgc3RlcHMgY29tcGxldGVkL2ZhaWxlZClcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNob3VsZFNob3dSZWVucXVldWVCdXR0b24oXG4gIGV2ZW50czogRXZlbnRbXSB8IHVuZGVmaW5lZCxcbiAgc3RhdHVzOiBXb3JrZmxvd1J1blN0YXR1cyB8IHVuZGVmaW5lZFxuKTogYm9vbGVhbiB7XG4gIC8vIE5ldmVyIHNob3cgaWYgaW4gdGVybWluYWwgc3RhdGVcbiAgaWYgKGlzVGVybWluYWxTdGF0dXMoc3RhdHVzKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IGFuYWx5c2lzID0gYW5hbHl6ZUV2ZW50cyhldmVudHMpO1xuXG4gIC8vIERvbid0IHNob3cgaWYgdGhlcmUgYXJlIHBlbmRpbmcgc2xlZXBzIChXYWtlIHVwIGJ1dHRvbiBoYW5kbGVzIHRoaXMpXG4gIGlmIChhbmFseXNpcy5oYXNQZW5kaW5nU2xlZXBzKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLy8gRG9uJ3Qgc2hvdyBpZiB0aGVyZSBhcmUgcGVuZGluZyBob29rcyAod2FpdGluZyBmb3IgZXh0ZXJuYWwgaW5wdXQpXG4gIGlmIChhbmFseXNpcy5oYXNQZW5kaW5nSG9va3MpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCBub3cgPSBEYXRlLm5vdygpO1xuXG4gIC8vIENoZWNrIGlmIGxhc3Qgc3RlcCBhY3Rpdml0eSB3YXMgPjMwIG1pbnV0ZXMgYWdvXG4gIGlmIChhbmFseXNpcy5sYXN0U3RlcEFjdGl2aXR5QXQpIHtcbiAgICBjb25zdCB0aW1lU2luY2VMYXN0QWN0aXZpdHkgPSBub3cgLSBhbmFseXNpcy5sYXN0U3RlcEFjdGl2aXR5QXQuZ2V0VGltZSgpO1xuICAgIGlmICh0aW1lU2luY2VMYXN0QWN0aXZpdHkgPiBTVEVQX0FDVElWSVRZX1RJTUVPVVRfTVMpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIC8vIENoZWNrIGlmIHRoZXJlIGFyZSBubyBwZW5kaW5nIHN0ZXBzIGFuZCBsYXN0IGNvbXBsZXRpb24gd2FzID41IG1pbnV0ZXMgYWdvXG4gIGlmICghYW5hbHlzaXMuaGFzUGVuZGluZ1N0ZXBzICYmIGFuYWx5c2lzLmxhc3RTdGVwQ29tcGxldGlvbkF0KSB7XG4gICAgY29uc3QgdGltZVNpbmNlTGFzdENvbXBsZXRpb24gPVxuICAgICAgbm93IC0gYW5hbHlzaXMubGFzdFN0ZXBDb21wbGV0aW9uQXQuZ2V0VGltZSgpO1xuICAgIGlmICh0aW1lU2luY2VMYXN0Q29tcGxldGlvbiA+IFNURVBfSURMRV9USU1FT1VUX01TKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICAvLyBJZiB0aGVyZSdzIG5vIHN0ZXAgYWN0aXZpdHkgYXQgYWxsIGJ1dCB0aGUgcnVuIGlzIG5vdCB0ZXJtaW5hbCxcbiAgLy8gYW5kIHdlJ3ZlIGJlZW4gd2FpdGluZyBmb3IgYSB3aGlsZSwgc2hvdyB0aGUgYnV0dG9uXG4gIGlmIChcbiAgICAhYW5hbHlzaXMubGFzdFN0ZXBBY3Rpdml0eUF0ICYmXG4gICAgIWFuYWx5c2lzLmhhc1BlbmRpbmdTdGVwcyAmJlxuICAgICFhbmFseXNpcy5oYXNQZW5kaW5nU2xlZXBzICYmXG4gICAgIWFuYWx5c2lzLmhhc1BlbmRpbmdIb29rc1xuICApIHtcbiAgICAvLyBUaGlzIGNhc2UgaGFuZGxlcyBydW5zIHRoYXQgaGF2ZW4ndCBzdGFydGVkIGFueSBzdGVwcyB5ZXRcbiAgICAvLyBidXQgYXJlbid0IGluIGEgdGVybWluYWwgc3RhdGUgLSB0aGV5IG1pZ2h0IGJlIHN0dWNrXG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59XG5cbi8qKlxuICogQ2hlY2sgaWYgdGhlcmUgYXJlIHBlbmRpbmcgc3RlcHMgZnJvbSBhbiBldmVudHMgbGlzdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhhc1BlbmRpbmdTdGVwc0Zyb21FdmVudHMoXG4gIGV2ZW50czogRXZlbnRbXSB8IHVuZGVmaW5lZFxuKTogYm9vbGVhbiB7XG4gIHJldHVybiBhbmFseXplRXZlbnRzKGV2ZW50cykuaGFzUGVuZGluZ1N0ZXBzO1xufVxuXG4vKipcbiAqIENoZWNrIGlmIHRoZXJlIGFyZSBwZW5kaW5nIGhvb2tzIGZyb20gYW4gZXZlbnRzIGxpc3QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoYXNQZW5kaW5nSG9va3NGcm9tRXZlbnRzKFxuICBldmVudHM6IEV2ZW50W10gfCB1bmRlZmluZWRcbik6IGJvb2xlYW4ge1xuICByZXR1cm4gYW5hbHl6ZUV2ZW50cyhldmVudHMpLmhhc1BlbmRpbmdIb29rcztcbn1cbiJdfQ==
@@ -9,7 +9,7 @@
9
9
  * all events for a run once, then materializes entities client-side instead
10
10
  * of making separate API calls for each entity type.
11
11
  */
12
- import type { Event, StepStatus } from '@workflow/world';
12
+ import { type Event, type StepStatus } from '@workflow/world';
13
13
  export interface MaterializedStep {
14
14
  stepId: string;
15
15
  runId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"event-materialization.d.ts","sourceRoot":"","sources":["../../src/lib/event-materialization.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAMzD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,SAAS,EAAE,IAAI,CAAC;IAChB,mDAAmD;IACnD,MAAM,EAAE,KAAK,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,IAAI,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,IAAI,CAAC;IACtB,UAAU,CAAC,EAAE,IAAI,CAAC;IAClB,mDAAmD;IACnD,MAAM,EAAE,KAAK,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,SAAS,GAAG,WAAW,CAAC;IAChC,SAAS,EAAE,IAAI,CAAC;IAChB,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,mDAAmD;IACnD,MAAM,EAAE,KAAK,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,KAAK,EAAE,gBAAgB,EAAE,CAAC;CAC3B;AA6BD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,gBAAgB,EAAE,CA2DpE;AAMD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,gBAAgB,EAAE,CA8BpE;AAMD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,gBAAgB,EAAE,CAyBpE;AAMD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,oBAAoB,CAMpE"}
1
+ {"version":3,"file":"event-materialization.d.ts","sourceRoot":"","sources":["../../src/lib/event-materialization.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,KAAK,KAAK,EAIV,KAAK,UAAU,EAChB,MAAM,iBAAiB,CAAC;AAMzB,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,SAAS,EAAE,IAAI,CAAC;IAChB,mDAAmD;IACnD,MAAM,EAAE,KAAK,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,IAAI,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,IAAI,CAAC;IACtB,UAAU,CAAC,EAAE,IAAI,CAAC;IAClB,mDAAmD;IACnD,MAAM,EAAE,KAAK,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,SAAS,GAAG,WAAW,CAAC;IAChC,SAAS,EAAE,IAAI,CAAC;IAChB,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,mDAAmD;IACnD,MAAM,EAAE,KAAK,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,KAAK,EAAE,gBAAgB,EAAE,CAAC;CAC3B;AAqCD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,gBAAgB,EAAE,CA2DpE;AAMD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,gBAAgB,EAAE,CA8BpE;AAMD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,gBAAgB,EAAE,CAyBpE;AAMD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,oBAAoB,CAMpE"}
@@ -9,16 +9,17 @@
9
9
  * all events for a run once, then materializes entities client-side instead
10
10
  * of making separate API calls for each entity type.
11
11
  */
12
+ import { isHookLifecycleEventType, isStepEventType, isWaitEventType, } from '@workflow/world';
12
13
  // ---------------------------------------------------------------------------
13
- // Helper: group events by correlationId prefix
14
+ // Helper: group events by correlationId
14
15
  // ---------------------------------------------------------------------------
15
- function groupByCorrelationId(events, prefixes) {
16
+ function groupByCorrelationId(events, matchesEventType) {
16
17
  const groups = new Map();
17
18
  for (const event of events) {
18
19
  const cid = event.correlationId;
19
20
  if (!cid)
20
21
  continue;
21
- if (!prefixes.some((p) => cid.startsWith(p)))
22
+ if (!matchesEventType(event.eventType))
22
23
  continue;
23
24
  const existing = groups.get(cid);
24
25
  if (existing) {
@@ -30,6 +31,13 @@ function groupByCorrelationId(events, prefixes) {
30
31
  }
31
32
  return groups;
32
33
  }
34
+ function getEventTimestamp(event) {
35
+ const value = event?.occurredAt ?? event?.createdAt;
36
+ if (!value)
37
+ return undefined;
38
+ const date = value instanceof Date ? value : new Date(value);
39
+ return Number.isNaN(date.getTime()) ? undefined : date;
40
+ }
33
41
  // ---------------------------------------------------------------------------
34
42
  // materializeSteps
35
43
  // ---------------------------------------------------------------------------
@@ -40,7 +48,7 @@ function groupByCorrelationId(events, prefixes) {
40
48
  * step_created event with no completion yet.
41
49
  */
42
50
  export function materializeSteps(events) {
43
- const groups = groupByCorrelationId(events, ['step_']);
51
+ const groups = groupByCorrelationId(events, isStepEventType);
44
52
  const steps = [];
45
53
  for (const [correlationId, stepEvents] of groups) {
46
54
  const created = stepEvents.find((e) => e.eventType === 'step_created');
@@ -50,31 +58,31 @@ export function materializeSteps(events) {
50
58
  let attempt = 0;
51
59
  let startedAt;
52
60
  let completedAt;
53
- let updatedAt = created.createdAt;
61
+ let updatedAt = getEventTimestamp(created) ?? created.createdAt;
54
62
  for (const e of stepEvents) {
55
63
  switch (e.eventType) {
56
64
  case 'step_started':
57
65
  status = 'running';
58
66
  attempt += 1;
59
67
  if (!startedAt)
60
- startedAt = e.createdAt;
68
+ startedAt = getEventTimestamp(e) ?? e.createdAt;
61
69
  completedAt = undefined;
62
- updatedAt = e.createdAt;
70
+ updatedAt = getEventTimestamp(e) ?? e.createdAt;
63
71
  break;
64
72
  case 'step_completed':
65
73
  status = 'completed';
66
- completedAt = e.createdAt;
67
- updatedAt = e.createdAt;
74
+ completedAt = getEventTimestamp(e) ?? e.createdAt;
75
+ updatedAt = getEventTimestamp(e) ?? e.createdAt;
68
76
  break;
69
77
  case 'step_failed':
70
78
  status = 'failed';
71
- completedAt = e.createdAt;
72
- updatedAt = e.createdAt;
79
+ completedAt = getEventTimestamp(e) ?? e.createdAt;
80
+ updatedAt = getEventTimestamp(e) ?? e.createdAt;
73
81
  break;
74
82
  case 'step_retrying':
75
83
  status = 'pending';
76
84
  completedAt = undefined;
77
- updatedAt = e.createdAt;
85
+ updatedAt = getEventTimestamp(e) ?? e.createdAt;
78
86
  break;
79
87
  }
80
88
  }
@@ -86,7 +94,7 @@ export function materializeSteps(events) {
86
94
  : correlationId,
87
95
  status,
88
96
  attempt,
89
- createdAt: created.createdAt,
97
+ createdAt: getEventTimestamp(created) ?? created.createdAt,
90
98
  startedAt,
91
99
  completedAt,
92
100
  updatedAt,
@@ -102,7 +110,7 @@ export function materializeSteps(events) {
102
110
  * Group hook_* events by correlationId and build Hook-like entities.
103
111
  */
104
112
  export function materializeHooks(events) {
105
- const groups = groupByCorrelationId(events, ['hook_']);
113
+ const groups = groupByCorrelationId(events, isHookLifecycleEventType);
106
114
  const hooks = [];
107
115
  for (const [correlationId, hookEvents] of groups) {
108
116
  const created = hookEvents.find((e) => e.eventType === 'hook_created');
@@ -117,10 +125,10 @@ export function materializeHooks(events) {
117
125
  token: created.eventType === 'hook_created'
118
126
  ? created.eventData?.token
119
127
  : undefined,
120
- createdAt: created.createdAt,
128
+ createdAt: getEventTimestamp(created) ?? created.createdAt,
121
129
  receivedCount: receivedEvents.length,
122
- lastReceivedAt: lastReceived?.createdAt,
123
- disposedAt: disposed?.createdAt,
130
+ lastReceivedAt: getEventTimestamp(lastReceived),
131
+ disposedAt: getEventTimestamp(disposed),
124
132
  events: hookEvents,
125
133
  });
126
134
  }
@@ -133,7 +141,7 @@ export function materializeHooks(events) {
133
141
  * Group wait_* events by correlationId and build Wait-like entities.
134
142
  */
135
143
  export function materializeWaits(events) {
136
- const groups = groupByCorrelationId(events, ['wait_']);
144
+ const groups = groupByCorrelationId(events, isWaitEventType);
137
145
  const waits = [];
138
146
  for (const [correlationId, waitEvents] of groups) {
139
147
  const created = waitEvents.find((e) => e.eventType === 'wait_created');
@@ -144,11 +152,11 @@ export function materializeWaits(events) {
144
152
  waitId: correlationId,
145
153
  runId: created.runId,
146
154
  status: completed ? 'completed' : 'waiting',
147
- createdAt: created.createdAt,
155
+ createdAt: getEventTimestamp(created) ?? created.createdAt,
148
156
  resumeAt: created.eventType === 'wait_created'
149
157
  ? created.eventData?.resumeAt
150
158
  : undefined,
151
- completedAt: completed?.createdAt,
159
+ completedAt: getEventTimestamp(completed),
152
160
  events: waitEvents,
153
161
  });
154
162
  }
@@ -168,4 +176,4 @@ export function materializeAll(events) {
168
176
  waits: materializeWaits(events),
169
177
  };
170
178
  }
171
- //# sourceMappingURL=event-materialization.js.map
179
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtbWF0ZXJpYWxpemF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9ldmVudC1tYXRlcmlhbGl6YXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7R0FVRztBQUVILE9BQU8sRUFFTCx3QkFBd0IsRUFDeEIsZUFBZSxFQUNmLGVBQWUsR0FFaEIsTUFBTSxpQkFBaUIsQ0FBQztBQWlEekIsOEVBQThFO0FBQzlFLHdDQUF3QztBQUN4Qyw4RUFBOEU7QUFFOUUsU0FBUyxvQkFBb0IsQ0FDM0IsTUFBZSxFQUNmLGdCQUFnRDtJQUVoRCxNQUFNLE1BQU0sR0FBRyxJQUFJLEdBQUcsRUFBbUIsQ0FBQztJQUMxQyxLQUFLLE1BQU0sS0FBSyxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQzNCLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxhQUFhLENBQUM7UUFDaEMsSUFBSSxDQUFDLEdBQUc7WUFBRSxTQUFTO1FBQ25CLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDO1lBQUUsU0FBUztRQUNqRCxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pDLElBQUksUUFBUSxFQUFFLENBQUM7WUFDYixRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZCLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzNCLENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQUVELFNBQVMsaUJBQWlCLENBQUMsS0FBd0I7SUFDakQsTUFBTSxLQUFLLEdBQUcsS0FBSyxFQUFFLFVBQVUsSUFBSSxLQUFLLEVBQUUsU0FBUyxDQUFDO0lBQ3BELElBQUksQ0FBQyxLQUFLO1FBQUUsT0FBTyxTQUFTLENB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TyxDQUFDLEtBQUs7WUFDcEIsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxTQUFTO1lBQzNDLFNBQVMsRUFBRSxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxPQUFPLENBQUMsU0FBUztZQUMxRCxRQUFRLEVBQ04sT0FBTyxDQUFDLFNBQVMsS0FBSyxjQUFjO2dCQUNsQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxRQUFRO2dCQUM3QixDQUFDLENBQUMsU0FBUztZQUNmLFdBQVcsRUFBRSxpQkFBaUIsQ0FBQyxTQUFTLENBQUM7WUFDekMsTUFBTSxFQUFFLFVBQVU7U0FDbkIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQUVELDhFQUE4RTtBQUM5RSxpQkFBaUI7QUFDakIsOEVBQThFO0FBRTlFOzs7R0FHRztBQUNILE1BQU0sVUFBVSxjQUFjLENBQUMsTUFBZTtJQUM1QyxPQUFPO1FBQ0wsS0FBSyxFQUFFLGdCQUFnQixDQUFDLE1BQU0sQ0FBQztRQUMvQixLQUFLLEVBQUUsZ0JBQWdCLENBQUMsTUFBTSxDQUFDO1FBQy9CLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyxNQUFNLENBQUM7S0FDaEMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEV2ZW50IG1hdGVyaWFsaXphdGlvbiBoZWxwZXJzLlxuICpcbiAqIFRoZXNlIGZ1bmN0aW9ucyBjb252ZXJ0IGEgZmxhdCBsaXN0IG9mIHdvcmtmbG93IGV2ZW50cyBpbnRvIGVudGl0eS1saWtlXG4gKiBvYmplY3RzIChzdGVwcywgaG9va3MsIHdhaXRzKSBieSBncm91cGluZyBldmVudHMgYnkgY29ycmVsYXRpb25JZCBhbmRcbiAqIHN0aXRjaGluZyB0b2dldGhlciBsaWZlY3ljbGUgZXZlbnRzLlxuICpcbiAqIFRoaXMgZW5hYmxlcyBhIFwidG9wLWRvd25cIiBkYXRhIGZldGNoaW5nIHBhdHRlcm4gd2hlcmUgdGhlIGNsaWVudCBmZXRjaGVzXG4gKiBhbGwgZXZlbnRzIGZvciBhIHJ1biBvbmNlLCB0aGVuIG1hdGVyaWFsaXplcyBlbnRpdGllcyBjbGllbnQtc2lkZSBpbnN0ZWFkXG4gKiBvZiBtYWtpbmcgc2VwYXJhdGUgQVBJIGNhbGxzIGZvciBlYWNoIGVudGl0eSB0eXBlLlxuICovXG5cbmltcG9ydCB7XG4gIHR5cGUgRXZlbnQsXG4gIGlzSG9va0xpZmVjeWNsZUV2ZW50VHlwZSxcbiAgaXNTdGVwRXZlbnRUeXBlLFxuICBpc1dhaXRFdmVudFR5cGUsXG4gIHR5cGUgU3RlcFN0YXR1cyxcbn0gZnJvbSAnQHdvcmtmbG93L3dvcmxkJztcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBNYXRlcmlhbGl6ZWQgZW50aXR5IHR5cGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuZXhwb3J0IGludGVyZmFjZSBNYXRlcmlhbGl6ZWRTdGVwIHtcbiAgc3RlcElkOiBzdHJpbmc7XG4gIHJ1bklkOiBzdHJpbmc7XG4gIHN0ZXBOYW1lOiBzdHJpbmc7XG4gIHN0YXR1czogU3RlcFN0YXR1cztcbiAgYXR0ZW1wdDogbnVtYmVyO1xuICBjcmVhdGVkQXQ6IERhdGU7XG4gIHN0YXJ0ZWRBdD86IERhdGU7XG4gIGNvbXBsZXRlZEF0PzogRGF0ZTtcbiAgdXBkYXRlZEF0OiBEYXRlO1xuICAvKiogQWxsIGV2ZW50cyBmb3IgdGhpcyBzdGVwLCBpbiBpbnNlcnRpb24gb3JkZXIgKi9cbiAgZXZlbnRzOiBFdmVudFtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1hdGVyaWFsaXplZEhvb2sge1xuICBob29rSWQ6IHN0cmluZztcbiAgcnVuSWQ6IHN0cmluZztcbiAgdG9rZW4/OiBzdHJpbmc7XG4gIGNyZWF0ZWRBdDogRGF0ZTtcbiAgcmVjZWl2ZWRDb3VudDogbnVtYmVyO1xuICBsYXN0UmVjZWl2ZWRBdD86IERhdGU7XG4gIGRpc3Bvc2VkQXQ/OiBEYXRlO1xuICAvKiogQWxsIGV2ZW50cyBmb3IgdGhpcyBob29rLCBpbiBpbnNlcnRpb24gb3JkZXIgKi9cbiAgZXZlbnRzOiBFdmVudFtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1hdGVyaWFsaXplZFdhaXQge1xuICB3YWl0SWQ6IHN0cmluZztcbiAgcnVuSWQ6IHN0cmluZztcbiAgc3RhdHVzOiAnd2FpdGluZycgfCAnY29tcGxldGVkJztcbiAgY3JlYXRlZEF0OiBEYXRlO1xuICByZXN1bWVBdD86IERhdGU7XG4gIGNvbXBsZXRlZEF0PzogRGF0ZTtcbiAgLyoqIEFsbCBldmVudHMgZm9yIHRoaXMgd2FpdCwgaW4gaW5zZXJ0aW9uIG9yZGVyICovXG4gIGV2ZW50czogRXZlbnRbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNYXRlcmlhbGl6ZWRFbnRpdGllcyB7XG4gIHN0ZXBzOiBNYXRlcmlhbGl6ZWRTdGVwW107XG4gIGhvb2tzOiBNYXRlcmlhbGl6ZWRIb29rW107XG4gIHdhaXRzOiBNYXRlcmlhbGl6ZWRXYWl0W107XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gSGVscGVyOiBncm91cCBldmVudHMgYnkgY29ycmVsYXRpb25JZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmZ1bmN0aW9uIGdyb3VwQnlDb3JyZWxhdGlvbklkKFxuICBldmVudHM6IEV2ZW50W10sXG4gIG1hdGNoZXNFdmVudFR5cGU6IChldmVudFR5cGU6IHN0cmluZykgPT4gYm9vbGVhblxuKTogTWFwPHN0cmluZywgRXZlbnRbXT4ge1xuICBjb25zdCBncm91cHMgPSBuZXcgTWFwPHN0cmluZywgRXZlbnRbXT4oKTtcbiAgZm9yIChjb25zdCBldmVudCBvZiBldmVudHMpIHtcbiAgICBjb25zdCBjaWQgPSBldmVudC5jb3JyZWxhdGlvbklkO1xuICAgIGlmICghY2lkKSBjb250aW51ZTtcbiAgICBpZiAoIW1hdGNoZXNFdmVudFR5cGUoZXZlbnQuZXZlbnRUeXBlKSkgY29udGludWU7XG4gICAgY29uc3QgZXhpc3RpbmcgPSBncm91cHMuZ2V0KGNpZCk7XG4gICAgaWYgKGV4aXN0aW5nKSB7XG4gICAgICBleGlzdGluZy5wdXNoKGV2ZW50KTtcbiAgICB9IGVsc2Uge1xuICAgICAgZ3JvdXBzLnNldChjaWQsIFtldmVudF0pO1xuICAgIH1cbiAgfVxuICByZXR1cm4gZ3JvdXBzO1xufVxuXG5mdW5jdGlvbiBnZXRFdmVudFRpbWVzdGFtcChldmVudDogRXZlbnQgfCB1bmRlZmluZWQpOiBEYXRlIHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgdmFsdWUgPSBldmVudD8ub2NjdXJyZWRBdCA/PyBldmVudD8uY3JlYXRlZEF0O1xuICBpZiAoIXZhbHVlKSByZXR1cm4gdW5kZWZpbmVkO1xuXG4gIGNvbnN0IGRhdGUgPSB2YWx1ZSBpbnN0YW5jZW9mIERhdGUgPyB2YWx1ZSA6IG5ldyBEYXRlKHZhbHVlKTtcbiAgcmV0dXJuIE51bWJlci5pc05hTihkYXRlLmdldFRpbWUoKSkgPyB1bmRlZmluZWQgOiBkYXRlO1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIG1hdGVyaWFsaXplU3RlcHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vKipcbiAqIEdyb3VwIHN0ZXBfKiBldmVudHMgYnkgY29ycmVsYXRpb25JZCBhbmQgYnVpbGQgU3RlcC1saWtlIGVudGl0aWVzLlxuICpcbiAqIEhhbmRsZXMgcGFydGlhbCBldmVudCBsaXN0cyBncmFjZWZ1bGx5OiBhIHN0ZXAgbWF5IG9ubHkgaGF2ZSBhXG4gKiBzdGVwX2NyZWF0ZWQgZXZlbnQgd2l0aCBubyBjb21wbGV0aW9uIHlldC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1hdGVyaWFsaXplU3RlcHMoZXZlbnRzOiBFdmVudFtdKTogTWF0ZXJpYWxpemVkU3RlcFtdIHtcbiAgY29uc3QgZ3JvdXBzID0gZ3JvdXBCeUNvcnJlbGF0aW9uSWQoZXZlbnRzLCBpc1N0ZXBFdmVudFR5cGUpO1xuICBjb25zdCBzdGVwczogTWF0ZXJpYWxpemVkU3RlcFtdID0gW107XG5cbiAgZm9yIChjb25zdCBbY29ycmVsYXRpb25JZCwgc3RlcEV2ZW50c10gb2YgZ3JvdXBzKSB7XG4gICAgY29uc3QgY3JlYXRlZCA9IHN0ZXBFdmVudHMuZmluZCgoZSkgPT4gZS5ldmVudFR5cGUgPT09ICdzdGVwX2NyZWF0ZWQnKTtcbiAgICBpZiAoIWNyZWF0ZWQpIGNvbnRpbnVlO1xuXG4gICAgbGV0IHN0YXR1czogU3RlcFN0YXR1cyA9ICdwZW5kaW5nJztcbiAgICBsZXQgYXR0ZW1wdCA9IDA7XG4gICAgbGV0IHN0YXJ0ZWRBdDogRGF0ZSB8IHVuZGVmaW5lZDtcbiAgICBsZXQgY29tcGxldGVkQXQ6IERhdGUgfCB1bmRlZmluZWQ7XG4gICAgbGV0IHVwZGF0ZWRBdCA9IGdldEV2ZW50VGltZXN0YW1wKGNyZWF0ZWQpID8/IGNyZWF0ZWQuY3JlYXRlZEF0O1xuXG4gICAgZm9yIChjb25zdCBlIG9mIHN0ZXBFdmVudHMpIHtcbiAgICAgIHN3aXRjaCAoZS5ldmVudFR5cGUpIHtcbiAgICAgICAgY2FzZSAnc3RlcF9zdGFydGVkJzpcbiAgICAgICAgICBzdGF0dXMgPSAncnVubmluZyc7XG4gICAgICAgICAgYXR0ZW1wdCArPSAxO1xuICAgICAgICAgIGlmICghc3RhcnRlZEF0KSBzdGFydGVkQXQgPSBnZXRFdmVudFRpbWVzdGFtcChlKSA/PyBlLmNyZWF0ZWRBdDtcbiAgICAgICAgICBjb21wbGV0ZWRBdCA9IHVuZGVmaW5lZDtcbiAgICAgICAgICB1cGRhdGVkQXQgPSBnZXRFdmVudFRpbWVzdGFtcChlKSA/PyBlLmNyZWF0ZWRBdDtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnc3RlcF9jb21wbGV0ZWQnOlxuICAgICAgICAgIHN0YXR1cyA9ICdjb21wbGV0ZWQnO1xuICAgICAgICAgIGNvbXBsZXRlZEF0ID0gZ2V0RXZlbnRUaW1lc3RhbXAoZSkgPz8gZS5jcmVhdGVkQXQ7XG4gICAgICAgICAgdXBkYXRlZEF0ID0gZ2V0RXZlbnRUaW1lc3RhbXAoZSkgPz8gZS5jcmVhdGVkQXQ7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3N0ZXBfZmFpbGVkJzpcbiAgICAgICAgICBzdGF0dXMgPSAnZmFpbGVkJztcbiAgICAgICAgICBjb21wbGV0ZWRBdCA9IGdldEV2ZW50VGltZXN0YW1wKGUpID8/IGUuY3JlYXRlZEF0O1xuICAgICAgICAgIHVwZGF0ZWRBdCA9IGdldEV2ZW50VGltZXN0YW1wKGUpID8/IGUuY3JlYXRlZEF0O1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdzdGVwX3JldHJ5aW5nJzpcbiAgICAgICAgICBzdGF0dXMgPSAncGVuZGluZyc7XG4gICAgICAgICAgY29tcGxldGVkQXQgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgdXBkYXRlZEF0ID0gZ2V0RXZlbnRUaW1lc3RhbXAoZSkgPz8gZS5jcmVhdGVkQXQ7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgc3RlcHMucHVzaCh7XG4gICAgICBzdGVwSWQ6IGNvcnJlbGF0aW9uSWQsXG4gICAgICBydW5JZDogY3JlYXRlZC5ydW5JZCxcbiAgICAgIHN0ZXBOYW1lOlxuICAgICAgICBjcmVhdGVkLmV2ZW50VHlwZSA9PT0gJ3N0ZXBfY3JlYXRlZCdcbiAgICAgICAgICA/IChjcmVhdGVkLmV2ZW50RGF0YT8uc3RlcE5hbWUgPz8gY29ycmVsYXRpb25JZClcbiAgICAgICAgICA6IGNvcnJlbGF0aW9uSWQsXG4gICAgICBzdGF0dXMsXG4gICAgICBhdHRlbXB0LFxuICAgICAgY3JlYXRlZEF0OiBnZXRFdmVudFRpbWVzdGFtcChjcmVhdGVkKSA/PyBjcmVhdGVkLmNyZWF0ZWRBdCxcbiAgICAgIHN0YXJ0ZWRBdCxcbiAgICAgIGNvbXBsZXRlZEF0LFxuICAgICAgdXBkYXRlZEF0LFxuICAgICAgZXZlbnRzOiBzdGVwRXZlbnRzLFxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIHN0ZXBzO1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIG1hdGVyaWFsaXplSG9va3Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vKipcbiAqIEdyb3VwIGhvb2tfKiBldmVudHMgYnkgY29ycmVsYXRpb25JZCBhbmQgYnVpbGQgSG9vay1saWtlIGVudGl0aWVzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gbWF0ZXJpYWxpemVIb29rcyhldmVudHM6IEV2ZW50W10pOiBNYXRlcmlhbGl6ZWRIb29rW10ge1xuICBjb25zdCBncm91cHMgPSBncm91cEJ5Q29ycmVsYXRpb25JZChldmVudHMsIGlzSG9va0xpZmVjeWNsZUV2ZW50VHlwZSk7XG4gIGNvbnN0IGhvb2tzOiBNYXRlcmlhbGl6ZWRIb29rW10gPSBbXTtcblxuICBmb3IgKGNvbnN0IFtjb3JyZWxhdGlvbklkLCBob29rRXZlbnRzXSBvZiBncm91cHMpIHtcbiAgICBjb25zdCBjcmVhdGVkID0gaG9va0V2ZW50cy5maW5kKChlKSA9PiBlLmV2ZW50VHlwZSA9PT0gJ2hvb2tfY3JlYXRlZCcpO1xuICAgIGlmICghY3JlYXRlZCkgY29udGludWU7XG5cbiAgICBjb25zdCByZWNlaXZlZEV2ZW50cyA9IGhvb2tFdmVudHMuZmlsdGVyKFxuICAgICAgKGUpID0+IGUuZXZlbnRUeXBlID09PSAnaG9va19yZWNlaXZlZCdcbiAgICApO1xuICAgIGNvbnN0IGRpc3Bvc2VkID0gaG9va0V2ZW50cy5maW5kKChlKSA9PiBlLmV2ZW50VHlwZSA9PT0gJ2hvb2tfZGlzcG9zZWQnKTtcbiAgICBjb25zdCBsYXN0UmVjZWl2ZWQgPSByZWNlaXZlZEV2ZW50cy5hdCgtMSk7XG5cbiAgICBob29rcy5wdXNoKHtcbiAgICAgIGhvb2tJZDogY29ycmVsYXRpb25JZCxcbiAgICAgIHJ1bklkOiBjcmVhdGVkLnJ1bklkLFxuICAgICAgdG9rZW46XG4gICAgICAgIGNyZWF0ZWQuZXZlbnRUeXBlID09PSAnaG9va19jcmVhdGVkJ1xuICAgICAgICAgID8gY3JlYXRlZC5ldmVudERhdGE/LnRva2VuXG4gICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICBjcmVhdGVkQXQ6IGdldEV2ZW50VGltZXN0YW1wKGNyZWF0ZWQpID8/IGNyZWF0ZWQuY3JlYXRlZEF0LFxuICAgICAgcmVjZWl2ZWRDb3VudDogcmVjZWl2ZWRFdmVudHMubGVuZ3RoLFxuICAgICAgbGFzdFJlY2VpdmVkQXQ6IGdldEV2ZW50VGltZXN0YW1wKGxhc3RSZWNlaXZlZCksXG4gICAgICBkaXNwb3NlZEF0OiBnZXRFdmVudFRpbWVzdGFtcChkaXNwb3NlZCksXG4gICAgICBldmVudHM6IGhvb2tFdmVudHMsXG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gaG9va3M7XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gbWF0ZXJpYWxpemVXYWl0c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8qKlxuICogR3JvdXAgd2FpdF8qIGV2ZW50cyBieSBjb3JyZWxhdGlvbklkIGFuZCBidWlsZCBXYWl0LWxpa2UgZW50aXRpZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtYXRlcmlhbGl6ZVdhaXRzKGV2ZW50czogRXZlbnRbXSk6IE1hdGVyaWFsaXplZFdhaXRbXSB7XG4gIGNvbnN0IGdyb3VwcyA9IGdyb3VwQnlDb3JyZWxhdGlvbklkKGV2ZW50cywgaXNXYWl0RXZlbnRUeXBlKTtcbiAgY29uc3Qgd2FpdHM6IE1hdGVyaWFsaXplZFdhaXRbXSA9IFtdO1xuXG4gIGZvciAoY29uc3QgW2NvcnJlbGF0aW9uSWQsIHdhaXRFdmVudHNdIG9mIGdyb3Vwcykge1xuICAgIGNvbnN0IGNyZWF0ZWQgPSB3YWl0RXZlbnRzLmZpbmQoKGUpID0+IGUuZXZlbnRUeXBlID09PSAnd2FpdF9jcmVhdGVkJyk7XG4gICAgaWYgKCFjcmVhdGVkKSBjb250aW51ZTtcblxuICAgIGNvbnN0IGNvbXBsZXRlZCA9IHdhaXRFdmVudHMuZmluZCgoZSkgPT4gZS5ldmVudFR5cGUgPT09ICd3YWl0X2NvbXBsZXRlZCcpO1xuXG4gICAgd2FpdHMucHVzaCh7XG4gICAgICB3YWl0SWQ6IGNvcnJlbGF0aW9uSWQsXG4gICAgICBydW5JZDogY3JlYXRlZC5ydW5JZCxcbiAgICAgIHN0YXR1czogY29tcGxldGVkID8gJ2NvbXBsZXRlZCcgOiAnd2FpdGluZycsXG4gICAgICBjcmVhdGVkQXQ6IGdldEV2ZW50VGltZXN0YW1wKGNyZWF0ZWQpID8/IGNyZWF0ZWQuY3JlYXRlZEF0LFxuICAgICAgcmVzdW1lQXQ6XG4gICAgICAgIGNyZWF0ZWQuZXZlbnRUeXBlID09PSAnd2FpdF9jcmVhdGVkJ1xuICAgICAgICAgID8gY3JlYXRlZC5ldmVudERhdGE/LnJlc3VtZUF0XG4gICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICBjb21wbGV0ZWRBdDogZ2V0RXZlbnRUaW1lc3RhbXAoY29tcGxldGVkKSxcbiAgICAgIGV2ZW50czogd2FpdEV2ZW50cyxcbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiB3YWl0cztcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBtYXRlcmlhbGl6ZUFsbFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8qKlxuICogQ29udmVuaWVuY2UgZnVuY3Rpb24gdGhhdCBtYXRlcmlhbGl6ZXMgYWxsIGVudGl0eSB0eXBlcyBmcm9tIGEgZmxhdFxuICogZXZlbnQgbGlzdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1hdGVyaWFsaXplQWxsKGV2ZW50czogRXZlbnRbXSk6IE1hdGVyaWFsaXplZEVudGl0aWVzIHtcbiAgcmV0dXJuIHtcbiAgICBzdGVwczogbWF0ZXJpYWxpemVTdGVwcyhldmVudHMpLFxuICAgIGhvb2tzOiBtYXRlcmlhbGl6ZUhvb2tzKGV2ZW50cyksXG4gICAgd2FpdHM6IG1hdGVyaWFsaXplV2FpdHMoZXZlbnRzKSxcbiAgfTtcbn1cbiJdfQ==
@@ -0,0 +1,25 @@
1
+ import type { Event } from '@workflow/world';
2
+ export type ExactWorkflowSearchIdKind = 'step' | 'wait' | 'hook' | 'event';
3
+ export type ExactWorkflowSearchId = {
4
+ kind: ExactWorkflowSearchIdKind;
5
+ id: string;
6
+ };
7
+ export type ExactIdSearchResult = {
8
+ status: 'ok';
9
+ events: Event[];
10
+ truncated?: boolean;
11
+ } | {
12
+ status: 'not_found';
13
+ } | {
14
+ status: 'error';
15
+ message: string;
16
+ };
17
+ /**
18
+ * Returns a parsed workflow ID when `query` is a full step, wait, hook, or event ID.
19
+ * Partial IDs and run IDs (`wrun_`) are ignored. ULID bodies are matched case-insensitively
20
+ * and normalized to uppercase in the returned ID.
21
+ */
22
+ export declare function parseExactWorkflowSearchId(query: string): ExactWorkflowSearchId | null;
23
+ /** True when input looks like the user is attempting an ID search (including partial). */
24
+ export declare function looksLikeWorkflowIdSearchInput(query: string): boolean;
25
+ //# sourceMappingURL=exact-event-search-id.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exact-event-search-id.d.ts","sourceRoot":"","sources":["../../src/lib/exact-event-search-id.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAW7C,MAAM,MAAM,yBAAyB,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3E,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,yBAAyB,CAAC;IAChC,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAC3B;IAAE,MAAM,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,KAAK,EAAE,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,GACtD;IAAE,MAAM,EAAE,WAAW,CAAA;CAAE,GACvB;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAezC;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,MAAM,GACZ,qBAAqB,GAAG,IAAI,CAY9B;AAED,0FAA0F;AAC1F,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAQrE"}
@@ -0,0 +1,39 @@
1
+ const WORKFLOW_ULID_BODY = '[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}';
2
+ const STEP_ID_PATTERN = new RegExp(`^step_(${WORKFLOW_ULID_BODY})$`, 'i');
3
+ const WAIT_ID_PATTERN = new RegExp(`^wait_(${WORKFLOW_ULID_BODY})$`, 'i');
4
+ const HOOK_ID_PATTERN = new RegExp(`^hook_(${WORKFLOW_ULID_BODY})$`, 'i');
5
+ const EVENT_ID_PATTERN = new RegExp(`^evnt_(${WORKFLOW_ULID_BODY})$`, 'i');
6
+ const WORKFLOW_ID_PREFIX_PATTERN = /^(step_|wait_|hook_|evnt_|wrun_)/i;
7
+ function matchPrefixedId(pattern, prefix, kind, query) {
8
+ const match = query.match(pattern);
9
+ if (!match) {
10
+ return null;
11
+ }
12
+ return { kind, id: `${prefix}_${match[1].toUpperCase()}` };
13
+ }
14
+ /**
15
+ * Returns a parsed workflow ID when `query` is a full step, wait, hook, or event ID.
16
+ * Partial IDs and run IDs (`wrun_`) are ignored. ULID bodies are matched case-insensitively
17
+ * and normalized to uppercase in the returned ID.
18
+ */
19
+ export function parseExactWorkflowSearchId(query) {
20
+ const trimmed = query.trim();
21
+ if (!trimmed) {
22
+ return null;
23
+ }
24
+ return (matchPrefixedId(STEP_ID_PATTERN, 'step', 'step', trimmed) ??
25
+ matchPrefixedId(WAIT_ID_PATTERN, 'wait', 'wait', trimmed) ??
26
+ matchPrefixedId(HOOK_ID_PATTERN, 'hook', 'hook', trimmed) ??
27
+ matchPrefixedId(EVENT_ID_PATTERN, 'evnt', 'event', trimmed));
28
+ }
29
+ /** True when input looks like the user is attempting an ID search (including partial). */
30
+ export function looksLikeWorkflowIdSearchInput(query) {
31
+ const trimmed = query.trim();
32
+ if (!WORKFLOW_ID_PREFIX_PATTERN.test(trimmed)) {
33
+ return false;
34
+ }
35
+ // Distinguish IDs (contain digits) from event-type strings like step_started.
36
+ // Assumes workflow event types do not include digits in their names.
37
+ return /\d/.test(trimmed);
38
+ }
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhhY3QtZXZlbnQtc2VhcmNoLWlkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9leGFjdC1ldmVudC1zZWFyY2gtaWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxrQkFBa0IsR0FBRyx3Q0FBd0MsQ0FBQztBQUVwRSxNQUFNLGVBQWUsR0FBRyxJQUFJLE1BQU0sQ0FBQyxVQUFVLGtCQUFrQixJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFDMUUsTUFBTSxlQUFlLEdBQUcsSUFBSSxNQUFNLENBQUMsVUFBVSxrQkFBa0IsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBQzFFLE1BQU0sZUFBZSxHQUFHLElBQUksTUFBTSxDQUFDLFVBQVUsa0JBQWtCLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztBQUMxRSxNQUFNLGdCQUFnQixHQUFHLElBQUksTUFBTSxDQUFDLFVBQVUsa0JBQWtCLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztBQUUzRSxNQUFNLDBCQUEwQixHQUFHLG1DQUFtQyxDQUFDO0FBY3ZFLFNBQVMsZUFBZSxDQUN0QixPQUFlLEVBQ2YsTUFBeUMsRUFDekMsSUFBK0IsRUFDL0IsS0FBYTtJQUViLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbkMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ1gsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBQ0QsT0FBTyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsR0FBRyxNQUFNLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFLEVBQUUsQ0FBQztBQUM3RCxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSwwQkFBMEIsQ0FDeEMsS0FBYTtJQUViLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM3QixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDYixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxPQUFPLENBQ0wsZUFBZSxDQUFDLGVBQWUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQztRQUN6RCxlQUFlLENBQUMsZUFBZSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDO1FBQ3pELGVBQWUsQ0FBQyxlQUFlLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUM7UUFDekQsZUFBZSxDQUFDLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQzVELENBQUM7QUFDSixDQUFDO0FBRUQsMEZBQTBGO0FBQzFGLE1BQU0sVUFBVSw4QkFBOEIsQ0FBQyxLQUFhO0lBQzFELE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM3QixJQUFJLENBQUMsMEJBQTBCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDOUMsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBQ0QsOEVBQThFO0lBQzlFLHFFQUFxRTtJQUNyRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDNUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRXZlbnQgfSBmcm9tICdAd29ya2Zsb3cvd29ybGQnO1xuXG5jb25zdCBXT1JLRkxPV19VTElEX0JPRFkgPSAnWzAxMjM0NTY3ODlBQkNERUZHSEpLTU5QUVJTVFZXWFlaXXsyNn0nO1xuXG5jb25zdCBTVEVQX0lEX1BBVFRFUk4gPSBuZXcgUmVnRXhwKGBec3RlcF8oJHtXT1JLRkxPV19VTElEX0JPRFl9KSRgLCAnaScpO1xuY29uc3QgV0FJVF9JRF9QQVRURVJOID0gbmV3IFJlZ0V4cChgXndhaXRfKCR7V09SS0ZMT1dfVUxJRF9CT0RZfSkkYCwgJ2knKTtcbmNvbnN0IEhPT0tfSURfUEFUVEVSTiA9IG5ldyBSZWdFeHAoYF5ob29rXygke1dPUktGTE9XX1VMSURfQk9EWX0pJGAsICdpJyk7XG5jb25zdCBFVkVOVF9JRF9QQVRURVJOID0gbmV3IFJlZ0V4cChgXmV2bnRfKCR7V09SS0ZMT1dfVUxJRF9CT0RZfSkkYCwgJ2knKTtcblxuY29uc3QgV09SS0ZMT1dfSURfUFJFRklYX1BBVFRFUk4gPSAvXihzdGVwX3x3YWl0X3xob29rX3xldm50X3x3cnVuXykvaTtcblxuZXhwb3J0IHR5cGUgRXhhY3RXb3JrZmxvd1NlYXJjaElkS2luZCA9ICdzdGVwJyB8ICd3YWl0JyB8ICdob29rJyB8ICdldmVudCc7XG5cbmV4cG9ydCB0eXBlIEV4YWN0V29ya2Zsb3dTZWFyY2hJZCA9IHtcbiAga2luZDogRXhhY3RXb3JrZmxvd1NlYXJjaElkS2luZDtcbiAgaWQ6IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIEV4YWN0SWRTZWFyY2hSZXN1bHQgPVxuICB8IHsgc3RhdHVzOiAnb2snOyBldmVudHM6IEV2ZW50W107IHRydW5jYXRlZD86IGJvb2xlYW4gfVxuICB8IHsgc3RhdHVzOiAnbm90X2ZvdW5kJyB9XG4gIHwgeyBzdGF0dXM6ICdlcnJvcic7IG1lc3NhZ2U6IHN0cmluZyB9O1xuXG5mdW5jdGlvbiBtYXRjaFByZWZpeGVkSWQoXG4gIHBhdHRlcm46IFJlZ0V4cCxcbiAgcHJlZml4OiAnc3RlcCcgfCAnd2FpdCcgfCAnaG9vaycgfCAnZXZudCcsXG4gIGtpbmQ6IEV4YWN0V29ya2Zsb3dTZWFyY2hJZEtpbmQsXG4gIHF1ZXJ5OiBzdHJpbmdcbik6IEV4YWN0V29ya2Zsb3dTZWFyY2hJZCB8IG51bGwge1xuICBjb25zdCBtYXRjaCA9IHF1ZXJ5Lm1hdGNoKHBhdHRlcm4pO1xuICBpZiAoIW1hdGNoKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgcmV0dXJuIHsga2luZCwgaWQ6IGAke3ByZWZpeH1fJHttYXRjaFsxXS50b1VwcGVyQ2FzZSgpfWAgfTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIGEgcGFyc2VkIHdvcmtmbG93IElEIHdoZW4gYHF1ZXJ5YCBpcyBhIGZ1bGwgc3RlcCwgd2FpdCwgaG9vaywgb3IgZXZlbnQgSUQuXG4gKiBQYXJ0aWFsIElEcyBhbmQgcnVuIElEcyAoYHdydW5fYCkgYXJlIGlnbm9yZWQuIFVMSUQgYm9kaWVzIGFyZSBtYXRjaGVkIGNhc2UtaW5zZW5zaXRpdmVseVxuICogYW5kIG5vcm1hbGl6ZWQgdG8gdXBwZXJjYXNlIGluIHRoZSByZXR1cm5lZCBJRC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlRXhhY3RXb3JrZmxvd1NlYXJjaElkKFxuICBxdWVyeTogc3RyaW5nXG4pOiBFeGFjdFdvcmtmbG93U2VhcmNoSWQgfCBudWxsIHtcbiAgY29uc3QgdHJpbW1lZCA9IHF1ZXJ5LnRyaW0oKTtcbiAgaWYgKCF0cmltbWVkKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIG1hdGNoUHJlZml4ZWRJZChTVEVQX0lEX1BBVFRFUk4sICdzdGVwJywgJ3N0ZXAnLCB0cmltbWVkKSA/P1xuICAgIG1hdGNoUHJlZml4ZWRJZChXQUlUX0lEX1BBVFRFUk4sICd3YWl0JywgJ3dhaXQnLCB0cmltbWVkKSA/P1xuICAgIG1hdGNoUHJlZml4ZWRJZChIT09LX0lEX1BBVFRFUk4sICdob29rJywgJ2hvb2snLCB0cmltbWVkKSA/P1xuICAgIG1hdGNoUHJlZml4ZWRJZChFVkVOVF9JRF9QQVRURVJOLCAnZXZudCcsICdldmVudCcsIHRyaW1tZWQpXG4gICk7XG59XG5cbi8qKiBUcnVlIHdoZW4gaW5wdXQgbG9va3MgbGlrZSB0aGUgdXNlciBpcyBhdHRlbXB0aW5nIGFuIElEIHNlYXJjaCAoaW5jbHVkaW5nIHBhcnRpYWwpLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxvb2tzTGlrZVdvcmtmbG93SWRTZWFyY2hJbnB1dChxdWVyeTogc3RyaW5nKTogYm9vbGVhbiB7XG4gIGNvbnN0IHRyaW1tZWQgPSBxdWVyeS50cmltKCk7XG4gIGlmICghV09SS0ZMT1dfSURfUFJFRklYX1BBVFRFUk4udGVzdCh0cmltbWVkKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICAvLyBEaXN0aW5ndWlzaCBJRHMgKGNvbnRhaW4gZGlnaXRzKSBmcm9tIGV2ZW50LXR5cGUgc3RyaW5ncyBsaWtlIHN0ZXBfc3RhcnRlZC5cbiAgLy8gQXNzdW1lcyB3b3JrZmxvdyBldmVudCB0eXBlcyBkbyBub3QgaW5jbHVkZSBkaWdpdHMgaW4gdGhlaXIgbmFtZXMuXG4gIHJldHVybiAvXFxkLy50ZXN0KHRyaW1tZWQpO1xufVxuIl19
@@ -13,6 +13,12 @@ export { CLASS_INSTANCE_REF_TYPE, ClassInstanceRef, ENCRYPTED_PLACEHOLDER, extra
13
13
  * Uses `atob()` for base64 decoding (no Node.js Buffer dependency).
14
14
  * All types are revived as real instances (Date, Map, Set, URL,
15
15
  * URLSearchParams, Headers, Error, etc.).
16
+ *
17
+ * NOTE: this set must mirror the keys in `SerializableSpecial` (see
18
+ * `@workflow/core/serialization/types`). Any reducer key added on the
19
+ * serialization side that isn't covered here will cause `devalue.unflatten`
20
+ * to throw `Unknown type X`, which `hydrateResourceIO` swallows and
21
+ * surfaces as a "Failed to load resource details" banner in the o11y UI.
16
22
  */
17
23
  export declare function getWebRevivers(): Revivers;
18
24
  /**
@@ -35,10 +41,19 @@ export declare function isExpiredMarker(value: unknown): boolean;
35
41
  * When a key is provided, encrypted fields are decrypted before hydration.
36
42
  * This is the async version used when the user clicks "Decrypt" in the web UI.
37
43
  *
38
- * Handles both top-level fields (input, output, metadata) and nested
39
- * eventData subfields per `EVENT_DATA_REF_FIELDS` from `@workflow/world` for that event type.
44
+ * Handles both top-level fields (input, output, metadata) and nested eventData
45
+ * payload fields for that event type.
40
46
  */
41
47
  export declare function hydrateResourceIOWithKey<T>(resource: T, key: Uint8Array): Promise<T>;
48
+ /**
49
+ * Async hydration for web display.
50
+ *
51
+ * This follows the same resource-field mapping as {@link hydrateResourceIO},
52
+ * but can also inflate compressed browser payloads through the registered
53
+ * zstd WASM decoder. When a key is provided, encrypted fields are decrypted
54
+ * first and then inflated/hydrated.
55
+ */
56
+ export declare function hydrateResourceIOAsync<T>(resource: T, key?: Uint8Array): Promise<T>;
42
57
  /**
43
58
  * Check whether a hydrated resource (event, step, run, etc.) contains any
44
59
  * encrypted display markers. Inspects the standard top-level fields
@@ -1 +1 @@
1
- {"version":3,"file":"hydration.d.ts","sourceRoot":"","sources":["../../src/lib/hydration.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAOL,KAAK,QAAQ,EAEd,MAAM,qCAAqC,CAAC;AAI7C,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,QAAQ,EACR,UAAU,EACV,WAAW,EACX,KAAK,QAAQ,EACb,YAAY,EACZ,KAAK,MAAM,EACX,eAAe,EACf,KAAK,SAAS,EACd,uBAAuB,EACvB,UAAU,GACX,MAAM,qCAAqC,CAAC;AAsB7C;;;;;;GAMG;AACH,wBAAgB,cAAc,IAAI,QAAQ,CAiGzC;AAmBD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CAMnD;AAMD,eAAO,MAAM,sBAAsB,cAAc,CAAC;AA0BlD,sDAAsD;AACtD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAMzD;AAMD,eAAO,MAAM,oBAAoB,iBAAiB,CAAC;AAiBnD,yDAAyD;AACzD,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAMvD;AAsCD;;;;;;;;GAQG;AACH,wBAAsB,wBAAwB,CAAC,CAAC,EAC9C,QAAQ,EAAE,CAAC,EACX,GAAG,EAAE,UAAU,GACd,OAAO,CAAC,CAAC,CAAC,CAwDZ;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAkB7D"}
1
+ {"version":3,"file":"hydration.d.ts","sourceRoot":"","sources":["../../src/lib/hydration.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAOL,KAAK,QAAQ,EAEd,MAAM,qCAAqC,CAAC;AAI7C,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,QAAQ,EACR,UAAU,EACV,WAAW,EACX,KAAK,QAAQ,EACb,YAAY,EACZ,KAAK,MAAM,EACX,eAAe,EACf,KAAK,SAAS,EACd,uBAAuB,EACvB,UAAU,GACX,MAAM,qCAAqC,CAAC;AAgE7C;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,IAAI,QAAQ,CA+MzC;AAmBD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CAMnD;AAMD,eAAO,MAAM,sBAAsB,cAAc,CAAC;AA0BlD,sDAAsD;AACtD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAMzD;AAMD,eAAO,MAAM,oBAAoB,iBAAiB,CAAC;AAiBnD,yDAAyD;AACzD,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAMvD;AAsCD;;;;;;;;GAQG;AACH,wBAAsB,wBAAwB,CAAC,CAAC,EAC9C,QAAQ,EAAE,CAAC,EACX,GAAG,EAAE,UAAU,GACd,OAAO,CAAC,CAAC,CAAC,CAEZ;AAED;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAAC,CAAC,EAC5C,QAAQ,EAAE,CAAC,EACX,GAAG,CAAC,EAAE,UAAU,GACf,OAAO,CAAC,CAAC,CAAC,CA+DZ;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAkB7D"}