@mastra/playground-ui 56.0.0-alpha.8 → 56.0.0

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 (1743) hide show
  1. package/README.md +4 -16
  2. package/dist/Badge-BEeYtjmv.cjs +125 -0
  3. package/dist/Badge-BEeYtjmv.cjs.map +1 -0
  4. package/dist/Badge-TD55_qZJ.js +123 -0
  5. package/dist/Badge-TD55_qZJ.js.map +1 -0
  6. package/dist/Button-CVewl8nT.cjs +202 -0
  7. package/dist/Button-CVewl8nT.cjs.map +1 -0
  8. package/dist/Button-cWcBEd-G.js +198 -0
  9. package/dist/Button-cWcBEd-G.js.map +1 -0
  10. package/dist/Card-D0kFp9j9.cjs +101 -0
  11. package/dist/Card-D0kFp9j9.cjs.map +1 -0
  12. package/dist/Card-DEvGFj-Z.js +74 -0
  13. package/dist/Card-DEvGFj-Z.js.map +1 -0
  14. package/dist/CommandPalette.css +9 -10
  15. package/dist/EmptyState-CdRjFB06.cjs +33 -0
  16. package/dist/EmptyState-CdRjFB06.cjs.map +1 -0
  17. package/dist/EmptyState-UWXhBp5U.js +31 -0
  18. package/dist/EmptyState-UWXhBp5U.js.map +1 -0
  19. package/dist/ErrorState-B3uTRAEd.cjs +16 -0
  20. package/dist/ErrorState-B3uTRAEd.cjs.map +1 -0
  21. package/dist/ErrorState-DqRx8Dw_.js +14 -0
  22. package/dist/ErrorState-DqRx8Dw_.js.map +1 -0
  23. package/dist/Notice-Ah-84yi6.js +89 -0
  24. package/dist/Notice-Ah-84yi6.js.map +1 -0
  25. package/dist/Notice-Cjti0e0j.cjs +91 -0
  26. package/dist/Notice-Cjti0e0j.cjs.map +1 -0
  27. package/dist/PermissionDenied-B6TSGolC.js +22 -0
  28. package/dist/PermissionDenied-B6TSGolC.js.map +1 -0
  29. package/dist/PermissionDenied-Dz5qXpQj.cjs +24 -0
  30. package/dist/PermissionDenied-Dz5qXpQj.cjs.map +1 -0
  31. package/dist/SessionExpired-Bq5LcsDu.js +45 -0
  32. package/dist/SessionExpired-Bq5LcsDu.js.map +1 -0
  33. package/dist/SessionExpired-CF0BGNo_.cjs +47 -0
  34. package/dist/SessionExpired-CF0BGNo_.cjs.map +1 -0
  35. package/dist/Txt-B4-2nLaI.cjs +38 -0
  36. package/dist/Txt-B4-2nLaI.cjs.map +1 -0
  37. package/dist/Txt-DTh3Pa_a.js +36 -0
  38. package/dist/Txt-DTh3Pa_a.js.map +1 -0
  39. package/dist/activity-B8TfxRNU.js +49 -0
  40. package/dist/activity-B8TfxRNU.js.map +1 -0
  41. package/dist/activity-BYMLNb0G.cjs +52 -0
  42. package/dist/activity-BYMLNb0G.cjs.map +1 -0
  43. package/dist/activity.css +1 -1
  44. package/dist/arrival-BWQZUZFQ.cjs +22 -0
  45. package/dist/arrival-BWQZUZFQ.cjs.map +1 -0
  46. package/dist/arrival-RmSek4Iq.js +19 -0
  47. package/dist/arrival-RmSek4Iq.js.map +1 -0
  48. package/dist/ask-user-CS2e6Re4.cjs +147 -0
  49. package/dist/ask-user-CS2e6Re4.cjs.map +1 -0
  50. package/dist/ask-user-gS3Y1bCc.js +138 -0
  51. package/dist/ask-user-gS3Y1bCc.js.map +1 -0
  52. package/dist/buttons-group-BiLEV_Ak.cjs +101 -0
  53. package/dist/buttons-group-BiLEV_Ak.cjs.map +1 -0
  54. package/dist/buttons-group-CaA7KAWf.js +78 -0
  55. package/dist/buttons-group-CaA7KAWf.js.map +1 -0
  56. package/dist/buttons-group.css +135 -0
  57. package/dist/chart-tooltip-84fl_3Wc.js +17 -0
  58. package/dist/chart-tooltip-84fl_3Wc.js.map +1 -0
  59. package/dist/chart-tooltip-DX6vs_Tc.cjs +19 -0
  60. package/dist/chart-tooltip-DX6vs_Tc.cjs.map +1 -0
  61. package/dist/chat-notification-4OuPNhtu.js +107 -0
  62. package/dist/chat-notification-4OuPNhtu.js.map +1 -0
  63. package/dist/chat-notification-CPrlBwP_.cjs +111 -0
  64. package/dist/chat-notification-CPrlBwP_.cjs.map +1 -0
  65. package/dist/chat-signal-B_T2DSzo.cjs +42 -0
  66. package/dist/chat-signal-B_T2DSzo.cjs.map +1 -0
  67. package/dist/chat-signal-CG5-vy21.js +40 -0
  68. package/dist/chat-signal-CG5-vy21.js.map +1 -0
  69. package/dist/checkbox-CI8JtZKS.cjs +100 -0
  70. package/dist/checkbox-CI8JtZKS.cjs.map +1 -0
  71. package/dist/checkbox-CQedzgsi.js +79 -0
  72. package/dist/checkbox-CQedzgsi.js.map +1 -0
  73. package/dist/cn-65Adrsfj.js +3286 -0
  74. package/dist/cn-65Adrsfj.js.map +1 -0
  75. package/dist/cn-DG0X1KEP.cjs +3289 -0
  76. package/dist/cn-DG0X1KEP.cjs.map +1 -0
  77. package/dist/code-block-CSqjpBvb.js +86 -0
  78. package/dist/code-block-CSqjpBvb.js.map +1 -0
  79. package/dist/code-block-Cd4u7Bo9.cjs +88 -0
  80. package/dist/code-block-Cd4u7Bo9.cjs.map +1 -0
  81. package/dist/code-diff-C5uY-3Hz.js +145 -0
  82. package/dist/code-diff-C5uY-3Hz.js.map +1 -0
  83. package/dist/code-diff-DBtbPe9D.cjs +147 -0
  84. package/dist/code-diff-DBtbPe9D.cjs.map +1 -0
  85. package/dist/code-editor-DgY7d8kg.cjs +494 -0
  86. package/dist/code-editor-DgY7d8kg.cjs.map +1 -0
  87. package/dist/code-editor-vCt7l9Bl.js +486 -0
  88. package/dist/code-editor-vCt7l9Bl.js.map +1 -0
  89. package/dist/collapsible-B2uUy8w5.js +57 -0
  90. package/dist/collapsible-B2uUy8w5.js.map +1 -0
  91. package/dist/collapsible-BvrI6XnN.cjs +61 -0
  92. package/dist/collapsible-BvrI6XnN.cjs.map +1 -0
  93. package/dist/combobox-BWM3VH-n.cjs +203 -0
  94. package/dist/combobox-BWM3VH-n.cjs.map +1 -0
  95. package/dist/combobox-D7xJFZuO.js +182 -0
  96. package/dist/combobox-D7xJFZuO.js.map +1 -0
  97. package/dist/combobox-styles-CRebmeht.js +94 -0
  98. package/dist/combobox-styles-CRebmeht.js.map +1 -0
  99. package/dist/combobox-styles-DYlNNjKC.cjs +98 -0
  100. package/dist/combobox-styles-DYlNNjKC.cjs.map +1 -0
  101. package/dist/command-DuT06mTw.cjs +211 -0
  102. package/dist/command-DuT06mTw.cjs.map +1 -0
  103. package/dist/command-jRiL1vXM.js +182 -0
  104. package/dist/command-jRiL1vXM.js.map +1 -0
  105. package/dist/components/Activity.cjs.js +1 -1
  106. package/dist/components/Activity.es.js +1 -1
  107. package/dist/components/AlertDialog.cjs.js +16 -7
  108. package/dist/components/AlertDialog.cjs.js.map +1 -1
  109. package/dist/components/AlertDialog.es.js +16 -7
  110. package/dist/components/AlertDialog.es.js.map +1 -1
  111. package/dist/components/Arrival.cjs.js +1 -1
  112. package/dist/components/Arrival.es.js +1 -1
  113. package/dist/components/Avatar.cjs.js +9 -8
  114. package/dist/components/Avatar.cjs.js.map +1 -1
  115. package/dist/components/Avatar.es.js +10 -9
  116. package/dist/components/Avatar.es.js.map +1 -1
  117. package/dist/components/Badge.cjs.js +1 -1
  118. package/dist/components/Badge.es.js +1 -1
  119. package/dist/components/BrandLoader.cjs.js +2 -2
  120. package/dist/components/BrandLoader.cjs.js.map +1 -1
  121. package/dist/components/BrandLoader.es.js +2 -2
  122. package/dist/components/BrandLoader.es.js.map +1 -1
  123. package/dist/components/Breadcrumb.cjs.js +8 -7
  124. package/dist/components/Breadcrumb.cjs.js.map +1 -1
  125. package/dist/components/Breadcrumb.es.js +9 -8
  126. package/dist/components/Breadcrumb.es.js.map +1 -1
  127. package/dist/components/Button.cjs.js +2 -2
  128. package/dist/components/Button.es.js +3 -3
  129. package/dist/components/ButtonsGroup.cjs.js +1 -2
  130. package/dist/components/ButtonsGroup.cjs.js.map +1 -1
  131. package/dist/components/ButtonsGroup.es.js +1 -1
  132. package/dist/components/Card.cjs.js +1 -1
  133. package/dist/components/Card.es.js +1 -1
  134. package/dist/components/ChartTooltip.cjs.js +10 -0
  135. package/dist/components/ChartTooltip.cjs.js.map +1 -0
  136. package/dist/components/ChartTooltip.d.ts +2 -0
  137. package/dist/components/ChartTooltip.es.js +2 -0
  138. package/dist/components/ChartTooltip.es.js.map +1 -0
  139. package/dist/components/ChatShell.cjs.js +4 -4
  140. package/dist/components/ChatShell.cjs.js.map +1 -1
  141. package/dist/components/ChatShell.es.js +4 -4
  142. package/dist/components/ChatShell.es.js.map +1 -1
  143. package/dist/components/Checkbox.cjs.js +1 -1
  144. package/dist/components/Checkbox.es.js +1 -1
  145. package/dist/components/ClampedText.cjs.js +4 -4
  146. package/dist/components/ClampedText.cjs.js.map +1 -1
  147. package/dist/components/ClampedText.es.js +4 -4
  148. package/dist/components/ClampedText.es.js.map +1 -1
  149. package/dist/components/CodeBlock.cjs.js +1 -1
  150. package/dist/components/CodeBlock.es.js +1 -1
  151. package/dist/components/CodeDiff.cjs.js +1 -1
  152. package/dist/components/CodeDiff.es.js +1 -1
  153. package/dist/components/CodeEditor.cjs.js +1 -1
  154. package/dist/components/CodeEditor.es.js +1 -1
  155. package/dist/components/Collapsible.cjs.js +1 -1
  156. package/dist/components/Collapsible.es.js +1 -1
  157. package/dist/components/Columns.cjs.js +4 -4
  158. package/dist/components/Columns.cjs.js.map +1 -1
  159. package/dist/components/Columns.es.js +4 -4
  160. package/dist/components/Columns.es.js.map +1 -1
  161. package/dist/components/Combobox.cjs.js +2 -2
  162. package/dist/components/Combobox.es.js +2 -2
  163. package/dist/components/Command.cjs.js +1 -1
  164. package/dist/components/Command.es.js +1 -1
  165. package/dist/components/CommandPalette.cjs.js +51 -24
  166. package/dist/components/CommandPalette.cjs.js.map +1 -1
  167. package/dist/components/CommandPalette.es.js +51 -24
  168. package/dist/components/CommandPalette.es.js.map +1 -1
  169. package/dist/components/Comment.cjs.js +40 -36
  170. package/dist/components/Comment.cjs.js.map +1 -1
  171. package/dist/components/Comment.es.js +41 -37
  172. package/dist/components/Comment.es.js.map +1 -1
  173. package/dist/components/Composer.cjs.js +8 -8
  174. package/dist/components/Composer.cjs.js.map +1 -1
  175. package/dist/components/Composer.es.js +8 -8
  176. package/dist/components/Composer.es.js.map +1 -1
  177. package/dist/components/ContextMenu.cjs.js +2 -2
  178. package/dist/components/ContextMenu.cjs.js.map +1 -1
  179. package/dist/components/ContextMenu.es.js +2 -2
  180. package/dist/components/ContextMenu.es.js.map +1 -1
  181. package/dist/components/CopyButton.cjs.js +1 -1
  182. package/dist/components/CopyButton.es.js +1 -1
  183. package/dist/components/DataCodeSection.cjs.js +1 -1
  184. package/dist/components/DataCodeSection.es.js +1 -1
  185. package/dist/components/DataDetailsPanel.cjs.js +46 -30
  186. package/dist/components/DataDetailsPanel.cjs.js.map +1 -1
  187. package/dist/components/DataDetailsPanel.es.js +46 -30
  188. package/dist/components/DataDetailsPanel.es.js.map +1 -1
  189. package/dist/components/DataFilter.cjs.js +5 -5
  190. package/dist/components/DataFilter.cjs.js.map +1 -1
  191. package/dist/components/DataFilter.es.js +5 -5
  192. package/dist/components/DataFilter.es.js.map +1 -1
  193. package/dist/components/DataKeysAndValues.cjs.js +1 -1
  194. package/dist/components/DataKeysAndValues.es.js +1 -1
  195. package/dist/components/DataList.cjs.js +11 -10
  196. package/dist/components/DataList.cjs.js.map +1 -1
  197. package/dist/components/DataList.es.js +11 -10
  198. package/dist/components/DataList.es.js.map +1 -1
  199. package/dist/components/DataPanel.cjs.js +1 -1
  200. package/dist/components/DataPanel.es.js +1 -1
  201. package/dist/components/DateRangeTimeline.cjs.js +25 -22
  202. package/dist/components/DateRangeTimeline.cjs.js.map +1 -1
  203. package/dist/components/DateRangeTimeline.es.js +25 -22
  204. package/dist/components/DateRangeTimeline.es.js.map +1 -1
  205. package/dist/components/DateTimePicker.cjs.js +10 -23
  206. package/dist/components/DateTimePicker.cjs.js.map +1 -1
  207. package/dist/components/DateTimePicker.es.js +11 -24
  208. package/dist/components/DateTimePicker.es.js.map +1 -1
  209. package/dist/components/DateTimeRangePicker.cjs.js +1 -1
  210. package/dist/components/DateTimeRangePicker.es.js +1 -1
  211. package/dist/components/Dialog.cjs.js +4 -4
  212. package/dist/components/Dialog.cjs.js.map +1 -1
  213. package/dist/components/Dialog.es.js +5 -5
  214. package/dist/components/Dialog.es.js.map +1 -1
  215. package/dist/components/Drawer.cjs.js +1 -1
  216. package/dist/components/Drawer.es.js +1 -1
  217. package/dist/components/DropdownMenu.cjs.js +1 -1
  218. package/dist/components/DropdownMenu.es.js +1 -1
  219. package/dist/components/EmptyState.cjs.js +1 -1
  220. package/dist/components/EmptyState.es.js +1 -1
  221. package/dist/components/Entity.cjs.js +9 -7
  222. package/dist/components/Entity.cjs.js.map +1 -1
  223. package/dist/components/Entity.es.js +9 -7
  224. package/dist/components/Entity.es.js.map +1 -1
  225. package/dist/components/EntityHeader.cjs.js +4 -4
  226. package/dist/components/EntityHeader.cjs.js.map +1 -1
  227. package/dist/components/EntityHeader.es.js +4 -4
  228. package/dist/components/EntityHeader.es.js.map +1 -1
  229. package/dist/components/Entry.cjs.js +2 -2
  230. package/dist/components/Entry.cjs.js.map +1 -1
  231. package/dist/components/Entry.es.js +2 -2
  232. package/dist/components/Entry.es.js.map +1 -1
  233. package/dist/components/EnvironmentVariablesEditor.cjs.js +21 -18
  234. package/dist/components/EnvironmentVariablesEditor.cjs.js.map +1 -1
  235. package/dist/components/EnvironmentVariablesEditor.es.js +21 -18
  236. package/dist/components/EnvironmentVariablesEditor.es.js.map +1 -1
  237. package/dist/components/ErrorBoundary.cjs.js +10 -9
  238. package/dist/components/ErrorBoundary.cjs.js.map +1 -1
  239. package/dist/components/ErrorBoundary.es.js +10 -9
  240. package/dist/components/ErrorBoundary.es.js.map +1 -1
  241. package/dist/components/ErrorState.cjs.js +1 -1
  242. package/dist/components/ErrorState.es.js +1 -1
  243. package/dist/components/FilterBar.cjs.js +224 -226
  244. package/dist/components/FilterBar.cjs.js.map +1 -1
  245. package/dist/components/FilterBar.es.js +228 -230
  246. package/dist/components/FilterBar.es.js.map +1 -1
  247. package/dist/components/FormFieldBlocks.cjs.js +52 -5
  248. package/dist/components/FormFieldBlocks.cjs.js.map +1 -1
  249. package/dist/components/FormFieldBlocks.es.js +54 -8
  250. package/dist/components/FormFieldBlocks.es.js.map +1 -1
  251. package/dist/components/Header.cjs.js +4 -4
  252. package/dist/components/Header.cjs.js.map +1 -1
  253. package/dist/components/Header.es.js +4 -4
  254. package/dist/components/Header.es.js.map +1 -1
  255. package/dist/components/HorizontalBars.cjs.js +1 -1
  256. package/dist/components/HorizontalBars.es.js +1 -1
  257. package/dist/components/HoverCard.cjs.js +1 -1
  258. package/dist/components/HoverCard.es.js +1 -1
  259. package/dist/components/Input.cjs.js +1 -1
  260. package/dist/components/Input.es.js +1 -1
  261. package/dist/components/InputGroup.cjs.js +1 -1
  262. package/dist/components/InputGroup.es.js +1 -1
  263. package/dist/components/IntegrationDialog.cjs.js +9 -10
  264. package/dist/components/IntegrationDialog.cjs.js.map +1 -1
  265. package/dist/components/IntegrationDialog.es.js +9 -10
  266. package/dist/components/IntegrationDialog.es.js.map +1 -1
  267. package/dist/components/ItemList.cjs.js +33 -24
  268. package/dist/components/ItemList.cjs.js.map +1 -1
  269. package/dist/components/ItemList.es.js +33 -24
  270. package/dist/components/ItemList.es.js.map +1 -1
  271. package/dist/components/JSONSchemaForm.cjs.js +14 -14
  272. package/dist/components/JSONSchemaForm.cjs.js.map +1 -1
  273. package/dist/components/JSONSchemaForm.es.js +14 -14
  274. package/dist/components/JSONSchemaForm.es.js.map +1 -1
  275. package/dist/components/Kbd.cjs.js +1 -1
  276. package/dist/components/Kbd.es.js +1 -1
  277. package/dist/components/KeyValueList.cjs.js +11 -11
  278. package/dist/components/KeyValueList.cjs.js.map +1 -1
  279. package/dist/components/KeyValueList.es.js +11 -11
  280. package/dist/components/KeyValueList.es.js.map +1 -1
  281. package/dist/components/Label.cjs.js +1 -1
  282. package/dist/components/Label.es.js +1 -1
  283. package/dist/components/ListSearch.cjs.js +1 -1
  284. package/dist/components/ListSearch.es.js +1 -1
  285. package/dist/components/Logo.cjs.js +2 -2
  286. package/dist/components/Logo.cjs.js.map +1 -1
  287. package/dist/components/Logo.es.js +2 -2
  288. package/dist/components/Logo.es.js.map +1 -1
  289. package/dist/components/LogsDataList.cjs.js +2 -4
  290. package/dist/components/LogsDataList.cjs.js.map +1 -1
  291. package/dist/components/LogsDataList.es.js +2 -4
  292. package/dist/components/LogsDataList.es.js.map +1 -1
  293. package/dist/components/MainContent.cjs.js +1 -1
  294. package/dist/components/MainContent.es.js +1 -1
  295. package/dist/components/MainHeader.cjs.js +18 -16
  296. package/dist/components/MainHeader.cjs.js.map +1 -1
  297. package/dist/components/MainHeader.es.js +18 -16
  298. package/dist/components/MainHeader.es.js.map +1 -1
  299. package/dist/components/MainSidebar.cjs.js +3 -3
  300. package/dist/components/MainSidebar.cjs.js.map +1 -1
  301. package/dist/components/MainSidebar.es.js +4 -4
  302. package/dist/components/MainSidebar.es.js.map +1 -1
  303. package/dist/components/MarkdownRenderer.cjs.js +1 -1
  304. package/dist/components/MarkdownRenderer.es.js +1 -1
  305. package/dist/components/Message.cjs.js +3 -3
  306. package/dist/components/Message.cjs.js.map +1 -1
  307. package/dist/components/Message.es.js +4 -4
  308. package/dist/components/Message.es.js.map +1 -1
  309. package/dist/components/MessageScroller.cjs.js +1 -1
  310. package/dist/components/MessageScroller.es.js +1 -1
  311. package/dist/components/MetricsCard.cjs.js +1 -1
  312. package/dist/components/MetricsCard.es.js +1 -1
  313. package/dist/components/MetricsFlexGrid.cjs.js +1 -1
  314. package/dist/components/MetricsFlexGrid.es.js +1 -1
  315. package/dist/components/MetricsKpiCard.cjs.js +1 -1
  316. package/dist/components/MetricsKpiCard.es.js +1 -1
  317. package/dist/components/MetricsLineChart.cjs.js +1 -1
  318. package/dist/components/MetricsLineChart.es.js +1 -1
  319. package/dist/components/Notice.cjs.js +1 -1
  320. package/dist/components/Notice.es.js +1 -1
  321. package/dist/components/PageHeader.cjs.js +1 -1
  322. package/dist/components/PageHeader.es.js +1 -1
  323. package/dist/components/PageLayout.cjs.js +2 -2
  324. package/dist/components/PageLayout.es.js +2 -2
  325. package/dist/components/PendingIndicator.cjs.js +2 -2
  326. package/dist/components/PendingIndicator.cjs.js.map +1 -1
  327. package/dist/components/PendingIndicator.es.js +2 -2
  328. package/dist/components/PendingIndicator.es.js.map +1 -1
  329. package/dist/components/PermissionDenied.cjs.js +1 -1
  330. package/dist/components/PermissionDenied.es.js +1 -1
  331. package/dist/components/Popover.cjs.js +1 -1
  332. package/dist/components/Popover.es.js +1 -1
  333. package/dist/components/PrevNextNav.cjs.js +1 -1
  334. package/dist/components/PrevNextNav.es.js +1 -1
  335. package/dist/components/PropertyFilter.cjs.js +19 -15
  336. package/dist/components/PropertyFilter.cjs.js.map +1 -1
  337. package/dist/components/PropertyFilter.es.js +20 -16
  338. package/dist/components/PropertyFilter.es.js.map +1 -1
  339. package/dist/components/PullRequestIcon.cjs.js +2 -2
  340. package/dist/components/PullRequestIcon.cjs.js.map +1 -1
  341. package/dist/components/PullRequestIcon.es.js +2 -2
  342. package/dist/components/PullRequestIcon.es.js.map +1 -1
  343. package/dist/components/RadioGroup.cjs.js +3 -18
  344. package/dist/components/RadioGroup.cjs.js.map +1 -1
  345. package/dist/components/RadioGroup.es.js +3 -18
  346. package/dist/components/RadioGroup.es.js.map +1 -1
  347. package/dist/components/RuleBuilder.cjs.js +37 -24
  348. package/dist/components/RuleBuilder.cjs.js.map +1 -1
  349. package/dist/components/RuleBuilder.es.js +37 -24
  350. package/dist/components/RuleBuilder.es.js.map +1 -1
  351. package/dist/components/SankeyChart.cjs.js +1 -1
  352. package/dist/components/SankeyChart.es.js +1 -1
  353. package/dist/components/ScatterPlotChart.cjs.js +23 -16
  354. package/dist/components/ScatterPlotChart.cjs.js.map +1 -1
  355. package/dist/components/ScatterPlotChart.es.js +21 -14
  356. package/dist/components/ScatterPlotChart.es.js.map +1 -1
  357. package/dist/components/ScrollArea.cjs.js +1 -1
  358. package/dist/components/ScrollArea.es.js +1 -1
  359. package/dist/components/Section.cjs.js +1 -1
  360. package/dist/components/Section.es.js +1 -1
  361. package/dist/components/SectionCard.cjs.js +5 -16
  362. package/dist/components/SectionCard.cjs.js.map +1 -1
  363. package/dist/components/SectionCard.es.js +5 -16
  364. package/dist/components/SectionCard.es.js.map +1 -1
  365. package/dist/components/Sections.cjs.js +1 -1
  366. package/dist/components/Sections.es.js +1 -1
  367. package/dist/components/Select.cjs.js +1 -1
  368. package/dist/components/Select.es.js +1 -1
  369. package/dist/components/SessionExpired.cjs.js +1 -1
  370. package/dist/components/SessionExpired.es.js +1 -1
  371. package/dist/components/SettingsLayout.cjs.js +1 -1
  372. package/dist/components/SettingsLayout.es.js +1 -1
  373. package/dist/components/SettingsRow.cjs.js +1 -1
  374. package/dist/components/SettingsRow.es.js +1 -1
  375. package/dist/components/Shimmer.cjs.js +1 -1
  376. package/dist/components/Shimmer.es.js +1 -1
  377. package/dist/components/SideDialog.cjs.js +31 -27
  378. package/dist/components/SideDialog.cjs.js.map +1 -1
  379. package/dist/components/SideDialog.es.js +31 -27
  380. package/dist/components/SideDialog.es.js.map +1 -1
  381. package/dist/components/Skeleton.cjs.js +1 -1
  382. package/dist/components/Skeleton.es.js +1 -1
  383. package/dist/components/Slider.cjs.js +1 -1
  384. package/dist/components/Slider.es.js +1 -1
  385. package/dist/components/Spinner.cjs.js +1 -1
  386. package/dist/components/Spinner.es.js +1 -1
  387. package/dist/components/StatusIndicators.cjs.js +11 -11
  388. package/dist/components/StatusIndicators.cjs.js.map +1 -1
  389. package/dist/components/StatusIndicators.es.js +11 -11
  390. package/dist/components/StatusIndicators.es.js.map +1 -1
  391. package/dist/components/Steps.cjs.js +19 -21
  392. package/dist/components/Steps.cjs.js.map +1 -1
  393. package/dist/components/Steps.es.js +19 -21
  394. package/dist/components/Steps.es.js.map +1 -1
  395. package/dist/components/Switch.cjs.js +1 -1
  396. package/dist/components/Switch.es.js +1 -1
  397. package/dist/components/Table.cjs.js +15 -15
  398. package/dist/components/Table.cjs.js.map +1 -1
  399. package/dist/components/Table.es.js +15 -15
  400. package/dist/components/Table.es.js.map +1 -1
  401. package/dist/components/Tabs.cjs.js +3 -3
  402. package/dist/components/Tabs.es.js +3 -3
  403. package/dist/components/Text.cjs.js +1 -1
  404. package/dist/components/Text.es.js +1 -1
  405. package/dist/components/Textarea.cjs.js +1 -1
  406. package/dist/components/Textarea.es.js +1 -1
  407. package/dist/components/ThemeToggle.cjs.js +8 -6
  408. package/dist/components/ThemeToggle.cjs.js.map +1 -1
  409. package/dist/components/ThemeToggle.es.js +8 -6
  410. package/dist/components/ThemeToggle.es.js.map +1 -1
  411. package/dist/components/ThreadList.cjs.js +8 -7
  412. package/dist/components/ThreadList.cjs.js.map +1 -1
  413. package/dist/components/ThreadList.es.js +8 -7
  414. package/dist/components/ThreadList.es.js.map +1 -1
  415. package/dist/components/ThreadRail.cjs.js +1 -1
  416. package/dist/components/ThreadRail.es.js +1 -1
  417. package/dist/components/Toaster.cjs.js +1 -1
  418. package/dist/components/Toaster.es.js +1 -1
  419. package/dist/components/TokenBudget.cjs.js +9 -9
  420. package/dist/components/TokenBudget.cjs.js.map +1 -1
  421. package/dist/components/TokenBudget.es.js +9 -9
  422. package/dist/components/TokenBudget.es.js.map +1 -1
  423. package/dist/components/Tooltip.cjs.js +1 -1
  424. package/dist/components/Tooltip.es.js +1 -1
  425. package/dist/components/Tree.cjs.js +12 -12
  426. package/dist/components/Tree.cjs.js.map +1 -1
  427. package/dist/components/Tree.es.js +12 -12
  428. package/dist/components/Tree.es.js.map +1 -1
  429. package/dist/components/Truncate.cjs.js +4 -4
  430. package/dist/components/Truncate.es.js +4 -4
  431. package/dist/components/Txt.cjs.js +1 -1
  432. package/dist/components/Txt.es.js +1 -1
  433. package/dist/components/Workflow.cjs.js +114 -83
  434. package/dist/components/Workflow.cjs.js.map +1 -1
  435. package/dist/components/Workflow.es.js +114 -83
  436. package/dist/components/Workflow.es.js.map +1 -1
  437. package/dist/components/ai/ask-user.cjs.js +1 -1
  438. package/dist/components/ai/ask-user.es.js +1 -1
  439. package/dist/components/ai/chat-event.cjs.js +9 -9
  440. package/dist/components/ai/chat-event.cjs.js.map +1 -1
  441. package/dist/components/ai/chat-event.es.js +10 -10
  442. package/dist/components/ai/chat-event.es.js.map +1 -1
  443. package/dist/components/ai/plan.cjs.js +16 -15
  444. package/dist/components/ai/plan.cjs.js.map +1 -1
  445. package/dist/components/ai/plan.es.js +16 -15
  446. package/dist/components/ai/plan.es.js.map +1 -1
  447. package/dist/components/ai/task-list.cjs.js +15 -14
  448. package/dist/components/ai/task-list.cjs.js.map +1 -1
  449. package/dist/components/ai/task-list.es.js +15 -14
  450. package/dist/components/ai/task-list.es.js.map +1 -1
  451. package/dist/components/ai/tool-approval.cjs.js +1 -1
  452. package/dist/components/ai/tool-approval.es.js +1 -1
  453. package/dist/components/ai/tool-call.cjs.js +15 -15
  454. package/dist/components/ai/tool-call.cjs.js.map +1 -1
  455. package/dist/components/ai/tool-call.es.js +16 -16
  456. package/dist/components/ai/tool-call.es.js.map +1 -1
  457. package/dist/components/fluid-hover-highlight.cjs.js +1 -1
  458. package/dist/components/fluid-hover-highlight.es.js +1 -1
  459. package/dist/composer-BUoRnMDd.cjs +156 -0
  460. package/dist/composer-BUoRnMDd.cjs.map +1 -0
  461. package/dist/composer-CEL1glw7.js +148 -0
  462. package/dist/composer-CEL1glw7.js.map +1 -0
  463. package/dist/composer.css +6 -6
  464. package/dist/copy-button-2cwdZ3dW.js +36 -0
  465. package/dist/copy-button-2cwdZ3dW.js.map +1 -0
  466. package/dist/copy-button-BbDBpBMl.cjs +38 -0
  467. package/dist/copy-button-BbDBpBMl.cjs.map +1 -0
  468. package/dist/data-code-section-DKz9Okaz.js +367 -0
  469. package/dist/data-code-section-DKz9Okaz.js.map +1 -0
  470. package/dist/data-code-section-qujvEc6j.cjs +369 -0
  471. package/dist/data-code-section-qujvEc6j.cjs.map +1 -0
  472. package/dist/data-keys-and-values-4pYpSbqS.cjs +126 -0
  473. package/dist/data-keys-and-values-4pYpSbqS.cjs.map +1 -0
  474. package/dist/data-keys-and-values-j0NVKPOl.js +124 -0
  475. package/dist/data-keys-and-values-j0NVKPOl.js.map +1 -0
  476. package/dist/data-list-CypPKOQ_.cjs +125 -0
  477. package/dist/data-list-CypPKOQ_.cjs.map +1 -0
  478. package/dist/data-list-DnSdaRES.js +121 -0
  479. package/dist/data-list-DnSdaRES.js.map +1 -0
  480. package/dist/data-list-skeleton-ADXw-opu.cjs +38 -0
  481. package/dist/data-list-skeleton-ADXw-opu.cjs.map +1 -0
  482. package/dist/data-list-skeleton-D7-glFuk.js +36 -0
  483. package/dist/data-list-skeleton-D7-glFuk.js.map +1 -0
  484. package/dist/data-list-spacer-DRHNUeeP.js +200 -0
  485. package/dist/data-list-spacer-DRHNUeeP.js.map +1 -0
  486. package/dist/data-list-spacer-EWo65MrK.cjs +209 -0
  487. package/dist/data-list-spacer-EWo65MrK.cjs.map +1 -0
  488. package/dist/data-list-top-DLwt_Sv-.js +367 -0
  489. package/dist/data-list-top-DLwt_Sv-.js.map +1 -0
  490. package/dist/data-list-top-RK_yX6z8.cjs +392 -0
  491. package/dist/data-list-top-RK_yX6z8.cjs.map +1 -0
  492. package/dist/data-panel-CWZJKBeW.cjs +270 -0
  493. package/dist/data-panel-CWZJKBeW.cjs.map +1 -0
  494. package/dist/data-panel-CWjgS1Gh.js +250 -0
  495. package/dist/data-panel-CWjgS1Gh.js.map +1 -0
  496. package/dist/data-panel-section-heading-CXD1skJD.js +21 -0
  497. package/dist/data-panel-section-heading-CXD1skJD.js.map +1 -0
  498. package/dist/data-panel-section-heading-V86Awzqg.cjs +23 -0
  499. package/dist/data-panel-section-heading-V86Awzqg.cjs.map +1 -0
  500. package/dist/date-picker-DgWTsiJ7.js +53 -0
  501. package/dist/date-picker-DgWTsiJ7.js.map +1 -0
  502. package/dist/date-picker-dRZF8frf.cjs +55 -0
  503. package/dist/date-picker-dRZF8frf.cjs.map +1 -0
  504. package/dist/date-time-range-picker-BcjLbkGu.js +178 -0
  505. package/dist/date-time-range-picker-BcjLbkGu.js.map +1 -0
  506. package/dist/date-time-range-picker-C6hjZswK.cjs +180 -0
  507. package/dist/date-time-range-picker-C6hjZswK.cjs.map +1 -0
  508. package/dist/dialog-DRpMek34.js +246 -0
  509. package/dist/dialog-DRpMek34.js.map +1 -0
  510. package/dist/dialog-Dm33cZqt.cjs +280 -0
  511. package/dist/dialog-Dm33cZqt.cjs.map +1 -0
  512. package/dist/domains/chat/attachments/attachment-preview-dialog.cjs.js +2 -2
  513. package/dist/domains/chat/attachments/attachment-preview-dialog.es.js +2 -2
  514. package/dist/domains/chat/attachments/composer-attachment-list.cjs.js +2 -2
  515. package/dist/domains/chat/attachments/composer-attachment-list.es.js +2 -2
  516. package/dist/domains/chat/attachments/composer-attachment.cjs.js +5 -4
  517. package/dist/domains/chat/attachments/composer-attachment.cjs.js.map +1 -1
  518. package/dist/domains/chat/attachments/composer-attachment.es.js +5 -4
  519. package/dist/domains/chat/attachments/composer-attachment.es.js.map +1 -1
  520. package/dist/domains/chat/components/badge-wrapper.cjs.js +2 -2
  521. package/dist/domains/chat/components/badge-wrapper.es.js +2 -2
  522. package/dist/domains/chat/components/loading-badge.cjs.js +3 -3
  523. package/dist/domains/chat/components/loading-badge.cjs.js.map +1 -1
  524. package/dist/domains/chat/components/loading-badge.es.js +3 -3
  525. package/dist/domains/chat/components/loading-badge.es.js.map +1 -1
  526. package/dist/domains/chat/components/network-choice-metadata-dialog.cjs.js +9 -9
  527. package/dist/domains/chat/components/network-choice-metadata-dialog.cjs.js.map +1 -1
  528. package/dist/domains/chat/components/network-choice-metadata-dialog.es.js +9 -9
  529. package/dist/domains/chat/components/network-choice-metadata-dialog.es.js.map +1 -1
  530. package/dist/domains/chat/components/section-label.cjs.js +2 -2
  531. package/dist/domains/chat/components/section-label.cjs.js.map +1 -1
  532. package/dist/domains/chat/components/section-label.es.js +2 -2
  533. package/dist/domains/chat/components/section-label.es.js.map +1 -1
  534. package/dist/domains/chat/messages/notification-signal-notice.cjs.js +1 -1
  535. package/dist/domains/chat/messages/notification-signal-notice.es.js +1 -1
  536. package/dist/domains/chat/messages/reasoning-streaming-line.cjs.js +6 -5
  537. package/dist/domains/chat/messages/reasoning-streaming-line.cjs.js.map +1 -1
  538. package/dist/domains/chat/messages/reasoning-streaming-line.es.js +6 -5
  539. package/dist/domains/chat/messages/reasoning-streaming-line.es.js.map +1 -1
  540. package/dist/domains/chat/messages/reasoning.cjs.js +8 -29
  541. package/dist/domains/chat/messages/reasoning.cjs.js.map +1 -1
  542. package/dist/domains/chat/messages/reasoning.es.js +9 -30
  543. package/dist/domains/chat/messages/reasoning.es.js.map +1 -1
  544. package/dist/domains/chat/messages/renderers/message-text.cjs.js +4 -4
  545. package/dist/domains/chat/messages/renderers/message-text.es.js +4 -4
  546. package/dist/domains/chat/messages/renderers/status-renderers.cjs.js +1 -1
  547. package/dist/domains/chat/messages/renderers/status-renderers.es.js +1 -1
  548. package/dist/domains/chat/messages/signal-badge.cjs.js +1 -1
  549. package/dist/domains/chat/messages/signal-badge.es.js +1 -1
  550. package/dist/domains/chat/messages/system-reminder-badge.cjs.js +7 -7
  551. package/dist/domains/chat/messages/system-reminder-badge.cjs.js.map +1 -1
  552. package/dist/domains/chat/messages/system-reminder-badge.es.js +7 -7
  553. package/dist/domains/chat/messages/system-reminder-badge.es.js.map +1 -1
  554. package/dist/domains/chat/messages/tripwire-notice.cjs.js +4 -4
  555. package/dist/domains/chat/messages/tripwire-notice.cjs.js.map +1 -1
  556. package/dist/domains/chat/messages/tripwire-notice.es.js +4 -4
  557. package/dist/domains/chat/messages/tripwire-notice.es.js.map +1 -1
  558. package/dist/domains/chat/tools/badges/ask-user-badge.cjs.js +1 -1
  559. package/dist/domains/chat/tools/badges/ask-user-badge.es.js +1 -1
  560. package/dist/domains/chat/tools/badges/code-mode-badge.cjs.js +5 -5
  561. package/dist/domains/chat/tools/badges/code-mode-badge.cjs.js.map +1 -1
  562. package/dist/domains/chat/tools/badges/code-mode-badge.es.js +5 -5
  563. package/dist/domains/chat/tools/badges/code-mode-badge.es.js.map +1 -1
  564. package/dist/domains/chat/tools/badges/observation-marker-badge.cjs.js +36 -36
  565. package/dist/domains/chat/tools/badges/observation-marker-badge.cjs.js.map +1 -1
  566. package/dist/domains/chat/tools/badges/observation-marker-badge.es.js +36 -36
  567. package/dist/domains/chat/tools/badges/observation-marker-badge.es.js.map +1 -1
  568. package/dist/domains/chat/tools/badges/observation-renderer.cjs.js +14 -14
  569. package/dist/domains/chat/tools/badges/observation-renderer.cjs.js.map +1 -1
  570. package/dist/domains/chat/tools/badges/observation-renderer.es.js +14 -14
  571. package/dist/domains/chat/tools/badges/observation-renderer.es.js.map +1 -1
  572. package/dist/domains/chat/tools/badges/tool-approval-buttons.cjs.js +1 -1
  573. package/dist/domains/chat/tools/badges/tool-approval-buttons.es.js +1 -1
  574. package/dist/domains/logs/components/log-details-view.cjs.js +11 -11
  575. package/dist/domains/logs/components/log-details-view.cjs.js.map +1 -1
  576. package/dist/domains/logs/components/log-details-view.es.js +11 -11
  577. package/dist/domains/logs/components/log-details-view.es.js.map +1 -1
  578. package/dist/domains/logs/components/logs-error-content.cjs.js +4 -4
  579. package/dist/domains/logs/components/logs-error-content.es.js +4 -4
  580. package/dist/domains/logs/components/logs-layout.cjs.js +1 -1
  581. package/dist/domains/logs/components/logs-layout.es.js +1 -1
  582. package/dist/domains/logs/components/logs-list-view.cjs.js +6 -4
  583. package/dist/domains/logs/components/logs-list-view.cjs.js.map +1 -1
  584. package/dist/domains/logs/components/logs-list-view.es.js +6 -4
  585. package/dist/domains/logs/components/logs-list-view.es.js.map +1 -1
  586. package/dist/domains/logs/components/logs-toolbar.cjs.js +2 -2
  587. package/dist/domains/logs/components/logs-toolbar.es.js +2 -2
  588. package/dist/domains/logs/components/no-logs-info.cjs.js +2 -2
  589. package/dist/domains/logs/components/no-logs-info.es.js +2 -2
  590. package/dist/domains/logs/hooks/use-logs-filter-persistence.cjs.js +1 -1
  591. package/dist/domains/logs/hooks/use-logs-filter-persistence.es.js +1 -1
  592. package/dist/domains/logs/hooks/use-logs.cjs.js +7 -3
  593. package/dist/domains/logs/hooks/use-logs.cjs.js.map +1 -1
  594. package/dist/domains/logs/hooks/use-logs.es.js +7 -3
  595. package/dist/domains/logs/hooks/use-logs.es.js.map +1 -1
  596. package/dist/domains/memory/components/flame-graph.cjs.js +24 -23
  597. package/dist/domains/memory/components/flame-graph.cjs.js.map +1 -1
  598. package/dist/domains/memory/components/flame-graph.es.js +24 -23
  599. package/dist/domains/memory/components/flame-graph.es.js.map +1 -1
  600. package/dist/domains/memory/components/memory-studio-panel.cjs.js +7 -7
  601. package/dist/domains/memory/components/memory-studio-panel.cjs.js.map +1 -1
  602. package/dist/domains/memory/components/memory-studio-panel.es.js +7 -7
  603. package/dist/domains/memory/components/memory-studio-panel.es.js.map +1 -1
  604. package/dist/domains/memory/components/observation-detail-view.cjs.js +29 -29
  605. package/dist/domains/memory/components/observation-detail-view.cjs.js.map +1 -1
  606. package/dist/domains/memory/components/observation-detail-view.es.js +29 -29
  607. package/dist/domains/memory/components/observation-detail-view.es.js.map +1 -1
  608. package/dist/domains/memory/components/thread-context-progress.cjs.js +5 -5
  609. package/dist/domains/memory/components/thread-context-progress.cjs.js.map +1 -1
  610. package/dist/domains/memory/components/thread-context-progress.es.js +5 -5
  611. package/dist/domains/memory/components/thread-context-progress.es.js.map +1 -1
  612. package/dist/domains/metrics/components/bar-list.cjs.js +10 -10
  613. package/dist/domains/metrics/components/bar-list.cjs.js.map +1 -1
  614. package/dist/domains/metrics/components/bar-list.es.js +10 -10
  615. package/dist/domains/metrics/components/bar-list.es.js.map +1 -1
  616. package/dist/domains/metrics/components/card-action-buttons.cjs.js +1 -1
  617. package/dist/domains/metrics/components/card-action-buttons.es.js +1 -1
  618. package/dist/domains/metrics/components/date-range-selector.cjs.js +1 -1
  619. package/dist/domains/metrics/components/date-range-selector.es.js +1 -1
  620. package/dist/domains/metrics/components/kpi-card-view.cjs.js +1 -1
  621. package/dist/domains/metrics/components/kpi-card-view.es.js +1 -1
  622. package/dist/domains/metrics/components/latency-card-view.cjs.js +5 -5
  623. package/dist/domains/metrics/components/latency-card-view.es.js +5 -5
  624. package/dist/domains/metrics/components/memory-card-view.cjs.js +7 -7
  625. package/dist/domains/metrics/components/memory-card-view.cjs.js.map +1 -1
  626. package/dist/domains/metrics/components/memory-card-view.es.js +7 -7
  627. package/dist/domains/metrics/components/memory-card-view.es.js.map +1 -1
  628. package/dist/domains/metrics/components/metrics-utils.cjs.js +8 -11
  629. package/dist/domains/metrics/components/metrics-utils.cjs.js.map +1 -1
  630. package/dist/domains/metrics/components/metrics-utils.es.js +8 -11
  631. package/dist/domains/metrics/components/metrics-utils.es.js.map +1 -1
  632. package/dist/domains/metrics/components/model-usage-cost-card-view.cjs.js +3 -3
  633. package/dist/domains/metrics/components/model-usage-cost-card-view.cjs.js.map +1 -1
  634. package/dist/domains/metrics/components/model-usage-cost-card-view.es.js +3 -3
  635. package/dist/domains/metrics/components/model-usage-cost-card-view.es.js.map +1 -1
  636. package/dist/domains/metrics/components/scores-card-view.cjs.js +7 -7
  637. package/dist/domains/metrics/components/scores-card-view.cjs.js.map +1 -1
  638. package/dist/domains/metrics/components/scores-card-view.es.js +7 -7
  639. package/dist/domains/metrics/components/scores-card-view.es.js.map +1 -1
  640. package/dist/domains/metrics/components/token-usage-by-agent-card-view.cjs.js +5 -5
  641. package/dist/domains/metrics/components/token-usage-by-agent-card-view.es.js +5 -5
  642. package/dist/domains/metrics/components/token-usage-timeline-card-view.cjs.js +5 -5
  643. package/dist/domains/metrics/components/token-usage-timeline-card-view.es.js +5 -5
  644. package/dist/domains/metrics/components/traces-volume-card-view.cjs.js +5 -5
  645. package/dist/domains/metrics/components/traces-volume-card-view.es.js +5 -5
  646. package/dist/domains/traces/components/no-traces-info.cjs.js +1 -1
  647. package/dist/domains/traces/components/no-traces-info.es.js +1 -1
  648. package/dist/domains/traces/components/shared.cjs.js +11 -11
  649. package/dist/domains/traces/components/shared.cjs.js.map +1 -1
  650. package/dist/domains/traces/components/shared.es.js +11 -11
  651. package/dist/domains/traces/components/shared.es.js.map +1 -1
  652. package/dist/domains/traces/components/span-data-panel-view.cjs.js +8 -8
  653. package/dist/domains/traces/components/span-data-panel-view.es.js +8 -8
  654. package/dist/domains/traces/components/span-details-view.cjs.js +1 -1
  655. package/dist/domains/traces/components/span-details-view.es.js +1 -1
  656. package/dist/domains/traces/components/span-payload/span-error-renderer.cjs.js +3 -3
  657. package/dist/domains/traces/components/span-payload/span-error-renderer.es.js +3 -3
  658. package/dist/domains/traces/components/span-payload/span-input-renderers.cjs.js +4 -4
  659. package/dist/domains/traces/components/span-payload/span-input-renderers.cjs.js.map +1 -1
  660. package/dist/domains/traces/components/span-payload/span-input-renderers.es.js +4 -4
  661. package/dist/domains/traces/components/span-payload/span-input-renderers.es.js.map +1 -1
  662. package/dist/domains/traces/components/span-payload/span-output-renderers.cjs.js +6 -15
  663. package/dist/domains/traces/components/span-payload/span-output-renderers.cjs.js.map +1 -1
  664. package/dist/domains/traces/components/span-payload/span-output-renderers.es.js +6 -15
  665. package/dist/domains/traces/components/span-payload/span-output-renderers.es.js.map +1 -1
  666. package/dist/domains/traces/components/span-payload/span-payload-json.cjs.js +4 -2
  667. package/dist/domains/traces/components/span-payload/span-payload-json.cjs.js.map +1 -1
  668. package/dist/domains/traces/components/span-payload/span-payload-json.es.js +4 -2
  669. package/dist/domains/traces/components/span-payload/span-payload-json.es.js.map +1 -1
  670. package/dist/domains/traces/components/span-payload/span-payload-messages.cjs.js +2 -2
  671. package/dist/domains/traces/components/span-payload/span-payload-messages.es.js +2 -2
  672. package/dist/domains/traces/components/span-payload/span-payload-primitives.cjs.js +3 -3
  673. package/dist/domains/traces/components/span-payload/span-payload-primitives.es.js +3 -3
  674. package/dist/domains/traces/components/span-payload/span-payload-section.cjs.js +7 -7
  675. package/dist/domains/traces/components/span-payload/span-payload-section.cjs.js.map +1 -1
  676. package/dist/domains/traces/components/span-payload/span-payload-section.es.js +7 -7
  677. package/dist/domains/traces/components/span-payload/span-payload-section.es.js.map +1 -1
  678. package/dist/domains/traces/components/span-payload/span-payload-tool.cjs.js +2 -2
  679. package/dist/domains/traces/components/span-payload/span-payload-tool.es.js +2 -2
  680. package/dist/domains/traces/components/span-summary-description.cjs.js +1 -1
  681. package/dist/domains/traces/components/span-summary-description.es.js +1 -1
  682. package/dist/domains/traces/components/span-timeline-row.cjs.js +9 -9
  683. package/dist/domains/traces/components/span-timeline-row.cjs.js.map +1 -1
  684. package/dist/domains/traces/components/span-timeline-row.es.js +9 -9
  685. package/dist/domains/traces/components/span-timeline-row.es.js.map +1 -1
  686. package/dist/domains/traces/components/span-timing-hover-card.cjs.js +5 -5
  687. package/dist/domains/traces/components/span-timing-hover-card.cjs.js.map +1 -1
  688. package/dist/domains/traces/components/span-timing-hover-card.es.js +5 -5
  689. package/dist/domains/traces/components/span-timing-hover-card.es.js.map +1 -1
  690. package/dist/domains/traces/components/span-token-usage.cjs.js +40 -46
  691. package/dist/domains/traces/components/span-token-usage.cjs.js.map +1 -1
  692. package/dist/domains/traces/components/span-token-usage.es.js +40 -46
  693. package/dist/domains/traces/components/span-token-usage.es.js.map +1 -1
  694. package/dist/domains/traces/components/span-type-legend.cjs.js +1 -1
  695. package/dist/domains/traces/components/span-type-legend.es.js +1 -1
  696. package/dist/domains/traces/components/thread-trace/thread-trace-details.cjs.js +3 -3
  697. package/dist/domains/traces/components/thread-trace/thread-trace-details.cjs.js.map +1 -1
  698. package/dist/domains/traces/components/thread-trace/thread-trace-details.es.js +3 -3
  699. package/dist/domains/traces/components/thread-trace/thread-trace-details.es.js.map +1 -1
  700. package/dist/domains/traces/components/thread-trace/thread-trace-list.cjs.js +1 -1
  701. package/dist/domains/traces/components/thread-trace/thread-trace-list.es.js +1 -1
  702. package/dist/domains/traces/components/thread-trace/thread-trace-messages.cjs.js +7 -7
  703. package/dist/domains/traces/components/thread-trace/thread-trace-messages.cjs.js.map +1 -1
  704. package/dist/domains/traces/components/thread-trace/thread-trace-messages.es.js +7 -7
  705. package/dist/domains/traces/components/thread-trace/thread-trace-messages.es.js.map +1 -1
  706. package/dist/domains/traces/components/thread-trace/thread-trace-rail.cjs.js +2 -2
  707. package/dist/domains/traces/components/thread-trace/thread-trace-rail.es.js +2 -2
  708. package/dist/domains/traces/components/thread-trace/thread-trace-root.cjs.js +1 -1
  709. package/dist/domains/traces/components/thread-trace/thread-trace-root.es.js +1 -1
  710. package/dist/domains/traces/components/thread-trace/thread-trace-row.cjs.js +2 -2
  711. package/dist/domains/traces/components/thread-trace/thread-trace-row.cjs.js.map +1 -1
  712. package/dist/domains/traces/components/thread-trace/thread-trace-row.es.js +2 -2
  713. package/dist/domains/traces/components/thread-trace/thread-trace-row.es.js.map +1 -1
  714. package/dist/domains/traces/components/thread-trace/thread-trace-span-panel.cjs.js +2 -2
  715. package/dist/domains/traces/components/thread-trace/thread-trace-span-panel.cjs.js.map +1 -1
  716. package/dist/domains/traces/components/thread-trace/thread-trace-span-panel.es.js +2 -2
  717. package/dist/domains/traces/components/thread-trace/thread-trace-span-panel.es.js.map +1 -1
  718. package/dist/domains/traces/components/thread-trace/thread-trace-spans.cjs.js +3 -3
  719. package/dist/domains/traces/components/thread-trace/thread-trace-spans.cjs.js.map +1 -1
  720. package/dist/domains/traces/components/thread-trace/thread-trace-spans.es.js +3 -3
  721. package/dist/domains/traces/components/thread-trace/thread-trace-spans.es.js.map +1 -1
  722. package/dist/domains/traces/components/timeline-name-col.cjs.js +9 -12
  723. package/dist/domains/traces/components/timeline-name-col.cjs.js.map +1 -1
  724. package/dist/domains/traces/components/timeline-name-col.es.js +9 -12
  725. package/dist/domains/traces/components/timeline-name-col.es.js.map +1 -1
  726. package/dist/domains/traces/components/timeline-structure-sign.cjs.js +3 -3
  727. package/dist/domains/traces/components/timeline-structure-sign.cjs.js.map +1 -1
  728. package/dist/domains/traces/components/timeline-structure-sign.es.js +3 -3
  729. package/dist/domains/traces/components/timeline-structure-sign.es.js.map +1 -1
  730. package/dist/domains/traces/components/timeline-timing-col.cjs.js +7 -7
  731. package/dist/domains/traces/components/timeline-timing-col.cjs.js.map +1 -1
  732. package/dist/domains/traces/components/timeline-timing-col.es.js +7 -7
  733. package/dist/domains/traces/components/timeline-timing-col.es.js.map +1 -1
  734. package/dist/domains/traces/components/trace-columns-menu.cjs.js +52 -22
  735. package/dist/domains/traces/components/trace-columns-menu.cjs.js.map +1 -1
  736. package/dist/domains/traces/components/trace-columns-menu.es.js +54 -24
  737. package/dist/domains/traces/components/trace-columns-menu.es.js.map +1 -1
  738. package/dist/domains/traces/components/trace-data-panel-view.cjs.js +17 -18
  739. package/dist/domains/traces/components/trace-data-panel-view.cjs.js.map +1 -1
  740. package/dist/domains/traces/components/trace-data-panel-view.es.js +17 -18
  741. package/dist/domains/traces/components/trace-data-panel-view.es.js.map +1 -1
  742. package/dist/domains/traces/components/trace-id-button.cjs.js +1 -1
  743. package/dist/domains/traces/components/trace-id-button.es.js +1 -1
  744. package/dist/domains/traces/components/trace-keys-and-values.cjs.js +2 -2
  745. package/dist/domains/traces/components/trace-keys-and-values.es.js +2 -2
  746. package/dist/domains/traces/components/trace-span-timeline.cjs.js +1 -1
  747. package/dist/domains/traces/components/trace-span-timeline.cjs.js.map +1 -1
  748. package/dist/domains/traces/components/trace-span-timeline.es.js +1 -1
  749. package/dist/domains/traces/components/trace-span-timeline.es.js.map +1 -1
  750. package/dist/domains/traces/components/trace-span-tree-skeleton.cjs.js +2 -2
  751. package/dist/domains/traces/components/trace-span-tree-skeleton.es.js +2 -2
  752. package/dist/domains/traces/components/trace-span-tree.cjs.js +1 -1
  753. package/dist/domains/traces/components/trace-span-tree.es.js +1 -1
  754. package/dist/domains/traces/components/trace-status-value.cjs.js +2 -2
  755. package/dist/domains/traces/components/trace-status-value.cjs.js.map +1 -1
  756. package/dist/domains/traces/components/trace-status-value.es.js +2 -2
  757. package/dist/domains/traces/components/trace-status-value.es.js.map +1 -1
  758. package/dist/domains/traces/components/trace-summary-description.cjs.js +1 -1
  759. package/dist/domains/traces/components/trace-summary-description.es.js +1 -1
  760. package/dist/domains/traces/components/trace-time-range-chip.cjs.js +5 -12
  761. package/dist/domains/traces/components/trace-time-range-chip.cjs.js.map +1 -1
  762. package/dist/domains/traces/components/trace-time-range-chip.es.js +5 -12
  763. package/dist/domains/traces/components/trace-time-range-chip.es.js.map +1 -1
  764. package/dist/domains/traces/components/traces-error-content.cjs.js +3 -3
  765. package/dist/domains/traces/components/traces-error-content.es.js +3 -3
  766. package/dist/domains/traces/components/traces-list-mode-toggle.cjs.js +2 -2
  767. package/dist/domains/traces/components/traces-list-mode-toggle.es.js +2 -2
  768. package/dist/domains/traces/components/traces-list-view-adapter.cjs.js +6 -1
  769. package/dist/domains/traces/components/traces-list-view-adapter.cjs.js.map +1 -1
  770. package/dist/domains/traces/components/traces-list-view-adapter.es.js +6 -1
  771. package/dist/domains/traces/components/traces-list-view-adapter.es.js.map +1 -1
  772. package/dist/domains/traces/components/traces-list-view.cjs.js +69 -9
  773. package/dist/domains/traces/components/traces-list-view.cjs.js.map +1 -1
  774. package/dist/domains/traces/components/traces-list-view.es.js +70 -10
  775. package/dist/domains/traces/components/traces-list-view.es.js.map +1 -1
  776. package/dist/domains/traces/components/traces-page-skeleton.cjs.js +4 -6
  777. package/dist/domains/traces/components/traces-page-skeleton.cjs.js.map +1 -1
  778. package/dist/domains/traces/components/traces-page-skeleton.es.js +4 -6
  779. package/dist/domains/traces/components/traces-page-skeleton.es.js.map +1 -1
  780. package/dist/domains/traces/hooks/use-download-trace-json.cjs.js +1 -1
  781. package/dist/domains/traces/hooks/use-download-trace-json.es.js +1 -1
  782. package/dist/domains/traces/hooks/use-trace-column-preferences.cjs.js +13 -0
  783. package/dist/domains/traces/hooks/use-trace-column-preferences.cjs.js.map +1 -1
  784. package/dist/domains/traces/hooks/use-trace-column-preferences.es.js +13 -0
  785. package/dist/domains/traces/hooks/use-trace-column-preferences.es.js.map +1 -1
  786. package/dist/domains/traces/hooks/use-trace-metadata-filter-fields.cjs.js +11 -13
  787. package/dist/domains/traces/hooks/use-trace-metadata-filter-fields.cjs.js.map +1 -1
  788. package/dist/domains/traces/hooks/use-trace-metadata-filter-fields.es.js +11 -14
  789. package/dist/domains/traces/hooks/use-trace-metadata-filter-fields.es.js.map +1 -1
  790. package/dist/domains/traces/hooks/use-trace-query.cjs.js.map +1 -1
  791. package/dist/domains/traces/hooks/use-trace-query.es.js.map +1 -1
  792. package/dist/domains/traces/hooks/use-trace-url-state.cjs.js +1 -5
  793. package/dist/domains/traces/hooks/use-trace-url-state.cjs.js.map +1 -1
  794. package/dist/domains/traces/hooks/use-trace-url-state.es.js +2 -6
  795. package/dist/domains/traces/hooks/use-trace-url-state.es.js.map +1 -1
  796. package/dist/domains/traces/trace-filters.cjs.js +172 -43
  797. package/dist/domains/traces/trace-filters.cjs.js.map +1 -1
  798. package/dist/domains/traces/trace-filters.es.js +172 -46
  799. package/dist/domains/traces/trace-filters.es.js.map +1 -1
  800. package/dist/domains/traces/trace-list-columns.cjs.js +42 -6
  801. package/dist/domains/traces/trace-list-columns.cjs.js.map +1 -1
  802. package/dist/domains/traces/trace-list-columns.es.js +39 -7
  803. package/dist/domains/traces/trace-list-columns.es.js.map +1 -1
  804. package/dist/domains/traces/trace-query-filters.cjs.js +113 -28
  805. package/dist/domains/traces/trace-query-filters.cjs.js.map +1 -1
  806. package/dist/domains/traces/trace-query-filters.es.js +110 -29
  807. package/dist/domains/traces/trace-query-filters.es.js.map +1 -1
  808. package/dist/domains/traces.cjs.js +7 -0
  809. package/dist/domains/traces.cjs.js.map +1 -1
  810. package/dist/domains/traces.es.js +2 -2
  811. package/dist/drawer-BL5shtHH.cjs +369 -0
  812. package/dist/drawer-BL5shtHH.cjs.map +1 -0
  813. package/dist/drawer-Bv2DRY8E.js +329 -0
  814. package/dist/drawer-Bv2DRY8E.js.map +1 -0
  815. package/dist/drawer.css +10 -0
  816. package/dist/dropdown-menu-DL0MzjEb.js +222 -0
  817. package/dist/dropdown-menu-DL0MzjEb.js.map +1 -0
  818. package/dist/dropdown-menu-DNRCA4Gj.cjs +243 -0
  819. package/dist/dropdown-menu-DNRCA4Gj.cjs.map +1 -0
  820. package/dist/ee/signals/components/entity-index-compact-grid.cjs.js +11 -12
  821. package/dist/ee/signals/components/entity-index-compact-grid.cjs.js.map +1 -1
  822. package/dist/ee/signals/components/entity-index-compact-grid.es.js +11 -12
  823. package/dist/ee/signals/components/entity-index-compact-grid.es.js.map +1 -1
  824. package/dist/ee/signals/components/entity-index-list.cjs.js +2 -4
  825. package/dist/ee/signals/components/entity-index-list.cjs.js.map +1 -1
  826. package/dist/ee/signals/components/entity-index-list.es.js +2 -4
  827. package/dist/ee/signals/components/entity-index-list.es.js.map +1 -1
  828. package/dist/ee/signals/components/signals-empty-state.cjs.js +53 -48
  829. package/dist/ee/signals/components/signals-empty-state.cjs.js.map +1 -1
  830. package/dist/ee/signals/components/signals-empty-state.es.js +53 -48
  831. package/dist/ee/signals/components/signals-empty-state.es.js.map +1 -1
  832. package/dist/ee/signals/components/trace-intelligence-entity-detail.cjs.js +2 -2
  833. package/dist/ee/signals/components/trace-intelligence-entity-detail.es.js +2 -2
  834. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js +12 -13
  835. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js.map +1 -1
  836. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js +12 -13
  837. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js.map +1 -1
  838. package/dist/ee/signals/examples-pager.cjs.js +2 -2
  839. package/dist/ee/signals/examples-pager.cjs.js.map +1 -1
  840. package/dist/ee/signals/examples-pager.es.js +2 -2
  841. package/dist/ee/signals/examples-pager.es.js.map +1 -1
  842. package/dist/ee/signals/flow-card.cjs.js +7 -7
  843. package/dist/ee/signals/flow-card.cjs.js.map +1 -1
  844. package/dist/ee/signals/flow-card.es.js +7 -7
  845. package/dist/ee/signals/flow-card.es.js.map +1 -1
  846. package/dist/ee/signals/lifeline-point.cjs.js +3 -2
  847. package/dist/ee/signals/lifeline-point.cjs.js.map +1 -1
  848. package/dist/ee/signals/lifeline-point.es.js +3 -2
  849. package/dist/ee/signals/lifeline-point.es.js.map +1 -1
  850. package/dist/ee/signals/lifeline-row.cjs.js +11 -4
  851. package/dist/ee/signals/lifeline-row.cjs.js.map +1 -1
  852. package/dist/ee/signals/lifeline-row.es.js +11 -4
  853. package/dist/ee/signals/lifeline-row.es.js.map +1 -1
  854. package/dist/ee/signals/noise-detail-panel.cjs.js +31 -12
  855. package/dist/ee/signals/noise-detail-panel.cjs.js.map +1 -1
  856. package/dist/ee/signals/noise-detail-panel.es.js +31 -12
  857. package/dist/ee/signals/noise-detail-panel.es.js.map +1 -1
  858. package/dist/ee/signals/sankey-signals.cjs.js +5 -5
  859. package/dist/ee/signals/sankey-signals.cjs.js.map +1 -1
  860. package/dist/ee/signals/sankey-signals.es.js +5 -5
  861. package/dist/ee/signals/sankey-signals.es.js.map +1 -1
  862. package/dist/ee/signals/settings/signal-definition-form-dialog.cjs.js +29 -19
  863. package/dist/ee/signals/settings/signal-definition-form-dialog.cjs.js.map +1 -1
  864. package/dist/ee/signals/settings/signal-definition-form-dialog.es.js +29 -19
  865. package/dist/ee/signals/settings/signal-definition-form-dialog.es.js.map +1 -1
  866. package/dist/ee/signals/settings/trace-signal-settings.cjs.js +16 -16
  867. package/dist/ee/signals/settings/trace-signal-settings.cjs.js.map +1 -1
  868. package/dist/ee/signals/settings/trace-signal-settings.es.js +16 -16
  869. package/dist/ee/signals/settings/trace-signal-settings.es.js.map +1 -1
  870. package/dist/ee/signals/signal-delta-column.cjs.js +8 -8
  871. package/dist/ee/signals/signal-delta-column.cjs.js.map +1 -1
  872. package/dist/ee/signals/signal-delta-column.es.js +8 -8
  873. package/dist/ee/signals/signal-delta-column.es.js.map +1 -1
  874. package/dist/ee/signals/signal-lifelines.cjs.js +3 -3
  875. package/dist/ee/signals/signal-lifelines.cjs.js.map +1 -1
  876. package/dist/ee/signals/signal-lifelines.es.js +3 -3
  877. package/dist/ee/signals/signal-lifelines.es.js.map +1 -1
  878. package/dist/ee/signals/signals-error-state.cjs.js +4 -4
  879. package/dist/ee/signals/signals-error-state.cjs.js.map +1 -1
  880. package/dist/ee/signals/signals-error-state.es.js +4 -4
  881. package/dist/ee/signals/signals-error-state.es.js.map +1 -1
  882. package/dist/ee/signals/signals-loading-skeleton.cjs.js +2 -2
  883. package/dist/ee/signals/signals-loading-skeleton.cjs.js.map +1 -1
  884. package/dist/ee/signals/signals-loading-skeleton.es.js +2 -2
  885. package/dist/ee/signals/signals-loading-skeleton.es.js.map +1 -1
  886. package/dist/ee/signals/snapshot-timeline.cjs.js +5 -5
  887. package/dist/ee/signals/snapshot-timeline.cjs.js.map +1 -1
  888. package/dist/ee/signals/snapshot-timeline.es.js +5 -5
  889. package/dist/ee/signals/snapshot-timeline.es.js.map +1 -1
  890. package/dist/ee/signals/sortable-signal-headers.cjs.js +12 -4
  891. package/dist/ee/signals/sortable-signal-headers.cjs.js.map +1 -1
  892. package/dist/ee/signals/sortable-signal-headers.es.js +12 -4
  893. package/dist/ee/signals/sortable-signal-headers.es.js.map +1 -1
  894. package/dist/ee/signals/theme-compare-sparkline.cjs.js +1 -1
  895. package/dist/ee/signals/theme-compare-sparkline.cjs.js.map +1 -1
  896. package/dist/ee/signals/theme-compare-sparkline.es.js +1 -1
  897. package/dist/ee/signals/theme-compare-sparkline.es.js.map +1 -1
  898. package/dist/ee/signals/theme-compare.cjs.js +5 -5
  899. package/dist/ee/signals/theme-compare.cjs.js.map +1 -1
  900. package/dist/ee/signals/theme-compare.es.js +5 -5
  901. package/dist/ee/signals/theme-compare.es.js.map +1 -1
  902. package/dist/ee/signals/theme-detail-panel.cjs.js +25 -20
  903. package/dist/ee/signals/theme-detail-panel.cjs.js.map +1 -1
  904. package/dist/ee/signals/theme-detail-panel.es.js +25 -20
  905. package/dist/ee/signals/theme-detail-panel.es.js.map +1 -1
  906. package/dist/ee/signals/theme-filter-banner.cjs.js +3 -3
  907. package/dist/ee/signals/theme-filter-banner.cjs.js.map +1 -1
  908. package/dist/ee/signals/theme-filter-banner.es.js +3 -3
  909. package/dist/ee/signals/theme-filter-banner.es.js.map +1 -1
  910. package/dist/ee/signals/theme-lifelines.cjs.js +1 -1
  911. package/dist/ee/signals/theme-lifelines.cjs.js.map +1 -1
  912. package/dist/ee/signals/theme-lifelines.es.js +1 -1
  913. package/dist/ee/signals/theme-lifelines.es.js.map +1 -1
  914. package/dist/ee/signals/theme-trend-chart.cjs.js +2 -2
  915. package/dist/ee/signals/theme-trend-chart.cjs.js.map +1 -1
  916. package/dist/ee/signals/theme-trend-chart.es.js +2 -2
  917. package/dist/ee/signals/theme-trend-chart.es.js.map +1 -1
  918. package/dist/ee/signals/trace-insight-view.cjs.js +23 -21
  919. package/dist/ee/signals/trace-insight-view.cjs.js.map +1 -1
  920. package/dist/ee/signals/trace-insight-view.es.js +23 -21
  921. package/dist/ee/signals/trace-insight-view.es.js.map +1 -1
  922. package/dist/ee/signals/trace-intelligence-explainer.cjs.js +11 -8
  923. package/dist/ee/signals/trace-intelligence-explainer.cjs.js.map +1 -1
  924. package/dist/ee/signals/trace-intelligence-explainer.es.js +11 -8
  925. package/dist/ee/signals/trace-intelligence-explainer.es.js.map +1 -1
  926. package/dist/ee/signals/view-mode-tab.cjs.js +4 -4
  927. package/dist/ee/signals/view-mode-tab.cjs.js.map +1 -1
  928. package/dist/ee/signals/view-mode-tab.es.js +4 -4
  929. package/dist/ee/signals/view-mode-tab.es.js.map +1 -1
  930. package/dist/ee/topics/components/topic-trace-details-panel.cjs.js +1 -1
  931. package/dist/ee/topics/components/topic-trace-details-panel.es.js +1 -1
  932. package/dist/ee/topics/components/topic-trace-summary-list.cjs.js +4 -4
  933. package/dist/ee/topics/components/topic-trace-summary-list.cjs.js.map +1 -1
  934. package/dist/ee/topics/components/topic-trace-summary-list.es.js +4 -4
  935. package/dist/ee/topics/components/topic-trace-summary-list.es.js.map +1 -1
  936. package/dist/ee/topics/components/topics-layout.cjs.js +2 -2
  937. package/dist/ee/topics/components/topics-layout.cjs.js.map +1 -1
  938. package/dist/ee/topics/components/topics-layout.es.js +2 -2
  939. package/dist/ee/topics/components/topics-layout.es.js.map +1 -1
  940. package/dist/field-block-DWkbNcsV.js +96 -0
  941. package/dist/field-block-DWkbNcsV.js.map +1 -0
  942. package/dist/field-block-Dy1IaWbv.cjs +98 -0
  943. package/dist/field-block-Dy1IaWbv.cjs.map +1 -0
  944. package/dist/filter-bar-chip-BxI0NgEz.cjs +1000 -0
  945. package/dist/filter-bar-chip-BxI0NgEz.cjs.map +1 -0
  946. package/dist/filter-bar-chip-C-JxWUU8.js +984 -0
  947. package/dist/filter-bar-chip-C-JxWUU8.js.map +1 -0
  948. package/dist/filter-bar-chip.css +131 -0
  949. package/dist/hooks/use-copy-to-clipboard.cjs.js +1 -1
  950. package/dist/hooks/use-copy-to-clipboard.es.js +1 -1
  951. package/dist/horizontal-bars-CksEKcCE.js +139 -0
  952. package/dist/horizontal-bars-CksEKcCE.js.map +1 -0
  953. package/dist/horizontal-bars-nyWGmQ7g.cjs +141 -0
  954. package/dist/horizontal-bars-nyWGmQ7g.cjs.map +1 -0
  955. package/dist/hover-card-Ch5smNcf.js +71 -0
  956. package/dist/hover-card-Ch5smNcf.js.map +1 -0
  957. package/dist/hover-card-DdHnkGcs.cjs +94 -0
  958. package/dist/hover-card-DdHnkGcs.cjs.map +1 -0
  959. package/dist/icons/Icon.cjs.js +9 -8
  960. package/dist/icons/Icon.cjs.js.map +1 -1
  961. package/dist/icons/Icon.es.js +9 -9
  962. package/dist/icons/Icon.es.js.map +1 -1
  963. package/dist/index-C-fBJhpb.cjs +47 -0
  964. package/dist/index-C-fBJhpb.cjs.map +1 -0
  965. package/dist/index-Dubp6Qv4.js +45 -0
  966. package/dist/index-Dubp6Qv4.js.map +1 -0
  967. package/dist/input-B1RysHyq.js +68 -0
  968. package/dist/input-B1RysHyq.js.map +1 -0
  969. package/dist/input-CDLMprJS.cjs +89 -0
  970. package/dist/input-CDLMprJS.cjs.map +1 -0
  971. package/dist/input-group-BEdHivvy.js +194 -0
  972. package/dist/input-group-BEdHivvy.js.map +1 -0
  973. package/dist/input-group-CvWwK1Vz.cjs +220 -0
  974. package/dist/input-group-CvWwK1Vz.cjs.map +1 -0
  975. package/dist/kbd-B-Z2sNvK.cjs +29 -0
  976. package/dist/kbd-B-Z2sNvK.cjs.map +1 -0
  977. package/dist/kbd-CINtikLh.js +27 -0
  978. package/dist/kbd-CINtikLh.js.map +1 -0
  979. package/dist/label-DfAhywj_.cjs +39 -0
  980. package/dist/label-DfAhywj_.cjs.map +1 -0
  981. package/dist/label-Dxsz0dFs.js +18 -0
  982. package/dist/label-Dxsz0dFs.js.map +1 -0
  983. package/dist/layout/tabbed-container.cjs.js +10 -10
  984. package/dist/layout/tabbed-container.cjs.js.map +1 -1
  985. package/dist/layout/tabbed-container.es.js +10 -10
  986. package/dist/layout/tabbed-container.es.js.map +1 -1
  987. package/dist/list-search-BTW0Neuc.js +69 -0
  988. package/dist/list-search-BTW0Neuc.js.map +1 -0
  989. package/dist/list-search-vyxsZMAK.cjs +71 -0
  990. package/dist/list-search-vyxsZMAK.cjs.map +1 -0
  991. package/dist/logs-data-list-BSHJPGi6.cjs +83 -0
  992. package/dist/logs-data-list-BSHJPGi6.cjs.map +1 -0
  993. package/dist/logs-data-list-CG-UgC_x.js +81 -0
  994. package/dist/logs-data-list-CG-UgC_x.js.map +1 -0
  995. package/dist/main-sidebar-link-active-CmDoiX6g.js +786 -0
  996. package/dist/main-sidebar-link-active-CmDoiX6g.js.map +1 -0
  997. package/dist/main-sidebar-link-active-DbCvKZy2.cjs +803 -0
  998. package/dist/main-sidebar-link-active-DbCvKZy2.cjs.map +1 -0
  999. package/dist/markdown-renderer-B0gTm_Ea.js +408 -0
  1000. package/dist/markdown-renderer-B0gTm_Ea.js.map +1 -0
  1001. package/dist/markdown-renderer-D8qYAU7K.cjs +410 -0
  1002. package/dist/markdown-renderer-D8qYAU7K.cjs.map +1 -0
  1003. package/dist/markdown-renderer.css +20 -20
  1004. package/dist/message-BrwbcLPi.js +62 -0
  1005. package/dist/message-BrwbcLPi.js.map +1 -0
  1006. package/dist/message-CszposMZ.cjs +66 -0
  1007. package/dist/message-CszposMZ.cjs.map +1 -0
  1008. package/dist/message-scroller-c22pIucB.cjs +860 -0
  1009. package/dist/message-scroller-c22pIucB.cjs.map +1 -0
  1010. package/dist/message-scroller-v1kQVq2v.js +834 -0
  1011. package/dist/message-scroller-v1kQVq2v.js.map +1 -0
  1012. package/dist/metrics-card-BUJxiwec.cjs +95 -0
  1013. package/dist/metrics-card-BUJxiwec.cjs.map +1 -0
  1014. package/dist/metrics-card-BlBt1WHw.js +93 -0
  1015. package/dist/metrics-card-BlBt1WHw.js.map +1 -0
  1016. package/dist/metrics-kpi-card-CBSNmtc5.js +77 -0
  1017. package/dist/metrics-kpi-card-CBSNmtc5.js.map +1 -0
  1018. package/dist/metrics-kpi-card-CgqmNcEC.cjs +79 -0
  1019. package/dist/metrics-kpi-card-CgqmNcEC.cjs.map +1 -0
  1020. package/dist/metrics-line-chart-B_sP3eiL.cjs +114 -0
  1021. package/dist/metrics-line-chart-B_sP3eiL.cjs.map +1 -0
  1022. package/dist/metrics-line-chart-DHyrDPkJ.js +111 -0
  1023. package/dist/metrics-line-chart-DHyrDPkJ.js.map +1 -0
  1024. package/dist/new/layout/app-shell.cjs.js +4 -2
  1025. package/dist/new/layout/app-shell.cjs.js.map +1 -1
  1026. package/dist/new/layout/app-shell.es.js +4 -2
  1027. package/dist/new/layout/app-shell.es.js.map +1 -1
  1028. package/dist/new/layout/page-header.cjs.js +1 -1
  1029. package/dist/new/layout/page-header.es.js +1 -1
  1030. package/dist/new/layout/page-shell.cjs.js +2 -2
  1031. package/dist/new/layout/page-shell.es.js +2 -2
  1032. package/dist/new/settings.cjs.js +9 -19
  1033. package/dist/new/settings.cjs.js.map +1 -1
  1034. package/dist/new/settings.es.js +9 -19
  1035. package/dist/new/settings.es.js.map +1 -1
  1036. package/dist/new/sidebar.cjs.js +22 -27
  1037. package/dist/new/sidebar.cjs.js.map +1 -1
  1038. package/dist/new/sidebar.es.js +23 -28
  1039. package/dist/new/sidebar.es.js.map +1 -1
  1040. package/dist/no-data-page-layout-DcVPjj-J.js +9 -0
  1041. package/dist/no-data-page-layout-DcVPjj-J.js.map +1 -0
  1042. package/dist/no-data-page-layout-Drzbg_w8.cjs +11 -0
  1043. package/dist/no-data-page-layout-Drzbg_w8.cjs.map +1 -0
  1044. package/dist/page-header-BBlPmW-T.cjs +118 -0
  1045. package/dist/page-header-BBlPmW-T.cjs.map +1 -0
  1046. package/dist/page-header-BIoUf7MA.js +116 -0
  1047. package/dist/page-header-BIoUf7MA.js.map +1 -0
  1048. package/dist/page-layout-C9ifD9Q8.cjs +99 -0
  1049. package/dist/page-layout-C9ifD9Q8.cjs.map +1 -0
  1050. package/dist/page-layout-xcM8IR-B.js +97 -0
  1051. package/dist/page-layout-xcM8IR-B.js.map +1 -0
  1052. package/dist/popover-Dg70UGyn.js +99 -0
  1053. package/dist/popover-Dg70UGyn.js.map +1 -0
  1054. package/dist/popover-lBqKiPtp.cjs +123 -0
  1055. package/dist/popover-lBqKiPtp.cjs.map +1 -0
  1056. package/dist/primitives/control-size.cjs.js +10 -19
  1057. package/dist/primitives/control-size.cjs.js.map +1 -1
  1058. package/dist/primitives/control-size.es.js +11 -19
  1059. package/dist/primitives/control-size.es.js.map +1 -1
  1060. package/dist/primitives/fluid-menu.cjs.js +27 -10
  1061. package/dist/primitives/fluid-menu.cjs.js.map +1 -1
  1062. package/dist/primitives/fluid-menu.es.js +27 -10
  1063. package/dist/primitives/fluid-menu.es.js.map +1 -1
  1064. package/dist/primitives/form-element.cjs.js +11 -11
  1065. package/dist/primitives/form-element.cjs.js.map +1 -1
  1066. package/dist/primitives/form-element.es.js +11 -9
  1067. package/dist/primitives/form-element.es.js.map +1 -1
  1068. package/dist/primitives/menu-item.cjs.js +17 -11
  1069. package/dist/primitives/menu-item.cjs.js.map +1 -1
  1070. package/dist/primitives/menu-item.es.js +17 -11
  1071. package/dist/primitives/menu-item.es.js.map +1 -1
  1072. package/dist/primitives/raised-surface.cjs.js +16 -0
  1073. package/dist/primitives/raised-surface.cjs.js.map +1 -0
  1074. package/dist/primitives/raised-surface.d.ts +2 -0
  1075. package/dist/primitives/raised-surface.es.js +8 -0
  1076. package/dist/primitives/raised-surface.es.js.map +1 -0
  1077. package/dist/primitives/resize-handle-indicator.cjs.js +4 -4
  1078. package/dist/primitives/resize-handle-indicator.cjs.js.map +1 -1
  1079. package/dist/primitives/resize-handle-indicator.es.js +4 -4
  1080. package/dist/primitives/resize-handle-indicator.es.js.map +1 -1
  1081. package/dist/primitives/selection-control.cjs.js +22 -0
  1082. package/dist/primitives/selection-control.cjs.js.map +1 -0
  1083. package/dist/primitives/selection-control.d.ts +2 -0
  1084. package/dist/primitives/selection-control.es.js +18 -0
  1085. package/dist/primitives/selection-control.es.js.map +1 -0
  1086. package/dist/primitives/transitions.cjs.js +2 -0
  1087. package/dist/primitives/transitions.cjs.js.map +1 -1
  1088. package/dist/primitives/transitions.es.js +2 -1
  1089. package/dist/primitives/transitions.es.js.map +1 -1
  1090. package/dist/primitives/trigger-button.cjs.js +2 -2
  1091. package/dist/primitives/trigger-button.es.js +2 -2
  1092. package/dist/primitives/typography.cjs.js +10 -0
  1093. package/dist/primitives/typography.cjs.js.map +1 -0
  1094. package/dist/primitives/typography.d.ts +2 -0
  1095. package/dist/primitives/typography.es.js +5 -0
  1096. package/dist/primitives/typography.es.js.map +1 -0
  1097. package/dist/property-filter-applied-BBiUbtr0.js +343 -0
  1098. package/dist/property-filter-applied-BBiUbtr0.js.map +1 -0
  1099. package/dist/property-filter-applied-BmxCPe2d.cjs +347 -0
  1100. package/dist/property-filter-applied-BmxCPe2d.cjs.map +1 -0
  1101. package/dist/resize/collapsible-panel.cjs.js +4 -4
  1102. package/dist/resize/collapsible-panel.cjs.js.map +1 -1
  1103. package/dist/resize/collapsible-panel.es.js +4 -4
  1104. package/dist/resize/collapsible-panel.es.js.map +1 -1
  1105. package/dist/resize/panel-drawer.cjs.js +2 -2
  1106. package/dist/resize/panel-drawer.es.js +2 -2
  1107. package/dist/resize/panel-group.cjs.js +1 -1
  1108. package/dist/resize/panel-group.es.js +1 -1
  1109. package/dist/resize/panel-icon-button.cjs.js +6 -3
  1110. package/dist/resize/panel-icon-button.cjs.js.map +1 -1
  1111. package/dist/resize/panel-icon-button.es.js +6 -3
  1112. package/dist/resize/panel-icon-button.es.js.map +1 -1
  1113. package/dist/resize/separator.cjs.js +2 -2
  1114. package/dist/resize/separator.cjs.js.map +1 -1
  1115. package/dist/resize/separator.es.js +2 -2
  1116. package/dist/resize/separator.es.js.map +1 -1
  1117. package/dist/sankey-chart-Bcm9jMhe.cjs +926 -0
  1118. package/dist/sankey-chart-Bcm9jMhe.cjs.map +1 -0
  1119. package/dist/sankey-chart-CqngN2lw.js +916 -0
  1120. package/dist/sankey-chart-CqngN2lw.js.map +1 -0
  1121. package/dist/scroll-area-CdQ_5bLm.js +227 -0
  1122. package/dist/scroll-area-CdQ_5bLm.js.map +1 -0
  1123. package/dist/scroll-area-Qjf7e0Ik.cjs +249 -0
  1124. package/dist/scroll-area-Qjf7e0Ik.cjs.map +1 -0
  1125. package/dist/search-field-block-B5vUVTpl.js +125 -0
  1126. package/dist/search-field-block-B5vUVTpl.js.map +1 -0
  1127. package/dist/search-field-block-D0PUUCAE.cjs +127 -0
  1128. package/dist/search-field-block-D0PUUCAE.cjs.map +1 -0
  1129. package/dist/section-B9OLuEq3.js +111 -0
  1130. package/dist/section-B9OLuEq3.js.map +1 -0
  1131. package/dist/section-CTihfzmc.cjs +115 -0
  1132. package/dist/section-CTihfzmc.cjs.map +1 -0
  1133. package/dist/select--DXpTg0O.js +139 -0
  1134. package/dist/select--DXpTg0O.js.map +1 -0
  1135. package/dist/select-7ACAVdGX.cjs +165 -0
  1136. package/dist/select-7ACAVdGX.cjs.map +1 -0
  1137. package/dist/select-field-block-Bu7UXI2H.js +59 -0
  1138. package/dist/select-field-block-Bu7UXI2H.js.map +1 -0
  1139. package/dist/select-field-block-W2u2WmN3.cjs +61 -0
  1140. package/dist/select-field-block-W2u2WmN3.cjs.map +1 -0
  1141. package/dist/settings-container-3_Yu2aCY.cjs +33 -0
  1142. package/dist/settings-container-3_Yu2aCY.cjs.map +1 -0
  1143. package/dist/settings-container-T53heJKd.js +30 -0
  1144. package/dist/settings-container-T53heJKd.js.map +1 -0
  1145. package/dist/settings-layout-C80s-D31.js +47 -0
  1146. package/dist/settings-layout-C80s-D31.js.map +1 -0
  1147. package/dist/settings-layout-NP_1dC-e.cjs +49 -0
  1148. package/dist/settings-layout-NP_1dC-e.cjs.map +1 -0
  1149. package/dist/settings-row-B2IekRyH.js +83 -0
  1150. package/dist/settings-row-B2IekRyH.js.map +1 -0
  1151. package/dist/settings-row-BoAuUUuH.cjs +86 -0
  1152. package/dist/settings-row-BoAuUUuH.cjs.map +1 -0
  1153. package/dist/shimmer-BN7Dzm37.js +23 -0
  1154. package/dist/shimmer-BN7Dzm37.js.map +1 -0
  1155. package/dist/shimmer-DbSkqomT.cjs +25 -0
  1156. package/dist/shimmer-DbSkqomT.cjs.map +1 -0
  1157. package/dist/skeleton-BsRAXyh5.js +23 -0
  1158. package/dist/skeleton-BsRAXyh5.js.map +1 -0
  1159. package/dist/skeleton-cXUjPrq9.cjs +25 -0
  1160. package/dist/skeleton-cXUjPrq9.cjs.map +1 -0
  1161. package/dist/slider-C-Fda4HC.cjs +97 -0
  1162. package/dist/slider-C-Fda4HC.cjs.map +1 -0
  1163. package/dist/slider-MM3K0Pyv.js +95 -0
  1164. package/dist/slider-MM3K0Pyv.js.map +1 -0
  1165. package/dist/sort/sort-by.cjs.js +44 -0
  1166. package/dist/sort/sort-by.cjs.js.map +1 -0
  1167. package/dist/sort/sort-by.d.ts +2 -0
  1168. package/dist/sort/sort-by.es.js +39 -0
  1169. package/dist/sort/sort-by.es.js.map +1 -0
  1170. package/dist/sort/use-url-sort.cjs.js +52 -0
  1171. package/dist/sort/use-url-sort.cjs.js.map +1 -0
  1172. package/dist/sort/use-url-sort.d.ts +2 -0
  1173. package/dist/sort/use-url-sort.es.js +45 -0
  1174. package/dist/sort/use-url-sort.es.js.map +1 -0
  1175. package/dist/span-payload-primitives-DnRsP93D.cjs +75 -0
  1176. package/dist/span-payload-primitives-DnRsP93D.cjs.map +1 -0
  1177. package/dist/span-payload-primitives-sbxk4CHC.js +68 -0
  1178. package/dist/span-payload-primitives-sbxk4CHC.js.map +1 -0
  1179. package/dist/spinner-CqP-NaB2.cjs +53 -0
  1180. package/dist/spinner-CqP-NaB2.cjs.map +1 -0
  1181. package/dist/spinner-D2C2DYw8.js +51 -0
  1182. package/dist/spinner-D2C2DYw8.js.map +1 -0
  1183. package/dist/src/domains/logs/components/logs-list-view.d.ts +5 -1
  1184. package/dist/src/domains/logs/hooks/use-logs.d.ts +2 -0
  1185. package/dist/src/domains/metrics/components/metrics-utils.d.ts +8 -11
  1186. package/dist/src/domains/traces/components/span-timing-hover-card.d.ts +0 -1
  1187. package/dist/src/domains/traces/components/trace-columns-menu.d.ts +6 -2
  1188. package/dist/src/domains/traces/components/trace-time-range-chip.stories.d.ts +7 -0
  1189. package/dist/src/domains/traces/components/traces-list-view.d.ts +11 -2
  1190. package/dist/src/domains/traces/hooks/use-trace-column-preferences.d.ts +3 -1
  1191. package/dist/src/domains/traces/hooks/use-trace-metadata-filter-fields.d.ts +4 -1
  1192. package/dist/src/domains/traces/hooks/use-trace-query.d.ts +2 -2
  1193. package/dist/src/domains/traces/hooks/use-trace-spans.d.ts +16 -16
  1194. package/dist/src/domains/traces/hooks/use-trace-url-state.d.ts +4 -5
  1195. package/dist/src/domains/traces/trace-filters.d.ts +32 -10
  1196. package/dist/src/domains/traces/trace-list-columns.d.ts +11 -2
  1197. package/dist/src/domains/traces/trace-query-filters.d.ts +20 -2
  1198. package/dist/src/ds/components/Button/Button.d.ts +1 -1
  1199. package/dist/src/ds/components/ButtonsGroup/buttons-group.d.ts +1 -10
  1200. package/dist/src/ds/components/ButtonsGroup/buttons-group.stories.d.ts +14 -3
  1201. package/dist/src/ds/components/Card/Card.d.ts +3 -5
  1202. package/dist/src/ds/components/Card/card.stories.d.ts +1 -1
  1203. package/dist/src/ds/components/ChartTooltip/chart-tooltip.d.ts +11 -0
  1204. package/dist/src/ds/components/ChartTooltip/index.d.ts +1 -0
  1205. package/dist/src/ds/components/ChatShell/chat-shell.d.ts +4 -2
  1206. package/dist/src/ds/components/Combobox/combobox-styles.d.ts +4 -7
  1207. package/dist/src/ds/components/Combobox/combobox.d.ts +3 -0
  1208. package/dist/src/ds/components/Combobox/combobox.stories.d.ts +1 -0
  1209. package/dist/src/ds/components/DataKeysAndValues/shared.d.ts +1 -1
  1210. package/dist/src/ds/components/DataList/ScoresDataList/scores-data-list.d.ts +2 -0
  1211. package/dist/src/ds/components/DataList/TracesDataList/traces-data-list-cells.d.ts +2 -3
  1212. package/dist/src/ds/components/DataList/TracesDataList/traces-data-list.d.ts +4 -2
  1213. package/dist/src/ds/components/DataList/data-list-cells.d.ts +2 -2
  1214. package/dist/src/ds/components/DataList/data-list-root.d.ts +3 -2
  1215. package/dist/src/ds/components/DataList/data-list-sortable-top-cell.d.ts +6 -6
  1216. package/dist/src/ds/components/DataList/data-list.d.ts +3 -2
  1217. package/dist/src/ds/components/DataList/data-list.stories.d.ts +5 -0
  1218. package/dist/src/ds/components/DataList/shared.d.ts +13 -4
  1219. package/dist/src/ds/components/DataPanel/data-panel-root.d.ts +2 -1
  1220. package/dist/src/ds/components/Dialog/dialog-context.d.ts +3 -4
  1221. package/dist/src/ds/components/FilterBar/filter-bar-chip.d.ts +10 -1
  1222. package/dist/src/ds/components/FilterBar/filter-bar-context.d.ts +16 -3
  1223. package/dist/src/ds/components/FilterBar/filter-bar.d.ts +19 -3
  1224. package/dist/src/ds/components/FilterBar/index.d.ts +2 -2
  1225. package/dist/src/ds/components/FilterBar/types.d.ts +22 -0
  1226. package/dist/src/ds/components/FormFieldBlocks/block/field-block-label.d.ts +3 -1
  1227. package/dist/src/ds/components/FormFieldBlocks/block/field-block-message.d.ts +6 -0
  1228. package/dist/src/ds/components/FormFieldBlocks/block/field-block.d.ts +2 -0
  1229. package/dist/src/ds/components/FormFieldBlocks/fields/search-field-block.d.ts +1 -2
  1230. package/dist/src/ds/components/FormFieldBlocks/fields/textarea-field-block.d.ts +15 -0
  1231. package/dist/src/ds/components/FormFieldBlocks/index.d.ts +1 -0
  1232. package/dist/src/ds/components/HoverCard/hover-card.d.ts +0 -21
  1233. package/dist/src/ds/components/HoverCard/hover-card.stories.d.ts +1 -0
  1234. package/dist/src/ds/components/Input/input.d.ts +4 -4
  1235. package/dist/src/ds/components/Input/input.stories.d.ts +0 -1
  1236. package/dist/src/ds/components/InputGroup/input-group.d.ts +2 -12
  1237. package/dist/src/ds/components/InputGroup/input-group.stories.d.ts +1 -1
  1238. package/dist/src/ds/components/Kbd/kbd.d.ts +1 -2
  1239. package/dist/src/ds/components/Kbd/kbd.stories.d.ts +1 -2
  1240. package/dist/src/ds/components/ListSearch/list-search.d.ts +1 -2
  1241. package/dist/src/ds/components/LogsDataList/logs-data-list.d.ts +2 -0
  1242. package/dist/src/ds/components/MainHeader/main-header-title.d.ts +1 -2
  1243. package/dist/src/ds/components/MainSidebar/main-sidebar-nav-item-classes.d.ts +1 -1
  1244. package/dist/src/ds/components/MainSidebar/main-sidebar-nav-link.d.ts +1 -0
  1245. package/dist/src/ds/components/Tabs/tabs-list.d.ts +3 -14
  1246. package/dist/src/ds/components/Textarea/textarea.d.ts +4 -4
  1247. package/dist/src/ds/components/ThemeToggle/theme-toggle.d.ts +2 -2
  1248. package/dist/src/ds/components/Txt/Txt.d.ts +8 -15
  1249. package/dist/src/ds/components/Txt/txt.stories.d.ts +6 -17
  1250. package/dist/src/ds/components/Workflow/cards/workflow-clock.d.ts +2 -1
  1251. package/dist/src/ds/components/Workflow/types.d.ts +1 -0
  1252. package/dist/src/ds/icons/Icon.d.ts +3 -1
  1253. package/dist/src/ds/new/layout/page-header/page-header-title.d.ts +1 -3
  1254. package/dist/src/ds/new/layout/page-header/page-header.d.ts +1 -1
  1255. package/dist/src/ds/new/layout/page-header/page-header.stories.d.ts +1 -9
  1256. package/dist/src/ds/primitives/control-size.d.ts +1 -2
  1257. package/dist/src/ds/primitives/fluid-menu.d.ts +9 -6
  1258. package/dist/src/ds/primitives/form-element.d.ts +5 -7
  1259. package/dist/src/ds/primitives/menu-item.d.ts +3 -3
  1260. package/dist/src/ds/primitives/raised-surface.d.ts +50 -0
  1261. package/dist/src/ds/primitives/selection-control.d.ts +1 -0
  1262. package/dist/src/ds/primitives/transitions.d.ts +1 -0
  1263. package/dist/src/ds/primitives/typography.d.ts +11 -0
  1264. package/dist/src/ds/tokens/animations.d.ts +6 -7
  1265. package/dist/src/ds/tokens/colors.d.ts +63 -18
  1266. package/dist/src/ds/tokens/elevation-foundations.stories.d.ts +5 -0
  1267. package/dist/src/ds/tokens/fonts.d.ts +3 -25
  1268. package/dist/src/ds/tokens/foundations-layout.d.ts +29 -0
  1269. package/dist/src/ds/tokens/index.d.ts +0 -1
  1270. package/dist/src/ds/tokens/motion-foundations.stories.d.ts +5 -0
  1271. package/dist/src/ds/tokens/shadows.d.ts +3 -13
  1272. package/dist/src/ds/tokens/shape-foundations.stories.d.ts +5 -0
  1273. package/dist/src/ds/tokens/sizes.d.ts +7 -8
  1274. package/dist/src/ds/tokens/status-foundations.stories.d.ts +5 -0
  1275. package/dist/src/ds/tokens/surface-foundations.stories.d.ts +5 -0
  1276. package/dist/src/ds/tokens/utilities-foundations.stories.d.ts +5 -0
  1277. package/dist/src/lib/sort/sort-by.d.ts +16 -0
  1278. package/dist/src/lib/sort/use-url-sort.d.ts +24 -0
  1279. package/dist/src/utils/duration.d.ts +1 -0
  1280. package/dist/style.css +2235 -3169
  1281. package/dist/switch-6125Oajw.cjs +124 -0
  1282. package/dist/switch-6125Oajw.cjs.map +1 -0
  1283. package/dist/switch-CE9jTpUG.js +103 -0
  1284. package/dist/switch-CE9jTpUG.js.map +1 -0
  1285. package/dist/tabbed-container.css +15 -15
  1286. package/dist/tabs-content-Bz6CZuv9.cjs +37 -0
  1287. package/dist/tabs-content-Bz6CZuv9.cjs.map +1 -0
  1288. package/dist/tabs-content-CKC4kIpH.js +35 -0
  1289. package/dist/tabs-content-CKC4kIpH.js.map +1 -0
  1290. package/dist/tabs-root-C5ABfm1F.cjs +315 -0
  1291. package/dist/tabs-root-C5ABfm1F.cjs.map +1 -0
  1292. package/dist/tabs-root-CcEQrwTM.js +312 -0
  1293. package/dist/tabs-root-CcEQrwTM.js.map +1 -0
  1294. package/dist/tabs-root.css +18 -31
  1295. package/dist/tabs-tab-BycF4dvx.js +103 -0
  1296. package/dist/tabs-tab-BycF4dvx.js.map +1 -0
  1297. package/dist/tabs-tab-DA466DbX.cjs +107 -0
  1298. package/dist/tabs-tab-DA466DbX.cjs.map +1 -0
  1299. package/dist/text-field-block--EUJKlY_.js +56 -0
  1300. package/dist/text-field-block--EUJKlY_.js.map +1 -0
  1301. package/dist/text-field-block-BLpLWmu8.cjs +58 -0
  1302. package/dist/text-field-block-BLpLWmu8.cjs.map +1 -0
  1303. package/dist/textarea-5b6XcMrq.cjs +79 -0
  1304. package/dist/textarea-5b6XcMrq.cjs.map +1 -0
  1305. package/dist/textarea-DdnzLrI9.js +58 -0
  1306. package/dist/textarea-DdnzLrI9.js.map +1 -0
  1307. package/dist/thread-rail-b-8RHNX_.cjs +343 -0
  1308. package/dist/thread-rail-b-8RHNX_.cjs.map +1 -0
  1309. package/dist/thread-rail-vsR5C0j4.js +322 -0
  1310. package/dist/thread-rail-vsR5C0j4.js.map +1 -0
  1311. package/dist/time-picker-DVt1ZUsS.js +76 -0
  1312. package/dist/time-picker-DVt1ZUsS.js.map +1 -0
  1313. package/dist/time-picker-Dlm-C-n4.cjs +78 -0
  1314. package/dist/time-picker-Dlm-C-n4.cjs.map +1 -0
  1315. package/dist/toast-c5kCpyWt.js +52 -0
  1316. package/dist/toast-c5kCpyWt.js.map +1 -0
  1317. package/dist/toast-nm-fM7BR.cjs +55 -0
  1318. package/dist/toast-nm-fM7BR.cjs.map +1 -0
  1319. package/dist/toast.css +12 -12
  1320. package/dist/tokens.cjs.js +153 -22
  1321. package/dist/tokens.cjs.js.map +1 -1
  1322. package/dist/tokens.es.js +144 -11
  1323. package/dist/tokens.es.js.map +1 -1
  1324. package/dist/tool-approval-DB82iiRa.js +66 -0
  1325. package/dist/tool-approval-DB82iiRa.js.map +1 -0
  1326. package/dist/tool-approval-Dys524ty.cjs +69 -0
  1327. package/dist/tool-approval-Dys524ty.cjs.map +1 -0
  1328. package/dist/tool-call-CMRvRE-v.cjs +197 -0
  1329. package/dist/tool-call-CMRvRE-v.cjs.map +1 -0
  1330. package/dist/tool-call-K147tCug.js +182 -0
  1331. package/dist/tool-call-K147tCug.js.map +1 -0
  1332. package/dist/tooltip-BrDiP0RI.js +114 -0
  1333. package/dist/tooltip-BrDiP0RI.js.map +1 -0
  1334. package/dist/tooltip-FvWL16Xn.cjs +138 -0
  1335. package/dist/tooltip-FvWL16Xn.cjs.map +1 -0
  1336. package/dist/traces-data-list-B3q_cy6c.cjs +97 -0
  1337. package/dist/traces-data-list-B3q_cy6c.cjs.map +1 -0
  1338. package/dist/traces-data-list-CDNE9P8W.js +95 -0
  1339. package/dist/traces-data-list-CDNE9P8W.js.map +1 -0
  1340. package/dist/use-text-highlight.css +1 -1
  1341. package/dist/utils/cn.cjs.js +1 -1
  1342. package/dist/utils/cn.es.js +1 -1
  1343. package/dist/utils/duration.cjs.js +22 -0
  1344. package/dist/utils/duration.cjs.js.map +1 -0
  1345. package/dist/utils/duration.d.ts +2 -0
  1346. package/dist/utils/duration.es.js +18 -0
  1347. package/dist/utils/duration.es.js.map +1 -0
  1348. package/dist/utils/toast.cjs.js +1 -1
  1349. package/dist/utils/toast.es.js +1 -1
  1350. package/package.json +19 -10
  1351. package/theme/colors.css +155 -0
  1352. package/theme/data-viz.css +59 -0
  1353. package/theme/motion.css +38 -0
  1354. package/theme/scale.css +42 -0
  1355. package/theme/status.css +96 -0
  1356. package/theme/surfaces.css +201 -0
  1357. package/theme/typography.css +74 -0
  1358. package/theme.css +53 -571
  1359. package/dist/Badge-BCwBpIc7.js +0 -123
  1360. package/dist/Badge-BCwBpIc7.js.map +0 -1
  1361. package/dist/Badge-RWi6V_JT.cjs +0 -125
  1362. package/dist/Badge-RWi6V_JT.cjs.map +0 -1
  1363. package/dist/Button-C2dx_QZN.cjs +0 -207
  1364. package/dist/Button-C2dx_QZN.cjs.map +0 -1
  1365. package/dist/Button-DS6O6fvU.js +0 -203
  1366. package/dist/Button-DS6O6fvU.js.map +0 -1
  1367. package/dist/Card-CnxuKKaz.js +0 -96
  1368. package/dist/Card-CnxuKKaz.js.map +0 -1
  1369. package/dist/Card-DC9rlxXj.cjs +0 -123
  1370. package/dist/Card-DC9rlxXj.cjs.map +0 -1
  1371. package/dist/EmptyState-CDM5htkF.js +0 -31
  1372. package/dist/EmptyState-CDM5htkF.js.map +0 -1
  1373. package/dist/EmptyState-_TZefNk_.cjs +0 -33
  1374. package/dist/EmptyState-_TZefNk_.cjs.map +0 -1
  1375. package/dist/ErrorState-DvsG3RMz.cjs +0 -16
  1376. package/dist/ErrorState-DvsG3RMz.cjs.map +0 -1
  1377. package/dist/ErrorState-t59EAa55.js +0 -14
  1378. package/dist/ErrorState-t59EAa55.js.map +0 -1
  1379. package/dist/Notice-Cq7m_mxe.cjs +0 -91
  1380. package/dist/Notice-Cq7m_mxe.cjs.map +0 -1
  1381. package/dist/Notice-DEqr19sI.js +0 -89
  1382. package/dist/Notice-DEqr19sI.js.map +0 -1
  1383. package/dist/PermissionDenied-BCHmzPYk.cjs +0 -24
  1384. package/dist/PermissionDenied-BCHmzPYk.cjs.map +0 -1
  1385. package/dist/PermissionDenied-lLDk9Zpw.js +0 -22
  1386. package/dist/PermissionDenied-lLDk9Zpw.js.map +0 -1
  1387. package/dist/SessionExpired-B4qMlVNC.cjs +0 -47
  1388. package/dist/SessionExpired-B4qMlVNC.cjs.map +0 -1
  1389. package/dist/SessionExpired-OS-dhsdb.js +0 -45
  1390. package/dist/SessionExpired-OS-dhsdb.js.map +0 -1
  1391. package/dist/Txt-C7rZCmrg.cjs +0 -30
  1392. package/dist/Txt-C7rZCmrg.cjs.map +0 -1
  1393. package/dist/Txt-hyo2FKuO.js +0 -28
  1394. package/dist/Txt-hyo2FKuO.js.map +0 -1
  1395. package/dist/activity-1GW2mu-d.cjs +0 -52
  1396. package/dist/activity-1GW2mu-d.cjs.map +0 -1
  1397. package/dist/activity-BiQKEDt0.js +0 -49
  1398. package/dist/activity-BiQKEDt0.js.map +0 -1
  1399. package/dist/arrival-CormfVRZ.cjs +0 -22
  1400. package/dist/arrival-CormfVRZ.cjs.map +0 -1
  1401. package/dist/arrival-DPVjCnNy.js +0 -19
  1402. package/dist/arrival-DPVjCnNy.js.map +0 -1
  1403. package/dist/ask-user-DCWLWOBI.js +0 -137
  1404. package/dist/ask-user-DCWLWOBI.js.map +0 -1
  1405. package/dist/ask-user-Dw64_A-5.cjs +0 -146
  1406. package/dist/ask-user-Dw64_A-5.cjs.map +0 -1
  1407. package/dist/buttons-group-t7AODlO9.js +0 -162
  1408. package/dist/buttons-group-t7AODlO9.js.map +0 -1
  1409. package/dist/buttons-group-yLVV4nzz.cjs +0 -186
  1410. package/dist/buttons-group-yLVV4nzz.cjs.map +0 -1
  1411. package/dist/chat-notification-DMwUG6M1.cjs +0 -111
  1412. package/dist/chat-notification-DMwUG6M1.cjs.map +0 -1
  1413. package/dist/chat-notification-DyBAfleZ.js +0 -107
  1414. package/dist/chat-notification-DyBAfleZ.js.map +0 -1
  1415. package/dist/chat-signal-D-8_rCn0.cjs +0 -42
  1416. package/dist/chat-signal-D-8_rCn0.cjs.map +0 -1
  1417. package/dist/chat-signal-JGIN9unj.js +0 -40
  1418. package/dist/chat-signal-JGIN9unj.js.map +0 -1
  1419. package/dist/checkbox-BHOqsV3k.js +0 -89
  1420. package/dist/checkbox-BHOqsV3k.js.map +0 -1
  1421. package/dist/checkbox-DXapLh4O.cjs +0 -110
  1422. package/dist/checkbox-DXapLh4O.cjs.map +0 -1
  1423. package/dist/cn-BuHW7Wrt.cjs +0 -3294
  1424. package/dist/cn-BuHW7Wrt.cjs.map +0 -1
  1425. package/dist/cn-C6s2yXwM.js +0 -3291
  1426. package/dist/cn-C6s2yXwM.js.map +0 -1
  1427. package/dist/code-block-BBG-Zv3I.js +0 -86
  1428. package/dist/code-block-BBG-Zv3I.js.map +0 -1
  1429. package/dist/code-block-DgK__blB.cjs +0 -88
  1430. package/dist/code-block-DgK__blB.cjs.map +0 -1
  1431. package/dist/code-diff-CRzg0c6L.js +0 -142
  1432. package/dist/code-diff-CRzg0c6L.js.map +0 -1
  1433. package/dist/code-diff-pMNj9cR8.cjs +0 -144
  1434. package/dist/code-diff-pMNj9cR8.cjs.map +0 -1
  1435. package/dist/code-editor-CQqV40K3.js +0 -478
  1436. package/dist/code-editor-CQqV40K3.js.map +0 -1
  1437. package/dist/code-editor-e1JSppW0.cjs +0 -486
  1438. package/dist/code-editor-e1JSppW0.cjs.map +0 -1
  1439. package/dist/collapsible-C2RuZzc7.js +0 -57
  1440. package/dist/collapsible-C2RuZzc7.js.map +0 -1
  1441. package/dist/collapsible-C3x1n6sF.cjs +0 -61
  1442. package/dist/collapsible-C3x1n6sF.cjs.map +0 -1
  1443. package/dist/combobox-CQ2Ri2LC.js +0 -175
  1444. package/dist/combobox-CQ2Ri2LC.js.map +0 -1
  1445. package/dist/combobox-F3WprWVx.cjs +0 -196
  1446. package/dist/combobox-F3WprWVx.cjs.map +0 -1
  1447. package/dist/combobox-styles-1C3D0JLL.cjs +0 -98
  1448. package/dist/combobox-styles-1C3D0JLL.cjs.map +0 -1
  1449. package/dist/combobox-styles-BMerfYPX.js +0 -94
  1450. package/dist/combobox-styles-BMerfYPX.js.map +0 -1
  1451. package/dist/command-CuuMEoIB.cjs +0 -211
  1452. package/dist/command-CuuMEoIB.cjs.map +0 -1
  1453. package/dist/command-rJ4b4Z2h.js +0 -182
  1454. package/dist/command-rJ4b4Z2h.js.map +0 -1
  1455. package/dist/components/DashboardCard.cjs.js +0 -10
  1456. package/dist/components/DashboardCard.cjs.js.map +0 -1
  1457. package/dist/components/DashboardCard.d.ts +0 -2
  1458. package/dist/components/DashboardCard.es.js +0 -2
  1459. package/dist/components/DashboardCard.es.js.map +0 -1
  1460. package/dist/composer-C6kIcVEJ.cjs +0 -156
  1461. package/dist/composer-C6kIcVEJ.cjs.map +0 -1
  1462. package/dist/composer-Dz769593.js +0 -148
  1463. package/dist/composer-Dz769593.js.map +0 -1
  1464. package/dist/copy-button-CmQxxSUq.cjs +0 -38
  1465. package/dist/copy-button-CmQxxSUq.cjs.map +0 -1
  1466. package/dist/copy-button-DIeDskPU.js +0 -36
  1467. package/dist/copy-button-DIeDskPU.js.map +0 -1
  1468. package/dist/dashboard-card-B4VOm5Js.cjs +0 -11
  1469. package/dist/dashboard-card-B4VOm5Js.cjs.map +0 -1
  1470. package/dist/dashboard-card-quQYRrRH.js +0 -9
  1471. package/dist/dashboard-card-quQYRrRH.js.map +0 -1
  1472. package/dist/data-code-section-BHQOAbuZ.js +0 -348
  1473. package/dist/data-code-section-BHQOAbuZ.js.map +0 -1
  1474. package/dist/data-code-section-Dsn6ZqE0.cjs +0 -350
  1475. package/dist/data-code-section-Dsn6ZqE0.cjs.map +0 -1
  1476. package/dist/data-keys-and-values-BxSKCdWQ.js +0 -122
  1477. package/dist/data-keys-and-values-BxSKCdWQ.js.map +0 -1
  1478. package/dist/data-keys-and-values-CPUfobZS.cjs +0 -124
  1479. package/dist/data-keys-and-values-CPUfobZS.cjs.map +0 -1
  1480. package/dist/data-list-B9td5YXY.cjs +0 -184
  1481. package/dist/data-list-B9td5YXY.cjs.map +0 -1
  1482. package/dist/data-list-IQ0BjiGx.js +0 -180
  1483. package/dist/data-list-IQ0BjiGx.js.map +0 -1
  1484. package/dist/data-list-skeleton-CFaGBKDb.cjs +0 -38
  1485. package/dist/data-list-skeleton-CFaGBKDb.cjs.map +0 -1
  1486. package/dist/data-list-skeleton-CQQydcpj.js +0 -36
  1487. package/dist/data-list-skeleton-CQQydcpj.js.map +0 -1
  1488. package/dist/data-list-spacer-DWoUNPpA.js +0 -138
  1489. package/dist/data-list-spacer-DWoUNPpA.js.map +0 -1
  1490. package/dist/data-list-spacer-psBnZOCX.cjs +0 -146
  1491. package/dist/data-list-spacer-psBnZOCX.cjs.map +0 -1
  1492. package/dist/data-list-top-CkwvYUWw.cjs +0 -375
  1493. package/dist/data-list-top-CkwvYUWw.cjs.map +0 -1
  1494. package/dist/data-list-top-DbUnE1J9.js +0 -350
  1495. package/dist/data-list-top-DbUnE1J9.js.map +0 -1
  1496. package/dist/data-panel-BhJ8Lp_j.cjs +0 -269
  1497. package/dist/data-panel-BhJ8Lp_j.cjs.map +0 -1
  1498. package/dist/data-panel-D2JtbyKg.js +0 -249
  1499. package/dist/data-panel-D2JtbyKg.js.map +0 -1
  1500. package/dist/data-panel-section-heading-BoMxMKSA.cjs +0 -23
  1501. package/dist/data-panel-section-heading-BoMxMKSA.cjs.map +0 -1
  1502. package/dist/data-panel-section-heading-UzIDRnta.js +0 -21
  1503. package/dist/data-panel-section-heading-UzIDRnta.js.map +0 -1
  1504. package/dist/date-picker-DiZ0FOvY.cjs +0 -48
  1505. package/dist/date-picker-DiZ0FOvY.cjs.map +0 -1
  1506. package/dist/date-picker-jDmdtRTR.js +0 -46
  1507. package/dist/date-picker-jDmdtRTR.js.map +0 -1
  1508. package/dist/date-time-range-picker-BotnQ9HS.js +0 -164
  1509. package/dist/date-time-range-picker-BotnQ9HS.js.map +0 -1
  1510. package/dist/date-time-range-picker-eyfOf4v-.cjs +0 -166
  1511. package/dist/date-time-range-picker-eyfOf4v-.cjs.map +0 -1
  1512. package/dist/dialog-B3DNnoZ3.cjs +0 -276
  1513. package/dist/dialog-B3DNnoZ3.cjs.map +0 -1
  1514. package/dist/dialog-C60a4DWO.js +0 -242
  1515. package/dist/dialog-C60a4DWO.js.map +0 -1
  1516. package/dist/drawer-CEufBgtb.cjs +0 -367
  1517. package/dist/drawer-CEufBgtb.cjs.map +0 -1
  1518. package/dist/drawer-DgGxK4oq.js +0 -327
  1519. package/dist/drawer-DgGxK4oq.js.map +0 -1
  1520. package/dist/dropdown-menu-B3nTlFnz.js +0 -222
  1521. package/dist/dropdown-menu-B3nTlFnz.js.map +0 -1
  1522. package/dist/dropdown-menu-DfX8T0jb.cjs +0 -243
  1523. package/dist/dropdown-menu-DfX8T0jb.cjs.map +0 -1
  1524. package/dist/field-block-An2PO2_X.cjs +0 -93
  1525. package/dist/field-block-An2PO2_X.cjs.map +0 -1
  1526. package/dist/field-block-CQkD13nw.js +0 -91
  1527. package/dist/field-block-CQkD13nw.js.map +0 -1
  1528. package/dist/filter-bar-chip-BR7Xnpeo.cjs +0 -868
  1529. package/dist/filter-bar-chip-BR7Xnpeo.cjs.map +0 -1
  1530. package/dist/filter-bar-chip-DyITaBNj.js +0 -853
  1531. package/dist/filter-bar-chip-DyITaBNj.js.map +0 -1
  1532. package/dist/fonts-BD38FYaQ.js +0 -51
  1533. package/dist/fonts-BD38FYaQ.js.map +0 -1
  1534. package/dist/fonts-DxgDxyKF.cjs +0 -56
  1535. package/dist/fonts-DxgDxyKF.cjs.map +0 -1
  1536. package/dist/horizontal-bars-D1992rbt.cjs +0 -141
  1537. package/dist/horizontal-bars-D1992rbt.cjs.map +0 -1
  1538. package/dist/horizontal-bars-lhqUch51.js +0 -139
  1539. package/dist/horizontal-bars-lhqUch51.js.map +0 -1
  1540. package/dist/hover-card-BSj1EgQs.cjs +0 -91
  1541. package/dist/hover-card-BSj1EgQs.cjs.map +0 -1
  1542. package/dist/hover-card-Cmh0QRP8.js +0 -68
  1543. package/dist/hover-card-Cmh0QRP8.js.map +0 -1
  1544. package/dist/index-Cp3ZQQze.js +0 -45
  1545. package/dist/index-Cp3ZQQze.js.map +0 -1
  1546. package/dist/index-gbqoNdVM.cjs +0 -47
  1547. package/dist/index-gbqoNdVM.cjs.map +0 -1
  1548. package/dist/input-XEcMP_LL.cjs +0 -99
  1549. package/dist/input-XEcMP_LL.cjs.map +0 -1
  1550. package/dist/input-group-D_1g2L_v.cjs +0 -243
  1551. package/dist/input-group-D_1g2L_v.cjs.map +0 -1
  1552. package/dist/input-group-rn0r72y5.js +0 -217
  1553. package/dist/input-group-rn0r72y5.js.map +0 -1
  1554. package/dist/input-kU7nI6V5.js +0 -78
  1555. package/dist/input-kU7nI6V5.js.map +0 -1
  1556. package/dist/kbd-DjjBBIZN.cjs +0 -34
  1557. package/dist/kbd-DjjBBIZN.cjs.map +0 -1
  1558. package/dist/kbd-H5Qu573u.js +0 -32
  1559. package/dist/kbd-H5Qu573u.js.map +0 -1
  1560. package/dist/label-DxQoIwES.cjs +0 -34
  1561. package/dist/label-DxQoIwES.cjs.map +0 -1
  1562. package/dist/label-NULyP-1Q.js +0 -13
  1563. package/dist/label-NULyP-1Q.js.map +0 -1
  1564. package/dist/list-search-Cg5Y90E8.js +0 -71
  1565. package/dist/list-search-Cg5Y90E8.js.map +0 -1
  1566. package/dist/list-search-DISXdbOP.cjs +0 -73
  1567. package/dist/list-search-DISXdbOP.cjs.map +0 -1
  1568. package/dist/logs-data-list-B1FY1A2A.cjs +0 -82
  1569. package/dist/logs-data-list-B1FY1A2A.cjs.map +0 -1
  1570. package/dist/logs-data-list-DZz_YVd2.js +0 -80
  1571. package/dist/logs-data-list-DZz_YVd2.js.map +0 -1
  1572. package/dist/main-sidebar-link-active-Bzw7LY7r.cjs +0 -787
  1573. package/dist/main-sidebar-link-active-Bzw7LY7r.cjs.map +0 -1
  1574. package/dist/main-sidebar-link-active-D1iR9bHo.js +0 -770
  1575. package/dist/main-sidebar-link-active-D1iR9bHo.js.map +0 -1
  1576. package/dist/markdown-renderer-CUQHtRlL.cjs +0 -410
  1577. package/dist/markdown-renderer-CUQHtRlL.cjs.map +0 -1
  1578. package/dist/markdown-renderer-SVeQ5Uo_.js +0 -408
  1579. package/dist/markdown-renderer-SVeQ5Uo_.js.map +0 -1
  1580. package/dist/message-B-28p4Zs.cjs +0 -66
  1581. package/dist/message-B-28p4Zs.cjs.map +0 -1
  1582. package/dist/message-DGZPjxsh.js +0 -62
  1583. package/dist/message-DGZPjxsh.js.map +0 -1
  1584. package/dist/message-scroller-SYgTcpaD.cjs +0 -857
  1585. package/dist/message-scroller-SYgTcpaD.cjs.map +0 -1
  1586. package/dist/message-scroller-ViAipPK4.js +0 -831
  1587. package/dist/message-scroller-ViAipPK4.js.map +0 -1
  1588. package/dist/metrics-card-CM9jj-UN.cjs +0 -95
  1589. package/dist/metrics-card-CM9jj-UN.cjs.map +0 -1
  1590. package/dist/metrics-card-ClpFsCSt.js +0 -93
  1591. package/dist/metrics-card-ClpFsCSt.js.map +0 -1
  1592. package/dist/metrics-kpi-card-CoVZRI52.cjs +0 -79
  1593. package/dist/metrics-kpi-card-CoVZRI52.cjs.map +0 -1
  1594. package/dist/metrics-kpi-card-D-ct3JAY.js +0 -77
  1595. package/dist/metrics-kpi-card-D-ct3JAY.js.map +0 -1
  1596. package/dist/metrics-line-chart-DPcqXCDT.cjs +0 -114
  1597. package/dist/metrics-line-chart-DPcqXCDT.cjs.map +0 -1
  1598. package/dist/metrics-line-chart-M3JTf2J8.js +0 -111
  1599. package/dist/metrics-line-chart-M3JTf2J8.js.map +0 -1
  1600. package/dist/new-theme.css +0 -39
  1601. package/dist/no-data-page-layout-COzOm-mS.js +0 -9
  1602. package/dist/no-data-page-layout-COzOm-mS.js.map +0 -1
  1603. package/dist/no-data-page-layout-yCjhZq99.cjs +0 -11
  1604. package/dist/no-data-page-layout-yCjhZq99.cjs.map +0 -1
  1605. package/dist/page-header-DyAd0Uof.cjs +0 -125
  1606. package/dist/page-header-DyAd0Uof.cjs.map +0 -1
  1607. package/dist/page-header-DymTqQgq.js +0 -123
  1608. package/dist/page-header-DymTqQgq.js.map +0 -1
  1609. package/dist/page-layout-B_JUSRkD.js +0 -97
  1610. package/dist/page-layout-B_JUSRkD.js.map +0 -1
  1611. package/dist/page-layout-DXFMbJi3.cjs +0 -99
  1612. package/dist/page-layout-DXFMbJi3.cjs.map +0 -1
  1613. package/dist/popover-CGB4qBAn.cjs +0 -121
  1614. package/dist/popover-CGB4qBAn.cjs.map +0 -1
  1615. package/dist/popover-lj-OpKKH.js +0 -97
  1616. package/dist/popover-lj-OpKKH.js.map +0 -1
  1617. package/dist/property-filter-applied-CZu-Jwsx.js +0 -344
  1618. package/dist/property-filter-applied-CZu-Jwsx.js.map +0 -1
  1619. package/dist/property-filter-applied-DZz8aSoU.cjs +0 -348
  1620. package/dist/property-filter-applied-DZz8aSoU.cjs.map +0 -1
  1621. package/dist/sankey-chart-GiDY0WBV.js +0 -916
  1622. package/dist/sankey-chart-GiDY0WBV.js.map +0 -1
  1623. package/dist/sankey-chart-QibH6Vg1.cjs +0 -926
  1624. package/dist/sankey-chart-QibH6Vg1.cjs.map +0 -1
  1625. package/dist/scroll-area-ByrWkkO_.js +0 -223
  1626. package/dist/scroll-area-ByrWkkO_.js.map +0 -1
  1627. package/dist/scroll-area-l6Yx-88I.cjs +0 -245
  1628. package/dist/scroll-area-l6Yx-88I.cjs.map +0 -1
  1629. package/dist/search-field-block-jfMFV7AD.cjs +0 -125
  1630. package/dist/search-field-block-jfMFV7AD.cjs.map +0 -1
  1631. package/dist/search-field-block-zF_99MJ5.js +0 -123
  1632. package/dist/search-field-block-zF_99MJ5.js.map +0 -1
  1633. package/dist/section-DOZSptHn.cjs +0 -115
  1634. package/dist/section-DOZSptHn.cjs.map +0 -1
  1635. package/dist/section-fFFmNxVc.js +0 -111
  1636. package/dist/section-fFFmNxVc.js.map +0 -1
  1637. package/dist/select-31jx2l9F.cjs +0 -164
  1638. package/dist/select-31jx2l9F.cjs.map +0 -1
  1639. package/dist/select-bphXR9c4.js +0 -138
  1640. package/dist/select-bphXR9c4.js.map +0 -1
  1641. package/dist/select-field-block-BAZKc6ck.cjs +0 -59
  1642. package/dist/select-field-block-BAZKc6ck.cjs.map +0 -1
  1643. package/dist/select-field-block-BEs3cCRJ.js +0 -57
  1644. package/dist/select-field-block-BEs3cCRJ.js.map +0 -1
  1645. package/dist/settings-container-B5YhEzjS.js +0 -27
  1646. package/dist/settings-container-B5YhEzjS.js.map +0 -1
  1647. package/dist/settings-container-Dxb59YvM.cjs +0 -30
  1648. package/dist/settings-container-Dxb59YvM.cjs.map +0 -1
  1649. package/dist/settings-layout-CTnDZ_fr.js +0 -55
  1650. package/dist/settings-layout-CTnDZ_fr.js.map +0 -1
  1651. package/dist/settings-layout-DRrl-EBq.cjs +0 -57
  1652. package/dist/settings-layout-DRrl-EBq.cjs.map +0 -1
  1653. package/dist/settings-row-Dsu9uRdl.cjs +0 -88
  1654. package/dist/settings-row-Dsu9uRdl.cjs.map +0 -1
  1655. package/dist/settings-row-PB5zne3m.js +0 -85
  1656. package/dist/settings-row-PB5zne3m.js.map +0 -1
  1657. package/dist/shimmer-CmCazK2A.cjs +0 -25
  1658. package/dist/shimmer-CmCazK2A.cjs.map +0 -1
  1659. package/dist/shimmer-rej-NkeN.js +0 -23
  1660. package/dist/shimmer-rej-NkeN.js.map +0 -1
  1661. package/dist/skeleton-BpMg6F4M.js +0 -23
  1662. package/dist/skeleton-BpMg6F4M.js.map +0 -1
  1663. package/dist/skeleton-gdUQjWPU.cjs +0 -25
  1664. package/dist/skeleton-gdUQjWPU.cjs.map +0 -1
  1665. package/dist/slider-DXQNsGXe.js +0 -95
  1666. package/dist/slider-DXQNsGXe.js.map +0 -1
  1667. package/dist/slider-Kco52AqT.cjs +0 -97
  1668. package/dist/slider-Kco52AqT.cjs.map +0 -1
  1669. package/dist/spacings-C8KU7k6E.cjs +0 -182
  1670. package/dist/spacings-C8KU7k6E.cjs.map +0 -1
  1671. package/dist/spacings-Doib6y6Q.js +0 -174
  1672. package/dist/spacings-Doib6y6Q.js.map +0 -1
  1673. package/dist/span-payload-primitives-DknOcv6v.cjs +0 -75
  1674. package/dist/span-payload-primitives-DknOcv6v.cjs.map +0 -1
  1675. package/dist/span-payload-primitives-_TUMqise.js +0 -68
  1676. package/dist/span-payload-primitives-_TUMqise.js.map +0 -1
  1677. package/dist/spinner-SvnJqdcS.js +0 -51
  1678. package/dist/spinner-SvnJqdcS.js.map +0 -1
  1679. package/dist/spinner-cX-ypfV2.cjs +0 -53
  1680. package/dist/spinner-cX-ypfV2.cjs.map +0 -1
  1681. package/dist/src/ds/components/DashboardCard/dashboard-card.d.ts +0 -6
  1682. package/dist/src/ds/components/DashboardCard/dashboard-card.stories.d.ts +0 -9
  1683. package/dist/src/ds/components/DashboardCard/index.d.ts +0 -1
  1684. package/dist/src/ds/components/FilterBar/filter-bar-draft-chip.d.ts +0 -11
  1685. package/dist/src/ds/components/PageHeader/page-header-description.d.ts +0 -5
  1686. package/dist/src/ds/components/PageHeader/page-header-root.d.ts +0 -22
  1687. package/dist/src/ds/components/PageHeader/page-header-title.d.ts +0 -6
  1688. package/dist/src/ds/components/PageHeader/page-header.d.ts +0 -2
  1689. package/dist/src/ds/tokens/spacings.d.ts +0 -38
  1690. package/dist/src/ds/tokens/tokens.stories.d.ts +0 -12
  1691. package/dist/switch-CkEdGkeB.cjs +0 -125
  1692. package/dist/switch-CkEdGkeB.cjs.map +0 -1
  1693. package/dist/switch-CkHq0TIf.js +0 -104
  1694. package/dist/switch-CkHq0TIf.js.map +0 -1
  1695. package/dist/tabs-content-CRKte85r.cjs +0 -37
  1696. package/dist/tabs-content-CRKte85r.cjs.map +0 -1
  1697. package/dist/tabs-content-Drm6Y6Ul.js +0 -35
  1698. package/dist/tabs-content-Drm6Y6Ul.js.map +0 -1
  1699. package/dist/tabs-root-DcnvZuD4.cjs +0 -328
  1700. package/dist/tabs-root-DcnvZuD4.cjs.map +0 -1
  1701. package/dist/tabs-root-yY2eNDS2.js +0 -325
  1702. package/dist/tabs-root-yY2eNDS2.js.map +0 -1
  1703. package/dist/tabs-tab-CgMaandp.js +0 -103
  1704. package/dist/tabs-tab-CgMaandp.js.map +0 -1
  1705. package/dist/tabs-tab-tRgFBx85.cjs +0 -107
  1706. package/dist/tabs-tab-tRgFBx85.cjs.map +0 -1
  1707. package/dist/text-field-block-aRttm8yP.js +0 -55
  1708. package/dist/text-field-block-aRttm8yP.js.map +0 -1
  1709. package/dist/text-field-block-hN70Jj6a.cjs +0 -57
  1710. package/dist/text-field-block-hN70Jj6a.cjs.map +0 -1
  1711. package/dist/textarea-BmR73nqC.js +0 -70
  1712. package/dist/textarea-BmR73nqC.js.map +0 -1
  1713. package/dist/textarea-C7vLvn3E.cjs +0 -91
  1714. package/dist/textarea-C7vLvn3E.cjs.map +0 -1
  1715. package/dist/thread-rail-BvhuZLav.cjs +0 -334
  1716. package/dist/thread-rail-BvhuZLav.cjs.map +0 -1
  1717. package/dist/thread-rail-CPAHjoV1.js +0 -313
  1718. package/dist/thread-rail-CPAHjoV1.js.map +0 -1
  1719. package/dist/time-picker-BlY3xqrQ.cjs +0 -78
  1720. package/dist/time-picker-BlY3xqrQ.cjs.map +0 -1
  1721. package/dist/time-picker-Dce_kGwY.js +0 -76
  1722. package/dist/time-picker-Dce_kGwY.js.map +0 -1
  1723. package/dist/toast-CTMSqE4M.js +0 -52
  1724. package/dist/toast-CTMSqE4M.js.map +0 -1
  1725. package/dist/toast-CwH7p9gV.cjs +0 -55
  1726. package/dist/toast-CwH7p9gV.cjs.map +0 -1
  1727. package/dist/tool-approval-BMPAEwt_.js +0 -66
  1728. package/dist/tool-approval-BMPAEwt_.js.map +0 -1
  1729. package/dist/tool-approval-CYO2CYZz.cjs +0 -69
  1730. package/dist/tool-approval-CYO2CYZz.cjs.map +0 -1
  1731. package/dist/tool-call-98H2-r5p.js +0 -181
  1732. package/dist/tool-call-98H2-r5p.js.map +0 -1
  1733. package/dist/tool-call-CAzilpXy.cjs +0 -196
  1734. package/dist/tool-call-CAzilpXy.cjs.map +0 -1
  1735. package/dist/tooltip-QuS0KEbc.js +0 -113
  1736. package/dist/tooltip-QuS0KEbc.js.map +0 -1
  1737. package/dist/tooltip-_cda-a7s.cjs +0 -137
  1738. package/dist/tooltip-_cda-a7s.cjs.map +0 -1
  1739. package/dist/traces-data-list-Bl1BUIiq.js +0 -85
  1740. package/dist/traces-data-list-Bl1BUIiq.js.map +0 -1
  1741. package/dist/traces-data-list-CmBQDfnG.cjs +0 -87
  1742. package/dist/traces-data-list-CmBQDfnG.cjs.map +0 -1
  1743. package/new-theme.css +0 -39
@@ -1 +1 @@
1
- {"version":3,"file":"traces-page-skeleton.cjs.js","sources":["../../../../src/domains/traces/components/traces-page-skeleton.tsx"],"sourcesContent":["import { buildTraceListColumns, DEFAULT_TRACE_COLUMN_PREFERENCES } from '../trace-list-columns';\nimport type { TraceColumnPreferences } from '../trace-list-columns';\nimport { DataListSkeleton } from '@/ds/components/DataList';\nimport { Skeleton } from '@/ds/components/Skeleton';\n\nexport type TracesPageSkeletonProps = {\n columnPreferences?: TraceColumnPreferences;\n};\n\n/**\n * Page-level placeholder shown while filter-field discovery is pending: a toolbar-height\n * bar stands in for the FilterBar and the usual list skeleton for the trace rows.\n */\nexport function TracesPageSkeleton({ columnPreferences = DEFAULT_TRACE_COLUMN_PREFERENCES }: TracesPageSkeletonProps) {\n const columns = buildTraceListColumns(columnPreferences);\n return (\n <div\n className=\"flex h-full min-h-0 flex-col gap-2\"\n role=\"status\"\n aria-label=\"Loading traces\"\n data-testid=\"traces-page-skeleton\"\n >\n <div className=\"flex items-center gap-2\">\n <Skeleton className=\"h-form-md min-w-64 flex-1\" />\n <Skeleton className=\"h-form-md w-28\" />\n </div>\n <DataListSkeleton columns={columns} fit=\"container\" />\n </div>\n );\n}\n"],"names":["DEFAULT_TRACE_COLUMN_PREFERENCES","buildTraceListColumns","jsxs","jsx","Skeleton","DataListSkeleton"],"mappings":";;;;;;;;;;;AAaO,SAAS,kBAAA,CAAmB,EAAE,iBAAA,GAAoBA,gEAAA,EAAiC,EAA4B;AACpH,EAAA,MAAM,OAAA,GAAUC,sDAAsB,iBAAiB,CAAA;AACvD,EAAA,uBACEC,eAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAU,oCAAA;AAAA,MACV,IAAA,EAAK,QAAA;AAAA,MACL,YAAA,EAAW,gBAAA;AAAA,MACX,aAAA,EAAY,sBAAA;AAAA,MAEZ,QAAA,EAAA;AAAA,wBAAAA,eAAA,CAAC,KAAA,EAAA,EAAI,WAAU,yBAAA,EACb,QAAA,EAAA;AAAA,0BAAAC,cAAA,CAACC,iBAAA,EAAA,EAAS,WAAU,2BAAA,EAA4B,CAAA;AAAA,0BAChDD,cAAA,CAACC,iBAAA,EAAA,EAAS,SAAA,EAAU,gBAAA,EAAiB;AAAA,SAAA,EACvC,CAAA;AAAA,wBACAD,cAAA,CAACE,iCAAA,EAAA,EAAiB,OAAA,EAAkB,GAAA,EAAI,WAAA,EAAY;AAAA;AAAA;AAAA,GACtD;AAEJ;;;;"}
1
+ {"version":3,"file":"traces-page-skeleton.cjs.js","sources":["../../../../src/domains/traces/components/traces-page-skeleton.tsx"],"sourcesContent":["import { buildTraceListColumns, DEFAULT_TRACE_COLUMN_PREFERENCES } from '../trace-list-columns';\nimport type { TraceColumnPreferences } from '../trace-list-columns';\nimport { DataListSkeleton } from '@/ds/components/DataList';\nimport { Skeleton } from '@/ds/components/Skeleton';\n\nexport type TracesPageSkeletonProps = {\n columnPreferences?: TraceColumnPreferences;\n};\n\n/**\n * Page-level placeholder shown while filter-field discovery is pending: a toolbar-height\n * bar stands in for the FilterBar and the usual list skeleton for the trace rows.\n */\nexport function TracesPageSkeleton({ columnPreferences = DEFAULT_TRACE_COLUMN_PREFERENCES }: TracesPageSkeletonProps) {\n const columns = buildTraceListColumns(columnPreferences);\n return (\n <div\n className=\"flex h-full min-h-0 flex-col gap-2\"\n role=\"status\"\n aria-label=\"Loading traces\"\n data-testid=\"traces-page-skeleton\"\n >\n <div className=\"flex items-center gap-2\">\n <Skeleton className=\"h-control-md min-w-64 flex-1\" />\n <Skeleton className=\"h-control-md w-28\" />\n </div>\n <DataListSkeleton columns={columns} fit=\"container\" />\n </div>\n );\n}\n"],"names":["DEFAULT_TRACE_COLUMN_PREFERENCES","buildTraceListColumns","jsxs","jsx","Skeleton","DataListSkeleton"],"mappings":";;;;;;;;;AAaO,SAAS,kBAAA,CAAmB,EAAE,iBAAA,GAAoBA,gEAAA,EAAiC,EAA4B;AACpH,EAAA,MAAM,OAAA,GAAUC,sDAAsB,iBAAiB,CAAA;AACvD,EAAA,uBACEC,eAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAU,oCAAA;AAAA,MACV,IAAA,EAAK,QAAA;AAAA,MACL,YAAA,EAAW,gBAAA;AAAA,MACX,aAAA,EAAY,sBAAA;AAAA,MAEZ,QAAA,EAAA;AAAA,wBAAAA,eAAA,CAAC,KAAA,EAAA,EAAI,WAAU,yBAAA,EACb,QAAA,EAAA;AAAA,0BAAAC,cAAA,CAACC,iBAAA,EAAA,EAAS,WAAU,8BAAA,EAA+B,CAAA;AAAA,0BACnDD,cAAA,CAACC,iBAAA,EAAA,EAAS,SAAA,EAAU,mBAAA,EAAoB;AAAA,SAAA,EAC1C,CAAA;AAAA,wBACAD,cAAA,CAACE,iCAAA,EAAA,EAAiB,OAAA,EAAkB,GAAA,EAAI,WAAA,EAAY;AAAA;AAAA;AAAA,GACtD;AAEJ;;;;"}
@@ -1,9 +1,7 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { buildTraceListColumns, DEFAULT_TRACE_COLUMN_PREFERENCES } from '../trace-list-columns.es.js';
3
- import { D as DataListSkeleton } from '../../../data-list-skeleton-CQQydcpj.js';
4
- import 'react';
5
- import '../../../keyboard/keyboard-shortcuts-context.es.js';
6
- import { S as Skeleton } from '../../../skeleton-BpMg6F4M.js';
3
+ import { D as DataListSkeleton } from '../../../data-list-skeleton-D7-glFuk.js';
4
+ import { S as Skeleton } from '../../../skeleton-BsRAXyh5.js';
7
5
 
8
6
  function TracesPageSkeleton({ columnPreferences = DEFAULT_TRACE_COLUMN_PREFERENCES }) {
9
7
  const columns = buildTraceListColumns(columnPreferences);
@@ -16,8 +14,8 @@ function TracesPageSkeleton({ columnPreferences = DEFAULT_TRACE_COLUMN_PREFERENC
16
14
  "data-testid": "traces-page-skeleton",
17
15
  children: [
18
16
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
19
- /* @__PURE__ */ jsx(Skeleton, { className: "h-form-md min-w-64 flex-1" }),
20
- /* @__PURE__ */ jsx(Skeleton, { className: "h-form-md w-28" })
17
+ /* @__PURE__ */ jsx(Skeleton, { className: "h-control-md min-w-64 flex-1" }),
18
+ /* @__PURE__ */ jsx(Skeleton, { className: "h-control-md w-28" })
21
19
  ] }),
22
20
  /* @__PURE__ */ jsx(DataListSkeleton, { columns, fit: "container" })
23
21
  ]
@@ -1 +1 @@
1
- {"version":3,"file":"traces-page-skeleton.es.js","sources":["../../../../src/domains/traces/components/traces-page-skeleton.tsx"],"sourcesContent":["import { buildTraceListColumns, DEFAULT_TRACE_COLUMN_PREFERENCES } from '../trace-list-columns';\nimport type { TraceColumnPreferences } from '../trace-list-columns';\nimport { DataListSkeleton } from '@/ds/components/DataList';\nimport { Skeleton } from '@/ds/components/Skeleton';\n\nexport type TracesPageSkeletonProps = {\n columnPreferences?: TraceColumnPreferences;\n};\n\n/**\n * Page-level placeholder shown while filter-field discovery is pending: a toolbar-height\n * bar stands in for the FilterBar and the usual list skeleton for the trace rows.\n */\nexport function TracesPageSkeleton({ columnPreferences = DEFAULT_TRACE_COLUMN_PREFERENCES }: TracesPageSkeletonProps) {\n const columns = buildTraceListColumns(columnPreferences);\n return (\n <div\n className=\"flex h-full min-h-0 flex-col gap-2\"\n role=\"status\"\n aria-label=\"Loading traces\"\n data-testid=\"traces-page-skeleton\"\n >\n <div className=\"flex items-center gap-2\">\n <Skeleton className=\"h-form-md min-w-64 flex-1\" />\n <Skeleton className=\"h-form-md w-28\" />\n </div>\n <DataListSkeleton columns={columns} fit=\"container\" />\n </div>\n );\n}\n"],"names":[],"mappings":";;;;;;;AAaO,SAAS,kBAAA,CAAmB,EAAE,iBAAA,GAAoB,gCAAA,EAAiC,EAA4B;AACpH,EAAA,MAAM,OAAA,GAAU,sBAAsB,iBAAiB,CAAA;AACvD,EAAA,uBACE,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAU,oCAAA;AAAA,MACV,IAAA,EAAK,QAAA;AAAA,MACL,YAAA,EAAW,gBAAA;AAAA,MACX,aAAA,EAAY,sBAAA;AAAA,MAEZ,QAAA,EAAA;AAAA,wBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,yBAAA,EACb,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAC,QAAA,EAAA,EAAS,WAAU,2BAAA,EAA4B,CAAA;AAAA,0BAChD,GAAA,CAAC,QAAA,EAAA,EAAS,SAAA,EAAU,gBAAA,EAAiB;AAAA,SAAA,EACvC,CAAA;AAAA,wBACA,GAAA,CAAC,gBAAA,EAAA,EAAiB,OAAA,EAAkB,GAAA,EAAI,WAAA,EAAY;AAAA;AAAA;AAAA,GACtD;AAEJ;;;;"}
1
+ {"version":3,"file":"traces-page-skeleton.es.js","sources":["../../../../src/domains/traces/components/traces-page-skeleton.tsx"],"sourcesContent":["import { buildTraceListColumns, DEFAULT_TRACE_COLUMN_PREFERENCES } from '../trace-list-columns';\nimport type { TraceColumnPreferences } from '../trace-list-columns';\nimport { DataListSkeleton } from '@/ds/components/DataList';\nimport { Skeleton } from '@/ds/components/Skeleton';\n\nexport type TracesPageSkeletonProps = {\n columnPreferences?: TraceColumnPreferences;\n};\n\n/**\n * Page-level placeholder shown while filter-field discovery is pending: a toolbar-height\n * bar stands in for the FilterBar and the usual list skeleton for the trace rows.\n */\nexport function TracesPageSkeleton({ columnPreferences = DEFAULT_TRACE_COLUMN_PREFERENCES }: TracesPageSkeletonProps) {\n const columns = buildTraceListColumns(columnPreferences);\n return (\n <div\n className=\"flex h-full min-h-0 flex-col gap-2\"\n role=\"status\"\n aria-label=\"Loading traces\"\n data-testid=\"traces-page-skeleton\"\n >\n <div className=\"flex items-center gap-2\">\n <Skeleton className=\"h-control-md min-w-64 flex-1\" />\n <Skeleton className=\"h-control-md w-28\" />\n </div>\n <DataListSkeleton columns={columns} fit=\"container\" />\n </div>\n );\n}\n"],"names":[],"mappings":";;;;;AAaO,SAAS,kBAAA,CAAmB,EAAE,iBAAA,GAAoB,gCAAA,EAAiC,EAA4B;AACpH,EAAA,MAAM,OAAA,GAAU,sBAAsB,iBAAiB,CAAA;AACvD,EAAA,uBACE,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAU,oCAAA;AAAA,MACV,IAAA,EAAK,QAAA;AAAA,MACL,YAAA,EAAW,gBAAA;AAAA,MACX,aAAA,EAAY,sBAAA;AAAA,MAEZ,QAAA,EAAA;AAAA,wBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,yBAAA,EACb,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAC,QAAA,EAAA,EAAS,WAAU,8BAAA,EAA+B,CAAA;AAAA,0BACnD,GAAA,CAAC,QAAA,EAAA,EAAS,SAAA,EAAU,mBAAA,EAAoB;AAAA,SAAA,EAC1C,CAAA;AAAA,wBACA,GAAA,CAAC,gBAAA,EAAA,EAAiB,OAAA,EAAkB,GAAA,EAAI,WAAA,EAAY;AAAA;AAAA;AAAA,GACtD;AAEJ;;;;"}
@@ -6,7 +6,7 @@ const react = require('@mastra/react');
6
6
  const reactQuery = require('@tanstack/react-query');
7
7
  const React = require('react');
8
8
  const domains_traces_hooks_useTraceSpans = require('./use-trace-spans.cjs.js');
9
- const toast = require('../../../toast-CwH7p9gV.cjs');
9
+ const toast = require('../../../toast-nm-fM7BR.cjs');
10
10
  const downloadJson = require('../../../downloadJson-PWUDbzkB.cjs');
11
11
 
12
12
  function useDownloadTraceJson() {
@@ -2,7 +2,7 @@ import { useMastraClient } from '@mastra/react';
2
2
  import { useQueryClient } from '@tanstack/react-query';
3
3
  import { useState } from 'react';
4
4
  import { traceSpansQueryOptions } from './use-trace-spans.es.js';
5
- import { t as toast } from '../../../toast-CTMSqE4M.js';
5
+ import { t as toast } from '../../../toast-c5kCpyWt.js';
6
6
  import { d as downloadJson } from '../../../downloadJson-DuPoMa_6.js';
7
7
 
8
8
  function useDownloadTraceJson() {
@@ -66,10 +66,23 @@ function useTraceColumnPreferences() {
66
66
  metadataKeys: current.metadataKeys.filter((metadataKey) => metadataKey !== key)
67
67
  }));
68
68
  };
69
+ const addCustomColumn = (field) => {
70
+ commit(
71
+ (current) => current.customColumns.includes(field) ? current : { ...current, customColumns: [...current.customColumns, field] }
72
+ );
73
+ };
74
+ const removeCustomColumn = (field) => {
75
+ commit((current) => ({
76
+ ...current,
77
+ customColumns: current.customColumns.filter((customColumn) => customColumn !== field)
78
+ }));
79
+ };
69
80
  const resetColumns = () => commit(() => domains_traces_traceListColumns.DEFAULT_TRACE_COLUMN_PREFERENCES);
70
81
  return {
71
82
  preferences,
72
83
  toggleColumn,
84
+ addCustomColumn,
85
+ removeCustomColumn,
73
86
  addMetadataColumn,
74
87
  removeMetadataColumn,
75
88
  resetColumns
@@ -1 +1 @@
1
- {"version":3,"file":"use-trace-column-preferences.cjs.js","sources":["../../../../src/domains/traces/hooks/use-trace-column-preferences.ts"],"sourcesContent":["import { useMastraClient } from '@mastra/react';\nimport { useEffect, useState } from 'react';\nimport {\n DEFAULT_TRACE_COLUMN_PREFERENCES,\n parseTraceColumnPreferences,\n serializeTraceColumnPreferences,\n} from '../trace-list-columns';\nimport type { TraceColumnPreferences, TraceOptionalColumn } from '../trace-list-columns';\n\nfunction readPreferences(storageKey: string): TraceColumnPreferences {\n if (typeof window === 'undefined') return DEFAULT_TRACE_COLUMN_PREFERENCES;\n\n try {\n return parseTraceColumnPreferences(window.localStorage.getItem(storageKey) ?? undefined);\n } catch {\n return DEFAULT_TRACE_COLUMN_PREFERENCES;\n }\n}\n\nfunction writePreferences(storageKey: string, preferences: TraceColumnPreferences): void {\n if (typeof window === 'undefined') return;\n\n try {\n window.localStorage.setItem(storageKey, serializeTraceColumnPreferences(preferences));\n } catch {\n // Storage can be unavailable in private browsing or full. The in-memory\n // selection still works for the current visit.\n }\n}\n\nexport function useTraceColumnPreferences() {\n const client = useMastraClient();\n const projectUrl =\n client.options.baseUrl || (typeof window === 'undefined' ? 'local' : window.location.origin || 'local');\n const apiPrefix = client.options.apiPrefix ?? '/api';\n const storageKey = `mastra:traces:columns:${projectUrl}:${apiPrefix}`;\n const [state, setState] = useState(() => ({\n storageKey,\n preferences: readPreferences(storageKey),\n shouldPersist: false,\n }));\n const preferences = state.storageKey === storageKey ? state.preferences : readPreferences(storageKey);\n\n useEffect(() => {\n if (state.storageKey === storageKey && state.shouldPersist) {\n writePreferences(storageKey, state.preferences);\n }\n }, [state, storageKey]);\n\n const commit = (update: (current: TraceColumnPreferences) => TraceColumnPreferences) => {\n setState(current => {\n const currentPreferences = current.storageKey === storageKey ? current.preferences : readPreferences(storageKey);\n const nextPreferences = update(currentPreferences);\n return { storageKey, preferences: nextPreferences, shouldPersist: true };\n });\n };\n\n const toggleColumn = (column: TraceOptionalColumn) => {\n commit(current => {\n const isVisible = current.visibleColumns.includes(column);\n return {\n ...current,\n visibleColumns: isVisible\n ? current.visibleColumns.filter(visibleColumn => visibleColumn !== column)\n : [...current.visibleColumns, column],\n };\n });\n };\n\n const addMetadataColumn = (key: string) => {\n const normalizedKey = key.trim();\n if (!normalizedKey) return;\n commit(current =>\n current.metadataKeys.includes(normalizedKey)\n ? current\n : { ...current, metadataKeys: [...current.metadataKeys, normalizedKey] },\n );\n };\n\n const removeMetadataColumn = (key: string) => {\n commit(current => ({\n ...current,\n metadataKeys: current.metadataKeys.filter(metadataKey => metadataKey !== key),\n }));\n };\n\n const resetColumns = () => commit(() => DEFAULT_TRACE_COLUMN_PREFERENCES);\n\n return {\n preferences,\n toggleColumn,\n addMetadataColumn,\n removeMetadataColumn,\n resetColumns,\n };\n}\n"],"names":["DEFAULT_TRACE_COLUMN_PREFERENCES","parseTraceColumnPreferences","serializeTraceColumnPreferences","useMastraClient","useState","useEffect"],"mappings":"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"}
1
+ {"version":3,"file":"use-trace-column-preferences.cjs.js","sources":["../../../../src/domains/traces/hooks/use-trace-column-preferences.ts"],"sourcesContent":["import { useMastraClient } from '@mastra/react';\nimport { useEffect, useState } from 'react';\nimport {\n DEFAULT_TRACE_COLUMN_PREFERENCES,\n parseTraceColumnPreferences,\n serializeTraceColumnPreferences,\n} from '../trace-list-columns';\nimport type { TraceColumnPreferences, TraceCustomColumn, TraceOptionalColumn } from '../trace-list-columns';\n\nfunction readPreferences(storageKey: string): TraceColumnPreferences {\n if (typeof window === 'undefined') return DEFAULT_TRACE_COLUMN_PREFERENCES;\n\n try {\n return parseTraceColumnPreferences(window.localStorage.getItem(storageKey) ?? undefined);\n } catch {\n return DEFAULT_TRACE_COLUMN_PREFERENCES;\n }\n}\n\nfunction writePreferences(storageKey: string, preferences: TraceColumnPreferences): void {\n if (typeof window === 'undefined') return;\n\n try {\n window.localStorage.setItem(storageKey, serializeTraceColumnPreferences(preferences));\n } catch {\n // Storage can be unavailable in private browsing or full. The in-memory\n // selection still works for the current visit.\n }\n}\n\nexport function useTraceColumnPreferences() {\n const client = useMastraClient();\n const projectUrl =\n client.options.baseUrl || (typeof window === 'undefined' ? 'local' : window.location.origin || 'local');\n const apiPrefix = client.options.apiPrefix ?? '/api';\n const storageKey = `mastra:traces:columns:${projectUrl}:${apiPrefix}`;\n const [state, setState] = useState(() => ({\n storageKey,\n preferences: readPreferences(storageKey),\n shouldPersist: false,\n }));\n const preferences = state.storageKey === storageKey ? state.preferences : readPreferences(storageKey);\n\n useEffect(() => {\n if (state.storageKey === storageKey && state.shouldPersist) {\n writePreferences(storageKey, state.preferences);\n }\n }, [state, storageKey]);\n\n const commit = (update: (current: TraceColumnPreferences) => TraceColumnPreferences) => {\n setState(current => {\n const currentPreferences = current.storageKey === storageKey ? current.preferences : readPreferences(storageKey);\n const nextPreferences = update(currentPreferences);\n return { storageKey, preferences: nextPreferences, shouldPersist: true };\n });\n };\n\n const toggleColumn = (column: TraceOptionalColumn) => {\n commit(current => {\n const isVisible = current.visibleColumns.includes(column);\n return {\n ...current,\n visibleColumns: isVisible\n ? current.visibleColumns.filter(visibleColumn => visibleColumn !== column)\n : [...current.visibleColumns, column],\n };\n });\n };\n\n const addMetadataColumn = (key: string) => {\n const normalizedKey = key.trim();\n if (!normalizedKey) return;\n commit(current =>\n current.metadataKeys.includes(normalizedKey)\n ? current\n : { ...current, metadataKeys: [...current.metadataKeys, normalizedKey] },\n );\n };\n\n const removeMetadataColumn = (key: string) => {\n commit(current => ({\n ...current,\n metadataKeys: current.metadataKeys.filter(metadataKey => metadataKey !== key),\n }));\n };\n\n const addCustomColumn = (field: TraceCustomColumn) => {\n commit(current =>\n current.customColumns.includes(field)\n ? current\n : { ...current, customColumns: [...current.customColumns, field] },\n );\n };\n\n const removeCustomColumn = (field: TraceCustomColumn) => {\n commit(current => ({\n ...current,\n customColumns: current.customColumns.filter(customColumn => customColumn !== field),\n }));\n };\n\n const resetColumns = () => commit(() => DEFAULT_TRACE_COLUMN_PREFERENCES);\n\n return {\n preferences,\n toggleColumn,\n addCustomColumn,\n removeCustomColumn,\n addMetadataColumn,\n removeMetadataColumn,\n resetColumns,\n };\n}\n"],"names":["DEFAULT_TRACE_COLUMN_PREFERENCES","parseTraceColumnPreferences","serializeTraceColumnPreferences","useMastraClient","useState","useEffect"],"mappings":";;;;;;;;AASA,SAAS,gBAAgB,UAAA,EAA4C;AACnE,EAAA,IAAI,OAAO,MAAA,KAAW,WAAA,EAAa,OAAOA,gEAAA;AAE1C,EAAA,IAAI;AACF,IAAA,OAAOC,4DAA4B,MAAA,CAAO,YAAA,CAAa,OAAA,CAAQ,UAAU,KAAK,KAAA,CAAS,CAAA;AAAA,EACzF,CAAA,CAAA,MAAQ;AACN,IAAA,OAAOD,gEAAA;AAAA,EACT;AACF;AAEA,SAAS,gBAAA,CAAiB,YAAoB,WAAA,EAA2C;AACvF,EAAA,IAAI,OAAO,WAAW,WAAA,EAAa;AAEnC,EAAA,IAAI;AACF,IAAA,MAAA,CAAO,YAAA,CAAa,OAAA,CAAQ,UAAA,EAAYE,+DAAA,CAAgC,WAAW,CAAC,CAAA;AAAA,EACtF,CAAA,CAAA,MAAQ;AAAA,EAGR;AACF;AAEO,SAAS,yBAAA,GAA4B;AAC1C,EAAA,MAAM,SAASC,qBAAA,EAAgB;AAC/B,EAAA,MAAM,UAAA,GACJ,MAAA,CAAO,OAAA,CAAQ,OAAA,KAAY,OAAO,WAAW,WAAA,GAAc,OAAA,GAAU,MAAA,CAAO,QAAA,CAAS,MAAA,IAAU,OAAA,CAAA;AACjG,EAAA,MAAM,SAAA,GAAY,MAAA,CAAO,OAAA,CAAQ,SAAA,IAAa,MAAA;AAC9C,EAAA,MAAM,UAAA,GAAa,CAAA,sBAAA,EAAyB,UAAU,CAAA,CAAA,EAAI,SAAS,CAAA,CAAA;AACnE,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAIC,eAAS,OAAO;AAAA,IACxC,UAAA;AAAA,IACA,WAAA,EAAa,gBAAgB,UAAU,CAAA;AAAA,IACvC,aAAA,EAAe;AAAA,GACjB,CAAE,CAAA;AACF,EAAA,MAAM,cAAc,KAAA,CAAM,UAAA,KAAe,aAAa,KAAA,CAAM,WAAA,GAAc,gBAAgB,UAAU,CAAA;AAEpG,EAAAC,eAAA,CAAU,MAAM;AACd,IAAA,IAAI,KAAA,CAAM,UAAA,KAAe,UAAA,IAAc,KAAA,CAAM,aAAA,EAAe;AAC1D,MAAA,gBAAA,CAAiB,UAAA,EAAY,MAAM,WAAW,CAAA;AAAA,IAChD;AAAA,EACF,CAAA,EAAG,CAAC,KAAA,EAAO,UAAU,CAAC,CAAA;AAEtB,EAAA,MAAM,MAAA,GAAS,CAAC,MAAA,KAAwE;AACtF,IAAA,QAAA,CAAS,CAAA,OAAA,KAAW;AAClB,MAAA,MAAM,qBAAqB,OAAA,CAAQ,UAAA,KAAe,aAAa,OAAA,CAAQ,WAAA,GAAc,gBAAgB,UAAU,CAAA;AAC/G,MAAA,MAAM,eAAA,GAAkB,OAAO,kBAAkB,CAAA;AACjD,MAAA,OAAO,EAAE,UAAA,EAAY,WAAA,EAAa,eAAA,EAAiB,eAAe,IAAA,EAAK;AAAA,IACzE,CAAC,CAAA;AAAA,EACH,CAAA;AAEA,EAAA,MAAM,YAAA,GAAe,CAAC,MAAA,KAAgC;AACpD,IAAA,MAAA,CAAO,CAAA,OAAA,KAAW;AAChB,MAAA,MAAM,SAAA,GAAY,OAAA,CAAQ,cAAA,CAAe,QAAA,CAAS,MAAM,CAAA;AACxD,MAAA,OAAO;AAAA,QACL,GAAG,OAAA;AAAA,QACH,cAAA,EAAgB,SAAA,GACZ,OAAA,CAAQ,cAAA,CAAe,MAAA,CAAO,CAAA,aAAA,KAAiB,aAAA,KAAkB,MAAM,CAAA,GACvE,CAAC,GAAG,OAAA,CAAQ,gBAAgB,MAAM;AAAA,OACxC;AAAA,IACF,CAAC,CAAA;AAAA,EACH,CAAA;AAEA,EAAA,MAAM,iBAAA,GAAoB,CAAC,GAAA,KAAgB;AACzC,IAAA,MAAM,aAAA,GAAgB,IAAI,IAAA,EAAK;AAC/B,IAAA,IAAI,CAAC,aAAA,EAAe;AACpB,IAAA,MAAA;AAAA,MAAO,aACL,OAAA,CAAQ,YAAA,CAAa,QAAA,CAAS,aAAa,IACvC,OAAA,GACA,EAAE,GAAG,OAAA,EAAS,cAAc,CAAC,GAAG,OAAA,CAAQ,YAAA,EAAc,aAAa,CAAA;AAAE,KAC3E;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,oBAAA,GAAuB,CAAC,GAAA,KAAgB;AAC5C,IAAA,MAAA,CAAO,CAAA,OAAA,MAAY;AAAA,MACjB,GAAG,OAAA;AAAA,MACH,cAAc,OAAA,CAAQ,YAAA,CAAa,MAAA,CAAO,CAAA,WAAA,KAAe,gBAAgB,GAAG;AAAA,KAC9E,CAAE,CAAA;AAAA,EACJ,CAAA;AAEA,EAAA,MAAM,eAAA,GAAkB,CAAC,KAAA,KAA6B;AACpD,IAAA,MAAA;AAAA,MAAO,aACL,OAAA,CAAQ,aAAA,CAAc,QAAA,CAAS,KAAK,IAChC,OAAA,GACA,EAAE,GAAG,OAAA,EAAS,eAAe,CAAC,GAAG,OAAA,CAAQ,aAAA,EAAe,KAAK,CAAA;AAAE,KACrE;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,kBAAA,GAAqB,CAAC,KAAA,KAA6B;AACvD,IAAA,MAAA,CAAO,CAAA,OAAA,MAAY;AAAA,MACjB,GAAG,OAAA;AAAA,MACH,eAAe,OAAA,CAAQ,aAAA,CAAc,MAAA,CAAO,CAAA,YAAA,KAAgB,iBAAiB,KAAK;AAAA,KACpF,CAAE,CAAA;AAAA,EACJ,CAAA;AAEA,EAAA,MAAM,YAAA,GAAe,MAAM,MAAA,CAAO,MAAML,gEAAgC,CAAA;AAExE,EAAA,OAAO;AAAA,IACL,WAAA;AAAA,IACA,YAAA;AAAA,IACA,eAAA;AAAA,IACA,kBAAA;AAAA,IACA,iBAAA;AAAA,IACA,oBAAA;AAAA,IACA;AAAA,GACF;AACF;;;;"}
@@ -62,10 +62,23 @@ function useTraceColumnPreferences() {
62
62
  metadataKeys: current.metadataKeys.filter((metadataKey) => metadataKey !== key)
63
63
  }));
64
64
  };
65
+ const addCustomColumn = (field) => {
66
+ commit(
67
+ (current) => current.customColumns.includes(field) ? current : { ...current, customColumns: [...current.customColumns, field] }
68
+ );
69
+ };
70
+ const removeCustomColumn = (field) => {
71
+ commit((current) => ({
72
+ ...current,
73
+ customColumns: current.customColumns.filter((customColumn) => customColumn !== field)
74
+ }));
75
+ };
65
76
  const resetColumns = () => commit(() => DEFAULT_TRACE_COLUMN_PREFERENCES);
66
77
  return {
67
78
  preferences,
68
79
  toggleColumn,
80
+ addCustomColumn,
81
+ removeCustomColumn,
69
82
  addMetadataColumn,
70
83
  removeMetadataColumn,
71
84
  resetColumns
@@ -1 +1 @@
1
- {"version":3,"file":"use-trace-column-preferences.es.js","sources":["../../../../src/domains/traces/hooks/use-trace-column-preferences.ts"],"sourcesContent":["import { useMastraClient } from '@mastra/react';\nimport { useEffect, useState } from 'react';\nimport {\n DEFAULT_TRACE_COLUMN_PREFERENCES,\n parseTraceColumnPreferences,\n serializeTraceColumnPreferences,\n} from '../trace-list-columns';\nimport type { TraceColumnPreferences, TraceOptionalColumn } from '../trace-list-columns';\n\nfunction readPreferences(storageKey: string): TraceColumnPreferences {\n if (typeof window === 'undefined') return DEFAULT_TRACE_COLUMN_PREFERENCES;\n\n try {\n return parseTraceColumnPreferences(window.localStorage.getItem(storageKey) ?? undefined);\n } catch {\n return DEFAULT_TRACE_COLUMN_PREFERENCES;\n }\n}\n\nfunction writePreferences(storageKey: string, preferences: TraceColumnPreferences): void {\n if (typeof window === 'undefined') return;\n\n try {\n window.localStorage.setItem(storageKey, serializeTraceColumnPreferences(preferences));\n } catch {\n // Storage can be unavailable in private browsing or full. The in-memory\n // selection still works for the current visit.\n }\n}\n\nexport function useTraceColumnPreferences() {\n const client = useMastraClient();\n const projectUrl =\n client.options.baseUrl || (typeof window === 'undefined' ? 'local' : window.location.origin || 'local');\n const apiPrefix = client.options.apiPrefix ?? '/api';\n const storageKey = `mastra:traces:columns:${projectUrl}:${apiPrefix}`;\n const [state, setState] = useState(() => ({\n storageKey,\n preferences: readPreferences(storageKey),\n shouldPersist: false,\n }));\n const preferences = state.storageKey === storageKey ? state.preferences : readPreferences(storageKey);\n\n useEffect(() => {\n if (state.storageKey === storageKey && state.shouldPersist) {\n writePreferences(storageKey, state.preferences);\n }\n }, [state, storageKey]);\n\n const commit = (update: (current: TraceColumnPreferences) => TraceColumnPreferences) => {\n setState(current => {\n const currentPreferences = current.storageKey === storageKey ? current.preferences : readPreferences(storageKey);\n const nextPreferences = update(currentPreferences);\n return { storageKey, preferences: nextPreferences, shouldPersist: true };\n });\n };\n\n const toggleColumn = (column: TraceOptionalColumn) => {\n commit(current => {\n const isVisible = current.visibleColumns.includes(column);\n return {\n ...current,\n visibleColumns: isVisible\n ? current.visibleColumns.filter(visibleColumn => visibleColumn !== column)\n : [...current.visibleColumns, column],\n };\n });\n };\n\n const addMetadataColumn = (key: string) => {\n const normalizedKey = key.trim();\n if (!normalizedKey) return;\n commit(current =>\n current.metadataKeys.includes(normalizedKey)\n ? current\n : { ...current, metadataKeys: [...current.metadataKeys, normalizedKey] },\n );\n };\n\n const removeMetadataColumn = (key: string) => {\n commit(current => ({\n ...current,\n metadataKeys: current.metadataKeys.filter(metadataKey => metadataKey !== key),\n }));\n };\n\n const resetColumns = () => commit(() => DEFAULT_TRACE_COLUMN_PREFERENCES);\n\n return {\n preferences,\n toggleColumn,\n addMetadataColumn,\n removeMetadataColumn,\n resetColumns,\n };\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-trace-column-preferences.es.js","sources":["../../../../src/domains/traces/hooks/use-trace-column-preferences.ts"],"sourcesContent":["import { useMastraClient } from '@mastra/react';\nimport { useEffect, useState } from 'react';\nimport {\n DEFAULT_TRACE_COLUMN_PREFERENCES,\n parseTraceColumnPreferences,\n serializeTraceColumnPreferences,\n} from '../trace-list-columns';\nimport type { TraceColumnPreferences, TraceCustomColumn, TraceOptionalColumn } from '../trace-list-columns';\n\nfunction readPreferences(storageKey: string): TraceColumnPreferences {\n if (typeof window === 'undefined') return DEFAULT_TRACE_COLUMN_PREFERENCES;\n\n try {\n return parseTraceColumnPreferences(window.localStorage.getItem(storageKey) ?? undefined);\n } catch {\n return DEFAULT_TRACE_COLUMN_PREFERENCES;\n }\n}\n\nfunction writePreferences(storageKey: string, preferences: TraceColumnPreferences): void {\n if (typeof window === 'undefined') return;\n\n try {\n window.localStorage.setItem(storageKey, serializeTraceColumnPreferences(preferences));\n } catch {\n // Storage can be unavailable in private browsing or full. The in-memory\n // selection still works for the current visit.\n }\n}\n\nexport function useTraceColumnPreferences() {\n const client = useMastraClient();\n const projectUrl =\n client.options.baseUrl || (typeof window === 'undefined' ? 'local' : window.location.origin || 'local');\n const apiPrefix = client.options.apiPrefix ?? '/api';\n const storageKey = `mastra:traces:columns:${projectUrl}:${apiPrefix}`;\n const [state, setState] = useState(() => ({\n storageKey,\n preferences: readPreferences(storageKey),\n shouldPersist: false,\n }));\n const preferences = state.storageKey === storageKey ? state.preferences : readPreferences(storageKey);\n\n useEffect(() => {\n if (state.storageKey === storageKey && state.shouldPersist) {\n writePreferences(storageKey, state.preferences);\n }\n }, [state, storageKey]);\n\n const commit = (update: (current: TraceColumnPreferences) => TraceColumnPreferences) => {\n setState(current => {\n const currentPreferences = current.storageKey === storageKey ? current.preferences : readPreferences(storageKey);\n const nextPreferences = update(currentPreferences);\n return { storageKey, preferences: nextPreferences, shouldPersist: true };\n });\n };\n\n const toggleColumn = (column: TraceOptionalColumn) => {\n commit(current => {\n const isVisible = current.visibleColumns.includes(column);\n return {\n ...current,\n visibleColumns: isVisible\n ? current.visibleColumns.filter(visibleColumn => visibleColumn !== column)\n : [...current.visibleColumns, column],\n };\n });\n };\n\n const addMetadataColumn = (key: string) => {\n const normalizedKey = key.trim();\n if (!normalizedKey) return;\n commit(current =>\n current.metadataKeys.includes(normalizedKey)\n ? current\n : { ...current, metadataKeys: [...current.metadataKeys, normalizedKey] },\n );\n };\n\n const removeMetadataColumn = (key: string) => {\n commit(current => ({\n ...current,\n metadataKeys: current.metadataKeys.filter(metadataKey => metadataKey !== key),\n }));\n };\n\n const addCustomColumn = (field: TraceCustomColumn) => {\n commit(current =>\n current.customColumns.includes(field)\n ? current\n : { ...current, customColumns: [...current.customColumns, field] },\n );\n };\n\n const removeCustomColumn = (field: TraceCustomColumn) => {\n commit(current => ({\n ...current,\n customColumns: current.customColumns.filter(customColumn => customColumn !== field),\n }));\n };\n\n const resetColumns = () => commit(() => DEFAULT_TRACE_COLUMN_PREFERENCES);\n\n return {\n preferences,\n toggleColumn,\n addCustomColumn,\n removeCustomColumn,\n addMetadataColumn,\n removeMetadataColumn,\n resetColumns,\n };\n}\n"],"names":[],"mappings":";;;;AASA,SAAS,gBAAgB,UAAA,EAA4C;AACnE,EAAA,IAAI,OAAO,MAAA,KAAW,WAAA,EAAa,OAAO,gCAAA;AAE1C,EAAA,IAAI;AACF,IAAA,OAAO,4BAA4B,MAAA,CAAO,YAAA,CAAa,OAAA,CAAQ,UAAU,KAAK,KAAA,CAAS,CAAA;AAAA,EACzF,CAAA,CAAA,MAAQ;AACN,IAAA,OAAO,gCAAA;AAAA,EACT;AACF;AAEA,SAAS,gBAAA,CAAiB,YAAoB,WAAA,EAA2C;AACvF,EAAA,IAAI,OAAO,WAAW,WAAA,EAAa;AAEnC,EAAA,IAAI;AACF,IAAA,MAAA,CAAO,YAAA,CAAa,OAAA,CAAQ,UAAA,EAAY,+BAAA,CAAgC,WAAW,CAAC,CAAA;AAAA,EACtF,CAAA,CAAA,MAAQ;AAAA,EAGR;AACF;AAEO,SAAS,yBAAA,GAA4B;AAC1C,EAAA,MAAM,SAAS,eAAA,EAAgB;AAC/B,EAAA,MAAM,UAAA,GACJ,MAAA,CAAO,OAAA,CAAQ,OAAA,KAAY,OAAO,WAAW,WAAA,GAAc,OAAA,GAAU,MAAA,CAAO,QAAA,CAAS,MAAA,IAAU,OAAA,CAAA;AACjG,EAAA,MAAM,SAAA,GAAY,MAAA,CAAO,OAAA,CAAQ,SAAA,IAAa,MAAA;AAC9C,EAAA,MAAM,UAAA,GAAa,CAAA,sBAAA,EAAyB,UAAU,CAAA,CAAA,EAAI,SAAS,CAAA,CAAA;AACnE,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAI,SAAS,OAAO;AAAA,IACxC,UAAA;AAAA,IACA,WAAA,EAAa,gBAAgB,UAAU,CAAA;AAAA,IACvC,aAAA,EAAe;AAAA,GACjB,CAAE,CAAA;AACF,EAAA,MAAM,cAAc,KAAA,CAAM,UAAA,KAAe,aAAa,KAAA,CAAM,WAAA,GAAc,gBAAgB,UAAU,CAAA;AAEpG,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,KAAA,CAAM,UAAA,KAAe,UAAA,IAAc,KAAA,CAAM,aAAA,EAAe;AAC1D,MAAA,gBAAA,CAAiB,UAAA,EAAY,MAAM,WAAW,CAAA;AAAA,IAChD;AAAA,EACF,CAAA,EAAG,CAAC,KAAA,EAAO,UAAU,CAAC,CAAA;AAEtB,EAAA,MAAM,MAAA,GAAS,CAAC,MAAA,KAAwE;AACtF,IAAA,QAAA,CAAS,CAAA,OAAA,KAAW;AAClB,MAAA,MAAM,qBAAqB,OAAA,CAAQ,UAAA,KAAe,aAAa,OAAA,CAAQ,WAAA,GAAc,gBAAgB,UAAU,CAAA;AAC/G,MAAA,MAAM,eAAA,GAAkB,OAAO,kBAAkB,CAAA;AACjD,MAAA,OAAO,EAAE,UAAA,EAAY,WAAA,EAAa,eAAA,EAAiB,eAAe,IAAA,EAAK;AAAA,IACzE,CAAC,CAAA;AAAA,EACH,CAAA;AAEA,EAAA,MAAM,YAAA,GAAe,CAAC,MAAA,KAAgC;AACpD,IAAA,MAAA,CAAO,CAAA,OAAA,KAAW;AAChB,MAAA,MAAM,SAAA,GAAY,OAAA,CAAQ,cAAA,CAAe,QAAA,CAAS,MAAM,CAAA;AACxD,MAAA,OAAO;AAAA,QACL,GAAG,OAAA;AAAA,QACH,cAAA,EAAgB,SAAA,GACZ,OAAA,CAAQ,cAAA,CAAe,MAAA,CAAO,CAAA,aAAA,KAAiB,aAAA,KAAkB,MAAM,CAAA,GACvE,CAAC,GAAG,OAAA,CAAQ,gBAAgB,MAAM;AAAA,OACxC;AAAA,IACF,CAAC,CAAA;AAAA,EACH,CAAA;AAEA,EAAA,MAAM,iBAAA,GAAoB,CAAC,GAAA,KAAgB;AACzC,IAAA,MAAM,aAAA,GAAgB,IAAI,IAAA,EAAK;AAC/B,IAAA,IAAI,CAAC,aAAA,EAAe;AACpB,IAAA,MAAA;AAAA,MAAO,aACL,OAAA,CAAQ,YAAA,CAAa,QAAA,CAAS,aAAa,IACvC,OAAA,GACA,EAAE,GAAG,OAAA,EAAS,cAAc,CAAC,GAAG,OAAA,CAAQ,YAAA,EAAc,aAAa,CAAA;AAAE,KAC3E;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,oBAAA,GAAuB,CAAC,GAAA,KAAgB;AAC5C,IAAA,MAAA,CAAO,CAAA,OAAA,MAAY;AAAA,MACjB,GAAG,OAAA;AAAA,MACH,cAAc,OAAA,CAAQ,YAAA,CAAa,MAAA,CAAO,CAAA,WAAA,KAAe,gBAAgB,GAAG;AAAA,KAC9E,CAAE,CAAA;AAAA,EACJ,CAAA;AAEA,EAAA,MAAM,eAAA,GAAkB,CAAC,KAAA,KAA6B;AACpD,IAAA,MAAA;AAAA,MAAO,aACL,OAAA,CAAQ,aAAA,CAAc,QAAA,CAAS,KAAK,IAChC,OAAA,GACA,EAAE,GAAG,OAAA,EAAS,eAAe,CAAC,GAAG,OAAA,CAAQ,aAAA,EAAe,KAAK,CAAA;AAAE,KACrE;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,kBAAA,GAAqB,CAAC,KAAA,KAA6B;AACvD,IAAA,MAAA,CAAO,CAAA,OAAA,MAAY;AAAA,MACjB,GAAG,OAAA;AAAA,MACH,eAAe,OAAA,CAAQ,aAAA,CAAc,MAAA,CAAO,CAAA,YAAA,KAAgB,iBAAiB,KAAK;AAAA,KACpF,CAAE,CAAA;AAAA,EACJ,CAAA;AAEA,EAAA,MAAM,YAAA,GAAe,MAAM,MAAA,CAAO,MAAM,gCAAgC,CAAA;AAExE,EAAA,OAAO;AAAA,IACL,WAAA;AAAA,IACA,YAAA;AAAA,IACA,eAAA;AAAA,IACA,kBAAA;AAAA,IACA,iBAAA;AAAA,IACA,oBAAA;AAAA,IACA;AAAA,GACF;AACF;;;;"}
@@ -17,6 +17,15 @@ const EMPTY_FIELDS = {
17
17
  const TRACE_QUERY_DISCOVERY_UNSUPPORTED = "TRACE_QUERY_DISCOVERY_UNSUPPORTED";
18
18
  const isDiscoveryUnsupportedError = (error) => error instanceof clientJs.MastraClientError && typeof error.body === "object" && error.body !== null && error.body.code === TRACE_QUERY_DISCOVERY_UNSUPPORTED;
19
19
  const traceQueryFieldsQueryKey = (timeRange) => ["trace-query-fields", timeRange.from, timeRange.to];
20
+ const createTraceQueryValuesResolver = (client, timeRange, predicateScope, path) => {
21
+ return async ({ query: search, signal }) => {
22
+ const { values } = await client.getTraceQueryValues(
23
+ { timeRange, predicateScope, path, search: search.trim() || void 0, limit: DISCOVERY_LIMIT },
24
+ { signal }
25
+ );
26
+ return values.map(({ value }) => ({ value }));
27
+ };
28
+ };
20
29
  const useTraceMetadataFilterFields = ({
21
30
  timeRange,
22
31
  enabled = true
@@ -46,25 +55,14 @@ const useTraceMetadataFilterFields = ({
46
55
  const fields = React.useMemo(
47
56
  () => (observedFields ?? []).map((field) => ({
48
57
  path: field.path,
49
- suggestions: async ({ query: search, signal }) => {
50
- const { values } = await client.getTraceQueryValues(
51
- {
52
- timeRange,
53
- predicateScope: "trace",
54
- path: field.path,
55
- search: search.trim() || void 0,
56
- limit: DISCOVERY_LIMIT
57
- },
58
- { signal }
59
- );
60
- return values.map(({ value }) => ({ value }));
61
- }
58
+ suggestions: createTraceQueryValuesResolver(client, timeRange, "trace", field.path)
62
59
  })),
63
60
  [observedFields, client, timeRange]
64
61
  );
65
62
  return { fields, isLoading: query.isLoading, error: query.error };
66
63
  };
67
64
 
65
+ exports.createTraceQueryValuesResolver = createTraceQueryValuesResolver;
68
66
  exports.traceQueryFieldsQueryKey = traceQueryFieldsQueryKey;
69
67
  exports.useTraceMetadataFilterFields = useTraceMetadataFilterFields;
70
68
  //# sourceMappingURL=use-trace-metadata-filter-fields.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-trace-metadata-filter-fields.cjs.js","sources":["../../../../src/domains/traces/hooks/use-trace-metadata-filter-fields.ts"],"sourcesContent":["import { MastraClientError } from '@mastra/client-js';\nimport type { GetTraceQueryFieldsArgs, GetTraceQueryFieldsResponse } from '@mastra/client-js';\nimport { useMastraClient } from '@mastra/react';\nimport { keepPreviousData, useQuery } from '@tanstack/react-query';\nimport { useMemo } from 'react';\nimport { DISCOVERY_STALE_TIME } from './discovery-cache';\nimport type { FilterBarSuggestionsResolver } from '@/ds/components/FilterBar/types';\n\nexport type TraceQueryDiscoveryTimeRange = GetTraceQueryFieldsArgs['timeRange'];\n\nexport type TraceMetadataFilterField = {\n /** `metadata.<key>` — doubles as the filter bar field id. */\n path: string;\n suggestions: FilterBarSuggestionsResolver;\n};\n\n// Server caps discovery limits at 100 (TRACE_QUERY_DISCOVERY_MAX_LIMIT).\nconst DISCOVERY_LIMIT = 100;\n\nconst EMPTY_FIELDS: GetTraceQueryFieldsResponse = {\n canonicalFields: [],\n observedFields: [],\n observedFieldsTruncated: false,\n};\n\nconst TRACE_QUERY_DISCOVERY_UNSUPPORTED = 'TRACE_QUERY_DISCOVERY_UNSUPPORTED';\n\nconst isDiscoveryUnsupportedError = (error: unknown) =>\n error instanceof MastraClientError &&\n typeof error.body === 'object' &&\n error.body !== null &&\n (error.body as { code?: unknown }).code === TRACE_QUERY_DISCOVERY_UNSUPPORTED;\n\nexport const traceQueryFieldsQueryKey = (timeRange: TraceQueryDiscoveryTimeRange) =>\n ['trace-query-fields', timeRange.from, timeRange.to] as const;\n\n/**\n * Discovers the `metadata.*` fields observed on traces in the given time range and returns\n * them as filter bar fields, each with a lazy `suggestions` resolver that fetches the field's\n * values when the user opens the value step (FilterBar owns debounce/abort).\n *\n * Resolves to an empty field list when the server or store does not support discovery\n * (`TRACE_QUERY_DISCOVERY_UNSUPPORTED`) so callers never stay blocked.\n */\nexport const useTraceMetadataFilterFields = ({\n timeRange,\n enabled = true,\n}: {\n timeRange: TraceQueryDiscoveryTimeRange;\n enabled?: boolean;\n}) => {\n const client = useMastraClient();\n\n const query = useQuery({\n queryKey: traceQueryFieldsQueryKey(timeRange),\n queryFn: async ({ signal }) => {\n try {\n return await client.getTraceQueryFields(\n { timeRange, predicateScope: 'trace', limit: DISCOVERY_LIMIT },\n { signal },\n );\n } catch (error) {\n if (isDiscoveryUnsupportedError(error)) return EMPTY_FIELDS;\n throw error;\n }\n },\n enabled,\n retry: false,\n staleTime: DISCOVERY_STALE_TIME,\n // Changing the time range must not tear down the filter bar behind a skeleton;\n // keep the previous field list until the new range resolves.\n placeholderData: keepPreviousData,\n });\n\n const observedFields = query.data?.observedFields;\n\n const fields = useMemo<TraceMetadataFilterField[]>(\n () =>\n (observedFields ?? []).map(field => ({\n path: field.path,\n suggestions: async ({ query: search, signal }) => {\n const { values } = await client.getTraceQueryValues(\n {\n timeRange,\n predicateScope: 'trace',\n path: field.path,\n search: search.trim() || undefined,\n limit: DISCOVERY_LIMIT,\n },\n { signal },\n );\n return values.map(({ value }) => ({ value }));\n },\n })),\n [observedFields, client, timeRange],\n );\n\n return { fields, isLoading: query.isLoading, error: query.error };\n};\n"],"names":["MastraClientError","useMastraClient","useQuery","DISCOVERY_STALE_TIME","keepPreviousData","useMemo"],"mappings":";;;;;;;;;;AAiBA,MAAM,eAAA,GAAkB,GAAA;AAExB,MAAM,YAAA,GAA4C;AAAA,EAChD,iBAAiB,EAAC;AAAA,EAClB,gBAAgB,EAAC;AAAA,EACjB,uBAAA,EAAyB;AAC3B,CAAA;AAEA,MAAM,iCAAA,GAAoC,mCAAA;AAE1C,MAAM,2BAAA,GAA8B,CAAC,KAAA,KACnC,KAAA,YAAiBA,8BACjB,OAAO,KAAA,CAAM,IAAA,KAAS,QAAA,IACtB,KAAA,CAAM,IAAA,KAAS,IAAA,IACd,KAAA,CAAM,KAA4B,IAAA,KAAS,iCAAA;AAEvC,MAAM,wBAAA,GAA2B,CAAC,SAAA,KACvC,CAAC,sBAAsB,SAAA,CAAU,IAAA,EAAM,UAAU,EAAE;AAU9C,MAAM,+BAA+B,CAAC;AAAA,EAC3C,SAAA;AAAA,EACA,OAAA,GAAU;AACZ,CAAA,KAGM;AACJ,EAAA,MAAM,SAASC,qBAAA,EAAgB;AAE/B,EAAA,MAAM,QAAQC,mBAAA,CAAS;AAAA,IACrB,QAAA,EAAU,yBAAyB,SAAS,CAAA;AAAA,IAC5C,OAAA,EAAS,OAAO,EAAE,MAAA,EAAO,KAAM;AAC7B,MAAA,IAAI;AACF,QAAA,OAAO,MAAM,MAAA,CAAO,mBAAA;AAAA,UAClB,EAAE,SAAA,EAAW,cAAA,EAAgB,OAAA,EAAS,OAAO,eAAA,EAAgB;AAAA,UAC7D,EAAE,MAAA;AAAO,SACX;AAAA,MACF,SAAS,KAAA,EAAO;AACd,QAAA,IAAI,2BAAA,CAA4B,KAAK,CAAA,EAAG,OAAO,YAAA;AAC/C,QAAA,MAAM,KAAA;AAAA,MACR;AAAA,IACF,CAAA;AAAA,IACA,OAAA;AAAA,IACA,KAAA,EAAO,KAAA;AAAA,IACP,SAAA,EAAWC,wDAAA;AAAA;AAAA;AAAA,IAGX,eAAA,EAAiBC;AAAA,GAClB,CAAA;AAED,EAAA,MAAM,cAAA,GAAiB,MAAM,IAAA,EAAM,cAAA;AAEnC,EAAA,MAAM,MAAA,GAASC,aAAA;AAAA,IACb,MAAA,CACG,cAAA,IAAkB,EAAC,EAAG,IAAI,CAAA,KAAA,MAAU;AAAA,MACnC,MAAM,KAAA,CAAM,IAAA;AAAA,MACZ,aAAa,OAAO,EAAE,KAAA,EAAO,MAAA,EAAQ,QAAO,KAAM;AAChD,QAAA,MAAM,EAAE,MAAA,EAAO,GAAI,MAAM,MAAA,CAAO,mBAAA;AAAA,UAC9B;AAAA,YACE,SAAA;AAAA,YACA,cAAA,EAAgB,OAAA;AAAA,YAChB,MAAM,KAAA,CAAM,IAAA;AAAA,YACZ,MAAA,EAAQ,MAAA,CAAO,IAAA,EAAK,IAAK,MAAA;AAAA,YACzB,KAAA,EAAO;AAAA,WACT;AAAA,UACA,EAAE,MAAA;AAAO,SACX;AACA,QAAA,OAAO,MAAA,CAAO,IAAI,CAAC,EAAE,OAAM,MAAO,EAAE,OAAM,CAAE,CAAA;AAAA,MAC9C;AAAA,KACF,CAAE,CAAA;AAAA,IACJ,CAAC,cAAA,EAAgB,MAAA,EAAQ,SAAS;AAAA,GACpC;AAEA,EAAA,OAAO,EAAE,MAAA,EAAQ,SAAA,EAAW,MAAM,SAAA,EAAW,KAAA,EAAO,MAAM,KAAA,EAAM;AAClE;;;;;"}
1
+ {"version":3,"file":"use-trace-metadata-filter-fields.cjs.js","sources":["../../../../src/domains/traces/hooks/use-trace-metadata-filter-fields.ts"],"sourcesContent":["import { MastraClientError } from '@mastra/client-js';\nimport type {\n GetTraceQueryFieldsArgs,\n GetTraceQueryFieldsResponse,\n GetTraceQueryValuesArgs,\n MastraClient,\n} from '@mastra/client-js';\nimport { useMastraClient } from '@mastra/react';\nimport { keepPreviousData, useQuery } from '@tanstack/react-query';\nimport { useMemo } from 'react';\nimport { DISCOVERY_STALE_TIME } from './discovery-cache';\nimport type { FilterBarSuggestionsResolver } from '@/ds/components/FilterBar/types';\n\nexport type TraceQueryDiscoveryTimeRange = GetTraceQueryFieldsArgs['timeRange'];\n\nexport type TraceMetadataFilterField = {\n /** `metadata.<key>` — doubles as the filter bar field id. */\n path: string;\n suggestions: FilterBarSuggestionsResolver;\n};\n\n// Server caps discovery limits at 100 (TRACE_QUERY_DISCOVERY_MAX_LIMIT).\nconst DISCOVERY_LIMIT = 100;\n\nconst EMPTY_FIELDS: GetTraceQueryFieldsResponse = {\n canonicalFields: [],\n observedFields: [],\n observedFieldsTruncated: false,\n};\n\nconst TRACE_QUERY_DISCOVERY_UNSUPPORTED = 'TRACE_QUERY_DISCOVERY_UNSUPPORTED';\n\nconst isDiscoveryUnsupportedError = (error: unknown) =>\n error instanceof MastraClientError &&\n typeof error.body === 'object' &&\n error.body !== null &&\n (error.body as { code?: unknown }).code === TRACE_QUERY_DISCOVERY_UNSUPPORTED;\n\nexport const traceQueryFieldsQueryKey = (timeRange: TraceQueryDiscoveryTimeRange) =>\n ['trace-query-fields', timeRange.from, timeRange.to] as const;\n\n/** Lazy FilterBar suggestions resolver backed by the value-discovery endpoint for one\n * `predicateScope` + `path`. FilterBar owns debounce/abort; this only fetches. */\nexport const createTraceQueryValuesResolver = (\n client: MastraClient,\n timeRange: TraceQueryDiscoveryTimeRange,\n predicateScope: GetTraceQueryValuesArgs['predicateScope'],\n path: string,\n): FilterBarSuggestionsResolver => {\n return async ({ query: search, signal }) => {\n const { values } = await client.getTraceQueryValues(\n { timeRange, predicateScope, path, search: search.trim() || undefined, limit: DISCOVERY_LIMIT },\n { signal },\n );\n return values.map(({ value }) => ({ value }));\n };\n};\n\n/**\n * Discovers the `metadata.*` fields observed on traces in the given time range and returns\n * them as filter bar fields, each with a lazy `suggestions` resolver that fetches the field's\n * values when the user opens the value step (FilterBar owns debounce/abort).\n *\n * Resolves to an empty field list when the server or store does not support discovery\n * (`TRACE_QUERY_DISCOVERY_UNSUPPORTED`) so callers never stay blocked.\n */\nexport const useTraceMetadataFilterFields = ({\n timeRange,\n enabled = true,\n}: {\n timeRange: TraceQueryDiscoveryTimeRange;\n enabled?: boolean;\n}) => {\n const client = useMastraClient();\n\n const query = useQuery({\n queryKey: traceQueryFieldsQueryKey(timeRange),\n queryFn: async ({ signal }) => {\n try {\n return await client.getTraceQueryFields(\n { timeRange, predicateScope: 'trace', limit: DISCOVERY_LIMIT },\n { signal },\n );\n } catch (error) {\n if (isDiscoveryUnsupportedError(error)) return EMPTY_FIELDS;\n throw error;\n }\n },\n enabled,\n retry: false,\n staleTime: DISCOVERY_STALE_TIME,\n // Changing the time range must not tear down the filter bar behind a skeleton;\n // keep the previous field list until the new range resolves.\n placeholderData: keepPreviousData,\n });\n\n const observedFields = query.data?.observedFields;\n\n const fields = useMemo<TraceMetadataFilterField[]>(\n () =>\n (observedFields ?? []).map(field => ({\n path: field.path,\n suggestions: createTraceQueryValuesResolver(client, timeRange, 'trace', field.path),\n })),\n [observedFields, client, timeRange],\n );\n\n return { fields, isLoading: query.isLoading, error: query.error };\n};\n"],"names":["MastraClientError","useMastraClient","useQuery","DISCOVERY_STALE_TIME","keepPreviousData","useMemo"],"mappings":";;;;;;;;;;AAsBA,MAAM,eAAA,GAAkB,GAAA;AAExB,MAAM,YAAA,GAA4C;AAAA,EAChD,iBAAiB,EAAC;AAAA,EAClB,gBAAgB,EAAC;AAAA,EACjB,uBAAA,EAAyB;AAC3B,CAAA;AAEA,MAAM,iCAAA,GAAoC,mCAAA;AAE1C,MAAM,2BAAA,GAA8B,CAAC,KAAA,KACnC,KAAA,YAAiBA,8BACjB,OAAO,KAAA,CAAM,IAAA,KAAS,QAAA,IACtB,KAAA,CAAM,IAAA,KAAS,IAAA,IACd,KAAA,CAAM,KAA4B,IAAA,KAAS,iCAAA;AAEvC,MAAM,wBAAA,GAA2B,CAAC,SAAA,KACvC,CAAC,sBAAsB,SAAA,CAAU,IAAA,EAAM,UAAU,EAAE;AAI9C,MAAM,8BAAA,GAAiC,CAC5C,MAAA,EACA,SAAA,EACA,gBACA,IAAA,KACiC;AACjC,EAAA,OAAO,OAAO,EAAE,KAAA,EAAO,MAAA,EAAQ,QAAO,KAAM;AAC1C,IAAA,MAAM,EAAE,MAAA,EAAO,GAAI,MAAM,MAAA,CAAO,mBAAA;AAAA,MAC9B,EAAE,SAAA,EAAW,cAAA,EAAgB,IAAA,EAAM,MAAA,EAAQ,OAAO,IAAA,EAAK,IAAK,MAAA,EAAW,KAAA,EAAO,eAAA,EAAgB;AAAA,MAC9F,EAAE,MAAA;AAAO,KACX;AACA,IAAA,OAAO,MAAA,CAAO,IAAI,CAAC,EAAE,OAAM,MAAO,EAAE,OAAM,CAAE,CAAA;AAAA,EAC9C,CAAA;AACF;AAUO,MAAM,+BAA+B,CAAC;AAAA,EAC3C,SAAA;AAAA,EACA,OAAA,GAAU;AACZ,CAAA,KAGM;AACJ,EAAA,MAAM,SAASC,qBAAA,EAAgB;AAE/B,EAAA,MAAM,QAAQC,mBAAA,CAAS;AAAA,IACrB,QAAA,EAAU,yBAAyB,SAAS,CAAA;AAAA,IAC5C,OAAA,EAAS,OAAO,EAAE,MAAA,EAAO,KAAM;AAC7B,MAAA,IAAI;AACF,QAAA,OAAO,MAAM,MAAA,CAAO,mBAAA;AAAA,UAClB,EAAE,SAAA,EAAW,cAAA,EAAgB,OAAA,EAAS,OAAO,eAAA,EAAgB;AAAA,UAC7D,EAAE,MAAA;AAAO,SACX;AAAA,MACF,SAAS,KAAA,EAAO;AACd,QAAA,IAAI,2BAAA,CAA4B,KAAK,CAAA,EAAG,OAAO,YAAA;AAC/C,QAAA,MAAM,KAAA;AAAA,MACR;AAAA,IACF,CAAA;AAAA,IACA,OAAA;AAAA,IACA,KAAA,EAAO,KAAA;AAAA,IACP,SAAA,EAAWC,wDAAA;AAAA;AAAA;AAAA,IAGX,eAAA,EAAiBC;AAAA,GAClB,CAAA;AAED,EAAA,MAAM,cAAA,GAAiB,MAAM,IAAA,EAAM,cAAA;AAEnC,EAAA,MAAM,MAAA,GAASC,aAAA;AAAA,IACb,MAAA,CACG,cAAA,IAAkB,EAAC,EAAG,IAAI,CAAA,KAAA,MAAU;AAAA,MACnC,MAAM,KAAA,CAAM,IAAA;AAAA,MACZ,aAAa,8BAAA,CAA+B,MAAA,EAAQ,SAAA,EAAW,OAAA,EAAS,MAAM,IAAI;AAAA,KACpF,CAAE,CAAA;AAAA,IACJ,CAAC,cAAA,EAAgB,MAAA,EAAQ,SAAS;AAAA,GACpC;AAEA,EAAA,OAAO,EAAE,MAAA,EAAQ,SAAA,EAAW,MAAM,SAAA,EAAW,KAAA,EAAO,MAAM,KAAA,EAAM;AAClE;;;;;;"}
@@ -13,6 +13,15 @@ const EMPTY_FIELDS = {
13
13
  const TRACE_QUERY_DISCOVERY_UNSUPPORTED = "TRACE_QUERY_DISCOVERY_UNSUPPORTED";
14
14
  const isDiscoveryUnsupportedError = (error) => error instanceof MastraClientError && typeof error.body === "object" && error.body !== null && error.body.code === TRACE_QUERY_DISCOVERY_UNSUPPORTED;
15
15
  const traceQueryFieldsQueryKey = (timeRange) => ["trace-query-fields", timeRange.from, timeRange.to];
16
+ const createTraceQueryValuesResolver = (client, timeRange, predicateScope, path) => {
17
+ return async ({ query: search, signal }) => {
18
+ const { values } = await client.getTraceQueryValues(
19
+ { timeRange, predicateScope, path, search: search.trim() || void 0, limit: DISCOVERY_LIMIT },
20
+ { signal }
21
+ );
22
+ return values.map(({ value }) => ({ value }));
23
+ };
24
+ };
16
25
  const useTraceMetadataFilterFields = ({
17
26
  timeRange,
18
27
  enabled = true
@@ -42,24 +51,12 @@ const useTraceMetadataFilterFields = ({
42
51
  const fields = useMemo(
43
52
  () => (observedFields ?? []).map((field) => ({
44
53
  path: field.path,
45
- suggestions: async ({ query: search, signal }) => {
46
- const { values } = await client.getTraceQueryValues(
47
- {
48
- timeRange,
49
- predicateScope: "trace",
50
- path: field.path,
51
- search: search.trim() || void 0,
52
- limit: DISCOVERY_LIMIT
53
- },
54
- { signal }
55
- );
56
- return values.map(({ value }) => ({ value }));
57
- }
54
+ suggestions: createTraceQueryValuesResolver(client, timeRange, "trace", field.path)
58
55
  })),
59
56
  [observedFields, client, timeRange]
60
57
  );
61
58
  return { fields, isLoading: query.isLoading, error: query.error };
62
59
  };
63
60
 
64
- export { traceQueryFieldsQueryKey, useTraceMetadataFilterFields };
61
+ export { createTraceQueryValuesResolver, traceQueryFieldsQueryKey, useTraceMetadataFilterFields };
65
62
  //# sourceMappingURL=use-trace-metadata-filter-fields.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-trace-metadata-filter-fields.es.js","sources":["../../../../src/domains/traces/hooks/use-trace-metadata-filter-fields.ts"],"sourcesContent":["import { MastraClientError } from '@mastra/client-js';\nimport type { GetTraceQueryFieldsArgs, GetTraceQueryFieldsResponse } from '@mastra/client-js';\nimport { useMastraClient } from '@mastra/react';\nimport { keepPreviousData, useQuery } from '@tanstack/react-query';\nimport { useMemo } from 'react';\nimport { DISCOVERY_STALE_TIME } from './discovery-cache';\nimport type { FilterBarSuggestionsResolver } from '@/ds/components/FilterBar/types';\n\nexport type TraceQueryDiscoveryTimeRange = GetTraceQueryFieldsArgs['timeRange'];\n\nexport type TraceMetadataFilterField = {\n /** `metadata.<key>` — doubles as the filter bar field id. */\n path: string;\n suggestions: FilterBarSuggestionsResolver;\n};\n\n// Server caps discovery limits at 100 (TRACE_QUERY_DISCOVERY_MAX_LIMIT).\nconst DISCOVERY_LIMIT = 100;\n\nconst EMPTY_FIELDS: GetTraceQueryFieldsResponse = {\n canonicalFields: [],\n observedFields: [],\n observedFieldsTruncated: false,\n};\n\nconst TRACE_QUERY_DISCOVERY_UNSUPPORTED = 'TRACE_QUERY_DISCOVERY_UNSUPPORTED';\n\nconst isDiscoveryUnsupportedError = (error: unknown) =>\n error instanceof MastraClientError &&\n typeof error.body === 'object' &&\n error.body !== null &&\n (error.body as { code?: unknown }).code === TRACE_QUERY_DISCOVERY_UNSUPPORTED;\n\nexport const traceQueryFieldsQueryKey = (timeRange: TraceQueryDiscoveryTimeRange) =>\n ['trace-query-fields', timeRange.from, timeRange.to] as const;\n\n/**\n * Discovers the `metadata.*` fields observed on traces in the given time range and returns\n * them as filter bar fields, each with a lazy `suggestions` resolver that fetches the field's\n * values when the user opens the value step (FilterBar owns debounce/abort).\n *\n * Resolves to an empty field list when the server or store does not support discovery\n * (`TRACE_QUERY_DISCOVERY_UNSUPPORTED`) so callers never stay blocked.\n */\nexport const useTraceMetadataFilterFields = ({\n timeRange,\n enabled = true,\n}: {\n timeRange: TraceQueryDiscoveryTimeRange;\n enabled?: boolean;\n}) => {\n const client = useMastraClient();\n\n const query = useQuery({\n queryKey: traceQueryFieldsQueryKey(timeRange),\n queryFn: async ({ signal }) => {\n try {\n return await client.getTraceQueryFields(\n { timeRange, predicateScope: 'trace', limit: DISCOVERY_LIMIT },\n { signal },\n );\n } catch (error) {\n if (isDiscoveryUnsupportedError(error)) return EMPTY_FIELDS;\n throw error;\n }\n },\n enabled,\n retry: false,\n staleTime: DISCOVERY_STALE_TIME,\n // Changing the time range must not tear down the filter bar behind a skeleton;\n // keep the previous field list until the new range resolves.\n placeholderData: keepPreviousData,\n });\n\n const observedFields = query.data?.observedFields;\n\n const fields = useMemo<TraceMetadataFilterField[]>(\n () =>\n (observedFields ?? []).map(field => ({\n path: field.path,\n suggestions: async ({ query: search, signal }) => {\n const { values } = await client.getTraceQueryValues(\n {\n timeRange,\n predicateScope: 'trace',\n path: field.path,\n search: search.trim() || undefined,\n limit: DISCOVERY_LIMIT,\n },\n { signal },\n );\n return values.map(({ value }) => ({ value }));\n },\n })),\n [observedFields, client, timeRange],\n );\n\n return { fields, isLoading: query.isLoading, error: query.error };\n};\n"],"names":[],"mappings":";;;;;;AAiBA,MAAM,eAAA,GAAkB,GAAA;AAExB,MAAM,YAAA,GAA4C;AAAA,EAChD,iBAAiB,EAAC;AAAA,EAClB,gBAAgB,EAAC;AAAA,EACjB,uBAAA,EAAyB;AAC3B,CAAA;AAEA,MAAM,iCAAA,GAAoC,mCAAA;AAE1C,MAAM,2BAAA,GAA8B,CAAC,KAAA,KACnC,KAAA,YAAiB,qBACjB,OAAO,KAAA,CAAM,IAAA,KAAS,QAAA,IACtB,KAAA,CAAM,IAAA,KAAS,IAAA,IACd,KAAA,CAAM,KAA4B,IAAA,KAAS,iCAAA;AAEvC,MAAM,wBAAA,GAA2B,CAAC,SAAA,KACvC,CAAC,sBAAsB,SAAA,CAAU,IAAA,EAAM,UAAU,EAAE;AAU9C,MAAM,+BAA+B,CAAC;AAAA,EAC3C,SAAA;AAAA,EACA,OAAA,GAAU;AACZ,CAAA,KAGM;AACJ,EAAA,MAAM,SAAS,eAAA,EAAgB;AAE/B,EAAA,MAAM,QAAQ,QAAA,CAAS;AAAA,IACrB,QAAA,EAAU,yBAAyB,SAAS,CAAA;AAAA,IAC5C,OAAA,EAAS,OAAO,EAAE,MAAA,EAAO,KAAM;AAC7B,MAAA,IAAI;AACF,QAAA,OAAO,MAAM,MAAA,CAAO,mBAAA;AAAA,UAClB,EAAE,SAAA,EAAW,cAAA,EAAgB,OAAA,EAAS,OAAO,eAAA,EAAgB;AAAA,UAC7D,EAAE,MAAA;AAAO,SACX;AAAA,MACF,SAAS,KAAA,EAAO;AACd,QAAA,IAAI,2BAAA,CAA4B,KAAK,CAAA,EAAG,OAAO,YAAA;AAC/C,QAAA,MAAM,KAAA;AAAA,MACR;AAAA,IACF,CAAA;AAAA,IACA,OAAA;AAAA,IACA,KAAA,EAAO,KAAA;AAAA,IACP,SAAA,EAAW,oBAAA;AAAA;AAAA;AAAA,IAGX,eAAA,EAAiB;AAAA,GAClB,CAAA;AAED,EAAA,MAAM,cAAA,GAAiB,MAAM,IAAA,EAAM,cAAA;AAEnC,EAAA,MAAM,MAAA,GAAS,OAAA;AAAA,IACb,MAAA,CACG,cAAA,IAAkB,EAAC,EAAG,IAAI,CAAA,KAAA,MAAU;AAAA,MACnC,MAAM,KAAA,CAAM,IAAA;AAAA,MACZ,aAAa,OAAO,EAAE,KAAA,EAAO,MAAA,EAAQ,QAAO,KAAM;AAChD,QAAA,MAAM,EAAE,MAAA,EAAO,GAAI,MAAM,MAAA,CAAO,mBAAA;AAAA,UAC9B;AAAA,YACE,SAAA;AAAA,YACA,cAAA,EAAgB,OAAA;AAAA,YAChB,MAAM,KAAA,CAAM,IAAA;AAAA,YACZ,MAAA,EAAQ,MAAA,CAAO,IAAA,EAAK,IAAK,MAAA;AAAA,YACzB,KAAA,EAAO;AAAA,WACT;AAAA,UACA,EAAE,MAAA;AAAO,SACX;AACA,QAAA,OAAO,MAAA,CAAO,IAAI,CAAC,EAAE,OAAM,MAAO,EAAE,OAAM,CAAE,CAAA;AAAA,MAC9C;AAAA,KACF,CAAE,CAAA;AAAA,IACJ,CAAC,cAAA,EAAgB,MAAA,EAAQ,SAAS;AAAA,GACpC;AAEA,EAAA,OAAO,EAAE,MAAA,EAAQ,SAAA,EAAW,MAAM,SAAA,EAAW,KAAA,EAAO,MAAM,KAAA,EAAM;AAClE;;;;"}
1
+ {"version":3,"file":"use-trace-metadata-filter-fields.es.js","sources":["../../../../src/domains/traces/hooks/use-trace-metadata-filter-fields.ts"],"sourcesContent":["import { MastraClientError } from '@mastra/client-js';\nimport type {\n GetTraceQueryFieldsArgs,\n GetTraceQueryFieldsResponse,\n GetTraceQueryValuesArgs,\n MastraClient,\n} from '@mastra/client-js';\nimport { useMastraClient } from '@mastra/react';\nimport { keepPreviousData, useQuery } from '@tanstack/react-query';\nimport { useMemo } from 'react';\nimport { DISCOVERY_STALE_TIME } from './discovery-cache';\nimport type { FilterBarSuggestionsResolver } from '@/ds/components/FilterBar/types';\n\nexport type TraceQueryDiscoveryTimeRange = GetTraceQueryFieldsArgs['timeRange'];\n\nexport type TraceMetadataFilterField = {\n /** `metadata.<key>` — doubles as the filter bar field id. */\n path: string;\n suggestions: FilterBarSuggestionsResolver;\n};\n\n// Server caps discovery limits at 100 (TRACE_QUERY_DISCOVERY_MAX_LIMIT).\nconst DISCOVERY_LIMIT = 100;\n\nconst EMPTY_FIELDS: GetTraceQueryFieldsResponse = {\n canonicalFields: [],\n observedFields: [],\n observedFieldsTruncated: false,\n};\n\nconst TRACE_QUERY_DISCOVERY_UNSUPPORTED = 'TRACE_QUERY_DISCOVERY_UNSUPPORTED';\n\nconst isDiscoveryUnsupportedError = (error: unknown) =>\n error instanceof MastraClientError &&\n typeof error.body === 'object' &&\n error.body !== null &&\n (error.body as { code?: unknown }).code === TRACE_QUERY_DISCOVERY_UNSUPPORTED;\n\nexport const traceQueryFieldsQueryKey = (timeRange: TraceQueryDiscoveryTimeRange) =>\n ['trace-query-fields', timeRange.from, timeRange.to] as const;\n\n/** Lazy FilterBar suggestions resolver backed by the value-discovery endpoint for one\n * `predicateScope` + `path`. FilterBar owns debounce/abort; this only fetches. */\nexport const createTraceQueryValuesResolver = (\n client: MastraClient,\n timeRange: TraceQueryDiscoveryTimeRange,\n predicateScope: GetTraceQueryValuesArgs['predicateScope'],\n path: string,\n): FilterBarSuggestionsResolver => {\n return async ({ query: search, signal }) => {\n const { values } = await client.getTraceQueryValues(\n { timeRange, predicateScope, path, search: search.trim() || undefined, limit: DISCOVERY_LIMIT },\n { signal },\n );\n return values.map(({ value }) => ({ value }));\n };\n};\n\n/**\n * Discovers the `metadata.*` fields observed on traces in the given time range and returns\n * them as filter bar fields, each with a lazy `suggestions` resolver that fetches the field's\n * values when the user opens the value step (FilterBar owns debounce/abort).\n *\n * Resolves to an empty field list when the server or store does not support discovery\n * (`TRACE_QUERY_DISCOVERY_UNSUPPORTED`) so callers never stay blocked.\n */\nexport const useTraceMetadataFilterFields = ({\n timeRange,\n enabled = true,\n}: {\n timeRange: TraceQueryDiscoveryTimeRange;\n enabled?: boolean;\n}) => {\n const client = useMastraClient();\n\n const query = useQuery({\n queryKey: traceQueryFieldsQueryKey(timeRange),\n queryFn: async ({ signal }) => {\n try {\n return await client.getTraceQueryFields(\n { timeRange, predicateScope: 'trace', limit: DISCOVERY_LIMIT },\n { signal },\n );\n } catch (error) {\n if (isDiscoveryUnsupportedError(error)) return EMPTY_FIELDS;\n throw error;\n }\n },\n enabled,\n retry: false,\n staleTime: DISCOVERY_STALE_TIME,\n // Changing the time range must not tear down the filter bar behind a skeleton;\n // keep the previous field list until the new range resolves.\n placeholderData: keepPreviousData,\n });\n\n const observedFields = query.data?.observedFields;\n\n const fields = useMemo<TraceMetadataFilterField[]>(\n () =>\n (observedFields ?? []).map(field => ({\n path: field.path,\n suggestions: createTraceQueryValuesResolver(client, timeRange, 'trace', field.path),\n })),\n [observedFields, client, timeRange],\n );\n\n return { fields, isLoading: query.isLoading, error: query.error };\n};\n"],"names":[],"mappings":";;;;;;AAsBA,MAAM,eAAA,GAAkB,GAAA;AAExB,MAAM,YAAA,GAA4C;AAAA,EAChD,iBAAiB,EAAC;AAAA,EAClB,gBAAgB,EAAC;AAAA,EACjB,uBAAA,EAAyB;AAC3B,CAAA;AAEA,MAAM,iCAAA,GAAoC,mCAAA;AAE1C,MAAM,2BAAA,GAA8B,CAAC,KAAA,KACnC,KAAA,YAAiB,qBACjB,OAAO,KAAA,CAAM,IAAA,KAAS,QAAA,IACtB,KAAA,CAAM,IAAA,KAAS,IAAA,IACd,KAAA,CAAM,KAA4B,IAAA,KAAS,iCAAA;AAEvC,MAAM,wBAAA,GAA2B,CAAC,SAAA,KACvC,CAAC,sBAAsB,SAAA,CAAU,IAAA,EAAM,UAAU,EAAE;AAI9C,MAAM,8BAAA,GAAiC,CAC5C,MAAA,EACA,SAAA,EACA,gBACA,IAAA,KACiC;AACjC,EAAA,OAAO,OAAO,EAAE,KAAA,EAAO,MAAA,EAAQ,QAAO,KAAM;AAC1C,IAAA,MAAM,EAAE,MAAA,EAAO,GAAI,MAAM,MAAA,CAAO,mBAAA;AAAA,MAC9B,EAAE,SAAA,EAAW,cAAA,EAAgB,IAAA,EAAM,MAAA,EAAQ,OAAO,IAAA,EAAK,IAAK,MAAA,EAAW,KAAA,EAAO,eAAA,EAAgB;AAAA,MAC9F,EAAE,MAAA;AAAO,KACX;AACA,IAAA,OAAO,MAAA,CAAO,IAAI,CAAC,EAAE,OAAM,MAAO,EAAE,OAAM,CAAE,CAAA;AAAA,EAC9C,CAAA;AACF;AAUO,MAAM,+BAA+B,CAAC;AAAA,EAC3C,SAAA;AAAA,EACA,OAAA,GAAU;AACZ,CAAA,KAGM;AACJ,EAAA,MAAM,SAAS,eAAA,EAAgB;AAE/B,EAAA,MAAM,QAAQ,QAAA,CAAS;AAAA,IACrB,QAAA,EAAU,yBAAyB,SAAS,CAAA;AAAA,IAC5C,OAAA,EAAS,OAAO,EAAE,MAAA,EAAO,KAAM;AAC7B,MAAA,IAAI;AACF,QAAA,OAAO,MAAM,MAAA,CAAO,mBAAA;AAAA,UAClB,EAAE,SAAA,EAAW,cAAA,EAAgB,OAAA,EAAS,OAAO,eAAA,EAAgB;AAAA,UAC7D,EAAE,MAAA;AAAO,SACX;AAAA,MACF,SAAS,KAAA,EAAO;AACd,QAAA,IAAI,2BAAA,CAA4B,KAAK,CAAA,EAAG,OAAO,YAAA;AAC/C,QAAA,MAAM,KAAA;AAAA,MACR;AAAA,IACF,CAAA;AAAA,IACA,OAAA;AAAA,IACA,KAAA,EAAO,KAAA;AAAA,IACP,SAAA,EAAW,oBAAA;AAAA;AAAA;AAAA,IAGX,eAAA,EAAiB;AAAA,GAClB,CAAA;AAED,EAAA,MAAM,cAAA,GAAiB,MAAM,IAAA,EAAM,cAAA;AAEnC,EAAA,MAAM,MAAA,GAAS,OAAA;AAAA,IACb,MAAA,CACG,cAAA,IAAkB,EAAC,EAAG,IAAI,CAAA,KAAA,MAAU;AAAA,MACnC,MAAM,KAAA,CAAM,IAAA;AAAA,MACZ,aAAa,8BAAA,CAA+B,MAAA,EAAQ,SAAA,EAAW,OAAA,EAAS,MAAM,IAAI;AAAA,KACpF,CAAE,CAAA;AAAA,IACJ,CAAC,cAAA,EAAgB,MAAA,EAAQ,SAAS;AAAA,GACpC;AAEA,EAAA,OAAO,EAAE,MAAA,EAAQ,SAAA,EAAW,MAAM,SAAA,EAAW,KAAA,EAAO,MAAM,KAAA,EAAM;AAClE;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-trace-query.cjs.js","sources":["../../../../src/domains/traces/hooks/use-trace-query.ts"],"sourcesContent":["import { MastraClient } from '@mastra/client-js';\nimport type { QueryTracesInput } from '@mastra/client-js';\nimport { useMastraClient } from '@mastra/react';\nimport { keepPreviousData, skipToken, useInfiniteQuery } from '@tanstack/react-query';\nimport { useEffect } from 'react';\nimport { useInView } from '@/hooks/use-in-view';\n\nexport const TRACE_QUERY_PER_PAGE = 25;\n\ntype TraceQueryResponse = Awaited<ReturnType<MastraClient['queryTraces']>>;\ntype TraceQueryCursorResponse = Extract<TraceQueryResponse, { page: { next: string | null } }>;\ntype TraceQueryTrace = TraceQueryResponse['traces'][number];\n\nexport type TraceQueryArgs = Omit<QueryTracesInput, 'page' | 'pagination'>;\n\nexport interface UseTraceQueryArgs {\n query: TraceQueryArgs | undefined;\n limit?: number;\n enabled?: boolean;\n refetchInterval?: number | false;\n refetchOnWindowFocus?: boolean;\n}\n\nexport interface UseTraceQueryReturn {\n data: TraceQueryTrace[] | undefined;\n hasNextPage: boolean;\n isFetchingNextPage: boolean;\n fetchNextPage: () => void;\n isLoading: boolean;\n isFetching: boolean;\n isRefetching: boolean;\n fetchStatus: 'idle' | 'fetching' | 'paused';\n isError: boolean;\n error: Error | null;\n refetch: () => void;\n setEndOfListElement: (node: HTMLDivElement | null) => void;\n}\n\nexport function getTraceQueryNextPageParam(lastPage: TraceQueryCursorResponse | undefined): string | undefined {\n return lastPage?.page.next ?? undefined;\n}\n\nexport function selectTraceQueryTraces(data: { pages: TraceQueryCursorResponse[] }): TraceQueryTrace[] {\n const seen = new Set<string>();\n return data.pages.flatMap(page =>\n page.traces.filter(trace => {\n if (seen.has(trace.traceId)) return false;\n seen.add(trace.traceId);\n return true;\n }),\n );\n}\n\n/** Queries traces with cursor pagination and viewport-driven loading. */\nexport function useTraceQuery({\n query,\n limit = TRACE_QUERY_PER_PAGE,\n enabled = true,\n refetchInterval,\n refetchOnWindowFocus,\n}: UseTraceQueryArgs): UseTraceQueryReturn {\n const client = useMastraClient();\n const { inView, setRef: setEndOfListElement } = useInView();\n const result = useInfiniteQuery<\n TraceQueryCursorResponse,\n Error,\n TraceQueryTrace[],\n readonly unknown[],\n string | undefined\n >({\n queryKey: ['trace-query', query, limit] as const,\n queryFn: query\n ? async ({ pageParam }) => {\n // Capability failures must reach the fallback without the SDK retrying 501 responses.\n const queryClient = new MastraClient({ ...client.options, retries: 0 });\n const response = await queryClient.queryTraces({ ...query, page: { limit, after: pageParam ?? null } });\n if ('page' in response) return response;\n throw new Error('Expected a cursor-paginated trace query response');\n }\n : skipToken,\n initialPageParam: undefined,\n getNextPageParam: getTraceQueryNextPageParam,\n select: selectTraceQueryTraces,\n retry: false,\n placeholderData: keepPreviousData,\n refetchInterval,\n refetchOnWindowFocus,\n enabled,\n });\n const {\n data,\n hasNextPage,\n isFetchingNextPage,\n fetchNextPage,\n isLoading,\n isFetching,\n isRefetching,\n fetchStatus,\n isError,\n error,\n refetch,\n isFetchNextPageError,\n } = result;\n\n useEffect(() => {\n if (enabled && inView && hasNextPage && !isFetching && !isFetchNextPageError) {\n void fetchNextPage();\n }\n }, [enabled, inView, hasNextPage, isFetching, isFetchNextPageError, fetchNextPage]);\n\n return {\n data,\n hasNextPage,\n isFetchingNextPage,\n fetchNextPage,\n isLoading,\n isFetching,\n isRefetching,\n fetchStatus,\n isError,\n error,\n refetch,\n setEndOfListElement,\n };\n}\n"],"names":["useMastraClient","useInView","useInfiniteQuery","MastraClient","skipToken","keepPreviousData","useEffect"],"mappings":";;;;;;;;;;AAOO,MAAM,oBAAA,GAAuB;AA+B7B,SAAS,2BAA2B,QAAA,EAAoE;AAC7G,EAAA,OAAO,QAAA,EAAU,KAAK,IAAA,IAAQ,MAAA;AAChC;AAEO,SAAS,uBAAuB,IAAA,EAAgE;AACrG,EAAA,MAAM,IAAA,uBAAW,GAAA,EAAY;AAC7B,EAAA,OAAO,KAAK,KAAA,CAAM,OAAA;AAAA,IAAQ,CAAA,IAAA,KACxB,IAAA,CAAK,MAAA,CAAO,MAAA,CAAO,CAAA,KAAA,KAAS;AAC1B,MAAA,IAAI,IAAA,CAAK,GAAA,CAAI,KAAA,CAAM,OAAO,GAAG,OAAO,KAAA;AACpC,MAAA,IAAA,CAAK,GAAA,CAAI,MAAM,OAAO,CAAA;AACtB,MAAA,OAAO,IAAA;AAAA,IACT,CAAC;AAAA,GACH;AACF;AAGO,SAAS,aAAA,CAAc;AAAA,EAC5B,KAAA;AAAA,EACA,KAAA,GAAQ,oBAAA;AAAA,EACR,OAAA,GAAU,IAAA;AAAA,EACV,eAAA;AAAA,EACA;AACF,CAAA,EAA2C;AACzC,EAAA,MAAM,SAASA,qBAAA,EAAgB;AAC/B,EAAA,MAAM,EAAE,MAAA,EAAQ,MAAA,EAAQ,mBAAA,KAAwBC,yBAAA,EAAU;AAC1D,EAAA,MAAM,SAASC,2BAAA,CAMb;AAAA,IACA,QAAA,EAAU,CAAC,aAAA,EAAe,KAAA,EAAO,KAAK,CAAA;AAAA,IACtC,OAAA,EAAS,KAAA,GACL,OAAO,EAAE,WAAU,KAAM;AAEvB,MAAA,MAAM,WAAA,GAAc,IAAIC,qBAAA,CAAa,EAAE,GAAG,MAAA,CAAO,OAAA,EAAS,OAAA,EAAS,CAAA,EAAG,CAAA;AACtE,MAAA,MAAM,QAAA,GAAW,MAAM,WAAA,CAAY,WAAA,CAAY,EAAE,GAAG,KAAA,EAAO,IAAA,EAAM,EAAE,KAAA,EAAO,KAAA,EAAO,SAAA,IAAa,IAAA,IAAQ,CAAA;AACtG,MAAA,IAAI,MAAA,IAAU,UAAU,OAAO,QAAA;AAC/B,MAAA,MAAM,IAAI,MAAM,kDAAkD,CAAA;AAAA,IACpE,CAAA,GACAC,oBAAA;AAAA,IACJ,gBAAA,EAAkB,MAAA;AAAA,IAClB,gBAAA,EAAkB,0BAAA;AAAA,IAClB,MAAA,EAAQ,sBAAA;AAAA,IACR,KAAA,EAAO,KAAA;AAAA,IACP,eAAA,EAAiBC,2BAAA;AAAA,IACjB,eAAA;AAAA,IACA,oBAAA;AAAA,IACA;AAAA,GACD,CAAA;AACD,EAAA,MAAM;AAAA,IACJ,IAAA;AAAA,IACA,WAAA;AAAA,IACA,kBAAA;AAAA,IACA,aAAA;AAAA,IACA,SAAA;AAAA,IACA,UAAA;AAAA,IACA,YAAA;AAAA,IACA,WAAA;AAAA,IACA,OAAA;AAAA,IACA,KAAA;AAAA,IACA,OAAA;AAAA,IACA;AAAA,GACF,GAAI,MAAA;AAEJ,EAAAC,eAAA,CAAU,MAAM;AACd,IAAA,IAAI,WAAW,MAAA,IAAU,WAAA,IAAe,CAAC,UAAA,IAAc,CAAC,oBAAA,EAAsB;AAC5E,MAAA,KAAK,aAAA,EAAc;AAAA,IACrB;AAAA,EACF,CAAA,EAAG,CAAC,OAAA,EAAS,MAAA,EAAQ,aAAa,UAAA,EAAY,oBAAA,EAAsB,aAAa,CAAC,CAAA;AAElF,EAAA,OAAO;AAAA,IACL,IAAA;AAAA,IACA,WAAA;AAAA,IACA,kBAAA;AAAA,IACA,aAAA;AAAA,IACA,SAAA;AAAA,IACA,UAAA;AAAA,IACA,YAAA;AAAA,IACA,WAAA;AAAA,IACA,OAAA;AAAA,IACA,KAAA;AAAA,IACA,OAAA;AAAA,IACA;AAAA,GACF;AACF;;;;;;;"}
1
+ {"version":3,"file":"use-trace-query.cjs.js","sources":["../../../../src/domains/traces/hooks/use-trace-query.ts"],"sourcesContent":["import { MastraClient } from '@mastra/client-js';\nimport type { QueryTracesKeysetInput } from '@mastra/client-js';\nimport { useMastraClient } from '@mastra/react';\nimport { keepPreviousData, skipToken, useInfiniteQuery } from '@tanstack/react-query';\nimport { useEffect } from 'react';\nimport { useInView } from '@/hooks/use-in-view';\n\nexport const TRACE_QUERY_PER_PAGE = 25;\n\ntype TraceQueryResponse = Awaited<ReturnType<MastraClient['queryTraces']>>;\ntype TraceQueryCursorResponse = Extract<TraceQueryResponse, { page: { next: string | null } }>;\ntype TraceQueryTrace = TraceQueryResponse['traces'][number];\n\nexport type TraceQueryArgs = Omit<QueryTracesKeysetInput, 'page' | 'pagination'>;\n\nexport interface UseTraceQueryArgs {\n query: TraceQueryArgs | undefined;\n limit?: number;\n enabled?: boolean;\n refetchInterval?: number | false;\n refetchOnWindowFocus?: boolean;\n}\n\nexport interface UseTraceQueryReturn {\n data: TraceQueryTrace[] | undefined;\n hasNextPage: boolean;\n isFetchingNextPage: boolean;\n fetchNextPage: () => void;\n isLoading: boolean;\n isFetching: boolean;\n isRefetching: boolean;\n fetchStatus: 'idle' | 'fetching' | 'paused';\n isError: boolean;\n error: Error | null;\n refetch: () => void;\n setEndOfListElement: (node: HTMLDivElement | null) => void;\n}\n\nexport function getTraceQueryNextPageParam(lastPage: TraceQueryCursorResponse | undefined): string | undefined {\n return lastPage?.page.next ?? undefined;\n}\n\nexport function selectTraceQueryTraces(data: { pages: TraceQueryCursorResponse[] }): TraceQueryTrace[] {\n const seen = new Set<string>();\n return data.pages.flatMap(page =>\n page.traces.filter(trace => {\n if (seen.has(trace.traceId)) return false;\n seen.add(trace.traceId);\n return true;\n }),\n );\n}\n\n/** Queries traces with cursor pagination and viewport-driven loading. */\nexport function useTraceQuery({\n query,\n limit = TRACE_QUERY_PER_PAGE,\n enabled = true,\n refetchInterval,\n refetchOnWindowFocus,\n}: UseTraceQueryArgs): UseTraceQueryReturn {\n const client = useMastraClient();\n const { inView, setRef: setEndOfListElement } = useInView();\n const result = useInfiniteQuery<\n TraceQueryCursorResponse,\n Error,\n TraceQueryTrace[],\n readonly unknown[],\n string | undefined\n >({\n queryKey: ['trace-query', query, limit] as const,\n queryFn: query\n ? async ({ pageParam }) => {\n // Capability failures must reach the fallback without the SDK retrying 501 responses.\n const queryClient = new MastraClient({ ...client.options, retries: 0 });\n const response = await queryClient.queryTraces({ ...query, page: { limit, after: pageParam ?? null } });\n if ('page' in response) return response;\n throw new Error('Expected a cursor-paginated trace query response');\n }\n : skipToken,\n initialPageParam: undefined,\n getNextPageParam: getTraceQueryNextPageParam,\n select: selectTraceQueryTraces,\n retry: false,\n placeholderData: keepPreviousData,\n refetchInterval,\n refetchOnWindowFocus,\n enabled,\n });\n const {\n data,\n hasNextPage,\n isFetchingNextPage,\n fetchNextPage,\n isLoading,\n isFetching,\n isRefetching,\n fetchStatus,\n isError,\n error,\n refetch,\n isFetchNextPageError,\n } = result;\n\n useEffect(() => {\n if (enabled && inView && hasNextPage && !isFetching && !isFetchNextPageError) {\n void fetchNextPage();\n }\n }, [enabled, inView, hasNextPage, isFetching, isFetchNextPageError, fetchNextPage]);\n\n return {\n data,\n hasNextPage,\n isFetchingNextPage,\n fetchNextPage,\n isLoading,\n isFetching,\n isRefetching,\n fetchStatus,\n isError,\n error,\n refetch,\n setEndOfListElement,\n };\n}\n"],"names":["useMastraClient","useInView","useInfiniteQuery","MastraClient","skipToken","keepPreviousData","useEffect"],"mappings":";;;;;;;;;;AAOO,MAAM,oBAAA,GAAuB;AA+B7B,SAAS,2BAA2B,QAAA,EAAoE;AAC7G,EAAA,OAAO,QAAA,EAAU,KAAK,IAAA,IAAQ,MAAA;AAChC;AAEO,SAAS,uBAAuB,IAAA,EAAgE;AACrG,EAAA,MAAM,IAAA,uBAAW,GAAA,EAAY;AAC7B,EAAA,OAAO,KAAK,KAAA,CAAM,OAAA;AAAA,IAAQ,CAAA,IAAA,KACxB,IAAA,CAAK,MAAA,CAAO,MAAA,CAAO,CAAA,KAAA,KAAS;AAC1B,MAAA,IAAI,IAAA,CAAK,GAAA,CAAI,KAAA,CAAM,OAAO,GAAG,OAAO,KAAA;AACpC,MAAA,IAAA,CAAK,GAAA,CAAI,MAAM,OAAO,CAAA;AACtB,MAAA,OAAO,IAAA;AAAA,IACT,CAAC;AAAA,GACH;AACF;AAGO,SAAS,aAAA,CAAc;AAAA,EAC5B,KAAA;AAAA,EACA,KAAA,GAAQ,oBAAA;AAAA,EACR,OAAA,GAAU,IAAA;AAAA,EACV,eAAA;AAAA,EACA;AACF,CAAA,EAA2C;AACzC,EAAA,MAAM,SAASA,qBAAA,EAAgB;AAC/B,EAAA,MAAM,EAAE,MAAA,EAAQ,MAAA,EAAQ,mBAAA,KAAwBC,yBAAA,EAAU;AAC1D,EAAA,MAAM,SAASC,2BAAA,CAMb;AAAA,IACA,QAAA,EAAU,CAAC,aAAA,EAAe,KAAA,EAAO,KAAK,CAAA;AAAA,IACtC,OAAA,EAAS,KAAA,GACL,OAAO,EAAE,WAAU,KAAM;AAEvB,MAAA,MAAM,WAAA,GAAc,IAAIC,qBAAA,CAAa,EAAE,GAAG,MAAA,CAAO,OAAA,EAAS,OAAA,EAAS,CAAA,EAAG,CAAA;AACtE,MAAA,MAAM,QAAA,GAAW,MAAM,WAAA,CAAY,WAAA,CAAY,EAAE,GAAG,KAAA,EAAO,IAAA,EAAM,EAAE,KAAA,EAAO,KAAA,EAAO,SAAA,IAAa,IAAA,IAAQ,CAAA;AACtG,MAAA,IAAI,MAAA,IAAU,UAAU,OAAO,QAAA;AAC/B,MAAA,MAAM,IAAI,MAAM,kDAAkD,CAAA;AAAA,IACpE,CAAA,GACAC,oBAAA;AAAA,IACJ,gBAAA,EAAkB,MAAA;AAAA,IAClB,gBAAA,EAAkB,0BAAA;AAAA,IAClB,MAAA,EAAQ,sBAAA;AAAA,IACR,KAAA,EAAO,KAAA;AAAA,IACP,eAAA,EAAiBC,2BAAA;AAAA,IACjB,eAAA;AAAA,IACA,oBAAA;AAAA,IACA;AAAA,GACD,CAAA;AACD,EAAA,MAAM;AAAA,IACJ,IAAA;AAAA,IACA,WAAA;AAAA,IACA,kBAAA;AAAA,IACA,aAAA;AAAA,IACA,SAAA;AAAA,IACA,UAAA;AAAA,IACA,YAAA;AAAA,IACA,WAAA;AAAA,IACA,OAAA;AAAA,IACA,KAAA;AAAA,IACA,OAAA;AAAA,IACA;AAAA,GACF,GAAI,MAAA;AAEJ,EAAAC,eAAA,CAAU,MAAM;AACd,IAAA,IAAI,WAAW,MAAA,IAAU,WAAA,IAAe,CAAC,UAAA,IAAc,CAAC,oBAAA,EAAsB;AAC5E,MAAA,KAAK,aAAA,EAAc;AAAA,IACrB;AAAA,EACF,CAAA,EAAG,CAAC,OAAA,EAAS,MAAA,EAAQ,aAAa,UAAA,EAAY,oBAAA,EAAsB,aAAa,CAAC,CAAA;AAElF,EAAA,OAAO;AAAA,IACL,IAAA;AAAA,IACA,WAAA;AAAA,IACA,kBAAA;AAAA,IACA,aAAA;AAAA,IACA,SAAA;AAAA,IACA,UAAA;AAAA,IACA,YAAA;AAAA,IACA,WAAA;AAAA,IACA,OAAA;AAAA,IACA,KAAA;AAAA,IACA,OAAA;AAAA,IACA;AAAA,GACF;AACF;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-trace-query.es.js","sources":["../../../../src/domains/traces/hooks/use-trace-query.ts"],"sourcesContent":["import { MastraClient } from '@mastra/client-js';\nimport type { QueryTracesInput } from '@mastra/client-js';\nimport { useMastraClient } from '@mastra/react';\nimport { keepPreviousData, skipToken, useInfiniteQuery } from '@tanstack/react-query';\nimport { useEffect } from 'react';\nimport { useInView } from '@/hooks/use-in-view';\n\nexport const TRACE_QUERY_PER_PAGE = 25;\n\ntype TraceQueryResponse = Awaited<ReturnType<MastraClient['queryTraces']>>;\ntype TraceQueryCursorResponse = Extract<TraceQueryResponse, { page: { next: string | null } }>;\ntype TraceQueryTrace = TraceQueryResponse['traces'][number];\n\nexport type TraceQueryArgs = Omit<QueryTracesInput, 'page' | 'pagination'>;\n\nexport interface UseTraceQueryArgs {\n query: TraceQueryArgs | undefined;\n limit?: number;\n enabled?: boolean;\n refetchInterval?: number | false;\n refetchOnWindowFocus?: boolean;\n}\n\nexport interface UseTraceQueryReturn {\n data: TraceQueryTrace[] | undefined;\n hasNextPage: boolean;\n isFetchingNextPage: boolean;\n fetchNextPage: () => void;\n isLoading: boolean;\n isFetching: boolean;\n isRefetching: boolean;\n fetchStatus: 'idle' | 'fetching' | 'paused';\n isError: boolean;\n error: Error | null;\n refetch: () => void;\n setEndOfListElement: (node: HTMLDivElement | null) => void;\n}\n\nexport function getTraceQueryNextPageParam(lastPage: TraceQueryCursorResponse | undefined): string | undefined {\n return lastPage?.page.next ?? undefined;\n}\n\nexport function selectTraceQueryTraces(data: { pages: TraceQueryCursorResponse[] }): TraceQueryTrace[] {\n const seen = new Set<string>();\n return data.pages.flatMap(page =>\n page.traces.filter(trace => {\n if (seen.has(trace.traceId)) return false;\n seen.add(trace.traceId);\n return true;\n }),\n );\n}\n\n/** Queries traces with cursor pagination and viewport-driven loading. */\nexport function useTraceQuery({\n query,\n limit = TRACE_QUERY_PER_PAGE,\n enabled = true,\n refetchInterval,\n refetchOnWindowFocus,\n}: UseTraceQueryArgs): UseTraceQueryReturn {\n const client = useMastraClient();\n const { inView, setRef: setEndOfListElement } = useInView();\n const result = useInfiniteQuery<\n TraceQueryCursorResponse,\n Error,\n TraceQueryTrace[],\n readonly unknown[],\n string | undefined\n >({\n queryKey: ['trace-query', query, limit] as const,\n queryFn: query\n ? async ({ pageParam }) => {\n // Capability failures must reach the fallback without the SDK retrying 501 responses.\n const queryClient = new MastraClient({ ...client.options, retries: 0 });\n const response = await queryClient.queryTraces({ ...query, page: { limit, after: pageParam ?? null } });\n if ('page' in response) return response;\n throw new Error('Expected a cursor-paginated trace query response');\n }\n : skipToken,\n initialPageParam: undefined,\n getNextPageParam: getTraceQueryNextPageParam,\n select: selectTraceQueryTraces,\n retry: false,\n placeholderData: keepPreviousData,\n refetchInterval,\n refetchOnWindowFocus,\n enabled,\n });\n const {\n data,\n hasNextPage,\n isFetchingNextPage,\n fetchNextPage,\n isLoading,\n isFetching,\n isRefetching,\n fetchStatus,\n isError,\n error,\n refetch,\n isFetchNextPageError,\n } = result;\n\n useEffect(() => {\n if (enabled && inView && hasNextPage && !isFetching && !isFetchNextPageError) {\n void fetchNextPage();\n }\n }, [enabled, inView, hasNextPage, isFetching, isFetchNextPageError, fetchNextPage]);\n\n return {\n data,\n hasNextPage,\n isFetchingNextPage,\n fetchNextPage,\n isLoading,\n isFetching,\n isRefetching,\n fetchStatus,\n isError,\n error,\n refetch,\n setEndOfListElement,\n };\n}\n"],"names":[],"mappings":";;;;;;AAOO,MAAM,oBAAA,GAAuB;AA+B7B,SAAS,2BAA2B,QAAA,EAAoE;AAC7G,EAAA,OAAO,QAAA,EAAU,KAAK,IAAA,IAAQ,MAAA;AAChC;AAEO,SAAS,uBAAuB,IAAA,EAAgE;AACrG,EAAA,MAAM,IAAA,uBAAW,GAAA,EAAY;AAC7B,EAAA,OAAO,KAAK,KAAA,CAAM,OAAA;AAAA,IAAQ,CAAA,IAAA,KACxB,IAAA,CAAK,MAAA,CAAO,MAAA,CAAO,CAAA,KAAA,KAAS;AAC1B,MAAA,IAAI,IAAA,CAAK,GAAA,CAAI,KAAA,CAAM,OAAO,GAAG,OAAO,KAAA;AACpC,MAAA,IAAA,CAAK,GAAA,CAAI,MAAM,OAAO,CAAA;AACtB,MAAA,OAAO,IAAA;AAAA,IACT,CAAC;AAAA,GACH;AACF;AAGO,SAAS,aAAA,CAAc;AAAA,EAC5B,KAAA;AAAA,EACA,KAAA,GAAQ,oBAAA;AAAA,EACR,OAAA,GAAU,IAAA;AAAA,EACV,eAAA;AAAA,EACA;AACF,CAAA,EAA2C;AACzC,EAAA,MAAM,SAAS,eAAA,EAAgB;AAC/B,EAAA,MAAM,EAAE,MAAA,EAAQ,MAAA,EAAQ,mBAAA,KAAwB,SAAA,EAAU;AAC1D,EAAA,MAAM,SAAS,gBAAA,CAMb;AAAA,IACA,QAAA,EAAU,CAAC,aAAA,EAAe,KAAA,EAAO,KAAK,CAAA;AAAA,IACtC,OAAA,EAAS,KAAA,GACL,OAAO,EAAE,WAAU,KAAM;AAEvB,MAAA,MAAM,WAAA,GAAc,IAAI,YAAA,CAAa,EAAE,GAAG,MAAA,CAAO,OAAA,EAAS,OAAA,EAAS,CAAA,EAAG,CAAA;AACtE,MAAA,MAAM,QAAA,GAAW,MAAM,WAAA,CAAY,WAAA,CAAY,EAAE,GAAG,KAAA,EAAO,IAAA,EAAM,EAAE,KAAA,EAAO,KAAA,EAAO,SAAA,IAAa,IAAA,IAAQ,CAAA;AACtG,MAAA,IAAI,MAAA,IAAU,UAAU,OAAO,QAAA;AAC/B,MAAA,MAAM,IAAI,MAAM,kDAAkD,CAAA;AAAA,IACpE,CAAA,GACA,SAAA;AAAA,IACJ,gBAAA,EAAkB,MAAA;AAAA,IAClB,gBAAA,EAAkB,0BAAA;AAAA,IAClB,MAAA,EAAQ,sBAAA;AAAA,IACR,KAAA,EAAO,KAAA;AAAA,IACP,eAAA,EAAiB,gBAAA;AAAA,IACjB,eAAA;AAAA,IACA,oBAAA;AAAA,IACA;AAAA,GACD,CAAA;AACD,EAAA,MAAM;AAAA,IACJ,IAAA;AAAA,IACA,WAAA;AAAA,IACA,kBAAA;AAAA,IACA,aAAA;AAAA,IACA,SAAA;AAAA,IACA,UAAA;AAAA,IACA,YAAA;AAAA,IACA,WAAA;AAAA,IACA,OAAA;AAAA,IACA,KAAA;AAAA,IACA,OAAA;AAAA,IACA;AAAA,GACF,GAAI,MAAA;AAEJ,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,WAAW,MAAA,IAAU,WAAA,IAAe,CAAC,UAAA,IAAc,CAAC,oBAAA,EAAsB;AAC5E,MAAA,KAAK,aAAA,EAAc;AAAA,IACrB;AAAA,EACF,CAAA,EAAG,CAAC,OAAA,EAAS,MAAA,EAAQ,aAAa,UAAA,EAAY,oBAAA,EAAsB,aAAa,CAAC,CAAA;AAElF,EAAA,OAAO;AAAA,IACL,IAAA;AAAA,IACA,WAAA;AAAA,IACA,kBAAA;AAAA,IACA,aAAA;AAAA,IACA,SAAA;AAAA,IACA,UAAA;AAAA,IACA,YAAA;AAAA,IACA,WAAA;AAAA,IACA,OAAA;AAAA,IACA,KAAA;AAAA,IACA,OAAA;AAAA,IACA;AAAA,GACF;AACF;;;;"}
1
+ {"version":3,"file":"use-trace-query.es.js","sources":["../../../../src/domains/traces/hooks/use-trace-query.ts"],"sourcesContent":["import { MastraClient } from '@mastra/client-js';\nimport type { QueryTracesKeysetInput } from '@mastra/client-js';\nimport { useMastraClient } from '@mastra/react';\nimport { keepPreviousData, skipToken, useInfiniteQuery } from '@tanstack/react-query';\nimport { useEffect } from 'react';\nimport { useInView } from '@/hooks/use-in-view';\n\nexport const TRACE_QUERY_PER_PAGE = 25;\n\ntype TraceQueryResponse = Awaited<ReturnType<MastraClient['queryTraces']>>;\ntype TraceQueryCursorResponse = Extract<TraceQueryResponse, { page: { next: string | null } }>;\ntype TraceQueryTrace = TraceQueryResponse['traces'][number];\n\nexport type TraceQueryArgs = Omit<QueryTracesKeysetInput, 'page' | 'pagination'>;\n\nexport interface UseTraceQueryArgs {\n query: TraceQueryArgs | undefined;\n limit?: number;\n enabled?: boolean;\n refetchInterval?: number | false;\n refetchOnWindowFocus?: boolean;\n}\n\nexport interface UseTraceQueryReturn {\n data: TraceQueryTrace[] | undefined;\n hasNextPage: boolean;\n isFetchingNextPage: boolean;\n fetchNextPage: () => void;\n isLoading: boolean;\n isFetching: boolean;\n isRefetching: boolean;\n fetchStatus: 'idle' | 'fetching' | 'paused';\n isError: boolean;\n error: Error | null;\n refetch: () => void;\n setEndOfListElement: (node: HTMLDivElement | null) => void;\n}\n\nexport function getTraceQueryNextPageParam(lastPage: TraceQueryCursorResponse | undefined): string | undefined {\n return lastPage?.page.next ?? undefined;\n}\n\nexport function selectTraceQueryTraces(data: { pages: TraceQueryCursorResponse[] }): TraceQueryTrace[] {\n const seen = new Set<string>();\n return data.pages.flatMap(page =>\n page.traces.filter(trace => {\n if (seen.has(trace.traceId)) return false;\n seen.add(trace.traceId);\n return true;\n }),\n );\n}\n\n/** Queries traces with cursor pagination and viewport-driven loading. */\nexport function useTraceQuery({\n query,\n limit = TRACE_QUERY_PER_PAGE,\n enabled = true,\n refetchInterval,\n refetchOnWindowFocus,\n}: UseTraceQueryArgs): UseTraceQueryReturn {\n const client = useMastraClient();\n const { inView, setRef: setEndOfListElement } = useInView();\n const result = useInfiniteQuery<\n TraceQueryCursorResponse,\n Error,\n TraceQueryTrace[],\n readonly unknown[],\n string | undefined\n >({\n queryKey: ['trace-query', query, limit] as const,\n queryFn: query\n ? async ({ pageParam }) => {\n // Capability failures must reach the fallback without the SDK retrying 501 responses.\n const queryClient = new MastraClient({ ...client.options, retries: 0 });\n const response = await queryClient.queryTraces({ ...query, page: { limit, after: pageParam ?? null } });\n if ('page' in response) return response;\n throw new Error('Expected a cursor-paginated trace query response');\n }\n : skipToken,\n initialPageParam: undefined,\n getNextPageParam: getTraceQueryNextPageParam,\n select: selectTraceQueryTraces,\n retry: false,\n placeholderData: keepPreviousData,\n refetchInterval,\n refetchOnWindowFocus,\n enabled,\n });\n const {\n data,\n hasNextPage,\n isFetchingNextPage,\n fetchNextPage,\n isLoading,\n isFetching,\n isRefetching,\n fetchStatus,\n isError,\n error,\n refetch,\n isFetchNextPageError,\n } = result;\n\n useEffect(() => {\n if (enabled && inView && hasNextPage && !isFetching && !isFetchNextPageError) {\n void fetchNextPage();\n }\n }, [enabled, inView, hasNextPage, isFetching, isFetchNextPageError, fetchNextPage]);\n\n return {\n data,\n hasNextPage,\n isFetchingNextPage,\n fetchNextPage,\n isLoading,\n isFetching,\n isRefetching,\n fetchStatus,\n isError,\n error,\n refetch,\n setEndOfListElement,\n };\n}\n"],"names":[],"mappings":";;;;;;AAOO,MAAM,oBAAA,GAAuB;AA+B7B,SAAS,2BAA2B,QAAA,EAAoE;AAC7G,EAAA,OAAO,QAAA,EAAU,KAAK,IAAA,IAAQ,MAAA;AAChC;AAEO,SAAS,uBAAuB,IAAA,EAAgE;AACrG,EAAA,MAAM,IAAA,uBAAW,GAAA,EAAY;AAC7B,EAAA,OAAO,KAAK,KAAA,CAAM,OAAA;AAAA,IAAQ,CAAA,IAAA,KACxB,IAAA,CAAK,MAAA,CAAO,MAAA,CAAO,CAAA,KAAA,KAAS;AAC1B,MAAA,IAAI,IAAA,CAAK,GAAA,CAAI,KAAA,CAAM,OAAO,GAAG,OAAO,KAAA;AACpC,MAAA,IAAA,CAAK,GAAA,CAAI,MAAM,OAAO,CAAA;AACtB,MAAA,OAAO,IAAA;AAAA,IACT,CAAC;AAAA,GACH;AACF;AAGO,SAAS,aAAA,CAAc;AAAA,EAC5B,KAAA;AAAA,EACA,KAAA,GAAQ,oBAAA;AAAA,EACR,OAAA,GAAU,IAAA;AAAA,EACV,eAAA;AAAA,EACA;AACF,CAAA,EAA2C;AACzC,EAAA,MAAM,SAAS,eAAA,EAAgB;AAC/B,EAAA,MAAM,EAAE,MAAA,EAAQ,MAAA,EAAQ,mBAAA,KAAwB,SAAA,EAAU;AAC1D,EAAA,MAAM,SAAS,gBAAA,CAMb;AAAA,IACA,QAAA,EAAU,CAAC,aAAA,EAAe,KAAA,EAAO,KAAK,CAAA;AAAA,IACtC,OAAA,EAAS,KAAA,GACL,OAAO,EAAE,WAAU,KAAM;AAEvB,MAAA,MAAM,WAAA,GAAc,IAAI,YAAA,CAAa,EAAE,GAAG,MAAA,CAAO,OAAA,EAAS,OAAA,EAAS,CAAA,EAAG,CAAA;AACtE,MAAA,MAAM,QAAA,GAAW,MAAM,WAAA,CAAY,WAAA,CAAY,EAAE,GAAG,KAAA,EAAO,IAAA,EAAM,EAAE,KAAA,EAAO,KAAA,EAAO,SAAA,IAAa,IAAA,IAAQ,CAAA;AACtG,MAAA,IAAI,MAAA,IAAU,UAAU,OAAO,QAAA;AAC/B,MAAA,MAAM,IAAI,MAAM,kDAAkD,CAAA;AAAA,IACpE,CAAA,GACA,SAAA;AAAA,IACJ,gBAAA,EAAkB,MAAA;AAAA,IAClB,gBAAA,EAAkB,0BAAA;AAAA,IAClB,MAAA,EAAQ,sBAAA;AAAA,IACR,KAAA,EAAO,KAAA;AAAA,IACP,eAAA,EAAiB,gBAAA;AAAA,IACjB,eAAA;AAAA,IACA,oBAAA;AAAA,IACA;AAAA,GACD,CAAA;AACD,EAAA,MAAM;AAAA,IACJ,IAAA;AAAA,IACA,WAAA;AAAA,IACA,kBAAA;AAAA,IACA,aAAA;AAAA,IACA,SAAA;AAAA,IACA,UAAA;AAAA,IACA,YAAA;AAAA,IACA,WAAA;AAAA,IACA,OAAA;AAAA,IACA,KAAA;AAAA,IACA,OAAA;AAAA,IACA;AAAA,GACF,GAAI,MAAA;AAEJ,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,WAAW,MAAA,IAAU,WAAA,IAAe,CAAC,UAAA,IAAc,CAAC,oBAAA,EAAsB;AAC5E,MAAA,KAAK,aAAA,EAAc;AAAA,IACrB;AAAA,EACF,CAAA,EAAG,CAAC,OAAA,EAAS,MAAA,EAAQ,aAAa,UAAA,EAAY,oBAAA,EAAsB,aAAa,CAAC,CAAA;AAElF,EAAA,OAAO;AAAA,IACL,IAAA;AAAA,IACA,WAAA;AAAA,IACA,kBAAA;AAAA,IACA,aAAA;AAAA,IACA,SAAA;AAAA,IACA,UAAA;AAAA,IACA,YAAA;AAAA,IACA,WAAA;AAAA,IACA,OAAA;AAAA,IACA,KAAA;AAAA,IACA,OAAA;AAAA,IACA;AAAA,GACF;AACF;;;;"}
@@ -329,11 +329,7 @@ function useTraceUrlState(searchParams, setSearchParams, options) {
329
329
  (prev) => {
330
330
  const next = new URLSearchParams(prev);
331
331
  next.delete(domains_traces_traceFilters.TRACE_LIST_MODE_PARAM);
332
- next.delete(domains_traces_traceFilters.TRACE_ROOT_ENTITY_TYPE_PARAM);
333
- next.delete(domains_traces_traceFilters.TRACE_STATUS_PARAM);
334
- for (const fieldId of domains_traces_traceFilters.TRACE_PROPERTY_FILTER_FIELD_IDS) {
335
- next.delete(domains_traces_traceFilters.TRACE_PROPERTY_FILTER_PARAM_BY_FIELD[fieldId]);
336
- }
332
+ domains_traces_traceFilters.applyTracePropertyFilterTokens(next, []);
337
333
  clearSelectionParams(next);
338
334
  return next;
339
335
  },
@@ -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 { 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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"}
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_LIST_MODE_PARAM,\n TRACE_LIST_MODE_VALUES,\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, TraceFilterToken, TraceListMode, TraceStatusFilter } from '../trace-filters';\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: TraceFilterToken[];\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: TraceFilterToken[]) => 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: TraceFilterToken[]) => 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: TraceFilterToken[]) => {\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 // Wipes rootEntityType/status, every filter* param, their `.op` siblings and metadata params.\n applyTracePropertyFilterTokens(next, []);\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"],"mappings":"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"}