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

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 (1617) hide show
  1. package/README.md +20 -0
  2. package/dist/Badge-5RAaa8U3.js +123 -0
  3. package/dist/Badge-5RAaa8U3.js.map +1 -0
  4. package/dist/Badge-DUXOjcfL.cjs +125 -0
  5. package/dist/Badge-DUXOjcfL.cjs.map +1 -0
  6. package/dist/Button-B1TWWXCy.cjs +137 -0
  7. package/dist/Button-B1TWWXCy.cjs.map +1 -0
  8. package/dist/Button-XSiL3zvL.js +133 -0
  9. package/dist/Button-XSiL3zvL.js.map +1 -0
  10. package/dist/Card-BnHDiblE.js +96 -0
  11. package/dist/Card-BnHDiblE.js.map +1 -0
  12. package/dist/Card-Cwtkduiw.cjs +123 -0
  13. package/dist/Card-Cwtkduiw.cjs.map +1 -0
  14. package/dist/EmptyState-BpwEnZ55.js +31 -0
  15. package/dist/EmptyState-BpwEnZ55.js.map +1 -0
  16. package/dist/EmptyState-CbHg7j-K.cjs +33 -0
  17. package/dist/EmptyState-CbHg7j-K.cjs.map +1 -0
  18. package/dist/Notice-BkL7EPmo.js +89 -0
  19. package/dist/Notice-BkL7EPmo.js.map +1 -0
  20. package/dist/Notice-CoaE5a2D.cjs +91 -0
  21. package/dist/Notice-CoaE5a2D.cjs.map +1 -0
  22. package/dist/PermissionDenied-CJaLT_6Y.js +22 -0
  23. package/dist/PermissionDenied-CJaLT_6Y.js.map +1 -0
  24. package/dist/PermissionDenied-NzPheIbg.cjs +24 -0
  25. package/dist/PermissionDenied-NzPheIbg.cjs.map +1 -0
  26. package/dist/PullRequestIcon.css +7 -0
  27. package/dist/SessionExpired-C2NfmuTN.cjs +47 -0
  28. package/dist/SessionExpired-C2NfmuTN.cjs.map +1 -0
  29. package/dist/SessionExpired-C_J0XX8S.js +45 -0
  30. package/dist/SessionExpired-C_J0XX8S.js.map +1 -0
  31. package/dist/Txt-23XtxAlc.js +28 -0
  32. package/dist/Txt-23XtxAlc.js.map +1 -0
  33. package/dist/Txt-BZXvaPLR.cjs +30 -0
  34. package/dist/Txt-BZXvaPLR.cjs.map +1 -0
  35. package/dist/activity-DP2I8sw_.js +49 -0
  36. package/dist/activity-DP2I8sw_.js.map +1 -0
  37. package/dist/activity-qA_Yy7v6.cjs +52 -0
  38. package/dist/activity-qA_Yy7v6.cjs.map +1 -0
  39. package/dist/activity.css +365 -0
  40. package/dist/arrival-CLDx8jeY.js +19 -0
  41. package/dist/arrival-CLDx8jeY.js.map +1 -0
  42. package/dist/arrival-CbbPGaqT.cjs +22 -0
  43. package/dist/arrival-CbbPGaqT.cjs.map +1 -0
  44. package/dist/ask-user-Bv1kGn_m.cjs +146 -0
  45. package/dist/ask-user-Bv1kGn_m.cjs.map +1 -0
  46. package/dist/ask-user-PM_6vU2N.js +137 -0
  47. package/dist/ask-user-PM_6vU2N.js.map +1 -0
  48. package/dist/buttons-group-ACr7Jau0.js +162 -0
  49. package/dist/buttons-group-ACr7Jau0.js.map +1 -0
  50. package/dist/buttons-group-CdQdd_cj.cjs +186 -0
  51. package/dist/buttons-group-CdQdd_cj.cjs.map +1 -0
  52. package/dist/chat-notification-Ct-Pi0rp.js +107 -0
  53. package/dist/chat-notification-Ct-Pi0rp.js.map +1 -0
  54. package/dist/chat-notification-EPdPuR9k.cjs +111 -0
  55. package/dist/chat-notification-EPdPuR9k.cjs.map +1 -0
  56. package/dist/chat-signal-BPlIIAtB.cjs +42 -0
  57. package/dist/chat-signal-BPlIIAtB.cjs.map +1 -0
  58. package/dist/chat-signal-evW1798B.js +40 -0
  59. package/dist/chat-signal-evW1798B.js.map +1 -0
  60. package/dist/checkbox-BDsWLL97.cjs +109 -0
  61. package/dist/checkbox-BDsWLL97.cjs.map +1 -0
  62. package/dist/checkbox-D0cJaGBz.js +88 -0
  63. package/dist/checkbox-D0cJaGBz.js.map +1 -0
  64. package/dist/cn-DPfV6E6L.cjs +3294 -0
  65. package/dist/cn-DPfV6E6L.cjs.map +1 -0
  66. package/dist/cn-Dxjsbr9n.js +3291 -0
  67. package/dist/cn-Dxjsbr9n.js.map +1 -0
  68. package/dist/code-block-B7ySYtNZ.js +86 -0
  69. package/dist/code-block-B7ySYtNZ.js.map +1 -0
  70. package/dist/code-block-C4soB6uN.cjs +88 -0
  71. package/dist/code-block-C4soB6uN.cjs.map +1 -0
  72. package/dist/code-editor-JI0lkx_d.cjs +486 -0
  73. package/dist/code-editor-JI0lkx_d.cjs.map +1 -0
  74. package/dist/code-editor-pVut50_I.js +478 -0
  75. package/dist/code-editor-pVut50_I.js.map +1 -0
  76. package/dist/collapsible-T4jTNOOE.cjs +61 -0
  77. package/dist/collapsible-T4jTNOOE.cjs.map +1 -0
  78. package/dist/collapsible-cOfcD1BM.js +57 -0
  79. package/dist/collapsible-cOfcD1BM.js.map +1 -0
  80. package/dist/combobox-0lN2FQ8-.js +171 -0
  81. package/dist/combobox-0lN2FQ8-.js.map +1 -0
  82. package/dist/combobox-D8Q-oa8_.cjs +192 -0
  83. package/dist/combobox-D8Q-oa8_.cjs.map +1 -0
  84. package/dist/combobox-styles-BjTWZmnO.cjs +93 -0
  85. package/dist/combobox-styles-BjTWZmnO.cjs.map +1 -0
  86. package/dist/combobox-styles-DOgXFKNk.js +89 -0
  87. package/dist/combobox-styles-DOgXFKNk.js.map +1 -0
  88. package/dist/command-BElAH1Uo.cjs +197 -0
  89. package/dist/command-BElAH1Uo.cjs.map +1 -0
  90. package/dist/command-Dnep1cdn.js +168 -0
  91. package/dist/command-Dnep1cdn.js.map +1 -0
  92. package/dist/components/Activity.cjs.js +11 -0
  93. package/dist/components/Activity.cjs.js.map +1 -0
  94. package/dist/components/Activity.d.ts +2 -0
  95. package/dist/components/Activity.es.js +2 -0
  96. package/dist/components/Activity.es.js.map +1 -0
  97. package/dist/components/AlertDialog.cjs.js +2 -2
  98. package/dist/components/AlertDialog.es.js +2 -2
  99. package/dist/components/Arrival.cjs.js +1 -1
  100. package/dist/components/Arrival.es.js +1 -1
  101. package/dist/components/Avatar.cjs.js +2 -2
  102. package/dist/components/Avatar.es.js +2 -2
  103. package/dist/components/Badge.cjs.js +1 -1
  104. package/dist/components/Badge.es.js +1 -1
  105. package/dist/components/BrandLoader.cjs.js +1 -1
  106. package/dist/components/BrandLoader.es.js +1 -1
  107. package/dist/components/Breadcrumb.cjs.js +2 -2
  108. package/dist/components/Breadcrumb.es.js +2 -2
  109. package/dist/components/Button.cjs.js +2 -2
  110. package/dist/components/Button.es.js +3 -3
  111. package/dist/components/ButtonsGroup.cjs.js +1 -1
  112. package/dist/components/ButtonsGroup.es.js +1 -1
  113. package/dist/components/Card.cjs.js +1 -1
  114. package/dist/components/Card.es.js +1 -1
  115. package/dist/components/ChatShell.cjs.js +2 -2
  116. package/dist/components/ChatShell.es.js +2 -2
  117. package/dist/components/Checkbox.cjs.js +1 -1
  118. package/dist/components/Checkbox.es.js +1 -1
  119. package/dist/components/ClampedText.cjs.js +3 -3
  120. package/dist/components/ClampedText.es.js +3 -3
  121. package/dist/components/CodeBlock.cjs.js +1 -1
  122. package/dist/components/CodeBlock.es.js +1 -1
  123. package/dist/components/CodeEditor.cjs.js +1 -1
  124. package/dist/components/CodeEditor.es.js +1 -1
  125. package/dist/components/Collapsible.cjs.js +1 -1
  126. package/dist/components/Collapsible.es.js +1 -1
  127. package/dist/components/Columns.cjs.js +2 -2
  128. package/dist/components/Columns.es.js +2 -2
  129. package/dist/components/Combobox.cjs.js +3 -2
  130. package/dist/components/Combobox.cjs.js.map +1 -1
  131. package/dist/components/Combobox.es.js +2 -1
  132. package/dist/components/Combobox.es.js.map +1 -1
  133. package/dist/components/Command.cjs.js +1 -1
  134. package/dist/components/Command.es.js +1 -1
  135. package/dist/components/CommandPalette.cjs.js +4 -4
  136. package/dist/components/CommandPalette.es.js +4 -4
  137. package/dist/components/Comment.cjs.js +6 -6
  138. package/dist/components/Comment.es.js +6 -6
  139. package/dist/components/Composer.cjs.js +12 -141
  140. package/dist/components/Composer.cjs.js.map +1 -1
  141. package/dist/components/Composer.es.js +5 -135
  142. package/dist/components/Composer.es.js.map +1 -1
  143. package/dist/components/ContextMenu.cjs.js +1 -1
  144. package/dist/components/ContextMenu.es.js +1 -1
  145. package/dist/components/CopyButton.cjs.js +1 -1
  146. package/dist/components/CopyButton.es.js +1 -1
  147. package/dist/components/DashboardCard.cjs.js +1 -1
  148. package/dist/components/DashboardCard.es.js +1 -1
  149. package/dist/components/DataCodeSection.cjs.js +1 -1
  150. package/dist/components/DataCodeSection.es.js +1 -1
  151. package/dist/components/DataDetailsPanel.cjs.js +21 -17
  152. package/dist/components/DataDetailsPanel.cjs.js.map +1 -1
  153. package/dist/components/DataDetailsPanel.es.js +21 -17
  154. package/dist/components/DataDetailsPanel.es.js.map +1 -1
  155. package/dist/components/DataFilter.cjs.js +3 -3
  156. package/dist/components/DataFilter.es.js +3 -3
  157. package/dist/components/DataKeysAndValues.cjs.js +1 -1
  158. package/dist/components/DataKeysAndValues.es.js +1 -1
  159. package/dist/components/DataList.cjs.js +4 -4
  160. package/dist/components/DataList.es.js +4 -4
  161. package/dist/components/DataPanel.cjs.js +1 -1
  162. package/dist/components/DataPanel.es.js +1 -1
  163. package/dist/components/DateRangeTimeline.cjs.js +5 -5
  164. package/dist/components/DateRangeTimeline.es.js +5 -5
  165. package/dist/components/DateTimePicker.cjs.js +6 -6
  166. package/dist/components/DateTimePicker.es.js +6 -6
  167. package/dist/components/DateTimeRangePicker.cjs.js +1 -1
  168. package/dist/components/DateTimeRangePicker.es.js +1 -1
  169. package/dist/components/Dialog.cjs.js +3 -3
  170. package/dist/components/Dialog.es.js +4 -4
  171. package/dist/components/Drawer.cjs.js +1 -1
  172. package/dist/components/Drawer.es.js +1 -1
  173. package/dist/components/DropdownMenu.cjs.js +1 -1
  174. package/dist/components/DropdownMenu.es.js +1 -1
  175. package/dist/components/EmptyState.cjs.js +1 -1
  176. package/dist/components/EmptyState.es.js +1 -1
  177. package/dist/components/Entity.cjs.js +2 -2
  178. package/dist/components/Entity.es.js +2 -2
  179. package/dist/components/EntityHeader.cjs.js +2 -2
  180. package/dist/components/EntityHeader.es.js +2 -2
  181. package/dist/components/Entry.cjs.js +1 -1
  182. package/dist/components/Entry.es.js +1 -1
  183. package/dist/components/EnvironmentVariablesEditor.cjs.js +7 -7
  184. package/dist/components/EnvironmentVariablesEditor.es.js +7 -7
  185. package/dist/components/ErrorBoundary.cjs.js +2 -2
  186. package/dist/components/ErrorBoundary.es.js +2 -2
  187. package/dist/components/FilterBar.cjs.js +415 -0
  188. package/dist/components/FilterBar.cjs.js.map +1 -0
  189. package/dist/components/FilterBar.d.ts +2 -0
  190. package/dist/components/FilterBar.es.js +404 -0
  191. package/dist/components/FilterBar.es.js.map +1 -0
  192. package/dist/components/FormFieldBlocks.cjs.js +5 -5
  193. package/dist/components/FormFieldBlocks.es.js +5 -5
  194. package/dist/components/Header.cjs.js +2 -2
  195. package/dist/components/Header.es.js +2 -2
  196. package/dist/components/HorizontalBars.cjs.js +1 -1
  197. package/dist/components/HorizontalBars.es.js +1 -1
  198. package/dist/components/HoverCard.cjs.js +1 -1
  199. package/dist/components/HoverCard.es.js +1 -1
  200. package/dist/components/Input.cjs.js +1 -1
  201. package/dist/components/Input.es.js +1 -1
  202. package/dist/components/InputGroup.cjs.js +1 -1
  203. package/dist/components/InputGroup.es.js +1 -1
  204. package/dist/components/IntegrationDialog.cjs.js +4 -4
  205. package/dist/components/IntegrationDialog.es.js +4 -4
  206. package/dist/components/ItemList.cjs.js +3 -3
  207. package/dist/components/ItemList.es.js +3 -3
  208. package/dist/components/JSONSchemaForm.cjs.js +5 -5
  209. package/dist/components/JSONSchemaForm.es.js +5 -5
  210. package/dist/components/Kbd.cjs.js +1 -1
  211. package/dist/components/Kbd.es.js +1 -1
  212. package/dist/components/KeyValueList.cjs.js +2 -2
  213. package/dist/components/KeyValueList.es.js +2 -2
  214. package/dist/components/Label.cjs.js +1 -1
  215. package/dist/components/Label.es.js +1 -1
  216. package/dist/components/ListSearch.cjs.js +1 -1
  217. package/dist/components/ListSearch.es.js +1 -1
  218. package/dist/components/Logo.cjs.js +1 -1
  219. package/dist/components/Logo.es.js +1 -1
  220. package/dist/components/LogsDataList.cjs.js +4 -2
  221. package/dist/components/LogsDataList.cjs.js.map +1 -1
  222. package/dist/components/LogsDataList.es.js +4 -2
  223. package/dist/components/LogsDataList.es.js.map +1 -1
  224. package/dist/components/MainContent.cjs.js +1 -1
  225. package/dist/components/MainContent.es.js +1 -1
  226. package/dist/components/MainHeader.cjs.js +1 -1
  227. package/dist/components/MainHeader.es.js +1 -1
  228. package/dist/components/MainSidebar.cjs.js +11 -836
  229. package/dist/components/MainSidebar.cjs.js.map +1 -1
  230. package/dist/components/MainSidebar.es.js +1 -830
  231. package/dist/components/MainSidebar.es.js.map +1 -1
  232. package/dist/components/MarkdownRenderer.cjs.js +1 -1
  233. package/dist/components/MarkdownRenderer.es.js +1 -1
  234. package/dist/components/Message.cjs.js +26 -0
  235. package/dist/components/Message.cjs.js.map +1 -0
  236. package/dist/components/Message.d.ts +2 -0
  237. package/dist/components/Message.es.js +19 -0
  238. package/dist/components/Message.es.js.map +1 -0
  239. package/dist/components/MessageScroller.cjs.js +1 -1
  240. package/dist/components/MessageScroller.es.js +1 -1
  241. package/dist/components/MetricsCard.cjs.js +1 -1
  242. package/dist/components/MetricsCard.es.js +1 -1
  243. package/dist/components/MetricsFlexGrid.cjs.js +1 -1
  244. package/dist/components/MetricsFlexGrid.es.js +1 -1
  245. package/dist/components/MetricsKpiCard.cjs.js +1 -1
  246. package/dist/components/MetricsKpiCard.es.js +1 -1
  247. package/dist/components/Notice.cjs.js +1 -1
  248. package/dist/components/Notice.es.js +1 -1
  249. package/dist/components/PageHeader.cjs.js +1 -1
  250. package/dist/components/PageHeader.es.js +1 -1
  251. package/dist/components/PageLayout.cjs.js +1 -1
  252. package/dist/components/PageLayout.es.js +1 -1
  253. package/dist/components/PendingIndicator.cjs.js +1 -1
  254. package/dist/components/PendingIndicator.es.js +1 -1
  255. package/dist/components/PermissionDenied.cjs.js +1 -1
  256. package/dist/components/PermissionDenied.es.js +1 -1
  257. package/dist/components/Popover.cjs.js +1 -1
  258. package/dist/components/Popover.es.js +1 -1
  259. package/dist/components/PrevNextNav.cjs.js +2 -2
  260. package/dist/components/PrevNextNav.es.js +2 -2
  261. package/dist/components/PropertyFilter.cjs.js +5 -5
  262. package/dist/components/PropertyFilter.es.js +6 -6
  263. package/dist/components/PullRequestIcon.cjs.js +21 -0
  264. package/dist/components/PullRequestIcon.cjs.js.map +1 -0
  265. package/dist/components/PullRequestIcon.d.ts +2 -0
  266. package/dist/components/PullRequestIcon.es.js +17 -0
  267. package/dist/components/PullRequestIcon.es.js.map +1 -0
  268. package/dist/components/RadioGroup.cjs.js +1 -1
  269. package/dist/components/RadioGroup.es.js +1 -1
  270. package/dist/components/RuleBuilder.cjs.js +4 -4
  271. package/dist/components/RuleBuilder.es.js +4 -4
  272. package/dist/components/SankeyChart.cjs.js +1 -1
  273. package/dist/components/SankeyChart.es.js +1 -1
  274. package/dist/components/ScatterPlotChart.cjs.js +2 -2
  275. package/dist/components/ScatterPlotChart.es.js +2 -2
  276. package/dist/components/ScrollArea.cjs.js +1 -1
  277. package/dist/components/ScrollArea.es.js +1 -1
  278. package/dist/components/Section.cjs.js +1 -1
  279. package/dist/components/Section.es.js +1 -1
  280. package/dist/components/SectionCard.cjs.js +1 -1
  281. package/dist/components/SectionCard.es.js +1 -1
  282. package/dist/components/Sections.cjs.js +1 -1
  283. package/dist/components/Sections.es.js +1 -1
  284. package/dist/components/Select.cjs.js +1 -1
  285. package/dist/components/Select.es.js +1 -1
  286. package/dist/components/SessionExpired.cjs.js +1 -1
  287. package/dist/components/SessionExpired.es.js +1 -1
  288. package/dist/components/SettingsLayout.cjs.js +1 -1
  289. package/dist/components/SettingsLayout.es.js +1 -1
  290. package/dist/components/SettingsRow.cjs.js +1 -1
  291. package/dist/components/SettingsRow.es.js +1 -1
  292. package/dist/components/Shimmer.cjs.js +1 -1
  293. package/dist/components/Shimmer.es.js +1 -1
  294. package/dist/components/SideDialog.cjs.js +6 -6
  295. package/dist/components/SideDialog.es.js +6 -6
  296. package/dist/components/Skeleton.cjs.js +1 -1
  297. package/dist/components/Skeleton.es.js +1 -1
  298. package/dist/components/Slider.cjs.js +1 -1
  299. package/dist/components/Slider.es.js +1 -1
  300. package/dist/components/Spinner.cjs.js +1 -1
  301. package/dist/components/Spinner.es.js +1 -1
  302. package/dist/components/StatusIndicators.cjs.js +144 -0
  303. package/dist/components/StatusIndicators.cjs.js.map +1 -0
  304. package/dist/components/StatusIndicators.d.ts +2 -0
  305. package/dist/components/StatusIndicators.es.js +137 -0
  306. package/dist/components/StatusIndicators.es.js.map +1 -0
  307. package/dist/components/Steps.cjs.js +2 -2
  308. package/dist/components/Steps.es.js +2 -2
  309. package/dist/components/Switch.cjs.js +1 -1
  310. package/dist/components/Switch.es.js +1 -1
  311. package/dist/components/Table.cjs.js +2 -2
  312. package/dist/components/Table.es.js +2 -2
  313. package/dist/components/Tabs.cjs.js +3 -3
  314. package/dist/components/Tabs.es.js +3 -3
  315. package/dist/components/Text.cjs.js +1 -1
  316. package/dist/components/Text.es.js +1 -1
  317. package/dist/components/Textarea.cjs.js +1 -1
  318. package/dist/components/Textarea.es.js +1 -1
  319. package/dist/components/ThemeToggle.cjs.js +1 -1
  320. package/dist/components/ThemeToggle.es.js +1 -1
  321. package/dist/components/ThreadList.cjs.js +3 -3
  322. package/dist/components/ThreadList.es.js +3 -3
  323. package/dist/components/ThreadRail.cjs.js +1 -1
  324. package/dist/components/ThreadRail.es.js +1 -1
  325. package/dist/components/Toaster.cjs.js +1 -1
  326. package/dist/components/Toaster.es.js +1 -1
  327. package/dist/components/TokenBudget.cjs.js +1 -1
  328. package/dist/components/TokenBudget.es.js +1 -1
  329. package/dist/components/Tooltip.cjs.js +1 -1
  330. package/dist/components/Tooltip.es.js +1 -1
  331. package/dist/components/Tree.cjs.js +2 -2
  332. package/dist/components/Tree.es.js +2 -2
  333. package/dist/components/Truncate.cjs.js +4 -4
  334. package/dist/components/Truncate.es.js +4 -4
  335. package/dist/components/Txt.cjs.js +1 -1
  336. package/dist/components/Txt.es.js +1 -1
  337. package/dist/components/Workflow.cjs.js +675 -364
  338. package/dist/components/Workflow.cjs.js.map +1 -1
  339. package/dist/components/Workflow.es.js +679 -366
  340. package/dist/components/Workflow.es.js.map +1 -1
  341. package/dist/components/ai/ask-user.cjs.js +1 -1
  342. package/dist/components/ai/ask-user.es.js +1 -1
  343. package/dist/components/ai/chat-event.cjs.js +42 -0
  344. package/dist/components/ai/chat-event.cjs.js.map +1 -0
  345. package/dist/components/ai/chat-event.d.ts +2 -0
  346. package/dist/components/ai/chat-event.es.js +36 -0
  347. package/dist/components/ai/chat-event.es.js.map +1 -0
  348. package/dist/components/ai/plan.cjs.js +5 -5
  349. package/dist/components/ai/plan.es.js +5 -5
  350. package/dist/components/ai/task-list.cjs.js +4 -4
  351. package/dist/components/ai/task-list.es.js +4 -4
  352. package/dist/components/ai/tool-approval.cjs.js +11 -0
  353. package/dist/components/ai/tool-approval.cjs.js.map +1 -0
  354. package/dist/components/ai/tool-approval.d.ts +2 -0
  355. package/dist/components/ai/tool-approval.es.js +2 -0
  356. package/dist/components/ai/tool-approval.es.js.map +1 -0
  357. package/dist/components/ai/tool-call.cjs.js +46 -6
  358. package/dist/components/ai/tool-call.cjs.js.map +1 -1
  359. package/dist/components/ai/tool-call.es.js +46 -9
  360. package/dist/components/ai/tool-call.es.js.map +1 -1
  361. package/dist/composer-CocKItIW.js +148 -0
  362. package/dist/composer-CocKItIW.js.map +1 -0
  363. package/dist/composer-V_EBklyt.cjs +156 -0
  364. package/dist/composer-V_EBklyt.cjs.map +1 -0
  365. package/dist/composer.css +207 -0
  366. package/dist/copy-button-BBCLrGJB.js +36 -0
  367. package/dist/copy-button-BBCLrGJB.js.map +1 -0
  368. package/dist/copy-button-Clv2tQeH.cjs +38 -0
  369. package/dist/copy-button-Clv2tQeH.cjs.map +1 -0
  370. package/dist/dashboard-card-a6jDCcvz.js +9 -0
  371. package/dist/dashboard-card-a6jDCcvz.js.map +1 -0
  372. package/dist/dashboard-card-zx6leZwS.cjs +11 -0
  373. package/dist/dashboard-card-zx6leZwS.cjs.map +1 -0
  374. package/dist/data-code-section-AstkW2b3.js +348 -0
  375. package/dist/data-code-section-AstkW2b3.js.map +1 -0
  376. package/dist/data-code-section-CKb8P3pZ.cjs +350 -0
  377. package/dist/data-code-section-CKb8P3pZ.cjs.map +1 -0
  378. package/dist/data-keys-and-values-CDhHx4Tc.cjs +124 -0
  379. package/dist/data-keys-and-values-CDhHx4Tc.cjs.map +1 -0
  380. package/dist/data-keys-and-values-DNqDDNb0.js +122 -0
  381. package/dist/data-keys-and-values-DNqDDNb0.js.map +1 -0
  382. package/dist/data-list-CIUOCtR5.js +179 -0
  383. package/dist/data-list-CIUOCtR5.js.map +1 -0
  384. package/dist/data-list-DjSl3F2g.cjs +183 -0
  385. package/dist/data-list-DjSl3F2g.cjs.map +1 -0
  386. package/dist/data-list-skeleton--fY5L1tO.cjs +38 -0
  387. package/dist/data-list-skeleton--fY5L1tO.cjs.map +1 -0
  388. package/dist/data-list-skeleton-CL2Z3dY1.js +36 -0
  389. package/dist/data-list-skeleton-CL2Z3dY1.js.map +1 -0
  390. package/dist/data-list-top-BA2UVl0j.js +481 -0
  391. package/dist/data-list-top-BA2UVl0j.js.map +1 -0
  392. package/dist/data-list-top-B_RRVRf5.cjs +510 -0
  393. package/dist/data-list-top-B_RRVRf5.cjs.map +1 -0
  394. package/dist/data-panel-3TqqdlmK.js +220 -0
  395. package/dist/data-panel-3TqqdlmK.js.map +1 -0
  396. package/dist/data-panel-BmQlOkMA.cjs +241 -0
  397. package/dist/data-panel-BmQlOkMA.cjs.map +1 -0
  398. package/dist/data-panel-section-heading-BmSBR8A5.cjs +23 -0
  399. package/dist/data-panel-section-heading-BmSBR8A5.cjs.map +1 -0
  400. package/dist/data-panel-section-heading-DhzuleNL.js +21 -0
  401. package/dist/data-panel-section-heading-DhzuleNL.js.map +1 -0
  402. package/dist/date-picker-BpMCtOR1.js +48 -0
  403. package/dist/date-picker-BpMCtOR1.js.map +1 -0
  404. package/dist/date-picker-DXV1waxg.cjs +50 -0
  405. package/dist/date-picker-DXV1waxg.cjs.map +1 -0
  406. package/dist/date-time-range-picker-DG2DJpni.cjs +169 -0
  407. package/dist/date-time-range-picker-DG2DJpni.cjs.map +1 -0
  408. package/dist/date-time-range-picker-jOWChtnl.js +167 -0
  409. package/dist/date-time-range-picker-jOWChtnl.js.map +1 -0
  410. package/dist/dialog-BUcAVIly.js +242 -0
  411. package/dist/dialog-BUcAVIly.js.map +1 -0
  412. package/dist/dialog-h9MPZQgc.cjs +276 -0
  413. package/dist/dialog-h9MPZQgc.cjs.map +1 -0
  414. package/dist/domains/chat/attachments/attachment-preview-dialog.cjs.js +30 -14
  415. package/dist/domains/chat/attachments/attachment-preview-dialog.cjs.js.map +1 -1
  416. package/dist/domains/chat/attachments/attachment-preview-dialog.es.js +31 -15
  417. package/dist/domains/chat/attachments/attachment-preview-dialog.es.js.map +1 -1
  418. package/dist/domains/chat/attachments/composer-attachment-list.cjs.js +21 -0
  419. package/dist/domains/chat/attachments/composer-attachment-list.cjs.js.map +1 -0
  420. package/dist/domains/chat/attachments/composer-attachment-list.d.ts +2 -0
  421. package/dist/domains/chat/attachments/composer-attachment-list.es.js +17 -0
  422. package/dist/domains/chat/attachments/composer-attachment-list.es.js.map +1 -0
  423. package/dist/domains/chat/attachments/composer-attachment.cjs.js +52 -0
  424. package/dist/domains/chat/attachments/composer-attachment.cjs.js.map +1 -0
  425. package/dist/domains/chat/attachments/composer-attachment.d.ts +2 -0
  426. package/dist/domains/chat/attachments/composer-attachment.es.js +48 -0
  427. package/dist/domains/chat/attachments/composer-attachment.es.js.map +1 -0
  428. package/dist/domains/chat/components/badge-wrapper.cjs.js +2 -2
  429. package/dist/domains/chat/components/badge-wrapper.es.js +2 -2
  430. package/dist/domains/chat/components/loading-badge.cjs.js +2 -2
  431. package/dist/domains/chat/components/loading-badge.es.js +2 -2
  432. package/dist/domains/chat/components/network-choice-metadata-dialog.cjs.js +4 -4
  433. package/dist/domains/chat/components/network-choice-metadata-dialog.es.js +4 -4
  434. package/dist/domains/chat/components/section-label.cjs.js +1 -1
  435. package/dist/domains/chat/components/section-label.es.js +1 -1
  436. package/dist/domains/chat/messages/notification-signal-notice-variant.cjs.js.map +1 -1
  437. package/dist/domains/chat/messages/notification-signal-notice-variant.es.js.map +1 -1
  438. package/dist/domains/chat/messages/notification-signal-notice.cjs.js +8 -20
  439. package/dist/domains/chat/messages/notification-signal-notice.cjs.js.map +1 -1
  440. package/dist/domains/chat/messages/notification-signal-notice.es.js +9 -21
  441. package/dist/domains/chat/messages/notification-signal-notice.es.js.map +1 -1
  442. package/dist/domains/chat/messages/reasoning-content.cjs.js +14 -0
  443. package/dist/domains/chat/messages/reasoning-content.cjs.js.map +1 -0
  444. package/dist/domains/chat/messages/reasoning-content.d.ts +2 -0
  445. package/dist/domains/chat/messages/reasoning-content.es.js +10 -0
  446. package/dist/domains/chat/messages/reasoning-content.es.js.map +1 -0
  447. package/dist/domains/chat/messages/reasoning-streaming-line.cjs.js +3 -3
  448. package/dist/domains/chat/messages/reasoning-streaming-line.cjs.js.map +1 -1
  449. package/dist/domains/chat/messages/reasoning-streaming-line.es.js +3 -3
  450. package/dist/domains/chat/messages/reasoning-streaming-line.es.js.map +1 -1
  451. package/dist/domains/chat/messages/reasoning.cjs.js +30 -14
  452. package/dist/domains/chat/messages/reasoning.cjs.js.map +1 -1
  453. package/dist/domains/chat/messages/reasoning.es.js +32 -16
  454. package/dist/domains/chat/messages/reasoning.es.js.map +1 -1
  455. package/dist/domains/chat/messages/renderers/assistant-text-part-renderer.cjs.js.map +1 -1
  456. package/dist/domains/chat/messages/renderers/assistant-text-part-renderer.es.js.map +1 -1
  457. package/dist/domains/chat/messages/renderers/data-part-renderer.cjs.js.map +1 -1
  458. package/dist/domains/chat/messages/renderers/data-part-renderer.es.js.map +1 -1
  459. package/dist/domains/chat/messages/renderers/in-message-attachment.cjs.js +1 -1
  460. package/dist/domains/chat/messages/renderers/in-message-attachment.cjs.js.map +1 -1
  461. package/dist/domains/chat/messages/renderers/in-message-attachment.es.js +1 -1
  462. package/dist/domains/chat/messages/renderers/in-message-attachment.es.js.map +1 -1
  463. package/dist/domains/chat/messages/renderers/message-text.cjs.js +4 -4
  464. package/dist/domains/chat/messages/renderers/message-text.es.js +4 -4
  465. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.cjs.js +3 -8
  466. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.cjs.js.map +1 -1
  467. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.es.js +3 -8
  468. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.es.js.map +1 -1
  469. package/dist/domains/chat/messages/renderers/status-renderers.cjs.js +1 -1
  470. package/dist/domains/chat/messages/renderers/status-renderers.cjs.js.map +1 -1
  471. package/dist/domains/chat/messages/renderers/status-renderers.es.js +1 -1
  472. package/dist/domains/chat/messages/renderers/status-renderers.es.js.map +1 -1
  473. package/dist/domains/chat/messages/renderers/tool-part.cjs.js +12 -2
  474. package/dist/domains/chat/messages/renderers/tool-part.cjs.js.map +1 -1
  475. package/dist/domains/chat/messages/renderers/tool-part.es.js +12 -2
  476. package/dist/domains/chat/messages/renderers/tool-part.es.js.map +1 -1
  477. package/dist/domains/chat/messages/renderers/user-file-part-renderer.cjs.js +2 -1
  478. package/dist/domains/chat/messages/renderers/user-file-part-renderer.cjs.js.map +1 -1
  479. package/dist/domains/chat/messages/renderers/user-file-part-renderer.es.js +2 -1
  480. package/dist/domains/chat/messages/renderers/user-file-part-renderer.es.js.map +1 -1
  481. package/dist/domains/chat/messages/renderers/user-text-part-renderer.cjs.js.map +1 -1
  482. package/dist/domains/chat/messages/renderers/user-text-part-renderer.es.js.map +1 -1
  483. package/dist/domains/chat/messages/signal-badge.cjs.js +3 -19
  484. package/dist/domains/chat/messages/signal-badge.cjs.js.map +1 -1
  485. package/dist/domains/chat/messages/signal-badge.es.js +4 -20
  486. package/dist/domains/chat/messages/signal-badge.es.js.map +1 -1
  487. package/dist/domains/chat/messages/tripwire-notice.cjs.js +2 -2
  488. package/dist/domains/chat/messages/tripwire-notice.es.js +2 -2
  489. package/dist/domains/chat/tools/badges/ask-user-badge.cjs.js +1 -1
  490. package/dist/domains/chat/tools/badges/ask-user-badge.es.js +1 -1
  491. package/dist/domains/chat/tools/badges/code-mode-badge.cjs.js +2 -2
  492. package/dist/domains/chat/tools/badges/code-mode-badge.es.js +2 -2
  493. package/dist/domains/chat/tools/badges/observation-marker-badge.cjs.js +3 -3
  494. package/dist/domains/chat/tools/badges/observation-marker-badge.es.js +3 -3
  495. package/dist/domains/chat/tools/badges/observation-renderer.cjs.js +2 -2
  496. package/dist/domains/chat/tools/badges/observation-renderer.es.js +2 -2
  497. package/dist/domains/chat/tools/badges/tool-approval-buttons.cjs.js +11 -24
  498. package/dist/domains/chat/tools/badges/tool-approval-buttons.cjs.js.map +1 -1
  499. package/dist/domains/chat/tools/badges/tool-approval-buttons.es.js +11 -24
  500. package/dist/domains/chat/tools/badges/tool-approval-buttons.es.js.map +1 -1
  501. package/dist/domains/chat/tools/tool-card-kind.cjs.js +2 -1
  502. package/dist/domains/chat/tools/tool-card-kind.cjs.js.map +1 -1
  503. package/dist/domains/chat/tools/tool-card-kind.es.js +2 -1
  504. package/dist/domains/chat/tools/tool-card-kind.es.js.map +1 -1
  505. package/dist/domains/chat/tools/tool-groups.cjs.js +1 -0
  506. package/dist/domains/chat/tools/tool-groups.cjs.js.map +1 -1
  507. package/dist/domains/chat/tools/tool-groups.es.js +1 -0
  508. package/dist/domains/chat/tools/tool-groups.es.js.map +1 -1
  509. package/dist/domains/logs/components/log-details-view.cjs.js +4 -4
  510. package/dist/domains/logs/components/log-details-view.es.js +4 -4
  511. package/dist/domains/logs/components/logs-error-content.cjs.js +3 -3
  512. package/dist/domains/logs/components/logs-error-content.es.js +3 -3
  513. package/dist/domains/logs/components/logs-layout.cjs.js +1 -1
  514. package/dist/domains/logs/components/logs-layout.es.js +1 -1
  515. package/dist/domains/logs/components/logs-list-view.cjs.js +2 -2
  516. package/dist/domains/logs/components/logs-list-view.es.js +2 -2
  517. package/dist/domains/logs/components/logs-toolbar.cjs.js +2 -2
  518. package/dist/domains/logs/components/logs-toolbar.cjs.js.map +1 -1
  519. package/dist/domains/logs/components/logs-toolbar.es.js +2 -2
  520. package/dist/domains/logs/components/logs-toolbar.es.js.map +1 -1
  521. package/dist/domains/logs/components/no-logs-info.cjs.js +2 -2
  522. package/dist/domains/logs/components/no-logs-info.es.js +2 -2
  523. package/dist/domains/logs/hooks/use-logs-filter-persistence.cjs.js +1 -1
  524. package/dist/domains/logs/hooks/use-logs-filter-persistence.es.js +1 -1
  525. package/dist/domains/logs/hooks/use-logs.cjs.js.map +1 -1
  526. package/dist/domains/logs/hooks/use-logs.es.js.map +1 -1
  527. package/dist/domains/logs/log-filters.cjs.js.map +1 -1
  528. package/dist/domains/logs/log-filters.es.js.map +1 -1
  529. package/dist/domains/memory/components/flame-graph.cjs.js +1 -1
  530. package/dist/domains/memory/components/flame-graph.es.js +1 -1
  531. package/dist/domains/memory/components/memory-studio-panel.cjs.js +3 -3
  532. package/dist/domains/memory/components/memory-studio-panel.es.js +3 -3
  533. package/dist/domains/memory/components/observation-detail-view.cjs.js +4 -4
  534. package/dist/domains/memory/components/observation-detail-view.es.js +4 -4
  535. package/dist/domains/memory/components/thread-context-progress.cjs.js +1 -1
  536. package/dist/domains/memory/components/thread-context-progress.es.js +1 -1
  537. package/dist/domains/metrics/components/bar-list.cjs.js +1 -1
  538. package/dist/domains/metrics/components/bar-list.es.js +1 -1
  539. package/dist/domains/metrics/components/card-action-buttons.cjs.js +1 -1
  540. package/dist/domains/metrics/components/card-action-buttons.es.js +1 -1
  541. package/dist/domains/metrics/components/date-range-selector.cjs.js +1 -1
  542. package/dist/domains/metrics/components/date-range-selector.es.js +1 -1
  543. package/dist/domains/metrics/components/kpi-card-view.cjs.js +1 -1
  544. package/dist/domains/metrics/components/kpi-card-view.es.js +1 -1
  545. package/dist/domains/metrics/components/latency-card-view.cjs.js +4 -4
  546. package/dist/domains/metrics/components/latency-card-view.es.js +4 -4
  547. package/dist/domains/metrics/components/memory-card-view.cjs.js +5 -5
  548. package/dist/domains/metrics/components/memory-card-view.es.js +5 -5
  549. package/dist/domains/metrics/components/model-usage-cost-card-view.cjs.js +2 -2
  550. package/dist/domains/metrics/components/model-usage-cost-card-view.es.js +2 -2
  551. package/dist/domains/metrics/components/scores-card-view.cjs.js +5 -5
  552. package/dist/domains/metrics/components/scores-card-view.es.js +5 -5
  553. package/dist/domains/metrics/components/token-usage-by-agent-card-view.cjs.js +5 -5
  554. package/dist/domains/metrics/components/token-usage-by-agent-card-view.es.js +5 -5
  555. package/dist/domains/metrics/components/token-usage-timeline-card-view.cjs.js +4 -4
  556. package/dist/domains/metrics/components/token-usage-timeline-card-view.es.js +4 -4
  557. package/dist/domains/metrics/components/traces-volume-card-view.cjs.js +5 -5
  558. package/dist/domains/metrics/components/traces-volume-card-view.es.js +5 -5
  559. package/dist/domains/traces/components/no-traces-info.cjs.js +1 -1
  560. package/dist/domains/traces/components/no-traces-info.es.js +1 -1
  561. package/dist/domains/traces/components/span-data-panel-view.cjs.js +42 -57
  562. package/dist/domains/traces/components/span-data-panel-view.cjs.js.map +1 -1
  563. package/dist/domains/traces/components/span-data-panel-view.es.js +42 -57
  564. package/dist/domains/traces/components/span-data-panel-view.es.js.map +1 -1
  565. package/dist/domains/traces/components/span-details-view.cjs.js +31 -8
  566. package/dist/domains/traces/components/span-details-view.cjs.js.map +1 -1
  567. package/dist/domains/traces/components/span-details-view.es.js +31 -8
  568. package/dist/domains/traces/components/span-details-view.es.js.map +1 -1
  569. package/dist/domains/traces/components/span-payload/span-error-renderer.cjs.js +38 -0
  570. package/dist/domains/traces/components/span-payload/span-error-renderer.cjs.js.map +1 -0
  571. package/dist/domains/traces/components/span-payload/span-error-renderer.d.ts +2 -0
  572. package/dist/domains/traces/components/span-payload/span-error-renderer.es.js +34 -0
  573. package/dist/domains/traces/components/span-payload/span-error-renderer.es.js.map +1 -0
  574. package/dist/domains/traces/components/span-payload/span-input-renderers.cjs.js +50 -0
  575. package/dist/domains/traces/components/span-payload/span-input-renderers.cjs.js.map +1 -0
  576. package/dist/domains/traces/components/span-payload/span-input-renderers.d.ts +2 -0
  577. package/dist/domains/traces/components/span-payload/span-input-renderers.es.js +46 -0
  578. package/dist/domains/traces/components/span-payload/span-input-renderers.es.js.map +1 -0
  579. package/dist/domains/traces/components/span-payload/span-output-renderers.cjs.js +97 -0
  580. package/dist/domains/traces/components/span-payload/span-output-renderers.cjs.js.map +1 -0
  581. package/dist/domains/traces/components/span-payload/span-output-renderers.d.ts +2 -0
  582. package/dist/domains/traces/components/span-payload/span-output-renderers.es.js +93 -0
  583. package/dist/domains/traces/components/span-payload/span-output-renderers.es.js.map +1 -0
  584. package/dist/domains/traces/components/span-payload/span-payload-attachment.cjs.js +34 -0
  585. package/dist/domains/traces/components/span-payload/span-payload-attachment.cjs.js.map +1 -0
  586. package/dist/domains/traces/components/span-payload/span-payload-attachment.d.ts +2 -0
  587. package/dist/domains/traces/components/span-payload/span-payload-attachment.es.js +30 -0
  588. package/dist/domains/traces/components/span-payload/span-payload-attachment.es.js.map +1 -0
  589. package/dist/domains/traces/components/span-payload/span-payload-json.cjs.js +25 -0
  590. package/dist/domains/traces/components/span-payload/span-payload-json.cjs.js.map +1 -0
  591. package/dist/domains/traces/components/span-payload/span-payload-json.d.ts +2 -0
  592. package/dist/domains/traces/components/span-payload/span-payload-json.es.js +21 -0
  593. package/dist/domains/traces/components/span-payload/span-payload-json.es.js.map +1 -0
  594. package/dist/domains/traces/components/span-payload/span-payload-messages.cjs.js +79 -0
  595. package/dist/domains/traces/components/span-payload/span-payload-messages.cjs.js.map +1 -0
  596. package/dist/domains/traces/components/span-payload/span-payload-messages.d.ts +2 -0
  597. package/dist/domains/traces/components/span-payload/span-payload-messages.es.js +75 -0
  598. package/dist/domains/traces/components/span-payload/span-payload-messages.es.js.map +1 -0
  599. package/dist/domains/traces/components/span-payload/span-payload-primitives.cjs.js +18 -0
  600. package/dist/domains/traces/components/span-payload/span-payload-primitives.cjs.js.map +1 -0
  601. package/dist/domains/traces/components/span-payload/span-payload-primitives.d.ts +2 -0
  602. package/dist/domains/traces/components/span-payload/span-payload-primitives.es.js +6 -0
  603. package/dist/domains/traces/components/span-payload/span-payload-primitives.es.js.map +1 -0
  604. package/dist/domains/traces/components/span-payload/span-payload-registry.cjs.js +14 -0
  605. package/dist/domains/traces/components/span-payload/span-payload-registry.cjs.js.map +1 -0
  606. package/dist/domains/traces/components/span-payload/span-payload-registry.d.ts +2 -0
  607. package/dist/domains/traces/components/span-payload/span-payload-registry.es.js +9 -0
  608. package/dist/domains/traces/components/span-payload/span-payload-registry.es.js.map +1 -0
  609. package/dist/domains/traces/components/span-payload/span-payload-section.cjs.js +73 -0
  610. package/dist/domains/traces/components/span-payload/span-payload-section.cjs.js.map +1 -0
  611. package/dist/domains/traces/components/span-payload/span-payload-section.d.ts +2 -0
  612. package/dist/domains/traces/components/span-payload/span-payload-section.es.js +69 -0
  613. package/dist/domains/traces/components/span-payload/span-payload-section.es.js.map +1 -0
  614. package/dist/domains/traces/components/span-payload/span-payload-tool.cjs.js +15 -0
  615. package/dist/domains/traces/components/span-payload/span-payload-tool.cjs.js.map +1 -0
  616. package/dist/domains/traces/components/span-payload/span-payload-tool.d.ts +2 -0
  617. package/dist/domains/traces/components/span-payload/span-payload-tool.es.js +7 -0
  618. package/dist/domains/traces/components/span-payload/span-payload-tool.es.js.map +1 -0
  619. package/dist/domains/traces/components/span-payload.cjs.js +20 -0
  620. package/dist/domains/traces/components/span-payload.cjs.js.map +1 -0
  621. package/dist/domains/traces/components/span-payload.d.ts +2 -0
  622. package/dist/domains/traces/components/span-payload.es.js +7 -0
  623. package/dist/domains/traces/components/span-payload.es.js.map +1 -0
  624. package/dist/domains/traces/components/span-rows.cjs.js +1 -55
  625. package/dist/domains/traces/components/span-rows.cjs.js.map +1 -1
  626. package/dist/domains/traces/components/span-rows.es.js +1 -55
  627. package/dist/domains/traces/components/span-rows.es.js.map +1 -1
  628. package/dist/domains/traces/components/span-summary-description.cjs.js +8 -44
  629. package/dist/domains/traces/components/span-summary-description.cjs.js.map +1 -1
  630. package/dist/domains/traces/components/span-summary-description.es.js +8 -44
  631. package/dist/domains/traces/components/span-summary-description.es.js.map +1 -1
  632. package/dist/domains/traces/components/span-timeline-row.cjs.js +139 -0
  633. package/dist/domains/traces/components/span-timeline-row.cjs.js.map +1 -0
  634. package/dist/domains/traces/components/span-timeline-row.d.ts +2 -0
  635. package/dist/domains/traces/components/span-timeline-row.es.js +135 -0
  636. package/dist/domains/traces/components/span-timeline-row.es.js.map +1 -0
  637. package/dist/domains/traces/components/span-timing-hover-card.cjs.js +3 -3
  638. package/dist/domains/traces/components/span-timing-hover-card.es.js +3 -3
  639. package/dist/domains/traces/components/span-token-usage.cjs.js +2 -2
  640. package/dist/domains/traces/components/span-token-usage.es.js +2 -2
  641. package/dist/domains/traces/components/span-tree-row.cjs.js +3 -20
  642. package/dist/domains/traces/components/span-tree-row.cjs.js.map +1 -1
  643. package/dist/domains/traces/components/span-tree-row.es.js +3 -20
  644. package/dist/domains/traces/components/span-tree-row.es.js.map +1 -1
  645. package/dist/domains/traces/components/thread-trace/thread-trace-details.cjs.js +7 -12
  646. package/dist/domains/traces/components/thread-trace/thread-trace-details.cjs.js.map +1 -1
  647. package/dist/domains/traces/components/thread-trace/thread-trace-details.es.js +7 -12
  648. package/dist/domains/traces/components/thread-trace/thread-trace-details.es.js.map +1 -1
  649. package/dist/domains/traces/components/thread-trace/thread-trace-list.cjs.js +1 -1
  650. package/dist/domains/traces/components/thread-trace/thread-trace-list.es.js +1 -1
  651. package/dist/domains/traces/components/thread-trace/thread-trace-messages.cjs.js +1 -1
  652. package/dist/domains/traces/components/thread-trace/thread-trace-messages.es.js +1 -1
  653. package/dist/domains/traces/components/thread-trace/thread-trace-rail.cjs.js +2 -2
  654. package/dist/domains/traces/components/thread-trace/thread-trace-rail.es.js +2 -2
  655. package/dist/domains/traces/components/thread-trace/thread-trace-root.cjs.js +1 -1
  656. package/dist/domains/traces/components/thread-trace/thread-trace-root.es.js +1 -1
  657. package/dist/domains/traces/components/thread-trace/thread-trace-row.cjs.js +1 -1
  658. package/dist/domains/traces/components/thread-trace/thread-trace-row.es.js +1 -1
  659. package/dist/domains/traces/components/thread-trace/thread-trace-span-panel.cjs.js +1 -1
  660. package/dist/domains/traces/components/thread-trace/thread-trace-span-panel.es.js +1 -1
  661. package/dist/domains/traces/components/thread-trace/thread-trace-spans-tab.cjs.js +3 -3
  662. package/dist/domains/traces/components/thread-trace/thread-trace-spans-tab.es.js +3 -3
  663. package/dist/domains/traces/components/timeline-name-col.cjs.js +51 -22
  664. package/dist/domains/traces/components/timeline-name-col.cjs.js.map +1 -1
  665. package/dist/domains/traces/components/timeline-name-col.es.js +51 -22
  666. package/dist/domains/traces/components/timeline-name-col.es.js.map +1 -1
  667. package/dist/domains/traces/components/timeline-structure-sign.cjs.js +2 -2
  668. package/dist/domains/traces/components/timeline-structure-sign.cjs.js.map +1 -1
  669. package/dist/domains/traces/components/timeline-structure-sign.es.js +2 -2
  670. package/dist/domains/traces/components/timeline-structure-sign.es.js.map +1 -1
  671. package/dist/domains/traces/components/timeline-timing-col.cjs.js +2 -2
  672. package/dist/domains/traces/components/timeline-timing-col.es.js +2 -2
  673. package/dist/domains/traces/components/trace-columns-menu.cjs.js +6 -6
  674. package/dist/domains/traces/components/trace-columns-menu.cjs.js.map +1 -1
  675. package/dist/domains/traces/components/trace-columns-menu.es.js +6 -6
  676. package/dist/domains/traces/components/trace-columns-menu.es.js.map +1 -1
  677. package/dist/domains/traces/components/trace-data-panel-view.cjs.js +150 -146
  678. package/dist/domains/traces/components/trace-data-panel-view.cjs.js.map +1 -1
  679. package/dist/domains/traces/components/trace-data-panel-view.es.js +151 -147
  680. package/dist/domains/traces/components/trace-data-panel-view.es.js.map +1 -1
  681. package/dist/domains/traces/components/trace-details-view.cjs.js.map +1 -1
  682. package/dist/domains/traces/components/trace-details-view.es.js.map +1 -1
  683. package/dist/domains/traces/components/trace-id-button.cjs.js +2 -2
  684. package/dist/domains/traces/components/trace-id-button.es.js +2 -2
  685. package/dist/domains/traces/components/trace-keys-and-values.cjs.js +2 -2
  686. package/dist/domains/traces/components/trace-keys-and-values.es.js +2 -2
  687. package/dist/domains/traces/components/trace-span-timeline.cjs.js +10 -16
  688. package/dist/domains/traces/components/trace-span-timeline.cjs.js.map +1 -1
  689. package/dist/domains/traces/components/trace-span-timeline.es.js +10 -16
  690. package/dist/domains/traces/components/trace-span-timeline.es.js.map +1 -1
  691. package/dist/domains/traces/components/trace-span-tree.cjs.js +29 -18
  692. package/dist/domains/traces/components/trace-span-tree.cjs.js.map +1 -1
  693. package/dist/domains/traces/components/trace-span-tree.es.js +29 -18
  694. package/dist/domains/traces/components/trace-span-tree.es.js.map +1 -1
  695. package/dist/domains/traces/components/trace-status-value.cjs.js +1 -1
  696. package/dist/domains/traces/components/trace-status-value.es.js +1 -1
  697. package/dist/domains/traces/components/trace-summary-description.cjs.js +21 -75
  698. package/dist/domains/traces/components/trace-summary-description.cjs.js.map +1 -1
  699. package/dist/domains/traces/components/trace-summary-description.es.js +22 -76
  700. package/dist/domains/traces/components/trace-summary-description.es.js.map +1 -1
  701. package/dist/domains/traces/components/trace-time-range-chip.cjs.js +74 -0
  702. package/dist/domains/traces/components/trace-time-range-chip.cjs.js.map +1 -0
  703. package/dist/domains/traces/components/trace-time-range-chip.d.ts +2 -0
  704. package/dist/domains/traces/components/trace-time-range-chip.es.js +67 -0
  705. package/dist/domains/traces/components/trace-time-range-chip.es.js.map +1 -0
  706. package/dist/domains/traces/components/traces-error-content.cjs.js +2 -2
  707. package/dist/domains/traces/components/traces-error-content.es.js +2 -2
  708. package/dist/domains/traces/components/traces-list-mode-toggle.cjs.js +2 -2
  709. package/dist/domains/traces/components/traces-list-mode-toggle.es.js +2 -2
  710. package/dist/domains/traces/components/traces-list-view-adapter.cjs.js +24 -0
  711. package/dist/domains/traces/components/traces-list-view-adapter.cjs.js.map +1 -0
  712. package/dist/domains/traces/components/traces-list-view-adapter.d.ts +2 -0
  713. package/dist/domains/traces/components/traces-list-view-adapter.es.js +20 -0
  714. package/dist/domains/traces/components/traces-list-view-adapter.es.js.map +1 -0
  715. package/dist/domains/traces/components/traces-list-view.cjs.js +4 -4
  716. package/dist/domains/traces/components/traces-list-view.es.js +4 -4
  717. package/dist/domains/traces/components.cjs.js +14 -10
  718. package/dist/domains/traces/components.cjs.js.map +1 -1
  719. package/dist/domains/traces/components.es.js +7 -5
  720. package/dist/domains/traces/components.es.js.map +1 -1
  721. package/dist/domains/traces/hooks/use-download-trace-json.cjs.js +1 -1
  722. package/dist/domains/traces/hooks/use-download-trace-json.es.js +1 -1
  723. package/dist/domains/traces/hooks/use-span-detail.cjs.js.map +1 -1
  724. package/dist/domains/traces/hooks/use-span-detail.es.js.map +1 -1
  725. package/dist/domains/traces/hooks/use-trace-query.cjs.js +90 -0
  726. package/dist/domains/traces/hooks/use-trace-query.cjs.js.map +1 -0
  727. package/dist/domains/traces/hooks/use-trace-query.d.ts +2 -0
  728. package/dist/domains/traces/hooks/use-trace-query.es.js +83 -0
  729. package/dist/domains/traces/hooks/use-trace-query.es.js.map +1 -0
  730. package/dist/domains/traces/hooks/use-trace-span-navigation.cjs.js.map +1 -1
  731. package/dist/domains/traces/hooks/use-trace-span-navigation.es.js.map +1 -1
  732. package/dist/domains/traces/hooks/use-trace-spans.cjs.js +2 -1
  733. package/dist/domains/traces/hooks/use-trace-spans.cjs.js.map +1 -1
  734. package/dist/domains/traces/hooks/use-trace-spans.es.js +3 -2
  735. package/dist/domains/traces/hooks/use-trace-spans.es.js.map +1 -1
  736. package/dist/domains/traces/hooks/use-trace-url-state.cjs.js +21 -2
  737. package/dist/domains/traces/hooks/use-trace-url-state.cjs.js.map +1 -1
  738. package/dist/domains/traces/hooks/use-trace-url-state.es.js +21 -2
  739. package/dist/domains/traces/hooks/use-trace-url-state.es.js.map +1 -1
  740. package/dist/domains/traces/hooks/use-traces.cjs.js +9 -7
  741. package/dist/domains/traces/hooks/use-traces.cjs.js.map +1 -1
  742. package/dist/domains/traces/hooks/use-traces.es.js +9 -7
  743. package/dist/domains/traces/hooks/use-traces.es.js.map +1 -1
  744. package/dist/domains/traces/hooks.cjs.js +2 -0
  745. package/dist/domains/traces/hooks.cjs.js.map +1 -1
  746. package/dist/domains/traces/hooks.es.js +1 -0
  747. package/dist/domains/traces/hooks.es.js.map +1 -1
  748. package/dist/domains/traces/trace-filters.cjs.js +117 -87
  749. package/dist/domains/traces/trace-filters.cjs.js.map +1 -1
  750. package/dist/domains/traces/trace-filters.es.js +112 -86
  751. package/dist/domains/traces/trace-filters.es.js.map +1 -1
  752. package/dist/domains/traces/trace-query-filters.cjs.js +66 -0
  753. package/dist/domains/traces/trace-query-filters.cjs.js.map +1 -0
  754. package/dist/domains/traces/trace-query-filters.d.ts +2 -0
  755. package/dist/domains/traces/trace-query-filters.es.js +61 -0
  756. package/dist/domains/traces/trace-query-filters.es.js.map +1 -0
  757. package/dist/domains/traces/types.cjs.js.map +1 -1
  758. package/dist/domains/traces/types.es.js.map +1 -1
  759. package/dist/domains/traces/utils/filter-spans-keeping-ancestors.cjs.js.map +1 -1
  760. package/dist/domains/traces/utils/filter-spans-keeping-ancestors.es.js.map +1 -1
  761. package/dist/domains/traces/utils/span-utils.cjs.js.map +1 -1
  762. package/dist/domains/traces/utils/span-utils.es.js.map +1 -1
  763. package/dist/domains/traces/utils/to-searchable-spans.cjs.js.map +1 -1
  764. package/dist/domains/traces/utils/to-searchable-spans.es.js.map +1 -1
  765. package/dist/domains/traces.cjs.js +25 -12
  766. package/dist/domains/traces.cjs.js.map +1 -1
  767. package/dist/domains/traces.es.js +10 -6
  768. package/dist/domains/traces.es.js.map +1 -1
  769. package/dist/drawer-B2GbH_X2.js +327 -0
  770. package/dist/drawer-B2GbH_X2.js.map +1 -0
  771. package/dist/drawer-BZ-HuIEI.cjs +367 -0
  772. package/dist/drawer-BZ-HuIEI.cjs.map +1 -0
  773. package/dist/dropdown-menu-BYns1-0U.js +206 -0
  774. package/dist/dropdown-menu-BYns1-0U.js.map +1 -0
  775. package/dist/dropdown-menu-CP2LVgOe.cjs +227 -0
  776. package/dist/dropdown-menu-CP2LVgOe.cjs.map +1 -0
  777. package/dist/ee/signals/components/entity-index-compact-grid.cjs.js +3 -3
  778. package/dist/ee/signals/components/entity-index-compact-grid.es.js +3 -3
  779. package/dist/ee/signals/components/entity-index-list.cjs.js +4 -2
  780. package/dist/ee/signals/components/entity-index-list.cjs.js.map +1 -1
  781. package/dist/ee/signals/components/entity-index-list.es.js +4 -2
  782. package/dist/ee/signals/components/entity-index-list.es.js.map +1 -1
  783. package/dist/ee/signals/components/signals-empty-state.cjs.js +2 -2
  784. package/dist/ee/signals/components/signals-empty-state.es.js +2 -2
  785. package/dist/ee/signals/components/trace-intelligence-entity-detail.cjs.js +2 -2
  786. package/dist/ee/signals/components/trace-intelligence-entity-detail.es.js +2 -2
  787. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js +10 -9
  788. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js.map +1 -1
  789. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js +10 -9
  790. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js.map +1 -1
  791. package/dist/ee/signals/examples-pager.cjs.js +1 -1
  792. package/dist/ee/signals/examples-pager.es.js +1 -1
  793. package/dist/ee/signals/flow-card.cjs.js +2 -2
  794. package/dist/ee/signals/flow-card.es.js +2 -2
  795. package/dist/ee/signals/noise-detail-panel.cjs.js +1 -1
  796. package/dist/ee/signals/noise-detail-panel.es.js +1 -1
  797. package/dist/ee/signals/sankey-signals.cjs.js +1 -1
  798. package/dist/ee/signals/sankey-signals.es.js +1 -1
  799. package/dist/ee/signals/settings/signal-definition-form-dialog.cjs.js +6 -6
  800. package/dist/ee/signals/settings/signal-definition-form-dialog.es.js +6 -6
  801. package/dist/ee/signals/settings/trace-signal-settings.cjs.js +5 -5
  802. package/dist/ee/signals/settings/trace-signal-settings.es.js +5 -5
  803. package/dist/ee/signals/signal-delta-column.cjs.js +1 -1
  804. package/dist/ee/signals/signal-delta-column.es.js +1 -1
  805. package/dist/ee/signals/signal-lifelines.cjs.js +1 -1
  806. package/dist/ee/signals/signal-lifelines.es.js +1 -1
  807. package/dist/ee/signals/signals-error-state.cjs.js +1 -1
  808. package/dist/ee/signals/signals-error-state.es.js +1 -1
  809. package/dist/ee/signals/signals-loading-skeleton.cjs.js +1 -1
  810. package/dist/ee/signals/signals-loading-skeleton.es.js +1 -1
  811. package/dist/ee/signals/snapshot-timeline.cjs.js +1 -1
  812. package/dist/ee/signals/snapshot-timeline.es.js +1 -1
  813. package/dist/ee/signals/sortable-signal-headers.cjs.js +1 -1
  814. package/dist/ee/signals/sortable-signal-headers.es.js +1 -1
  815. package/dist/ee/signals/theme-detail-panel.cjs.js +2 -2
  816. package/dist/ee/signals/theme-detail-panel.es.js +2 -2
  817. package/dist/ee/signals/theme-filter-banner.cjs.js +1 -1
  818. package/dist/ee/signals/theme-filter-banner.es.js +1 -1
  819. package/dist/ee/signals/theme-trend-chart.cjs.js +1 -1
  820. package/dist/ee/signals/theme-trend-chart.es.js +1 -1
  821. package/dist/ee/signals/trace-insight-view.cjs.js +1 -1
  822. package/dist/ee/signals/trace-insight-view.es.js +1 -1
  823. package/dist/ee/signals/trace-intelligence-explainer.cjs.js +1 -1
  824. package/dist/ee/signals/trace-intelligence-explainer.es.js +1 -1
  825. package/dist/ee/signals/view-mode-tab.cjs.js +2 -2
  826. package/dist/ee/signals/view-mode-tab.es.js +2 -2
  827. package/dist/ee/topics/components/topic-trace-details-panel.cjs.js +1 -1
  828. package/dist/ee/topics/components/topic-trace-details-panel.es.js +1 -1
  829. package/dist/ee/topics/components/topic-trace-summary-list.cjs.js +3 -3
  830. package/dist/ee/topics/components/topic-trace-summary-list.es.js +3 -3
  831. package/dist/field-block-CygzGxNe.cjs +87 -0
  832. package/dist/field-block-CygzGxNe.cjs.map +1 -0
  833. package/dist/field-block-DtG78nn_.js +85 -0
  834. package/dist/field-block-DtG78nn_.js.map +1 -0
  835. package/dist/filter-bar-chip-BJOyhaA2.js +838 -0
  836. package/dist/filter-bar-chip-BJOyhaA2.js.map +1 -0
  837. package/dist/filter-bar-chip-CR_L2kMF.cjs +853 -0
  838. package/dist/filter-bar-chip-CR_L2kMF.cjs.map +1 -0
  839. package/dist/hooks/use-copy-to-clipboard.cjs.js +1 -1
  840. package/dist/hooks/use-copy-to-clipboard.es.js +1 -1
  841. package/dist/hooks/use-local-storage-state.cjs.js +49 -0
  842. package/dist/hooks/use-local-storage-state.cjs.js.map +1 -1
  843. package/dist/hooks/use-local-storage-state.es.js +50 -2
  844. package/dist/hooks/use-local-storage-state.es.js.map +1 -1
  845. package/dist/horizontal-bars-DIPivfLF.js +139 -0
  846. package/dist/horizontal-bars-DIPivfLF.js.map +1 -0
  847. package/dist/horizontal-bars-OAOC9rdk.cjs +141 -0
  848. package/dist/horizontal-bars-OAOC9rdk.cjs.map +1 -0
  849. package/dist/hover-card-CM9fAKvc.js +68 -0
  850. package/dist/hover-card-CM9fAKvc.js.map +1 -0
  851. package/dist/hover-card-Cc3NmZ4K.cjs +91 -0
  852. package/dist/hover-card-Cc3NmZ4K.cjs.map +1 -0
  853. package/dist/icons/Icon.cjs.js +1 -1
  854. package/dist/icons/Icon.es.js +1 -1
  855. package/dist/index-BXfwV6wk.js +45 -0
  856. package/dist/index-BXfwV6wk.js.map +1 -0
  857. package/dist/index-Bk0d-AeX.cjs +47 -0
  858. package/dist/index-Bk0d-AeX.cjs.map +1 -0
  859. package/dist/input-BCrGOM5G.cjs +85 -0
  860. package/dist/input-BCrGOM5G.cjs.map +1 -0
  861. package/dist/input-DtmX7xH7.js +64 -0
  862. package/dist/input-DtmX7xH7.js.map +1 -0
  863. package/dist/input-group-BU0Y5c26.cjs +242 -0
  864. package/dist/input-group-BU0Y5c26.cjs.map +1 -0
  865. package/dist/input-group-DoaB_TKp.js +216 -0
  866. package/dist/input-group-DoaB_TKp.js.map +1 -0
  867. package/dist/kbd-D5WtLU30.cjs +34 -0
  868. package/dist/kbd-D5WtLU30.cjs.map +1 -0
  869. package/dist/kbd-DB7Dmf_Y.js +32 -0
  870. package/dist/kbd-DB7Dmf_Y.js.map +1 -0
  871. package/dist/label-BBPnGszd.js +13 -0
  872. package/dist/label-BBPnGszd.js.map +1 -0
  873. package/dist/label-DzQOqIjw.cjs +34 -0
  874. package/dist/label-DzQOqIjw.cjs.map +1 -0
  875. package/dist/layout/tabbed-container.cjs.js +8 -8
  876. package/dist/layout/tabbed-container.es.js +8 -8
  877. package/dist/list-search-BnVN4tCC.cjs +73 -0
  878. package/dist/list-search-BnVN4tCC.cjs.map +1 -0
  879. package/dist/list-search-DQoVumEX.js +71 -0
  880. package/dist/list-search-DQoVumEX.js.map +1 -0
  881. package/dist/logs-data-list-Bd2_UAY0.js +79 -0
  882. package/dist/logs-data-list-Bd2_UAY0.js.map +1 -0
  883. package/dist/logs-data-list-DsYct8cw.cjs +81 -0
  884. package/dist/logs-data-list-DsYct8cw.cjs.map +1 -0
  885. package/dist/main-sidebar-CbjWru0s.js +830 -0
  886. package/dist/main-sidebar-CbjWru0s.js.map +1 -0
  887. package/dist/main-sidebar-Dff0E73N.cjs +848 -0
  888. package/dist/main-sidebar-Dff0E73N.cjs.map +1 -0
  889. package/dist/markdown-renderer-BSdZmxVF.js +408 -0
  890. package/dist/markdown-renderer-BSdZmxVF.js.map +1 -0
  891. package/dist/markdown-renderer-Dmz44_t7.cjs +410 -0
  892. package/dist/markdown-renderer-Dmz44_t7.cjs.map +1 -0
  893. package/dist/message-BUXs9JiZ.js +62 -0
  894. package/dist/message-BUXs9JiZ.js.map +1 -0
  895. package/dist/message-C5ND0pCv.cjs +66 -0
  896. package/dist/message-C5ND0pCv.cjs.map +1 -0
  897. package/dist/message-scroller-BVPLQUbE.cjs +857 -0
  898. package/dist/message-scroller-BVPLQUbE.cjs.map +1 -0
  899. package/dist/message-scroller-D9amU0Yo.js +831 -0
  900. package/dist/message-scroller-D9amU0Yo.js.map +1 -0
  901. package/dist/metrics-card-DBUsAdmf.js +93 -0
  902. package/dist/metrics-card-DBUsAdmf.js.map +1 -0
  903. package/dist/metrics-card-DpofvZg6.cjs +95 -0
  904. package/dist/metrics-card-DpofvZg6.cjs.map +1 -0
  905. package/dist/metrics-kpi-card-BPrFp1TR.cjs +79 -0
  906. package/dist/metrics-kpi-card-BPrFp1TR.cjs.map +1 -0
  907. package/dist/metrics-kpi-card-pmhPUTXh.js +77 -0
  908. package/dist/metrics-kpi-card-pmhPUTXh.js.map +1 -0
  909. package/dist/new/layout/app-shell.cjs.js +2 -12
  910. package/dist/new/layout/app-shell.cjs.js.map +1 -1
  911. package/dist/new/layout/app-shell.es.js +2 -12
  912. package/dist/new/layout/app-shell.es.js.map +1 -1
  913. package/dist/new/layout/page-header.cjs.js +1 -1
  914. package/dist/new/layout/page-header.es.js +1 -1
  915. package/dist/new/settings.cjs.js +5 -5
  916. package/dist/new/settings.es.js +5 -5
  917. package/dist/new/sidebar.cjs.js +460 -0
  918. package/dist/new/sidebar.cjs.js.map +1 -0
  919. package/dist/new/sidebar.d.ts +2 -0
  920. package/dist/new/sidebar.es.js +443 -0
  921. package/dist/new/sidebar.es.js.map +1 -0
  922. package/dist/no-data-page-layout-CvHNrd5V.cjs +104 -0
  923. package/dist/no-data-page-layout-CvHNrd5V.cjs.map +1 -0
  924. package/dist/no-data-page-layout-DrvRnmH_.js +101 -0
  925. package/dist/no-data-page-layout-DrvRnmH_.js.map +1 -0
  926. package/dist/page-header-AH0Kk_7X.cjs +125 -0
  927. package/dist/page-header-AH0Kk_7X.cjs.map +1 -0
  928. package/dist/page-header-CyhgAInp.js +123 -0
  929. package/dist/page-header-CyhgAInp.js.map +1 -0
  930. package/dist/popover-DJ0zMfQ2.js +97 -0
  931. package/dist/popover-DJ0zMfQ2.js.map +1 -0
  932. package/dist/popover-DUVKoksf.cjs +121 -0
  933. package/dist/popover-DUVKoksf.cjs.map +1 -0
  934. package/dist/primitives/menu-item.cjs.js +2 -2
  935. package/dist/primitives/menu-item.es.js +2 -2
  936. package/dist/primitives/resize-handle-indicator.cjs.js +2 -2
  937. package/dist/primitives/resize-handle-indicator.es.js +2 -2
  938. package/dist/primitives/trigger-button.cjs.js +2 -2
  939. package/dist/primitives/trigger-button.es.js +2 -2
  940. package/dist/property-filter-applied-DAb2fYrC.cjs +348 -0
  941. package/dist/property-filter-applied-DAb2fYrC.cjs.map +1 -0
  942. package/dist/property-filter-applied-JrhwHYy8.js +344 -0
  943. package/dist/property-filter-applied-JrhwHYy8.js.map +1 -0
  944. package/dist/resize/collapsible-panel.cjs.js +3 -3
  945. package/dist/resize/collapsible-panel.es.js +3 -3
  946. package/dist/resize/panel-drawer.cjs.js +2 -2
  947. package/dist/resize/panel-drawer.es.js +2 -2
  948. package/dist/resize/panel-group.cjs.js +1 -1
  949. package/dist/resize/panel-group.es.js +1 -1
  950. package/dist/resize/panel-icon-button.cjs.js +1 -1
  951. package/dist/resize/panel-icon-button.es.js +1 -1
  952. package/dist/resize/separator.cjs.js +5 -3
  953. package/dist/resize/separator.cjs.js.map +1 -1
  954. package/dist/resize/separator.es.js +5 -3
  955. package/dist/resize/separator.es.js.map +1 -1
  956. package/dist/sankey-chart-C-H3aTGD.cjs +926 -0
  957. package/dist/sankey-chart-C-H3aTGD.cjs.map +1 -0
  958. package/dist/sankey-chart-Cy2eAal0.js +916 -0
  959. package/dist/sankey-chart-Cy2eAal0.js.map +1 -0
  960. package/dist/scroll-area-CVqPmOtx.cjs +245 -0
  961. package/dist/scroll-area-CVqPmOtx.cjs.map +1 -0
  962. package/dist/scroll-area-DmygE5DR.js +223 -0
  963. package/dist/scroll-area-DmygE5DR.js.map +1 -0
  964. package/dist/search-field-block-BC_iZ1gM.js +119 -0
  965. package/dist/search-field-block-BC_iZ1gM.js.map +1 -0
  966. package/dist/search-field-block-DOVzCqW2.cjs +121 -0
  967. package/dist/search-field-block-DOVzCqW2.cjs.map +1 -0
  968. package/dist/section-CqNErNly.js +111 -0
  969. package/dist/section-CqNErNly.js.map +1 -0
  970. package/dist/section-DIpI_2jD.cjs +115 -0
  971. package/dist/section-DIpI_2jD.cjs.map +1 -0
  972. package/dist/select-BX-NDhBK.js +133 -0
  973. package/dist/select-BX-NDhBK.js.map +1 -0
  974. package/dist/select-DIOGGfVZ.cjs +159 -0
  975. package/dist/select-DIOGGfVZ.cjs.map +1 -0
  976. package/dist/select-field-block-B-6QQC7t.js +48 -0
  977. package/dist/select-field-block-B-6QQC7t.js.map +1 -0
  978. package/dist/select-field-block-DAf3Soge.cjs +50 -0
  979. package/dist/select-field-block-DAf3Soge.cjs.map +1 -0
  980. package/dist/settings-container-B61AM2uQ.cjs +29 -0
  981. package/dist/settings-container-B61AM2uQ.cjs.map +1 -0
  982. package/dist/settings-container-XeohBaUd.js +26 -0
  983. package/dist/settings-container-XeohBaUd.js.map +1 -0
  984. package/dist/settings-layout-0LmqNUIq.js +55 -0
  985. package/dist/settings-layout-0LmqNUIq.js.map +1 -0
  986. package/dist/settings-layout-e0UQtxvw.cjs +57 -0
  987. package/dist/settings-layout-e0UQtxvw.cjs.map +1 -0
  988. package/dist/settings-row-BjlCkP3o.cjs +92 -0
  989. package/dist/settings-row-BjlCkP3o.cjs.map +1 -0
  990. package/dist/settings-row-CxdGvdwb.js +89 -0
  991. package/dist/settings-row-CxdGvdwb.js.map +1 -0
  992. package/dist/shimmer-R2LMMF5x.js +23 -0
  993. package/dist/shimmer-R2LMMF5x.js.map +1 -0
  994. package/dist/shimmer-erjPu8YL.cjs +25 -0
  995. package/dist/shimmer-erjPu8YL.cjs.map +1 -0
  996. package/dist/skeleton-B3O2CoYQ.cjs +25 -0
  997. package/dist/skeleton-B3O2CoYQ.cjs.map +1 -0
  998. package/dist/skeleton-D-kHfsjd.js +23 -0
  999. package/dist/skeleton-D-kHfsjd.js.map +1 -0
  1000. package/dist/slider-CP5EfpIm.js +95 -0
  1001. package/dist/slider-CP5EfpIm.js.map +1 -0
  1002. package/dist/slider-CTJiezAe.cjs +97 -0
  1003. package/dist/slider-CTJiezAe.cjs.map +1 -0
  1004. package/dist/spacings-2GNiO8Oq.js +171 -0
  1005. package/dist/spacings-2GNiO8Oq.js.map +1 -0
  1006. package/dist/spacings-DJ7CTlfI.cjs +179 -0
  1007. package/dist/spacings-DJ7CTlfI.cjs.map +1 -0
  1008. package/dist/span-payload-primitives-Bc21pM0m.cjs +75 -0
  1009. package/dist/span-payload-primitives-Bc21pM0m.cjs.map +1 -0
  1010. package/dist/span-payload-primitives-DXg3l6FW.js +68 -0
  1011. package/dist/span-payload-primitives-DXg3l6FW.js.map +1 -0
  1012. package/dist/spinner-DcDI1lhS.cjs +53 -0
  1013. package/dist/spinner-DcDI1lhS.cjs.map +1 -0
  1014. package/dist/spinner-RdQ_iJAG.js +51 -0
  1015. package/dist/spinner-RdQ_iJAG.js.map +1 -0
  1016. package/dist/src/domains/chat/attachments/attachment-preview-dialog.d.ts +2 -10
  1017. package/dist/src/domains/chat/attachments/composer-attachment-list.d.ts +3 -0
  1018. package/dist/src/domains/chat/attachments/composer-attachment.d.ts +8 -0
  1019. package/dist/src/domains/chat/messages/notification-signal-notice-variant.d.ts +1 -2
  1020. package/dist/src/domains/chat/messages/reasoning-content.d.ts +3 -0
  1021. package/dist/src/domains/chat/messages/reasoning-streaming-line.d.ts +0 -5
  1022. package/dist/src/domains/chat/messages/reasoning.d.ts +2 -1
  1023. package/dist/src/domains/chat/messages/renderers/assistant-text-part-renderer.d.ts +1 -1
  1024. package/dist/src/domains/chat/messages/renderers/data-part-renderer.d.ts +1 -1
  1025. package/dist/src/domains/chat/messages/renderers/in-message-attachment.d.ts +0 -5
  1026. package/dist/src/domains/chat/messages/renderers/reasoning-part-renderer.d.ts +2 -14
  1027. package/dist/src/domains/chat/messages/renderers/status-renderers.d.ts +1 -1
  1028. package/dist/src/domains/chat/messages/renderers/tool-part.d.ts +3 -1
  1029. package/dist/src/domains/chat/messages/renderers/user-file-part-renderer.d.ts +1 -8
  1030. package/dist/src/domains/chat/messages/renderers/user-text-part-renderer.d.ts +1 -1
  1031. package/dist/src/domains/chat/stories/attachments.stories.d.ts +1 -0
  1032. package/dist/src/domains/chat/stories/composer-attachments.stories.d.ts +18 -0
  1033. package/dist/src/domains/chat/stories/reasoning.stories.d.ts +2 -1
  1034. package/dist/src/domains/chat/tools/tool-groups.d.ts +1 -1
  1035. package/dist/src/domains/logs/hooks/use-logs.d.ts +2 -1
  1036. package/dist/src/domains/logs/log-filters.d.ts +2 -1
  1037. package/dist/src/domains/metrics/hooks/use-active-resources-kpi-metrics.d.ts +6 -6
  1038. package/dist/src/domains/metrics/hooks/use-active-threads-kpi-metrics.d.ts +6 -6
  1039. package/dist/src/domains/metrics/hooks/use-agent-runs-kpi-metrics.d.ts +6 -6
  1040. package/dist/src/domains/traces/components/index.d.ts +2 -5
  1041. package/dist/src/domains/traces/components/span-data-panel-view.d.ts +1 -1
  1042. package/dist/src/domains/traces/components/span-details-view.d.ts +1 -1
  1043. package/dist/src/domains/traces/components/span-payload/index.d.ts +7 -0
  1044. package/dist/src/domains/traces/components/span-payload/span-error-renderer.d.ts +7 -0
  1045. package/dist/src/domains/traces/components/span-payload/span-input-renderers.d.ts +6 -0
  1046. package/dist/src/domains/traces/components/span-payload/span-output-renderers.d.ts +6 -0
  1047. package/dist/src/domains/traces/components/span-payload/span-payload-attachment.d.ts +3 -0
  1048. package/dist/src/domains/traces/components/span-payload/span-payload-json.d.ts +6 -0
  1049. package/dist/src/domains/traces/components/span-payload/span-payload-messages.d.ts +6 -0
  1050. package/dist/src/domains/traces/components/span-payload/span-payload-primitives.d.ts +22 -0
  1051. package/dist/src/domains/traces/components/span-payload/span-payload-registry.d.ts +31 -0
  1052. package/dist/src/domains/traces/components/span-payload/span-payload-section.d.ts +24 -0
  1053. package/dist/src/domains/traces/components/span-payload/span-payload-tool.d.ts +4 -0
  1054. package/dist/src/domains/traces/components/span-payload/span-payload.stories.d.ts +23 -0
  1055. package/dist/src/domains/traces/components/span-rows.d.ts +0 -8
  1056. package/dist/src/domains/traces/components/span-summary-description.d.ts +1 -2
  1057. package/dist/src/domains/traces/components/span-timeline-row.d.ts +10 -0
  1058. package/dist/src/domains/traces/components/span-tree-row.d.ts +5 -3
  1059. package/dist/src/domains/traces/components/thread-trace/thread-trace-details.d.ts +2 -4
  1060. package/dist/src/domains/traces/components/timeline-name-col.d.ts +6 -1
  1061. package/dist/src/domains/traces/components/trace-data-panel-view.d.ts +12 -6
  1062. package/dist/src/domains/traces/components/trace-details-view.d.ts +1 -1
  1063. package/dist/src/domains/traces/components/trace-span-timeline.d.ts +6 -5
  1064. package/dist/src/domains/traces/components/trace-span-tree.d.ts +2 -2
  1065. package/dist/src/domains/traces/components/trace-summary-description.d.ts +1 -2
  1066. package/dist/src/domains/traces/components/trace-time-range-chip.d.ts +17 -0
  1067. package/dist/src/domains/traces/components/traces-list-view-adapter.d.ts +3 -0
  1068. package/dist/src/domains/traces/hooks/index.d.ts +1 -0
  1069. package/dist/src/domains/traces/hooks/use-span-detail.d.ts +4 -7
  1070. package/dist/src/domains/traces/hooks/use-trace-query.d.ts +38 -0
  1071. package/dist/src/domains/traces/hooks/use-trace-span-navigation.d.ts +1 -1
  1072. package/dist/src/domains/traces/hooks/use-trace-spans.d.ts +188 -150
  1073. package/dist/src/domains/traces/hooks/use-trace-url-state.d.ts +3 -0
  1074. package/dist/src/domains/traces/hooks/use-traces.d.ts +7 -1
  1075. package/dist/src/domains/traces/index.d.ts +1 -0
  1076. package/dist/src/domains/traces/trace-filters.d.ts +22 -17
  1077. package/dist/src/domains/traces/trace-query-filters.d.ts +6 -0
  1078. package/dist/src/domains/traces/types.d.ts +6 -1
  1079. package/dist/src/domains/traces/utils/filter-spans-keeping-ancestors.d.ts +1 -1
  1080. package/dist/src/domains/traces/utils/span-utils.d.ts +1 -1
  1081. package/dist/src/domains/traces/utils/to-searchable-spans.d.ts +4 -3
  1082. package/dist/src/ds/components/Activity/activity.d.ts +10 -0
  1083. package/dist/src/ds/components/Activity/activity.stories.d.ts +20 -0
  1084. package/dist/src/ds/components/Activity/index.d.ts +1 -0
  1085. package/dist/src/ds/components/Collapsible/collapsible.d.ts +2 -0
  1086. package/dist/src/ds/components/Collapsible/collapsible.stories.d.ts +1 -0
  1087. package/dist/src/ds/components/Composer/composer.d.ts +8 -7
  1088. package/dist/src/ds/components/Composer/composer.stories.d.ts +7 -1
  1089. package/dist/src/ds/components/Composer/index.d.ts +2 -2
  1090. package/dist/src/ds/components/Composer/use-composer-pointer.d.ts +9 -0
  1091. package/dist/src/ds/components/DataCodeSection/data-code-section.d.ts +3 -1
  1092. package/dist/src/ds/components/DataDetailsPanel/data-details-panel-code-section.d.ts +3 -1
  1093. package/dist/src/ds/components/DataPanel/data-panel-close-button.d.ts +3 -1
  1094. package/dist/src/ds/components/DataPanel/data-panel-content.d.ts +3 -1
  1095. package/dist/src/ds/components/DataPanel/data-panel-header-actions.d.ts +8 -0
  1096. package/dist/src/ds/components/DataPanel/data-panel-header-content.d.ts +5 -0
  1097. package/dist/src/ds/components/DataPanel/data-panel-metadata.d.ts +18 -0
  1098. package/dist/src/ds/components/DataPanel/data-panel-next-prev-nav.d.ts +3 -1
  1099. package/dist/src/ds/components/DataPanel/data-panel-root.d.ts +24 -2
  1100. package/dist/src/ds/components/DataPanel/data-panel.d.ts +7 -0
  1101. package/dist/src/ds/components/DataPanel/data-panel.stories.d.ts +4 -1
  1102. package/dist/src/ds/components/DataPanel/index.d.ts +3 -0
  1103. package/dist/src/ds/components/DateTimeRangePicker/date-time-range-picker.d.ts +15 -1
  1104. package/dist/src/ds/components/FilterBar/default-operators.d.ts +3 -0
  1105. package/dist/src/ds/components/FilterBar/filter-bar-chip.d.ts +35 -0
  1106. package/dist/src/ds/components/FilterBar/filter-bar-clear.d.ts +4 -0
  1107. package/dist/src/ds/components/FilterBar/filter-bar-context.d.ts +46 -0
  1108. package/dist/src/ds/components/FilterBar/filter-bar-draft-chip.d.ts +11 -0
  1109. package/dist/src/ds/components/FilterBar/filter-bar-input.d.ts +10 -0
  1110. package/dist/src/ds/components/FilterBar/filter-bar-option-list.d.ts +17 -0
  1111. package/dist/src/ds/components/FilterBar/filter-bar.d.ts +34 -0
  1112. package/dist/src/ds/components/FilterBar/filter-bar.stories.d.ts +10 -0
  1113. package/dist/src/ds/components/FilterBar/index.d.ts +8 -0
  1114. package/dist/src/ds/components/FilterBar/match-query.d.ts +4 -0
  1115. package/dist/src/ds/components/FilterBar/types.d.ts +59 -0
  1116. package/dist/src/ds/components/FilterBar/use-value-step.d.ts +33 -0
  1117. package/dist/src/ds/components/FilterBar/use-value-suggestions.d.ts +23 -0
  1118. package/dist/src/ds/components/MainSidebar/main-sidebar-mobile-trigger.d.ts +0 -1
  1119. package/dist/src/ds/components/MainSidebar/main-sidebar-nav-header.d.ts +0 -1
  1120. package/dist/src/ds/components/MainSidebar/main-sidebar-nav-item-classes.d.ts +0 -11
  1121. package/dist/src/ds/components/MainSidebar/main-sidebar-nav-link.d.ts +0 -6
  1122. package/dist/src/ds/components/Message/index.d.ts +4 -0
  1123. package/dist/src/ds/components/Message/message-copy-button.d.ts +3 -0
  1124. package/dist/src/ds/components/Message/message-timestamp.d.ts +3 -0
  1125. package/dist/src/ds/components/Message/message.d.ts +13 -0
  1126. package/dist/src/ds/components/Message/message.stories.d.ts +10 -0
  1127. package/dist/src/ds/components/PullRequestIcon/index.d.ts +2 -0
  1128. package/dist/src/ds/components/PullRequestIcon/pull-request-icon.d.ts +25 -0
  1129. package/dist/src/ds/components/PullRequestIcon/pull-request-icon.stories.d.ts +24 -0
  1130. package/dist/src/ds/components/Slider/slider.d.ts +2 -2
  1131. package/dist/src/ds/components/Slider/slider.stories.d.ts +1 -0
  1132. package/dist/src/ds/components/StatusIndicators/index.d.ts +3 -0
  1133. package/dist/src/ds/components/StatusIndicators/status-dot-styles.d.ts +11 -0
  1134. package/dist/src/ds/components/StatusIndicators/status-dot.d.ts +8 -0
  1135. package/dist/src/ds/components/StatusIndicators/status-dot.stories.d.ts +9 -0
  1136. package/dist/src/ds/components/StatusIndicators/status.d.ts +7 -0
  1137. package/dist/src/ds/components/StatusIndicators/status.stories.d.ts +7 -0
  1138. package/dist/src/ds/components/Workflow/cards/condition/workflow-condition-card-view.d.ts +2 -0
  1139. package/dist/src/ds/components/Workflow/cards/condition/workflow-condition-card.d.ts +3 -0
  1140. package/dist/src/ds/components/Workflow/cards/condition/workflow-condition-expression.d.ts +2 -0
  1141. package/dist/src/ds/components/Workflow/cards/condition/workflow-condition-source.d.ts +3 -0
  1142. package/dist/src/ds/components/Workflow/cards/step/workflow-step-card-view.d.ts +2 -0
  1143. package/dist/src/ds/components/Workflow/cards/timing/workflow-time-dial.d.ts +8 -0
  1144. package/dist/src/ds/components/Workflow/cards/timing/workflow-timing.d.ts +2 -0
  1145. package/dist/src/ds/components/Workflow/cards/workflow-card-badge-utils.d.ts +0 -1
  1146. package/dist/src/ds/components/Workflow/cards/workflow-card-kind.d.ts +10 -0
  1147. package/dist/src/ds/components/Workflow/cards/workflow-clock.d.ts +2 -1
  1148. package/dist/src/ds/components/Workflow/cards/workflow-type-badge.d.ts +2 -0
  1149. package/dist/src/ds/components/Workflow/controls/workflow-debug-controls.d.ts +5 -1
  1150. package/dist/src/ds/components/Workflow/data/workflow-edge-data-button.d.ts +4 -1
  1151. package/dist/src/ds/components/Workflow/graph/types.d.ts +1 -0
  1152. package/dist/src/ds/components/Workflow/graph/workflow-camera-duration.d.ts +1 -0
  1153. package/dist/src/ds/components/Workflow/graph/workflow-data-edge-view.d.ts +3 -1
  1154. package/dist/src/ds/components/Workflow/graph/workflow-graph-canvas.d.ts +5 -2
  1155. package/dist/src/ds/components/Workflow/graph/workflow-graph-groups.d.ts +11 -0
  1156. package/dist/src/ds/components/Workflow/graph/zoom-slider.d.ts +4 -1
  1157. package/dist/src/ds/components/Workflow/index.d.ts +5 -6
  1158. package/dist/src/ds/components/Workflow/stories/graph/graph-example.d.ts +4 -2
  1159. package/dist/src/ds/components/Workflow/stories/workflow-condition-card.stories.d.ts +4 -2
  1160. package/dist/src/ds/components/Workflow/stories/workflow-controls.stories.d.ts +5 -0
  1161. package/dist/src/ds/components/Workflow/stories/workflow-data.stories.d.ts +2 -1
  1162. package/dist/src/ds/components/Workflow/stories/workflow-graph.stories.d.ts +4 -1
  1163. package/dist/src/ds/components/Workflow/stories/workflow-step-card.stories.d.ts +7 -1
  1164. package/dist/src/ds/components/Workflow/types.d.ts +5 -11
  1165. package/dist/src/ds/components/Workflow/workflow-canvas-inset.d.ts +3 -0
  1166. package/dist/src/ds/components/ai/chat-event/chat-event-preview.d.ts +1 -0
  1167. package/dist/src/ds/components/ai/chat-event/chat-event.d.ts +14 -0
  1168. package/dist/src/ds/components/ai/chat-event/chat-notification.d.ts +17 -0
  1169. package/dist/src/ds/components/ai/chat-event/chat-signal.d.ts +9 -0
  1170. package/dist/src/ds/components/ai/chat-event/chat-skill.d.ts +7 -0
  1171. package/dist/src/ds/components/ai/chat-event/chat-time-gap.d.ts +3 -0
  1172. package/dist/src/ds/components/ai/chat-event/index.d.ts +7 -0
  1173. package/dist/src/ds/components/ai/chat-event/notification-variant.d.ts +2 -0
  1174. package/dist/src/ds/components/ai/chat-event/stories/notification.stories.d.ts +59 -0
  1175. package/dist/src/ds/components/ai/chat-event/stories/signal.stories.d.ts +46 -0
  1176. package/dist/src/ds/components/ai/chat-event/stories/skill.stories.d.ts +29 -0
  1177. package/dist/src/ds/components/ai/chat-event/stories/time-gap.stories.d.ts +16 -0
  1178. package/dist/src/ds/components/ai/tool-approval/index.d.ts +2 -0
  1179. package/dist/src/ds/components/ai/tool-approval/tool-approval-actions.stories.d.ts +44 -0
  1180. package/dist/src/ds/components/ai/tool-approval/tool-approval.d.ts +15 -0
  1181. package/dist/src/ds/components/ai/tool-approval/tool-approval.stories.d.ts +61 -0
  1182. package/dist/src/ds/components/ai/tool-call/index.d.ts +3 -0
  1183. package/dist/src/ds/components/ai/tool-call/tool-call-arguments.d.ts +8 -0
  1184. package/dist/src/ds/components/ai/tool-call/tool-call-output.d.ts +7 -0
  1185. package/dist/src/ds/components/ai/tool-call/tool-call-presentation.stories.d.ts +74 -0
  1186. package/dist/src/ds/components/ai/tool-call/tool-call-time.d.ts +3 -0
  1187. package/dist/src/ds/new/sidebar/index.d.ts +12 -0
  1188. package/dist/src/ds/new/sidebar/sidebar-new-brand.d.ts +6 -0
  1189. package/dist/src/ds/new/sidebar/sidebar-new-footer.d.ts +3 -0
  1190. package/dist/src/ds/new/sidebar/sidebar-new-header.d.ts +3 -0
  1191. package/dist/src/ds/new/sidebar/sidebar-new-meter.d.ts +24 -0
  1192. package/dist/src/ds/new/sidebar/sidebar-new-nav-header.d.ts +11 -0
  1193. package/dist/src/ds/new/sidebar/sidebar-new-nav-stack-context.d.ts +8 -0
  1194. package/dist/src/ds/new/sidebar/sidebar-new-nav-stack-page-classes.d.ts +1 -0
  1195. package/dist/src/ds/new/sidebar/sidebar-new-nav-stack-root-view.d.ts +3 -0
  1196. package/dist/src/ds/new/sidebar/sidebar-new-nav-stack-root.d.ts +7 -0
  1197. package/dist/src/ds/new/sidebar/sidebar-new-nav-stack-view.d.ts +9 -0
  1198. package/dist/src/ds/new/sidebar/sidebar-new-nav-stack.d.ts +10 -0
  1199. package/dist/src/ds/new/sidebar/sidebar-new-nav.d.ts +3 -0
  1200. package/dist/src/ds/new/sidebar/sidebar-new-root.d.ts +5 -0
  1201. package/dist/src/ds/new/sidebar/sidebar-new-section-link.d.ts +8 -0
  1202. package/dist/src/ds/new/sidebar/sidebar-new-sections.d.ts +8 -0
  1203. package/dist/src/ds/new/sidebar/sidebar-new-trigger.d.ts +3 -0
  1204. package/dist/src/ds/new/sidebar/sidebar-new.d.ts +36 -0
  1205. package/dist/src/ds/new/sidebar/sidebar-new.stories.d.ts +6 -0
  1206. package/dist/src/ds/tokens/color-foundations.stories.d.ts +5 -0
  1207. package/dist/src/ds/tokens/colors.d.ts +11 -0
  1208. package/dist/src/ds/tokens/tokens.stories.d.ts +2 -0
  1209. package/dist/src/ds/tokens/typography-foundations.stories.d.ts +5 -0
  1210. package/dist/src/hooks/use-local-storage-state.d.ts +16 -0
  1211. package/dist/src/lib/colors.d.ts +4 -0
  1212. package/dist/src/lib/resize/separator.d.ts +3 -3
  1213. package/dist/style.css +1158 -175
  1214. package/dist/switch-BcnKroGU.js +103 -0
  1215. package/dist/switch-BcnKroGU.js.map +1 -0
  1216. package/dist/switch-Ceskil-p.cjs +124 -0
  1217. package/dist/switch-Ceskil-p.cjs.map +1 -0
  1218. package/dist/tabs-content-BlFddYrd.cjs +31 -0
  1219. package/dist/tabs-content-BlFddYrd.cjs.map +1 -0
  1220. package/dist/tabs-content-CmPMnkWh.js +29 -0
  1221. package/dist/tabs-content-CmPMnkWh.js.map +1 -0
  1222. package/dist/tabs-root-BQher6zA.js +324 -0
  1223. package/dist/tabs-root-BQher6zA.js.map +1 -0
  1224. package/dist/tabs-root-C9QBXz5M.cjs +327 -0
  1225. package/dist/tabs-root-C9QBXz5M.cjs.map +1 -0
  1226. package/dist/tabs-tab-Bm3yxYaU.cjs +99 -0
  1227. package/dist/tabs-tab-Bm3yxYaU.cjs.map +1 -0
  1228. package/dist/tabs-tab-s-H_a_rq.js +97 -0
  1229. package/dist/tabs-tab-s-H_a_rq.js.map +1 -0
  1230. package/dist/text-field-block-CaKbUpyB.cjs +51 -0
  1231. package/dist/text-field-block-CaKbUpyB.cjs.map +1 -0
  1232. package/dist/text-field-block-CpyiVrs2.js +49 -0
  1233. package/dist/text-field-block-CpyiVrs2.js.map +1 -0
  1234. package/dist/textarea-Bmwc25Lg.js +62 -0
  1235. package/dist/textarea-Bmwc25Lg.js.map +1 -0
  1236. package/dist/textarea-DT2CGgeh.cjs +83 -0
  1237. package/dist/textarea-DT2CGgeh.cjs.map +1 -0
  1238. package/dist/thread-rail-CK8UN7hw.cjs +334 -0
  1239. package/dist/thread-rail-CK8UN7hw.cjs.map +1 -0
  1240. package/dist/thread-rail-DanTArf6.js +313 -0
  1241. package/dist/thread-rail-DanTArf6.js.map +1 -0
  1242. package/dist/time-picker-BDo0bkc7.js +76 -0
  1243. package/dist/time-picker-BDo0bkc7.js.map +1 -0
  1244. package/dist/time-picker-Cut4FeGH.cjs +78 -0
  1245. package/dist/time-picker-Cut4FeGH.cjs.map +1 -0
  1246. package/dist/toast-BfIhbri4.js +52 -0
  1247. package/dist/toast-BfIhbri4.js.map +1 -0
  1248. package/dist/toast-DF-uDV6R.cjs +55 -0
  1249. package/dist/toast-DF-uDV6R.cjs.map +1 -0
  1250. package/dist/tokens.cjs.js +1 -1
  1251. package/dist/tokens.es.js +1 -1
  1252. package/dist/tool-approval-B_6bj-6N.cjs +69 -0
  1253. package/dist/tool-approval-B_6bj-6N.cjs.map +1 -0
  1254. package/dist/tool-approval-RUhKvh57.js +66 -0
  1255. package/dist/tool-approval-RUhKvh57.js.map +1 -0
  1256. package/dist/tool-call-B-OO_6DC.js +181 -0
  1257. package/dist/tool-call-B-OO_6DC.js.map +1 -0
  1258. package/dist/tool-call-DEtotEm0.cjs +196 -0
  1259. package/dist/tool-call-DEtotEm0.cjs.map +1 -0
  1260. package/dist/tooltip-D1PLTHDf.js +112 -0
  1261. package/dist/tooltip-D1PLTHDf.js.map +1 -0
  1262. package/dist/tooltip-D9ylrXmx.cjs +136 -0
  1263. package/dist/tooltip-D9ylrXmx.cjs.map +1 -0
  1264. package/dist/tooltip.css +31 -0
  1265. package/dist/traces-data-list-B6WI6noa.cjs +86 -0
  1266. package/dist/traces-data-list-B6WI6noa.cjs.map +1 -0
  1267. package/dist/traces-data-list-DC2gtmyd.js +84 -0
  1268. package/dist/traces-data-list-DC2gtmyd.js.map +1 -0
  1269. package/dist/utils/cn.cjs.js +1 -1
  1270. package/dist/utils/cn.es.js +1 -1
  1271. package/dist/utils/colors.cjs.js +7 -0
  1272. package/dist/utils/colors.cjs.js.map +1 -1
  1273. package/dist/utils/colors.es.js +6 -1
  1274. package/dist/utils/colors.es.js.map +1 -1
  1275. package/dist/utils/toast.cjs.js +1 -1
  1276. package/dist/utils/toast.es.js +1 -1
  1277. package/new-theme.css +31 -0
  1278. package/package.json +19 -11
  1279. package/theme.css +53 -0
  1280. package/dist/Badge-B-LKnrNk.cjs +0 -125
  1281. package/dist/Badge-B-LKnrNk.cjs.map +0 -1
  1282. package/dist/Badge-BqVBVHGc.js +0 -123
  1283. package/dist/Badge-BqVBVHGc.js.map +0 -1
  1284. package/dist/Button-BJOVwaxp.cjs +0 -137
  1285. package/dist/Button-BJOVwaxp.cjs.map +0 -1
  1286. package/dist/Button-BVGwYwHT.js +0 -133
  1287. package/dist/Button-BVGwYwHT.js.map +0 -1
  1288. package/dist/Card-DYmiv8Dx.js +0 -96
  1289. package/dist/Card-DYmiv8Dx.js.map +0 -1
  1290. package/dist/Card-DZjvLsN9.cjs +0 -123
  1291. package/dist/Card-DZjvLsN9.cjs.map +0 -1
  1292. package/dist/Composer.css +0 -102
  1293. package/dist/EmptyState--bOUm8JU.cjs +0 -33
  1294. package/dist/EmptyState--bOUm8JU.cjs.map +0 -1
  1295. package/dist/EmptyState-CLoSRKxC.js +0 -31
  1296. package/dist/EmptyState-CLoSRKxC.js.map +0 -1
  1297. package/dist/Notice-CMZ86f1g.js +0 -89
  1298. package/dist/Notice-CMZ86f1g.js.map +0 -1
  1299. package/dist/Notice-D0Mvqvr0.cjs +0 -91
  1300. package/dist/Notice-D0Mvqvr0.cjs.map +0 -1
  1301. package/dist/PermissionDenied-BmAbJ1Xn.js +0 -22
  1302. package/dist/PermissionDenied-BmAbJ1Xn.js.map +0 -1
  1303. package/dist/PermissionDenied-Dge5a7OX.cjs +0 -24
  1304. package/dist/PermissionDenied-Dge5a7OX.cjs.map +0 -1
  1305. package/dist/SessionExpired-CAOgb-6E.cjs +0 -47
  1306. package/dist/SessionExpired-CAOgb-6E.cjs.map +0 -1
  1307. package/dist/SessionExpired-DSPFseGA.js +0 -45
  1308. package/dist/SessionExpired-DSPFseGA.js.map +0 -1
  1309. package/dist/Txt-CfPhlZOu.js +0 -28
  1310. package/dist/Txt-CfPhlZOu.js.map +0 -1
  1311. package/dist/Txt-i-sXSs2m.cjs +0 -30
  1312. package/dist/Txt-i-sXSs2m.cjs.map +0 -1
  1313. package/dist/arrival-Cf8ZO8cU.js +0 -19
  1314. package/dist/arrival-Cf8ZO8cU.js.map +0 -1
  1315. package/dist/arrival-Ck5yjMkc.cjs +0 -22
  1316. package/dist/arrival-Ck5yjMkc.cjs.map +0 -1
  1317. package/dist/ask-user-DQGe7ZTv.cjs +0 -146
  1318. package/dist/ask-user-DQGe7ZTv.cjs.map +0 -1
  1319. package/dist/ask-user-Dh9YowL4.js +0 -137
  1320. package/dist/ask-user-Dh9YowL4.js.map +0 -1
  1321. package/dist/buttons-group-CHyXDQBp.js +0 -162
  1322. package/dist/buttons-group-CHyXDQBp.js.map +0 -1
  1323. package/dist/buttons-group-jq7kUVlX.cjs +0 -186
  1324. package/dist/buttons-group-jq7kUVlX.cjs.map +0 -1
  1325. package/dist/checkbox-CC39oYEv.js +0 -88
  1326. package/dist/checkbox-CC39oYEv.js.map +0 -1
  1327. package/dist/checkbox-DWXCTy8y.cjs +0 -109
  1328. package/dist/checkbox-DWXCTy8y.cjs.map +0 -1
  1329. package/dist/cn-ByEbywDh.js +0 -3291
  1330. package/dist/cn-ByEbywDh.js.map +0 -1
  1331. package/dist/cn-DnbTIGXa.cjs +0 -3294
  1332. package/dist/cn-DnbTIGXa.cjs.map +0 -1
  1333. package/dist/code-block-BdzrmA-p.js +0 -86
  1334. package/dist/code-block-BdzrmA-p.js.map +0 -1
  1335. package/dist/code-block-D1RequlX.cjs +0 -88
  1336. package/dist/code-block-D1RequlX.cjs.map +0 -1
  1337. package/dist/code-editor-CopnXVKT.cjs +0 -486
  1338. package/dist/code-editor-CopnXVKT.cjs.map +0 -1
  1339. package/dist/code-editor-D7BftGSx.js +0 -478
  1340. package/dist/code-editor-D7BftGSx.js.map +0 -1
  1341. package/dist/collapsible-4eeo2ZU2.js +0 -57
  1342. package/dist/collapsible-4eeo2ZU2.js.map +0 -1
  1343. package/dist/collapsible-JOs0f0e1.cjs +0 -61
  1344. package/dist/collapsible-JOs0f0e1.cjs.map +0 -1
  1345. package/dist/combobox-DO__6QlF.cjs +0 -276
  1346. package/dist/combobox-DO__6QlF.cjs.map +0 -1
  1347. package/dist/combobox-Ua6bvpM8.js +0 -254
  1348. package/dist/combobox-Ua6bvpM8.js.map +0 -1
  1349. package/dist/command-CNKdcyyr.js +0 -168
  1350. package/dist/command-CNKdcyyr.js.map +0 -1
  1351. package/dist/command-Cva4qgS9.cjs +0 -197
  1352. package/dist/command-Cva4qgS9.cjs.map +0 -1
  1353. package/dist/copy-button-ChUCFd-x.js +0 -46
  1354. package/dist/copy-button-ChUCFd-x.js.map +0 -1
  1355. package/dist/copy-button-zLZfswrj.cjs +0 -48
  1356. package/dist/copy-button-zLZfswrj.cjs.map +0 -1
  1357. package/dist/dashboard-card-0kjXfhTF.cjs +0 -11
  1358. package/dist/dashboard-card-0kjXfhTF.cjs.map +0 -1
  1359. package/dist/dashboard-card-CDg79V_9.js +0 -9
  1360. package/dist/dashboard-card-CDg79V_9.js.map +0 -1
  1361. package/dist/data-code-section-BLvh46xK.cjs +0 -364
  1362. package/dist/data-code-section-BLvh46xK.cjs.map +0 -1
  1363. package/dist/data-code-section-DSelBhmP.js +0 -361
  1364. package/dist/data-code-section-DSelBhmP.js.map +0 -1
  1365. package/dist/data-keys-and-values-778xnwOK.js +0 -122
  1366. package/dist/data-keys-and-values-778xnwOK.js.map +0 -1
  1367. package/dist/data-keys-and-values-CUqVRfqS.cjs +0 -124
  1368. package/dist/data-keys-and-values-CUqVRfqS.cjs.map +0 -1
  1369. package/dist/data-list-4_cVlINT.cjs +0 -183
  1370. package/dist/data-list-4_cVlINT.cjs.map +0 -1
  1371. package/dist/data-list-Bm70XKg_.js +0 -179
  1372. package/dist/data-list-Bm70XKg_.js.map +0 -1
  1373. package/dist/data-list-skeleton-B7flrjdA.cjs +0 -38
  1374. package/dist/data-list-skeleton-B7flrjdA.cjs.map +0 -1
  1375. package/dist/data-list-skeleton-BJVs8rDE.js +0 -36
  1376. package/dist/data-list-skeleton-BJVs8rDE.js.map +0 -1
  1377. package/dist/data-list-top-BeUxfGy2.js +0 -481
  1378. package/dist/data-list-top-BeUxfGy2.js.map +0 -1
  1379. package/dist/data-list-top-D9zFnKEi.cjs +0 -510
  1380. package/dist/data-list-top-D9zFnKEi.cjs.map +0 -1
  1381. package/dist/data-panel-5iuux0r_.js +0 -89
  1382. package/dist/data-panel-5iuux0r_.js.map +0 -1
  1383. package/dist/data-panel-tSErqolu.cjs +0 -91
  1384. package/dist/data-panel-tSErqolu.cjs.map +0 -1
  1385. package/dist/date-picker-Cj8MwnUv.cjs +0 -50
  1386. package/dist/date-picker-Cj8MwnUv.cjs.map +0 -1
  1387. package/dist/date-picker-LbXedaEh.js +0 -48
  1388. package/dist/date-picker-LbXedaEh.js.map +0 -1
  1389. package/dist/date-time-range-picker-C0J7p78l.cjs +0 -167
  1390. package/dist/date-time-range-picker-C0J7p78l.cjs.map +0 -1
  1391. package/dist/date-time-range-picker-CcoU5-2_.js +0 -165
  1392. package/dist/date-time-range-picker-CcoU5-2_.js.map +0 -1
  1393. package/dist/dialog-B1DwyLJJ.cjs +0 -276
  1394. package/dist/dialog-B1DwyLJJ.cjs.map +0 -1
  1395. package/dist/dialog-Dfrt_JCJ.js +0 -242
  1396. package/dist/dialog-Dfrt_JCJ.js.map +0 -1
  1397. package/dist/domains/traces/components/span-duration-col.cjs.js +0 -25
  1398. package/dist/domains/traces/components/span-duration-col.cjs.js.map +0 -1
  1399. package/dist/domains/traces/components/span-duration-col.d.ts +0 -2
  1400. package/dist/domains/traces/components/span-duration-col.es.js +0 -21
  1401. package/dist/domains/traces/components/span-duration-col.es.js.map +0 -1
  1402. package/dist/domains/traces/components/span-timeline-col.cjs.js +0 -48
  1403. package/dist/domains/traces/components/span-timeline-col.cjs.js.map +0 -1
  1404. package/dist/domains/traces/components/span-timeline-col.d.ts +0 -2
  1405. package/dist/domains/traces/components/span-timeline-col.es.js +0 -44
  1406. package/dist/domains/traces/components/span-timeline-col.es.js.map +0 -1
  1407. package/dist/domains/traces/components/timeline-expand-col.cjs.js +0 -89
  1408. package/dist/domains/traces/components/timeline-expand-col.cjs.js.map +0 -1
  1409. package/dist/domains/traces/components/timeline-expand-col.d.ts +0 -2
  1410. package/dist/domains/traces/components/timeline-expand-col.es.js +0 -85
  1411. package/dist/domains/traces/components/timeline-expand-col.es.js.map +0 -1
  1412. package/dist/domains/traces/components/traces-layout.cjs.js +0 -63
  1413. package/dist/domains/traces/components/traces-layout.cjs.js.map +0 -1
  1414. package/dist/domains/traces/components/traces-layout.d.ts +0 -2
  1415. package/dist/domains/traces/components/traces-layout.es.js +0 -59
  1416. package/dist/domains/traces/components/traces-layout.es.js.map +0 -1
  1417. package/dist/domains/traces/components/traces-toolbar.cjs.js +0 -70
  1418. package/dist/domains/traces/components/traces-toolbar.cjs.js.map +0 -1
  1419. package/dist/domains/traces/components/traces-toolbar.d.ts +0 -2
  1420. package/dist/domains/traces/components/traces-toolbar.es.js +0 -66
  1421. package/dist/domains/traces/components/traces-toolbar.es.js.map +0 -1
  1422. package/dist/drawer-Bq7j_MiM.cjs +0 -366
  1423. package/dist/drawer-Bq7j_MiM.cjs.map +0 -1
  1424. package/dist/drawer-D1m2faHU.js +0 -326
  1425. package/dist/drawer-D1m2faHU.js.map +0 -1
  1426. package/dist/dropdown-menu-Bfh5ROWe.cjs +0 -227
  1427. package/dist/dropdown-menu-Bfh5ROWe.cjs.map +0 -1
  1428. package/dist/dropdown-menu-C853KwJJ.js +0 -206
  1429. package/dist/dropdown-menu-C853KwJJ.js.map +0 -1
  1430. package/dist/field-block-CVOfRWvX.js +0 -85
  1431. package/dist/field-block-CVOfRWvX.js.map +0 -1
  1432. package/dist/field-block-DosykAiQ.cjs +0 -87
  1433. package/dist/field-block-DosykAiQ.cjs.map +0 -1
  1434. package/dist/horizontal-bars--Czy2stS.cjs +0 -141
  1435. package/dist/horizontal-bars--Czy2stS.cjs.map +0 -1
  1436. package/dist/horizontal-bars-_vgi09Md.js +0 -139
  1437. package/dist/horizontal-bars-_vgi09Md.js.map +0 -1
  1438. package/dist/hover-card-B5zQKp9k.js +0 -68
  1439. package/dist/hover-card-B5zQKp9k.js.map +0 -1
  1440. package/dist/hover-card-B_Wz_e0F.cjs +0 -91
  1441. package/dist/hover-card-B_Wz_e0F.cjs.map +0 -1
  1442. package/dist/index-BxcigDwC.cjs +0 -47
  1443. package/dist/index-BxcigDwC.cjs.map +0 -1
  1444. package/dist/index-CZvpHqka.js +0 -45
  1445. package/dist/index-CZvpHqka.js.map +0 -1
  1446. package/dist/input-D3SUXvgI.cjs +0 -85
  1447. package/dist/input-D3SUXvgI.cjs.map +0 -1
  1448. package/dist/input-DinpgQXj.js +0 -64
  1449. package/dist/input-DinpgQXj.js.map +0 -1
  1450. package/dist/input-group-CBuqhxnJ.cjs +0 -242
  1451. package/dist/input-group-CBuqhxnJ.cjs.map +0 -1
  1452. package/dist/input-group-Dv1YsFDZ.js +0 -216
  1453. package/dist/input-group-Dv1YsFDZ.js.map +0 -1
  1454. package/dist/kbd-BaoBQUlL.cjs +0 -34
  1455. package/dist/kbd-BaoBQUlL.cjs.map +0 -1
  1456. package/dist/kbd-Bod0H0VQ.js +0 -32
  1457. package/dist/kbd-Bod0H0VQ.js.map +0 -1
  1458. package/dist/label-BICQQTjz.cjs +0 -34
  1459. package/dist/label-BICQQTjz.cjs.map +0 -1
  1460. package/dist/label-BKfZzqfr.js +0 -13
  1461. package/dist/label-BKfZzqfr.js.map +0 -1
  1462. package/dist/list-search-BwcO9d9M.cjs +0 -73
  1463. package/dist/list-search-BwcO9d9M.cjs.map +0 -1
  1464. package/dist/list-search-C8FBcDpo.js +0 -71
  1465. package/dist/list-search-C8FBcDpo.js.map +0 -1
  1466. package/dist/logs-data-list-B0hzHq0b.cjs +0 -81
  1467. package/dist/logs-data-list-B0hzHq0b.cjs.map +0 -1
  1468. package/dist/logs-data-list-CWu83qI7.js +0 -79
  1469. package/dist/logs-data-list-CWu83qI7.js.map +0 -1
  1470. package/dist/markdown-renderer-Dp1fJwUB.js +0 -408
  1471. package/dist/markdown-renderer-Dp1fJwUB.js.map +0 -1
  1472. package/dist/markdown-renderer-hBiN_N_-.cjs +0 -410
  1473. package/dist/markdown-renderer-hBiN_N_-.cjs.map +0 -1
  1474. package/dist/message-scroller-A5mO14YC.cjs +0 -857
  1475. package/dist/message-scroller-A5mO14YC.cjs.map +0 -1
  1476. package/dist/message-scroller-JeImISU5.js +0 -831
  1477. package/dist/message-scroller-JeImISU5.js.map +0 -1
  1478. package/dist/metrics-card-DJC-d549.cjs +0 -95
  1479. package/dist/metrics-card-DJC-d549.cjs.map +0 -1
  1480. package/dist/metrics-card-kreeaS1o.js +0 -93
  1481. package/dist/metrics-card-kreeaS1o.js.map +0 -1
  1482. package/dist/metrics-kpi-card-CgB7izeJ.cjs +0 -79
  1483. package/dist/metrics-kpi-card-CgB7izeJ.cjs.map +0 -1
  1484. package/dist/metrics-kpi-card-D5s2a9Xh.js +0 -77
  1485. package/dist/metrics-kpi-card-D5s2a9Xh.js.map +0 -1
  1486. package/dist/no-data-page-layout-BHmXbQix.js +0 -101
  1487. package/dist/no-data-page-layout-BHmXbQix.js.map +0 -1
  1488. package/dist/no-data-page-layout-BrqtWTU9.cjs +0 -104
  1489. package/dist/no-data-page-layout-BrqtWTU9.cjs.map +0 -1
  1490. package/dist/page-header-CGRV1f_f.js +0 -123
  1491. package/dist/page-header-CGRV1f_f.js.map +0 -1
  1492. package/dist/page-header-CTdBcOWK.cjs +0 -125
  1493. package/dist/page-header-CTdBcOWK.cjs.map +0 -1
  1494. package/dist/popover-DL_Vqxfp.cjs +0 -121
  1495. package/dist/popover-DL_Vqxfp.cjs.map +0 -1
  1496. package/dist/popover-L2o0kHi2.js +0 -97
  1497. package/dist/popover-L2o0kHi2.js.map +0 -1
  1498. package/dist/property-filter-applied-CF-InSu-.js +0 -344
  1499. package/dist/property-filter-applied-CF-InSu-.js.map +0 -1
  1500. package/dist/property-filter-applied-D35zWa7S.cjs +0 -348
  1501. package/dist/property-filter-applied-D35zWa7S.cjs.map +0 -1
  1502. package/dist/sankey-chart-D4lfGeI-.js +0 -916
  1503. package/dist/sankey-chart-D4lfGeI-.js.map +0 -1
  1504. package/dist/sankey-chart-ZfcUvZFu.cjs +0 -926
  1505. package/dist/sankey-chart-ZfcUvZFu.cjs.map +0 -1
  1506. package/dist/scroll-area-B0L1nYJS.js +0 -223
  1507. package/dist/scroll-area-B0L1nYJS.js.map +0 -1
  1508. package/dist/scroll-area-DK4w_mMg.cjs +0 -245
  1509. package/dist/scroll-area-DK4w_mMg.cjs.map +0 -1
  1510. package/dist/search-field-block-DhgD7NhZ.js +0 -119
  1511. package/dist/search-field-block-DhgD7NhZ.js.map +0 -1
  1512. package/dist/search-field-block-DnJYUEGi.cjs +0 -121
  1513. package/dist/search-field-block-DnJYUEGi.cjs.map +0 -1
  1514. package/dist/section-9jESC1la.js +0 -111
  1515. package/dist/section-9jESC1la.js.map +0 -1
  1516. package/dist/section-C_yrhQFt.cjs +0 -115
  1517. package/dist/section-C_yrhQFt.cjs.map +0 -1
  1518. package/dist/select-3GcRJGtd.js +0 -133
  1519. package/dist/select-3GcRJGtd.js.map +0 -1
  1520. package/dist/select-4dVGVp0V.cjs +0 -159
  1521. package/dist/select-4dVGVp0V.cjs.map +0 -1
  1522. package/dist/select-field-block-BEyjBDiB.js +0 -48
  1523. package/dist/select-field-block-BEyjBDiB.js.map +0 -1
  1524. package/dist/select-field-block-By8NfJoe.cjs +0 -50
  1525. package/dist/select-field-block-By8NfJoe.cjs.map +0 -1
  1526. package/dist/settings-container-C3d4Y528.js +0 -26
  1527. package/dist/settings-container-C3d4Y528.js.map +0 -1
  1528. package/dist/settings-container-aSJeNRdZ.cjs +0 -29
  1529. package/dist/settings-container-aSJeNRdZ.cjs.map +0 -1
  1530. package/dist/settings-layout-BjjVaZgN.cjs +0 -57
  1531. package/dist/settings-layout-BjjVaZgN.cjs.map +0 -1
  1532. package/dist/settings-layout-DlXTuCQ7.js +0 -55
  1533. package/dist/settings-layout-DlXTuCQ7.js.map +0 -1
  1534. package/dist/settings-row-BKz6r927.cjs +0 -92
  1535. package/dist/settings-row-BKz6r927.cjs.map +0 -1
  1536. package/dist/settings-row-T98nqxPD.js +0 -89
  1537. package/dist/settings-row-T98nqxPD.js.map +0 -1
  1538. package/dist/shimmer-Bt9INFuE.js +0 -23
  1539. package/dist/shimmer-Bt9INFuE.js.map +0 -1
  1540. package/dist/shimmer-GOCqjnzu.cjs +0 -25
  1541. package/dist/shimmer-GOCqjnzu.cjs.map +0 -1
  1542. package/dist/skeleton-DYq_5Fad.cjs +0 -25
  1543. package/dist/skeleton-DYq_5Fad.cjs.map +0 -1
  1544. package/dist/skeleton-KJCC29GI.js +0 -23
  1545. package/dist/skeleton-KJCC29GI.js.map +0 -1
  1546. package/dist/slider-AfRJ3a4W.js +0 -88
  1547. package/dist/slider-AfRJ3a4W.js.map +0 -1
  1548. package/dist/slider-BXYQmaQy.cjs +0 -90
  1549. package/dist/slider-BXYQmaQy.cjs.map +0 -1
  1550. package/dist/spacings-DQxytUI3.js +0 -162
  1551. package/dist/spacings-DQxytUI3.js.map +0 -1
  1552. package/dist/spacings-VmI3HJoY.cjs +0 -170
  1553. package/dist/spacings-VmI3HJoY.cjs.map +0 -1
  1554. package/dist/spinner-Bj7FQzLQ.cjs +0 -53
  1555. package/dist/spinner-Bj7FQzLQ.cjs.map +0 -1
  1556. package/dist/spinner-CUkNhTKC.js +0 -51
  1557. package/dist/spinner-CUkNhTKC.js.map +0 -1
  1558. package/dist/src/domains/traces/components/span-duration-col.d.ts +0 -9
  1559. package/dist/src/domains/traces/components/span-timeline-col.d.ts +0 -6
  1560. package/dist/src/domains/traces/components/timeline-expand-col.d.ts +0 -18
  1561. package/dist/src/domains/traces/components/traces-layout.d.ts +0 -30
  1562. package/dist/src/domains/traces/components/traces-toolbar.d.ts +0 -19
  1563. package/dist/src/ds/components/Composer/use-composer-pointer-angle.d.ts +0 -2
  1564. package/dist/src/ds/components/Workflow/cards/workflow-card-badges.d.ts +0 -6
  1565. package/dist/src/ds/components/Workflow/cards/workflow-card-status-icon.d.ts +0 -6
  1566. package/dist/src/ds/components/Workflow/cards/workflow-condition-card-view.d.ts +0 -2
  1567. package/dist/src/ds/components/Workflow/cards/workflow-condition-card.d.ts +0 -5
  1568. package/dist/src/ds/components/Workflow/cards/workflow-condition-code.d.ts +0 -12
  1569. package/dist/src/ds/components/Workflow/cards/workflow-step-card-view.d.ts +0 -2
  1570. package/dist/switch-A-j7GDcX.js +0 -103
  1571. package/dist/switch-A-j7GDcX.js.map +0 -1
  1572. package/dist/switch-BROLIeGF.cjs +0 -124
  1573. package/dist/switch-BROLIeGF.cjs.map +0 -1
  1574. package/dist/tabs-content-CV7YrtD1.cjs +0 -31
  1575. package/dist/tabs-content-CV7YrtD1.cjs.map +0 -1
  1576. package/dist/tabs-content-CW6RtAEV.js +0 -29
  1577. package/dist/tabs-content-CW6RtAEV.js.map +0 -1
  1578. package/dist/tabs-root-BAy8m6GO.js +0 -324
  1579. package/dist/tabs-root-BAy8m6GO.js.map +0 -1
  1580. package/dist/tabs-root-Dw7gHsnZ.cjs +0 -327
  1581. package/dist/tabs-root-Dw7gHsnZ.cjs.map +0 -1
  1582. package/dist/tabs-tab-CP-kzlvB.cjs +0 -99
  1583. package/dist/tabs-tab-CP-kzlvB.cjs.map +0 -1
  1584. package/dist/tabs-tab-K5mQhs7r.js +0 -97
  1585. package/dist/tabs-tab-K5mQhs7r.js.map +0 -1
  1586. package/dist/text-field-block-CUN9gL4j.js +0 -49
  1587. package/dist/text-field-block-CUN9gL4j.js.map +0 -1
  1588. package/dist/text-field-block-WuwrSNEX.cjs +0 -51
  1589. package/dist/text-field-block-WuwrSNEX.cjs.map +0 -1
  1590. package/dist/textarea-BCVPeJzr.js +0 -62
  1591. package/dist/textarea-BCVPeJzr.js.map +0 -1
  1592. package/dist/textarea-D9XsLoN5.cjs +0 -83
  1593. package/dist/textarea-D9XsLoN5.cjs.map +0 -1
  1594. package/dist/thread-rail-lebYetuv.cjs +0 -334
  1595. package/dist/thread-rail-lebYetuv.cjs.map +0 -1
  1596. package/dist/thread-rail-o19IAzcJ.js +0 -313
  1597. package/dist/thread-rail-o19IAzcJ.js.map +0 -1
  1598. package/dist/time-picker-BKpmCbXS.cjs +0 -78
  1599. package/dist/time-picker-BKpmCbXS.cjs.map +0 -1
  1600. package/dist/time-picker-SgrQvt0V.js +0 -76
  1601. package/dist/time-picker-SgrQvt0V.js.map +0 -1
  1602. package/dist/toast-FypW736q.cjs +0 -55
  1603. package/dist/toast-FypW736q.cjs.map +0 -1
  1604. package/dist/toast-Xv8jgrMR.js +0 -52
  1605. package/dist/toast-Xv8jgrMR.js.map +0 -1
  1606. package/dist/tool-call-BlKbOYRH.js +0 -181
  1607. package/dist/tool-call-BlKbOYRH.js.map +0 -1
  1608. package/dist/tool-call-DVh_yWov.cjs +0 -196
  1609. package/dist/tool-call-DVh_yWov.cjs.map +0 -1
  1610. package/dist/tooltip-BsSNtmxl.cjs +0 -136
  1611. package/dist/tooltip-BsSNtmxl.cjs.map +0 -1
  1612. package/dist/tooltip-Vj_jjcxE.js +0 -112
  1613. package/dist/tooltip-Vj_jjcxE.js.map +0 -1
  1614. package/dist/traces-data-list-0WfYCKdc.cjs +0 -86
  1615. package/dist/traces-data-list-0WfYCKdc.cjs.map +0 -1
  1616. package/dist/traces-data-list-BOiAOwYM.js +0 -84
  1617. package/dist/traces-data-list-BOiAOwYM.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"trace-filters.cjs.js","sources":["../../../src/domains/traces/trace-filters.ts"],"sourcesContent":["import type { EntityType } from '@mastra/core/observability';\nimport type { ListTracesArgs } from '@mastra/core/storage';\nimport type { TraceDatePreset } from './types';\nimport type { PropertyFilterField, PropertyFilterToken } from '@/ds/components/PropertyFilter/types';\n\ntype EntityTypeValue = `${EntityType}`;\n\nexport type EntityOptions = { label: string; entityType: EntityTypeValue };\n\nexport const ROOT_ENTITY_TYPES = {\n AGENT: 'agent',\n WORKFLOW: 'workflow_run',\n SCORER: 'scorer',\n INGEST: 'rag_ingestion',\n} as const satisfies Record<string, EntityTypeValue>;\n\nexport const ROOT_ENTITY_TYPE_OPTIONS = [\n { label: 'Agent', entityType: ROOT_ENTITY_TYPES.AGENT },\n { label: 'Workflow', entityType: ROOT_ENTITY_TYPES.WORKFLOW },\n { label: 'Scorer', entityType: ROOT_ENTITY_TYPES.SCORER },\n { label: 'Ingest', entityType: ROOT_ENTITY_TYPES.INGEST },\n] as const satisfies readonly EntityOptions[];\n\nexport type TraceStatusFilter = 'running' | 'success' | 'error';\n\nexport const TRACE_STATUS_OPTIONS = [\n { label: 'Running', value: 'running' },\n { label: 'Success', value: 'success' },\n { label: 'Error', value: 'error' },\n] as const satisfies readonly { label: string; value: TraceStatusFilter }[];\n\n/** Field ids for \"synthetic\" filter entries — they live in dedicated URL params\n * rather than the generic `filter*` set, but appear as rows in the Filter\n * popover so users can manage all filters from one place. */\nexport const TRACE_SYNTHETIC_FILTER_FIELD_IDS = ['rootEntityType', 'status'] as const;\n\nexport const TRACE_ROOT_ENTITY_TYPE_PARAM = 'rootEntityType';\nexport const TRACE_STATUS_PARAM = 'status';\nexport const TRACE_LIST_MODE_PARAM = 'listMode';\n/** Branch-mode only: identifies the anchor span that defines the displayed subtree.\n * Stable across intra-panel span navigation (which only changes `spanId`). */\nexport const TRACE_ANCHOR_SPAN_ID_PARAM = 'anchorSpanId';\nexport const TRACE_LIST_MODE_VALUES = new Set(['traces', 'branches'] as const);\nexport type TraceListMode = 'traces' | 'branches';\n\nexport const TRACE_LIST_MODE_OPTIONS = [\n { label: 'Traces (default)', value: 'traces' },\n { label: 'Branches', value: 'branches' },\n] as const satisfies readonly { label: string; value: TraceListMode }[];\nexport const TRACE_DATE_PRESET_PARAM = 'datePreset';\nexport const TRACE_DATE_FROM_PARAM = 'dateFrom';\nexport const TRACE_DATE_TO_PARAM = 'dateTo';\n\nexport const TRACE_DATE_PRESET_VALUES = new Set<TraceDatePreset>([\n 'all',\n 'last-24h',\n 'last-3d',\n 'last-7d',\n 'last-14d',\n 'last-30d',\n 'custom',\n]);\n\nexport const TRACE_PROPERTY_FILTER_PARAM_BY_FIELD = {\n tags: 'filterTags',\n entityId: 'filterEntityId',\n entityName: 'filterEntityName',\n traceId: 'filterTraceId',\n runId: 'filterRunId',\n threadId: 'filterThreadId',\n sessionId: 'filterSessionId',\n requestId: 'filterRequestId',\n resourceId: 'filterResourceId',\n userId: 'filterUserId',\n organizationId: 'filterOrganizationId',\n serviceName: 'filterServiceName',\n environment: 'filterEnvironment',\n experimentId: 'filterExperimentId',\n} as const;\n\nexport const TRACE_PROPERTY_FILTER_FIELD_IDS = Object.keys(TRACE_PROPERTY_FILTER_PARAM_BY_FIELD) as Array<\n keyof typeof TRACE_PROPERTY_FILTER_PARAM_BY_FIELD\n>;\n\nexport const TRACE_STATUS_VALUES = new Set<TraceStatusFilter>(['running', 'success', 'error']);\n\nexport const DEFAULT_TRACE_FILTERS_STORAGE_KEY = 'mastra:traces:saved-filters';\n\n/** Serialize the filter-related URL params (relative date preset + rootEntityType +\n * status + generic filterX set) to localStorage so the user can restore them on next\n * visit. A `custom` absolute range is never saved: it would be stale by the next visit.\n * An empty set clears the key. Throws no errors — storage being unavailable is fine. */\nexport function saveTraceFiltersToStorage(\n params: URLSearchParams,\n storageKey: string = DEFAULT_TRACE_FILTERS_STORAGE_KEY,\n): void {\n const serialized = getPreservedTraceFilterParams(params);\n const preset = params.get(TRACE_DATE_PRESET_PARAM);\n if (preset && preset !== 'custom') serialized.set(TRACE_DATE_PRESET_PARAM, preset);\n\n if (!serialized.toString()) {\n clearSavedTraceFilters(storageKey);\n return;\n }\n\n try {\n localStorage.setItem(storageKey, serialized.toString());\n } catch {\n // localStorage may be unavailable (private mode / quota) — silently skip.\n }\n}\n\n/** Forget any previously saved filter set. Called from the \"Remove filters\"\n * action so the next plain sidebar nav lands on an empty page. */\nexport function clearSavedTraceFilters(storageKey: string = DEFAULT_TRACE_FILTERS_STORAGE_KEY): void {\n try {\n localStorage.removeItem(storageKey);\n } catch {\n // ignore — storage may be unavailable\n }\n}\n\n/** Read a previously saved filter set and return it as URLSearchParams, or\n * null if nothing is saved or storage is unavailable. */\nexport function loadTraceFiltersFromStorage(\n storageKey: string = DEFAULT_TRACE_FILTERS_STORAGE_KEY,\n): URLSearchParams | null {\n try {\n const raw = localStorage.getItem(storageKey);\n if (!raw) return null;\n const parsed = new URLSearchParams(raw);\n return parsed.toString() ? parsed : null;\n } catch {\n return null;\n }\n}\n\n/** True when `params` carries any filter-related key — used to decide whether\n * to hydrate from localStorage on page mount (we only hydrate when the URL is\n * filter-clean, i.e. the user landed here via a plain sidebar nav). */\nexport function hasAnyTraceFilterParams(params: URLSearchParams): boolean {\n if (params.has(TRACE_DATE_PRESET_PARAM)) return true;\n if (params.has(TRACE_DATE_FROM_PARAM)) return true;\n if (params.has(TRACE_DATE_TO_PARAM)) return true;\n if (params.has(TRACE_ROOT_ENTITY_TYPE_PARAM)) return true;\n if (params.has(TRACE_STATUS_PARAM)) return true;\n if (params.has(TRACE_LIST_MODE_PARAM)) return true;\n for (const fieldId of TRACE_PROPERTY_FILTER_FIELD_IDS) {\n if (params.has(TRACE_PROPERTY_FILTER_PARAM_BY_FIELD[fieldId])) return true;\n }\n return false;\n}\n\nexport function createTracePropertyFilterFields({\n availableTags,\n availableRootEntityNames,\n availableServiceNames,\n availableEnvironments,\n loading,\n}: {\n availableTags: string[];\n availableRootEntityNames: string[];\n availableServiceNames: string[];\n availableEnvironments: string[];\n loading?: {\n tags?: boolean;\n entityNames?: boolean;\n serviceNames?: boolean;\n environments?: boolean;\n };\n}): PropertyFilterField[] {\n const fields: PropertyFilterField[] = [\n {\n id: 'rootEntityType',\n label: 'Primitive Type',\n kind: 'pick-multi',\n searchable: false,\n options: ROOT_ENTITY_TYPE_OPTIONS.map(o => ({ label: o.label, value: o.entityType })),\n placeholder: 'Choose entity type',\n emptyText: 'No entity types.',\n },\n {\n id: 'entityName',\n label: 'Primitive Name',\n kind: 'pick-multi',\n options: availableRootEntityNames.map(name => ({ label: name, value: name })),\n placeholder: 'Choose entity names',\n emptyText: 'No entity names found.',\n isLoading: loading?.entityNames,\n },\n { id: 'entityId', label: 'Primitive ID', kind: 'text' },\n {\n id: 'status',\n label: 'Status',\n kind: 'pick-multi',\n searchable: false,\n options: TRACE_STATUS_OPTIONS.map(o => ({ label: o.label, value: o.value })),\n placeholder: 'Choose status',\n emptyText: 'No statuses.',\n },\n {\n id: 'tags',\n label: 'Tags',\n kind: 'pick-multi',\n multi: true,\n options: availableTags.map(tag => ({ label: tag, value: tag })),\n placeholder: 'Choose tags',\n emptyText: 'No tags found.',\n isLoading: loading?.tags,\n },\n {\n id: 'serviceName',\n label: 'Service Name',\n kind: 'pick-multi',\n options: availableServiceNames.map(name => ({ label: name, value: name })),\n placeholder: 'Choose service names',\n emptyText: 'No service names found.',\n isLoading: loading?.serviceNames,\n },\n {\n id: 'environment',\n label: 'Environment',\n kind: 'pick-multi',\n options: availableEnvironments.map(env => ({ label: env, value: env })),\n placeholder: 'Choose environments',\n emptyText: 'No environments found.',\n isLoading: loading?.environments,\n },\n { id: 'traceId', label: 'Trace ID', kind: 'text' },\n { id: 'runId', label: 'Run ID', kind: 'text' },\n { id: 'threadId', label: 'Thread ID', kind: 'text' },\n { id: 'sessionId', label: 'Session ID', kind: 'text' },\n { id: 'requestId', label: 'Request ID', kind: 'text' },\n { id: 'resourceId', label: 'Resource ID', kind: 'text' },\n { id: 'userId', label: 'User ID', kind: 'text' },\n { id: 'organizationId', label: 'Organization ID', kind: 'text' },\n { id: 'experimentId', label: 'Experiment ID', kind: 'text' },\n ];\n const byLabel = (a: PropertyFilterField, b: PropertyFilterField) => a.label.localeCompare(b.label);\n const pickMulti = fields.filter(f => f.kind === 'pick-multi').sort(byLabel);\n const text = fields.filter(f => f.kind === 'text').sort(byLabel);\n return [...pickMulti, ...text];\n}\n\n/**\n * Read filter tokens from URL search params preserving the order in which each\n * filter was first added (URLSearchParams iterates in insertion order). This\n * is used by the Filter popover + PropertyFilterApplied pills so the UI reflects the\n * order the user created the filters in.\n */\nexport function getTracePropertyFilterTokens(searchParams: URLSearchParams): PropertyFilterToken[] {\n const tokens: PropertyFilterToken[] = [];\n\n // Map URL param name → fieldId for both generic filterX params and the\n // dedicated synthetic params (rootEntityType, status).\n const paramToFieldId = new Map<string, string>([\n [TRACE_ROOT_ENTITY_TYPE_PARAM, 'rootEntityType'],\n [TRACE_STATUS_PARAM, 'status'],\n ]);\n for (const fieldId of TRACE_PROPERTY_FILTER_FIELD_IDS) {\n paramToFieldId.set(TRACE_PROPERTY_FILTER_PARAM_BY_FIELD[fieldId], fieldId);\n }\n\n const seen = new Set<string>();\n for (const [paramName] of searchParams.entries()) {\n const fieldId = paramToFieldId.get(paramName);\n if (!fieldId || seen.has(fieldId)) continue;\n seen.add(fieldId);\n\n if (fieldId === 'tags') {\n const raw = searchParams.getAll(paramName);\n if (raw.length === 0) continue;\n // An empty `filterTags=` sentinel keeps the pill alive after a Reset\n // (neutral state = no selections) so users can re-pick without losing\n // the pill's position. Non-empty entries are the actual selected tags.\n tokens.push({ fieldId, value: raw.filter(Boolean) });\n continue;\n }\n\n // Text and synthetic single-value fields: include empty strings so\n // pending-but-not-yet-filled filters survive URL round-trips.\n const value = searchParams.get(paramName);\n if (value !== null) tokens.push({ fieldId, value });\n }\n\n return tokens;\n}\n\nexport function getPreservedTraceFilterParams(searchParams: URLSearchParams) {\n const next = new URLSearchParams();\n\n const rootEntityType = searchParams.get(TRACE_ROOT_ENTITY_TYPE_PARAM);\n if (rootEntityType) next.set(TRACE_ROOT_ENTITY_TYPE_PARAM, rootEntityType);\n\n const status = searchParams.get(TRACE_STATUS_PARAM);\n if (status) next.set(TRACE_STATUS_PARAM, status);\n\n const listMode = searchParams.get(TRACE_LIST_MODE_PARAM);\n if (listMode) next.set(TRACE_LIST_MODE_PARAM, listMode);\n\n for (const fieldId of TRACE_PROPERTY_FILTER_FIELD_IDS) {\n const param = TRACE_PROPERTY_FILTER_PARAM_BY_FIELD[fieldId];\n if (fieldId === 'tags') {\n for (const value of searchParams.getAll(param)) {\n next.append(param, value);\n }\n continue;\n }\n\n const value = searchParams.get(param);\n if (value) {\n next.set(param, value);\n }\n }\n\n return next;\n}\n\n/**\n * Clear all filter params from `params` and re-add them in the given `tokens`\n * order so the URL (and therefore the PropertyFilterApplied pills) reflects the\n * creation order of filters. Handles the generic `filterX` params plus the\n * dedicated synthetic params (rootEntityType, status).\n */\nexport function applyTracePropertyFilterTokens(params: URLSearchParams, tokens: PropertyFilterToken[]) {\n params.delete(TRACE_ROOT_ENTITY_TYPE_PARAM);\n params.delete(TRACE_STATUS_PARAM);\n for (const fieldId of TRACE_PROPERTY_FILTER_FIELD_IDS) {\n params.delete(TRACE_PROPERTY_FILTER_PARAM_BY_FIELD[fieldId]);\n }\n\n for (const token of tokens) {\n if (token.fieldId === 'rootEntityType' && typeof token.value === 'string') {\n params.set(TRACE_ROOT_ENTITY_TYPE_PARAM, token.value);\n continue;\n }\n if (token.fieldId === 'status' && typeof token.value === 'string') {\n params.set(TRACE_STATUS_PARAM, token.value);\n continue;\n }\n\n const param =\n TRACE_PROPERTY_FILTER_PARAM_BY_FIELD[token.fieldId as keyof typeof TRACE_PROPERTY_FILTER_PARAM_BY_FIELD];\n if (!param) continue;\n\n if (token.fieldId === 'tags' && Array.isArray(token.value)) {\n if (token.value.length === 0) {\n // Empty sentinel — keeps the pill visible after Reset.\n params.append(param, '');\n } else {\n for (const value of token.value) {\n params.append(param, value);\n }\n }\n continue;\n }\n\n if (typeof token.value === 'string') {\n // Persist empty / 'Any' values too so neutralized-but-still-visible pills\n // survive URL round-trips. buildTraceListFilters skips these on the API\n // query side so neutrals never reach the backend.\n params.set(param, token.value.trim());\n }\n }\n}\n\nexport function buildTraceListFilters({\n rootEntityType,\n status,\n dateFrom,\n dateTo,\n tokens,\n}: {\n rootEntityType?: string;\n status?: TraceStatusFilter;\n dateFrom?: Date;\n dateTo?: Date;\n tokens: PropertyFilterToken[];\n}): ListTracesArgs['filters'] {\n const filters: NonNullable<ListTracesArgs['filters']> = {};\n\n if (rootEntityType) {\n filters.entityType = rootEntityType as NonNullable<ListTracesArgs['filters']>['entityType'];\n }\n\n if (status) {\n filters.status = status as NonNullable<ListTracesArgs['filters']>['status'];\n }\n\n if (dateFrom) {\n filters.startedAt = { start: dateFrom };\n }\n\n if (dateTo) {\n filters.endedAt = { end: dateTo };\n }\n\n for (const token of tokens) {\n if (token.fieldId === 'tags') {\n if (Array.isArray(token.value) && token.value.length > 0) {\n filters.tags = token.value;\n } else if (typeof token.value === 'string' && token.value.trim()) {\n // pick-multi tags: single-string token → wrap for the server's array schema.\n filters.tags = [token.value.trim()];\n }\n continue;\n }\n\n if (typeof token.value !== 'string') continue;\n // Skip empty-string tokens (unfilled pending filters) and 'Any'\n // (pick-multi single-select neutral state) so neutrals never reach the\n // backend.\n if (!token.value.trim()) continue;\n if (token.value === 'Any') continue;\n\n switch (token.fieldId) {\n case 'entityId':\n filters.entityId = token.value;\n break;\n case 'entityName':\n filters.entityName = token.value;\n break;\n case 'traceId':\n filters.traceId = token.value;\n break;\n case 'runId':\n filters.runId = token.value;\n break;\n case 'threadId':\n filters.threadId = token.value;\n break;\n case 'sessionId':\n filters.sessionId = token.value;\n break;\n case 'requestId':\n filters.requestId = token.value;\n break;\n case 'resourceId':\n filters.resourceId = token.value;\n break;\n case 'userId':\n filters.userId = token.value;\n break;\n case 'organizationId':\n filters.organizationId = token.value;\n break;\n case 'serviceName':\n filters.serviceName = token.value;\n break;\n case 'environment':\n filters.environment = token.value;\n break;\n case 'experimentId':\n filters.experimentId = token.value;\n break;\n default:\n break;\n }\n }\n\n return filters;\n}\n\n/**\n * \"Clear\" semantics: keep all filter pills but neutralize each value.\n * '' for text fields, 'Any' for single-select pick-multi, [] for multi-select pick-multi.\n * Date range is intentionally NOT touched here — that's a separate concern.\n */\nexport function neutralizeFilterTokens(\n filterFields: PropertyFilterField[],\n filterTokens: PropertyFilterToken[],\n): PropertyFilterToken[] {\n return filterTokens.map(token => {\n const field = filterFields.find(f => f.id === token.fieldId);\n if (!field) return token;\n if (field.kind === 'text') return { fieldId: token.fieldId, value: '' };\n if (field.kind === 'pick-multi') {\n if (field.omitAnyOption) return token;\n return field.multi ? { fieldId: token.fieldId, value: [] } : { fieldId: token.fieldId, value: 'Any' };\n }\n return token;\n });\n}\n"],"names":["value"],"mappings":"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"}
1
+ {"version":3,"file":"trace-filters.cjs.js","sources":["../../../src/domains/traces/trace-filters.ts"],"sourcesContent":["import type { EntityType } from '@mastra/core/observability';\nimport type { ListTracesArgs } from '@mastra/core/storage';\nimport {\n ActivityIcon,\n BoxIcon,\n BuildingIcon,\n ClockIcon,\n FingerprintIcon,\n FlaskConicalIcon,\n GlobeIcon,\n HashIcon,\n LayersIcon,\n MessageSquareIcon,\n PlayIcon,\n RadioIcon,\n ServerIcon,\n TagIcon,\n TagsIcon,\n UserIcon,\n WaypointsIcon,\n} from 'lucide-react';\nimport type { LucideIcon } from 'lucide-react';\nimport { TRACE_QUERY_UNSUPPORTED_FILTER_FIELDS } from './trace-query-filters';\nimport type { TraceDatePreset } from './types';\nimport type { FilterBarField, FilterBarItem, FilterBarOperator } from '@/ds/components/FilterBar/types';\nimport type { PropertyFilterToken } from '@/ds/components/PropertyFilter/types';\nimport { stringToThemedColor, themedHueColor } from '@/lib/colors';\n\ntype EntityTypeValue = `${EntityType}`;\n\nexport type EntityOptions = { label: string; entityType: EntityTypeValue };\n\nexport const ROOT_ENTITY_TYPES = {\n AGENT: 'agent',\n WORKFLOW: 'workflow_run',\n SCORER: 'scorer',\n INGEST: 'rag_ingestion',\n} as const satisfies Record<string, EntityTypeValue>;\n\nexport const ROOT_ENTITY_TYPE_OPTIONS = [\n { label: 'Agent', entityType: ROOT_ENTITY_TYPES.AGENT },\n { label: 'Workflow', entityType: ROOT_ENTITY_TYPES.WORKFLOW },\n { label: 'Scorer', entityType: ROOT_ENTITY_TYPES.SCORER },\n { label: 'Ingest', entityType: ROOT_ENTITY_TYPES.INGEST },\n] as const satisfies readonly EntityOptions[];\n\nexport type TraceStatusFilter = 'running' | 'success' | 'error';\n\nexport const TRACE_STATUS_OPTIONS = [\n { label: 'Running', value: 'running' },\n { label: 'Success', value: 'success' },\n { label: 'Error', value: 'error' },\n] as const satisfies readonly { label: string; value: TraceStatusFilter }[];\n\n/** Field ids for \"synthetic\" filter entries — they live in dedicated URL params\n * rather than the generic `filter*` set, but appear as rows in the Filter\n * popover so users can manage all filters from one place. */\nexport const TRACE_SYNTHETIC_FILTER_FIELD_IDS = ['rootEntityType', 'status'] as const;\n\nexport const TRACE_ROOT_ENTITY_TYPE_PARAM = 'rootEntityType';\nexport const TRACE_STATUS_PARAM = 'status';\nexport const TRACE_LIST_MODE_PARAM = 'listMode';\n/** Branch-mode only: identifies the anchor span that defines the displayed subtree.\n * Stable across intra-panel span navigation (which only changes `spanId`). */\nexport const TRACE_ANCHOR_SPAN_ID_PARAM = 'anchorSpanId';\nexport const TRACE_LIST_MODE_VALUES = new Set(['traces', 'branches'] as const);\nexport type TraceListMode = 'traces' | 'branches';\n\nexport const TRACE_LIST_MODE_OPTIONS = [\n { label: 'Traces (default)', value: 'traces' },\n { label: 'Branches', value: 'branches' },\n] as const satisfies readonly { label: string; value: TraceListMode }[];\nexport const TRACE_DATE_PRESET_PARAM = 'datePreset';\nexport const TRACE_DATE_FROM_PARAM = 'dateFrom';\nexport const TRACE_DATE_TO_PARAM = 'dateTo';\n\nexport const TRACE_DATE_PRESET_VALUES = new Set<TraceDatePreset>([\n 'all',\n 'last-24h',\n 'last-3d',\n 'last-7d',\n 'last-14d',\n 'last-30d',\n 'custom',\n]);\n\nexport const TRACE_PROPERTY_FILTER_PARAM_BY_FIELD = {\n tags: 'filterTags',\n entityId: 'filterEntityId',\n entityName: 'filterEntityName',\n traceId: 'filterTraceId',\n runId: 'filterRunId',\n threadId: 'filterThreadId',\n sessionId: 'filterSessionId',\n requestId: 'filterRequestId',\n resourceId: 'filterResourceId',\n userId: 'filterUserId',\n organizationId: 'filterOrganizationId',\n serviceName: 'filterServiceName',\n environment: 'filterEnvironment',\n experimentId: 'filterExperimentId',\n} as const;\n\nexport const TRACE_PROPERTY_FILTER_FIELD_IDS = Object.keys(TRACE_PROPERTY_FILTER_PARAM_BY_FIELD) as Array<\n keyof typeof TRACE_PROPERTY_FILTER_PARAM_BY_FIELD\n>;\n\nexport const TRACE_STATUS_VALUES = new Set<TraceStatusFilter>(['running', 'success', 'error']);\n\nexport const DEFAULT_TRACE_FILTERS_STORAGE_KEY = 'mastra:traces:saved-filters';\n\n/** Serialize the filter-related URL params (relative date preset + rootEntityType +\n * status + generic filterX set) to localStorage so the user can restore them on next\n * visit. A `custom` absolute range is never saved: it would be stale by the next visit.\n * An empty set clears the key. Throws no errors — storage being unavailable is fine. */\nexport function saveTraceFiltersToStorage(\n params: URLSearchParams,\n storageKey: string = DEFAULT_TRACE_FILTERS_STORAGE_KEY,\n): void {\n const serialized = getPreservedTraceFilterParams(params);\n const preset = params.get(TRACE_DATE_PRESET_PARAM);\n if (preset && preset !== 'custom') serialized.set(TRACE_DATE_PRESET_PARAM, preset);\n\n if (!serialized.toString()) {\n clearSavedTraceFilters(storageKey);\n return;\n }\n\n try {\n localStorage.setItem(storageKey, serialized.toString());\n } catch {\n // localStorage may be unavailable (private mode / quota) — silently skip.\n }\n}\n\n/** Forget any previously saved filter set. Called from the \"Remove filters\"\n * action so the next plain sidebar nav lands on an empty page. */\nexport function clearSavedTraceFilters(storageKey: string = DEFAULT_TRACE_FILTERS_STORAGE_KEY): void {\n try {\n localStorage.removeItem(storageKey);\n } catch {\n // ignore — storage may be unavailable\n }\n}\n\n/** Read a previously saved filter set and return it as URLSearchParams, or\n * null if nothing is saved or storage is unavailable. */\nexport function loadTraceFiltersFromStorage(\n storageKey: string = DEFAULT_TRACE_FILTERS_STORAGE_KEY,\n): URLSearchParams | null {\n try {\n const raw = localStorage.getItem(storageKey);\n if (!raw) return null;\n const parsed = new URLSearchParams(raw);\n return parsed.toString() ? parsed : null;\n } catch {\n return null;\n }\n}\n\n/** True when `params` carries any filter-related key — used to decide whether\n * to hydrate from localStorage on page mount (we only hydrate when the URL is\n * filter-clean, i.e. the user landed here via a plain sidebar nav). */\nexport function hasAnyTraceFilterParams(params: URLSearchParams): boolean {\n if (params.has(TRACE_DATE_PRESET_PARAM)) return true;\n if (params.has(TRACE_DATE_FROM_PARAM)) return true;\n if (params.has(TRACE_DATE_TO_PARAM)) return true;\n if (params.has(TRACE_ROOT_ENTITY_TYPE_PARAM)) return true;\n if (params.has(TRACE_STATUS_PARAM)) return true;\n if (params.has(TRACE_LIST_MODE_PARAM)) return true;\n for (const fieldId of TRACE_PROPERTY_FILTER_FIELD_IDS) {\n if (params.has(TRACE_PROPERTY_FILTER_PARAM_BY_FIELD[fieldId])) return true;\n }\n return false;\n}\n\n/** The trace query API only runs equality (`eq`) and set membership (`in`)\n * predicates, so the FilterBar offers exactly those two operators. */\nexport const TRACE_FILTER_BAR_OPERATORS: FilterBarOperator[] = [\n { id: 'is', label: 'is' },\n { id: 'in', label: 'in', arity: 'many' },\n];\n\nconst TRACE_FILTER_BAR_LABELS: Record<string, string> = {\n rootEntityType: 'Primitive Type',\n entityName: 'Primitive Name',\n entityId: 'Primitive ID',\n status: 'Status',\n tags: 'Tags',\n serviceName: 'Service Name',\n environment: 'Environment',\n traceId: 'Trace ID',\n runId: 'Run ID',\n threadId: 'Thread ID',\n sessionId: 'Session ID',\n requestId: 'Request ID',\n resourceId: 'Resource ID',\n userId: 'User ID',\n organizationId: 'Organization ID',\n experimentId: 'Experiment ID',\n};\n\n/** Icon and hue for each known trace filter key. Hues are spread by hand — hashing\n * the ids clusters them (e.g. `environment`/`entityName`/`timeRange` all land on green). */\nconst TRACE_FILTER_BAR_FIELD_META: Record<string, { icon: LucideIcon; hue: number }> = {\n timeRange: { icon: ClockIcon, hue: 30 },\n rootEntityType: { icon: BoxIcon, hue: 265 },\n entityName: { icon: TagIcon, hue: 290 },\n entityId: { icon: FingerprintIcon, hue: 315 },\n status: { icon: ActivityIcon, hue: 0 },\n tags: { icon: TagsIcon, hue: 340 },\n serviceName: { icon: ServerIcon, hue: 175 },\n environment: { icon: GlobeIcon, hue: 145 },\n traceId: { icon: WaypointsIcon, hue: 215 },\n runId: { icon: PlayIcon, hue: 195 },\n threadId: { icon: MessageSquareIcon, hue: 235 },\n sessionId: { icon: LayersIcon, hue: 100 },\n requestId: { icon: RadioIcon, hue: 55 },\n resourceId: { icon: HashIcon, hue: 80 },\n userId: { icon: UserIcon, hue: 20 },\n organizationId: { icon: BuildingIcon, hue: 120 },\n experimentId: { icon: FlaskConicalIcon, hue: 160 },\n};\n\nexport const traceFilterFieldIcon = (fieldId: string) => TRACE_FILTER_BAR_FIELD_META[fieldId]?.icon;\n\n/** Stable per-field accent; known keys use a curated hue, others fall back to a hashed one. */\nexport const traceFilterFieldColor = (fieldId: string) => {\n const hue = TRACE_FILTER_BAR_FIELD_META[fieldId]?.hue;\n return hue === undefined ? stringToThemedColor(fieldId) : themedHueColor(hue);\n};\n\nconst traceFieldBase = (id: string) => ({\n id,\n label: TRACE_FILTER_BAR_LABELS[id] ?? id,\n icon: traceFilterFieldIcon(id),\n color: traceFilterFieldColor(id),\n});\n\nconst TRACE_FILTER_BAR_TEXT_FIELD_IDS = [\n 'entityId',\n 'traceId',\n 'runId',\n 'threadId',\n 'sessionId',\n 'requestId',\n 'resourceId',\n 'userId',\n 'organizationId',\n 'experimentId',\n] as const;\n\n/** FilterBar field definitions for the trace pages. Fields the query API cannot\n * filter on (see `TRACE_QUERY_UNSUPPORTED_FILTER_FIELDS`) are omitted, as is the\n * `running` status, so no chip advertises a filter that has no effect. Hidden\n * fields are never offered in the input's field step but still label existing\n * (e.g. scoped, read-only) chips. */\nexport function createTraceFilterBarFields({\n availableRootEntityNames,\n availableEnvironments,\n hiddenFieldIds = [],\n}: {\n availableRootEntityNames: string[];\n availableEnvironments: string[];\n hiddenFieldIds?: readonly string[];\n}): FilterBarField[] {\n const pick = (id: string, suggestions: { value: string; label?: string }[]): FilterBarField => ({\n ...traceFieldBase(id),\n operators: ['is'],\n strict: true,\n suggestions,\n });\n const text = (id: string): FilterBarField => ({ ...traceFieldBase(id), operators: ['is'] });\n\n const pickFields: FilterBarField[] = [\n pick(\n 'rootEntityType',\n ROOT_ENTITY_TYPE_OPTIONS.map(o => ({ value: o.entityType, label: o.label })),\n ),\n pick(\n 'entityName',\n availableRootEntityNames.map(name => ({ value: name })),\n ),\n pick(\n 'status',\n TRACE_STATUS_OPTIONS.filter(o => o.value !== 'running').map(o => ({ value: o.value, label: o.label })),\n ),\n pick(\n 'environment',\n availableEnvironments.map(env => ({ value: env })),\n ),\n ];\n const textFields = TRACE_FILTER_BAR_TEXT_FIELD_IDS.map(text);\n\n const byLabel = (a: FilterBarField, b: FilterBarField) => a.label.localeCompare(b.label);\n const hidden = new Set(hiddenFieldIds);\n return [...pickFields.sort(byLabel), ...textFields.sort(byLabel)]\n .filter(field => !TRACE_QUERY_UNSUPPORTED_FILTER_FIELDS.has(field.id))\n .map(field => (hidden.has(field.id) ? { ...field, hidden: true } : field));\n}\n\n/** One FilterBar item per token, keyed by field id so chip order == URL order.\n * Empty values ('' / []) are kept: that's a pending chip whose field was just\n * changed and whose value hasn't been picked yet (the query builder skips it).\n * Only the legacy 'Any' sentinel is mapped back to an empty value. */\nexport function traceTokensToFilterBarItems(tokens: PropertyFilterToken[]): FilterBarItem[] {\n return tokens.map(token => ({\n id: token.fieldId,\n fieldId: token.fieldId,\n operatorId: token.fieldId === 'tags' ? 'in' : 'is',\n value: token.value === 'Any' ? '' : token.value,\n }));\n}\n\nexport function filterBarItemsToTraceTokens(items: FilterBarItem[]): PropertyFilterToken[] {\n return items.map(item => ({\n fieldId: item.fieldId,\n value: Array.isArray(item.value) ? item.value.map(String) : String(item.value),\n }));\n}\n\n/**\n * Read filter tokens from URL search params preserving the order in which each\n * filter was first added (URLSearchParams iterates in insertion order). This\n * is used by the Filter popover + PropertyFilterApplied pills so the UI reflects the\n * order the user created the filters in.\n */\nexport function getTracePropertyFilterTokens(searchParams: URLSearchParams): PropertyFilterToken[] {\n const tokens: PropertyFilterToken[] = [];\n\n // Map URL param name → fieldId for both generic filterX params and the\n // dedicated synthetic params (rootEntityType, status).\n const paramToFieldId = new Map<string, string>([\n [TRACE_ROOT_ENTITY_TYPE_PARAM, 'rootEntityType'],\n [TRACE_STATUS_PARAM, 'status'],\n ]);\n for (const fieldId of TRACE_PROPERTY_FILTER_FIELD_IDS) {\n paramToFieldId.set(TRACE_PROPERTY_FILTER_PARAM_BY_FIELD[fieldId], fieldId);\n }\n\n const seen = new Set<string>();\n for (const [paramName] of searchParams.entries()) {\n const fieldId = paramToFieldId.get(paramName);\n if (!fieldId || seen.has(fieldId)) continue;\n seen.add(fieldId);\n\n if (fieldId === 'tags') {\n const raw = searchParams.getAll(paramName);\n if (raw.length === 0) continue;\n // An empty `filterTags=` sentinel keeps the pill alive after a Reset\n // (neutral state = no selections) so users can re-pick without losing\n // the pill's position. Non-empty entries are the actual selected tags.\n tokens.push({ fieldId, value: raw.filter(Boolean) });\n continue;\n }\n\n // Text and synthetic single-value fields: include empty strings so\n // pending-but-not-yet-filled filters survive URL round-trips.\n const value = searchParams.get(paramName);\n if (value !== null) tokens.push({ fieldId, value });\n }\n\n return tokens;\n}\n\nexport function getPreservedTraceFilterParams(searchParams: URLSearchParams) {\n const next = new URLSearchParams();\n\n const rootEntityType = searchParams.get(TRACE_ROOT_ENTITY_TYPE_PARAM);\n if (rootEntityType) next.set(TRACE_ROOT_ENTITY_TYPE_PARAM, rootEntityType);\n\n const status = searchParams.get(TRACE_STATUS_PARAM);\n if (status) next.set(TRACE_STATUS_PARAM, status);\n\n const listMode = searchParams.get(TRACE_LIST_MODE_PARAM);\n if (listMode) next.set(TRACE_LIST_MODE_PARAM, listMode);\n\n for (const fieldId of TRACE_PROPERTY_FILTER_FIELD_IDS) {\n const param = TRACE_PROPERTY_FILTER_PARAM_BY_FIELD[fieldId];\n if (fieldId === 'tags') {\n for (const value of searchParams.getAll(param)) {\n next.append(param, value);\n }\n continue;\n }\n\n const value = searchParams.get(param);\n if (value) {\n next.set(param, value);\n }\n }\n\n return next;\n}\n\n/**\n * Clear all filter params from `params` and re-add them in the given `tokens`\n * order so the URL (and therefore the PropertyFilterApplied pills) reflects the\n * creation order of filters. Handles the generic `filterX` params plus the\n * dedicated synthetic params (rootEntityType, status).\n */\nexport function applyTracePropertyFilterTokens(params: URLSearchParams, tokens: PropertyFilterToken[]) {\n params.delete(TRACE_ROOT_ENTITY_TYPE_PARAM);\n params.delete(TRACE_STATUS_PARAM);\n for (const fieldId of TRACE_PROPERTY_FILTER_FIELD_IDS) {\n params.delete(TRACE_PROPERTY_FILTER_PARAM_BY_FIELD[fieldId]);\n }\n\n for (const token of tokens) {\n if (token.fieldId === 'rootEntityType' && typeof token.value === 'string') {\n params.set(TRACE_ROOT_ENTITY_TYPE_PARAM, token.value);\n continue;\n }\n if (token.fieldId === 'status' && typeof token.value === 'string') {\n params.set(TRACE_STATUS_PARAM, token.value);\n continue;\n }\n\n const param =\n TRACE_PROPERTY_FILTER_PARAM_BY_FIELD[token.fieldId as keyof typeof TRACE_PROPERTY_FILTER_PARAM_BY_FIELD];\n if (!param) continue;\n\n if (token.fieldId === 'tags' && Array.isArray(token.value)) {\n if (token.value.length === 0) {\n // Empty sentinel — keeps the pill visible after Reset.\n params.append(param, '');\n } else {\n for (const value of token.value) {\n params.append(param, value);\n }\n }\n continue;\n }\n\n if (typeof token.value === 'string') {\n // Persist empty / 'Any' values too so neutralized-but-still-visible pills\n // survive URL round-trips. buildTraceListFilters skips these on the API\n // query side so neutrals never reach the backend.\n params.set(param, token.value.trim());\n }\n }\n}\n\nexport function buildTraceListFilters({\n rootEntityType,\n status,\n dateFrom,\n dateTo,\n tokens,\n}: {\n rootEntityType?: string;\n status?: TraceStatusFilter;\n dateFrom?: Date;\n dateTo?: Date;\n tokens: PropertyFilterToken[];\n}): ListTracesArgs['filters'] {\n const filters: NonNullable<ListTracesArgs['filters']> = {};\n\n if (rootEntityType) {\n filters.entityType = rootEntityType as NonNullable<ListTracesArgs['filters']>['entityType'];\n }\n\n if (status) {\n filters.status = status as NonNullable<ListTracesArgs['filters']>['status'];\n }\n\n if (dateFrom) {\n filters.startedAt = { start: dateFrom };\n }\n\n if (dateTo) {\n filters.endedAt = { end: dateTo };\n }\n\n for (const token of tokens) {\n if (token.fieldId === 'tags') {\n if (Array.isArray(token.value) && token.value.length > 0) {\n filters.tags = token.value;\n } else if (typeof token.value === 'string' && token.value.trim()) {\n // pick-multi tags: single-string token → wrap for the server's array schema.\n filters.tags = [token.value.trim()];\n }\n continue;\n }\n\n if (typeof token.value !== 'string') continue;\n // Skip empty-string tokens (unfilled pending filters) and 'Any'\n // (pick-multi single-select neutral state) so neutrals never reach the\n // backend.\n if (!token.value.trim()) continue;\n if (token.value === 'Any') continue;\n\n switch (token.fieldId) {\n case 'entityId':\n filters.entityId = token.value;\n break;\n case 'entityName':\n filters.entityName = token.value;\n break;\n case 'traceId':\n filters.traceId = token.value;\n break;\n case 'runId':\n filters.runId = token.value;\n break;\n case 'threadId':\n filters.threadId = token.value;\n break;\n case 'sessionId':\n filters.sessionId = token.value;\n break;\n case 'requestId':\n filters.requestId = token.value;\n break;\n case 'resourceId':\n filters.resourceId = token.value;\n break;\n case 'userId':\n filters.userId = token.value;\n break;\n case 'organizationId':\n filters.organizationId = token.value;\n break;\n case 'serviceName':\n filters.serviceName = token.value;\n break;\n case 'environment':\n filters.environment = token.value;\n break;\n case 'experimentId':\n filters.experimentId = token.value;\n break;\n default:\n break;\n }\n }\n\n return filters;\n}\n"],"names":["ClockIcon","BoxIcon","TagIcon","FingerprintIcon","ActivityIcon","TagsIcon","ServerIcon","GlobeIcon","WaypointsIcon","PlayIcon","MessageSquareIcon","LayersIcon","RadioIcon","HashIcon","UserIcon","BuildingIcon","FlaskConicalIcon","stringToThemedColor","themedHueColor","TRACE_QUERY_UNSUPPORTED_FILTER_FIELDS","value"],"mappings":"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"}
@@ -1,3 +1,7 @@
1
+ import { FlaskConicalIcon, BuildingIcon, UserIcon, HashIcon, RadioIcon, LayersIcon, MessageSquareIcon, PlayIcon, WaypointsIcon, GlobeIcon, ServerIcon, TagsIcon, ActivityIcon, FingerprintIcon, TagIcon, BoxIcon, ClockIcon } from 'lucide-react';
2
+ import { TRACE_QUERY_UNSUPPORTED_FILTER_FIELDS } from './trace-query-filters.es.js';
3
+ import { stringToThemedColor, themedHueColor } from '../../utils/colors.es.js';
4
+
1
5
  const ROOT_ENTITY_TYPES = {
2
6
  AGENT: "agent",
3
7
  WORKFLOW: "workflow_run",
@@ -97,84 +101,118 @@ function hasAnyTraceFilterParams(params) {
97
101
  }
98
102
  return false;
99
103
  }
100
- function createTracePropertyFilterFields({
101
- availableTags,
104
+ const TRACE_FILTER_BAR_OPERATORS = [
105
+ { id: "is", label: "is" },
106
+ { id: "in", label: "in", arity: "many" }
107
+ ];
108
+ const TRACE_FILTER_BAR_LABELS = {
109
+ rootEntityType: "Primitive Type",
110
+ entityName: "Primitive Name",
111
+ entityId: "Primitive ID",
112
+ status: "Status",
113
+ tags: "Tags",
114
+ serviceName: "Service Name",
115
+ environment: "Environment",
116
+ traceId: "Trace ID",
117
+ runId: "Run ID",
118
+ threadId: "Thread ID",
119
+ sessionId: "Session ID",
120
+ requestId: "Request ID",
121
+ resourceId: "Resource ID",
122
+ userId: "User ID",
123
+ organizationId: "Organization ID",
124
+ experimentId: "Experiment ID"
125
+ };
126
+ const TRACE_FILTER_BAR_FIELD_META = {
127
+ timeRange: { icon: ClockIcon, hue: 30 },
128
+ rootEntityType: { icon: BoxIcon, hue: 265 },
129
+ entityName: { icon: TagIcon, hue: 290 },
130
+ entityId: { icon: FingerprintIcon, hue: 315 },
131
+ status: { icon: ActivityIcon, hue: 0 },
132
+ tags: { icon: TagsIcon, hue: 340 },
133
+ serviceName: { icon: ServerIcon, hue: 175 },
134
+ environment: { icon: GlobeIcon, hue: 145 },
135
+ traceId: { icon: WaypointsIcon, hue: 215 },
136
+ runId: { icon: PlayIcon, hue: 195 },
137
+ threadId: { icon: MessageSquareIcon, hue: 235 },
138
+ sessionId: { icon: LayersIcon, hue: 100 },
139
+ requestId: { icon: RadioIcon, hue: 55 },
140
+ resourceId: { icon: HashIcon, hue: 80 },
141
+ userId: { icon: UserIcon, hue: 20 },
142
+ organizationId: { icon: BuildingIcon, hue: 120 },
143
+ experimentId: { icon: FlaskConicalIcon, hue: 160 }
144
+ };
145
+ const traceFilterFieldIcon = (fieldId) => TRACE_FILTER_BAR_FIELD_META[fieldId]?.icon;
146
+ const traceFilterFieldColor = (fieldId) => {
147
+ const hue = TRACE_FILTER_BAR_FIELD_META[fieldId]?.hue;
148
+ return hue === void 0 ? stringToThemedColor(fieldId) : themedHueColor(hue);
149
+ };
150
+ const traceFieldBase = (id) => ({
151
+ id,
152
+ label: TRACE_FILTER_BAR_LABELS[id] ?? id,
153
+ icon: traceFilterFieldIcon(id),
154
+ color: traceFilterFieldColor(id)
155
+ });
156
+ const TRACE_FILTER_BAR_TEXT_FIELD_IDS = [
157
+ "entityId",
158
+ "traceId",
159
+ "runId",
160
+ "threadId",
161
+ "sessionId",
162
+ "requestId",
163
+ "resourceId",
164
+ "userId",
165
+ "organizationId",
166
+ "experimentId"
167
+ ];
168
+ function createTraceFilterBarFields({
102
169
  availableRootEntityNames,
103
- availableServiceNames,
104
170
  availableEnvironments,
105
- loading
171
+ hiddenFieldIds = []
106
172
  }) {
107
- const fields = [
108
- {
109
- id: "rootEntityType",
110
- label: "Primitive Type",
111
- kind: "pick-multi",
112
- searchable: false,
113
- options: ROOT_ENTITY_TYPE_OPTIONS.map((o) => ({ label: o.label, value: o.entityType })),
114
- placeholder: "Choose entity type",
115
- emptyText: "No entity types."
116
- },
117
- {
118
- id: "entityName",
119
- label: "Primitive Name",
120
- kind: "pick-multi",
121
- options: availableRootEntityNames.map((name) => ({ label: name, value: name })),
122
- placeholder: "Choose entity names",
123
- emptyText: "No entity names found.",
124
- isLoading: loading?.entityNames
125
- },
126
- { id: "entityId", label: "Primitive ID", kind: "text" },
127
- {
128
- id: "status",
129
- label: "Status",
130
- kind: "pick-multi",
131
- searchable: false,
132
- options: TRACE_STATUS_OPTIONS.map((o) => ({ label: o.label, value: o.value })),
133
- placeholder: "Choose status",
134
- emptyText: "No statuses."
135
- },
136
- {
137
- id: "tags",
138
- label: "Tags",
139
- kind: "pick-multi",
140
- multi: true,
141
- options: availableTags.map((tag) => ({ label: tag, value: tag })),
142
- placeholder: "Choose tags",
143
- emptyText: "No tags found.",
144
- isLoading: loading?.tags
145
- },
146
- {
147
- id: "serviceName",
148
- label: "Service Name",
149
- kind: "pick-multi",
150
- options: availableServiceNames.map((name) => ({ label: name, value: name })),
151
- placeholder: "Choose service names",
152
- emptyText: "No service names found.",
153
- isLoading: loading?.serviceNames
154
- },
155
- {
156
- id: "environment",
157
- label: "Environment",
158
- kind: "pick-multi",
159
- options: availableEnvironments.map((env) => ({ label: env, value: env })),
160
- placeholder: "Choose environments",
161
- emptyText: "No environments found.",
162
- isLoading: loading?.environments
163
- },
164
- { id: "traceId", label: "Trace ID", kind: "text" },
165
- { id: "runId", label: "Run ID", kind: "text" },
166
- { id: "threadId", label: "Thread ID", kind: "text" },
167
- { id: "sessionId", label: "Session ID", kind: "text" },
168
- { id: "requestId", label: "Request ID", kind: "text" },
169
- { id: "resourceId", label: "Resource ID", kind: "text" },
170
- { id: "userId", label: "User ID", kind: "text" },
171
- { id: "organizationId", label: "Organization ID", kind: "text" },
172
- { id: "experimentId", label: "Experiment ID", kind: "text" }
173
+ const pick = (id, suggestions) => ({
174
+ ...traceFieldBase(id),
175
+ operators: ["is"],
176
+ strict: true,
177
+ suggestions
178
+ });
179
+ const text = (id) => ({ ...traceFieldBase(id), operators: ["is"] });
180
+ const pickFields = [
181
+ pick(
182
+ "rootEntityType",
183
+ ROOT_ENTITY_TYPE_OPTIONS.map((o) => ({ value: o.entityType, label: o.label }))
184
+ ),
185
+ pick(
186
+ "entityName",
187
+ availableRootEntityNames.map((name) => ({ value: name }))
188
+ ),
189
+ pick(
190
+ "status",
191
+ TRACE_STATUS_OPTIONS.filter((o) => o.value !== "running").map((o) => ({ value: o.value, label: o.label }))
192
+ ),
193
+ pick(
194
+ "environment",
195
+ availableEnvironments.map((env) => ({ value: env }))
196
+ )
173
197
  ];
198
+ const textFields = TRACE_FILTER_BAR_TEXT_FIELD_IDS.map(text);
174
199
  const byLabel = (a, b) => a.label.localeCompare(b.label);
175
- const pickMulti = fields.filter((f) => f.kind === "pick-multi").sort(byLabel);
176
- const text = fields.filter((f) => f.kind === "text").sort(byLabel);
177
- return [...pickMulti, ...text];
200
+ const hidden = new Set(hiddenFieldIds);
201
+ return [...pickFields.sort(byLabel), ...textFields.sort(byLabel)].filter((field) => !TRACE_QUERY_UNSUPPORTED_FILTER_FIELDS.has(field.id)).map((field) => hidden.has(field.id) ? { ...field, hidden: true } : field);
202
+ }
203
+ function traceTokensToFilterBarItems(tokens) {
204
+ return tokens.map((token) => ({
205
+ id: token.fieldId,
206
+ fieldId: token.fieldId,
207
+ operatorId: token.fieldId === "tags" ? "in" : "is",
208
+ value: token.value === "Any" ? "" : token.value
209
+ }));
210
+ }
211
+ function filterBarItemsToTraceTokens(items) {
212
+ return items.map((item) => ({
213
+ fieldId: item.fieldId,
214
+ value: Array.isArray(item.value) ? item.value.map(String) : String(item.value)
215
+ }));
178
216
  }
179
217
  function getTracePropertyFilterTokens(searchParams) {
180
218
  const tokens = [];
@@ -332,18 +370,6 @@ function buildTraceListFilters({
332
370
  }
333
371
  return filters;
334
372
  }
335
- function neutralizeFilterTokens(filterFields, filterTokens) {
336
- return filterTokens.map((token) => {
337
- const field = filterFields.find((f) => f.id === token.fieldId);
338
- if (!field) return token;
339
- if (field.kind === "text") return { fieldId: token.fieldId, value: "" };
340
- if (field.kind === "pick-multi") {
341
- if (field.omitAnyOption) return token;
342
- return field.multi ? { fieldId: token.fieldId, value: [] } : { fieldId: token.fieldId, value: "Any" };
343
- }
344
- return token;
345
- });
346
- }
347
373
 
348
- export { DEFAULT_TRACE_FILTERS_STORAGE_KEY, ROOT_ENTITY_TYPES, ROOT_ENTITY_TYPE_OPTIONS, TRACE_ANCHOR_SPAN_ID_PARAM, TRACE_DATE_FROM_PARAM, TRACE_DATE_PRESET_PARAM, TRACE_DATE_PRESET_VALUES, TRACE_DATE_TO_PARAM, TRACE_LIST_MODE_OPTIONS, TRACE_LIST_MODE_PARAM, TRACE_LIST_MODE_VALUES, TRACE_PROPERTY_FILTER_FIELD_IDS, TRACE_PROPERTY_FILTER_PARAM_BY_FIELD, TRACE_ROOT_ENTITY_TYPE_PARAM, TRACE_STATUS_OPTIONS, TRACE_STATUS_PARAM, TRACE_STATUS_VALUES, TRACE_SYNTHETIC_FILTER_FIELD_IDS, applyTracePropertyFilterTokens, buildTraceListFilters, clearSavedTraceFilters, createTracePropertyFilterFields, getPreservedTraceFilterParams, getTracePropertyFilterTokens, hasAnyTraceFilterParams, loadTraceFiltersFromStorage, neutralizeFilterTokens, saveTraceFiltersToStorage };
374
+ export { DEFAULT_TRACE_FILTERS_STORAGE_KEY, ROOT_ENTITY_TYPES, ROOT_ENTITY_TYPE_OPTIONS, TRACE_ANCHOR_SPAN_ID_PARAM, TRACE_DATE_FROM_PARAM, TRACE_DATE_PRESET_PARAM, TRACE_DATE_PRESET_VALUES, TRACE_DATE_TO_PARAM, TRACE_FILTER_BAR_OPERATORS, TRACE_LIST_MODE_OPTIONS, TRACE_LIST_MODE_PARAM, TRACE_LIST_MODE_VALUES, TRACE_PROPERTY_FILTER_FIELD_IDS, TRACE_PROPERTY_FILTER_PARAM_BY_FIELD, TRACE_ROOT_ENTITY_TYPE_PARAM, TRACE_STATUS_OPTIONS, TRACE_STATUS_PARAM, TRACE_STATUS_VALUES, TRACE_SYNTHETIC_FILTER_FIELD_IDS, applyTracePropertyFilterTokens, buildTraceListFilters, clearSavedTraceFilters, createTraceFilterBarFields, filterBarItemsToTraceTokens, getPreservedTraceFilterParams, getTracePropertyFilterTokens, hasAnyTraceFilterParams, loadTraceFiltersFromStorage, saveTraceFiltersToStorage, traceFilterFieldColor, traceFilterFieldIcon, traceTokensToFilterBarItems };
349
375
  //# sourceMappingURL=trace-filters.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"trace-filters.es.js","sources":["../../../src/domains/traces/trace-filters.ts"],"sourcesContent":["import type { EntityType } from '@mastra/core/observability';\nimport type { ListTracesArgs } from '@mastra/core/storage';\nimport type { TraceDatePreset } from './types';\nimport type { PropertyFilterField, PropertyFilterToken } from '@/ds/components/PropertyFilter/types';\n\ntype EntityTypeValue = `${EntityType}`;\n\nexport type EntityOptions = { label: string; entityType: EntityTypeValue };\n\nexport const ROOT_ENTITY_TYPES = {\n AGENT: 'agent',\n WORKFLOW: 'workflow_run',\n SCORER: 'scorer',\n INGEST: 'rag_ingestion',\n} as const satisfies Record<string, EntityTypeValue>;\n\nexport const ROOT_ENTITY_TYPE_OPTIONS = [\n { label: 'Agent', entityType: ROOT_ENTITY_TYPES.AGENT },\n { label: 'Workflow', entityType: ROOT_ENTITY_TYPES.WORKFLOW },\n { label: 'Scorer', entityType: ROOT_ENTITY_TYPES.SCORER },\n { label: 'Ingest', entityType: ROOT_ENTITY_TYPES.INGEST },\n] as const satisfies readonly EntityOptions[];\n\nexport type TraceStatusFilter = 'running' | 'success' | 'error';\n\nexport const TRACE_STATUS_OPTIONS = [\n { label: 'Running', value: 'running' },\n { label: 'Success', value: 'success' },\n { label: 'Error', value: 'error' },\n] as const satisfies readonly { label: string; value: TraceStatusFilter }[];\n\n/** Field ids for \"synthetic\" filter entries — they live in dedicated URL params\n * rather than the generic `filter*` set, but appear as rows in the Filter\n * popover so users can manage all filters from one place. */\nexport const TRACE_SYNTHETIC_FILTER_FIELD_IDS = ['rootEntityType', 'status'] as const;\n\nexport const TRACE_ROOT_ENTITY_TYPE_PARAM = 'rootEntityType';\nexport const TRACE_STATUS_PARAM = 'status';\nexport const TRACE_LIST_MODE_PARAM = 'listMode';\n/** Branch-mode only: identifies the anchor span that defines the displayed subtree.\n * Stable across intra-panel span navigation (which only changes `spanId`). */\nexport const TRACE_ANCHOR_SPAN_ID_PARAM = 'anchorSpanId';\nexport const TRACE_LIST_MODE_VALUES = new Set(['traces', 'branches'] as const);\nexport type TraceListMode = 'traces' | 'branches';\n\nexport const TRACE_LIST_MODE_OPTIONS = [\n { label: 'Traces (default)', value: 'traces' },\n { label: 'Branches', value: 'branches' },\n] as const satisfies readonly { label: string; value: TraceListMode }[];\nexport const TRACE_DATE_PRESET_PARAM = 'datePreset';\nexport const TRACE_DATE_FROM_PARAM = 'dateFrom';\nexport const TRACE_DATE_TO_PARAM = 'dateTo';\n\nexport const TRACE_DATE_PRESET_VALUES = new Set<TraceDatePreset>([\n 'all',\n 'last-24h',\n 'last-3d',\n 'last-7d',\n 'last-14d',\n 'last-30d',\n 'custom',\n]);\n\nexport const TRACE_PROPERTY_FILTER_PARAM_BY_FIELD = {\n tags: 'filterTags',\n entityId: 'filterEntityId',\n entityName: 'filterEntityName',\n traceId: 'filterTraceId',\n runId: 'filterRunId',\n threadId: 'filterThreadId',\n sessionId: 'filterSessionId',\n requestId: 'filterRequestId',\n resourceId: 'filterResourceId',\n userId: 'filterUserId',\n organizationId: 'filterOrganizationId',\n serviceName: 'filterServiceName',\n environment: 'filterEnvironment',\n experimentId: 'filterExperimentId',\n} as const;\n\nexport const TRACE_PROPERTY_FILTER_FIELD_IDS = Object.keys(TRACE_PROPERTY_FILTER_PARAM_BY_FIELD) as Array<\n keyof typeof TRACE_PROPERTY_FILTER_PARAM_BY_FIELD\n>;\n\nexport const TRACE_STATUS_VALUES = new Set<TraceStatusFilter>(['running', 'success', 'error']);\n\nexport const DEFAULT_TRACE_FILTERS_STORAGE_KEY = 'mastra:traces:saved-filters';\n\n/** Serialize the filter-related URL params (relative date preset + rootEntityType +\n * status + generic filterX set) to localStorage so the user can restore them on next\n * visit. A `custom` absolute range is never saved: it would be stale by the next visit.\n * An empty set clears the key. Throws no errors — storage being unavailable is fine. */\nexport function saveTraceFiltersToStorage(\n params: URLSearchParams,\n storageKey: string = DEFAULT_TRACE_FILTERS_STORAGE_KEY,\n): void {\n const serialized = getPreservedTraceFilterParams(params);\n const preset = params.get(TRACE_DATE_PRESET_PARAM);\n if (preset && preset !== 'custom') serialized.set(TRACE_DATE_PRESET_PARAM, preset);\n\n if (!serialized.toString()) {\n clearSavedTraceFilters(storageKey);\n return;\n }\n\n try {\n localStorage.setItem(storageKey, serialized.toString());\n } catch {\n // localStorage may be unavailable (private mode / quota) — silently skip.\n }\n}\n\n/** Forget any previously saved filter set. Called from the \"Remove filters\"\n * action so the next plain sidebar nav lands on an empty page. */\nexport function clearSavedTraceFilters(storageKey: string = DEFAULT_TRACE_FILTERS_STORAGE_KEY): void {\n try {\n localStorage.removeItem(storageKey);\n } catch {\n // ignore — storage may be unavailable\n }\n}\n\n/** Read a previously saved filter set and return it as URLSearchParams, or\n * null if nothing is saved or storage is unavailable. */\nexport function loadTraceFiltersFromStorage(\n storageKey: string = DEFAULT_TRACE_FILTERS_STORAGE_KEY,\n): URLSearchParams | null {\n try {\n const raw = localStorage.getItem(storageKey);\n if (!raw) return null;\n const parsed = new URLSearchParams(raw);\n return parsed.toString() ? parsed : null;\n } catch {\n return null;\n }\n}\n\n/** True when `params` carries any filter-related key — used to decide whether\n * to hydrate from localStorage on page mount (we only hydrate when the URL is\n * filter-clean, i.e. the user landed here via a plain sidebar nav). */\nexport function hasAnyTraceFilterParams(params: URLSearchParams): boolean {\n if (params.has(TRACE_DATE_PRESET_PARAM)) return true;\n if (params.has(TRACE_DATE_FROM_PARAM)) return true;\n if (params.has(TRACE_DATE_TO_PARAM)) return true;\n if (params.has(TRACE_ROOT_ENTITY_TYPE_PARAM)) return true;\n if (params.has(TRACE_STATUS_PARAM)) return true;\n if (params.has(TRACE_LIST_MODE_PARAM)) return true;\n for (const fieldId of TRACE_PROPERTY_FILTER_FIELD_IDS) {\n if (params.has(TRACE_PROPERTY_FILTER_PARAM_BY_FIELD[fieldId])) return true;\n }\n return false;\n}\n\nexport function createTracePropertyFilterFields({\n availableTags,\n availableRootEntityNames,\n availableServiceNames,\n availableEnvironments,\n loading,\n}: {\n availableTags: string[];\n availableRootEntityNames: string[];\n availableServiceNames: string[];\n availableEnvironments: string[];\n loading?: {\n tags?: boolean;\n entityNames?: boolean;\n serviceNames?: boolean;\n environments?: boolean;\n };\n}): PropertyFilterField[] {\n const fields: PropertyFilterField[] = [\n {\n id: 'rootEntityType',\n label: 'Primitive Type',\n kind: 'pick-multi',\n searchable: false,\n options: ROOT_ENTITY_TYPE_OPTIONS.map(o => ({ label: o.label, value: o.entityType })),\n placeholder: 'Choose entity type',\n emptyText: 'No entity types.',\n },\n {\n id: 'entityName',\n label: 'Primitive Name',\n kind: 'pick-multi',\n options: availableRootEntityNames.map(name => ({ label: name, value: name })),\n placeholder: 'Choose entity names',\n emptyText: 'No entity names found.',\n isLoading: loading?.entityNames,\n },\n { id: 'entityId', label: 'Primitive ID', kind: 'text' },\n {\n id: 'status',\n label: 'Status',\n kind: 'pick-multi',\n searchable: false,\n options: TRACE_STATUS_OPTIONS.map(o => ({ label: o.label, value: o.value })),\n placeholder: 'Choose status',\n emptyText: 'No statuses.',\n },\n {\n id: 'tags',\n label: 'Tags',\n kind: 'pick-multi',\n multi: true,\n options: availableTags.map(tag => ({ label: tag, value: tag })),\n placeholder: 'Choose tags',\n emptyText: 'No tags found.',\n isLoading: loading?.tags,\n },\n {\n id: 'serviceName',\n label: 'Service Name',\n kind: 'pick-multi',\n options: availableServiceNames.map(name => ({ label: name, value: name })),\n placeholder: 'Choose service names',\n emptyText: 'No service names found.',\n isLoading: loading?.serviceNames,\n },\n {\n id: 'environment',\n label: 'Environment',\n kind: 'pick-multi',\n options: availableEnvironments.map(env => ({ label: env, value: env })),\n placeholder: 'Choose environments',\n emptyText: 'No environments found.',\n isLoading: loading?.environments,\n },\n { id: 'traceId', label: 'Trace ID', kind: 'text' },\n { id: 'runId', label: 'Run ID', kind: 'text' },\n { id: 'threadId', label: 'Thread ID', kind: 'text' },\n { id: 'sessionId', label: 'Session ID', kind: 'text' },\n { id: 'requestId', label: 'Request ID', kind: 'text' },\n { id: 'resourceId', label: 'Resource ID', kind: 'text' },\n { id: 'userId', label: 'User ID', kind: 'text' },\n { id: 'organizationId', label: 'Organization ID', kind: 'text' },\n { id: 'experimentId', label: 'Experiment ID', kind: 'text' },\n ];\n const byLabel = (a: PropertyFilterField, b: PropertyFilterField) => a.label.localeCompare(b.label);\n const pickMulti = fields.filter(f => f.kind === 'pick-multi').sort(byLabel);\n const text = fields.filter(f => f.kind === 'text').sort(byLabel);\n return [...pickMulti, ...text];\n}\n\n/**\n * Read filter tokens from URL search params preserving the order in which each\n * filter was first added (URLSearchParams iterates in insertion order). This\n * is used by the Filter popover + PropertyFilterApplied pills so the UI reflects the\n * order the user created the filters in.\n */\nexport function getTracePropertyFilterTokens(searchParams: URLSearchParams): PropertyFilterToken[] {\n const tokens: PropertyFilterToken[] = [];\n\n // Map URL param name → fieldId for both generic filterX params and the\n // dedicated synthetic params (rootEntityType, status).\n const paramToFieldId = new Map<string, string>([\n [TRACE_ROOT_ENTITY_TYPE_PARAM, 'rootEntityType'],\n [TRACE_STATUS_PARAM, 'status'],\n ]);\n for (const fieldId of TRACE_PROPERTY_FILTER_FIELD_IDS) {\n paramToFieldId.set(TRACE_PROPERTY_FILTER_PARAM_BY_FIELD[fieldId], fieldId);\n }\n\n const seen = new Set<string>();\n for (const [paramName] of searchParams.entries()) {\n const fieldId = paramToFieldId.get(paramName);\n if (!fieldId || seen.has(fieldId)) continue;\n seen.add(fieldId);\n\n if (fieldId === 'tags') {\n const raw = searchParams.getAll(paramName);\n if (raw.length === 0) continue;\n // An empty `filterTags=` sentinel keeps the pill alive after a Reset\n // (neutral state = no selections) so users can re-pick without losing\n // the pill's position. Non-empty entries are the actual selected tags.\n tokens.push({ fieldId, value: raw.filter(Boolean) });\n continue;\n }\n\n // Text and synthetic single-value fields: include empty strings so\n // pending-but-not-yet-filled filters survive URL round-trips.\n const value = searchParams.get(paramName);\n if (value !== null) tokens.push({ fieldId, value });\n }\n\n return tokens;\n}\n\nexport function getPreservedTraceFilterParams(searchParams: URLSearchParams) {\n const next = new URLSearchParams();\n\n const rootEntityType = searchParams.get(TRACE_ROOT_ENTITY_TYPE_PARAM);\n if (rootEntityType) next.set(TRACE_ROOT_ENTITY_TYPE_PARAM, rootEntityType);\n\n const status = searchParams.get(TRACE_STATUS_PARAM);\n if (status) next.set(TRACE_STATUS_PARAM, status);\n\n const listMode = searchParams.get(TRACE_LIST_MODE_PARAM);\n if (listMode) next.set(TRACE_LIST_MODE_PARAM, listMode);\n\n for (const fieldId of TRACE_PROPERTY_FILTER_FIELD_IDS) {\n const param = TRACE_PROPERTY_FILTER_PARAM_BY_FIELD[fieldId];\n if (fieldId === 'tags') {\n for (const value of searchParams.getAll(param)) {\n next.append(param, value);\n }\n continue;\n }\n\n const value = searchParams.get(param);\n if (value) {\n next.set(param, value);\n }\n }\n\n return next;\n}\n\n/**\n * Clear all filter params from `params` and re-add them in the given `tokens`\n * order so the URL (and therefore the PropertyFilterApplied pills) reflects the\n * creation order of filters. Handles the generic `filterX` params plus the\n * dedicated synthetic params (rootEntityType, status).\n */\nexport function applyTracePropertyFilterTokens(params: URLSearchParams, tokens: PropertyFilterToken[]) {\n params.delete(TRACE_ROOT_ENTITY_TYPE_PARAM);\n params.delete(TRACE_STATUS_PARAM);\n for (const fieldId of TRACE_PROPERTY_FILTER_FIELD_IDS) {\n params.delete(TRACE_PROPERTY_FILTER_PARAM_BY_FIELD[fieldId]);\n }\n\n for (const token of tokens) {\n if (token.fieldId === 'rootEntityType' && typeof token.value === 'string') {\n params.set(TRACE_ROOT_ENTITY_TYPE_PARAM, token.value);\n continue;\n }\n if (token.fieldId === 'status' && typeof token.value === 'string') {\n params.set(TRACE_STATUS_PARAM, token.value);\n continue;\n }\n\n const param =\n TRACE_PROPERTY_FILTER_PARAM_BY_FIELD[token.fieldId as keyof typeof TRACE_PROPERTY_FILTER_PARAM_BY_FIELD];\n if (!param) continue;\n\n if (token.fieldId === 'tags' && Array.isArray(token.value)) {\n if (token.value.length === 0) {\n // Empty sentinel — keeps the pill visible after Reset.\n params.append(param, '');\n } else {\n for (const value of token.value) {\n params.append(param, value);\n }\n }\n continue;\n }\n\n if (typeof token.value === 'string') {\n // Persist empty / 'Any' values too so neutralized-but-still-visible pills\n // survive URL round-trips. buildTraceListFilters skips these on the API\n // query side so neutrals never reach the backend.\n params.set(param, token.value.trim());\n }\n }\n}\n\nexport function buildTraceListFilters({\n rootEntityType,\n status,\n dateFrom,\n dateTo,\n tokens,\n}: {\n rootEntityType?: string;\n status?: TraceStatusFilter;\n dateFrom?: Date;\n dateTo?: Date;\n tokens: PropertyFilterToken[];\n}): ListTracesArgs['filters'] {\n const filters: NonNullable<ListTracesArgs['filters']> = {};\n\n if (rootEntityType) {\n filters.entityType = rootEntityType as NonNullable<ListTracesArgs['filters']>['entityType'];\n }\n\n if (status) {\n filters.status = status as NonNullable<ListTracesArgs['filters']>['status'];\n }\n\n if (dateFrom) {\n filters.startedAt = { start: dateFrom };\n }\n\n if (dateTo) {\n filters.endedAt = { end: dateTo };\n }\n\n for (const token of tokens) {\n if (token.fieldId === 'tags') {\n if (Array.isArray(token.value) && token.value.length > 0) {\n filters.tags = token.value;\n } else if (typeof token.value === 'string' && token.value.trim()) {\n // pick-multi tags: single-string token → wrap for the server's array schema.\n filters.tags = [token.value.trim()];\n }\n continue;\n }\n\n if (typeof token.value !== 'string') continue;\n // Skip empty-string tokens (unfilled pending filters) and 'Any'\n // (pick-multi single-select neutral state) so neutrals never reach the\n // backend.\n if (!token.value.trim()) continue;\n if (token.value === 'Any') continue;\n\n switch (token.fieldId) {\n case 'entityId':\n filters.entityId = token.value;\n break;\n case 'entityName':\n filters.entityName = token.value;\n break;\n case 'traceId':\n filters.traceId = token.value;\n break;\n case 'runId':\n filters.runId = token.value;\n break;\n case 'threadId':\n filters.threadId = token.value;\n break;\n case 'sessionId':\n filters.sessionId = token.value;\n break;\n case 'requestId':\n filters.requestId = token.value;\n break;\n case 'resourceId':\n filters.resourceId = token.value;\n break;\n case 'userId':\n filters.userId = token.value;\n break;\n case 'organizationId':\n filters.organizationId = token.value;\n break;\n case 'serviceName':\n filters.serviceName = token.value;\n break;\n case 'environment':\n filters.environment = token.value;\n break;\n case 'experimentId':\n filters.experimentId = token.value;\n break;\n default:\n break;\n }\n }\n\n return filters;\n}\n\n/**\n * \"Clear\" semantics: keep all filter pills but neutralize each value.\n * '' for text fields, 'Any' for single-select pick-multi, [] for multi-select pick-multi.\n * Date range is intentionally NOT touched here — that's a separate concern.\n */\nexport function neutralizeFilterTokens(\n filterFields: PropertyFilterField[],\n filterTokens: PropertyFilterToken[],\n): PropertyFilterToken[] {\n return filterTokens.map(token => {\n const field = filterFields.find(f => f.id === token.fieldId);\n if (!field) return token;\n if (field.kind === 'text') return { fieldId: token.fieldId, value: '' };\n if (field.kind === 'pick-multi') {\n if (field.omitAnyOption) return token;\n return field.multi ? { fieldId: token.fieldId, value: [] } : { fieldId: token.fieldId, value: 'Any' };\n }\n return token;\n });\n}\n"],"names":["value"],"mappings":"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"}
1
+ {"version":3,"file":"trace-filters.es.js","sources":["../../../src/domains/traces/trace-filters.ts"],"sourcesContent":["import type { EntityType } from '@mastra/core/observability';\nimport type { ListTracesArgs } from '@mastra/core/storage';\nimport {\n ActivityIcon,\n BoxIcon,\n BuildingIcon,\n ClockIcon,\n FingerprintIcon,\n FlaskConicalIcon,\n GlobeIcon,\n HashIcon,\n LayersIcon,\n MessageSquareIcon,\n PlayIcon,\n RadioIcon,\n ServerIcon,\n TagIcon,\n TagsIcon,\n UserIcon,\n WaypointsIcon,\n} from 'lucide-react';\nimport type { LucideIcon } from 'lucide-react';\nimport { TRACE_QUERY_UNSUPPORTED_FILTER_FIELDS } from './trace-query-filters';\nimport type { TraceDatePreset } from './types';\nimport type { FilterBarField, FilterBarItem, FilterBarOperator } from '@/ds/components/FilterBar/types';\nimport type { PropertyFilterToken } from '@/ds/components/PropertyFilter/types';\nimport { stringToThemedColor, themedHueColor } from '@/lib/colors';\n\ntype EntityTypeValue = `${EntityType}`;\n\nexport type EntityOptions = { label: string; entityType: EntityTypeValue };\n\nexport const ROOT_ENTITY_TYPES = {\n AGENT: 'agent',\n WORKFLOW: 'workflow_run',\n SCORER: 'scorer',\n INGEST: 'rag_ingestion',\n} as const satisfies Record<string, EntityTypeValue>;\n\nexport const ROOT_ENTITY_TYPE_OPTIONS = [\n { label: 'Agent', entityType: ROOT_ENTITY_TYPES.AGENT },\n { label: 'Workflow', entityType: ROOT_ENTITY_TYPES.WORKFLOW },\n { label: 'Scorer', entityType: ROOT_ENTITY_TYPES.SCORER },\n { label: 'Ingest', entityType: ROOT_ENTITY_TYPES.INGEST },\n] as const satisfies readonly EntityOptions[];\n\nexport type TraceStatusFilter = 'running' | 'success' | 'error';\n\nexport const TRACE_STATUS_OPTIONS = [\n { label: 'Running', value: 'running' },\n { label: 'Success', value: 'success' },\n { label: 'Error', value: 'error' },\n] as const satisfies readonly { label: string; value: TraceStatusFilter }[];\n\n/** Field ids for \"synthetic\" filter entries — they live in dedicated URL params\n * rather than the generic `filter*` set, but appear as rows in the Filter\n * popover so users can manage all filters from one place. */\nexport const TRACE_SYNTHETIC_FILTER_FIELD_IDS = ['rootEntityType', 'status'] as const;\n\nexport const TRACE_ROOT_ENTITY_TYPE_PARAM = 'rootEntityType';\nexport const TRACE_STATUS_PARAM = 'status';\nexport const TRACE_LIST_MODE_PARAM = 'listMode';\n/** Branch-mode only: identifies the anchor span that defines the displayed subtree.\n * Stable across intra-panel span navigation (which only changes `spanId`). */\nexport const TRACE_ANCHOR_SPAN_ID_PARAM = 'anchorSpanId';\nexport const TRACE_LIST_MODE_VALUES = new Set(['traces', 'branches'] as const);\nexport type TraceListMode = 'traces' | 'branches';\n\nexport const TRACE_LIST_MODE_OPTIONS = [\n { label: 'Traces (default)', value: 'traces' },\n { label: 'Branches', value: 'branches' },\n] as const satisfies readonly { label: string; value: TraceListMode }[];\nexport const TRACE_DATE_PRESET_PARAM = 'datePreset';\nexport const TRACE_DATE_FROM_PARAM = 'dateFrom';\nexport const TRACE_DATE_TO_PARAM = 'dateTo';\n\nexport const TRACE_DATE_PRESET_VALUES = new Set<TraceDatePreset>([\n 'all',\n 'last-24h',\n 'last-3d',\n 'last-7d',\n 'last-14d',\n 'last-30d',\n 'custom',\n]);\n\nexport const TRACE_PROPERTY_FILTER_PARAM_BY_FIELD = {\n tags: 'filterTags',\n entityId: 'filterEntityId',\n entityName: 'filterEntityName',\n traceId: 'filterTraceId',\n runId: 'filterRunId',\n threadId: 'filterThreadId',\n sessionId: 'filterSessionId',\n requestId: 'filterRequestId',\n resourceId: 'filterResourceId',\n userId: 'filterUserId',\n organizationId: 'filterOrganizationId',\n serviceName: 'filterServiceName',\n environment: 'filterEnvironment',\n experimentId: 'filterExperimentId',\n} as const;\n\nexport const TRACE_PROPERTY_FILTER_FIELD_IDS = Object.keys(TRACE_PROPERTY_FILTER_PARAM_BY_FIELD) as Array<\n keyof typeof TRACE_PROPERTY_FILTER_PARAM_BY_FIELD\n>;\n\nexport const TRACE_STATUS_VALUES = new Set<TraceStatusFilter>(['running', 'success', 'error']);\n\nexport const DEFAULT_TRACE_FILTERS_STORAGE_KEY = 'mastra:traces:saved-filters';\n\n/** Serialize the filter-related URL params (relative date preset + rootEntityType +\n * status + generic filterX set) to localStorage so the user can restore them on next\n * visit. A `custom` absolute range is never saved: it would be stale by the next visit.\n * An empty set clears the key. Throws no errors — storage being unavailable is fine. */\nexport function saveTraceFiltersToStorage(\n params: URLSearchParams,\n storageKey: string = DEFAULT_TRACE_FILTERS_STORAGE_KEY,\n): void {\n const serialized = getPreservedTraceFilterParams(params);\n const preset = params.get(TRACE_DATE_PRESET_PARAM);\n if (preset && preset !== 'custom') serialized.set(TRACE_DATE_PRESET_PARAM, preset);\n\n if (!serialized.toString()) {\n clearSavedTraceFilters(storageKey);\n return;\n }\n\n try {\n localStorage.setItem(storageKey, serialized.toString());\n } catch {\n // localStorage may be unavailable (private mode / quota) — silently skip.\n }\n}\n\n/** Forget any previously saved filter set. Called from the \"Remove filters\"\n * action so the next plain sidebar nav lands on an empty page. */\nexport function clearSavedTraceFilters(storageKey: string = DEFAULT_TRACE_FILTERS_STORAGE_KEY): void {\n try {\n localStorage.removeItem(storageKey);\n } catch {\n // ignore — storage may be unavailable\n }\n}\n\n/** Read a previously saved filter set and return it as URLSearchParams, or\n * null if nothing is saved or storage is unavailable. */\nexport function loadTraceFiltersFromStorage(\n storageKey: string = DEFAULT_TRACE_FILTERS_STORAGE_KEY,\n): URLSearchParams | null {\n try {\n const raw = localStorage.getItem(storageKey);\n if (!raw) return null;\n const parsed = new URLSearchParams(raw);\n return parsed.toString() ? parsed : null;\n } catch {\n return null;\n }\n}\n\n/** True when `params` carries any filter-related key — used to decide whether\n * to hydrate from localStorage on page mount (we only hydrate when the URL is\n * filter-clean, i.e. the user landed here via a plain sidebar nav). */\nexport function hasAnyTraceFilterParams(params: URLSearchParams): boolean {\n if (params.has(TRACE_DATE_PRESET_PARAM)) return true;\n if (params.has(TRACE_DATE_FROM_PARAM)) return true;\n if (params.has(TRACE_DATE_TO_PARAM)) return true;\n if (params.has(TRACE_ROOT_ENTITY_TYPE_PARAM)) return true;\n if (params.has(TRACE_STATUS_PARAM)) return true;\n if (params.has(TRACE_LIST_MODE_PARAM)) return true;\n for (const fieldId of TRACE_PROPERTY_FILTER_FIELD_IDS) {\n if (params.has(TRACE_PROPERTY_FILTER_PARAM_BY_FIELD[fieldId])) return true;\n }\n return false;\n}\n\n/** The trace query API only runs equality (`eq`) and set membership (`in`)\n * predicates, so the FilterBar offers exactly those two operators. */\nexport const TRACE_FILTER_BAR_OPERATORS: FilterBarOperator[] = [\n { id: 'is', label: 'is' },\n { id: 'in', label: 'in', arity: 'many' },\n];\n\nconst TRACE_FILTER_BAR_LABELS: Record<string, string> = {\n rootEntityType: 'Primitive Type',\n entityName: 'Primitive Name',\n entityId: 'Primitive ID',\n status: 'Status',\n tags: 'Tags',\n serviceName: 'Service Name',\n environment: 'Environment',\n traceId: 'Trace ID',\n runId: 'Run ID',\n threadId: 'Thread ID',\n sessionId: 'Session ID',\n requestId: 'Request ID',\n resourceId: 'Resource ID',\n userId: 'User ID',\n organizationId: 'Organization ID',\n experimentId: 'Experiment ID',\n};\n\n/** Icon and hue for each known trace filter key. Hues are spread by hand — hashing\n * the ids clusters them (e.g. `environment`/`entityName`/`timeRange` all land on green). */\nconst TRACE_FILTER_BAR_FIELD_META: Record<string, { icon: LucideIcon; hue: number }> = {\n timeRange: { icon: ClockIcon, hue: 30 },\n rootEntityType: { icon: BoxIcon, hue: 265 },\n entityName: { icon: TagIcon, hue: 290 },\n entityId: { icon: FingerprintIcon, hue: 315 },\n status: { icon: ActivityIcon, hue: 0 },\n tags: { icon: TagsIcon, hue: 340 },\n serviceName: { icon: ServerIcon, hue: 175 },\n environment: { icon: GlobeIcon, hue: 145 },\n traceId: { icon: WaypointsIcon, hue: 215 },\n runId: { icon: PlayIcon, hue: 195 },\n threadId: { icon: MessageSquareIcon, hue: 235 },\n sessionId: { icon: LayersIcon, hue: 100 },\n requestId: { icon: RadioIcon, hue: 55 },\n resourceId: { icon: HashIcon, hue: 80 },\n userId: { icon: UserIcon, hue: 20 },\n organizationId: { icon: BuildingIcon, hue: 120 },\n experimentId: { icon: FlaskConicalIcon, hue: 160 },\n};\n\nexport const traceFilterFieldIcon = (fieldId: string) => TRACE_FILTER_BAR_FIELD_META[fieldId]?.icon;\n\n/** Stable per-field accent; known keys use a curated hue, others fall back to a hashed one. */\nexport const traceFilterFieldColor = (fieldId: string) => {\n const hue = TRACE_FILTER_BAR_FIELD_META[fieldId]?.hue;\n return hue === undefined ? stringToThemedColor(fieldId) : themedHueColor(hue);\n};\n\nconst traceFieldBase = (id: string) => ({\n id,\n label: TRACE_FILTER_BAR_LABELS[id] ?? id,\n icon: traceFilterFieldIcon(id),\n color: traceFilterFieldColor(id),\n});\n\nconst TRACE_FILTER_BAR_TEXT_FIELD_IDS = [\n 'entityId',\n 'traceId',\n 'runId',\n 'threadId',\n 'sessionId',\n 'requestId',\n 'resourceId',\n 'userId',\n 'organizationId',\n 'experimentId',\n] as const;\n\n/** FilterBar field definitions for the trace pages. Fields the query API cannot\n * filter on (see `TRACE_QUERY_UNSUPPORTED_FILTER_FIELDS`) are omitted, as is the\n * `running` status, so no chip advertises a filter that has no effect. Hidden\n * fields are never offered in the input's field step but still label existing\n * (e.g. scoped, read-only) chips. */\nexport function createTraceFilterBarFields({\n availableRootEntityNames,\n availableEnvironments,\n hiddenFieldIds = [],\n}: {\n availableRootEntityNames: string[];\n availableEnvironments: string[];\n hiddenFieldIds?: readonly string[];\n}): FilterBarField[] {\n const pick = (id: string, suggestions: { value: string; label?: string }[]): FilterBarField => ({\n ...traceFieldBase(id),\n operators: ['is'],\n strict: true,\n suggestions,\n });\n const text = (id: string): FilterBarField => ({ ...traceFieldBase(id), operators: ['is'] });\n\n const pickFields: FilterBarField[] = [\n pick(\n 'rootEntityType',\n ROOT_ENTITY_TYPE_OPTIONS.map(o => ({ value: o.entityType, label: o.label })),\n ),\n pick(\n 'entityName',\n availableRootEntityNames.map(name => ({ value: name })),\n ),\n pick(\n 'status',\n TRACE_STATUS_OPTIONS.filter(o => o.value !== 'running').map(o => ({ value: o.value, label: o.label })),\n ),\n pick(\n 'environment',\n availableEnvironments.map(env => ({ value: env })),\n ),\n ];\n const textFields = TRACE_FILTER_BAR_TEXT_FIELD_IDS.map(text);\n\n const byLabel = (a: FilterBarField, b: FilterBarField) => a.label.localeCompare(b.label);\n const hidden = new Set(hiddenFieldIds);\n return [...pickFields.sort(byLabel), ...textFields.sort(byLabel)]\n .filter(field => !TRACE_QUERY_UNSUPPORTED_FILTER_FIELDS.has(field.id))\n .map(field => (hidden.has(field.id) ? { ...field, hidden: true } : field));\n}\n\n/** One FilterBar item per token, keyed by field id so chip order == URL order.\n * Empty values ('' / []) are kept: that's a pending chip whose field was just\n * changed and whose value hasn't been picked yet (the query builder skips it).\n * Only the legacy 'Any' sentinel is mapped back to an empty value. */\nexport function traceTokensToFilterBarItems(tokens: PropertyFilterToken[]): FilterBarItem[] {\n return tokens.map(token => ({\n id: token.fieldId,\n fieldId: token.fieldId,\n operatorId: token.fieldId === 'tags' ? 'in' : 'is',\n value: token.value === 'Any' ? '' : token.value,\n }));\n}\n\nexport function filterBarItemsToTraceTokens(items: FilterBarItem[]): PropertyFilterToken[] {\n return items.map(item => ({\n fieldId: item.fieldId,\n value: Array.isArray(item.value) ? item.value.map(String) : String(item.value),\n }));\n}\n\n/**\n * Read filter tokens from URL search params preserving the order in which each\n * filter was first added (URLSearchParams iterates in insertion order). This\n * is used by the Filter popover + PropertyFilterApplied pills so the UI reflects the\n * order the user created the filters in.\n */\nexport function getTracePropertyFilterTokens(searchParams: URLSearchParams): PropertyFilterToken[] {\n const tokens: PropertyFilterToken[] = [];\n\n // Map URL param name → fieldId for both generic filterX params and the\n // dedicated synthetic params (rootEntityType, status).\n const paramToFieldId = new Map<string, string>([\n [TRACE_ROOT_ENTITY_TYPE_PARAM, 'rootEntityType'],\n [TRACE_STATUS_PARAM, 'status'],\n ]);\n for (const fieldId of TRACE_PROPERTY_FILTER_FIELD_IDS) {\n paramToFieldId.set(TRACE_PROPERTY_FILTER_PARAM_BY_FIELD[fieldId], fieldId);\n }\n\n const seen = new Set<string>();\n for (const [paramName] of searchParams.entries()) {\n const fieldId = paramToFieldId.get(paramName);\n if (!fieldId || seen.has(fieldId)) continue;\n seen.add(fieldId);\n\n if (fieldId === 'tags') {\n const raw = searchParams.getAll(paramName);\n if (raw.length === 0) continue;\n // An empty `filterTags=` sentinel keeps the pill alive after a Reset\n // (neutral state = no selections) so users can re-pick without losing\n // the pill's position. Non-empty entries are the actual selected tags.\n tokens.push({ fieldId, value: raw.filter(Boolean) });\n continue;\n }\n\n // Text and synthetic single-value fields: include empty strings so\n // pending-but-not-yet-filled filters survive URL round-trips.\n const value = searchParams.get(paramName);\n if (value !== null) tokens.push({ fieldId, value });\n }\n\n return tokens;\n}\n\nexport function getPreservedTraceFilterParams(searchParams: URLSearchParams) {\n const next = new URLSearchParams();\n\n const rootEntityType = searchParams.get(TRACE_ROOT_ENTITY_TYPE_PARAM);\n if (rootEntityType) next.set(TRACE_ROOT_ENTITY_TYPE_PARAM, rootEntityType);\n\n const status = searchParams.get(TRACE_STATUS_PARAM);\n if (status) next.set(TRACE_STATUS_PARAM, status);\n\n const listMode = searchParams.get(TRACE_LIST_MODE_PARAM);\n if (listMode) next.set(TRACE_LIST_MODE_PARAM, listMode);\n\n for (const fieldId of TRACE_PROPERTY_FILTER_FIELD_IDS) {\n const param = TRACE_PROPERTY_FILTER_PARAM_BY_FIELD[fieldId];\n if (fieldId === 'tags') {\n for (const value of searchParams.getAll(param)) {\n next.append(param, value);\n }\n continue;\n }\n\n const value = searchParams.get(param);\n if (value) {\n next.set(param, value);\n }\n }\n\n return next;\n}\n\n/**\n * Clear all filter params from `params` and re-add them in the given `tokens`\n * order so the URL (and therefore the PropertyFilterApplied pills) reflects the\n * creation order of filters. Handles the generic `filterX` params plus the\n * dedicated synthetic params (rootEntityType, status).\n */\nexport function applyTracePropertyFilterTokens(params: URLSearchParams, tokens: PropertyFilterToken[]) {\n params.delete(TRACE_ROOT_ENTITY_TYPE_PARAM);\n params.delete(TRACE_STATUS_PARAM);\n for (const fieldId of TRACE_PROPERTY_FILTER_FIELD_IDS) {\n params.delete(TRACE_PROPERTY_FILTER_PARAM_BY_FIELD[fieldId]);\n }\n\n for (const token of tokens) {\n if (token.fieldId === 'rootEntityType' && typeof token.value === 'string') {\n params.set(TRACE_ROOT_ENTITY_TYPE_PARAM, token.value);\n continue;\n }\n if (token.fieldId === 'status' && typeof token.value === 'string') {\n params.set(TRACE_STATUS_PARAM, token.value);\n continue;\n }\n\n const param =\n TRACE_PROPERTY_FILTER_PARAM_BY_FIELD[token.fieldId as keyof typeof TRACE_PROPERTY_FILTER_PARAM_BY_FIELD];\n if (!param) continue;\n\n if (token.fieldId === 'tags' && Array.isArray(token.value)) {\n if (token.value.length === 0) {\n // Empty sentinel — keeps the pill visible after Reset.\n params.append(param, '');\n } else {\n for (const value of token.value) {\n params.append(param, value);\n }\n }\n continue;\n }\n\n if (typeof token.value === 'string') {\n // Persist empty / 'Any' values too so neutralized-but-still-visible pills\n // survive URL round-trips. buildTraceListFilters skips these on the API\n // query side so neutrals never reach the backend.\n params.set(param, token.value.trim());\n }\n }\n}\n\nexport function buildTraceListFilters({\n rootEntityType,\n status,\n dateFrom,\n dateTo,\n tokens,\n}: {\n rootEntityType?: string;\n status?: TraceStatusFilter;\n dateFrom?: Date;\n dateTo?: Date;\n tokens: PropertyFilterToken[];\n}): ListTracesArgs['filters'] {\n const filters: NonNullable<ListTracesArgs['filters']> = {};\n\n if (rootEntityType) {\n filters.entityType = rootEntityType as NonNullable<ListTracesArgs['filters']>['entityType'];\n }\n\n if (status) {\n filters.status = status as NonNullable<ListTracesArgs['filters']>['status'];\n }\n\n if (dateFrom) {\n filters.startedAt = { start: dateFrom };\n }\n\n if (dateTo) {\n filters.endedAt = { end: dateTo };\n }\n\n for (const token of tokens) {\n if (token.fieldId === 'tags') {\n if (Array.isArray(token.value) && token.value.length > 0) {\n filters.tags = token.value;\n } else if (typeof token.value === 'string' && token.value.trim()) {\n // pick-multi tags: single-string token → wrap for the server's array schema.\n filters.tags = [token.value.trim()];\n }\n continue;\n }\n\n if (typeof token.value !== 'string') continue;\n // Skip empty-string tokens (unfilled pending filters) and 'Any'\n // (pick-multi single-select neutral state) so neutrals never reach the\n // backend.\n if (!token.value.trim()) continue;\n if (token.value === 'Any') continue;\n\n switch (token.fieldId) {\n case 'entityId':\n filters.entityId = token.value;\n break;\n case 'entityName':\n filters.entityName = token.value;\n break;\n case 'traceId':\n filters.traceId = token.value;\n break;\n case 'runId':\n filters.runId = token.value;\n break;\n case 'threadId':\n filters.threadId = token.value;\n break;\n case 'sessionId':\n filters.sessionId = token.value;\n break;\n case 'requestId':\n filters.requestId = token.value;\n break;\n case 'resourceId':\n filters.resourceId = token.value;\n break;\n case 'userId':\n filters.userId = token.value;\n break;\n case 'organizationId':\n filters.organizationId = token.value;\n break;\n case 'serviceName':\n filters.serviceName = token.value;\n break;\n case 'environment':\n filters.environment = token.value;\n break;\n case 'experimentId':\n filters.experimentId = token.value;\n break;\n default:\n break;\n }\n }\n\n return filters;\n}\n"],"names":["value"],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+
5
+ const TRACE_QUERY_UNSUPPORTED_FILTER_FIELDS = /* @__PURE__ */ new Set([
6
+ "tags",
7
+ "runId",
8
+ "sessionId",
9
+ "requestId",
10
+ "userId",
11
+ "organizationId",
12
+ "serviceName",
13
+ "experimentId"
14
+ ]);
15
+ function buildTraceQueryRequest({
16
+ rootEntityType,
17
+ status,
18
+ dateFrom,
19
+ dateTo,
20
+ tokens,
21
+ now
22
+ }) {
23
+ const args = [];
24
+ const predicate = (path, values) => values.length === 1 && values[0] !== void 0 ? { op: "eq", left: { path }, right: { literal: values[0] } } : { op: "in", value: { path }, set: values };
25
+ if (rootEntityType) args.push(predicate("entityType", [rootEntityType]));
26
+ if (status && status !== "running") args.push(predicate("status", [status]));
27
+ for (const token of tokens) {
28
+ const values = (Array.isArray(token.value) ? token.value : [token.value]).filter(
29
+ (value) => typeof value === "string" && Boolean(value.trim()) && value !== "Any"
30
+ );
31
+ if (!values.length) continue;
32
+ if (TRACE_QUERY_UNSUPPORTED_FILTER_FIELDS.has(token.fieldId)) continue;
33
+ switch (token.fieldId) {
34
+ case "entityId":
35
+ args.push({ spans: { some: predicate("entityId", values) } });
36
+ break;
37
+ case "rootEntityType":
38
+ case "entityType":
39
+ args.push(predicate("entityType", values));
40
+ break;
41
+ case "status": {
42
+ const supportedStatuses = values.filter((value) => value !== "running");
43
+ if (supportedStatuses.length) args.push(predicate("status", supportedStatuses));
44
+ break;
45
+ }
46
+ case "entityName":
47
+ case "environment":
48
+ case "traceId":
49
+ case "threadId":
50
+ case "resourceId":
51
+ args.push(predicate(token.fieldId, values));
52
+ break;
53
+ }
54
+ }
55
+ return {
56
+ timeRange: {
57
+ from: (dateFrom ?? new Date(now.getTime() - 7 * 24 * 60 * 60 * 1e3)).toISOString(),
58
+ to: (dateTo ?? now).toISOString()
59
+ },
60
+ ...args.length ? { where: { op: "and", args } } : {}
61
+ };
62
+ }
63
+
64
+ exports.TRACE_QUERY_UNSUPPORTED_FILTER_FIELDS = TRACE_QUERY_UNSUPPORTED_FILTER_FIELDS;
65
+ exports.buildTraceQueryRequest = buildTraceQueryRequest;
66
+ //# sourceMappingURL=trace-query-filters.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trace-query-filters.cjs.js","sources":["../../../src/domains/traces/trace-query-filters.ts"],"sourcesContent":["import type { QueryTracesInput } from '@mastra/client-js';\nimport type { TraceQueryPredicate, TraceQueryScalarPredicate } from '@mastra/core/storage';\nimport type { buildTraceListFilters } from './trace-filters';\n\nexport const TRACE_QUERY_UNSUPPORTED_FILTER_FIELDS = new Set([\n 'tags',\n 'runId',\n 'sessionId',\n 'requestId',\n 'userId',\n 'organizationId',\n 'serviceName',\n 'experimentId',\n]);\n\nexport function buildTraceQueryRequest({\n rootEntityType,\n status,\n dateFrom,\n dateTo,\n tokens,\n now,\n}: Parameters<typeof buildTraceListFilters>[0] & { now: Date }): Pick<QueryTracesInput, 'timeRange' | 'where'> {\n const args: TraceQueryPredicate[] = [];\n const predicate = (path: string, values: string[]): TraceQueryScalarPredicate =>\n values.length === 1 && values[0] !== undefined\n ? { op: 'eq', left: { path }, right: { literal: values[0] } }\n : { op: 'in', value: { path }, set: values };\n\n if (rootEntityType) args.push(predicate('entityType', [rootEntityType]));\n if (status && status !== 'running') args.push(predicate('status', [status]));\n\n for (const token of tokens) {\n const values = (Array.isArray(token.value) ? token.value : [token.value]).filter(\n (value): value is string => typeof value === 'string' && Boolean(value.trim()) && value !== 'Any',\n );\n if (!values.length) continue;\n if (TRACE_QUERY_UNSUPPORTED_FILTER_FIELDS.has(token.fieldId)) continue;\n switch (token.fieldId) {\n case 'entityId':\n // The query API matches entity IDs on any span, not only the root span.\n args.push({ spans: { some: predicate('entityId', values) } });\n break;\n case 'rootEntityType':\n case 'entityType':\n args.push(predicate('entityType', values));\n break;\n case 'status': {\n const supportedStatuses = values.filter(value => value !== 'running');\n if (supportedStatuses.length) args.push(predicate('status', supportedStatuses));\n break;\n }\n case 'entityName':\n case 'environment':\n case 'traceId':\n case 'threadId':\n case 'resourceId':\n args.push(predicate(token.fieldId, values));\n break;\n default:\n break;\n }\n }\n\n return {\n timeRange: {\n from: (dateFrom ?? new Date(now.getTime() - 7 * 24 * 60 * 60 * 1000)).toISOString(),\n to: (dateTo ?? now).toISOString(),\n },\n ...(args.length ? { where: { op: 'and' as const, args } } : {}),\n };\n}\n"],"names":[],"mappings":";;;;AAIO,MAAM,qCAAA,uBAA4C,GAAA,CAAI;AAAA,EAC3D,MAAA;AAAA,EACA,OAAA;AAAA,EACA,WAAA;AAAA,EACA,WAAA;AAAA,EACA,QAAA;AAAA,EACA,gBAAA;AAAA,EACA,aAAA;AAAA,EACA;AACF,CAAC;AAEM,SAAS,sBAAA,CAAuB;AAAA,EACrC,cAAA;AAAA,EACA,MAAA;AAAA,EACA,QAAA;AAAA,EACA,MAAA;AAAA,EACA,MAAA;AAAA,EACA;AACF,CAAA,EAA+G;AAC7G,EAAA,MAAM,OAA8B,EAAC;AACrC,EAAA,MAAM,SAAA,GAAY,CAAC,IAAA,EAAc,MAAA,KAC/B,OAAO,MAAA,KAAW,CAAA,IAAK,MAAA,CAAO,CAAC,MAAM,MAAA,GACjC,EAAE,EAAA,EAAI,IAAA,EAAM,MAAM,EAAE,IAAA,EAAK,EAAG,KAAA,EAAO,EAAE,OAAA,EAAS,MAAA,CAAO,CAAC,GAAE,EAAE,GAC1D,EAAE,EAAA,EAAI,MAAM,KAAA,EAAO,EAAE,IAAA,EAAK,EAAG,KAAK,MAAA,EAAO;AAE/C,EAAA,IAAI,cAAA,OAAqB,IAAA,CAAK,SAAA,CAAU,cAAc,CAAC,cAAc,CAAC,CAAC,CAAA;AACvE,EAAA,IAAI,MAAA,IAAU,MAAA,KAAW,SAAA,EAAW,IAAA,CAAK,IAAA,CAAK,UAAU,QAAA,EAAU,CAAC,MAAM,CAAC,CAAC,CAAA;AAE3E,EAAA,KAAA,MAAW,SAAS,MAAA,EAAQ;AAC1B,IAAA,MAAM,MAAA,GAAA,CAAU,KAAA,CAAM,OAAA,CAAQ,KAAA,CAAM,KAAK,CAAA,GAAI,KAAA,CAAM,KAAA,GAAQ,CAAC,KAAA,CAAM,KAAK,CAAA,EAAG,MAAA;AAAA,MACxE,CAAC,KAAA,KAA2B,OAAO,KAAA,KAAU,QAAA,IAAY,QAAQ,KAAA,CAAM,IAAA,EAAM,CAAA,IAAK,KAAA,KAAU;AAAA,KAC9F;AACA,IAAA,IAAI,CAAC,OAAO,MAAA,EAAQ;AACpB,IAAA,IAAI,qCAAA,CAAsC,GAAA,CAAI,KAAA,CAAM,OAAO,CAAA,EAAG;AAC9D,IAAA,QAAQ,MAAM,OAAA;AAAS,MACrB,KAAK,UAAA;AAEH,QAAA,IAAA,CAAK,IAAA,CAAK,EAAE,KAAA,EAAO,EAAE,IAAA,EAAM,UAAU,UAAA,EAAY,MAAM,CAAA,EAAE,EAAG,CAAA;AAC5D,QAAA;AAAA,MACF,KAAK,gBAAA;AAAA,MACL,KAAK,YAAA;AACH,QAAA,IAAA,CAAK,IAAA,CAAK,SAAA,CAAU,YAAA,EAAc,MAAM,CAAC,CAAA;AACzC,QAAA;AAAA,MACF,KAAK,QAAA,EAAU;AACb,QAAA,MAAM,iBAAA,GAAoB,MAAA,CAAO,MAAA,CAAO,CAAA,KAAA,KAAS,UAAU,SAAS,CAAA;AACpE,QAAA,IAAI,kBAAkB,MAAA,EAAQ,IAAA,CAAK,KAAK,SAAA,CAAU,QAAA,EAAU,iBAAiB,CAAC,CAAA;AAC9E,QAAA;AAAA,MACF;AAAA,MACA,KAAK,YAAA;AAAA,MACL,KAAK,aAAA;AAAA,MACL,KAAK,SAAA;AAAA,MACL,KAAK,UAAA;AAAA,MACL,KAAK,YAAA;AACH,QAAA,IAAA,CAAK,IAAA,CAAK,SAAA,CAAU,KAAA,CAAM,OAAA,EAAS,MAAM,CAAC,CAAA;AAC1C,QAAA;AAEA;AACJ,EACF;AAEA,EAAA,OAAO;AAAA,IACL,SAAA,EAAW;AAAA,MACT,IAAA,EAAA,CAAO,QAAA,IAAY,IAAI,IAAA,CAAK,GAAA,CAAI,OAAA,EAAQ,GAAI,CAAA,GAAI,EAAA,GAAK,EAAA,GAAK,EAAA,GAAK,GAAI,GAAG,WAAA,EAAY;AAAA,MAClF,EAAA,EAAA,CAAK,MAAA,IAAU,GAAA,EAAK,WAAA;AAAY,KAClC;AAAA,IACA,GAAI,IAAA,CAAK,MAAA,GAAS,EAAE,KAAA,EAAO,EAAE,EAAA,EAAI,KAAA,EAAgB,IAAA,EAAK,EAAE,GAAI;AAAC,GAC/D;AACF;;;;;"}
@@ -0,0 +1,2 @@
1
+ export * from '../../src/domains/traces/trace-query-filters'
2
+ export {}