@mastra/playground-ui 63.0.0 → 63.1.0-alpha.1

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 (445) hide show
  1. package/dist/{alert-dialog-DVAC9zdj.js → alert-dialog-Cpx4g1sS.js} +2 -2
  2. package/dist/{alert-dialog-DVAC9zdj.js.map → alert-dialog-Cpx4g1sS.js.map} +1 -1
  3. package/dist/{alert-dialog-C-ODvRWT.cjs → alert-dialog-Djojjgjo.cjs} +2 -2
  4. package/dist/{alert-dialog-C-ODvRWT.cjs.map → alert-dialog-Djojjgjo.cjs.map} +1 -1
  5. package/dist/{code-block-vvYFcnqm.js → code-block-BzUcNWrb.js} +2 -2
  6. package/dist/{code-block-vvYFcnqm.js.map → code-block-BzUcNWrb.js.map} +1 -1
  7. package/dist/{code-block-BuGosknt.cjs → code-block-CKLCdWtP.cjs} +2 -2
  8. package/dist/{code-block-BuGosknt.cjs.map → code-block-CKLCdWtP.cjs.map} +1 -1
  9. package/dist/{combobox-fEMKH9nJ.cjs → combobox-CdTP_FZ0.cjs} +9 -2
  10. package/dist/combobox-CdTP_FZ0.cjs.map +1 -0
  11. package/dist/{combobox-so2V71F7.js → combobox-CeYDCkXk.js} +9 -2
  12. package/dist/combobox-CeYDCkXk.js.map +1 -0
  13. package/dist/{command-B_C36ppQ.cjs → command-CSl9Mfrp.cjs} +3 -3
  14. package/dist/{command-B_C36ppQ.cjs.map → command-CSl9Mfrp.cjs.map} +1 -1
  15. package/dist/{command-DMqzDhzs.js → command-DQAGSkdK.js} +3 -3
  16. package/dist/{command-DMqzDhzs.js.map → command-DQAGSkdK.js.map} +1 -1
  17. package/dist/components/AlertDialog.cjs.js +1 -1
  18. package/dist/components/AlertDialog.es.js +1 -1
  19. package/dist/components/CodeBlock.cjs.js +1 -1
  20. package/dist/components/CodeBlock.es.js +1 -1
  21. package/dist/components/Combobox.cjs.js +1 -1
  22. package/dist/components/Combobox.es.js +1 -1
  23. package/dist/components/Command.cjs.js +1 -1
  24. package/dist/components/Command.es.js +1 -1
  25. package/dist/components/CommandPalette.cjs.js +2 -2
  26. package/dist/components/CommandPalette.es.js +2 -2
  27. package/dist/components/Comment.cjs.js +1 -1
  28. package/dist/components/Comment.es.js +1 -1
  29. package/dist/components/Composer.cjs.js +2 -2
  30. package/dist/components/Composer.es.js +2 -2
  31. package/dist/components/DataCodeSection.cjs.js +1 -1
  32. package/dist/components/DataCodeSection.es.js +1 -1
  33. package/dist/components/DataList.cjs.js +17 -15
  34. package/dist/components/DataList.cjs.js.map +1 -1
  35. package/dist/components/DataList.es.js +5 -4
  36. package/dist/components/DataList.es.js.map +1 -1
  37. package/dist/components/DataPanel.cjs.js +1 -1
  38. package/dist/components/DataPanel.es.js +1 -1
  39. package/dist/components/DateTimeRangePicker.cjs.js +1 -1
  40. package/dist/components/DateTimeRangePicker.es.js +1 -1
  41. package/dist/components/Dialog.cjs.js +2 -2
  42. package/dist/components/Dialog.es.js +2 -2
  43. package/dist/components/DropdownMenu.cjs.js +1 -1
  44. package/dist/components/DropdownMenu.es.js +1 -1
  45. package/dist/components/EnvironmentVariablesEditor.cjs.js +2 -2
  46. package/dist/components/EnvironmentVariablesEditor.es.js +2 -2
  47. package/dist/components/InputGroup.cjs.js +1 -1
  48. package/dist/components/InputGroup.es.js +1 -1
  49. package/dist/components/InputNumber.cjs.js +1 -1
  50. package/dist/components/InputNumber.es.js +1 -1
  51. package/dist/components/ListSearch.cjs.js +1 -1
  52. package/dist/components/ListSearch.es.js +1 -1
  53. package/dist/components/LogsDataList.cjs.js +2 -5
  54. package/dist/components/LogsDataList.cjs.js.map +1 -1
  55. package/dist/components/LogsDataList.es.js +2 -5
  56. package/dist/components/LogsDataList.es.js.map +1 -1
  57. package/dist/components/MarkdownRenderer.cjs.js +1 -1
  58. package/dist/components/MarkdownRenderer.es.js +1 -1
  59. package/dist/components/MetricsCard.cjs.js +1 -1
  60. package/dist/components/MetricsCard.es.js +1 -1
  61. package/dist/components/PageLayout.cjs.js +11 -8
  62. package/dist/components/PageLayout.cjs.js.map +1 -1
  63. package/dist/components/PageLayout.es.js +11 -8
  64. package/dist/components/PageLayout.es.js.map +1 -1
  65. package/dist/components/PropertyFilter.cjs.js +2 -2
  66. package/dist/components/PropertyFilter.es.js +3 -3
  67. package/dist/components/SavedViews.cjs.js +1 -1
  68. package/dist/components/SavedViews.es.js +1 -1
  69. package/dist/components/ScrollArea.cjs.js +1 -1
  70. package/dist/components/ScrollArea.es.js +1 -1
  71. package/dist/components/SearchInput.cjs.js +1 -1
  72. package/dist/components/SearchInput.es.js +1 -1
  73. package/dist/components/Sidebar.cjs.js +3 -3
  74. package/dist/components/Sidebar.es.js +3 -3
  75. package/dist/components/Tabs.cjs.js +1 -1
  76. package/dist/components/Tabs.es.js +1 -1
  77. package/dist/components/ThreadRail.cjs.js +1 -1
  78. package/dist/components/ThreadRail.es.js +1 -1
  79. package/dist/components/Workflow.cjs.js +3 -3
  80. package/dist/components/Workflow.es.js +3 -3
  81. package/dist/components/ai/activity.cjs.js +1 -1
  82. package/dist/components/ai/activity.es.js +1 -1
  83. package/dist/components/ai/plan.cjs.js +1 -1
  84. package/dist/components/ai/plan.es.js +1 -1
  85. package/dist/components/ai/task-list.cjs.js +1 -1
  86. package/dist/components/ai/task-list.es.js +1 -1
  87. package/dist/components/ai/tool-approval.cjs.js +1 -1
  88. package/dist/components/ai/tool-approval.es.js +1 -1
  89. package/dist/components/ai/tool-call.cjs.js +2 -2
  90. package/dist/components/ai/tool-call.es.js +2 -2
  91. package/dist/{composer-CxmOOUX8.js → composer-B0i1WZgt.js} +2 -2
  92. package/dist/{composer-CxmOOUX8.js.map → composer-B0i1WZgt.js.map} +1 -1
  93. package/dist/{composer-Cg5bXN1r.cjs → composer-DJsfHivH.cjs} +2 -2
  94. package/dist/{composer-Cg5bXN1r.cjs.map → composer-DJsfHivH.cjs.map} +1 -1
  95. package/dist/{data-code-section-Bs8sHDux.cjs → data-code-section-BB2RWius.cjs} +3 -3
  96. package/dist/{data-code-section-Bs8sHDux.cjs.map → data-code-section-BB2RWius.cjs.map} +1 -1
  97. package/dist/{data-code-section-CqdjmClK.js → data-code-section-DsU-ubVW.js} +3 -3
  98. package/dist/{data-code-section-CqdjmClK.js.map → data-code-section-DsU-ubVW.js.map} +1 -1
  99. package/dist/data-list-CaifGmFh.cjs +142 -0
  100. package/dist/data-list-CaifGmFh.cjs.map +1 -0
  101. package/dist/data-list-kilUFo3I.js +138 -0
  102. package/dist/data-list-kilUFo3I.js.map +1 -0
  103. package/dist/{data-list-skeleton-BNsWWamC.js → data-list-skeleton-C_zFfUy5.js} +2 -2
  104. package/dist/{data-list-skeleton-BNsWWamC.js.map → data-list-skeleton-C_zFfUy5.js.map} +1 -1
  105. package/dist/{data-list-skeleton-BGJD4qMF.cjs → data-list-skeleton-Cgo1Urkr.cjs} +6 -6
  106. package/dist/{data-list-skeleton-BGJD4qMF.cjs.map → data-list-skeleton-Cgo1Urkr.cjs.map} +1 -1
  107. package/dist/data-list-spacer-D9J0nV_S.cjs +218 -0
  108. package/dist/data-list-spacer-D9J0nV_S.cjs.map +1 -0
  109. package/dist/data-list-spacer-DGUCD6oy.js +209 -0
  110. package/dist/data-list-spacer-DGUCD6oy.js.map +1 -0
  111. package/dist/{data-list-BLfHObw8.cjs → data-list-top-DYnH-IhJ.cjs} +14 -340
  112. package/dist/data-list-top-DYnH-IhJ.cjs.map +1 -0
  113. package/dist/{data-list-B2ArWwsJ.js → data-list-top-Dk9Wz_w5.js} +6 -333
  114. package/dist/data-list-top-Dk9Wz_w5.js.map +1 -0
  115. package/dist/{data-panel-Wjgbl6zx.cjs → data-panel-CtFwwsPs.cjs} +2 -2
  116. package/dist/{data-panel-Wjgbl6zx.cjs.map → data-panel-CtFwwsPs.cjs.map} +1 -1
  117. package/dist/{data-panel-BdCw3F_h.js → data-panel-CwIdwpov.js} +2 -2
  118. package/dist/{data-panel-BdCw3F_h.js.map → data-panel-CwIdwpov.js.map} +1 -1
  119. package/dist/{date-time-range-picker-SU1Q1h1h.js → date-time-range-picker-BT9qan60.js} +2 -2
  120. package/dist/{date-time-range-picker-SU1Q1h1h.js.map → date-time-range-picker-BT9qan60.js.map} +1 -1
  121. package/dist/{date-time-range-picker-ByNvjYuV.cjs → date-time-range-picker-DQa5XLST.cjs} +2 -2
  122. package/dist/{date-time-range-picker-ByNvjYuV.cjs.map → date-time-range-picker-DQa5XLST.cjs.map} +1 -1
  123. package/dist/{dialog-B5nLi0ER.cjs → dialog-BAlSUqcF.cjs} +2 -2
  124. package/dist/{dialog-B5nLi0ER.cjs.map → dialog-BAlSUqcF.cjs.map} +1 -1
  125. package/dist/{dialog-Jz2ZfO-z.js → dialog-CboDo8Pj.js} +2 -2
  126. package/dist/{dialog-Jz2ZfO-z.js.map → dialog-CboDo8Pj.js.map} +1 -1
  127. package/dist/{dialog-action-DdkbsKfP.cjs → dialog-action-DWE9XalB.cjs} +2 -2
  128. package/dist/{dialog-action-DdkbsKfP.cjs.map → dialog-action-DWE9XalB.cjs.map} +1 -1
  129. package/dist/{dialog-action-BxXhAz-P.js → dialog-action-DpctEQ9l.js} +2 -2
  130. package/dist/{dialog-action-BxXhAz-P.js.map → dialog-action-DpctEQ9l.js.map} +1 -1
  131. package/dist/domains/chat/attachments/attachment-preview-dialog.cjs.js +1 -1
  132. package/dist/domains/chat/attachments/attachment-preview-dialog.es.js +1 -1
  133. package/dist/domains/chat/attachments/composer-attachment-list.cjs.js +2 -2
  134. package/dist/domains/chat/attachments/composer-attachment-list.es.js +2 -2
  135. package/dist/domains/chat/components/network-choice-metadata-dialog.cjs.js +1 -1
  136. package/dist/domains/chat/components/network-choice-metadata-dialog.es.js +1 -1
  137. package/dist/domains/chat/messages/dataset-save-action.cjs.js +2 -2
  138. package/dist/domains/chat/messages/dataset-save-action.es.js +2 -2
  139. package/dist/domains/chat/messages/message-row.cjs.js +1 -1
  140. package/dist/domains/chat/messages/message-row.es.js +1 -1
  141. package/dist/domains/chat/messages/renderers/message-text.cjs.js +1 -1
  142. package/dist/domains/chat/messages/renderers/message-text.es.js +1 -1
  143. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.cjs.js +1 -1
  144. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.es.js +1 -1
  145. package/dist/domains/chat/messages/skill-message.cjs.js +2 -2
  146. package/dist/domains/chat/messages/skill-message.es.js +2 -2
  147. package/dist/domains/chat/tools/badges/background-task-metadata-dialog.cjs.js +1 -1
  148. package/dist/domains/chat/tools/badges/background-task-metadata-dialog.es.js +1 -1
  149. package/dist/domains/chat/tools/badges/code-mode-badge.cjs.js +1 -1
  150. package/dist/domains/chat/tools/badges/code-mode-badge.es.js +1 -1
  151. package/dist/domains/chat/tools/badges/file-tree-badge.cjs.js +1 -1
  152. package/dist/domains/chat/tools/badges/file-tree-badge.es.js +1 -1
  153. package/dist/domains/chat/tools/badges/observation-marker-details.cjs.js +1 -1
  154. package/dist/domains/chat/tools/badges/observation-marker-details.es.js +1 -1
  155. package/dist/domains/chat/tools/badges/observation-renderer.cjs.js +1 -1
  156. package/dist/domains/chat/tools/badges/observation-renderer.es.js +1 -1
  157. package/dist/domains/chat/tools/badges/tool-approval-badge.cjs.js +1 -1
  158. package/dist/domains/chat/tools/badges/tool-approval-badge.es.js +1 -1
  159. package/dist/domains/chat/tools/badges/tool-badge.cjs.js +1 -1
  160. package/dist/domains/chat/tools/badges/tool-badge.es.js +1 -1
  161. package/dist/domains/chat/tools/badges/workflow-badge.cjs.js +1 -2
  162. package/dist/domains/chat/tools/badges/workflow-badge.cjs.js.map +1 -1
  163. package/dist/domains/chat/tools/badges/workflow-badge.es.js +1 -2
  164. package/dist/domains/chat/tools/badges/workflow-badge.es.js.map +1 -1
  165. package/dist/domains/chat/tools/submit-plan-tool.cjs.js +1 -1
  166. package/dist/domains/chat/tools/submit-plan-tool.es.js +1 -1
  167. package/dist/domains/logs/components/log-data-panel.cjs.js +1 -1
  168. package/dist/domains/logs/components/log-data-panel.es.js +1 -1
  169. package/dist/domains/logs/components/logs-list-view.cjs.js +2 -3
  170. package/dist/domains/logs/components/logs-list-view.cjs.js.map +1 -1
  171. package/dist/domains/logs/components/logs-list-view.es.js +2 -3
  172. package/dist/domains/logs/components/logs-list-view.es.js.map +1 -1
  173. package/dist/domains/logs/components/logs-toolbar.cjs.js +1 -1
  174. package/dist/domains/logs/components/logs-toolbar.es.js +1 -1
  175. package/dist/domains/metrics/components/agent-runs-card.cjs.js +1 -1
  176. package/dist/domains/metrics/components/agent-runs-card.es.js +1 -1
  177. package/dist/domains/metrics/components/chart-area.cjs.js +1 -1
  178. package/dist/domains/metrics/components/chart-area.es.js +1 -1
  179. package/dist/domains/metrics/components/chart-card-error.cjs.js +1 -1
  180. package/dist/domains/metrics/components/chart-card-error.es.js +1 -1
  181. package/dist/domains/metrics/components/chart-card.cjs.js +1 -1
  182. package/dist/domains/metrics/components/chart-card.es.js +1 -1
  183. package/dist/domains/metrics/components/date-range-selector.cjs.js +5 -44
  184. package/dist/domains/metrics/components/date-range-selector.cjs.js.map +1 -1
  185. package/dist/domains/metrics/components/date-range-selector.es.js +3 -42
  186. package/dist/domains/metrics/components/date-range-selector.es.js.map +1 -1
  187. package/dist/domains/metrics/components/failure-rate-card.cjs.js +1 -1
  188. package/dist/domains/metrics/components/failure-rate-card.es.js +1 -1
  189. package/dist/domains/metrics/components/latency-card.cjs.js +1 -1
  190. package/dist/domains/metrics/components/latency-card.es.js +1 -1
  191. package/dist/domains/metrics/components/metrics-time-range-chip.cjs.js +26 -0
  192. package/dist/domains/metrics/components/metrics-time-range-chip.cjs.js.map +1 -0
  193. package/dist/domains/metrics/components/metrics-time-range-chip.d.ts +2 -0
  194. package/dist/domains/metrics/components/metrics-time-range-chip.es.js +22 -0
  195. package/dist/domains/metrics/components/metrics-time-range-chip.es.js.map +1 -0
  196. package/dist/domains/metrics/components/scores-card.cjs.js +1 -1
  197. package/dist/domains/metrics/components/scores-card.es.js +1 -1
  198. package/dist/domains/metrics/components/token-usage-card.cjs.js +1 -1
  199. package/dist/domains/metrics/components/token-usage-card.es.js +1 -1
  200. package/dist/domains/metrics/components/trace-volume-card.cjs.js +1 -1
  201. package/dist/domains/metrics/components/trace-volume-card.es.js +1 -1
  202. package/dist/domains/metrics/components/usage-card.cjs.js +1 -1
  203. package/dist/domains/metrics/components/usage-card.es.js +1 -1
  204. package/dist/domains/metrics/components.cjs.js +2 -0
  205. package/dist/domains/metrics/components.cjs.js.map +1 -1
  206. package/dist/domains/metrics/components.es.js +1 -0
  207. package/dist/domains/metrics/components.es.js.map +1 -1
  208. package/dist/domains/metrics/hooks.cjs.js +4 -0
  209. package/dist/domains/metrics/hooks.cjs.js.map +1 -1
  210. package/dist/domains/metrics/hooks.es.js +1 -1
  211. package/dist/domains/metrics/metrics-date-presets.cjs.js +49 -0
  212. package/dist/domains/metrics/metrics-date-presets.cjs.js.map +1 -0
  213. package/dist/domains/metrics/metrics-date-presets.d.ts +2 -0
  214. package/dist/domains/metrics/metrics-date-presets.es.js +43 -0
  215. package/dist/domains/metrics/metrics-date-presets.es.js.map +1 -0
  216. package/dist/domains/metrics/metrics-filters.cjs.js +94 -0
  217. package/dist/domains/metrics/metrics-filters.cjs.js.map +1 -1
  218. package/dist/domains/metrics/metrics-filters.es.js +91 -1
  219. package/dist/domains/metrics/metrics-filters.es.js.map +1 -1
  220. package/dist/domains/metrics.cjs.js +6 -0
  221. package/dist/domains/metrics.cjs.js.map +1 -1
  222. package/dist/domains/metrics.es.js +2 -1
  223. package/dist/domains/metrics.es.js.map +1 -1
  224. package/dist/domains/scores/components/score-data-panel.cjs.js +1 -1
  225. package/dist/domains/scores/components/score-data-panel.es.js +1 -1
  226. package/dist/domains/scores/components/span-scoring.cjs.js +3 -3
  227. package/dist/domains/scores/components/span-scoring.es.js +3 -3
  228. package/dist/domains/scores/components/trace-scores-tab.cjs.js +1 -2
  229. package/dist/domains/scores/components/trace-scores-tab.cjs.js.map +1 -1
  230. package/dist/domains/scores/components/trace-scores-tab.es.js +1 -2
  231. package/dist/domains/scores/components/trace-scores-tab.es.js.map +1 -1
  232. package/dist/domains/traces/components/feedback-thread.cjs.js +3 -3
  233. package/dist/domains/traces/components/feedback-thread.es.js +3 -3
  234. package/dist/domains/traces/components/span-data-panel-view.cjs.js +2 -2
  235. package/dist/domains/traces/components/span-data-panel-view.es.js +2 -2
  236. package/dist/domains/traces/components/span-payload/span-error-renderer.cjs.js +1 -1
  237. package/dist/domains/traces/components/span-payload/span-error-renderer.es.js +1 -1
  238. package/dist/domains/traces/components/span-payload/span-input-renderers.cjs.js +1 -1
  239. package/dist/domains/traces/components/span-payload/span-input-renderers.es.js +1 -1
  240. package/dist/domains/traces/components/span-payload/span-output-renderers.cjs.js +2 -2
  241. package/dist/domains/traces/components/span-payload/span-output-renderers.es.js +2 -2
  242. package/dist/domains/traces/components/span-payload/span-payload-messages.cjs.js +2 -2
  243. package/dist/domains/traces/components/span-payload/span-payload-messages.es.js +2 -2
  244. package/dist/domains/traces/components/span-payload/span-payload-primitives.cjs.js +2 -2
  245. package/dist/domains/traces/components/span-payload/span-payload-primitives.es.js +2 -2
  246. package/dist/domains/traces/components/span-payload/span-payload-processor.cjs.js +1 -1
  247. package/dist/domains/traces/components/span-payload/span-payload-processor.es.js +1 -1
  248. package/dist/domains/traces/components/span-payload/span-payload-tool.cjs.js +1 -1
  249. package/dist/domains/traces/components/span-payload/span-payload-tool.es.js +1 -1
  250. package/dist/domains/traces/components/span-payload/span-processor-attributes.cjs.js +1 -1
  251. package/dist/domains/traces/components/span-payload/span-processor-attributes.es.js +1 -1
  252. package/dist/domains/traces/components/span-summary-description.cjs.js +1 -1
  253. package/dist/domains/traces/components/span-summary-description.es.js +1 -1
  254. package/dist/domains/traces/components/thread-trace/thread-trace-details.cjs.js +1 -1
  255. package/dist/domains/traces/components/thread-trace/thread-trace-details.es.js +1 -1
  256. package/dist/domains/traces/components/thread-trace/thread-trace-messages.cjs.js +1 -1
  257. package/dist/domains/traces/components/thread-trace/thread-trace-messages.es.js +1 -1
  258. package/dist/domains/traces/components/trace-columns-menu.cjs.js +4 -4
  259. package/dist/domains/traces/components/trace-columns-menu.es.js +4 -4
  260. package/dist/domains/traces/components/trace-data-panel-view.cjs.js +4 -4
  261. package/dist/domains/traces/components/trace-data-panel-view.es.js +4 -4
  262. package/dist/domains/traces/components/trace-data-panel.cjs.js +1 -3
  263. package/dist/domains/traces/components/trace-data-panel.cjs.js.map +1 -1
  264. package/dist/domains/traces/components/trace-data-panel.es.js +1 -3
  265. package/dist/domains/traces/components/trace-data-panel.es.js.map +1 -1
  266. package/dist/domains/traces/components/trace-id-button.cjs.js +1 -1
  267. package/dist/domains/traces/components/trace-id-button.es.js +1 -1
  268. package/dist/domains/traces/components/trace-summary-description.cjs.js +1 -1
  269. package/dist/domains/traces/components/trace-summary-description.es.js +1 -1
  270. package/dist/domains/traces/components/trace-thread-panel.cjs.js +1 -1
  271. package/dist/domains/traces/components/trace-thread-panel.es.js +1 -1
  272. package/dist/domains/traces/components/trace-time-range-chip.cjs.js +1 -1
  273. package/dist/domains/traces/components/trace-time-range-chip.es.js +1 -1
  274. package/dist/domains/traces/components/traces-list-mode-toggle.cjs.js +1 -1
  275. package/dist/domains/traces/components/traces-list-mode-toggle.es.js +1 -1
  276. package/dist/domains/traces/components/traces-list-view.cjs.js +6 -5
  277. package/dist/domains/traces/components/traces-list-view.cjs.js.map +1 -1
  278. package/dist/domains/traces/components/traces-list-view.es.js +5 -4
  279. package/dist/domains/traces/components/traces-list-view.es.js.map +1 -1
  280. package/dist/domains/traces/components/traces-page-skeleton.cjs.js +1 -4
  281. package/dist/domains/traces/components/traces-page-skeleton.cjs.js.map +1 -1
  282. package/dist/domains/traces/components/traces-page-skeleton.es.js +1 -4
  283. package/dist/domains/traces/components/traces-page-skeleton.es.js.map +1 -1
  284. package/dist/domains/workflows/components/workflow-combobox.cjs.js +1 -1
  285. package/dist/domains/workflows/components/workflow-combobox.es.js +1 -1
  286. package/dist/domains/workflows/components/workflow-information.cjs.js +1 -1
  287. package/dist/domains/workflows/components/workflow-information.es.js +1 -1
  288. package/dist/domains/workflows/components/workflows-list/workflows-list.cjs.js +2 -2
  289. package/dist/domains/workflows/components/workflows-list/workflows-list.es.js +2 -2
  290. package/dist/domains/workflows/runs/workflow-run-list.cjs.js +2 -2
  291. package/dist/domains/workflows/runs/workflow-run-list.es.js +2 -2
  292. package/dist/domains/workflows/workflow/data/workflow-data-button.cjs.js +1 -1
  293. package/dist/domains/workflows/workflow/data/workflow-data-button.es.js +1 -1
  294. package/dist/domains/workflows/workflow/workflow-data-edge.cjs.js +1 -1
  295. package/dist/domains/workflows/workflow/workflow-data-edge.es.js +1 -1
  296. package/dist/domains/workflows/workflow/workflow-input-data.cjs.js +1 -0
  297. package/dist/domains/workflows/workflow/workflow-input-data.cjs.js.map +1 -1
  298. package/dist/domains/workflows/workflow/workflow-input-data.es.js +1 -0
  299. package/dist/domains/workflows/workflow/workflow-input-data.es.js.map +1 -1
  300. package/dist/domains/workflows/workflow/workflow-map-config-dialog.cjs.js +1 -1
  301. package/dist/domains/workflows/workflow/workflow-map-config-dialog.es.js +1 -1
  302. package/dist/domains/workflows/workflow/workflow-run-data.cjs.js +1 -1
  303. package/dist/domains/workflows/workflow/workflow-run-data.es.js +1 -1
  304. package/dist/domains/workflows/workflow/workflow-step-action-bar.cjs.js +2 -2
  305. package/dist/domains/workflows/workflow/workflow-step-action-bar.es.js +2 -2
  306. package/dist/domains/workflows/workflow/workflow-trigger.cjs.js +1 -1
  307. package/dist/domains/workflows/workflow/workflow-trigger.es.js +1 -1
  308. package/dist/domains/workspace/components/workspace-active-file.cjs.js +1 -1
  309. package/dist/domains/workspace/components/workspace-active-file.es.js +1 -1
  310. package/dist/domains/workspace/components/workspace-add-skill-dialog.cjs.js +5 -5
  311. package/dist/domains/workspace/components/workspace-add-skill-dialog.es.js +5 -5
  312. package/dist/domains/workspace/components/workspace-create-directory.cjs.js +1 -1
  313. package/dist/domains/workspace/components/workspace-create-directory.es.js +1 -1
  314. package/dist/domains/workspace/components/workspace-markdown-preview.cjs.js +2 -2
  315. package/dist/domains/workspace/components/workspace-markdown-preview.es.js +2 -2
  316. package/dist/domains/workspace/components/workspace-parts.cjs.js +1 -1
  317. package/dist/domains/workspace/components/workspace-parts.es.js +1 -1
  318. package/dist/domains/workspace/components/workspace-tree.cjs.js +1 -1
  319. package/dist/domains/workspace/components/workspace-tree.es.js +1 -1
  320. package/dist/{dropdown-menu-D8GR_NhL.js → dropdown-menu-C6VtAiYJ.js} +43 -4
  321. package/dist/dropdown-menu-C6VtAiYJ.js.map +1 -0
  322. package/dist/{dropdown-menu-Bg96BCnK.cjs → dropdown-menu-dHvHFLji.cjs} +42 -3
  323. package/dist/dropdown-menu-dHvHFLji.cjs.map +1 -0
  324. package/dist/ee/signals/components/entity-index-compact-grid.cjs.js +1 -1
  325. package/dist/ee/signals/components/entity-index-compact-grid.es.js +1 -1
  326. package/dist/ee/signals/components/entity-index-list.cjs.js +1 -3
  327. package/dist/ee/signals/components/entity-index-list.cjs.js.map +1 -1
  328. package/dist/ee/signals/components/entity-index-list.es.js +1 -3
  329. package/dist/ee/signals/components/entity-index-list.es.js.map +1 -1
  330. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js +2 -4
  331. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js.map +1 -1
  332. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js +2 -4
  333. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js.map +1 -1
  334. package/dist/ee/signals/sankey-signals.cjs.js +1 -1
  335. package/dist/ee/signals/sankey-signals.es.js +1 -1
  336. package/dist/ee/signals/settings/signal-definition-form-dialog.cjs.js +2 -2
  337. package/dist/ee/signals/settings/signal-definition-form-dialog.es.js +2 -2
  338. package/dist/ee/topics/components/topic-trace-summary-list.cjs.js +2 -2
  339. package/dist/ee/topics/components/topic-trace-summary-list.es.js +2 -2
  340. package/dist/{input-group-DQuyC9Pz.cjs → input-group-Bj2RbkNg.cjs} +20 -3
  341. package/dist/input-group-Bj2RbkNg.cjs.map +1 -0
  342. package/dist/{input-group-CIIwoggO.js → input-group-CrumkDCF.js} +20 -3
  343. package/dist/input-group-CrumkDCF.js.map +1 -0
  344. package/dist/layout/tabbed-container.cjs.js +4 -4
  345. package/dist/layout/tabbed-container.es.js +4 -4
  346. package/dist/{list-search-Cwp-OPvC.js → list-search-C7ro2_qL.js} +2 -2
  347. package/dist/{list-search-Cwp-OPvC.js.map → list-search-C7ro2_qL.js.map} +1 -1
  348. package/dist/{list-search-C5j3HYkb.cjs → list-search-Y3z6P6IO.cjs} +2 -2
  349. package/dist/{list-search-C5j3HYkb.cjs.map → list-search-Y3z6P6IO.cjs.map} +1 -1
  350. package/dist/{logs-data-list-B-gmgU74.js → logs-data-list-1KFnVsFz.js} +3 -2
  351. package/dist/{logs-data-list-B-gmgU74.js.map → logs-data-list-1KFnVsFz.js.map} +1 -1
  352. package/dist/{logs-data-list-CaXnNnC5.cjs → logs-data-list-BafttkM2.cjs} +22 -21
  353. package/dist/{logs-data-list-CaXnNnC5.cjs.map → logs-data-list-BafttkM2.cjs.map} +1 -1
  354. package/dist/{markdown-renderer-BXTNiZbz.cjs → markdown-renderer-BRu3RpQD.cjs} +3 -3
  355. package/dist/{markdown-renderer-BXTNiZbz.cjs.map → markdown-renderer-BRu3RpQD.cjs.map} +1 -1
  356. package/dist/{markdown-renderer-Ct-q_KTF.js → markdown-renderer-WesDzhMr.js} +3 -3
  357. package/dist/{markdown-renderer-Ct-q_KTF.js.map → markdown-renderer-WesDzhMr.js.map} +1 -1
  358. package/dist/{metrics-card-C33VsuXf.js → metrics-card-BI5okAsj.js} +2 -2
  359. package/dist/{metrics-card-C33VsuXf.js.map → metrics-card-BI5okAsj.js.map} +1 -1
  360. package/dist/{metrics-card-CxOVpP1t.cjs → metrics-card-CcesVPLN.cjs} +2 -2
  361. package/dist/{metrics-card-CxOVpP1t.cjs.map → metrics-card-CcesVPLN.cjs.map} +1 -1
  362. package/dist/{plan-TXWANP1R.js → plan-CBiLa54G.js} +2 -2
  363. package/dist/{plan-TXWANP1R.js.map → plan-CBiLa54G.js.map} +1 -1
  364. package/dist/{plan-CL-lbDuy.cjs → plan-ColU7p3H.cjs} +2 -2
  365. package/dist/{plan-CL-lbDuy.cjs.map → plan-ColU7p3H.cjs.map} +1 -1
  366. package/dist/primitives/menu-item.cjs.js +2 -0
  367. package/dist/primitives/menu-item.cjs.js.map +1 -1
  368. package/dist/primitives/menu-item.es.js +2 -1
  369. package/dist/primitives/menu-item.es.js.map +1 -1
  370. package/dist/{property-filter-applied-Ru3OQoGo.js → property-filter-applied-BCeGn2zQ.js} +2 -2
  371. package/dist/{property-filter-applied-Ru3OQoGo.js.map → property-filter-applied-BCeGn2zQ.js.map} +1 -1
  372. package/dist/{property-filter-applied-BBvaTC4B.cjs → property-filter-applied-CpelyBH9.cjs} +2 -2
  373. package/dist/{property-filter-applied-BBvaTC4B.cjs.map → property-filter-applied-CpelyBH9.cjs.map} +1 -1
  374. package/dist/{reasoning-activity-CFEaSv4J.cjs → reasoning-activity-B8bR8ib_.cjs} +2 -2
  375. package/dist/{reasoning-activity-CFEaSv4J.cjs.map → reasoning-activity-B8bR8ib_.cjs.map} +1 -1
  376. package/dist/{reasoning-activity-CHlEe011.js → reasoning-activity-DLrXgE9k.js} +2 -2
  377. package/dist/{reasoning-activity-CHlEe011.js.map → reasoning-activity-DLrXgE9k.js.map} +1 -1
  378. package/dist/{scroll-area-CVgjRzTS.cjs → scroll-area-BakRKj2k.cjs} +3 -3
  379. package/dist/scroll-area-BakRKj2k.cjs.map +1 -0
  380. package/dist/{scroll-area-BywIlj3F.js → scroll-area-D6gKFavi.js} +3 -3
  381. package/dist/scroll-area-D6gKFavi.js.map +1 -0
  382. package/dist/{search-input-RybUdqzg.js → search-input-BEAKPGH8.js} +2 -2
  383. package/dist/{search-input-RybUdqzg.js.map → search-input-BEAKPGH8.js.map} +1 -1
  384. package/dist/{search-input-2DhcUIvn.cjs → search-input-DdRhkYqy.cjs} +2 -2
  385. package/dist/{search-input-2DhcUIvn.cjs.map → search-input-DdRhkYqy.cjs.map} +1 -1
  386. package/dist/{span-payload-primitives-DIxmotnO.cjs → span-payload-primitives-BymKsUAo.cjs} +2 -2
  387. package/dist/{span-payload-primitives-DIxmotnO.cjs.map → span-payload-primitives-BymKsUAo.cjs.map} +1 -1
  388. package/dist/{span-payload-primitives-dTs5UrjA.js → span-payload-primitives-DBNNkmHo.js} +2 -2
  389. package/dist/{span-payload-primitives-dTs5UrjA.js.map → span-payload-primitives-DBNNkmHo.js.map} +1 -1
  390. package/dist/src/domains/metrics/components/date-range-selector.d.ts +1 -0
  391. package/dist/src/domains/metrics/components/index.d.ts +1 -0
  392. package/dist/src/domains/metrics/components/metrics-time-range-chip.d.ts +5 -0
  393. package/dist/src/domains/metrics/hooks/index.d.ts +1 -1
  394. package/dist/src/domains/metrics/metrics-date-presets.d.ts +6 -0
  395. package/dist/src/domains/metrics/metrics-filters.d.ts +23 -1
  396. package/dist/src/ds/components/Combobox/combobox.d.ts +2 -0
  397. package/dist/src/ds/components/DropdownMenu/dropdown-menu.d.ts +19 -6
  398. package/dist/src/ds/components/InputGroup/input-group.d.ts +6 -2
  399. package/dist/src/ds/components/PageLayout/page-layout.d.ts +8 -1
  400. package/dist/src/ds/components/ScrollArea/scroll-area.d.ts +2 -1
  401. package/dist/src/ds/primitives/menu-item.d.ts +1 -0
  402. package/dist/style.css +16 -4
  403. package/dist/{tabs-list-DY_hziv7.js → tabs-list-CDep3C2w.js} +2 -2
  404. package/dist/{tabs-list-DY_hziv7.js.map → tabs-list-CDep3C2w.js.map} +1 -1
  405. package/dist/{tabs-list-xikY_dug.cjs → tabs-list-DwQsMVKI.cjs} +2 -2
  406. package/dist/{tabs-list-xikY_dug.cjs.map → tabs-list-DwQsMVKI.cjs.map} +1 -1
  407. package/dist/{tool-approval-TB8r2U_c.js → tool-approval-BK2j7aj_.js} +2 -2
  408. package/dist/{tool-approval-TB8r2U_c.js.map → tool-approval-BK2j7aj_.js.map} +1 -1
  409. package/dist/{tool-approval-S6ml_xyU.cjs → tool-approval-Bza_sgxa.cjs} +2 -2
  410. package/dist/{tool-approval-S6ml_xyU.cjs.map → tool-approval-Bza_sgxa.cjs.map} +1 -1
  411. package/dist/{tool-call-arguments-CCkJ1btR.js → tool-call-arguments-BLCAiFYg.js} +2 -2
  412. package/dist/{tool-call-arguments-CCkJ1btR.js.map → tool-call-arguments-BLCAiFYg.js.map} +1 -1
  413. package/dist/{tool-call-arguments-DyukJmhY.cjs → tool-call-arguments-CK3kQ_FX.cjs} +2 -2
  414. package/dist/{tool-call-arguments-DyukJmhY.cjs.map → tool-call-arguments-CK3kQ_FX.cjs.map} +1 -1
  415. package/dist/{tool-call-group-CZBqGjMh.js → tool-call-group-C_zxf6OA.js} +2 -2
  416. package/dist/{tool-call-group-CZBqGjMh.js.map → tool-call-group-C_zxf6OA.js.map} +1 -1
  417. package/dist/{tool-call-group-CFpdexuw.cjs → tool-call-group-Cdgv7red.cjs} +2 -2
  418. package/dist/{tool-call-group-CFpdexuw.cjs.map → tool-call-group-Cdgv7red.cjs.map} +1 -1
  419. package/dist/{traces-data-list-1X6UBM6Y.js → traces-data-list-CDvg5G_2.js} +4 -2
  420. package/dist/{traces-data-list-1X6UBM6Y.js.map → traces-data-list-CDvg5G_2.js.map} +1 -1
  421. package/dist/{traces-data-list-BXSXW3E6.cjs → traces-data-list-Dy-9AIr2.cjs} +19 -17
  422. package/dist/{traces-data-list-BXSXW3E6.cjs.map → traces-data-list-Dy-9AIr2.cjs.map} +1 -1
  423. package/dist/{workflow-data-edge-view-De0xCrVu.js → workflow-data-edge-view-BWyUa9am.js} +2 -2
  424. package/dist/{workflow-data-edge-view-De0xCrVu.js.map → workflow-data-edge-view-BWyUa9am.js.map} +1 -1
  425. package/dist/{workflow-data-edge-view-kmB6j-ui.cjs → workflow-data-edge-view-BpnN4W_5.cjs} +2 -2
  426. package/dist/{workflow-data-edge-view-kmB6j-ui.cjs.map → workflow-data-edge-view-BpnN4W_5.cjs.map} +1 -1
  427. package/dist/{workflow-edge-data-button-av1zCMfP.cjs → workflow-edge-data-button-Du5ZDm72.cjs} +2 -2
  428. package/dist/{workflow-edge-data-button-av1zCMfP.cjs.map → workflow-edge-data-button-Du5ZDm72.cjs.map} +1 -1
  429. package/dist/{workflow-edge-data-button-CXbj67U9.js → workflow-edge-data-button-DvGFB2L6.js} +2 -2
  430. package/dist/{workflow-edge-data-button-CXbj67U9.js.map → workflow-edge-data-button-DvGFB2L6.js.map} +1 -1
  431. package/dist/{workflow-step-action-BsBZk7j6.cjs → workflow-step-action-DNrU8on1.cjs} +2 -2
  432. package/dist/{workflow-step-action-BsBZk7j6.cjs.map → workflow-step-action-DNrU8on1.cjs.map} +1 -1
  433. package/dist/{workflow-step-action-AG05Ly8P.js → workflow-step-action-ac1gNDdn.js} +2 -2
  434. package/dist/{workflow-step-action-AG05Ly8P.js.map → workflow-step-action-ac1gNDdn.js.map} +1 -1
  435. package/package.json +7 -7
  436. package/dist/combobox-fEMKH9nJ.cjs.map +0 -1
  437. package/dist/combobox-so2V71F7.js.map +0 -1
  438. package/dist/data-list-B2ArWwsJ.js.map +0 -1
  439. package/dist/data-list-BLfHObw8.cjs.map +0 -1
  440. package/dist/dropdown-menu-Bg96BCnK.cjs.map +0 -1
  441. package/dist/dropdown-menu-D8GR_NhL.js.map +0 -1
  442. package/dist/input-group-CIIwoggO.js.map +0 -1
  443. package/dist/input-group-DQuyC9Pz.cjs.map +0 -1
  444. package/dist/scroll-area-BywIlj3F.js.map +0 -1
  445. package/dist/scroll-area-CVgjRzTS.cjs.map +0 -1
@@ -4,49 +4,10 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
5
  const jsxRuntime = require('react/jsx-runtime');
6
6
  const React = require('react');
7
- const dateTimeRangePicker = require('../../../date-time-range-picker-ByNvjYuV.cjs');
7
+ const dateTimeRangePicker = require('../../../date-time-range-picker-DQa5XLST.cjs');
8
8
  const domains_metrics_hooks_useMetrics = require('../hooks/use-metrics.cjs.js');
9
+ const domains_metrics_metricsDatePresets = require('../metrics-date-presets.cjs.js');
9
10
 
10
- const METRICS_PRESETS = [
11
- "last-24h",
12
- "last-3d",
13
- "last-7d",
14
- "last-14d",
15
- "last-30d",
16
- "custom"
17
- ];
18
- function toPickerPreset(preset) {
19
- switch (preset) {
20
- case "3d":
21
- return "last-3d";
22
- case "7d":
23
- return "last-7d";
24
- case "14d":
25
- return "last-14d";
26
- case "30d":
27
- return "last-30d";
28
- case "custom":
29
- return "custom";
30
- default:
31
- return "last-24h";
32
- }
33
- }
34
- function fromPickerPreset(preset) {
35
- switch (preset) {
36
- case "last-3d":
37
- return "3d";
38
- case "last-7d":
39
- return "7d";
40
- case "last-14d":
41
- return "14d";
42
- case "last-30d":
43
- return "30d";
44
- case "custom":
45
- return "custom";
46
- default:
47
- return "24h";
48
- }
49
- }
50
11
  function DateRangeSelector() {
51
12
  const { datePreset, setDatePreset, customRange, setCustomRange } = domains_metrics_hooks_useMetrics.useMetrics();
52
13
  const presetRef = React.useRef(datePreset);
@@ -56,9 +17,9 @@ function DateRangeSelector() {
56
17
  return /* @__PURE__ */ jsxRuntime.jsx(
57
18
  dateTimeRangePicker.DateTimeRangePicker,
58
19
  {
59
- preset: toPickerPreset(datePreset),
20
+ preset: domains_metrics_metricsDatePresets.toPickerPreset(datePreset),
60
21
  onPresetChange: (next) => {
61
- const mapped = fromPickerPreset(next);
22
+ const mapped = domains_metrics_metricsDatePresets.fromPickerPreset(next);
62
23
  presetRef.current = mapped;
63
24
  setDatePreset(mapped);
64
25
  },
@@ -70,7 +31,7 @@ function DateRangeSelector() {
70
31
  customRangeRef.current = next;
71
32
  setCustomRange(next);
72
33
  },
73
- presets: METRICS_PRESETS
34
+ presets: domains_metrics_metricsDatePresets.METRICS_PICKER_PRESETS
74
35
  }
75
36
  );
76
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"date-range-selector.cjs.js","sources":["../../../../src/domains/metrics/components/date-range-selector.tsx"],"sourcesContent":["import { useRef } from 'react';\nimport { DateTimeRangePicker } from '../../../ds/components/DateTimeRangePicker';\nimport type { DateRangePreset } from '../../../ds/components/DateTimeRangePicker';\nimport { useMetrics } from '../hooks/use-metrics';\nimport type { DatePreset } from '../hooks/use-metrics';\n\nconst METRICS_PRESETS: readonly DateRangePreset[] = [\n 'last-24h',\n 'last-3d',\n 'last-7d',\n 'last-14d',\n 'last-30d',\n 'custom',\n];\n\nfunction toPickerPreset(preset: DatePreset): DateRangePreset {\n switch (preset) {\n case '3d':\n return 'last-3d';\n case '7d':\n return 'last-7d';\n case '14d':\n return 'last-14d';\n case '30d':\n return 'last-30d';\n case 'custom':\n return 'custom';\n default:\n return 'last-24h';\n }\n}\n\nfunction fromPickerPreset(preset: DateRangePreset): DatePreset {\n switch (preset) {\n case 'last-3d':\n return '3d';\n case 'last-7d':\n return '7d';\n case 'last-14d':\n return '14d';\n case 'last-30d':\n return '30d';\n case 'custom':\n return 'custom';\n default:\n return '24h';\n }\n}\n\nexport function DateRangeSelector() {\n const { datePreset, setDatePreset, customRange, setCustomRange } = useMetrics();\n\n // The picker reports each field separately and also fires onDateChange right\n // after a non-custom preset switch. Track the latest preset and range\n // synchronously so the guard below skips those calls and the second field\n // change still sees the first one.\n const presetRef = useRef(datePreset);\n presetRef.current = datePreset;\n const customRangeRef = useRef(customRange);\n customRangeRef.current = customRange;\n\n return (\n <DateTimeRangePicker\n preset={toPickerPreset(datePreset)}\n onPresetChange={next => {\n const mapped = fromPickerPreset(next);\n presetRef.current = mapped;\n setDatePreset(mapped);\n }}\n dateFrom={customRange?.from}\n dateTo={customRange?.to}\n onDateChange={(value, type) => {\n if (presetRef.current !== 'custom') return;\n const next = { ...customRangeRef.current, [type]: value };\n customRangeRef.current = next;\n setCustomRange(next);\n }}\n presets={METRICS_PRESETS}\n />\n );\n}\n"],"names":["useMetrics","useRef","jsx","DateTimeRangePicker"],"mappings":";;;;;;;;;AAMA,MAAM,eAAA,GAA8C;AAAA,EAClD,UAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,UAAA;AAAA,EACA,UAAA;AAAA,EACA;AACF,CAAA;AAEA,SAAS,eAAe,MAAA,EAAqC;AAC3D,EAAA,QAAQ,MAAA;AAAQ,IACd,KAAK,IAAA;AACH,MAAA,OAAO,SAAA;AAAA,IACT,KAAK,IAAA;AACH,MAAA,OAAO,SAAA;AAAA,IACT,KAAK,KAAA;AACH,MAAA,OAAO,UAAA;AAAA,IACT,KAAK,KAAA;AACH,MAAA,OAAO,UAAA;AAAA,IACT,KAAK,QAAA;AACH,MAAA,OAAO,QAAA;AAAA,IACT;AACE,MAAA,OAAO,UAAA;AAAA;AAEb;AAEA,SAAS,iBAAiB,MAAA,EAAqC;AAC7D,EAAA,QAAQ,MAAA;AAAQ,IACd,KAAK,SAAA;AACH,MAAA,OAAO,IAAA;AAAA,IACT,KAAK,SAAA;AACH,MAAA,OAAO,IAAA;AAAA,IACT,KAAK,UAAA;AACH,MAAA,OAAO,KAAA;AAAA,IACT,KAAK,UAAA;AACH,MAAA,OAAO,KAAA;AAAA,IACT,KAAK,QAAA;AACH,MAAA,OAAO,QAAA;AAAA,IACT;AACE,MAAA,OAAO,KAAA;AAAA;AAEb;AAEO,SAAS,iBAAA,GAAoB;AAClC,EAAA,MAAM,EAAE,UAAA,EAAY,aAAA,EAAe,WAAA,EAAa,cAAA,KAAmBA,2CAAA,EAAW;AAM9E,EAAA,MAAM,SAAA,GAAYC,aAAO,UAAU,CAAA;AACnC,EAAA,SAAA,CAAU,OAAA,GAAU,UAAA;AACpB,EAAA,MAAM,cAAA,GAAiBA,aAAO,WAAW,CAAA;AACzC,EAAA,cAAA,CAAe,OAAA,GAAU,WAAA;AAEzB,EAAA,uBACEC,cAAA;AAAA,IAACC,uCAAA;AAAA,IAAA;AAAA,MACC,MAAA,EAAQ,eAAe,UAAU,CAAA;AAAA,MACjC,gBAAgB,CAAA,IAAA,KAAQ;AACtB,QAAA,MAAM,MAAA,GAAS,iBAAiB,IAAI,CAAA;AACpC,QAAA,SAAA,CAAU,OAAA,GAAU,MAAA;AACpB,QAAA,aAAA,CAAc,MAAM,CAAA;AAAA,MACtB,CAAA;AAAA,MACA,UAAU,WAAA,EAAa,IAAA;AAAA,MACvB,QAAQ,WAAA,EAAa,EAAA;AAAA,MACrB,YAAA,EAAc,CAAC,KAAA,EAAO,IAAA,KAAS;AAC7B,QAAA,IAAI,SAAA,CAAU,YAAY,QAAA,EAAU;AACpC,QAAA,MAAM,IAAA,GAAO,EAAE,GAAG,cAAA,CAAe,SAAS,CAAC,IAAI,GAAG,KAAA,EAAM;AACxD,QAAA,cAAA,CAAe,OAAA,GAAU,IAAA;AACzB,QAAA,cAAA,CAAe,IAAI,CAAA;AAAA,MACrB,CAAA;AAAA,MACA,OAAA,EAAS;AAAA;AAAA,GACX;AAEJ;;;;"}
1
+ {"version":3,"file":"date-range-selector.cjs.js","sources":["../../../../src/domains/metrics/components/date-range-selector.tsx"],"sourcesContent":["import { useRef } from 'react';\nimport { DateTimeRangePicker } from '../../../ds/components/DateTimeRangePicker';\nimport { useMetrics } from '../hooks/use-metrics';\nimport { fromPickerPreset, METRICS_PICKER_PRESETS, toPickerPreset } from '../metrics-date-presets';\n\n/** @deprecated The metrics dashboard picks its range from the filter bar. Use `MetricsTimeRangeChip`. */\nexport function DateRangeSelector() {\n const { datePreset, setDatePreset, customRange, setCustomRange } = useMetrics();\n\n // The picker reports each field separately and also fires onDateChange right\n // after a non-custom preset switch. Track the latest preset and range\n // synchronously so the guard below skips those calls and the second field\n // change still sees the first one.\n const presetRef = useRef(datePreset);\n presetRef.current = datePreset;\n const customRangeRef = useRef(customRange);\n customRangeRef.current = customRange;\n\n return (\n <DateTimeRangePicker\n preset={toPickerPreset(datePreset)}\n onPresetChange={next => {\n const mapped = fromPickerPreset(next);\n presetRef.current = mapped;\n setDatePreset(mapped);\n }}\n dateFrom={customRange?.from}\n dateTo={customRange?.to}\n onDateChange={(value, type) => {\n if (presetRef.current !== 'custom') return;\n const next = { ...customRangeRef.current, [type]: value };\n customRangeRef.current = next;\n setCustomRange(next);\n }}\n presets={METRICS_PICKER_PRESETS}\n />\n );\n}\n"],"names":["useMetrics","useRef","jsx","DateTimeRangePicker","toPickerPreset","fromPickerPreset","METRICS_PICKER_PRESETS"],"mappings":";;;;;;;;;;AAMO,SAAS,iBAAA,GAAoB;AAClC,EAAA,MAAM,EAAE,UAAA,EAAY,aAAA,EAAe,WAAA,EAAa,cAAA,KAAmBA,2CAAA,EAAW;AAM9E,EAAA,MAAM,SAAA,GAAYC,aAAO,UAAU,CAAA;AACnC,EAAA,SAAA,CAAU,OAAA,GAAU,UAAA;AACpB,EAAA,MAAM,cAAA,GAAiBA,aAAO,WAAW,CAAA;AACzC,EAAA,cAAA,CAAe,OAAA,GAAU,WAAA;AAEzB,EAAA,uBACEC,cAAA;AAAA,IAACC,uCAAA;AAAA,IAAA;AAAA,MACC,MAAA,EAAQC,kDAAe,UAAU,CAAA;AAAA,MACjC,gBAAgB,CAAA,IAAA,KAAQ;AACtB,QAAA,MAAM,MAAA,GAASC,oDAAiB,IAAI,CAAA;AACpC,QAAA,SAAA,CAAU,OAAA,GAAU,MAAA;AACpB,QAAA,aAAA,CAAc,MAAM,CAAA;AAAA,MACtB,CAAA;AAAA,MACA,UAAU,WAAA,EAAa,IAAA;AAAA,MACvB,QAAQ,WAAA,EAAa,EAAA;AAAA,MACrB,YAAA,EAAc,CAAC,KAAA,EAAO,IAAA,KAAS;AAC7B,QAAA,IAAI,SAAA,CAAU,YAAY,QAAA,EAAU;AACpC,QAAA,MAAM,IAAA,GAAO,EAAE,GAAG,cAAA,CAAe,SAAS,CAAC,IAAI,GAAG,KAAA,EAAM;AACxD,QAAA,cAAA,CAAe,OAAA,GAAU,IAAA;AACzB,QAAA,cAAA,CAAe,IAAI,CAAA;AAAA,MACrB,CAAA;AAAA,MACA,OAAA,EAASC;AAAA;AAAA,GACX;AAEJ;;;;"}
@@ -1,48 +1,9 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { useRef } from 'react';
3
- import { D as DateTimeRangePicker } from '../../../date-time-range-picker-SU1Q1h1h.js';
3
+ import { D as DateTimeRangePicker } from '../../../date-time-range-picker-BT9qan60.js';
4
4
  import { useMetrics } from '../hooks/use-metrics.es.js';
5
+ import { METRICS_PICKER_PRESETS, toPickerPreset, fromPickerPreset } from '../metrics-date-presets.es.js';
5
6
 
6
- const METRICS_PRESETS = [
7
- "last-24h",
8
- "last-3d",
9
- "last-7d",
10
- "last-14d",
11
- "last-30d",
12
- "custom"
13
- ];
14
- function toPickerPreset(preset) {
15
- switch (preset) {
16
- case "3d":
17
- return "last-3d";
18
- case "7d":
19
- return "last-7d";
20
- case "14d":
21
- return "last-14d";
22
- case "30d":
23
- return "last-30d";
24
- case "custom":
25
- return "custom";
26
- default:
27
- return "last-24h";
28
- }
29
- }
30
- function fromPickerPreset(preset) {
31
- switch (preset) {
32
- case "last-3d":
33
- return "3d";
34
- case "last-7d":
35
- return "7d";
36
- case "last-14d":
37
- return "14d";
38
- case "last-30d":
39
- return "30d";
40
- case "custom":
41
- return "custom";
42
- default:
43
- return "24h";
44
- }
45
- }
46
7
  function DateRangeSelector() {
47
8
  const { datePreset, setDatePreset, customRange, setCustomRange } = useMetrics();
48
9
  const presetRef = useRef(datePreset);
@@ -66,7 +27,7 @@ function DateRangeSelector() {
66
27
  customRangeRef.current = next;
67
28
  setCustomRange(next);
68
29
  },
69
- presets: METRICS_PRESETS
30
+ presets: METRICS_PICKER_PRESETS
70
31
  }
71
32
  );
72
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"date-range-selector.es.js","sources":["../../../../src/domains/metrics/components/date-range-selector.tsx"],"sourcesContent":["import { useRef } from 'react';\nimport { DateTimeRangePicker } from '../../../ds/components/DateTimeRangePicker';\nimport type { DateRangePreset } from '../../../ds/components/DateTimeRangePicker';\nimport { useMetrics } from '../hooks/use-metrics';\nimport type { DatePreset } from '../hooks/use-metrics';\n\nconst METRICS_PRESETS: readonly DateRangePreset[] = [\n 'last-24h',\n 'last-3d',\n 'last-7d',\n 'last-14d',\n 'last-30d',\n 'custom',\n];\n\nfunction toPickerPreset(preset: DatePreset): DateRangePreset {\n switch (preset) {\n case '3d':\n return 'last-3d';\n case '7d':\n return 'last-7d';\n case '14d':\n return 'last-14d';\n case '30d':\n return 'last-30d';\n case 'custom':\n return 'custom';\n default:\n return 'last-24h';\n }\n}\n\nfunction fromPickerPreset(preset: DateRangePreset): DatePreset {\n switch (preset) {\n case 'last-3d':\n return '3d';\n case 'last-7d':\n return '7d';\n case 'last-14d':\n return '14d';\n case 'last-30d':\n return '30d';\n case 'custom':\n return 'custom';\n default:\n return '24h';\n }\n}\n\nexport function DateRangeSelector() {\n const { datePreset, setDatePreset, customRange, setCustomRange } = useMetrics();\n\n // The picker reports each field separately and also fires onDateChange right\n // after a non-custom preset switch. Track the latest preset and range\n // synchronously so the guard below skips those calls and the second field\n // change still sees the first one.\n const presetRef = useRef(datePreset);\n presetRef.current = datePreset;\n const customRangeRef = useRef(customRange);\n customRangeRef.current = customRange;\n\n return (\n <DateTimeRangePicker\n preset={toPickerPreset(datePreset)}\n onPresetChange={next => {\n const mapped = fromPickerPreset(next);\n presetRef.current = mapped;\n setDatePreset(mapped);\n }}\n dateFrom={customRange?.from}\n dateTo={customRange?.to}\n onDateChange={(value, type) => {\n if (presetRef.current !== 'custom') return;\n const next = { ...customRangeRef.current, [type]: value };\n customRangeRef.current = next;\n setCustomRange(next);\n }}\n presets={METRICS_PRESETS}\n />\n );\n}\n"],"names":[],"mappings":";;;;;AAMA,MAAM,eAAA,GAA8C;AAAA,EAClD,UAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,UAAA;AAAA,EACA,UAAA;AAAA,EACA;AACF,CAAA;AAEA,SAAS,eAAe,MAAA,EAAqC;AAC3D,EAAA,QAAQ,MAAA;AAAQ,IACd,KAAK,IAAA;AACH,MAAA,OAAO,SAAA;AAAA,IACT,KAAK,IAAA;AACH,MAAA,OAAO,SAAA;AAAA,IACT,KAAK,KAAA;AACH,MAAA,OAAO,UAAA;AAAA,IACT,KAAK,KAAA;AACH,MAAA,OAAO,UAAA;AAAA,IACT,KAAK,QAAA;AACH,MAAA,OAAO,QAAA;AAAA,IACT;AACE,MAAA,OAAO,UAAA;AAAA;AAEb;AAEA,SAAS,iBAAiB,MAAA,EAAqC;AAC7D,EAAA,QAAQ,MAAA;AAAQ,IACd,KAAK,SAAA;AACH,MAAA,OAAO,IAAA;AAAA,IACT,KAAK,SAAA;AACH,MAAA,OAAO,IAAA;AAAA,IACT,KAAK,UAAA;AACH,MAAA,OAAO,KAAA;AAAA,IACT,KAAK,UAAA;AACH,MAAA,OAAO,KAAA;AAAA,IACT,KAAK,QAAA;AACH,MAAA,OAAO,QAAA;AAAA,IACT;AACE,MAAA,OAAO,KAAA;AAAA;AAEb;AAEO,SAAS,iBAAA,GAAoB;AAClC,EAAA,MAAM,EAAE,UAAA,EAAY,aAAA,EAAe,WAAA,EAAa,cAAA,KAAmB,UAAA,EAAW;AAM9E,EAAA,MAAM,SAAA,GAAY,OAAO,UAAU,CAAA;AACnC,EAAA,SAAA,CAAU,OAAA,GAAU,UAAA;AACpB,EAAA,MAAM,cAAA,GAAiB,OAAO,WAAW,CAAA;AACzC,EAAA,cAAA,CAAe,OAAA,GAAU,WAAA;AAEzB,EAAA,uBACE,GAAA;AAAA,IAAC,mBAAA;AAAA,IAAA;AAAA,MACC,MAAA,EAAQ,eAAe,UAAU,CAAA;AAAA,MACjC,gBAAgB,CAAA,IAAA,KAAQ;AACtB,QAAA,MAAM,MAAA,GAAS,iBAAiB,IAAI,CAAA;AACpC,QAAA,SAAA,CAAU,OAAA,GAAU,MAAA;AACpB,QAAA,aAAA,CAAc,MAAM,CAAA;AAAA,MACtB,CAAA;AAAA,MACA,UAAU,WAAA,EAAa,IAAA;AAAA,MACvB,QAAQ,WAAA,EAAa,EAAA;AAAA,MACrB,YAAA,EAAc,CAAC,KAAA,EAAO,IAAA,KAAS;AAC7B,QAAA,IAAI,SAAA,CAAU,YAAY,QAAA,EAAU;AACpC,QAAA,MAAM,IAAA,GAAO,EAAE,GAAG,cAAA,CAAe,SAAS,CAAC,IAAI,GAAG,KAAA,EAAM;AACxD,QAAA,cAAA,CAAe,OAAA,GAAU,IAAA;AACzB,QAAA,cAAA,CAAe,IAAI,CAAA;AAAA,MACrB,CAAA;AAAA,MACA,OAAA,EAAS;AAAA;AAAA,GACX;AAEJ;;;;"}
1
+ {"version":3,"file":"date-range-selector.es.js","sources":["../../../../src/domains/metrics/components/date-range-selector.tsx"],"sourcesContent":["import { useRef } from 'react';\nimport { DateTimeRangePicker } from '../../../ds/components/DateTimeRangePicker';\nimport { useMetrics } from '../hooks/use-metrics';\nimport { fromPickerPreset, METRICS_PICKER_PRESETS, toPickerPreset } from '../metrics-date-presets';\n\n/** @deprecated The metrics dashboard picks its range from the filter bar. Use `MetricsTimeRangeChip`. */\nexport function DateRangeSelector() {\n const { datePreset, setDatePreset, customRange, setCustomRange } = useMetrics();\n\n // The picker reports each field separately and also fires onDateChange right\n // after a non-custom preset switch. Track the latest preset and range\n // synchronously so the guard below skips those calls and the second field\n // change still sees the first one.\n const presetRef = useRef(datePreset);\n presetRef.current = datePreset;\n const customRangeRef = useRef(customRange);\n customRangeRef.current = customRange;\n\n return (\n <DateTimeRangePicker\n preset={toPickerPreset(datePreset)}\n onPresetChange={next => {\n const mapped = fromPickerPreset(next);\n presetRef.current = mapped;\n setDatePreset(mapped);\n }}\n dateFrom={customRange?.from}\n dateTo={customRange?.to}\n onDateChange={(value, type) => {\n if (presetRef.current !== 'custom') return;\n const next = { ...customRangeRef.current, [type]: value };\n customRangeRef.current = next;\n setCustomRange(next);\n }}\n presets={METRICS_PICKER_PRESETS}\n />\n );\n}\n"],"names":[],"mappings":";;;;;;AAMO,SAAS,iBAAA,GAAoB;AAClC,EAAA,MAAM,EAAE,UAAA,EAAY,aAAA,EAAe,WAAA,EAAa,cAAA,KAAmB,UAAA,EAAW;AAM9E,EAAA,MAAM,SAAA,GAAY,OAAO,UAAU,CAAA;AACnC,EAAA,SAAA,CAAU,OAAA,GAAU,UAAA;AACpB,EAAA,MAAM,cAAA,GAAiB,OAAO,WAAW,CAAA;AACzC,EAAA,cAAA,CAAe,OAAA,GAAU,WAAA;AAEzB,EAAA,uBACE,GAAA;AAAA,IAAC,mBAAA;AAAA,IAAA;AAAA,MACC,MAAA,EAAQ,eAAe,UAAU,CAAA;AAAA,MACjC,gBAAgB,CAAA,IAAA,KAAQ;AACtB,QAAA,MAAM,MAAA,GAAS,iBAAiB,IAAI,CAAA;AACpC,QAAA,SAAA,CAAU,OAAA,GAAU,MAAA;AACpB,QAAA,aAAA,CAAc,MAAM,CAAA;AAAA,MACtB,CAAA;AAAA,MACA,UAAU,WAAA,EAAa,IAAA;AAAA,MACvB,QAAQ,WAAA,EAAa,EAAA;AAAA,MACrB,YAAA,EAAc,CAAC,KAAA,EAAO,IAAA,KAAS;AAC7B,QAAA,IAAI,SAAA,CAAU,YAAY,QAAA,EAAU;AACpC,QAAA,MAAM,IAAA,GAAO,EAAE,GAAG,cAAA,CAAe,SAAS,CAAC,IAAI,GAAG,KAAA,EAAM;AACxD,QAAA,cAAA,CAAe,OAAA,GAAU,IAAA;AACzB,QAAA,cAAA,CAAe,IAAI,CAAA;AAAA,MACrB,CAAA;AAAA,MACA,OAAA,EAAS;AAAA;AAAA,GACX;AAEJ;;;;"}
@@ -13,7 +13,7 @@ const domains_metrics_components_cardActionButtons = require('./card-action-butt
13
13
  const domains_metrics_components_chartArea = require('./chart-area.cjs.js');
14
14
  const domains_metrics_components_chartCard = require('./chart-card.cjs.js');
15
15
  const domains_metrics_components_chartCardError = require('./chart-card-error.cjs.js');
16
- const metricsCard = require('../../../metrics-card-CxOVpP1t.cjs');
16
+ const metricsCard = require('../../../metrics-card-CcesVPLN.cjs');
17
17
  const metricsLineChart = require('../../../metrics-line-chart-D7fE4EQJ.cjs');
18
18
 
19
19
  const SERIES = [{ dataKey: "failureRate", label: "Failed runs", color: domains_metrics_lib_chartColors.CHART_COLORS.error }];
@@ -9,7 +9,7 @@ import { OpenErrorsInLogsButton } from './card-action-buttons.es.js';
9
9
  import { ChartArea } from './chart-area.es.js';
10
10
  import { ChartCard } from './chart-card.es.js';
11
11
  import { ChartCardError } from './chart-card-error.es.js';
12
- import { M as MetricsCard } from '../../../metrics-card-C33VsuXf.js';
12
+ import { M as MetricsCard } from '../../../metrics-card-BI5okAsj.js';
13
13
  import { M as MetricsLineChart } from '../../../metrics-line-chart-BBn0LeqC.js';
14
14
 
15
15
  const SERIES = [{ dataKey: "failureRate", label: "Failed runs", color: CHART_COLORS.error }];
@@ -15,7 +15,7 @@ const domains_metrics_components_cardActionButtons = require('./card-action-butt
15
15
  const domains_metrics_components_chartArea = require('./chart-area.cjs.js');
16
16
  const domains_metrics_components_chartCard = require('./chart-card.cjs.js');
17
17
  const domains_metrics_components_chartCardError = require('./chart-card-error.cjs.js');
18
- const metricsCard = require('../../../metrics-card-CxOVpP1t.cjs');
18
+ const metricsCard = require('../../../metrics-card-CcesVPLN.cjs');
19
19
  const metricsLineChart = require('../../../metrics-line-chart-D7fE4EQJ.cjs');
20
20
  const metricsLineChartTooltip = require('../../../metrics-line-chart-tooltip-BSzXdRFR.cjs');
21
21
 
@@ -11,7 +11,7 @@ import { OpenInTracesButton } from './card-action-buttons.es.js';
11
11
  import { ChartArea } from './chart-area.es.js';
12
12
  import { ChartCard } from './chart-card.es.js';
13
13
  import { ChartCardError } from './chart-card-error.es.js';
14
- import { M as MetricsCard } from '../../../metrics-card-C33VsuXf.js';
14
+ import { M as MetricsCard } from '../../../metrics-card-BI5okAsj.js';
15
15
  import { M as MetricsLineChart } from '../../../metrics-line-chart-BBn0LeqC.js';
16
16
  import { M as MetricsLineChartLegend } from '../../../metrics-line-chart-tooltip-bgRf6KTb.js';
17
17
 
@@ -0,0 +1,26 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+
5
+ const jsxRuntime = require('react/jsx-runtime');
6
+ const domains_traces_components_traceTimeRangeChip = require('../../traces/components/trace-time-range-chip.cjs.js');
7
+ const domains_metrics_hooks_useMetrics = require('../hooks/use-metrics.cjs.js');
8
+ const domains_metrics_metricsDatePresets = require('../metrics-date-presets.cjs.js');
9
+
10
+ function MetricsTimeRangeChip() {
11
+ const { datePreset, setDatePreset, customRange, setCustomRange } = domains_metrics_hooks_useMetrics.useMetrics();
12
+ return /* @__PURE__ */ jsxRuntime.jsx(
13
+ domains_traces_components_traceTimeRangeChip.TraceTimeRangeChip,
14
+ {
15
+ preset: domains_metrics_metricsDatePresets.toPickerPreset(datePreset),
16
+ onPresetChange: (next) => setDatePreset(domains_metrics_metricsDatePresets.fromPickerPreset(next)),
17
+ dateFrom: customRange?.from,
18
+ dateTo: customRange?.to,
19
+ onDateRangeChange: (from, to) => setCustomRange({ from, to }),
20
+ presets: domains_metrics_metricsDatePresets.METRICS_PICKER_PRESETS
21
+ }
22
+ );
23
+ }
24
+
25
+ exports.MetricsTimeRangeChip = MetricsTimeRangeChip;
26
+ //# sourceMappingURL=metrics-time-range-chip.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics-time-range-chip.cjs.js","sources":["../../../../src/domains/metrics/components/metrics-time-range-chip.tsx"],"sourcesContent":["import { TraceTimeRangeChip } from '../../traces/components/trace-time-range-chip';\nimport { useMetrics } from '../hooks/use-metrics';\nimport { fromPickerPreset, METRICS_PICKER_PRESETS, toPickerPreset } from '../metrics-date-presets';\n\n/**\n * The dashboard's date range as the filter bar's `Time` chip, the same chip the Traces page shows.\n * Render it from `FilterBar.Chips` for `TRACE_TIME_RANGE_ITEM`, inside a `MetricsProvider`.\n */\nexport function MetricsTimeRangeChip() {\n const { datePreset, setDatePreset, customRange, setCustomRange } = useMetrics();\n\n return (\n <TraceTimeRangeChip\n preset={toPickerPreset(datePreset)}\n onPresetChange={next => setDatePreset(fromPickerPreset(next))}\n dateFrom={customRange?.from}\n dateTo={customRange?.to}\n // Relative presets derive their window from the preset alone; only an applied custom range\n // carries bounds, and both land in one update.\n onDateRangeChange={(from, to) => setCustomRange({ from, to })}\n presets={METRICS_PICKER_PRESETS}\n />\n );\n}\n"],"names":["useMetrics","jsx","TraceTimeRangeChip","toPickerPreset","fromPickerPreset","METRICS_PICKER_PRESETS"],"mappings":";;;;;;;;;AAQO,SAAS,oBAAA,GAAuB;AACrC,EAAA,MAAM,EAAE,UAAA,EAAY,aAAA,EAAe,WAAA,EAAa,cAAA,KAAmBA,2CAAA,EAAW;AAE9E,EAAA,uBACEC,cAAA;AAAA,IAACC,+DAAA;AAAA,IAAA;AAAA,MACC,MAAA,EAAQC,kDAAe,UAAU,CAAA;AAAA,MACjC,cAAA,EAAgB,CAAA,IAAA,KAAQ,aAAA,CAAcC,mDAAA,CAAiB,IAAI,CAAC,CAAA;AAAA,MAC5D,UAAU,WAAA,EAAa,IAAA;AAAA,MACvB,QAAQ,WAAA,EAAa,EAAA;AAAA,MAGrB,iBAAA,EAAmB,CAAC,IAAA,EAAM,EAAA,KAAO,eAAe,EAAE,IAAA,EAAM,IAAI,CAAA;AAAA,MAC5D,OAAA,EAASC;AAAA;AAAA,GACX;AAEJ;;;;"}
@@ -0,0 +1,2 @@
1
+ export * from '../../../src/domains/metrics/components/metrics-time-range-chip'
2
+ export {}
@@ -0,0 +1,22 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { TraceTimeRangeChip } from '../../traces/components/trace-time-range-chip.es.js';
3
+ import { useMetrics } from '../hooks/use-metrics.es.js';
4
+ import { METRICS_PICKER_PRESETS, fromPickerPreset, toPickerPreset } from '../metrics-date-presets.es.js';
5
+
6
+ function MetricsTimeRangeChip() {
7
+ const { datePreset, setDatePreset, customRange, setCustomRange } = useMetrics();
8
+ return /* @__PURE__ */ jsx(
9
+ TraceTimeRangeChip,
10
+ {
11
+ preset: toPickerPreset(datePreset),
12
+ onPresetChange: (next) => setDatePreset(fromPickerPreset(next)),
13
+ dateFrom: customRange?.from,
14
+ dateTo: customRange?.to,
15
+ onDateRangeChange: (from, to) => setCustomRange({ from, to }),
16
+ presets: METRICS_PICKER_PRESETS
17
+ }
18
+ );
19
+ }
20
+
21
+ export { MetricsTimeRangeChip };
22
+ //# sourceMappingURL=metrics-time-range-chip.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics-time-range-chip.es.js","sources":["../../../../src/domains/metrics/components/metrics-time-range-chip.tsx"],"sourcesContent":["import { TraceTimeRangeChip } from '../../traces/components/trace-time-range-chip';\nimport { useMetrics } from '../hooks/use-metrics';\nimport { fromPickerPreset, METRICS_PICKER_PRESETS, toPickerPreset } from '../metrics-date-presets';\n\n/**\n * The dashboard's date range as the filter bar's `Time` chip, the same chip the Traces page shows.\n * Render it from `FilterBar.Chips` for `TRACE_TIME_RANGE_ITEM`, inside a `MetricsProvider`.\n */\nexport function MetricsTimeRangeChip() {\n const { datePreset, setDatePreset, customRange, setCustomRange } = useMetrics();\n\n return (\n <TraceTimeRangeChip\n preset={toPickerPreset(datePreset)}\n onPresetChange={next => setDatePreset(fromPickerPreset(next))}\n dateFrom={customRange?.from}\n dateTo={customRange?.to}\n // Relative presets derive their window from the preset alone; only an applied custom range\n // carries bounds, and both land in one update.\n onDateRangeChange={(from, to) => setCustomRange({ from, to })}\n presets={METRICS_PICKER_PRESETS}\n />\n );\n}\n"],"names":[],"mappings":";;;;;AAQO,SAAS,oBAAA,GAAuB;AACrC,EAAA,MAAM,EAAE,UAAA,EAAY,aAAA,EAAe,WAAA,EAAa,cAAA,KAAmB,UAAA,EAAW;AAE9E,EAAA,uBACE,GAAA;AAAA,IAAC,kBAAA;AAAA,IAAA;AAAA,MACC,MAAA,EAAQ,eAAe,UAAU,CAAA;AAAA,MACjC,cAAA,EAAgB,CAAA,IAAA,KAAQ,aAAA,CAAc,gBAAA,CAAiB,IAAI,CAAC,CAAA;AAAA,MAC5D,UAAU,WAAA,EAAa,IAAA;AAAA,MACvB,QAAQ,WAAA,EAAa,EAAA;AAAA,MAGrB,iBAAA,EAAmB,CAAC,IAAA,EAAM,EAAA,KAAO,eAAe,EAAE,IAAA,EAAM,IAAI,CAAA;AAAA,MAC5D,OAAA,EAAS;AAAA;AAAA,GACX;AAEJ;;;;"}
@@ -9,7 +9,7 @@ const domains_metrics_lib_chartColors = require('../lib/chart-colors.cjs.js');
9
9
  const domains_metrics_components_chartArea = require('./chart-area.cjs.js');
10
10
  const domains_metrics_components_chartCard = require('./chart-card.cjs.js');
11
11
  const domains_metrics_components_chartCardError = require('./chart-card-error.cjs.js');
12
- const metricsCard = require('../../../metrics-card-CxOVpP1t.cjs');
12
+ const metricsCard = require('../../../metrics-card-CcesVPLN.cjs');
13
13
  const metricsLineChart = require('../../../metrics-line-chart-D7fE4EQJ.cjs');
14
14
 
15
15
  const SCORER_COLORS = [
@@ -5,7 +5,7 @@ import { CHART_COLORS } from '../lib/chart-colors.es.js';
5
5
  import { ChartArea } from './chart-area.es.js';
6
6
  import { ChartCard } from './chart-card.es.js';
7
7
  import { ChartCardError } from './chart-card-error.es.js';
8
- import { M as MetricsCard } from '../../../metrics-card-C33VsuXf.js';
8
+ import { M as MetricsCard } from '../../../metrics-card-BI5okAsj.js';
9
9
  import { M as MetricsLineChart } from '../../../metrics-line-chart-BBn0LeqC.js';
10
10
 
11
11
  const SCORER_COLORS = [
@@ -14,7 +14,7 @@ const domains_metrics_components_cardActionButtons = require('./card-action-butt
14
14
  const domains_metrics_components_chartArea = require('./chart-area.cjs.js');
15
15
  const domains_metrics_components_chartCard = require('./chart-card.cjs.js');
16
16
  const domains_metrics_components_chartCardError = require('./chart-card-error.cjs.js');
17
- const metricsCard = require('../../../metrics-card-CxOVpP1t.cjs');
17
+ const metricsCard = require('../../../metrics-card-CcesVPLN.cjs');
18
18
  const metricsLineChartTooltip = require('../../../metrics-line-chart-tooltip-BSzXdRFR.cjs');
19
19
  const metricsStackedBarChart = require('../../../metrics-stacked-bar-chart-BKhaGInr.cjs');
20
20
 
@@ -10,7 +10,7 @@ import { OpenInTracesButton } from './card-action-buttons.es.js';
10
10
  import { ChartArea } from './chart-area.es.js';
11
11
  import { ChartCard } from './chart-card.es.js';
12
12
  import { ChartCardError } from './chart-card-error.es.js';
13
- import { M as MetricsCard } from '../../../metrics-card-C33VsuXf.js';
13
+ import { M as MetricsCard } from '../../../metrics-card-BI5okAsj.js';
14
14
  import { M as MetricsLineChartLegend } from '../../../metrics-line-chart-tooltip-bgRf6KTb.js';
15
15
  import { M as MetricsStackedBarChart } from '../../../metrics-stacked-bar-chart-3MKRp0RI.js';
16
16
 
@@ -14,7 +14,7 @@ const domains_metrics_components_cardActionButtons = require('./card-action-butt
14
14
  const domains_metrics_components_chartArea = require('./chart-area.cjs.js');
15
15
  const domains_metrics_components_chartCard = require('./chart-card.cjs.js');
16
16
  const domains_metrics_components_chartCardError = require('./chart-card-error.cjs.js');
17
- const metricsCard = require('../../../metrics-card-CxOVpP1t.cjs');
17
+ const metricsCard = require('../../../metrics-card-CcesVPLN.cjs');
18
18
  const metricsShareList = require('../../../metrics-share-list-DfM8dE7e.cjs');
19
19
 
20
20
  const ROOT_ENTITY = {
@@ -10,7 +10,7 @@ import { OpenInTracesButton, OpenErrorsInLogsButton } from './card-action-button
10
10
  import { ChartArea } from './chart-area.es.js';
11
11
  import { ChartCard } from './chart-card.es.js';
12
12
  import { ChartCardError } from './chart-card-error.es.js';
13
- import { M as MetricsCard } from '../../../metrics-card-C33VsuXf.js';
13
+ import { M as MetricsCard } from '../../../metrics-card-BI5okAsj.js';
14
14
  import { M as MetricsShareList } from '../../../metrics-share-list-2cC_1I1S.js';
15
15
 
16
16
  const ROOT_ENTITY = {
@@ -14,7 +14,7 @@ const domains_metrics_components_cardActionButtons = require('./card-action-butt
14
14
  const domains_metrics_components_chartArea = require('./chart-area.cjs.js');
15
15
  const domains_metrics_components_chartCard = require('./chart-card.cjs.js');
16
16
  const domains_metrics_components_chartCardError = require('./chart-card-error.cjs.js');
17
- const metricsCard = require('../../../metrics-card-CxOVpP1t.cjs');
17
+ const metricsCard = require('../../../metrics-card-CcesVPLN.cjs');
18
18
  const metricsShareList = require('../../../metrics-share-list-DfM8dE7e.cjs');
19
19
 
20
20
  const KEEP = { placeholderData: reactQuery.keepPreviousData };
@@ -10,7 +10,7 @@ import { OpenInTracesButton } from './card-action-buttons.es.js';
10
10
  import { ChartArea } from './chart-area.es.js';
11
11
  import { ChartCard } from './chart-card.es.js';
12
12
  import { ChartCardError } from './chart-card-error.es.js';
13
- import { M as MetricsCard } from '../../../metrics-card-C33VsuXf.js';
13
+ import { M as MetricsCard } from '../../../metrics-card-BI5okAsj.js';
14
14
  import { M as MetricsShareList } from '../../../metrics-share-list-2cC_1I1S.js';
15
15
 
16
16
  const KEEP = { placeholderData: keepPreviousData };
@@ -3,6 +3,7 @@
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
5
  const domains_metrics_components_dateRangeSelector = require('./components/date-range-selector.cjs.js');
6
+ const domains_metrics_components_metricsTimeRangeChip = require('./components/metrics-time-range-chip.cjs.js');
6
7
  const domains_metrics_components_cardActionButtons = require('./components/card-action-buttons.cjs.js');
7
8
  const domains_metrics_components_chartArea = require('./components/chart-area.cjs.js');
8
9
  const domains_metrics_components_chartCard = require('./components/chart-card.cjs.js');
@@ -21,6 +22,7 @@ const domains_metrics_components_scoresCard = require('./components/scores-card.
21
22
 
22
23
 
23
24
  exports.DateRangeSelector = domains_metrics_components_dateRangeSelector.DateRangeSelector;
25
+ exports.MetricsTimeRangeChip = domains_metrics_components_metricsTimeRangeChip.MetricsTimeRangeChip;
24
26
  exports.OpenErrorsInLogsButton = domains_metrics_components_cardActionButtons.OpenErrorsInLogsButton;
25
27
  exports.OpenInTracesButton = domains_metrics_components_cardActionButtons.OpenInTracesButton;
26
28
  exports.ChartArea = domains_metrics_components_chartArea.ChartArea;
@@ -1 +1 @@
1
- {"version":3,"file":"components.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"components.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,4 +1,5 @@
1
1
  export { DateRangeSelector } from './components/date-range-selector.es.js';
2
+ export { MetricsTimeRangeChip } from './components/metrics-time-range-chip.es.js';
2
3
  export { OpenErrorsInLogsButton, OpenInTracesButton } from './components/card-action-buttons.es.js';
3
4
  export { ChartArea } from './components/chart-area.es.js';
4
5
  export { ChartCard } from './components/chart-card.es.js';
@@ -1 +1 @@
1
- {"version":3,"file":"components.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"components.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;"}
@@ -81,13 +81,17 @@ Object.defineProperty(exports, "useTraceVolumeMetrics", {
81
81
  });
82
82
  exports.buildLogsDrilldownUrl = domains_metrics_drilldown.buildLogsDrilldownUrl;
83
83
  exports.buildTracesDrilldownUrl = domains_metrics_drilldown.buildTracesDrilldownUrl;
84
+ exports.METRICS_FILTER_BAR_OPERATORS = domains_metrics_metricsFilters.METRICS_FILTER_BAR_OPERATORS;
84
85
  exports.applyMetricsPropertyFilterTokens = domains_metrics_metricsFilters.applyMetricsPropertyFilterTokens;
85
86
  exports.buildMetricsDimensionalFilter = domains_metrics_metricsFilters.buildMetricsDimensionalFilter;
86
87
  exports.clearSavedMetricsFilters = domains_metrics_metricsFilters.clearSavedMetricsFilters;
88
+ exports.createMetricsFilterBarFields = domains_metrics_metricsFilters.createMetricsFilterBarFields;
87
89
  exports.createMetricsPropertyFilterFields = domains_metrics_metricsFilters.createMetricsPropertyFilterFields;
90
+ exports.filterBarItemsToMetricsTokens = domains_metrics_metricsFilters.filterBarItemsToMetricsTokens;
88
91
  exports.getMetricsPropertyFilterTokens = domains_metrics_metricsFilters.getMetricsPropertyFilterTokens;
89
92
  exports.hasAnyMetricsFilterParams = domains_metrics_metricsFilters.hasAnyMetricsFilterParams;
90
93
  exports.loadMetricsFiltersFromStorage = domains_metrics_metricsFilters.loadMetricsFiltersFromStorage;
94
+ exports.metricsTokensToFilterBarItems = domains_metrics_metricsFilters.metricsTokensToFilterBarItems;
91
95
  exports.saveMetricsFiltersToStorage = domains_metrics_metricsFilters.saveMetricsFiltersToStorage;
92
96
  exports.useMetricsActivity = domains_metrics_hooks_useMetricsActivity.useMetricsActivity;
93
97
  exports.useMetricsLatency = domains_metrics_hooks_useMetricsLatency.useMetricsLatency;
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"hooks.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -2,7 +2,7 @@ export { DATE_PRESETS, MetricsProvider, isValidPreset, useMetrics } from './hook
2
2
  export { useMetricsFilters } from './hooks/use-metrics-filters.es.js';
3
3
  export { chooseMetricsInterval, formatMetricsBucketLabel, useActiveResourcesKpiMetrics, useActiveThreadsKpiMetrics, useAgentRunsKpiMetrics, useLatencyMetrics, useModelCostKpiMetrics, useModelUsageCostMetrics, useScoresMetrics, useTokenUsageByAgentMetrics, useTokenUsageTimeSeries, useTopActiveThreadsMetrics, useTopResourcesByThreadsMetrics, useTotalTokensKpiMetrics, useTraceVolumeMetrics } from '@mastra/react/hooks/metrics';
4
4
  export { buildLogsDrilldownUrl, buildTracesDrilldownUrl } from './drilldown.es.js';
5
- export { applyMetricsPropertyFilterTokens, buildMetricsDimensionalFilter, clearSavedMetricsFilters, createMetricsPropertyFilterFields, getMetricsPropertyFilterTokens, hasAnyMetricsFilterParams, loadMetricsFiltersFromStorage, saveMetricsFiltersToStorage } from './metrics-filters.es.js';
5
+ export { METRICS_FILTER_BAR_OPERATORS, applyMetricsPropertyFilterTokens, buildMetricsDimensionalFilter, clearSavedMetricsFilters, createMetricsFilterBarFields, createMetricsPropertyFilterFields, filterBarItemsToMetricsTokens, getMetricsPropertyFilterTokens, hasAnyMetricsFilterParams, loadMetricsFiltersFromStorage, metricsTokensToFilterBarItems, saveMetricsFiltersToStorage } from './metrics-filters.es.js';
6
6
  export { useMetricsActivity } from './hooks/use-metrics-activity.es.js';
7
7
  export { useMetricsLatency } from './hooks/use-metrics-latency.es.js';
8
8
  export { useMetricsScores } from './hooks/use-metrics-scores.es.js';
@@ -0,0 +1,49 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+
5
+ const METRICS_PICKER_PRESETS = [
6
+ "last-24h",
7
+ "last-3d",
8
+ "last-7d",
9
+ "last-14d",
10
+ "last-30d",
11
+ "custom"
12
+ ];
13
+ function toPickerPreset(preset) {
14
+ switch (preset) {
15
+ case "3d":
16
+ return "last-3d";
17
+ case "7d":
18
+ return "last-7d";
19
+ case "14d":
20
+ return "last-14d";
21
+ case "30d":
22
+ return "last-30d";
23
+ case "custom":
24
+ return "custom";
25
+ default:
26
+ return "last-24h";
27
+ }
28
+ }
29
+ function fromPickerPreset(preset) {
30
+ switch (preset) {
31
+ case "last-3d":
32
+ return "3d";
33
+ case "last-7d":
34
+ return "7d";
35
+ case "last-14d":
36
+ return "14d";
37
+ case "last-30d":
38
+ return "30d";
39
+ case "custom":
40
+ return "custom";
41
+ default:
42
+ return "24h";
43
+ }
44
+ }
45
+
46
+ exports.METRICS_PICKER_PRESETS = METRICS_PICKER_PRESETS;
47
+ exports.fromPickerPreset = fromPickerPreset;
48
+ exports.toPickerPreset = toPickerPreset;
49
+ //# sourceMappingURL=metrics-date-presets.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics-date-presets.cjs.js","sources":["../../../src/domains/metrics/metrics-date-presets.ts"],"sourcesContent":["import type { DatePreset } from './hooks/use-metrics';\nimport type { DateRangePreset } from '@/ds/components/DateTimeRangePicker';\n\n/** The date presets the metrics dashboard offers, in `DateTimeRangePicker` terms. */\nexport const METRICS_PICKER_PRESETS: readonly DateRangePreset[] = [\n 'last-24h',\n 'last-3d',\n 'last-7d',\n 'last-14d',\n 'last-30d',\n 'custom',\n];\n\nexport function toPickerPreset(preset: DatePreset): DateRangePreset {\n switch (preset) {\n case '3d':\n return 'last-3d';\n case '7d':\n return 'last-7d';\n case '14d':\n return 'last-14d';\n case '30d':\n return 'last-30d';\n case 'custom':\n return 'custom';\n default:\n return 'last-24h';\n }\n}\n\nexport function fromPickerPreset(preset: DateRangePreset): DatePreset {\n switch (preset) {\n case 'last-3d':\n return '3d';\n case 'last-7d':\n return '7d';\n case 'last-14d':\n return '14d';\n case 'last-30d':\n return '30d';\n case 'custom':\n return 'custom';\n default:\n return '24h';\n }\n}\n"],"names":[],"mappings":";;;;AAIO,MAAM,sBAAA,GAAqD;AAAA,EAChE,UAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,UAAA;AAAA,EACA,UAAA;AAAA,EACA;AACF;AAEO,SAAS,eAAe,MAAA,EAAqC;AAClE,EAAA,QAAQ,MAAA;AAAQ,IACd,KAAK,IAAA;AACH,MAAA,OAAO,SAAA;AAAA,IACT,KAAK,IAAA;AACH,MAAA,OAAO,SAAA;AAAA,IACT,KAAK,KAAA;AACH,MAAA,OAAO,UAAA;AAAA,IACT,KAAK,KAAA;AACH,MAAA,OAAO,UAAA;AAAA,IACT,KAAK,QAAA;AACH,MAAA,OAAO,QAAA;AAAA,IACT;AACE,MAAA,OAAO,UAAA;AAAA;AAEb;AAEO,SAAS,iBAAiB,MAAA,EAAqC;AACpE,EAAA,QAAQ,MAAA;AAAQ,IACd,KAAK,SAAA;AACH,MAAA,OAAO,IAAA;AAAA,IACT,KAAK,SAAA;AACH,MAAA,OAAO,IAAA;AAAA,IACT,KAAK,UAAA;AACH,MAAA,OAAO,KAAA;AAAA,IACT,KAAK,UAAA;AACH,MAAA,OAAO,KAAA;AAAA,IACT,KAAK,QAAA;AACH,MAAA,OAAO,QAAA;AAAA,IACT;AACE,MAAA,OAAO,KAAA;AAAA;AAEb;;;;;;"}
@@ -0,0 +1,2 @@
1
+ export * from '../../src/domains/metrics/metrics-date-presets'
2
+ export {}
@@ -0,0 +1,43 @@
1
+ const METRICS_PICKER_PRESETS = [
2
+ "last-24h",
3
+ "last-3d",
4
+ "last-7d",
5
+ "last-14d",
6
+ "last-30d",
7
+ "custom"
8
+ ];
9
+ function toPickerPreset(preset) {
10
+ switch (preset) {
11
+ case "3d":
12
+ return "last-3d";
13
+ case "7d":
14
+ return "last-7d";
15
+ case "14d":
16
+ return "last-14d";
17
+ case "30d":
18
+ return "last-30d";
19
+ case "custom":
20
+ return "custom";
21
+ default:
22
+ return "last-24h";
23
+ }
24
+ }
25
+ function fromPickerPreset(preset) {
26
+ switch (preset) {
27
+ case "last-3d":
28
+ return "3d";
29
+ case "last-7d":
30
+ return "7d";
31
+ case "last-14d":
32
+ return "14d";
33
+ case "last-30d":
34
+ return "30d";
35
+ case "custom":
36
+ return "custom";
37
+ default:
38
+ return "24h";
39
+ }
40
+ }
41
+
42
+ export { METRICS_PICKER_PRESETS, fromPickerPreset, toPickerPreset };
43
+ //# sourceMappingURL=metrics-date-presets.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics-date-presets.es.js","sources":["../../../src/domains/metrics/metrics-date-presets.ts"],"sourcesContent":["import type { DatePreset } from './hooks/use-metrics';\nimport type { DateRangePreset } from '@/ds/components/DateTimeRangePicker';\n\n/** The date presets the metrics dashboard offers, in `DateTimeRangePicker` terms. */\nexport const METRICS_PICKER_PRESETS: readonly DateRangePreset[] = [\n 'last-24h',\n 'last-3d',\n 'last-7d',\n 'last-14d',\n 'last-30d',\n 'custom',\n];\n\nexport function toPickerPreset(preset: DatePreset): DateRangePreset {\n switch (preset) {\n case '3d':\n return 'last-3d';\n case '7d':\n return 'last-7d';\n case '14d':\n return 'last-14d';\n case '30d':\n return 'last-30d';\n case 'custom':\n return 'custom';\n default:\n return 'last-24h';\n }\n}\n\nexport function fromPickerPreset(preset: DateRangePreset): DatePreset {\n switch (preset) {\n case 'last-3d':\n return '3d';\n case 'last-7d':\n return '7d';\n case 'last-14d':\n return '14d';\n case 'last-30d':\n return '30d';\n case 'custom':\n return 'custom';\n default:\n return '24h';\n }\n}\n"],"names":[],"mappings":"AAIO,MAAM,sBAAA,GAAqD;AAAA,EAChE,UAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,UAAA;AAAA,EACA,UAAA;AAAA,EACA;AACF;AAEO,SAAS,eAAe,MAAA,EAAqC;AAClE,EAAA,QAAQ,MAAA;AAAQ,IACd,KAAK,IAAA;AACH,MAAA,OAAO,SAAA;AAAA,IACT,KAAK,IAAA;AACH,MAAA,OAAO,SAAA;AAAA,IACT,KAAK,KAAA;AACH,MAAA,OAAO,UAAA;AAAA,IACT,KAAK,KAAA;AACH,MAAA,OAAO,UAAA;AAAA,IACT,KAAK,QAAA;AACH,MAAA,OAAO,QAAA;AAAA,IACT;AACE,MAAA,OAAO,UAAA;AAAA;AAEb;AAEO,SAAS,iBAAiB,MAAA,EAAqC;AACpE,EAAA,QAAQ,MAAA;AAAQ,IACd,KAAK,SAAA;AACH,MAAA,OAAO,IAAA;AAAA,IACT,KAAK,SAAA;AACH,MAAA,OAAO,IAAA;AAAA,IACT,KAAK,UAAA;AACH,MAAA,OAAO,KAAA;AAAA,IACT,KAAK,UAAA;AACH,MAAA,OAAO,KAAA;AAAA,IACT,KAAK,QAAA;AACH,MAAA,OAAO,QAAA;AAAA,IACT;AACE,MAAA,OAAO,KAAA;AAAA;AAEb;;;;"}