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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1052) hide show
  1. package/dist/AgentIndicator-Bs2S8AWJ.js +847 -0
  2. package/dist/AgentIndicator-Bs2S8AWJ.js.map +1 -0
  3. package/dist/AgentIndicator-to30W73z.cjs +864 -0
  4. package/dist/AgentIndicator-to30W73z.cjs.map +1 -0
  5. package/dist/AgentIndicator.css +28 -0
  6. package/dist/{Arrival-NpBOyV52.js → Arrival-CJFEOXr5.js} +33 -3
  7. package/dist/Arrival-CJFEOXr5.js.map +1 -0
  8. package/dist/{Arrival-Dm6Vgn78.cjs → Arrival-Cs1oWjo4.cjs} +43 -1
  9. package/dist/Arrival-Cs1oWjo4.cjs.map +1 -0
  10. package/dist/{Comment-CUQvfikb.cjs → Comment-KYUQzeSu.cjs} +2 -2
  11. package/dist/{Comment-CUQvfikb.cjs.map → Comment-KYUQzeSu.cjs.map} +1 -1
  12. package/dist/{Comment-CPA3IyPS.js → Comment-VFJq2wRp.js} +2 -2
  13. package/dist/{Comment-CPA3IyPS.js.map → Comment-VFJq2wRp.js.map} +1 -1
  14. package/dist/{DataList-Ve3omCXT.js → DataList-2tIlQsLc.js} +95 -3
  15. package/dist/DataList-2tIlQsLc.js.map +1 -0
  16. package/dist/{DataList-Cmk08jUV.cjs → DataList-Czwmwyvp.cjs} +93 -1
  17. package/dist/DataList-Czwmwyvp.cjs.map +1 -0
  18. package/dist/{DateTimeRangePicker-ByMbLdom.js → DateTimeRangePicker-C_Lie_2P.js} +23 -2
  19. package/dist/DateTimeRangePicker-C_Lie_2P.js.map +1 -0
  20. package/dist/{DateTimeRangePicker-DGbH5WOn.cjs → DateTimeRangePicker-HmPOHwAQ.cjs} +23 -2
  21. package/dist/DateTimeRangePicker-HmPOHwAQ.cjs.map +1 -0
  22. package/dist/{FilterBar-Dk3QEuT6.js → FilterBar--4oguuVe.js} +4 -4
  23. package/dist/FilterBar--4oguuVe.js.map +1 -0
  24. package/dist/{FilterBar-gEvoWDXA.cjs → FilterBar-BUd4f7oi.cjs} +7 -7
  25. package/dist/FilterBar-BUd4f7oi.cjs.map +1 -0
  26. package/dist/GrainFill.css +2 -0
  27. package/dist/{MarkdownRenderer-BgqKfmRm.cjs → MarkdownRenderer-CS6u5drO.cjs} +2 -2
  28. package/dist/{MarkdownRenderer-BgqKfmRm.cjs.map → MarkdownRenderer-CS6u5drO.cjs.map} +1 -1
  29. package/dist/{MarkdownRenderer-DKCDXaLy.js → MarkdownRenderer-DME2xKTk.js} +2 -2
  30. package/dist/{MarkdownRenderer-DKCDXaLy.js.map → MarkdownRenderer-DME2xKTk.js.map} +1 -1
  31. package/dist/{Message-BF9cpYaw.cjs → Message-DsCNQpou.cjs} +2 -2
  32. package/dist/{Message-BF9cpYaw.cjs.map → Message-DsCNQpou.cjs.map} +1 -1
  33. package/dist/{Message-Bkf6Ro9H.js → Message-nVI6tMS3.js} +2 -2
  34. package/dist/{Message-Bkf6Ro9H.js.map → Message-nVI6tMS3.js.map} +1 -1
  35. package/dist/{MetricsCard-Dly_H3oX.cjs → MetricsCard-CEB-f2sv.cjs} +91 -109
  36. package/dist/MetricsCard-CEB-f2sv.cjs.map +1 -0
  37. package/dist/{MetricsCard-C9GWgT58.js → MetricsCard-M8awJ2B_.js} +91 -109
  38. package/dist/MetricsCard-M8awJ2B_.js.map +1 -0
  39. package/dist/{MetricsKpiCard-Uw0nyMgW.cjs → MetricsKpiCard-By_-sagx.cjs} +3 -2
  40. package/dist/{MetricsKpiCard-Uw0nyMgW.cjs.map → MetricsKpiCard-By_-sagx.cjs.map} +1 -1
  41. package/dist/{MetricsKpiCard-Idxjl-dn.js → MetricsKpiCard-OHbAElTl.js} +3 -2
  42. package/dist/{MetricsKpiCard-Idxjl-dn.js.map → MetricsKpiCard-OHbAElTl.js.map} +1 -1
  43. package/dist/{MetricsLineChart-DKzuRU2q.js → MetricsLineChart-BhHoduO0.js} +21 -39
  44. package/dist/MetricsLineChart-BhHoduO0.js.map +1 -0
  45. package/dist/{MetricsLineChart-2m4LVL1N.cjs → MetricsLineChart-CjBm4IXu.cjs} +21 -39
  46. package/dist/MetricsLineChart-CjBm4IXu.cjs.map +1 -0
  47. package/dist/{MetricsStackedBarChart-DJB4aByt.js → MetricsStackedBarChart-BRuA6MTE.js} +2 -3
  48. package/dist/MetricsStackedBarChart-BRuA6MTE.js.map +1 -0
  49. package/dist/{MetricsStackedBarChart-NATtwA_W.cjs → MetricsStackedBarChart-BdMlKv6G.cjs} +2 -3
  50. package/dist/MetricsStackedBarChart-BdMlKv6G.cjs.map +1 -0
  51. package/dist/Notice.css +2 -0
  52. package/dist/Shimmer.css +7 -0
  53. package/dist/{activity-ihrl0JtH.js → activity-CM34JyW-.js} +98 -33
  54. package/dist/activity-CM34JyW-.js.map +1 -0
  55. package/dist/{activity-QyLJcBKc.cjs → activity-DAK8tj7r.cjs} +108 -31
  56. package/dist/activity-DAK8tj7r.cjs.map +1 -0
  57. package/dist/chart-plot.css +15 -0
  58. package/dist/combobox-8kNAJFlj.cjs +309 -0
  59. package/dist/combobox-8kNAJFlj.cjs.map +1 -0
  60. package/dist/{combobox-C-E7_q4j.cjs → combobox-parts-BZVXwbG7.cjs} +7 -300
  61. package/dist/combobox-parts-BZVXwbG7.cjs.map +1 -0
  62. package/dist/{combobox-CDS2pBqz.js → combobox-parts-W7KRQUsV.js} +10 -297
  63. package/dist/combobox-parts-W7KRQUsV.js.map +1 -0
  64. package/dist/combobox-wFudhN8F.js +302 -0
  65. package/dist/combobox-wFudhN8F.js.map +1 -0
  66. package/dist/components/AgentIndicator.cjs.js +5 -0
  67. package/dist/components/AgentIndicator.d.ts +1 -0
  68. package/dist/components/AgentIndicator.es.js +1 -0
  69. package/dist/components/Arrival.cjs.js +3 -1
  70. package/dist/components/Arrival.es.js +1 -1
  71. package/dist/components/Combobox.cjs.js +24 -23
  72. package/dist/components/Combobox.es.js +2 -1
  73. package/dist/components/Comment.cjs.js +1 -1
  74. package/dist/components/Comment.es.js +1 -1
  75. package/dist/components/DataList.cjs.js +2 -2
  76. package/dist/components/DataList.es.js +2 -2
  77. package/dist/components/DateTimeRangePicker.cjs.js +1 -1
  78. package/dist/components/DateTimeRangePicker.es.js +1 -1
  79. package/dist/components/DiffStat.cjs.js +1 -1
  80. package/dist/components/DiffStat.es.js +1 -1
  81. package/dist/components/FilterBar.cjs.js +2 -2
  82. package/dist/components/FilterBar.es.js +2 -2
  83. package/dist/components/LogsDataList.cjs.js +1 -1
  84. package/dist/components/LogsDataList.es.js +1 -1
  85. package/dist/components/MarkdownRenderer.cjs.js +1 -1
  86. package/dist/components/MarkdownRenderer.es.js +1 -1
  87. package/dist/components/Message.cjs.js +1 -1
  88. package/dist/components/Message.es.js +1 -1
  89. package/dist/components/MetricsCard.cjs.js +1 -1
  90. package/dist/components/MetricsCard.es.js +1 -1
  91. package/dist/components/MetricsKpiCard.cjs.js +1 -1
  92. package/dist/components/MetricsKpiCard.es.js +1 -1
  93. package/dist/components/MetricsLineChart.cjs.js +1 -1
  94. package/dist/components/MetricsLineChart.es.js +1 -1
  95. package/dist/components/MetricsStackedBarChart.cjs.js +1 -1
  96. package/dist/components/MetricsStackedBarChart.es.js +1 -1
  97. package/dist/components/PropertyFilter.cjs.js +1 -1
  98. package/dist/components/PropertyFilter.es.js +1 -1
  99. package/dist/components/SavedViews.cjs.js +27 -69
  100. package/dist/components/SavedViews.cjs.js.map +1 -1
  101. package/dist/components/SavedViews.es.js +26 -68
  102. package/dist/components/SavedViews.es.js.map +1 -1
  103. package/dist/components/ai/activity.cjs.js +3 -1
  104. package/dist/components/ai/activity.es.js +1 -1
  105. package/dist/components/ai/message-reveal.cjs.js +2 -1
  106. package/dist/components/ai/message-reveal.cjs.js.map +1 -1
  107. package/dist/components/ai/message-reveal.es.js +2 -1
  108. package/dist/components/ai/message-reveal.es.js.map +1 -1
  109. package/dist/components/ai/plan.cjs.js +1 -1
  110. package/dist/components/ai/plan.es.js +1 -1
  111. package/dist/components/ai/tool-approval.cjs.js +1 -1
  112. package/dist/components/ai/tool-approval.es.js +1 -1
  113. package/dist/components/ai/tool-call.cjs.js +2 -2
  114. package/dist/components/ai/tool-call.es.js +2 -2
  115. package/dist/domains/chat/activity/activity-stretch-line.cjs.js +6 -4
  116. package/dist/domains/chat/activity/activity-stretch-line.cjs.js.map +1 -1
  117. package/dist/domains/chat/activity/activity-stretch-line.es.js +6 -4
  118. package/dist/domains/chat/activity/activity-stretch-line.es.js.map +1 -1
  119. package/dist/domains/chat/activity/components/activity-fold.cjs.js +81 -28
  120. package/dist/domains/chat/activity/components/activity-fold.cjs.js.map +1 -1
  121. package/dist/domains/chat/activity/components/activity-fold.es.js +82 -29
  122. package/dist/domains/chat/activity/components/activity-fold.es.js.map +1 -1
  123. package/dist/domains/chat/activity/components/activity-timed-trigger.cjs.js +1 -1
  124. package/dist/domains/chat/activity/components/activity-timed-trigger.es.js +1 -1
  125. package/dist/domains/chat/activity/components/calls-panel.cjs.js +1 -1
  126. package/dist/domains/chat/activity/components/calls-panel.es.js +1 -1
  127. package/dist/domains/chat/activity/components/stretch-content.cjs.js +1 -1
  128. package/dist/domains/chat/activity/components/stretch-content.es.js +1 -1
  129. package/dist/domains/chat/activity/components/stretch-thought.cjs.js +1 -1
  130. package/dist/domains/chat/activity/components/stretch-thought.es.js +1 -1
  131. package/dist/domains/chat/activity/components/use-fading-edge.cjs.js +26 -0
  132. package/dist/domains/chat/activity/components/use-fading-edge.cjs.js.map +1 -0
  133. package/dist/domains/chat/activity/components/use-fading-edge.d.ts +1 -0
  134. package/dist/domains/chat/activity/components/use-fading-edge.es.js +25 -0
  135. package/dist/domains/chat/activity/components/use-fading-edge.es.js.map +1 -0
  136. package/dist/domains/chat/activity/components/use-rolling-words.cjs.js +123 -0
  137. package/dist/domains/chat/activity/components/use-rolling-words.cjs.js.map +1 -0
  138. package/dist/domains/chat/activity/components/use-rolling-words.d.ts +1 -0
  139. package/dist/domains/chat/activity/components/use-rolling-words.es.js +122 -0
  140. package/dist/domains/chat/activity/components/use-rolling-words.es.js.map +1 -0
  141. package/dist/domains/chat/activity/model/activity-segments.cjs.js +1 -1
  142. package/dist/domains/chat/activity/model/activity-segments.es.js +1 -1
  143. package/dist/domains/chat/activity/model/activity-words.cjs.js +16 -6
  144. package/dist/domains/chat/activity/model/activity-words.cjs.js.map +1 -1
  145. package/dist/domains/chat/activity/model/activity-words.es.js +15 -7
  146. package/dist/domains/chat/activity/model/activity-words.es.js.map +1 -1
  147. package/dist/domains/chat/activity.cjs.js +3 -0
  148. package/dist/domains/chat/activity.es.js +2 -1
  149. package/dist/domains/chat/components/badge-wrapper.cjs.js +1 -1
  150. package/dist/domains/chat/components/badge-wrapper.es.js +1 -1
  151. package/dist/domains/chat/messages/assistant-message-actions.cjs.js +1 -1
  152. package/dist/domains/chat/messages/assistant-message-actions.es.js +1 -1
  153. package/dist/domains/chat/messages/message-row.cjs.js +4 -4
  154. package/dist/domains/chat/messages/message-row.es.js +4 -4
  155. package/dist/domains/chat/messages/notification-signal-notice.cjs.js +1 -1
  156. package/dist/domains/chat/messages/notification-signal-notice.es.js +1 -1
  157. package/dist/domains/chat/messages/reasoning-content.cjs.js +1 -1
  158. package/dist/domains/chat/messages/reasoning-content.es.js +1 -1
  159. package/dist/domains/chat/messages/renderers/message-text.cjs.js +1 -1
  160. package/dist/domains/chat/messages/renderers/message-text.es.js +1 -1
  161. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.cjs.js +1 -1
  162. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.es.js +1 -1
  163. package/dist/domains/chat/messages/renderers/tool-part.cjs.js +18 -0
  164. package/dist/domains/chat/messages/renderers/tool-part.cjs.js.map +1 -1
  165. package/dist/domains/chat/messages/renderers/tool-part.es.js +18 -0
  166. package/dist/domains/chat/messages/renderers/tool-part.es.js.map +1 -1
  167. package/dist/domains/chat/messages/signal-badge.cjs.js +1 -1
  168. package/dist/domains/chat/messages/signal-badge.es.js +1 -1
  169. package/dist/domains/chat/messages/skill-message.cjs.js +10 -7
  170. package/dist/domains/chat/messages/skill-message.cjs.js.map +1 -1
  171. package/dist/domains/chat/messages/skill-message.es.js +10 -7
  172. package/dist/domains/chat/messages/skill-message.es.js.map +1 -1
  173. package/dist/domains/chat/messages/system-reminder-badge.cjs.js +1 -1
  174. package/dist/domains/chat/messages/system-reminder-badge.es.js +1 -1
  175. package/dist/domains/chat/tools/badges/agent-badge-wrapper.cjs.js +1 -1
  176. package/dist/domains/chat/tools/badges/agent-badge-wrapper.es.js +1 -1
  177. package/dist/domains/chat/tools/badges/agent-badge.cjs.js +1 -1
  178. package/dist/domains/chat/tools/badges/agent-badge.es.js +1 -1
  179. package/dist/domains/chat/tools/badges/file-tree-badge.cjs.js +2 -2
  180. package/dist/domains/chat/tools/badges/file-tree-badge.es.js +2 -2
  181. package/dist/domains/chat/tools/badges/mcp-task-chip.cjs.js +111 -0
  182. package/dist/domains/chat/tools/badges/mcp-task-chip.cjs.js.map +1 -0
  183. package/dist/domains/chat/tools/badges/mcp-task-chip.d.ts +1 -0
  184. package/dist/domains/chat/tools/badges/mcp-task-chip.es.js +109 -0
  185. package/dist/domains/chat/tools/badges/mcp-task-chip.es.js.map +1 -0
  186. package/dist/domains/chat/tools/badges/observation-marker-badge.cjs.js +8 -6
  187. package/dist/domains/chat/tools/badges/observation-marker-badge.cjs.js.map +1 -1
  188. package/dist/domains/chat/tools/badges/observation-marker-badge.es.js +9 -7
  189. package/dist/domains/chat/tools/badges/observation-marker-badge.es.js.map +1 -1
  190. package/dist/domains/chat/tools/badges/observation-marker-details.cjs.js +2 -3
  191. package/dist/domains/chat/tools/badges/observation-marker-details.cjs.js.map +1 -1
  192. package/dist/domains/chat/tools/badges/observation-marker-details.es.js +2 -3
  193. package/dist/domains/chat/tools/badges/observation-marker-details.es.js.map +1 -1
  194. package/dist/domains/chat/tools/badges/observation-renderer.cjs.js +1 -1
  195. package/dist/domains/chat/tools/badges/observation-renderer.es.js +1 -1
  196. package/dist/domains/chat/tools/badges/sandbox-execution-badge.cjs.js +2 -2
  197. package/dist/domains/chat/tools/badges/sandbox-execution-badge.es.js +2 -2
  198. package/dist/domains/chat/tools/badges/tool-approval-badge.cjs.js +1 -1
  199. package/dist/domains/chat/tools/badges/tool-approval-badge.es.js +1 -1
  200. package/dist/domains/chat/tools/badges/tool-badge.cjs.js +10 -4
  201. package/dist/domains/chat/tools/badges/tool-badge.cjs.js.map +1 -1
  202. package/dist/domains/chat/tools/badges/tool-badge.es.js +10 -4
  203. package/dist/domains/chat/tools/badges/tool-badge.es.js.map +1 -1
  204. package/dist/domains/chat/tools/badges/use-mcp-task-progress.cjs.js +51 -0
  205. package/dist/domains/chat/tools/badges/use-mcp-task-progress.cjs.js.map +1 -0
  206. package/dist/domains/chat/tools/badges/use-mcp-task-progress.d.ts +1 -0
  207. package/dist/domains/chat/tools/badges/use-mcp-task-progress.es.js +49 -0
  208. package/dist/domains/chat/tools/badges/use-mcp-task-progress.es.js.map +1 -0
  209. package/dist/domains/chat/tools/badges/workflow-badge.cjs.js +1 -1
  210. package/dist/domains/chat/tools/badges/workflow-badge.es.js +1 -1
  211. package/dist/domains/chat/tools/tool-card-kind.cjs.js +1 -1
  212. package/dist/domains/chat/tools/tool-card-kind.es.js +1 -1
  213. package/dist/domains/chat/tools/tool-card.cjs.js +1 -1
  214. package/dist/domains/chat/tools/tool-card.es.js +1 -1
  215. package/dist/domains/chat/tools/tool-groups.cjs.js +1 -1
  216. package/dist/domains/chat/tools/tool-groups.es.js +1 -1
  217. package/dist/domains/dashboards/components/dashboard-grid.cjs.js +44 -0
  218. package/dist/domains/dashboards/components/dashboard-grid.cjs.js.map +1 -0
  219. package/dist/domains/dashboards/components/dashboard-grid.d.ts +1 -0
  220. package/dist/domains/dashboards/components/dashboard-grid.es.js +41 -0
  221. package/dist/domains/dashboards/components/dashboard-grid.es.js.map +1 -0
  222. package/dist/domains/dashboards/components/dashboard-renderer.cjs.js +72 -0
  223. package/dist/domains/dashboards/components/dashboard-renderer.cjs.js.map +1 -0
  224. package/dist/domains/dashboards/components/dashboard-renderer.d.ts +1 -0
  225. package/dist/domains/dashboards/components/dashboard-renderer.es.js +71 -0
  226. package/dist/domains/dashboards/components/dashboard-renderer.es.js.map +1 -0
  227. package/dist/domains/dashboards/components/view-gate.cjs.js +55 -0
  228. package/dist/domains/dashboards/components/view-gate.cjs.js.map +1 -0
  229. package/dist/domains/dashboards/components/view-gate.d.ts +1 -0
  230. package/dist/domains/dashboards/components/view-gate.es.js +54 -0
  231. package/dist/domains/dashboards/components/view-gate.es.js.map +1 -0
  232. package/dist/domains/dashboards/components/widget-chrome.cjs.js +16 -0
  233. package/dist/domains/dashboards/components/widget-chrome.cjs.js.map +1 -0
  234. package/dist/domains/dashboards/components/widget-chrome.d.ts +1 -0
  235. package/dist/domains/dashboards/components/widget-chrome.es.js +15 -0
  236. package/dist/domains/dashboards/components/widget-chrome.es.js.map +1 -0
  237. package/dist/domains/dashboards/components/widget-controls.cjs.js +21 -0
  238. package/dist/domains/dashboards/components/widget-controls.cjs.js.map +1 -0
  239. package/dist/domains/dashboards/components/widget-controls.d.ts +1 -0
  240. package/dist/domains/dashboards/components/widget-controls.es.js +20 -0
  241. package/dist/domains/dashboards/components/widget-controls.es.js.map +1 -0
  242. package/dist/domains/dashboards/components/widget-error.cjs.js +18 -0
  243. package/dist/domains/dashboards/components/widget-error.cjs.js.map +1 -0
  244. package/dist/domains/dashboards/components/widget-error.d.ts +1 -0
  245. package/dist/domains/dashboards/components/widget-error.es.js +17 -0
  246. package/dist/domains/dashboards/components/widget-error.es.js.map +1 -0
  247. package/dist/domains/dashboards/hooks/use-dashboard-requests.cjs.js +47 -0
  248. package/dist/domains/dashboards/hooks/use-dashboard-requests.cjs.js.map +1 -0
  249. package/dist/domains/dashboards/hooks/use-dashboard-requests.d.ts +1 -0
  250. package/dist/domains/dashboards/hooks/use-dashboard-requests.es.js +46 -0
  251. package/dist/domains/dashboards/hooks/use-dashboard-requests.es.js.map +1 -0
  252. package/dist/domains/dashboards/hooks/use-scorers.cjs.js +41 -0
  253. package/dist/domains/dashboards/hooks/use-scorers.cjs.js.map +1 -0
  254. package/dist/domains/dashboards/hooks/use-scorers.d.ts +1 -0
  255. package/dist/domains/dashboards/hooks/use-scorers.es.js +40 -0
  256. package/dist/domains/dashboards/hooks/use-scorers.es.js.map +1 -0
  257. package/dist/domains/dashboards/hooks/use-widget-views.cjs.js +35 -0
  258. package/dist/domains/dashboards/hooks/use-widget-views.cjs.js.map +1 -0
  259. package/dist/domains/dashboards/hooks/use-widget-views.d.ts +1 -0
  260. package/dist/domains/dashboards/hooks/use-widget-views.es.js +32 -0
  261. package/dist/domains/dashboards/hooks/use-widget-views.es.js.map +1 -0
  262. package/dist/domains/dashboards/kinds/kpis/kpis-widget.cjs.js +63 -0
  263. package/dist/domains/dashboards/kinds/kpis/kpis-widget.cjs.js.map +1 -0
  264. package/dist/domains/dashboards/kinds/kpis/kpis-widget.d.ts +1 -0
  265. package/dist/domains/dashboards/kinds/kpis/kpis-widget.es.js +62 -0
  266. package/dist/domains/dashboards/kinds/kpis/kpis-widget.es.js.map +1 -0
  267. package/dist/domains/dashboards/kinds/kpis/options.cjs.js +72 -0
  268. package/dist/domains/dashboards/kinds/kpis/options.cjs.js.map +1 -0
  269. package/dist/domains/dashboards/kinds/kpis/options.d.ts +1 -0
  270. package/dist/domains/dashboards/kinds/kpis/options.es.js +69 -0
  271. package/dist/domains/dashboards/kinds/kpis/options.es.js.map +1 -0
  272. package/dist/domains/dashboards/kinds/kpis.cjs.js +17 -0
  273. package/dist/domains/dashboards/kinds/kpis.cjs.js.map +1 -0
  274. package/dist/domains/dashboards/kinds/kpis.d.ts +1 -0
  275. package/dist/domains/dashboards/kinds/kpis.es.js +14 -0
  276. package/dist/domains/dashboards/kinds/kpis.es.js.map +1 -0
  277. package/dist/domains/dashboards/kinds/scores/options.cjs.js +30 -0
  278. package/dist/domains/dashboards/kinds/scores/options.cjs.js.map +1 -0
  279. package/dist/domains/dashboards/kinds/scores/options.d.ts +1 -0
  280. package/dist/domains/dashboards/kinds/scores/options.es.js +28 -0
  281. package/dist/domains/dashboards/kinds/scores/options.es.js.map +1 -0
  282. package/dist/domains/dashboards/kinds/scores/scores-widget.cjs.js +91 -0
  283. package/dist/domains/dashboards/kinds/scores/scores-widget.cjs.js.map +1 -0
  284. package/dist/domains/dashboards/kinds/scores/scores-widget.d.ts +1 -0
  285. package/dist/domains/dashboards/kinds/scores/scores-widget.es.js +90 -0
  286. package/dist/domains/dashboards/kinds/scores/scores-widget.es.js.map +1 -0
  287. package/dist/domains/dashboards/kinds/scores.cjs.js +16 -0
  288. package/dist/domains/dashboards/kinds/scores.cjs.js.map +1 -0
  289. package/dist/domains/dashboards/kinds/scores.d.ts +1 -0
  290. package/dist/domains/dashboards/kinds/scores.es.js +14 -0
  291. package/dist/domains/dashboards/kinds/scores.es.js.map +1 -0
  292. package/dist/domains/dashboards/kinds/table/table-cells.cjs.js +67 -0
  293. package/dist/domains/dashboards/kinds/table/table-cells.cjs.js.map +1 -0
  294. package/dist/domains/dashboards/kinds/table/table-cells.d.ts +1 -0
  295. package/dist/domains/dashboards/kinds/table/table-cells.es.js +63 -0
  296. package/dist/domains/dashboards/kinds/table/table-cells.es.js.map +1 -0
  297. package/dist/domains/dashboards/kinds/table/table-columns.cjs.js +72 -0
  298. package/dist/domains/dashboards/kinds/table/table-columns.cjs.js.map +1 -0
  299. package/dist/domains/dashboards/kinds/table/table-columns.d.ts +1 -0
  300. package/dist/domains/dashboards/kinds/table/table-columns.es.js +71 -0
  301. package/dist/domains/dashboards/kinds/table/table-columns.es.js.map +1 -0
  302. package/dist/domains/dashboards/kinds/table/table-frame.cjs.js +16 -0
  303. package/dist/domains/dashboards/kinds/table/table-frame.cjs.js.map +1 -0
  304. package/dist/domains/dashboards/kinds/table/table-frame.d.ts +1 -0
  305. package/dist/domains/dashboards/kinds/table/table-frame.es.js +15 -0
  306. package/dist/domains/dashboards/kinds/table/table-frame.es.js.map +1 -0
  307. package/dist/domains/dashboards/kinds/table/table-tabs.cjs.js +55 -0
  308. package/dist/domains/dashboards/kinds/table/table-tabs.cjs.js.map +1 -0
  309. package/dist/domains/dashboards/kinds/table/table-tabs.d.ts +1 -0
  310. package/dist/domains/dashboards/kinds/table/table-tabs.es.js +54 -0
  311. package/dist/domains/dashboards/kinds/table/table-tabs.es.js.map +1 -0
  312. package/dist/domains/dashboards/kinds/table/table-view.cjs.js +80 -0
  313. package/dist/domains/dashboards/kinds/table/table-view.cjs.js.map +1 -0
  314. package/dist/domains/dashboards/kinds/table/table-view.d.ts +1 -0
  315. package/dist/domains/dashboards/kinds/table/table-view.es.js +79 -0
  316. package/dist/domains/dashboards/kinds/table/table-view.es.js.map +1 -0
  317. package/dist/domains/dashboards/kinds/table/table-widget.cjs.js +30 -0
  318. package/dist/domains/dashboards/kinds/table/table-widget.cjs.js.map +1 -0
  319. package/dist/domains/dashboards/kinds/table/table-widget.d.ts +1 -0
  320. package/dist/domains/dashboards/kinds/table/table-widget.es.js +29 -0
  321. package/dist/domains/dashboards/kinds/table/table-widget.es.js.map +1 -0
  322. package/dist/domains/dashboards/kinds/table.cjs.js +17 -0
  323. package/dist/domains/dashboards/kinds/table.cjs.js.map +1 -0
  324. package/dist/domains/dashboards/kinds/table.d.ts +1 -0
  325. package/dist/domains/dashboards/kinds/table.es.js +14 -0
  326. package/dist/domains/dashboards/kinds/table.es.js.map +1 -0
  327. package/dist/domains/dashboards/kinds/timeseries/timeseries-widget.cjs.js +115 -0
  328. package/dist/domains/dashboards/kinds/timeseries/timeseries-widget.cjs.js.map +1 -0
  329. package/dist/domains/dashboards/kinds/timeseries/timeseries-widget.d.ts +1 -0
  330. package/dist/domains/dashboards/kinds/timeseries/timeseries-widget.es.js +114 -0
  331. package/dist/domains/dashboards/kinds/timeseries/timeseries-widget.es.js.map +1 -0
  332. package/dist/domains/dashboards/kinds/timeseries.cjs.js +15 -0
  333. package/dist/domains/dashboards/kinds/timeseries.cjs.js.map +1 -0
  334. package/dist/domains/dashboards/kinds/timeseries.d.ts +1 -0
  335. package/dist/domains/dashboards/kinds/timeseries.es.js +14 -0
  336. package/dist/domains/dashboards/kinds/timeseries.es.js.map +1 -0
  337. package/dist/domains/dashboards/kinds.cjs.js +20 -0
  338. package/dist/domains/dashboards/kinds.cjs.js.map +1 -0
  339. package/dist/domains/dashboards/kinds.d.ts +1 -0
  340. package/dist/domains/dashboards/kinds.es.js +15 -0
  341. package/dist/domains/dashboards/kinds.es.js.map +1 -0
  342. package/dist/domains/dashboards/lib/answers.cjs.js +42 -0
  343. package/dist/domains/dashboards/lib/answers.cjs.js.map +1 -0
  344. package/dist/domains/dashboards/lib/answers.d.ts +1 -0
  345. package/dist/domains/dashboards/lib/answers.es.js +37 -0
  346. package/dist/domains/dashboards/lib/answers.es.js.map +1 -0
  347. package/dist/domains/dashboards/lib/chrome.cjs.js +41 -0
  348. package/dist/domains/dashboards/lib/chrome.cjs.js.map +1 -0
  349. package/dist/domains/dashboards/lib/chrome.d.ts +1 -0
  350. package/dist/domains/dashboards/lib/chrome.es.js +37 -0
  351. package/dist/domains/dashboards/lib/chrome.es.js.map +1 -0
  352. package/dist/domains/dashboards/lib/definition.cjs.js +59 -0
  353. package/dist/domains/dashboards/lib/definition.cjs.js.map +1 -0
  354. package/dist/domains/dashboards/lib/definition.d.ts +1 -0
  355. package/dist/domains/dashboards/lib/definition.es.js +55 -0
  356. package/dist/domains/dashboards/lib/definition.es.js.map +1 -0
  357. package/dist/domains/dashboards/lib/filters.cjs.js +44 -0
  358. package/dist/domains/dashboards/lib/filters.cjs.js.map +1 -0
  359. package/dist/domains/dashboards/lib/filters.d.ts +1 -0
  360. package/dist/domains/dashboards/lib/filters.es.js +43 -0
  361. package/dist/domains/dashboards/lib/filters.es.js.map +1 -0
  362. package/dist/domains/dashboards/lib/format.cjs.js +32 -0
  363. package/dist/domains/dashboards/lib/format.cjs.js.map +1 -0
  364. package/dist/domains/dashboards/lib/format.d.ts +1 -0
  365. package/dist/domains/dashboards/lib/format.es.js +30 -0
  366. package/dist/domains/dashboards/lib/format.es.js.map +1 -0
  367. package/dist/domains/dashboards/lib/prepare-widget.cjs.js +77 -0
  368. package/dist/domains/dashboards/lib/prepare-widget.cjs.js.map +1 -0
  369. package/dist/domains/dashboards/lib/prepare-widget.d.ts +1 -0
  370. package/dist/domains/dashboards/lib/prepare-widget.es.js +75 -0
  371. package/dist/domains/dashboards/lib/prepare-widget.es.js.map +1 -0
  372. package/dist/domains/dashboards/lib/requests.cjs.js +279 -0
  373. package/dist/domains/dashboards/lib/requests.cjs.js.map +1 -0
  374. package/dist/domains/dashboards/lib/requests.d.ts +1 -0
  375. package/dist/domains/dashboards/lib/requests.es.js +273 -0
  376. package/dist/domains/dashboards/lib/requests.es.js.map +1 -0
  377. package/dist/domains/dashboards/lib/scores.cjs.js +58 -0
  378. package/dist/domains/dashboards/lib/scores.cjs.js.map +1 -0
  379. package/dist/domains/dashboards/lib/scores.d.ts +1 -0
  380. package/dist/domains/dashboards/lib/scores.es.js +53 -0
  381. package/dist/domains/dashboards/lib/scores.es.js.map +1 -0
  382. package/dist/domains/dashboards/lib/table.cjs.js +408 -0
  383. package/dist/domains/dashboards/lib/table.cjs.js.map +1 -0
  384. package/dist/domains/dashboards/lib/table.d.ts +1 -0
  385. package/dist/domains/dashboards/lib/table.es.js +388 -0
  386. package/dist/domains/dashboards/lib/table.es.js.map +1 -0
  387. package/dist/domains/dashboards/lib/timeseries.cjs.js +192 -0
  388. package/dist/domains/dashboards/lib/timeseries.cjs.js.map +1 -0
  389. package/dist/domains/dashboards/lib/timeseries.d.ts +1 -0
  390. package/dist/domains/dashboards/lib/timeseries.es.js +188 -0
  391. package/dist/domains/dashboards/lib/timeseries.es.js.map +1 -0
  392. package/dist/domains/dashboards/lib/values.cjs.js +155 -0
  393. package/dist/domains/dashboards/lib/values.cjs.js.map +1 -0
  394. package/dist/domains/dashboards/lib/values.d.ts +1 -0
  395. package/dist/domains/dashboards/lib/values.es.js +142 -0
  396. package/dist/domains/dashboards/lib/values.es.js.map +1 -0
  397. package/dist/domains/dashboards/metrics-dashboard.cjs.js +737 -0
  398. package/dist/domains/dashboards/metrics-dashboard.cjs.js.map +1 -0
  399. package/dist/domains/dashboards/metrics-dashboard.d.ts +1 -0
  400. package/dist/domains/dashboards/metrics-dashboard.es.js +736 -0
  401. package/dist/domains/dashboards/metrics-dashboard.es.js.map +1 -0
  402. package/dist/domains/dashboards/widget-kind.cjs.js +7 -0
  403. package/dist/domains/dashboards/widget-kind.cjs.js.map +1 -0
  404. package/dist/domains/dashboards/widget-kind.d.ts +1 -0
  405. package/dist/domains/dashboards/widget-kind.es.js +6 -0
  406. package/dist/domains/dashboards/widget-kind.es.js.map +1 -0
  407. package/dist/domains/dashboards.cjs.js +39 -0
  408. package/dist/domains/dashboards.d.ts +1 -0
  409. package/dist/domains/dashboards.es.js +18 -0
  410. package/dist/domains/logs/components/logs-list-view.cjs.js +1 -1
  411. package/dist/domains/logs/components/logs-list-view.es.js +1 -1
  412. package/dist/domains/logs/components/logs-saved-views.cjs.js +14 -0
  413. package/dist/domains/logs/components/logs-saved-views.cjs.js.map +1 -0
  414. package/dist/domains/logs/components/logs-saved-views.d.ts +1 -0
  415. package/dist/domains/logs/components/logs-saved-views.es.js +13 -0
  416. package/dist/domains/logs/components/logs-saved-views.es.js.map +1 -0
  417. package/dist/domains/logs/components.cjs.js +2 -0
  418. package/dist/domains/logs/components.es.js +2 -1
  419. package/dist/domains/logs/hooks/use-logs-url-state.cjs.js +1 -1
  420. package/dist/domains/logs/hooks/use-logs-url-state.cjs.js.map +1 -1
  421. package/dist/domains/logs/hooks/use-logs-url-state.es.js +2 -2
  422. package/dist/domains/logs/hooks/use-logs-url-state.es.js.map +1 -1
  423. package/dist/domains/logs/log-filters.cjs.js +11 -0
  424. package/dist/domains/logs/log-filters.cjs.js.map +1 -1
  425. package/dist/domains/logs/log-filters.es.js +9 -1
  426. package/dist/domains/logs/log-filters.es.js.map +1 -1
  427. package/dist/domains/logs.cjs.js +6 -1
  428. package/dist/domains/logs.es.js +3 -2
  429. package/dist/domains/metrics/components/agent-runs-card.cjs.js +38 -15
  430. package/dist/domains/metrics/components/agent-runs-card.cjs.js.map +1 -1
  431. package/dist/domains/metrics/components/agent-runs-card.es.js +38 -15
  432. package/dist/domains/metrics/components/agent-runs-card.es.js.map +1 -1
  433. package/dist/domains/metrics/components/breakdown/breakdown-change-cell.cjs.js +4 -11
  434. package/dist/domains/metrics/components/breakdown/breakdown-change-cell.cjs.js.map +1 -1
  435. package/dist/domains/metrics/components/breakdown/breakdown-change-cell.es.js +4 -11
  436. package/dist/domains/metrics/components/breakdown/breakdown-change-cell.es.js.map +1 -1
  437. package/dist/domains/metrics/components/breakdown/breakdown-cost-cell.cjs.js +2 -4
  438. package/dist/domains/metrics/components/breakdown/breakdown-cost-cell.cjs.js.map +1 -1
  439. package/dist/domains/metrics/components/breakdown/breakdown-cost-cell.es.js +2 -4
  440. package/dist/domains/metrics/components/breakdown/breakdown-cost-cell.es.js.map +1 -1
  441. package/dist/domains/metrics/components/breakdown/breakdown-entity-tab.cjs.js +1 -1
  442. package/dist/domains/metrics/components/breakdown/breakdown-entity-tab.es.js +1 -1
  443. package/dist/domains/metrics/components/breakdown/breakdown-frame.cjs.js +16 -27
  444. package/dist/domains/metrics/components/breakdown/breakdown-frame.cjs.js.map +1 -1
  445. package/dist/domains/metrics/components/breakdown/breakdown-frame.es.js +16 -27
  446. package/dist/domains/metrics/components/breakdown/breakdown-frame.es.js.map +1 -1
  447. package/dist/domains/metrics/components/breakdown/breakdown-models-tab.cjs.js +1 -1
  448. package/dist/domains/metrics/components/breakdown/breakdown-models-tab.es.js +1 -1
  449. package/dist/domains/metrics/components/breakdown/breakdown-name.cjs.js +22 -0
  450. package/dist/domains/metrics/components/breakdown/breakdown-name.cjs.js.map +1 -0
  451. package/dist/domains/metrics/components/breakdown/breakdown-name.d.ts +1 -0
  452. package/dist/domains/metrics/components/breakdown/breakdown-name.es.js +21 -0
  453. package/dist/domains/metrics/components/breakdown/breakdown-name.es.js.map +1 -0
  454. package/dist/domains/metrics/components/breakdown/breakdown-not-priced.cjs.js +13 -0
  455. package/dist/domains/metrics/components/breakdown/breakdown-not-priced.cjs.js.map +1 -0
  456. package/dist/domains/metrics/components/breakdown/breakdown-not-priced.d.ts +1 -0
  457. package/dist/domains/metrics/components/breakdown/breakdown-not-priced.es.js +12 -0
  458. package/dist/domains/metrics/components/breakdown/breakdown-not-priced.es.js.map +1 -0
  459. package/dist/domains/metrics/components/breakdown/breakdown-projects-first.cjs.js +1 -1
  460. package/dist/domains/metrics/components/breakdown/breakdown-projects-first.es.js +1 -1
  461. package/dist/domains/metrics/components/breakdown/breakdown-row-mark.cjs.js +26 -13
  462. package/dist/domains/metrics/components/breakdown/breakdown-row-mark.cjs.js.map +1 -1
  463. package/dist/domains/metrics/components/breakdown/breakdown-row-mark.es.js +25 -14
  464. package/dist/domains/metrics/components/breakdown/breakdown-row-mark.es.js.map +1 -1
  465. package/dist/domains/metrics/components/breakdown/breakdown-row-name.cjs.js +10 -13
  466. package/dist/domains/metrics/components/breakdown/breakdown-row-name.cjs.js.map +1 -1
  467. package/dist/domains/metrics/components/breakdown/breakdown-row-name.es.js +11 -14
  468. package/dist/domains/metrics/components/breakdown/breakdown-row-name.es.js.map +1 -1
  469. package/dist/domains/metrics/components/breakdown/breakdown-tab-body.cjs.js +1 -1
  470. package/dist/domains/metrics/components/breakdown/breakdown-tab-body.es.js +1 -1
  471. package/dist/domains/metrics/components/breakdown/breakdown-table.cjs.js +5 -5
  472. package/dist/domains/metrics/components/breakdown/breakdown-table.es.js +5 -5
  473. package/dist/domains/metrics/components/breakdown/breakdown-trace-tab.cjs.js +1 -1
  474. package/dist/domains/metrics/components/breakdown/breakdown-trace-tab.es.js +1 -1
  475. package/dist/domains/metrics/components/breakdown/breakdown-trend-text.cjs.js +25 -0
  476. package/dist/domains/metrics/components/breakdown/breakdown-trend-text.cjs.js.map +1 -0
  477. package/dist/domains/metrics/components/breakdown/breakdown-trend-text.d.ts +1 -0
  478. package/dist/domains/metrics/components/breakdown/breakdown-trend-text.es.js +24 -0
  479. package/dist/domains/metrics/components/breakdown/breakdown-trend-text.es.js.map +1 -0
  480. package/dist/domains/metrics/components/breakdown-card.cjs.js +3 -3
  481. package/dist/domains/metrics/components/breakdown-card.es.js +3 -3
  482. package/dist/domains/metrics/components/card-action-buttons.cjs.js +43 -3
  483. package/dist/domains/metrics/components/card-action-buttons.cjs.js.map +1 -1
  484. package/dist/domains/metrics/components/card-action-buttons.es.js +42 -5
  485. package/dist/domains/metrics/components/card-action-buttons.es.js.map +1 -1
  486. package/dist/domains/metrics/components/chart-area.cjs.js +1 -1
  487. package/dist/domains/metrics/components/chart-area.es.js +1 -1
  488. package/dist/domains/metrics/components/chart-card-error.cjs.js +1 -1
  489. package/dist/domains/metrics/components/chart-card-error.es.js +1 -1
  490. package/dist/domains/metrics/components/chart-card.cjs.js +39 -38
  491. package/dist/domains/metrics/components/chart-card.cjs.js.map +1 -1
  492. package/dist/domains/metrics/components/chart-card.es.js +39 -38
  493. package/dist/domains/metrics/components/chart-card.es.js.map +1 -1
  494. package/dist/domains/metrics/components/date-range-selector.cjs.js +1 -1
  495. package/dist/domains/metrics/components/date-range-selector.es.js +1 -1
  496. package/dist/domains/metrics/components/distinct-ids/distinct-ids-chart.cjs.js +15 -16
  497. package/dist/domains/metrics/components/distinct-ids/distinct-ids-chart.cjs.js.map +1 -1
  498. package/dist/domains/metrics/components/distinct-ids/distinct-ids-chart.es.js +16 -16
  499. package/dist/domains/metrics/components/distinct-ids/distinct-ids-chart.es.js.map +1 -1
  500. package/dist/domains/metrics/components/distinct-ids-card.cjs.js +0 -1
  501. package/dist/domains/metrics/components/distinct-ids-card.cjs.js.map +1 -1
  502. package/dist/domains/metrics/components/distinct-ids-card.es.js +1 -2
  503. package/dist/domains/metrics/components/distinct-ids-card.es.js.map +1 -1
  504. package/dist/domains/metrics/components/failure-rate-card.cjs.js +11 -14
  505. package/dist/domains/metrics/components/failure-rate-card.cjs.js.map +1 -1
  506. package/dist/domains/metrics/components/failure-rate-card.es.js +11 -14
  507. package/dist/domains/metrics/components/failure-rate-card.es.js.map +1 -1
  508. package/dist/domains/metrics/components/kpi-card.cjs.js +8 -5
  509. package/dist/domains/metrics/components/kpi-card.cjs.js.map +1 -1
  510. package/dist/domains/metrics/components/kpi-card.es.js +8 -5
  511. package/dist/domains/metrics/components/kpi-card.es.js.map +1 -1
  512. package/dist/domains/metrics/components/latency-card.cjs.js +33 -30
  513. package/dist/domains/metrics/components/latency-card.cjs.js.map +1 -1
  514. package/dist/domains/metrics/components/latency-card.es.js +34 -31
  515. package/dist/domains/metrics/components/latency-card.es.js.map +1 -1
  516. package/dist/domains/metrics/components/metrics-grid/metrics-grid.cjs.js +5 -2
  517. package/dist/domains/metrics/components/metrics-grid/metrics-grid.cjs.js.map +1 -1
  518. package/dist/domains/metrics/components/metrics-grid/metrics-grid.es.js +5 -2
  519. package/dist/domains/metrics/components/metrics-grid/metrics-grid.es.js.map +1 -1
  520. package/dist/domains/metrics/components/scores-card.cjs.js +7 -17
  521. package/dist/domains/metrics/components/scores-card.cjs.js.map +1 -1
  522. package/dist/domains/metrics/components/scores-card.es.js +7 -17
  523. package/dist/domains/metrics/components/scores-card.es.js.map +1 -1
  524. package/dist/domains/metrics/components/token-usage-card.cjs.js +29 -26
  525. package/dist/domains/metrics/components/token-usage-card.cjs.js.map +1 -1
  526. package/dist/domains/metrics/components/token-usage-card.es.js +30 -27
  527. package/dist/domains/metrics/components/token-usage-card.es.js.map +1 -1
  528. package/dist/domains/metrics/components/trace-aggregate-card.cjs.js +3 -2
  529. package/dist/domains/metrics/components/trace-aggregate-card.cjs.js.map +1 -1
  530. package/dist/domains/metrics/components/trace-aggregate-card.es.js +3 -2
  531. package/dist/domains/metrics/components/trace-aggregate-card.es.js.map +1 -1
  532. package/dist/domains/metrics/components/trace-volume-card.cjs.js +31 -35
  533. package/dist/domains/metrics/components/trace-volume-card.cjs.js.map +1 -1
  534. package/dist/domains/metrics/components/trace-volume-card.es.js +31 -35
  535. package/dist/domains/metrics/components/trace-volume-card.es.js.map +1 -1
  536. package/dist/domains/metrics/components/usage-card.cjs.js +29 -28
  537. package/dist/domains/metrics/components/usage-card.cjs.js.map +1 -1
  538. package/dist/domains/metrics/components/usage-card.es.js +30 -29
  539. package/dist/domains/metrics/components/usage-card.es.js.map +1 -1
  540. package/dist/domains/metrics/components.cjs.js +6 -5
  541. package/dist/domains/metrics/components.es.js +4 -5
  542. package/dist/domains/metrics/drilldown.cjs.js +1 -1
  543. package/dist/domains/metrics/drilldown.es.js +1 -1
  544. package/dist/domains/metrics/hooks/use-metrics-activity.cjs.js +1 -1
  545. package/dist/domains/metrics/hooks/use-metrics-activity.es.js +1 -1
  546. package/dist/domains/metrics/hooks/use-metrics-latency.cjs.js +1 -1
  547. package/dist/domains/metrics/hooks/use-metrics-latency.es.js +1 -1
  548. package/dist/domains/metrics/hooks/use-metrics-scores.cjs.js +1 -1
  549. package/dist/domains/metrics/hooks/use-metrics-scores.es.js +1 -1
  550. package/dist/domains/metrics/hooks/use-metrics-span-aggregate.cjs.js +1 -1
  551. package/dist/domains/metrics/hooks/use-metrics-span-aggregate.es.js +1 -1
  552. package/dist/domains/metrics/hooks.cjs.js +1 -1
  553. package/dist/domains/metrics/hooks.es.js +1 -1
  554. package/dist/domains/metrics/lib/breakdown-table.cjs.js +2 -2
  555. package/dist/domains/metrics/lib/breakdown-table.es.js +2 -2
  556. package/dist/domains/metrics/lib.cjs.js +2 -2
  557. package/dist/domains/metrics/lib.es.js +2 -2
  558. package/dist/domains/metrics/metrics-filters.cjs.js +1 -1
  559. package/dist/domains/metrics/metrics-filters.es.js +1 -1
  560. package/dist/domains/metrics.cjs.js +14 -13
  561. package/dist/domains/metrics.es.js +12 -13
  562. package/dist/domains/observability/components/observability-header-slot.cjs.js +13 -0
  563. package/dist/domains/observability/components/observability-header-slot.cjs.js.map +1 -0
  564. package/dist/domains/observability/components/observability-header-slot.d.ts +1 -0
  565. package/dist/domains/observability/components/observability-header-slot.es.js +11 -0
  566. package/dist/domains/observability/components/observability-header-slot.es.js.map +1 -0
  567. package/dist/domains/observability/components/observability-histogram.cjs.js +6 -2
  568. package/dist/domains/observability/components/observability-histogram.cjs.js.map +1 -1
  569. package/dist/domains/observability/components/observability-histogram.es.js +6 -2
  570. package/dist/domains/observability/components/observability-histogram.es.js.map +1 -1
  571. package/dist/domains/observability/components/observability-page-layout.cjs.js +19 -5
  572. package/dist/domains/observability/components/observability-page-layout.cjs.js.map +1 -1
  573. package/dist/domains/observability/components/observability-page-layout.es.js +20 -6
  574. package/dist/domains/observability/components/observability-page-layout.es.js.map +1 -1
  575. package/dist/domains/observability/hooks/use-observability-list-filters.cjs.js +75 -18
  576. package/dist/domains/observability/hooks/use-observability-list-filters.cjs.js.map +1 -1
  577. package/dist/domains/observability/hooks/use-observability-list-filters.es.js +76 -19
  578. package/dist/domains/observability/hooks/use-observability-list-filters.es.js.map +1 -1
  579. package/dist/domains/observability/lib/zoom-memory.cjs.js +24 -0
  580. package/dist/domains/observability/lib/zoom-memory.cjs.js.map +1 -0
  581. package/dist/domains/observability/lib/zoom-memory.d.ts +1 -0
  582. package/dist/domains/observability/lib/zoom-memory.es.js +22 -0
  583. package/dist/domains/observability/lib/zoom-memory.es.js.map +1 -0
  584. package/dist/domains/observability/observability-list-url-state.cjs.js +122 -0
  585. package/dist/domains/observability/observability-list-url-state.cjs.js.map +1 -0
  586. package/dist/domains/observability/observability-list-url-state.d.ts +1 -0
  587. package/dist/domains/observability/observability-list-url-state.es.js +111 -0
  588. package/dist/domains/observability/observability-list-url-state.es.js.map +1 -0
  589. package/dist/domains/observability/saved-view-state.cjs.js +292 -0
  590. package/dist/domains/observability/saved-view-state.cjs.js.map +1 -0
  591. package/dist/domains/observability/saved-view-state.d.ts +1 -0
  592. package/dist/domains/observability/saved-view-state.es.js +286 -0
  593. package/dist/domains/observability/saved-view-state.es.js.map +1 -0
  594. package/dist/domains/observability/saved-views/observability-saved-views.cjs.js +3 -0
  595. package/dist/domains/observability/saved-views/observability-saved-views.d.ts +1 -0
  596. package/dist/domains/observability/saved-views/observability-saved-views.es.js +1 -0
  597. package/dist/domains/observability/saved-views/saved-views-provider.cjs.js +18 -0
  598. package/dist/domains/observability/saved-views/saved-views-provider.cjs.js.map +1 -0
  599. package/dist/domains/observability/saved-views/saved-views-provider.d.ts +1 -0
  600. package/dist/domains/observability/saved-views/saved-views-provider.es.js +17 -0
  601. package/dist/domains/observability/saved-views/saved-views-provider.es.js.map +1 -0
  602. package/dist/domains/observability/saved-views/saved-views-source.cjs.js +23 -0
  603. package/dist/domains/observability/saved-views/saved-views-source.cjs.js.map +1 -0
  604. package/dist/domains/observability/saved-views/saved-views-source.d.ts +1 -0
  605. package/dist/domains/observability/saved-views/saved-views-source.es.js +19 -0
  606. package/dist/domains/observability/saved-views/saved-views-source.es.js.map +1 -0
  607. package/dist/domains/observability/saved-views/use-hosted-saved-views.cjs.js +235 -0
  608. package/dist/domains/observability/saved-views/use-hosted-saved-views.cjs.js.map +1 -0
  609. package/dist/domains/observability/saved-views/use-hosted-saved-views.d.ts +1 -0
  610. package/dist/domains/observability/saved-views/use-hosted-saved-views.es.js +232 -0
  611. package/dist/domains/observability/saved-views/use-hosted-saved-views.es.js.map +1 -0
  612. package/dist/domains/observability/saved-views.cjs.js +7 -0
  613. package/dist/domains/observability/saved-views.d.ts +1 -0
  614. package/dist/domains/observability/saved-views.es.js +4 -0
  615. package/dist/domains/observability.cjs.js +6 -0
  616. package/dist/domains/observability.es.js +4 -1
  617. package/dist/domains/scores/components/span-scoring.cjs.js +1 -1
  618. package/dist/domains/scores/components/span-scoring.es.js +1 -1
  619. package/dist/domains/scores/components/trace-scores-list.cjs.js +1 -1
  620. package/dist/domains/scores/components/trace-scores-list.es.js +1 -1
  621. package/dist/domains/scores/components/trace-scores-tab.cjs.js +1 -1
  622. package/dist/domains/scores/components/trace-scores-tab.es.js +1 -1
  623. package/dist/domains/skills/skill-simple-form.cjs.js +1 -1
  624. package/dist/domains/skills/skill-simple-form.es.js +1 -1
  625. package/dist/domains/spans/components/spans-explorer-body.cjs.js +64 -18
  626. package/dist/domains/spans/components/spans-explorer-body.cjs.js.map +1 -1
  627. package/dist/domains/spans/components/spans-explorer-body.es.js +64 -18
  628. package/dist/domains/spans/components/spans-explorer-body.es.js.map +1 -1
  629. package/dist/domains/spans/components/spans-filter-bar.cjs.js +6 -5
  630. package/dist/domains/spans/components/spans-filter-bar.cjs.js.map +1 -1
  631. package/dist/domains/spans/components/spans-filter-bar.es.js +6 -5
  632. package/dist/domains/spans/components/spans-filter-bar.es.js.map +1 -1
  633. package/dist/domains/spans/hooks/use-spans-filter-bar.cjs.js +15 -3
  634. package/dist/domains/spans/hooks/use-spans-filter-bar.cjs.js.map +1 -1
  635. package/dist/domains/spans/hooks/use-spans-filter-bar.es.js +15 -3
  636. package/dist/domains/spans/hooks/use-spans-filter-bar.es.js.map +1 -1
  637. package/dist/domains/spans/span-filters.cjs.js +53 -14
  638. package/dist/domains/spans/span-filters.cjs.js.map +1 -1
  639. package/dist/domains/spans/span-filters.es.js +52 -15
  640. package/dist/domains/spans/span-filters.es.js.map +1 -1
  641. package/dist/domains/spans/span-list-row.cjs.js +6 -1
  642. package/dist/domains/spans/span-list-row.cjs.js.map +1 -1
  643. package/dist/domains/spans/span-list-row.es.js +6 -1
  644. package/dist/domains/spans/span-list-row.es.js.map +1 -1
  645. package/dist/domains/threads/components/threads-explorer-body.cjs.js +45 -12
  646. package/dist/domains/threads/components/threads-explorer-body.cjs.js.map +1 -1
  647. package/dist/domains/threads/components/threads-explorer-body.es.js +46 -12
  648. package/dist/domains/threads/components/threads-explorer-body.es.js.map +1 -1
  649. package/dist/domains/threads/components/threads-filter-bar.cjs.js +3 -3
  650. package/dist/domains/threads/components/threads-filter-bar.es.js +3 -3
  651. package/dist/domains/threads/hooks/use-threads-filter-bar.cjs.js +14 -3
  652. package/dist/domains/threads/hooks/use-threads-filter-bar.cjs.js.map +1 -1
  653. package/dist/domains/threads/hooks/use-threads-filter-bar.es.js +14 -3
  654. package/dist/domains/threads/hooks/use-threads-filter-bar.es.js.map +1 -1
  655. package/dist/domains/threads/thread-filters.cjs.js +26 -13
  656. package/dist/domains/threads/thread-filters.cjs.js.map +1 -1
  657. package/dist/domains/threads/thread-filters.es.js +26 -13
  658. package/dist/domains/threads/thread-filters.es.js.map +1 -1
  659. package/dist/domains/threads/thread-list-row.cjs.js +2 -0
  660. package/dist/domains/threads/thread-list-row.cjs.js.map +1 -1
  661. package/dist/domains/threads/thread-list-row.es.js +2 -0
  662. package/dist/domains/threads/thread-list-row.es.js.map +1 -1
  663. package/dist/domains/traces/components/columns-menu/columns-menu.cjs.js +24 -19
  664. package/dist/domains/traces/components/columns-menu/columns-menu.cjs.js.map +1 -1
  665. package/dist/domains/traces/components/columns-menu/columns-menu.es.js +25 -20
  666. package/dist/domains/traces/components/columns-menu/columns-menu.es.js.map +1 -1
  667. package/dist/domains/traces/components/feedback-thread.cjs.js +1 -1
  668. package/dist/domains/traces/components/feedback-thread.es.js +1 -1
  669. package/dist/domains/traces/components/span-data-panel-view.cjs.js +12 -2
  670. package/dist/domains/traces/components/span-data-panel-view.cjs.js.map +1 -1
  671. package/dist/domains/traces/components/span-data-panel-view.es.js +12 -2
  672. package/dist/domains/traces/components/span-data-panel-view.es.js.map +1 -1
  673. package/dist/domains/traces/components/span-outcome.utils.cjs.js +1 -1
  674. package/dist/domains/traces/components/span-outcome.utils.es.js +1 -1
  675. package/dist/domains/traces/components/span-payload/span-error-renderer.cjs.js +1 -1
  676. package/dist/domains/traces/components/span-payload/span-error-renderer.es.js +1 -1
  677. package/dist/domains/traces/components/span-payload/span-input-renderers.cjs.js +1 -1
  678. package/dist/domains/traces/components/span-payload/span-input-renderers.es.js +1 -1
  679. package/dist/domains/traces/components/span-payload/span-output-renderers.cjs.js +2 -2
  680. package/dist/domains/traces/components/span-payload/span-output-renderers.es.js +2 -2
  681. package/dist/domains/traces/components/span-payload/span-payload-messages.cjs.js +3 -3
  682. package/dist/domains/traces/components/span-payload/span-payload-messages.es.js +3 -3
  683. package/dist/domains/traces/components/span-payload/span-payload-primitives.cjs.js +1 -1
  684. package/dist/domains/traces/components/span-payload/span-payload-primitives.es.js +1 -1
  685. package/dist/domains/traces/components/span-payload/span-payload-processor.cjs.js +1 -1
  686. package/dist/domains/traces/components/span-payload/span-payload-processor.es.js +1 -1
  687. package/dist/domains/traces/components/span-payload/span-payload-tool.cjs.js +1 -1
  688. package/dist/domains/traces/components/span-payload/span-payload-tool.es.js +1 -1
  689. package/dist/domains/traces/components/span-payload/span-processor-mutations.cjs.js +2 -2
  690. package/dist/domains/traces/components/span-payload/span-processor-mutations.es.js +2 -2
  691. package/dist/domains/traces/components/span-payload/span-tools-section.cjs.js +1 -1
  692. package/dist/domains/traces/components/span-payload/span-tools-section.es.js +1 -1
  693. package/dist/domains/traces/components/span-prompt-changes.cjs.js +1 -1
  694. package/dist/domains/traces/components/span-prompt-changes.es.js +1 -1
  695. package/dist/domains/traces/components/trace-columns-menu.cjs.js +2 -1
  696. package/dist/domains/traces/components/trace-columns-menu.cjs.js.map +1 -1
  697. package/dist/domains/traces/components/trace-columns-menu.es.js +2 -1
  698. package/dist/domains/traces/components/trace-columns-menu.es.js.map +1 -1
  699. package/dist/domains/traces/components/trace-data-panel-view.cjs.js +9 -2
  700. package/dist/domains/traces/components/trace-data-panel-view.cjs.js.map +1 -1
  701. package/dist/domains/traces/components/trace-data-panel-view.es.js +9 -2
  702. package/dist/domains/traces/components/trace-data-panel-view.es.js.map +1 -1
  703. package/dist/domains/traces/components/trace-span-panel.cjs.js +2 -1
  704. package/dist/domains/traces/components/trace-span-panel.cjs.js.map +1 -1
  705. package/dist/domains/traces/components/trace-span-panel.es.js +2 -1
  706. package/dist/domains/traces/components/trace-span-panel.es.js.map +1 -1
  707. package/dist/domains/traces/components/trace-span-timeline-markers.cjs.js +120 -0
  708. package/dist/domains/traces/components/trace-span-timeline-markers.cjs.js.map +1 -0
  709. package/dist/domains/traces/components/trace-span-timeline-markers.d.ts +1 -0
  710. package/dist/domains/traces/components/trace-span-timeline-markers.es.js +119 -0
  711. package/dist/domains/traces/components/trace-span-timeline-markers.es.js.map +1 -0
  712. package/dist/domains/traces/components/trace-span-timeline.cjs.js +8 -5
  713. package/dist/domains/traces/components/trace-span-timeline.cjs.js.map +1 -1
  714. package/dist/domains/traces/components/trace-span-timeline.es.js +8 -5
  715. package/dist/domains/traces/components/trace-span-timeline.es.js.map +1 -1
  716. package/dist/domains/traces/components/trace-time-range-chip.cjs.js +5 -5
  717. package/dist/domains/traces/components/trace-time-range-chip.cjs.js.map +1 -1
  718. package/dist/domains/traces/components/trace-time-range-chip.es.js +5 -5
  719. package/dist/domains/traces/components/trace-time-range-chip.es.js.map +1 -1
  720. package/dist/domains/traces/components/traces-explorer/traces-explorer-actions.cjs.js +15 -11
  721. package/dist/domains/traces/components/traces-explorer/traces-explorer-actions.cjs.js.map +1 -1
  722. package/dist/domains/traces/components/traces-explorer/traces-explorer-actions.es.js +15 -12
  723. package/dist/domains/traces/components/traces-explorer/traces-explorer-actions.es.js.map +1 -1
  724. package/dist/domains/traces/components/traces-explorer/traces-explorer-context.cjs.js +4 -3
  725. package/dist/domains/traces/components/traces-explorer/traces-explorer-context.cjs.js.map +1 -1
  726. package/dist/domains/traces/components/traces-explorer/traces-explorer-context.es.js +4 -3
  727. package/dist/domains/traces/components/traces-explorer/traces-explorer-context.es.js.map +1 -1
  728. package/dist/domains/traces/components/traces-explorer/traces-explorer-filter-bar.cjs.js +5 -4
  729. package/dist/domains/traces/components/traces-explorer/traces-explorer-filter-bar.cjs.js.map +1 -1
  730. package/dist/domains/traces/components/traces-explorer/traces-explorer-filter-bar.es.js +5 -4
  731. package/dist/domains/traces/components/traces-explorer/traces-explorer-filter-bar.es.js.map +1 -1
  732. package/dist/domains/traces/components/traces-explorer/traces-explorer-histogram.cjs.js +13 -5
  733. package/dist/domains/traces/components/traces-explorer/traces-explorer-histogram.cjs.js.map +1 -1
  734. package/dist/domains/traces/components/traces-explorer/traces-explorer-histogram.es.js +13 -5
  735. package/dist/domains/traces/components/traces-explorer/traces-explorer-histogram.es.js.map +1 -1
  736. package/dist/domains/traces/components/traces-explorer/traces-explorer-list-provider.cjs.js +5 -2
  737. package/dist/domains/traces/components/traces-explorer/traces-explorer-list-provider.cjs.js.map +1 -1
  738. package/dist/domains/traces/components/traces-explorer/traces-explorer-list-provider.es.js +5 -2
  739. package/dist/domains/traces/components/traces-explorer/traces-explorer-list-provider.es.js.map +1 -1
  740. package/dist/domains/traces/components/traces-explorer/traces-explorer-list.cjs.js +7 -11
  741. package/dist/domains/traces/components/traces-explorer/traces-explorer-list.cjs.js.map +1 -1
  742. package/dist/domains/traces/components/traces-explorer/traces-explorer-list.es.js +7 -11
  743. package/dist/domains/traces/components/traces-explorer/traces-explorer-list.es.js.map +1 -1
  744. package/dist/domains/traces/components/traces-explorer/traces-explorer-panel.cjs.js +3 -1
  745. package/dist/domains/traces/components/traces-explorer/traces-explorer-panel.cjs.js.map +1 -1
  746. package/dist/domains/traces/components/traces-explorer/traces-explorer-panel.es.js +3 -1
  747. package/dist/domains/traces/components/traces-explorer/traces-explorer-panel.es.js.map +1 -1
  748. package/dist/domains/traces/components/traces-explorer/traces-explorer-root.cjs.js +51 -5
  749. package/dist/domains/traces/components/traces-explorer/traces-explorer-root.cjs.js.map +1 -1
  750. package/dist/domains/traces/components/traces-explorer/traces-explorer-root.es.js +51 -5
  751. package/dist/domains/traces/components/traces-explorer/traces-explorer-root.es.js.map +1 -1
  752. package/dist/domains/traces/components/traces-explorer/traces-explorer-saved-views.cjs.js +20 -0
  753. package/dist/domains/traces/components/traces-explorer/traces-explorer-saved-views.cjs.js.map +1 -0
  754. package/dist/domains/traces/components/traces-explorer/traces-explorer-saved-views.d.ts +1 -0
  755. package/dist/domains/traces/components/traces-explorer/traces-explorer-saved-views.es.js +19 -0
  756. package/dist/domains/traces/components/traces-explorer/traces-explorer-saved-views.es.js.map +1 -0
  757. package/dist/domains/traces/components/traces-explorer/use-traces-filter-bar.cjs.js +10 -4
  758. package/dist/domains/traces/components/traces-explorer/use-traces-filter-bar.cjs.js.map +1 -1
  759. package/dist/domains/traces/components/traces-explorer/use-traces-filter-bar.es.js +10 -4
  760. package/dist/domains/traces/components/traces-explorer/use-traces-filter-bar.es.js.map +1 -1
  761. package/dist/domains/traces/components/traces-explorer.cjs.js +4 -1
  762. package/dist/domains/traces/components/traces-explorer.cjs.js.map +1 -1
  763. package/dist/domains/traces/components/traces-explorer.es.js +5 -3
  764. package/dist/domains/traces/components/traces-explorer.es.js.map +1 -1
  765. package/dist/domains/traces/components/traces-list-view-adapter.cjs.js +5 -1
  766. package/dist/domains/traces/components/traces-list-view-adapter.cjs.js.map +1 -1
  767. package/dist/domains/traces/components/traces-list-view-adapter.es.js +5 -1
  768. package/dist/domains/traces/components/traces-list-view-adapter.es.js.map +1 -1
  769. package/dist/domains/traces/components/traces-list-view.cjs.js +53 -18
  770. package/dist/domains/traces/components/traces-list-view.cjs.js.map +1 -1
  771. package/dist/domains/traces/components/traces-list-view.es.js +53 -18
  772. package/dist/domains/traces/components/traces-list-view.es.js.map +1 -1
  773. package/dist/domains/traces/components/traces-page-skeleton.cjs.js +1 -1
  774. package/dist/domains/traces/components/traces-page-skeleton.es.js +1 -1
  775. package/dist/domains/traces/trace-filters.cjs.js +5 -1
  776. package/dist/domains/traces/trace-filters.es.js +1 -1
  777. package/dist/domains/traces/trace-list-columns.cjs.js +48 -9
  778. package/dist/domains/traces/trace-list-columns.cjs.js.map +1 -1
  779. package/dist/domains/traces/trace-list-columns.es.js +48 -9
  780. package/dist/domains/traces/trace-list-columns.es.js.map +1 -1
  781. package/dist/domains/traces/trace-query-filters.cjs.js +1 -1
  782. package/dist/domains/traces/trace-query-filters.es.js +1 -1
  783. package/dist/domains/traces/utils/timeline-markers.cjs.js +34 -0
  784. package/dist/domains/traces/utils/timeline-markers.cjs.js.map +1 -0
  785. package/dist/domains/traces/utils/timeline-markers.d.ts +1 -0
  786. package/dist/domains/traces/utils/timeline-markers.es.js +33 -0
  787. package/dist/domains/traces/utils/timeline-markers.es.js.map +1 -0
  788. package/dist/domains/traces.cjs.js +5 -1
  789. package/dist/domains/traces.es.js +2 -2
  790. package/dist/domains/workflows/components/workflow-combobox.cjs.js +1 -1
  791. package/dist/domains/workflows/components/workflow-combobox.es.js +1 -1
  792. package/dist/domains/workflows/components/workflows-list/workflows-list.cjs.js +1 -1
  793. package/dist/domains/workflows/components/workflows-list/workflows-list.es.js +1 -1
  794. package/dist/domains/workflows/workflow/workflow-graph.cjs.js +1 -1
  795. package/dist/domains/workflows/workflow/workflow-graph.es.js +1 -1
  796. package/dist/domains/workspace/components/workspace-add-skill-dialog.cjs.js +1 -1
  797. package/dist/domains/workspace/components/workspace-add-skill-dialog.es.js +1 -1
  798. package/dist/domains/workspace/components/workspace-markdown-preview.cjs.js +1 -1
  799. package/dist/domains/workspace/components/workspace-markdown-preview.es.js +1 -1
  800. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js +1 -1
  801. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js +1 -1
  802. package/dist/{filter-bar-chip-B3pgpngW.js → filter-bar-chip-7O02P9Vk.js} +27 -9
  803. package/dist/filter-bar-chip-7O02P9Vk.js.map +1 -0
  804. package/dist/{filter-bar-chip-CyTAmjt6.cjs → filter-bar-chip-BUyMf8XQ.cjs} +40 -22
  805. package/dist/filter-bar-chip-BUyMf8XQ.cjs.map +1 -0
  806. package/dist/layout/tabbed-container.cjs.js +1 -1
  807. package/dist/layout/tabbed-container.es.js +1 -1
  808. package/dist/lib/form/json-schema-to-zod-runtime.cjs.js +4 -4
  809. package/dist/lib/form/json-schema-to-zod-runtime.cjs.js.map +1 -1
  810. package/dist/lib/form/json-schema-to-zod-runtime.es.js +4 -4
  811. package/dist/lib/form/json-schema-to-zod-runtime.es.js.map +1 -1
  812. package/dist/lib/form/zod-provider.cjs.js +5 -1
  813. package/dist/lib/form/zod-provider.cjs.js.map +1 -1
  814. package/dist/lib/form/zod-provider.es.js +5 -1
  815. package/dist/lib/form/zod-provider.es.js.map +1 -1
  816. package/dist/observability-saved-views-Bo5kLN20.js +297 -0
  817. package/dist/observability-saved-views-Bo5kLN20.js.map +1 -0
  818. package/dist/observability-saved-views-CwCii7hh.cjs +302 -0
  819. package/dist/observability-saved-views-CwCii7hh.cjs.map +1 -0
  820. package/dist/primitives/chart-axes.cjs.js +44 -0
  821. package/dist/primitives/chart-axes.cjs.js.map +1 -1
  822. package/dist/primitives/chart-axes.es.js +43 -1
  823. package/dist/primitives/chart-axes.es.js.map +1 -1
  824. package/dist/primitives/chart-frame.cjs.js +5 -3
  825. package/dist/primitives/chart-frame.cjs.js.map +1 -1
  826. package/dist/primitives/chart-frame.es.js +6 -4
  827. package/dist/primitives/chart-frame.es.js.map +1 -1
  828. package/dist/primitives/chart-time-tick.cjs.js +15 -11
  829. package/dist/primitives/chart-time-tick.cjs.js.map +1 -1
  830. package/dist/primitives/chart-time-tick.es.js +16 -12
  831. package/dist/primitives/chart-time-tick.es.js.map +1 -1
  832. package/dist/saved-view-schema-DRJYELfK.cjs +71 -0
  833. package/dist/saved-view-schema-DRJYELfK.cjs.map +1 -0
  834. package/dist/saved-view-schema-eJXlRRel.js +54 -0
  835. package/dist/saved-view-schema-eJXlRRel.js.map +1 -0
  836. package/dist/{span-payload-primitives-D3OO0u6u.cjs → span-payload-primitives-B10Xxmx7.cjs} +4 -4
  837. package/dist/{span-payload-primitives-D3OO0u6u.cjs.map → span-payload-primitives-B10Xxmx7.cjs.map} +1 -1
  838. package/dist/{span-payload-primitives-DTV7eUY-.js → span-payload-primitives-Dyhbqaa7.js} +4 -4
  839. package/dist/{span-payload-primitives-DTV7eUY-.js.map → span-payload-primitives-Dyhbqaa7.js.map} +1 -1
  840. package/dist/src/domains/chat/activity/activity-stretch-line.d.ts +4 -2
  841. package/dist/src/domains/chat/activity/components/activity-fold.d.ts +5 -4
  842. package/dist/src/domains/chat/activity/components/use-fading-edge.d.ts +6 -0
  843. package/dist/src/domains/chat/activity/components/use-rolling-words.d.ts +7 -0
  844. package/dist/src/domains/chat/activity/index.d.ts +2 -1
  845. package/dist/src/domains/chat/activity/model/activity-members.d.ts +1 -0
  846. package/dist/src/domains/chat/activity/model/activity-words.d.ts +3 -0
  847. package/dist/src/domains/chat/messages/renderers/tool-part.d.ts +4 -0
  848. package/dist/src/domains/chat/messages/skill-message.d.ts +3 -1
  849. package/dist/src/domains/chat/tools/badges/mcp-task-chip.d.ts +14 -0
  850. package/dist/src/domains/chat/tools/badges/tool-badge.d.ts +5 -1
  851. package/dist/src/domains/chat/tools/badges/use-mcp-task-progress.d.ts +27 -0
  852. package/dist/src/domains/chat/tools/tool-card.d.ts +5 -1
  853. package/dist/src/domains/dashboards/components/dashboard-grid.d.ts +18 -0
  854. package/dist/src/domains/dashboards/components/dashboard-renderer.d.ts +19 -0
  855. package/dist/src/domains/dashboards/components/view-gate.d.ts +30 -0
  856. package/dist/src/domains/dashboards/components/widget-chrome.d.ts +7 -0
  857. package/dist/src/domains/dashboards/components/widget-controls.d.ts +8 -0
  858. package/dist/src/domains/dashboards/components/widget-error.d.ts +6 -0
  859. package/dist/src/domains/dashboards/hooks/use-dashboard-requests.d.ts +10 -0
  860. package/dist/src/domains/dashboards/hooks/use-scorers.d.ts +66 -0
  861. package/dist/src/domains/dashboards/hooks/use-widget-views.d.ts +18 -0
  862. package/dist/src/domains/dashboards/index.d.ts +19 -0
  863. package/dist/src/domains/dashboards/kinds/index.d.ts +7 -0
  864. package/dist/src/domains/dashboards/kinds/kpis/index.d.ts +13 -0
  865. package/dist/src/domains/dashboards/kinds/kpis/kpis-widget.d.ts +3 -0
  866. package/dist/src/domains/dashboards/kinds/kpis/options.d.ts +35 -0
  867. package/dist/src/domains/dashboards/kinds/scores/index.d.ts +8 -0
  868. package/dist/src/domains/dashboards/kinds/scores/options.d.ts +13 -0
  869. package/dist/src/domains/dashboards/kinds/scores/scores-widget.d.ts +3 -0
  870. package/dist/src/domains/dashboards/kinds/table/index.d.ts +23 -0
  871. package/dist/src/domains/dashboards/kinds/table/table-cells.d.ts +26 -0
  872. package/dist/src/domains/dashboards/kinds/table/table-columns.d.ts +7 -0
  873. package/dist/src/domains/dashboards/kinds/table/table-frame.d.ts +13 -0
  874. package/dist/src/domains/dashboards/kinds/table/table-tabs.d.ts +10 -0
  875. package/dist/src/domains/dashboards/kinds/table/table-view.d.ts +5 -0
  876. package/dist/src/domains/dashboards/kinds/table/table-widget.d.ts +7 -0
  877. package/dist/src/domains/dashboards/kinds/timeseries/index.d.ts +30 -0
  878. package/dist/src/domains/dashboards/kinds/timeseries/timeseries-widget.d.ts +5 -0
  879. package/dist/src/domains/dashboards/lib/answers.d.ts +43 -0
  880. package/dist/src/domains/dashboards/lib/chrome.d.ts +14 -0
  881. package/dist/src/domains/dashboards/lib/definition.d.ts +27 -0
  882. package/dist/src/domains/dashboards/lib/filters.d.ts +6 -0
  883. package/dist/src/domains/dashboards/lib/format.d.ts +7 -0
  884. package/dist/src/domains/dashboards/lib/prepare-widget.d.ts +26 -0
  885. package/dist/src/domains/dashboards/lib/requests.d.ts +95 -0
  886. package/dist/src/domains/dashboards/lib/scores.d.ts +35 -0
  887. package/dist/src/domains/dashboards/lib/table.d.ts +188 -0
  888. package/dist/src/domains/dashboards/lib/timeseries.d.ts +119 -0
  889. package/dist/src/domains/dashboards/lib/values.d.ts +86 -0
  890. package/dist/src/domains/dashboards/metrics-dashboard.d.ts +7 -0
  891. package/dist/src/domains/dashboards/widget-kind.d.ts +31 -0
  892. package/dist/src/domains/logs/components/index.d.ts +1 -0
  893. package/dist/src/domains/logs/components/logs-saved-views.d.ts +4 -0
  894. package/dist/src/domains/logs/log-filters.d.ts +8 -0
  895. package/dist/src/domains/metrics/components/agent-runs-card.d.ts +10 -3
  896. package/dist/src/domains/metrics/components/breakdown/breakdown-name.d.ts +13 -0
  897. package/dist/src/domains/metrics/components/breakdown/breakdown-not-priced.d.ts +2 -0
  898. package/dist/src/domains/metrics/components/breakdown/breakdown-row-mark.d.ts +17 -4
  899. package/dist/src/domains/metrics/components/breakdown/breakdown-trend-text.d.ts +9 -0
  900. package/dist/src/domains/metrics/components/card-action-buttons.d.ts +9 -0
  901. package/dist/src/domains/metrics/components/chart-card.d.ts +33 -21
  902. package/dist/src/domains/metrics/components/distinct-ids/distinct-ids-chart.d.ts +0 -1
  903. package/dist/src/domains/metrics/components/failure-rate-card.d.ts +5 -2
  904. package/dist/src/domains/metrics/components/index.d.ts +1 -2
  905. package/dist/src/domains/metrics/components/metrics-grid/metrics-grid.d.ts +4 -1
  906. package/dist/src/domains/metrics/components/trace-aggregate-card.d.ts +1 -1
  907. package/dist/src/domains/observability/components/observability-header-slot.d.ts +6 -0
  908. package/dist/src/domains/observability/components/observability-histogram.d.ts +1 -1
  909. package/dist/src/domains/observability/hooks/use-observability-list-filters.d.ts +21 -5
  910. package/dist/src/domains/observability/index.d.ts +2 -0
  911. package/dist/src/domains/observability/lib/zoom-memory.d.ts +19 -0
  912. package/dist/src/domains/observability/observability-list-url-state.d.ts +39 -0
  913. package/dist/src/domains/observability/saved-view-state.d.ts +46 -0
  914. package/dist/src/domains/observability/saved-views/index.d.ts +7 -0
  915. package/dist/src/domains/observability/saved-views/observability-saved-views.d.ts +22 -0
  916. package/dist/src/domains/observability/saved-views/saved-views-provider.d.ts +15 -0
  917. package/dist/src/domains/observability/saved-views/saved-views-source.d.ts +41 -0
  918. package/dist/src/domains/observability/saved-views/use-hosted-saved-views.d.ts +34 -0
  919. package/dist/src/domains/spans/components/spans-explorer-body.d.ts +4 -1
  920. package/dist/src/domains/spans/components/spans-filter-bar.d.ts +3 -1
  921. package/dist/src/domains/spans/hooks/use-spans-filter-bar.d.ts +1 -1
  922. package/dist/src/domains/spans/hooks/use-spans-list-source.d.ts +3 -0
  923. package/dist/src/domains/spans/span-filters.d.ts +16 -5
  924. package/dist/src/domains/threads/components/threads-explorer-body.d.ts +4 -1
  925. package/dist/src/domains/threads/thread-filters.d.ts +6 -5
  926. package/dist/src/domains/traces/components/columns-menu/columns-menu.d.ts +3 -3
  927. package/dist/src/domains/traces/components/trace-data-panel-view.d.ts +7 -1
  928. package/dist/src/domains/traces/components/trace-span-panel.d.ts +2 -1
  929. package/dist/src/domains/traces/components/trace-span-timeline-markers.d.ts +5 -0
  930. package/dist/src/domains/traces/components/trace-span-timeline.d.ts +6 -1
  931. package/dist/src/domains/traces/components/trace-time-range-chip.d.ts +3 -1
  932. package/dist/src/domains/traces/components/traces-explorer/index.d.ts +4 -1
  933. package/dist/src/domains/traces/components/traces-explorer/traces-explorer-actions.d.ts +5 -5
  934. package/dist/src/domains/traces/components/traces-explorer/traces-explorer-context.d.ts +11 -1
  935. package/dist/src/domains/traces/components/traces-explorer/traces-explorer-saved-views.d.ts +7 -0
  936. package/dist/src/domains/traces/components/traces-list-view.d.ts +20 -7
  937. package/dist/src/domains/traces/hooks/use-traces-list-source.d.ts +5 -0
  938. package/dist/src/domains/traces/trace-filters.d.ts +27 -3
  939. package/dist/src/domains/traces/trace-list-columns.d.ts +16 -6
  940. package/dist/src/domains/traces/utils/timeline-markers.d.ts +25 -0
  941. package/dist/src/domains/workflows/context/use-persisted-workflow-run.d.ts +2 -0
  942. package/dist/src/domains/workflows/workflow/input/processor-input.d.ts +5 -535
  943. package/dist/src/domains/workflows/workflow/use-workflow-trigger.d.ts +1 -1
  944. package/dist/src/ds/components/AgentIndicator/agent-glyph.d.ts +4 -0
  945. package/dist/src/ds/components/AgentIndicator/agent-indicator.d.ts +8 -0
  946. package/dist/src/ds/components/AgentIndicator/animate.d.ts +5 -0
  947. package/dist/src/ds/components/AgentIndicator/index.d.ts +4 -0
  948. package/dist/src/ds/components/AgentIndicator/paint.d.ts +21 -0
  949. package/dist/src/ds/components/AgentIndicator/poses.d.ts +7 -0
  950. package/dist/src/ds/components/AgentIndicator/shapes.d.ts +41 -0
  951. package/dist/src/ds/components/Arrival/arrival.d.ts +11 -0
  952. package/dist/src/ds/components/Arrival/index.d.ts +1 -1
  953. package/dist/src/ds/components/DataList/TracesDataList/traces-data-list-cells.d.ts +12 -0
  954. package/dist/src/ds/components/DataList/TracesDataList/traces-data-list.d.ts +3 -1
  955. package/dist/src/ds/components/FilterBar/types.d.ts +2 -0
  956. package/dist/src/ds/components/MetricsCard/index.d.ts +1 -1
  957. package/dist/src/ds/components/MetricsCard/metrics-card-actions.d.ts +2 -1
  958. package/dist/src/ds/components/MetricsCard/metrics-card-headline.d.ts +13 -0
  959. package/dist/src/ds/components/MetricsCard/metrics-card-title-menu.d.ts +2 -0
  960. package/dist/src/ds/components/MetricsCard/metrics-card-title.d.ts +1 -3
  961. package/dist/src/ds/components/MetricsCard/metrics-card-toolbar.d.ts +3 -3
  962. package/dist/src/ds/components/MetricsCard/metrics-card-total.d.ts +11 -3
  963. package/dist/src/ds/components/MetricsCard/metrics-card.d.ts +2 -9
  964. package/dist/src/ds/components/MetricsCard/metrics-story-data.d.ts +0 -26
  965. package/dist/src/ds/components/MetricsKpiCard/metrics-kpi-card-root.d.ts +5 -2
  966. package/dist/src/ds/components/MetricsLineChart/metrics-line-chart-legend.d.ts +3 -4
  967. package/dist/src/ds/components/MetricsLineChart/metrics-line-chart.d.ts +2 -6
  968. package/dist/src/ds/components/SavedViews/saved-view-editor.d.ts +3 -1
  969. package/dist/src/ds/components/SavedViews/saved-view-picker.d.ts +21 -0
  970. package/dist/src/ds/components/SavedViews/use-saved-views.d.ts +6 -2
  971. package/dist/src/ds/components/ai/activity/activity.d.ts +12 -7
  972. package/dist/src/ds/components/ai/activity/index.d.ts +1 -0
  973. package/dist/src/ds/components/ai/activity/presets/signal-activity.d.ts +4 -1
  974. package/dist/src/ds/components/ai/activity/use-relative-paths.d.ts +3 -0
  975. package/dist/src/ds/components/ai/message-reveal/message-reveal.d.ts +2 -1
  976. package/dist/src/ds/components/ai/tool-call/tool-presentation.d.ts +4 -0
  977. package/dist/src/ds/primitives/chart-axes.d.ts +24 -0
  978. package/dist/src/ds/primitives/chart-frame.d.ts +2 -1
  979. package/dist/src/ds/primitives/chart-time-tick.d.ts +7 -4
  980. package/dist/src/lib/string.d.ts +1 -0
  981. package/dist/{string-OAgeMRQ5.js → string-CNKDIc_4.js} +6 -2
  982. package/dist/string-CNKDIc_4.js.map +1 -0
  983. package/dist/{string-CymY0aJ9.cjs → string-DdJJdCv2.cjs} +11 -1
  984. package/dist/string-DdJJdCv2.cjs.map +1 -0
  985. package/dist/style.css +67 -4
  986. package/dist/{tabbed-container-x2mfK07d.js → tabbed-container-BKUqfEKy.js} +2 -2
  987. package/dist/{tabbed-container-x2mfK07d.js.map → tabbed-container-BKUqfEKy.js.map} +1 -1
  988. package/dist/{tabbed-container-CBTb0LgE.cjs → tabbed-container-CFEImJOK.cjs} +2 -2
  989. package/dist/{tabbed-container-CBTb0LgE.cjs.map → tabbed-container-CFEImJOK.cjs.map} +1 -1
  990. package/dist/{tool-approval-6E73C0r6.cjs → tool-approval-BfjoSNOC.cjs} +4 -4
  991. package/dist/{tool-approval-6E73C0r6.cjs.map → tool-approval-BfjoSNOC.cjs.map} +1 -1
  992. package/dist/{tool-approval-BXlro6fV.js → tool-approval-FeuyUUcL.js} +4 -4
  993. package/dist/{tool-approval-BXlro6fV.js.map → tool-approval-FeuyUUcL.js.map} +1 -1
  994. package/dist/{tool-call-CItJ8KLA.js → tool-call-BxYXs9w0.js} +9 -7
  995. package/dist/{tool-call-CItJ8KLA.js.map → tool-call-BxYXs9w0.js.map} +1 -1
  996. package/dist/{tool-call-Dq9xF3WD.cjs → tool-call-CvilN9ti.cjs} +9 -7
  997. package/dist/{tool-call-Dq9xF3WD.cjs.map → tool-call-CvilN9ti.cjs.map} +1 -1
  998. package/dist/{tool-card-o5u4YCR0.cjs → tool-card-B7O8AsRl.cjs} +9 -5
  999. package/dist/tool-card-B7O8AsRl.cjs.map +1 -0
  1000. package/dist/{tool-card-Bd8weXze.js → tool-card-ELW898uw.js} +9 -5
  1001. package/dist/tool-card-ELW898uw.js.map +1 -0
  1002. package/dist/{tool-presentation-D2uUj1AB.cjs → tool-presentation-BLErsb7c.cjs} +38 -40
  1003. package/dist/tool-presentation-BLErsb7c.cjs.map +1 -0
  1004. package/dist/{tool-presentation-DKfIKLQy.js → tool-presentation-BSZYIWx2.js} +38 -40
  1005. package/dist/tool-presentation-BSZYIWx2.js.map +1 -0
  1006. package/dist/{trace-filters-C27yWcan.js → trace-filters-BJaebsxJ.js} +78 -11
  1007. package/dist/trace-filters-BJaebsxJ.js.map +1 -0
  1008. package/dist/{trace-filters-BpeBUjCb.cjs → trace-filters-BNEZ31HX.cjs} +100 -9
  1009. package/dist/trace-filters-BNEZ31HX.cjs.map +1 -0
  1010. package/dist/types-CP7wbYua.cjs.map +1 -1
  1011. package/dist/types-DiiL5mTO.js.map +1 -1
  1012. package/dist/utils/string.cjs.js +2 -1
  1013. package/dist/utils/string.es.js +1 -1
  1014. package/package.json +14 -14
  1015. package/dist/Arrival-Dm6Vgn78.cjs.map +0 -1
  1016. package/dist/Arrival-NpBOyV52.js.map +0 -1
  1017. package/dist/DataList-Cmk08jUV.cjs.map +0 -1
  1018. package/dist/DataList-Ve3omCXT.js.map +0 -1
  1019. package/dist/DateTimeRangePicker-ByMbLdom.js.map +0 -1
  1020. package/dist/DateTimeRangePicker-DGbH5WOn.cjs.map +0 -1
  1021. package/dist/FilterBar-Dk3QEuT6.js.map +0 -1
  1022. package/dist/FilterBar-gEvoWDXA.cjs.map +0 -1
  1023. package/dist/MetricsCard-C9GWgT58.js.map +0 -1
  1024. package/dist/MetricsCard-Dly_H3oX.cjs.map +0 -1
  1025. package/dist/MetricsLineChart-2m4LVL1N.cjs.map +0 -1
  1026. package/dist/MetricsLineChart-DKzuRU2q.js.map +0 -1
  1027. package/dist/MetricsStackedBarChart-DJB4aByt.js.map +0 -1
  1028. package/dist/MetricsStackedBarChart-NATtwA_W.cjs.map +0 -1
  1029. package/dist/activity-QyLJcBKc.cjs.map +0 -1
  1030. package/dist/activity-ihrl0JtH.js.map +0 -1
  1031. package/dist/combobox-C-E7_q4j.cjs.map +0 -1
  1032. package/dist/combobox-CDS2pBqz.js.map +0 -1
  1033. package/dist/domains/metrics/components/metrics-kpis.cjs.js +0 -106
  1034. package/dist/domains/metrics/components/metrics-kpis.cjs.js.map +0 -1
  1035. package/dist/domains/metrics/components/metrics-kpis.d.ts +0 -1
  1036. package/dist/domains/metrics/components/metrics-kpis.es.js +0 -105
  1037. package/dist/domains/metrics/components/metrics-kpis.es.js.map +0 -1
  1038. package/dist/filter-bar-chip-B3pgpngW.js.map +0 -1
  1039. package/dist/filter-bar-chip-CyTAmjt6.cjs.map +0 -1
  1040. package/dist/src/domains/metrics/components/metrics-kpis.d.ts +0 -2
  1041. package/dist/src/ds/components/MetricsCard/metrics-card-description.d.ts +0 -4
  1042. package/dist/src/ds/components/MetricsCard/metrics-card-summary.d.ts +0 -8
  1043. package/dist/src/ds/components/MetricsCard/metrics-card-tabs.d.ts +0 -16
  1044. package/dist/src/ds/components/MetricsCard/metrics-card-title-and-description.d.ts +0 -16
  1045. package/dist/string-CymY0aJ9.cjs.map +0 -1
  1046. package/dist/string-OAgeMRQ5.js.map +0 -1
  1047. package/dist/tool-card-Bd8weXze.js.map +0 -1
  1048. package/dist/tool-card-o5u4YCR0.cjs.map +0 -1
  1049. package/dist/tool-presentation-D2uUj1AB.cjs.map +0 -1
  1050. package/dist/tool-presentation-DKfIKLQy.js.map +0 -1
  1051. package/dist/trace-filters-BpeBUjCb.cjs.map +0 -1
  1052. package/dist/trace-filters-C27yWcan.js.map +0 -1
@@ -1,9 +1,10 @@
1
- import { ct as resolveTraceQueryTimeRange } from "../../../trace-filters-C27yWcan.js";
1
+ import { ft as resolveTraceQueryTimeRange } from "../../../trace-filters-BJaebsxJ.js";
2
+ import { resolveTracesDateWindow } from "../../traces/components/traces-explorer/traces-explorer-actions.es.js";
3
+ import { OBSERVABILITY_LIST_DEFAULT_DATE_PRESET, OBSERVABILITY_LIST_SORT_FIELDS, readObservabilityListDates, readObservabilityListFilters, readObservabilityListSort, writeObservabilityListDates, writeObservabilityListFilters, writeObservabilityListSort } from "../observability-list-url-state.es.js";
2
4
  import { recoveryRefetchInterval } from "../list-polling.es.js";
3
- import { DEFAULT_TRACES_FILTERS, resolveTracesDateWindow } from "../../traces/components/traces-explorer/traces-explorer-actions.es.js";
4
- import { useMemo, useState } from "react";
5
+ import { rangeBeforeZoom, rememberZoom } from "../lib/zoom-memory.es.js";
6
+ import { useLayoutEffect, useMemo, useRef, useState } from "react";
5
7
  // src/domains/observability/hooks/use-observability-list-filters.ts
6
- var DEFAULT_DATE_PRESET = DEFAULT_TRACES_FILTERS.datePreset;
7
8
  /**
8
9
  * Like the traces list with delta polling: a timer or a window focus would reload every loaded page
9
10
  * and reset the cursor chain, so an observability list only reloads to recover from a transient failure.
@@ -12,13 +13,33 @@ var observabilityListQueryOptions = {
12
13
  refetchInterval: ({ state }) => recoveryRefetchInterval(state.error),
13
14
  refetchOnWindowFocus: false
14
15
  };
15
- /** The time range, filter and sort state of a spans or threads list. */
16
- function useObservabilityListFilters() {
17
- const [dates, setDates] = useState({ datePreset: DEFAULT_DATE_PRESET });
18
- const [tokens, setTokens] = useState([]);
19
- const [groups, setGroups] = useState([]);
20
- const [sort, setSort] = useState("desc");
21
- const { datePreset, dateFrom, dateTo } = dates;
16
+ /** The search params of `url`, or of an in-memory store when the host keeps no URL state. */
17
+ function useListSearchParams(url) {
18
+ const [localParams, setLocalParams] = useState(() => new URLSearchParams());
19
+ if (url) return url;
20
+ return {
21
+ searchParams: localParams,
22
+ setSearchParams: (next) => setLocalParams((prev) => typeof next === "function" ? next(prev) : next)
23
+ };
24
+ }
25
+ /**
26
+ * The time range, filter and sort state of a spans or threads list, kept in the host's URL (same
27
+ * date, sort and group params as /traces) so it survives a reload and can be shared. Without `url`
28
+ * the state lives in memory. A sort on a field outside `sortFields` reads as start time, newest first.
29
+ * `defaultDatePreset` is the range shown when the URL names none (last 7 days unless the host differs);
30
+ * it is left out of the URL like any default.
31
+ */
32
+ function useObservabilityListFilters(url, { sortFields, defaultDatePreset = OBSERVABILITY_LIST_DEFAULT_DATE_PRESET } = {}) {
33
+ const { searchParams, setSearchParams } = useListSearchParams(url);
34
+ const datesKey = JSON.stringify(readObservabilityListDates(searchParams, defaultDatePreset));
35
+ const filtersKey = JSON.stringify(readObservabilityListFilters(searchParams));
36
+ const { datePreset, dateFrom, dateTo } = useMemo(() => readObservabilityListDates(searchParams, defaultDatePreset), [datesKey]);
37
+ const { tokens, groups } = useMemo(() => readObservabilityListFilters(searchParams), [filtersKey]);
38
+ const urlSort = readObservabilityListSort(searchParams, sortFields ?? OBSERVABILITY_LIST_SORT_FIELDS);
39
+ const sort = useMemo(() => ({
40
+ field: urlSort.field,
41
+ direction: urlSort.direction
42
+ }), [urlSort.field, urlSort.direction]);
22
43
  const fromMs = dateFrom?.getTime();
23
44
  const toMs = dateTo?.getTime();
24
45
  const timeRange = useMemo(() => {
@@ -29,11 +50,29 @@ function useObservabilityListFilters() {
29
50
  fromMs,
30
51
  toMs
31
52
  ]);
32
- const onDatePresetChange = (preset) => setDates((current) => preset === "custom" ? {
53
+ const pending = useRef(null);
54
+ useLayoutEffect(() => {
55
+ pending.current = null;
56
+ }, [searchParams]);
57
+ const update = (write) => {
58
+ const base = pending.current ?? searchParams;
59
+ const next = new URLSearchParams(base);
60
+ write(next);
61
+ if (next.toString() === base.toString()) return;
62
+ pending.current = next;
63
+ setSearchParams(next, { replace: true });
64
+ };
65
+ const updateDates = (change) => update((next) => writeObservabilityListDates(next, change(readObservabilityListDates(next, defaultDatePreset)), defaultDatePreset));
66
+ const zoomMemory = useRef(void 0);
67
+ const pickDates = (change) => {
68
+ zoomMemory.current = void 0;
69
+ updateDates(change);
70
+ };
71
+ const onDatePresetChange = (preset) => pickDates((current) => preset === "custom" ? {
33
72
  ...current,
34
73
  datePreset: preset
35
74
  } : { datePreset: preset });
36
- const onDateChange = (date, end) => setDates((current) => {
75
+ const onDateChange = (date, end) => pickDates((current) => {
37
76
  if (current.datePreset !== "custom") return current;
38
77
  return end === "from" ? {
39
78
  ...current,
@@ -43,15 +82,31 @@ function useObservabilityListFilters() {
43
82
  dateTo: date
44
83
  };
45
84
  });
46
- const onDateRangeChange = (from, to) => setDates((current) => current.datePreset === "custom" ? {
85
+ const onDateRangeChange = (from, to) => pickDates((current) => current.datePreset === "custom" ? {
47
86
  ...current,
48
87
  dateFrom: from,
49
88
  dateTo: to
50
89
  } : current);
51
- const onFiltersChange = (nextTokens, nextGroups) => {
52
- setTokens(nextTokens);
53
- setGroups(nextGroups);
54
- };
90
+ /** Narrows the range to a histogram selection, remembering the range to return to on reset. */
91
+ const onZoom = (from, to) => updateDates((current) => {
92
+ zoomMemory.current = rememberZoom(zoomMemory.current, current, from, to);
93
+ return {
94
+ datePreset: "custom",
95
+ dateFrom: from,
96
+ dateTo: to
97
+ };
98
+ });
99
+ /** Undoes the last histogram zoom, or switches to `defaultPreset` when there is none to undo. */
100
+ const onDateReset = (defaultPreset) => updateDates((current) => {
101
+ const before = rangeBeforeZoom(zoomMemory.current, current);
102
+ zoomMemory.current = void 0;
103
+ return before ?? { datePreset: defaultPreset };
104
+ });
105
+ const onFiltersChange = (nextTokens, nextGroups) => update((next) => writeObservabilityListFilters(next, {
106
+ tokens: nextTokens,
107
+ groups: nextGroups
108
+ }));
109
+ const setSort = (next) => update((params) => writeObservabilityListSort(params, next));
55
110
  const contentFiltersApplied = tokens.length > 0 || groups.length > 0;
56
111
  return {
57
112
  datePreset,
@@ -67,9 +122,11 @@ function useObservabilityListFilters() {
67
122
  onDatePresetChange,
68
123
  onDateChange,
69
124
  onDateRangeChange,
125
+ onZoom,
126
+ onDateReset,
70
127
  onFiltersChange,
71
128
  contentFiltersApplied,
72
- filtersApplied: contentFiltersApplied || datePreset !== DEFAULT_DATE_PRESET
129
+ filtersApplied: contentFiltersApplied || datePreset !== defaultDatePreset
73
130
  };
74
131
  }
75
132
  export { observabilityListQueryOptions, useObservabilityListFilters };
@@ -1 +1 @@
1
- {"version":3,"file":"use-observability-list-filters.es.js","names":[],"sources":["../../../../src/domains/observability/hooks/use-observability-list-filters.ts"],"sourcesContent":["import { useMemo, useState } from 'react';\nimport { recoveryRefetchInterval } from '@/domains/observability/list-polling';\nimport {\n DEFAULT_TRACES_FILTERS,\n resolveTracesDateWindow,\n} from '@/domains/traces/components/traces-explorer/traces-explorer-actions';\nimport { resolveTraceQueryTimeRange } from '@/domains/traces/trace-query-filters';\nimport type { TraceFilterGroup, TraceFilterToken } from '@/domains/traces/trace-query-filters';\nimport type { TraceDatePreset } from '@/domains/traces/types';\nimport type { DataListSort } from '@/ds/components/DataList/data-list-sortable-top-cell';\n\n// Same window as /traces, so switching between the pages keeps the time chip identical.\nconst DEFAULT_DATE_PRESET: TraceDatePreset = DEFAULT_TRACES_FILTERS.datePreset;\n\ntype DateState = { datePreset: TraceDatePreset; dateFrom?: Date; dateTo?: Date };\n\n/**\n * Like the traces list with delta polling: a timer or a window focus would reload every loaded page\n * and reset the cursor chain, so an observability list only reloads to recover from a transient failure.\n */\nexport const observabilityListQueryOptions = {\n refetchInterval: ({ state }: { state: { error: unknown } }) => recoveryRefetchInterval(state.error),\n refetchOnWindowFocus: false,\n};\n\n/** The time range, filter and sort state of a spans or threads list. */\nexport function useObservabilityListFilters() {\n const [dates, setDates] = useState<DateState>({ datePreset: DEFAULT_DATE_PRESET });\n const [tokens, setTokens] = useState<TraceFilterToken[]>([]);\n const [groups, setGroups] = useState<TraceFilterGroup[]>([]);\n const [sort, setSort] = useState<DataListSort>('desc');\n\n const { datePreset, dateFrom, dateTo } = dates;\n const fromMs = dateFrom?.getTime();\n const toMs = dateTo?.getTime();\n // Rolling presets are resolved against \"now\" only when the range changes, so the query key\n // (and the cursors issued for it) stays stable while the list scrolls.\n const timeRange = useMemo(() => {\n const window = resolveTracesDateWindow(\n datePreset,\n fromMs === undefined ? undefined : new Date(fromMs),\n toMs === undefined ? undefined : new Date(toMs),\n );\n return resolveTraceQueryTimeRange(window.dateFrom, window.dateTo, new Date());\n }, [datePreset, fromMs, toMs]);\n\n // Switching to `custom` keeps the current dates so the picker opens on them; any other preset drops them.\n const onDatePresetChange = (preset: TraceDatePreset) =>\n setDates(current => (preset === 'custom' ? { ...current, datePreset: preset } : { datePreset: preset }));\n // The picker can report a date right after switching away from `custom`; those are ignored.\n const onDateChange = (date: Date | undefined, end: 'from' | 'to') =>\n setDates(current => {\n if (current.datePreset !== 'custom') return current;\n return end === 'from' ? { ...current, dateFrom: date } : { ...current, dateTo: date };\n });\n const onDateRangeChange = (from: Date | undefined, to: Date | undefined) =>\n setDates(current => (current.datePreset === 'custom' ? { ...current, dateFrom: from, dateTo: to } : current));\n const onFiltersChange = (nextTokens: TraceFilterToken[], nextGroups: TraceFilterGroup[]) => {\n setTokens(nextTokens);\n setGroups(nextGroups);\n };\n\n const contentFiltersApplied = tokens.length > 0 || groups.length > 0;\n const filtersApplied = contentFiltersApplied || datePreset !== DEFAULT_DATE_PRESET;\n\n return {\n datePreset,\n dateFrom,\n dateTo,\n timeRange,\n /** The window ends at \"now\", so new rows can still land in it. */\n rolling: dateTo === undefined,\n tokens,\n groups,\n sort,\n setSort,\n onDatePresetChange,\n onDateChange,\n onDateRangeChange,\n onFiltersChange,\n contentFiltersApplied,\n filtersApplied,\n };\n}\n"],"mappings":";;;;;AAYA,IAAM,sBAAuC,uBAAuB;;;;;AAQpE,IAAa,gCAAgC;CAC3C,kBAAkB,EAAE,YAA2C,wBAAwB,MAAM,KAAK;CAClG,sBAAsB;AACxB;;AAGA,SAAgB,8BAA8B;CAC5C,MAAM,CAAC,OAAO,YAAY,SAAoB,EAAE,YAAY,oBAAoB,CAAC;CACjF,MAAM,CAAC,QAAQ,aAAa,SAA6B,CAAC,CAAC;CAC3D,MAAM,CAAC,QAAQ,aAAa,SAA6B,CAAC,CAAC;CAC3D,MAAM,CAAC,MAAM,WAAW,SAAuB,MAAM;CAErD,MAAM,EAAE,YAAY,UAAU,WAAW;CACzC,MAAM,SAAS,UAAU,QAAQ;CACjC,MAAM,OAAO,QAAQ,QAAQ;CAG7B,MAAM,YAAY,cAAc;EAC9B,MAAM,SAAS,wBACb,YACA,WAAW,KAAA,IAAY,KAAA,IAAY,IAAI,KAAK,MAAM,GAClD,SAAS,KAAA,IAAY,KAAA,IAAY,IAAI,KAAK,IAAI,CAChD;EACA,OAAO,2BAA2B,OAAO,UAAU,OAAO,wBAAQ,IAAI,KAAK,CAAC;CAC9E,GAAG;EAAC;EAAY;EAAQ;CAAI,CAAC;CAG7B,MAAM,sBAAsB,WAC1B,UAAS,YAAY,WAAW,WAAW;EAAE,GAAG;EAAS,YAAY;CAAO,IAAI,EAAE,YAAY,OAAO,CAAE;CAEzG,MAAM,gBAAgB,MAAwB,QAC5C,UAAS,YAAW;EAClB,IAAI,QAAQ,eAAe,UAAU,OAAO;EAC5C,OAAO,QAAQ,SAAS;GAAE,GAAG;GAAS,UAAU;EAAK,IAAI;GAAE,GAAG;GAAS,QAAQ;EAAK;CACtF,CAAC;CACH,MAAM,qBAAqB,MAAwB,OACjD,UAAS,YAAY,QAAQ,eAAe,WAAW;EAAE,GAAG;EAAS,UAAU;EAAM,QAAQ;CAAG,IAAI,OAAQ;CAC9G,MAAM,mBAAmB,YAAgC,eAAmC;EAC1F,UAAU,UAAU;EACpB,UAAU,UAAU;CACtB;CAEA,MAAM,wBAAwB,OAAO,SAAS,KAAK,OAAO,SAAS;CAGnE,OAAO;EACL;EACA;EACA;EACA;;EAEA,SAAS,WAAW,KAAA;EACpB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,gBAlBqB,yBAAyB,eAAe;CAmB/D;AACF"}
1
+ {"version":3,"file":"use-observability-list-filters.es.js","names":[],"sources":["../../../../src/domains/observability/hooks/use-observability-list-filters.ts"],"sourcesContent":["import { useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport { rangeBeforeZoom, rememberZoom } from '../lib/zoom-memory';\nimport type { ZoomMemory } from '../lib/zoom-memory';\nimport {\n OBSERVABILITY_LIST_DEFAULT_DATE_PRESET,\n OBSERVABILITY_LIST_SORT_FIELDS,\n readObservabilityListDates,\n readObservabilityListFilters,\n readObservabilityListSort,\n writeObservabilityListDates,\n writeObservabilityListFilters,\n writeObservabilityListSort,\n} from '../observability-list-url-state';\nimport type { ObservabilityListDates, ObservabilityListSort } from '../observability-list-url-state';\nimport { recoveryRefetchInterval } from '@/domains/observability/list-polling';\nimport { resolveTracesDateWindow } from '@/domains/traces/components/traces-explorer/traces-explorer-actions';\nimport { resolveTraceQueryTimeRange } from '@/domains/traces/trace-query-filters';\nimport type { TraceFilterGroup, TraceFilterToken } from '@/domains/traces/trace-query-filters';\nimport type { TraceDatePreset } from '@/domains/traces/types';\nimport type { SetURLSearchParamsLike } from '@/lib/sort/use-url-sort';\n\n/**\n * Like the traces list with delta polling: a timer or a window focus would reload every loaded page\n * and reset the cursor chain, so an observability list only reloads to recover from a transient failure.\n */\nexport const observabilityListQueryOptions = {\n refetchInterval: ({ state }: { state: { error: unknown } }) => recoveryRefetchInterval(state.error),\n refetchOnWindowFocus: false,\n};\n\nexport type ObservabilityListUrlState = {\n searchParams: URLSearchParams;\n setSearchParams: SetURLSearchParamsLike;\n};\n\n/** The search params of `url`, or of an in-memory store when the host keeps no URL state. */\nfunction useListSearchParams(url: ObservabilityListUrlState | undefined): ObservabilityListUrlState {\n const [localParams, setLocalParams] = useState(() => new URLSearchParams());\n if (url) return url;\n return {\n searchParams: localParams,\n setSearchParams: next => setLocalParams(prev => (typeof next === 'function' ? next(prev) : next)),\n };\n}\n\n/**\n * The time range, filter and sort state of a spans or threads list, kept in the host's URL (same\n * date, sort and group params as /traces) so it survives a reload and can be shared. Without `url`\n * the state lives in memory. A sort on a field outside `sortFields` reads as start time, newest first.\n * `defaultDatePreset` is the range shown when the URL names none (last 7 days unless the host differs);\n * it is left out of the URL like any default.\n */\nexport function useObservabilityListFilters<F extends string = 'startedAt'>(\n url?: ObservabilityListUrlState,\n {\n sortFields,\n defaultDatePreset = OBSERVABILITY_LIST_DEFAULT_DATE_PRESET,\n }: { sortFields?: readonly F[]; defaultDatePreset?: TraceDatePreset } = {},\n) {\n const { searchParams, setSearchParams } = useListSearchParams(url);\n\n // Decoded values keep their identity while unrelated params (e.g. the open row) change.\n const datesKey = JSON.stringify(readObservabilityListDates(searchParams, defaultDatePreset));\n const filtersKey = JSON.stringify(readObservabilityListFilters(searchParams));\n const { datePreset, dateFrom, dateTo } = useMemo(\n () => readObservabilityListDates(searchParams, defaultDatePreset),\n // eslint-disable-next-line react-hooks/exhaustive-deps -- only re-read when the date params change\n [datesKey],\n );\n const { tokens, groups } = useMemo(\n () => readObservabilityListFilters(searchParams),\n // eslint-disable-next-line react-hooks/exhaustive-deps -- only re-read when the filter params change\n [filtersKey],\n );\n const urlSort = readObservabilityListSort<F | 'startedAt'>(\n searchParams,\n sortFields ?? OBSERVABILITY_LIST_SORT_FIELDS,\n );\n const sort = useMemo<ObservabilityListSort<F | 'startedAt'>>(\n () => ({ field: urlSort.field, direction: urlSort.direction }),\n [urlSort.field, urlSort.direction],\n );\n\n const fromMs = dateFrom?.getTime();\n const toMs = dateTo?.getTime();\n // Rolling presets are resolved against \"now\" only when the range changes, so the query key\n // (and the cursors issued for it) stays stable while the list scrolls.\n const timeRange = useMemo(() => {\n const window = resolveTracesDateWindow(\n datePreset,\n fromMs === undefined ? undefined : new Date(fromMs),\n toMs === undefined ? undefined : new Date(toMs),\n );\n return resolveTraceQueryTimeRange(window.dateFrom, window.dateTo, new Date());\n }, [datePreset, fromMs, toMs]);\n\n // react-router resolves even a functional update against the params of the last render, so writes\n // made in the same tick (zoom sets `custom` then the range; the picker reports the range after a\n // preset change) build on the pending params instead, like `useState` updaters would.\n const pending = useRef<URLSearchParams | null>(null);\n useLayoutEffect(() => {\n pending.current = null;\n }, [searchParams]);\n const update = (write: (next: URLSearchParams) => void) => {\n const base = pending.current ?? searchParams;\n const next = new URLSearchParams(base);\n write(next);\n if (next.toString() === base.toString()) return;\n pending.current = next;\n setSearchParams(next, { replace: true });\n };\n const updateDates = (change: (current: ObservabilityListDates) => ObservabilityListDates) =>\n update(next =>\n writeObservabilityListDates(next, change(readObservabilityListDates(next, defaultDatePreset)), defaultDatePreset),\n );\n\n // Not URL state: a shared or reloaded link has no zoom to undo.\n const zoomMemory = useRef<ZoomMemory | undefined>(undefined);\n // A range picked by hand drops the zoom memory, even one that matches the zoomed bounds.\n const pickDates = (change: (current: ObservabilityListDates) => ObservabilityListDates) => {\n zoomMemory.current = undefined;\n updateDates(change);\n };\n\n // Switching to `custom` keeps the current dates so the picker opens on them; any other preset drops them.\n const onDatePresetChange = (preset: TraceDatePreset) =>\n pickDates(current => (preset === 'custom' ? { ...current, datePreset: preset } : { datePreset: preset }));\n // The picker can report a date right after switching away from `custom`; those are ignored.\n const onDateChange = (date: Date | undefined, end: 'from' | 'to') =>\n pickDates(current => {\n if (current.datePreset !== 'custom') return current;\n return end === 'from' ? { ...current, dateFrom: date } : { ...current, dateTo: date };\n });\n const onDateRangeChange = (from: Date | undefined, to: Date | undefined) =>\n pickDates(current => (current.datePreset === 'custom' ? { ...current, dateFrom: from, dateTo: to } : current));\n /** Narrows the range to a histogram selection, remembering the range to return to on reset. */\n const onZoom = (from: Date, to: Date) =>\n updateDates(current => {\n zoomMemory.current = rememberZoom(zoomMemory.current, current, from, to);\n return { datePreset: 'custom', dateFrom: from, dateTo: to };\n });\n /** Undoes the last histogram zoom, or switches to `defaultPreset` when there is none to undo. */\n const onDateReset = (defaultPreset: TraceDatePreset) =>\n updateDates(current => {\n const before = rangeBeforeZoom(zoomMemory.current, current);\n zoomMemory.current = undefined;\n return before ?? { datePreset: defaultPreset };\n });\n const onFiltersChange = (nextTokens: TraceFilterToken[], nextGroups: TraceFilterGroup[]) =>\n update(next => writeObservabilityListFilters(next, { tokens: nextTokens, groups: nextGroups }));\n const setSort = (next: ObservabilityListSort<F | 'startedAt'>) =>\n update(params => writeObservabilityListSort(params, next));\n\n const contentFiltersApplied = tokens.length > 0 || groups.length > 0;\n const filtersApplied = contentFiltersApplied || datePreset !== defaultDatePreset;\n\n return {\n datePreset,\n dateFrom,\n dateTo,\n timeRange,\n /** The window ends at \"now\", so new rows can still land in it. */\n rolling: dateTo === undefined,\n tokens,\n groups,\n sort,\n setSort,\n onDatePresetChange,\n onDateChange,\n onDateRangeChange,\n onZoom,\n onDateReset,\n onFiltersChange,\n contentFiltersApplied,\n filtersApplied,\n };\n}\n"],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ // src/domains/observability/lib/zoom-memory.ts
3
+ var isZoomedIn = (memory, current) => memory !== void 0 && current.datePreset === "custom" && current.dateFrom?.getTime() === memory.fromMs && current.dateTo?.getTime() === memory.toMs;
4
+ /** Zooming from an earlier zoom keeps the range picked before the first one. */
5
+ function rememberZoom(memory, current, from, to) {
6
+ return {
7
+ before: isZoomedIn(memory, current) ? memory.before : current.datePreset === "custom" ? {
8
+ datePreset: current.datePreset,
9
+ dateFrom: current.dateFrom,
10
+ dateTo: current.dateTo
11
+ } : { datePreset: current.datePreset },
12
+ fromMs: from.getTime(),
13
+ toMs: to.getTime()
14
+ };
15
+ }
16
+ /**
17
+ * The range to restore while `current` is still the remembered zoom. Once the user picks another
18
+ * range, the zoom no longer applies and this returns `undefined`.
19
+ */
20
+ var rangeBeforeZoom = (memory, current) => isZoomedIn(memory, current) ? memory.before : void 0;
21
+ exports.rangeBeforeZoom = rangeBeforeZoom;
22
+ exports.rememberZoom = rememberZoom;
23
+
24
+ //# sourceMappingURL=zoom-memory.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zoom-memory.cjs.js","names":[],"sources":["../../../../src/domains/observability/lib/zoom-memory.ts"],"sourcesContent":["import type { TraceDatePreset } from '@/domains/traces/types';\n\nexport type DateRangeSelection = { datePreset: TraceDatePreset; dateFrom?: Date; dateTo?: Date };\n\n/** The range picked before a histogram zoom, and the zoomed range it can be restored from. */\nexport type ZoomMemory = { before: DateRangeSelection; fromMs: number; toMs: number };\n\nconst isZoomedIn = (memory: ZoomMemory | undefined, current: DateRangeSelection): memory is ZoomMemory =>\n memory !== undefined &&\n current.datePreset === 'custom' &&\n current.dateFrom?.getTime() === memory.fromMs &&\n current.dateTo?.getTime() === memory.toMs;\n\n/** Zooming from an earlier zoom keeps the range picked before the first one. */\nexport function rememberZoom(\n memory: ZoomMemory | undefined,\n current: DateRangeSelection,\n from: Date,\n to: Date,\n): ZoomMemory {\n const before = isZoomedIn(memory, current)\n ? memory.before\n : current.datePreset === 'custom'\n ? { datePreset: current.datePreset, dateFrom: current.dateFrom, dateTo: current.dateTo }\n : { datePreset: current.datePreset };\n return { before, fromMs: from.getTime(), toMs: to.getTime() };\n}\n\n/**\n * The range to restore while `current` is still the remembered zoom. Once the user picks another\n * range, the zoom no longer applies and this returns `undefined`.\n */\nexport const rangeBeforeZoom = (memory: ZoomMemory | undefined, current: DateRangeSelection) =>\n isZoomedIn(memory, current) ? memory.before : undefined;\n"],"mappings":";;AAOA,IAAM,cAAc,QAAgC,YAClD,WAAW,KAAA,KACX,QAAQ,eAAe,YACvB,QAAQ,UAAU,QAAQ,MAAM,OAAO,UACvC,QAAQ,QAAQ,QAAQ,MAAM,OAAO;;AAGvC,SAAgB,aACd,QACA,SACA,MACA,IACY;CAMZ,OAAO;EAAE,QALM,WAAW,QAAQ,OAAO,IACrC,OAAO,SACP,QAAQ,eAAe,WACrB;GAAE,YAAY,QAAQ;GAAY,UAAU,QAAQ;GAAU,QAAQ,QAAQ;EAAO,IACrF,EAAE,YAAY,QAAQ,WAAW;EACtB,QAAQ,KAAK,QAAQ;EAAG,MAAM,GAAG,QAAQ;CAAE;AAC9D;;;;;AAMA,IAAa,mBAAmB,QAAgC,YAC9D,WAAW,QAAQ,OAAO,IAAI,OAAO,SAAS,KAAA"}
@@ -0,0 +1 @@
1
+ export * from '../../../src/domains/observability/lib/zoom-memory';
@@ -0,0 +1,22 @@
1
+ // src/domains/observability/lib/zoom-memory.ts
2
+ var isZoomedIn = (memory, current) => memory !== void 0 && current.datePreset === "custom" && current.dateFrom?.getTime() === memory.fromMs && current.dateTo?.getTime() === memory.toMs;
3
+ /** Zooming from an earlier zoom keeps the range picked before the first one. */
4
+ function rememberZoom(memory, current, from, to) {
5
+ return {
6
+ before: isZoomedIn(memory, current) ? memory.before : current.datePreset === "custom" ? {
7
+ datePreset: current.datePreset,
8
+ dateFrom: current.dateFrom,
9
+ dateTo: current.dateTo
10
+ } : { datePreset: current.datePreset },
11
+ fromMs: from.getTime(),
12
+ toMs: to.getTime()
13
+ };
14
+ }
15
+ /**
16
+ * The range to restore while `current` is still the remembered zoom. Once the user picks another
17
+ * range, the zoom no longer applies and this returns `undefined`.
18
+ */
19
+ var rangeBeforeZoom = (memory, current) => isZoomedIn(memory, current) ? memory.before : void 0;
20
+ export { rangeBeforeZoom, rememberZoom };
21
+
22
+ //# sourceMappingURL=zoom-memory.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zoom-memory.es.js","names":[],"sources":["../../../../src/domains/observability/lib/zoom-memory.ts"],"sourcesContent":["import type { TraceDatePreset } from '@/domains/traces/types';\n\nexport type DateRangeSelection = { datePreset: TraceDatePreset; dateFrom?: Date; dateTo?: Date };\n\n/** The range picked before a histogram zoom, and the zoomed range it can be restored from. */\nexport type ZoomMemory = { before: DateRangeSelection; fromMs: number; toMs: number };\n\nconst isZoomedIn = (memory: ZoomMemory | undefined, current: DateRangeSelection): memory is ZoomMemory =>\n memory !== undefined &&\n current.datePreset === 'custom' &&\n current.dateFrom?.getTime() === memory.fromMs &&\n current.dateTo?.getTime() === memory.toMs;\n\n/** Zooming from an earlier zoom keeps the range picked before the first one. */\nexport function rememberZoom(\n memory: ZoomMemory | undefined,\n current: DateRangeSelection,\n from: Date,\n to: Date,\n): ZoomMemory {\n const before = isZoomedIn(memory, current)\n ? memory.before\n : current.datePreset === 'custom'\n ? { datePreset: current.datePreset, dateFrom: current.dateFrom, dateTo: current.dateTo }\n : { datePreset: current.datePreset };\n return { before, fromMs: from.getTime(), toMs: to.getTime() };\n}\n\n/**\n * The range to restore while `current` is still the remembered zoom. Once the user picks another\n * range, the zoom no longer applies and this returns `undefined`.\n */\nexport const rangeBeforeZoom = (memory: ZoomMemory | undefined, current: DateRangeSelection) =>\n isZoomedIn(memory, current) ? memory.before : undefined;\n"],"mappings":";AAOA,IAAM,cAAc,QAAgC,YAClD,WAAW,KAAA,KACX,QAAQ,eAAe,YACvB,QAAQ,UAAU,QAAQ,MAAM,OAAO,UACvC,QAAQ,QAAQ,QAAQ,MAAM,OAAO;;AAGvC,SAAgB,aACd,QACA,SACA,MACA,IACY;CAMZ,OAAO;EAAE,QALM,WAAW,QAAQ,OAAO,IACrC,OAAO,SACP,QAAQ,eAAe,WACrB;GAAE,YAAY,QAAQ;GAAY,UAAU,QAAQ;GAAU,QAAQ,QAAQ;EAAO,IACrF,EAAE,YAAY,QAAQ,WAAW;EACtB,QAAQ,KAAK,QAAQ;EAAG,MAAM,GAAG,QAAQ;CAAE;AAC9D;;;;;AAMA,IAAa,mBAAmB,QAAgC,YAC9D,WAAW,QAAQ,OAAO,IAAI,OAAO,SAAS,KAAA"}
@@ -0,0 +1,122 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_trace_filters = require("../../trace-filters-BNEZ31HX.cjs");
3
+ const require_domains_traces_components_traces_explorer_traces_explorer_actions = require("../traces/components/traces-explorer/traces-explorer-actions.cjs.js");
4
+ const require_sort_use_url_sort = require("../../sort/use-url-sort.cjs.js");
5
+ // src/domains/observability/observability-list-url-state.ts
6
+ /**
7
+ * URL state of the spans and threads lists. Dates, sort and groups use the same params as /traces;
8
+ * a flat token lives in `filter.<fieldId>` (plus `filter.<fieldId>.op` unless the operator is `is`),
9
+ * since span and thread fields are not in the trace page's fixed `filterX` param map.
10
+ */
11
+ var OBSERVABILITY_LIST_FILTER_PARAM_PREFIX = "filter.";
12
+ var OBSERVABILITY_LIST_SORT_FIELDS = ["startedAt"];
13
+ /** Spans can also be ordered by their streaming timings, where the store supports it. */
14
+ var SPAN_LIST_SORT_FIELDS = [
15
+ "startedAt",
16
+ "timeToFirstChunkMs",
17
+ "timeToFirstTokenMs"
18
+ ];
19
+ var OBSERVABILITY_LIST_DEFAULT_DATE_PRESET = require_domains_traces_components_traces_explorer_traces_explorer_actions.DEFAULT_TRACES_FILTERS.datePreset;
20
+ var OBSERVABILITY_LIST_DEFAULT_SORT_DIRECTION = "desc";
21
+ var filterParam = (fieldId) => OBSERVABILITY_LIST_FILTER_PARAM_PREFIX + fieldId;
22
+ var isTokenParam = (param) => param.startsWith("filter.") && param.length > 7 && !param.endsWith(".op");
23
+ var isFilterParam = (param) => param.startsWith(OBSERVABILITY_LIST_FILTER_PARAM_PREFIX);
24
+ function parseDate(raw) {
25
+ if (!raw) return void 0;
26
+ const parsed = new Date(raw);
27
+ return Number.isNaN(parsed.getTime()) ? void 0 : parsed;
28
+ }
29
+ /** `defaultPreset` is the range the host shows when the URL names none. */
30
+ function readObservabilityListDates(params, defaultPreset = OBSERVABILITY_LIST_DEFAULT_DATE_PRESET) {
31
+ const preset = params.get(require_trace_filters.TRACE_DATE_PRESET_PARAM);
32
+ const datePreset = preset && require_trace_filters.TRACE_DATE_PRESET_VALUES.has(preset) ? preset : defaultPreset;
33
+ if (datePreset !== "custom") return { datePreset };
34
+ const dateFrom = parseDate(params.get(require_trace_filters.TRACE_DATE_FROM_PARAM));
35
+ const dateTo = parseDate(params.get(require_trace_filters.TRACE_DATE_TO_PARAM));
36
+ return {
37
+ datePreset,
38
+ ...dateFrom ? { dateFrom } : {},
39
+ ...dateTo ? { dateTo } : {}
40
+ };
41
+ }
42
+ /** Mutates `params`. The host's default preset is left out of the URL; dates are only kept for `custom`. */
43
+ function writeObservabilityListDates(params, { datePreset, dateFrom, dateTo }, defaultPreset = OBSERVABILITY_LIST_DEFAULT_DATE_PRESET) {
44
+ if (datePreset === defaultPreset) params.delete(require_trace_filters.TRACE_DATE_PRESET_PARAM);
45
+ else params.set(require_trace_filters.TRACE_DATE_PRESET_PARAM, datePreset);
46
+ const custom = datePreset === "custom";
47
+ if (custom && dateFrom) params.set(require_trace_filters.TRACE_DATE_FROM_PARAM, dateFrom.toISOString());
48
+ else params.delete(require_trace_filters.TRACE_DATE_FROM_PARAM);
49
+ if (custom && dateTo) params.set(require_trace_filters.TRACE_DATE_TO_PARAM, dateTo.toISOString());
50
+ else params.delete(require_trace_filters.TRACE_DATE_TO_PARAM);
51
+ }
52
+ /** Flat tokens in URL order, plus the advanced groups. */
53
+ function readObservabilityListFilters(params) {
54
+ const tokens = [];
55
+ const seen = /* @__PURE__ */ new Set();
56
+ for (const param of params.keys()) {
57
+ if (!isTokenParam(param) || seen.has(param)) continue;
58
+ seen.add(param);
59
+ const fieldId = param.slice(7);
60
+ const rawOperator = params.get(require_trace_filters.traceFilterOperatorParam(param));
61
+ const operatorId = rawOperator !== null && require_trace_filters.isTraceFilterOperatorId(rawOperator) ? rawOperator : void 0;
62
+ const values = params.getAll(param);
63
+ if (operatorId === "in" || operatorId === "notIn") tokens.push({
64
+ fieldId,
65
+ value: values.filter(Boolean),
66
+ operatorId
67
+ });
68
+ else tokens.push({
69
+ fieldId,
70
+ value: values[0] ?? "",
71
+ ...operatorId ? { operatorId } : {}
72
+ });
73
+ }
74
+ return {
75
+ tokens,
76
+ groups: require_trace_filters.getTraceFilterGroups(params)
77
+ };
78
+ }
79
+ /** Mutates `params`: replaces every filter param with `tokens` (in order) and `groups`. */
80
+ function writeObservabilityListFilters(params, { tokens, groups }) {
81
+ for (const param of Array.from(params.keys())) if (isFilterParam(param)) params.delete(param);
82
+ params.delete(require_trace_filters.TRACE_FILTER_GROUP_PARAM);
83
+ for (const token of tokens) {
84
+ const param = filterParam(token.fieldId);
85
+ if (Array.isArray(token.value)) {
86
+ if (token.value.length === 0) params.append(param, "");
87
+ for (const value of token.value) params.append(param, value);
88
+ } else params.set(param, token.value.trim());
89
+ const operatorId = require_trace_filters.traceFilterTokenOperator(token);
90
+ if (operatorId !== "is") params.set(require_trace_filters.traceFilterOperatorParam(param), operatorId);
91
+ }
92
+ for (const group of groups) params.append(require_trace_filters.TRACE_FILTER_GROUP_PARAM, require_trace_filters.serializeTraceFilterGroup(group));
93
+ }
94
+ /** The URL's sort when its field is one of `fields`, else start time, newest first. */
95
+ function readObservabilityListSort(params, fields) {
96
+ const sort = require_sort_use_url_sort.readUrlSort(params, fields);
97
+ return sort ? {
98
+ field: sort.key,
99
+ direction: sort.direction
100
+ } : {
101
+ field: "startedAt",
102
+ direction: OBSERVABILITY_LIST_DEFAULT_SORT_DIRECTION
103
+ };
104
+ }
105
+ /** Mutates `params`. */
106
+ function writeObservabilityListSort(params, { field, direction }) {
107
+ params.set(require_sort_use_url_sort.SORT_KEY_PARAM, field);
108
+ params.set("dir", direction);
109
+ }
110
+ exports.OBSERVABILITY_LIST_DEFAULT_DATE_PRESET = OBSERVABILITY_LIST_DEFAULT_DATE_PRESET;
111
+ exports.OBSERVABILITY_LIST_DEFAULT_SORT_DIRECTION = OBSERVABILITY_LIST_DEFAULT_SORT_DIRECTION;
112
+ exports.OBSERVABILITY_LIST_FILTER_PARAM_PREFIX = OBSERVABILITY_LIST_FILTER_PARAM_PREFIX;
113
+ exports.OBSERVABILITY_LIST_SORT_FIELDS = OBSERVABILITY_LIST_SORT_FIELDS;
114
+ exports.SPAN_LIST_SORT_FIELDS = SPAN_LIST_SORT_FIELDS;
115
+ exports.readObservabilityListDates = readObservabilityListDates;
116
+ exports.readObservabilityListFilters = readObservabilityListFilters;
117
+ exports.readObservabilityListSort = readObservabilityListSort;
118
+ exports.writeObservabilityListDates = writeObservabilityListDates;
119
+ exports.writeObservabilityListFilters = writeObservabilityListFilters;
120
+ exports.writeObservabilityListSort = writeObservabilityListSort;
121
+
122
+ //# sourceMappingURL=observability-list-url-state.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observability-list-url-state.cjs.js","names":["DEFAULT_TRACES_FILTERS","TRACE_DATE_PRESET_PARAM","TRACE_DATE_PRESET_VALUES","TRACE_DATE_FROM_PARAM","TRACE_DATE_TO_PARAM","traceFilterOperatorParam","isTraceFilterOperatorId","getTraceFilterGroups","TRACE_FILTER_GROUP_PARAM","traceFilterTokenOperator","serializeTraceFilterGroup","readUrlSort","SORT_KEY_PARAM"],"sources":["../../../src/domains/observability/observability-list-url-state.ts"],"sourcesContent":["import { DEFAULT_TRACES_FILTERS } from '@/domains/traces/components/traces-explorer/traces-explorer-actions';\nimport {\n TRACE_DATE_FROM_PARAM,\n TRACE_DATE_PRESET_PARAM,\n TRACE_DATE_PRESET_VALUES,\n TRACE_DATE_TO_PARAM,\n TRACE_FILTER_GROUP_PARAM,\n TRACE_FILTER_OPERATOR_PARAM_SUFFIX,\n getTraceFilterGroups,\n serializeTraceFilterGroup,\n traceFilterOperatorParam,\n traceFilterTokenOperator,\n} from '@/domains/traces/trace-filters';\nimport { isTraceFilterOperatorId } from '@/domains/traces/trace-query-filters';\nimport type { TraceFilterGroup, TraceFilterToken } from '@/domains/traces/trace-query-filters';\nimport type { TraceDatePreset } from '@/domains/traces/types';\nimport { SORT_DIR_PARAM, SORT_KEY_PARAM, readUrlSort } from '@/lib/sort/use-url-sort';\n\n/**\n * URL state of the spans and threads lists. Dates, sort and groups use the same params as /traces;\n * a flat token lives in `filter.<fieldId>` (plus `filter.<fieldId>.op` unless the operator is `is`),\n * since span and thread fields are not in the trace page's fixed `filterX` param map.\n */\nexport const OBSERVABILITY_LIST_FILTER_PARAM_PREFIX = 'filter.';\nexport const OBSERVABILITY_LIST_SORT_FIELDS = ['startedAt'] as const;\n/** Spans can also be ordered by their streaming timings, where the store supports it. */\nexport const SPAN_LIST_SORT_FIELDS = ['startedAt', 'timeToFirstChunkMs', 'timeToFirstTokenMs'] as const;\nexport const OBSERVABILITY_LIST_DEFAULT_DATE_PRESET: TraceDatePreset = DEFAULT_TRACES_FILTERS.datePreset;\n\nexport type ObservabilityListSortDirection = 'asc' | 'desc';\nexport const OBSERVABILITY_LIST_DEFAULT_SORT_DIRECTION: ObservabilityListSortDirection = 'desc';\nexport type ObservabilityListSort<F extends string = string> = { field: F; direction: ObservabilityListSortDirection };\n\nexport type ObservabilityListDates = { datePreset: TraceDatePreset; dateFrom?: Date; dateTo?: Date };\nexport type ObservabilityListFilters = { tokens: TraceFilterToken[]; groups: TraceFilterGroup[] };\n\nconst filterParam = (fieldId: string) => OBSERVABILITY_LIST_FILTER_PARAM_PREFIX + fieldId;\n\nconst isTokenParam = (param: string) =>\n param.startsWith(OBSERVABILITY_LIST_FILTER_PARAM_PREFIX) &&\n param.length > OBSERVABILITY_LIST_FILTER_PARAM_PREFIX.length &&\n !param.endsWith(TRACE_FILTER_OPERATOR_PARAM_SUFFIX);\n\nconst isFilterParam = (param: string) => param.startsWith(OBSERVABILITY_LIST_FILTER_PARAM_PREFIX);\n\nfunction parseDate(raw: string | null): Date | undefined {\n if (!raw) return undefined;\n const parsed = new Date(raw);\n return Number.isNaN(parsed.getTime()) ? undefined : parsed;\n}\n\n/** `defaultPreset` is the range the host shows when the URL names none. */\nexport function readObservabilityListDates(\n params: URLSearchParams,\n defaultPreset: TraceDatePreset = OBSERVABILITY_LIST_DEFAULT_DATE_PRESET,\n): ObservabilityListDates {\n const preset = params.get(TRACE_DATE_PRESET_PARAM);\n const datePreset =\n preset && TRACE_DATE_PRESET_VALUES.has(preset as TraceDatePreset) ? (preset as TraceDatePreset) : defaultPreset;\n if (datePreset !== 'custom') return { datePreset };\n const dateFrom = parseDate(params.get(TRACE_DATE_FROM_PARAM));\n const dateTo = parseDate(params.get(TRACE_DATE_TO_PARAM));\n return { datePreset, ...(dateFrom ? { dateFrom } : {}), ...(dateTo ? { dateTo } : {}) };\n}\n\n/** Mutates `params`. The host's default preset is left out of the URL; dates are only kept for `custom`. */\nexport function writeObservabilityListDates(\n params: URLSearchParams,\n { datePreset, dateFrom, dateTo }: ObservabilityListDates,\n defaultPreset: TraceDatePreset = OBSERVABILITY_LIST_DEFAULT_DATE_PRESET,\n) {\n if (datePreset === defaultPreset) params.delete(TRACE_DATE_PRESET_PARAM);\n else params.set(TRACE_DATE_PRESET_PARAM, datePreset);\n const custom = datePreset === 'custom';\n if (custom && dateFrom) params.set(TRACE_DATE_FROM_PARAM, dateFrom.toISOString());\n else params.delete(TRACE_DATE_FROM_PARAM);\n if (custom && dateTo) params.set(TRACE_DATE_TO_PARAM, dateTo.toISOString());\n else params.delete(TRACE_DATE_TO_PARAM);\n}\n\n/** Flat tokens in URL order, plus the advanced groups. */\nexport function readObservabilityListFilters(params: URLSearchParams): ObservabilityListFilters {\n const tokens: TraceFilterToken[] = [];\n const seen = new Set<string>();\n for (const param of params.keys()) {\n if (!isTokenParam(param) || seen.has(param)) continue;\n seen.add(param);\n const fieldId = param.slice(OBSERVABILITY_LIST_FILTER_PARAM_PREFIX.length);\n const rawOperator = params.get(traceFilterOperatorParam(param));\n const operatorId = rawOperator !== null && isTraceFilterOperatorId(rawOperator) ? rawOperator : undefined;\n const values = params.getAll(param);\n if (operatorId === 'in' || operatorId === 'notIn') {\n // An empty entry is the sentinel of a chip with nothing picked yet.\n tokens.push({ fieldId, value: values.filter(Boolean), operatorId });\n } else {\n tokens.push({ fieldId, value: values[0] ?? '', ...(operatorId ? { operatorId } : {}) });\n }\n }\n return { tokens, groups: getTraceFilterGroups(params) };\n}\n\n/** Mutates `params`: replaces every filter param with `tokens` (in order) and `groups`. */\nexport function writeObservabilityListFilters(params: URLSearchParams, { tokens, groups }: ObservabilityListFilters) {\n for (const param of Array.from(params.keys())) {\n if (isFilterParam(param)) params.delete(param);\n }\n params.delete(TRACE_FILTER_GROUP_PARAM);\n\n for (const token of tokens) {\n const param = filterParam(token.fieldId);\n if (Array.isArray(token.value)) {\n if (token.value.length === 0) params.append(param, '');\n for (const value of token.value) params.append(param, value);\n } else {\n params.set(param, token.value.trim());\n }\n const operatorId = traceFilterTokenOperator(token);\n if (operatorId !== 'is') params.set(traceFilterOperatorParam(param), operatorId);\n }\n for (const group of groups) params.append(TRACE_FILTER_GROUP_PARAM, serializeTraceFilterGroup(group));\n}\n\n/** The URL's sort when its field is one of `fields`, else start time, newest first. */\nexport function readObservabilityListSort<F extends string>(\n params: URLSearchParams,\n fields: readonly F[],\n): ObservabilityListSort<F | 'startedAt'> {\n const sort = readUrlSort(params, fields);\n return sort\n ? { field: sort.key, direction: sort.direction }\n : { field: 'startedAt', direction: OBSERVABILITY_LIST_DEFAULT_SORT_DIRECTION };\n}\n\n/** Mutates `params`. */\nexport function writeObservabilityListSort(params: URLSearchParams, { field, direction }: ObservabilityListSort) {\n params.set(SORT_KEY_PARAM, field);\n params.set(SORT_DIR_PARAM, direction);\n}\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export * from '../../src/domains/observability/observability-list-url-state';
@@ -0,0 +1,111 @@
1
+ import { $ as traceFilterOperatorParam, B as getTraceFilterGroups, X as serializeTraceFilterGroup, a as TRACE_DATE_FROM_PARAM, c as TRACE_DATE_TO_PARAM, d as TRACE_FILTER_GROUP_PARAM, dt as isTraceFilterOperatorId, et as traceFilterTokenOperator, o as TRACE_DATE_PRESET_PARAM, s as TRACE_DATE_PRESET_VALUES } from "../../trace-filters-BJaebsxJ.js";
2
+ import { DEFAULT_TRACES_FILTERS } from "../traces/components/traces-explorer/traces-explorer-actions.es.js";
3
+ import { SORT_KEY_PARAM, readUrlSort } from "../../sort/use-url-sort.es.js";
4
+ // src/domains/observability/observability-list-url-state.ts
5
+ /**
6
+ * URL state of the spans and threads lists. Dates, sort and groups use the same params as /traces;
7
+ * a flat token lives in `filter.<fieldId>` (plus `filter.<fieldId>.op` unless the operator is `is`),
8
+ * since span and thread fields are not in the trace page's fixed `filterX` param map.
9
+ */
10
+ var OBSERVABILITY_LIST_FILTER_PARAM_PREFIX = "filter.";
11
+ var OBSERVABILITY_LIST_SORT_FIELDS = ["startedAt"];
12
+ /** Spans can also be ordered by their streaming timings, where the store supports it. */
13
+ var SPAN_LIST_SORT_FIELDS = [
14
+ "startedAt",
15
+ "timeToFirstChunkMs",
16
+ "timeToFirstTokenMs"
17
+ ];
18
+ var OBSERVABILITY_LIST_DEFAULT_DATE_PRESET = DEFAULT_TRACES_FILTERS.datePreset;
19
+ var OBSERVABILITY_LIST_DEFAULT_SORT_DIRECTION = "desc";
20
+ var filterParam = (fieldId) => OBSERVABILITY_LIST_FILTER_PARAM_PREFIX + fieldId;
21
+ var isTokenParam = (param) => param.startsWith("filter.") && param.length > 7 && !param.endsWith(".op");
22
+ var isFilterParam = (param) => param.startsWith(OBSERVABILITY_LIST_FILTER_PARAM_PREFIX);
23
+ function parseDate(raw) {
24
+ if (!raw) return void 0;
25
+ const parsed = new Date(raw);
26
+ return Number.isNaN(parsed.getTime()) ? void 0 : parsed;
27
+ }
28
+ /** `defaultPreset` is the range the host shows when the URL names none. */
29
+ function readObservabilityListDates(params, defaultPreset = OBSERVABILITY_LIST_DEFAULT_DATE_PRESET) {
30
+ const preset = params.get(TRACE_DATE_PRESET_PARAM);
31
+ const datePreset = preset && TRACE_DATE_PRESET_VALUES.has(preset) ? preset : defaultPreset;
32
+ if (datePreset !== "custom") return { datePreset };
33
+ const dateFrom = parseDate(params.get(TRACE_DATE_FROM_PARAM));
34
+ const dateTo = parseDate(params.get(TRACE_DATE_TO_PARAM));
35
+ return {
36
+ datePreset,
37
+ ...dateFrom ? { dateFrom } : {},
38
+ ...dateTo ? { dateTo } : {}
39
+ };
40
+ }
41
+ /** Mutates `params`. The host's default preset is left out of the URL; dates are only kept for `custom`. */
42
+ function writeObservabilityListDates(params, { datePreset, dateFrom, dateTo }, defaultPreset = OBSERVABILITY_LIST_DEFAULT_DATE_PRESET) {
43
+ if (datePreset === defaultPreset) params.delete(TRACE_DATE_PRESET_PARAM);
44
+ else params.set(TRACE_DATE_PRESET_PARAM, datePreset);
45
+ const custom = datePreset === "custom";
46
+ if (custom && dateFrom) params.set(TRACE_DATE_FROM_PARAM, dateFrom.toISOString());
47
+ else params.delete(TRACE_DATE_FROM_PARAM);
48
+ if (custom && dateTo) params.set(TRACE_DATE_TO_PARAM, dateTo.toISOString());
49
+ else params.delete(TRACE_DATE_TO_PARAM);
50
+ }
51
+ /** Flat tokens in URL order, plus the advanced groups. */
52
+ function readObservabilityListFilters(params) {
53
+ const tokens = [];
54
+ const seen = /* @__PURE__ */ new Set();
55
+ for (const param of params.keys()) {
56
+ if (!isTokenParam(param) || seen.has(param)) continue;
57
+ seen.add(param);
58
+ const fieldId = param.slice(7);
59
+ const rawOperator = params.get(traceFilterOperatorParam(param));
60
+ const operatorId = rawOperator !== null && isTraceFilterOperatorId(rawOperator) ? rawOperator : void 0;
61
+ const values = params.getAll(param);
62
+ if (operatorId === "in" || operatorId === "notIn") tokens.push({
63
+ fieldId,
64
+ value: values.filter(Boolean),
65
+ operatorId
66
+ });
67
+ else tokens.push({
68
+ fieldId,
69
+ value: values[0] ?? "",
70
+ ...operatorId ? { operatorId } : {}
71
+ });
72
+ }
73
+ return {
74
+ tokens,
75
+ groups: getTraceFilterGroups(params)
76
+ };
77
+ }
78
+ /** Mutates `params`: replaces every filter param with `tokens` (in order) and `groups`. */
79
+ function writeObservabilityListFilters(params, { tokens, groups }) {
80
+ for (const param of Array.from(params.keys())) if (isFilterParam(param)) params.delete(param);
81
+ params.delete(TRACE_FILTER_GROUP_PARAM);
82
+ for (const token of tokens) {
83
+ const param = filterParam(token.fieldId);
84
+ if (Array.isArray(token.value)) {
85
+ if (token.value.length === 0) params.append(param, "");
86
+ for (const value of token.value) params.append(param, value);
87
+ } else params.set(param, token.value.trim());
88
+ const operatorId = traceFilterTokenOperator(token);
89
+ if (operatorId !== "is") params.set(traceFilterOperatorParam(param), operatorId);
90
+ }
91
+ for (const group of groups) params.append(TRACE_FILTER_GROUP_PARAM, serializeTraceFilterGroup(group));
92
+ }
93
+ /** The URL's sort when its field is one of `fields`, else start time, newest first. */
94
+ function readObservabilityListSort(params, fields) {
95
+ const sort = readUrlSort(params, fields);
96
+ return sort ? {
97
+ field: sort.key,
98
+ direction: sort.direction
99
+ } : {
100
+ field: "startedAt",
101
+ direction: OBSERVABILITY_LIST_DEFAULT_SORT_DIRECTION
102
+ };
103
+ }
104
+ /** Mutates `params`. */
105
+ function writeObservabilityListSort(params, { field, direction }) {
106
+ params.set(SORT_KEY_PARAM, field);
107
+ params.set("dir", direction);
108
+ }
109
+ export { OBSERVABILITY_LIST_DEFAULT_DATE_PRESET, OBSERVABILITY_LIST_DEFAULT_SORT_DIRECTION, OBSERVABILITY_LIST_FILTER_PARAM_PREFIX, OBSERVABILITY_LIST_SORT_FIELDS, SPAN_LIST_SORT_FIELDS, readObservabilityListDates, readObservabilityListFilters, readObservabilityListSort, writeObservabilityListDates, writeObservabilityListFilters, writeObservabilityListSort };
110
+
111
+ //# sourceMappingURL=observability-list-url-state.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observability-list-url-state.es.js","names":[],"sources":["../../../src/domains/observability/observability-list-url-state.ts"],"sourcesContent":["import { DEFAULT_TRACES_FILTERS } from '@/domains/traces/components/traces-explorer/traces-explorer-actions';\nimport {\n TRACE_DATE_FROM_PARAM,\n TRACE_DATE_PRESET_PARAM,\n TRACE_DATE_PRESET_VALUES,\n TRACE_DATE_TO_PARAM,\n TRACE_FILTER_GROUP_PARAM,\n TRACE_FILTER_OPERATOR_PARAM_SUFFIX,\n getTraceFilterGroups,\n serializeTraceFilterGroup,\n traceFilterOperatorParam,\n traceFilterTokenOperator,\n} from '@/domains/traces/trace-filters';\nimport { isTraceFilterOperatorId } from '@/domains/traces/trace-query-filters';\nimport type { TraceFilterGroup, TraceFilterToken } from '@/domains/traces/trace-query-filters';\nimport type { TraceDatePreset } from '@/domains/traces/types';\nimport { SORT_DIR_PARAM, SORT_KEY_PARAM, readUrlSort } from '@/lib/sort/use-url-sort';\n\n/**\n * URL state of the spans and threads lists. Dates, sort and groups use the same params as /traces;\n * a flat token lives in `filter.<fieldId>` (plus `filter.<fieldId>.op` unless the operator is `is`),\n * since span and thread fields are not in the trace page's fixed `filterX` param map.\n */\nexport const OBSERVABILITY_LIST_FILTER_PARAM_PREFIX = 'filter.';\nexport const OBSERVABILITY_LIST_SORT_FIELDS = ['startedAt'] as const;\n/** Spans can also be ordered by their streaming timings, where the store supports it. */\nexport const SPAN_LIST_SORT_FIELDS = ['startedAt', 'timeToFirstChunkMs', 'timeToFirstTokenMs'] as const;\nexport const OBSERVABILITY_LIST_DEFAULT_DATE_PRESET: TraceDatePreset = DEFAULT_TRACES_FILTERS.datePreset;\n\nexport type ObservabilityListSortDirection = 'asc' | 'desc';\nexport const OBSERVABILITY_LIST_DEFAULT_SORT_DIRECTION: ObservabilityListSortDirection = 'desc';\nexport type ObservabilityListSort<F extends string = string> = { field: F; direction: ObservabilityListSortDirection };\n\nexport type ObservabilityListDates = { datePreset: TraceDatePreset; dateFrom?: Date; dateTo?: Date };\nexport type ObservabilityListFilters = { tokens: TraceFilterToken[]; groups: TraceFilterGroup[] };\n\nconst filterParam = (fieldId: string) => OBSERVABILITY_LIST_FILTER_PARAM_PREFIX + fieldId;\n\nconst isTokenParam = (param: string) =>\n param.startsWith(OBSERVABILITY_LIST_FILTER_PARAM_PREFIX) &&\n param.length > OBSERVABILITY_LIST_FILTER_PARAM_PREFIX.length &&\n !param.endsWith(TRACE_FILTER_OPERATOR_PARAM_SUFFIX);\n\nconst isFilterParam = (param: string) => param.startsWith(OBSERVABILITY_LIST_FILTER_PARAM_PREFIX);\n\nfunction parseDate(raw: string | null): Date | undefined {\n if (!raw) return undefined;\n const parsed = new Date(raw);\n return Number.isNaN(parsed.getTime()) ? undefined : parsed;\n}\n\n/** `defaultPreset` is the range the host shows when the URL names none. */\nexport function readObservabilityListDates(\n params: URLSearchParams,\n defaultPreset: TraceDatePreset = OBSERVABILITY_LIST_DEFAULT_DATE_PRESET,\n): ObservabilityListDates {\n const preset = params.get(TRACE_DATE_PRESET_PARAM);\n const datePreset =\n preset && TRACE_DATE_PRESET_VALUES.has(preset as TraceDatePreset) ? (preset as TraceDatePreset) : defaultPreset;\n if (datePreset !== 'custom') return { datePreset };\n const dateFrom = parseDate(params.get(TRACE_DATE_FROM_PARAM));\n const dateTo = parseDate(params.get(TRACE_DATE_TO_PARAM));\n return { datePreset, ...(dateFrom ? { dateFrom } : {}), ...(dateTo ? { dateTo } : {}) };\n}\n\n/** Mutates `params`. The host's default preset is left out of the URL; dates are only kept for `custom`. */\nexport function writeObservabilityListDates(\n params: URLSearchParams,\n { datePreset, dateFrom, dateTo }: ObservabilityListDates,\n defaultPreset: TraceDatePreset = OBSERVABILITY_LIST_DEFAULT_DATE_PRESET,\n) {\n if (datePreset === defaultPreset) params.delete(TRACE_DATE_PRESET_PARAM);\n else params.set(TRACE_DATE_PRESET_PARAM, datePreset);\n const custom = datePreset === 'custom';\n if (custom && dateFrom) params.set(TRACE_DATE_FROM_PARAM, dateFrom.toISOString());\n else params.delete(TRACE_DATE_FROM_PARAM);\n if (custom && dateTo) params.set(TRACE_DATE_TO_PARAM, dateTo.toISOString());\n else params.delete(TRACE_DATE_TO_PARAM);\n}\n\n/** Flat tokens in URL order, plus the advanced groups. */\nexport function readObservabilityListFilters(params: URLSearchParams): ObservabilityListFilters {\n const tokens: TraceFilterToken[] = [];\n const seen = new Set<string>();\n for (const param of params.keys()) {\n if (!isTokenParam(param) || seen.has(param)) continue;\n seen.add(param);\n const fieldId = param.slice(OBSERVABILITY_LIST_FILTER_PARAM_PREFIX.length);\n const rawOperator = params.get(traceFilterOperatorParam(param));\n const operatorId = rawOperator !== null && isTraceFilterOperatorId(rawOperator) ? rawOperator : undefined;\n const values = params.getAll(param);\n if (operatorId === 'in' || operatorId === 'notIn') {\n // An empty entry is the sentinel of a chip with nothing picked yet.\n tokens.push({ fieldId, value: values.filter(Boolean), operatorId });\n } else {\n tokens.push({ fieldId, value: values[0] ?? '', ...(operatorId ? { operatorId } : {}) });\n }\n }\n return { tokens, groups: getTraceFilterGroups(params) };\n}\n\n/** Mutates `params`: replaces every filter param with `tokens` (in order) and `groups`. */\nexport function writeObservabilityListFilters(params: URLSearchParams, { tokens, groups }: ObservabilityListFilters) {\n for (const param of Array.from(params.keys())) {\n if (isFilterParam(param)) params.delete(param);\n }\n params.delete(TRACE_FILTER_GROUP_PARAM);\n\n for (const token of tokens) {\n const param = filterParam(token.fieldId);\n if (Array.isArray(token.value)) {\n if (token.value.length === 0) params.append(param, '');\n for (const value of token.value) params.append(param, value);\n } else {\n params.set(param, token.value.trim());\n }\n const operatorId = traceFilterTokenOperator(token);\n if (operatorId !== 'is') params.set(traceFilterOperatorParam(param), operatorId);\n }\n for (const group of groups) params.append(TRACE_FILTER_GROUP_PARAM, serializeTraceFilterGroup(group));\n}\n\n/** The URL's sort when its field is one of `fields`, else start time, newest first. */\nexport function readObservabilityListSort<F extends string>(\n params: URLSearchParams,\n fields: readonly F[],\n): ObservabilityListSort<F | 'startedAt'> {\n const sort = readUrlSort(params, fields);\n return sort\n ? { field: sort.key, direction: sort.direction }\n : { field: 'startedAt', direction: OBSERVABILITY_LIST_DEFAULT_SORT_DIRECTION };\n}\n\n/** Mutates `params`. */\nexport function writeObservabilityListSort(params: URLSearchParams, { field, direction }: ObservabilityListSort) {\n params.set(SORT_KEY_PARAM, field);\n params.set(SORT_DIR_PARAM, direction);\n}\n"],"mappings":";;;;;;;;;AAuBA,IAAa,yCAAyC;AACtD,IAAa,iCAAiC,CAAC,WAAW;;AAE1D,IAAa,wBAAwB;CAAC;CAAa;CAAsB;AAAoB;AAC7F,IAAa,yCAA0D,uBAAuB;AAG9F,IAAa,4CAA4E;AAMzF,IAAM,eAAe,YAAoB,yCAAyC;AAElF,IAAM,gBAAgB,UACpB,MAAM,WAAA,SAAiD,KACvD,MAAM,SAAS,KACf,CAAC,MAAM,SAAA,KAA2C;AAEpD,IAAM,iBAAiB,UAAkB,MAAM,WAAW,sCAAsC;AAEhG,SAAS,UAAU,KAAsC;CACvD,IAAI,CAAC,KAAK,OAAO,KAAA;CACjB,MAAM,SAAS,IAAI,KAAK,GAAG;CAC3B,OAAO,OAAO,MAAM,OAAO,QAAQ,CAAC,IAAI,KAAA,IAAY;AACtD;;AAGA,SAAgB,2BACd,QACA,gBAAiC,wCACT;CACxB,MAAM,SAAS,OAAO,IAAI,uBAAuB;CACjD,MAAM,aACJ,UAAU,yBAAyB,IAAI,MAAyB,IAAK,SAA6B;CACpG,IAAI,eAAe,UAAU,OAAO,EAAE,WAAW;CACjD,MAAM,WAAW,UAAU,OAAO,IAAI,qBAAqB,CAAC;CAC5D,MAAM,SAAS,UAAU,OAAO,IAAI,mBAAmB,CAAC;CACxD,OAAO;EAAE;EAAY,GAAI,WAAW,EAAE,SAAS,IAAI,CAAC;EAAI,GAAI,SAAS,EAAE,OAAO,IAAI,CAAC;CAAG;AACxF;;AAGA,SAAgB,4BACd,QACA,EAAE,YAAY,UAAU,UACxB,gBAAiC,wCACjC;CACA,IAAI,eAAe,eAAe,OAAO,OAAO,uBAAuB;MAClE,OAAO,IAAI,yBAAyB,UAAU;CACnD,MAAM,SAAS,eAAe;CAC9B,IAAI,UAAU,UAAU,OAAO,IAAI,uBAAuB,SAAS,YAAY,CAAC;MAC3E,OAAO,OAAO,qBAAqB;CACxC,IAAI,UAAU,QAAQ,OAAO,IAAI,qBAAqB,OAAO,YAAY,CAAC;MACrE,OAAO,OAAO,mBAAmB;AACxC;;AAGA,SAAgB,6BAA6B,QAAmD;CAC9F,MAAM,SAA6B,CAAC;CACpC,MAAM,uBAAO,IAAI,IAAY;CAC7B,KAAK,MAAM,SAAS,OAAO,KAAK,GAAG;EACjC,IAAI,CAAC,aAAa,KAAK,KAAK,KAAK,IAAI,KAAK,GAAG;EAC7C,KAAK,IAAI,KAAK;EACd,MAAM,UAAU,MAAM,MAAM,CAA6C;EACzE,MAAM,cAAc,OAAO,IAAI,yBAAyB,KAAK,CAAC;EAC9D,MAAM,aAAa,gBAAgB,QAAQ,wBAAwB,WAAW,IAAI,cAAc,KAAA;EAChG,MAAM,SAAS,OAAO,OAAO,KAAK;EAClC,IAAI,eAAe,QAAQ,eAAe,SAExC,OAAO,KAAK;GAAE;GAAS,OAAO,OAAO,OAAO,OAAO;GAAG;EAAW,CAAC;OAElE,OAAO,KAAK;GAAE;GAAS,OAAO,OAAO,MAAM;GAAI,GAAI,aAAa,EAAE,WAAW,IAAI,CAAC;EAAG,CAAC;CAE1F;CACA,OAAO;EAAE;EAAQ,QAAQ,qBAAqB,MAAM;CAAE;AACxD;;AAGA,SAAgB,8BAA8B,QAAyB,EAAE,QAAQ,UAAoC;CACnH,KAAK,MAAM,SAAS,MAAM,KAAK,OAAO,KAAK,CAAC,GAC1C,IAAI,cAAc,KAAK,GAAG,OAAO,OAAO,KAAK;CAE/C,OAAO,OAAO,wBAAwB;CAEtC,KAAK,MAAM,SAAS,QAAQ;EAC1B,MAAM,QAAQ,YAAY,MAAM,OAAO;EACvC,IAAI,MAAM,QAAQ,MAAM,KAAK,GAAG;GAC9B,IAAI,MAAM,MAAM,WAAW,GAAG,OAAO,OAAO,OAAO,EAAE;GACrD,KAAK,MAAM,SAAS,MAAM,OAAO,OAAO,OAAO,OAAO,KAAK;EAC7D,OACE,OAAO,IAAI,OAAO,MAAM,MAAM,KAAK,CAAC;EAEtC,MAAM,aAAa,yBAAyB,KAAK;EACjD,IAAI,eAAe,MAAM,OAAO,IAAI,yBAAyB,KAAK,GAAG,UAAU;CACjF;CACA,KAAK,MAAM,SAAS,QAAQ,OAAO,OAAO,0BAA0B,0BAA0B,KAAK,CAAC;AACtG;;AAGA,SAAgB,0BACd,QACA,QACwC;CACxC,MAAM,OAAO,YAAY,QAAQ,MAAM;CACvC,OAAO,OACH;EAAE,OAAO,KAAK;EAAK,WAAW,KAAK;CAAU,IAC7C;EAAE,OAAO;EAAa,WAAW;CAA0C;AACjF;;AAGA,SAAgB,2BAA2B,QAAyB,EAAE,OAAO,aAAoC;CAC/G,OAAO,IAAI,gBAAgB,KAAK;CAChC,OAAO,IAAA,OAAoB,SAAS;AACtC"}