@mastra/playground-ui 66.1.0-alpha.2 → 67.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1052) hide show
  1. package/dist/AgentIndicator-Bs2S8AWJ.js +847 -0
  2. package/dist/AgentIndicator-Bs2S8AWJ.js.map +1 -0
  3. package/dist/AgentIndicator-to30W73z.cjs +864 -0
  4. package/dist/AgentIndicator-to30W73z.cjs.map +1 -0
  5. package/dist/AgentIndicator.css +28 -0
  6. package/dist/{Arrival-NpBOyV52.js → Arrival-CJFEOXr5.js} +33 -3
  7. package/dist/Arrival-CJFEOXr5.js.map +1 -0
  8. package/dist/{Arrival-Dm6Vgn78.cjs → Arrival-Cs1oWjo4.cjs} +43 -1
  9. package/dist/Arrival-Cs1oWjo4.cjs.map +1 -0
  10. package/dist/{Comment-CUQvfikb.cjs → Comment-KYUQzeSu.cjs} +2 -2
  11. package/dist/{Comment-CUQvfikb.cjs.map → Comment-KYUQzeSu.cjs.map} +1 -1
  12. package/dist/{Comment-CPA3IyPS.js → Comment-VFJq2wRp.js} +2 -2
  13. package/dist/{Comment-CPA3IyPS.js.map → Comment-VFJq2wRp.js.map} +1 -1
  14. package/dist/{DataList-Ve3omCXT.js → DataList-2tIlQsLc.js} +95 -3
  15. package/dist/DataList-2tIlQsLc.js.map +1 -0
  16. package/dist/{DataList-Cmk08jUV.cjs → DataList-Czwmwyvp.cjs} +93 -1
  17. package/dist/DataList-Czwmwyvp.cjs.map +1 -0
  18. package/dist/{DateTimeRangePicker-ByMbLdom.js → DateTimeRangePicker-C_Lie_2P.js} +23 -2
  19. package/dist/DateTimeRangePicker-C_Lie_2P.js.map +1 -0
  20. package/dist/{DateTimeRangePicker-DGbH5WOn.cjs → DateTimeRangePicker-HmPOHwAQ.cjs} +23 -2
  21. package/dist/DateTimeRangePicker-HmPOHwAQ.cjs.map +1 -0
  22. package/dist/{FilterBar-Dk3QEuT6.js → FilterBar--4oguuVe.js} +4 -4
  23. package/dist/FilterBar--4oguuVe.js.map +1 -0
  24. package/dist/{FilterBar-gEvoWDXA.cjs → FilterBar-BUd4f7oi.cjs} +7 -7
  25. package/dist/FilterBar-BUd4f7oi.cjs.map +1 -0
  26. package/dist/GrainFill.css +2 -0
  27. package/dist/{MarkdownRenderer-BgqKfmRm.cjs → MarkdownRenderer-CS6u5drO.cjs} +2 -2
  28. package/dist/{MarkdownRenderer-BgqKfmRm.cjs.map → MarkdownRenderer-CS6u5drO.cjs.map} +1 -1
  29. package/dist/{MarkdownRenderer-DKCDXaLy.js → MarkdownRenderer-DME2xKTk.js} +2 -2
  30. package/dist/{MarkdownRenderer-DKCDXaLy.js.map → MarkdownRenderer-DME2xKTk.js.map} +1 -1
  31. package/dist/{Message-BF9cpYaw.cjs → Message-DsCNQpou.cjs} +2 -2
  32. package/dist/{Message-BF9cpYaw.cjs.map → Message-DsCNQpou.cjs.map} +1 -1
  33. package/dist/{Message-Bkf6Ro9H.js → Message-nVI6tMS3.js} +2 -2
  34. package/dist/{Message-Bkf6Ro9H.js.map → Message-nVI6tMS3.js.map} +1 -1
  35. package/dist/{MetricsCard-Dly_H3oX.cjs → MetricsCard-CEB-f2sv.cjs} +91 -109
  36. package/dist/MetricsCard-CEB-f2sv.cjs.map +1 -0
  37. package/dist/{MetricsCard-C9GWgT58.js → MetricsCard-M8awJ2B_.js} +91 -109
  38. package/dist/MetricsCard-M8awJ2B_.js.map +1 -0
  39. package/dist/{MetricsKpiCard-Uw0nyMgW.cjs → MetricsKpiCard-By_-sagx.cjs} +3 -2
  40. package/dist/{MetricsKpiCard-Uw0nyMgW.cjs.map → MetricsKpiCard-By_-sagx.cjs.map} +1 -1
  41. package/dist/{MetricsKpiCard-Idxjl-dn.js → MetricsKpiCard-OHbAElTl.js} +3 -2
  42. package/dist/{MetricsKpiCard-Idxjl-dn.js.map → MetricsKpiCard-OHbAElTl.js.map} +1 -1
  43. package/dist/{MetricsLineChart-DKzuRU2q.js → MetricsLineChart-BhHoduO0.js} +21 -39
  44. package/dist/MetricsLineChart-BhHoduO0.js.map +1 -0
  45. package/dist/{MetricsLineChart-2m4LVL1N.cjs → MetricsLineChart-CjBm4IXu.cjs} +21 -39
  46. package/dist/MetricsLineChart-CjBm4IXu.cjs.map +1 -0
  47. package/dist/{MetricsStackedBarChart-DJB4aByt.js → MetricsStackedBarChart-BRuA6MTE.js} +2 -3
  48. package/dist/MetricsStackedBarChart-BRuA6MTE.js.map +1 -0
  49. package/dist/{MetricsStackedBarChart-NATtwA_W.cjs → MetricsStackedBarChart-BdMlKv6G.cjs} +2 -3
  50. package/dist/MetricsStackedBarChart-BdMlKv6G.cjs.map +1 -0
  51. package/dist/Notice.css +2 -0
  52. package/dist/Shimmer.css +7 -0
  53. package/dist/{activity-ihrl0JtH.js → activity-CM34JyW-.js} +98 -33
  54. package/dist/activity-CM34JyW-.js.map +1 -0
  55. package/dist/{activity-QyLJcBKc.cjs → activity-DAK8tj7r.cjs} +108 -31
  56. package/dist/activity-DAK8tj7r.cjs.map +1 -0
  57. package/dist/chart-plot.css +15 -0
  58. package/dist/combobox-8kNAJFlj.cjs +309 -0
  59. package/dist/combobox-8kNAJFlj.cjs.map +1 -0
  60. package/dist/{combobox-C-E7_q4j.cjs → combobox-parts-BZVXwbG7.cjs} +7 -300
  61. package/dist/combobox-parts-BZVXwbG7.cjs.map +1 -0
  62. package/dist/{combobox-CDS2pBqz.js → combobox-parts-W7KRQUsV.js} +10 -297
  63. package/dist/combobox-parts-W7KRQUsV.js.map +1 -0
  64. package/dist/combobox-wFudhN8F.js +302 -0
  65. package/dist/combobox-wFudhN8F.js.map +1 -0
  66. package/dist/components/AgentIndicator.cjs.js +5 -0
  67. package/dist/components/AgentIndicator.d.ts +1 -0
  68. package/dist/components/AgentIndicator.es.js +1 -0
  69. package/dist/components/Arrival.cjs.js +3 -1
  70. package/dist/components/Arrival.es.js +1 -1
  71. package/dist/components/Combobox.cjs.js +24 -23
  72. package/dist/components/Combobox.es.js +2 -1
  73. package/dist/components/Comment.cjs.js +1 -1
  74. package/dist/components/Comment.es.js +1 -1
  75. package/dist/components/DataList.cjs.js +2 -2
  76. package/dist/components/DataList.es.js +2 -2
  77. package/dist/components/DateTimeRangePicker.cjs.js +1 -1
  78. package/dist/components/DateTimeRangePicker.es.js +1 -1
  79. package/dist/components/DiffStat.cjs.js +1 -1
  80. package/dist/components/DiffStat.es.js +1 -1
  81. package/dist/components/FilterBar.cjs.js +2 -2
  82. package/dist/components/FilterBar.es.js +2 -2
  83. package/dist/components/LogsDataList.cjs.js +1 -1
  84. package/dist/components/LogsDataList.es.js +1 -1
  85. package/dist/components/MarkdownRenderer.cjs.js +1 -1
  86. package/dist/components/MarkdownRenderer.es.js +1 -1
  87. package/dist/components/Message.cjs.js +1 -1
  88. package/dist/components/Message.es.js +1 -1
  89. package/dist/components/MetricsCard.cjs.js +1 -1
  90. package/dist/components/MetricsCard.es.js +1 -1
  91. package/dist/components/MetricsKpiCard.cjs.js +1 -1
  92. package/dist/components/MetricsKpiCard.es.js +1 -1
  93. package/dist/components/MetricsLineChart.cjs.js +1 -1
  94. package/dist/components/MetricsLineChart.es.js +1 -1
  95. package/dist/components/MetricsStackedBarChart.cjs.js +1 -1
  96. package/dist/components/MetricsStackedBarChart.es.js +1 -1
  97. package/dist/components/PropertyFilter.cjs.js +1 -1
  98. package/dist/components/PropertyFilter.es.js +1 -1
  99. package/dist/components/SavedViews.cjs.js +27 -69
  100. package/dist/components/SavedViews.cjs.js.map +1 -1
  101. package/dist/components/SavedViews.es.js +26 -68
  102. package/dist/components/SavedViews.es.js.map +1 -1
  103. package/dist/components/ai/activity.cjs.js +3 -1
  104. package/dist/components/ai/activity.es.js +1 -1
  105. package/dist/components/ai/message-reveal.cjs.js +2 -1
  106. package/dist/components/ai/message-reveal.cjs.js.map +1 -1
  107. package/dist/components/ai/message-reveal.es.js +2 -1
  108. package/dist/components/ai/message-reveal.es.js.map +1 -1
  109. package/dist/components/ai/plan.cjs.js +1 -1
  110. package/dist/components/ai/plan.es.js +1 -1
  111. package/dist/components/ai/tool-approval.cjs.js +1 -1
  112. package/dist/components/ai/tool-approval.es.js +1 -1
  113. package/dist/components/ai/tool-call.cjs.js +2 -2
  114. package/dist/components/ai/tool-call.es.js +2 -2
  115. package/dist/domains/chat/activity/activity-stretch-line.cjs.js +6 -4
  116. package/dist/domains/chat/activity/activity-stretch-line.cjs.js.map +1 -1
  117. package/dist/domains/chat/activity/activity-stretch-line.es.js +6 -4
  118. package/dist/domains/chat/activity/activity-stretch-line.es.js.map +1 -1
  119. package/dist/domains/chat/activity/components/activity-fold.cjs.js +81 -28
  120. package/dist/domains/chat/activity/components/activity-fold.cjs.js.map +1 -1
  121. package/dist/domains/chat/activity/components/activity-fold.es.js +82 -29
  122. package/dist/domains/chat/activity/components/activity-fold.es.js.map +1 -1
  123. package/dist/domains/chat/activity/components/activity-timed-trigger.cjs.js +1 -1
  124. package/dist/domains/chat/activity/components/activity-timed-trigger.es.js +1 -1
  125. package/dist/domains/chat/activity/components/calls-panel.cjs.js +1 -1
  126. package/dist/domains/chat/activity/components/calls-panel.es.js +1 -1
  127. package/dist/domains/chat/activity/components/stretch-content.cjs.js +1 -1
  128. package/dist/domains/chat/activity/components/stretch-content.es.js +1 -1
  129. package/dist/domains/chat/activity/components/stretch-thought.cjs.js +1 -1
  130. package/dist/domains/chat/activity/components/stretch-thought.es.js +1 -1
  131. package/dist/domains/chat/activity/components/use-fading-edge.cjs.js +26 -0
  132. package/dist/domains/chat/activity/components/use-fading-edge.cjs.js.map +1 -0
  133. package/dist/domains/chat/activity/components/use-fading-edge.d.ts +1 -0
  134. package/dist/domains/chat/activity/components/use-fading-edge.es.js +25 -0
  135. package/dist/domains/chat/activity/components/use-fading-edge.es.js.map +1 -0
  136. package/dist/domains/chat/activity/components/use-rolling-words.cjs.js +123 -0
  137. package/dist/domains/chat/activity/components/use-rolling-words.cjs.js.map +1 -0
  138. package/dist/domains/chat/activity/components/use-rolling-words.d.ts +1 -0
  139. package/dist/domains/chat/activity/components/use-rolling-words.es.js +122 -0
  140. package/dist/domains/chat/activity/components/use-rolling-words.es.js.map +1 -0
  141. package/dist/domains/chat/activity/model/activity-segments.cjs.js +1 -1
  142. package/dist/domains/chat/activity/model/activity-segments.es.js +1 -1
  143. package/dist/domains/chat/activity/model/activity-words.cjs.js +16 -6
  144. package/dist/domains/chat/activity/model/activity-words.cjs.js.map +1 -1
  145. package/dist/domains/chat/activity/model/activity-words.es.js +15 -7
  146. package/dist/domains/chat/activity/model/activity-words.es.js.map +1 -1
  147. package/dist/domains/chat/activity.cjs.js +3 -0
  148. package/dist/domains/chat/activity.es.js +2 -1
  149. package/dist/domains/chat/components/badge-wrapper.cjs.js +1 -1
  150. package/dist/domains/chat/components/badge-wrapper.es.js +1 -1
  151. package/dist/domains/chat/messages/assistant-message-actions.cjs.js +1 -1
  152. package/dist/domains/chat/messages/assistant-message-actions.es.js +1 -1
  153. package/dist/domains/chat/messages/message-row.cjs.js +4 -4
  154. package/dist/domains/chat/messages/message-row.es.js +4 -4
  155. package/dist/domains/chat/messages/notification-signal-notice.cjs.js +1 -1
  156. package/dist/domains/chat/messages/notification-signal-notice.es.js +1 -1
  157. package/dist/domains/chat/messages/reasoning-content.cjs.js +1 -1
  158. package/dist/domains/chat/messages/reasoning-content.es.js +1 -1
  159. package/dist/domains/chat/messages/renderers/message-text.cjs.js +1 -1
  160. package/dist/domains/chat/messages/renderers/message-text.es.js +1 -1
  161. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.cjs.js +1 -1
  162. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.es.js +1 -1
  163. package/dist/domains/chat/messages/renderers/tool-part.cjs.js +18 -0
  164. package/dist/domains/chat/messages/renderers/tool-part.cjs.js.map +1 -1
  165. package/dist/domains/chat/messages/renderers/tool-part.es.js +18 -0
  166. package/dist/domains/chat/messages/renderers/tool-part.es.js.map +1 -1
  167. package/dist/domains/chat/messages/signal-badge.cjs.js +1 -1
  168. package/dist/domains/chat/messages/signal-badge.es.js +1 -1
  169. package/dist/domains/chat/messages/skill-message.cjs.js +10 -7
  170. package/dist/domains/chat/messages/skill-message.cjs.js.map +1 -1
  171. package/dist/domains/chat/messages/skill-message.es.js +10 -7
  172. package/dist/domains/chat/messages/skill-message.es.js.map +1 -1
  173. package/dist/domains/chat/messages/system-reminder-badge.cjs.js +1 -1
  174. package/dist/domains/chat/messages/system-reminder-badge.es.js +1 -1
  175. package/dist/domains/chat/tools/badges/agent-badge-wrapper.cjs.js +1 -1
  176. package/dist/domains/chat/tools/badges/agent-badge-wrapper.es.js +1 -1
  177. package/dist/domains/chat/tools/badges/agent-badge.cjs.js +1 -1
  178. package/dist/domains/chat/tools/badges/agent-badge.es.js +1 -1
  179. package/dist/domains/chat/tools/badges/file-tree-badge.cjs.js +2 -2
  180. package/dist/domains/chat/tools/badges/file-tree-badge.es.js +2 -2
  181. package/dist/domains/chat/tools/badges/mcp-task-chip.cjs.js +111 -0
  182. package/dist/domains/chat/tools/badges/mcp-task-chip.cjs.js.map +1 -0
  183. package/dist/domains/chat/tools/badges/mcp-task-chip.d.ts +1 -0
  184. package/dist/domains/chat/tools/badges/mcp-task-chip.es.js +109 -0
  185. package/dist/domains/chat/tools/badges/mcp-task-chip.es.js.map +1 -0
  186. package/dist/domains/chat/tools/badges/observation-marker-badge.cjs.js +8 -6
  187. package/dist/domains/chat/tools/badges/observation-marker-badge.cjs.js.map +1 -1
  188. package/dist/domains/chat/tools/badges/observation-marker-badge.es.js +9 -7
  189. package/dist/domains/chat/tools/badges/observation-marker-badge.es.js.map +1 -1
  190. package/dist/domains/chat/tools/badges/observation-marker-details.cjs.js +2 -3
  191. package/dist/domains/chat/tools/badges/observation-marker-details.cjs.js.map +1 -1
  192. package/dist/domains/chat/tools/badges/observation-marker-details.es.js +2 -3
  193. package/dist/domains/chat/tools/badges/observation-marker-details.es.js.map +1 -1
  194. package/dist/domains/chat/tools/badges/observation-renderer.cjs.js +1 -1
  195. package/dist/domains/chat/tools/badges/observation-renderer.es.js +1 -1
  196. package/dist/domains/chat/tools/badges/sandbox-execution-badge.cjs.js +2 -2
  197. package/dist/domains/chat/tools/badges/sandbox-execution-badge.es.js +2 -2
  198. package/dist/domains/chat/tools/badges/tool-approval-badge.cjs.js +1 -1
  199. package/dist/domains/chat/tools/badges/tool-approval-badge.es.js +1 -1
  200. package/dist/domains/chat/tools/badges/tool-badge.cjs.js +10 -4
  201. package/dist/domains/chat/tools/badges/tool-badge.cjs.js.map +1 -1
  202. package/dist/domains/chat/tools/badges/tool-badge.es.js +10 -4
  203. package/dist/domains/chat/tools/badges/tool-badge.es.js.map +1 -1
  204. package/dist/domains/chat/tools/badges/use-mcp-task-progress.cjs.js +51 -0
  205. package/dist/domains/chat/tools/badges/use-mcp-task-progress.cjs.js.map +1 -0
  206. package/dist/domains/chat/tools/badges/use-mcp-task-progress.d.ts +1 -0
  207. package/dist/domains/chat/tools/badges/use-mcp-task-progress.es.js +49 -0
  208. package/dist/domains/chat/tools/badges/use-mcp-task-progress.es.js.map +1 -0
  209. package/dist/domains/chat/tools/badges/workflow-badge.cjs.js +1 -1
  210. package/dist/domains/chat/tools/badges/workflow-badge.es.js +1 -1
  211. package/dist/domains/chat/tools/tool-card-kind.cjs.js +1 -1
  212. package/dist/domains/chat/tools/tool-card-kind.es.js +1 -1
  213. package/dist/domains/chat/tools/tool-card.cjs.js +1 -1
  214. package/dist/domains/chat/tools/tool-card.es.js +1 -1
  215. package/dist/domains/chat/tools/tool-groups.cjs.js +1 -1
  216. package/dist/domains/chat/tools/tool-groups.es.js +1 -1
  217. package/dist/domains/dashboards/components/dashboard-grid.cjs.js +44 -0
  218. package/dist/domains/dashboards/components/dashboard-grid.cjs.js.map +1 -0
  219. package/dist/domains/dashboards/components/dashboard-grid.d.ts +1 -0
  220. package/dist/domains/dashboards/components/dashboard-grid.es.js +41 -0
  221. package/dist/domains/dashboards/components/dashboard-grid.es.js.map +1 -0
  222. package/dist/domains/dashboards/components/dashboard-renderer.cjs.js +72 -0
  223. package/dist/domains/dashboards/components/dashboard-renderer.cjs.js.map +1 -0
  224. package/dist/domains/dashboards/components/dashboard-renderer.d.ts +1 -0
  225. package/dist/domains/dashboards/components/dashboard-renderer.es.js +71 -0
  226. package/dist/domains/dashboards/components/dashboard-renderer.es.js.map +1 -0
  227. package/dist/domains/dashboards/components/view-gate.cjs.js +55 -0
  228. package/dist/domains/dashboards/components/view-gate.cjs.js.map +1 -0
  229. package/dist/domains/dashboards/components/view-gate.d.ts +1 -0
  230. package/dist/domains/dashboards/components/view-gate.es.js +54 -0
  231. package/dist/domains/dashboards/components/view-gate.es.js.map +1 -0
  232. package/dist/domains/dashboards/components/widget-chrome.cjs.js +16 -0
  233. package/dist/domains/dashboards/components/widget-chrome.cjs.js.map +1 -0
  234. package/dist/domains/dashboards/components/widget-chrome.d.ts +1 -0
  235. package/dist/domains/dashboards/components/widget-chrome.es.js +15 -0
  236. package/dist/domains/dashboards/components/widget-chrome.es.js.map +1 -0
  237. package/dist/domains/dashboards/components/widget-controls.cjs.js +21 -0
  238. package/dist/domains/dashboards/components/widget-controls.cjs.js.map +1 -0
  239. package/dist/domains/dashboards/components/widget-controls.d.ts +1 -0
  240. package/dist/domains/dashboards/components/widget-controls.es.js +20 -0
  241. package/dist/domains/dashboards/components/widget-controls.es.js.map +1 -0
  242. package/dist/domains/dashboards/components/widget-error.cjs.js +18 -0
  243. package/dist/domains/dashboards/components/widget-error.cjs.js.map +1 -0
  244. package/dist/domains/dashboards/components/widget-error.d.ts +1 -0
  245. package/dist/domains/dashboards/components/widget-error.es.js +17 -0
  246. package/dist/domains/dashboards/components/widget-error.es.js.map +1 -0
  247. package/dist/domains/dashboards/hooks/use-dashboard-requests.cjs.js +47 -0
  248. package/dist/domains/dashboards/hooks/use-dashboard-requests.cjs.js.map +1 -0
  249. package/dist/domains/dashboards/hooks/use-dashboard-requests.d.ts +1 -0
  250. package/dist/domains/dashboards/hooks/use-dashboard-requests.es.js +46 -0
  251. package/dist/domains/dashboards/hooks/use-dashboard-requests.es.js.map +1 -0
  252. package/dist/domains/dashboards/hooks/use-scorers.cjs.js +41 -0
  253. package/dist/domains/dashboards/hooks/use-scorers.cjs.js.map +1 -0
  254. package/dist/domains/dashboards/hooks/use-scorers.d.ts +1 -0
  255. package/dist/domains/dashboards/hooks/use-scorers.es.js +40 -0
  256. package/dist/domains/dashboards/hooks/use-scorers.es.js.map +1 -0
  257. package/dist/domains/dashboards/hooks/use-widget-views.cjs.js +35 -0
  258. package/dist/domains/dashboards/hooks/use-widget-views.cjs.js.map +1 -0
  259. package/dist/domains/dashboards/hooks/use-widget-views.d.ts +1 -0
  260. package/dist/domains/dashboards/hooks/use-widget-views.es.js +32 -0
  261. package/dist/domains/dashboards/hooks/use-widget-views.es.js.map +1 -0
  262. package/dist/domains/dashboards/kinds/kpis/kpis-widget.cjs.js +63 -0
  263. package/dist/domains/dashboards/kinds/kpis/kpis-widget.cjs.js.map +1 -0
  264. package/dist/domains/dashboards/kinds/kpis/kpis-widget.d.ts +1 -0
  265. package/dist/domains/dashboards/kinds/kpis/kpis-widget.es.js +62 -0
  266. package/dist/domains/dashboards/kinds/kpis/kpis-widget.es.js.map +1 -0
  267. package/dist/domains/dashboards/kinds/kpis/options.cjs.js +72 -0
  268. package/dist/domains/dashboards/kinds/kpis/options.cjs.js.map +1 -0
  269. package/dist/domains/dashboards/kinds/kpis/options.d.ts +1 -0
  270. package/dist/domains/dashboards/kinds/kpis/options.es.js +69 -0
  271. package/dist/domains/dashboards/kinds/kpis/options.es.js.map +1 -0
  272. package/dist/domains/dashboards/kinds/kpis.cjs.js +17 -0
  273. package/dist/domains/dashboards/kinds/kpis.cjs.js.map +1 -0
  274. package/dist/domains/dashboards/kinds/kpis.d.ts +1 -0
  275. package/dist/domains/dashboards/kinds/kpis.es.js +14 -0
  276. package/dist/domains/dashboards/kinds/kpis.es.js.map +1 -0
  277. package/dist/domains/dashboards/kinds/scores/options.cjs.js +30 -0
  278. package/dist/domains/dashboards/kinds/scores/options.cjs.js.map +1 -0
  279. package/dist/domains/dashboards/kinds/scores/options.d.ts +1 -0
  280. package/dist/domains/dashboards/kinds/scores/options.es.js +28 -0
  281. package/dist/domains/dashboards/kinds/scores/options.es.js.map +1 -0
  282. package/dist/domains/dashboards/kinds/scores/scores-widget.cjs.js +91 -0
  283. package/dist/domains/dashboards/kinds/scores/scores-widget.cjs.js.map +1 -0
  284. package/dist/domains/dashboards/kinds/scores/scores-widget.d.ts +1 -0
  285. package/dist/domains/dashboards/kinds/scores/scores-widget.es.js +90 -0
  286. package/dist/domains/dashboards/kinds/scores/scores-widget.es.js.map +1 -0
  287. package/dist/domains/dashboards/kinds/scores.cjs.js +16 -0
  288. package/dist/domains/dashboards/kinds/scores.cjs.js.map +1 -0
  289. package/dist/domains/dashboards/kinds/scores.d.ts +1 -0
  290. package/dist/domains/dashboards/kinds/scores.es.js +14 -0
  291. package/dist/domains/dashboards/kinds/scores.es.js.map +1 -0
  292. package/dist/domains/dashboards/kinds/table/table-cells.cjs.js +67 -0
  293. package/dist/domains/dashboards/kinds/table/table-cells.cjs.js.map +1 -0
  294. package/dist/domains/dashboards/kinds/table/table-cells.d.ts +1 -0
  295. package/dist/domains/dashboards/kinds/table/table-cells.es.js +63 -0
  296. package/dist/domains/dashboards/kinds/table/table-cells.es.js.map +1 -0
  297. package/dist/domains/dashboards/kinds/table/table-columns.cjs.js +72 -0
  298. package/dist/domains/dashboards/kinds/table/table-columns.cjs.js.map +1 -0
  299. package/dist/domains/dashboards/kinds/table/table-columns.d.ts +1 -0
  300. package/dist/domains/dashboards/kinds/table/table-columns.es.js +71 -0
  301. package/dist/domains/dashboards/kinds/table/table-columns.es.js.map +1 -0
  302. package/dist/domains/dashboards/kinds/table/table-frame.cjs.js +16 -0
  303. package/dist/domains/dashboards/kinds/table/table-frame.cjs.js.map +1 -0
  304. package/dist/domains/dashboards/kinds/table/table-frame.d.ts +1 -0
  305. package/dist/domains/dashboards/kinds/table/table-frame.es.js +15 -0
  306. package/dist/domains/dashboards/kinds/table/table-frame.es.js.map +1 -0
  307. package/dist/domains/dashboards/kinds/table/table-tabs.cjs.js +55 -0
  308. package/dist/domains/dashboards/kinds/table/table-tabs.cjs.js.map +1 -0
  309. package/dist/domains/dashboards/kinds/table/table-tabs.d.ts +1 -0
  310. package/dist/domains/dashboards/kinds/table/table-tabs.es.js +54 -0
  311. package/dist/domains/dashboards/kinds/table/table-tabs.es.js.map +1 -0
  312. package/dist/domains/dashboards/kinds/table/table-view.cjs.js +80 -0
  313. package/dist/domains/dashboards/kinds/table/table-view.cjs.js.map +1 -0
  314. package/dist/domains/dashboards/kinds/table/table-view.d.ts +1 -0
  315. package/dist/domains/dashboards/kinds/table/table-view.es.js +79 -0
  316. package/dist/domains/dashboards/kinds/table/table-view.es.js.map +1 -0
  317. package/dist/domains/dashboards/kinds/table/table-widget.cjs.js +30 -0
  318. package/dist/domains/dashboards/kinds/table/table-widget.cjs.js.map +1 -0
  319. package/dist/domains/dashboards/kinds/table/table-widget.d.ts +1 -0
  320. package/dist/domains/dashboards/kinds/table/table-widget.es.js +29 -0
  321. package/dist/domains/dashboards/kinds/table/table-widget.es.js.map +1 -0
  322. package/dist/domains/dashboards/kinds/table.cjs.js +17 -0
  323. package/dist/domains/dashboards/kinds/table.cjs.js.map +1 -0
  324. package/dist/domains/dashboards/kinds/table.d.ts +1 -0
  325. package/dist/domains/dashboards/kinds/table.es.js +14 -0
  326. package/dist/domains/dashboards/kinds/table.es.js.map +1 -0
  327. package/dist/domains/dashboards/kinds/timeseries/timeseries-widget.cjs.js +115 -0
  328. package/dist/domains/dashboards/kinds/timeseries/timeseries-widget.cjs.js.map +1 -0
  329. package/dist/domains/dashboards/kinds/timeseries/timeseries-widget.d.ts +1 -0
  330. package/dist/domains/dashboards/kinds/timeseries/timeseries-widget.es.js +114 -0
  331. package/dist/domains/dashboards/kinds/timeseries/timeseries-widget.es.js.map +1 -0
  332. package/dist/domains/dashboards/kinds/timeseries.cjs.js +15 -0
  333. package/dist/domains/dashboards/kinds/timeseries.cjs.js.map +1 -0
  334. package/dist/domains/dashboards/kinds/timeseries.d.ts +1 -0
  335. package/dist/domains/dashboards/kinds/timeseries.es.js +14 -0
  336. package/dist/domains/dashboards/kinds/timeseries.es.js.map +1 -0
  337. package/dist/domains/dashboards/kinds.cjs.js +20 -0
  338. package/dist/domains/dashboards/kinds.cjs.js.map +1 -0
  339. package/dist/domains/dashboards/kinds.d.ts +1 -0
  340. package/dist/domains/dashboards/kinds.es.js +15 -0
  341. package/dist/domains/dashboards/kinds.es.js.map +1 -0
  342. package/dist/domains/dashboards/lib/answers.cjs.js +42 -0
  343. package/dist/domains/dashboards/lib/answers.cjs.js.map +1 -0
  344. package/dist/domains/dashboards/lib/answers.d.ts +1 -0
  345. package/dist/domains/dashboards/lib/answers.es.js +37 -0
  346. package/dist/domains/dashboards/lib/answers.es.js.map +1 -0
  347. package/dist/domains/dashboards/lib/chrome.cjs.js +41 -0
  348. package/dist/domains/dashboards/lib/chrome.cjs.js.map +1 -0
  349. package/dist/domains/dashboards/lib/chrome.d.ts +1 -0
  350. package/dist/domains/dashboards/lib/chrome.es.js +37 -0
  351. package/dist/domains/dashboards/lib/chrome.es.js.map +1 -0
  352. package/dist/domains/dashboards/lib/definition.cjs.js +59 -0
  353. package/dist/domains/dashboards/lib/definition.cjs.js.map +1 -0
  354. package/dist/domains/dashboards/lib/definition.d.ts +1 -0
  355. package/dist/domains/dashboards/lib/definition.es.js +55 -0
  356. package/dist/domains/dashboards/lib/definition.es.js.map +1 -0
  357. package/dist/domains/dashboards/lib/filters.cjs.js +44 -0
  358. package/dist/domains/dashboards/lib/filters.cjs.js.map +1 -0
  359. package/dist/domains/dashboards/lib/filters.d.ts +1 -0
  360. package/dist/domains/dashboards/lib/filters.es.js +43 -0
  361. package/dist/domains/dashboards/lib/filters.es.js.map +1 -0
  362. package/dist/domains/dashboards/lib/format.cjs.js +32 -0
  363. package/dist/domains/dashboards/lib/format.cjs.js.map +1 -0
  364. package/dist/domains/dashboards/lib/format.d.ts +1 -0
  365. package/dist/domains/dashboards/lib/format.es.js +30 -0
  366. package/dist/domains/dashboards/lib/format.es.js.map +1 -0
  367. package/dist/domains/dashboards/lib/prepare-widget.cjs.js +77 -0
  368. package/dist/domains/dashboards/lib/prepare-widget.cjs.js.map +1 -0
  369. package/dist/domains/dashboards/lib/prepare-widget.d.ts +1 -0
  370. package/dist/domains/dashboards/lib/prepare-widget.es.js +75 -0
  371. package/dist/domains/dashboards/lib/prepare-widget.es.js.map +1 -0
  372. package/dist/domains/dashboards/lib/requests.cjs.js +279 -0
  373. package/dist/domains/dashboards/lib/requests.cjs.js.map +1 -0
  374. package/dist/domains/dashboards/lib/requests.d.ts +1 -0
  375. package/dist/domains/dashboards/lib/requests.es.js +273 -0
  376. package/dist/domains/dashboards/lib/requests.es.js.map +1 -0
  377. package/dist/domains/dashboards/lib/scores.cjs.js +58 -0
  378. package/dist/domains/dashboards/lib/scores.cjs.js.map +1 -0
  379. package/dist/domains/dashboards/lib/scores.d.ts +1 -0
  380. package/dist/domains/dashboards/lib/scores.es.js +53 -0
  381. package/dist/domains/dashboards/lib/scores.es.js.map +1 -0
  382. package/dist/domains/dashboards/lib/table.cjs.js +408 -0
  383. package/dist/domains/dashboards/lib/table.cjs.js.map +1 -0
  384. package/dist/domains/dashboards/lib/table.d.ts +1 -0
  385. package/dist/domains/dashboards/lib/table.es.js +388 -0
  386. package/dist/domains/dashboards/lib/table.es.js.map +1 -0
  387. package/dist/domains/dashboards/lib/timeseries.cjs.js +192 -0
  388. package/dist/domains/dashboards/lib/timeseries.cjs.js.map +1 -0
  389. package/dist/domains/dashboards/lib/timeseries.d.ts +1 -0
  390. package/dist/domains/dashboards/lib/timeseries.es.js +188 -0
  391. package/dist/domains/dashboards/lib/timeseries.es.js.map +1 -0
  392. package/dist/domains/dashboards/lib/values.cjs.js +155 -0
  393. package/dist/domains/dashboards/lib/values.cjs.js.map +1 -0
  394. package/dist/domains/dashboards/lib/values.d.ts +1 -0
  395. package/dist/domains/dashboards/lib/values.es.js +142 -0
  396. package/dist/domains/dashboards/lib/values.es.js.map +1 -0
  397. package/dist/domains/dashboards/metrics-dashboard.cjs.js +737 -0
  398. package/dist/domains/dashboards/metrics-dashboard.cjs.js.map +1 -0
  399. package/dist/domains/dashboards/metrics-dashboard.d.ts +1 -0
  400. package/dist/domains/dashboards/metrics-dashboard.es.js +736 -0
  401. package/dist/domains/dashboards/metrics-dashboard.es.js.map +1 -0
  402. package/dist/domains/dashboards/widget-kind.cjs.js +7 -0
  403. package/dist/domains/dashboards/widget-kind.cjs.js.map +1 -0
  404. package/dist/domains/dashboards/widget-kind.d.ts +1 -0
  405. package/dist/domains/dashboards/widget-kind.es.js +6 -0
  406. package/dist/domains/dashboards/widget-kind.es.js.map +1 -0
  407. package/dist/domains/dashboards.cjs.js +39 -0
  408. package/dist/domains/dashboards.d.ts +1 -0
  409. package/dist/domains/dashboards.es.js +18 -0
  410. package/dist/domains/logs/components/logs-list-view.cjs.js +1 -1
  411. package/dist/domains/logs/components/logs-list-view.es.js +1 -1
  412. package/dist/domains/logs/components/logs-saved-views.cjs.js +14 -0
  413. package/dist/domains/logs/components/logs-saved-views.cjs.js.map +1 -0
  414. package/dist/domains/logs/components/logs-saved-views.d.ts +1 -0
  415. package/dist/domains/logs/components/logs-saved-views.es.js +13 -0
  416. package/dist/domains/logs/components/logs-saved-views.es.js.map +1 -0
  417. package/dist/domains/logs/components.cjs.js +2 -0
  418. package/dist/domains/logs/components.es.js +2 -1
  419. package/dist/domains/logs/hooks/use-logs-url-state.cjs.js +1 -1
  420. package/dist/domains/logs/hooks/use-logs-url-state.cjs.js.map +1 -1
  421. package/dist/domains/logs/hooks/use-logs-url-state.es.js +2 -2
  422. package/dist/domains/logs/hooks/use-logs-url-state.es.js.map +1 -1
  423. package/dist/domains/logs/log-filters.cjs.js +11 -0
  424. package/dist/domains/logs/log-filters.cjs.js.map +1 -1
  425. package/dist/domains/logs/log-filters.es.js +9 -1
  426. package/dist/domains/logs/log-filters.es.js.map +1 -1
  427. package/dist/domains/logs.cjs.js +6 -1
  428. package/dist/domains/logs.es.js +3 -2
  429. package/dist/domains/metrics/components/agent-runs-card.cjs.js +38 -15
  430. package/dist/domains/metrics/components/agent-runs-card.cjs.js.map +1 -1
  431. package/dist/domains/metrics/components/agent-runs-card.es.js +38 -15
  432. package/dist/domains/metrics/components/agent-runs-card.es.js.map +1 -1
  433. package/dist/domains/metrics/components/breakdown/breakdown-change-cell.cjs.js +4 -11
  434. package/dist/domains/metrics/components/breakdown/breakdown-change-cell.cjs.js.map +1 -1
  435. package/dist/domains/metrics/components/breakdown/breakdown-change-cell.es.js +4 -11
  436. package/dist/domains/metrics/components/breakdown/breakdown-change-cell.es.js.map +1 -1
  437. package/dist/domains/metrics/components/breakdown/breakdown-cost-cell.cjs.js +2 -4
  438. package/dist/domains/metrics/components/breakdown/breakdown-cost-cell.cjs.js.map +1 -1
  439. package/dist/domains/metrics/components/breakdown/breakdown-cost-cell.es.js +2 -4
  440. package/dist/domains/metrics/components/breakdown/breakdown-cost-cell.es.js.map +1 -1
  441. package/dist/domains/metrics/components/breakdown/breakdown-entity-tab.cjs.js +1 -1
  442. package/dist/domains/metrics/components/breakdown/breakdown-entity-tab.es.js +1 -1
  443. package/dist/domains/metrics/components/breakdown/breakdown-frame.cjs.js +16 -27
  444. package/dist/domains/metrics/components/breakdown/breakdown-frame.cjs.js.map +1 -1
  445. package/dist/domains/metrics/components/breakdown/breakdown-frame.es.js +16 -27
  446. package/dist/domains/metrics/components/breakdown/breakdown-frame.es.js.map +1 -1
  447. package/dist/domains/metrics/components/breakdown/breakdown-models-tab.cjs.js +1 -1
  448. package/dist/domains/metrics/components/breakdown/breakdown-models-tab.es.js +1 -1
  449. package/dist/domains/metrics/components/breakdown/breakdown-name.cjs.js +22 -0
  450. package/dist/domains/metrics/components/breakdown/breakdown-name.cjs.js.map +1 -0
  451. package/dist/domains/metrics/components/breakdown/breakdown-name.d.ts +1 -0
  452. package/dist/domains/metrics/components/breakdown/breakdown-name.es.js +21 -0
  453. package/dist/domains/metrics/components/breakdown/breakdown-name.es.js.map +1 -0
  454. package/dist/domains/metrics/components/breakdown/breakdown-not-priced.cjs.js +13 -0
  455. package/dist/domains/metrics/components/breakdown/breakdown-not-priced.cjs.js.map +1 -0
  456. package/dist/domains/metrics/components/breakdown/breakdown-not-priced.d.ts +1 -0
  457. package/dist/domains/metrics/components/breakdown/breakdown-not-priced.es.js +12 -0
  458. package/dist/domains/metrics/components/breakdown/breakdown-not-priced.es.js.map +1 -0
  459. package/dist/domains/metrics/components/breakdown/breakdown-projects-first.cjs.js +1 -1
  460. package/dist/domains/metrics/components/breakdown/breakdown-projects-first.es.js +1 -1
  461. package/dist/domains/metrics/components/breakdown/breakdown-row-mark.cjs.js +26 -13
  462. package/dist/domains/metrics/components/breakdown/breakdown-row-mark.cjs.js.map +1 -1
  463. package/dist/domains/metrics/components/breakdown/breakdown-row-mark.es.js +25 -14
  464. package/dist/domains/metrics/components/breakdown/breakdown-row-mark.es.js.map +1 -1
  465. package/dist/domains/metrics/components/breakdown/breakdown-row-name.cjs.js +10 -13
  466. package/dist/domains/metrics/components/breakdown/breakdown-row-name.cjs.js.map +1 -1
  467. package/dist/domains/metrics/components/breakdown/breakdown-row-name.es.js +11 -14
  468. package/dist/domains/metrics/components/breakdown/breakdown-row-name.es.js.map +1 -1
  469. package/dist/domains/metrics/components/breakdown/breakdown-tab-body.cjs.js +1 -1
  470. package/dist/domains/metrics/components/breakdown/breakdown-tab-body.es.js +1 -1
  471. package/dist/domains/metrics/components/breakdown/breakdown-table.cjs.js +5 -5
  472. package/dist/domains/metrics/components/breakdown/breakdown-table.es.js +5 -5
  473. package/dist/domains/metrics/components/breakdown/breakdown-trace-tab.cjs.js +1 -1
  474. package/dist/domains/metrics/components/breakdown/breakdown-trace-tab.es.js +1 -1
  475. package/dist/domains/metrics/components/breakdown/breakdown-trend-text.cjs.js +25 -0
  476. package/dist/domains/metrics/components/breakdown/breakdown-trend-text.cjs.js.map +1 -0
  477. package/dist/domains/metrics/components/breakdown/breakdown-trend-text.d.ts +1 -0
  478. package/dist/domains/metrics/components/breakdown/breakdown-trend-text.es.js +24 -0
  479. package/dist/domains/metrics/components/breakdown/breakdown-trend-text.es.js.map +1 -0
  480. package/dist/domains/metrics/components/breakdown-card.cjs.js +3 -3
  481. package/dist/domains/metrics/components/breakdown-card.es.js +3 -3
  482. package/dist/domains/metrics/components/card-action-buttons.cjs.js +43 -3
  483. package/dist/domains/metrics/components/card-action-buttons.cjs.js.map +1 -1
  484. package/dist/domains/metrics/components/card-action-buttons.es.js +42 -5
  485. package/dist/domains/metrics/components/card-action-buttons.es.js.map +1 -1
  486. package/dist/domains/metrics/components/chart-area.cjs.js +1 -1
  487. package/dist/domains/metrics/components/chart-area.es.js +1 -1
  488. package/dist/domains/metrics/components/chart-card-error.cjs.js +1 -1
  489. package/dist/domains/metrics/components/chart-card-error.es.js +1 -1
  490. package/dist/domains/metrics/components/chart-card.cjs.js +39 -38
  491. package/dist/domains/metrics/components/chart-card.cjs.js.map +1 -1
  492. package/dist/domains/metrics/components/chart-card.es.js +39 -38
  493. package/dist/domains/metrics/components/chart-card.es.js.map +1 -1
  494. package/dist/domains/metrics/components/date-range-selector.cjs.js +1 -1
  495. package/dist/domains/metrics/components/date-range-selector.es.js +1 -1
  496. package/dist/domains/metrics/components/distinct-ids/distinct-ids-chart.cjs.js +15 -16
  497. package/dist/domains/metrics/components/distinct-ids/distinct-ids-chart.cjs.js.map +1 -1
  498. package/dist/domains/metrics/components/distinct-ids/distinct-ids-chart.es.js +16 -16
  499. package/dist/domains/metrics/components/distinct-ids/distinct-ids-chart.es.js.map +1 -1
  500. package/dist/domains/metrics/components/distinct-ids-card.cjs.js +0 -1
  501. package/dist/domains/metrics/components/distinct-ids-card.cjs.js.map +1 -1
  502. package/dist/domains/metrics/components/distinct-ids-card.es.js +1 -2
  503. package/dist/domains/metrics/components/distinct-ids-card.es.js.map +1 -1
  504. package/dist/domains/metrics/components/failure-rate-card.cjs.js +11 -14
  505. package/dist/domains/metrics/components/failure-rate-card.cjs.js.map +1 -1
  506. package/dist/domains/metrics/components/failure-rate-card.es.js +11 -14
  507. package/dist/domains/metrics/components/failure-rate-card.es.js.map +1 -1
  508. package/dist/domains/metrics/components/kpi-card.cjs.js +8 -5
  509. package/dist/domains/metrics/components/kpi-card.cjs.js.map +1 -1
  510. package/dist/domains/metrics/components/kpi-card.es.js +8 -5
  511. package/dist/domains/metrics/components/kpi-card.es.js.map +1 -1
  512. package/dist/domains/metrics/components/latency-card.cjs.js +33 -30
  513. package/dist/domains/metrics/components/latency-card.cjs.js.map +1 -1
  514. package/dist/domains/metrics/components/latency-card.es.js +34 -31
  515. package/dist/domains/metrics/components/latency-card.es.js.map +1 -1
  516. package/dist/domains/metrics/components/metrics-grid/metrics-grid.cjs.js +5 -2
  517. package/dist/domains/metrics/components/metrics-grid/metrics-grid.cjs.js.map +1 -1
  518. package/dist/domains/metrics/components/metrics-grid/metrics-grid.es.js +5 -2
  519. package/dist/domains/metrics/components/metrics-grid/metrics-grid.es.js.map +1 -1
  520. package/dist/domains/metrics/components/scores-card.cjs.js +7 -17
  521. package/dist/domains/metrics/components/scores-card.cjs.js.map +1 -1
  522. package/dist/domains/metrics/components/scores-card.es.js +7 -17
  523. package/dist/domains/metrics/components/scores-card.es.js.map +1 -1
  524. package/dist/domains/metrics/components/token-usage-card.cjs.js +29 -26
  525. package/dist/domains/metrics/components/token-usage-card.cjs.js.map +1 -1
  526. package/dist/domains/metrics/components/token-usage-card.es.js +30 -27
  527. package/dist/domains/metrics/components/token-usage-card.es.js.map +1 -1
  528. package/dist/domains/metrics/components/trace-aggregate-card.cjs.js +3 -2
  529. package/dist/domains/metrics/components/trace-aggregate-card.cjs.js.map +1 -1
  530. package/dist/domains/metrics/components/trace-aggregate-card.es.js +3 -2
  531. package/dist/domains/metrics/components/trace-aggregate-card.es.js.map +1 -1
  532. package/dist/domains/metrics/components/trace-volume-card.cjs.js +31 -35
  533. package/dist/domains/metrics/components/trace-volume-card.cjs.js.map +1 -1
  534. package/dist/domains/metrics/components/trace-volume-card.es.js +31 -35
  535. package/dist/domains/metrics/components/trace-volume-card.es.js.map +1 -1
  536. package/dist/domains/metrics/components/usage-card.cjs.js +29 -28
  537. package/dist/domains/metrics/components/usage-card.cjs.js.map +1 -1
  538. package/dist/domains/metrics/components/usage-card.es.js +30 -29
  539. package/dist/domains/metrics/components/usage-card.es.js.map +1 -1
  540. package/dist/domains/metrics/components.cjs.js +6 -5
  541. package/dist/domains/metrics/components.es.js +4 -5
  542. package/dist/domains/metrics/drilldown.cjs.js +1 -1
  543. package/dist/domains/metrics/drilldown.es.js +1 -1
  544. package/dist/domains/metrics/hooks/use-metrics-activity.cjs.js +1 -1
  545. package/dist/domains/metrics/hooks/use-metrics-activity.es.js +1 -1
  546. package/dist/domains/metrics/hooks/use-metrics-latency.cjs.js +1 -1
  547. package/dist/domains/metrics/hooks/use-metrics-latency.es.js +1 -1
  548. package/dist/domains/metrics/hooks/use-metrics-scores.cjs.js +1 -1
  549. package/dist/domains/metrics/hooks/use-metrics-scores.es.js +1 -1
  550. package/dist/domains/metrics/hooks/use-metrics-span-aggregate.cjs.js +1 -1
  551. package/dist/domains/metrics/hooks/use-metrics-span-aggregate.es.js +1 -1
  552. package/dist/domains/metrics/hooks.cjs.js +1 -1
  553. package/dist/domains/metrics/hooks.es.js +1 -1
  554. package/dist/domains/metrics/lib/breakdown-table.cjs.js +2 -2
  555. package/dist/domains/metrics/lib/breakdown-table.es.js +2 -2
  556. package/dist/domains/metrics/lib.cjs.js +2 -2
  557. package/dist/domains/metrics/lib.es.js +2 -2
  558. package/dist/domains/metrics/metrics-filters.cjs.js +1 -1
  559. package/dist/domains/metrics/metrics-filters.es.js +1 -1
  560. package/dist/domains/metrics.cjs.js +14 -13
  561. package/dist/domains/metrics.es.js +12 -13
  562. package/dist/domains/observability/components/observability-header-slot.cjs.js +13 -0
  563. package/dist/domains/observability/components/observability-header-slot.cjs.js.map +1 -0
  564. package/dist/domains/observability/components/observability-header-slot.d.ts +1 -0
  565. package/dist/domains/observability/components/observability-header-slot.es.js +11 -0
  566. package/dist/domains/observability/components/observability-header-slot.es.js.map +1 -0
  567. package/dist/domains/observability/components/observability-histogram.cjs.js +6 -2
  568. package/dist/domains/observability/components/observability-histogram.cjs.js.map +1 -1
  569. package/dist/domains/observability/components/observability-histogram.es.js +6 -2
  570. package/dist/domains/observability/components/observability-histogram.es.js.map +1 -1
  571. package/dist/domains/observability/components/observability-page-layout.cjs.js +19 -5
  572. package/dist/domains/observability/components/observability-page-layout.cjs.js.map +1 -1
  573. package/dist/domains/observability/components/observability-page-layout.es.js +20 -6
  574. package/dist/domains/observability/components/observability-page-layout.es.js.map +1 -1
  575. package/dist/domains/observability/hooks/use-observability-list-filters.cjs.js +75 -18
  576. package/dist/domains/observability/hooks/use-observability-list-filters.cjs.js.map +1 -1
  577. package/dist/domains/observability/hooks/use-observability-list-filters.es.js +76 -19
  578. package/dist/domains/observability/hooks/use-observability-list-filters.es.js.map +1 -1
  579. package/dist/domains/observability/lib/zoom-memory.cjs.js +24 -0
  580. package/dist/domains/observability/lib/zoom-memory.cjs.js.map +1 -0
  581. package/dist/domains/observability/lib/zoom-memory.d.ts +1 -0
  582. package/dist/domains/observability/lib/zoom-memory.es.js +22 -0
  583. package/dist/domains/observability/lib/zoom-memory.es.js.map +1 -0
  584. package/dist/domains/observability/observability-list-url-state.cjs.js +122 -0
  585. package/dist/domains/observability/observability-list-url-state.cjs.js.map +1 -0
  586. package/dist/domains/observability/observability-list-url-state.d.ts +1 -0
  587. package/dist/domains/observability/observability-list-url-state.es.js +111 -0
  588. package/dist/domains/observability/observability-list-url-state.es.js.map +1 -0
  589. package/dist/domains/observability/saved-view-state.cjs.js +292 -0
  590. package/dist/domains/observability/saved-view-state.cjs.js.map +1 -0
  591. package/dist/domains/observability/saved-view-state.d.ts +1 -0
  592. package/dist/domains/observability/saved-view-state.es.js +286 -0
  593. package/dist/domains/observability/saved-view-state.es.js.map +1 -0
  594. package/dist/domains/observability/saved-views/observability-saved-views.cjs.js +3 -0
  595. package/dist/domains/observability/saved-views/observability-saved-views.d.ts +1 -0
  596. package/dist/domains/observability/saved-views/observability-saved-views.es.js +1 -0
  597. package/dist/domains/observability/saved-views/saved-views-provider.cjs.js +18 -0
  598. package/dist/domains/observability/saved-views/saved-views-provider.cjs.js.map +1 -0
  599. package/dist/domains/observability/saved-views/saved-views-provider.d.ts +1 -0
  600. package/dist/domains/observability/saved-views/saved-views-provider.es.js +17 -0
  601. package/dist/domains/observability/saved-views/saved-views-provider.es.js.map +1 -0
  602. package/dist/domains/observability/saved-views/saved-views-source.cjs.js +23 -0
  603. package/dist/domains/observability/saved-views/saved-views-source.cjs.js.map +1 -0
  604. package/dist/domains/observability/saved-views/saved-views-source.d.ts +1 -0
  605. package/dist/domains/observability/saved-views/saved-views-source.es.js +19 -0
  606. package/dist/domains/observability/saved-views/saved-views-source.es.js.map +1 -0
  607. package/dist/domains/observability/saved-views/use-hosted-saved-views.cjs.js +235 -0
  608. package/dist/domains/observability/saved-views/use-hosted-saved-views.cjs.js.map +1 -0
  609. package/dist/domains/observability/saved-views/use-hosted-saved-views.d.ts +1 -0
  610. package/dist/domains/observability/saved-views/use-hosted-saved-views.es.js +232 -0
  611. package/dist/domains/observability/saved-views/use-hosted-saved-views.es.js.map +1 -0
  612. package/dist/domains/observability/saved-views.cjs.js +7 -0
  613. package/dist/domains/observability/saved-views.d.ts +1 -0
  614. package/dist/domains/observability/saved-views.es.js +4 -0
  615. package/dist/domains/observability.cjs.js +6 -0
  616. package/dist/domains/observability.es.js +4 -1
  617. package/dist/domains/scores/components/span-scoring.cjs.js +1 -1
  618. package/dist/domains/scores/components/span-scoring.es.js +1 -1
  619. package/dist/domains/scores/components/trace-scores-list.cjs.js +1 -1
  620. package/dist/domains/scores/components/trace-scores-list.es.js +1 -1
  621. package/dist/domains/scores/components/trace-scores-tab.cjs.js +1 -1
  622. package/dist/domains/scores/components/trace-scores-tab.es.js +1 -1
  623. package/dist/domains/skills/skill-simple-form.cjs.js +1 -1
  624. package/dist/domains/skills/skill-simple-form.es.js +1 -1
  625. package/dist/domains/spans/components/spans-explorer-body.cjs.js +64 -18
  626. package/dist/domains/spans/components/spans-explorer-body.cjs.js.map +1 -1
  627. package/dist/domains/spans/components/spans-explorer-body.es.js +64 -18
  628. package/dist/domains/spans/components/spans-explorer-body.es.js.map +1 -1
  629. package/dist/domains/spans/components/spans-filter-bar.cjs.js +6 -5
  630. package/dist/domains/spans/components/spans-filter-bar.cjs.js.map +1 -1
  631. package/dist/domains/spans/components/spans-filter-bar.es.js +6 -5
  632. package/dist/domains/spans/components/spans-filter-bar.es.js.map +1 -1
  633. package/dist/domains/spans/hooks/use-spans-filter-bar.cjs.js +15 -3
  634. package/dist/domains/spans/hooks/use-spans-filter-bar.cjs.js.map +1 -1
  635. package/dist/domains/spans/hooks/use-spans-filter-bar.es.js +15 -3
  636. package/dist/domains/spans/hooks/use-spans-filter-bar.es.js.map +1 -1
  637. package/dist/domains/spans/span-filters.cjs.js +53 -14
  638. package/dist/domains/spans/span-filters.cjs.js.map +1 -1
  639. package/dist/domains/spans/span-filters.es.js +52 -15
  640. package/dist/domains/spans/span-filters.es.js.map +1 -1
  641. package/dist/domains/spans/span-list-row.cjs.js +6 -1
  642. package/dist/domains/spans/span-list-row.cjs.js.map +1 -1
  643. package/dist/domains/spans/span-list-row.es.js +6 -1
  644. package/dist/domains/spans/span-list-row.es.js.map +1 -1
  645. package/dist/domains/threads/components/threads-explorer-body.cjs.js +45 -12
  646. package/dist/domains/threads/components/threads-explorer-body.cjs.js.map +1 -1
  647. package/dist/domains/threads/components/threads-explorer-body.es.js +46 -12
  648. package/dist/domains/threads/components/threads-explorer-body.es.js.map +1 -1
  649. package/dist/domains/threads/components/threads-filter-bar.cjs.js +3 -3
  650. package/dist/domains/threads/components/threads-filter-bar.es.js +3 -3
  651. package/dist/domains/threads/hooks/use-threads-filter-bar.cjs.js +14 -3
  652. package/dist/domains/threads/hooks/use-threads-filter-bar.cjs.js.map +1 -1
  653. package/dist/domains/threads/hooks/use-threads-filter-bar.es.js +14 -3
  654. package/dist/domains/threads/hooks/use-threads-filter-bar.es.js.map +1 -1
  655. package/dist/domains/threads/thread-filters.cjs.js +26 -13
  656. package/dist/domains/threads/thread-filters.cjs.js.map +1 -1
  657. package/dist/domains/threads/thread-filters.es.js +26 -13
  658. package/dist/domains/threads/thread-filters.es.js.map +1 -1
  659. package/dist/domains/threads/thread-list-row.cjs.js +2 -0
  660. package/dist/domains/threads/thread-list-row.cjs.js.map +1 -1
  661. package/dist/domains/threads/thread-list-row.es.js +2 -0
  662. package/dist/domains/threads/thread-list-row.es.js.map +1 -1
  663. package/dist/domains/traces/components/columns-menu/columns-menu.cjs.js +24 -19
  664. package/dist/domains/traces/components/columns-menu/columns-menu.cjs.js.map +1 -1
  665. package/dist/domains/traces/components/columns-menu/columns-menu.es.js +25 -20
  666. package/dist/domains/traces/components/columns-menu/columns-menu.es.js.map +1 -1
  667. package/dist/domains/traces/components/feedback-thread.cjs.js +1 -1
  668. package/dist/domains/traces/components/feedback-thread.es.js +1 -1
  669. package/dist/domains/traces/components/span-data-panel-view.cjs.js +12 -2
  670. package/dist/domains/traces/components/span-data-panel-view.cjs.js.map +1 -1
  671. package/dist/domains/traces/components/span-data-panel-view.es.js +12 -2
  672. package/dist/domains/traces/components/span-data-panel-view.es.js.map +1 -1
  673. package/dist/domains/traces/components/span-outcome.utils.cjs.js +1 -1
  674. package/dist/domains/traces/components/span-outcome.utils.es.js +1 -1
  675. package/dist/domains/traces/components/span-payload/span-error-renderer.cjs.js +1 -1
  676. package/dist/domains/traces/components/span-payload/span-error-renderer.es.js +1 -1
  677. package/dist/domains/traces/components/span-payload/span-input-renderers.cjs.js +1 -1
  678. package/dist/domains/traces/components/span-payload/span-input-renderers.es.js +1 -1
  679. package/dist/domains/traces/components/span-payload/span-output-renderers.cjs.js +2 -2
  680. package/dist/domains/traces/components/span-payload/span-output-renderers.es.js +2 -2
  681. package/dist/domains/traces/components/span-payload/span-payload-messages.cjs.js +3 -3
  682. package/dist/domains/traces/components/span-payload/span-payload-messages.es.js +3 -3
  683. package/dist/domains/traces/components/span-payload/span-payload-primitives.cjs.js +1 -1
  684. package/dist/domains/traces/components/span-payload/span-payload-primitives.es.js +1 -1
  685. package/dist/domains/traces/components/span-payload/span-payload-processor.cjs.js +1 -1
  686. package/dist/domains/traces/components/span-payload/span-payload-processor.es.js +1 -1
  687. package/dist/domains/traces/components/span-payload/span-payload-tool.cjs.js +1 -1
  688. package/dist/domains/traces/components/span-payload/span-payload-tool.es.js +1 -1
  689. package/dist/domains/traces/components/span-payload/span-processor-mutations.cjs.js +2 -2
  690. package/dist/domains/traces/components/span-payload/span-processor-mutations.es.js +2 -2
  691. package/dist/domains/traces/components/span-payload/span-tools-section.cjs.js +1 -1
  692. package/dist/domains/traces/components/span-payload/span-tools-section.es.js +1 -1
  693. package/dist/domains/traces/components/span-prompt-changes.cjs.js +1 -1
  694. package/dist/domains/traces/components/span-prompt-changes.es.js +1 -1
  695. package/dist/domains/traces/components/trace-columns-menu.cjs.js +2 -1
  696. package/dist/domains/traces/components/trace-columns-menu.cjs.js.map +1 -1
  697. package/dist/domains/traces/components/trace-columns-menu.es.js +2 -1
  698. package/dist/domains/traces/components/trace-columns-menu.es.js.map +1 -1
  699. package/dist/domains/traces/components/trace-data-panel-view.cjs.js +9 -2
  700. package/dist/domains/traces/components/trace-data-panel-view.cjs.js.map +1 -1
  701. package/dist/domains/traces/components/trace-data-panel-view.es.js +9 -2
  702. package/dist/domains/traces/components/trace-data-panel-view.es.js.map +1 -1
  703. package/dist/domains/traces/components/trace-span-panel.cjs.js +2 -1
  704. package/dist/domains/traces/components/trace-span-panel.cjs.js.map +1 -1
  705. package/dist/domains/traces/components/trace-span-panel.es.js +2 -1
  706. package/dist/domains/traces/components/trace-span-panel.es.js.map +1 -1
  707. package/dist/domains/traces/components/trace-span-timeline-markers.cjs.js +120 -0
  708. package/dist/domains/traces/components/trace-span-timeline-markers.cjs.js.map +1 -0
  709. package/dist/domains/traces/components/trace-span-timeline-markers.d.ts +1 -0
  710. package/dist/domains/traces/components/trace-span-timeline-markers.es.js +119 -0
  711. package/dist/domains/traces/components/trace-span-timeline-markers.es.js.map +1 -0
  712. package/dist/domains/traces/components/trace-span-timeline.cjs.js +8 -5
  713. package/dist/domains/traces/components/trace-span-timeline.cjs.js.map +1 -1
  714. package/dist/domains/traces/components/trace-span-timeline.es.js +8 -5
  715. package/dist/domains/traces/components/trace-span-timeline.es.js.map +1 -1
  716. package/dist/domains/traces/components/trace-time-range-chip.cjs.js +5 -5
  717. package/dist/domains/traces/components/trace-time-range-chip.cjs.js.map +1 -1
  718. package/dist/domains/traces/components/trace-time-range-chip.es.js +5 -5
  719. package/dist/domains/traces/components/trace-time-range-chip.es.js.map +1 -1
  720. package/dist/domains/traces/components/traces-explorer/traces-explorer-actions.cjs.js +15 -11
  721. package/dist/domains/traces/components/traces-explorer/traces-explorer-actions.cjs.js.map +1 -1
  722. package/dist/domains/traces/components/traces-explorer/traces-explorer-actions.es.js +15 -12
  723. package/dist/domains/traces/components/traces-explorer/traces-explorer-actions.es.js.map +1 -1
  724. package/dist/domains/traces/components/traces-explorer/traces-explorer-context.cjs.js +4 -3
  725. package/dist/domains/traces/components/traces-explorer/traces-explorer-context.cjs.js.map +1 -1
  726. package/dist/domains/traces/components/traces-explorer/traces-explorer-context.es.js +4 -3
  727. package/dist/domains/traces/components/traces-explorer/traces-explorer-context.es.js.map +1 -1
  728. package/dist/domains/traces/components/traces-explorer/traces-explorer-filter-bar.cjs.js +5 -4
  729. package/dist/domains/traces/components/traces-explorer/traces-explorer-filter-bar.cjs.js.map +1 -1
  730. package/dist/domains/traces/components/traces-explorer/traces-explorer-filter-bar.es.js +5 -4
  731. package/dist/domains/traces/components/traces-explorer/traces-explorer-filter-bar.es.js.map +1 -1
  732. package/dist/domains/traces/components/traces-explorer/traces-explorer-histogram.cjs.js +13 -5
  733. package/dist/domains/traces/components/traces-explorer/traces-explorer-histogram.cjs.js.map +1 -1
  734. package/dist/domains/traces/components/traces-explorer/traces-explorer-histogram.es.js +13 -5
  735. package/dist/domains/traces/components/traces-explorer/traces-explorer-histogram.es.js.map +1 -1
  736. package/dist/domains/traces/components/traces-explorer/traces-explorer-list-provider.cjs.js +5 -2
  737. package/dist/domains/traces/components/traces-explorer/traces-explorer-list-provider.cjs.js.map +1 -1
  738. package/dist/domains/traces/components/traces-explorer/traces-explorer-list-provider.es.js +5 -2
  739. package/dist/domains/traces/components/traces-explorer/traces-explorer-list-provider.es.js.map +1 -1
  740. package/dist/domains/traces/components/traces-explorer/traces-explorer-list.cjs.js +7 -11
  741. package/dist/domains/traces/components/traces-explorer/traces-explorer-list.cjs.js.map +1 -1
  742. package/dist/domains/traces/components/traces-explorer/traces-explorer-list.es.js +7 -11
  743. package/dist/domains/traces/components/traces-explorer/traces-explorer-list.es.js.map +1 -1
  744. package/dist/domains/traces/components/traces-explorer/traces-explorer-panel.cjs.js +3 -1
  745. package/dist/domains/traces/components/traces-explorer/traces-explorer-panel.cjs.js.map +1 -1
  746. package/dist/domains/traces/components/traces-explorer/traces-explorer-panel.es.js +3 -1
  747. package/dist/domains/traces/components/traces-explorer/traces-explorer-panel.es.js.map +1 -1
  748. package/dist/domains/traces/components/traces-explorer/traces-explorer-root.cjs.js +51 -5
  749. package/dist/domains/traces/components/traces-explorer/traces-explorer-root.cjs.js.map +1 -1
  750. package/dist/domains/traces/components/traces-explorer/traces-explorer-root.es.js +51 -5
  751. package/dist/domains/traces/components/traces-explorer/traces-explorer-root.es.js.map +1 -1
  752. package/dist/domains/traces/components/traces-explorer/traces-explorer-saved-views.cjs.js +20 -0
  753. package/dist/domains/traces/components/traces-explorer/traces-explorer-saved-views.cjs.js.map +1 -0
  754. package/dist/domains/traces/components/traces-explorer/traces-explorer-saved-views.d.ts +1 -0
  755. package/dist/domains/traces/components/traces-explorer/traces-explorer-saved-views.es.js +19 -0
  756. package/dist/domains/traces/components/traces-explorer/traces-explorer-saved-views.es.js.map +1 -0
  757. package/dist/domains/traces/components/traces-explorer/use-traces-filter-bar.cjs.js +10 -4
  758. package/dist/domains/traces/components/traces-explorer/use-traces-filter-bar.cjs.js.map +1 -1
  759. package/dist/domains/traces/components/traces-explorer/use-traces-filter-bar.es.js +10 -4
  760. package/dist/domains/traces/components/traces-explorer/use-traces-filter-bar.es.js.map +1 -1
  761. package/dist/domains/traces/components/traces-explorer.cjs.js +4 -1
  762. package/dist/domains/traces/components/traces-explorer.cjs.js.map +1 -1
  763. package/dist/domains/traces/components/traces-explorer.es.js +5 -3
  764. package/dist/domains/traces/components/traces-explorer.es.js.map +1 -1
  765. package/dist/domains/traces/components/traces-list-view-adapter.cjs.js +5 -1
  766. package/dist/domains/traces/components/traces-list-view-adapter.cjs.js.map +1 -1
  767. package/dist/domains/traces/components/traces-list-view-adapter.es.js +5 -1
  768. package/dist/domains/traces/components/traces-list-view-adapter.es.js.map +1 -1
  769. package/dist/domains/traces/components/traces-list-view.cjs.js +53 -18
  770. package/dist/domains/traces/components/traces-list-view.cjs.js.map +1 -1
  771. package/dist/domains/traces/components/traces-list-view.es.js +53 -18
  772. package/dist/domains/traces/components/traces-list-view.es.js.map +1 -1
  773. package/dist/domains/traces/components/traces-page-skeleton.cjs.js +1 -1
  774. package/dist/domains/traces/components/traces-page-skeleton.es.js +1 -1
  775. package/dist/domains/traces/trace-filters.cjs.js +5 -1
  776. package/dist/domains/traces/trace-filters.es.js +1 -1
  777. package/dist/domains/traces/trace-list-columns.cjs.js +48 -9
  778. package/dist/domains/traces/trace-list-columns.cjs.js.map +1 -1
  779. package/dist/domains/traces/trace-list-columns.es.js +48 -9
  780. package/dist/domains/traces/trace-list-columns.es.js.map +1 -1
  781. package/dist/domains/traces/trace-query-filters.cjs.js +1 -1
  782. package/dist/domains/traces/trace-query-filters.es.js +1 -1
  783. package/dist/domains/traces/utils/timeline-markers.cjs.js +34 -0
  784. package/dist/domains/traces/utils/timeline-markers.cjs.js.map +1 -0
  785. package/dist/domains/traces/utils/timeline-markers.d.ts +1 -0
  786. package/dist/domains/traces/utils/timeline-markers.es.js +33 -0
  787. package/dist/domains/traces/utils/timeline-markers.es.js.map +1 -0
  788. package/dist/domains/traces.cjs.js +5 -1
  789. package/dist/domains/traces.es.js +2 -2
  790. package/dist/domains/workflows/components/workflow-combobox.cjs.js +1 -1
  791. package/dist/domains/workflows/components/workflow-combobox.es.js +1 -1
  792. package/dist/domains/workflows/components/workflows-list/workflows-list.cjs.js +1 -1
  793. package/dist/domains/workflows/components/workflows-list/workflows-list.es.js +1 -1
  794. package/dist/domains/workflows/workflow/workflow-graph.cjs.js +1 -1
  795. package/dist/domains/workflows/workflow/workflow-graph.es.js +1 -1
  796. package/dist/domains/workspace/components/workspace-add-skill-dialog.cjs.js +1 -1
  797. package/dist/domains/workspace/components/workspace-add-skill-dialog.es.js +1 -1
  798. package/dist/domains/workspace/components/workspace-markdown-preview.cjs.js +1 -1
  799. package/dist/domains/workspace/components/workspace-markdown-preview.es.js +1 -1
  800. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js +1 -1
  801. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js +1 -1
  802. package/dist/{filter-bar-chip-B3pgpngW.js → filter-bar-chip-7O02P9Vk.js} +27 -9
  803. package/dist/filter-bar-chip-7O02P9Vk.js.map +1 -0
  804. package/dist/{filter-bar-chip-CyTAmjt6.cjs → filter-bar-chip-BUyMf8XQ.cjs} +40 -22
  805. package/dist/filter-bar-chip-BUyMf8XQ.cjs.map +1 -0
  806. package/dist/layout/tabbed-container.cjs.js +1 -1
  807. package/dist/layout/tabbed-container.es.js +1 -1
  808. package/dist/lib/form/json-schema-to-zod-runtime.cjs.js +4 -4
  809. package/dist/lib/form/json-schema-to-zod-runtime.cjs.js.map +1 -1
  810. package/dist/lib/form/json-schema-to-zod-runtime.es.js +4 -4
  811. package/dist/lib/form/json-schema-to-zod-runtime.es.js.map +1 -1
  812. package/dist/lib/form/zod-provider.cjs.js +5 -1
  813. package/dist/lib/form/zod-provider.cjs.js.map +1 -1
  814. package/dist/lib/form/zod-provider.es.js +5 -1
  815. package/dist/lib/form/zod-provider.es.js.map +1 -1
  816. package/dist/observability-saved-views-Bo5kLN20.js +297 -0
  817. package/dist/observability-saved-views-Bo5kLN20.js.map +1 -0
  818. package/dist/observability-saved-views-CwCii7hh.cjs +302 -0
  819. package/dist/observability-saved-views-CwCii7hh.cjs.map +1 -0
  820. package/dist/primitives/chart-axes.cjs.js +44 -0
  821. package/dist/primitives/chart-axes.cjs.js.map +1 -1
  822. package/dist/primitives/chart-axes.es.js +43 -1
  823. package/dist/primitives/chart-axes.es.js.map +1 -1
  824. package/dist/primitives/chart-frame.cjs.js +5 -3
  825. package/dist/primitives/chart-frame.cjs.js.map +1 -1
  826. package/dist/primitives/chart-frame.es.js +6 -4
  827. package/dist/primitives/chart-frame.es.js.map +1 -1
  828. package/dist/primitives/chart-time-tick.cjs.js +15 -11
  829. package/dist/primitives/chart-time-tick.cjs.js.map +1 -1
  830. package/dist/primitives/chart-time-tick.es.js +16 -12
  831. package/dist/primitives/chart-time-tick.es.js.map +1 -1
  832. package/dist/saved-view-schema-DRJYELfK.cjs +71 -0
  833. package/dist/saved-view-schema-DRJYELfK.cjs.map +1 -0
  834. package/dist/saved-view-schema-eJXlRRel.js +54 -0
  835. package/dist/saved-view-schema-eJXlRRel.js.map +1 -0
  836. package/dist/{span-payload-primitives-D3OO0u6u.cjs → span-payload-primitives-B10Xxmx7.cjs} +4 -4
  837. package/dist/{span-payload-primitives-D3OO0u6u.cjs.map → span-payload-primitives-B10Xxmx7.cjs.map} +1 -1
  838. package/dist/{span-payload-primitives-DTV7eUY-.js → span-payload-primitives-Dyhbqaa7.js} +4 -4
  839. package/dist/{span-payload-primitives-DTV7eUY-.js.map → span-payload-primitives-Dyhbqaa7.js.map} +1 -1
  840. package/dist/src/domains/chat/activity/activity-stretch-line.d.ts +4 -2
  841. package/dist/src/domains/chat/activity/components/activity-fold.d.ts +5 -4
  842. package/dist/src/domains/chat/activity/components/use-fading-edge.d.ts +6 -0
  843. package/dist/src/domains/chat/activity/components/use-rolling-words.d.ts +7 -0
  844. package/dist/src/domains/chat/activity/index.d.ts +2 -1
  845. package/dist/src/domains/chat/activity/model/activity-members.d.ts +1 -0
  846. package/dist/src/domains/chat/activity/model/activity-words.d.ts +3 -0
  847. package/dist/src/domains/chat/messages/renderers/tool-part.d.ts +4 -0
  848. package/dist/src/domains/chat/messages/skill-message.d.ts +3 -1
  849. package/dist/src/domains/chat/tools/badges/mcp-task-chip.d.ts +14 -0
  850. package/dist/src/domains/chat/tools/badges/tool-badge.d.ts +5 -1
  851. package/dist/src/domains/chat/tools/badges/use-mcp-task-progress.d.ts +27 -0
  852. package/dist/src/domains/chat/tools/tool-card.d.ts +5 -1
  853. package/dist/src/domains/dashboards/components/dashboard-grid.d.ts +18 -0
  854. package/dist/src/domains/dashboards/components/dashboard-renderer.d.ts +19 -0
  855. package/dist/src/domains/dashboards/components/view-gate.d.ts +30 -0
  856. package/dist/src/domains/dashboards/components/widget-chrome.d.ts +7 -0
  857. package/dist/src/domains/dashboards/components/widget-controls.d.ts +8 -0
  858. package/dist/src/domains/dashboards/components/widget-error.d.ts +6 -0
  859. package/dist/src/domains/dashboards/hooks/use-dashboard-requests.d.ts +10 -0
  860. package/dist/src/domains/dashboards/hooks/use-scorers.d.ts +66 -0
  861. package/dist/src/domains/dashboards/hooks/use-widget-views.d.ts +18 -0
  862. package/dist/src/domains/dashboards/index.d.ts +19 -0
  863. package/dist/src/domains/dashboards/kinds/index.d.ts +7 -0
  864. package/dist/src/domains/dashboards/kinds/kpis/index.d.ts +13 -0
  865. package/dist/src/domains/dashboards/kinds/kpis/kpis-widget.d.ts +3 -0
  866. package/dist/src/domains/dashboards/kinds/kpis/options.d.ts +35 -0
  867. package/dist/src/domains/dashboards/kinds/scores/index.d.ts +8 -0
  868. package/dist/src/domains/dashboards/kinds/scores/options.d.ts +13 -0
  869. package/dist/src/domains/dashboards/kinds/scores/scores-widget.d.ts +3 -0
  870. package/dist/src/domains/dashboards/kinds/table/index.d.ts +23 -0
  871. package/dist/src/domains/dashboards/kinds/table/table-cells.d.ts +26 -0
  872. package/dist/src/domains/dashboards/kinds/table/table-columns.d.ts +7 -0
  873. package/dist/src/domains/dashboards/kinds/table/table-frame.d.ts +13 -0
  874. package/dist/src/domains/dashboards/kinds/table/table-tabs.d.ts +10 -0
  875. package/dist/src/domains/dashboards/kinds/table/table-view.d.ts +5 -0
  876. package/dist/src/domains/dashboards/kinds/table/table-widget.d.ts +7 -0
  877. package/dist/src/domains/dashboards/kinds/timeseries/index.d.ts +30 -0
  878. package/dist/src/domains/dashboards/kinds/timeseries/timeseries-widget.d.ts +5 -0
  879. package/dist/src/domains/dashboards/lib/answers.d.ts +43 -0
  880. package/dist/src/domains/dashboards/lib/chrome.d.ts +14 -0
  881. package/dist/src/domains/dashboards/lib/definition.d.ts +27 -0
  882. package/dist/src/domains/dashboards/lib/filters.d.ts +6 -0
  883. package/dist/src/domains/dashboards/lib/format.d.ts +7 -0
  884. package/dist/src/domains/dashboards/lib/prepare-widget.d.ts +26 -0
  885. package/dist/src/domains/dashboards/lib/requests.d.ts +95 -0
  886. package/dist/src/domains/dashboards/lib/scores.d.ts +35 -0
  887. package/dist/src/domains/dashboards/lib/table.d.ts +188 -0
  888. package/dist/src/domains/dashboards/lib/timeseries.d.ts +119 -0
  889. package/dist/src/domains/dashboards/lib/values.d.ts +86 -0
  890. package/dist/src/domains/dashboards/metrics-dashboard.d.ts +7 -0
  891. package/dist/src/domains/dashboards/widget-kind.d.ts +31 -0
  892. package/dist/src/domains/logs/components/index.d.ts +1 -0
  893. package/dist/src/domains/logs/components/logs-saved-views.d.ts +4 -0
  894. package/dist/src/domains/logs/log-filters.d.ts +8 -0
  895. package/dist/src/domains/metrics/components/agent-runs-card.d.ts +10 -3
  896. package/dist/src/domains/metrics/components/breakdown/breakdown-name.d.ts +13 -0
  897. package/dist/src/domains/metrics/components/breakdown/breakdown-not-priced.d.ts +2 -0
  898. package/dist/src/domains/metrics/components/breakdown/breakdown-row-mark.d.ts +17 -4
  899. package/dist/src/domains/metrics/components/breakdown/breakdown-trend-text.d.ts +9 -0
  900. package/dist/src/domains/metrics/components/card-action-buttons.d.ts +9 -0
  901. package/dist/src/domains/metrics/components/chart-card.d.ts +33 -21
  902. package/dist/src/domains/metrics/components/distinct-ids/distinct-ids-chart.d.ts +0 -1
  903. package/dist/src/domains/metrics/components/failure-rate-card.d.ts +5 -2
  904. package/dist/src/domains/metrics/components/index.d.ts +1 -2
  905. package/dist/src/domains/metrics/components/metrics-grid/metrics-grid.d.ts +4 -1
  906. package/dist/src/domains/metrics/components/trace-aggregate-card.d.ts +1 -1
  907. package/dist/src/domains/observability/components/observability-header-slot.d.ts +6 -0
  908. package/dist/src/domains/observability/components/observability-histogram.d.ts +1 -1
  909. package/dist/src/domains/observability/hooks/use-observability-list-filters.d.ts +21 -5
  910. package/dist/src/domains/observability/index.d.ts +2 -0
  911. package/dist/src/domains/observability/lib/zoom-memory.d.ts +19 -0
  912. package/dist/src/domains/observability/observability-list-url-state.d.ts +39 -0
  913. package/dist/src/domains/observability/saved-view-state.d.ts +46 -0
  914. package/dist/src/domains/observability/saved-views/index.d.ts +7 -0
  915. package/dist/src/domains/observability/saved-views/observability-saved-views.d.ts +22 -0
  916. package/dist/src/domains/observability/saved-views/saved-views-provider.d.ts +15 -0
  917. package/dist/src/domains/observability/saved-views/saved-views-source.d.ts +41 -0
  918. package/dist/src/domains/observability/saved-views/use-hosted-saved-views.d.ts +34 -0
  919. package/dist/src/domains/spans/components/spans-explorer-body.d.ts +4 -1
  920. package/dist/src/domains/spans/components/spans-filter-bar.d.ts +3 -1
  921. package/dist/src/domains/spans/hooks/use-spans-filter-bar.d.ts +1 -1
  922. package/dist/src/domains/spans/hooks/use-spans-list-source.d.ts +3 -0
  923. package/dist/src/domains/spans/span-filters.d.ts +16 -5
  924. package/dist/src/domains/threads/components/threads-explorer-body.d.ts +4 -1
  925. package/dist/src/domains/threads/thread-filters.d.ts +6 -5
  926. package/dist/src/domains/traces/components/columns-menu/columns-menu.d.ts +3 -3
  927. package/dist/src/domains/traces/components/trace-data-panel-view.d.ts +7 -1
  928. package/dist/src/domains/traces/components/trace-span-panel.d.ts +2 -1
  929. package/dist/src/domains/traces/components/trace-span-timeline-markers.d.ts +5 -0
  930. package/dist/src/domains/traces/components/trace-span-timeline.d.ts +6 -1
  931. package/dist/src/domains/traces/components/trace-time-range-chip.d.ts +3 -1
  932. package/dist/src/domains/traces/components/traces-explorer/index.d.ts +4 -1
  933. package/dist/src/domains/traces/components/traces-explorer/traces-explorer-actions.d.ts +5 -5
  934. package/dist/src/domains/traces/components/traces-explorer/traces-explorer-context.d.ts +11 -1
  935. package/dist/src/domains/traces/components/traces-explorer/traces-explorer-saved-views.d.ts +7 -0
  936. package/dist/src/domains/traces/components/traces-list-view.d.ts +20 -7
  937. package/dist/src/domains/traces/hooks/use-traces-list-source.d.ts +5 -0
  938. package/dist/src/domains/traces/trace-filters.d.ts +27 -3
  939. package/dist/src/domains/traces/trace-list-columns.d.ts +16 -6
  940. package/dist/src/domains/traces/utils/timeline-markers.d.ts +25 -0
  941. package/dist/src/domains/workflows/context/use-persisted-workflow-run.d.ts +2 -0
  942. package/dist/src/domains/workflows/workflow/input/processor-input.d.ts +5 -535
  943. package/dist/src/domains/workflows/workflow/use-workflow-trigger.d.ts +1 -1
  944. package/dist/src/ds/components/AgentIndicator/agent-glyph.d.ts +4 -0
  945. package/dist/src/ds/components/AgentIndicator/agent-indicator.d.ts +8 -0
  946. package/dist/src/ds/components/AgentIndicator/animate.d.ts +5 -0
  947. package/dist/src/ds/components/AgentIndicator/index.d.ts +4 -0
  948. package/dist/src/ds/components/AgentIndicator/paint.d.ts +21 -0
  949. package/dist/src/ds/components/AgentIndicator/poses.d.ts +7 -0
  950. package/dist/src/ds/components/AgentIndicator/shapes.d.ts +41 -0
  951. package/dist/src/ds/components/Arrival/arrival.d.ts +11 -0
  952. package/dist/src/ds/components/Arrival/index.d.ts +1 -1
  953. package/dist/src/ds/components/DataList/TracesDataList/traces-data-list-cells.d.ts +12 -0
  954. package/dist/src/ds/components/DataList/TracesDataList/traces-data-list.d.ts +3 -1
  955. package/dist/src/ds/components/FilterBar/types.d.ts +2 -0
  956. package/dist/src/ds/components/MetricsCard/index.d.ts +1 -1
  957. package/dist/src/ds/components/MetricsCard/metrics-card-actions.d.ts +2 -1
  958. package/dist/src/ds/components/MetricsCard/metrics-card-headline.d.ts +13 -0
  959. package/dist/src/ds/components/MetricsCard/metrics-card-title-menu.d.ts +2 -0
  960. package/dist/src/ds/components/MetricsCard/metrics-card-title.d.ts +1 -3
  961. package/dist/src/ds/components/MetricsCard/metrics-card-toolbar.d.ts +3 -3
  962. package/dist/src/ds/components/MetricsCard/metrics-card-total.d.ts +11 -3
  963. package/dist/src/ds/components/MetricsCard/metrics-card.d.ts +2 -9
  964. package/dist/src/ds/components/MetricsCard/metrics-story-data.d.ts +0 -26
  965. package/dist/src/ds/components/MetricsKpiCard/metrics-kpi-card-root.d.ts +5 -2
  966. package/dist/src/ds/components/MetricsLineChart/metrics-line-chart-legend.d.ts +3 -4
  967. package/dist/src/ds/components/MetricsLineChart/metrics-line-chart.d.ts +2 -6
  968. package/dist/src/ds/components/SavedViews/saved-view-editor.d.ts +3 -1
  969. package/dist/src/ds/components/SavedViews/saved-view-picker.d.ts +21 -0
  970. package/dist/src/ds/components/SavedViews/use-saved-views.d.ts +6 -2
  971. package/dist/src/ds/components/ai/activity/activity.d.ts +12 -7
  972. package/dist/src/ds/components/ai/activity/index.d.ts +1 -0
  973. package/dist/src/ds/components/ai/activity/presets/signal-activity.d.ts +4 -1
  974. package/dist/src/ds/components/ai/activity/use-relative-paths.d.ts +3 -0
  975. package/dist/src/ds/components/ai/message-reveal/message-reveal.d.ts +2 -1
  976. package/dist/src/ds/components/ai/tool-call/tool-presentation.d.ts +4 -0
  977. package/dist/src/ds/primitives/chart-axes.d.ts +24 -0
  978. package/dist/src/ds/primitives/chart-frame.d.ts +2 -1
  979. package/dist/src/ds/primitives/chart-time-tick.d.ts +7 -4
  980. package/dist/src/lib/string.d.ts +1 -0
  981. package/dist/{string-OAgeMRQ5.js → string-CNKDIc_4.js} +6 -2
  982. package/dist/string-CNKDIc_4.js.map +1 -0
  983. package/dist/{string-CymY0aJ9.cjs → string-DdJJdCv2.cjs} +11 -1
  984. package/dist/string-DdJJdCv2.cjs.map +1 -0
  985. package/dist/style.css +67 -4
  986. package/dist/{tabbed-container-x2mfK07d.js → tabbed-container-BKUqfEKy.js} +2 -2
  987. package/dist/{tabbed-container-x2mfK07d.js.map → tabbed-container-BKUqfEKy.js.map} +1 -1
  988. package/dist/{tabbed-container-CBTb0LgE.cjs → tabbed-container-CFEImJOK.cjs} +2 -2
  989. package/dist/{tabbed-container-CBTb0LgE.cjs.map → tabbed-container-CFEImJOK.cjs.map} +1 -1
  990. package/dist/{tool-approval-6E73C0r6.cjs → tool-approval-BfjoSNOC.cjs} +4 -4
  991. package/dist/{tool-approval-6E73C0r6.cjs.map → tool-approval-BfjoSNOC.cjs.map} +1 -1
  992. package/dist/{tool-approval-BXlro6fV.js → tool-approval-FeuyUUcL.js} +4 -4
  993. package/dist/{tool-approval-BXlro6fV.js.map → tool-approval-FeuyUUcL.js.map} +1 -1
  994. package/dist/{tool-call-CItJ8KLA.js → tool-call-BxYXs9w0.js} +9 -7
  995. package/dist/{tool-call-CItJ8KLA.js.map → tool-call-BxYXs9w0.js.map} +1 -1
  996. package/dist/{tool-call-Dq9xF3WD.cjs → tool-call-CvilN9ti.cjs} +9 -7
  997. package/dist/{tool-call-Dq9xF3WD.cjs.map → tool-call-CvilN9ti.cjs.map} +1 -1
  998. package/dist/{tool-card-o5u4YCR0.cjs → tool-card-B7O8AsRl.cjs} +9 -5
  999. package/dist/tool-card-B7O8AsRl.cjs.map +1 -0
  1000. package/dist/{tool-card-Bd8weXze.js → tool-card-ELW898uw.js} +9 -5
  1001. package/dist/tool-card-ELW898uw.js.map +1 -0
  1002. package/dist/{tool-presentation-D2uUj1AB.cjs → tool-presentation-BLErsb7c.cjs} +38 -40
  1003. package/dist/tool-presentation-BLErsb7c.cjs.map +1 -0
  1004. package/dist/{tool-presentation-DKfIKLQy.js → tool-presentation-BSZYIWx2.js} +38 -40
  1005. package/dist/tool-presentation-BSZYIWx2.js.map +1 -0
  1006. package/dist/{trace-filters-C27yWcan.js → trace-filters-BJaebsxJ.js} +78 -11
  1007. package/dist/trace-filters-BJaebsxJ.js.map +1 -0
  1008. package/dist/{trace-filters-BpeBUjCb.cjs → trace-filters-BNEZ31HX.cjs} +100 -9
  1009. package/dist/trace-filters-BNEZ31HX.cjs.map +1 -0
  1010. package/dist/types-CP7wbYua.cjs.map +1 -1
  1011. package/dist/types-DiiL5mTO.js.map +1 -1
  1012. package/dist/utils/string.cjs.js +2 -1
  1013. package/dist/utils/string.es.js +1 -1
  1014. package/package.json +14 -14
  1015. package/dist/Arrival-Dm6Vgn78.cjs.map +0 -1
  1016. package/dist/Arrival-NpBOyV52.js.map +0 -1
  1017. package/dist/DataList-Cmk08jUV.cjs.map +0 -1
  1018. package/dist/DataList-Ve3omCXT.js.map +0 -1
  1019. package/dist/DateTimeRangePicker-ByMbLdom.js.map +0 -1
  1020. package/dist/DateTimeRangePicker-DGbH5WOn.cjs.map +0 -1
  1021. package/dist/FilterBar-Dk3QEuT6.js.map +0 -1
  1022. package/dist/FilterBar-gEvoWDXA.cjs.map +0 -1
  1023. package/dist/MetricsCard-C9GWgT58.js.map +0 -1
  1024. package/dist/MetricsCard-Dly_H3oX.cjs.map +0 -1
  1025. package/dist/MetricsLineChart-2m4LVL1N.cjs.map +0 -1
  1026. package/dist/MetricsLineChart-DKzuRU2q.js.map +0 -1
  1027. package/dist/MetricsStackedBarChart-DJB4aByt.js.map +0 -1
  1028. package/dist/MetricsStackedBarChart-NATtwA_W.cjs.map +0 -1
  1029. package/dist/activity-QyLJcBKc.cjs.map +0 -1
  1030. package/dist/activity-ihrl0JtH.js.map +0 -1
  1031. package/dist/combobox-C-E7_q4j.cjs.map +0 -1
  1032. package/dist/combobox-CDS2pBqz.js.map +0 -1
  1033. package/dist/domains/metrics/components/metrics-kpis.cjs.js +0 -106
  1034. package/dist/domains/metrics/components/metrics-kpis.cjs.js.map +0 -1
  1035. package/dist/domains/metrics/components/metrics-kpis.d.ts +0 -1
  1036. package/dist/domains/metrics/components/metrics-kpis.es.js +0 -105
  1037. package/dist/domains/metrics/components/metrics-kpis.es.js.map +0 -1
  1038. package/dist/filter-bar-chip-B3pgpngW.js.map +0 -1
  1039. package/dist/filter-bar-chip-CyTAmjt6.cjs.map +0 -1
  1040. package/dist/src/domains/metrics/components/metrics-kpis.d.ts +0 -2
  1041. package/dist/src/ds/components/MetricsCard/metrics-card-description.d.ts +0 -4
  1042. package/dist/src/ds/components/MetricsCard/metrics-card-summary.d.ts +0 -8
  1043. package/dist/src/ds/components/MetricsCard/metrics-card-tabs.d.ts +0 -16
  1044. package/dist/src/ds/components/MetricsCard/metrics-card-title-and-description.d.ts +0 -16
  1045. package/dist/string-CymY0aJ9.cjs.map +0 -1
  1046. package/dist/string-OAgeMRQ5.js.map +0 -1
  1047. package/dist/tool-card-Bd8weXze.js.map +0 -1
  1048. package/dist/tool-card-o5u4YCR0.cjs.map +0 -1
  1049. package/dist/tool-presentation-D2uUj1AB.cjs.map +0 -1
  1050. package/dist/tool-presentation-DKfIKLQy.js.map +0 -1
  1051. package/dist/trace-filters-BpeBUjCb.cjs.map +0 -1
  1052. package/dist/trace-filters-C27yWcan.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"traces-explorer-root.es.js","names":[],"sources":["../../../../../src/domains/traces/components/traces-explorer/traces-explorer-root.tsx"],"sourcesContent":["import { EntityType } from '@mastra/core/observability';\nimport { useMemo, useRef, useState } from 'react';\nimport type { ReactNode } from 'react';\nimport { resolveTraceQueryTimeRange } from '../../trace-query-filters';\nimport {\n applyDate,\n applyDatePreset,\n applyDateRange,\n applyFilterTokens,\n clearSelection,\n DEFAULT_TRACES_FILTERS,\n highlightSpans,\n isSelectionEmpty,\n resolveTracesDateWindow,\n sanitizeTracesFilters,\n selectsRunningStatus,\n selectScore,\n selectSpan,\n selectTrace,\n setSpanTab,\n setSpanView,\n} from './traces-explorer-actions';\nimport type { TracesExplorerState, TracesFilters, TracesSelection, TracesSort } from './traces-explorer-actions';\nimport { TracesColumnsProvider } from './traces-explorer-columns-provider';\nimport { TracesConfigContext, TracesFiltersContext, TracesSelectionContext } from './traces-explorer-context';\nimport type {\n TracesConfigContextValue,\n TracesExplorerFeatures,\n TracesExplorerScope,\n TracesFiltersActions,\n TracesFiltersContextValue,\n TracesMetricsSupport,\n TracesSelectionActions,\n TracesSelectionContextValue,\n} from './traces-explorer-context';\nimport { TracesListProvider } from './traces-explorer-list-provider';\nimport {\n useFeedbackAvailable,\n useObservabilityCapabilities,\n useSpanQueryAvailable,\n useThreadQueryAvailable,\n useTraceQueryAvailable,\n useTraceQueryDeltaPollingAvailable,\n useTraceQueryDiscoveryAvailable,\n useTraceQueryRootDurationAvailable,\n} from '@/domains/capabilities';\n\nexport type TracesExplorerRootProps = {\n selection: TracesSelection;\n filters: TracesFilters;\n /** Receives the full next state once per user action, so a filter edit and the selection it clears land together. */\n onChange: (next: TracesExplorerState) => void;\n sort: TracesSort;\n onSortChange: (next: TracesSort) => void;\n /** Pins the explorer to one entity: its fields stay in the filters but never surface as chips. */\n scope?: TracesExplorerScope;\n /** Resolved by the host, which may know better than the storage capabilities (e.g. hosted deployments). */\n metricsSupport: TracesMetricsSupport;\n /** Host switches combined with the server capabilities; a feature runs only when both allow it. */\n features?: TracesExplorerFeatures;\n /** The host's default filters. Filters matching them don't count as applied (e.g. in empty states). */\n initialFilters?: TracesFilters;\n children: ReactNode;\n};\n\nconst SCOPED_FIELD_IDS: ReadonlySet<string> = new Set(['rootEntityType', 'entityId']);\nconst HIDDEN_SCOPED_FIELD_IDS: readonly string[] = ['rootEntityType', 'entityId', 'entityName'];\nconst NO_FIELD_IDS: ReadonlySet<string> = new Set();\nconst NO_HIDDEN_FIELD_IDS: readonly string[] = [];\n\nconst listIdForScope = (scope?: TracesExplorerScope) =>\n scope?.entityType === EntityType.AGENT\n ? 'agent-traces'\n : scope?.entityType === EntityType.WORKFLOW_RUN\n ? 'workflows-traces'\n : 'all-traces';\n\ntype Latest = Pick<TracesExplorerRootProps, 'selection' | 'filters' | 'onChange' | 'onSortChange'> & {\n scopedFieldIds: ReadonlySet<string>;\n};\n\nexport function TracesExplorerRoot({\n selection,\n filters: rawFilters,\n onChange,\n sort,\n onSortChange: onHostSortChange,\n scope,\n metricsSupport,\n features,\n initialFilters = DEFAULT_TRACES_FILTERS,\n children,\n}: TracesExplorerRootProps) {\n // Servers without the trace-query API list through `listTracesLight` and don't expose feedback.\n const traceQuery = useTraceQueryAvailable();\n const withQueryTrace = traceQuery.enabled && features?.traceQuery !== false;\n const withFeedback = useFeedbackAvailable().enabled && features?.feedback !== false;\n // Opt-in: span queries need both the server capability and the host turning them on.\n const withSpanQuery = useSpanQueryAvailable().enabled && features?.spanQuery === true;\n // Opt-in like span queries: thread rows need the server capability and the host turning them on.\n const withThreadQuery = useThreadQueryAvailable().enabled && features?.threadQuery === true;\n const { enabled: withRootDuration } = useTraceQueryRootDurationAvailable();\n const { enabled: withDeltaPolling } = useTraceQueryDeltaPollingAvailable();\n const withDiscovery = useTraceQueryDiscoveryAvailable().enabled && withQueryTrace;\n // `listTracesLight` rows never carry it, so it needs the trace query API as well.\n const { data: capabilities } = useObservabilityCapabilities();\n const withTimeToFirstChunk = withQueryTrace && (capabilities?.capabilities.traceQueryTimeToFirstChunk ?? false);\n const withTimeToFirstChunkSort =\n withTimeToFirstChunk && (capabilities?.capabilities.traceQueryTimeToFirstChunkSort ?? false);\n\n // Entries the server can't query are ignored, never written back: the host keeps its raw value.\n const filters = useMemo(() => sanitizeTracesFilters(rawFilters, withRootDuration), [rawFilters, withRootDuration]);\n\n const isScoped = !!scope;\n const scopedFieldIds = isScoped ? SCOPED_FIELD_IDS : NO_FIELD_IDS;\n const hiddenFieldIds = isScoped ? HIDDEN_SCOPED_FIELD_IDS : NO_HIDDEN_FIELD_IDS;\n\n // Rolling presets pin their start when the preset (or custom bound) changes, not on every render.\n const fromMs = rawFilters.dateFrom?.getTime();\n const toMs = rawFilters.dateTo?.getTime();\n const { dateFrom, dateTo } = useMemo(\n () =>\n resolveTracesDateWindow(\n rawFilters.datePreset,\n fromMs === undefined ? undefined : new Date(fromMs),\n toMs === undefined ? undefined : new Date(toMs),\n ),\n [rawFilters.datePreset, fromMs, toMs],\n );\n\n // Actions read the latest props when they run, so the host doesn't need stable callbacks.\n // `latest` is written as soon as a change is emitted, so a second action in the same tick\n // (the date picker fires a preset then its dates) builds on the first instead of the stale props.\n const current: Latest = { selection, filters: rawFilters, onChange, onSortChange: onHostSortChange, scopedFieldIds };\n const latest = useRef(current);\n latest.current = current;\n\n const actions = useMemo(() => {\n const emit = (next: TracesExplorerState) => {\n latest.current.selection = next.selection;\n latest.current.filters = next.filters;\n latest.current.onChange(next);\n };\n const updateSelection = (next: TracesSelection) => {\n if (next === latest.current.selection) return;\n emit({ selection: next, filters: latest.current.filters });\n };\n // A filter change invalidates whatever is selected: the selected row may no longer be listed.\n const updateFilters = (next: TracesFilters) => {\n const { selection: currentSelection, filters: currentFilters } = latest.current;\n if (next === currentFilters) return;\n emit({\n filters: next,\n selection: isSelectionEmpty(currentSelection) ? currentSelection : clearSelection(currentSelection),\n });\n };\n\n const selectionActions: TracesSelectionActions = {\n selectTrace: traceId => updateSelection(selectTrace(latest.current.selection, traceId)),\n closeTrace: () => updateSelection(selectTrace(latest.current.selection, null)),\n selectSpan: spanId => updateSelection(selectSpan(latest.current.selection, spanId)),\n setSpanTab: tab => updateSelection(setSpanTab(latest.current.selection, tab)),\n setSpanView: view => updateSelection(setSpanView(latest.current.selection, view)),\n selectScore: scoreId => updateSelection(selectScore(latest.current.selection, scoreId)),\n highlightSpans: spanIds => updateSelection(highlightSpans(latest.current.selection, spanIds)),\n };\n const filtersActions: TracesFiltersActions = {\n // Re-inject the scope tokens so \"Clear filters\" (which drops every removable item) and any\n // other edit can never drop the scope.\n setFilterTokens: (tokens, groups) => {\n const { filters: base, scopedFieldIds: scoped } = latest.current;\n const scopeTokens = base.tokens.filter(token => scoped.has(token.fieldId));\n updateFilters(applyFilterTokens(base, [...scopeTokens, ...tokens], groups));\n },\n setDatePreset: preset => updateFilters(applyDatePreset(latest.current.filters, preset)),\n setDate: (value, end) => updateFilters(applyDate(latest.current.filters, value, end)),\n setDateRange: (from, to) => updateFilters(applyDateRange(latest.current.filters, from, to)),\n };\n const onSortChange = (next: TracesSort) => latest.current.onSortChange(next);\n return { selectionActions, filtersActions, onSortChange };\n }, []);\n const { selectionActions, filtersActions, onSortChange } = actions;\n\n // Discovery is keyed off the date window with a mount-time `now`, not the list's rolling one,\n // so its query key (and the skeleton) doesn't churn on every auto-refresh tick.\n const [discoveryNow] = useState(() => new Date());\n const discoveryTimeRange = useMemo(\n () => resolveTraceQueryTimeRange(dateFrom, dateTo, discoveryNow),\n [dateFrom, dateTo, discoveryNow],\n );\n\n const listId = listIdForScope(scope);\n const configValue = useMemo<TracesConfigContextValue>(\n () => ({\n listId,\n scopedFieldIds,\n hiddenFieldIds,\n withQueryTrace,\n withFeedback,\n withSpanQuery,\n withThreadQuery,\n withRootDuration,\n withTimeToFirstChunk,\n withTimeToFirstChunkSort,\n withDeltaPolling,\n withDiscovery,\n isCapabilitiesLoading: traceQuery.isLoading,\n metricsSupport,\n discoveryTimeRange,\n }),\n [\n listId,\n scopedFieldIds,\n hiddenFieldIds,\n withQueryTrace,\n withFeedback,\n withSpanQuery,\n withThreadQuery,\n withRootDuration,\n withTimeToFirstChunk,\n withTimeToFirstChunkSort,\n withDeltaPolling,\n withDiscovery,\n traceQuery.isLoading,\n metricsSupport,\n discoveryTimeRange,\n ],\n );\n\n const contentFiltersApplied = filters.tokens.length > 0 || filters.groups.length > 0;\n const filtersApplied = contentFiltersApplied || filters.datePreset !== initialFilters.datePreset || !!dateTo;\n const runningSelected = useMemo(() => selectsRunningStatus(rawFilters), [rawFilters]);\n const filtersValue = useMemo<TracesFiltersContextValue>(\n () => ({\n ...filtersActions,\n filters,\n dateFrom,\n dateTo,\n filtersApplied,\n contentFiltersApplied,\n runningSelected,\n }),\n [filtersActions, filters, dateFrom, dateTo, filtersApplied, contentFiltersApplied, runningSelected],\n );\n\n // Not memoized: the selection consumers (Layout, List, Panel) also re-render on filter and list\n // changes, which are what re-render Root while the selection stays the same.\n const selectionValue: TracesSelectionContextValue = {\n ...selectionActions,\n selection,\n selectedTraceId: selection.traceId,\n };\n\n return (\n <TracesConfigContext.Provider value={configValue}>\n <TracesFiltersContext.Provider value={filtersValue}>\n <TracesSelectionContext.Provider value={selectionValue}>\n <TracesColumnsProvider>\n <TracesListProvider sort={sort} onSortChange={onSortChange}>\n {children}\n </TracesListProvider>\n </TracesColumnsProvider>\n </TracesSelectionContext.Provider>\n </TracesFiltersContext.Provider>\n </TracesConfigContext.Provider>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"traces-explorer-root.es.js","names":[],"sources":["../../../../../src/domains/traces/components/traces-explorer/traces-explorer-root.tsx"],"sourcesContent":["import { EntityType } from '@mastra/core/observability';\nimport { useMemo, useRef, useState } from 'react';\nimport type { ReactNode } from 'react';\nimport { resolveTraceQueryTimeRange } from '../../trace-query-filters';\nimport {\n applyDate,\n applyDatePreset,\n applyDateRange,\n applyFilterTokens,\n clearSelection,\n DEFAULT_TRACES_FILTERS,\n highlightSpans,\n isSelectionEmpty,\n resolveTracesDateWindow,\n sanitizeTracesFilters,\n selectsRunningStatus,\n selectScore,\n selectSpan,\n selectTrace,\n setSpanTab,\n setSpanView,\n} from './traces-explorer-actions';\nimport type { TracesExplorerState, TracesFilters, TracesSelection, TracesSort } from './traces-explorer-actions';\nimport { TracesColumnsProvider } from './traces-explorer-columns-provider';\nimport { TracesConfigContext, TracesFiltersContext, TracesSelectionContext } from './traces-explorer-context';\nimport type {\n TracesConfigContextValue,\n TracesExplorerFeatures,\n TracesExplorerScope,\n TracesFiltersActions,\n TracesFiltersContextValue,\n TracesMetricsSupport,\n TracesSelectionActions,\n TracesSelectionContextValue,\n} from './traces-explorer-context';\nimport { TracesListProvider } from './traces-explorer-list-provider';\nimport {\n useFeedbackAvailable,\n useObservabilityCapabilities,\n useSpanQueryAvailable,\n useThreadQueryAvailable,\n useTraceQueryAvailable,\n useTraceQueryDeltaPollingAvailable,\n useTraceQueryDiscoveryAvailable,\n useTraceQueryRootDurationAvailable,\n} from '@/domains/capabilities';\nimport { rangeBeforeZoom, rememberZoom } from '@/domains/observability/lib/zoom-memory';\nimport type { ZoomMemory } from '@/domains/observability/lib/zoom-memory';\n\nexport type TracesExplorerRootProps = {\n selection: TracesSelection;\n filters: TracesFilters;\n /** Receives the full next state once per user action, so a filter edit and the selection it clears land together. */\n onChange: (next: TracesExplorerState) => void;\n sort: TracesSort;\n onSortChange: (next: TracesSort) => void;\n /** Pins the explorer to one entity: its fields stay in the filters but never surface as chips. */\n scope?: TracesExplorerScope;\n /** Resolved by the host, which may know better than the storage capabilities (e.g. hosted deployments). */\n metricsSupport: TracesMetricsSupport;\n /** Host switches combined with the server capabilities; a feature runs only when both allow it. */\n features?: TracesExplorerFeatures;\n /** The host's default filters. Filters matching them don't count as applied (e.g. in empty states). */\n initialFilters?: TracesFilters;\n children: ReactNode;\n};\n\nconst SCOPED_FIELD_IDS: ReadonlySet<string> = new Set(['rootEntityType', 'entityId']);\nconst HIDDEN_SCOPED_FIELD_IDS: readonly string[] = ['rootEntityType', 'entityId', 'entityName'];\nconst NO_FIELD_IDS: ReadonlySet<string> = new Set();\nconst NO_HIDDEN_FIELD_IDS: readonly string[] = [];\n\nconst listIdForScope = (scope?: TracesExplorerScope) =>\n scope?.entityType === EntityType.AGENT\n ? 'agent-traces'\n : scope?.entityType === EntityType.WORKFLOW_RUN\n ? 'workflows-traces'\n : 'all-traces';\n\ntype Latest = Pick<TracesExplorerRootProps, 'selection' | 'filters' | 'onChange' | 'onSortChange'> & {\n scopedFieldIds: ReadonlySet<string>;\n};\n\nexport function TracesExplorerRoot({\n selection,\n filters: rawFilters,\n onChange,\n sort,\n onSortChange: onHostSortChange,\n scope,\n metricsSupport,\n features,\n initialFilters = DEFAULT_TRACES_FILTERS,\n children,\n}: TracesExplorerRootProps) {\n // Servers without the trace-query API list through `listTracesLight` and don't expose feedback.\n const traceQuery = useTraceQueryAvailable();\n const withQueryTrace = traceQuery.enabled && features?.traceQuery !== false;\n const withFeedback = useFeedbackAvailable().enabled && features?.feedback !== false;\n // Opt-in: span queries need both the server capability and the host turning them on.\n const withSpanQuery = useSpanQueryAvailable().enabled && features?.spanQuery === true;\n // Opt-in like span queries: thread rows need the server capability and the host turning them on.\n const withThreadQuery = useThreadQueryAvailable().enabled && features?.threadQuery === true;\n const { enabled: withRootDuration } = useTraceQueryRootDurationAvailable();\n const { enabled: withDeltaPolling } = useTraceQueryDeltaPollingAvailable();\n const withDiscovery = useTraceQueryDiscoveryAvailable().enabled && withQueryTrace;\n // `listTracesLight` rows never carry it, so it needs the trace query API as well.\n const { data: capabilities } = useObservabilityCapabilities();\n const withTimeToFirstChunk = withQueryTrace && (capabilities?.capabilities.traceQueryTimeToFirstChunk ?? false);\n const withTimeToFirstChunkSort =\n withTimeToFirstChunk && (capabilities?.capabilities.traceQueryTimeToFirstChunkSort ?? false);\n const withTimeToFirstToken = withQueryTrace && (capabilities?.capabilities.traceQueryTimeToFirstToken ?? false);\n const withTimeToFirstTokenSort =\n withTimeToFirstToken && (capabilities?.capabilities.traceQueryTimeToFirstTokenSort ?? false);\n const withOutcomeFields = withQueryTrace && (capabilities?.capabilities.traceQueryOutcomeFields ?? false);\n\n // Entries the server can't query are ignored, never written back: the host keeps its raw value.\n const filters = useMemo(\n () =>\n sanitizeTracesFilters(rawFilters, {\n withRootDuration,\n withTimeToFirstChunk,\n withTimeToFirstToken,\n withOutcomeFields,\n }),\n [rawFilters, withRootDuration, withTimeToFirstChunk, withTimeToFirstToken, withOutcomeFields],\n );\n\n const isScoped = !!scope;\n const scopedFieldIds = isScoped ? SCOPED_FIELD_IDS : NO_FIELD_IDS;\n const hiddenFieldIds = isScoped ? HIDDEN_SCOPED_FIELD_IDS : NO_HIDDEN_FIELD_IDS;\n\n // Rolling presets pin their start when the preset (or custom bound) changes, not on every render.\n const fromMs = rawFilters.dateFrom?.getTime();\n const toMs = rawFilters.dateTo?.getTime();\n const { dateFrom, dateTo } = useMemo(\n () =>\n resolveTracesDateWindow(\n rawFilters.datePreset,\n fromMs === undefined ? undefined : new Date(fromMs),\n toMs === undefined ? undefined : new Date(toMs),\n ),\n [rawFilters.datePreset, fromMs, toMs],\n );\n\n // Actions read the latest props when they run, so the host doesn't need stable callbacks.\n // `latest` is written as soon as a change is emitted, so a second action in the same tick\n // (the date picker fires a preset then its dates) builds on the first instead of the stale props.\n const current: Latest = { selection, filters: rawFilters, onChange, onSortChange: onHostSortChange, scopedFieldIds };\n const latest = useRef(current);\n latest.current = current;\n // Not part of the host's filters: a shared or reloaded link has no zoom to undo.\n const zoomMemory = useRef<ZoomMemory | undefined>(undefined);\n\n const actions = useMemo(() => {\n const emit = (next: TracesExplorerState) => {\n latest.current.selection = next.selection;\n latest.current.filters = next.filters;\n latest.current.onChange(next);\n };\n const updateSelection = (next: TracesSelection) => {\n if (next === latest.current.selection) return;\n emit({ selection: next, filters: latest.current.filters });\n };\n // A filter change invalidates whatever is selected: the selected row may no longer be listed.\n const updateFilters = (next: TracesFilters) => {\n const { selection: currentSelection, filters: currentFilters } = latest.current;\n if (next === currentFilters) return;\n emit({\n filters: next,\n selection: isSelectionEmpty(currentSelection) ? currentSelection : clearSelection(currentSelection),\n });\n };\n\n const selectionActions: TracesSelectionActions = {\n selectTrace: traceId => updateSelection(selectTrace(latest.current.selection, traceId)),\n closeTrace: () => updateSelection(selectTrace(latest.current.selection, null)),\n selectSpan: spanId => updateSelection(selectSpan(latest.current.selection, spanId)),\n setSpanTab: tab => updateSelection(setSpanTab(latest.current.selection, tab)),\n setSpanView: view => updateSelection(setSpanView(latest.current.selection, view)),\n selectScore: scoreId => updateSelection(selectScore(latest.current.selection, scoreId)),\n highlightSpans: spanIds => updateSelection(highlightSpans(latest.current.selection, spanIds)),\n };\n // A range picked by hand drops the zoom memory, even one that matches the zoomed bounds.\n const pickRange = (next: TracesFilters) => {\n zoomMemory.current = undefined;\n updateFilters(next);\n };\n const filtersActions: TracesFiltersActions = {\n // Re-inject the scope tokens so \"Clear filters\" (which drops every removable item) and any\n // other edit can never drop the scope.\n setFilterTokens: (tokens, groups) => {\n const { filters: base, scopedFieldIds: scoped } = latest.current;\n const scopeTokens = base.tokens.filter(token => scoped.has(token.fieldId));\n updateFilters(applyFilterTokens(base, [...scopeTokens, ...tokens], groups));\n },\n setDatePreset: preset => pickRange(applyDatePreset(latest.current.filters, preset)),\n setDate: (value, end) => pickRange(applyDate(latest.current.filters, value, end)),\n setDateRange: (from, to) => pickRange(applyDateRange(latest.current.filters, from, to)),\n zoomDateRange: (from, to) => {\n const base = latest.current.filters;\n zoomMemory.current = rememberZoom(zoomMemory.current, base, from, to);\n updateFilters({ ...base, datePreset: 'custom', dateFrom: from, dateTo: to });\n },\n resetDateRange: defaultPreset => {\n const base = latest.current.filters;\n const before = rangeBeforeZoom(zoomMemory.current, base);\n zoomMemory.current = undefined;\n updateFilters({ tokens: base.tokens, groups: base.groups, ...(before ?? { datePreset: defaultPreset }) });\n },\n };\n const onSortChange = (next: TracesSort) => latest.current.onSortChange(next);\n return { selectionActions, filtersActions, onSortChange };\n }, []);\n const { selectionActions, filtersActions, onSortChange } = actions;\n\n // Discovery is keyed off the date window with a mount-time `now`, not the list's rolling one,\n // so its query key (and the skeleton) doesn't churn on every auto-refresh tick.\n const [discoveryNow] = useState(() => new Date());\n const discoveryTimeRange = useMemo(\n () => resolveTraceQueryTimeRange(dateFrom, dateTo, discoveryNow),\n [dateFrom, dateTo, discoveryNow],\n );\n\n const listId = listIdForScope(scope);\n const configValue = useMemo<TracesConfigContextValue>(\n () => ({\n listId,\n scopedFieldIds,\n hiddenFieldIds,\n withQueryTrace,\n withFeedback,\n withSpanQuery,\n withThreadQuery,\n withRootDuration,\n withOutcomeFields,\n withTimeToFirstChunk,\n withTimeToFirstChunkSort,\n withTimeToFirstToken,\n withTimeToFirstTokenSort,\n withDeltaPolling,\n withDiscovery,\n isCapabilitiesLoading: traceQuery.isLoading,\n metricsSupport,\n discoveryTimeRange,\n }),\n [\n listId,\n scopedFieldIds,\n hiddenFieldIds,\n withQueryTrace,\n withFeedback,\n withSpanQuery,\n withThreadQuery,\n withRootDuration,\n withOutcomeFields,\n withTimeToFirstChunk,\n withTimeToFirstChunkSort,\n withTimeToFirstToken,\n withTimeToFirstTokenSort,\n withDeltaPolling,\n withDiscovery,\n traceQuery.isLoading,\n metricsSupport,\n discoveryTimeRange,\n ],\n );\n\n const contentFiltersApplied = filters.tokens.length > 0 || filters.groups.length > 0;\n const filtersApplied = contentFiltersApplied || filters.datePreset !== initialFilters.datePreset || !!dateTo;\n const runningSelected = useMemo(() => selectsRunningStatus(rawFilters), [rawFilters]);\n const filtersValue = useMemo<TracesFiltersContextValue>(\n () => ({\n ...filtersActions,\n filters,\n dateFrom,\n dateTo,\n filtersApplied,\n contentFiltersApplied,\n runningSelected,\n }),\n [filtersActions, filters, dateFrom, dateTo, filtersApplied, contentFiltersApplied, runningSelected],\n );\n\n // Not memoized: the selection consumers (Layout, List, Panel) also re-render on filter and list\n // changes, which are what re-render Root while the selection stays the same.\n const selectionValue: TracesSelectionContextValue = {\n ...selectionActions,\n selection,\n selectedTraceId: selection.traceId,\n };\n\n return (\n <TracesConfigContext.Provider value={configValue}>\n <TracesFiltersContext.Provider value={filtersValue}>\n <TracesSelectionContext.Provider value={selectionValue}>\n <TracesColumnsProvider>\n <TracesListProvider sort={sort} onSortChange={onSortChange}>\n {children}\n </TracesListProvider>\n </TracesColumnsProvider>\n </TracesSelectionContext.Provider>\n </TracesFiltersContext.Provider>\n </TracesConfigContext.Provider>\n );\n}\n"],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_observability_saved_views = require("../../../../observability-saved-views-CwCii7hh.cjs");
3
+ const require_domains_traces_components_traces_explorer_traces_explorer_context = require("./traces-explorer-context.cjs.js");
4
+ let react_jsx_runtime = require("react/jsx-runtime");
5
+ // src/domains/traces/components/traces-explorer/traces-explorer-saved-views.tsx
6
+ /**
7
+ * Saved views of the traces page, with the explorer's columns. Takes the host's search params, which
8
+ * the host also maps to the explorer's filters. Renders nothing without a `SavedViewsProvider`.
9
+ */
10
+ function TracesExplorerSavedViews(props) {
11
+ const columns = require_domains_traces_components_traces_explorer_traces_explorer_context.useTracesColumns();
12
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_observability_saved_views.ObservabilitySavedViews, {
13
+ page: "traces",
14
+ columns,
15
+ ...props
16
+ });
17
+ }
18
+ exports.TracesExplorerSavedViews = TracesExplorerSavedViews;
19
+
20
+ //# sourceMappingURL=traces-explorer-saved-views.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"traces-explorer-saved-views.cjs.js","names":["useTracesColumns","ObservabilitySavedViews"],"sources":["../../../../../src/domains/traces/components/traces-explorer/traces-explorer-saved-views.tsx"],"sourcesContent":["import { useTracesColumns } from './traces-explorer-context';\nimport { ObservabilitySavedViews } from '@/domains/observability/saved-views';\nimport type { ObservabilitySavedViewsProps } from '@/domains/observability/saved-views';\n\nexport type TracesExplorerSavedViewsProps = Pick<\n ObservabilitySavedViewsProps,\n 'searchParams' | 'setSearchParams' | 'className'\n>;\n\n/**\n * Saved views of the traces page, with the explorer's columns. Takes the host's search params, which\n * the host also maps to the explorer's filters. Renders nothing without a `SavedViewsProvider`.\n */\nexport function TracesExplorerSavedViews(props: TracesExplorerSavedViewsProps) {\n const columns = useTracesColumns();\n return <ObservabilitySavedViews page=\"traces\" columns={columns} {...props} />;\n}\n"],"mappings":";;;;;;;;;AAaA,SAAgB,yBAAyB,OAAsC;CAC7E,MAAM,UAAUA,0EAAAA,iBAAiB;CACjC,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAACC,kCAAAA,yBAAD;EAAyB,MAAK;EAAkB;EAAS,GAAI;CAAQ,CAAA;AAC9E"}
@@ -0,0 +1 @@
1
+ export * from '../../../../src/domains/traces/components/traces-explorer/traces-explorer-saved-views';
@@ -0,0 +1,19 @@
1
+ import { t as ObservabilitySavedViews } from "../../../../observability-saved-views-Bo5kLN20.js";
2
+ import { useTracesColumns } from "./traces-explorer-context.es.js";
3
+ import { jsx } from "react/jsx-runtime";
4
+ // src/domains/traces/components/traces-explorer/traces-explorer-saved-views.tsx
5
+ /**
6
+ * Saved views of the traces page, with the explorer's columns. Takes the host's search params, which
7
+ * the host also maps to the explorer's filters. Renders nothing without a `SavedViewsProvider`.
8
+ */
9
+ function TracesExplorerSavedViews(props) {
10
+ const columns = useTracesColumns();
11
+ return /* @__PURE__ */ jsx(ObservabilitySavedViews, {
12
+ page: "traces",
13
+ columns,
14
+ ...props
15
+ });
16
+ }
17
+ export { TracesExplorerSavedViews };
18
+
19
+ //# sourceMappingURL=traces-explorer-saved-views.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"traces-explorer-saved-views.es.js","names":[],"sources":["../../../../../src/domains/traces/components/traces-explorer/traces-explorer-saved-views.tsx"],"sourcesContent":["import { useTracesColumns } from './traces-explorer-context';\nimport { ObservabilitySavedViews } from '@/domains/observability/saved-views';\nimport type { ObservabilitySavedViewsProps } from '@/domains/observability/saved-views';\n\nexport type TracesExplorerSavedViewsProps = Pick<\n ObservabilitySavedViewsProps,\n 'searchParams' | 'setSearchParams' | 'className'\n>;\n\n/**\n * Saved views of the traces page, with the explorer's columns. Takes the host's search params, which\n * the host also maps to the explorer's filters. Renders nothing without a `SavedViewsProvider`.\n */\nexport function TracesExplorerSavedViews(props: TracesExplorerSavedViewsProps) {\n const columns = useTracesColumns();\n return <ObservabilitySavedViews page=\"traces\" columns={columns} {...props} />;\n}\n"],"mappings":";;;;;;;;AAaA,SAAgB,yBAAyB,OAAsC;CAC7E,MAAM,UAAU,iBAAiB;CACjC,OAAO,oBAAC,yBAAD;EAAyB,MAAK;EAAkB;EAAS,GAAI;CAAQ,CAAA;AAC9E"}
@@ -1,8 +1,8 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_trace_filters = require("../../../../trace-filters-BpeBUjCb.cjs");
2
+ const require_trace_filters = require("../../../../trace-filters-BNEZ31HX.cjs");
3
3
  const require_types = require("../../../../types-CP7wbYua.cjs");
4
- const require_domains_traces_components_trace_time_range_chip = require("../trace-time-range-chip.cjs.js");
5
4
  const require_domains_traces_components_traces_explorer_traces_explorer_actions = require("./traces-explorer-actions.cjs.js");
5
+ const require_domains_traces_components_trace_time_range_chip = require("../trace-time-range-chip.cjs.js");
6
6
  const require_domains_traces_components_traces_explorer_traces_explorer_context = require("./traces-explorer-context.cjs.js");
7
7
  const require_domains_traces_components_traces_explorer_use_traces_discovery = require("./use-traces-discovery.cjs.js");
8
8
  let react = require("react");
@@ -12,7 +12,7 @@ let _mastra_react_hooks_traces = require("@mastra/react/hooks/traces");
12
12
  var NO_SUGGESTIONS = [];
13
13
  /** The fields the trace filter bar offers: time range, trace fields, and discovered metadata. */
14
14
  function useTracesFilterBarFields() {
15
- const { hiddenFieldIds, withQueryTrace, withRootDuration, discoveryTimeRange } = require_domains_traces_components_traces_explorer_traces_explorer_context.useTracesConfig();
15
+ const { hiddenFieldIds, withQueryTrace, withRootDuration, withTimeToFirstChunk, withTimeToFirstToken, withOutcomeFields, discoveryTimeRange } = require_domains_traces_components_traces_explorer_traces_explorer_context.useTracesConfig();
16
16
  const { filters } = require_domains_traces_components_traces_explorer_traces_explorer_context.useTracesFilters();
17
17
  const selectedEntityType = require_domains_traces_components_traces_explorer_traces_explorer_actions.getSelectedEntityOption(filters.tokens)?.entityType;
18
18
  const { data: rootEntityNames = NO_SUGGESTIONS } = (0, _mastra_react_hooks_traces.useEntityNames)({
@@ -30,7 +30,10 @@ function useTracesFilterBarFields() {
30
30
  canonicalTraceFields: canonicalFields,
31
31
  valueSuggestions: withQueryTrace ? (relatedScope, path) => (0, _mastra_react_hooks_traces.createTraceQueryValuesResolver)(client, discoveryTimeRange, relatedScope, path) : void 0,
32
32
  withQueryTrace,
33
- withRootDuration
33
+ withRootDuration,
34
+ withTimeToFirstChunk,
35
+ withTimeToFirstToken,
36
+ withOutcomeFields
34
37
  })], [
35
38
  rootEntityNames,
36
39
  environments,
@@ -39,6 +42,9 @@ function useTracesFilterBarFields() {
39
42
  canonicalFields,
40
43
  withQueryTrace,
41
44
  withRootDuration,
45
+ withTimeToFirstChunk,
46
+ withTimeToFirstToken,
47
+ withOutcomeFields,
42
48
  client,
43
49
  discoveryTimeRange
44
50
  ]);
@@ -1 +1 @@
1
- {"version":3,"file":"use-traces-filter-bar.cjs.js","names":["useTracesConfig","useTracesFilters","getSelectedEntityOption","useEntityNames","useEnvironments","useTracesDiscovery","useMastraClient","useMemo","TRACE_TIME_RANGE_FIELD","createTraceFilterBarFields","createTraceQueryValuesResolver","traceTokensToFilterBarItems","traceFiltersToFilterBarExpression","TRACE_TIME_RANGE_ITEM","filterBarExpressionToTraceFilters","isFilterBarGroup"],"sources":["../../../../../src/domains/traces/components/traces-explorer/use-traces-filter-bar.ts"],"sourcesContent":["import type { EntityType } from '@mastra/core/observability';\nimport { useMastraClient } from '@mastra/react';\nimport { createTraceQueryValuesResolver, useEntityNames, useEnvironments } from '@mastra/react/hooks/traces';\nimport { useMemo } from 'react';\nimport {\n createTraceFilterBarFields,\n filterBarExpressionToTraceFilters,\n traceFiltersToFilterBarExpression,\n traceTokensToFilterBarItems,\n} from '../../trace-filters';\nimport type { TraceQueryRelatedScope } from '../../trace-query-filters';\nimport { TRACE_TIME_RANGE_FIELD, TRACE_TIME_RANGE_FIELD_ID, TRACE_TIME_RANGE_ITEM } from '../trace-time-range-chip';\nimport { getSelectedEntityOption } from './traces-explorer-actions';\nimport { useTracesConfig, useTracesFilters } from './traces-explorer-context';\nimport { useTracesDiscovery } from './use-traces-discovery';\nimport { isFilterBarGroup } from '@/ds/components/FilterBar';\nimport type { FilterBarExpression, FilterBarField, FilterBarItem } from '@/ds/components/FilterBar';\n\nconst NO_SUGGESTIONS: string[] = [];\n\n/** The fields the trace filter bar offers: time range, trace fields, and discovered metadata. */\nexport function useTracesFilterBarFields(): FilterBarField[] {\n const { hiddenFieldIds, withQueryTrace, withRootDuration, discoveryTimeRange } = useTracesConfig();\n const { filters } = useTracesFilters();\n const selectedEntityType = getSelectedEntityOption(filters.tokens)?.entityType as EntityType | undefined;\n\n const { data: rootEntityNames = NO_SUGGESTIONS } = useEntityNames({ entityType: selectedEntityType, rootOnly: true });\n const { data: environments = NO_SUGGESTIONS } = useEnvironments();\n const { fields: metadataFields, canonicalFields } = useTracesDiscovery();\n const client = useMastraClient();\n\n // Memoized for correctness: static suggestion lists live on the fields and become the value\n // editor's Combobox `items`, which loops if handed a new array on every render.\n return useMemo(\n () => [\n TRACE_TIME_RANGE_FIELD,\n ...createTraceFilterBarFields({\n availableRootEntityNames: rootEntityNames,\n availableEnvironments: environments,\n hiddenFieldIds,\n metadataFields,\n canonicalTraceFields: canonicalFields,\n valueSuggestions: withQueryTrace\n ? (relatedScope: TraceQueryRelatedScope | 'trace', path: string) =>\n createTraceQueryValuesResolver(client, discoveryTimeRange, relatedScope, path)\n : undefined,\n withQueryTrace,\n withRootDuration,\n }),\n ],\n [\n rootEntityNames,\n environments,\n hiddenFieldIds,\n metadataFields,\n canonicalFields,\n withQueryTrace,\n withRootDuration,\n client,\n discoveryTimeRange,\n ],\n );\n}\n\n/**\n * The explorer's filters as filter bar values, and the handlers that write bar edits back.\n * Scope items never show up in the bar; the explorer keeps them on every edit.\n */\nexport function useTracesFilterBar() {\n const { scopedFieldIds } = useTracesConfig();\n const { filters, setFilterTokens } = useTracesFilters();\n\n const items = traceTokensToFilterBarItems(filters.tokens).filter(item => !scopedFieldIds.has(item.fieldId));\n // The time-range chip is a synthetic, always-present item so it takes part in keyboard\n // navigation; it never round-trips to filter tokens. Expression mode so root-level AND/OR\n // groups render as \"Advanced filter\" chips.\n const groupsExpression = traceFiltersToFilterBarExpression([], filters.groups);\n const filterBarValue: FilterBarExpression = {\n ...groupsExpression,\n nodes: [TRACE_TIME_RANGE_ITEM, ...items, ...groupsExpression.nodes],\n };\n // Legacy mode: the list endpoint can't express AND/OR groups, so the bar runs flat.\n const flatFilterBarValue = [TRACE_TIME_RANGE_ITEM, ...items];\n\n const onFilterBarChange = (expression: FilterBarExpression) => {\n const { tokens, groups } = filterBarExpressionToTraceFilters({\n ...expression,\n nodes: expression.nodes.filter(node => isFilterBarGroup(node) || node.fieldId !== TRACE_TIME_RANGE_FIELD_ID),\n });\n setFilterTokens(tokens, groups);\n };\n\n return {\n filterBarValue,\n flatFilterBarValue,\n onFilterBarChange,\n onFlatFilterBarChange: (nodes: FilterBarItem[]) =>\n onFilterBarChange({ ...traceFiltersToFilterBarExpression([], []), nodes }),\n /** Replaces any filter on `fieldId` with `is value`, e.g. from a list cell. */\n onFilterByField: (fieldId: string, value: string) => {\n const withoutField = items.filter(item => item.fieldId !== fieldId);\n const item: FilterBarItem = { id: `${fieldId}:${value}`, fieldId, operatorId: 'is', value };\n const groups = filterBarValue.nodes.filter(isFilterBarGroup);\n onFilterBarChange({ ...filterBarValue, nodes: [...withoutField, item, ...groups] });\n },\n };\n}\n"],"mappings":";;;;;;;;;;;AAkBA,IAAM,iBAA2B,CAAC;;AAGlC,SAAgB,2BAA6C;CAC3D,MAAM,EAAE,gBAAgB,gBAAgB,kBAAkB,uBAAuBA,0EAAAA,gBAAgB;CACjG,MAAM,EAAE,YAAYC,0EAAAA,iBAAiB;CACrC,MAAM,qBAAqBC,0EAAAA,wBAAwB,QAAQ,MAAM,CAAC,EAAE;CAEpE,MAAM,EAAE,MAAM,kBAAkB,oBAAA,GAAmBC,2BAAAA,eAAAA,CAAe;EAAE,YAAY;EAAoB,UAAU;CAAK,CAAC;CACpH,MAAM,EAAE,MAAM,eAAe,oBAAA,GAAmBC,2BAAAA,gBAAAA,CAAgB;CAChE,MAAM,EAAE,QAAQ,gBAAgB,oBAAoBC,uEAAAA,mBAAmB;CACvE,MAAM,UAAA,GAASC,cAAAA,gBAAAA,CAAgB;CAI/B,QAAA,GAAOC,MAAAA,QAAAA,OACC,CACJC,wDAAAA,wBACA,GAAGC,sBAAAA,2BAA2B;EAC5B,0BAA0B;EAC1B,uBAAuB;EACvB;EACA;EACA,sBAAsB;EACtB,kBAAkB,kBACb,cAAgD,UAAA,GAC/CC,2BAAAA,+BAAAA,CAA+B,QAAQ,oBAAoB,cAAc,IAAI,IAC/E,KAAA;EACJ;EACA;CACF,CAAC,CACH,GACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CACF;AACF;;;;;AAMA,SAAgB,qBAAqB;CACnC,MAAM,EAAE,mBAAmBV,0EAAAA,gBAAgB;CAC3C,MAAM,EAAE,SAAS,oBAAoBC,0EAAAA,iBAAiB;CAEtD,MAAM,QAAQU,sBAAAA,4BAA4B,QAAQ,MAAM,CAAC,CAAC,QAAO,SAAQ,CAAC,eAAe,IAAI,KAAK,OAAO,CAAC;CAI1G,MAAM,mBAAmBC,sBAAAA,kCAAkC,CAAC,GAAG,QAAQ,MAAM;CAC7E,MAAM,iBAAsC;EAC1C,GAAG;EACH,OAAO;GAACC,wDAAAA;GAAuB,GAAG;GAAO,GAAG,iBAAiB;EAAK;CACpE;CAEA,MAAM,qBAAqB,CAACA,wDAAAA,uBAAuB,GAAG,KAAK;CAE3D,MAAM,qBAAqB,eAAoC;EAC7D,MAAM,EAAE,QAAQ,WAAWC,sBAAAA,kCAAkC;GAC3D,GAAG;GACH,OAAO,WAAW,MAAM,QAAO,SAAQC,cAAAA,iBAAiB,IAAI,KAAK,KAAK,YAAA,WAAqC;EAC7G,CAAC;EACD,gBAAgB,QAAQ,MAAM;CAChC;CAEA,OAAO;EACL;EACA;EACA;EACA,wBAAwB,UACtB,kBAAkB;GAAE,GAAGH,sBAAAA,kCAAkC,CAAC,GAAG,CAAC,CAAC;GAAG;EAAM,CAAC;;EAE3E,kBAAkB,SAAiB,UAAkB;GACnD,MAAM,eAAe,MAAM,QAAO,SAAQ,KAAK,YAAY,OAAO;GAClE,MAAM,OAAsB;IAAE,IAAI,GAAG,QAAQ,GAAG;IAAS;IAAS,YAAY;IAAM;GAAM;GAC1F,MAAM,SAAS,eAAe,MAAM,OAAOG,cAAAA,gBAAgB;GAC3D,kBAAkB;IAAE,GAAG;IAAgB,OAAO;KAAC,GAAG;KAAc;KAAM,GAAG;IAAM;GAAE,CAAC;EACpF;CACF;AACF"}
1
+ {"version":3,"file":"use-traces-filter-bar.cjs.js","names":["useTracesConfig","useTracesFilters","getSelectedEntityOption","useEntityNames","useEnvironments","useTracesDiscovery","useMastraClient","useMemo","TRACE_TIME_RANGE_FIELD","createTraceFilterBarFields","createTraceQueryValuesResolver","traceTokensToFilterBarItems","traceFiltersToFilterBarExpression","TRACE_TIME_RANGE_ITEM","filterBarExpressionToTraceFilters","isFilterBarGroup"],"sources":["../../../../../src/domains/traces/components/traces-explorer/use-traces-filter-bar.ts"],"sourcesContent":["import type { EntityType } from '@mastra/core/observability';\nimport { useMastraClient } from '@mastra/react';\nimport { createTraceQueryValuesResolver, useEntityNames, useEnvironments } from '@mastra/react/hooks/traces';\nimport { useMemo } from 'react';\nimport {\n createTraceFilterBarFields,\n filterBarExpressionToTraceFilters,\n traceFiltersToFilterBarExpression,\n traceTokensToFilterBarItems,\n} from '../../trace-filters';\nimport type { TraceQueryRelatedScope } from '../../trace-query-filters';\nimport { TRACE_TIME_RANGE_FIELD, TRACE_TIME_RANGE_FIELD_ID, TRACE_TIME_RANGE_ITEM } from '../trace-time-range-chip';\nimport { getSelectedEntityOption } from './traces-explorer-actions';\nimport { useTracesConfig, useTracesFilters } from './traces-explorer-context';\nimport { useTracesDiscovery } from './use-traces-discovery';\nimport { isFilterBarGroup } from '@/ds/components/FilterBar';\nimport type { FilterBarExpression, FilterBarField, FilterBarItem } from '@/ds/components/FilterBar';\n\nconst NO_SUGGESTIONS: string[] = [];\n\n/** The fields the trace filter bar offers: time range, trace fields, and discovered metadata. */\nexport function useTracesFilterBarFields(): FilterBarField[] {\n const {\n hiddenFieldIds,\n withQueryTrace,\n withRootDuration,\n withTimeToFirstChunk,\n withTimeToFirstToken,\n withOutcomeFields,\n discoveryTimeRange,\n } = useTracesConfig();\n const { filters } = useTracesFilters();\n const selectedEntityType = getSelectedEntityOption(filters.tokens)?.entityType as EntityType | undefined;\n\n const { data: rootEntityNames = NO_SUGGESTIONS } = useEntityNames({ entityType: selectedEntityType, rootOnly: true });\n const { data: environments = NO_SUGGESTIONS } = useEnvironments();\n const { fields: metadataFields, canonicalFields } = useTracesDiscovery();\n const client = useMastraClient();\n\n // Memoized for correctness: static suggestion lists live on the fields and become the value\n // editor's Combobox `items`, which loops if handed a new array on every render.\n return useMemo(\n () => [\n TRACE_TIME_RANGE_FIELD,\n ...createTraceFilterBarFields({\n availableRootEntityNames: rootEntityNames,\n availableEnvironments: environments,\n hiddenFieldIds,\n metadataFields,\n canonicalTraceFields: canonicalFields,\n valueSuggestions: withQueryTrace\n ? (relatedScope: TraceQueryRelatedScope | 'trace', path: string) =>\n createTraceQueryValuesResolver(client, discoveryTimeRange, relatedScope, path)\n : undefined,\n withQueryTrace,\n withRootDuration,\n withTimeToFirstChunk,\n withTimeToFirstToken,\n withOutcomeFields,\n }),\n ],\n [\n rootEntityNames,\n environments,\n hiddenFieldIds,\n metadataFields,\n canonicalFields,\n withQueryTrace,\n withRootDuration,\n withTimeToFirstChunk,\n withTimeToFirstToken,\n withOutcomeFields,\n client,\n discoveryTimeRange,\n ],\n );\n}\n\n/**\n * The explorer's filters as filter bar values, and the handlers that write bar edits back.\n * Scope items never show up in the bar; the explorer keeps them on every edit.\n */\nexport function useTracesFilterBar() {\n const { scopedFieldIds } = useTracesConfig();\n const { filters, setFilterTokens } = useTracesFilters();\n\n const items = traceTokensToFilterBarItems(filters.tokens).filter(item => !scopedFieldIds.has(item.fieldId));\n // The time-range chip is a synthetic, always-present item so it takes part in keyboard\n // navigation; it never round-trips to filter tokens. Expression mode so root-level AND/OR\n // groups render as \"Advanced filter\" chips.\n const groupsExpression = traceFiltersToFilterBarExpression([], filters.groups);\n const filterBarValue: FilterBarExpression = {\n ...groupsExpression,\n nodes: [TRACE_TIME_RANGE_ITEM, ...items, ...groupsExpression.nodes],\n };\n // Legacy mode: the list endpoint can't express AND/OR groups, so the bar runs flat.\n const flatFilterBarValue = [TRACE_TIME_RANGE_ITEM, ...items];\n\n const onFilterBarChange = (expression: FilterBarExpression) => {\n const { tokens, groups } = filterBarExpressionToTraceFilters({\n ...expression,\n nodes: expression.nodes.filter(node => isFilterBarGroup(node) || node.fieldId !== TRACE_TIME_RANGE_FIELD_ID),\n });\n setFilterTokens(tokens, groups);\n };\n\n return {\n filterBarValue,\n flatFilterBarValue,\n onFilterBarChange,\n onFlatFilterBarChange: (nodes: FilterBarItem[]) =>\n onFilterBarChange({ ...traceFiltersToFilterBarExpression([], []), nodes }),\n /** Replaces any filter on `fieldId` with `is value`, e.g. from a list cell. */\n onFilterByField: (fieldId: string, value: string) => {\n const withoutField = items.filter(item => item.fieldId !== fieldId);\n const item: FilterBarItem = { id: `${fieldId}:${value}`, fieldId, operatorId: 'is', value };\n const groups = filterBarValue.nodes.filter(isFilterBarGroup);\n onFilterBarChange({ ...filterBarValue, nodes: [...withoutField, item, ...groups] });\n },\n };\n}\n"],"mappings":";;;;;;;;;;;AAkBA,IAAM,iBAA2B,CAAC;;AAGlC,SAAgB,2BAA6C;CAC3D,MAAM,EACJ,gBACA,gBACA,kBACA,sBACA,sBACA,mBACA,uBACEA,0EAAAA,gBAAgB;CACpB,MAAM,EAAE,YAAYC,0EAAAA,iBAAiB;CACrC,MAAM,qBAAqBC,0EAAAA,wBAAwB,QAAQ,MAAM,CAAC,EAAE;CAEpE,MAAM,EAAE,MAAM,kBAAkB,oBAAA,GAAmBC,2BAAAA,eAAAA,CAAe;EAAE,YAAY;EAAoB,UAAU;CAAK,CAAC;CACpH,MAAM,EAAE,MAAM,eAAe,oBAAA,GAAmBC,2BAAAA,gBAAAA,CAAgB;CAChE,MAAM,EAAE,QAAQ,gBAAgB,oBAAoBC,uEAAAA,mBAAmB;CACvE,MAAM,UAAA,GAASC,cAAAA,gBAAAA,CAAgB;CAI/B,QAAA,GAAOC,MAAAA,QAAAA,OACC,CACJC,wDAAAA,wBACA,GAAGC,sBAAAA,2BAA2B;EAC5B,0BAA0B;EAC1B,uBAAuB;EACvB;EACA;EACA,sBAAsB;EACtB,kBAAkB,kBACb,cAAgD,UAAA,GAC/CC,2BAAAA,+BAAAA,CAA+B,QAAQ,oBAAoB,cAAc,IAAI,IAC/E,KAAA;EACJ;EACA;EACA;EACA;EACA;CACF,CAAC,CACH,GACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CACF;AACF;;;;;AAMA,SAAgB,qBAAqB;CACnC,MAAM,EAAE,mBAAmBV,0EAAAA,gBAAgB;CAC3C,MAAM,EAAE,SAAS,oBAAoBC,0EAAAA,iBAAiB;CAEtD,MAAM,QAAQU,sBAAAA,4BAA4B,QAAQ,MAAM,CAAC,CAAC,QAAO,SAAQ,CAAC,eAAe,IAAI,KAAK,OAAO,CAAC;CAI1G,MAAM,mBAAmBC,sBAAAA,kCAAkC,CAAC,GAAG,QAAQ,MAAM;CAC7E,MAAM,iBAAsC;EAC1C,GAAG;EACH,OAAO;GAACC,wDAAAA;GAAuB,GAAG;GAAO,GAAG,iBAAiB;EAAK;CACpE;CAEA,MAAM,qBAAqB,CAACA,wDAAAA,uBAAuB,GAAG,KAAK;CAE3D,MAAM,qBAAqB,eAAoC;EAC7D,MAAM,EAAE,QAAQ,WAAWC,sBAAAA,kCAAkC;GAC3D,GAAG;GACH,OAAO,WAAW,MAAM,QAAO,SAAQC,cAAAA,iBAAiB,IAAI,KAAK,KAAK,YAAA,WAAqC;EAC7G,CAAC;EACD,gBAAgB,QAAQ,MAAM;CAChC;CAEA,OAAO;EACL;EACA;EACA;EACA,wBAAwB,UACtB,kBAAkB;GAAE,GAAGH,sBAAAA,kCAAkC,CAAC,GAAG,CAAC,CAAC;GAAG;EAAM,CAAC;;EAE3E,kBAAkB,SAAiB,UAAkB;GACnD,MAAM,eAAe,MAAM,QAAO,SAAQ,KAAK,YAAY,OAAO;GAClE,MAAM,OAAsB;IAAE,IAAI,GAAG,QAAQ,GAAG;IAAS;IAAS,YAAY;IAAM;GAAM;GAC1F,MAAM,SAAS,eAAe,MAAM,OAAOG,cAAAA,gBAAgB;GAC3D,kBAAkB;IAAE,GAAG;IAAgB,OAAO;KAAC,GAAG;KAAc;KAAM,GAAG;IAAM;GAAE,CAAC;EACpF;CACF;AACF"}
@@ -1,7 +1,7 @@
1
- import { $ as traceFiltersToFilterBarExpression, F as filterBarExpressionToTraceFilters, P as createTraceFilterBarFields, et as traceTokensToFilterBarItems } from "../../../../trace-filters-C27yWcan.js";
1
+ import { I as createTraceFilterBarFields, L as filterBarExpressionToTraceFilters, rt as traceTokensToFilterBarItems, tt as traceFiltersToFilterBarExpression } from "../../../../trace-filters-BJaebsxJ.js";
2
2
  import { t as isFilterBarGroup } from "../../../../types-DiiL5mTO.js";
3
- import { TRACE_TIME_RANGE_FIELD, TRACE_TIME_RANGE_ITEM } from "../trace-time-range-chip.es.js";
4
3
  import { getSelectedEntityOption } from "./traces-explorer-actions.es.js";
4
+ import { TRACE_TIME_RANGE_FIELD, TRACE_TIME_RANGE_ITEM } from "../trace-time-range-chip.es.js";
5
5
  import { useTracesConfig, useTracesFilters } from "./traces-explorer-context.es.js";
6
6
  import { useTracesDiscovery } from "./use-traces-discovery.es.js";
7
7
  import { useMemo } from "react";
@@ -11,7 +11,7 @@ import { createTraceQueryValuesResolver, useEntityNames, useEnvironments } from
11
11
  var NO_SUGGESTIONS = [];
12
12
  /** The fields the trace filter bar offers: time range, trace fields, and discovered metadata. */
13
13
  function useTracesFilterBarFields() {
14
- const { hiddenFieldIds, withQueryTrace, withRootDuration, discoveryTimeRange } = useTracesConfig();
14
+ const { hiddenFieldIds, withQueryTrace, withRootDuration, withTimeToFirstChunk, withTimeToFirstToken, withOutcomeFields, discoveryTimeRange } = useTracesConfig();
15
15
  const { filters } = useTracesFilters();
16
16
  const selectedEntityType = getSelectedEntityOption(filters.tokens)?.entityType;
17
17
  const { data: rootEntityNames = NO_SUGGESTIONS } = useEntityNames({
@@ -29,7 +29,10 @@ function useTracesFilterBarFields() {
29
29
  canonicalTraceFields: canonicalFields,
30
30
  valueSuggestions: withQueryTrace ? (relatedScope, path) => createTraceQueryValuesResolver(client, discoveryTimeRange, relatedScope, path) : void 0,
31
31
  withQueryTrace,
32
- withRootDuration
32
+ withRootDuration,
33
+ withTimeToFirstChunk,
34
+ withTimeToFirstToken,
35
+ withOutcomeFields
33
36
  })], [
34
37
  rootEntityNames,
35
38
  environments,
@@ -38,6 +41,9 @@ function useTracesFilterBarFields() {
38
41
  canonicalFields,
39
42
  withQueryTrace,
40
43
  withRootDuration,
44
+ withTimeToFirstChunk,
45
+ withTimeToFirstToken,
46
+ withOutcomeFields,
41
47
  client,
42
48
  discoveryTimeRange
43
49
  ]);
@@ -1 +1 @@
1
- {"version":3,"file":"use-traces-filter-bar.es.js","names":[],"sources":["../../../../../src/domains/traces/components/traces-explorer/use-traces-filter-bar.ts"],"sourcesContent":["import type { EntityType } from '@mastra/core/observability';\nimport { useMastraClient } from '@mastra/react';\nimport { createTraceQueryValuesResolver, useEntityNames, useEnvironments } from '@mastra/react/hooks/traces';\nimport { useMemo } from 'react';\nimport {\n createTraceFilterBarFields,\n filterBarExpressionToTraceFilters,\n traceFiltersToFilterBarExpression,\n traceTokensToFilterBarItems,\n} from '../../trace-filters';\nimport type { TraceQueryRelatedScope } from '../../trace-query-filters';\nimport { TRACE_TIME_RANGE_FIELD, TRACE_TIME_RANGE_FIELD_ID, TRACE_TIME_RANGE_ITEM } from '../trace-time-range-chip';\nimport { getSelectedEntityOption } from './traces-explorer-actions';\nimport { useTracesConfig, useTracesFilters } from './traces-explorer-context';\nimport { useTracesDiscovery } from './use-traces-discovery';\nimport { isFilterBarGroup } from '@/ds/components/FilterBar';\nimport type { FilterBarExpression, FilterBarField, FilterBarItem } from '@/ds/components/FilterBar';\n\nconst NO_SUGGESTIONS: string[] = [];\n\n/** The fields the trace filter bar offers: time range, trace fields, and discovered metadata. */\nexport function useTracesFilterBarFields(): FilterBarField[] {\n const { hiddenFieldIds, withQueryTrace, withRootDuration, discoveryTimeRange } = useTracesConfig();\n const { filters } = useTracesFilters();\n const selectedEntityType = getSelectedEntityOption(filters.tokens)?.entityType as EntityType | undefined;\n\n const { data: rootEntityNames = NO_SUGGESTIONS } = useEntityNames({ entityType: selectedEntityType, rootOnly: true });\n const { data: environments = NO_SUGGESTIONS } = useEnvironments();\n const { fields: metadataFields, canonicalFields } = useTracesDiscovery();\n const client = useMastraClient();\n\n // Memoized for correctness: static suggestion lists live on the fields and become the value\n // editor's Combobox `items`, which loops if handed a new array on every render.\n return useMemo(\n () => [\n TRACE_TIME_RANGE_FIELD,\n ...createTraceFilterBarFields({\n availableRootEntityNames: rootEntityNames,\n availableEnvironments: environments,\n hiddenFieldIds,\n metadataFields,\n canonicalTraceFields: canonicalFields,\n valueSuggestions: withQueryTrace\n ? (relatedScope: TraceQueryRelatedScope | 'trace', path: string) =>\n createTraceQueryValuesResolver(client, discoveryTimeRange, relatedScope, path)\n : undefined,\n withQueryTrace,\n withRootDuration,\n }),\n ],\n [\n rootEntityNames,\n environments,\n hiddenFieldIds,\n metadataFields,\n canonicalFields,\n withQueryTrace,\n withRootDuration,\n client,\n discoveryTimeRange,\n ],\n );\n}\n\n/**\n * The explorer's filters as filter bar values, and the handlers that write bar edits back.\n * Scope items never show up in the bar; the explorer keeps them on every edit.\n */\nexport function useTracesFilterBar() {\n const { scopedFieldIds } = useTracesConfig();\n const { filters, setFilterTokens } = useTracesFilters();\n\n const items = traceTokensToFilterBarItems(filters.tokens).filter(item => !scopedFieldIds.has(item.fieldId));\n // The time-range chip is a synthetic, always-present item so it takes part in keyboard\n // navigation; it never round-trips to filter tokens. Expression mode so root-level AND/OR\n // groups render as \"Advanced filter\" chips.\n const groupsExpression = traceFiltersToFilterBarExpression([], filters.groups);\n const filterBarValue: FilterBarExpression = {\n ...groupsExpression,\n nodes: [TRACE_TIME_RANGE_ITEM, ...items, ...groupsExpression.nodes],\n };\n // Legacy mode: the list endpoint can't express AND/OR groups, so the bar runs flat.\n const flatFilterBarValue = [TRACE_TIME_RANGE_ITEM, ...items];\n\n const onFilterBarChange = (expression: FilterBarExpression) => {\n const { tokens, groups } = filterBarExpressionToTraceFilters({\n ...expression,\n nodes: expression.nodes.filter(node => isFilterBarGroup(node) || node.fieldId !== TRACE_TIME_RANGE_FIELD_ID),\n });\n setFilterTokens(tokens, groups);\n };\n\n return {\n filterBarValue,\n flatFilterBarValue,\n onFilterBarChange,\n onFlatFilterBarChange: (nodes: FilterBarItem[]) =>\n onFilterBarChange({ ...traceFiltersToFilterBarExpression([], []), nodes }),\n /** Replaces any filter on `fieldId` with `is value`, e.g. from a list cell. */\n onFilterByField: (fieldId: string, value: string) => {\n const withoutField = items.filter(item => item.fieldId !== fieldId);\n const item: FilterBarItem = { id: `${fieldId}:${value}`, fieldId, operatorId: 'is', value };\n const groups = filterBarValue.nodes.filter(isFilterBarGroup);\n onFilterBarChange({ ...filterBarValue, nodes: [...withoutField, item, ...groups] });\n },\n };\n}\n"],"mappings":";;;;;;;;;;AAkBA,IAAM,iBAA2B,CAAC;;AAGlC,SAAgB,2BAA6C;CAC3D,MAAM,EAAE,gBAAgB,gBAAgB,kBAAkB,uBAAuB,gBAAgB;CACjG,MAAM,EAAE,YAAY,iBAAiB;CACrC,MAAM,qBAAqB,wBAAwB,QAAQ,MAAM,CAAC,EAAE;CAEpE,MAAM,EAAE,MAAM,kBAAkB,mBAAmB,eAAe;EAAE,YAAY;EAAoB,UAAU;CAAK,CAAC;CACpH,MAAM,EAAE,MAAM,eAAe,mBAAmB,gBAAgB;CAChE,MAAM,EAAE,QAAQ,gBAAgB,oBAAoB,mBAAmB;CACvE,MAAM,SAAS,gBAAgB;CAI/B,OAAO,cACC,CACJ,wBACA,GAAG,2BAA2B;EAC5B,0BAA0B;EAC1B,uBAAuB;EACvB;EACA;EACA,sBAAsB;EACtB,kBAAkB,kBACb,cAAgD,SAC/C,+BAA+B,QAAQ,oBAAoB,cAAc,IAAI,IAC/E,KAAA;EACJ;EACA;CACF,CAAC,CACH,GACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CACF;AACF;;;;;AAMA,SAAgB,qBAAqB;CACnC,MAAM,EAAE,mBAAmB,gBAAgB;CAC3C,MAAM,EAAE,SAAS,oBAAoB,iBAAiB;CAEtD,MAAM,QAAQ,4BAA4B,QAAQ,MAAM,CAAC,CAAC,QAAO,SAAQ,CAAC,eAAe,IAAI,KAAK,OAAO,CAAC;CAI1G,MAAM,mBAAmB,kCAAkC,CAAC,GAAG,QAAQ,MAAM;CAC7E,MAAM,iBAAsC;EAC1C,GAAG;EACH,OAAO;GAAC;GAAuB,GAAG;GAAO,GAAG,iBAAiB;EAAK;CACpE;CAEA,MAAM,qBAAqB,CAAC,uBAAuB,GAAG,KAAK;CAE3D,MAAM,qBAAqB,eAAoC;EAC7D,MAAM,EAAE,QAAQ,WAAW,kCAAkC;GAC3D,GAAG;GACH,OAAO,WAAW,MAAM,QAAO,SAAQ,iBAAiB,IAAI,KAAK,KAAK,YAAA,WAAqC;EAC7G,CAAC;EACD,gBAAgB,QAAQ,MAAM;CAChC;CAEA,OAAO;EACL;EACA;EACA;EACA,wBAAwB,UACtB,kBAAkB;GAAE,GAAG,kCAAkC,CAAC,GAAG,CAAC,CAAC;GAAG;EAAM,CAAC;;EAE3E,kBAAkB,SAAiB,UAAkB;GACnD,MAAM,eAAe,MAAM,QAAO,SAAQ,KAAK,YAAY,OAAO;GAClE,MAAM,OAAsB;IAAE,IAAI,GAAG,QAAQ,GAAG;IAAS;IAAS,YAAY;IAAM;GAAM;GAC1F,MAAM,SAAS,eAAe,MAAM,OAAO,gBAAgB;GAC3D,kBAAkB;IAAE,GAAG;IAAgB,OAAO;KAAC,GAAG;KAAc;KAAM,GAAG;IAAM;GAAE,CAAC;EACpF;CACF;AACF"}
1
+ {"version":3,"file":"use-traces-filter-bar.es.js","names":[],"sources":["../../../../../src/domains/traces/components/traces-explorer/use-traces-filter-bar.ts"],"sourcesContent":["import type { EntityType } from '@mastra/core/observability';\nimport { useMastraClient } from '@mastra/react';\nimport { createTraceQueryValuesResolver, useEntityNames, useEnvironments } from '@mastra/react/hooks/traces';\nimport { useMemo } from 'react';\nimport {\n createTraceFilterBarFields,\n filterBarExpressionToTraceFilters,\n traceFiltersToFilterBarExpression,\n traceTokensToFilterBarItems,\n} from '../../trace-filters';\nimport type { TraceQueryRelatedScope } from '../../trace-query-filters';\nimport { TRACE_TIME_RANGE_FIELD, TRACE_TIME_RANGE_FIELD_ID, TRACE_TIME_RANGE_ITEM } from '../trace-time-range-chip';\nimport { getSelectedEntityOption } from './traces-explorer-actions';\nimport { useTracesConfig, useTracesFilters } from './traces-explorer-context';\nimport { useTracesDiscovery } from './use-traces-discovery';\nimport { isFilterBarGroup } from '@/ds/components/FilterBar';\nimport type { FilterBarExpression, FilterBarField, FilterBarItem } from '@/ds/components/FilterBar';\n\nconst NO_SUGGESTIONS: string[] = [];\n\n/** The fields the trace filter bar offers: time range, trace fields, and discovered metadata. */\nexport function useTracesFilterBarFields(): FilterBarField[] {\n const {\n hiddenFieldIds,\n withQueryTrace,\n withRootDuration,\n withTimeToFirstChunk,\n withTimeToFirstToken,\n withOutcomeFields,\n discoveryTimeRange,\n } = useTracesConfig();\n const { filters } = useTracesFilters();\n const selectedEntityType = getSelectedEntityOption(filters.tokens)?.entityType as EntityType | undefined;\n\n const { data: rootEntityNames = NO_SUGGESTIONS } = useEntityNames({ entityType: selectedEntityType, rootOnly: true });\n const { data: environments = NO_SUGGESTIONS } = useEnvironments();\n const { fields: metadataFields, canonicalFields } = useTracesDiscovery();\n const client = useMastraClient();\n\n // Memoized for correctness: static suggestion lists live on the fields and become the value\n // editor's Combobox `items`, which loops if handed a new array on every render.\n return useMemo(\n () => [\n TRACE_TIME_RANGE_FIELD,\n ...createTraceFilterBarFields({\n availableRootEntityNames: rootEntityNames,\n availableEnvironments: environments,\n hiddenFieldIds,\n metadataFields,\n canonicalTraceFields: canonicalFields,\n valueSuggestions: withQueryTrace\n ? (relatedScope: TraceQueryRelatedScope | 'trace', path: string) =>\n createTraceQueryValuesResolver(client, discoveryTimeRange, relatedScope, path)\n : undefined,\n withQueryTrace,\n withRootDuration,\n withTimeToFirstChunk,\n withTimeToFirstToken,\n withOutcomeFields,\n }),\n ],\n [\n rootEntityNames,\n environments,\n hiddenFieldIds,\n metadataFields,\n canonicalFields,\n withQueryTrace,\n withRootDuration,\n withTimeToFirstChunk,\n withTimeToFirstToken,\n withOutcomeFields,\n client,\n discoveryTimeRange,\n ],\n );\n}\n\n/**\n * The explorer's filters as filter bar values, and the handlers that write bar edits back.\n * Scope items never show up in the bar; the explorer keeps them on every edit.\n */\nexport function useTracesFilterBar() {\n const { scopedFieldIds } = useTracesConfig();\n const { filters, setFilterTokens } = useTracesFilters();\n\n const items = traceTokensToFilterBarItems(filters.tokens).filter(item => !scopedFieldIds.has(item.fieldId));\n // The time-range chip is a synthetic, always-present item so it takes part in keyboard\n // navigation; it never round-trips to filter tokens. Expression mode so root-level AND/OR\n // groups render as \"Advanced filter\" chips.\n const groupsExpression = traceFiltersToFilterBarExpression([], filters.groups);\n const filterBarValue: FilterBarExpression = {\n ...groupsExpression,\n nodes: [TRACE_TIME_RANGE_ITEM, ...items, ...groupsExpression.nodes],\n };\n // Legacy mode: the list endpoint can't express AND/OR groups, so the bar runs flat.\n const flatFilterBarValue = [TRACE_TIME_RANGE_ITEM, ...items];\n\n const onFilterBarChange = (expression: FilterBarExpression) => {\n const { tokens, groups } = filterBarExpressionToTraceFilters({\n ...expression,\n nodes: expression.nodes.filter(node => isFilterBarGroup(node) || node.fieldId !== TRACE_TIME_RANGE_FIELD_ID),\n });\n setFilterTokens(tokens, groups);\n };\n\n return {\n filterBarValue,\n flatFilterBarValue,\n onFilterBarChange,\n onFlatFilterBarChange: (nodes: FilterBarItem[]) =>\n onFilterBarChange({ ...traceFiltersToFilterBarExpression([], []), nodes }),\n /** Replaces any filter on `fieldId` with `is value`, e.g. from a list cell. */\n onFilterByField: (fieldId: string, value: string) => {\n const withoutField = items.filter(item => item.fieldId !== fieldId);\n const item: FilterBarItem = { id: `${fieldId}:${value}`, fieldId, operatorId: 'is', value };\n const groups = filterBarValue.nodes.filter(isFilterBarGroup);\n onFilterBarChange({ ...filterBarValue, nodes: [...withoutField, item, ...groups] });\n },\n };\n}\n"],"mappings":";;;;;;;;;;AAkBA,IAAM,iBAA2B,CAAC;;AAGlC,SAAgB,2BAA6C;CAC3D,MAAM,EACJ,gBACA,gBACA,kBACA,sBACA,sBACA,mBACA,uBACE,gBAAgB;CACpB,MAAM,EAAE,YAAY,iBAAiB;CACrC,MAAM,qBAAqB,wBAAwB,QAAQ,MAAM,CAAC,EAAE;CAEpE,MAAM,EAAE,MAAM,kBAAkB,mBAAmB,eAAe;EAAE,YAAY;EAAoB,UAAU;CAAK,CAAC;CACpH,MAAM,EAAE,MAAM,eAAe,mBAAmB,gBAAgB;CAChE,MAAM,EAAE,QAAQ,gBAAgB,oBAAoB,mBAAmB;CACvE,MAAM,SAAS,gBAAgB;CAI/B,OAAO,cACC,CACJ,wBACA,GAAG,2BAA2B;EAC5B,0BAA0B;EAC1B,uBAAuB;EACvB;EACA;EACA,sBAAsB;EACtB,kBAAkB,kBACb,cAAgD,SAC/C,+BAA+B,QAAQ,oBAAoB,cAAc,IAAI,IAC/E,KAAA;EACJ;EACA;EACA;EACA;EACA;CACF,CAAC,CACH,GACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CACF;AACF;;;;;AAMA,SAAgB,qBAAqB;CACnC,MAAM,EAAE,mBAAmB,gBAAgB;CAC3C,MAAM,EAAE,SAAS,oBAAoB,iBAAiB;CAEtD,MAAM,QAAQ,4BAA4B,QAAQ,MAAM,CAAC,CAAC,QAAO,SAAQ,CAAC,eAAe,IAAI,KAAK,OAAO,CAAC;CAI1G,MAAM,mBAAmB,kCAAkC,CAAC,GAAG,QAAQ,MAAM;CAC7E,MAAM,iBAAsC;EAC1C,GAAG;EACH,OAAO;GAAC;GAAuB,GAAG;GAAO,GAAG,iBAAiB;EAAK;CACpE;CAEA,MAAM,qBAAqB,CAAC,uBAAuB,GAAG,KAAK;CAE3D,MAAM,qBAAqB,eAAoC;EAC7D,MAAM,EAAE,QAAQ,WAAW,kCAAkC;GAC3D,GAAG;GACH,OAAO,WAAW,MAAM,QAAO,SAAQ,iBAAiB,IAAI,KAAK,KAAK,YAAA,WAAqC;EAC7G,CAAC;EACD,gBAAgB,QAAQ,MAAM;CAChC;CAEA,OAAO;EACL;EACA;EACA;EACA,wBAAwB,UACtB,kBAAkB;GAAE,GAAG,kCAAkC,CAAC,GAAG,CAAC,CAAC;GAAG;EAAM,CAAC;;EAE3E,kBAAkB,SAAiB,UAAkB;GACnD,MAAM,eAAe,MAAM,QAAO,SAAQ,KAAK,YAAY,OAAO;GAClE,MAAM,OAAsB;IAAE,IAAI,GAAG,QAAQ,GAAG;IAAS;IAAS,YAAY;IAAM;GAAM;GAC1F,MAAM,SAAS,eAAe,MAAM,OAAO,gBAAgB;GAC3D,kBAAkB;IAAE,GAAG;IAAgB,OAAO;KAAC,GAAG;KAAc;KAAM,GAAG;IAAM;GAAE,CAAC;EACpF;CACF;AACF"}
@@ -11,6 +11,7 @@ const require_domains_traces_components_traces_explorer_traces_explorer_layout =
11
11
  const require_domains_traces_components_traces_explorer_traces_explorer_list = require("./traces-explorer/traces-explorer-list.cjs.js");
12
12
  const require_domains_traces_components_traces_explorer_traces_explorer_panel = require("./traces-explorer/traces-explorer-panel.cjs.js");
13
13
  const require_domains_traces_components_traces_explorer_traces_explorer_root = require("./traces-explorer/traces-explorer-root.cjs.js");
14
+ const require_domains_traces_components_traces_explorer_traces_explorer_saved_views = require("./traces-explorer/traces-explorer-saved-views.cjs.js");
14
15
  // src/domains/traces/components/traces-explorer/index.ts
15
16
  var TracesExplorer = Object.assign(require_domains_traces_components_traces_explorer_traces_explorer_root.TracesExplorerRoot, {
16
17
  Layout: require_domains_traces_components_traces_explorer_traces_explorer_layout.TracesExplorerLayout,
@@ -21,11 +22,13 @@ var TracesExplorer = Object.assign(require_domains_traces_components_traces_expl
21
22
  ColumnsMenu: require_domains_traces_components_traces_explorer_traces_explorer_columns_menu.TracesExplorerColumnsMenu,
22
23
  Histogram: require_domains_traces_components_traces_explorer_traces_explorer_histogram.TracesExplorerHistogram,
23
24
  List: require_domains_traces_components_traces_explorer_traces_explorer_list.TracesExplorerList,
24
- Panel: require_domains_traces_components_traces_explorer_traces_explorer_panel.TracesExplorerPanel
25
+ Panel: require_domains_traces_components_traces_explorer_traces_explorer_panel.TracesExplorerPanel,
26
+ SavedViews: require_domains_traces_components_traces_explorer_traces_explorer_saved_views.TracesExplorerSavedViews
25
27
  });
26
28
  exports.DEFAULT_TRACES_FILTERS = require_domains_traces_components_traces_explorer_traces_explorer_actions.DEFAULT_TRACES_FILTERS;
27
29
  exports.DEFAULT_TRACES_SORT = require_domains_traces_components_traces_explorer_traces_explorer_actions.DEFAULT_TRACES_SORT;
28
30
  exports.EMPTY_TRACES_SELECTION = require_domains_traces_components_traces_explorer_traces_explorer_actions.EMPTY_TRACES_SELECTION;
31
+ exports.TRACES_SORT_FIELDS = require_domains_traces_components_traces_explorer_traces_explorer_actions.TRACES_SORT_FIELDS;
29
32
  exports.TracesExplorer = TracesExplorer;
30
33
  exports.resolveTracesDateWindow = require_domains_traces_components_traces_explorer_traces_explorer_actions.resolveTracesDateWindow;
31
34
  exports.useTraceUsageColumns = require_domains_traces_components_traces_explorer_traces_explorer_context.useTraceUsageColumns;
@@ -1 +1 @@
1
- {"version":3,"file":"traces-explorer.cjs.js","names":["TracesExplorerRoot","TracesExplorerLayout","TracesExplorerBody","TracesExplorerFilterBar","TracesExplorerFilterChips","TracesExplorerTimeRangeChip","TracesExplorerColumnsMenu","TracesExplorerHistogram","TracesExplorerList","TracesExplorerPanel"],"sources":["../../../../src/domains/traces/components/traces-explorer/index.ts"],"sourcesContent":["import { TracesExplorerBody } from './traces-explorer-body';\nimport { TracesExplorerColumnsMenu } from './traces-explorer-columns-menu';\nimport {\n TracesExplorerFilterBar,\n TracesExplorerFilterChips,\n TracesExplorerTimeRangeChip,\n} from './traces-explorer-filter-bar';\nimport { TracesExplorerHistogram } from './traces-explorer-histogram';\nimport { TracesExplorerLayout } from './traces-explorer-layout';\nimport { TracesExplorerList } from './traces-explorer-list';\nimport { TracesExplorerPanel } from './traces-explorer-panel';\nimport { TracesExplorerRoot } from './traces-explorer-root';\n\nexport const TracesExplorer = Object.assign(TracesExplorerRoot, {\n Layout: TracesExplorerLayout,\n Body: TracesExplorerBody,\n FilterBar: TracesExplorerFilterBar,\n FilterChips: TracesExplorerFilterChips,\n TimeRangeChip: TracesExplorerTimeRangeChip,\n ColumnsMenu: TracesExplorerColumnsMenu,\n Histogram: TracesExplorerHistogram,\n List: TracesExplorerList,\n Panel: TracesExplorerPanel,\n});\n\nexport type { TracesExplorerRootProps } from './traces-explorer-root';\nexport type { TracesExplorerErrorRenderArgs, TracesExplorerLayoutProps } from './traces-explorer-layout';\nexport type { TracesExplorerBodyProps } from './traces-explorer-body';\nexport type {\n TracesExplorerFilterBarProps,\n TracesExplorerFilterChipsProps,\n TracesExplorerTimeRangeChipProps,\n} from './traces-explorer-filter-bar';\nexport type { TracesExplorerPanelProps } from './traces-explorer-panel';\nexport {\n DEFAULT_TRACES_FILTERS,\n DEFAULT_TRACES_SORT,\n EMPTY_TRACES_SELECTION,\n resolveTracesDateWindow,\n} from './traces-explorer-actions';\nexport type {\n TracesExplorerState,\n TracesFilters,\n TracesSelection,\n TracesSort,\n TracesSortDirection,\n TracesSortField,\n} from './traces-explorer-actions';\nexport {\n useTraceUsageColumns,\n useTracesColumns,\n useTracesConfig,\n useTracesFilters,\n useTracesList,\n useTracesListFetching,\n useTracesSelection,\n} from './traces-explorer-context';\nexport type { TracesExplorerFeatures, TracesExplorerScope, TracesMetricsSupport } from './traces-explorer-context';\nexport { useTracesFilterBar, useTracesFilterBarFields } from './use-traces-filter-bar';\nexport { useTracesDiscovery } from './use-traces-discovery';\n"],"mappings":";;;;;;;;;;;;;;AAaA,IAAa,iBAAiB,OAAO,OAAOA,uEAAAA,oBAAoB;CAC9D,QAAQC,yEAAAA;CACR,MAAMC,uEAAAA;CACN,WAAWC,6EAAAA;CACX,aAAaC,6EAAAA;CACb,eAAeC,6EAAAA;CACf,aAAaC,+EAAAA;CACb,WAAWC,4EAAAA;CACX,MAAMC,uEAAAA;CACN,OAAOC,wEAAAA;AACT,CAAC"}
1
+ {"version":3,"file":"traces-explorer.cjs.js","names":["TracesExplorerRoot","TracesExplorerLayout","TracesExplorerBody","TracesExplorerFilterBar","TracesExplorerFilterChips","TracesExplorerTimeRangeChip","TracesExplorerColumnsMenu","TracesExplorerHistogram","TracesExplorerList","TracesExplorerPanel","TracesExplorerSavedViews"],"sources":["../../../../src/domains/traces/components/traces-explorer/index.ts"],"sourcesContent":["import { TracesExplorerBody } from './traces-explorer-body';\nimport { TracesExplorerColumnsMenu } from './traces-explorer-columns-menu';\nimport {\n TracesExplorerFilterBar,\n TracesExplorerFilterChips,\n TracesExplorerTimeRangeChip,\n} from './traces-explorer-filter-bar';\nimport { TracesExplorerHistogram } from './traces-explorer-histogram';\nimport { TracesExplorerLayout } from './traces-explorer-layout';\nimport { TracesExplorerList } from './traces-explorer-list';\nimport { TracesExplorerPanel } from './traces-explorer-panel';\nimport { TracesExplorerRoot } from './traces-explorer-root';\nimport { TracesExplorerSavedViews } from './traces-explorer-saved-views';\n\nexport const TracesExplorer = Object.assign(TracesExplorerRoot, {\n Layout: TracesExplorerLayout,\n Body: TracesExplorerBody,\n FilterBar: TracesExplorerFilterBar,\n FilterChips: TracesExplorerFilterChips,\n TimeRangeChip: TracesExplorerTimeRangeChip,\n ColumnsMenu: TracesExplorerColumnsMenu,\n Histogram: TracesExplorerHistogram,\n List: TracesExplorerList,\n Panel: TracesExplorerPanel,\n SavedViews: TracesExplorerSavedViews,\n});\n\nexport type { TracesExplorerRootProps } from './traces-explorer-root';\nexport type { TracesExplorerErrorRenderArgs, TracesExplorerLayoutProps } from './traces-explorer-layout';\nexport type { TracesExplorerBodyProps } from './traces-explorer-body';\nexport type {\n TracesExplorerFilterBarProps,\n TracesExplorerFilterChipsProps,\n TracesExplorerTimeRangeChipProps,\n} from './traces-explorer-filter-bar';\nexport type { TracesExplorerPanelProps } from './traces-explorer-panel';\nexport type { TracesExplorerSavedViewsProps } from './traces-explorer-saved-views';\nexport {\n DEFAULT_TRACES_FILTERS,\n DEFAULT_TRACES_SORT,\n EMPTY_TRACES_SELECTION,\n TRACES_SORT_FIELDS,\n resolveTracesDateWindow,\n} from './traces-explorer-actions';\nexport type {\n TracesExplorerState,\n TracesFilters,\n TracesSelection,\n TracesSort,\n TracesSortDirection,\n TracesSortField,\n} from './traces-explorer-actions';\nexport {\n useTraceUsageColumns,\n useTracesColumns,\n useTracesConfig,\n useTracesFilters,\n useTracesList,\n useTracesListFetching,\n useTracesSelection,\n} from './traces-explorer-context';\nexport type { TracesExplorerFeatures, TracesExplorerScope, TracesMetricsSupport } from './traces-explorer-context';\nexport { useTracesFilterBar, useTracesFilterBarFields } from './use-traces-filter-bar';\nexport { useTracesDiscovery } from './use-traces-discovery';\n"],"mappings":";;;;;;;;;;;;;;;AAcA,IAAa,iBAAiB,OAAO,OAAOA,uEAAAA,oBAAoB;CAC9D,QAAQC,yEAAAA;CACR,MAAMC,uEAAAA;CACN,WAAWC,6EAAAA;CACX,aAAaC,6EAAAA;CACb,eAAeC,6EAAAA;CACf,aAAaC,+EAAAA;CACb,WAAWC,4EAAAA;CACX,MAAMC,uEAAAA;CACN,OAAOC,wEAAAA;CACP,YAAYC,8EAAAA;AACd,CAAC"}
@@ -1,4 +1,4 @@
1
- import { DEFAULT_TRACES_FILTERS, DEFAULT_TRACES_SORT, EMPTY_TRACES_SELECTION, resolveTracesDateWindow } from "./traces-explorer/traces-explorer-actions.es.js";
1
+ import { DEFAULT_TRACES_FILTERS, DEFAULT_TRACES_SORT, EMPTY_TRACES_SELECTION, TRACES_SORT_FIELDS, resolveTracesDateWindow } from "./traces-explorer/traces-explorer-actions.es.js";
2
2
  import { useTraceUsageColumns, useTracesColumns, useTracesConfig, useTracesFilters, useTracesList, useTracesListFetching, useTracesSelection } from "./traces-explorer/traces-explorer-context.es.js";
3
3
  import { useTracesDiscovery } from "./traces-explorer/use-traces-discovery.es.js";
4
4
  import { TracesExplorerBody } from "./traces-explorer/traces-explorer-body.es.js";
@@ -10,6 +10,7 @@ import { TracesExplorerLayout } from "./traces-explorer/traces-explorer-layout.e
10
10
  import { TracesExplorerList } from "./traces-explorer/traces-explorer-list.es.js";
11
11
  import { TracesExplorerPanel } from "./traces-explorer/traces-explorer-panel.es.js";
12
12
  import { TracesExplorerRoot } from "./traces-explorer/traces-explorer-root.es.js";
13
+ import { TracesExplorerSavedViews } from "./traces-explorer/traces-explorer-saved-views.es.js";
13
14
  // src/domains/traces/components/traces-explorer/index.ts
14
15
  var TracesExplorer = Object.assign(TracesExplorerRoot, {
15
16
  Layout: TracesExplorerLayout,
@@ -20,8 +21,9 @@ var TracesExplorer = Object.assign(TracesExplorerRoot, {
20
21
  ColumnsMenu: TracesExplorerColumnsMenu,
21
22
  Histogram: TracesExplorerHistogram,
22
23
  List: TracesExplorerList,
23
- Panel: TracesExplorerPanel
24
+ Panel: TracesExplorerPanel,
25
+ SavedViews: TracesExplorerSavedViews
24
26
  });
25
- export { DEFAULT_TRACES_FILTERS, DEFAULT_TRACES_SORT, EMPTY_TRACES_SELECTION, TracesExplorer, resolveTracesDateWindow, useTraceUsageColumns, useTracesColumns, useTracesConfig, useTracesDiscovery, useTracesFilterBar, useTracesFilterBarFields, useTracesFilters, useTracesList, useTracesListFetching, useTracesSelection };
27
+ export { DEFAULT_TRACES_FILTERS, DEFAULT_TRACES_SORT, EMPTY_TRACES_SELECTION, TRACES_SORT_FIELDS, TracesExplorer, resolveTracesDateWindow, useTraceUsageColumns, useTracesColumns, useTracesConfig, useTracesDiscovery, useTracesFilterBar, useTracesFilterBarFields, useTracesFilters, useTracesList, useTracesListFetching, useTracesSelection };
26
28
 
27
29
  //# sourceMappingURL=traces-explorer.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"traces-explorer.es.js","names":[],"sources":["../../../../src/domains/traces/components/traces-explorer/index.ts"],"sourcesContent":["import { TracesExplorerBody } from './traces-explorer-body';\nimport { TracesExplorerColumnsMenu } from './traces-explorer-columns-menu';\nimport {\n TracesExplorerFilterBar,\n TracesExplorerFilterChips,\n TracesExplorerTimeRangeChip,\n} from './traces-explorer-filter-bar';\nimport { TracesExplorerHistogram } from './traces-explorer-histogram';\nimport { TracesExplorerLayout } from './traces-explorer-layout';\nimport { TracesExplorerList } from './traces-explorer-list';\nimport { TracesExplorerPanel } from './traces-explorer-panel';\nimport { TracesExplorerRoot } from './traces-explorer-root';\n\nexport const TracesExplorer = Object.assign(TracesExplorerRoot, {\n Layout: TracesExplorerLayout,\n Body: TracesExplorerBody,\n FilterBar: TracesExplorerFilterBar,\n FilterChips: TracesExplorerFilterChips,\n TimeRangeChip: TracesExplorerTimeRangeChip,\n ColumnsMenu: TracesExplorerColumnsMenu,\n Histogram: TracesExplorerHistogram,\n List: TracesExplorerList,\n Panel: TracesExplorerPanel,\n});\n\nexport type { TracesExplorerRootProps } from './traces-explorer-root';\nexport type { TracesExplorerErrorRenderArgs, TracesExplorerLayoutProps } from './traces-explorer-layout';\nexport type { TracesExplorerBodyProps } from './traces-explorer-body';\nexport type {\n TracesExplorerFilterBarProps,\n TracesExplorerFilterChipsProps,\n TracesExplorerTimeRangeChipProps,\n} from './traces-explorer-filter-bar';\nexport type { TracesExplorerPanelProps } from './traces-explorer-panel';\nexport {\n DEFAULT_TRACES_FILTERS,\n DEFAULT_TRACES_SORT,\n EMPTY_TRACES_SELECTION,\n resolveTracesDateWindow,\n} from './traces-explorer-actions';\nexport type {\n TracesExplorerState,\n TracesFilters,\n TracesSelection,\n TracesSort,\n TracesSortDirection,\n TracesSortField,\n} from './traces-explorer-actions';\nexport {\n useTraceUsageColumns,\n useTracesColumns,\n useTracesConfig,\n useTracesFilters,\n useTracesList,\n useTracesListFetching,\n useTracesSelection,\n} from './traces-explorer-context';\nexport type { TracesExplorerFeatures, TracesExplorerScope, TracesMetricsSupport } from './traces-explorer-context';\nexport { useTracesFilterBar, useTracesFilterBarFields } from './use-traces-filter-bar';\nexport { useTracesDiscovery } from './use-traces-discovery';\n"],"mappings":";;;;;;;;;;;;;AAaA,IAAa,iBAAiB,OAAO,OAAO,oBAAoB;CAC9D,QAAQ;CACR,MAAM;CACN,WAAW;CACX,aAAa;CACb,eAAe;CACf,aAAa;CACb,WAAW;CACX,MAAM;CACN,OAAO;AACT,CAAC"}
1
+ {"version":3,"file":"traces-explorer.es.js","names":[],"sources":["../../../../src/domains/traces/components/traces-explorer/index.ts"],"sourcesContent":["import { TracesExplorerBody } from './traces-explorer-body';\nimport { TracesExplorerColumnsMenu } from './traces-explorer-columns-menu';\nimport {\n TracesExplorerFilterBar,\n TracesExplorerFilterChips,\n TracesExplorerTimeRangeChip,\n} from './traces-explorer-filter-bar';\nimport { TracesExplorerHistogram } from './traces-explorer-histogram';\nimport { TracesExplorerLayout } from './traces-explorer-layout';\nimport { TracesExplorerList } from './traces-explorer-list';\nimport { TracesExplorerPanel } from './traces-explorer-panel';\nimport { TracesExplorerRoot } from './traces-explorer-root';\nimport { TracesExplorerSavedViews } from './traces-explorer-saved-views';\n\nexport const TracesExplorer = Object.assign(TracesExplorerRoot, {\n Layout: TracesExplorerLayout,\n Body: TracesExplorerBody,\n FilterBar: TracesExplorerFilterBar,\n FilterChips: TracesExplorerFilterChips,\n TimeRangeChip: TracesExplorerTimeRangeChip,\n ColumnsMenu: TracesExplorerColumnsMenu,\n Histogram: TracesExplorerHistogram,\n List: TracesExplorerList,\n Panel: TracesExplorerPanel,\n SavedViews: TracesExplorerSavedViews,\n});\n\nexport type { TracesExplorerRootProps } from './traces-explorer-root';\nexport type { TracesExplorerErrorRenderArgs, TracesExplorerLayoutProps } from './traces-explorer-layout';\nexport type { TracesExplorerBodyProps } from './traces-explorer-body';\nexport type {\n TracesExplorerFilterBarProps,\n TracesExplorerFilterChipsProps,\n TracesExplorerTimeRangeChipProps,\n} from './traces-explorer-filter-bar';\nexport type { TracesExplorerPanelProps } from './traces-explorer-panel';\nexport type { TracesExplorerSavedViewsProps } from './traces-explorer-saved-views';\nexport {\n DEFAULT_TRACES_FILTERS,\n DEFAULT_TRACES_SORT,\n EMPTY_TRACES_SELECTION,\n TRACES_SORT_FIELDS,\n resolveTracesDateWindow,\n} from './traces-explorer-actions';\nexport type {\n TracesExplorerState,\n TracesFilters,\n TracesSelection,\n TracesSort,\n TracesSortDirection,\n TracesSortField,\n} from './traces-explorer-actions';\nexport {\n useTraceUsageColumns,\n useTracesColumns,\n useTracesConfig,\n useTracesFilters,\n useTracesList,\n useTracesListFetching,\n useTracesSelection,\n} from './traces-explorer-context';\nexport type { TracesExplorerFeatures, TracesExplorerScope, TracesMetricsSupport } from './traces-explorer-context';\nexport { useTracesFilterBar, useTracesFilterBarFields } from './use-traces-filter-bar';\nexport { useTracesDiscovery } from './use-traces-discovery';\n"],"mappings":";;;;;;;;;;;;;;AAcA,IAAa,iBAAiB,OAAO,OAAO,oBAAoB;CAC9D,QAAQ;CACR,MAAM;CACN,WAAW;CACX,aAAa;CACb,eAAe;CACf,aAAa;CACb,WAAW;CACX,MAAM;CACN,OAAO;CACP,YAAY;AACd,CAAC"}
@@ -19,9 +19,13 @@ function toTracesListViewTraces(traces) {
19
19
  resourceId: trace.resourceId,
20
20
  environment: trace.environment,
21
21
  status: trace.status,
22
+ outcome: trace.outcome,
23
+ stopReason: trace.stopReason,
24
+ stopReasonContext: trace.stopReasonContext,
22
25
  startedAt: trace.startedAt,
23
26
  endedAt: trace.endedAt,
24
- timeToFirstChunkMs: trace.timeToFirstChunkMs
27
+ timeToFirstChunkMs: trace.timeToFirstChunkMs,
28
+ timeToFirstTokenMs: trace.timeToFirstTokenMs
25
29
  }));
26
30
  }
27
31
  exports.toTracesListViewTraces = toTracesListViewTraces;
@@ -1 +1 @@
1
- {"version":3,"file":"traces-list-view-adapter.cjs.js","names":["displayTraceName"],"sources":["../../../../src/domains/traces/components/traces-list-view-adapter.ts"],"sourcesContent":["import type { TraceQueryTrace } from '@mastra/core/storage';\nimport { displayTraceName } from '../trace-list-columns';\nimport type { TracesListViewTrace } from './traces-list-view';\n\nexport function toTracesListViewTraces(traces: TraceQueryTrace[]): TracesListViewTrace[] {\n return traces.map(trace => ({\n traceId: trace.traceId,\n spanId: trace.rootSpanId,\n parentSpanId: trace.parentSpanId,\n name: displayTraceName(trace.name),\n createdAt: trace.createdAt,\n inputPreview: trace.inputPreview,\n outputPreview: trace.outputPreview ?? undefined,\n errorPreview: trace.errorPreview ?? undefined,\n metadata: trace.metadata,\n entityId: trace.entityId,\n entityName: trace.entityName,\n entityType: trace.entityType,\n threadId: trace.threadId,\n resourceId: trace.resourceId,\n environment: trace.environment,\n status: trace.status,\n startedAt: trace.startedAt,\n endedAt: trace.endedAt,\n timeToFirstChunkMs: trace.timeToFirstChunkMs,\n }));\n}\n"],"mappings":";;;AAIA,SAAgB,uBAAuB,QAAkD;CACvF,OAAO,OAAO,KAAI,WAAU;EAC1B,SAAS,MAAM;EACf,QAAQ,MAAM;EACd,cAAc,MAAM;EACpB,MAAMA,0CAAAA,iBAAiB,MAAM,IAAI;EACjC,WAAW,MAAM;EACjB,cAAc,MAAM;EACpB,eAAe,MAAM,iBAAiB,KAAA;EACtC,cAAc,MAAM,gBAAgB,KAAA;EACpC,UAAU,MAAM;EAChB,UAAU,MAAM;EAChB,YAAY,MAAM;EAClB,YAAY,MAAM;EAClB,UAAU,MAAM;EAChB,YAAY,MAAM;EAClB,aAAa,MAAM;EACnB,QAAQ,MAAM;EACd,WAAW,MAAM;EACjB,SAAS,MAAM;EACf,oBAAoB,MAAM;CAC5B,EAAE;AACJ"}
1
+ {"version":3,"file":"traces-list-view-adapter.cjs.js","names":["displayTraceName"],"sources":["../../../../src/domains/traces/components/traces-list-view-adapter.ts"],"sourcesContent":["import type { TraceQueryTrace } from '@mastra/core/storage';\nimport { displayTraceName } from '../trace-list-columns';\nimport type { TracesListViewTrace } from './traces-list-view';\n\nexport function toTracesListViewTraces(traces: TraceQueryTrace[]): TracesListViewTrace[] {\n return traces.map(trace => ({\n traceId: trace.traceId,\n spanId: trace.rootSpanId,\n parentSpanId: trace.parentSpanId,\n name: displayTraceName(trace.name),\n createdAt: trace.createdAt,\n inputPreview: trace.inputPreview,\n outputPreview: trace.outputPreview ?? undefined,\n errorPreview: trace.errorPreview ?? undefined,\n metadata: trace.metadata,\n entityId: trace.entityId,\n entityName: trace.entityName,\n entityType: trace.entityType,\n threadId: trace.threadId,\n resourceId: trace.resourceId,\n environment: trace.environment,\n status: trace.status,\n outcome: trace.outcome,\n stopReason: trace.stopReason,\n stopReasonContext: trace.stopReasonContext,\n startedAt: trace.startedAt,\n endedAt: trace.endedAt,\n timeToFirstChunkMs: trace.timeToFirstChunkMs,\n timeToFirstTokenMs: trace.timeToFirstTokenMs,\n }));\n}\n"],"mappings":";;;AAIA,SAAgB,uBAAuB,QAAkD;CACvF,OAAO,OAAO,KAAI,WAAU;EAC1B,SAAS,MAAM;EACf,QAAQ,MAAM;EACd,cAAc,MAAM;EACpB,MAAMA,0CAAAA,iBAAiB,MAAM,IAAI;EACjC,WAAW,MAAM;EACjB,cAAc,MAAM;EACpB,eAAe,MAAM,iBAAiB,KAAA;EACtC,cAAc,MAAM,gBAAgB,KAAA;EACpC,UAAU,MAAM;EAChB,UAAU,MAAM;EAChB,YAAY,MAAM;EAClB,YAAY,MAAM;EAClB,UAAU,MAAM;EAChB,YAAY,MAAM;EAClB,aAAa,MAAM;EACnB,QAAQ,MAAM;EACd,SAAS,MAAM;EACf,YAAY,MAAM;EAClB,mBAAmB,MAAM;EACzB,WAAW,MAAM;EACjB,SAAS,MAAM;EACf,oBAAoB,MAAM;EAC1B,oBAAoB,MAAM;CAC5B,EAAE;AACJ"}
@@ -18,9 +18,13 @@ function toTracesListViewTraces(traces) {
18
18
  resourceId: trace.resourceId,
19
19
  environment: trace.environment,
20
20
  status: trace.status,
21
+ outcome: trace.outcome,
22
+ stopReason: trace.stopReason,
23
+ stopReasonContext: trace.stopReasonContext,
21
24
  startedAt: trace.startedAt,
22
25
  endedAt: trace.endedAt,
23
- timeToFirstChunkMs: trace.timeToFirstChunkMs
26
+ timeToFirstChunkMs: trace.timeToFirstChunkMs,
27
+ timeToFirstTokenMs: trace.timeToFirstTokenMs
24
28
  }));
25
29
  }
26
30
  export { toTracesListViewTraces };
@@ -1 +1 @@
1
- {"version":3,"file":"traces-list-view-adapter.es.js","names":[],"sources":["../../../../src/domains/traces/components/traces-list-view-adapter.ts"],"sourcesContent":["import type { TraceQueryTrace } from '@mastra/core/storage';\nimport { displayTraceName } from '../trace-list-columns';\nimport type { TracesListViewTrace } from './traces-list-view';\n\nexport function toTracesListViewTraces(traces: TraceQueryTrace[]): TracesListViewTrace[] {\n return traces.map(trace => ({\n traceId: trace.traceId,\n spanId: trace.rootSpanId,\n parentSpanId: trace.parentSpanId,\n name: displayTraceName(trace.name),\n createdAt: trace.createdAt,\n inputPreview: trace.inputPreview,\n outputPreview: trace.outputPreview ?? undefined,\n errorPreview: trace.errorPreview ?? undefined,\n metadata: trace.metadata,\n entityId: trace.entityId,\n entityName: trace.entityName,\n entityType: trace.entityType,\n threadId: trace.threadId,\n resourceId: trace.resourceId,\n environment: trace.environment,\n status: trace.status,\n startedAt: trace.startedAt,\n endedAt: trace.endedAt,\n timeToFirstChunkMs: trace.timeToFirstChunkMs,\n }));\n}\n"],"mappings":";;AAIA,SAAgB,uBAAuB,QAAkD;CACvF,OAAO,OAAO,KAAI,WAAU;EAC1B,SAAS,MAAM;EACf,QAAQ,MAAM;EACd,cAAc,MAAM;EACpB,MAAM,iBAAiB,MAAM,IAAI;EACjC,WAAW,MAAM;EACjB,cAAc,MAAM;EACpB,eAAe,MAAM,iBAAiB,KAAA;EACtC,cAAc,MAAM,gBAAgB,KAAA;EACpC,UAAU,MAAM;EAChB,UAAU,MAAM;EAChB,YAAY,MAAM;EAClB,YAAY,MAAM;EAClB,UAAU,MAAM;EAChB,YAAY,MAAM;EAClB,aAAa,MAAM;EACnB,QAAQ,MAAM;EACd,WAAW,MAAM;EACjB,SAAS,MAAM;EACf,oBAAoB,MAAM;CAC5B,EAAE;AACJ"}
1
+ {"version":3,"file":"traces-list-view-adapter.es.js","names":[],"sources":["../../../../src/domains/traces/components/traces-list-view-adapter.ts"],"sourcesContent":["import type { TraceQueryTrace } from '@mastra/core/storage';\nimport { displayTraceName } from '../trace-list-columns';\nimport type { TracesListViewTrace } from './traces-list-view';\n\nexport function toTracesListViewTraces(traces: TraceQueryTrace[]): TracesListViewTrace[] {\n return traces.map(trace => ({\n traceId: trace.traceId,\n spanId: trace.rootSpanId,\n parentSpanId: trace.parentSpanId,\n name: displayTraceName(trace.name),\n createdAt: trace.createdAt,\n inputPreview: trace.inputPreview,\n outputPreview: trace.outputPreview ?? undefined,\n errorPreview: trace.errorPreview ?? undefined,\n metadata: trace.metadata,\n entityId: trace.entityId,\n entityName: trace.entityName,\n entityType: trace.entityType,\n threadId: trace.threadId,\n resourceId: trace.resourceId,\n environment: trace.environment,\n status: trace.status,\n outcome: trace.outcome,\n stopReason: trace.stopReason,\n stopReasonContext: trace.stopReasonContext,\n startedAt: trace.startedAt,\n endedAt: trace.endedAt,\n timeToFirstChunkMs: trace.timeToFirstChunkMs,\n timeToFirstTokenMs: trace.timeToFirstTokenMs,\n }));\n}\n"],"mappings":";;AAIA,SAAgB,uBAAuB,QAAkD;CACvF,OAAO,OAAO,KAAI,WAAU;EAC1B,SAAS,MAAM;EACf,QAAQ,MAAM;EACd,cAAc,MAAM;EACpB,MAAM,iBAAiB,MAAM,IAAI;EACjC,WAAW,MAAM;EACjB,cAAc,MAAM;EACpB,eAAe,MAAM,iBAAiB,KAAA;EACtC,cAAc,MAAM,gBAAgB,KAAA;EACpC,UAAU,MAAM;EAChB,UAAU,MAAM;EAChB,YAAY,MAAM;EAClB,YAAY,MAAM;EAClB,UAAU,MAAM;EAChB,YAAY,MAAM;EAClB,aAAa,MAAM;EACnB,QAAQ,MAAM;EACd,SAAS,MAAM;EACf,YAAY,MAAM;EAClB,mBAAmB,MAAM;EACzB,WAAW,MAAM;EACjB,SAAS,MAAM;EACf,oBAAoB,MAAM;EAC1B,oBAAoB,MAAM;CAC5B,EAAE;AACJ"}
@@ -7,10 +7,10 @@ const require_primitives_transitions = require("../../../primitives/transitions.
7
7
  const require_Txt = require("../../../Txt-BnoSqxKE.cjs");
8
8
  const require_dropdown_menu = require("../../../dropdown-menu-BETTTPBB.cjs");
9
9
  const require_data_list = require("../../../data-list-BkimqE_P.cjs");
10
- const require_DataList = require("../../../DataList-Cmk08jUV.cjs");
10
+ const require_DataList = require("../../../DataList-Czwmwyvp.cjs");
11
11
  const require_use_data_list_keyboard = require("../../../use-data-list-keyboard-BCLBdaWR.cjs");
12
- const require_domains_traces_utils_span_utils = require("../utils/span-utils.cjs.js");
13
12
  const require_domains_traces_trace_list_columns = require("../trace-list-columns.cjs.js");
13
+ const require_domains_traces_utils_span_utils = require("../utils/span-utils.cjs.js");
14
14
  const require_domains_traces_components_trace_error_cell = require("./trace-error-cell.cjs.js");
15
15
  let react = require("react");
16
16
  let react_jsx_runtime = require("react/jsx-runtime");
@@ -41,21 +41,28 @@ function sumTokens(usage) {
41
41
  function isFailedTrace(trace) {
42
42
  return trace.status === "error" && !!trace.errorPreview && !!trace.spanId;
43
43
  }
44
- /** The TTFC abbreviation, spelled out on hover; the sort button already names the column for screen readers. */
45
- function TimeToFirstChunkLabel() {
44
+ /** An abbreviated header, spelled out on hover; the sort button already names the column for screen readers. */
45
+ function AbbreviatedLabel({ abbreviation, title }) {
46
46
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_tooltip.Tooltip, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_tooltip.TooltipTrigger, {
47
47
  render: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {}),
48
- children: "TTFC"
49
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_tooltip.TooltipContent, { children: "Time to first chunk" })] });
48
+ children: abbreviation
49
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_tooltip.TooltipContent, { children: title })] });
50
50
  }
51
+ var DEFAULT_SORTABLE_FIELDS = ["startedAt"];
51
52
  /**
52
53
  * Virtualized presentational list. Renders only the visible window via TanStack Virtual, and
53
54
  * uses DataList primitives for layout (CSS Grid with subgrid rows).
54
55
  */
55
- function TracesListView({ traces, isLoading, isFetchingNextPage, hasNextPage, setEndOfListElement, filtersApplied, resource = "traces", featuredTraceId, featuredSpanId, isBranchesMode, recentlyAddedKeys, columnPreferences = require_domains_traces_trace_list_columns.DEFAULT_TRACE_COLUMN_PREFERENCES, usageByTraceId, onTraceClick, createdSort, onSortChange, timeToFirstChunkSort, onTimeToFirstChunkSortChange, onFilterByField, listId = "all-traces" }) {
56
+ function TracesListView({ traces, isLoading, isFetchingNextPage, hasNextPage, setEndOfListElement, filtersApplied, resource = "traces", featuredTraceId, featuredSpanId, isBranchesMode, recentlyAddedKeys, columnPreferences = require_domains_traces_trace_list_columns.DEFAULT_TRACE_COLUMN_PREFERENCES, usageByTraceId, onTraceClick, sort, sortableFields = DEFAULT_SORTABLE_FIELDS, onSortChange, onFilterByField, listId = "all-traces", outcomeColumn = true }) {
56
57
  const scrollRef = (0, react.useRef)(null);
57
- const columns = require_domains_traces_trace_list_columns.buildTraceListColumns(columnPreferences);
58
- const columnKeys = require_domains_traces_trace_list_columns.buildTraceListColumnKeys(columnPreferences);
58
+ const columns = require_domains_traces_trace_list_columns.buildTraceListColumns(columnPreferences, { outcomeColumn });
59
+ const columnKeys = require_domains_traces_trace_list_columns.buildTraceListColumnKeys(columnPreferences, { outcomeColumn });
60
+ const isSortable = (field) => !!onSortChange && sortableFields.includes(field);
61
+ const sortFor = (field) => sort?.field === field ? sort.direction : void 0;
62
+ const handleSortChange = (direction, field) => onSortChange?.({
63
+ field,
64
+ direction
65
+ });
59
66
  const virtualizer = (0, _tanstack_react_virtual.useVirtualizer)({
60
67
  count: traces.length,
61
68
  getScrollElement: () => scrollRef.current,
@@ -81,17 +88,17 @@ function TracesListView({ traces, isLoading, isFetchingNextPage, hasNextPage, se
81
88
  scrollRef,
82
89
  className: "min-w-0",
83
90
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_DataList.TracesDataList.Top, { children: [
84
- onSortChange ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_DataList.TracesDataList.SortableTopCell, {
91
+ isSortable("startedAt") ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_DataList.TracesDataList.SortableTopCell, {
85
92
  sortKey: "startedAt",
86
- sort: createdSort,
87
- onSortChange,
93
+ sort: sortFor("startedAt"),
94
+ onSortChange: handleSortChange,
88
95
  children: "Start"
89
96
  }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_DataList.TracesDataList.TopCell, { children: "Start" }),
90
97
  require_domains_traces_trace_list_columns.hasTraceColumn(columnPreferences, "type") && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_DataList.TracesDataList.TopCell, { children: "Primitive type" }),
91
98
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_DataList.TracesDataList.TopCell, { children: "Primitive name" }),
92
99
  require_domains_traces_trace_list_columns.hasTraceColumn(columnPreferences, "input") && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_DataList.TracesDataList.TopCell, { children: "Input" }),
93
100
  require_domains_traces_trace_list_columns.hasTraceColumn(columnPreferences, "output") && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_DataList.TracesDataList.TopCell, { children: "Output" }),
94
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_DataList.TracesDataList.TopCell, { children: "Status" }),
101
+ outcomeColumn ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_DataList.TracesDataList.TopCell, { children: "Outcome" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_DataList.TracesDataList.TopCell, { children: "Stop reason" })] }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_DataList.TracesDataList.TopCell, { children: "Status" }),
95
102
  require_domains_traces_trace_list_columns.hasTraceColumn(columnPreferences, "duration") && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_DataList.TracesDataList.TopCell, {
96
103
  className: "justify-end text-right",
97
104
  children: "Duration"
@@ -101,18 +108,36 @@ function TracesListView({ traces, isLoading, isFetchingNextPage, hasNextPage, se
101
108
  className: "justify-end text-right",
102
109
  children: "Messages"
103
110
  }),
104
- require_domains_traces_trace_list_columns.hasTraceColumn(columnPreferences, "timeToFirstChunk") && (onTimeToFirstChunkSortChange ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_DataList.TracesDataList.SortableTopCell, {
111
+ require_domains_traces_trace_list_columns.hasTraceColumn(columnPreferences, "timeToFirstChunk") && (isSortable("timeToFirstChunkMs") ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_DataList.TracesDataList.SortableTopCell, {
105
112
  sortKey: "timeToFirstChunkMs",
106
- sort: timeToFirstChunkSort,
107
- onSortChange: onTimeToFirstChunkSortChange,
113
+ sort: sortFor("timeToFirstChunkMs"),
114
+ onSortChange: handleSortChange,
108
115
  label: "Time to first chunk",
109
116
  align: "end",
110
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TimeToFirstChunkLabel, {})
117
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(AbbreviatedLabel, {
118
+ abbreviation: "TTFC",
119
+ title: "Time to first chunk"
120
+ })
111
121
  }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_DataList.TracesDataList.TopCellWithTooltip, {
112
122
  tooltip: "Time to first chunk",
113
123
  className: "justify-end text-right",
114
124
  children: "TTFC"
115
125
  })),
126
+ require_domains_traces_trace_list_columns.hasTraceColumn(columnPreferences, "timeToFirstToken") && (isSortable("timeToFirstTokenMs") ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_DataList.TracesDataList.SortableTopCell, {
127
+ sortKey: "timeToFirstTokenMs",
128
+ sort: sortFor("timeToFirstTokenMs"),
129
+ onSortChange: handleSortChange,
130
+ label: "Time to first token",
131
+ align: "end",
132
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(AbbreviatedLabel, {
133
+ abbreviation: "TTFT",
134
+ title: "Time to first token"
135
+ })
136
+ }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_DataList.TracesDataList.TopCellWithTooltip, {
137
+ tooltip: "Time to first token",
138
+ className: "justify-end text-right",
139
+ children: "TTFT"
140
+ })),
116
141
  require_domains_traces_trace_list_columns.hasTraceColumn(columnPreferences, "endTime") && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_DataList.TracesDataList.TopCell, { children: "End" }),
117
142
  require_domains_traces_trace_list_columns.hasTraceColumn(columnPreferences, "environment") && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_DataList.TracesDataList.TopCell, { children: "Environment" }),
118
143
  require_domains_traces_trace_list_columns.hasTraceColumn(columnPreferences, "model") && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_DataList.TracesDataList.TopCell, { children: "Model" }),
@@ -206,7 +231,13 @@ function TracesListView({ traces, isLoading, isFetchingNextPage, hasNextPage, se
206
231
  error: trace.errorPreview,
207
232
  status: trace.status
208
233
  })),
209
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_DataList.TracesDataList.StatusCell, { status: trace.status }),
234
+ outcomeColumn ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_DataList.TracesDataList.OutcomeCell, {
235
+ outcome: trace.outcome,
236
+ status: trace.status
237
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_DataList.TracesDataList.StopReasonCell, {
238
+ stopReason: trace.stopReason,
239
+ stopReasonContext: trace.stopReasonContext
240
+ })] }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_DataList.TracesDataList.StatusCell, { status: trace.status }),
210
241
  require_domains_traces_trace_list_columns.hasTraceColumn(columnPreferences, "duration") && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_data_list.DataList.NumberCell, {
211
242
  font: "mono",
212
243
  children: require_utils_duration.formatDuration(require_domains_traces_utils_span_utils.getSpanDurationMs(trace.startedAt, trace.endedAt))
@@ -216,6 +247,10 @@ function TracesListView({ traces, isLoading, isFetchingNextPage, hasNextPage, se
216
247
  font: "mono",
217
248
  children: require_utils_duration.formatDuration(trace.timeToFirstChunkMs)
218
249
  }),
250
+ require_domains_traces_trace_list_columns.hasTraceColumn(columnPreferences, "timeToFirstToken") && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_data_list.DataList.NumberCell, {
251
+ font: "mono",
252
+ children: require_utils_duration.formatDuration(trace.timeToFirstTokenMs)
253
+ }),
219
254
  require_domains_traces_trace_list_columns.hasTraceColumn(columnPreferences, "endTime") && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_DataList.TracesDataList.CreatedCell, {
220
255
  timestamp: trace.endedAt ?? "",
221
256
  preset: "day-time-seconds"