@mastra/playground-ui 55.0.0 → 56.0.0-alpha.10

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 (1813) hide show
  1. package/README.md +20 -0
  2. package/dist/Badge-BCwBpIc7.js +123 -0
  3. package/dist/Badge-BCwBpIc7.js.map +1 -0
  4. package/dist/Badge-RWi6V_JT.cjs +125 -0
  5. package/dist/Badge-RWi6V_JT.cjs.map +1 -0
  6. package/dist/Button-C2dx_QZN.cjs +207 -0
  7. package/dist/Button-C2dx_QZN.cjs.map +1 -0
  8. package/dist/Button-DS6O6fvU.js +203 -0
  9. package/dist/Button-DS6O6fvU.js.map +1 -0
  10. package/dist/Card-CnxuKKaz.js +96 -0
  11. package/dist/Card-CnxuKKaz.js.map +1 -0
  12. package/dist/Card-DC9rlxXj.cjs +123 -0
  13. package/dist/Card-DC9rlxXj.cjs.map +1 -0
  14. package/dist/EmptyState-CDM5htkF.js +31 -0
  15. package/dist/EmptyState-CDM5htkF.js.map +1 -0
  16. package/dist/EmptyState-_TZefNk_.cjs +33 -0
  17. package/dist/EmptyState-_TZefNk_.cjs.map +1 -0
  18. package/dist/Notice-Cq7m_mxe.cjs +91 -0
  19. package/dist/Notice-Cq7m_mxe.cjs.map +1 -0
  20. package/dist/Notice-DEqr19sI.js +89 -0
  21. package/dist/Notice-DEqr19sI.js.map +1 -0
  22. package/dist/PermissionDenied-BCHmzPYk.cjs +24 -0
  23. package/dist/PermissionDenied-BCHmzPYk.cjs.map +1 -0
  24. package/dist/PermissionDenied-lLDk9Zpw.js +22 -0
  25. package/dist/PermissionDenied-lLDk9Zpw.js.map +1 -0
  26. package/dist/PullRequestIcon.css +7 -0
  27. package/dist/SessionExpired-B4qMlVNC.cjs +47 -0
  28. package/dist/SessionExpired-B4qMlVNC.cjs.map +1 -0
  29. package/dist/SessionExpired-OS-dhsdb.js +45 -0
  30. package/dist/SessionExpired-OS-dhsdb.js.map +1 -0
  31. package/dist/Txt-C7rZCmrg.cjs +30 -0
  32. package/dist/Txt-C7rZCmrg.cjs.map +1 -0
  33. package/dist/Txt-hyo2FKuO.js +28 -0
  34. package/dist/Txt-hyo2FKuO.js.map +1 -0
  35. package/dist/activity-1GW2mu-d.cjs +52 -0
  36. package/dist/activity-1GW2mu-d.cjs.map +1 -0
  37. package/dist/activity-BiQKEDt0.js +49 -0
  38. package/dist/activity-BiQKEDt0.js.map +1 -0
  39. package/dist/activity.css +365 -0
  40. package/dist/arrival-CormfVRZ.cjs +22 -0
  41. package/dist/arrival-CormfVRZ.cjs.map +1 -0
  42. package/dist/arrival-DPVjCnNy.js +19 -0
  43. package/dist/arrival-DPVjCnNy.js.map +1 -0
  44. package/dist/ask-user-DCWLWOBI.js +137 -0
  45. package/dist/ask-user-DCWLWOBI.js.map +1 -0
  46. package/dist/ask-user-Dw64_A-5.cjs +146 -0
  47. package/dist/ask-user-Dw64_A-5.cjs.map +1 -0
  48. package/dist/buttons-group-t7AODlO9.js +162 -0
  49. package/dist/buttons-group-t7AODlO9.js.map +1 -0
  50. package/dist/buttons-group-yLVV4nzz.cjs +186 -0
  51. package/dist/buttons-group-yLVV4nzz.cjs.map +1 -0
  52. package/dist/chat-notification-DMwUG6M1.cjs +111 -0
  53. package/dist/chat-notification-DMwUG6M1.cjs.map +1 -0
  54. package/dist/chat-notification-DyBAfleZ.js +107 -0
  55. package/dist/chat-notification-DyBAfleZ.js.map +1 -0
  56. package/dist/chat-signal-D-8_rCn0.cjs +42 -0
  57. package/dist/chat-signal-D-8_rCn0.cjs.map +1 -0
  58. package/dist/chat-signal-JGIN9unj.js +40 -0
  59. package/dist/chat-signal-JGIN9unj.js.map +1 -0
  60. package/dist/checkbox-BHOqsV3k.js +89 -0
  61. package/dist/checkbox-BHOqsV3k.js.map +1 -0
  62. package/dist/checkbox-DXapLh4O.cjs +110 -0
  63. package/dist/checkbox-DXapLh4O.cjs.map +1 -0
  64. package/dist/cn-BuHW7Wrt.cjs +3294 -0
  65. package/dist/cn-BuHW7Wrt.cjs.map +1 -0
  66. package/dist/cn-C6s2yXwM.js +3291 -0
  67. package/dist/cn-C6s2yXwM.js.map +1 -0
  68. package/dist/code-block-BBG-Zv3I.js +86 -0
  69. package/dist/code-block-BBG-Zv3I.js.map +1 -0
  70. package/dist/code-block-DgK__blB.cjs +88 -0
  71. package/dist/code-block-DgK__blB.cjs.map +1 -0
  72. package/dist/code-editor-CQqV40K3.js +478 -0
  73. package/dist/code-editor-CQqV40K3.js.map +1 -0
  74. package/dist/code-editor-e1JSppW0.cjs +486 -0
  75. package/dist/code-editor-e1JSppW0.cjs.map +1 -0
  76. package/dist/collapsible-C2RuZzc7.js +57 -0
  77. package/dist/collapsible-C2RuZzc7.js.map +1 -0
  78. package/dist/collapsible-C3x1n6sF.cjs +61 -0
  79. package/dist/collapsible-C3x1n6sF.cjs.map +1 -0
  80. package/dist/combobox-CQ2Ri2LC.js +175 -0
  81. package/dist/combobox-CQ2Ri2LC.js.map +1 -0
  82. package/dist/combobox-F3WprWVx.cjs +196 -0
  83. package/dist/combobox-F3WprWVx.cjs.map +1 -0
  84. package/dist/combobox-styles-1C3D0JLL.cjs +98 -0
  85. package/dist/combobox-styles-1C3D0JLL.cjs.map +1 -0
  86. package/dist/combobox-styles-BMerfYPX.js +94 -0
  87. package/dist/combobox-styles-BMerfYPX.js.map +1 -0
  88. package/dist/command-CuuMEoIB.cjs +211 -0
  89. package/dist/command-CuuMEoIB.cjs.map +1 -0
  90. package/dist/command-rJ4b4Z2h.js +182 -0
  91. package/dist/command-rJ4b4Z2h.js.map +1 -0
  92. package/dist/components/Activity.cjs.js +11 -0
  93. package/dist/components/Activity.cjs.js.map +1 -0
  94. package/dist/components/Activity.d.ts +2 -0
  95. package/dist/components/Activity.es.js +2 -0
  96. package/dist/components/Activity.es.js.map +1 -0
  97. package/dist/components/AlertDialog.cjs.js +2 -2
  98. package/dist/components/AlertDialog.es.js +2 -2
  99. package/dist/components/Arrival.cjs.js +1 -1
  100. package/dist/components/Arrival.es.js +1 -1
  101. package/dist/components/Avatar.cjs.js +2 -2
  102. package/dist/components/Avatar.es.js +2 -2
  103. package/dist/components/Badge.cjs.js +1 -1
  104. package/dist/components/Badge.es.js +1 -1
  105. package/dist/components/BrandLoader.cjs.js +1 -1
  106. package/dist/components/BrandLoader.es.js +1 -1
  107. package/dist/components/Breadcrumb.cjs.js +2 -2
  108. package/dist/components/Breadcrumb.es.js +2 -2
  109. package/dist/components/Button.cjs.js +2 -2
  110. package/dist/components/Button.cjs.js.map +1 -1
  111. package/dist/components/Button.es.js +3 -3
  112. package/dist/components/Button.es.js.map +1 -1
  113. package/dist/components/ButtonsGroup.cjs.js +1 -1
  114. package/dist/components/ButtonsGroup.es.js +1 -1
  115. package/dist/components/Card.cjs.js +1 -1
  116. package/dist/components/Card.es.js +1 -1
  117. package/dist/components/ChatShell.cjs.js +2 -2
  118. package/dist/components/ChatShell.es.js +2 -2
  119. package/dist/components/Checkbox.cjs.js +1 -1
  120. package/dist/components/Checkbox.es.js +1 -1
  121. package/dist/components/ClampedText.cjs.js +3 -3
  122. package/dist/components/ClampedText.es.js +3 -3
  123. package/dist/components/CodeBlock.cjs.js +1 -1
  124. package/dist/components/CodeBlock.es.js +1 -1
  125. package/dist/components/CodeEditor.cjs.js +1 -1
  126. package/dist/components/CodeEditor.es.js +1 -1
  127. package/dist/components/Collapsible.cjs.js +1 -1
  128. package/dist/components/Collapsible.es.js +1 -1
  129. package/dist/components/Columns.cjs.js +2 -2
  130. package/dist/components/Columns.es.js +2 -2
  131. package/dist/components/Combobox.cjs.js +3 -2
  132. package/dist/components/Combobox.cjs.js.map +1 -1
  133. package/dist/components/Combobox.es.js +2 -1
  134. package/dist/components/Combobox.es.js.map +1 -1
  135. package/dist/components/Command.cjs.js +1 -1
  136. package/dist/components/Command.es.js +1 -1
  137. package/dist/components/CommandPalette.cjs.js +9 -8
  138. package/dist/components/CommandPalette.cjs.js.map +1 -1
  139. package/dist/components/CommandPalette.es.js +9 -8
  140. package/dist/components/CommandPalette.es.js.map +1 -1
  141. package/dist/components/Comment.cjs.js +8 -8
  142. package/dist/components/Comment.cjs.js.map +1 -1
  143. package/dist/components/Comment.es.js +8 -8
  144. package/dist/components/Comment.es.js.map +1 -1
  145. package/dist/components/Composer.cjs.js +12 -141
  146. package/dist/components/Composer.cjs.js.map +1 -1
  147. package/dist/components/Composer.es.js +5 -135
  148. package/dist/components/Composer.es.js.map +1 -1
  149. package/dist/components/ContextMenu.cjs.js +30 -14
  150. package/dist/components/ContextMenu.cjs.js.map +1 -1
  151. package/dist/components/ContextMenu.es.js +30 -14
  152. package/dist/components/ContextMenu.es.js.map +1 -1
  153. package/dist/components/CopyButton.cjs.js +1 -1
  154. package/dist/components/CopyButton.es.js +1 -1
  155. package/dist/components/DashboardCard.cjs.js +1 -1
  156. package/dist/components/DashboardCard.es.js +1 -1
  157. package/dist/components/DataCodeSection.cjs.js +1 -1
  158. package/dist/components/DataCodeSection.es.js +1 -1
  159. package/dist/components/DataDetailsPanel.cjs.js +21 -17
  160. package/dist/components/DataDetailsPanel.cjs.js.map +1 -1
  161. package/dist/components/DataDetailsPanel.es.js +21 -17
  162. package/dist/components/DataDetailsPanel.es.js.map +1 -1
  163. package/dist/components/DataFilter.cjs.js +3 -3
  164. package/dist/components/DataFilter.es.js +3 -3
  165. package/dist/components/DataKeysAndValues.cjs.js +1 -1
  166. package/dist/components/DataKeysAndValues.es.js +1 -1
  167. package/dist/components/DataList.cjs.js +8 -7
  168. package/dist/components/DataList.cjs.js.map +1 -1
  169. package/dist/components/DataList.es.js +5 -4
  170. package/dist/components/DataList.es.js.map +1 -1
  171. package/dist/components/DataPanel.cjs.js +1 -1
  172. package/dist/components/DataPanel.es.js +1 -1
  173. package/dist/components/DateRangeTimeline.cjs.js +5 -5
  174. package/dist/components/DateRangeTimeline.es.js +5 -5
  175. package/dist/components/DateTimePicker.cjs.js +7 -7
  176. package/dist/components/DateTimePicker.cjs.js.map +1 -1
  177. package/dist/components/DateTimePicker.es.js +7 -7
  178. package/dist/components/DateTimePicker.es.js.map +1 -1
  179. package/dist/components/DateTimeRangePicker.cjs.js +1 -1
  180. package/dist/components/DateTimeRangePicker.es.js +1 -1
  181. package/dist/components/Dialog.cjs.js +3 -3
  182. package/dist/components/Dialog.es.js +4 -4
  183. package/dist/components/Drawer.cjs.js +1 -1
  184. package/dist/components/Drawer.es.js +1 -1
  185. package/dist/components/DropdownMenu.cjs.js +1 -1
  186. package/dist/components/DropdownMenu.es.js +1 -1
  187. package/dist/components/EmptyState.cjs.js +1 -1
  188. package/dist/components/EmptyState.es.js +1 -1
  189. package/dist/components/Entity.cjs.js +2 -2
  190. package/dist/components/Entity.es.js +2 -2
  191. package/dist/components/EntityHeader.cjs.js +2 -2
  192. package/dist/components/EntityHeader.es.js +2 -2
  193. package/dist/components/Entry.cjs.js +1 -1
  194. package/dist/components/Entry.es.js +1 -1
  195. package/dist/components/EnvironmentVariablesEditor.cjs.js +7 -7
  196. package/dist/components/EnvironmentVariablesEditor.es.js +7 -7
  197. package/dist/components/ErrorBoundary.cjs.js +3 -6
  198. package/dist/components/ErrorBoundary.cjs.js.map +1 -1
  199. package/dist/components/ErrorBoundary.es.js +3 -6
  200. package/dist/components/ErrorBoundary.es.js.map +1 -1
  201. package/dist/components/FilterBar.cjs.js +441 -0
  202. package/dist/components/FilterBar.cjs.js.map +1 -0
  203. package/dist/components/FilterBar.d.ts +2 -0
  204. package/dist/components/FilterBar.es.js +430 -0
  205. package/dist/components/FilterBar.es.js.map +1 -0
  206. package/dist/components/FormFieldBlocks.cjs.js +7 -5
  207. package/dist/components/FormFieldBlocks.cjs.js.map +1 -1
  208. package/dist/components/FormFieldBlocks.es.js +6 -5
  209. package/dist/components/FormFieldBlocks.es.js.map +1 -1
  210. package/dist/components/Header.cjs.js +2 -2
  211. package/dist/components/Header.es.js +2 -2
  212. package/dist/components/HorizontalBars.cjs.js +1 -1
  213. package/dist/components/HorizontalBars.es.js +1 -1
  214. package/dist/components/HoverCard.cjs.js +1 -1
  215. package/dist/components/HoverCard.es.js +1 -1
  216. package/dist/components/Input.cjs.js +1 -1
  217. package/dist/components/Input.es.js +1 -1
  218. package/dist/components/InputGroup.cjs.js +1 -1
  219. package/dist/components/InputGroup.es.js +1 -1
  220. package/dist/components/IntegrationDialog.cjs.js +4 -4
  221. package/dist/components/IntegrationDialog.es.js +4 -4
  222. package/dist/components/ItemList.cjs.js +3 -3
  223. package/dist/components/ItemList.es.js +3 -3
  224. package/dist/components/JSONSchemaForm.cjs.js +5 -5
  225. package/dist/components/JSONSchemaForm.es.js +5 -5
  226. package/dist/components/Kbd.cjs.js +1 -1
  227. package/dist/components/Kbd.es.js +1 -1
  228. package/dist/components/KeyValueList.cjs.js +2 -2
  229. package/dist/components/KeyValueList.es.js +2 -2
  230. package/dist/components/Label.cjs.js +1 -1
  231. package/dist/components/Label.es.js +1 -1
  232. package/dist/components/ListSearch.cjs.js +1 -1
  233. package/dist/components/ListSearch.es.js +1 -1
  234. package/dist/components/Logo.cjs.js +1 -1
  235. package/dist/components/Logo.es.js +1 -1
  236. package/dist/components/LogsDataList.cjs.js +4 -2
  237. package/dist/components/LogsDataList.cjs.js.map +1 -1
  238. package/dist/components/LogsDataList.es.js +4 -2
  239. package/dist/components/LogsDataList.es.js.map +1 -1
  240. package/dist/components/MainContent.cjs.js +1 -1
  241. package/dist/components/MainContent.es.js +1 -1
  242. package/dist/components/MainHeader.cjs.js +1 -1
  243. package/dist/components/MainHeader.es.js +1 -1
  244. package/dist/components/MainSidebar.cjs.js +11 -836
  245. package/dist/components/MainSidebar.cjs.js.map +1 -1
  246. package/dist/components/MainSidebar.es.js +1 -830
  247. package/dist/components/MainSidebar.es.js.map +1 -1
  248. package/dist/components/MarkdownRenderer.cjs.js +1 -1
  249. package/dist/components/MarkdownRenderer.es.js +1 -1
  250. package/dist/components/Message.cjs.js +26 -0
  251. package/dist/components/Message.cjs.js.map +1 -0
  252. package/dist/components/Message.d.ts +2 -0
  253. package/dist/components/Message.es.js +19 -0
  254. package/dist/components/Message.es.js.map +1 -0
  255. package/dist/components/MessageScroller.cjs.js +1 -1
  256. package/dist/components/MessageScroller.es.js +1 -1
  257. package/dist/components/MetricsCard.cjs.js +1 -1
  258. package/dist/components/MetricsCard.es.js +1 -1
  259. package/dist/components/MetricsFlexGrid.cjs.js +1 -1
  260. package/dist/components/MetricsFlexGrid.es.js +1 -1
  261. package/dist/components/MetricsKpiCard.cjs.js +1 -1
  262. package/dist/components/MetricsKpiCard.es.js +1 -1
  263. package/dist/components/Notice.cjs.js +1 -1
  264. package/dist/components/Notice.es.js +1 -1
  265. package/dist/components/PageHeader.cjs.js +1 -1
  266. package/dist/components/PageHeader.es.js +1 -1
  267. package/dist/components/PageLayout.cjs.js +3 -2
  268. package/dist/components/PageLayout.cjs.js.map +1 -1
  269. package/dist/components/PageLayout.es.js +2 -1
  270. package/dist/components/PageLayout.es.js.map +1 -1
  271. package/dist/components/PendingIndicator.cjs.js +1 -1
  272. package/dist/components/PendingIndicator.es.js +1 -1
  273. package/dist/components/PermissionDenied.cjs.js +1 -1
  274. package/dist/components/PermissionDenied.es.js +1 -1
  275. package/dist/components/Popover.cjs.js +1 -1
  276. package/dist/components/Popover.es.js +1 -1
  277. package/dist/components/PrevNextNav.cjs.js +2 -3
  278. package/dist/components/PrevNextNav.cjs.js.map +1 -1
  279. package/dist/components/PrevNextNav.es.js +2 -3
  280. package/dist/components/PrevNextNav.es.js.map +1 -1
  281. package/dist/components/PropertyFilter.cjs.js +5 -5
  282. package/dist/components/PropertyFilter.es.js +6 -6
  283. package/dist/components/PullRequestIcon.cjs.js +21 -0
  284. package/dist/components/PullRequestIcon.cjs.js.map +1 -0
  285. package/dist/components/PullRequestIcon.d.ts +2 -0
  286. package/dist/components/PullRequestIcon.es.js +17 -0
  287. package/dist/components/PullRequestIcon.es.js.map +1 -0
  288. package/dist/components/RadioGroup.cjs.js +1 -1
  289. package/dist/components/RadioGroup.es.js +1 -1
  290. package/dist/components/RuleBuilder.cjs.js +4 -4
  291. package/dist/components/RuleBuilder.es.js +4 -4
  292. package/dist/components/SankeyChart.cjs.js +1 -1
  293. package/dist/components/SankeyChart.es.js +1 -1
  294. package/dist/components/ScatterPlotChart.cjs.js +2 -2
  295. package/dist/components/ScatterPlotChart.es.js +2 -2
  296. package/dist/components/ScrollArea.cjs.js +1 -1
  297. package/dist/components/ScrollArea.es.js +1 -1
  298. package/dist/components/Section.cjs.js +1 -1
  299. package/dist/components/Section.es.js +1 -1
  300. package/dist/components/SectionCard.cjs.js +1 -1
  301. package/dist/components/SectionCard.es.js +1 -1
  302. package/dist/components/Sections.cjs.js +1 -1
  303. package/dist/components/Sections.es.js +1 -1
  304. package/dist/components/Select.cjs.js +1 -1
  305. package/dist/components/Select.es.js +1 -1
  306. package/dist/components/SessionExpired.cjs.js +1 -1
  307. package/dist/components/SessionExpired.es.js +1 -1
  308. package/dist/components/SettingsLayout.cjs.js +1 -1
  309. package/dist/components/SettingsLayout.es.js +1 -1
  310. package/dist/components/SettingsRow.cjs.js +1 -1
  311. package/dist/components/SettingsRow.es.js +1 -1
  312. package/dist/components/Shimmer.cjs.js +1 -1
  313. package/dist/components/Shimmer.es.js +1 -1
  314. package/dist/components/SideDialog.cjs.js +6 -6
  315. package/dist/components/SideDialog.es.js +6 -6
  316. package/dist/components/Skeleton.cjs.js +1 -1
  317. package/dist/components/Skeleton.es.js +1 -1
  318. package/dist/components/Slider.cjs.js +1 -1
  319. package/dist/components/Slider.es.js +1 -1
  320. package/dist/components/Spinner.cjs.js +1 -1
  321. package/dist/components/Spinner.es.js +1 -1
  322. package/dist/components/StatusIndicators.cjs.js +144 -0
  323. package/dist/components/StatusIndicators.cjs.js.map +1 -0
  324. package/dist/components/StatusIndicators.d.ts +2 -0
  325. package/dist/components/StatusIndicators.es.js +137 -0
  326. package/dist/components/StatusIndicators.es.js.map +1 -0
  327. package/dist/components/Steps.cjs.js +2 -2
  328. package/dist/components/Steps.es.js +2 -2
  329. package/dist/components/Switch.cjs.js +1 -1
  330. package/dist/components/Switch.es.js +1 -1
  331. package/dist/components/Table.cjs.js +2 -2
  332. package/dist/components/Table.es.js +2 -2
  333. package/dist/components/Tabs.cjs.js +3 -3
  334. package/dist/components/Tabs.es.js +3 -3
  335. package/dist/components/Text.cjs.js +1 -1
  336. package/dist/components/Text.es.js +1 -1
  337. package/dist/components/Textarea.cjs.js +1 -1
  338. package/dist/components/Textarea.es.js +1 -1
  339. package/dist/components/ThemeToggle.cjs.js +1 -1
  340. package/dist/components/ThemeToggle.es.js +1 -1
  341. package/dist/components/ThreadList.cjs.js +7 -8
  342. package/dist/components/ThreadList.cjs.js.map +1 -1
  343. package/dist/components/ThreadList.es.js +7 -8
  344. package/dist/components/ThreadList.es.js.map +1 -1
  345. package/dist/components/ThreadRail.cjs.js +1 -1
  346. package/dist/components/ThreadRail.es.js +1 -1
  347. package/dist/components/Toaster.cjs.js +1 -1
  348. package/dist/components/Toaster.es.js +1 -1
  349. package/dist/components/TokenBudget.cjs.js +1 -1
  350. package/dist/components/TokenBudget.es.js +1 -1
  351. package/dist/components/Tooltip.cjs.js +1 -1
  352. package/dist/components/Tooltip.es.js +1 -1
  353. package/dist/components/Tree.cjs.js +2 -2
  354. package/dist/components/Tree.es.js +2 -2
  355. package/dist/components/Truncate.cjs.js +4 -4
  356. package/dist/components/Truncate.es.js +4 -4
  357. package/dist/components/Txt.cjs.js +1 -1
  358. package/dist/components/Txt.es.js +1 -1
  359. package/dist/components/Workflow.cjs.js +675 -364
  360. package/dist/components/Workflow.cjs.js.map +1 -1
  361. package/dist/components/Workflow.es.js +679 -366
  362. package/dist/components/Workflow.es.js.map +1 -1
  363. package/dist/components/ai/ask-user.cjs.js +1 -1
  364. package/dist/components/ai/ask-user.es.js +1 -1
  365. package/dist/components/ai/chat-event.cjs.js +42 -0
  366. package/dist/components/ai/chat-event.cjs.js.map +1 -0
  367. package/dist/components/ai/chat-event.d.ts +2 -0
  368. package/dist/components/ai/chat-event.es.js +36 -0
  369. package/dist/components/ai/chat-event.es.js.map +1 -0
  370. package/dist/components/ai/plan.cjs.js +5 -5
  371. package/dist/components/ai/plan.es.js +5 -5
  372. package/dist/components/ai/task-list.cjs.js +4 -4
  373. package/dist/components/ai/task-list.es.js +4 -4
  374. package/dist/components/ai/tool-approval.cjs.js +11 -0
  375. package/dist/components/ai/tool-approval.cjs.js.map +1 -0
  376. package/dist/components/ai/tool-approval.d.ts +2 -0
  377. package/dist/components/ai/tool-approval.es.js +2 -0
  378. package/dist/components/ai/tool-approval.es.js.map +1 -0
  379. package/dist/components/ai/tool-call.cjs.js +46 -6
  380. package/dist/components/ai/tool-call.cjs.js.map +1 -1
  381. package/dist/components/ai/tool-call.es.js +46 -9
  382. package/dist/components/ai/tool-call.es.js.map +1 -1
  383. package/dist/components/fluid-hover-highlight.cjs.js +49 -0
  384. package/dist/components/fluid-hover-highlight.cjs.js.map +1 -0
  385. package/dist/components/fluid-hover-highlight.d.ts +2 -0
  386. package/dist/components/fluid-hover-highlight.es.js +42 -0
  387. package/dist/components/fluid-hover-highlight.es.js.map +1 -0
  388. package/dist/composer-C6kIcVEJ.cjs +156 -0
  389. package/dist/composer-C6kIcVEJ.cjs.map +1 -0
  390. package/dist/composer-Dz769593.js +148 -0
  391. package/dist/composer-Dz769593.js.map +1 -0
  392. package/dist/composer.css +207 -0
  393. package/dist/copy-button-CmQxxSUq.cjs +38 -0
  394. package/dist/copy-button-CmQxxSUq.cjs.map +1 -0
  395. package/dist/copy-button-DIeDskPU.js +36 -0
  396. package/dist/copy-button-DIeDskPU.js.map +1 -0
  397. package/dist/dashboard-card-B4VOm5Js.cjs +11 -0
  398. package/dist/dashboard-card-B4VOm5Js.cjs.map +1 -0
  399. package/dist/dashboard-card-quQYRrRH.js +9 -0
  400. package/dist/dashboard-card-quQYRrRH.js.map +1 -0
  401. package/dist/data-code-section-BHQOAbuZ.js +348 -0
  402. package/dist/data-code-section-BHQOAbuZ.js.map +1 -0
  403. package/dist/data-code-section-Dsn6ZqE0.cjs +350 -0
  404. package/dist/data-code-section-Dsn6ZqE0.cjs.map +1 -0
  405. package/dist/data-keys-and-values-BxSKCdWQ.js +122 -0
  406. package/dist/data-keys-and-values-BxSKCdWQ.js.map +1 -0
  407. package/dist/data-keys-and-values-CPUfobZS.cjs +124 -0
  408. package/dist/data-keys-and-values-CPUfobZS.cjs.map +1 -0
  409. package/dist/data-list-B9td5YXY.cjs +184 -0
  410. package/dist/data-list-B9td5YXY.cjs.map +1 -0
  411. package/dist/data-list-IQ0BjiGx.js +180 -0
  412. package/dist/data-list-IQ0BjiGx.js.map +1 -0
  413. package/dist/data-list-skeleton-CFaGBKDb.cjs +38 -0
  414. package/dist/data-list-skeleton-CFaGBKDb.cjs.map +1 -0
  415. package/dist/data-list-skeleton-CQQydcpj.js +36 -0
  416. package/dist/data-list-skeleton-CQQydcpj.js.map +1 -0
  417. package/dist/data-list-spacer-DWoUNPpA.js +138 -0
  418. package/dist/data-list-spacer-DWoUNPpA.js.map +1 -0
  419. package/dist/data-list-spacer-psBnZOCX.cjs +146 -0
  420. package/dist/data-list-spacer-psBnZOCX.cjs.map +1 -0
  421. package/dist/data-list-top-CkwvYUWw.cjs +375 -0
  422. package/dist/data-list-top-CkwvYUWw.cjs.map +1 -0
  423. package/dist/data-list-top-DbUnE1J9.js +350 -0
  424. package/dist/data-list-top-DbUnE1J9.js.map +1 -0
  425. package/dist/data-panel-BhJ8Lp_j.cjs +269 -0
  426. package/dist/data-panel-BhJ8Lp_j.cjs.map +1 -0
  427. package/dist/data-panel-D2JtbyKg.js +249 -0
  428. package/dist/data-panel-D2JtbyKg.js.map +1 -0
  429. package/dist/data-panel-section-heading-BoMxMKSA.cjs +23 -0
  430. package/dist/data-panel-section-heading-BoMxMKSA.cjs.map +1 -0
  431. package/dist/data-panel-section-heading-UzIDRnta.js +21 -0
  432. package/dist/data-panel-section-heading-UzIDRnta.js.map +1 -0
  433. package/dist/date-picker-DiZ0FOvY.cjs +48 -0
  434. package/dist/date-picker-DiZ0FOvY.cjs.map +1 -0
  435. package/dist/date-picker-jDmdtRTR.js +46 -0
  436. package/dist/date-picker-jDmdtRTR.js.map +1 -0
  437. package/dist/date-time-range-picker-BotnQ9HS.js +164 -0
  438. package/dist/date-time-range-picker-BotnQ9HS.js.map +1 -0
  439. package/dist/date-time-range-picker-eyfOf4v-.cjs +166 -0
  440. package/dist/date-time-range-picker-eyfOf4v-.cjs.map +1 -0
  441. package/dist/dialog-B3DNnoZ3.cjs +276 -0
  442. package/dist/dialog-B3DNnoZ3.cjs.map +1 -0
  443. package/dist/dialog-C60a4DWO.js +242 -0
  444. package/dist/dialog-C60a4DWO.js.map +1 -0
  445. package/dist/domains/chat/attachments/attachment-preview-dialog.cjs.js +30 -14
  446. package/dist/domains/chat/attachments/attachment-preview-dialog.cjs.js.map +1 -1
  447. package/dist/domains/chat/attachments/attachment-preview-dialog.es.js +31 -15
  448. package/dist/domains/chat/attachments/attachment-preview-dialog.es.js.map +1 -1
  449. package/dist/domains/chat/attachments/composer-attachment-list.cjs.js +21 -0
  450. package/dist/domains/chat/attachments/composer-attachment-list.cjs.js.map +1 -0
  451. package/dist/domains/chat/attachments/composer-attachment-list.d.ts +2 -0
  452. package/dist/domains/chat/attachments/composer-attachment-list.es.js +17 -0
  453. package/dist/domains/chat/attachments/composer-attachment-list.es.js.map +1 -0
  454. package/dist/domains/chat/attachments/composer-attachment.cjs.js +52 -0
  455. package/dist/domains/chat/attachments/composer-attachment.cjs.js.map +1 -0
  456. package/dist/domains/chat/attachments/composer-attachment.d.ts +2 -0
  457. package/dist/domains/chat/attachments/composer-attachment.es.js +48 -0
  458. package/dist/domains/chat/attachments/composer-attachment.es.js.map +1 -0
  459. package/dist/domains/chat/components/badge-wrapper.cjs.js +2 -2
  460. package/dist/domains/chat/components/badge-wrapper.es.js +2 -2
  461. package/dist/domains/chat/components/loading-badge.cjs.js +2 -2
  462. package/dist/domains/chat/components/loading-badge.es.js +2 -2
  463. package/dist/domains/chat/components/network-choice-metadata-dialog.cjs.js +4 -4
  464. package/dist/domains/chat/components/network-choice-metadata-dialog.es.js +4 -4
  465. package/dist/domains/chat/components/section-label.cjs.js +1 -1
  466. package/dist/domains/chat/components/section-label.es.js +1 -1
  467. package/dist/domains/chat/messages/notification-signal-notice-variant.cjs.js.map +1 -1
  468. package/dist/domains/chat/messages/notification-signal-notice-variant.es.js.map +1 -1
  469. package/dist/domains/chat/messages/notification-signal-notice.cjs.js +8 -20
  470. package/dist/domains/chat/messages/notification-signal-notice.cjs.js.map +1 -1
  471. package/dist/domains/chat/messages/notification-signal-notice.es.js +9 -21
  472. package/dist/domains/chat/messages/notification-signal-notice.es.js.map +1 -1
  473. package/dist/domains/chat/messages/reasoning-content.cjs.js +14 -0
  474. package/dist/domains/chat/messages/reasoning-content.cjs.js.map +1 -0
  475. package/dist/domains/chat/messages/reasoning-content.d.ts +2 -0
  476. package/dist/domains/chat/messages/reasoning-content.es.js +10 -0
  477. package/dist/domains/chat/messages/reasoning-content.es.js.map +1 -0
  478. package/dist/domains/chat/messages/reasoning-streaming-line.cjs.js +3 -3
  479. package/dist/domains/chat/messages/reasoning-streaming-line.cjs.js.map +1 -1
  480. package/dist/domains/chat/messages/reasoning-streaming-line.es.js +3 -3
  481. package/dist/domains/chat/messages/reasoning-streaming-line.es.js.map +1 -1
  482. package/dist/domains/chat/messages/reasoning.cjs.js +30 -14
  483. package/dist/domains/chat/messages/reasoning.cjs.js.map +1 -1
  484. package/dist/domains/chat/messages/reasoning.es.js +32 -16
  485. package/dist/domains/chat/messages/reasoning.es.js.map +1 -1
  486. package/dist/domains/chat/messages/renderers/assistant-text-part-renderer.cjs.js.map +1 -1
  487. package/dist/domains/chat/messages/renderers/assistant-text-part-renderer.es.js.map +1 -1
  488. package/dist/domains/chat/messages/renderers/data-part-renderer.cjs.js.map +1 -1
  489. package/dist/domains/chat/messages/renderers/data-part-renderer.es.js.map +1 -1
  490. package/dist/domains/chat/messages/renderers/in-message-attachment.cjs.js +1 -1
  491. package/dist/domains/chat/messages/renderers/in-message-attachment.cjs.js.map +1 -1
  492. package/dist/domains/chat/messages/renderers/in-message-attachment.es.js +1 -1
  493. package/dist/domains/chat/messages/renderers/in-message-attachment.es.js.map +1 -1
  494. package/dist/domains/chat/messages/renderers/message-text.cjs.js +4 -4
  495. package/dist/domains/chat/messages/renderers/message-text.es.js +4 -4
  496. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.cjs.js +3 -8
  497. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.cjs.js.map +1 -1
  498. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.es.js +3 -8
  499. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.es.js.map +1 -1
  500. package/dist/domains/chat/messages/renderers/status-renderers.cjs.js +1 -1
  501. package/dist/domains/chat/messages/renderers/status-renderers.cjs.js.map +1 -1
  502. package/dist/domains/chat/messages/renderers/status-renderers.es.js +1 -1
  503. package/dist/domains/chat/messages/renderers/status-renderers.es.js.map +1 -1
  504. package/dist/domains/chat/messages/renderers/tool-part.cjs.js +12 -2
  505. package/dist/domains/chat/messages/renderers/tool-part.cjs.js.map +1 -1
  506. package/dist/domains/chat/messages/renderers/tool-part.es.js +12 -2
  507. package/dist/domains/chat/messages/renderers/tool-part.es.js.map +1 -1
  508. package/dist/domains/chat/messages/renderers/user-file-part-renderer.cjs.js +2 -1
  509. package/dist/domains/chat/messages/renderers/user-file-part-renderer.cjs.js.map +1 -1
  510. package/dist/domains/chat/messages/renderers/user-file-part-renderer.es.js +2 -1
  511. package/dist/domains/chat/messages/renderers/user-file-part-renderer.es.js.map +1 -1
  512. package/dist/domains/chat/messages/renderers/user-text-part-renderer.cjs.js.map +1 -1
  513. package/dist/domains/chat/messages/renderers/user-text-part-renderer.es.js.map +1 -1
  514. package/dist/domains/chat/messages/signal-badge.cjs.js +3 -19
  515. package/dist/domains/chat/messages/signal-badge.cjs.js.map +1 -1
  516. package/dist/domains/chat/messages/signal-badge.es.js +4 -20
  517. package/dist/domains/chat/messages/signal-badge.es.js.map +1 -1
  518. package/dist/domains/chat/messages/tripwire-notice.cjs.js +2 -2
  519. package/dist/domains/chat/messages/tripwire-notice.es.js +2 -2
  520. package/dist/domains/chat/tools/badges/ask-user-badge.cjs.js +1 -1
  521. package/dist/domains/chat/tools/badges/ask-user-badge.es.js +1 -1
  522. package/dist/domains/chat/tools/badges/code-mode-badge.cjs.js +2 -2
  523. package/dist/domains/chat/tools/badges/code-mode-badge.es.js +2 -2
  524. package/dist/domains/chat/tools/badges/observation-marker-badge.cjs.js +3 -3
  525. package/dist/domains/chat/tools/badges/observation-marker-badge.es.js +3 -3
  526. package/dist/domains/chat/tools/badges/observation-renderer.cjs.js +2 -2
  527. package/dist/domains/chat/tools/badges/observation-renderer.es.js +2 -2
  528. package/dist/domains/chat/tools/badges/tool-approval-buttons.cjs.js +11 -24
  529. package/dist/domains/chat/tools/badges/tool-approval-buttons.cjs.js.map +1 -1
  530. package/dist/domains/chat/tools/badges/tool-approval-buttons.es.js +11 -24
  531. package/dist/domains/chat/tools/badges/tool-approval-buttons.es.js.map +1 -1
  532. package/dist/domains/chat/tools/tool-card-kind.cjs.js +2 -1
  533. package/dist/domains/chat/tools/tool-card-kind.cjs.js.map +1 -1
  534. package/dist/domains/chat/tools/tool-card-kind.es.js +2 -1
  535. package/dist/domains/chat/tools/tool-card-kind.es.js.map +1 -1
  536. package/dist/domains/chat/tools/tool-groups.cjs.js +1 -0
  537. package/dist/domains/chat/tools/tool-groups.cjs.js.map +1 -1
  538. package/dist/domains/chat/tools/tool-groups.es.js +1 -0
  539. package/dist/domains/chat/tools/tool-groups.es.js.map +1 -1
  540. package/dist/domains/logs/components/log-details-view.cjs.js +4 -4
  541. package/dist/domains/logs/components/log-details-view.es.js +4 -4
  542. package/dist/domains/logs/components/logs-error-content.cjs.js +3 -3
  543. package/dist/domains/logs/components/logs-error-content.es.js +3 -3
  544. package/dist/domains/logs/components/logs-layout.cjs.js +1 -1
  545. package/dist/domains/logs/components/logs-layout.es.js +1 -1
  546. package/dist/domains/logs/components/logs-list-view.cjs.js +2 -2
  547. package/dist/domains/logs/components/logs-list-view.es.js +2 -2
  548. package/dist/domains/logs/components/logs-toolbar.cjs.js +2 -2
  549. package/dist/domains/logs/components/logs-toolbar.cjs.js.map +1 -1
  550. package/dist/domains/logs/components/logs-toolbar.es.js +2 -2
  551. package/dist/domains/logs/components/logs-toolbar.es.js.map +1 -1
  552. package/dist/domains/logs/components/no-logs-info.cjs.js +3 -6
  553. package/dist/domains/logs/components/no-logs-info.cjs.js.map +1 -1
  554. package/dist/domains/logs/components/no-logs-info.es.js +3 -6
  555. package/dist/domains/logs/components/no-logs-info.es.js.map +1 -1
  556. package/dist/domains/logs/hooks/use-logs-filter-persistence.cjs.js +1 -1
  557. package/dist/domains/logs/hooks/use-logs-filter-persistence.es.js +1 -1
  558. package/dist/domains/logs/hooks/use-logs.cjs.js.map +1 -1
  559. package/dist/domains/logs/hooks/use-logs.es.js.map +1 -1
  560. package/dist/domains/logs/log-filters.cjs.js.map +1 -1
  561. package/dist/domains/logs/log-filters.es.js.map +1 -1
  562. package/dist/domains/memory/components/flame-graph.cjs.js +1 -1
  563. package/dist/domains/memory/components/flame-graph.es.js +1 -1
  564. package/dist/domains/memory/components/memory-studio-panel.cjs.js +3 -3
  565. package/dist/domains/memory/components/memory-studio-panel.es.js +3 -3
  566. package/dist/domains/memory/components/observation-detail-view.cjs.js +4 -4
  567. package/dist/domains/memory/components/observation-detail-view.es.js +4 -4
  568. package/dist/domains/memory/components/thread-context-progress.cjs.js +1 -1
  569. package/dist/domains/memory/components/thread-context-progress.es.js +1 -1
  570. package/dist/domains/metrics/components/bar-list.cjs.js +1 -1
  571. package/dist/domains/metrics/components/bar-list.es.js +1 -1
  572. package/dist/domains/metrics/components/card-action-buttons.cjs.js +3 -5
  573. package/dist/domains/metrics/components/card-action-buttons.cjs.js.map +1 -1
  574. package/dist/domains/metrics/components/card-action-buttons.es.js +3 -5
  575. package/dist/domains/metrics/components/card-action-buttons.es.js.map +1 -1
  576. package/dist/domains/metrics/components/date-range-selector.cjs.js +1 -1
  577. package/dist/domains/metrics/components/date-range-selector.es.js +1 -1
  578. package/dist/domains/metrics/components/kpi-card-view.cjs.js +1 -1
  579. package/dist/domains/metrics/components/kpi-card-view.es.js +1 -1
  580. package/dist/domains/metrics/components/latency-card-view.cjs.js +4 -4
  581. package/dist/domains/metrics/components/latency-card-view.es.js +4 -4
  582. package/dist/domains/metrics/components/memory-card-view.cjs.js +5 -5
  583. package/dist/domains/metrics/components/memory-card-view.es.js +5 -5
  584. package/dist/domains/metrics/components/model-usage-cost-card-view.cjs.js +2 -2
  585. package/dist/domains/metrics/components/model-usage-cost-card-view.es.js +2 -2
  586. package/dist/domains/metrics/components/scores-card-view.cjs.js +5 -5
  587. package/dist/domains/metrics/components/scores-card-view.es.js +5 -5
  588. package/dist/domains/metrics/components/token-usage-by-agent-card-view.cjs.js +5 -5
  589. package/dist/domains/metrics/components/token-usage-by-agent-card-view.es.js +5 -5
  590. package/dist/domains/metrics/components/token-usage-timeline-card-view.cjs.js +4 -4
  591. package/dist/domains/metrics/components/token-usage-timeline-card-view.es.js +4 -4
  592. package/dist/domains/metrics/components/traces-volume-card-view.cjs.js +5 -5
  593. package/dist/domains/metrics/components/traces-volume-card-view.es.js +5 -5
  594. package/dist/domains/traces/components/no-traces-info.cjs.js +1 -1
  595. package/dist/domains/traces/components/no-traces-info.es.js +1 -1
  596. package/dist/domains/traces/components/span-data-panel-view.cjs.js +72 -78
  597. package/dist/domains/traces/components/span-data-panel-view.cjs.js.map +1 -1
  598. package/dist/domains/traces/components/span-data-panel-view.es.js +72 -78
  599. package/dist/domains/traces/components/span-data-panel-view.es.js.map +1 -1
  600. package/dist/domains/traces/components/span-details-view.cjs.js +31 -8
  601. package/dist/domains/traces/components/span-details-view.cjs.js.map +1 -1
  602. package/dist/domains/traces/components/span-details-view.es.js +31 -8
  603. package/dist/domains/traces/components/span-details-view.es.js.map +1 -1
  604. package/dist/domains/traces/components/span-payload/span-error-renderer.cjs.js +38 -0
  605. package/dist/domains/traces/components/span-payload/span-error-renderer.cjs.js.map +1 -0
  606. package/dist/domains/traces/components/span-payload/span-error-renderer.d.ts +2 -0
  607. package/dist/domains/traces/components/span-payload/span-error-renderer.es.js +34 -0
  608. package/dist/domains/traces/components/span-payload/span-error-renderer.es.js.map +1 -0
  609. package/dist/domains/traces/components/span-payload/span-input-renderers.cjs.js +50 -0
  610. package/dist/domains/traces/components/span-payload/span-input-renderers.cjs.js.map +1 -0
  611. package/dist/domains/traces/components/span-payload/span-input-renderers.d.ts +2 -0
  612. package/dist/domains/traces/components/span-payload/span-input-renderers.es.js +46 -0
  613. package/dist/domains/traces/components/span-payload/span-input-renderers.es.js.map +1 -0
  614. package/dist/domains/traces/components/span-payload/span-output-renderers.cjs.js +97 -0
  615. package/dist/domains/traces/components/span-payload/span-output-renderers.cjs.js.map +1 -0
  616. package/dist/domains/traces/components/span-payload/span-output-renderers.d.ts +2 -0
  617. package/dist/domains/traces/components/span-payload/span-output-renderers.es.js +93 -0
  618. package/dist/domains/traces/components/span-payload/span-output-renderers.es.js.map +1 -0
  619. package/dist/domains/traces/components/span-payload/span-payload-attachment.cjs.js +34 -0
  620. package/dist/domains/traces/components/span-payload/span-payload-attachment.cjs.js.map +1 -0
  621. package/dist/domains/traces/components/span-payload/span-payload-attachment.d.ts +2 -0
  622. package/dist/domains/traces/components/span-payload/span-payload-attachment.es.js +30 -0
  623. package/dist/domains/traces/components/span-payload/span-payload-attachment.es.js.map +1 -0
  624. package/dist/domains/traces/components/span-payload/span-payload-json.cjs.js +25 -0
  625. package/dist/domains/traces/components/span-payload/span-payload-json.cjs.js.map +1 -0
  626. package/dist/domains/traces/components/span-payload/span-payload-json.d.ts +2 -0
  627. package/dist/domains/traces/components/span-payload/span-payload-json.es.js +21 -0
  628. package/dist/domains/traces/components/span-payload/span-payload-json.es.js.map +1 -0
  629. package/dist/domains/traces/components/span-payload/span-payload-messages.cjs.js +79 -0
  630. package/dist/domains/traces/components/span-payload/span-payload-messages.cjs.js.map +1 -0
  631. package/dist/domains/traces/components/span-payload/span-payload-messages.d.ts +2 -0
  632. package/dist/domains/traces/components/span-payload/span-payload-messages.es.js +75 -0
  633. package/dist/domains/traces/components/span-payload/span-payload-messages.es.js.map +1 -0
  634. package/dist/domains/traces/components/span-payload/span-payload-primitives.cjs.js +18 -0
  635. package/dist/domains/traces/components/span-payload/span-payload-primitives.cjs.js.map +1 -0
  636. package/dist/domains/traces/components/span-payload/span-payload-primitives.d.ts +2 -0
  637. package/dist/domains/traces/components/span-payload/span-payload-primitives.es.js +6 -0
  638. package/dist/domains/traces/components/span-payload/span-payload-primitives.es.js.map +1 -0
  639. package/dist/domains/traces/components/span-payload/span-payload-registry.cjs.js +14 -0
  640. package/dist/domains/traces/components/span-payload/span-payload-registry.cjs.js.map +1 -0
  641. package/dist/domains/traces/components/span-payload/span-payload-registry.d.ts +2 -0
  642. package/dist/domains/traces/components/span-payload/span-payload-registry.es.js +9 -0
  643. package/dist/domains/traces/components/span-payload/span-payload-registry.es.js.map +1 -0
  644. package/dist/domains/traces/components/span-payload/span-payload-section.cjs.js +73 -0
  645. package/dist/domains/traces/components/span-payload/span-payload-section.cjs.js.map +1 -0
  646. package/dist/domains/traces/components/span-payload/span-payload-section.d.ts +2 -0
  647. package/dist/domains/traces/components/span-payload/span-payload-section.es.js +69 -0
  648. package/dist/domains/traces/components/span-payload/span-payload-section.es.js.map +1 -0
  649. package/dist/domains/traces/components/span-payload/span-payload-tool.cjs.js +15 -0
  650. package/dist/domains/traces/components/span-payload/span-payload-tool.cjs.js.map +1 -0
  651. package/dist/domains/traces/components/span-payload/span-payload-tool.d.ts +2 -0
  652. package/dist/domains/traces/components/span-payload/span-payload-tool.es.js +7 -0
  653. package/dist/domains/traces/components/span-payload/span-payload-tool.es.js.map +1 -0
  654. package/dist/domains/traces/components/span-payload.cjs.js +20 -0
  655. package/dist/domains/traces/components/span-payload.cjs.js.map +1 -0
  656. package/dist/domains/traces/components/span-payload.d.ts +2 -0
  657. package/dist/domains/traces/components/span-payload.es.js +7 -0
  658. package/dist/domains/traces/components/span-payload.es.js.map +1 -0
  659. package/dist/domains/traces/components/span-rows.cjs.js +1 -55
  660. package/dist/domains/traces/components/span-rows.cjs.js.map +1 -1
  661. package/dist/domains/traces/components/span-rows.es.js +1 -55
  662. package/dist/domains/traces/components/span-rows.es.js.map +1 -1
  663. package/dist/domains/traces/components/span-summary-description.cjs.js +7 -46
  664. package/dist/domains/traces/components/span-summary-description.cjs.js.map +1 -1
  665. package/dist/domains/traces/components/span-summary-description.es.js +8 -47
  666. package/dist/domains/traces/components/span-summary-description.es.js.map +1 -1
  667. package/dist/domains/traces/components/span-timeline-row.cjs.js +139 -0
  668. package/dist/domains/traces/components/span-timeline-row.cjs.js.map +1 -0
  669. package/dist/domains/traces/components/span-timeline-row.d.ts +2 -0
  670. package/dist/domains/traces/components/span-timeline-row.es.js +135 -0
  671. package/dist/domains/traces/components/span-timeline-row.es.js.map +1 -0
  672. package/dist/domains/traces/components/span-timing-hover-card.cjs.js +3 -3
  673. package/dist/domains/traces/components/span-timing-hover-card.es.js +3 -3
  674. package/dist/domains/traces/components/span-token-usage.cjs.js +2 -2
  675. package/dist/domains/traces/components/span-token-usage.es.js +2 -2
  676. package/dist/domains/traces/components/span-tree-row.cjs.js +3 -20
  677. package/dist/domains/traces/components/span-tree-row.cjs.js.map +1 -1
  678. package/dist/domains/traces/components/span-tree-row.es.js +3 -20
  679. package/dist/domains/traces/components/span-tree-row.es.js.map +1 -1
  680. package/dist/domains/traces/components/span-type-legend.cjs.js +12 -6
  681. package/dist/domains/traces/components/span-type-legend.cjs.js.map +1 -1
  682. package/dist/domains/traces/components/span-type-legend.es.js +14 -7
  683. package/dist/domains/traces/components/span-type-legend.es.js.map +1 -1
  684. package/dist/domains/traces/components/thread-trace/thread-trace-context.cjs.js.map +1 -1
  685. package/dist/domains/traces/components/thread-trace/thread-trace-context.es.js.map +1 -1
  686. package/dist/domains/traces/components/thread-trace/thread-trace-details.cjs.js +16 -30
  687. package/dist/domains/traces/components/thread-trace/thread-trace-details.cjs.js.map +1 -1
  688. package/dist/domains/traces/components/thread-trace/thread-trace-details.es.js +17 -28
  689. package/dist/domains/traces/components/thread-trace/thread-trace-details.es.js.map +1 -1
  690. package/dist/domains/traces/components/thread-trace/thread-trace-list.cjs.js +2 -2
  691. package/dist/domains/traces/components/thread-trace/thread-trace-list.cjs.js.map +1 -1
  692. package/dist/domains/traces/components/thread-trace/thread-trace-list.es.js +2 -2
  693. package/dist/domains/traces/components/thread-trace/thread-trace-list.es.js.map +1 -1
  694. package/dist/domains/traces/components/thread-trace/thread-trace-messages.cjs.js +41 -9
  695. package/dist/domains/traces/components/thread-trace/thread-trace-messages.cjs.js.map +1 -1
  696. package/dist/domains/traces/components/thread-trace/thread-trace-messages.es.js +38 -10
  697. package/dist/domains/traces/components/thread-trace/thread-trace-messages.es.js.map +1 -1
  698. package/dist/domains/traces/components/thread-trace/thread-trace-rail.cjs.js +2 -2
  699. package/dist/domains/traces/components/thread-trace/thread-trace-rail.es.js +2 -2
  700. package/dist/domains/traces/components/thread-trace/thread-trace-root.cjs.js +17 -6
  701. package/dist/domains/traces/components/thread-trace/thread-trace-root.cjs.js.map +1 -1
  702. package/dist/domains/traces/components/thread-trace/thread-trace-root.es.js +17 -6
  703. package/dist/domains/traces/components/thread-trace/thread-trace-root.es.js.map +1 -1
  704. package/dist/domains/traces/components/thread-trace/thread-trace-row-context.cjs.js.map +1 -1
  705. package/dist/domains/traces/components/thread-trace/thread-trace-row-context.es.js.map +1 -1
  706. package/dist/domains/traces/components/thread-trace/thread-trace-row.cjs.js +14 -14
  707. package/dist/domains/traces/components/thread-trace/thread-trace-row.cjs.js.map +1 -1
  708. package/dist/domains/traces/components/thread-trace/thread-trace-row.es.js +14 -14
  709. package/dist/domains/traces/components/thread-trace/thread-trace-row.es.js.map +1 -1
  710. package/dist/domains/traces/components/thread-trace/thread-trace-span-panel.cjs.js +29 -9
  711. package/dist/domains/traces/components/thread-trace/thread-trace-span-panel.cjs.js.map +1 -1
  712. package/dist/domains/traces/components/thread-trace/thread-trace-span-panel.es.js +29 -9
  713. package/dist/domains/traces/components/thread-trace/thread-trace-span-panel.es.js.map +1 -1
  714. package/dist/domains/traces/components/thread-trace/thread-trace-spans.cjs.js +70 -0
  715. package/dist/domains/traces/components/thread-trace/thread-trace-spans.cjs.js.map +1 -0
  716. package/dist/domains/traces/components/thread-trace/thread-trace-spans.d.ts +2 -0
  717. package/dist/domains/traces/components/thread-trace/thread-trace-spans.es.js +66 -0
  718. package/dist/domains/traces/components/thread-trace/thread-trace-spans.es.js.map +1 -0
  719. package/dist/domains/traces/components/thread-trace.cjs.js +7 -6
  720. package/dist/domains/traces/components/thread-trace.cjs.js.map +1 -1
  721. package/dist/domains/traces/components/thread-trace.es.js +9 -8
  722. package/dist/domains/traces/components/thread-trace.es.js.map +1 -1
  723. package/dist/domains/traces/components/timeline-name-col.cjs.js +51 -22
  724. package/dist/domains/traces/components/timeline-name-col.cjs.js.map +1 -1
  725. package/dist/domains/traces/components/timeline-name-col.es.js +51 -22
  726. package/dist/domains/traces/components/timeline-name-col.es.js.map +1 -1
  727. package/dist/domains/traces/components/timeline-structure-sign.cjs.js +2 -2
  728. package/dist/domains/traces/components/timeline-structure-sign.cjs.js.map +1 -1
  729. package/dist/domains/traces/components/timeline-structure-sign.es.js +2 -2
  730. package/dist/domains/traces/components/timeline-structure-sign.es.js.map +1 -1
  731. package/dist/domains/traces/components/timeline-timing-col.cjs.js +2 -2
  732. package/dist/domains/traces/components/timeline-timing-col.es.js +2 -2
  733. package/dist/domains/traces/components/trace-columns-menu.cjs.js +6 -6
  734. package/dist/domains/traces/components/trace-columns-menu.cjs.js.map +1 -1
  735. package/dist/domains/traces/components/trace-columns-menu.es.js +6 -6
  736. package/dist/domains/traces/components/trace-columns-menu.es.js.map +1 -1
  737. package/dist/domains/traces/components/trace-data-panel-view.cjs.js +199 -163
  738. package/dist/domains/traces/components/trace-data-panel-view.cjs.js.map +1 -1
  739. package/dist/domains/traces/components/trace-data-panel-view.es.js +202 -166
  740. package/dist/domains/traces/components/trace-data-panel-view.es.js.map +1 -1
  741. package/dist/domains/traces/components/trace-details-view.cjs.js.map +1 -1
  742. package/dist/domains/traces/components/trace-details-view.es.js.map +1 -1
  743. package/dist/domains/traces/components/trace-id-button.cjs.js +2 -16
  744. package/dist/domains/traces/components/trace-id-button.cjs.js.map +1 -1
  745. package/dist/domains/traces/components/trace-id-button.es.js +3 -17
  746. package/dist/domains/traces/components/trace-id-button.es.js.map +1 -1
  747. package/dist/domains/traces/components/trace-keys-and-values.cjs.js +2 -2
  748. package/dist/domains/traces/components/trace-keys-and-values.es.js +2 -2
  749. package/dist/domains/traces/components/trace-span-timeline.cjs.js +10 -16
  750. package/dist/domains/traces/components/trace-span-timeline.cjs.js.map +1 -1
  751. package/dist/domains/traces/components/trace-span-timeline.es.js +10 -16
  752. package/dist/domains/traces/components/trace-span-timeline.es.js.map +1 -1
  753. package/dist/domains/traces/components/trace-span-tree-skeleton.cjs.js +40 -0
  754. package/dist/domains/traces/components/trace-span-tree-skeleton.cjs.js.map +1 -0
  755. package/dist/domains/traces/components/trace-span-tree-skeleton.d.ts +2 -0
  756. package/dist/domains/traces/components/trace-span-tree-skeleton.es.js +36 -0
  757. package/dist/domains/traces/components/trace-span-tree-skeleton.es.js.map +1 -0
  758. package/dist/domains/traces/components/trace-span-tree.cjs.js +30 -31
  759. package/dist/domains/traces/components/trace-span-tree.cjs.js.map +1 -1
  760. package/dist/domains/traces/components/trace-span-tree.es.js +30 -31
  761. package/dist/domains/traces/components/trace-span-tree.es.js.map +1 -1
  762. package/dist/domains/traces/components/trace-status-value.cjs.js +1 -1
  763. package/dist/domains/traces/components/trace-status-value.es.js +1 -1
  764. package/dist/domains/traces/components/trace-summary-description.cjs.js +21 -75
  765. package/dist/domains/traces/components/trace-summary-description.cjs.js.map +1 -1
  766. package/dist/domains/traces/components/trace-summary-description.es.js +22 -76
  767. package/dist/domains/traces/components/trace-summary-description.es.js.map +1 -1
  768. package/dist/domains/traces/components/trace-time-range-chip.cjs.js +74 -0
  769. package/dist/domains/traces/components/trace-time-range-chip.cjs.js.map +1 -0
  770. package/dist/domains/traces/components/trace-time-range-chip.d.ts +2 -0
  771. package/dist/domains/traces/components/trace-time-range-chip.es.js +67 -0
  772. package/dist/domains/traces/components/trace-time-range-chip.es.js.map +1 -0
  773. package/dist/domains/traces/components/traces-error-content.cjs.js +2 -2
  774. package/dist/domains/traces/components/traces-error-content.es.js +2 -2
  775. package/dist/domains/traces/components/traces-list-mode-toggle.cjs.js +2 -2
  776. package/dist/domains/traces/components/traces-list-mode-toggle.es.js +2 -2
  777. package/dist/domains/traces/components/traces-list-view-adapter.cjs.js +24 -0
  778. package/dist/domains/traces/components/traces-list-view-adapter.cjs.js.map +1 -0
  779. package/dist/domains/traces/components/traces-list-view-adapter.d.ts +2 -0
  780. package/dist/domains/traces/components/traces-list-view-adapter.es.js +20 -0
  781. package/dist/domains/traces/components/traces-list-view-adapter.es.js.map +1 -0
  782. package/dist/domains/traces/components/traces-list-view.cjs.js +4 -4
  783. package/dist/domains/traces/components/traces-list-view.es.js +4 -4
  784. package/dist/domains/traces/components/traces-page-skeleton.cjs.js +33 -0
  785. package/dist/domains/traces/components/traces-page-skeleton.cjs.js.map +1 -0
  786. package/dist/domains/traces/components/traces-page-skeleton.d.ts +2 -0
  787. package/dist/domains/traces/components/traces-page-skeleton.es.js +29 -0
  788. package/dist/domains/traces/components/traces-page-skeleton.es.js.map +1 -0
  789. package/dist/domains/traces/components.cjs.js +17 -11
  790. package/dist/domains/traces/components.cjs.js.map +1 -1
  791. package/dist/domains/traces/components.es.js +9 -6
  792. package/dist/domains/traces/components.es.js.map +1 -1
  793. package/dist/domains/traces/hooks/use-download-trace-json.cjs.js +1 -1
  794. package/dist/domains/traces/hooks/use-download-trace-json.es.js +1 -1
  795. package/dist/domains/traces/hooks/use-span-detail.cjs.js.map +1 -1
  796. package/dist/domains/traces/hooks/use-span-detail.es.js.map +1 -1
  797. package/dist/domains/traces/hooks/use-trace-metadata-filter-fields.cjs.js +70 -0
  798. package/dist/domains/traces/hooks/use-trace-metadata-filter-fields.cjs.js.map +1 -0
  799. package/dist/domains/traces/hooks/use-trace-metadata-filter-fields.d.ts +2 -0
  800. package/dist/domains/traces/hooks/use-trace-metadata-filter-fields.es.js +65 -0
  801. package/dist/domains/traces/hooks/use-trace-metadata-filter-fields.es.js.map +1 -0
  802. package/dist/domains/traces/hooks/use-trace-query.cjs.js +90 -0
  803. package/dist/domains/traces/hooks/use-trace-query.cjs.js.map +1 -0
  804. package/dist/domains/traces/hooks/use-trace-query.d.ts +2 -0
  805. package/dist/domains/traces/hooks/use-trace-query.es.js +83 -0
  806. package/dist/domains/traces/hooks/use-trace-query.es.js.map +1 -0
  807. package/dist/domains/traces/hooks/use-trace-span-navigation.cjs.js.map +1 -1
  808. package/dist/domains/traces/hooks/use-trace-span-navigation.es.js.map +1 -1
  809. package/dist/domains/traces/hooks/use-trace-spans.cjs.js +2 -1
  810. package/dist/domains/traces/hooks/use-trace-spans.cjs.js.map +1 -1
  811. package/dist/domains/traces/hooks/use-trace-spans.es.js +3 -2
  812. package/dist/domains/traces/hooks/use-trace-spans.es.js.map +1 -1
  813. package/dist/domains/traces/hooks/use-trace-url-state.cjs.js +42 -2
  814. package/dist/domains/traces/hooks/use-trace-url-state.cjs.js.map +1 -1
  815. package/dist/domains/traces/hooks/use-trace-url-state.es.js +42 -2
  816. package/dist/domains/traces/hooks/use-trace-url-state.es.js.map +1 -1
  817. package/dist/domains/traces/hooks/use-traces.cjs.js +9 -7
  818. package/dist/domains/traces/hooks/use-traces.cjs.js.map +1 -1
  819. package/dist/domains/traces/hooks/use-traces.es.js +9 -7
  820. package/dist/domains/traces/hooks/use-traces.es.js.map +1 -1
  821. package/dist/domains/traces/hooks.cjs.js +4 -0
  822. package/dist/domains/traces/hooks.cjs.js.map +1 -1
  823. package/dist/domains/traces/hooks.es.js +2 -0
  824. package/dist/domains/traces/hooks.es.js.map +1 -1
  825. package/dist/domains/traces/trace-filters.cjs.js +151 -88
  826. package/dist/domains/traces/trace-filters.cjs.js.map +1 -1
  827. package/dist/domains/traces/trace-filters.es.js +141 -87
  828. package/dist/domains/traces/trace-filters.es.js.map +1 -1
  829. package/dist/domains/traces/trace-query-filters.cjs.js +80 -0
  830. package/dist/domains/traces/trace-query-filters.cjs.js.map +1 -0
  831. package/dist/domains/traces/trace-query-filters.d.ts +2 -0
  832. package/dist/domains/traces/trace-query-filters.es.js +73 -0
  833. package/dist/domains/traces/trace-query-filters.es.js.map +1 -0
  834. package/dist/domains/traces/types.cjs.js.map +1 -1
  835. package/dist/domains/traces/types.es.js.map +1 -1
  836. package/dist/domains/traces/utils/filter-spans-keeping-ancestors.cjs.js.map +1 -1
  837. package/dist/domains/traces/utils/filter-spans-keeping-ancestors.es.js.map +1 -1
  838. package/dist/domains/traces/utils/span-utils.cjs.js.map +1 -1
  839. package/dist/domains/traces/utils/span-utils.es.js.map +1 -1
  840. package/dist/domains/traces/utils/to-searchable-spans.cjs.js.map +1 -1
  841. package/dist/domains/traces/utils/to-searchable-spans.es.js.map +1 -1
  842. package/dist/domains/traces.cjs.js +37 -13
  843. package/dist/domains/traces.cjs.js.map +1 -1
  844. package/dist/domains/traces.es.js +13 -7
  845. package/dist/domains/traces.es.js.map +1 -1
  846. package/dist/drawer-CEufBgtb.cjs +367 -0
  847. package/dist/drawer-CEufBgtb.cjs.map +1 -0
  848. package/dist/drawer-DgGxK4oq.js +327 -0
  849. package/dist/drawer-DgGxK4oq.js.map +1 -0
  850. package/dist/dropdown-menu-B3nTlFnz.js +222 -0
  851. package/dist/dropdown-menu-B3nTlFnz.js.map +1 -0
  852. package/dist/dropdown-menu-DfX8T0jb.cjs +243 -0
  853. package/dist/dropdown-menu-DfX8T0jb.cjs.map +1 -0
  854. package/dist/ee/signals/components/entity-index-compact-grid.cjs.js +3 -3
  855. package/dist/ee/signals/components/entity-index-compact-grid.es.js +3 -3
  856. package/dist/ee/signals/components/entity-index-list.cjs.js +4 -2
  857. package/dist/ee/signals/components/entity-index-list.cjs.js.map +1 -1
  858. package/dist/ee/signals/components/entity-index-list.es.js +4 -2
  859. package/dist/ee/signals/components/entity-index-list.es.js.map +1 -1
  860. package/dist/ee/signals/components/signals-empty-state.cjs.js +11 -7
  861. package/dist/ee/signals/components/signals-empty-state.cjs.js.map +1 -1
  862. package/dist/ee/signals/components/signals-empty-state.es.js +11 -7
  863. package/dist/ee/signals/components/signals-empty-state.es.js.map +1 -1
  864. package/dist/ee/signals/components/trace-intelligence-entity-detail.cjs.js +2 -2
  865. package/dist/ee/signals/components/trace-intelligence-entity-detail.es.js +2 -2
  866. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js +13 -11
  867. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js.map +1 -1
  868. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js +11 -9
  869. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js.map +1 -1
  870. package/dist/ee/signals/examples-pager.cjs.js +1 -1
  871. package/dist/ee/signals/examples-pager.es.js +1 -1
  872. package/dist/ee/signals/flow-card.cjs.js +2 -2
  873. package/dist/ee/signals/flow-card.es.js +2 -2
  874. package/dist/ee/signals/noise-detail-panel.cjs.js +1 -1
  875. package/dist/ee/signals/noise-detail-panel.es.js +1 -1
  876. package/dist/ee/signals/sankey-signals.cjs.js +1 -1
  877. package/dist/ee/signals/sankey-signals.es.js +1 -1
  878. package/dist/ee/signals/settings/signal-definition-form-dialog.cjs.js +8 -8
  879. package/dist/ee/signals/settings/signal-definition-form-dialog.cjs.js.map +1 -1
  880. package/dist/ee/signals/settings/signal-definition-form-dialog.es.js +8 -8
  881. package/dist/ee/signals/settings/signal-definition-form-dialog.es.js.map +1 -1
  882. package/dist/ee/signals/settings/trace-signal-settings.cjs.js +5 -5
  883. package/dist/ee/signals/settings/trace-signal-settings.es.js +5 -5
  884. package/dist/ee/signals/signal-delta-column.cjs.js +1 -1
  885. package/dist/ee/signals/signal-delta-column.es.js +1 -1
  886. package/dist/ee/signals/signal-lifelines.cjs.js +1 -1
  887. package/dist/ee/signals/signal-lifelines.es.js +1 -1
  888. package/dist/ee/signals/signals-error-state.cjs.js +1 -1
  889. package/dist/ee/signals/signals-error-state.es.js +1 -1
  890. package/dist/ee/signals/signals-loading-skeleton.cjs.js +1 -1
  891. package/dist/ee/signals/signals-loading-skeleton.es.js +1 -1
  892. package/dist/ee/signals/snapshot-timeline.cjs.js +1 -1
  893. package/dist/ee/signals/snapshot-timeline.es.js +1 -1
  894. package/dist/ee/signals/sortable-signal-headers.cjs.js +1 -1
  895. package/dist/ee/signals/sortable-signal-headers.es.js +1 -1
  896. package/dist/ee/signals/theme-detail-panel.cjs.js +2 -2
  897. package/dist/ee/signals/theme-detail-panel.es.js +2 -2
  898. package/dist/ee/signals/theme-filter-banner.cjs.js +1 -1
  899. package/dist/ee/signals/theme-filter-banner.es.js +1 -1
  900. package/dist/ee/signals/theme-trend-chart.cjs.js +1 -1
  901. package/dist/ee/signals/theme-trend-chart.es.js +1 -1
  902. package/dist/ee/signals/trace-insight-view.cjs.js +11 -2
  903. package/dist/ee/signals/trace-insight-view.cjs.js.map +1 -1
  904. package/dist/ee/signals/trace-insight-view.es.js +11 -2
  905. package/dist/ee/signals/trace-insight-view.es.js.map +1 -1
  906. package/dist/ee/signals/trace-intelligence-explainer.cjs.js +1 -1
  907. package/dist/ee/signals/trace-intelligence-explainer.es.js +1 -1
  908. package/dist/ee/signals/view-mode-tab.cjs.js +2 -2
  909. package/dist/ee/signals/view-mode-tab.es.js +2 -2
  910. package/dist/ee/topics/components/topic-trace-details-panel.cjs.js +1 -2
  911. package/dist/ee/topics/components/topic-trace-details-panel.cjs.js.map +1 -1
  912. package/dist/ee/topics/components/topic-trace-details-panel.es.js +1 -2
  913. package/dist/ee/topics/components/topic-trace-details-panel.es.js.map +1 -1
  914. package/dist/ee/topics/components/topic-trace-summary-list.cjs.js +3 -3
  915. package/dist/ee/topics/components/topic-trace-summary-list.es.js +3 -3
  916. package/dist/field-block-An2PO2_X.cjs +93 -0
  917. package/dist/field-block-An2PO2_X.cjs.map +1 -0
  918. package/dist/field-block-CQkD13nw.js +91 -0
  919. package/dist/field-block-CQkD13nw.js.map +1 -0
  920. package/dist/field-error-id-B3Z2Zu5y.cjs +6 -0
  921. package/dist/field-error-id-B3Z2Zu5y.cjs.map +1 -0
  922. package/dist/field-error-id-D3yg1nBh.js +4 -0
  923. package/dist/field-error-id-D3yg1nBh.js.map +1 -0
  924. package/dist/filter-bar-chip-BR7Xnpeo.cjs +868 -0
  925. package/dist/filter-bar-chip-BR7Xnpeo.cjs.map +1 -0
  926. package/dist/filter-bar-chip-DyITaBNj.js +853 -0
  927. package/dist/filter-bar-chip-DyITaBNj.js.map +1 -0
  928. package/dist/hooks/use-copy-to-clipboard.cjs.js +1 -1
  929. package/dist/hooks/use-copy-to-clipboard.es.js +1 -1
  930. package/dist/hooks/use-fluid-hover.cjs.js +297 -0
  931. package/dist/hooks/use-fluid-hover.cjs.js.map +1 -0
  932. package/dist/hooks/use-fluid-hover.d.ts +2 -0
  933. package/dist/hooks/use-fluid-hover.es.js +289 -0
  934. package/dist/hooks/use-fluid-hover.es.js.map +1 -0
  935. package/dist/hooks/use-local-storage-state.cjs.js +49 -0
  936. package/dist/hooks/use-local-storage-state.cjs.js.map +1 -1
  937. package/dist/hooks/use-local-storage-state.es.js +50 -2
  938. package/dist/hooks/use-local-storage-state.es.js.map +1 -1
  939. package/dist/horizontal-bars-D1992rbt.cjs +141 -0
  940. package/dist/horizontal-bars-D1992rbt.cjs.map +1 -0
  941. package/dist/horizontal-bars-lhqUch51.js +139 -0
  942. package/dist/horizontal-bars-lhqUch51.js.map +1 -0
  943. package/dist/hover-card-BSj1EgQs.cjs +91 -0
  944. package/dist/hover-card-BSj1EgQs.cjs.map +1 -0
  945. package/dist/hover-card-Cmh0QRP8.js +68 -0
  946. package/dist/hover-card-Cmh0QRP8.js.map +1 -0
  947. package/dist/icons/Icon.cjs.js +5 -4
  948. package/dist/icons/Icon.cjs.js.map +1 -1
  949. package/dist/icons/Icon.es.js +5 -4
  950. package/dist/icons/Icon.es.js.map +1 -1
  951. package/dist/index-Cp3ZQQze.js +45 -0
  952. package/dist/index-Cp3ZQQze.js.map +1 -0
  953. package/dist/index-gbqoNdVM.cjs +47 -0
  954. package/dist/index-gbqoNdVM.cjs.map +1 -0
  955. package/dist/input-XEcMP_LL.cjs +99 -0
  956. package/dist/input-XEcMP_LL.cjs.map +1 -0
  957. package/dist/input-group-D_1g2L_v.cjs +243 -0
  958. package/dist/input-group-D_1g2L_v.cjs.map +1 -0
  959. package/dist/input-group-rn0r72y5.js +217 -0
  960. package/dist/input-group-rn0r72y5.js.map +1 -0
  961. package/dist/input-kU7nI6V5.js +78 -0
  962. package/dist/input-kU7nI6V5.js.map +1 -0
  963. package/dist/kbd-DjjBBIZN.cjs +34 -0
  964. package/dist/kbd-DjjBBIZN.cjs.map +1 -0
  965. package/dist/kbd-H5Qu573u.js +32 -0
  966. package/dist/kbd-H5Qu573u.js.map +1 -0
  967. package/dist/label-DxQoIwES.cjs +34 -0
  968. package/dist/label-DxQoIwES.cjs.map +1 -0
  969. package/dist/label-NULyP-1Q.js +13 -0
  970. package/dist/label-NULyP-1Q.js.map +1 -0
  971. package/dist/layout/tabbed-container.cjs.js +10 -11
  972. package/dist/layout/tabbed-container.cjs.js.map +1 -1
  973. package/dist/layout/tabbed-container.es.js +9 -10
  974. package/dist/layout/tabbed-container.es.js.map +1 -1
  975. package/dist/lib/springs.cjs.js +32 -0
  976. package/dist/lib/springs.cjs.js.map +1 -0
  977. package/dist/lib/springs.d.ts +2 -0
  978. package/dist/lib/springs.es.js +27 -0
  979. package/dist/lib/springs.es.js.map +1 -0
  980. package/dist/list-search-Cg5Y90E8.js +71 -0
  981. package/dist/list-search-Cg5Y90E8.js.map +1 -0
  982. package/dist/list-search-DISXdbOP.cjs +73 -0
  983. package/dist/list-search-DISXdbOP.cjs.map +1 -0
  984. package/dist/logs-data-list-B1FY1A2A.cjs +82 -0
  985. package/dist/logs-data-list-B1FY1A2A.cjs.map +1 -0
  986. package/dist/logs-data-list-DZz_YVd2.js +80 -0
  987. package/dist/logs-data-list-DZz_YVd2.js.map +1 -0
  988. package/dist/main-sidebar-BxC9yo3t.cjs +900 -0
  989. package/dist/main-sidebar-BxC9yo3t.cjs.map +1 -0
  990. package/dist/main-sidebar-D9QEbGX4.js +882 -0
  991. package/dist/main-sidebar-D9QEbGX4.js.map +1 -0
  992. package/dist/markdown-renderer-CUQHtRlL.cjs +410 -0
  993. package/dist/markdown-renderer-CUQHtRlL.cjs.map +1 -0
  994. package/dist/markdown-renderer-SVeQ5Uo_.js +408 -0
  995. package/dist/markdown-renderer-SVeQ5Uo_.js.map +1 -0
  996. package/dist/message-B-28p4Zs.cjs +66 -0
  997. package/dist/message-B-28p4Zs.cjs.map +1 -0
  998. package/dist/message-DGZPjxsh.js +62 -0
  999. package/dist/message-DGZPjxsh.js.map +1 -0
  1000. package/dist/message-scroller-SYgTcpaD.cjs +857 -0
  1001. package/dist/message-scroller-SYgTcpaD.cjs.map +1 -0
  1002. package/dist/message-scroller-ViAipPK4.js +831 -0
  1003. package/dist/message-scroller-ViAipPK4.js.map +1 -0
  1004. package/dist/metrics-card-CM9jj-UN.cjs +95 -0
  1005. package/dist/metrics-card-CM9jj-UN.cjs.map +1 -0
  1006. package/dist/metrics-card-ClpFsCSt.js +93 -0
  1007. package/dist/metrics-card-ClpFsCSt.js.map +1 -0
  1008. package/dist/metrics-kpi-card-CoVZRI52.cjs +79 -0
  1009. package/dist/metrics-kpi-card-CoVZRI52.cjs.map +1 -0
  1010. package/dist/metrics-kpi-card-D-ct3JAY.js +77 -0
  1011. package/dist/metrics-kpi-card-D-ct3JAY.js.map +1 -0
  1012. package/dist/new/layout/app-shell.cjs.js +2 -12
  1013. package/dist/new/layout/app-shell.cjs.js.map +1 -1
  1014. package/dist/new/layout/app-shell.es.js +2 -12
  1015. package/dist/new/layout/app-shell.es.js.map +1 -1
  1016. package/dist/new/layout/page-header.cjs.js +1 -1
  1017. package/dist/new/layout/page-header.es.js +1 -1
  1018. package/dist/new/layout/page-shell.cjs.js +34 -0
  1019. package/dist/new/layout/page-shell.cjs.js.map +1 -0
  1020. package/dist/new/layout/page-shell.d.ts +2 -0
  1021. package/dist/new/layout/page-shell.es.js +30 -0
  1022. package/dist/new/layout/page-shell.es.js.map +1 -0
  1023. package/dist/new/settings.cjs.js +20 -10
  1024. package/dist/new/settings.cjs.js.map +1 -1
  1025. package/dist/new/settings.es.js +20 -10
  1026. package/dist/new/settings.es.js.map +1 -1
  1027. package/dist/new/sidebar.cjs.js +675 -0
  1028. package/dist/new/sidebar.cjs.js.map +1 -0
  1029. package/dist/new/sidebar.d.ts +2 -0
  1030. package/dist/new/sidebar.es.js +655 -0
  1031. package/dist/new/sidebar.es.js.map +1 -0
  1032. package/dist/new-theme.css +39 -0
  1033. package/dist/no-data-page-layout-COzOm-mS.js +9 -0
  1034. package/dist/no-data-page-layout-COzOm-mS.js.map +1 -0
  1035. package/dist/no-data-page-layout-yCjhZq99.cjs +11 -0
  1036. package/dist/no-data-page-layout-yCjhZq99.cjs.map +1 -0
  1037. package/dist/page-header-DyAd0Uof.cjs +125 -0
  1038. package/dist/page-header-DyAd0Uof.cjs.map +1 -0
  1039. package/dist/page-header-DymTqQgq.js +123 -0
  1040. package/dist/page-header-DymTqQgq.js.map +1 -0
  1041. package/dist/page-layout-B_JUSRkD.js +97 -0
  1042. package/dist/page-layout-B_JUSRkD.js.map +1 -0
  1043. package/dist/page-layout-DXFMbJi3.cjs +99 -0
  1044. package/dist/page-layout-DXFMbJi3.cjs.map +1 -0
  1045. package/dist/popover-CGB4qBAn.cjs +121 -0
  1046. package/dist/popover-CGB4qBAn.cjs.map +1 -0
  1047. package/dist/popover-lj-OpKKH.js +97 -0
  1048. package/dist/popover-lj-OpKKH.js.map +1 -0
  1049. package/dist/primitives/control-size.cjs.js +11 -3
  1050. package/dist/primitives/control-size.cjs.js.map +1 -1
  1051. package/dist/primitives/control-size.es.js +11 -4
  1052. package/dist/primitives/control-size.es.js.map +1 -1
  1053. package/dist/primitives/fluid-menu.cjs.js +120 -0
  1054. package/dist/primitives/fluid-menu.cjs.js.map +1 -0
  1055. package/dist/primitives/fluid-menu.d.ts +2 -0
  1056. package/dist/primitives/fluid-menu.es.js +95 -0
  1057. package/dist/primitives/fluid-menu.es.js.map +1 -0
  1058. package/dist/primitives/form-element.cjs.js +17 -7
  1059. package/dist/primitives/form-element.cjs.js.map +1 -1
  1060. package/dist/primitives/form-element.es.js +14 -8
  1061. package/dist/primitives/form-element.es.js.map +1 -1
  1062. package/dist/primitives/menu-item.cjs.js +16 -14
  1063. package/dist/primitives/menu-item.cjs.js.map +1 -1
  1064. package/dist/primitives/menu-item.es.js +16 -14
  1065. package/dist/primitives/menu-item.es.js.map +1 -1
  1066. package/dist/primitives/resize-handle-indicator.cjs.js +4 -4
  1067. package/dist/primitives/resize-handle-indicator.cjs.js.map +1 -1
  1068. package/dist/primitives/resize-handle-indicator.es.js +4 -4
  1069. package/dist/primitives/resize-handle-indicator.es.js.map +1 -1
  1070. package/dist/primitives/transitions.cjs.js +1 -1
  1071. package/dist/primitives/transitions.cjs.js.map +1 -1
  1072. package/dist/primitives/transitions.es.js +1 -1
  1073. package/dist/primitives/transitions.es.js.map +1 -1
  1074. package/dist/primitives/trigger-button.cjs.js +2 -2
  1075. package/dist/primitives/trigger-button.es.js +2 -2
  1076. package/dist/property-filter-applied-CZu-Jwsx.js +344 -0
  1077. package/dist/property-filter-applied-CZu-Jwsx.js.map +1 -0
  1078. package/dist/property-filter-applied-DZz8aSoU.cjs +348 -0
  1079. package/dist/property-filter-applied-DZz8aSoU.cjs.map +1 -0
  1080. package/dist/resize/collapsible-panel.cjs.js +3 -3
  1081. package/dist/resize/collapsible-panel.es.js +3 -3
  1082. package/dist/resize/panel-drawer.cjs.js +2 -2
  1083. package/dist/resize/panel-drawer.es.js +2 -2
  1084. package/dist/resize/panel-group.cjs.js +1 -1
  1085. package/dist/resize/panel-group.es.js +1 -1
  1086. package/dist/resize/panel-icon-button.cjs.js +1 -1
  1087. package/dist/resize/panel-icon-button.es.js +1 -1
  1088. package/dist/resize/separator.cjs.js +5 -3
  1089. package/dist/resize/separator.cjs.js.map +1 -1
  1090. package/dist/resize/separator.es.js +5 -3
  1091. package/dist/resize/separator.es.js.map +1 -1
  1092. package/dist/sankey-chart-GiDY0WBV.js +916 -0
  1093. package/dist/sankey-chart-GiDY0WBV.js.map +1 -0
  1094. package/dist/sankey-chart-QibH6Vg1.cjs +926 -0
  1095. package/dist/sankey-chart-QibH6Vg1.cjs.map +1 -0
  1096. package/dist/scroll-area-ByrWkkO_.js +223 -0
  1097. package/dist/scroll-area-ByrWkkO_.js.map +1 -0
  1098. package/dist/scroll-area-l6Yx-88I.cjs +245 -0
  1099. package/dist/scroll-area-l6Yx-88I.cjs.map +1 -0
  1100. package/dist/search-field-block-jfMFV7AD.cjs +125 -0
  1101. package/dist/search-field-block-jfMFV7AD.cjs.map +1 -0
  1102. package/dist/search-field-block-zF_99MJ5.js +123 -0
  1103. package/dist/search-field-block-zF_99MJ5.js.map +1 -0
  1104. package/dist/section-DOZSptHn.cjs +115 -0
  1105. package/dist/section-DOZSptHn.cjs.map +1 -0
  1106. package/dist/section-fFFmNxVc.js +111 -0
  1107. package/dist/section-fFFmNxVc.js.map +1 -0
  1108. package/dist/select-31jx2l9F.cjs +164 -0
  1109. package/dist/select-31jx2l9F.cjs.map +1 -0
  1110. package/dist/select-bphXR9c4.js +138 -0
  1111. package/dist/select-bphXR9c4.js.map +1 -0
  1112. package/dist/select-field-block-BAZKc6ck.cjs +59 -0
  1113. package/dist/select-field-block-BAZKc6ck.cjs.map +1 -0
  1114. package/dist/select-field-block-BEs3cCRJ.js +57 -0
  1115. package/dist/select-field-block-BEs3cCRJ.js.map +1 -0
  1116. package/dist/settings-container-B5YhEzjS.js +27 -0
  1117. package/dist/settings-container-B5YhEzjS.js.map +1 -0
  1118. package/dist/settings-container-Dxb59YvM.cjs +30 -0
  1119. package/dist/settings-container-Dxb59YvM.cjs.map +1 -0
  1120. package/dist/settings-layout-CTnDZ_fr.js +55 -0
  1121. package/dist/settings-layout-CTnDZ_fr.js.map +1 -0
  1122. package/dist/settings-layout-DRrl-EBq.cjs +57 -0
  1123. package/dist/settings-layout-DRrl-EBq.cjs.map +1 -0
  1124. package/dist/settings-row-Dsu9uRdl.cjs +88 -0
  1125. package/dist/settings-row-Dsu9uRdl.cjs.map +1 -0
  1126. package/dist/settings-row-PB5zne3m.js +85 -0
  1127. package/dist/settings-row-PB5zne3m.js.map +1 -0
  1128. package/dist/shimmer-CmCazK2A.cjs +25 -0
  1129. package/dist/shimmer-CmCazK2A.cjs.map +1 -0
  1130. package/dist/shimmer-rej-NkeN.js +23 -0
  1131. package/dist/shimmer-rej-NkeN.js.map +1 -0
  1132. package/dist/skeleton-BpMg6F4M.js +23 -0
  1133. package/dist/skeleton-BpMg6F4M.js.map +1 -0
  1134. package/dist/skeleton-gdUQjWPU.cjs +25 -0
  1135. package/dist/skeleton-gdUQjWPU.cjs.map +1 -0
  1136. package/dist/slider-DXQNsGXe.js +95 -0
  1137. package/dist/slider-DXQNsGXe.js.map +1 -0
  1138. package/dist/slider-Kco52AqT.cjs +97 -0
  1139. package/dist/slider-Kco52AqT.cjs.map +1 -0
  1140. package/dist/spacings-C8KU7k6E.cjs +182 -0
  1141. package/dist/spacings-C8KU7k6E.cjs.map +1 -0
  1142. package/dist/spacings-Doib6y6Q.js +174 -0
  1143. package/dist/spacings-Doib6y6Q.js.map +1 -0
  1144. package/dist/span-payload-primitives-DknOcv6v.cjs +75 -0
  1145. package/dist/span-payload-primitives-DknOcv6v.cjs.map +1 -0
  1146. package/dist/span-payload-primitives-_TUMqise.js +68 -0
  1147. package/dist/span-payload-primitives-_TUMqise.js.map +1 -0
  1148. package/dist/spinner-SvnJqdcS.js +51 -0
  1149. package/dist/spinner-SvnJqdcS.js.map +1 -0
  1150. package/dist/spinner-cX-ypfV2.cjs +53 -0
  1151. package/dist/spinner-cX-ypfV2.cjs.map +1 -0
  1152. package/dist/src/components/fluid-hover-highlight.d.ts +60 -0
  1153. package/dist/src/domains/chat/attachments/attachment-preview-dialog.d.ts +2 -10
  1154. package/dist/src/domains/chat/attachments/composer-attachment-list.d.ts +3 -0
  1155. package/dist/src/domains/chat/attachments/composer-attachment.d.ts +8 -0
  1156. package/dist/src/domains/chat/messages/notification-signal-notice-variant.d.ts +1 -2
  1157. package/dist/src/domains/chat/messages/reasoning-content.d.ts +3 -0
  1158. package/dist/src/domains/chat/messages/reasoning-streaming-line.d.ts +0 -5
  1159. package/dist/src/domains/chat/messages/reasoning.d.ts +2 -1
  1160. package/dist/src/domains/chat/messages/renderers/assistant-text-part-renderer.d.ts +1 -1
  1161. package/dist/src/domains/chat/messages/renderers/data-part-renderer.d.ts +1 -1
  1162. package/dist/src/domains/chat/messages/renderers/in-message-attachment.d.ts +0 -5
  1163. package/dist/src/domains/chat/messages/renderers/reasoning-part-renderer.d.ts +2 -14
  1164. package/dist/src/domains/chat/messages/renderers/status-renderers.d.ts +1 -1
  1165. package/dist/src/domains/chat/messages/renderers/tool-part.d.ts +3 -1
  1166. package/dist/src/domains/chat/messages/renderers/user-file-part-renderer.d.ts +1 -8
  1167. package/dist/src/domains/chat/messages/renderers/user-text-part-renderer.d.ts +1 -1
  1168. package/dist/src/domains/chat/stories/attachments.stories.d.ts +1 -0
  1169. package/dist/src/domains/chat/stories/composer-attachments.stories.d.ts +18 -0
  1170. package/dist/src/domains/chat/stories/reasoning.stories.d.ts +2 -1
  1171. package/dist/src/domains/chat/tools/tool-groups.d.ts +1 -1
  1172. package/dist/src/domains/logs/hooks/use-logs.d.ts +2 -1
  1173. package/dist/src/domains/logs/log-filters.d.ts +2 -1
  1174. package/dist/src/domains/metrics/hooks/use-active-resources-kpi-metrics.d.ts +6 -6
  1175. package/dist/src/domains/metrics/hooks/use-active-threads-kpi-metrics.d.ts +6 -6
  1176. package/dist/src/domains/metrics/hooks/use-agent-runs-kpi-metrics.d.ts +6 -6
  1177. package/dist/src/domains/traces/components/index.d.ts +3 -5
  1178. package/dist/src/domains/traces/components/span-data-panel-view.d.ts +2 -3
  1179. package/dist/src/domains/traces/components/span-details-view.d.ts +1 -1
  1180. package/dist/src/domains/traces/components/span-payload/index.d.ts +7 -0
  1181. package/dist/src/domains/traces/components/span-payload/span-error-renderer.d.ts +7 -0
  1182. package/dist/src/domains/traces/components/span-payload/span-input-renderers.d.ts +6 -0
  1183. package/dist/src/domains/traces/components/span-payload/span-output-renderers.d.ts +6 -0
  1184. package/dist/src/domains/traces/components/span-payload/span-payload-attachment.d.ts +3 -0
  1185. package/dist/src/domains/traces/components/span-payload/span-payload-json.d.ts +6 -0
  1186. package/dist/src/domains/traces/components/span-payload/span-payload-messages.d.ts +6 -0
  1187. package/dist/src/domains/traces/components/span-payload/span-payload-primitives.d.ts +22 -0
  1188. package/dist/src/domains/traces/components/span-payload/span-payload-registry.d.ts +31 -0
  1189. package/dist/src/domains/traces/components/span-payload/span-payload-section.d.ts +24 -0
  1190. package/dist/src/domains/traces/components/span-payload/span-payload-tool.d.ts +4 -0
  1191. package/dist/src/domains/traces/components/span-payload/span-payload.stories.d.ts +23 -0
  1192. package/dist/src/domains/traces/components/span-rows.d.ts +0 -8
  1193. package/dist/src/domains/traces/components/span-summary-description.d.ts +1 -2
  1194. package/dist/src/domains/traces/components/span-timeline-row.d.ts +10 -0
  1195. package/dist/src/domains/traces/components/span-tree-row.d.ts +5 -3
  1196. package/dist/src/domains/traces/components/span-type-legend.d.ts +4 -2
  1197. package/dist/src/domains/traces/components/thread-trace/index.d.ts +23 -17
  1198. package/dist/src/domains/traces/components/thread-trace/thread-trace-context.d.ts +1 -1
  1199. package/dist/src/domains/traces/components/thread-trace/thread-trace-details.d.ts +7 -18
  1200. package/dist/src/domains/traces/components/thread-trace/thread-trace-messages.d.ts +24 -2
  1201. package/dist/src/domains/traces/components/thread-trace/thread-trace-root.d.ts +4 -1
  1202. package/dist/src/domains/traces/components/thread-trace/thread-trace-row-context.d.ts +2 -3
  1203. package/dist/src/domains/traces/components/thread-trace/thread-trace-row.d.ts +2 -4
  1204. package/dist/src/domains/traces/components/thread-trace/thread-trace-span-panel.d.ts +5 -2
  1205. package/dist/src/domains/traces/components/thread-trace/thread-trace-spans.d.ts +12 -0
  1206. package/dist/src/domains/traces/components/timeline-name-col.d.ts +6 -1
  1207. package/dist/src/domains/traces/components/trace-data-panel-view.d.ts +24 -13
  1208. package/dist/src/domains/traces/components/trace-details-view.d.ts +1 -1
  1209. package/dist/src/domains/traces/components/trace-span-timeline.d.ts +6 -5
  1210. package/dist/src/domains/traces/components/trace-span-tree-skeleton.d.ts +11 -0
  1211. package/dist/src/domains/traces/components/trace-span-tree.d.ts +2 -2
  1212. package/dist/src/domains/traces/components/trace-summary-description.d.ts +1 -2
  1213. package/dist/src/domains/traces/components/trace-time-range-chip.d.ts +17 -0
  1214. package/dist/src/domains/traces/components/traces-list-view-adapter.d.ts +3 -0
  1215. package/dist/src/domains/traces/components/traces-page-skeleton.d.ts +9 -0
  1216. package/dist/src/domains/traces/hooks/index.d.ts +2 -0
  1217. package/dist/src/domains/traces/hooks/use-span-detail.d.ts +4 -7
  1218. package/dist/src/domains/traces/hooks/use-trace-metadata-filter-fields.d.ts +25 -0
  1219. package/dist/src/domains/traces/hooks/use-trace-query.d.ts +38 -0
  1220. package/dist/src/domains/traces/hooks/use-trace-span-navigation.d.ts +1 -1
  1221. package/dist/src/domains/traces/hooks/use-trace-spans.d.ts +188 -150
  1222. package/dist/src/domains/traces/hooks/use-trace-url-state.d.ts +7 -0
  1223. package/dist/src/domains/traces/hooks/use-traces.d.ts +7 -1
  1224. package/dist/src/domains/traces/index.d.ts +1 -0
  1225. package/dist/src/domains/traces/trace-filters.d.ts +32 -17
  1226. package/dist/src/domains/traces/trace-query-filters.d.ts +17 -0
  1227. package/dist/src/domains/traces/types.d.ts +6 -1
  1228. package/dist/src/domains/traces/utils/filter-spans-keeping-ancestors.d.ts +1 -1
  1229. package/dist/src/domains/traces/utils/span-utils.d.ts +1 -1
  1230. package/dist/src/domains/traces/utils/to-searchable-spans.d.ts +4 -3
  1231. package/dist/src/ds/components/Activity/activity.d.ts +10 -0
  1232. package/dist/src/ds/components/Activity/activity.stories.d.ts +20 -0
  1233. package/dist/src/ds/components/Activity/index.d.ts +1 -0
  1234. package/dist/src/ds/components/Button/Button.d.ts +12 -7
  1235. package/dist/src/ds/components/Button/CreateButton.d.ts +1 -1
  1236. package/dist/src/ds/components/Collapsible/collapsible.d.ts +2 -0
  1237. package/dist/src/ds/components/Collapsible/collapsible.stories.d.ts +1 -0
  1238. package/dist/src/ds/components/Combobox/combobox-styles.d.ts +10 -8
  1239. package/dist/src/ds/components/Composer/composer.d.ts +8 -7
  1240. package/dist/src/ds/components/Composer/composer.stories.d.ts +7 -1
  1241. package/dist/src/ds/components/Composer/index.d.ts +2 -2
  1242. package/dist/src/ds/components/Composer/use-composer-pointer.d.ts +9 -0
  1243. package/dist/src/ds/components/DataCodeSection/data-code-section.d.ts +3 -1
  1244. package/dist/src/ds/components/DataDetailsPanel/data-details-panel-code-section.d.ts +3 -1
  1245. package/dist/src/ds/components/DataPanel/data-panel-close-button.d.ts +10 -1
  1246. package/dist/src/ds/components/DataPanel/data-panel-content.d.ts +3 -1
  1247. package/dist/src/ds/components/DataPanel/data-panel-copy-id.d.ts +9 -0
  1248. package/dist/src/ds/components/DataPanel/data-panel-header-actions.d.ts +8 -0
  1249. package/dist/src/ds/components/DataPanel/data-panel-header-content.d.ts +8 -0
  1250. package/dist/src/ds/components/DataPanel/data-panel-metadata.d.ts +18 -0
  1251. package/dist/src/ds/components/DataPanel/data-panel-next-prev-nav.d.ts +4 -1
  1252. package/dist/src/ds/components/DataPanel/data-panel-root.d.ts +24 -2
  1253. package/dist/src/ds/components/DataPanel/data-panel.d.ts +9 -0
  1254. package/dist/src/ds/components/DataPanel/data-panel.stories.d.ts +4 -1
  1255. package/dist/src/ds/components/DataPanel/index.d.ts +4 -0
  1256. package/dist/src/ds/components/DateTimeRangePicker/date-time-range-picker.d.ts +15 -1
  1257. package/dist/src/ds/components/FilterBar/default-operators.d.ts +3 -0
  1258. package/dist/src/ds/components/FilterBar/filter-bar-chip.d.ts +35 -0
  1259. package/dist/src/ds/components/FilterBar/filter-bar-clear.d.ts +4 -0
  1260. package/dist/src/ds/components/FilterBar/filter-bar-context.d.ts +46 -0
  1261. package/dist/src/ds/components/FilterBar/filter-bar-draft-chip.d.ts +11 -0
  1262. package/dist/src/ds/components/FilterBar/filter-bar-input.d.ts +10 -0
  1263. package/dist/src/ds/components/FilterBar/filter-bar-option-list.d.ts +18 -0
  1264. package/dist/src/ds/components/FilterBar/filter-bar.d.ts +34 -0
  1265. package/dist/src/ds/components/FilterBar/filter-bar.stories.d.ts +10 -0
  1266. package/dist/src/ds/components/FilterBar/index.d.ts +8 -0
  1267. package/dist/src/ds/components/FilterBar/match-query.d.ts +4 -0
  1268. package/dist/src/ds/components/FilterBar/types.d.ts +59 -0
  1269. package/dist/src/ds/components/FilterBar/use-value-step.d.ts +33 -0
  1270. package/dist/src/ds/components/FilterBar/use-value-suggestions.d.ts +23 -0
  1271. package/dist/src/ds/components/FormFieldBlocks/block/field-block-error-msg.d.ts +8 -1
  1272. package/dist/src/ds/components/FormFieldBlocks/block/field-error-id.d.ts +6 -0
  1273. package/dist/src/ds/components/FormFieldBlocks/fields/search-field-block.d.ts +1 -1
  1274. package/dist/src/ds/components/FormFieldBlocks/fields/text-field-block.d.ts +1 -1
  1275. package/dist/src/ds/components/FormFieldBlocks/index.d.ts +1 -0
  1276. package/dist/src/ds/components/Input/input.d.ts +10 -5
  1277. package/dist/src/ds/components/Input/input.stories.d.ts +0 -1
  1278. package/dist/src/ds/components/InputGroup/input-group.d.ts +10 -5
  1279. package/dist/src/ds/components/MainSidebar/main-sidebar-context.d.ts +5 -1
  1280. package/dist/src/ds/components/MainSidebar/main-sidebar-mobile-trigger.d.ts +0 -1
  1281. package/dist/src/ds/components/MainSidebar/main-sidebar-nav-header.d.ts +0 -1
  1282. package/dist/src/ds/components/MainSidebar/main-sidebar-nav-item-classes.d.ts +0 -11
  1283. package/dist/src/ds/components/MainSidebar/main-sidebar-nav-link.d.ts +0 -6
  1284. package/dist/src/ds/components/MainSidebar/main-sidebar-root.d.ts +2 -1
  1285. package/dist/src/ds/components/Message/index.d.ts +4 -0
  1286. package/dist/src/ds/components/Message/message-copy-button.d.ts +3 -0
  1287. package/dist/src/ds/components/Message/message-timestamp.d.ts +3 -0
  1288. package/dist/src/ds/components/Message/message.d.ts +13 -0
  1289. package/dist/src/ds/components/Message/message.stories.d.ts +10 -0
  1290. package/dist/src/ds/components/PullRequestIcon/index.d.ts +2 -0
  1291. package/dist/src/ds/components/PullRequestIcon/pull-request-icon.d.ts +25 -0
  1292. package/dist/src/ds/components/PullRequestIcon/pull-request-icon.stories.d.ts +24 -0
  1293. package/dist/src/ds/components/Select/select.d.ts +6 -5
  1294. package/dist/src/ds/components/Select/select.stories.d.ts +2 -2
  1295. package/dist/src/ds/components/Slider/slider.d.ts +2 -2
  1296. package/dist/src/ds/components/Slider/slider.stories.d.ts +1 -0
  1297. package/dist/src/ds/components/StatusIndicators/index.d.ts +3 -0
  1298. package/dist/src/ds/components/StatusIndicators/status-dot-styles.d.ts +11 -0
  1299. package/dist/src/ds/components/StatusIndicators/status-dot.d.ts +8 -0
  1300. package/dist/src/ds/components/StatusIndicators/status-dot.stories.d.ts +9 -0
  1301. package/dist/src/ds/components/StatusIndicators/status.d.ts +7 -0
  1302. package/dist/src/ds/components/StatusIndicators/status.stories.d.ts +7 -0
  1303. package/dist/src/ds/components/Tabs/index.d.ts +1 -1
  1304. package/dist/src/ds/components/Tabs/tabs-context.d.ts +1 -0
  1305. package/dist/src/ds/components/Tabs/tabs-list.d.ts +4 -1
  1306. package/dist/src/ds/components/Textarea/textarea.d.ts +10 -5
  1307. package/dist/src/ds/components/ThreadList/thread-list.d.ts +3 -4
  1308. package/dist/src/ds/components/Workflow/cards/condition/workflow-condition-card-view.d.ts +2 -0
  1309. package/dist/src/ds/components/Workflow/cards/condition/workflow-condition-card.d.ts +3 -0
  1310. package/dist/src/ds/components/Workflow/cards/condition/workflow-condition-expression.d.ts +2 -0
  1311. package/dist/src/ds/components/Workflow/cards/condition/workflow-condition-source.d.ts +3 -0
  1312. package/dist/src/ds/components/Workflow/cards/step/workflow-step-card-view.d.ts +2 -0
  1313. package/dist/src/ds/components/Workflow/cards/timing/workflow-time-dial.d.ts +8 -0
  1314. package/dist/src/ds/components/Workflow/cards/timing/workflow-timing.d.ts +2 -0
  1315. package/dist/src/ds/components/Workflow/cards/workflow-card-badge-utils.d.ts +0 -1
  1316. package/dist/src/ds/components/Workflow/cards/workflow-card-kind.d.ts +10 -0
  1317. package/dist/src/ds/components/Workflow/cards/workflow-clock.d.ts +2 -1
  1318. package/dist/src/ds/components/Workflow/cards/workflow-type-badge.d.ts +2 -0
  1319. package/dist/src/ds/components/Workflow/controls/workflow-debug-controls.d.ts +5 -1
  1320. package/dist/src/ds/components/Workflow/data/workflow-edge-data-button.d.ts +4 -1
  1321. package/dist/src/ds/components/Workflow/graph/types.d.ts +1 -0
  1322. package/dist/src/ds/components/Workflow/graph/workflow-camera-duration.d.ts +1 -0
  1323. package/dist/src/ds/components/Workflow/graph/workflow-data-edge-view.d.ts +3 -1
  1324. package/dist/src/ds/components/Workflow/graph/workflow-graph-canvas.d.ts +5 -2
  1325. package/dist/src/ds/components/Workflow/graph/workflow-graph-groups.d.ts +11 -0
  1326. package/dist/src/ds/components/Workflow/graph/zoom-slider.d.ts +4 -1
  1327. package/dist/src/ds/components/Workflow/index.d.ts +5 -6
  1328. package/dist/src/ds/components/Workflow/stories/graph/graph-example.d.ts +4 -2
  1329. package/dist/src/ds/components/Workflow/stories/workflow-condition-card.stories.d.ts +4 -2
  1330. package/dist/src/ds/components/Workflow/stories/workflow-controls.stories.d.ts +5 -0
  1331. package/dist/src/ds/components/Workflow/stories/workflow-data.stories.d.ts +2 -1
  1332. package/dist/src/ds/components/Workflow/stories/workflow-graph.stories.d.ts +4 -1
  1333. package/dist/src/ds/components/Workflow/stories/workflow-step-card.stories.d.ts +7 -1
  1334. package/dist/src/ds/components/Workflow/types.d.ts +5 -11
  1335. package/dist/src/ds/components/Workflow/workflow-canvas-inset.d.ts +3 -0
  1336. package/dist/src/ds/components/ai/chat-event/chat-event-preview.d.ts +1 -0
  1337. package/dist/src/ds/components/ai/chat-event/chat-event.d.ts +14 -0
  1338. package/dist/src/ds/components/ai/chat-event/chat-notification.d.ts +17 -0
  1339. package/dist/src/ds/components/ai/chat-event/chat-signal.d.ts +9 -0
  1340. package/dist/src/ds/components/ai/chat-event/chat-skill.d.ts +7 -0
  1341. package/dist/src/ds/components/ai/chat-event/chat-time-gap.d.ts +3 -0
  1342. package/dist/src/ds/components/ai/chat-event/index.d.ts +7 -0
  1343. package/dist/src/ds/components/ai/chat-event/notification-variant.d.ts +2 -0
  1344. package/dist/src/ds/components/ai/chat-event/stories/notification.stories.d.ts +59 -0
  1345. package/dist/src/ds/components/ai/chat-event/stories/signal.stories.d.ts +46 -0
  1346. package/dist/src/ds/components/ai/chat-event/stories/skill.stories.d.ts +29 -0
  1347. package/dist/src/ds/components/ai/chat-event/stories/time-gap.stories.d.ts +16 -0
  1348. package/dist/src/ds/components/ai/tool-approval/index.d.ts +2 -0
  1349. package/dist/src/ds/components/ai/tool-approval/tool-approval-actions.stories.d.ts +44 -0
  1350. package/dist/src/ds/components/ai/tool-approval/tool-approval.d.ts +15 -0
  1351. package/dist/src/ds/components/ai/tool-approval/tool-approval.stories.d.ts +61 -0
  1352. package/dist/src/ds/components/ai/tool-call/index.d.ts +3 -0
  1353. package/dist/src/ds/components/ai/tool-call/tool-call-arguments.d.ts +8 -0
  1354. package/dist/src/ds/components/ai/tool-call/tool-call-output.d.ts +7 -0
  1355. package/dist/src/ds/components/ai/tool-call/tool-call-presentation.stories.d.ts +74 -0
  1356. package/dist/src/ds/components/ai/tool-call/tool-call-time.d.ts +3 -0
  1357. package/dist/src/ds/icons/Icon.d.ts +1 -1
  1358. package/dist/src/ds/new/layout/page-header/page-header.stories.d.ts +1 -0
  1359. package/dist/src/ds/new/layout/page-shell/index.d.ts +1 -0
  1360. package/dist/src/ds/new/layout/page-shell/page-shell.d.ts +24 -0
  1361. package/dist/src/ds/new/layout/page-shell/page-shell.stories.d.ts +63 -0
  1362. package/dist/src/ds/new/sidebar/index.d.ts +15 -0
  1363. package/dist/src/ds/new/sidebar/sidebar-new-brand.d.ts +6 -0
  1364. package/dist/src/ds/new/sidebar/sidebar-new-command-header.d.ts +3 -0
  1365. package/dist/src/ds/new/sidebar/sidebar-new-footer-meta.d.ts +7 -0
  1366. package/dist/src/ds/new/sidebar/sidebar-new-footer.d.ts +3 -0
  1367. package/dist/src/ds/new/sidebar/sidebar-new-header.d.ts +3 -0
  1368. package/dist/src/ds/new/sidebar/sidebar-new-meter.d.ts +24 -0
  1369. package/dist/src/ds/new/sidebar/sidebar-new-more-links.d.ts +10 -0
  1370. package/dist/src/ds/new/sidebar/sidebar-new-nav-header.d.ts +11 -0
  1371. package/dist/src/ds/new/sidebar/sidebar-new-nav-stack-context.d.ts +8 -0
  1372. package/dist/src/ds/new/sidebar/sidebar-new-nav-stack-page-classes.d.ts +1 -0
  1373. package/dist/src/ds/new/sidebar/sidebar-new-nav-stack-root-view.d.ts +3 -0
  1374. package/dist/src/ds/new/sidebar/sidebar-new-nav-stack-root.d.ts +7 -0
  1375. package/dist/src/ds/new/sidebar/sidebar-new-nav-stack-view.d.ts +9 -0
  1376. package/dist/src/ds/new/sidebar/sidebar-new-nav-stack.d.ts +10 -0
  1377. package/dist/src/ds/new/sidebar/sidebar-new-nav.d.ts +3 -0
  1378. package/dist/src/ds/new/sidebar/sidebar-new-root.d.ts +5 -0
  1379. package/dist/src/ds/new/sidebar/sidebar-new-search-trigger.d.ts +7 -0
  1380. package/dist/src/ds/new/sidebar/sidebar-new-section-link.d.ts +9 -0
  1381. package/dist/src/ds/new/sidebar/sidebar-new-sections.d.ts +12 -0
  1382. package/dist/src/ds/new/sidebar/sidebar-new-trigger.d.ts +3 -0
  1383. package/dist/src/ds/new/sidebar/sidebar-new.d.ts +43 -0
  1384. package/dist/src/ds/new/sidebar/sidebar-new.stories.d.ts +8 -0
  1385. package/dist/src/ds/primitives/control-size.d.ts +2 -1
  1386. package/dist/src/ds/primitives/fluid-menu.d.ts +61 -0
  1387. package/dist/src/ds/primitives/form-element.d.ts +11 -6
  1388. package/dist/src/ds/primitives/menu-item.d.ts +4 -4
  1389. package/dist/src/ds/primitives/transitions.d.ts +1 -1
  1390. package/dist/src/ds/tokens/color-foundations.stories.d.ts +5 -0
  1391. package/dist/src/ds/tokens/colors.d.ts +14 -0
  1392. package/dist/src/ds/tokens/tokens.stories.d.ts +2 -0
  1393. package/dist/src/ds/tokens/typography-foundations.stories.d.ts +5 -0
  1394. package/dist/src/hooks/use-fluid-hover.d.ts +137 -0
  1395. package/dist/src/hooks/use-local-storage-state.d.ts +16 -0
  1396. package/dist/src/lib/colors.d.ts +4 -0
  1397. package/dist/src/lib/resize/separator.d.ts +3 -3
  1398. package/dist/src/lib/springs.d.ts +31 -0
  1399. package/dist/style.css +2272 -525
  1400. package/dist/switch-CkEdGkeB.cjs +125 -0
  1401. package/dist/switch-CkEdGkeB.cjs.map +1 -0
  1402. package/dist/switch-CkHq0TIf.js +104 -0
  1403. package/dist/switch-CkHq0TIf.js.map +1 -0
  1404. package/dist/tabs-content-CRKte85r.cjs +37 -0
  1405. package/dist/tabs-content-CRKte85r.cjs.map +1 -0
  1406. package/dist/tabs-content-Drm6Y6Ul.js +35 -0
  1407. package/dist/tabs-content-Drm6Y6Ul.js.map +1 -0
  1408. package/dist/tabs-root-DcnvZuD4.cjs +328 -0
  1409. package/dist/tabs-root-DcnvZuD4.cjs.map +1 -0
  1410. package/dist/tabs-root-yY2eNDS2.js +325 -0
  1411. package/dist/tabs-root-yY2eNDS2.js.map +1 -0
  1412. package/dist/tabs-root.css +5 -0
  1413. package/dist/tabs-tab-CgMaandp.js +103 -0
  1414. package/dist/tabs-tab-CgMaandp.js.map +1 -0
  1415. package/dist/tabs-tab-tRgFBx85.cjs +107 -0
  1416. package/dist/tabs-tab-tRgFBx85.cjs.map +1 -0
  1417. package/dist/text-field-block-aRttm8yP.js +55 -0
  1418. package/dist/text-field-block-aRttm8yP.js.map +1 -0
  1419. package/dist/text-field-block-hN70Jj6a.cjs +57 -0
  1420. package/dist/text-field-block-hN70Jj6a.cjs.map +1 -0
  1421. package/dist/textarea-BmR73nqC.js +70 -0
  1422. package/dist/textarea-BmR73nqC.js.map +1 -0
  1423. package/dist/textarea-C7vLvn3E.cjs +91 -0
  1424. package/dist/textarea-C7vLvn3E.cjs.map +1 -0
  1425. package/dist/thread-rail-BvhuZLav.cjs +334 -0
  1426. package/dist/thread-rail-BvhuZLav.cjs.map +1 -0
  1427. package/dist/thread-rail-CPAHjoV1.js +313 -0
  1428. package/dist/thread-rail-CPAHjoV1.js.map +1 -0
  1429. package/dist/time-picker-BlY3xqrQ.cjs +78 -0
  1430. package/dist/time-picker-BlY3xqrQ.cjs.map +1 -0
  1431. package/dist/time-picker-Dce_kGwY.js +76 -0
  1432. package/dist/time-picker-Dce_kGwY.js.map +1 -0
  1433. package/dist/toast-CTMSqE4M.js +52 -0
  1434. package/dist/toast-CTMSqE4M.js.map +1 -0
  1435. package/dist/toast-CwH7p9gV.cjs +55 -0
  1436. package/dist/toast-CwH7p9gV.cjs.map +1 -0
  1437. package/dist/tokens.cjs.js +1 -1
  1438. package/dist/tokens.es.js +1 -1
  1439. package/dist/tool-approval-BMPAEwt_.js +66 -0
  1440. package/dist/tool-approval-BMPAEwt_.js.map +1 -0
  1441. package/dist/tool-approval-CYO2CYZz.cjs +69 -0
  1442. package/dist/tool-approval-CYO2CYZz.cjs.map +1 -0
  1443. package/dist/tool-call-98H2-r5p.js +181 -0
  1444. package/dist/tool-call-98H2-r5p.js.map +1 -0
  1445. package/dist/tool-call-CAzilpXy.cjs +196 -0
  1446. package/dist/tool-call-CAzilpXy.cjs.map +1 -0
  1447. package/dist/tooltip-QuS0KEbc.js +113 -0
  1448. package/dist/tooltip-QuS0KEbc.js.map +1 -0
  1449. package/dist/tooltip-_cda-a7s.cjs +137 -0
  1450. package/dist/tooltip-_cda-a7s.cjs.map +1 -0
  1451. package/dist/traces-data-list-Bl1BUIiq.js +85 -0
  1452. package/dist/traces-data-list-Bl1BUIiq.js.map +1 -0
  1453. package/dist/traces-data-list-CmBQDfnG.cjs +87 -0
  1454. package/dist/traces-data-list-CmBQDfnG.cjs.map +1 -0
  1455. package/dist/utils/cn.cjs.js +1 -1
  1456. package/dist/utils/cn.es.js +1 -1
  1457. package/dist/utils/colors.cjs.js +7 -0
  1458. package/dist/utils/colors.cjs.js.map +1 -1
  1459. package/dist/utils/colors.es.js +6 -1
  1460. package/dist/utils/colors.es.js.map +1 -1
  1461. package/dist/utils/toast.cjs.js +1 -1
  1462. package/dist/utils/toast.es.js +1 -1
  1463. package/new-theme.css +39 -0
  1464. package/package.json +30 -11
  1465. package/theme.css +78 -1
  1466. package/dist/Badge-B-LKnrNk.cjs +0 -125
  1467. package/dist/Badge-B-LKnrNk.cjs.map +0 -1
  1468. package/dist/Badge-BqVBVHGc.js +0 -123
  1469. package/dist/Badge-BqVBVHGc.js.map +0 -1
  1470. package/dist/Button-BJOVwaxp.cjs +0 -137
  1471. package/dist/Button-BJOVwaxp.cjs.map +0 -1
  1472. package/dist/Button-BVGwYwHT.js +0 -133
  1473. package/dist/Button-BVGwYwHT.js.map +0 -1
  1474. package/dist/Card-DYmiv8Dx.js +0 -96
  1475. package/dist/Card-DYmiv8Dx.js.map +0 -1
  1476. package/dist/Card-DZjvLsN9.cjs +0 -123
  1477. package/dist/Card-DZjvLsN9.cjs.map +0 -1
  1478. package/dist/Composer.css +0 -102
  1479. package/dist/EmptyState--bOUm8JU.cjs +0 -33
  1480. package/dist/EmptyState--bOUm8JU.cjs.map +0 -1
  1481. package/dist/EmptyState-CLoSRKxC.js +0 -31
  1482. package/dist/EmptyState-CLoSRKxC.js.map +0 -1
  1483. package/dist/Notice-CMZ86f1g.js +0 -89
  1484. package/dist/Notice-CMZ86f1g.js.map +0 -1
  1485. package/dist/Notice-D0Mvqvr0.cjs +0 -91
  1486. package/dist/Notice-D0Mvqvr0.cjs.map +0 -1
  1487. package/dist/PermissionDenied-BmAbJ1Xn.js +0 -22
  1488. package/dist/PermissionDenied-BmAbJ1Xn.js.map +0 -1
  1489. package/dist/PermissionDenied-Dge5a7OX.cjs +0 -24
  1490. package/dist/PermissionDenied-Dge5a7OX.cjs.map +0 -1
  1491. package/dist/SessionExpired-CAOgb-6E.cjs +0 -47
  1492. package/dist/SessionExpired-CAOgb-6E.cjs.map +0 -1
  1493. package/dist/SessionExpired-DSPFseGA.js +0 -45
  1494. package/dist/SessionExpired-DSPFseGA.js.map +0 -1
  1495. package/dist/Txt-CfPhlZOu.js +0 -28
  1496. package/dist/Txt-CfPhlZOu.js.map +0 -1
  1497. package/dist/Txt-i-sXSs2m.cjs +0 -30
  1498. package/dist/Txt-i-sXSs2m.cjs.map +0 -1
  1499. package/dist/arrival-Cf8ZO8cU.js +0 -19
  1500. package/dist/arrival-Cf8ZO8cU.js.map +0 -1
  1501. package/dist/arrival-Ck5yjMkc.cjs +0 -22
  1502. package/dist/arrival-Ck5yjMkc.cjs.map +0 -1
  1503. package/dist/ask-user-DQGe7ZTv.cjs +0 -146
  1504. package/dist/ask-user-DQGe7ZTv.cjs.map +0 -1
  1505. package/dist/ask-user-Dh9YowL4.js +0 -137
  1506. package/dist/ask-user-Dh9YowL4.js.map +0 -1
  1507. package/dist/buttons-group-CHyXDQBp.js +0 -162
  1508. package/dist/buttons-group-CHyXDQBp.js.map +0 -1
  1509. package/dist/buttons-group-jq7kUVlX.cjs +0 -186
  1510. package/dist/buttons-group-jq7kUVlX.cjs.map +0 -1
  1511. package/dist/checkbox-CC39oYEv.js +0 -88
  1512. package/dist/checkbox-CC39oYEv.js.map +0 -1
  1513. package/dist/checkbox-DWXCTy8y.cjs +0 -109
  1514. package/dist/checkbox-DWXCTy8y.cjs.map +0 -1
  1515. package/dist/cn-ByEbywDh.js +0 -3291
  1516. package/dist/cn-ByEbywDh.js.map +0 -1
  1517. package/dist/cn-DnbTIGXa.cjs +0 -3294
  1518. package/dist/cn-DnbTIGXa.cjs.map +0 -1
  1519. package/dist/code-block-BdzrmA-p.js +0 -86
  1520. package/dist/code-block-BdzrmA-p.js.map +0 -1
  1521. package/dist/code-block-D1RequlX.cjs +0 -88
  1522. package/dist/code-block-D1RequlX.cjs.map +0 -1
  1523. package/dist/code-editor-CopnXVKT.cjs +0 -486
  1524. package/dist/code-editor-CopnXVKT.cjs.map +0 -1
  1525. package/dist/code-editor-D7BftGSx.js +0 -478
  1526. package/dist/code-editor-D7BftGSx.js.map +0 -1
  1527. package/dist/collapsible-4eeo2ZU2.js +0 -57
  1528. package/dist/collapsible-4eeo2ZU2.js.map +0 -1
  1529. package/dist/collapsible-JOs0f0e1.cjs +0 -61
  1530. package/dist/collapsible-JOs0f0e1.cjs.map +0 -1
  1531. package/dist/combobox-DO__6QlF.cjs +0 -276
  1532. package/dist/combobox-DO__6QlF.cjs.map +0 -1
  1533. package/dist/combobox-Ua6bvpM8.js +0 -254
  1534. package/dist/combobox-Ua6bvpM8.js.map +0 -1
  1535. package/dist/command-CNKdcyyr.js +0 -168
  1536. package/dist/command-CNKdcyyr.js.map +0 -1
  1537. package/dist/command-Cva4qgS9.cjs +0 -197
  1538. package/dist/command-Cva4qgS9.cjs.map +0 -1
  1539. package/dist/copy-button-ChUCFd-x.js +0 -46
  1540. package/dist/copy-button-ChUCFd-x.js.map +0 -1
  1541. package/dist/copy-button-zLZfswrj.cjs +0 -48
  1542. package/dist/copy-button-zLZfswrj.cjs.map +0 -1
  1543. package/dist/dashboard-card-0kjXfhTF.cjs +0 -11
  1544. package/dist/dashboard-card-0kjXfhTF.cjs.map +0 -1
  1545. package/dist/dashboard-card-CDg79V_9.js +0 -9
  1546. package/dist/dashboard-card-CDg79V_9.js.map +0 -1
  1547. package/dist/data-code-section-BLvh46xK.cjs +0 -364
  1548. package/dist/data-code-section-BLvh46xK.cjs.map +0 -1
  1549. package/dist/data-code-section-DSelBhmP.js +0 -361
  1550. package/dist/data-code-section-DSelBhmP.js.map +0 -1
  1551. package/dist/data-keys-and-values-778xnwOK.js +0 -122
  1552. package/dist/data-keys-and-values-778xnwOK.js.map +0 -1
  1553. package/dist/data-keys-and-values-CUqVRfqS.cjs +0 -124
  1554. package/dist/data-keys-and-values-CUqVRfqS.cjs.map +0 -1
  1555. package/dist/data-list-4_cVlINT.cjs +0 -183
  1556. package/dist/data-list-4_cVlINT.cjs.map +0 -1
  1557. package/dist/data-list-Bm70XKg_.js +0 -179
  1558. package/dist/data-list-Bm70XKg_.js.map +0 -1
  1559. package/dist/data-list-skeleton-B7flrjdA.cjs +0 -38
  1560. package/dist/data-list-skeleton-B7flrjdA.cjs.map +0 -1
  1561. package/dist/data-list-skeleton-BJVs8rDE.js +0 -36
  1562. package/dist/data-list-skeleton-BJVs8rDE.js.map +0 -1
  1563. package/dist/data-list-top-BeUxfGy2.js +0 -481
  1564. package/dist/data-list-top-BeUxfGy2.js.map +0 -1
  1565. package/dist/data-list-top-D9zFnKEi.cjs +0 -510
  1566. package/dist/data-list-top-D9zFnKEi.cjs.map +0 -1
  1567. package/dist/data-panel-5iuux0r_.js +0 -89
  1568. package/dist/data-panel-5iuux0r_.js.map +0 -1
  1569. package/dist/data-panel-tSErqolu.cjs +0 -91
  1570. package/dist/data-panel-tSErqolu.cjs.map +0 -1
  1571. package/dist/date-picker-Cj8MwnUv.cjs +0 -50
  1572. package/dist/date-picker-Cj8MwnUv.cjs.map +0 -1
  1573. package/dist/date-picker-LbXedaEh.js +0 -48
  1574. package/dist/date-picker-LbXedaEh.js.map +0 -1
  1575. package/dist/date-time-range-picker-C0J7p78l.cjs +0 -167
  1576. package/dist/date-time-range-picker-C0J7p78l.cjs.map +0 -1
  1577. package/dist/date-time-range-picker-CcoU5-2_.js +0 -165
  1578. package/dist/date-time-range-picker-CcoU5-2_.js.map +0 -1
  1579. package/dist/dialog-B1DwyLJJ.cjs +0 -276
  1580. package/dist/dialog-B1DwyLJJ.cjs.map +0 -1
  1581. package/dist/dialog-Dfrt_JCJ.js +0 -242
  1582. package/dist/dialog-Dfrt_JCJ.js.map +0 -1
  1583. package/dist/domains/traces/components/span-duration-col.cjs.js +0 -25
  1584. package/dist/domains/traces/components/span-duration-col.cjs.js.map +0 -1
  1585. package/dist/domains/traces/components/span-duration-col.d.ts +0 -2
  1586. package/dist/domains/traces/components/span-duration-col.es.js +0 -21
  1587. package/dist/domains/traces/components/span-duration-col.es.js.map +0 -1
  1588. package/dist/domains/traces/components/span-timeline-col.cjs.js +0 -48
  1589. package/dist/domains/traces/components/span-timeline-col.cjs.js.map +0 -1
  1590. package/dist/domains/traces/components/span-timeline-col.d.ts +0 -2
  1591. package/dist/domains/traces/components/span-timeline-col.es.js +0 -44
  1592. package/dist/domains/traces/components/span-timeline-col.es.js.map +0 -1
  1593. package/dist/domains/traces/components/thread-trace/thread-trace-spans-tab.cjs.js +0 -77
  1594. package/dist/domains/traces/components/thread-trace/thread-trace-spans-tab.cjs.js.map +0 -1
  1595. package/dist/domains/traces/components/thread-trace/thread-trace-spans-tab.d.ts +0 -2
  1596. package/dist/domains/traces/components/thread-trace/thread-trace-spans-tab.es.js +0 -73
  1597. package/dist/domains/traces/components/thread-trace/thread-trace-spans-tab.es.js.map +0 -1
  1598. package/dist/domains/traces/components/timeline-expand-col.cjs.js +0 -89
  1599. package/dist/domains/traces/components/timeline-expand-col.cjs.js.map +0 -1
  1600. package/dist/domains/traces/components/timeline-expand-col.d.ts +0 -2
  1601. package/dist/domains/traces/components/timeline-expand-col.es.js +0 -85
  1602. package/dist/domains/traces/components/timeline-expand-col.es.js.map +0 -1
  1603. package/dist/domains/traces/components/traces-layout.cjs.js +0 -63
  1604. package/dist/domains/traces/components/traces-layout.cjs.js.map +0 -1
  1605. package/dist/domains/traces/components/traces-layout.d.ts +0 -2
  1606. package/dist/domains/traces/components/traces-layout.es.js +0 -59
  1607. package/dist/domains/traces/components/traces-layout.es.js.map +0 -1
  1608. package/dist/domains/traces/components/traces-toolbar.cjs.js +0 -70
  1609. package/dist/domains/traces/components/traces-toolbar.cjs.js.map +0 -1
  1610. package/dist/domains/traces/components/traces-toolbar.d.ts +0 -2
  1611. package/dist/domains/traces/components/traces-toolbar.es.js +0 -66
  1612. package/dist/domains/traces/components/traces-toolbar.es.js.map +0 -1
  1613. package/dist/drawer-Bq7j_MiM.cjs +0 -366
  1614. package/dist/drawer-Bq7j_MiM.cjs.map +0 -1
  1615. package/dist/drawer-D1m2faHU.js +0 -326
  1616. package/dist/drawer-D1m2faHU.js.map +0 -1
  1617. package/dist/dropdown-menu-Bfh5ROWe.cjs +0 -227
  1618. package/dist/dropdown-menu-Bfh5ROWe.cjs.map +0 -1
  1619. package/dist/dropdown-menu-C853KwJJ.js +0 -206
  1620. package/dist/dropdown-menu-C853KwJJ.js.map +0 -1
  1621. package/dist/field-block-CVOfRWvX.js +0 -85
  1622. package/dist/field-block-CVOfRWvX.js.map +0 -1
  1623. package/dist/field-block-DosykAiQ.cjs +0 -87
  1624. package/dist/field-block-DosykAiQ.cjs.map +0 -1
  1625. package/dist/horizontal-bars--Czy2stS.cjs +0 -141
  1626. package/dist/horizontal-bars--Czy2stS.cjs.map +0 -1
  1627. package/dist/horizontal-bars-_vgi09Md.js +0 -139
  1628. package/dist/horizontal-bars-_vgi09Md.js.map +0 -1
  1629. package/dist/hover-card-B5zQKp9k.js +0 -68
  1630. package/dist/hover-card-B5zQKp9k.js.map +0 -1
  1631. package/dist/hover-card-B_Wz_e0F.cjs +0 -91
  1632. package/dist/hover-card-B_Wz_e0F.cjs.map +0 -1
  1633. package/dist/index-BxcigDwC.cjs +0 -47
  1634. package/dist/index-BxcigDwC.cjs.map +0 -1
  1635. package/dist/index-CZvpHqka.js +0 -45
  1636. package/dist/index-CZvpHqka.js.map +0 -1
  1637. package/dist/input-D3SUXvgI.cjs +0 -85
  1638. package/dist/input-D3SUXvgI.cjs.map +0 -1
  1639. package/dist/input-DinpgQXj.js +0 -64
  1640. package/dist/input-DinpgQXj.js.map +0 -1
  1641. package/dist/input-group-CBuqhxnJ.cjs +0 -242
  1642. package/dist/input-group-CBuqhxnJ.cjs.map +0 -1
  1643. package/dist/input-group-Dv1YsFDZ.js +0 -216
  1644. package/dist/input-group-Dv1YsFDZ.js.map +0 -1
  1645. package/dist/kbd-BaoBQUlL.cjs +0 -34
  1646. package/dist/kbd-BaoBQUlL.cjs.map +0 -1
  1647. package/dist/kbd-Bod0H0VQ.js +0 -32
  1648. package/dist/kbd-Bod0H0VQ.js.map +0 -1
  1649. package/dist/label-BICQQTjz.cjs +0 -34
  1650. package/dist/label-BICQQTjz.cjs.map +0 -1
  1651. package/dist/label-BKfZzqfr.js +0 -13
  1652. package/dist/label-BKfZzqfr.js.map +0 -1
  1653. package/dist/list-search-BwcO9d9M.cjs +0 -73
  1654. package/dist/list-search-BwcO9d9M.cjs.map +0 -1
  1655. package/dist/list-search-C8FBcDpo.js +0 -71
  1656. package/dist/list-search-C8FBcDpo.js.map +0 -1
  1657. package/dist/logs-data-list-B0hzHq0b.cjs +0 -81
  1658. package/dist/logs-data-list-B0hzHq0b.cjs.map +0 -1
  1659. package/dist/logs-data-list-CWu83qI7.js +0 -79
  1660. package/dist/logs-data-list-CWu83qI7.js.map +0 -1
  1661. package/dist/markdown-renderer-Dp1fJwUB.js +0 -408
  1662. package/dist/markdown-renderer-Dp1fJwUB.js.map +0 -1
  1663. package/dist/markdown-renderer-hBiN_N_-.cjs +0 -410
  1664. package/dist/markdown-renderer-hBiN_N_-.cjs.map +0 -1
  1665. package/dist/message-scroller-A5mO14YC.cjs +0 -857
  1666. package/dist/message-scroller-A5mO14YC.cjs.map +0 -1
  1667. package/dist/message-scroller-JeImISU5.js +0 -831
  1668. package/dist/message-scroller-JeImISU5.js.map +0 -1
  1669. package/dist/metrics-card-DJC-d549.cjs +0 -95
  1670. package/dist/metrics-card-DJC-d549.cjs.map +0 -1
  1671. package/dist/metrics-card-kreeaS1o.js +0 -93
  1672. package/dist/metrics-card-kreeaS1o.js.map +0 -1
  1673. package/dist/metrics-kpi-card-CgB7izeJ.cjs +0 -79
  1674. package/dist/metrics-kpi-card-CgB7izeJ.cjs.map +0 -1
  1675. package/dist/metrics-kpi-card-D5s2a9Xh.js +0 -77
  1676. package/dist/metrics-kpi-card-D5s2a9Xh.js.map +0 -1
  1677. package/dist/no-data-page-layout-BHmXbQix.js +0 -101
  1678. package/dist/no-data-page-layout-BHmXbQix.js.map +0 -1
  1679. package/dist/no-data-page-layout-BrqtWTU9.cjs +0 -104
  1680. package/dist/no-data-page-layout-BrqtWTU9.cjs.map +0 -1
  1681. package/dist/page-header-CGRV1f_f.js +0 -123
  1682. package/dist/page-header-CGRV1f_f.js.map +0 -1
  1683. package/dist/page-header-CTdBcOWK.cjs +0 -125
  1684. package/dist/page-header-CTdBcOWK.cjs.map +0 -1
  1685. package/dist/popover-DL_Vqxfp.cjs +0 -121
  1686. package/dist/popover-DL_Vqxfp.cjs.map +0 -1
  1687. package/dist/popover-L2o0kHi2.js +0 -97
  1688. package/dist/popover-L2o0kHi2.js.map +0 -1
  1689. package/dist/property-filter-applied-CF-InSu-.js +0 -344
  1690. package/dist/property-filter-applied-CF-InSu-.js.map +0 -1
  1691. package/dist/property-filter-applied-D35zWa7S.cjs +0 -348
  1692. package/dist/property-filter-applied-D35zWa7S.cjs.map +0 -1
  1693. package/dist/sankey-chart-D4lfGeI-.js +0 -916
  1694. package/dist/sankey-chart-D4lfGeI-.js.map +0 -1
  1695. package/dist/sankey-chart-ZfcUvZFu.cjs +0 -926
  1696. package/dist/sankey-chart-ZfcUvZFu.cjs.map +0 -1
  1697. package/dist/scroll-area-B0L1nYJS.js +0 -223
  1698. package/dist/scroll-area-B0L1nYJS.js.map +0 -1
  1699. package/dist/scroll-area-DK4w_mMg.cjs +0 -245
  1700. package/dist/scroll-area-DK4w_mMg.cjs.map +0 -1
  1701. package/dist/search-field-block-DhgD7NhZ.js +0 -119
  1702. package/dist/search-field-block-DhgD7NhZ.js.map +0 -1
  1703. package/dist/search-field-block-DnJYUEGi.cjs +0 -121
  1704. package/dist/search-field-block-DnJYUEGi.cjs.map +0 -1
  1705. package/dist/section-9jESC1la.js +0 -111
  1706. package/dist/section-9jESC1la.js.map +0 -1
  1707. package/dist/section-C_yrhQFt.cjs +0 -115
  1708. package/dist/section-C_yrhQFt.cjs.map +0 -1
  1709. package/dist/select-3GcRJGtd.js +0 -133
  1710. package/dist/select-3GcRJGtd.js.map +0 -1
  1711. package/dist/select-4dVGVp0V.cjs +0 -159
  1712. package/dist/select-4dVGVp0V.cjs.map +0 -1
  1713. package/dist/select-field-block-BEyjBDiB.js +0 -48
  1714. package/dist/select-field-block-BEyjBDiB.js.map +0 -1
  1715. package/dist/select-field-block-By8NfJoe.cjs +0 -50
  1716. package/dist/select-field-block-By8NfJoe.cjs.map +0 -1
  1717. package/dist/settings-container-C3d4Y528.js +0 -26
  1718. package/dist/settings-container-C3d4Y528.js.map +0 -1
  1719. package/dist/settings-container-aSJeNRdZ.cjs +0 -29
  1720. package/dist/settings-container-aSJeNRdZ.cjs.map +0 -1
  1721. package/dist/settings-layout-BjjVaZgN.cjs +0 -57
  1722. package/dist/settings-layout-BjjVaZgN.cjs.map +0 -1
  1723. package/dist/settings-layout-DlXTuCQ7.js +0 -55
  1724. package/dist/settings-layout-DlXTuCQ7.js.map +0 -1
  1725. package/dist/settings-row-BKz6r927.cjs +0 -92
  1726. package/dist/settings-row-BKz6r927.cjs.map +0 -1
  1727. package/dist/settings-row-T98nqxPD.js +0 -89
  1728. package/dist/settings-row-T98nqxPD.js.map +0 -1
  1729. package/dist/shimmer-Bt9INFuE.js +0 -23
  1730. package/dist/shimmer-Bt9INFuE.js.map +0 -1
  1731. package/dist/shimmer-GOCqjnzu.cjs +0 -25
  1732. package/dist/shimmer-GOCqjnzu.cjs.map +0 -1
  1733. package/dist/skeleton-DYq_5Fad.cjs +0 -25
  1734. package/dist/skeleton-DYq_5Fad.cjs.map +0 -1
  1735. package/dist/skeleton-KJCC29GI.js +0 -23
  1736. package/dist/skeleton-KJCC29GI.js.map +0 -1
  1737. package/dist/slider-AfRJ3a4W.js +0 -88
  1738. package/dist/slider-AfRJ3a4W.js.map +0 -1
  1739. package/dist/slider-BXYQmaQy.cjs +0 -90
  1740. package/dist/slider-BXYQmaQy.cjs.map +0 -1
  1741. package/dist/spacings-DQxytUI3.js +0 -162
  1742. package/dist/spacings-DQxytUI3.js.map +0 -1
  1743. package/dist/spacings-VmI3HJoY.cjs +0 -170
  1744. package/dist/spacings-VmI3HJoY.cjs.map +0 -1
  1745. package/dist/spinner-Bj7FQzLQ.cjs +0 -53
  1746. package/dist/spinner-Bj7FQzLQ.cjs.map +0 -1
  1747. package/dist/spinner-CUkNhTKC.js +0 -51
  1748. package/dist/spinner-CUkNhTKC.js.map +0 -1
  1749. package/dist/src/domains/traces/components/span-duration-col.d.ts +0 -9
  1750. package/dist/src/domains/traces/components/span-timeline-col.d.ts +0 -6
  1751. package/dist/src/domains/traces/components/thread-trace/thread-trace-spans-tab.d.ts +0 -14
  1752. package/dist/src/domains/traces/components/timeline-expand-col.d.ts +0 -18
  1753. package/dist/src/domains/traces/components/traces-layout.d.ts +0 -30
  1754. package/dist/src/domains/traces/components/traces-toolbar.d.ts +0 -19
  1755. package/dist/src/ds/components/Composer/use-composer-pointer-angle.d.ts +0 -2
  1756. package/dist/src/ds/components/Workflow/cards/workflow-card-badges.d.ts +0 -6
  1757. package/dist/src/ds/components/Workflow/cards/workflow-card-status-icon.d.ts +0 -6
  1758. package/dist/src/ds/components/Workflow/cards/workflow-condition-card-view.d.ts +0 -2
  1759. package/dist/src/ds/components/Workflow/cards/workflow-condition-card.d.ts +0 -5
  1760. package/dist/src/ds/components/Workflow/cards/workflow-condition-code.d.ts +0 -12
  1761. package/dist/src/ds/components/Workflow/cards/workflow-step-card-view.d.ts +0 -2
  1762. package/dist/switch-A-j7GDcX.js +0 -103
  1763. package/dist/switch-A-j7GDcX.js.map +0 -1
  1764. package/dist/switch-BROLIeGF.cjs +0 -124
  1765. package/dist/switch-BROLIeGF.cjs.map +0 -1
  1766. package/dist/tabs-content-CV7YrtD1.cjs +0 -31
  1767. package/dist/tabs-content-CV7YrtD1.cjs.map +0 -1
  1768. package/dist/tabs-content-CW6RtAEV.js +0 -29
  1769. package/dist/tabs-content-CW6RtAEV.js.map +0 -1
  1770. package/dist/tabs-context-BknR9-GX.js +0 -7
  1771. package/dist/tabs-context-BknR9-GX.js.map +0 -1
  1772. package/dist/tabs-context-pnspPkI-.cjs +0 -10
  1773. package/dist/tabs-context-pnspPkI-.cjs.map +0 -1
  1774. package/dist/tabs-root-BAy8m6GO.js +0 -324
  1775. package/dist/tabs-root-BAy8m6GO.js.map +0 -1
  1776. package/dist/tabs-root-Dw7gHsnZ.cjs +0 -327
  1777. package/dist/tabs-root-Dw7gHsnZ.cjs.map +0 -1
  1778. package/dist/tabs-tab-CP-kzlvB.cjs +0 -99
  1779. package/dist/tabs-tab-CP-kzlvB.cjs.map +0 -1
  1780. package/dist/tabs-tab-K5mQhs7r.js +0 -97
  1781. package/dist/tabs-tab-K5mQhs7r.js.map +0 -1
  1782. package/dist/text-field-block-CUN9gL4j.js +0 -49
  1783. package/dist/text-field-block-CUN9gL4j.js.map +0 -1
  1784. package/dist/text-field-block-WuwrSNEX.cjs +0 -51
  1785. package/dist/text-field-block-WuwrSNEX.cjs.map +0 -1
  1786. package/dist/textarea-BCVPeJzr.js +0 -62
  1787. package/dist/textarea-BCVPeJzr.js.map +0 -1
  1788. package/dist/textarea-D9XsLoN5.cjs +0 -83
  1789. package/dist/textarea-D9XsLoN5.cjs.map +0 -1
  1790. package/dist/thread-rail-lebYetuv.cjs +0 -334
  1791. package/dist/thread-rail-lebYetuv.cjs.map +0 -1
  1792. package/dist/thread-rail-o19IAzcJ.js +0 -313
  1793. package/dist/thread-rail-o19IAzcJ.js.map +0 -1
  1794. package/dist/time-picker-BKpmCbXS.cjs +0 -78
  1795. package/dist/time-picker-BKpmCbXS.cjs.map +0 -1
  1796. package/dist/time-picker-SgrQvt0V.js +0 -76
  1797. package/dist/time-picker-SgrQvt0V.js.map +0 -1
  1798. package/dist/toast-FypW736q.cjs +0 -55
  1799. package/dist/toast-FypW736q.cjs.map +0 -1
  1800. package/dist/toast-Xv8jgrMR.js +0 -52
  1801. package/dist/toast-Xv8jgrMR.js.map +0 -1
  1802. package/dist/tool-call-BlKbOYRH.js +0 -181
  1803. package/dist/tool-call-BlKbOYRH.js.map +0 -1
  1804. package/dist/tool-call-DVh_yWov.cjs +0 -196
  1805. package/dist/tool-call-DVh_yWov.cjs.map +0 -1
  1806. package/dist/tooltip-BsSNtmxl.cjs +0 -136
  1807. package/dist/tooltip-BsSNtmxl.cjs.map +0 -1
  1808. package/dist/tooltip-Vj_jjcxE.js +0 -112
  1809. package/dist/tooltip-Vj_jjcxE.js.map +0 -1
  1810. package/dist/traces-data-list-0WfYCKdc.cjs +0 -86
  1811. package/dist/traces-data-list-0WfYCKdc.cjs.map +0 -1
  1812. package/dist/traces-data-list-BOiAOwYM.js +0 -84
  1813. package/dist/traces-data-list-BOiAOwYM.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"use-trace-url-state.cjs.js","sources":["../../../../src/domains/traces/hooks/use-trace-url-state.tsx"],"sourcesContent":["import { useCallback, useMemo, useRef } from 'react';\nimport type { SpanTab, TraceDatePreset } from '../index';\nimport {\n ROOT_ENTITY_TYPE_OPTIONS,\n TRACE_ANCHOR_SPAN_ID_PARAM,\n TRACE_DATE_FROM_PARAM,\n TRACE_DATE_PRESET_PARAM,\n TRACE_DATE_PRESET_VALUES,\n TRACE_DATE_TO_PARAM,\n TRACE_PROPERTY_FILTER_FIELD_IDS,\n TRACE_LIST_MODE_PARAM,\n TRACE_LIST_MODE_VALUES,\n TRACE_PROPERTY_FILTER_PARAM_BY_FIELD,\n TRACE_ROOT_ENTITY_TYPE_PARAM,\n TRACE_STATUS_PARAM,\n TRACE_STATUS_VALUES,\n applyTracePropertyFilterTokens,\n getTracePropertyFilterTokens,\n} from '../trace-filters';\nimport type { EntityOptions, TraceListMode, TraceStatusFilter } from '../trace-filters';\nimport type { PropertyFilterToken } from '@/ds/components/PropertyFilter/types';\n\nconst TRACE_ID_PARAM = 'traceId';\nconst SPAN_ID_PARAM = 'spanId';\nconst TAB_PARAM = 'tab';\nconst SCORE_ID_PARAM = 'scoreId';\nconst HIGHLIGHT_SPAN_IDS_PARAM = 'highlightSpanIds';\n\nconst DAY_MS = 24 * 60 * 60 * 1000;\nconst PRESET_MS: Partial<Record<TraceDatePreset, number>> = {\n 'last-24h': DAY_MS,\n 'last-3d': 3 * DAY_MS,\n 'last-7d': 7 * DAY_MS,\n 'last-14d': 14 * DAY_MS,\n 'last-30d': 30 * DAY_MS,\n};\n\n/** Mutates `params` in place to drop the featured trace/span/tab/score selection.\n * Used whenever a filter changes — selection no longer makes sense in the new result set. */\nfunction clearSelectionParams(params: URLSearchParams) {\n params.delete(TRACE_ID_PARAM);\n params.delete(SPAN_ID_PARAM);\n params.delete(TRACE_ANCHOR_SPAN_ID_PARAM);\n params.delete(TAB_PARAM);\n params.delete(SCORE_ID_PARAM);\n params.delete(HIGHLIGHT_SPAN_IDS_PARAM);\n}\n\n/** Minimal interface compatible with react-router's `setSearchParams`. */\nexport type SetURLSearchParamsLike = (\n next: URLSearchParams | ((prev: URLSearchParams) => URLSearchParams),\n options?: { replace?: boolean; preventScrollReset?: boolean; state?: unknown },\n) => void;\n\nexport interface UseTraceUrlStateOptions {\n /** Called after `handleRemoveAll` clears all filter URL params. Use this to reset page-local\n * UI state (e.g. a \"group by thread\" toggle) without wrapping the handler. */\n onRemoveAll?: () => void;\n}\n\nexport interface UseTraceUrlStateResult {\n // Raw search params passed through for convenience\n searchParams: URLSearchParams;\n setSearchParams: SetURLSearchParamsLike;\n\n // Date state (derived from URL)\n datePreset: TraceDatePreset;\n selectedDateFrom: Date | undefined;\n selectedDateTo: Date | undefined;\n /** Synchronously-updated ref of the latest preset. Used to ignore onDateChange callbacks\n * the date picker fires after a non-custom preset switch. */\n datePresetRef: React.MutableRefObject<TraceDatePreset>;\n\n // Selection state (derived from URL)\n traceIdParam: string | undefined;\n spanIdParam: string | undefined;\n /** Branch-mode only: the anchor span that defines the displayed subtree. Stable while the\n * user navigates between spans inside the panel (which only changes `spanIdParam`). */\n anchorSpanIdParam: string | undefined;\n spanTabParam: SpanTab | undefined;\n scoreIdParam: string | undefined;\n /** Span ids featured in the timeline (e.g. the spans behind a reconstructed message). Empty when unset. */\n highlightSpanIdsParam: string[];\n\n // Filter state (derived from URL)\n listMode: TraceListMode;\n selectedEntityOption: EntityOptions | undefined;\n selectedStatus: TraceStatusFilter | undefined;\n filterTokens: PropertyFilterToken[];\n\n // URL-modifying handlers\n /**\n * Selects a row. In traces mode pass just `traceId` (and optionally a `spanId` for an\n * initial span selection in the panel). In branches mode also pass `anchorSpanId` — the\n * branch identity, kept stable while the user navigates between spans inside the panel.\n * Branch rows are identified by (traceId, anchorSpanId); trace rows by traceId alone.\n */\n handleTraceClick: (traceId: string, spanId?: string, anchorSpanId?: string) => void;\n /** Convenience: clears the featured trace selection. Equivalent to `handleTraceClick('')`. */\n handleTraceClose: () => void;\n handleSpanChange: (spanId: string | null) => void;\n /** Convenience: clears the featured span selection. Equivalent to `handleSpanChange(null)`. */\n handleSpanClose: () => void;\n handleSpanTabChange: (tab: SpanTab) => void;\n /** Selects a span AND switches its panel tab in a single URL update. Use when both must change\n * from one interaction (e.g. \"Evaluate Trace\"). Calling `handleSpanChange` + `handleSpanTabChange`\n * separately races: each functional `setSearchParams` updater reads the same pre-update\n * `searchParams` snapshot, so the second navigation overwrites the first (last write wins) and one\n * of the two changes is lost on the first click. */\n handleSpanChangeWithTab: (spanId: string, tab: SpanTab) => void;\n handleScoreChange: (scoreId: string | null) => void;\n /** Features `spanIds` in the timeline and selects the first one. An empty array clears the highlight. */\n handleHighlightSpans: (spanIds: string[]) => void;\n /** Switches the list view between traces and branches. Clears the current selection. */\n handleListModeChange: (mode: TraceListMode) => void;\n handleFilterTokensChange: (nextTokens: PropertyFilterToken[]) => void;\n handleDateChange: (value: Date | undefined, type: 'from' | 'to') => void;\n handleDatePresetChange: (preset: TraceDatePreset) => void;\n handleRemoveAll: () => void;\n\n /** Lower-level helper used by `handleClear`: writes a token set and clears the trace/span selection. */\n applyFilterTokens: (tokens: PropertyFilterToken[]) => void;\n}\n\n/**\n * Owns all URL-derived state and URL-modifying handlers for the traces page. Routing-agnostic —\n * pass `searchParams` and `setSearchParams` from whichever router the consumer uses.\n *\n * Stays focused on URL state: localStorage save/restore, filter discovery, and the error-view\n * short-circuit are intentionally NOT part of this hook so consumers can swap them independently.\n */\nexport function useTraceUrlState(\n searchParams: URLSearchParams,\n setSearchParams: SetURLSearchParamsLike,\n options?: UseTraceUrlStateOptions,\n): UseTraceUrlStateResult {\n const { onRemoveAll } = options ?? {};\n const datePreset = useMemo<TraceDatePreset>(() => {\n const value = searchParams.get(TRACE_DATE_PRESET_PARAM);\n return value && TRACE_DATE_PRESET_VALUES.has(value as TraceDatePreset) ? (value as TraceDatePreset) : 'last-24h';\n }, [searchParams]);\n\n const dateFromParamRaw = searchParams.get(TRACE_DATE_FROM_PARAM);\n const dateToParamRaw = searchParams.get(TRACE_DATE_TO_PARAM);\n\n const selectedDateFrom = useMemo(() => {\n if (datePreset === 'custom') {\n if (!dateFromParamRaw) return undefined;\n const parsed = new Date(dateFromParamRaw);\n return Number.isNaN(parsed.getTime()) ? undefined : parsed;\n }\n // 'all' has no entry in PRESET_MS, so it falls out as an open-ended window.\n const ms = PRESET_MS[datePreset];\n return ms ? new Date(Date.now() - ms) : undefined;\n }, [datePreset, dateFromParamRaw]);\n\n const selectedDateTo = useMemo(() => {\n if (datePreset !== 'custom' || !dateToParamRaw) return undefined;\n const parsed = new Date(dateToParamRaw);\n return Number.isNaN(parsed.getTime()) ? undefined : parsed;\n }, [datePreset, dateToParamRaw]);\n\n // Track the latest preset synchronously so onDateChange callbacks that follow\n // a non-custom preset switch can be ignored (router setSearchParams captures\n // searchParams in its closure, so multiple synchronous calls would otherwise\n // clobber each other).\n const datePresetRef = useRef(datePreset);\n datePresetRef.current = datePreset;\n\n const traceIdParam = searchParams.get(TRACE_ID_PARAM) || undefined;\n const spanIdParam = searchParams.get(SPAN_ID_PARAM) || undefined;\n /** Branch-mode only: identifies which branch (anchor span) the panel is viewing. Stays put\n * while the user navigates between spans inside the panel (which only changes spanIdParam). */\n const anchorSpanIdParam = searchParams.get(TRACE_ANCHOR_SPAN_ID_PARAM) || undefined;\n const tabParam = searchParams.get(TAB_PARAM);\n const spanTabParam: SpanTab | undefined =\n tabParam === 'feedback' ? 'feedback' : tabParam === 'details' ? 'details' : undefined;\n const scoreIdParam = searchParams.get(SCORE_ID_PARAM) || undefined;\n const highlightSpanIdsRaw = searchParams.get(HIGHLIGHT_SPAN_IDS_PARAM);\n const highlightSpanIdsParam = useMemo(\n () => (highlightSpanIdsRaw ? highlightSpanIdsRaw.split(',').filter(Boolean) : []),\n [highlightSpanIdsRaw],\n );\n\n const listMode = useMemo<TraceListMode>(() => {\n const value = searchParams.get(TRACE_LIST_MODE_PARAM);\n return value && TRACE_LIST_MODE_VALUES.has(value as TraceListMode) ? (value as TraceListMode) : 'traces';\n }, [searchParams]);\n const selectedEntityOption = useMemo(\n () => ROOT_ENTITY_TYPE_OPTIONS.find(option => option.entityType === searchParams.get(TRACE_ROOT_ENTITY_TYPE_PARAM)),\n [searchParams],\n );\n const selectedStatus = useMemo<TraceStatusFilter | undefined>(() => {\n const value = searchParams.get(TRACE_STATUS_PARAM);\n return value && TRACE_STATUS_VALUES.has(value as TraceStatusFilter) ? (value as TraceStatusFilter) : undefined;\n }, [searchParams]);\n const filterTokens = useMemo(() => getTracePropertyFilterTokens(searchParams), [searchParams]);\n\n const handleTraceClick = useCallback(\n (traceId: string, spanId?: string, anchorSpanId?: string) => {\n setSearchParams(\n prev => {\n const next = new URLSearchParams(prev);\n if (traceId) {\n next.set(TRACE_ID_PARAM, traceId);\n } else {\n next.delete(TRACE_ID_PARAM);\n }\n if (spanId) {\n next.set(SPAN_ID_PARAM, spanId);\n } else {\n next.delete(SPAN_ID_PARAM);\n }\n if (anchorSpanId) {\n next.set(TRACE_ANCHOR_SPAN_ID_PARAM, anchorSpanId);\n } else {\n next.delete(TRACE_ANCHOR_SPAN_ID_PARAM);\n }\n next.delete(TAB_PARAM);\n next.delete(SCORE_ID_PARAM);\n next.delete(HIGHLIGHT_SPAN_IDS_PARAM);\n return next;\n },\n { replace: true },\n );\n },\n [setSearchParams],\n );\n\n const handleTraceClose = useCallback(() => handleTraceClick(''), [handleTraceClick]);\n\n const handleSpanChange = useCallback(\n (spanId: string | null) => {\n const currentSpanId = searchParams.get(SPAN_ID_PARAM) || null;\n if (spanId === currentSpanId) return;\n\n setSearchParams(\n prev => {\n const next = new URLSearchParams(prev);\n if (spanId) {\n next.set(SPAN_ID_PARAM, spanId);\n } else {\n next.delete(SPAN_ID_PARAM);\n }\n // Tab + score are per-span; they'd point at the previous span's context otherwise.\n next.delete(TAB_PARAM);\n next.delete(SCORE_ID_PARAM);\n return next;\n },\n { replace: true },\n );\n },\n [searchParams, setSearchParams],\n );\n\n const handleSpanClose = useCallback(() => handleSpanChange(null), [handleSpanChange]);\n\n const handleSpanTabChange = useCallback(\n (tab: SpanTab) => {\n const currentTab = searchParams.get(TAB_PARAM) || null;\n if (tab === currentTab) return;\n\n setSearchParams(\n prev => {\n const next = new URLSearchParams(prev);\n if (tab && tab !== 'details') {\n next.set(TAB_PARAM, tab);\n } else {\n next.delete(TAB_PARAM);\n }\n next.delete(SCORE_ID_PARAM);\n return next;\n },\n { replace: true },\n );\n },\n [searchParams, setSearchParams],\n );\n\n const handleSpanChangeWithTab = useCallback(\n (spanId: string, tab: SpanTab) => {\n const nextTab = tab && tab !== 'details' ? tab : null;\n // No-op guard (same pattern as the sibling handlers): skip the navigation only when span,\n // tab AND score are already exactly what this call would produce.\n const isNoOp =\n spanId === (searchParams.get(SPAN_ID_PARAM) || null) &&\n nextTab === (searchParams.get(TAB_PARAM) || null) &&\n !searchParams.get(SCORE_ID_PARAM);\n if (isNoOp) return;\n\n setSearchParams(\n prev => {\n const next = new URLSearchParams(prev);\n next.set(SPAN_ID_PARAM, spanId);\n if (nextTab) {\n next.set(TAB_PARAM, nextTab);\n } else {\n next.delete(TAB_PARAM);\n }\n next.delete(SCORE_ID_PARAM);\n return next;\n },\n { replace: true },\n );\n },\n [searchParams, setSearchParams],\n );\n\n const handleScoreChange = useCallback(\n (scoreId: string | null) => {\n const currentScoreId = searchParams.get(SCORE_ID_PARAM) || null;\n if (scoreId === currentScoreId) return;\n\n setSearchParams(\n prev => {\n const next = new URLSearchParams(prev);\n if (scoreId) {\n next.set(SCORE_ID_PARAM, scoreId);\n } else {\n next.delete(SCORE_ID_PARAM);\n }\n return next;\n },\n { replace: true },\n );\n },\n [searchParams, setSearchParams],\n );\n\n const handleHighlightSpans = useCallback(\n (spanIds: string[]) => {\n setSearchParams(\n prev => {\n const next = new URLSearchParams(prev);\n const [firstSpanId] = spanIds;\n if (!firstSpanId) {\n next.delete(HIGHLIGHT_SPAN_IDS_PARAM);\n return next;\n }\n next.set(HIGHLIGHT_SPAN_IDS_PARAM, spanIds.join(','));\n // Open the detail panel on the first highlighted span.\n next.set(SPAN_ID_PARAM, firstSpanId);\n next.delete(TAB_PARAM);\n next.delete(SCORE_ID_PARAM);\n return next;\n },\n { replace: true },\n );\n },\n [setSearchParams],\n );\n\n const applyFilterTokens = useCallback(\n (tokens: PropertyFilterToken[]) => {\n setSearchParams(\n prev => {\n const next = new URLSearchParams(prev);\n // applyTracePropertyFilterTokens wipes all filter params (including\n // rootEntityType / status) and re-adds them in `nextTokens` order so\n // URL insertion order == filter creation order.\n applyTracePropertyFilterTokens(next, tokens);\n clearSelectionParams(next);\n return next;\n },\n { replace: true },\n );\n },\n [setSearchParams],\n );\n\n const handleFilterTokensChange = applyFilterTokens;\n\n // Only relevant for 'custom' — the picker also fires onDateChange after a\n // non-custom preset switch, which we ignore to avoid racing URL updates.\n const handleDateChange = useCallback(\n (value: Date | undefined, type: 'from' | 'to') => {\n if (datePresetRef.current !== 'custom') return;\n const param = type === 'from' ? TRACE_DATE_FROM_PARAM : TRACE_DATE_TO_PARAM;\n setSearchParams(\n prev => {\n const next = new URLSearchParams(prev);\n if (value) {\n next.set(param, value.toISOString());\n } else {\n next.delete(param);\n }\n clearSelectionParams(next);\n return next;\n },\n { replace: true },\n );\n },\n [setSearchParams],\n );\n\n const handleDatePresetChange = useCallback(\n (preset: TraceDatePreset) => {\n // Update ref synchronously so any onDateChange fired by the picker in the\n // same tick (for non-custom presets) sees the new value and skips.\n datePresetRef.current = preset;\n setSearchParams(\n prev => {\n const next = new URLSearchParams(prev);\n if (preset === 'last-24h') {\n // Default — clear all date params.\n next.delete(TRACE_DATE_PRESET_PARAM);\n next.delete(TRACE_DATE_FROM_PARAM);\n next.delete(TRACE_DATE_TO_PARAM);\n } else if (preset === 'custom') {\n next.set(TRACE_DATE_PRESET_PARAM, 'custom');\n // Keep existing dateFrom/dateTo for the user to adjust.\n } else {\n // `last-*` or 'all' — only the preset is stored; dates are derived.\n next.set(TRACE_DATE_PRESET_PARAM, preset);\n next.delete(TRACE_DATE_FROM_PARAM);\n next.delete(TRACE_DATE_TO_PARAM);\n }\n clearSelectionParams(next);\n return next;\n },\n { replace: true },\n );\n },\n [setSearchParams],\n );\n\n const handleListModeChange = useCallback(\n (mode: TraceListMode) => {\n setSearchParams(\n prev => {\n const next = new URLSearchParams(prev);\n if (mode === 'traces') {\n next.delete(TRACE_LIST_MODE_PARAM);\n } else {\n next.set(TRACE_LIST_MODE_PARAM, mode);\n }\n // Clear selection: rows from the previous mode don't map cleanly to the new mode.\n clearSelectionParams(next);\n return next;\n },\n { replace: true },\n );\n },\n [setSearchParams],\n );\n\n const handleRemoveAll = useCallback(() => {\n setSearchParams(\n prev => {\n const next = new URLSearchParams(prev);\n next.delete(TRACE_LIST_MODE_PARAM);\n next.delete(TRACE_ROOT_ENTITY_TYPE_PARAM);\n next.delete(TRACE_STATUS_PARAM);\n for (const fieldId of TRACE_PROPERTY_FILTER_FIELD_IDS) {\n next.delete(TRACE_PROPERTY_FILTER_PARAM_BY_FIELD[fieldId]);\n }\n clearSelectionParams(next);\n return next;\n },\n { replace: true },\n );\n onRemoveAll?.();\n }, [setSearchParams, onRemoveAll]);\n\n return {\n searchParams,\n setSearchParams,\n datePreset,\n selectedDateFrom,\n selectedDateTo,\n datePresetRef,\n traceIdParam,\n spanIdParam,\n anchorSpanIdParam,\n spanTabParam,\n scoreIdParam,\n highlightSpanIdsParam,\n listMode,\n selectedEntityOption,\n selectedStatus,\n filterTokens,\n handleTraceClick,\n handleTraceClose,\n handleSpanChange,\n handleSpanClose,\n handleSpanTabChange,\n handleSpanChangeWithTab,\n handleScoreChange,\n handleHighlightSpans,\n handleListModeChange,\n handleFilterTokensChange,\n handleDateChange,\n handleDatePresetChange,\n handleRemoveAll,\n applyFilterTokens,\n };\n}\n"],"names":["TRACE_ANCHOR_SPAN_ID_PARAM","useMemo","TRACE_DATE_PRESET_PARAM","TRACE_DATE_PRESET_VALUES","TRACE_DATE_FROM_PARAM","TRACE_DATE_TO_PARAM","useRef","TRACE_LIST_MODE_PARAM","TRACE_LIST_MODE_VALUES","ROOT_ENTITY_TYPE_OPTIONS","TRACE_ROOT_ENTITY_TYPE_PARAM","TRACE_STATUS_PARAM","TRACE_STATUS_VALUES","getTracePropertyFilterTokens","useCallback","applyTracePropertyFilterTokens","TRACE_PROPERTY_FILTER_FIELD_IDS","TRACE_PROPERTY_FILTER_PARAM_BY_FIELD"],"mappings":"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"}
1
+ {"version":3,"file":"use-trace-url-state.cjs.js","sources":["../../../../src/domains/traces/hooks/use-trace-url-state.tsx"],"sourcesContent":["import { useCallback, useMemo, useRef } from 'react';\nimport type { TraceSpanView } from '../components/trace-data-panel-view';\nimport type { SpanTab, TraceDatePreset } from '../index';\nimport {\n ROOT_ENTITY_TYPE_OPTIONS,\n TRACE_ANCHOR_SPAN_ID_PARAM,\n TRACE_DATE_FROM_PARAM,\n TRACE_DATE_PRESET_PARAM,\n TRACE_DATE_PRESET_VALUES,\n TRACE_DATE_TO_PARAM,\n TRACE_PROPERTY_FILTER_FIELD_IDS,\n TRACE_LIST_MODE_PARAM,\n TRACE_LIST_MODE_VALUES,\n TRACE_PROPERTY_FILTER_PARAM_BY_FIELD,\n TRACE_ROOT_ENTITY_TYPE_PARAM,\n TRACE_STATUS_PARAM,\n TRACE_STATUS_VALUES,\n applyTracePropertyFilterTokens,\n getTracePropertyFilterTokens,\n} from '../trace-filters';\nimport type { EntityOptions, TraceListMode, TraceStatusFilter } from '../trace-filters';\nimport type { PropertyFilterToken } from '@/ds/components/PropertyFilter/types';\n\nconst TRACE_ID_PARAM = 'traceId';\nconst SPAN_ID_PARAM = 'spanId';\nconst TAB_PARAM = 'tab';\nconst SPAN_VIEW_PARAM = 'spanView';\nconst SCORE_ID_PARAM = 'scoreId';\nconst HIGHLIGHT_SPAN_IDS_PARAM = 'highlightSpanIds';\n\nconst DAY_MS = 24 * 60 * 60 * 1000;\nconst PRESET_MS: Partial<Record<TraceDatePreset, number>> = {\n 'last-24h': DAY_MS,\n 'last-3d': 3 * DAY_MS,\n 'last-7d': 7 * DAY_MS,\n 'last-14d': 14 * DAY_MS,\n 'last-30d': 30 * DAY_MS,\n};\n\n/** Mutates `params` in place to drop the featured trace/span/tab/score selection.\n * Used whenever a filter changes — selection no longer makes sense in the new result set. */\nfunction clearSelectionParams(params: URLSearchParams) {\n params.delete(TRACE_ID_PARAM);\n params.delete(SPAN_ID_PARAM);\n params.delete(TRACE_ANCHOR_SPAN_ID_PARAM);\n params.delete(TAB_PARAM);\n params.delete(SCORE_ID_PARAM);\n params.delete(HIGHLIGHT_SPAN_IDS_PARAM);\n}\n\n/** Minimal interface compatible with react-router's `setSearchParams`. */\nexport type SetURLSearchParamsLike = (\n next: URLSearchParams | ((prev: URLSearchParams) => URLSearchParams),\n options?: { replace?: boolean; preventScrollReset?: boolean; state?: unknown },\n) => void;\n\nexport interface UseTraceUrlStateOptions {\n /** Called after `handleRemoveAll` clears all filter URL params. Use this to reset page-local\n * UI state (e.g. a \"group by thread\" toggle) without wrapping the handler. */\n onRemoveAll?: () => void;\n}\n\nexport interface UseTraceUrlStateResult {\n // Raw search params passed through for convenience\n searchParams: URLSearchParams;\n setSearchParams: SetURLSearchParamsLike;\n\n // Date state (derived from URL)\n datePreset: TraceDatePreset;\n selectedDateFrom: Date | undefined;\n selectedDateTo: Date | undefined;\n /** Synchronously-updated ref of the latest preset. Used to ignore onDateChange callbacks\n * the date picker fires after a non-custom preset switch. */\n datePresetRef: React.MutableRefObject<TraceDatePreset>;\n\n // Selection state (derived from URL)\n traceIdParam: string | undefined;\n spanIdParam: string | undefined;\n /** Branch-mode only: the anchor span that defines the displayed subtree. Stable while the\n * user navigates between spans inside the panel (which only changes `spanIdParam`). */\n anchorSpanIdParam: string | undefined;\n spanTabParam: SpanTab | undefined;\n /** Which view the trace column shows; `tree` is the default and is not written to the URL. */\n spanViewParam: TraceSpanView;\n scoreIdParam: string | undefined;\n /** Span ids featured in the timeline (e.g. the spans behind a reconstructed message). Empty when unset. */\n highlightSpanIdsParam: string[];\n\n // Filter state (derived from URL)\n listMode: TraceListMode;\n selectedEntityOption: EntityOptions | undefined;\n selectedStatus: TraceStatusFilter | undefined;\n filterTokens: PropertyFilterToken[];\n\n // URL-modifying handlers\n /**\n * Selects a row. In traces mode pass just `traceId` (and optionally a `spanId` for an\n * initial span selection in the panel). In branches mode also pass `anchorSpanId` — the\n * branch identity, kept stable while the user navigates between spans inside the panel.\n * Branch rows are identified by (traceId, anchorSpanId); trace rows by traceId alone.\n */\n handleTraceClick: (traceId: string, spanId?: string, anchorSpanId?: string) => void;\n /** Convenience: clears the featured trace selection. Equivalent to `handleTraceClick('')`. */\n handleTraceClose: () => void;\n handleSpanChange: (spanId: string | null) => void;\n /** Convenience: clears the featured span selection. Equivalent to `handleSpanChange(null)`. */\n handleSpanClose: () => void;\n handleSpanTabChange: (tab: SpanTab) => void;\n handleSpanViewChange: (view: TraceSpanView) => void;\n /** Selects a span AND switches its panel tab in a single URL update. Use when both must change\n * from one interaction (e.g. \"Evaluate Trace\"). Calling `handleSpanChange` + `handleSpanTabChange`\n * separately races: each functional `setSearchParams` updater reads the same pre-update\n * `searchParams` snapshot, so the second navigation overwrites the first (last write wins) and one\n * of the two changes is lost on the first click. */\n handleSpanChangeWithTab: (spanId: string, tab: SpanTab) => void;\n handleScoreChange: (scoreId: string | null) => void;\n /** Features `spanIds` in the timeline and selects the first one. An empty array clears the highlight. */\n handleHighlightSpans: (spanIds: string[]) => void;\n /** Switches the list view between traces and branches. Clears the current selection. */\n handleListModeChange: (mode: TraceListMode) => void;\n handleFilterTokensChange: (nextTokens: PropertyFilterToken[]) => void;\n handleDateChange: (value: Date | undefined, type: 'from' | 'to') => void;\n /** Writes both ends of a custom range in one URL update (two `handleDateChange` calls in the\n * same tick would clobber each other through react-router's closure-bound setter). */\n handleDateRangeChange: (from: Date | undefined, to: Date | undefined) => void;\n handleDatePresetChange: (preset: TraceDatePreset) => void;\n handleRemoveAll: () => void;\n\n /** Lower-level helper used by `handleClear`: writes a token set and clears the trace/span selection. */\n applyFilterTokens: (tokens: PropertyFilterToken[]) => void;\n}\n\n/**\n * Owns all URL-derived state and URL-modifying handlers for the traces page. Routing-agnostic —\n * pass `searchParams` and `setSearchParams` from whichever router the consumer uses.\n *\n * Stays focused on URL state: localStorage save/restore, filter discovery, and the error-view\n * short-circuit are intentionally NOT part of this hook so consumers can swap them independently.\n */\nexport function useTraceUrlState(\n searchParams: URLSearchParams,\n setSearchParams: SetURLSearchParamsLike,\n options?: UseTraceUrlStateOptions,\n): UseTraceUrlStateResult {\n const { onRemoveAll } = options ?? {};\n const datePreset = useMemo<TraceDatePreset>(() => {\n const value = searchParams.get(TRACE_DATE_PRESET_PARAM);\n return value && value !== 'all' && TRACE_DATE_PRESET_VALUES.has(value as TraceDatePreset)\n ? (value as TraceDatePreset)\n : 'last-7d';\n }, [searchParams]);\n\n const dateFromParamRaw = searchParams.get(TRACE_DATE_FROM_PARAM);\n const dateToParamRaw = searchParams.get(TRACE_DATE_TO_PARAM);\n\n const selectedDateFrom = useMemo(() => {\n if (datePreset === 'custom') {\n if (!dateFromParamRaw) return undefined;\n const parsed = new Date(dateFromParamRaw);\n return Number.isNaN(parsed.getTime()) ? undefined : parsed;\n }\n // 'all' has no entry in PRESET_MS, so it falls out as an open-ended window.\n const ms = PRESET_MS[datePreset];\n return ms ? new Date(Date.now() - ms) : undefined;\n }, [datePreset, dateFromParamRaw]);\n\n const selectedDateTo = useMemo(() => {\n if (datePreset !== 'custom' || !dateToParamRaw) return undefined;\n const parsed = new Date(dateToParamRaw);\n return Number.isNaN(parsed.getTime()) ? undefined : parsed;\n }, [datePreset, dateToParamRaw]);\n\n // Track the latest preset synchronously so onDateChange callbacks that follow\n // a non-custom preset switch can be ignored (router setSearchParams captures\n // searchParams in its closure, so multiple synchronous calls would otherwise\n // clobber each other).\n const datePresetRef = useRef(datePreset);\n datePresetRef.current = datePreset;\n\n const traceIdParam = searchParams.get(TRACE_ID_PARAM) || undefined;\n const spanIdParam = searchParams.get(SPAN_ID_PARAM) || undefined;\n /** Branch-mode only: identifies which branch (anchor span) the panel is viewing. Stays put\n * while the user navigates between spans inside the panel (which only changes spanIdParam). */\n const anchorSpanIdParam = searchParams.get(TRACE_ANCHOR_SPAN_ID_PARAM) || undefined;\n const tabParam = searchParams.get(TAB_PARAM);\n const spanTabParam: SpanTab | undefined =\n tabParam === 'feedback' ? 'feedback' : tabParam === 'details' ? 'details' : undefined;\n const spanViewParam: TraceSpanView = searchParams.get(SPAN_VIEW_PARAM) === 'timeline' ? 'timeline' : 'tree';\n const scoreIdParam = searchParams.get(SCORE_ID_PARAM) || undefined;\n const highlightSpanIdsRaw = searchParams.get(HIGHLIGHT_SPAN_IDS_PARAM);\n const highlightSpanIdsParam = useMemo(\n () => (highlightSpanIdsRaw ? highlightSpanIdsRaw.split(',').filter(Boolean) : []),\n [highlightSpanIdsRaw],\n );\n\n const listMode = useMemo<TraceListMode>(() => {\n const value = searchParams.get(TRACE_LIST_MODE_PARAM);\n return value && TRACE_LIST_MODE_VALUES.has(value as TraceListMode) ? (value as TraceListMode) : 'traces';\n }, [searchParams]);\n const selectedEntityOption = useMemo(\n () => ROOT_ENTITY_TYPE_OPTIONS.find(option => option.entityType === searchParams.get(TRACE_ROOT_ENTITY_TYPE_PARAM)),\n [searchParams],\n );\n const selectedStatus = useMemo<TraceStatusFilter | undefined>(() => {\n const value = searchParams.get(TRACE_STATUS_PARAM);\n return value && TRACE_STATUS_VALUES.has(value as TraceStatusFilter) ? (value as TraceStatusFilter) : undefined;\n }, [searchParams]);\n const filterTokens = useMemo(() => getTracePropertyFilterTokens(searchParams), [searchParams]);\n\n const handleTraceClick = useCallback(\n (traceId: string, spanId?: string, anchorSpanId?: string) => {\n setSearchParams(\n prev => {\n const next = new URLSearchParams(prev);\n if (traceId) {\n next.set(TRACE_ID_PARAM, traceId);\n } else {\n next.delete(TRACE_ID_PARAM);\n }\n if (spanId) {\n next.set(SPAN_ID_PARAM, spanId);\n } else {\n next.delete(SPAN_ID_PARAM);\n }\n if (anchorSpanId) {\n next.set(TRACE_ANCHOR_SPAN_ID_PARAM, anchorSpanId);\n } else {\n next.delete(TRACE_ANCHOR_SPAN_ID_PARAM);\n }\n next.delete(TAB_PARAM);\n next.delete(SCORE_ID_PARAM);\n next.delete(HIGHLIGHT_SPAN_IDS_PARAM);\n return next;\n },\n { replace: true },\n );\n },\n [setSearchParams],\n );\n\n const handleTraceClose = useCallback(() => handleTraceClick(''), [handleTraceClick]);\n\n const handleSpanChange = useCallback(\n (spanId: string | null) => {\n const currentSpanId = searchParams.get(SPAN_ID_PARAM) || null;\n if (spanId === currentSpanId) return;\n\n setSearchParams(\n prev => {\n const next = new URLSearchParams(prev);\n if (spanId) {\n next.set(SPAN_ID_PARAM, spanId);\n } else {\n next.delete(SPAN_ID_PARAM);\n }\n // Tab + score are per-span; they'd point at the previous span's context otherwise.\n next.delete(TAB_PARAM);\n next.delete(SCORE_ID_PARAM);\n return next;\n },\n { replace: true },\n );\n },\n [searchParams, setSearchParams],\n );\n\n const handleSpanClose = useCallback(() => handleSpanChange(null), [handleSpanChange]);\n\n const handleSpanViewChange = useCallback(\n (view: TraceSpanView) => {\n setSearchParams(\n prev => {\n const next = new URLSearchParams(prev);\n if (view === 'timeline') {\n next.set(SPAN_VIEW_PARAM, view);\n } else {\n next.delete(SPAN_VIEW_PARAM);\n }\n return next;\n },\n { replace: true },\n );\n },\n [setSearchParams],\n );\n\n const handleSpanTabChange = useCallback(\n (tab: SpanTab) => {\n const currentTab = searchParams.get(TAB_PARAM) || null;\n if (tab === currentTab) return;\n\n setSearchParams(\n prev => {\n const next = new URLSearchParams(prev);\n if (tab && tab !== 'details') {\n next.set(TAB_PARAM, tab);\n } else {\n next.delete(TAB_PARAM);\n }\n next.delete(SCORE_ID_PARAM);\n return next;\n },\n { replace: true },\n );\n },\n [searchParams, setSearchParams],\n );\n\n const handleSpanChangeWithTab = useCallback(\n (spanId: string, tab: SpanTab) => {\n const nextTab = tab && tab !== 'details' ? tab : null;\n // No-op guard (same pattern as the sibling handlers): skip the navigation only when span,\n // tab AND score are already exactly what this call would produce.\n const isNoOp =\n spanId === (searchParams.get(SPAN_ID_PARAM) || null) &&\n nextTab === (searchParams.get(TAB_PARAM) || null) &&\n !searchParams.get(SCORE_ID_PARAM);\n if (isNoOp) return;\n\n setSearchParams(\n prev => {\n const next = new URLSearchParams(prev);\n next.set(SPAN_ID_PARAM, spanId);\n if (nextTab) {\n next.set(TAB_PARAM, nextTab);\n } else {\n next.delete(TAB_PARAM);\n }\n next.delete(SCORE_ID_PARAM);\n return next;\n },\n { replace: true },\n );\n },\n [searchParams, setSearchParams],\n );\n\n const handleScoreChange = useCallback(\n (scoreId: string | null) => {\n const currentScoreId = searchParams.get(SCORE_ID_PARAM) || null;\n if (scoreId === currentScoreId) return;\n\n setSearchParams(\n prev => {\n const next = new URLSearchParams(prev);\n if (scoreId) {\n next.set(SCORE_ID_PARAM, scoreId);\n } else {\n next.delete(SCORE_ID_PARAM);\n }\n return next;\n },\n { replace: true },\n );\n },\n [searchParams, setSearchParams],\n );\n\n const handleHighlightSpans = useCallback(\n (spanIds: string[]) => {\n setSearchParams(\n prev => {\n const next = new URLSearchParams(prev);\n const [firstSpanId] = spanIds;\n if (!firstSpanId) {\n next.delete(HIGHLIGHT_SPAN_IDS_PARAM);\n return next;\n }\n next.set(HIGHLIGHT_SPAN_IDS_PARAM, spanIds.join(','));\n // Open the detail panel on the first highlighted span.\n next.set(SPAN_ID_PARAM, firstSpanId);\n next.delete(TAB_PARAM);\n next.delete(SCORE_ID_PARAM);\n return next;\n },\n { replace: true },\n );\n },\n [setSearchParams],\n );\n\n const applyFilterTokens = useCallback(\n (tokens: PropertyFilterToken[]) => {\n setSearchParams(\n prev => {\n const next = new URLSearchParams(prev);\n // applyTracePropertyFilterTokens wipes all filter params (including\n // rootEntityType / status) and re-adds them in `nextTokens` order so\n // URL insertion order == filter creation order.\n applyTracePropertyFilterTokens(next, tokens);\n clearSelectionParams(next);\n return next;\n },\n { replace: true },\n );\n },\n [setSearchParams],\n );\n\n const handleFilterTokensChange = applyFilterTokens;\n\n // Only relevant for 'custom' — the picker also fires onDateChange after a\n // non-custom preset switch, which we ignore to avoid racing URL updates.\n const handleDateChange = useCallback(\n (value: Date | undefined, type: 'from' | 'to') => {\n if (datePresetRef.current !== 'custom') return;\n const param = type === 'from' ? TRACE_DATE_FROM_PARAM : TRACE_DATE_TO_PARAM;\n setSearchParams(\n prev => {\n const next = new URLSearchParams(prev);\n if (value) {\n next.set(param, value.toISOString());\n } else {\n next.delete(param);\n }\n clearSelectionParams(next);\n return next;\n },\n { replace: true },\n );\n },\n [setSearchParams],\n );\n\n const handleDateRangeChange = useCallback(\n (from: Date | undefined, to: Date | undefined) => {\n if (datePresetRef.current !== 'custom') return;\n setSearchParams(\n prev => {\n const next = new URLSearchParams(prev);\n if (from) next.set(TRACE_DATE_FROM_PARAM, from.toISOString());\n else next.delete(TRACE_DATE_FROM_PARAM);\n if (to) next.set(TRACE_DATE_TO_PARAM, to.toISOString());\n else next.delete(TRACE_DATE_TO_PARAM);\n clearSelectionParams(next);\n return next;\n },\n { replace: true },\n );\n },\n [setSearchParams],\n );\n\n const handleDatePresetChange = useCallback(\n (preset: TraceDatePreset) => {\n // Update ref synchronously so any onDateChange fired by the picker in the\n // same tick (for non-custom presets) sees the new value and skips.\n datePresetRef.current = preset;\n setSearchParams(\n prev => {\n const next = new URLSearchParams(prev);\n if (preset === 'last-7d') {\n // Default — clear all date params.\n next.delete(TRACE_DATE_PRESET_PARAM);\n next.delete(TRACE_DATE_FROM_PARAM);\n next.delete(TRACE_DATE_TO_PARAM);\n } else if (preset === 'custom') {\n next.set(TRACE_DATE_PRESET_PARAM, 'custom');\n // Keep existing dateFrom/dateTo for the user to adjust.\n } else {\n // `last-*` or 'all' — only the preset is stored; dates are derived.\n next.set(TRACE_DATE_PRESET_PARAM, preset);\n next.delete(TRACE_DATE_FROM_PARAM);\n next.delete(TRACE_DATE_TO_PARAM);\n }\n clearSelectionParams(next);\n return next;\n },\n { replace: true },\n );\n },\n [setSearchParams],\n );\n\n const handleListModeChange = useCallback(\n (mode: TraceListMode) => {\n setSearchParams(\n prev => {\n const next = new URLSearchParams(prev);\n if (mode === 'traces') {\n next.delete(TRACE_LIST_MODE_PARAM);\n } else {\n next.set(TRACE_LIST_MODE_PARAM, mode);\n }\n // Clear selection: rows from the previous mode don't map cleanly to the new mode.\n clearSelectionParams(next);\n return next;\n },\n { replace: true },\n );\n },\n [setSearchParams],\n );\n\n const handleRemoveAll = useCallback(() => {\n setSearchParams(\n prev => {\n const next = new URLSearchParams(prev);\n next.delete(TRACE_LIST_MODE_PARAM);\n next.delete(TRACE_ROOT_ENTITY_TYPE_PARAM);\n next.delete(TRACE_STATUS_PARAM);\n for (const fieldId of TRACE_PROPERTY_FILTER_FIELD_IDS) {\n next.delete(TRACE_PROPERTY_FILTER_PARAM_BY_FIELD[fieldId]);\n }\n clearSelectionParams(next);\n return next;\n },\n { replace: true },\n );\n onRemoveAll?.();\n }, [setSearchParams, onRemoveAll]);\n\n return {\n searchParams,\n setSearchParams,\n datePreset,\n selectedDateFrom,\n selectedDateTo,\n datePresetRef,\n traceIdParam,\n spanIdParam,\n anchorSpanIdParam,\n spanTabParam,\n spanViewParam,\n scoreIdParam,\n highlightSpanIdsParam,\n listMode,\n selectedEntityOption,\n selectedStatus,\n filterTokens,\n handleTraceClick,\n handleTraceClose,\n handleSpanChange,\n handleSpanClose,\n handleSpanTabChange,\n handleSpanViewChange,\n handleSpanChangeWithTab,\n handleScoreChange,\n handleHighlightSpans,\n handleListModeChange,\n handleFilterTokensChange,\n handleDateChange,\n handleDateRangeChange,\n handleDatePresetChange,\n handleRemoveAll,\n applyFilterTokens,\n };\n}\n"],"names":["TRACE_ANCHOR_SPAN_ID_PARAM","useMemo","TRACE_DATE_PRESET_PARAM","TRACE_DATE_PRESET_VALUES","TRACE_DATE_FROM_PARAM","TRACE_DATE_TO_PARAM","useRef","TRACE_LIST_MODE_PARAM","TRACE_LIST_MODE_VALUES","ROOT_ENTITY_TYPE_OPTIONS","TRACE_ROOT_ENTITY_TYPE_PARAM","TRACE_STATUS_PARAM","TRACE_STATUS_VALUES","getTracePropertyFilterTokens","useCallback","applyTracePropertyFilterTokens","TRACE_PROPERTY_FILTER_FIELD_IDS","TRACE_PROPERTY_FILTER_PARAM_BY_FIELD"],"mappings":"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"}
@@ -4,6 +4,7 @@ import { TRACE_DATE_PRESET_PARAM, TRACE_DATE_PRESET_VALUES, TRACE_DATE_FROM_PARA
4
4
  const TRACE_ID_PARAM = "traceId";
5
5
  const SPAN_ID_PARAM = "spanId";
6
6
  const TAB_PARAM = "tab";
7
+ const SPAN_VIEW_PARAM = "spanView";
7
8
  const SCORE_ID_PARAM = "scoreId";
8
9
  const HIGHLIGHT_SPAN_IDS_PARAM = "highlightSpanIds";
9
10
  const DAY_MS = 24 * 60 * 60 * 1e3;
@@ -26,7 +27,7 @@ function useTraceUrlState(searchParams, setSearchParams, options) {
26
27
  const { onRemoveAll } = options ?? {};
27
28
  const datePreset = useMemo(() => {
28
29
  const value = searchParams.get(TRACE_DATE_PRESET_PARAM);
29
- return value && TRACE_DATE_PRESET_VALUES.has(value) ? value : "last-24h";
30
+ return value && value !== "all" && TRACE_DATE_PRESET_VALUES.has(value) ? value : "last-7d";
30
31
  }, [searchParams]);
31
32
  const dateFromParamRaw = searchParams.get(TRACE_DATE_FROM_PARAM);
32
33
  const dateToParamRaw = searchParams.get(TRACE_DATE_TO_PARAM);
@@ -51,6 +52,7 @@ function useTraceUrlState(searchParams, setSearchParams, options) {
51
52
  const anchorSpanIdParam = searchParams.get(TRACE_ANCHOR_SPAN_ID_PARAM) || void 0;
52
53
  const tabParam = searchParams.get(TAB_PARAM);
53
54
  const spanTabParam = tabParam === "feedback" ? "feedback" : tabParam === "details" ? "details" : void 0;
55
+ const spanViewParam = searchParams.get(SPAN_VIEW_PARAM) === "timeline" ? "timeline" : "tree";
54
56
  const scoreIdParam = searchParams.get(SCORE_ID_PARAM) || void 0;
55
57
  const highlightSpanIdsRaw = searchParams.get(HIGHLIGHT_SPAN_IDS_PARAM);
56
58
  const highlightSpanIdsParam = useMemo(
@@ -123,6 +125,23 @@ function useTraceUrlState(searchParams, setSearchParams, options) {
123
125
  [searchParams, setSearchParams]
124
126
  );
125
127
  const handleSpanClose = useCallback(() => handleSpanChange(null), [handleSpanChange]);
128
+ const handleSpanViewChange = useCallback(
129
+ (view) => {
130
+ setSearchParams(
131
+ (prev) => {
132
+ const next = new URLSearchParams(prev);
133
+ if (view === "timeline") {
134
+ next.set(SPAN_VIEW_PARAM, view);
135
+ } else {
136
+ next.delete(SPAN_VIEW_PARAM);
137
+ }
138
+ return next;
139
+ },
140
+ { replace: true }
141
+ );
142
+ },
143
+ [setSearchParams]
144
+ );
126
145
  const handleSpanTabChange = useCallback(
127
146
  (tab) => {
128
147
  const currentTab = searchParams.get(TAB_PARAM) || null;
@@ -240,13 +259,31 @@ function useTraceUrlState(searchParams, setSearchParams, options) {
240
259
  },
241
260
  [setSearchParams]
242
261
  );
262
+ const handleDateRangeChange = useCallback(
263
+ (from, to) => {
264
+ if (datePresetRef.current !== "custom") return;
265
+ setSearchParams(
266
+ (prev) => {
267
+ const next = new URLSearchParams(prev);
268
+ if (from) next.set(TRACE_DATE_FROM_PARAM, from.toISOString());
269
+ else next.delete(TRACE_DATE_FROM_PARAM);
270
+ if (to) next.set(TRACE_DATE_TO_PARAM, to.toISOString());
271
+ else next.delete(TRACE_DATE_TO_PARAM);
272
+ clearSelectionParams(next);
273
+ return next;
274
+ },
275
+ { replace: true }
276
+ );
277
+ },
278
+ [setSearchParams]
279
+ );
243
280
  const handleDatePresetChange = useCallback(
244
281
  (preset) => {
245
282
  datePresetRef.current = preset;
246
283
  setSearchParams(
247
284
  (prev) => {
248
285
  const next = new URLSearchParams(prev);
249
- if (preset === "last-24h") {
286
+ if (preset === "last-7d") {
250
287
  next.delete(TRACE_DATE_PRESET_PARAM);
251
288
  next.delete(TRACE_DATE_FROM_PARAM);
252
289
  next.delete(TRACE_DATE_TO_PARAM);
@@ -311,6 +348,7 @@ function useTraceUrlState(searchParams, setSearchParams, options) {
311
348
  spanIdParam,
312
349
  anchorSpanIdParam,
313
350
  spanTabParam,
351
+ spanViewParam,
314
352
  scoreIdParam,
315
353
  highlightSpanIdsParam,
316
354
  listMode,
@@ -322,12 +360,14 @@ function useTraceUrlState(searchParams, setSearchParams, options) {
322
360
  handleSpanChange,
323
361
  handleSpanClose,
324
362
  handleSpanTabChange,
363
+ handleSpanViewChange,
325
364
  handleSpanChangeWithTab,
326
365
  handleScoreChange,
327
366
  handleHighlightSpans,
328
367
  handleListModeChange,
329
368
  handleFilterTokensChange,
330
369
  handleDateChange,
370
+ handleDateRangeChange,
331
371
  handleDatePresetChange,
332
372
  handleRemoveAll,
333
373
  applyFilterTokens
@@ -1 +1 @@
1
- {"version":3,"file":"use-trace-url-state.es.js","sources":["../../../../src/domains/traces/hooks/use-trace-url-state.tsx"],"sourcesContent":["import { useCallback, useMemo, useRef } from 'react';\nimport type { SpanTab, TraceDatePreset } from '../index';\nimport {\n ROOT_ENTITY_TYPE_OPTIONS,\n TRACE_ANCHOR_SPAN_ID_PARAM,\n TRACE_DATE_FROM_PARAM,\n TRACE_DATE_PRESET_PARAM,\n TRACE_DATE_PRESET_VALUES,\n TRACE_DATE_TO_PARAM,\n TRACE_PROPERTY_FILTER_FIELD_IDS,\n TRACE_LIST_MODE_PARAM,\n TRACE_LIST_MODE_VALUES,\n TRACE_PROPERTY_FILTER_PARAM_BY_FIELD,\n TRACE_ROOT_ENTITY_TYPE_PARAM,\n TRACE_STATUS_PARAM,\n TRACE_STATUS_VALUES,\n applyTracePropertyFilterTokens,\n getTracePropertyFilterTokens,\n} from '../trace-filters';\nimport type { EntityOptions, TraceListMode, TraceStatusFilter } from '../trace-filters';\nimport type { PropertyFilterToken } from '@/ds/components/PropertyFilter/types';\n\nconst TRACE_ID_PARAM = 'traceId';\nconst SPAN_ID_PARAM = 'spanId';\nconst TAB_PARAM = 'tab';\nconst SCORE_ID_PARAM = 'scoreId';\nconst HIGHLIGHT_SPAN_IDS_PARAM = 'highlightSpanIds';\n\nconst DAY_MS = 24 * 60 * 60 * 1000;\nconst PRESET_MS: Partial<Record<TraceDatePreset, number>> = {\n 'last-24h': DAY_MS,\n 'last-3d': 3 * DAY_MS,\n 'last-7d': 7 * DAY_MS,\n 'last-14d': 14 * DAY_MS,\n 'last-30d': 30 * DAY_MS,\n};\n\n/** Mutates `params` in place to drop the featured trace/span/tab/score selection.\n * Used whenever a filter changes — selection no longer makes sense in the new result set. */\nfunction clearSelectionParams(params: URLSearchParams) {\n params.delete(TRACE_ID_PARAM);\n params.delete(SPAN_ID_PARAM);\n params.delete(TRACE_ANCHOR_SPAN_ID_PARAM);\n params.delete(TAB_PARAM);\n params.delete(SCORE_ID_PARAM);\n params.delete(HIGHLIGHT_SPAN_IDS_PARAM);\n}\n\n/** Minimal interface compatible with react-router's `setSearchParams`. */\nexport type SetURLSearchParamsLike = (\n next: URLSearchParams | ((prev: URLSearchParams) => URLSearchParams),\n options?: { replace?: boolean; preventScrollReset?: boolean; state?: unknown },\n) => void;\n\nexport interface UseTraceUrlStateOptions {\n /** Called after `handleRemoveAll` clears all filter URL params. Use this to reset page-local\n * UI state (e.g. a \"group by thread\" toggle) without wrapping the handler. */\n onRemoveAll?: () => void;\n}\n\nexport interface UseTraceUrlStateResult {\n // Raw search params passed through for convenience\n searchParams: URLSearchParams;\n setSearchParams: SetURLSearchParamsLike;\n\n // Date state (derived from URL)\n datePreset: TraceDatePreset;\n selectedDateFrom: Date | undefined;\n selectedDateTo: Date | undefined;\n /** Synchronously-updated ref of the latest preset. Used to ignore onDateChange callbacks\n * the date picker fires after a non-custom preset switch. */\n datePresetRef: React.MutableRefObject<TraceDatePreset>;\n\n // Selection state (derived from URL)\n traceIdParam: string | undefined;\n spanIdParam: string | undefined;\n /** Branch-mode only: the anchor span that defines the displayed subtree. Stable while the\n * user navigates between spans inside the panel (which only changes `spanIdParam`). */\n anchorSpanIdParam: string | undefined;\n spanTabParam: SpanTab | undefined;\n scoreIdParam: string | undefined;\n /** Span ids featured in the timeline (e.g. the spans behind a reconstructed message). Empty when unset. */\n highlightSpanIdsParam: string[];\n\n // Filter state (derived from URL)\n listMode: TraceListMode;\n selectedEntityOption: EntityOptions | undefined;\n selectedStatus: TraceStatusFilter | undefined;\n filterTokens: PropertyFilterToken[];\n\n // URL-modifying handlers\n /**\n * Selects a row. In traces mode pass just `traceId` (and optionally a `spanId` for an\n * initial span selection in the panel). In branches mode also pass `anchorSpanId` — the\n * branch identity, kept stable while the user navigates between spans inside the panel.\n * Branch rows are identified by (traceId, anchorSpanId); trace rows by traceId alone.\n */\n handleTraceClick: (traceId: string, spanId?: string, anchorSpanId?: string) => void;\n /** Convenience: clears the featured trace selection. Equivalent to `handleTraceClick('')`. */\n handleTraceClose: () => void;\n handleSpanChange: (spanId: string | null) => void;\n /** Convenience: clears the featured span selection. Equivalent to `handleSpanChange(null)`. */\n handleSpanClose: () => void;\n handleSpanTabChange: (tab: SpanTab) => void;\n /** Selects a span AND switches its panel tab in a single URL update. Use when both must change\n * from one interaction (e.g. \"Evaluate Trace\"). Calling `handleSpanChange` + `handleSpanTabChange`\n * separately races: each functional `setSearchParams` updater reads the same pre-update\n * `searchParams` snapshot, so the second navigation overwrites the first (last write wins) and one\n * of the two changes is lost on the first click. */\n handleSpanChangeWithTab: (spanId: string, tab: SpanTab) => void;\n handleScoreChange: (scoreId: string | null) => void;\n /** Features `spanIds` in the timeline and selects the first one. An empty array clears the highlight. */\n handleHighlightSpans: (spanIds: string[]) => void;\n /** Switches the list view between traces and branches. Clears the current selection. */\n handleListModeChange: (mode: TraceListMode) => void;\n handleFilterTokensChange: (nextTokens: PropertyFilterToken[]) => void;\n handleDateChange: (value: Date | undefined, type: 'from' | 'to') => void;\n handleDatePresetChange: (preset: TraceDatePreset) => void;\n handleRemoveAll: () => void;\n\n /** Lower-level helper used by `handleClear`: writes a token set and clears the trace/span selection. */\n applyFilterTokens: (tokens: PropertyFilterToken[]) => void;\n}\n\n/**\n * Owns all URL-derived state and URL-modifying handlers for the traces page. Routing-agnostic —\n * pass `searchParams` and `setSearchParams` from whichever router the consumer uses.\n *\n * Stays focused on URL state: localStorage save/restore, filter discovery, and the error-view\n * short-circuit are intentionally NOT part of this hook so consumers can swap them independently.\n */\nexport function useTraceUrlState(\n searchParams: URLSearchParams,\n setSearchParams: SetURLSearchParamsLike,\n options?: UseTraceUrlStateOptions,\n): UseTraceUrlStateResult {\n const { onRemoveAll } = options ?? {};\n const datePreset = useMemo<TraceDatePreset>(() => {\n const value = searchParams.get(TRACE_DATE_PRESET_PARAM);\n return value && TRACE_DATE_PRESET_VALUES.has(value as TraceDatePreset) ? (value as TraceDatePreset) : 'last-24h';\n }, [searchParams]);\n\n const dateFromParamRaw = searchParams.get(TRACE_DATE_FROM_PARAM);\n const dateToParamRaw = searchParams.get(TRACE_DATE_TO_PARAM);\n\n const selectedDateFrom = useMemo(() => {\n if (datePreset === 'custom') {\n if (!dateFromParamRaw) return undefined;\n const parsed = new Date(dateFromParamRaw);\n return Number.isNaN(parsed.getTime()) ? undefined : parsed;\n }\n // 'all' has no entry in PRESET_MS, so it falls out as an open-ended window.\n const ms = PRESET_MS[datePreset];\n return ms ? new Date(Date.now() - ms) : undefined;\n }, [datePreset, dateFromParamRaw]);\n\n const selectedDateTo = useMemo(() => {\n if (datePreset !== 'custom' || !dateToParamRaw) return undefined;\n const parsed = new Date(dateToParamRaw);\n return Number.isNaN(parsed.getTime()) ? undefined : parsed;\n }, [datePreset, dateToParamRaw]);\n\n // Track the latest preset synchronously so onDateChange callbacks that follow\n // a non-custom preset switch can be ignored (router setSearchParams captures\n // searchParams in its closure, so multiple synchronous calls would otherwise\n // clobber each other).\n const datePresetRef = useRef(datePreset);\n datePresetRef.current = datePreset;\n\n const traceIdParam = searchParams.get(TRACE_ID_PARAM) || undefined;\n const spanIdParam = searchParams.get(SPAN_ID_PARAM) || undefined;\n /** Branch-mode only: identifies which branch (anchor span) the panel is viewing. Stays put\n * while the user navigates between spans inside the panel (which only changes spanIdParam). */\n const anchorSpanIdParam = searchParams.get(TRACE_ANCHOR_SPAN_ID_PARAM) || undefined;\n const tabParam = searchParams.get(TAB_PARAM);\n const spanTabParam: SpanTab | undefined =\n tabParam === 'feedback' ? 'feedback' : tabParam === 'details' ? 'details' : undefined;\n const scoreIdParam = searchParams.get(SCORE_ID_PARAM) || undefined;\n const highlightSpanIdsRaw = searchParams.get(HIGHLIGHT_SPAN_IDS_PARAM);\n const highlightSpanIdsParam = useMemo(\n () => (highlightSpanIdsRaw ? highlightSpanIdsRaw.split(',').filter(Boolean) : []),\n [highlightSpanIdsRaw],\n );\n\n const listMode = useMemo<TraceListMode>(() => {\n const value = searchParams.get(TRACE_LIST_MODE_PARAM);\n return value && TRACE_LIST_MODE_VALUES.has(value as TraceListMode) ? (value as TraceListMode) : 'traces';\n }, [searchParams]);\n const selectedEntityOption = useMemo(\n () => ROOT_ENTITY_TYPE_OPTIONS.find(option => option.entityType === searchParams.get(TRACE_ROOT_ENTITY_TYPE_PARAM)),\n [searchParams],\n );\n const selectedStatus = useMemo<TraceStatusFilter | undefined>(() => {\n const value = searchParams.get(TRACE_STATUS_PARAM);\n return value && TRACE_STATUS_VALUES.has(value as TraceStatusFilter) ? (value as TraceStatusFilter) : undefined;\n }, [searchParams]);\n const filterTokens = useMemo(() => getTracePropertyFilterTokens(searchParams), [searchParams]);\n\n const handleTraceClick = useCallback(\n (traceId: string, spanId?: string, anchorSpanId?: string) => {\n setSearchParams(\n prev => {\n const next = new URLSearchParams(prev);\n if (traceId) {\n next.set(TRACE_ID_PARAM, traceId);\n } else {\n next.delete(TRACE_ID_PARAM);\n }\n if (spanId) {\n next.set(SPAN_ID_PARAM, spanId);\n } else {\n next.delete(SPAN_ID_PARAM);\n }\n if (anchorSpanId) {\n next.set(TRACE_ANCHOR_SPAN_ID_PARAM, anchorSpanId);\n } else {\n next.delete(TRACE_ANCHOR_SPAN_ID_PARAM);\n }\n next.delete(TAB_PARAM);\n next.delete(SCORE_ID_PARAM);\n next.delete(HIGHLIGHT_SPAN_IDS_PARAM);\n return next;\n },\n { replace: true },\n );\n },\n [setSearchParams],\n );\n\n const handleTraceClose = useCallback(() => handleTraceClick(''), [handleTraceClick]);\n\n const handleSpanChange = useCallback(\n (spanId: string | null) => {\n const currentSpanId = searchParams.get(SPAN_ID_PARAM) || null;\n if (spanId === currentSpanId) return;\n\n setSearchParams(\n prev => {\n const next = new URLSearchParams(prev);\n if (spanId) {\n next.set(SPAN_ID_PARAM, spanId);\n } else {\n next.delete(SPAN_ID_PARAM);\n }\n // Tab + score are per-span; they'd point at the previous span's context otherwise.\n next.delete(TAB_PARAM);\n next.delete(SCORE_ID_PARAM);\n return next;\n },\n { replace: true },\n );\n },\n [searchParams, setSearchParams],\n );\n\n const handleSpanClose = useCallback(() => handleSpanChange(null), [handleSpanChange]);\n\n const handleSpanTabChange = useCallback(\n (tab: SpanTab) => {\n const currentTab = searchParams.get(TAB_PARAM) || null;\n if (tab === currentTab) return;\n\n setSearchParams(\n prev => {\n const next = new URLSearchParams(prev);\n if (tab && tab !== 'details') {\n next.set(TAB_PARAM, tab);\n } else {\n next.delete(TAB_PARAM);\n }\n next.delete(SCORE_ID_PARAM);\n return next;\n },\n { replace: true },\n );\n },\n [searchParams, setSearchParams],\n );\n\n const handleSpanChangeWithTab = useCallback(\n (spanId: string, tab: SpanTab) => {\n const nextTab = tab && tab !== 'details' ? tab : null;\n // No-op guard (same pattern as the sibling handlers): skip the navigation only when span,\n // tab AND score are already exactly what this call would produce.\n const isNoOp =\n spanId === (searchParams.get(SPAN_ID_PARAM) || null) &&\n nextTab === (searchParams.get(TAB_PARAM) || null) &&\n !searchParams.get(SCORE_ID_PARAM);\n if (isNoOp) return;\n\n setSearchParams(\n prev => {\n const next = new URLSearchParams(prev);\n next.set(SPAN_ID_PARAM, spanId);\n if (nextTab) {\n next.set(TAB_PARAM, nextTab);\n } else {\n next.delete(TAB_PARAM);\n }\n next.delete(SCORE_ID_PARAM);\n return next;\n },\n { replace: true },\n );\n },\n [searchParams, setSearchParams],\n );\n\n const handleScoreChange = useCallback(\n (scoreId: string | null) => {\n const currentScoreId = searchParams.get(SCORE_ID_PARAM) || null;\n if (scoreId === currentScoreId) return;\n\n setSearchParams(\n prev => {\n const next = new URLSearchParams(prev);\n if (scoreId) {\n next.set(SCORE_ID_PARAM, scoreId);\n } else {\n next.delete(SCORE_ID_PARAM);\n }\n return next;\n },\n { replace: true },\n );\n },\n [searchParams, setSearchParams],\n );\n\n const handleHighlightSpans = useCallback(\n (spanIds: string[]) => {\n setSearchParams(\n prev => {\n const next = new URLSearchParams(prev);\n const [firstSpanId] = spanIds;\n if (!firstSpanId) {\n next.delete(HIGHLIGHT_SPAN_IDS_PARAM);\n return next;\n }\n next.set(HIGHLIGHT_SPAN_IDS_PARAM, spanIds.join(','));\n // Open the detail panel on the first highlighted span.\n next.set(SPAN_ID_PARAM, firstSpanId);\n next.delete(TAB_PARAM);\n next.delete(SCORE_ID_PARAM);\n return next;\n },\n { replace: true },\n );\n },\n [setSearchParams],\n );\n\n const applyFilterTokens = useCallback(\n (tokens: PropertyFilterToken[]) => {\n setSearchParams(\n prev => {\n const next = new URLSearchParams(prev);\n // applyTracePropertyFilterTokens wipes all filter params (including\n // rootEntityType / status) and re-adds them in `nextTokens` order so\n // URL insertion order == filter creation order.\n applyTracePropertyFilterTokens(next, tokens);\n clearSelectionParams(next);\n return next;\n },\n { replace: true },\n );\n },\n [setSearchParams],\n );\n\n const handleFilterTokensChange = applyFilterTokens;\n\n // Only relevant for 'custom' — the picker also fires onDateChange after a\n // non-custom preset switch, which we ignore to avoid racing URL updates.\n const handleDateChange = useCallback(\n (value: Date | undefined, type: 'from' | 'to') => {\n if (datePresetRef.current !== 'custom') return;\n const param = type === 'from' ? TRACE_DATE_FROM_PARAM : TRACE_DATE_TO_PARAM;\n setSearchParams(\n prev => {\n const next = new URLSearchParams(prev);\n if (value) {\n next.set(param, value.toISOString());\n } else {\n next.delete(param);\n }\n clearSelectionParams(next);\n return next;\n },\n { replace: true },\n );\n },\n [setSearchParams],\n );\n\n const handleDatePresetChange = useCallback(\n (preset: TraceDatePreset) => {\n // Update ref synchronously so any onDateChange fired by the picker in the\n // same tick (for non-custom presets) sees the new value and skips.\n datePresetRef.current = preset;\n setSearchParams(\n prev => {\n const next = new URLSearchParams(prev);\n if (preset === 'last-24h') {\n // Default — clear all date params.\n next.delete(TRACE_DATE_PRESET_PARAM);\n next.delete(TRACE_DATE_FROM_PARAM);\n next.delete(TRACE_DATE_TO_PARAM);\n } else if (preset === 'custom') {\n next.set(TRACE_DATE_PRESET_PARAM, 'custom');\n // Keep existing dateFrom/dateTo for the user to adjust.\n } else {\n // `last-*` or 'all' — only the preset is stored; dates are derived.\n next.set(TRACE_DATE_PRESET_PARAM, preset);\n next.delete(TRACE_DATE_FROM_PARAM);\n next.delete(TRACE_DATE_TO_PARAM);\n }\n clearSelectionParams(next);\n return next;\n },\n { replace: true },\n );\n },\n [setSearchParams],\n );\n\n const handleListModeChange = useCallback(\n (mode: TraceListMode) => {\n setSearchParams(\n prev => {\n const next = new URLSearchParams(prev);\n if (mode === 'traces') {\n next.delete(TRACE_LIST_MODE_PARAM);\n } else {\n next.set(TRACE_LIST_MODE_PARAM, mode);\n }\n // Clear selection: rows from the previous mode don't map cleanly to the new mode.\n clearSelectionParams(next);\n return next;\n },\n { replace: true },\n );\n },\n [setSearchParams],\n );\n\n const handleRemoveAll = useCallback(() => {\n setSearchParams(\n prev => {\n const next = new URLSearchParams(prev);\n next.delete(TRACE_LIST_MODE_PARAM);\n next.delete(TRACE_ROOT_ENTITY_TYPE_PARAM);\n next.delete(TRACE_STATUS_PARAM);\n for (const fieldId of TRACE_PROPERTY_FILTER_FIELD_IDS) {\n next.delete(TRACE_PROPERTY_FILTER_PARAM_BY_FIELD[fieldId]);\n }\n clearSelectionParams(next);\n return next;\n },\n { replace: true },\n );\n onRemoveAll?.();\n }, [setSearchParams, onRemoveAll]);\n\n return {\n searchParams,\n setSearchParams,\n datePreset,\n selectedDateFrom,\n selectedDateTo,\n datePresetRef,\n traceIdParam,\n spanIdParam,\n anchorSpanIdParam,\n spanTabParam,\n scoreIdParam,\n highlightSpanIdsParam,\n listMode,\n selectedEntityOption,\n selectedStatus,\n filterTokens,\n handleTraceClick,\n handleTraceClose,\n handleSpanChange,\n handleSpanClose,\n handleSpanTabChange,\n handleSpanChangeWithTab,\n handleScoreChange,\n handleHighlightSpans,\n handleListModeChange,\n handleFilterTokensChange,\n handleDateChange,\n handleDatePresetChange,\n handleRemoveAll,\n applyFilterTokens,\n };\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-trace-url-state.es.js","sources":["../../../../src/domains/traces/hooks/use-trace-url-state.tsx"],"sourcesContent":["import { useCallback, useMemo, useRef } from 'react';\nimport type { TraceSpanView } from '../components/trace-data-panel-view';\nimport type { SpanTab, TraceDatePreset } from '../index';\nimport {\n ROOT_ENTITY_TYPE_OPTIONS,\n TRACE_ANCHOR_SPAN_ID_PARAM,\n TRACE_DATE_FROM_PARAM,\n TRACE_DATE_PRESET_PARAM,\n TRACE_DATE_PRESET_VALUES,\n TRACE_DATE_TO_PARAM,\n TRACE_PROPERTY_FILTER_FIELD_IDS,\n TRACE_LIST_MODE_PARAM,\n TRACE_LIST_MODE_VALUES,\n TRACE_PROPERTY_FILTER_PARAM_BY_FIELD,\n TRACE_ROOT_ENTITY_TYPE_PARAM,\n TRACE_STATUS_PARAM,\n TRACE_STATUS_VALUES,\n applyTracePropertyFilterTokens,\n getTracePropertyFilterTokens,\n} from '../trace-filters';\nimport type { EntityOptions, TraceListMode, TraceStatusFilter } from '../trace-filters';\nimport type { PropertyFilterToken } from '@/ds/components/PropertyFilter/types';\n\nconst TRACE_ID_PARAM = 'traceId';\nconst SPAN_ID_PARAM = 'spanId';\nconst TAB_PARAM = 'tab';\nconst SPAN_VIEW_PARAM = 'spanView';\nconst SCORE_ID_PARAM = 'scoreId';\nconst HIGHLIGHT_SPAN_IDS_PARAM = 'highlightSpanIds';\n\nconst DAY_MS = 24 * 60 * 60 * 1000;\nconst PRESET_MS: Partial<Record<TraceDatePreset, number>> = {\n 'last-24h': DAY_MS,\n 'last-3d': 3 * DAY_MS,\n 'last-7d': 7 * DAY_MS,\n 'last-14d': 14 * DAY_MS,\n 'last-30d': 30 * DAY_MS,\n};\n\n/** Mutates `params` in place to drop the featured trace/span/tab/score selection.\n * Used whenever a filter changes — selection no longer makes sense in the new result set. */\nfunction clearSelectionParams(params: URLSearchParams) {\n params.delete(TRACE_ID_PARAM);\n params.delete(SPAN_ID_PARAM);\n params.delete(TRACE_ANCHOR_SPAN_ID_PARAM);\n params.delete(TAB_PARAM);\n params.delete(SCORE_ID_PARAM);\n params.delete(HIGHLIGHT_SPAN_IDS_PARAM);\n}\n\n/** Minimal interface compatible with react-router's `setSearchParams`. */\nexport type SetURLSearchParamsLike = (\n next: URLSearchParams | ((prev: URLSearchParams) => URLSearchParams),\n options?: { replace?: boolean; preventScrollReset?: boolean; state?: unknown },\n) => void;\n\nexport interface UseTraceUrlStateOptions {\n /** Called after `handleRemoveAll` clears all filter URL params. Use this to reset page-local\n * UI state (e.g. a \"group by thread\" toggle) without wrapping the handler. */\n onRemoveAll?: () => void;\n}\n\nexport interface UseTraceUrlStateResult {\n // Raw search params passed through for convenience\n searchParams: URLSearchParams;\n setSearchParams: SetURLSearchParamsLike;\n\n // Date state (derived from URL)\n datePreset: TraceDatePreset;\n selectedDateFrom: Date | undefined;\n selectedDateTo: Date | undefined;\n /** Synchronously-updated ref of the latest preset. Used to ignore onDateChange callbacks\n * the date picker fires after a non-custom preset switch. */\n datePresetRef: React.MutableRefObject<TraceDatePreset>;\n\n // Selection state (derived from URL)\n traceIdParam: string | undefined;\n spanIdParam: string | undefined;\n /** Branch-mode only: the anchor span that defines the displayed subtree. Stable while the\n * user navigates between spans inside the panel (which only changes `spanIdParam`). */\n anchorSpanIdParam: string | undefined;\n spanTabParam: SpanTab | undefined;\n /** Which view the trace column shows; `tree` is the default and is not written to the URL. */\n spanViewParam: TraceSpanView;\n scoreIdParam: string | undefined;\n /** Span ids featured in the timeline (e.g. the spans behind a reconstructed message). Empty when unset. */\n highlightSpanIdsParam: string[];\n\n // Filter state (derived from URL)\n listMode: TraceListMode;\n selectedEntityOption: EntityOptions | undefined;\n selectedStatus: TraceStatusFilter | undefined;\n filterTokens: PropertyFilterToken[];\n\n // URL-modifying handlers\n /**\n * Selects a row. In traces mode pass just `traceId` (and optionally a `spanId` for an\n * initial span selection in the panel). In branches mode also pass `anchorSpanId` — the\n * branch identity, kept stable while the user navigates between spans inside the panel.\n * Branch rows are identified by (traceId, anchorSpanId); trace rows by traceId alone.\n */\n handleTraceClick: (traceId: string, spanId?: string, anchorSpanId?: string) => void;\n /** Convenience: clears the featured trace selection. Equivalent to `handleTraceClick('')`. */\n handleTraceClose: () => void;\n handleSpanChange: (spanId: string | null) => void;\n /** Convenience: clears the featured span selection. Equivalent to `handleSpanChange(null)`. */\n handleSpanClose: () => void;\n handleSpanTabChange: (tab: SpanTab) => void;\n handleSpanViewChange: (view: TraceSpanView) => void;\n /** Selects a span AND switches its panel tab in a single URL update. Use when both must change\n * from one interaction (e.g. \"Evaluate Trace\"). Calling `handleSpanChange` + `handleSpanTabChange`\n * separately races: each functional `setSearchParams` updater reads the same pre-update\n * `searchParams` snapshot, so the second navigation overwrites the first (last write wins) and one\n * of the two changes is lost on the first click. */\n handleSpanChangeWithTab: (spanId: string, tab: SpanTab) => void;\n handleScoreChange: (scoreId: string | null) => void;\n /** Features `spanIds` in the timeline and selects the first one. An empty array clears the highlight. */\n handleHighlightSpans: (spanIds: string[]) => void;\n /** Switches the list view between traces and branches. Clears the current selection. */\n handleListModeChange: (mode: TraceListMode) => void;\n handleFilterTokensChange: (nextTokens: PropertyFilterToken[]) => void;\n handleDateChange: (value: Date | undefined, type: 'from' | 'to') => void;\n /** Writes both ends of a custom range in one URL update (two `handleDateChange` calls in the\n * same tick would clobber each other through react-router's closure-bound setter). */\n handleDateRangeChange: (from: Date | undefined, to: Date | undefined) => void;\n handleDatePresetChange: (preset: TraceDatePreset) => void;\n handleRemoveAll: () => void;\n\n /** Lower-level helper used by `handleClear`: writes a token set and clears the trace/span selection. */\n applyFilterTokens: (tokens: PropertyFilterToken[]) => void;\n}\n\n/**\n * Owns all URL-derived state and URL-modifying handlers for the traces page. Routing-agnostic —\n * pass `searchParams` and `setSearchParams` from whichever router the consumer uses.\n *\n * Stays focused on URL state: localStorage save/restore, filter discovery, and the error-view\n * short-circuit are intentionally NOT part of this hook so consumers can swap them independently.\n */\nexport function useTraceUrlState(\n searchParams: URLSearchParams,\n setSearchParams: SetURLSearchParamsLike,\n options?: UseTraceUrlStateOptions,\n): UseTraceUrlStateResult {\n const { onRemoveAll } = options ?? {};\n const datePreset = useMemo<TraceDatePreset>(() => {\n const value = searchParams.get(TRACE_DATE_PRESET_PARAM);\n return value && value !== 'all' && TRACE_DATE_PRESET_VALUES.has(value as TraceDatePreset)\n ? (value as TraceDatePreset)\n : 'last-7d';\n }, [searchParams]);\n\n const dateFromParamRaw = searchParams.get(TRACE_DATE_FROM_PARAM);\n const dateToParamRaw = searchParams.get(TRACE_DATE_TO_PARAM);\n\n const selectedDateFrom = useMemo(() => {\n if (datePreset === 'custom') {\n if (!dateFromParamRaw) return undefined;\n const parsed = new Date(dateFromParamRaw);\n return Number.isNaN(parsed.getTime()) ? undefined : parsed;\n }\n // 'all' has no entry in PRESET_MS, so it falls out as an open-ended window.\n const ms = PRESET_MS[datePreset];\n return ms ? new Date(Date.now() - ms) : undefined;\n }, [datePreset, dateFromParamRaw]);\n\n const selectedDateTo = useMemo(() => {\n if (datePreset !== 'custom' || !dateToParamRaw) return undefined;\n const parsed = new Date(dateToParamRaw);\n return Number.isNaN(parsed.getTime()) ? undefined : parsed;\n }, [datePreset, dateToParamRaw]);\n\n // Track the latest preset synchronously so onDateChange callbacks that follow\n // a non-custom preset switch can be ignored (router setSearchParams captures\n // searchParams in its closure, so multiple synchronous calls would otherwise\n // clobber each other).\n const datePresetRef = useRef(datePreset);\n datePresetRef.current = datePreset;\n\n const traceIdParam = searchParams.get(TRACE_ID_PARAM) || undefined;\n const spanIdParam = searchParams.get(SPAN_ID_PARAM) || undefined;\n /** Branch-mode only: identifies which branch (anchor span) the panel is viewing. Stays put\n * while the user navigates between spans inside the panel (which only changes spanIdParam). */\n const anchorSpanIdParam = searchParams.get(TRACE_ANCHOR_SPAN_ID_PARAM) || undefined;\n const tabParam = searchParams.get(TAB_PARAM);\n const spanTabParam: SpanTab | undefined =\n tabParam === 'feedback' ? 'feedback' : tabParam === 'details' ? 'details' : undefined;\n const spanViewParam: TraceSpanView = searchParams.get(SPAN_VIEW_PARAM) === 'timeline' ? 'timeline' : 'tree';\n const scoreIdParam = searchParams.get(SCORE_ID_PARAM) || undefined;\n const highlightSpanIdsRaw = searchParams.get(HIGHLIGHT_SPAN_IDS_PARAM);\n const highlightSpanIdsParam = useMemo(\n () => (highlightSpanIdsRaw ? highlightSpanIdsRaw.split(',').filter(Boolean) : []),\n [highlightSpanIdsRaw],\n );\n\n const listMode = useMemo<TraceListMode>(() => {\n const value = searchParams.get(TRACE_LIST_MODE_PARAM);\n return value && TRACE_LIST_MODE_VALUES.has(value as TraceListMode) ? (value as TraceListMode) : 'traces';\n }, [searchParams]);\n const selectedEntityOption = useMemo(\n () => ROOT_ENTITY_TYPE_OPTIONS.find(option => option.entityType === searchParams.get(TRACE_ROOT_ENTITY_TYPE_PARAM)),\n [searchParams],\n );\n const selectedStatus = useMemo<TraceStatusFilter | undefined>(() => {\n const value = searchParams.get(TRACE_STATUS_PARAM);\n return value && TRACE_STATUS_VALUES.has(value as TraceStatusFilter) ? (value as TraceStatusFilter) : undefined;\n }, [searchParams]);\n const filterTokens = useMemo(() => getTracePropertyFilterTokens(searchParams), [searchParams]);\n\n const handleTraceClick = useCallback(\n (traceId: string, spanId?: string, anchorSpanId?: string) => {\n setSearchParams(\n prev => {\n const next = new URLSearchParams(prev);\n if (traceId) {\n next.set(TRACE_ID_PARAM, traceId);\n } else {\n next.delete(TRACE_ID_PARAM);\n }\n if (spanId) {\n next.set(SPAN_ID_PARAM, spanId);\n } else {\n next.delete(SPAN_ID_PARAM);\n }\n if (anchorSpanId) {\n next.set(TRACE_ANCHOR_SPAN_ID_PARAM, anchorSpanId);\n } else {\n next.delete(TRACE_ANCHOR_SPAN_ID_PARAM);\n }\n next.delete(TAB_PARAM);\n next.delete(SCORE_ID_PARAM);\n next.delete(HIGHLIGHT_SPAN_IDS_PARAM);\n return next;\n },\n { replace: true },\n );\n },\n [setSearchParams],\n );\n\n const handleTraceClose = useCallback(() => handleTraceClick(''), [handleTraceClick]);\n\n const handleSpanChange = useCallback(\n (spanId: string | null) => {\n const currentSpanId = searchParams.get(SPAN_ID_PARAM) || null;\n if (spanId === currentSpanId) return;\n\n setSearchParams(\n prev => {\n const next = new URLSearchParams(prev);\n if (spanId) {\n next.set(SPAN_ID_PARAM, spanId);\n } else {\n next.delete(SPAN_ID_PARAM);\n }\n // Tab + score are per-span; they'd point at the previous span's context otherwise.\n next.delete(TAB_PARAM);\n next.delete(SCORE_ID_PARAM);\n return next;\n },\n { replace: true },\n );\n },\n [searchParams, setSearchParams],\n );\n\n const handleSpanClose = useCallback(() => handleSpanChange(null), [handleSpanChange]);\n\n const handleSpanViewChange = useCallback(\n (view: TraceSpanView) => {\n setSearchParams(\n prev => {\n const next = new URLSearchParams(prev);\n if (view === 'timeline') {\n next.set(SPAN_VIEW_PARAM, view);\n } else {\n next.delete(SPAN_VIEW_PARAM);\n }\n return next;\n },\n { replace: true },\n );\n },\n [setSearchParams],\n );\n\n const handleSpanTabChange = useCallback(\n (tab: SpanTab) => {\n const currentTab = searchParams.get(TAB_PARAM) || null;\n if (tab === currentTab) return;\n\n setSearchParams(\n prev => {\n const next = new URLSearchParams(prev);\n if (tab && tab !== 'details') {\n next.set(TAB_PARAM, tab);\n } else {\n next.delete(TAB_PARAM);\n }\n next.delete(SCORE_ID_PARAM);\n return next;\n },\n { replace: true },\n );\n },\n [searchParams, setSearchParams],\n );\n\n const handleSpanChangeWithTab = useCallback(\n (spanId: string, tab: SpanTab) => {\n const nextTab = tab && tab !== 'details' ? tab : null;\n // No-op guard (same pattern as the sibling handlers): skip the navigation only when span,\n // tab AND score are already exactly what this call would produce.\n const isNoOp =\n spanId === (searchParams.get(SPAN_ID_PARAM) || null) &&\n nextTab === (searchParams.get(TAB_PARAM) || null) &&\n !searchParams.get(SCORE_ID_PARAM);\n if (isNoOp) return;\n\n setSearchParams(\n prev => {\n const next = new URLSearchParams(prev);\n next.set(SPAN_ID_PARAM, spanId);\n if (nextTab) {\n next.set(TAB_PARAM, nextTab);\n } else {\n next.delete(TAB_PARAM);\n }\n next.delete(SCORE_ID_PARAM);\n return next;\n },\n { replace: true },\n );\n },\n [searchParams, setSearchParams],\n );\n\n const handleScoreChange = useCallback(\n (scoreId: string | null) => {\n const currentScoreId = searchParams.get(SCORE_ID_PARAM) || null;\n if (scoreId === currentScoreId) return;\n\n setSearchParams(\n prev => {\n const next = new URLSearchParams(prev);\n if (scoreId) {\n next.set(SCORE_ID_PARAM, scoreId);\n } else {\n next.delete(SCORE_ID_PARAM);\n }\n return next;\n },\n { replace: true },\n );\n },\n [searchParams, setSearchParams],\n );\n\n const handleHighlightSpans = useCallback(\n (spanIds: string[]) => {\n setSearchParams(\n prev => {\n const next = new URLSearchParams(prev);\n const [firstSpanId] = spanIds;\n if (!firstSpanId) {\n next.delete(HIGHLIGHT_SPAN_IDS_PARAM);\n return next;\n }\n next.set(HIGHLIGHT_SPAN_IDS_PARAM, spanIds.join(','));\n // Open the detail panel on the first highlighted span.\n next.set(SPAN_ID_PARAM, firstSpanId);\n next.delete(TAB_PARAM);\n next.delete(SCORE_ID_PARAM);\n return next;\n },\n { replace: true },\n );\n },\n [setSearchParams],\n );\n\n const applyFilterTokens = useCallback(\n (tokens: PropertyFilterToken[]) => {\n setSearchParams(\n prev => {\n const next = new URLSearchParams(prev);\n // applyTracePropertyFilterTokens wipes all filter params (including\n // rootEntityType / status) and re-adds them in `nextTokens` order so\n // URL insertion order == filter creation order.\n applyTracePropertyFilterTokens(next, tokens);\n clearSelectionParams(next);\n return next;\n },\n { replace: true },\n );\n },\n [setSearchParams],\n );\n\n const handleFilterTokensChange = applyFilterTokens;\n\n // Only relevant for 'custom' — the picker also fires onDateChange after a\n // non-custom preset switch, which we ignore to avoid racing URL updates.\n const handleDateChange = useCallback(\n (value: Date | undefined, type: 'from' | 'to') => {\n if (datePresetRef.current !== 'custom') return;\n const param = type === 'from' ? TRACE_DATE_FROM_PARAM : TRACE_DATE_TO_PARAM;\n setSearchParams(\n prev => {\n const next = new URLSearchParams(prev);\n if (value) {\n next.set(param, value.toISOString());\n } else {\n next.delete(param);\n }\n clearSelectionParams(next);\n return next;\n },\n { replace: true },\n );\n },\n [setSearchParams],\n );\n\n const handleDateRangeChange = useCallback(\n (from: Date | undefined, to: Date | undefined) => {\n if (datePresetRef.current !== 'custom') return;\n setSearchParams(\n prev => {\n const next = new URLSearchParams(prev);\n if (from) next.set(TRACE_DATE_FROM_PARAM, from.toISOString());\n else next.delete(TRACE_DATE_FROM_PARAM);\n if (to) next.set(TRACE_DATE_TO_PARAM, to.toISOString());\n else next.delete(TRACE_DATE_TO_PARAM);\n clearSelectionParams(next);\n return next;\n },\n { replace: true },\n );\n },\n [setSearchParams],\n );\n\n const handleDatePresetChange = useCallback(\n (preset: TraceDatePreset) => {\n // Update ref synchronously so any onDateChange fired by the picker in the\n // same tick (for non-custom presets) sees the new value and skips.\n datePresetRef.current = preset;\n setSearchParams(\n prev => {\n const next = new URLSearchParams(prev);\n if (preset === 'last-7d') {\n // Default — clear all date params.\n next.delete(TRACE_DATE_PRESET_PARAM);\n next.delete(TRACE_DATE_FROM_PARAM);\n next.delete(TRACE_DATE_TO_PARAM);\n } else if (preset === 'custom') {\n next.set(TRACE_DATE_PRESET_PARAM, 'custom');\n // Keep existing dateFrom/dateTo for the user to adjust.\n } else {\n // `last-*` or 'all' — only the preset is stored; dates are derived.\n next.set(TRACE_DATE_PRESET_PARAM, preset);\n next.delete(TRACE_DATE_FROM_PARAM);\n next.delete(TRACE_DATE_TO_PARAM);\n }\n clearSelectionParams(next);\n return next;\n },\n { replace: true },\n );\n },\n [setSearchParams],\n );\n\n const handleListModeChange = useCallback(\n (mode: TraceListMode) => {\n setSearchParams(\n prev => {\n const next = new URLSearchParams(prev);\n if (mode === 'traces') {\n next.delete(TRACE_LIST_MODE_PARAM);\n } else {\n next.set(TRACE_LIST_MODE_PARAM, mode);\n }\n // Clear selection: rows from the previous mode don't map cleanly to the new mode.\n clearSelectionParams(next);\n return next;\n },\n { replace: true },\n );\n },\n [setSearchParams],\n );\n\n const handleRemoveAll = useCallback(() => {\n setSearchParams(\n prev => {\n const next = new URLSearchParams(prev);\n next.delete(TRACE_LIST_MODE_PARAM);\n next.delete(TRACE_ROOT_ENTITY_TYPE_PARAM);\n next.delete(TRACE_STATUS_PARAM);\n for (const fieldId of TRACE_PROPERTY_FILTER_FIELD_IDS) {\n next.delete(TRACE_PROPERTY_FILTER_PARAM_BY_FIELD[fieldId]);\n }\n clearSelectionParams(next);\n return next;\n },\n { replace: true },\n );\n onRemoveAll?.();\n }, [setSearchParams, onRemoveAll]);\n\n return {\n searchParams,\n setSearchParams,\n datePreset,\n selectedDateFrom,\n selectedDateTo,\n datePresetRef,\n traceIdParam,\n spanIdParam,\n anchorSpanIdParam,\n spanTabParam,\n spanViewParam,\n scoreIdParam,\n highlightSpanIdsParam,\n listMode,\n selectedEntityOption,\n selectedStatus,\n filterTokens,\n handleTraceClick,\n handleTraceClose,\n handleSpanChange,\n handleSpanClose,\n handleSpanTabChange,\n handleSpanViewChange,\n handleSpanChangeWithTab,\n handleScoreChange,\n handleHighlightSpans,\n handleListModeChange,\n handleFilterTokensChange,\n handleDateChange,\n handleDateRangeChange,\n handleDatePresetChange,\n handleRemoveAll,\n applyFilterTokens,\n };\n}\n"],"names":[],"mappings":"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"}
@@ -159,7 +159,8 @@ function mergeDeltaIntoPage0(old, delta, listMode) {
159
159
  const useTraces = ({
160
160
  filters,
161
161
  listMode = "traces",
162
- polling = {}
162
+ polling = {},
163
+ enabled = true
163
164
  }) => {
164
165
  const {
165
166
  deltaPollIntervalMs = DEFAULT_POLLING_CONFIG.deltaPollIntervalMs,
@@ -184,6 +185,7 @@ const useTraces = ({
184
185
  const tracesQueryKey = ["traces", listMode, filters];
185
186
  const query = reactQuery.useInfiniteQuery({
186
187
  queryKey: tracesQueryKey,
188
+ enabled,
187
189
  queryFn: ({ pageParam }) => fetchTracesFn({
188
190
  client,
189
191
  page: pageParam,
@@ -224,7 +226,7 @@ const useTraces = ({
224
226
  listMode
225
227
  });
226
228
  },
227
- enabled: !!cursor && !deltaUnsupported && autoRefetch,
229
+ enabled: enabled && !!cursor && !deltaUnsupported && autoRefetch,
228
230
  retry: false,
229
231
  refetchInterval: (q) => {
230
232
  if (q.state.error) return false;
@@ -271,7 +273,7 @@ const useTraces = ({
271
273
  filters,
272
274
  listMode
273
275
  }),
274
- enabled: !!cursor && !deltaUnsupported && autoRefetch,
276
+ enabled: enabled && !!cursor && !deltaUnsupported && autoRefetch,
275
277
  refetchInterval: page0StatusRefreshIntervalMs,
276
278
  refetchOnMount: false,
277
279
  retry: false
@@ -293,8 +295,8 @@ const useTraces = ({
293
295
  }, [query.dataUpdatedAt, deltaQuery.dataUpdatedAt, statusRefreshQuery.dataUpdatedAt]);
294
296
  const autoRefetchRef = React.useRef(autoRefetch);
295
297
  React.useEffect(() => {
296
- autoRefetchRef.current = autoRefetch;
297
- }, [autoRefetch]);
298
+ autoRefetchRef.current = enabled && autoRefetch;
299
+ }, [enabled, autoRefetch]);
298
300
  React.useEffect(() => {
299
301
  const handler = () => {
300
302
  if (document.visibilityState !== "visible") return;
@@ -307,10 +309,10 @@ const useTraces = ({
307
309
  }, [queryClient, listMode, filters, idleGuardThresholdMs]);
308
310
  const { hasNextPage, isFetchingNextPage, fetchNextPage } = query;
309
311
  React.useEffect(() => {
310
- if (isEndOfListInView && hasNextPage && !isFetchingNextPage) {
312
+ if (enabled && isEndOfListInView && hasNextPage && !isFetchingNextPage) {
311
313
  void fetchNextPage();
312
314
  }
313
- }, [isEndOfListInView, hasNextPage, isFetchingNextPage, fetchNextPage]);
315
+ }, [enabled, isEndOfListInView, hasNextPage, isFetchingNextPage, fetchNextPage]);
314
316
  const isFetchingAny = query.isFetching || statusRefreshQuery.isFetching || deltaQuery.isFetching;
315
317
  const lastActivityAt = Math.max(
316
318
  query.dataUpdatedAt,