@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
@@ -278,9 +278,11 @@ function OutputTab({ span, view, onViewChange }) {
278
278
  }
279
279
  /** Everything looked up rather than read, grouped the same way for every span type. */
280
280
  function DetailsTab({ traceId, span }) {
281
- const { model, provider, finishReason, firstToken, speed } = getModelFacts(span);
281
+ const { finishReason, firstToken, speed, ...facts } = getModelFacts(span);
282
+ const model = span.model || facts.model;
283
+ const provider = span.provider || facts.provider;
282
284
  const usage = span.attributes?.usage;
283
- const hasModel = Boolean(model || finishReason || firstToken || speed);
285
+ const hasModel = Boolean(model || provider || finishReason || firstToken || speed);
284
286
  const durationMs = getSpanDurationMs(span.startedAt, span.endedAt);
285
287
  const ids = [
286
288
  ["Span", span.spanId],
@@ -348,6 +350,14 @@ function DetailsTab({ traceId, span }) {
348
350
  durationMs != null && /* @__PURE__ */ jsx(Row, {
349
351
  label: "Duration",
350
352
  children: formatDurationPrecise(durationMs)
353
+ }),
354
+ span.timeToFirstChunkMs != null && /* @__PURE__ */ jsx(Row, {
355
+ label: "Time to first chunk",
356
+ children: formatDurationPrecise(span.timeToFirstChunkMs)
357
+ }),
358
+ span.timeToFirstTokenMs != null && /* @__PURE__ */ jsx(Row, {
359
+ label: "Time to first token",
360
+ children: formatDurationPrecise(span.timeToFirstTokenMs)
351
361
  })
352
362
  ] })
353
363
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"span-data-panel-view.es.js","names":["_Fragment"],"sources":["../../../../src/domains/traces/components/span-data-panel-view.tsx"],"sourcesContent":["import { describeProcessorPipeline, describeSpanInput } from '@mastra/core/observability';\nimport type { UsageStats } from '@mastra/core/observability';\nimport {\n BracesIcon,\n CircleXIcon,\n ExternalLinkIcon,\n EyeIcon,\n FileInputIcon,\n FileOutputIcon,\n InfoIcon,\n MessageSquareReplyIcon,\n} from 'lucide-react';\nimport { useId, useState } from 'react';\nimport type { ReactNode } from 'react';\nimport type { SpanRecord, SpanTab } from '../types';\nimport { getSpanSignal } from '../utils/span-signal';\nimport { getSpanDurationMs, getTokenLimitMessage, isTokenLimitExceeded } from '../utils/span-utils';\nimport { getSpanTypeUi } from './shared';\nimport { SpanOutcomeSummary } from './span-outcome';\nimport { getSpanOutcome } from './span-outcome.utils';\nimport {\n SpanErrorDetails,\n SpanInputRenderer,\n SpanOutputRenderer,\n SpanPayloadJson,\n SpanPayloadProcessor,\n getSpanOutputPayload,\n hasSpanInputPreview,\n hasSpanOutputPreview,\n} from './span-payload';\nimport { asCoreSpan, getSpanTools } from './span-payload/span-payload-registry';\nimport { SpanToolCallList, SpanToolList } from './span-payload/span-tools-section';\nimport { useSpanToolCalls } from './span-payload/use-span-tool-calls';\nimport { SpanPromptChanges } from './span-prompt-changes';\nimport { getPromptChanges, runsAfterModel } from './span-prompt-impact';\nimport { SpanTokenUsage } from './span-token-usage';\nimport { getModelFacts, getTokenUsageRows } from './span-token-usage.utils';\nimport { SpanTypeBadge } from './span-type-badge';\nimport { ProviderLogo } from '@/domains/llm';\nimport { Badge } from '@/ds/components/Badge';\nimport { Button } from '@/ds/components/Button';\nimport { CopyButton } from '@/ds/components/CopyButton';\nimport { DataKeysAndValues } from '@/ds/components/DataKeysAndValues';\nimport { DataPanel } from '@/ds/components/DataPanel';\nimport { Notice } from '@/ds/components/Notice';\nimport { Tab, TabList, Tabs } from '@/ds/components/Tabs';\nimport { Tooltip, TooltipContent, TooltipTrigger } from '@/ds/components/Tooltip';\nimport { Txt } from '@/ds/components/Txt';\nimport { Icon } from '@/ds/icons/Icon';\nimport { cn } from '@/lib/utils';\nimport { formatTimestampPrecise } from '@/utils/date-format';\nimport { formatDuration, formatDurationPrecise } from '@/utils/duration';\n\n// Mirrors `DataPanel.Content` without requiring the Drawer root (this view also renders standalone).\n// Sections bleed their hairlines through this padding, so the two must match.\nconst BODY_CLASS = 'min-h-0 flex-1 overflow-y-auto p-3';\n\ntype PayloadView = 'rich' | 'raw';\n\nexport interface SpanDataPanelViewProps {\n traceId: string;\n spanId: string;\n /** Full span record. Caller fetches via useSpanDetail. */\n span: SpanRecord | undefined;\n isLoading?: boolean;\n /** Previous/next buttons show only when one is provided; omit both where a span tree already navigates. */\n onPrevious?: () => void;\n onNext?: () => void;\n /** When provided, an × button in the header closes the span column. */\n onClose?: () => void;\n /**\n * When provided, a \"Go to trace\" button in the header calls it with the span's ids.\n * The caller decides where the trace opens (e.g. its own traces route).\n */\n onShowTrace?: (span: { traceId: string; spanId: string }) => void;\n /** Controls the open tab; the panel keeps its own when omitted. Defaults to Details. */\n activeTab?: SpanTab;\n onTabChange?: (tab: SpanTab) => void;\n /**\n * When provided, a \"Feedback\" tab appears; the slot receives the loaded span and renders\n * whatever feedback UI the consumer wants.\n */\n feedbackTabSlot?: (args: { span: SpanRecord; traceId: string; spanId: string }) => ReactNode;\n /** Optional indicator rendered after the \"Feedback\" tab label (e.g. a needs-review dot). */\n feedbackTabBadge?: ReactNode;\n /** Extra classes for the panel root (e.g. flattening the card when nested in the trace panel). */\n className?: string;\n}\n\n/**\n * The same rows for every span type: what ran and how long it took, then the tabs. The body is flat:\n * the tab says what it holds, so the payload isn't wrapped in a titled card again. The open tab and the\n * Preview/JSON choice are kept when another span is selected, so stepping through spans compares like for like.\n */\nexport function SpanDataPanelView({\n traceId,\n spanId,\n span,\n isLoading,\n onPrevious,\n onNext,\n onClose,\n onShowTrace,\n activeTab,\n onTabChange,\n feedbackTabSlot,\n feedbackTabBadge,\n className,\n}: SpanDataPanelViewProps) {\n const [ownTab, setOwnTab] = useState<SpanTab>('details');\n const [view, setView] = useState<PayloadView>('rich');\n\n const requested = activeTab ?? ownTab;\n // A feedback tab asked for by the URL means nothing where the consumer offers no feedback.\n const tab = requested === 'feedback' && !feedbackTabSlot ? 'details' : requested;\n const changeTab = (next: SpanTab) => {\n setOwnTab(next);\n onTabChange?.(next);\n };\n\n const tabs: Array<{ value: SpanTab; name: string; icon: ReactNode; attention?: boolean; badge?: ReactNode }> = [\n { value: 'details', name: 'Details', icon: <InfoIcon /> },\n { value: 'input', name: 'Input', icon: <FileInputIcon /> },\n { value: 'output', name: 'Output', icon: <FileOutputIcon />, attention: span?.error != null },\n ...(feedbackTabSlot\n ? [{ value: 'feedback' as const, name: 'Feedback', icon: <MessageSquareReplyIcon />, badge: feedbackTabBadge }]\n : []),\n ];\n\n const headingId = useId();\n\n // Not a DataPanel: this is the span column rendered inside `TraceDataPanelView`,\n // which already provides the panel chrome.\n return (\n <section\n aria-labelledby={headingId}\n data-slot=\"span-data-panel\"\n className={cn('flex min-h-0 flex-1 flex-col overflow-hidden', className)}\n >\n <DataPanel.Header className=\"flex-nowrap\">\n {span ? (\n <SpanIdentity span={span} headingId={headingId} />\n ) : (\n <DataPanel.HeaderContent>\n <DataPanel.Heading>\n <span id={headingId}>Span</span>\n </DataPanel.Heading>\n </DataPanel.HeaderContent>\n )}\n <DataPanel.HeaderActions>\n {onShowTrace && (\n <Button\n size=\"icon-sm\"\n variant=\"ghost\"\n aria-label=\"Go to trace\"\n tooltip=\"Go to trace\"\n className=\"shrink-0\"\n onClick={() => onShowTrace({ traceId, spanId })}\n >\n <ExternalLinkIcon />\n </Button>\n )}\n {(onPrevious || onNext) && (\n <DataPanel.NextPrevNav\n onPrevious={onPrevious}\n onNext={onNext}\n previousLabel=\"Go to previous span\"\n nextLabel=\"Go to next span\"\n />\n )}\n {onClose && <DataPanel.CloseButton icon=\"x\" onClick={onClose} label=\"Close span\" tooltip=\"Close span\" />}\n </DataPanel.HeaderActions>\n </DataPanel.Header>\n\n {isLoading ? (\n <DataPanel.LoadingData>Loading span details...</DataPanel.LoadingData>\n ) : !span ? (\n <DataPanel.NoData>Span not found.</DataPanel.NoData>\n ) : (\n <>\n <Tabs<SpanTab> defaultTab=\"details\" value={tab} onValueChange={changeTab}>\n <DataPanel.Header className=\"flex-nowrap border-b border-surface-rim\">\n <div className=\"min-w-0 flex-1\">\n <TabList variant=\"pill-ghost\" size=\"sm\">\n {tabs.map(item => (\n <Tab key={item.value} value={item.value} attention={item.attention}>\n <Icon size=\"xs\">{item.icon}</Icon>\n <span>{item.name}</span>\n {item.badge != null && <> ({item.badge})</>}\n </Tab>\n ))}\n </TabList>\n </div>\n </DataPanel.Header>\n </Tabs>\n\n <div role=\"tabpanel\" aria-label={tabs.find(item => item.value === tab)?.name} className={BODY_CLASS}>\n {tab === 'details' && <DetailsTab traceId={traceId} span={span} />}\n {tab === 'input' && <InputTab span={span} view={view} onViewChange={setView} />}\n {tab === 'output' && <OutputTab span={span} view={view} onViewChange={setView} />}\n {tab === 'feedback' && feedbackTabSlot?.({ span, traceId, spanId })}\n </div>\n </>\n )}\n </section>\n );\n}\n\n/* ------------------------------------------------------------------------------------------------\n * Header\n * ---------------------------------------------------------------------------------------------- */\n\nfunction getProcessorInput(span: SpanRecord) {\n if (getSpanSignal(span)) return undefined;\n const input = describeSpanInput(asCoreSpan(span));\n return input?.type === 'processor' ? input.value : undefined;\n}\n\n/** How many times a processor re-ran this step. Zero, the normal case, is not worth showing. */\nfunction getRetryCount(span: SpanRecord) {\n const data: Record<string, unknown> = getProcessorInput(span)?.data ?? {};\n const retryCount = data.retryCount;\n return typeof retryCount === 'number' && retryCount > 0 ? retryCount : 0;\n}\n\n/**\n * What ran and how long it took, on one row. Only the unusual is called out: a failure, a span still\n * running, or a processor that had to retry. A normal success says nothing extra.\n */\nfunction SpanIdentity({ span, headingId }: { span: SpanRecord; headingId: string }) {\n const durationMs = getSpanDurationMs(span.startedAt, span.endedAt);\n const retries = getRetryCount(span);\n\n return (\n <div className=\"flex min-w-0 flex-1 items-center gap-2 pl-1\">\n {/* Same type mark as the span's row in the trace tree, processors included. */}\n <SpanTypeBadge type={span.spanType ?? ''} spanUI={getSpanTypeUi(span.spanType ?? '')} />\n <Tooltip>\n <TooltipTrigger\n render={\n <Txt id={headingId} as=\"h2\" variant=\"card-title-strong\" className=\"min-w-0 truncate\">\n {getModelFacts(span).model ?? span.entityName ?? span.name}\n </Txt>\n }\n />\n <TooltipContent>{span.name}</TooltipContent>\n </Tooltip>\n <Tooltip>\n <TooltipTrigger\n render={\n <Txt as=\"span\" variant=\"body-sm\" tone=\"muted\" className=\"shrink-0 cursor-help tabular-nums\" tabIndex={0}>\n {durationMs == null ? 'Running' : formatDuration(durationMs)}\n </Txt>\n }\n />\n <TooltipContent>\n {durationMs == null ? 'Still running' : `Duration ${formatDurationPrecise(durationMs)}`}\n </TooltipContent>\n </Tooltip>\n {span.error != null && (\n <Badge size=\"xs\" variant=\"destructive\" className=\"shrink-0\">\n Failed\n </Badge>\n )}\n {retries > 0 && (\n <Badge size=\"xs\" variant=\"warning\" className=\"shrink-0 tabular-nums\">\n {retries === 1 ? 'Retried once' : `Retried ${retries}×`}\n </Badge>\n )}\n </div>\n );\n}\n\n/* ------------------------------------------------------------------------------------------------\n * Tab bodies\n * ---------------------------------------------------------------------------------------------- */\n\ntype PayloadTabProps = { span: SpanRecord; view: PayloadView; onViewChange: (view: PayloadView) => void };\n\n/**\n * Processor input keys the preview leaves out: tools have their own section, retries are a header badge,\n * and the step number repeats the `step › N` parent the span sits under in the tree.\n */\nconst PROCESSOR_INPUT_HIDDEN = ['tools', 'toolChoice', 'retryCount', 'stepNumber'];\n\nfunction InputTab({ span, view, onViewChange }: PayloadTabProps) {\n const tools = getSpanTools(span);\n const processorInput = getProcessorInput(span);\n return (\n <Stack>\n <Payload\n label=\"Input\"\n raw={span.input}\n hasPreview={hasSpanInputPreview(span, PROCESSOR_INPUT_HIDDEN)}\n view={view}\n onViewChange={onViewChange}\n empty=\"No input recorded.\"\n >\n {processorInput ? (\n <SpanPayloadProcessor value={processorInput} hidden={PROCESSOR_INPUT_HIDDEN} />\n ) : (\n <SpanInputRenderer span={span} />\n )}\n </Payload>\n {tools && (\n <Section title=\"Available tools\" count={tools.tools.length}>\n <SpanToolList tools={tools.tools} />\n </Section>\n )}\n </Stack>\n );\n}\n\nfunction OutputTab({ span, view, onViewChange }: PayloadTabProps) {\n const output = getSpanOutputPayload(span);\n return (\n <Stack>\n <SpanProblem span={span} />\n {isTokenLimitExceeded(span) && (\n <Notice variant=\"warning\" title=\"Token Limit Exceeded\">\n <Notice.Message>{getTokenLimitMessage(span)}</Notice.Message>\n </Notice>\n )}\n {(output != null || span.error == null) && (\n <Payload\n label=\"Output\"\n raw={output}\n hasPreview={hasSpanOutputPreview(span)}\n view={view}\n onViewChange={onViewChange}\n empty=\"No output recorded.\"\n >\n <SpanOutputRenderer span={span} />\n </Payload>\n )}\n <ToolCalls span={span} />\n </Stack>\n );\n}\n\n/** Everything looked up rather than read, grouped the same way for every span type. */\nfunction DetailsTab({ traceId, span }: { traceId: string; span: SpanRecord }) {\n const { model, provider, finishReason, firstToken, speed } = getModelFacts(span);\n // oxlint-disable-next-line typescript/no-unnecessary-type-assertion -- Built SDK declarations type attributes.usage as unknown.\n const usage = span.attributes?.usage as UsageStats | undefined;\n const hasModel = Boolean(model || finishReason || firstToken || speed);\n const durationMs = getSpanDurationMs(span.startedAt, span.endedAt);\n const ids: Array<[string, string | null | undefined]> = [\n ['Span', span.spanId],\n ['Trace', traceId],\n ['Parent span', span.parentSpanId],\n ['Run', span.runId],\n ['Session', span.sessionId],\n ['Thread', span.threadId],\n ['Request', span.requestId],\n ['User', span.userId],\n ['Organization', span.organizationId],\n ['Experiment', span.experimentId],\n ];\n\n return (\n <Stack>\n <PromptSection span={span} />\n\n {hasModel && (\n <Section title=\"Model\">\n <DataKeysAndValues>\n {model && (\n <Row label=\"Model\">\n <span className=\"inline-flex min-w-0 items-center gap-1.5\">\n {provider && <ProviderLogo providerId={provider} size=\"xs\" />}\n <span className=\"truncate\">{model}</span>\n </span>\n </Row>\n )}\n {provider && <Row label=\"Provider\">{provider}</Row>}\n {finishReason && <Row label=\"Finish reason\">{finishReason}</Row>}\n {firstToken && <Row label=\"First token\">{firstToken}</Row>}\n {speed && <Row label=\"Speed\">{speed}</Row>}\n </DataKeysAndValues>\n </Section>\n )}\n\n {usage && getTokenUsageRows(usage) && (\n <Section title=\"Token usage\">\n <SpanTokenUsage usage={usage} />\n </Section>\n )}\n\n <Section title=\"Timing\">\n <DataKeysAndValues>\n <Row label=\"Started\">{formatTimestampPrecise(span.startedAt)}</Row>\n {span.endedAt && <Row label=\"Ended\">{formatTimestampPrecise(span.endedAt)}</Row>}\n {durationMs != null && <Row label=\"Duration\">{formatDurationPrecise(durationMs)}</Row>}\n </DataKeysAndValues>\n </Section>\n\n <Section title=\"Identifiers\">\n <DataKeysAndValues>\n {ids.map(([label, value]) => (value ? <IdRow key={label} label={label} value={value} /> : null))}\n {span.tags && span.tags.length > 0 && (\n <Row label=\"Tags\">\n <span className=\"flex flex-wrap gap-1\">\n {span.tags.map(tag => (\n <Badge key={tag} size=\"xs\" variant=\"neutral\" emphasis=\"subtle\">\n {tag}\n </Badge>\n ))}\n </span>\n </Row>\n )}\n </DataKeysAndValues>\n </Section>\n\n <JsonSection title=\"Metadata\" value={span.metadata} />\n <JsonSection title=\"Attributes\" value={span.attributes} />\n </Stack>\n );\n}\n\n/**\n * What this span changed in the request, from its own recorded changes, as diff cards. Changes made\n * after the model answered get a short note: they can't have shaped this request. Nothing is shown\n * when the span changed nothing.\n */\nfunction PromptSection({ span }: { span: SpanRecord }) {\n if (getPromptChanges(span).length === 0) return null;\n\n return (\n <Section title=\"Prompt\">\n {runsAfterModel(span) && (\n <Txt as=\"p\" variant=\"body-sm\" tone=\"muted\">\n Ran after the model answered: its changes are kept for later turns and could not shape this request.\n </Txt>\n )}\n <SpanPromptChanges span={span} />\n </Section>\n );\n}\n\n/** Why the span failed or stopped, above whatever output it still produced. */\nfunction SpanProblem({ span }: { span: SpanRecord }) {\n const outcome = getSpanOutcome(span);\n if (outcome?.tone !== 'error' && outcome?.tone !== 'warning') return null;\n if (span.error != null) {\n return (\n <Notice variant=\"destructive\" icon={<CircleXIcon />} title={<h3>{outcome.headline}</h3>}>\n <SpanErrorDetails span={span} />\n </Notice>\n );\n }\n // A tripwire leaves no error: its reason is the only account of why the run stopped.\n const tripwire = describeProcessorPipeline(asCoreSpan(span))?.tripwireAbort;\n if (!tripwire) return <SpanOutcomeSummary outcome={outcome} showDetail />;\n return (\n <Notice variant=\"destructive\" icon={<CircleXIcon />} title={<h3>{outcome.headline}</h3>}>\n {tripwire.reason && <p className=\"break-words whitespace-pre-wrap\">{tripwire.reason}</p>}\n {tripwire.retry !== undefined && (\n <Txt as=\"p\" variant=\"body-sm\" tone=\"muted\">\n {tripwire.retry ? 'The model was asked to retry.' : 'Not retried.'}\n </Txt>\n )}\n </Notice>\n );\n}\n\nfunction ToolCalls({ span }: { span: SpanRecord }) {\n const toolCalls = useSpanToolCalls(span);\n if (toolCalls.length === 0) return null;\n return (\n <Section title=\"Tool calls\" count={toolCalls.length}>\n <SpanToolCallList toolCalls={toolCalls} />\n </Section>\n );\n}\n\n/* ------------------------------------------------------------------------------------------------\n * Building blocks\n * ---------------------------------------------------------------------------------------------- */\n\nfunction Stack({ children }: { children: ReactNode }) {\n return <div className=\"grid min-w-0 content-start gap-4\">{children}</div>;\n}\n\n/**\n * A hairline and a small heading between groups, instead of a titled card around each one.\n * The hairline runs edge to edge: it bleeds through the body padding.\n */\nfunction Section({\n title,\n label = title,\n count,\n children,\n}: {\n title?: string;\n /** Names the region for assistive tech when the heading is rendered by the children. */\n label?: string;\n count?: number;\n children: ReactNode;\n}) {\n return (\n <section\n aria-label={label}\n className=\"-mx-3 grid min-w-0 gap-3 border-t border-surface-rim px-3 pt-4 first:border-t-0 first:pt-0\"\n >\n {title && (\n <DataPanel.SectionHeading>\n {title}\n {count != null && <span className=\"tabular-nums\"> · {count}</span>}\n </DataPanel.SectionHeading>\n )}\n {children}\n </section>\n );\n}\n\n/**\n * Stored JSON that is rarely why someone opened the span. The heading always shows; the block opens\n * folded on its root, and unfolding it shows the top-level keys with their values still folded, so it\n * collapses through the code block's own fold markers instead of a second disclosure around it.\n */\nfunction JsonSection({ title, value }: { title: string; value: unknown }) {\n if (value == null || (typeof value === 'object' && Object.keys(value).length === 0)) return null;\n return (\n <Section label={title}>\n <div className=\"flex min-w-0 items-center justify-between gap-2\">\n <DataPanel.SectionHeading>{title}</DataPanel.SectionHeading>\n <CopyButton\n content={JSON.stringify(value, null, 2)}\n copyMessage={`${title} copied`}\n tooltip={`Copy ${title.toLowerCase()} as JSON`}\n variant=\"ghost\"\n />\n </div>\n <SpanPayloadJson value={value} foldRoot foldNested />\n </Section>\n );\n}\n\n/**\n * The payload, unframed. Its Preview/JSON switch and copy sit on a small toolbar inside the tab,\n * right above what they act on, so the tab bar stays the same for every tab.\n */\nfunction Payload({\n label,\n raw,\n hasPreview,\n view,\n onViewChange,\n empty,\n children,\n}: {\n label: string;\n raw: unknown;\n hasPreview: boolean;\n view: PayloadView;\n onViewChange: (view: PayloadView) => void;\n empty: string;\n children: ReactNode;\n}) {\n if (raw == null) {\n return (\n <Txt variant=\"body-sm\" tone=\"muted\">\n {empty}\n </Txt>\n );\n }\n const shown = hasPreview ? view : 'raw';\n return (\n <div role=\"group\" aria-label={label} data-view={shown} className=\"grid min-w-0 gap-3\">\n <div className=\"flex items-center justify-end gap-1\">\n {hasPreview && (\n <Button\n variant=\"ghost\"\n size=\"icon-sm\"\n aria-pressed={view === 'raw'}\n tooltip={view === 'raw' ? `Show ${label.toLowerCase()} preview` : `Show ${label.toLowerCase()} as JSON`}\n onClick={() => onViewChange(view === 'raw' ? 'rich' : 'raw')}\n >\n {view === 'raw' ? <EyeIcon /> : <BracesIcon />}\n </Button>\n )}\n <CopyButton\n content={JSON.stringify(raw, null, 2)}\n copyMessage={`${label} copied`}\n tooltip={`Copy ${label.toLowerCase()} as JSON`}\n variant=\"ghost\"\n />\n </div>\n <div className=\"min-w-0 [&_[data-slot=message]]:my-0\">\n {shown === 'rich' ? children : <SpanPayloadJson value={raw} foldNested />}\n </div>\n </div>\n );\n}\n\nfunction Row({ label, children }: { label: string; children: ReactNode }) {\n return (\n <>\n <DataKeysAndValues.Key>{label}</DataKeysAndValues.Key>\n <DataKeysAndValues.Value>{children}</DataKeysAndValues.Value>\n </>\n );\n}\n\nfunction IdRow({ label, value }: { label: string; value: string }) {\n return (\n <>\n <DataKeysAndValues.Key>{label}</DataKeysAndValues.Key>\n <DataKeysAndValues.ValueWithCopyBtn copyTooltip={`Copy ${label} id`} copyValue={value}>\n {value}\n </DataKeysAndValues.ValueWithCopyBtn>\n </>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"span-data-panel-view.es.js","names":["_Fragment"],"sources":["../../../../src/domains/traces/components/span-data-panel-view.tsx"],"sourcesContent":["import { describeProcessorPipeline, describeSpanInput } from '@mastra/core/observability';\nimport type { UsageStats } from '@mastra/core/observability';\nimport {\n BracesIcon,\n CircleXIcon,\n ExternalLinkIcon,\n EyeIcon,\n FileInputIcon,\n FileOutputIcon,\n InfoIcon,\n MessageSquareReplyIcon,\n} from 'lucide-react';\nimport { useId, useState } from 'react';\nimport type { ReactNode } from 'react';\nimport type { SpanRecord, SpanTab } from '../types';\nimport { getSpanSignal } from '../utils/span-signal';\nimport { getSpanDurationMs, getTokenLimitMessage, isTokenLimitExceeded } from '../utils/span-utils';\nimport { getSpanTypeUi } from './shared';\nimport { SpanOutcomeSummary } from './span-outcome';\nimport { getSpanOutcome } from './span-outcome.utils';\nimport {\n SpanErrorDetails,\n SpanInputRenderer,\n SpanOutputRenderer,\n SpanPayloadJson,\n SpanPayloadProcessor,\n getSpanOutputPayload,\n hasSpanInputPreview,\n hasSpanOutputPreview,\n} from './span-payload';\nimport { asCoreSpan, getSpanTools } from './span-payload/span-payload-registry';\nimport { SpanToolCallList, SpanToolList } from './span-payload/span-tools-section';\nimport { useSpanToolCalls } from './span-payload/use-span-tool-calls';\nimport { SpanPromptChanges } from './span-prompt-changes';\nimport { getPromptChanges, runsAfterModel } from './span-prompt-impact';\nimport { SpanTokenUsage } from './span-token-usage';\nimport { getModelFacts, getTokenUsageRows } from './span-token-usage.utils';\nimport { SpanTypeBadge } from './span-type-badge';\nimport { ProviderLogo } from '@/domains/llm';\nimport { Badge } from '@/ds/components/Badge';\nimport { Button } from '@/ds/components/Button';\nimport { CopyButton } from '@/ds/components/CopyButton';\nimport { DataKeysAndValues } from '@/ds/components/DataKeysAndValues';\nimport { DataPanel } from '@/ds/components/DataPanel';\nimport { Notice } from '@/ds/components/Notice';\nimport { Tab, TabList, Tabs } from '@/ds/components/Tabs';\nimport { Tooltip, TooltipContent, TooltipTrigger } from '@/ds/components/Tooltip';\nimport { Txt } from '@/ds/components/Txt';\nimport { Icon } from '@/ds/icons/Icon';\nimport { cn } from '@/lib/utils';\nimport { formatTimestampPrecise } from '@/utils/date-format';\nimport { formatDuration, formatDurationPrecise } from '@/utils/duration';\n\n// Mirrors `DataPanel.Content` without requiring the Drawer root (this view also renders standalone).\n// Sections bleed their hairlines through this padding, so the two must match.\nconst BODY_CLASS = 'min-h-0 flex-1 overflow-y-auto p-3';\n\ntype PayloadView = 'rich' | 'raw';\n\nexport interface SpanDataPanelViewProps {\n traceId: string;\n spanId: string;\n /** Full span record. Caller fetches via useSpanDetail. */\n span: SpanRecord | undefined;\n isLoading?: boolean;\n /** Previous/next buttons show only when one is provided; omit both where a span tree already navigates. */\n onPrevious?: () => void;\n onNext?: () => void;\n /** When provided, an × button in the header closes the span column. */\n onClose?: () => void;\n /**\n * When provided, a \"Go to trace\" button in the header calls it with the span's ids.\n * The caller decides where the trace opens (e.g. its own traces route).\n */\n onShowTrace?: (span: { traceId: string; spanId: string }) => void;\n /** Controls the open tab; the panel keeps its own when omitted. Defaults to Details. */\n activeTab?: SpanTab;\n onTabChange?: (tab: SpanTab) => void;\n /**\n * When provided, a \"Feedback\" tab appears; the slot receives the loaded span and renders\n * whatever feedback UI the consumer wants.\n */\n feedbackTabSlot?: (args: { span: SpanRecord; traceId: string; spanId: string }) => ReactNode;\n /** Optional indicator rendered after the \"Feedback\" tab label (e.g. a needs-review dot). */\n feedbackTabBadge?: ReactNode;\n /** Extra classes for the panel root (e.g. flattening the card when nested in the trace panel). */\n className?: string;\n}\n\n/**\n * The same rows for every span type: what ran and how long it took, then the tabs. The body is flat:\n * the tab says what it holds, so the payload isn't wrapped in a titled card again. The open tab and the\n * Preview/JSON choice are kept when another span is selected, so stepping through spans compares like for like.\n */\nexport function SpanDataPanelView({\n traceId,\n spanId,\n span,\n isLoading,\n onPrevious,\n onNext,\n onClose,\n onShowTrace,\n activeTab,\n onTabChange,\n feedbackTabSlot,\n feedbackTabBadge,\n className,\n}: SpanDataPanelViewProps) {\n const [ownTab, setOwnTab] = useState<SpanTab>('details');\n const [view, setView] = useState<PayloadView>('rich');\n\n const requested = activeTab ?? ownTab;\n // A feedback tab asked for by the URL means nothing where the consumer offers no feedback.\n const tab = requested === 'feedback' && !feedbackTabSlot ? 'details' : requested;\n const changeTab = (next: SpanTab) => {\n setOwnTab(next);\n onTabChange?.(next);\n };\n\n const tabs: Array<{ value: SpanTab; name: string; icon: ReactNode; attention?: boolean; badge?: ReactNode }> = [\n { value: 'details', name: 'Details', icon: <InfoIcon /> },\n { value: 'input', name: 'Input', icon: <FileInputIcon /> },\n { value: 'output', name: 'Output', icon: <FileOutputIcon />, attention: span?.error != null },\n ...(feedbackTabSlot\n ? [{ value: 'feedback' as const, name: 'Feedback', icon: <MessageSquareReplyIcon />, badge: feedbackTabBadge }]\n : []),\n ];\n\n const headingId = useId();\n\n // Not a DataPanel: this is the span column rendered inside `TraceDataPanelView`,\n // which already provides the panel chrome.\n return (\n <section\n aria-labelledby={headingId}\n data-slot=\"span-data-panel\"\n className={cn('flex min-h-0 flex-1 flex-col overflow-hidden', className)}\n >\n <DataPanel.Header className=\"flex-nowrap\">\n {span ? (\n <SpanIdentity span={span} headingId={headingId} />\n ) : (\n <DataPanel.HeaderContent>\n <DataPanel.Heading>\n <span id={headingId}>Span</span>\n </DataPanel.Heading>\n </DataPanel.HeaderContent>\n )}\n <DataPanel.HeaderActions>\n {onShowTrace && (\n <Button\n size=\"icon-sm\"\n variant=\"ghost\"\n aria-label=\"Go to trace\"\n tooltip=\"Go to trace\"\n className=\"shrink-0\"\n onClick={() => onShowTrace({ traceId, spanId })}\n >\n <ExternalLinkIcon />\n </Button>\n )}\n {(onPrevious || onNext) && (\n <DataPanel.NextPrevNav\n onPrevious={onPrevious}\n onNext={onNext}\n previousLabel=\"Go to previous span\"\n nextLabel=\"Go to next span\"\n />\n )}\n {onClose && <DataPanel.CloseButton icon=\"x\" onClick={onClose} label=\"Close span\" tooltip=\"Close span\" />}\n </DataPanel.HeaderActions>\n </DataPanel.Header>\n\n {isLoading ? (\n <DataPanel.LoadingData>Loading span details...</DataPanel.LoadingData>\n ) : !span ? (\n <DataPanel.NoData>Span not found.</DataPanel.NoData>\n ) : (\n <>\n <Tabs<SpanTab> defaultTab=\"details\" value={tab} onValueChange={changeTab}>\n <DataPanel.Header className=\"flex-nowrap border-b border-surface-rim\">\n <div className=\"min-w-0 flex-1\">\n <TabList variant=\"pill-ghost\" size=\"sm\">\n {tabs.map(item => (\n <Tab key={item.value} value={item.value} attention={item.attention}>\n <Icon size=\"xs\">{item.icon}</Icon>\n <span>{item.name}</span>\n {item.badge != null && <> ({item.badge})</>}\n </Tab>\n ))}\n </TabList>\n </div>\n </DataPanel.Header>\n </Tabs>\n\n <div role=\"tabpanel\" aria-label={tabs.find(item => item.value === tab)?.name} className={BODY_CLASS}>\n {tab === 'details' && <DetailsTab traceId={traceId} span={span} />}\n {tab === 'input' && <InputTab span={span} view={view} onViewChange={setView} />}\n {tab === 'output' && <OutputTab span={span} view={view} onViewChange={setView} />}\n {tab === 'feedback' && feedbackTabSlot?.({ span, traceId, spanId })}\n </div>\n </>\n )}\n </section>\n );\n}\n\n/* ------------------------------------------------------------------------------------------------\n * Header\n * ---------------------------------------------------------------------------------------------- */\n\nfunction getProcessorInput(span: SpanRecord) {\n if (getSpanSignal(span)) return undefined;\n const input = describeSpanInput(asCoreSpan(span));\n return input?.type === 'processor' ? input.value : undefined;\n}\n\n/** How many times a processor re-ran this step. Zero, the normal case, is not worth showing. */\nfunction getRetryCount(span: SpanRecord) {\n const data: Record<string, unknown> = getProcessorInput(span)?.data ?? {};\n const retryCount = data.retryCount;\n return typeof retryCount === 'number' && retryCount > 0 ? retryCount : 0;\n}\n\n/**\n * What ran and how long it took, on one row. Only the unusual is called out: a failure, a span still\n * running, or a processor that had to retry. A normal success says nothing extra.\n */\nfunction SpanIdentity({ span, headingId }: { span: SpanRecord; headingId: string }) {\n const durationMs = getSpanDurationMs(span.startedAt, span.endedAt);\n const retries = getRetryCount(span);\n\n return (\n <div className=\"flex min-w-0 flex-1 items-center gap-2 pl-1\">\n {/* Same type mark as the span's row in the trace tree, processors included. */}\n <SpanTypeBadge type={span.spanType ?? ''} spanUI={getSpanTypeUi(span.spanType ?? '')} />\n <Tooltip>\n <TooltipTrigger\n render={\n <Txt id={headingId} as=\"h2\" variant=\"card-title-strong\" className=\"min-w-0 truncate\">\n {getModelFacts(span).model ?? span.entityName ?? span.name}\n </Txt>\n }\n />\n <TooltipContent>{span.name}</TooltipContent>\n </Tooltip>\n <Tooltip>\n <TooltipTrigger\n render={\n <Txt as=\"span\" variant=\"body-sm\" tone=\"muted\" className=\"shrink-0 cursor-help tabular-nums\" tabIndex={0}>\n {durationMs == null ? 'Running' : formatDuration(durationMs)}\n </Txt>\n }\n />\n <TooltipContent>\n {durationMs == null ? 'Still running' : `Duration ${formatDurationPrecise(durationMs)}`}\n </TooltipContent>\n </Tooltip>\n {span.error != null && (\n <Badge size=\"xs\" variant=\"destructive\" className=\"shrink-0\">\n Failed\n </Badge>\n )}\n {retries > 0 && (\n <Badge size=\"xs\" variant=\"warning\" className=\"shrink-0 tabular-nums\">\n {retries === 1 ? 'Retried once' : `Retried ${retries}×`}\n </Badge>\n )}\n </div>\n );\n}\n\n/* ------------------------------------------------------------------------------------------------\n * Tab bodies\n * ---------------------------------------------------------------------------------------------- */\n\ntype PayloadTabProps = { span: SpanRecord; view: PayloadView; onViewChange: (view: PayloadView) => void };\n\n/**\n * Processor input keys the preview leaves out: tools have their own section, retries are a header badge,\n * and the step number repeats the `step › N` parent the span sits under in the tree.\n */\nconst PROCESSOR_INPUT_HIDDEN = ['tools', 'toolChoice', 'retryCount', 'stepNumber'];\n\nfunction InputTab({ span, view, onViewChange }: PayloadTabProps) {\n const tools = getSpanTools(span);\n const processorInput = getProcessorInput(span);\n return (\n <Stack>\n <Payload\n label=\"Input\"\n raw={span.input}\n hasPreview={hasSpanInputPreview(span, PROCESSOR_INPUT_HIDDEN)}\n view={view}\n onViewChange={onViewChange}\n empty=\"No input recorded.\"\n >\n {processorInput ? (\n <SpanPayloadProcessor value={processorInput} hidden={PROCESSOR_INPUT_HIDDEN} />\n ) : (\n <SpanInputRenderer span={span} />\n )}\n </Payload>\n {tools && (\n <Section title=\"Available tools\" count={tools.tools.length}>\n <SpanToolList tools={tools.tools} />\n </Section>\n )}\n </Stack>\n );\n}\n\nfunction OutputTab({ span, view, onViewChange }: PayloadTabProps) {\n const output = getSpanOutputPayload(span);\n return (\n <Stack>\n <SpanProblem span={span} />\n {isTokenLimitExceeded(span) && (\n <Notice variant=\"warning\" title=\"Token Limit Exceeded\">\n <Notice.Message>{getTokenLimitMessage(span)}</Notice.Message>\n </Notice>\n )}\n {(output != null || span.error == null) && (\n <Payload\n label=\"Output\"\n raw={output}\n hasPreview={hasSpanOutputPreview(span)}\n view={view}\n onViewChange={onViewChange}\n empty=\"No output recorded.\"\n >\n <SpanOutputRenderer span={span} />\n </Payload>\n )}\n <ToolCalls span={span} />\n </Stack>\n );\n}\n\n/** Everything looked up rather than read, grouped the same way for every span type. */\nfunction DetailsTab({ traceId, span }: { traceId: string; span: SpanRecord }) {\n const { finishReason, firstToken, speed, ...facts } = getModelFacts(span);\n // Agent runs and model steps record the model they ran natively, not only model-call spans.\n const model = span.model || facts.model;\n const provider = span.provider || facts.provider;\n // oxlint-disable-next-line typescript/no-unnecessary-type-assertion -- Built SDK declarations type attributes.usage as unknown.\n const usage = span.attributes?.usage as UsageStats | undefined;\n const hasModel = Boolean(model || provider || finishReason || firstToken || speed);\n const durationMs = getSpanDurationMs(span.startedAt, span.endedAt);\n const ids: Array<[string, string | null | undefined]> = [\n ['Span', span.spanId],\n ['Trace', traceId],\n ['Parent span', span.parentSpanId],\n ['Run', span.runId],\n ['Session', span.sessionId],\n ['Thread', span.threadId],\n ['Request', span.requestId],\n ['User', span.userId],\n ['Organization', span.organizationId],\n ['Experiment', span.experimentId],\n ];\n\n return (\n <Stack>\n <PromptSection span={span} />\n\n {hasModel && (\n <Section title=\"Model\">\n <DataKeysAndValues>\n {model && (\n <Row label=\"Model\">\n <span className=\"inline-flex min-w-0 items-center gap-1.5\">\n {provider && <ProviderLogo providerId={provider} size=\"xs\" />}\n <span className=\"truncate\">{model}</span>\n </span>\n </Row>\n )}\n {provider && <Row label=\"Provider\">{provider}</Row>}\n {finishReason && <Row label=\"Finish reason\">{finishReason}</Row>}\n {firstToken && <Row label=\"First token\">{firstToken}</Row>}\n {speed && <Row label=\"Speed\">{speed}</Row>}\n </DataKeysAndValues>\n </Section>\n )}\n\n {usage && getTokenUsageRows(usage) && (\n <Section title=\"Token usage\">\n <SpanTokenUsage usage={usage} />\n </Section>\n )}\n\n <Section title=\"Timing\">\n <DataKeysAndValues>\n <Row label=\"Started\">{formatTimestampPrecise(span.startedAt)}</Row>\n {span.endedAt && <Row label=\"Ended\">{formatTimestampPrecise(span.endedAt)}</Row>}\n {durationMs != null && <Row label=\"Duration\">{formatDurationPrecise(durationMs)}</Row>}\n {span.timeToFirstChunkMs != null && (\n <Row label=\"Time to first chunk\">{formatDurationPrecise(span.timeToFirstChunkMs)}</Row>\n )}\n {span.timeToFirstTokenMs != null && (\n <Row label=\"Time to first token\">{formatDurationPrecise(span.timeToFirstTokenMs)}</Row>\n )}\n </DataKeysAndValues>\n </Section>\n\n <Section title=\"Identifiers\">\n <DataKeysAndValues>\n {ids.map(([label, value]) => (value ? <IdRow key={label} label={label} value={value} /> : null))}\n {span.tags && span.tags.length > 0 && (\n <Row label=\"Tags\">\n <span className=\"flex flex-wrap gap-1\">\n {span.tags.map(tag => (\n <Badge key={tag} size=\"xs\" variant=\"neutral\" emphasis=\"subtle\">\n {tag}\n </Badge>\n ))}\n </span>\n </Row>\n )}\n </DataKeysAndValues>\n </Section>\n\n <JsonSection title=\"Metadata\" value={span.metadata} />\n <JsonSection title=\"Attributes\" value={span.attributes} />\n </Stack>\n );\n}\n\n/**\n * What this span changed in the request, from its own recorded changes, as diff cards. Changes made\n * after the model answered get a short note: they can't have shaped this request. Nothing is shown\n * when the span changed nothing.\n */\nfunction PromptSection({ span }: { span: SpanRecord }) {\n if (getPromptChanges(span).length === 0) return null;\n\n return (\n <Section title=\"Prompt\">\n {runsAfterModel(span) && (\n <Txt as=\"p\" variant=\"body-sm\" tone=\"muted\">\n Ran after the model answered: its changes are kept for later turns and could not shape this request.\n </Txt>\n )}\n <SpanPromptChanges span={span} />\n </Section>\n );\n}\n\n/** Why the span failed or stopped, above whatever output it still produced. */\nfunction SpanProblem({ span }: { span: SpanRecord }) {\n const outcome = getSpanOutcome(span);\n if (outcome?.tone !== 'error' && outcome?.tone !== 'warning') return null;\n if (span.error != null) {\n return (\n <Notice variant=\"destructive\" icon={<CircleXIcon />} title={<h3>{outcome.headline}</h3>}>\n <SpanErrorDetails span={span} />\n </Notice>\n );\n }\n // A tripwire leaves no error: its reason is the only account of why the run stopped.\n const tripwire = describeProcessorPipeline(asCoreSpan(span))?.tripwireAbort;\n if (!tripwire) return <SpanOutcomeSummary outcome={outcome} showDetail />;\n return (\n <Notice variant=\"destructive\" icon={<CircleXIcon />} title={<h3>{outcome.headline}</h3>}>\n {tripwire.reason && <p className=\"break-words whitespace-pre-wrap\">{tripwire.reason}</p>}\n {tripwire.retry !== undefined && (\n <Txt as=\"p\" variant=\"body-sm\" tone=\"muted\">\n {tripwire.retry ? 'The model was asked to retry.' : 'Not retried.'}\n </Txt>\n )}\n </Notice>\n );\n}\n\nfunction ToolCalls({ span }: { span: SpanRecord }) {\n const toolCalls = useSpanToolCalls(span);\n if (toolCalls.length === 0) return null;\n return (\n <Section title=\"Tool calls\" count={toolCalls.length}>\n <SpanToolCallList toolCalls={toolCalls} />\n </Section>\n );\n}\n\n/* ------------------------------------------------------------------------------------------------\n * Building blocks\n * ---------------------------------------------------------------------------------------------- */\n\nfunction Stack({ children }: { children: ReactNode }) {\n return <div className=\"grid min-w-0 content-start gap-4\">{children}</div>;\n}\n\n/**\n * A hairline and a small heading between groups, instead of a titled card around each one.\n * The hairline runs edge to edge: it bleeds through the body padding.\n */\nfunction Section({\n title,\n label = title,\n count,\n children,\n}: {\n title?: string;\n /** Names the region for assistive tech when the heading is rendered by the children. */\n label?: string;\n count?: number;\n children: ReactNode;\n}) {\n return (\n <section\n aria-label={label}\n className=\"-mx-3 grid min-w-0 gap-3 border-t border-surface-rim px-3 pt-4 first:border-t-0 first:pt-0\"\n >\n {title && (\n <DataPanel.SectionHeading>\n {title}\n {count != null && <span className=\"tabular-nums\"> · {count}</span>}\n </DataPanel.SectionHeading>\n )}\n {children}\n </section>\n );\n}\n\n/**\n * Stored JSON that is rarely why someone opened the span. The heading always shows; the block opens\n * folded on its root, and unfolding it shows the top-level keys with their values still folded, so it\n * collapses through the code block's own fold markers instead of a second disclosure around it.\n */\nfunction JsonSection({ title, value }: { title: string; value: unknown }) {\n if (value == null || (typeof value === 'object' && Object.keys(value).length === 0)) return null;\n return (\n <Section label={title}>\n <div className=\"flex min-w-0 items-center justify-between gap-2\">\n <DataPanel.SectionHeading>{title}</DataPanel.SectionHeading>\n <CopyButton\n content={JSON.stringify(value, null, 2)}\n copyMessage={`${title} copied`}\n tooltip={`Copy ${title.toLowerCase()} as JSON`}\n variant=\"ghost\"\n />\n </div>\n <SpanPayloadJson value={value} foldRoot foldNested />\n </Section>\n );\n}\n\n/**\n * The payload, unframed. Its Preview/JSON switch and copy sit on a small toolbar inside the tab,\n * right above what they act on, so the tab bar stays the same for every tab.\n */\nfunction Payload({\n label,\n raw,\n hasPreview,\n view,\n onViewChange,\n empty,\n children,\n}: {\n label: string;\n raw: unknown;\n hasPreview: boolean;\n view: PayloadView;\n onViewChange: (view: PayloadView) => void;\n empty: string;\n children: ReactNode;\n}) {\n if (raw == null) {\n return (\n <Txt variant=\"body-sm\" tone=\"muted\">\n {empty}\n </Txt>\n );\n }\n const shown = hasPreview ? view : 'raw';\n return (\n <div role=\"group\" aria-label={label} data-view={shown} className=\"grid min-w-0 gap-3\">\n <div className=\"flex items-center justify-end gap-1\">\n {hasPreview && (\n <Button\n variant=\"ghost\"\n size=\"icon-sm\"\n aria-pressed={view === 'raw'}\n tooltip={view === 'raw' ? `Show ${label.toLowerCase()} preview` : `Show ${label.toLowerCase()} as JSON`}\n onClick={() => onViewChange(view === 'raw' ? 'rich' : 'raw')}\n >\n {view === 'raw' ? <EyeIcon /> : <BracesIcon />}\n </Button>\n )}\n <CopyButton\n content={JSON.stringify(raw, null, 2)}\n copyMessage={`${label} copied`}\n tooltip={`Copy ${label.toLowerCase()} as JSON`}\n variant=\"ghost\"\n />\n </div>\n <div className=\"min-w-0 [&_[data-slot=message]]:my-0\">\n {shown === 'rich' ? children : <SpanPayloadJson value={raw} foldNested />}\n </div>\n </div>\n );\n}\n\nfunction Row({ label, children }: { label: string; children: ReactNode }) {\n return (\n <>\n <DataKeysAndValues.Key>{label}</DataKeysAndValues.Key>\n <DataKeysAndValues.Value>{children}</DataKeysAndValues.Value>\n </>\n );\n}\n\nfunction IdRow({ label, value }: { label: string; value: string }) {\n return (\n <>\n <DataKeysAndValues.Key>{label}</DataKeysAndValues.Key>\n <DataKeysAndValues.ValueWithCopyBtn copyTooltip={`Copy ${label} id`} copyValue={value}>\n {value}\n </DataKeysAndValues.ValueWithCopyBtn>\n </>\n );\n}\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_string = require("../../../string-CymY0aJ9.cjs");
2
+ const require_string = require("../../../string-DdJJdCv2.cjs");
3
3
  const require_domains_chat_tools_tool_card_kind = require("../../chat/tools/tool-card-kind.cjs.js");
4
4
  const require_domains_traces_utils_span_utils = require("../utils/span-utils.cjs.js");
5
5
  const require_domains_traces_components_format_trace_thread_messages = require("./format-trace-thread-messages.cjs.js");
@@ -1,4 +1,4 @@
1
- import { n as pluralize } from "../../../string-OAgeMRQ5.js";
1
+ import { r as pluralize } from "../../../string-CNKDIc_4.js";
2
2
  import { isHiddenTool } from "../../chat/tools/tool-card-kind.es.js";
3
3
  import { getInputPreview } from "../utils/span-utils.es.js";
4
4
  import { getRequestedToolCalls } from "./format-trace-thread-messages.es.js";
@@ -4,7 +4,7 @@ const require_Notice = require("../../../../Notice-DWNeCe-t.cjs");
4
4
  const require_DataKeysAndValues = require("../../../../DataKeysAndValues-DsH6AbAo.cjs");
5
5
  const require_domains_traces_components_span_payload_span_payload_registry = require("./span-payload-registry.cjs.js");
6
6
  const require_domains_traces_components_span_payload_span_payload_json = require("./span-payload-json.cjs.js");
7
- const require_span_payload_primitives = require("../../../../span-payload-primitives-D3OO0u6u.cjs");
7
+ const require_span_payload_primitives = require("../../../../span-payload-primitives-B10Xxmx7.cjs");
8
8
  let react_jsx_runtime = require("react/jsx-runtime");
9
9
  let _mastra_core_observability = require("@mastra/core/observability");
10
10
  // src/domains/traces/components/span-payload/span-error-renderer.tsx
@@ -3,7 +3,7 @@ import { t as Notice } from "../../../../Notice-CyKngbbv.js";
3
3
  import { t as DataKeysAndValues } from "../../../../DataKeysAndValues-PwOmGxyp.js";
4
4
  import { asCoreSpan } from "./span-payload-registry.es.js";
5
5
  import { SpanPayloadJson } from "./span-payload-json.es.js";
6
- import { t as SpanPayloadCollapsible } from "../../../../span-payload-primitives-DTV7eUY-.js";
6
+ import { t as SpanPayloadCollapsible } from "../../../../span-payload-primitives-Dyhbqaa7.js";
7
7
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
8
8
  import { describeSpanError } from "@mastra/core/observability";
9
9
  // src/domains/traces/components/span-payload/span-error-renderer.tsx
@@ -3,7 +3,7 @@ const require_DataKeysAndValues = require("../../../../DataKeysAndValues-DsH6AbA
3
3
  const require_domains_traces_utils_span_signal = require("../../utils/span-signal.cjs.js");
4
4
  const require_domains_traces_components_span_payload_span_payload_registry = require("./span-payload-registry.cjs.js");
5
5
  const require_domains_traces_components_span_payload_span_payload_json = require("./span-payload-json.cjs.js");
6
- const require_span_payload_primitives = require("../../../../span-payload-primitives-D3OO0u6u.cjs");
6
+ const require_span_payload_primitives = require("../../../../span-payload-primitives-B10Xxmx7.cjs");
7
7
  const require_domains_traces_components_span_payload_span_payload_messages = require("./span-payload-messages.cjs.js");
8
8
  const require_domains_traces_components_span_payload_span_payload_processor = require("./span-payload-processor.cjs.js");
9
9
  let react_jsx_runtime = require("react/jsx-runtime");
@@ -2,7 +2,7 @@ import { t as DataKeysAndValues } from "../../../../DataKeysAndValues-PwOmGxyp.j
2
2
  import { getSpanSignal } from "../../utils/span-signal.es.js";
3
3
  import { asCoreSpan, pickRenderer } from "./span-payload-registry.es.js";
4
4
  import { SpanPayloadJson } from "./span-payload-json.es.js";
5
- import { l as SpanToolNameValue, n as SpanPayloadField, o as SpanPayloadMarkdown } from "../../../../span-payload-primitives-DTV7eUY-.js";
5
+ import { l as SpanToolNameValue, n as SpanPayloadField, o as SpanPayloadMarkdown } from "../../../../span-payload-primitives-Dyhbqaa7.js";
6
6
  import { SpanPayloadMessages, SpanSignal } from "./span-payload-messages.es.js";
7
7
  import { SpanPayloadProcessorInput } from "./span-payload-processor.es.js";
8
8
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
@@ -1,12 +1,12 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_Txt = require("../../../../Txt-BnoSqxKE.cjs");
3
- const require_activity = require("../../../../activity-QyLJcBKc.cjs");
3
+ const require_activity = require("../../../../activity-DAK8tj7r.cjs");
4
4
  const require_Notice = require("../../../../Notice-DWNeCe-t.cjs");
5
5
  const require_DataKeysAndValues = require("../../../../DataKeysAndValues-DsH6AbAo.cjs");
6
6
  const require_domains_traces_components_span_payload_span_payload_registry = require("./span-payload-registry.cjs.js");
7
7
  const require_domains_traces_components_span_payload_span_payload_json = require("./span-payload-json.cjs.js");
8
8
  const require_domains_traces_components_span_payload_span_payload_attachment = require("./span-payload-attachment.cjs.js");
9
- const require_span_payload_primitives = require("../../../../span-payload-primitives-D3OO0u6u.cjs");
9
+ const require_span_payload_primitives = require("../../../../span-payload-primitives-B10Xxmx7.cjs");
10
10
  const require_domains_traces_components_span_payload_span_payload_processor = require("./span-payload-processor.cjs.js");
11
11
  const require_inline_code = require("../../../../inline-code-nhZUg7Zj.cjs");
12
12
  let react_jsx_runtime = require("react/jsx-runtime");
@@ -1,11 +1,11 @@
1
1
  import { t as Txt } from "../../../../Txt-BM6TVV_c.js";
2
- import { n as ReasoningActivity } from "../../../../activity-ihrl0JtH.js";
2
+ import { n as ReasoningActivity } from "../../../../activity-CM34JyW-.js";
3
3
  import { t as Notice } from "../../../../Notice-CyKngbbv.js";
4
4
  import { t as DataKeysAndValues } from "../../../../DataKeysAndValues-PwOmGxyp.js";
5
5
  import { asCoreSpan, hasItems, pickRenderer } from "./span-payload-registry.es.js";
6
6
  import { SpanPayloadJson } from "./span-payload-json.es.js";
7
7
  import { SpanPayloadAttachment } from "./span-payload-attachment.es.js";
8
- import { l as SpanToolNameValue, n as SpanPayloadField, o as SpanPayloadMarkdown, t as SpanPayloadCollapsible } from "../../../../span-payload-primitives-DTV7eUY-.js";
8
+ import { l as SpanToolNameValue, n as SpanPayloadField, o as SpanPayloadMarkdown, t as SpanPayloadCollapsible } from "../../../../span-payload-primitives-Dyhbqaa7.js";
9
9
  import { SpanPayloadProcessor } from "./span-payload-processor.es.js";
10
10
  import { t as InlineCode } from "../../../../inline-code-BR1gVYiZ.js";
11
11
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
@@ -1,14 +1,14 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_activity = require("../../../../activity-QyLJcBKc.cjs");
2
+ const require_activity = require("../../../../activity-DAK8tj7r.cjs");
3
3
  const require_domains_chat_messages_skill_activation = require("../../../chat/messages/skill-activation.cjs.js");
4
4
  const require_domains_chat_messages_skill_message = require("../../../chat/messages/skill-message.cjs.js");
5
5
  const require_domains_chat_messages_signal_data = require("../../../chat/messages/signal-data.cjs.js");
6
- const require_Message = require("../../../../Message-BF9cpYaw.cjs");
6
+ const require_Message = require("../../../../Message-DsCNQpou.cjs");
7
7
  const require_domains_chat_messages_signal_badge = require("../../../chat/messages/signal-badge.cjs.js");
8
8
  const require_domains_traces_components_span_payload_span_payload_json = require("./span-payload-json.cjs.js");
9
9
  const require_domains_traces_components_span_payload_available_skills = require("./available-skills.cjs.js");
10
10
  const require_domains_traces_components_span_payload_span_payload_attachment = require("./span-payload-attachment.cjs.js");
11
- const require_span_payload_primitives = require("../../../../span-payload-primitives-D3OO0u6u.cjs");
11
+ const require_span_payload_primitives = require("../../../../span-payload-primitives-B10Xxmx7.cjs");
12
12
  const require_domains_traces_components_span_payload_span_signal_details = require("./span-signal-details.cjs.js");
13
13
  let react_jsx_runtime = require("react/jsx-runtime");
14
14
  // src/domains/traces/components/span-payload/span-payload-messages.tsx
@@ -1,13 +1,13 @@
1
- import { n as ReasoningActivity } from "../../../../activity-ihrl0JtH.js";
1
+ import { n as ReasoningActivity } from "../../../../activity-CM34JyW-.js";
2
2
  import { parseSkillMarkup } from "../../../chat/messages/skill-activation.es.js";
3
3
  import { SkillMessage } from "../../../chat/messages/skill-message.es.js";
4
4
  import { isUserSignalType, toReactiveSignalData } from "../../../chat/messages/signal-data.es.js";
5
- import { r as Message } from "../../../../Message-Bkf6Ro9H.js";
5
+ import { r as Message } from "../../../../Message-nVI6tMS3.js";
6
6
  import { SignalBadge } from "../../../chat/messages/signal-badge.es.js";
7
7
  import { SpanPayloadJson } from "./span-payload-json.es.js";
8
8
  import { parseAvailableSkills } from "./available-skills.es.js";
9
9
  import { SpanPayloadAttachment } from "./span-payload-attachment.es.js";
10
- import { a as SpanPayloadListName, c as SpanPayloadTool, i as SpanPayloadList, n as SpanPayloadField, o as SpanPayloadMarkdown, r as SpanPayloadLabel } from "../../../../span-payload-primitives-DTV7eUY-.js";
10
+ import { a as SpanPayloadListName, c as SpanPayloadTool, i as SpanPayloadList, n as SpanPayloadField, o as SpanPayloadMarkdown, r as SpanPayloadLabel } from "../../../../span-payload-primitives-Dyhbqaa7.js";
11
11
  import { SignalDetails } from "./span-signal-details.es.js";
12
12
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
13
13
  // src/domains/traces/components/span-payload/span-payload-messages.tsx
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_span_payload_primitives = require("../../../../span-payload-primitives-D3OO0u6u.cjs");
2
+ const require_span_payload_primitives = require("../../../../span-payload-primitives-B10Xxmx7.cjs");
3
3
  exports.SpanPayloadCollapsible = require_span_payload_primitives.SpanPayloadCollapsible;
4
4
  exports.SpanPayloadField = require_span_payload_primitives.SpanPayloadField;
5
5
  exports.SpanPayloadLabel = require_span_payload_primitives.SpanPayloadLabel;
@@ -1 +1 @@
1
- export { t as SpanPayloadCollapsible, n as SpanPayloadField, r as SpanPayloadLabel, i as SpanPayloadList, a as SpanPayloadListName, o as SpanPayloadMarkdown, s as SpanPayloadToolCalls } from "../../../../span-payload-primitives-DTV7eUY-.js";
1
+ export { t as SpanPayloadCollapsible, n as SpanPayloadField, r as SpanPayloadLabel, i as SpanPayloadList, a as SpanPayloadListName, o as SpanPayloadMarkdown, s as SpanPayloadToolCalls } from "../../../../span-payload-primitives-Dyhbqaa7.js";
@@ -2,7 +2,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_DataKeysAndValues = require("../../../../DataKeysAndValues-DsH6AbAo.cjs");
3
3
  const require_domains_traces_components_span_payload_span_payload_processor_fields = require("./span-payload-processor-fields.cjs.js");
4
4
  const require_domains_traces_components_span_payload_span_payload_json = require("./span-payload-json.cjs.js");
5
- const require_span_payload_primitives = require("../../../../span-payload-primitives-D3OO0u6u.cjs");
5
+ const require_span_payload_primitives = require("../../../../span-payload-primitives-B10Xxmx7.cjs");
6
6
  const require_domains_traces_components_span_payload_span_payload_messages = require("./span-payload-messages.cjs.js");
7
7
  let react = require("react");
8
8
  let react_jsx_runtime = require("react/jsx-runtime");
@@ -1,7 +1,7 @@
1
1
  import { t as DataKeysAndValues } from "../../../../DataKeysAndValues-PwOmGxyp.js";
2
2
  import { isScalar, processorInputToolKeys, readProcessorPayload } from "./span-payload-processor-fields.es.js";
3
3
  import { SpanPayloadJson } from "./span-payload-json.es.js";
4
- import { l as SpanToolNameValue, n as SpanPayloadField, o as SpanPayloadMarkdown, s as SpanPayloadToolCalls, t as SpanPayloadCollapsible } from "../../../../span-payload-primitives-DTV7eUY-.js";
4
+ import { l as SpanToolNameValue, n as SpanPayloadField, o as SpanPayloadMarkdown, s as SpanPayloadToolCalls, t as SpanPayloadCollapsible } from "../../../../span-payload-primitives-Dyhbqaa7.js";
5
5
  import { SpanPayloadMessages } from "./span-payload-messages.es.js";
6
6
  import { Fragment } from "react";
7
7
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -1,4 +1,4 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_span_payload_primitives = require("../../../../span-payload-primitives-D3OO0u6u.cjs");
2
+ const require_span_payload_primitives = require("../../../../span-payload-primitives-B10Xxmx7.cjs");
3
3
  exports.SpanPayloadTool = require_span_payload_primitives.SpanPayloadTool;
4
4
  exports.SpanToolNameValue = require_span_payload_primitives.SpanToolNameValue;
@@ -1 +1 @@
1
- export { c as SpanPayloadTool, l as SpanToolNameValue } from "../../../../span-payload-primitives-DTV7eUY-.js";
1
+ export { c as SpanPayloadTool, l as SpanToolNameValue } from "../../../../span-payload-primitives-Dyhbqaa7.js";
@@ -1,9 +1,9 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_Txt = require("../../../../Txt-BnoSqxKE.cjs");
3
- const require_string = require("../../../../string-CymY0aJ9.cjs");
3
+ const require_string = require("../../../../string-DdJJdCv2.cjs");
4
4
  const require_domains_traces_components_span_outcome_utils = require("../span-outcome.utils.cjs.js");
5
5
  const require_domains_traces_components_span_payload_span_payload_json = require("./span-payload-json.cjs.js");
6
- const require_span_payload_primitives = require("../../../../span-payload-primitives-D3OO0u6u.cjs");
6
+ const require_span_payload_primitives = require("../../../../span-payload-primitives-B10Xxmx7.cjs");
7
7
  const require_domains_traces_components_span_payload_span_payload_messages = require("./span-payload-messages.cjs.js");
8
8
  let react_jsx_runtime = require("react/jsx-runtime");
9
9
  // src/domains/traces/components/span-payload/span-processor-mutations.tsx
@@ -1,8 +1,8 @@
1
1
  import { t as Txt } from "../../../../Txt-BM6TVV_c.js";
2
- import { n as pluralize } from "../../../../string-OAgeMRQ5.js";
2
+ import { r as pluralize } from "../../../../string-CNKDIc_4.js";
3
3
  import { getSpanChanges } from "../span-outcome.utils.es.js";
4
4
  import { SpanPayloadJson } from "./span-payload-json.es.js";
5
- import { t as SpanPayloadCollapsible } from "../../../../span-payload-primitives-DTV7eUY-.js";
5
+ import { t as SpanPayloadCollapsible } from "../../../../span-payload-primitives-Dyhbqaa7.js";
6
6
  import { SpanPayloadMessages } from "./span-payload-messages.es.js";
7
7
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
8
8
  // src/domains/traces/components/span-payload/span-processor-mutations.tsx
@@ -5,7 +5,7 @@ const require_icons_ToolsIcon = require("../../../../icons/ToolsIcon.cjs.js");
5
5
  const require_domains_chat_messages_message_row = require("../../../chat/messages/message-row.cjs.js");
6
6
  const require_domains_traces_components_format_trace_thread_messages = require("../format-trace-thread-messages.cjs.js");
7
7
  const require_domains_traces_components_span_payload_span_payload_registry = require("./span-payload-registry.cjs.js");
8
- const require_span_payload_primitives = require("../../../../span-payload-primitives-D3OO0u6u.cjs");
8
+ const require_span_payload_primitives = require("../../../../span-payload-primitives-B10Xxmx7.cjs");
9
9
  const require_domains_traces_components_span_payload_span_payload_section = require("./span-payload-section.cjs.js");
10
10
  const require_domains_traces_components_read_only_tool_call_provider = require("../read-only-tool-call-provider.cjs.js");
11
11
  const require_domains_traces_components_span_payload_use_span_tool_calls = require("./use-span-tool-calls.cjs.js");
@@ -4,7 +4,7 @@ import { ToolsIcon } from "../../../../icons/ToolsIcon.es.js";
4
4
  import { MessageRow } from "../../../chat/messages/message-row.es.js";
5
5
  import { getRequestedToolCalls } from "../format-trace-thread-messages.es.js";
6
6
  import { getDelegatedToolHref, getSpanTools } from "./span-payload-registry.es.js";
7
- import { a as SpanPayloadListName, i as SpanPayloadList } from "../../../../span-payload-primitives-DTV7eUY-.js";
7
+ import { a as SpanPayloadListName, i as SpanPayloadList } from "../../../../span-payload-primitives-Dyhbqaa7.js";
8
8
  import { SpanPayloadSection } from "./span-payload-section.es.js";
9
9
  import { ReadOnlyToolCallProvider } from "../read-only-tool-call-provider.es.js";
10
10
  import { useSpanToolCalls } from "./use-span-tool-calls.es.js";
@@ -3,7 +3,7 @@ const require_utils = require("../../../utils-uDc1ofX1.cjs");
3
3
  const require_cost = require("../../../cost-CDXUhpb_.cjs");
4
4
  const require_primitives_transitions = require("../../../primitives/transitions.cjs.js");
5
5
  const require_Txt = require("../../../Txt-BnoSqxKE.cjs");
6
- const require_string = require("../../../string-CymY0aJ9.cjs");
6
+ const require_string = require("../../../string-DdJJdCv2.cjs");
7
7
  const require_components_DisclosureChevron = require("../../../components/DisclosureChevron.cjs.js");
8
8
  const require_components_CollapsibleBox = require("../../../components/CollapsibleBox.cjs.js");
9
9
  const require_domains_traces_components_span_payload_span_payload_json = require("./span-payload/span-payload-json.cjs.js");
@@ -2,7 +2,7 @@ import { t as cn } from "../../../utils-DQx8TpNT.js";
2
2
  import { t as formatCompactNumber } from "../../../cost-C2vDb3o7.js";
3
3
  import { focusRing } from "../../../primitives/transitions.es.js";
4
4
  import { t as Txt } from "../../../Txt-BM6TVV_c.js";
5
- import { n as pluralize } from "../../../string-OAgeMRQ5.js";
5
+ import { r as pluralize } from "../../../string-CNKDIc_4.js";
6
6
  import { DisclosureChevron } from "../../../components/DisclosureChevron.es.js";
7
7
  import { CollapsibleBox, useCollapsibleBox } from "../../../components/CollapsibleBox.es.js";
8
8
  import { SpanPayloadJson } from "./span-payload/span-payload-json.es.js";
@@ -4,7 +4,7 @@ const require_dropdown_menu = require("../../../dropdown-menu-BETTTPBB.cjs");
4
4
  const require_Dialog = require("../../../Dialog-CjaiCrkv.cjs");
5
5
  const require_components_Field = require("../../../components/Field.cjs.js");
6
6
  const require_components_Form = require("../../../components/Form.cjs.js");
7
- const require_combobox = require("../../../combobox-C-E7_q4j.cjs");
7
+ const require_combobox = require("../../../combobox-8kNAJFlj.cjs");
8
8
  const require_domains_traces_trace_list_columns = require("../trace-list-columns.cjs.js");
9
9
  let react = require("react");
10
10
  let react_jsx_runtime = require("react/jsx-runtime");
@@ -18,6 +18,7 @@ var COLUMN_LABELS = {
18
18
  duration: "Duration",
19
19
  traceCount: "Messages",
20
20
  timeToFirstChunk: "Time to first chunk",
21
+ timeToFirstToken: "Time to first token",
21
22
  endTime: "End",
22
23
  environment: "Environment",
23
24
  model: "Model",
@@ -1 +1 @@
1
- {"version":3,"file":"trace-columns-menu.cjs.js","names":["TRACE_COLUMN_CATALOGS","useState","useMemo","_Fragment","DropdownMenu","Columns3Icon","TRACE_USAGE_COLUMNS","Txt","TRACE_CUSTOM_COLUMN_FIELDS","TRACE_CUSTOM_COLUMN_LABELS","PlusIcon","Dialog","DialogContent","Form","DialogHeader","DialogTitle","DialogDescription","DialogBody","Field","FieldLabel","Combobox","FieldError","DialogFooter","DialogCancel","DialogAction"],"sources":["../../../../src/domains/traces/components/trace-columns-menu.tsx"],"sourcesContent":["import { Columns3Icon, PlusIcon } from 'lucide-react';\nimport { useMemo, useState } from 'react';\nimport type { FormEvent } from 'react';\nimport {\n TRACE_COLUMN_CATALOGS,\n TRACE_CUSTOM_COLUMN_FIELDS,\n TRACE_CUSTOM_COLUMN_LABELS,\n TRACE_USAGE_COLUMNS,\n} from '../trace-list-columns';\nimport type {\n TraceColumnCatalog,\n TraceColumnPreferences,\n TraceCustomColumn,\n TraceOptionalColumn,\n} from '../trace-list-columns';\nimport { Combobox } from '@/ds/components/Combobox';\nimport {\n Dialog,\n DialogAction,\n DialogBody,\n DialogCancel,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogTitle,\n} from '@/ds/components/Dialog';\nimport { DropdownMenu } from '@/ds/components/DropdownMenu';\nimport { Field, FieldError, FieldLabel } from '@/ds/components/Field';\nimport { Form } from '@/ds/components/Form';\nimport { Txt } from '@/ds/components/Txt';\n\nconst EMPTY_KEYS: readonly string[] = [];\n\nconst COLUMN_LABELS: Record<TraceOptionalColumn, string> = {\n type: 'Primitive type',\n input: 'Input',\n output: 'Output',\n duration: 'Duration',\n traceCount: 'Messages',\n timeToFirstChunk: 'Time to first chunk',\n endTime: 'End',\n environment: 'Environment',\n model: 'Model',\n provider: 'Provider',\n inputTokens: 'Input tokens',\n outputTokens: 'Output tokens',\n totalTokens: 'Total tokens',\n estimatedCost: 'Estimated cost',\n};\n\ntype TraceColumnsMenuProps = {\n preferences: TraceColumnPreferences;\n /** Which columns the list offers. Defaults to the traces catalog. */\n catalog?: TraceColumnCatalog;\n /** Top-level metadata keys observed on traces in the current time range, offered in the picker. */\n availableMetadataKeys?: readonly string[];\n usageDisabledReason?: string;\n /** When false (server without the trace-query API), metadata columns can't be added. Defaults to true. */\n withQueryTrace?: boolean;\n onToggleColumn: (column: TraceOptionalColumn) => void;\n onAddCustomColumn: (field: TraceCustomColumn) => void;\n onRemoveCustomColumn: (field: TraceCustomColumn) => void;\n onAddMetadataColumn: (key: string) => void;\n onRemoveMetadataColumn: (key: string) => void;\n onReset: () => void;\n /** Keeps the trigger in place but inert, e.g. while capabilities load. */\n disabled?: boolean;\n};\n\nexport function TraceColumnsMenu({\n preferences,\n catalog = TRACE_COLUMN_CATALOGS.traces,\n availableMetadataKeys = EMPTY_KEYS,\n usageDisabledReason,\n withQueryTrace = true,\n onToggleColumn,\n onAddCustomColumn,\n onRemoveCustomColumn,\n onAddMetadataColumn,\n onRemoveMetadataColumn,\n onReset,\n disabled,\n}: TraceColumnsMenuProps) {\n const withMetadata = catalog.metadata && withQueryTrace;\n const [isMetadataDialogOpen, setIsMetadataDialogOpen] = useState(false);\n const [metadataKey, setMetadataKey] = useState('');\n const [metadataError, setMetadataError] = useState<string | undefined>();\n\n const metadataKeyOptions = useMemo(() => {\n const keys = availableMetadataKeys.filter(key => !preferences.metadataKeys.includes(key));\n if (metadataKey && !keys.includes(metadataKey)) keys.push(metadataKey);\n return keys.map(key => ({ label: key, value: key }));\n }, [availableMetadataKeys, preferences.metadataKeys, metadataKey]);\n\n const handleDialogOpenChange = (open: boolean) => {\n setIsMetadataDialogOpen(open);\n if (!open) {\n setMetadataKey('');\n setMetadataError(undefined);\n }\n };\n\n const handleAddMetadata = (event: FormEvent<HTMLFormElement>) => {\n event.preventDefault();\n const normalizedKey = metadataKey.trim();\n if (!normalizedKey) {\n setMetadataError('Enter a metadata key.');\n return;\n }\n if (preferences.metadataKeys.includes(normalizedKey)) {\n setMetadataError('That metadata column is already visible.');\n return;\n }\n\n onAddMetadataColumn(normalizedKey);\n handleDialogOpenChange(false);\n };\n\n return (\n <>\n <DropdownMenu>\n <DropdownMenu.Trigger disabled={disabled} variant=\"ghost\" size=\"icon-md\" tooltip=\"Columns\">\n <Columns3Icon aria-hidden />\n </DropdownMenu.Trigger>\n <DropdownMenu.Content align=\"start\" className=\"min-w-56\">\n <DropdownMenu.Label>Standard columns</DropdownMenu.Label>\n {catalog.standardColumns.map(column => (\n <DropdownMenu.CheckboxItem\n key={column}\n checked={preferences.visibleColumns.includes(column)}\n onCheckedChange={() => onToggleColumn(column)}\n >\n {COLUMN_LABELS[column]}\n </DropdownMenu.CheckboxItem>\n ))}\n\n {catalog.usage && (\n <>\n <DropdownMenu.Separator />\n <DropdownMenu.Label>Usage columns</DropdownMenu.Label>\n {TRACE_USAGE_COLUMNS.map(column => (\n <DropdownMenu.CheckboxItem\n key={column}\n checked={preferences.visibleColumns.includes(column)}\n disabled={Boolean(usageDisabledReason)}\n onCheckedChange={() => onToggleColumn(column)}\n >\n {COLUMN_LABELS[column]}\n </DropdownMenu.CheckboxItem>\n ))}\n {usageDisabledReason && (\n <Txt variant=\"meta\" tone=\"faint\" className=\"px-2 py-1\" role=\"note\">\n {usageDisabledReason}\n </Txt>\n )}\n </>\n )}\n\n <DropdownMenu.Separator />\n <DropdownMenu.Label>Custom columns</DropdownMenu.Label>\n {TRACE_CUSTOM_COLUMN_FIELDS.map(field => {\n const isVisible = preferences.customColumns.includes(field);\n return (\n <DropdownMenu.CheckboxItem\n key={field}\n checked={isVisible}\n onCheckedChange={() => (isVisible ? onRemoveCustomColumn(field) : onAddCustomColumn(field))}\n >\n {TRACE_CUSTOM_COLUMN_LABELS[field]}\n </DropdownMenu.CheckboxItem>\n );\n })}\n\n {catalog.metadata && (withQueryTrace || preferences.metadataKeys.length > 0) && (\n <>\n <DropdownMenu.Separator />\n <DropdownMenu.Label>Metadata columns</DropdownMenu.Label>\n {preferences.metadataKeys.map(key => (\n <DropdownMenu.CheckboxItem\n key={key}\n checked\n title={key}\n onCheckedChange={() => onRemoveMetadataColumn(key)}\n >\n {key}\n </DropdownMenu.CheckboxItem>\n ))}\n {withMetadata && (\n <DropdownMenu.Item onSelect={() => setIsMetadataDialogOpen(true)}>\n <PlusIcon aria-hidden />\n Add metadata column\n </DropdownMenu.Item>\n )}\n </>\n )}\n\n <DropdownMenu.Separator />\n <DropdownMenu.Item onSelect={onReset}>Reset to defaults</DropdownMenu.Item>\n </DropdownMenu.Content>\n </DropdownMenu>\n\n {withMetadata && (\n <Dialog open={isMetadataDialogOpen} onOpenChange={handleDialogOpenChange}>\n <DialogContent>\n <Form onSubmit={handleAddMetadata} className=\"gap-0\">\n <DialogHeader>\n <DialogTitle>Add metadata column</DialogTitle>\n <DialogDescription>\n Pick a top-level trace metadata key observed in the current time range, or type one. Only the key is\n saved, never its values.\n </DialogDescription>\n </DialogHeader>\n <DialogBody>\n <Field invalid={Boolean(metadataError)}>\n <FieldLabel>Metadata key</FieldLabel>\n <Combobox\n options={metadataKeyOptions}\n value={metadataKey}\n onValueChange={key => {\n setMetadataKey(key);\n setMetadataError(undefined);\n }}\n allowCustomValue\n placeholder=\"Select a metadata key…\"\n searchPlaceholder=\"Search metadata keys…\"\n emptyText=\"No metadata keys observed. Type one to add it.\"\n />\n <FieldError>{metadataError}</FieldError>\n </Field>\n </DialogBody>\n <DialogFooter>\n <DialogCancel>Cancel</DialogCancel>\n <DialogAction type=\"submit\">Add column</DialogAction>\n </DialogFooter>\n </Form>\n </DialogContent>\n </Dialog>\n )}\n </>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"trace-columns-menu.cjs.js","names":["TRACE_COLUMN_CATALOGS","useState","useMemo","_Fragment","DropdownMenu","Columns3Icon","TRACE_USAGE_COLUMNS","Txt","TRACE_CUSTOM_COLUMN_FIELDS","TRACE_CUSTOM_COLUMN_LABELS","PlusIcon","Dialog","DialogContent","Form","DialogHeader","DialogTitle","DialogDescription","DialogBody","Field","FieldLabel","Combobox","FieldError","DialogFooter","DialogCancel","DialogAction"],"sources":["../../../../src/domains/traces/components/trace-columns-menu.tsx"],"sourcesContent":["import { Columns3Icon, PlusIcon } from 'lucide-react';\nimport { useMemo, useState } from 'react';\nimport type { FormEvent } from 'react';\nimport {\n TRACE_COLUMN_CATALOGS,\n TRACE_CUSTOM_COLUMN_FIELDS,\n TRACE_CUSTOM_COLUMN_LABELS,\n TRACE_USAGE_COLUMNS,\n} from '../trace-list-columns';\nimport type {\n TraceColumnCatalog,\n TraceColumnPreferences,\n TraceCustomColumn,\n TraceOptionalColumn,\n} from '../trace-list-columns';\nimport { Combobox } from '@/ds/components/Combobox';\nimport {\n Dialog,\n DialogAction,\n DialogBody,\n DialogCancel,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogTitle,\n} from '@/ds/components/Dialog';\nimport { DropdownMenu } from '@/ds/components/DropdownMenu';\nimport { Field, FieldError, FieldLabel } from '@/ds/components/Field';\nimport { Form } from '@/ds/components/Form';\nimport { Txt } from '@/ds/components/Txt';\n\nconst EMPTY_KEYS: readonly string[] = [];\n\nconst COLUMN_LABELS: Record<TraceOptionalColumn, string> = {\n type: 'Primitive type',\n input: 'Input',\n output: 'Output',\n duration: 'Duration',\n traceCount: 'Messages',\n timeToFirstChunk: 'Time to first chunk',\n timeToFirstToken: 'Time to first token',\n endTime: 'End',\n environment: 'Environment',\n model: 'Model',\n provider: 'Provider',\n inputTokens: 'Input tokens',\n outputTokens: 'Output tokens',\n totalTokens: 'Total tokens',\n estimatedCost: 'Estimated cost',\n};\n\ntype TraceColumnsMenuProps = {\n preferences: TraceColumnPreferences;\n /** Which columns the list offers. Defaults to the traces catalog. */\n catalog?: TraceColumnCatalog;\n /** Top-level metadata keys observed on traces in the current time range, offered in the picker. */\n availableMetadataKeys?: readonly string[];\n usageDisabledReason?: string;\n /** When false (server without the trace-query API), metadata columns can't be added. Defaults to true. */\n withQueryTrace?: boolean;\n onToggleColumn: (column: TraceOptionalColumn) => void;\n onAddCustomColumn: (field: TraceCustomColumn) => void;\n onRemoveCustomColumn: (field: TraceCustomColumn) => void;\n onAddMetadataColumn: (key: string) => void;\n onRemoveMetadataColumn: (key: string) => void;\n onReset: () => void;\n /** Keeps the trigger in place but inert, e.g. while capabilities load. */\n disabled?: boolean;\n};\n\nexport function TraceColumnsMenu({\n preferences,\n catalog = TRACE_COLUMN_CATALOGS.traces,\n availableMetadataKeys = EMPTY_KEYS,\n usageDisabledReason,\n withQueryTrace = true,\n onToggleColumn,\n onAddCustomColumn,\n onRemoveCustomColumn,\n onAddMetadataColumn,\n onRemoveMetadataColumn,\n onReset,\n disabled,\n}: TraceColumnsMenuProps) {\n const withMetadata = catalog.metadata && withQueryTrace;\n const [isMetadataDialogOpen, setIsMetadataDialogOpen] = useState(false);\n const [metadataKey, setMetadataKey] = useState('');\n const [metadataError, setMetadataError] = useState<string | undefined>();\n\n const metadataKeyOptions = useMemo(() => {\n const keys = availableMetadataKeys.filter(key => !preferences.metadataKeys.includes(key));\n if (metadataKey && !keys.includes(metadataKey)) keys.push(metadataKey);\n return keys.map(key => ({ label: key, value: key }));\n }, [availableMetadataKeys, preferences.metadataKeys, metadataKey]);\n\n const handleDialogOpenChange = (open: boolean) => {\n setIsMetadataDialogOpen(open);\n if (!open) {\n setMetadataKey('');\n setMetadataError(undefined);\n }\n };\n\n const handleAddMetadata = (event: FormEvent<HTMLFormElement>) => {\n event.preventDefault();\n const normalizedKey = metadataKey.trim();\n if (!normalizedKey) {\n setMetadataError('Enter a metadata key.');\n return;\n }\n if (preferences.metadataKeys.includes(normalizedKey)) {\n setMetadataError('That metadata column is already visible.');\n return;\n }\n\n onAddMetadataColumn(normalizedKey);\n handleDialogOpenChange(false);\n };\n\n return (\n <>\n <DropdownMenu>\n <DropdownMenu.Trigger disabled={disabled} variant=\"ghost\" size=\"icon-md\" tooltip=\"Columns\">\n <Columns3Icon aria-hidden />\n </DropdownMenu.Trigger>\n <DropdownMenu.Content align=\"start\" className=\"min-w-56\">\n <DropdownMenu.Label>Standard columns</DropdownMenu.Label>\n {catalog.standardColumns.map(column => (\n <DropdownMenu.CheckboxItem\n key={column}\n checked={preferences.visibleColumns.includes(column)}\n onCheckedChange={() => onToggleColumn(column)}\n >\n {COLUMN_LABELS[column]}\n </DropdownMenu.CheckboxItem>\n ))}\n\n {catalog.usage && (\n <>\n <DropdownMenu.Separator />\n <DropdownMenu.Label>Usage columns</DropdownMenu.Label>\n {TRACE_USAGE_COLUMNS.map(column => (\n <DropdownMenu.CheckboxItem\n key={column}\n checked={preferences.visibleColumns.includes(column)}\n disabled={Boolean(usageDisabledReason)}\n onCheckedChange={() => onToggleColumn(column)}\n >\n {COLUMN_LABELS[column]}\n </DropdownMenu.CheckboxItem>\n ))}\n {usageDisabledReason && (\n <Txt variant=\"meta\" tone=\"faint\" className=\"px-2 py-1\" role=\"note\">\n {usageDisabledReason}\n </Txt>\n )}\n </>\n )}\n\n <DropdownMenu.Separator />\n <DropdownMenu.Label>Custom columns</DropdownMenu.Label>\n {TRACE_CUSTOM_COLUMN_FIELDS.map(field => {\n const isVisible = preferences.customColumns.includes(field);\n return (\n <DropdownMenu.CheckboxItem\n key={field}\n checked={isVisible}\n onCheckedChange={() => (isVisible ? onRemoveCustomColumn(field) : onAddCustomColumn(field))}\n >\n {TRACE_CUSTOM_COLUMN_LABELS[field]}\n </DropdownMenu.CheckboxItem>\n );\n })}\n\n {catalog.metadata && (withQueryTrace || preferences.metadataKeys.length > 0) && (\n <>\n <DropdownMenu.Separator />\n <DropdownMenu.Label>Metadata columns</DropdownMenu.Label>\n {preferences.metadataKeys.map(key => (\n <DropdownMenu.CheckboxItem\n key={key}\n checked\n title={key}\n onCheckedChange={() => onRemoveMetadataColumn(key)}\n >\n {key}\n </DropdownMenu.CheckboxItem>\n ))}\n {withMetadata && (\n <DropdownMenu.Item onSelect={() => setIsMetadataDialogOpen(true)}>\n <PlusIcon aria-hidden />\n Add metadata column\n </DropdownMenu.Item>\n )}\n </>\n )}\n\n <DropdownMenu.Separator />\n <DropdownMenu.Item onSelect={onReset}>Reset to defaults</DropdownMenu.Item>\n </DropdownMenu.Content>\n </DropdownMenu>\n\n {withMetadata && (\n <Dialog open={isMetadataDialogOpen} onOpenChange={handleDialogOpenChange}>\n <DialogContent>\n <Form onSubmit={handleAddMetadata} className=\"gap-0\">\n <DialogHeader>\n <DialogTitle>Add metadata column</DialogTitle>\n <DialogDescription>\n Pick a top-level trace metadata key observed in the current time range, or type one. Only the key is\n saved, never its values.\n </DialogDescription>\n </DialogHeader>\n <DialogBody>\n <Field invalid={Boolean(metadataError)}>\n <FieldLabel>Metadata key</FieldLabel>\n <Combobox\n options={metadataKeyOptions}\n value={metadataKey}\n onValueChange={key => {\n setMetadataKey(key);\n setMetadataError(undefined);\n }}\n allowCustomValue\n placeholder=\"Select a metadata key…\"\n searchPlaceholder=\"Search metadata keys…\"\n emptyText=\"No metadata keys observed. Type one to add it.\"\n />\n <FieldError>{metadataError}</FieldError>\n </Field>\n </DialogBody>\n <DialogFooter>\n <DialogCancel>Cancel</DialogCancel>\n <DialogAction type=\"submit\">Add column</DialogAction>\n </DialogFooter>\n </Form>\n </DialogContent>\n </Dialog>\n )}\n </>\n );\n}\n"],"mappings":"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"}
@@ -3,7 +3,7 @@ import { t as DropdownMenu } from "../../../dropdown-menu-B4jY3J9e.js";
3
3
  import { a as DialogContent, c as DialogHeader, d as DialogTitle, n as DialogBody, o as DialogDescription, p as DialogAction, r as DialogCancel, s as DialogFooter, t as Dialog } from "../../../Dialog-CKtTR8h3.js";
4
4
  import { Field, FieldError, FieldLabel } from "../../../components/Field.es.js";
5
5
  import { Form } from "../../../components/Form.es.js";
6
- import { t as Combobox } from "../../../combobox-CDS2pBqz.js";
6
+ import { t as Combobox } from "../../../combobox-wFudhN8F.js";
7
7
  import { TRACE_COLUMN_CATALOGS, TRACE_CUSTOM_COLUMN_FIELDS, TRACE_CUSTOM_COLUMN_LABELS, TRACE_USAGE_COLUMNS } from "../trace-list-columns.es.js";
8
8
  import { useMemo, useState } from "react";
9
9
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
@@ -17,6 +17,7 @@ var COLUMN_LABELS = {
17
17
  duration: "Duration",
18
18
  traceCount: "Messages",
19
19
  timeToFirstChunk: "Time to first chunk",
20
+ timeToFirstToken: "Time to first token",
20
21
  endTime: "End",
21
22
  environment: "Environment",
22
23
  model: "Model",