@mastra/playground-ui 68.0.0-alpha.0 → 68.0.0-alpha.2

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 (836) hide show
  1. package/dist/{ActionRow-BfK77pCT.cjs → ActionRow-BlC9GAef.cjs} +4 -4
  2. package/dist/ActionRow-BlC9GAef.cjs.map +1 -0
  3. package/dist/{ActionRow-Cd6tOC2K.js → ActionRow-DCrRCvBq.js} +4 -4
  4. package/dist/ActionRow-DCrRCvBq.js.map +1 -0
  5. package/dist/{Button-Bw1e3ONi.js → Button-CLXTbAY8.js} +42 -13
  6. package/dist/Button-CLXTbAY8.js.map +1 -0
  7. package/dist/{Button-YQRflC47.cjs → Button-DLcMcuUL.cjs} +58 -11
  8. package/dist/Button-DLcMcuUL.cjs.map +1 -0
  9. package/dist/{CodeEditor-CJ9jC9lu.cjs → CodeEditor-CLzs0yVc.cjs} +4 -4
  10. package/dist/{CodeEditor-CJ9jC9lu.cjs.map → CodeEditor-CLzs0yVc.cjs.map} +1 -1
  11. package/dist/{CodeEditor-CPVxj7WS.js → CodeEditor-COnz9c6B.js} +4 -4
  12. package/dist/{CodeEditor-CPVxj7WS.js.map → CodeEditor-COnz9c6B.js.map} +1 -1
  13. package/dist/{Comment-VFJq2wRp.js → Comment-0n98b_f_.js} +3 -3
  14. package/dist/{Comment-VFJq2wRp.js.map → Comment-0n98b_f_.js.map} +1 -1
  15. package/dist/{Comment-KYUQzeSu.cjs → Comment-Cg0f7eLa.cjs} +3 -3
  16. package/dist/{Comment-KYUQzeSu.cjs.map → Comment-Cg0f7eLa.cjs.map} +1 -1
  17. package/dist/{DataCodeSection-CZRPsStI.cjs → DataCodeSection-CFxXsQWH.cjs} +10 -10
  18. package/dist/DataCodeSection-CFxXsQWH.cjs.map +1 -0
  19. package/dist/{DataCodeSection-Ckd47p_S.js → DataCodeSection-PY9XEg2C.js} +8 -8
  20. package/dist/DataCodeSection-PY9XEg2C.js.map +1 -0
  21. package/dist/{DataDetailsPanel-_CK0Huk6.js → DataDetailsPanel-CohEKPm4.js} +5 -5
  22. package/dist/{DataDetailsPanel-_CK0Huk6.js.map → DataDetailsPanel-CohEKPm4.js.map} +1 -1
  23. package/dist/{DataDetailsPanel-DFhM9H5D.cjs → DataDetailsPanel-DiyjEXqK.cjs} +6 -6
  24. package/dist/{DataDetailsPanel-DFhM9H5D.cjs.map → DataDetailsPanel-DiyjEXqK.cjs.map} +1 -1
  25. package/dist/{DataList-2tIlQsLc.js → DataList-CUhRQAv6.js} +2 -2
  26. package/dist/{DataList-2tIlQsLc.js.map → DataList-CUhRQAv6.js.map} +1 -1
  27. package/dist/{DataList-Czwmwyvp.cjs → DataList-Cj0mfk19.cjs} +2 -2
  28. package/dist/{DataList-Czwmwyvp.cjs.map → DataList-Cj0mfk19.cjs.map} +1 -1
  29. package/dist/{DataPanel-C0Ll76Ne.cjs → DataPanel-Coc9h35I.cjs} +3 -3
  30. package/dist/{DataPanel-C0Ll76Ne.cjs.map → DataPanel-Coc9h35I.cjs.map} +1 -1
  31. package/dist/{DataPanel-CY1W5LHJ.js → DataPanel-IgB9D5PO.js} +3 -3
  32. package/dist/{DataPanel-CY1W5LHJ.js.map → DataPanel-IgB9D5PO.js.map} +1 -1
  33. package/dist/{Dialog-CjaiCrkv.cjs → Dialog-BvWF9HE-.cjs} +2 -2
  34. package/dist/{Dialog-CjaiCrkv.cjs.map → Dialog-BvWF9HE-.cjs.map} +1 -1
  35. package/dist/{Dialog-CKtTR8h3.js → Dialog-DaWtxwd9.js} +2 -2
  36. package/dist/{Dialog-CKtTR8h3.js.map → Dialog-DaWtxwd9.js.map} +1 -1
  37. package/dist/{ErrorBoundary-Bm0LL_b7.cjs → ErrorBoundary-B5GjmA6V.cjs} +2 -2
  38. package/dist/{ErrorBoundary-Bm0LL_b7.cjs.map → ErrorBoundary-B5GjmA6V.cjs.map} +1 -1
  39. package/dist/{ErrorBoundary-95_6A77S.js → ErrorBoundary-Cat3KU86.js} +2 -2
  40. package/dist/{ErrorBoundary-95_6A77S.js.map → ErrorBoundary-Cat3KU86.js.map} +1 -1
  41. package/dist/{FilterBar--4oguuVe.js → FilterBar-BgW2dqRQ.js} +21 -25
  42. package/dist/FilterBar-BgW2dqRQ.js.map +1 -0
  43. package/dist/{FilterBar-BUd4f7oi.cjs → FilterBar-CQl04O6t.cjs} +21 -25
  44. package/dist/FilterBar-CQl04O6t.cjs.map +1 -0
  45. package/dist/{LogsDataList-Cslabh8K.js → LogsDataList-BI2C5OJz.js} +2 -2
  46. package/dist/{LogsDataList-Cslabh8K.js.map → LogsDataList-BI2C5OJz.js.map} +1 -1
  47. package/dist/{LogsDataList-DMmxAt_t.cjs → LogsDataList-CCIfUPGo.cjs} +2 -2
  48. package/dist/{LogsDataList-DMmxAt_t.cjs.map → LogsDataList-CCIfUPGo.cjs.map} +1 -1
  49. package/dist/{MarkdownRenderer-DME2xKTk.js → MarkdownRenderer-2GOXQJEv.js} +3 -3
  50. package/dist/{MarkdownRenderer-DME2xKTk.js.map → MarkdownRenderer-2GOXQJEv.js.map} +1 -1
  51. package/dist/{MarkdownRenderer-CS6u5drO.cjs → MarkdownRenderer-CB8Z_CHc.cjs} +4 -4
  52. package/dist/{MarkdownRenderer-CS6u5drO.cjs.map → MarkdownRenderer-CB8Z_CHc.cjs.map} +1 -1
  53. package/dist/{Message-nVI6tMS3.js → Message-CWzi5F_Q.js} +2 -2
  54. package/dist/{Message-nVI6tMS3.js.map → Message-CWzi5F_Q.js.map} +1 -1
  55. package/dist/{Message-DsCNQpou.cjs → Message-jj56lxNL.cjs} +2 -2
  56. package/dist/{Message-DsCNQpou.cjs.map → Message-jj56lxNL.cjs.map} +1 -1
  57. package/dist/{MetricsTable-D-aZf3dk.cjs → MetricsTable-BSl81oNe.cjs} +44 -9
  58. package/dist/MetricsTable-BSl81oNe.cjs.map +1 -0
  59. package/dist/{MetricsTable-CRPeLHe1.js → MetricsTable-DID6LRoP.js} +44 -9
  60. package/dist/MetricsTable-DID6LRoP.js.map +1 -0
  61. package/dist/{Notice-CyKngbbv.js → Notice-C-8oOZZF.js} +2 -2
  62. package/dist/{Notice-CyKngbbv.js.map → Notice-C-8oOZZF.js.map} +1 -1
  63. package/dist/{Notice-DWNeCe-t.cjs → Notice-JZ7SW7q6.cjs} +2 -2
  64. package/dist/{Notice-DWNeCe-t.cjs.map → Notice-JZ7SW7q6.cjs.map} +1 -1
  65. package/dist/{Workflow-BVWvgDmI.js → Workflow-C3SlEdP-.js} +5 -5
  66. package/dist/{Workflow-BVWvgDmI.js.map → Workflow-C3SlEdP-.js.map} +1 -1
  67. package/dist/{Workflow-BeF6pIO9.cjs → Workflow-DSWQ-ROz.cjs} +5 -5
  68. package/dist/{Workflow-BeF6pIO9.cjs.map → Workflow-DSWQ-ROz.cjs.map} +1 -1
  69. package/dist/{activity-DAK8tj7r.cjs → activity-DyB5H3gF.cjs} +2 -2
  70. package/dist/{activity-DAK8tj7r.cjs.map → activity-DyB5H3gF.cjs.map} +1 -1
  71. package/dist/{activity-CM34JyW-.js → activity-rJ1NQl_2.js} +2 -2
  72. package/dist/{activity-CM34JyW-.js.map → activity-rJ1NQl_2.js.map} +1 -1
  73. package/dist/{ask-user-C82m_G9W.cjs → ask-user-C1p2PEYe.cjs} +3 -3
  74. package/dist/ask-user-C1p2PEYe.cjs.map +1 -0
  75. package/dist/{ask-user-BdjH9F7G.js → ask-user-DPznrqGO.js} +3 -3
  76. package/dist/ask-user-DPznrqGO.js.map +1 -0
  77. package/dist/buttons-group-Dc6R7YSs.cjs +48 -0
  78. package/dist/buttons-group-Dc6R7YSs.cjs.map +1 -0
  79. package/dist/buttons-group-DkFlnMiL.js +35 -0
  80. package/dist/buttons-group-DkFlnMiL.js.map +1 -0
  81. package/dist/{ButtonsGroup.css → buttons-group.css} +2 -0
  82. package/dist/chart-plot.css +5 -4
  83. package/dist/clear-filters-button-Buc973vw.cjs +27 -0
  84. package/dist/clear-filters-button-Buc973vw.cjs.map +1 -0
  85. package/dist/clear-filters-button-CNrRuHOY.js +22 -0
  86. package/dist/clear-filters-button-CNrRuHOY.js.map +1 -0
  87. package/dist/{combobox-wFudhN8F.js → combobox-D21no8t5.js} +5 -5
  88. package/dist/{combobox-wFudhN8F.js.map → combobox-D21no8t5.js.map} +1 -1
  89. package/dist/{combobox-8kNAJFlj.cjs → combobox-DIT_6xiG.cjs} +5 -5
  90. package/dist/combobox-DIT_6xiG.cjs.map +1 -0
  91. package/dist/{combobox-parts-BZVXwbG7.cjs → combobox-parts-C4phOq4t.cjs} +10 -18
  92. package/dist/combobox-parts-C4phOq4t.cjs.map +1 -0
  93. package/dist/{combobox-parts-W7KRQUsV.js → combobox-parts-D90ir0Py.js} +11 -19
  94. package/dist/combobox-parts-D90ir0Py.js.map +1 -0
  95. package/dist/components/ActionRow.cjs.js +1 -1
  96. package/dist/components/ActionRow.es.js +1 -1
  97. package/dist/components/AlertDialog.cjs.js +2 -2
  98. package/dist/components/AlertDialog.es.js +2 -2
  99. package/dist/components/Button.cjs.js +4 -1
  100. package/dist/components/Button.es.js +2 -2
  101. package/dist/components/ButtonsGroup.cjs.js +3 -38
  102. package/dist/components/ButtonsGroup.es.js +1 -35
  103. package/dist/components/ClampedText.cjs.js +1 -1
  104. package/dist/components/ClampedText.es.js +1 -1
  105. package/dist/components/ClearFiltersButton.cjs.js +3 -0
  106. package/dist/components/ClearFiltersButton.d.ts +1 -0
  107. package/dist/components/ClearFiltersButton.es.js +1 -0
  108. package/dist/components/CodeBlock.cjs.js +3 -3
  109. package/dist/components/CodeBlock.es.js +3 -3
  110. package/dist/components/CodeEditor.cjs.js +1 -1
  111. package/dist/components/CodeEditor.es.js +1 -1
  112. package/dist/components/CollapsibleBox.cjs.js +1 -1
  113. package/dist/components/CollapsibleBox.es.js +1 -1
  114. package/dist/components/Combobox.cjs.js +2 -2
  115. package/dist/components/Combobox.es.js +2 -2
  116. package/dist/components/Command.cjs.js +3 -2
  117. package/dist/components/Command.cjs.js.map +1 -1
  118. package/dist/components/Command.es.js +3 -2
  119. package/dist/components/Command.es.js.map +1 -1
  120. package/dist/components/Comment.cjs.js +1 -1
  121. package/dist/components/Comment.es.js +1 -1
  122. package/dist/components/CopyButton.cjs.js +1 -1
  123. package/dist/components/CopyButton.es.js +1 -1
  124. package/dist/components/DataCodeSection.cjs.js +1 -1
  125. package/dist/components/DataCodeSection.es.js +1 -1
  126. package/dist/components/DataDetailsPanel.cjs.js +1 -1
  127. package/dist/components/DataDetailsPanel.es.js +1 -1
  128. package/dist/components/DataList.cjs.js +3 -3
  129. package/dist/components/DataList.es.js +3 -3
  130. package/dist/components/DataPanel.cjs.js +1 -1
  131. package/dist/components/DataPanel.es.js +1 -1
  132. package/dist/components/DateRangeTimeline.cjs.js +1 -1
  133. package/dist/components/DateRangeTimeline.es.js +1 -1
  134. package/dist/components/DateTimePicker.cjs.js +3 -3
  135. package/dist/components/DateTimePicker.cjs.js.map +1 -1
  136. package/dist/components/DateTimePicker.es.js +3 -3
  137. package/dist/components/DateTimePicker.es.js.map +1 -1
  138. package/dist/components/DateTimeRangePicker.cjs.js +2 -2
  139. package/dist/components/DateTimeRangePicker.es.js +1 -1
  140. package/dist/components/Dialog.cjs.js +1 -1
  141. package/dist/components/Dialog.es.js +1 -1
  142. package/dist/components/DisabledFeatureButton.cjs.js +1 -1
  143. package/dist/components/DisabledFeatureButton.es.js +1 -1
  144. package/dist/components/Drawer.cjs.js +1 -1
  145. package/dist/components/Drawer.es.js +1 -1
  146. package/dist/components/EnvironmentVariablesEditor.cjs.js +4 -4
  147. package/dist/components/EnvironmentVariablesEditor.es.js +4 -4
  148. package/dist/components/ErrorBoundary.cjs.js +1 -1
  149. package/dist/components/ErrorBoundary.es.js +1 -1
  150. package/dist/components/FilterBar.cjs.js +7 -2
  151. package/dist/components/FilterBar.es.js +4 -3
  152. package/dist/components/FormFieldBlocks.cjs.js +3 -3
  153. package/dist/components/FormFieldBlocks.cjs.js.map +1 -1
  154. package/dist/components/FormFieldBlocks.es.js +3 -3
  155. package/dist/components/FormFieldBlocks.es.js.map +1 -1
  156. package/dist/components/InputGroup.cjs.js +1 -1
  157. package/dist/components/InputGroup.es.js +1 -1
  158. package/dist/components/InputNumber.cjs.js +2 -2
  159. package/dist/components/InputNumber.es.js +2 -2
  160. package/dist/components/JSONSchemaForm.cjs.js +2 -2
  161. package/dist/components/JSONSchemaForm.es.js +2 -2
  162. package/dist/components/ListSearch.cjs.js +1 -1
  163. package/dist/components/ListSearch.es.js +1 -1
  164. package/dist/components/LogsDataList.cjs.js +2 -2
  165. package/dist/components/LogsDataList.es.js +2 -2
  166. package/dist/components/MarkdownRenderer.cjs.js +1 -1
  167. package/dist/components/MarkdownRenderer.es.js +1 -1
  168. package/dist/components/Message.cjs.js +1 -1
  169. package/dist/components/Message.es.js +1 -1
  170. package/dist/components/MetricsTable.cjs.js +1 -1
  171. package/dist/components/MetricsTable.es.js +1 -1
  172. package/dist/components/Notice.cjs.js +1 -1
  173. package/dist/components/Notice.es.js +1 -1
  174. package/dist/components/PrevNextNav.cjs.js +1 -1
  175. package/dist/components/PrevNextNav.es.js +1 -1
  176. package/dist/components/PropertyFilter.cjs.js +4 -4
  177. package/dist/components/PropertyFilter.cjs.js.map +1 -1
  178. package/dist/components/PropertyFilter.es.js +4 -4
  179. package/dist/components/PropertyFilter.es.js.map +1 -1
  180. package/dist/components/RuleBuilder.cjs.js +2 -2
  181. package/dist/components/RuleBuilder.es.js +2 -2
  182. package/dist/components/SavedViews.cjs.js +4 -3
  183. package/dist/components/SavedViews.cjs.js.map +1 -1
  184. package/dist/components/SavedViews.es.js +4 -3
  185. package/dist/components/SavedViews.es.js.map +1 -1
  186. package/dist/components/SearchInput.cjs.js +5 -2
  187. package/dist/components/SearchInput.cjs.js.map +1 -1
  188. package/dist/components/SearchInput.es.js +5 -2
  189. package/dist/components/SearchInput.es.js.map +1 -1
  190. package/dist/components/Select.cjs.js +1 -1
  191. package/dist/components/Select.es.js +1 -1
  192. package/dist/components/SideDialog.cjs.js +5 -5
  193. package/dist/components/SideDialog.cjs.js.map +1 -1
  194. package/dist/components/SideDialog.es.js +4 -4
  195. package/dist/components/Sidebar.cjs.js +11 -11
  196. package/dist/components/Sidebar.cjs.js.map +1 -1
  197. package/dist/components/Sidebar.es.js +12 -12
  198. package/dist/components/Sidebar.es.js.map +1 -1
  199. package/dist/components/Tabs.cjs.js +2 -2
  200. package/dist/components/Tabs.es.js +2 -2
  201. package/dist/components/ThreadList.cjs.js +1 -1
  202. package/dist/components/ThreadList.es.js +1 -1
  203. package/dist/components/Toaster.cjs.js +2 -2
  204. package/dist/components/Toaster.es.js +2 -2
  205. package/dist/components/Truncate.cjs.js +1 -1
  206. package/dist/components/Truncate.es.js +1 -1
  207. package/dist/components/Workflow.cjs.js +1 -1
  208. package/dist/components/Workflow.es.js +1 -1
  209. package/dist/components/ai/activity.cjs.js +1 -1
  210. package/dist/components/ai/activity.es.js +1 -1
  211. package/dist/components/ai/ask-user.cjs.js +1 -1
  212. package/dist/components/ai/ask-user.es.js +1 -1
  213. package/dist/components/ai/plan.cjs.js +2 -2
  214. package/dist/components/ai/plan.es.js +2 -2
  215. package/dist/components/ai/tool-approval.cjs.js +1 -1
  216. package/dist/components/ai/tool-approval.es.js +1 -1
  217. package/dist/components/ai/tool-call.cjs.js +1 -1
  218. package/dist/components/ai/tool-call.es.js +1 -1
  219. package/dist/{copy-button-CF-X4iDj.js → copy-button-BXrbevLn.js} +2 -2
  220. package/dist/{copy-button-CF-X4iDj.js.map → copy-button-BXrbevLn.js.map} +1 -1
  221. package/dist/{copy-button-BYEFKNpo.cjs → copy-button-DJAQ6_3o.cjs} +2 -2
  222. package/dist/{copy-button-BYEFKNpo.cjs.map → copy-button-DJAQ6_3o.cjs.map} +1 -1
  223. package/dist/{data-list-BkimqE_P.cjs → data-list-C4Vmq5HA.cjs} +2 -2
  224. package/dist/{data-list-BkimqE_P.cjs.map → data-list-C4Vmq5HA.cjs.map} +1 -1
  225. package/dist/{data-list-evmf5xWI.js → data-list-DHCOoLmj.js} +2 -2
  226. package/dist/{data-list-evmf5xWI.js.map → data-list-DHCOoLmj.js.map} +1 -1
  227. package/dist/{DateTimeRangePicker-HmPOHwAQ.cjs → date-time-range-picker-CTt7Od0P.cjs} +71 -57
  228. package/dist/date-time-range-picker-CTt7Od0P.cjs.map +1 -0
  229. package/dist/{DateTimeRangePicker-C_Lie_2P.js → date-time-range-picker-DKh1K9Iy.js} +72 -58
  230. package/dist/date-time-range-picker-DKh1K9Iy.js.map +1 -0
  231. package/dist/domains/auth/components/session-expired.cjs.js +2 -2
  232. package/dist/domains/auth/components/session-expired.es.js +2 -2
  233. package/dist/domains/chat/activity/activity-stretch-line.cjs.js +1 -1
  234. package/dist/domains/chat/activity/activity-stretch-line.es.js +1 -1
  235. package/dist/domains/chat/activity/components/activity-fold.cjs.js +1 -1
  236. package/dist/domains/chat/activity/components/activity-fold.es.js +1 -1
  237. package/dist/domains/chat/activity/components/activity-timed-trigger.cjs.js +1 -1
  238. package/dist/domains/chat/activity/components/activity-timed-trigger.es.js +1 -1
  239. package/dist/domains/chat/activity/components/calls-panel.cjs.js +1 -1
  240. package/dist/domains/chat/activity/components/calls-panel.es.js +1 -1
  241. package/dist/domains/chat/activity/components/stretch-content.cjs.js +1 -1
  242. package/dist/domains/chat/activity/components/stretch-content.es.js +1 -1
  243. package/dist/domains/chat/activity/components/stretch-thought.cjs.js +1 -1
  244. package/dist/domains/chat/activity/components/stretch-thought.es.js +1 -1
  245. package/dist/domains/chat/activity/model/activity-segments.cjs.js +1 -1
  246. package/dist/domains/chat/activity/model/activity-segments.es.js +1 -1
  247. package/dist/domains/chat/activity/model/activity-words.cjs.js +1 -1
  248. package/dist/domains/chat/activity/model/activity-words.es.js +1 -1
  249. package/dist/domains/chat/attachments/attachment-preview-dialog.cjs.js +2 -2
  250. package/dist/domains/chat/attachments/attachment-preview-dialog.es.js +2 -2
  251. package/dist/domains/chat/attachments/composer-attachment.cjs.js +1 -1
  252. package/dist/domains/chat/attachments/composer-attachment.es.js +1 -1
  253. package/dist/domains/chat/components/badge-wrapper.cjs.js +1 -1
  254. package/dist/domains/chat/components/badge-wrapper.es.js +1 -1
  255. package/dist/domains/chat/components/network-choice-metadata-dialog.cjs.js +3 -3
  256. package/dist/domains/chat/components/network-choice-metadata-dialog.es.js +3 -3
  257. package/dist/domains/chat/knowledge/pinned-knowledge.cjs.js +1 -1
  258. package/dist/domains/chat/knowledge/pinned-knowledge.es.js +1 -1
  259. package/dist/domains/chat/messages/assistant-message-actions.cjs.js +2 -2
  260. package/dist/domains/chat/messages/assistant-message-actions.es.js +2 -2
  261. package/dist/domains/chat/messages/dataset-save-action.cjs.js +5 -5
  262. package/dist/domains/chat/messages/dataset-save-action.es.js +5 -5
  263. package/dist/domains/chat/messages/message-row.cjs.js +4 -4
  264. package/dist/domains/chat/messages/message-row.es.js +4 -4
  265. package/dist/domains/chat/messages/notification-signal-notice.cjs.js +1 -1
  266. package/dist/domains/chat/messages/notification-signal-notice.es.js +1 -1
  267. package/dist/domains/chat/messages/reasoning-content.cjs.js +1 -1
  268. package/dist/domains/chat/messages/reasoning-content.es.js +1 -1
  269. package/dist/domains/chat/messages/renderers/message-text.cjs.js +2 -2
  270. package/dist/domains/chat/messages/renderers/message-text.es.js +2 -2
  271. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.cjs.js +1 -1
  272. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.es.js +1 -1
  273. package/dist/domains/chat/messages/renderers/status-renderers.cjs.js +1 -1
  274. package/dist/domains/chat/messages/renderers/status-renderers.es.js +1 -1
  275. package/dist/domains/chat/messages/signal-badge.cjs.js +1 -1
  276. package/dist/domains/chat/messages/signal-badge.es.js +1 -1
  277. package/dist/domains/chat/messages/skill-message.cjs.js +2 -2
  278. package/dist/domains/chat/messages/skill-message.es.js +2 -2
  279. package/dist/domains/chat/messages/system-reminder-badge.cjs.js +1 -1
  280. package/dist/domains/chat/messages/system-reminder-badge.es.js +1 -1
  281. package/dist/domains/chat/messages/tripwire-notice.cjs.js +2 -2
  282. package/dist/domains/chat/messages/tripwire-notice.es.js +2 -2
  283. package/dist/domains/chat/tools/badges/agent-badge-wrapper.cjs.js +1 -1
  284. package/dist/domains/chat/tools/badges/agent-badge-wrapper.es.js +1 -1
  285. package/dist/domains/chat/tools/badges/agent-badge.cjs.js +1 -1
  286. package/dist/domains/chat/tools/badges/agent-badge.es.js +1 -1
  287. package/dist/domains/chat/tools/badges/ask-user-badge.cjs.js +1 -1
  288. package/dist/domains/chat/tools/badges/ask-user-badge.es.js +1 -1
  289. package/dist/domains/chat/tools/badges/background-task-metadata-dialog.cjs.js +3 -3
  290. package/dist/domains/chat/tools/badges/background-task-metadata-dialog.es.js +3 -3
  291. package/dist/domains/chat/tools/badges/code-mode-badge.cjs.js +1 -1
  292. package/dist/domains/chat/tools/badges/code-mode-badge.es.js +1 -1
  293. package/dist/domains/chat/tools/badges/file-tree-badge.cjs.js +1 -1
  294. package/dist/domains/chat/tools/badges/file-tree-badge.es.js +1 -1
  295. package/dist/domains/chat/tools/badges/knowledge-tool-badge.cjs.js +1 -1
  296. package/dist/domains/chat/tools/badges/knowledge-tool-badge.es.js +1 -1
  297. package/dist/domains/chat/tools/badges/mcp-task-chip.cjs.js +1 -1
  298. package/dist/domains/chat/tools/badges/mcp-task-chip.es.js +1 -1
  299. package/dist/domains/chat/tools/badges/observation-marker-badge.cjs.js +2 -2
  300. package/dist/domains/chat/tools/badges/observation-marker-badge.es.js +2 -2
  301. package/dist/domains/chat/tools/badges/observation-marker-details.cjs.js +2 -2
  302. package/dist/domains/chat/tools/badges/observation-marker-details.es.js +2 -2
  303. package/dist/domains/chat/tools/badges/observation-renderer.cjs.js +1 -1
  304. package/dist/domains/chat/tools/badges/observation-renderer.es.js +1 -1
  305. package/dist/domains/chat/tools/badges/sandbox-execution-badge.cjs.js +1 -1
  306. package/dist/domains/chat/tools/badges/sandbox-execution-badge.es.js +1 -1
  307. package/dist/domains/chat/tools/badges/tool-approval-badge.cjs.js +1 -1
  308. package/dist/domains/chat/tools/badges/tool-approval-badge.es.js +1 -1
  309. package/dist/domains/chat/tools/badges/tool-badge.cjs.js +2 -2
  310. package/dist/domains/chat/tools/badges/tool-badge.es.js +2 -2
  311. package/dist/domains/chat/tools/badges/workflow-badge.cjs.js +3 -3
  312. package/dist/domains/chat/tools/badges/workflow-badge.es.js +3 -3
  313. package/dist/domains/chat/tools/connect-prompt-tool.cjs.js +3 -3
  314. package/dist/domains/chat/tools/connect-prompt-tool.es.js +3 -3
  315. package/dist/domains/chat/tools/submit-plan-tool.cjs.js +1 -1
  316. package/dist/domains/chat/tools/submit-plan-tool.es.js +1 -1
  317. package/dist/domains/chat/tools/tool-card.cjs.js +1 -1
  318. package/dist/domains/chat/tools/tool-card.es.js +1 -1
  319. package/dist/domains/chat/tools/tool-groups.cjs.js +1 -1
  320. package/dist/domains/chat/tools/tool-groups.es.js +1 -1
  321. package/dist/domains/dashboards/components/dashboard-renderer.cjs.js +1 -1
  322. package/dist/domains/dashboards/components/dashboard-renderer.es.js +1 -1
  323. package/dist/domains/dashboards/kinds/table/table-view.cjs.js +1 -1
  324. package/dist/domains/dashboards/kinds/table/table-view.es.js +1 -1
  325. package/dist/domains/dashboards/metrics-dashboard.cjs.js +1 -1
  326. package/dist/domains/dashboards/metrics-dashboard.cjs.js.map +1 -1
  327. package/dist/domains/dashboards/metrics-dashboard.es.js +1 -1
  328. package/dist/domains/dashboards/metrics-dashboard.es.js.map +1 -1
  329. package/dist/domains/datasets/components/add-dataset-item-dialog/add-dataset-item-dialog.cjs.js +4 -4
  330. package/dist/domains/datasets/components/add-dataset-item-dialog/add-dataset-item-dialog.es.js +4 -4
  331. package/dist/domains/datasets/components/add-dataset-item-dialog/dataset-picker.cjs.js +1 -1
  332. package/dist/domains/datasets/components/add-dataset-item-dialog/dataset-picker.es.js +1 -1
  333. package/dist/domains/datasets/components/add-dataset-item-dialog/trajectory-editor.cjs.js +3 -3
  334. package/dist/domains/datasets/components/add-dataset-item-dialog/trajectory-editor.es.js +3 -3
  335. package/dist/domains/datasets/components/save-as-dataset-item-dialog.cjs.js +5 -5
  336. package/dist/domains/datasets/components/save-as-dataset-item-dialog.es.js +5 -5
  337. package/dist/domains/knowledge/components/KnowledgePageDetail.cjs.js +1 -1
  338. package/dist/domains/knowledge/components/KnowledgePageDetail.es.js +1 -1
  339. package/dist/domains/logs/components/log-data-panel.cjs.js +6 -6
  340. package/dist/domains/logs/components/log-data-panel.cjs.js.map +1 -1
  341. package/dist/domains/logs/components/log-data-panel.es.js +4 -4
  342. package/dist/domains/logs/components/logs-list-view.cjs.js +2 -2
  343. package/dist/domains/logs/components/logs-list-view.es.js +2 -2
  344. package/dist/domains/logs/components/logs-saved-views.cjs.js +1 -1
  345. package/dist/domains/logs/components/logs-saved-views.es.js +1 -1
  346. package/dist/domains/logs/components/logs-toolbar.cjs.js +1 -1
  347. package/dist/domains/logs/components/logs-toolbar.es.js +1 -1
  348. package/dist/domains/logs/components/no-logs-info.cjs.js +1 -1
  349. package/dist/domains/logs/components/no-logs-info.es.js +1 -1
  350. package/dist/domains/logs/hooks/use-logs-filter-persistence.cjs.js +1 -1
  351. package/dist/domains/logs/hooks/use-logs-filter-persistence.es.js +1 -1
  352. package/dist/domains/memory/components/flame-graph.cjs.js +1 -1
  353. package/dist/domains/memory/components/flame-graph.es.js +1 -1
  354. package/dist/domains/memory/components/memory-studio-panel.cjs.js +1 -1
  355. package/dist/domains/memory/components/memory-studio-panel.es.js +1 -1
  356. package/dist/domains/metrics/components/breakdown/breakdown-table.cjs.js +2 -2
  357. package/dist/domains/metrics/components/breakdown/breakdown-table.cjs.js.map +1 -1
  358. package/dist/domains/metrics/components/breakdown/breakdown-table.es.js +2 -2
  359. package/dist/domains/metrics/components/breakdown/breakdown-table.es.js.map +1 -1
  360. package/dist/domains/metrics/components/card-action-buttons.cjs.js +1 -1
  361. package/dist/domains/metrics/components/card-action-buttons.es.js +1 -1
  362. package/dist/domains/metrics/components/chart-card-error.cjs.js +1 -1
  363. package/dist/domains/metrics/components/chart-card-error.es.js +1 -1
  364. package/dist/domains/metrics/components/date-range-selector.cjs.js +2 -2
  365. package/dist/domains/metrics/components/date-range-selector.cjs.js.map +1 -1
  366. package/dist/domains/metrics/components/date-range-selector.es.js +1 -1
  367. package/dist/domains/metrics/components/metrics-time-range-chip.cjs.js +4 -4
  368. package/dist/domains/metrics/components/metrics-time-range-chip.cjs.js.map +1 -1
  369. package/dist/domains/metrics/components/metrics-time-range-chip.es.js +4 -4
  370. package/dist/domains/metrics/components/metrics-time-range-chip.es.js.map +1 -1
  371. package/dist/domains/metrics/drilldown.cjs.js +1 -1
  372. package/dist/domains/metrics/drilldown.es.js +1 -1
  373. package/dist/domains/metrics/metrics-filters.cjs.js +1 -1
  374. package/dist/domains/metrics/metrics-filters.es.js +1 -1
  375. package/dist/domains/observability/hooks/use-observability-list-filters.cjs.js +1 -1
  376. package/dist/domains/observability/hooks/use-observability-list-filters.es.js +1 -1
  377. package/dist/domains/observability/observability-list-url-state.cjs.js +1 -1
  378. package/dist/domains/observability/observability-list-url-state.es.js +1 -1
  379. package/dist/domains/observability/saved-view-state.cjs.js +1 -1
  380. package/dist/domains/observability/saved-view-state.es.js +1 -1
  381. package/dist/domains/observability/saved-views/observability-saved-views.cjs.js +1 -1
  382. package/dist/domains/observability/saved-views/observability-saved-views.es.js +1 -1
  383. package/dist/domains/observability/saved-views.cjs.js +1 -1
  384. package/dist/domains/observability/saved-views.es.js +1 -1
  385. package/dist/domains/observability.cjs.js +1 -1
  386. package/dist/domains/observability.es.js +1 -1
  387. package/dist/domains/scores/components/score-data-panel.cjs.js +2 -2
  388. package/dist/domains/scores/components/score-data-panel.es.js +2 -2
  389. package/dist/domains/scores/components/span-scoring.cjs.js +6 -6
  390. package/dist/domains/scores/components/span-scoring.cjs.js.map +1 -1
  391. package/dist/domains/scores/components/span-scoring.es.js +6 -6
  392. package/dist/domains/scores/components/span-scoring.es.js.map +1 -1
  393. package/dist/domains/scores/components/trace-scores-list.cjs.js +2 -2
  394. package/dist/domains/scores/components/trace-scores-list.es.js +2 -2
  395. package/dist/domains/scores/components/trace-scores-tab.cjs.js +1 -1
  396. package/dist/domains/scores/components/trace-scores-tab.es.js +1 -1
  397. package/dist/domains/skills/skill-simple-form.cjs.js +3 -3
  398. package/dist/domains/skills/skill-simple-form.cjs.js.map +1 -1
  399. package/dist/domains/skills/skill-simple-form.es.js +3 -3
  400. package/dist/domains/skills/skill-simple-form.es.js.map +1 -1
  401. package/dist/domains/spans/components/spans-explorer-body.cjs.js +8 -8
  402. package/dist/domains/spans/components/spans-explorer-body.cjs.js.map +1 -1
  403. package/dist/domains/spans/components/spans-explorer-body.es.js +8 -8
  404. package/dist/domains/spans/components/spans-explorer-body.es.js.map +1 -1
  405. package/dist/domains/spans/components/spans-filter-bar.cjs.js +6 -6
  406. package/dist/domains/spans/components/spans-filter-bar.cjs.js.map +1 -1
  407. package/dist/domains/spans/components/spans-filter-bar.es.js +6 -6
  408. package/dist/domains/spans/components/spans-filter-bar.es.js.map +1 -1
  409. package/dist/domains/spans/hooks/use-spans-filter-bar.cjs.js +5 -5
  410. package/dist/domains/spans/hooks/use-spans-filter-bar.cjs.js.map +1 -1
  411. package/dist/domains/spans/hooks/use-spans-filter-bar.es.js +5 -5
  412. package/dist/domains/spans/hooks/use-spans-filter-bar.es.js.map +1 -1
  413. package/dist/domains/spans/span-filters.cjs.js +2 -2
  414. package/dist/domains/spans/span-filters.cjs.js.map +1 -1
  415. package/dist/domains/spans/span-filters.es.js +2 -2
  416. package/dist/domains/spans/span-filters.es.js.map +1 -1
  417. package/dist/domains/threads/components/threads-explorer-body.cjs.js +8 -8
  418. package/dist/domains/threads/components/threads-explorer-body.cjs.js.map +1 -1
  419. package/dist/domains/threads/components/threads-explorer-body.es.js +8 -8
  420. package/dist/domains/threads/components/threads-explorer-body.es.js.map +1 -1
  421. package/dist/domains/threads/components/threads-filter-bar.cjs.js +6 -6
  422. package/dist/domains/threads/components/threads-filter-bar.cjs.js.map +1 -1
  423. package/dist/domains/threads/components/threads-filter-bar.es.js +6 -6
  424. package/dist/domains/threads/components/threads-filter-bar.es.js.map +1 -1
  425. package/dist/domains/threads/hooks/use-threads-filter-bar.cjs.js +5 -5
  426. package/dist/domains/threads/hooks/use-threads-filter-bar.cjs.js.map +1 -1
  427. package/dist/domains/threads/hooks/use-threads-filter-bar.es.js +5 -5
  428. package/dist/domains/threads/hooks/use-threads-filter-bar.es.js.map +1 -1
  429. package/dist/domains/threads/thread-filters.cjs.js +2 -2
  430. package/dist/domains/threads/thread-filters.cjs.js.map +1 -1
  431. package/dist/domains/threads/thread-filters.es.js +2 -2
  432. package/dist/domains/threads/thread-filters.es.js.map +1 -1
  433. package/dist/domains/traces/components/columns-menu/columns-menu.cjs.js +1 -1
  434. package/dist/domains/traces/components/columns-menu/columns-menu.es.js +1 -1
  435. package/dist/domains/traces/components/feedback-thread.cjs.js +4 -4
  436. package/dist/domains/traces/components/feedback-thread.cjs.js.map +1 -1
  437. package/dist/domains/traces/components/feedback-thread.es.js +4 -4
  438. package/dist/domains/traces/components/feedback-thread.es.js.map +1 -1
  439. package/dist/domains/traces/components/span-data-panel-view.cjs.js +5 -5
  440. package/dist/domains/traces/components/span-data-panel-view.es.js +5 -5
  441. package/dist/domains/traces/components/span-details-view.cjs.js +1 -1
  442. package/dist/domains/traces/components/span-details-view.es.js +1 -1
  443. package/dist/domains/traces/components/span-outcome.cjs.js +1 -1
  444. package/dist/domains/traces/components/span-outcome.es.js +1 -1
  445. package/dist/domains/traces/components/span-payload/span-error-renderer.cjs.js +2 -2
  446. package/dist/domains/traces/components/span-payload/span-error-renderer.es.js +2 -2
  447. package/dist/domains/traces/components/span-payload/span-input-renderers.cjs.js +1 -1
  448. package/dist/domains/traces/components/span-payload/span-input-renderers.es.js +1 -1
  449. package/dist/domains/traces/components/span-payload/span-output-renderers.cjs.js +3 -3
  450. package/dist/domains/traces/components/span-payload/span-output-renderers.es.js +3 -3
  451. package/dist/domains/traces/components/span-payload/span-payload-json.cjs.js +1 -1
  452. package/dist/domains/traces/components/span-payload/span-payload-json.es.js +1 -1
  453. package/dist/domains/traces/components/span-payload/span-payload-messages.cjs.js +3 -3
  454. package/dist/domains/traces/components/span-payload/span-payload-messages.es.js +3 -3
  455. package/dist/domains/traces/components/span-payload/span-payload-primitives.cjs.js +1 -1
  456. package/dist/domains/traces/components/span-payload/span-payload-primitives.es.js +1 -1
  457. package/dist/domains/traces/components/span-payload/span-payload-processor.cjs.js +1 -1
  458. package/dist/domains/traces/components/span-payload/span-payload-processor.es.js +1 -1
  459. package/dist/domains/traces/components/span-payload/span-payload-section.cjs.js +2 -2
  460. package/dist/domains/traces/components/span-payload/span-payload-section.es.js +2 -2
  461. package/dist/domains/traces/components/span-payload/span-payload-tool.cjs.js +1 -1
  462. package/dist/domains/traces/components/span-payload/span-payload-tool.es.js +1 -1
  463. package/dist/domains/traces/components/span-payload/span-processor-mutations.cjs.js +1 -1
  464. package/dist/domains/traces/components/span-payload/span-processor-mutations.es.js +1 -1
  465. package/dist/domains/traces/components/span-payload/span-tools-section.cjs.js +1 -1
  466. package/dist/domains/traces/components/span-payload/span-tools-section.es.js +1 -1
  467. package/dist/domains/traces/components/span-summary-description.cjs.js +1 -1
  468. package/dist/domains/traces/components/span-summary-description.es.js +1 -1
  469. package/dist/domains/traces/components/thread-trace/thread-trace-details.cjs.js +1 -1
  470. package/dist/domains/traces/components/thread-trace/thread-trace-details.es.js +1 -1
  471. package/dist/domains/traces/components/thread-trace/thread-trace-messages.cjs.js +2 -2
  472. package/dist/domains/traces/components/thread-trace/thread-trace-messages.es.js +2 -2
  473. package/dist/domains/traces/components/thread-trace/thread-trace-row.cjs.js +1 -1
  474. package/dist/domains/traces/components/thread-trace/thread-trace-row.es.js +1 -1
  475. package/dist/domains/traces/components/thread-trace/thread-trace-spans.cjs.js +1 -1
  476. package/dist/domains/traces/components/thread-trace/thread-trace-spans.es.js +1 -1
  477. package/dist/domains/traces/components/thread-view-by-trace.cjs.js +1 -1
  478. package/dist/domains/traces/components/thread-view-by-trace.es.js +1 -1
  479. package/dist/domains/traces/components/trace-columns-menu.cjs.js +5 -6
  480. package/dist/domains/traces/components/trace-columns-menu.cjs.js.map +1 -1
  481. package/dist/domains/traces/components/trace-columns-menu.es.js +5 -6
  482. package/dist/domains/traces/components/trace-columns-menu.es.js.map +1 -1
  483. package/dist/domains/traces/components/trace-data-panel-view.cjs.js +5 -5
  484. package/dist/domains/traces/components/trace-data-panel-view.cjs.js.map +1 -1
  485. package/dist/domains/traces/components/trace-data-panel-view.es.js +5 -5
  486. package/dist/domains/traces/components/trace-data-panel-view.es.js.map +1 -1
  487. package/dist/domains/traces/components/trace-data-panel.cjs.js +1 -1
  488. package/dist/domains/traces/components/trace-data-panel.es.js +1 -1
  489. package/dist/domains/traces/components/trace-details-view.cjs.js +1 -1
  490. package/dist/domains/traces/components/trace-details-view.es.js +1 -1
  491. package/dist/domains/traces/components/trace-error-cell.cjs.js +1 -1
  492. package/dist/domains/traces/components/trace-error-cell.es.js +1 -1
  493. package/dist/domains/traces/components/trace-error-summary.cjs.js +1 -1
  494. package/dist/domains/traces/components/trace-error-summary.es.js +1 -1
  495. package/dist/domains/traces/components/trace-id-button.cjs.js +1 -1
  496. package/dist/domains/traces/components/trace-id-button.es.js +1 -1
  497. package/dist/domains/traces/components/trace-span-panel.cjs.js +1 -1
  498. package/dist/domains/traces/components/trace-span-panel.es.js +1 -1
  499. package/dist/domains/traces/components/trace-summary-description.cjs.js +1 -1
  500. package/dist/domains/traces/components/trace-summary-description.es.js +1 -1
  501. package/dist/domains/traces/components/trace-thread-item-view.cjs.js +1 -1
  502. package/dist/domains/traces/components/trace-thread-item-view.es.js +1 -1
  503. package/dist/domains/traces/components/trace-thread-panel.cjs.js +1 -1
  504. package/dist/domains/traces/components/trace-thread-panel.es.js +1 -1
  505. package/dist/domains/traces/components/traces-explorer/traces-explorer-actions.cjs.js +1 -1
  506. package/dist/domains/traces/components/traces-explorer/traces-explorer-actions.es.js +1 -1
  507. package/dist/domains/traces/components/traces-explorer/traces-explorer-filter-bar.cjs.js +6 -6
  508. package/dist/domains/traces/components/traces-explorer/traces-explorer-filter-bar.cjs.js.map +1 -1
  509. package/dist/domains/traces/components/traces-explorer/traces-explorer-filter-bar.es.js +6 -6
  510. package/dist/domains/traces/components/traces-explorer/traces-explorer-filter-bar.es.js.map +1 -1
  511. package/dist/domains/traces/components/traces-explorer/traces-explorer-root.cjs.js +1 -1
  512. package/dist/domains/traces/components/traces-explorer/traces-explorer-root.es.js +1 -1
  513. package/dist/domains/traces/components/traces-explorer/traces-explorer-saved-views.cjs.js +1 -1
  514. package/dist/domains/traces/components/traces-explorer/traces-explorer-saved-views.es.js +1 -1
  515. package/dist/domains/traces/components/traces-explorer/use-traces-filter-bar.cjs.js +5 -5
  516. package/dist/domains/traces/components/traces-explorer/use-traces-filter-bar.cjs.js.map +1 -1
  517. package/dist/domains/traces/components/traces-explorer/use-traces-filter-bar.es.js +5 -5
  518. package/dist/domains/traces/components/traces-explorer/use-traces-filter-bar.es.js.map +1 -1
  519. package/dist/domains/traces/components/traces-list-mode-toggle.cjs.js +1 -1
  520. package/dist/domains/traces/components/traces-list-mode-toggle.es.js +1 -1
  521. package/dist/domains/traces/components/traces-list-view.cjs.js +2 -2
  522. package/dist/domains/traces/components/traces-list-view.es.js +2 -2
  523. package/dist/domains/traces/components/traces-page-skeleton.cjs.js +2 -2
  524. package/dist/domains/traces/components/traces-page-skeleton.cjs.js.map +1 -1
  525. package/dist/domains/traces/components/traces-page-skeleton.es.js +2 -2
  526. package/dist/domains/traces/components/traces-page-skeleton.es.js.map +1 -1
  527. package/dist/domains/traces/components/traces-spans-switch.cjs.js +1 -1
  528. package/dist/domains/traces/components/traces-spans-switch.es.js +1 -1
  529. package/dist/domains/traces/hooks/use-download-trace-json.cjs.js +1 -1
  530. package/dist/domains/traces/hooks/use-download-trace-json.es.js +1 -1
  531. package/dist/domains/traces/trace-filters.cjs.js +1 -1
  532. package/dist/domains/traces/trace-filters.es.js +1 -1
  533. package/dist/domains/traces/trace-query-filters.cjs.js +1 -1
  534. package/dist/domains/traces/trace-query-filters.es.js +1 -1
  535. package/dist/domains/traces.cjs.js +1 -1
  536. package/dist/domains/traces.es.js +1 -1
  537. package/dist/domains/workflows/components/workflow-combobox.cjs.js +3 -3
  538. package/dist/domains/workflows/components/workflow-combobox.cjs.js.map +1 -1
  539. package/dist/domains/workflows/components/workflow-combobox.es.js +3 -3
  540. package/dist/domains/workflows/components/workflow-combobox.es.js.map +1 -1
  541. package/dist/domains/workflows/components/workflow-information.cjs.js +2 -2
  542. package/dist/domains/workflows/components/workflow-information.es.js +2 -2
  543. package/dist/domains/workflows/components/workflow-layout.cjs.js +1 -1
  544. package/dist/domains/workflows/components/workflow-layout.es.js +1 -1
  545. package/dist/domains/workflows/components/workflow-step-detail.cjs.js +2 -2
  546. package/dist/domains/workflows/components/workflow-step-detail.es.js +2 -2
  547. package/dist/domains/workflows/components/workflows-list/no-workflows-info.cjs.js +1 -1
  548. package/dist/domains/workflows/components/workflows-list/no-workflows-info.es.js +1 -1
  549. package/dist/domains/workflows/components/workflows-list/workflows-list.cjs.js +2 -2
  550. package/dist/domains/workflows/components/workflows-list/workflows-list.es.js +2 -2
  551. package/dist/domains/workflows/context/use-stream-for-run.cjs.js +1 -1
  552. package/dist/domains/workflows/context/use-stream-for-run.es.js +1 -1
  553. package/dist/domains/workflows/runs/workflow-run-list.cjs.js +1 -1
  554. package/dist/domains/workflows/runs/workflow-run-list.es.js +1 -1
  555. package/dist/domains/workflows/workflow/data/workflow-data-button.cjs.js +1 -1
  556. package/dist/domains/workflows/workflow/data/workflow-data-button.es.js +1 -1
  557. package/dist/domains/workflows/workflow/data/workflow-data-inspector.cjs.js +2 -2
  558. package/dist/domains/workflows/workflow/data/workflow-data-inspector.es.js +2 -2
  559. package/dist/domains/workflows/workflow/input/workflow-json-input.cjs.js +1 -1
  560. package/dist/domains/workflows/workflow/input/workflow-json-input.es.js +1 -1
  561. package/dist/domains/workflows/workflow/input/workflow-processor-input.cjs.js +2 -2
  562. package/dist/domains/workflows/workflow/input/workflow-processor-input.cjs.js.map +1 -1
  563. package/dist/domains/workflows/workflow/input/workflow-processor-input.es.js +2 -2
  564. package/dist/domains/workflows/workflow/input/workflow-processor-input.es.js.map +1 -1
  565. package/dist/domains/workflows/workflow/use-workflow-graph-runtime.cjs.js +1 -1
  566. package/dist/domains/workflows/workflow/use-workflow-graph-runtime.es.js +1 -1
  567. package/dist/domains/workflows/workflow/utils.cjs.js +1 -1
  568. package/dist/domains/workflows/workflow/utils.es.js +1 -1
  569. package/dist/domains/workflows/workflow/workflow-body-graph.cjs.js +1 -1
  570. package/dist/domains/workflows/workflow/workflow-body-graph.es.js +1 -1
  571. package/dist/domains/workflows/workflow/workflow-cancel-button.cjs.js +1 -1
  572. package/dist/domains/workflows/workflow/workflow-cancel-button.es.js +1 -1
  573. package/dist/domains/workflows/workflow/workflow-data-edge.cjs.js +1 -1
  574. package/dist/domains/workflows/workflow/workflow-data-edge.es.js +1 -1
  575. package/dist/domains/workflows/workflow/workflow-debug-step-controls.cjs.js +1 -1
  576. package/dist/domains/workflows/workflow/workflow-debug-step-controls.es.js +1 -1
  577. package/dist/domains/workflows/workflow/workflow-graph-boundary.cjs.js +3 -3
  578. package/dist/domains/workflows/workflow/workflow-graph-boundary.es.js +3 -3
  579. package/dist/domains/workflows/workflow/workflow-graph-inner.cjs.js +2 -2
  580. package/dist/domains/workflows/workflow/workflow-graph-inner.es.js +2 -2
  581. package/dist/domains/workflows/workflow/workflow-graph-layout.cjs.js +1 -1
  582. package/dist/domains/workflows/workflow/workflow-graph-layout.es.js +1 -1
  583. package/dist/domains/workflows/workflow/workflow-graph-node.cjs.js +1 -1
  584. package/dist/domains/workflows/workflow/workflow-graph-node.es.js +1 -1
  585. package/dist/domains/workflows/workflow/workflow-graph.cjs.js +1 -1
  586. package/dist/domains/workflows/workflow/workflow-graph.es.js +1 -1
  587. package/dist/domains/workflows/workflow/workflow-map-config-dialog.cjs.js +3 -3
  588. package/dist/domains/workflows/workflow/workflow-map-config-dialog.es.js +3 -3
  589. package/dist/domains/workflows/workflow/workflow-nested-graph.cjs.js +1 -1
  590. package/dist/domains/workflows/workflow/workflow-nested-graph.es.js +1 -1
  591. package/dist/domains/workflows/workflow/workflow-run-data.cjs.js +3 -3
  592. package/dist/domains/workflows/workflow/workflow-run-data.es.js +3 -3
  593. package/dist/domains/workflows/workflow/workflow-run-error.cjs.js +1 -1
  594. package/dist/domains/workflows/workflow/workflow-run-error.es.js +1 -1
  595. package/dist/domains/workflows/workflow/workflow-run-header.cjs.js +1 -1
  596. package/dist/domains/workflows/workflow/workflow-run-header.es.js +1 -1
  597. package/dist/domains/workflows/workflow/workflow-status.cjs.js +1 -1
  598. package/dist/domains/workflows/workflow/workflow-status.es.js +1 -1
  599. package/dist/domains/workflows/workflow/workflow-step-action-bar.cjs.js +2 -2
  600. package/dist/domains/workflows/workflow/workflow-step-action-bar.es.js +2 -2
  601. package/dist/domains/workflows/workflow/workflow-step-node-utils.cjs.js +1 -1
  602. package/dist/domains/workflows/workflow/workflow-step-node-utils.es.js +1 -1
  603. package/dist/domains/workflows/workflow/workflow-suspended-steps.cjs.js +2 -2
  604. package/dist/domains/workflows/workflow/workflow-suspended-steps.es.js +2 -2
  605. package/dist/domains/workflows/workflow/workflow-time-travel-form.cjs.js +2 -2
  606. package/dist/domains/workflows/workflow/workflow-time-travel-form.es.js +2 -2
  607. package/dist/domains/workflows/workflow/workflow-timeline-row.cjs.js +1 -1
  608. package/dist/domains/workflows/workflow/workflow-timeline-row.es.js +1 -1
  609. package/dist/domains/workflows/workflow/workflow-timeline.cjs.js +1 -1
  610. package/dist/domains/workflows/workflow/workflow-timeline.es.js +1 -1
  611. package/dist/domains/workflows/workflow/workflow-trigger-form.cjs.js +1 -1
  612. package/dist/domains/workflows/workflow/workflow-trigger-form.es.js +1 -1
  613. package/dist/domains/workflows/workflow/workflow-trigger-header.cjs.js +1 -1
  614. package/dist/domains/workflows/workflow/workflow-trigger-header.es.js +1 -1
  615. package/dist/domains/workflows/workflow/workflow-trigger.cjs.js +1 -1
  616. package/dist/domains/workflows/workflow/workflow-trigger.es.js +1 -1
  617. package/dist/domains/workspace/components/workspace-add-skill-dialog.cjs.js +4 -4
  618. package/dist/domains/workspace/components/workspace-add-skill-dialog.cjs.js.map +1 -1
  619. package/dist/domains/workspace/components/workspace-add-skill-dialog.es.js +4 -4
  620. package/dist/domains/workspace/components/workspace-add-skill-dialog.es.js.map +1 -1
  621. package/dist/domains/workspace/components/workspace-add-skill.cjs.js +1 -1
  622. package/dist/domains/workspace/components/workspace-add-skill.es.js +1 -1
  623. package/dist/domains/workspace/components/workspace-create-directory.cjs.js +2 -2
  624. package/dist/domains/workspace/components/workspace-create-directory.es.js +2 -2
  625. package/dist/domains/workspace/components/workspace-error.cjs.js +1 -1
  626. package/dist/domains/workspace/components/workspace-error.es.js +1 -1
  627. package/dist/domains/workspace/components/workspace-markdown-preview.cjs.js +1 -1
  628. package/dist/domains/workspace/components/workspace-markdown-preview.es.js +1 -1
  629. package/dist/domains/workspace/components/workspace-search.cjs.js +1 -1
  630. package/dist/domains/workspace/components/workspace-search.es.js +1 -1
  631. package/dist/domains/workspace/components/workspace-tree.cjs.js +1 -1
  632. package/dist/domains/workspace/components/workspace-tree.es.js +1 -1
  633. package/dist/ee/signals/components/entity-index-list.cjs.js +1 -1
  634. package/dist/ee/signals/components/entity-index-list.es.js +1 -1
  635. package/dist/ee/signals/components/signals-empty-state.cjs.js +1 -1
  636. package/dist/ee/signals/components/signals-empty-state.es.js +1 -1
  637. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js +6 -6
  638. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js.map +1 -1
  639. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js +5 -5
  640. package/dist/ee/signals/examples-pager.cjs.js +1 -1
  641. package/dist/ee/signals/examples-pager.es.js +1 -1
  642. package/dist/ee/signals/sankey-signals.cjs.js +1 -1
  643. package/dist/ee/signals/sankey-signals.es.js +1 -1
  644. package/dist/ee/signals/settings/signal-definition-form-dialog.cjs.js +2 -2
  645. package/dist/ee/signals/settings/signal-definition-form-dialog.es.js +2 -2
  646. package/dist/ee/signals/settings/trace-signal-settings.cjs.js +3 -3
  647. package/dist/ee/signals/settings/trace-signal-settings.es.js +3 -3
  648. package/dist/ee/signals/signals-error-state.cjs.js +1 -1
  649. package/dist/ee/signals/signals-error-state.es.js +1 -1
  650. package/dist/ee/signals/snapshot-timeline.cjs.js +1 -1
  651. package/dist/ee/signals/snapshot-timeline.es.js +1 -1
  652. package/dist/ee/signals/theme-filter-banner.cjs.js +1 -1
  653. package/dist/ee/signals/theme-filter-banner.es.js +1 -1
  654. package/dist/ee/signals/trace-insight-view.cjs.js +1 -1
  655. package/dist/ee/signals/trace-insight-view.es.js +1 -1
  656. package/dist/ee/signals/view-mode-tab.cjs.js +1 -1
  657. package/dist/ee/signals/view-mode-tab.es.js +1 -1
  658. package/dist/ee/topics/components/topic-trace-summary-list.cjs.js +2 -2
  659. package/dist/ee/topics/components/topic-trace-summary-list.es.js +2 -2
  660. package/dist/{filter-bar-chip-7O02P9Vk.js → filter-bar-chip-CABeKrtf.js} +88 -73
  661. package/dist/filter-bar-chip-CABeKrtf.js.map +1 -0
  662. package/dist/{filter-bar-chip-BUyMf8XQ.cjs → filter-bar-chip-Cg-UbIwP.cjs} +90 -81
  663. package/dist/filter-bar-chip-Cg-UbIwP.cjs.map +1 -0
  664. package/dist/filter-bar-chip.css +22 -0
  665. package/dist/filter-bar-time-range-BA-pXMlo.cjs +83 -0
  666. package/dist/filter-bar-time-range-BA-pXMlo.cjs.map +1 -0
  667. package/dist/filter-bar-time-range-mg9JeYue.js +60 -0
  668. package/dist/filter-bar-time-range-mg9JeYue.js.map +1 -0
  669. package/dist/hooks/use-copy-to-clipboard.cjs.js +1 -1
  670. package/dist/hooks/use-copy-to-clipboard.es.js +1 -1
  671. package/dist/{input-group-uDpFNnSW.cjs → input-group-DVJLZDBL.cjs} +6 -4
  672. package/dist/input-group-DVJLZDBL.cjs.map +1 -0
  673. package/dist/{input-group-g85FYfze.js → input-group-QKKV_ouF.js} +7 -5
  674. package/dist/input-group-QKKV_ouF.js.map +1 -0
  675. package/dist/layout/tabbed-container.cjs.js +1 -1
  676. package/dist/layout/tabbed-container.es.js +1 -1
  677. package/dist/lib/form/components/array-element-wrapper.cjs.js +1 -1
  678. package/dist/lib/form/components/array-element-wrapper.es.js +1 -1
  679. package/dist/lib/form/components/array-wrapper.cjs.js +1 -1
  680. package/dist/lib/form/components/array-wrapper.es.js +1 -1
  681. package/dist/lib/form/components/date-field.cjs.js +1 -1
  682. package/dist/lib/form/components/date-field.es.js +1 -1
  683. package/dist/lib/form/components/error-message.cjs.js +1 -1
  684. package/dist/lib/form/components/error-message.es.js +1 -1
  685. package/dist/lib/form/components/form-submit-row.cjs.js +1 -1
  686. package/dist/lib/form/components/form-submit-row.es.js +1 -1
  687. package/dist/lib/form/components/record-field.cjs.js +1 -1
  688. package/dist/lib/form/components/record-field.es.js +1 -1
  689. package/dist/lib/form/components/select-field.cjs.js +1 -1
  690. package/dist/lib/form/components/select-field.es.js +1 -1
  691. package/dist/lib/form/components/submit-button.cjs.js +1 -1
  692. package/dist/lib/form/components/submit-button.es.js +1 -1
  693. package/dist/{list-search-BEJmYa9a.cjs → list-search-BtRno5As.cjs} +2 -2
  694. package/dist/list-search-BtRno5As.cjs.map +1 -0
  695. package/dist/{list-search-bg7WzULj.js → list-search-CkhsTFdG.js} +2 -2
  696. package/dist/list-search-CkhsTFdG.js.map +1 -0
  697. package/dist/{observability-saved-views-Zlz74syw.js → observability-saved-views-CjKTEp1V.js} +4 -4
  698. package/dist/observability-saved-views-CjKTEp1V.js.map +1 -0
  699. package/dist/{observability-saved-views-BNU3GkK6.cjs → observability-saved-views-Daizz4tU.cjs} +4 -4
  700. package/dist/observability-saved-views-Daizz4tU.cjs.map +1 -0
  701. package/dist/primitives/chart-plot.cjs.js +8 -6
  702. package/dist/primitives/chart-plot.cjs.js.map +1 -1
  703. package/dist/primitives/chart-plot.es.js +8 -6
  704. package/dist/primitives/chart-plot.es.js.map +1 -1
  705. package/dist/primitives/control-icon.cjs.js +9 -0
  706. package/dist/primitives/control-icon.cjs.js.map +1 -0
  707. package/dist/primitives/control-icon.d.ts +1 -0
  708. package/dist/primitives/control-icon.es.js +8 -0
  709. package/dist/primitives/control-icon.es.js.map +1 -0
  710. package/dist/primitives/control-size.cjs.js +6 -0
  711. package/dist/primitives/control-size.cjs.js.map +1 -1
  712. package/dist/primitives/control-size.es.js +6 -1
  713. package/dist/primitives/control-size.es.js.map +1 -1
  714. package/dist/primitives/menu-item.cjs.js +3 -3
  715. package/dist/primitives/menu-item.cjs.js.map +1 -1
  716. package/dist/primitives/menu-item.es.js +3 -3
  717. package/dist/primitives/menu-item.es.js.map +1 -1
  718. package/dist/primitives/trigger-button.cjs.js +1 -1
  719. package/dist/primitives/trigger-button.es.js +1 -1
  720. package/dist/{property-filter-applied-DRglaEj-.js → property-filter-applied--U5EZdaA.js} +4 -4
  721. package/dist/property-filter-applied--U5EZdaA.js.map +1 -0
  722. package/dist/{property-filter-applied-DqsPFbYM.cjs → property-filter-applied-BkkIObRq.cjs} +19 -19
  723. package/dist/property-filter-applied-BkkIObRq.cjs.map +1 -0
  724. package/dist/{select-BbFpEBAY.js → select-BdIZEdcy.js} +4 -8
  725. package/dist/select-BdIZEdcy.js.map +1 -0
  726. package/dist/{select-NySY9Men.cjs → select-Dg8L5ROX.cjs} +3 -7
  727. package/dist/select-Dg8L5ROX.cjs.map +1 -0
  728. package/dist/{span-payload-primitives-ChvD2RrN.js → span-payload-primitives-B3RdahsC.js} +3 -3
  729. package/dist/{span-payload-primitives-ChvD2RrN.js.map → span-payload-primitives-B3RdahsC.js.map} +1 -1
  730. package/dist/{span-payload-primitives-w1vtAXAw.cjs → span-payload-primitives-_2d-pAOD.cjs} +3 -3
  731. package/dist/{span-payload-primitives-w1vtAXAw.cjs.map → span-payload-primitives-_2d-pAOD.cjs.map} +1 -1
  732. package/dist/src/domains/metrics/components/metrics-time-range-chip.d.ts +2 -2
  733. package/dist/src/domains/spans/components/spans-filter-bar.d.ts +1 -1
  734. package/dist/src/domains/spans/hooks/use-spans-filter-bar.d.ts +1 -1
  735. package/dist/src/domains/spans/span-filters.d.ts +1 -1
  736. package/dist/src/domains/threads/components/threads-filter-bar.d.ts +1 -1
  737. package/dist/src/domains/threads/hooks/use-threads-filter-bar.d.ts +1 -1
  738. package/dist/src/domains/threads/thread-filters.d.ts +1 -1
  739. package/dist/src/domains/traces/components/traces-explorer/traces-explorer-filter-bar.d.ts +3 -3
  740. package/dist/src/domains/traces/components/traces-page-skeleton.d.ts +1 -1
  741. package/dist/src/ds/components/Button/Button.d.ts +15 -0
  742. package/dist/src/ds/components/ClearFiltersButton/clear-filters-button.d.ts +12 -0
  743. package/dist/src/ds/components/ClearFiltersButton/index.d.ts +1 -0
  744. package/dist/src/ds/components/Combobox/combobox-styles.d.ts +0 -1
  745. package/dist/src/ds/components/DateTimeRangePicker/date-time-range-picker.d.ts +12 -11
  746. package/dist/src/ds/components/FilterBar/filter-bar-chip.d.ts +10 -7
  747. package/dist/src/ds/components/FilterBar/filter-bar-time-range.d.ts +19 -0
  748. package/dist/src/ds/components/FilterBar/filter-bar.d.ts +2 -0
  749. package/dist/src/ds/components/FilterBar/index.d.ts +2 -0
  750. package/dist/src/ds/components/FilterBar/use-filter-bar-item-keys.d.ts +23 -0
  751. package/dist/src/ds/components/ListSearch/list-search.d.ts +1 -0
  752. package/dist/src/ds/components/MetricsTable/metrics-table-rows.d.ts +10 -3
  753. package/dist/src/ds/components/MetricsTable/metrics-table.d.ts +1 -1
  754. package/dist/src/ds/primitives/control-icon.d.ts +3 -0
  755. package/dist/src/ds/primitives/control-size.d.ts +1 -0
  756. package/dist/style.css +131 -65
  757. package/dist/{tabbed-container-CFEImJOK.cjs → tabbed-container-B4lCBgRP.cjs} +6 -6
  758. package/dist/{tabbed-container-CFEImJOK.cjs.map → tabbed-container-B4lCBgRP.cjs.map} +1 -1
  759. package/dist/{tabbed-container-BKUqfEKy.js → tabbed-container-DI1GI1Qv.js} +6 -6
  760. package/dist/{tabbed-container-BKUqfEKy.js.map → tabbed-container-DI1GI1Qv.js.map} +1 -1
  761. package/dist/{tabs-content-DgR3Hik1.cjs → tabs-content-CmXe5ML0.cjs} +2 -2
  762. package/dist/{tabs-content-DgR3Hik1.cjs.map → tabs-content-CmXe5ML0.cjs.map} +1 -1
  763. package/dist/{tabs-content-cpV6A9c3.js → tabs-content-D__B9hd-.js} +2 -2
  764. package/dist/{tabs-content-cpV6A9c3.js.map → tabs-content-D__B9hd-.js.map} +1 -1
  765. package/dist/{tabs-tab-UT1JliwK.js → tabs-tab-CYTZevdV.js} +2 -2
  766. package/dist/{tabs-tab-UT1JliwK.js.map → tabs-tab-CYTZevdV.js.map} +1 -1
  767. package/dist/{tabs-tab-Qp3RJ17z.cjs → tabs-tab-DGwfHVDr.cjs} +2 -2
  768. package/dist/{tabs-tab-Qp3RJ17z.cjs.map → tabs-tab-DGwfHVDr.cjs.map} +1 -1
  769. package/dist/{toast-api-WhxnAT9F.js → toast-api-D_rrRhNG.js} +2 -2
  770. package/dist/{toast-api-WhxnAT9F.js.map → toast-api-D_rrRhNG.js.map} +1 -1
  771. package/dist/{toast-api-Bv87KHu_.cjs → toast-api-qtkOucy2.cjs} +2 -2
  772. package/dist/{toast-api-Bv87KHu_.cjs.map → toast-api-qtkOucy2.cjs.map} +1 -1
  773. package/dist/{tool-approval-Dfi0uAKU.cjs → tool-approval-1qiB4hhG.cjs} +4 -4
  774. package/dist/{tool-approval-Dfi0uAKU.cjs.map → tool-approval-1qiB4hhG.cjs.map} +1 -1
  775. package/dist/{tool-approval-DHeCkWHT.js → tool-approval-B6MFcaKV.js} +4 -4
  776. package/dist/{tool-approval-DHeCkWHT.js.map → tool-approval-B6MFcaKV.js.map} +1 -1
  777. package/dist/{tool-call-BCsDhIhs.cjs → tool-call-Bu66PkD-.cjs} +3 -3
  778. package/dist/{tool-call-BCsDhIhs.cjs.map → tool-call-Bu66PkD-.cjs.map} +1 -1
  779. package/dist/{tool-call-CILZa3tn.js → tool-call-Ch9-jjXU.js} +3 -3
  780. package/dist/{tool-call-CILZa3tn.js.map → tool-call-Ch9-jjXU.js.map} +1 -1
  781. package/dist/{tool-card-CJ7Kxi-U.cjs → tool-card-DrqPZfPQ.cjs} +4 -4
  782. package/dist/{tool-card-CJ7Kxi-U.cjs.map → tool-card-DrqPZfPQ.cjs.map} +1 -1
  783. package/dist/{tool-card-C3sDFUWc.js → tool-card-sO6P2Qj4.js} +4 -4
  784. package/dist/{tool-card-C3sDFUWc.js.map → tool-card-sO6P2Qj4.js.map} +1 -1
  785. package/dist/{trace-filters-BJaebsxJ.js → trace-filters-CaWkw779.js} +2 -3
  786. package/dist/trace-filters-CaWkw779.js.map +1 -0
  787. package/dist/{trace-filters-BNEZ31HX.cjs → trace-filters-a0N9bf52.cjs} +1 -2
  788. package/dist/trace-filters-a0N9bf52.cjs.map +1 -0
  789. package/dist/{use-workflow-graph-runtime-deTN_q_G.js → use-workflow-graph-runtime-BKNhOKsH.js} +3 -3
  790. package/dist/{use-workflow-graph-runtime-deTN_q_G.js.map → use-workflow-graph-runtime-BKNhOKsH.js.map} +1 -1
  791. package/dist/{use-workflow-graph-runtime-DkwQjMEV.cjs → use-workflow-graph-runtime-DYao-08R.cjs} +3 -3
  792. package/dist/{use-workflow-graph-runtime-DkwQjMEV.cjs.map → use-workflow-graph-runtime-DYao-08R.cjs.map} +1 -1
  793. package/dist/utils/toast.cjs.js +1 -1
  794. package/dist/utils/toast.es.js +1 -1
  795. package/oxlint/index.js +90 -0
  796. package/package.json +9 -9
  797. package/theme.css +5 -0
  798. package/dist/ActionRow-BfK77pCT.cjs.map +0 -1
  799. package/dist/ActionRow-Cd6tOC2K.js.map +0 -1
  800. package/dist/Button-Bw1e3ONi.js.map +0 -1
  801. package/dist/Button-YQRflC47.cjs.map +0 -1
  802. package/dist/DataCodeSection-CZRPsStI.cjs.map +0 -1
  803. package/dist/DataCodeSection-Ckd47p_S.js.map +0 -1
  804. package/dist/DateTimeRangePicker-C_Lie_2P.js.map +0 -1
  805. package/dist/DateTimeRangePicker-HmPOHwAQ.cjs.map +0 -1
  806. package/dist/FilterBar--4oguuVe.js.map +0 -1
  807. package/dist/FilterBar-BUd4f7oi.cjs.map +0 -1
  808. package/dist/MetricsTable-CRPeLHe1.js.map +0 -1
  809. package/dist/MetricsTable-D-aZf3dk.cjs.map +0 -1
  810. package/dist/ask-user-BdjH9F7G.js.map +0 -1
  811. package/dist/ask-user-C82m_G9W.cjs.map +0 -1
  812. package/dist/combobox-8kNAJFlj.cjs.map +0 -1
  813. package/dist/combobox-parts-BZVXwbG7.cjs.map +0 -1
  814. package/dist/combobox-parts-W7KRQUsV.js.map +0 -1
  815. package/dist/components/ButtonsGroup.cjs.js.map +0 -1
  816. package/dist/components/ButtonsGroup.es.js.map +0 -1
  817. package/dist/domains/traces/components/trace-time-range-chip.cjs.js +0 -90
  818. package/dist/domains/traces/components/trace-time-range-chip.cjs.js.map +0 -1
  819. package/dist/domains/traces/components/trace-time-range-chip.d.ts +0 -1
  820. package/dist/domains/traces/components/trace-time-range-chip.es.js +0 -86
  821. package/dist/domains/traces/components/trace-time-range-chip.es.js.map +0 -1
  822. package/dist/filter-bar-chip-7O02P9Vk.js.map +0 -1
  823. package/dist/filter-bar-chip-BUyMf8XQ.cjs.map +0 -1
  824. package/dist/input-group-g85FYfze.js.map +0 -1
  825. package/dist/input-group-uDpFNnSW.cjs.map +0 -1
  826. package/dist/list-search-BEJmYa9a.cjs.map +0 -1
  827. package/dist/list-search-bg7WzULj.js.map +0 -1
  828. package/dist/observability-saved-views-BNU3GkK6.cjs.map +0 -1
  829. package/dist/observability-saved-views-Zlz74syw.js.map +0 -1
  830. package/dist/property-filter-applied-DRglaEj-.js.map +0 -1
  831. package/dist/property-filter-applied-DqsPFbYM.cjs.map +0 -1
  832. package/dist/select-BbFpEBAY.js.map +0 -1
  833. package/dist/select-NySY9Men.cjs.map +0 -1
  834. package/dist/src/domains/traces/components/trace-time-range-chip.d.ts +0 -22
  835. package/dist/trace-filters-BJaebsxJ.js.map +0 -1
  836. package/dist/trace-filters-BNEZ31HX.cjs.map +0 -1
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_trace_filters = require("../../trace-filters-BNEZ31HX.cjs");
2
+ const require_trace_filters = require("../../trace-filters-a0N9bf52.cjs");
3
3
  const require_domains_traces_components_traces_explorer_traces_explorer_actions = require("../traces/components/traces-explorer/traces-explorer-actions.cjs.js");
4
4
  const require_sort_use_url_sort = require("../../sort/use-url-sort.cjs.js");
5
5
  // src/domains/observability/observability-list-url-state.ts
@@ -1,4 +1,4 @@
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";
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-CaWkw779.js";
2
2
  import { DEFAULT_TRACES_FILTERS } from "../traces/components/traces-explorer/traces-explorer-actions.es.js";
3
3
  import { SORT_KEY_PARAM, readUrlSort } from "../../sort/use-url-sort.es.js";
4
4
  // src/domains/observability/observability-list-url-state.ts
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_trace_filters = require("../../trace-filters-BNEZ31HX.cjs");
2
+ const require_trace_filters = require("../../trace-filters-a0N9bf52.cjs");
3
3
  const require_domains_traces_components_traces_explorer_traces_explorer_actions = require("../traces/components/traces-explorer/traces-explorer-actions.cjs.js");
4
4
  const require_sort_use_url_sort = require("../../sort/use-url-sort.cjs.js");
5
5
  const require_domains_observability_observability_list_url_state = require("./observability-list-url-state.cjs.js");
@@ -1,4 +1,4 @@
1
- import { A as TRACE_TAGS_OPERATORS, B as getTraceFilterGroups, D as TRACE_STRING_OPERATORS, I as createTraceFilterBarFields, M as applyTracePropertyFilterTokens, O as TRACE_SYNTHETIC_FILTER_FIELD_IDS, V as getTracePropertyFilterTokens, W as isTraceMetadataFieldId, a as TRACE_DATE_FROM_PARAM, b as TRACE_PROPERTY_FILTER_FIELD_IDS, c as TRACE_DATE_TO_PARAM, dt as isTraceFilterOperatorId, h as TRACE_LIST_MODE_VALUES, m as TRACE_LIST_MODE_PARAM, o as TRACE_DATE_PRESET_PARAM, s as TRACE_DATE_PRESET_VALUES, ut as isTraceFilterGroup } from "../../trace-filters-BJaebsxJ.js";
1
+ import { A as TRACE_TAGS_OPERATORS, B as getTraceFilterGroups, D as TRACE_STRING_OPERATORS, I as createTraceFilterBarFields, M as applyTracePropertyFilterTokens, O as TRACE_SYNTHETIC_FILTER_FIELD_IDS, V as getTracePropertyFilterTokens, W as isTraceMetadataFieldId, a as TRACE_DATE_FROM_PARAM, b as TRACE_PROPERTY_FILTER_FIELD_IDS, c as TRACE_DATE_TO_PARAM, dt as isTraceFilterOperatorId, h as TRACE_LIST_MODE_VALUES, m as TRACE_LIST_MODE_PARAM, o as TRACE_DATE_PRESET_PARAM, s as TRACE_DATE_PRESET_VALUES, ut as isTraceFilterGroup } from "../../trace-filters-CaWkw779.js";
2
2
  import { DEFAULT_TRACES_FILTERS, TRACES_SORT_FIELDS } from "../traces/components/traces-explorer/traces-explorer-actions.es.js";
3
3
  import { SORT_KEY_PARAM, readUrlSort } from "../../sort/use-url-sort.es.js";
4
4
  import { OBSERVABILITY_LIST_DEFAULT_DATE_PRESET, OBSERVABILITY_LIST_SORT_FIELDS, SPAN_LIST_SORT_FIELDS, readObservabilityListFilters, writeObservabilityListFilters } from "./observability-list-url-state.es.js";
@@ -1,3 +1,3 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_observability_saved_views = require("../../../observability-saved-views-BNU3GkK6.cjs");
2
+ const require_observability_saved_views = require("../../../observability-saved-views-Daizz4tU.cjs");
3
3
  exports.ObservabilitySavedViews = require_observability_saved_views.ObservabilitySavedViews;
@@ -1 +1 @@
1
- export { t as ObservabilitySavedViews } from "../../../observability-saved-views-Zlz74syw.js";
1
+ export { t as ObservabilitySavedViews } from "../../../observability-saved-views-CjKTEp1V.js";
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_domains_observability_saved_views_saved_views_source = require("./saved-views/saved-views-source.cjs.js");
3
- const require_observability_saved_views = require("../../observability-saved-views-BNU3GkK6.cjs");
3
+ const require_observability_saved_views = require("../../observability-saved-views-Daizz4tU.cjs");
4
4
  const require_domains_observability_saved_views_saved_views_provider = require("./saved-views/saved-views-provider.cjs.js");
5
5
  exports.ObservabilitySavedViews = require_observability_saved_views.ObservabilitySavedViews;
6
6
  exports.SavedViewNameTakenError = require_domains_observability_saved_views_saved_views_source.SavedViewNameTakenError;
@@ -1,4 +1,4 @@
1
1
  import { SavedViewNameTakenError } from "./saved-views/saved-views-source.es.js";
2
- import { t as ObservabilitySavedViews } from "../../observability-saved-views-Zlz74syw.js";
2
+ import { t as ObservabilitySavedViews } from "../../observability-saved-views-CjKTEp1V.js";
3
3
  import { SavedViewsProvider } from "./saved-views/saved-views-provider.es.js";
4
4
  export { ObservabilitySavedViews, SavedViewNameTakenError, SavedViewsProvider };
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_domains_observability_saved_views_saved_views_source = require("./observability/saved-views/saved-views-source.cjs.js");
3
- const require_observability_saved_views = require("../observability-saved-views-BNU3GkK6.cjs");
3
+ const require_observability_saved_views = require("../observability-saved-views-Daizz4tU.cjs");
4
4
  const require_domains_observability_saved_views_saved_views_provider = require("./observability/saved-views/saved-views-provider.cjs.js");
5
5
  const require_domains_observability_components_observability_capability_gate = require("./observability/components/observability-capability-gate.cjs.js");
6
6
  const require_domains_observability_components_observability_list_body = require("./observability/components/observability-list-body.cjs.js");
@@ -1,5 +1,5 @@
1
1
  import { SavedViewNameTakenError } from "./observability/saved-views/saved-views-source.es.js";
2
- import { t as ObservabilitySavedViews } from "../observability-saved-views-Zlz74syw.js";
2
+ import { t as ObservabilitySavedViews } from "../observability-saved-views-CjKTEp1V.js";
3
3
  import { SavedViewsProvider } from "./observability/saved-views/saved-views-provider.es.js";
4
4
  import { ObservabilityCapabilityGate } from "./observability/components/observability-capability-gate.es.js";
5
5
  import { ObservabilityListBody } from "./observability/components/observability-list-body.es.js";
@@ -2,9 +2,9 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_lib_framework = require("../../../lib/framework.cjs.js");
3
3
  const require_utils = require("../../../utils-uDc1ofX1.cjs");
4
4
  const require_utils_date_format = require("../../../utils/date-format.cjs.js");
5
- const require_Button = require("../../../Button-YQRflC47.cjs");
5
+ const require_Button = require("../../../Button-DLcMcuUL.cjs");
6
6
  const require_Txt = require("../../../Txt-BnoSqxKE.cjs");
7
- const require_DataPanel = require("../../../DataPanel-C0Ll76Ne.cjs");
7
+ const require_DataPanel = require("../../../DataPanel-Coc9h35I.cjs");
8
8
  const require_DataKeysAndValues = require("../../../DataKeysAndValues-DsH6AbAo.cjs");
9
9
  const require_domains_scores_components_score_as_item_dialog = require("./score-as-item-dialog.cjs.js");
10
10
  let react = require("react");
@@ -1,9 +1,9 @@
1
1
  import { useLinkComponent } from "../../../lib/framework.es.js";
2
2
  import { t as cn } from "../../../utils-DQx8TpNT.js";
3
3
  import { formatTimestampPrecise } from "../../../utils/date-format.es.js";
4
- import { t as Button } from "../../../Button-Bw1e3ONi.js";
4
+ import { t as Button } from "../../../Button-CLXTbAY8.js";
5
5
  import { t as Txt } from "../../../Txt-BM6TVV_c.js";
6
- import { t as DataPanel } from "../../../DataPanel-CY1W5LHJ.js";
6
+ import { t as DataPanel } from "../../../DataPanel-IgB9D5PO.js";
7
7
  import { t as DataKeysAndValues } from "../../../DataKeysAndValues-PwOmGxyp.js";
8
8
  import { ScoreAsItemDialog } from "./score-as-item-dialog.es.js";
9
9
  import { useState } from "react";
@@ -1,8 +1,8 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_toast_api = require("../../../toast-api-Bv87KHu_.cjs");
3
- const require_Dialog = require("../../../Dialog-CjaiCrkv.cjs");
4
- const require_Notice = require("../../../Notice-DWNeCe-t.cjs");
5
- const require_combobox = require("../../../combobox-8kNAJFlj.cjs");
2
+ const require_toast_api = require("../../../toast-api-qtkOucy2.cjs");
3
+ const require_Dialog = require("../../../Dialog-BvWF9HE-.cjs");
4
+ const require_Notice = require("../../../Notice-JZ7SW7q6.cjs");
5
+ const require_combobox = require("../../../combobox-DIT_6xiG.cjs");
6
6
  const require_components_Text = require("../../../components/Text.cjs.js");
7
7
  let react = require("react");
8
8
  let react_jsx_runtime = require("react/jsx-runtime");
@@ -45,8 +45,8 @@ function SpanScoring({ traceId, spanId, entityType, isTopLevelSpan, scorers, isL
45
45
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Dialog.DialogDescription, { children: "Select a scorer to evaluate this trace." }),
46
46
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_combobox.Combobox, {
47
47
  "aria-label": "Select scorer",
48
- searchPlaceholder: "Search scorers...",
49
- placeholder: "Select a scorer...",
48
+ searchPlaceholder: "Search scorers",
49
+ placeholder: "Select a scorer",
50
50
  options: scorerList.map((scorer) => ({
51
51
  label: scorer.name || scorer.id,
52
52
  value: scorer.id || scorer.name || ""
@@ -1 +1 @@
1
- {"version":3,"file":"span-scoring.cjs.js","names":["useState","useTriggerScorer","_Fragment","DialogBody","Notice","DialogFooter","DialogCancel","DialogDescription","Combobox","TextAndIcon","InfoIcon","DialogAction"],"sources":["../../../../src/domains/scores/components/span-scoring.tsx"],"sourcesContent":["import type { GetScorerResponse } from '@mastra/client-js';\nimport { useTriggerScorer } from '@mastra/react/hooks/scores';\nimport { InfoIcon } from 'lucide-react';\nimport { useState } from 'react';\nimport { Combobox } from '@/ds/components/Combobox';\nimport { DialogAction, DialogBody, DialogCancel, DialogDescription, DialogFooter } from '@/ds/components/Dialog';\nimport { Notice } from '@/ds/components/Notice';\nimport { TextAndIcon } from '@/ds/components/Text';\nimport { toast } from '@/utils/toast';\n\nexport interface SpanScoringProps {\n traceId?: string;\n spanId?: string;\n entityType?: string;\n isTopLevelSpan?: boolean;\n scorers?: Record<string, GetScorerResponse>;\n isLoadingScorers?: boolean;\n onSuccess?: () => void;\n}\n\nexport function SpanScoring({\n traceId,\n spanId,\n entityType,\n isTopLevelSpan,\n scorers,\n isLoadingScorers,\n onSuccess,\n}: SpanScoringProps) {\n const [selectedScorer, setSelectedScorer] = useState<string | null>(null);\n const { mutate: triggerScorer, isPending } = useTriggerScorer();\n\n let scorerList = Object.entries(scorers || {}).flatMap(([key, scorer]) =>\n scorer\n ? [\n {\n id: key,\n name: scorer.scorer.config.name,\n description: scorer.scorer.config.description,\n isRegistered: scorer.isRegistered,\n type: scorer.scorer.config.type,\n },\n ]\n : [],\n );\n scorerList = scorerList.filter(scorer => scorer.isRegistered);\n\n // Filter out Scorers with type agent if we are not scoring on a top level agent generated span\n if (entityType !== 'Agent' || !isTopLevelSpan) {\n scorerList = scorerList.filter(scorer => scorer.type !== 'agent');\n }\n\n const isWaiting = isPending || isLoadingScorers;\n\n const handleStartScoring = () => {\n if (selectedScorer && traceId) {\n triggerScorer(\n { scorerName: selectedScorer, traceId, spanId },\n {\n onSuccess: () => {\n toast.info('Scorer triggered', {\n description: 'Results will appear once scoring completes.',\n });\n onSuccess?.();\n },\n },\n );\n }\n };\n\n const selectedScorerDescription = scorerList.find(s => s.id === selectedScorer)?.description || '';\n\n if (scorers === undefined && !isLoadingScorers) {\n return (\n <>\n <DialogBody>\n <Notice variant=\"destructive\">Failed to load scorers.</Notice>\n </DialogBody>\n <DialogFooter>\n <DialogCancel>Cancel</DialogCancel>\n </DialogFooter>\n </>\n );\n }\n\n if (!isLoadingScorers && scorerList.length === 0) {\n return (\n <>\n <DialogBody>\n <Notice variant=\"info\">No eligible scorers have been defined to run.</Notice>\n </DialogBody>\n <DialogFooter>\n <DialogCancel>Cancel</DialogCancel>\n </DialogFooter>\n </>\n );\n }\n\n return (\n <>\n <DialogBody>\n <DialogDescription>Select a scorer to evaluate this trace.</DialogDescription>\n <Combobox\n aria-label=\"Select scorer\"\n searchPlaceholder=\"Search scorers...\"\n placeholder=\"Select a scorer...\"\n options={scorerList.map(scorer => ({\n label: scorer.name || scorer.id,\n value: scorer.id || scorer.name || '',\n }))}\n onValueChange={setSelectedScorer}\n value={selectedScorer || ''}\n className=\"w-full\"\n disabled={isWaiting}\n />\n {selectedScorerDescription && (\n <TextAndIcon>\n <InfoIcon /> {selectedScorerDescription}\n </TextAndIcon>\n )}\n </DialogBody>\n <DialogFooter>\n <DialogCancel disabled={isPending}>Cancel</DialogCancel>\n <DialogAction disabled={!selectedScorer || isWaiting} onConfirm={handleStartScoring}>\n {isPending ? 'Starting...' : 'Start scoring'}\n </DialogAction>\n </DialogFooter>\n </>\n );\n}\n"],"mappings":";;;;;;;;;;;AAoBA,SAAgB,YAAY,EAC1B,SACA,QACA,YACA,gBACA,SACA,kBACA,aACmB;CACnB,MAAM,CAAC,gBAAgB,sBAAA,GAAqBA,MAAAA,SAAAA,CAAwB,IAAI;CACxE,MAAM,EAAE,QAAQ,eAAe,eAAA,GAAcC,2BAAAA,iBAAAA,CAAiB;CAE9D,IAAI,aAAa,OAAO,QAAQ,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,YAC5D,SACI,CACE;EACE,IAAI;EACJ,MAAM,OAAO,OAAO,OAAO;EAC3B,aAAa,OAAO,OAAO,OAAO;EAClC,cAAc,OAAO;EACrB,MAAM,OAAO,OAAO,OAAO;CAC7B,CACF,IACA,CAAC,CACP;CACA,aAAa,WAAW,QAAO,WAAU,OAAO,YAAY;CAG5D,IAAI,eAAe,WAAW,CAAC,gBAC7B,aAAa,WAAW,QAAO,WAAU,OAAO,SAAS,OAAO;CAGlE,MAAM,YAAY,aAAa;CAE/B,MAAM,2BAA2B;EAC/B,IAAI,kBAAkB,SACpB,cACE;GAAE,YAAY;GAAgB;GAAS;EAAO,GAC9C,EACE,iBAAiB;GACf,kBAAA,MAAM,KAAK,oBAAoB,EAC7B,aAAa,8CACf,CAAC;GACD,YAAY;EACd,EACF,CACF;CAEJ;CAEA,MAAM,4BAA4B,WAAW,MAAK,MAAK,EAAE,OAAO,cAAc,CAAC,EAAE,eAAe;CAEhG,IAAI,YAAY,KAAA,KAAa,CAAC,kBAC5B,OACE,iBAAA,GAAA,kBAAA,KAAA,CAAAC,kBAAAA,UAAA,EAAA,UAAA,CACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,eAAAA,YAAD,EAAA,UACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,eAAAA,QAAD;EAAQ,SAAQ;EAAc,UAAA;CAA+B,CAAA,EACnD,CAAA,GACZ,iBAAA,GAAA,kBAAA,IAAA,CAACC,eAAAA,cAAD,EAAA,UACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,eAAAA,cAAD,EAAA,UAAc,SAAoB,CAAA,EACtB,CAAA,CACd,EAAA,CAAA;CAIN,IAAI,CAAC,oBAAoB,WAAW,WAAW,GAC7C,OACE,iBAAA,GAAA,kBAAA,KAAA,CAAAJ,kBAAAA,UAAA,EAAA,UAAA,CACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,eAAAA,YAAD,EAAA,UACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,eAAAA,QAAD;EAAQ,SAAQ;EAAO,UAAA;CAAqD,CAAA,EAClE,CAAA,GACZ,iBAAA,GAAA,kBAAA,IAAA,CAACC,eAAAA,cAAD,EAAA,UACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,eAAAA,cAAD,EAAA,UAAc,SAAoB,CAAA,EACtB,CAAA,CACd,EAAA,CAAA;CAIN,OACE,iBAAA,GAAA,kBAAA,KAAA,CAAAJ,kBAAAA,UAAA,EAAA,UAAA,CACE,iBAAA,GAAA,kBAAA,KAAA,CAACC,eAAAA,YAAD,EAAA,UAAA;EACE,iBAAA,GAAA,kBAAA,IAAA,CAACI,eAAAA,mBAAD,EAAA,UAAmB,0CAA0D,CAAA;EAC7E,iBAAA,GAAA,kBAAA,IAAA,CAACC,iBAAAA,UAAD;GACE,cAAW;GACX,mBAAkB;GAClB,aAAY;GACZ,SAAS,WAAW,KAAI,YAAW;IACjC,OAAO,OAAO,QAAQ,OAAO;IAC7B,OAAO,OAAO,MAAM,OAAO,QAAQ;GACrC,EAAE;GACF,eAAe;GACf,OAAO,kBAAkB;GACzB,WAAU;GACV,UAAU;EACX,CAAA;EACA,6BACC,iBAAA,GAAA,kBAAA,KAAA,CAACC,wBAAAA,aAAD,EAAA,UAAA;GACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,aAAAA,UAAD,CAAW,CAAA;GAAC;GAAE;EACH,EAAA,CAAA;CAEL,EAAA,CAAA,GACZ,iBAAA,GAAA,kBAAA,KAAA,CAACL,eAAAA,cAAD,EAAA,UAAA,CACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,eAAAA,cAAD;EAAc,UAAU;EAAW,UAAA;CAAoB,CAAA,GACvD,iBAAA,GAAA,kBAAA,IAAA,CAACK,eAAAA,cAAD;EAAc,UAAU,CAAC,kBAAkB;EAAW,WAAW;EAC9D,UAAA,YAAY,gBAAgB;CACjB,CAAA,CACF,EAAA,CAAA,CACd,EAAA,CAAA;AAEN"}
1
+ {"version":3,"file":"span-scoring.cjs.js","names":["useState","useTriggerScorer","_Fragment","DialogBody","Notice","DialogFooter","DialogCancel","DialogDescription","Combobox","TextAndIcon","InfoIcon","DialogAction"],"sources":["../../../../src/domains/scores/components/span-scoring.tsx"],"sourcesContent":["import type { GetScorerResponse } from '@mastra/client-js';\nimport { useTriggerScorer } from '@mastra/react/hooks/scores';\nimport { InfoIcon } from 'lucide-react';\nimport { useState } from 'react';\nimport { Combobox } from '@/ds/components/Combobox';\nimport { DialogAction, DialogBody, DialogCancel, DialogDescription, DialogFooter } from '@/ds/components/Dialog';\nimport { Notice } from '@/ds/components/Notice';\nimport { TextAndIcon } from '@/ds/components/Text';\nimport { toast } from '@/utils/toast';\n\nexport interface SpanScoringProps {\n traceId?: string;\n spanId?: string;\n entityType?: string;\n isTopLevelSpan?: boolean;\n scorers?: Record<string, GetScorerResponse>;\n isLoadingScorers?: boolean;\n onSuccess?: () => void;\n}\n\nexport function SpanScoring({\n traceId,\n spanId,\n entityType,\n isTopLevelSpan,\n scorers,\n isLoadingScorers,\n onSuccess,\n}: SpanScoringProps) {\n const [selectedScorer, setSelectedScorer] = useState<string | null>(null);\n const { mutate: triggerScorer, isPending } = useTriggerScorer();\n\n let scorerList = Object.entries(scorers || {}).flatMap(([key, scorer]) =>\n scorer\n ? [\n {\n id: key,\n name: scorer.scorer.config.name,\n description: scorer.scorer.config.description,\n isRegistered: scorer.isRegistered,\n type: scorer.scorer.config.type,\n },\n ]\n : [],\n );\n scorerList = scorerList.filter(scorer => scorer.isRegistered);\n\n // Filter out Scorers with type agent if we are not scoring on a top level agent generated span\n if (entityType !== 'Agent' || !isTopLevelSpan) {\n scorerList = scorerList.filter(scorer => scorer.type !== 'agent');\n }\n\n const isWaiting = isPending || isLoadingScorers;\n\n const handleStartScoring = () => {\n if (selectedScorer && traceId) {\n triggerScorer(\n { scorerName: selectedScorer, traceId, spanId },\n {\n onSuccess: () => {\n toast.info('Scorer triggered', {\n description: 'Results will appear once scoring completes.',\n });\n onSuccess?.();\n },\n },\n );\n }\n };\n\n const selectedScorerDescription = scorerList.find(s => s.id === selectedScorer)?.description || '';\n\n if (scorers === undefined && !isLoadingScorers) {\n return (\n <>\n <DialogBody>\n <Notice variant=\"destructive\">Failed to load scorers.</Notice>\n </DialogBody>\n <DialogFooter>\n <DialogCancel>Cancel</DialogCancel>\n </DialogFooter>\n </>\n );\n }\n\n if (!isLoadingScorers && scorerList.length === 0) {\n return (\n <>\n <DialogBody>\n <Notice variant=\"info\">No eligible scorers have been defined to run.</Notice>\n </DialogBody>\n <DialogFooter>\n <DialogCancel>Cancel</DialogCancel>\n </DialogFooter>\n </>\n );\n }\n\n return (\n <>\n <DialogBody>\n <DialogDescription>Select a scorer to evaluate this trace.</DialogDescription>\n <Combobox\n aria-label=\"Select scorer\"\n searchPlaceholder=\"Search scorers\"\n placeholder=\"Select a scorer\"\n options={scorerList.map(scorer => ({\n label: scorer.name || scorer.id,\n value: scorer.id || scorer.name || '',\n }))}\n onValueChange={setSelectedScorer}\n value={selectedScorer || ''}\n className=\"w-full\"\n disabled={isWaiting}\n />\n {selectedScorerDescription && (\n <TextAndIcon>\n <InfoIcon /> {selectedScorerDescription}\n </TextAndIcon>\n )}\n </DialogBody>\n <DialogFooter>\n <DialogCancel disabled={isPending}>Cancel</DialogCancel>\n <DialogAction disabled={!selectedScorer || isWaiting} onConfirm={handleStartScoring}>\n {isPending ? 'Starting...' : 'Start scoring'}\n </DialogAction>\n </DialogFooter>\n </>\n );\n}\n"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { t as toast } from "../../../toast-api-WhxnAT9F.js";
2
- import { n as DialogBody, o as DialogDescription, p as DialogAction, r as DialogCancel, s as DialogFooter } from "../../../Dialog-CKtTR8h3.js";
3
- import { t as Notice } from "../../../Notice-CyKngbbv.js";
4
- import { t as Combobox } from "../../../combobox-wFudhN8F.js";
1
+ import { t as toast } from "../../../toast-api-D_rrRhNG.js";
2
+ import { n as DialogBody, o as DialogDescription, p as DialogAction, r as DialogCancel, s as DialogFooter } from "../../../Dialog-DaWtxwd9.js";
3
+ import { t as Notice } from "../../../Notice-C-8oOZZF.js";
4
+ import { t as Combobox } from "../../../combobox-D21no8t5.js";
5
5
  import { TextAndIcon } from "../../../components/Text.es.js";
6
6
  import { useState } from "react";
7
7
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
@@ -44,8 +44,8 @@ function SpanScoring({ traceId, spanId, entityType, isTopLevelSpan, scorers, isL
44
44
  /* @__PURE__ */ jsx(DialogDescription, { children: "Select a scorer to evaluate this trace." }),
45
45
  /* @__PURE__ */ jsx(Combobox, {
46
46
  "aria-label": "Select scorer",
47
- searchPlaceholder: "Search scorers...",
48
- placeholder: "Select a scorer...",
47
+ searchPlaceholder: "Search scorers",
48
+ placeholder: "Select a scorer",
49
49
  options: scorerList.map((scorer) => ({
50
50
  label: scorer.name || scorer.id,
51
51
  value: scorer.id || scorer.name || ""
@@ -1 +1 @@
1
- {"version":3,"file":"span-scoring.es.js","names":["_Fragment"],"sources":["../../../../src/domains/scores/components/span-scoring.tsx"],"sourcesContent":["import type { GetScorerResponse } from '@mastra/client-js';\nimport { useTriggerScorer } from '@mastra/react/hooks/scores';\nimport { InfoIcon } from 'lucide-react';\nimport { useState } from 'react';\nimport { Combobox } from '@/ds/components/Combobox';\nimport { DialogAction, DialogBody, DialogCancel, DialogDescription, DialogFooter } from '@/ds/components/Dialog';\nimport { Notice } from '@/ds/components/Notice';\nimport { TextAndIcon } from '@/ds/components/Text';\nimport { toast } from '@/utils/toast';\n\nexport interface SpanScoringProps {\n traceId?: string;\n spanId?: string;\n entityType?: string;\n isTopLevelSpan?: boolean;\n scorers?: Record<string, GetScorerResponse>;\n isLoadingScorers?: boolean;\n onSuccess?: () => void;\n}\n\nexport function SpanScoring({\n traceId,\n spanId,\n entityType,\n isTopLevelSpan,\n scorers,\n isLoadingScorers,\n onSuccess,\n}: SpanScoringProps) {\n const [selectedScorer, setSelectedScorer] = useState<string | null>(null);\n const { mutate: triggerScorer, isPending } = useTriggerScorer();\n\n let scorerList = Object.entries(scorers || {}).flatMap(([key, scorer]) =>\n scorer\n ? [\n {\n id: key,\n name: scorer.scorer.config.name,\n description: scorer.scorer.config.description,\n isRegistered: scorer.isRegistered,\n type: scorer.scorer.config.type,\n },\n ]\n : [],\n );\n scorerList = scorerList.filter(scorer => scorer.isRegistered);\n\n // Filter out Scorers with type agent if we are not scoring on a top level agent generated span\n if (entityType !== 'Agent' || !isTopLevelSpan) {\n scorerList = scorerList.filter(scorer => scorer.type !== 'agent');\n }\n\n const isWaiting = isPending || isLoadingScorers;\n\n const handleStartScoring = () => {\n if (selectedScorer && traceId) {\n triggerScorer(\n { scorerName: selectedScorer, traceId, spanId },\n {\n onSuccess: () => {\n toast.info('Scorer triggered', {\n description: 'Results will appear once scoring completes.',\n });\n onSuccess?.();\n },\n },\n );\n }\n };\n\n const selectedScorerDescription = scorerList.find(s => s.id === selectedScorer)?.description || '';\n\n if (scorers === undefined && !isLoadingScorers) {\n return (\n <>\n <DialogBody>\n <Notice variant=\"destructive\">Failed to load scorers.</Notice>\n </DialogBody>\n <DialogFooter>\n <DialogCancel>Cancel</DialogCancel>\n </DialogFooter>\n </>\n );\n }\n\n if (!isLoadingScorers && scorerList.length === 0) {\n return (\n <>\n <DialogBody>\n <Notice variant=\"info\">No eligible scorers have been defined to run.</Notice>\n </DialogBody>\n <DialogFooter>\n <DialogCancel>Cancel</DialogCancel>\n </DialogFooter>\n </>\n );\n }\n\n return (\n <>\n <DialogBody>\n <DialogDescription>Select a scorer to evaluate this trace.</DialogDescription>\n <Combobox\n aria-label=\"Select scorer\"\n searchPlaceholder=\"Search scorers...\"\n placeholder=\"Select a scorer...\"\n options={scorerList.map(scorer => ({\n label: scorer.name || scorer.id,\n value: scorer.id || scorer.name || '',\n }))}\n onValueChange={setSelectedScorer}\n value={selectedScorer || ''}\n className=\"w-full\"\n disabled={isWaiting}\n />\n {selectedScorerDescription && (\n <TextAndIcon>\n <InfoIcon /> {selectedScorerDescription}\n </TextAndIcon>\n )}\n </DialogBody>\n <DialogFooter>\n <DialogCancel disabled={isPending}>Cancel</DialogCancel>\n <DialogAction disabled={!selectedScorer || isWaiting} onConfirm={handleStartScoring}>\n {isPending ? 'Starting...' : 'Start scoring'}\n </DialogAction>\n </DialogFooter>\n </>\n );\n}\n"],"mappings":";;;;;;;;;;AAoBA,SAAgB,YAAY,EAC1B,SACA,QACA,YACA,gBACA,SACA,kBACA,aACmB;CACnB,MAAM,CAAC,gBAAgB,qBAAqB,SAAwB,IAAI;CACxE,MAAM,EAAE,QAAQ,eAAe,cAAc,iBAAiB;CAE9D,IAAI,aAAa,OAAO,QAAQ,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,YAC5D,SACI,CACE;EACE,IAAI;EACJ,MAAM,OAAO,OAAO,OAAO;EAC3B,aAAa,OAAO,OAAO,OAAO;EAClC,cAAc,OAAO;EACrB,MAAM,OAAO,OAAO,OAAO;CAC7B,CACF,IACA,CAAC,CACP;CACA,aAAa,WAAW,QAAO,WAAU,OAAO,YAAY;CAG5D,IAAI,eAAe,WAAW,CAAC,gBAC7B,aAAa,WAAW,QAAO,WAAU,OAAO,SAAS,OAAO;CAGlE,MAAM,YAAY,aAAa;CAE/B,MAAM,2BAA2B;EAC/B,IAAI,kBAAkB,SACpB,cACE;GAAE,YAAY;GAAgB;GAAS;EAAO,GAC9C,EACE,iBAAiB;GACf,MAAM,KAAK,oBAAoB,EAC7B,aAAa,8CACf,CAAC;GACD,YAAY;EACd,EACF,CACF;CAEJ;CAEA,MAAM,4BAA4B,WAAW,MAAK,MAAK,EAAE,OAAO,cAAc,CAAC,EAAE,eAAe;CAEhG,IAAI,YAAY,KAAA,KAAa,CAAC,kBAC5B,OACE,qBAAAA,YAAA,EAAA,UAAA,CACE,oBAAC,YAAD,EAAA,UACE,oBAAC,QAAD;EAAQ,SAAQ;EAAc,UAAA;CAA+B,CAAA,EACnD,CAAA,GACZ,oBAAC,cAAD,EAAA,UACE,oBAAC,cAAD,EAAA,UAAc,SAAoB,CAAA,EACtB,CAAA,CACd,EAAA,CAAA;CAIN,IAAI,CAAC,oBAAoB,WAAW,WAAW,GAC7C,OACE,qBAAAA,YAAA,EAAA,UAAA,CACE,oBAAC,YAAD,EAAA,UACE,oBAAC,QAAD;EAAQ,SAAQ;EAAO,UAAA;CAAqD,CAAA,EAClE,CAAA,GACZ,oBAAC,cAAD,EAAA,UACE,oBAAC,cAAD,EAAA,UAAc,SAAoB,CAAA,EACtB,CAAA,CACd,EAAA,CAAA;CAIN,OACE,qBAAAA,YAAA,EAAA,UAAA,CACE,qBAAC,YAAD,EAAA,UAAA;EACE,oBAAC,mBAAD,EAAA,UAAmB,0CAA0D,CAAA;EAC7E,oBAAC,UAAD;GACE,cAAW;GACX,mBAAkB;GAClB,aAAY;GACZ,SAAS,WAAW,KAAI,YAAW;IACjC,OAAO,OAAO,QAAQ,OAAO;IAC7B,OAAO,OAAO,MAAM,OAAO,QAAQ;GACrC,EAAE;GACF,eAAe;GACf,OAAO,kBAAkB;GACzB,WAAU;GACV,UAAU;EACX,CAAA;EACA,6BACC,qBAAC,aAAD,EAAA,UAAA;GACE,oBAAC,UAAD,CAAW,CAAA;GAAC;GAAE;EACH,EAAA,CAAA;CAEL,EAAA,CAAA,GACZ,qBAAC,cAAD,EAAA,UAAA,CACE,oBAAC,cAAD;EAAc,UAAU;EAAW,UAAA;CAAoB,CAAA,GACvD,oBAAC,cAAD;EAAc,UAAU,CAAC,kBAAkB;EAAW,WAAW;EAC9D,UAAA,YAAY,gBAAgB;CACjB,CAAA,CACF,EAAA,CAAA,CACd,EAAA,CAAA;AAEN"}
1
+ {"version":3,"file":"span-scoring.es.js","names":["_Fragment"],"sources":["../../../../src/domains/scores/components/span-scoring.tsx"],"sourcesContent":["import type { GetScorerResponse } from '@mastra/client-js';\nimport { useTriggerScorer } from '@mastra/react/hooks/scores';\nimport { InfoIcon } from 'lucide-react';\nimport { useState } from 'react';\nimport { Combobox } from '@/ds/components/Combobox';\nimport { DialogAction, DialogBody, DialogCancel, DialogDescription, DialogFooter } from '@/ds/components/Dialog';\nimport { Notice } from '@/ds/components/Notice';\nimport { TextAndIcon } from '@/ds/components/Text';\nimport { toast } from '@/utils/toast';\n\nexport interface SpanScoringProps {\n traceId?: string;\n spanId?: string;\n entityType?: string;\n isTopLevelSpan?: boolean;\n scorers?: Record<string, GetScorerResponse>;\n isLoadingScorers?: boolean;\n onSuccess?: () => void;\n}\n\nexport function SpanScoring({\n traceId,\n spanId,\n entityType,\n isTopLevelSpan,\n scorers,\n isLoadingScorers,\n onSuccess,\n}: SpanScoringProps) {\n const [selectedScorer, setSelectedScorer] = useState<string | null>(null);\n const { mutate: triggerScorer, isPending } = useTriggerScorer();\n\n let scorerList = Object.entries(scorers || {}).flatMap(([key, scorer]) =>\n scorer\n ? [\n {\n id: key,\n name: scorer.scorer.config.name,\n description: scorer.scorer.config.description,\n isRegistered: scorer.isRegistered,\n type: scorer.scorer.config.type,\n },\n ]\n : [],\n );\n scorerList = scorerList.filter(scorer => scorer.isRegistered);\n\n // Filter out Scorers with type agent if we are not scoring on a top level agent generated span\n if (entityType !== 'Agent' || !isTopLevelSpan) {\n scorerList = scorerList.filter(scorer => scorer.type !== 'agent');\n }\n\n const isWaiting = isPending || isLoadingScorers;\n\n const handleStartScoring = () => {\n if (selectedScorer && traceId) {\n triggerScorer(\n { scorerName: selectedScorer, traceId, spanId },\n {\n onSuccess: () => {\n toast.info('Scorer triggered', {\n description: 'Results will appear once scoring completes.',\n });\n onSuccess?.();\n },\n },\n );\n }\n };\n\n const selectedScorerDescription = scorerList.find(s => s.id === selectedScorer)?.description || '';\n\n if (scorers === undefined && !isLoadingScorers) {\n return (\n <>\n <DialogBody>\n <Notice variant=\"destructive\">Failed to load scorers.</Notice>\n </DialogBody>\n <DialogFooter>\n <DialogCancel>Cancel</DialogCancel>\n </DialogFooter>\n </>\n );\n }\n\n if (!isLoadingScorers && scorerList.length === 0) {\n return (\n <>\n <DialogBody>\n <Notice variant=\"info\">No eligible scorers have been defined to run.</Notice>\n </DialogBody>\n <DialogFooter>\n <DialogCancel>Cancel</DialogCancel>\n </DialogFooter>\n </>\n );\n }\n\n return (\n <>\n <DialogBody>\n <DialogDescription>Select a scorer to evaluate this trace.</DialogDescription>\n <Combobox\n aria-label=\"Select scorer\"\n searchPlaceholder=\"Search scorers\"\n placeholder=\"Select a scorer\"\n options={scorerList.map(scorer => ({\n label: scorer.name || scorer.id,\n value: scorer.id || scorer.name || '',\n }))}\n onValueChange={setSelectedScorer}\n value={selectedScorer || ''}\n className=\"w-full\"\n disabled={isWaiting}\n />\n {selectedScorerDescription && (\n <TextAndIcon>\n <InfoIcon /> {selectedScorerDescription}\n </TextAndIcon>\n )}\n </DialogBody>\n <DialogFooter>\n <DialogCancel disabled={isPending}>Cancel</DialogCancel>\n <DialogAction disabled={!selectedScorer || isWaiting} onConfirm={handleStartScoring}>\n {isPending ? 'Starting...' : 'Start scoring'}\n </DialogAction>\n </DialogFooter>\n </>\n );\n}\n"],"mappings":";;;;;;;;;;AAoBA,SAAgB,YAAY,EAC1B,SACA,QACA,YACA,gBACA,SACA,kBACA,aACmB;CACnB,MAAM,CAAC,gBAAgB,qBAAqB,SAAwB,IAAI;CACxE,MAAM,EAAE,QAAQ,eAAe,cAAc,iBAAiB;CAE9D,IAAI,aAAa,OAAO,QAAQ,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,YAC5D,SACI,CACE;EACE,IAAI;EACJ,MAAM,OAAO,OAAO,OAAO;EAC3B,aAAa,OAAO,OAAO,OAAO;EAClC,cAAc,OAAO;EACrB,MAAM,OAAO,OAAO,OAAO;CAC7B,CACF,IACA,CAAC,CACP;CACA,aAAa,WAAW,QAAO,WAAU,OAAO,YAAY;CAG5D,IAAI,eAAe,WAAW,CAAC,gBAC7B,aAAa,WAAW,QAAO,WAAU,OAAO,SAAS,OAAO;CAGlE,MAAM,YAAY,aAAa;CAE/B,MAAM,2BAA2B;EAC/B,IAAI,kBAAkB,SACpB,cACE;GAAE,YAAY;GAAgB;GAAS;EAAO,GAC9C,EACE,iBAAiB;GACf,MAAM,KAAK,oBAAoB,EAC7B,aAAa,8CACf,CAAC;GACD,YAAY;EACd,EACF,CACF;CAEJ;CAEA,MAAM,4BAA4B,WAAW,MAAK,MAAK,EAAE,OAAO,cAAc,CAAC,EAAE,eAAe;CAEhG,IAAI,YAAY,KAAA,KAAa,CAAC,kBAC5B,OACE,qBAAAA,YAAA,EAAA,UAAA,CACE,oBAAC,YAAD,EAAA,UACE,oBAAC,QAAD;EAAQ,SAAQ;EAAc,UAAA;CAA+B,CAAA,EACnD,CAAA,GACZ,oBAAC,cAAD,EAAA,UACE,oBAAC,cAAD,EAAA,UAAc,SAAoB,CAAA,EACtB,CAAA,CACd,EAAA,CAAA;CAIN,IAAI,CAAC,oBAAoB,WAAW,WAAW,GAC7C,OACE,qBAAAA,YAAA,EAAA,UAAA,CACE,oBAAC,YAAD,EAAA,UACE,oBAAC,QAAD;EAAQ,SAAQ;EAAO,UAAA;CAAqD,CAAA,EAClE,CAAA,GACZ,oBAAC,cAAD,EAAA,UACE,oBAAC,cAAD,EAAA,UAAc,SAAoB,CAAA,EACtB,CAAA,CACd,EAAA,CAAA;CAIN,OACE,qBAAAA,YAAA,EAAA,UAAA,CACE,qBAAC,YAAD,EAAA,UAAA;EACE,oBAAC,mBAAD,EAAA,UAAmB,0CAA0D,CAAA;EAC7E,oBAAC,UAAD;GACE,cAAW;GACX,mBAAkB;GAClB,aAAY;GACZ,SAAS,WAAW,KAAI,YAAW;IACjC,OAAO,OAAO,QAAQ,OAAO;IAC7B,OAAO,OAAO,MAAM,OAAO,QAAQ;GACrC,EAAE;GACF,eAAe;GACf,OAAO,kBAAkB;GACzB,WAAU;GACV,UAAU;EACX,CAAA;EACA,6BACC,qBAAC,aAAD,EAAA,UAAA;GACE,oBAAC,UAAD,CAAW,CAAA;GAAC;GAAE;EACH,EAAA,CAAA;CAEL,EAAA,CAAA,GACZ,qBAAC,cAAD,EAAA,UAAA,CACE,oBAAC,cAAD;EAAc,UAAU;EAAW,UAAA;CAAoB,CAAA,GACvD,oBAAC,cAAD;EAAc,UAAU,CAAC,kBAAkB;EAAW,WAAW;EAC9D,UAAA,YAAY,gBAAgB;CACjB,CAAA,CACF,EAAA,CAAA,CACd,EAAA,CAAA;AAEN"}
@@ -1,9 +1,9 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_Txt = require("../../../Txt-BnoSqxKE.cjs");
3
3
  const require_icons_ScorersIcon = require("../../../icons/ScorersIcon.cjs.js");
4
- const require_MarkdownRenderer = require("../../../MarkdownRenderer-CS6u5drO.cjs");
4
+ const require_MarkdownRenderer = require("../../../MarkdownRenderer-CB8Z_CHc.cjs");
5
5
  const require_spinner = require("../../../spinner-C8ZxiA5C.cjs");
6
- const require_data_list = require("../../../data-list-BkimqE_P.cjs");
6
+ const require_data_list = require("../../../data-list-C4Vmq5HA.cjs");
7
7
  const require_components_HoverCard = require("../../../components/HoverCard.cjs.js");
8
8
  let react = require("react");
9
9
  let react_jsx_runtime = require("react/jsx-runtime");
@@ -1,8 +1,8 @@
1
1
  import { t as Txt } from "../../../Txt-BM6TVV_c.js";
2
2
  import { ScorersIcon } from "../../../icons/ScorersIcon.es.js";
3
- import { t as MarkdownRenderer } from "../../../MarkdownRenderer-DME2xKTk.js";
3
+ import { t as MarkdownRenderer } from "../../../MarkdownRenderer-2GOXQJEv.js";
4
4
  import { t as Spinner } from "../../../spinner-CnLgLj9R.js";
5
- import { t as DataList } from "../../../data-list-evmf5xWI.js";
5
+ import { t as DataList } from "../../../data-list-DHCOoLmj.js";
6
6
  import { HoverCard, HoverCardContent, HoverCardTrigger } from "../../../components/HoverCard.es.js";
7
7
  import { Fragment, useState } from "react";
8
8
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -7,7 +7,7 @@ require("../../../primitives/typography.cjs.js");
7
7
  const require_Txt = require("../../../Txt-BnoSqxKE.cjs");
8
8
  const require_EmptyState = require("../../../EmptyState-DxDHlYqD.cjs");
9
9
  const require_spinner = require("../../../spinner-C8ZxiA5C.cjs");
10
- const require_data_list = require("../../../data-list-BkimqE_P.cjs");
10
+ const require_data_list = require("../../../data-list-C4Vmq5HA.cjs");
11
11
  const require_MetricsKpiCard = require("../../../MetricsKpiCard-By_-sagx.cjs");
12
12
  let react = require("react");
13
13
  let react_jsx_runtime = require("react/jsx-runtime");
@@ -6,7 +6,7 @@ import "../../../primitives/typography.es.js";
6
6
  import { t as Txt } from "../../../Txt-BM6TVV_c.js";
7
7
  import { n as EmptyState } from "../../../EmptyState-P-Gy898T.js";
8
8
  import { t as Spinner } from "../../../spinner-CnLgLj9R.js";
9
- import { t as DataList } from "../../../data-list-evmf5xWI.js";
9
+ import { t as DataList } from "../../../data-list-DHCOoLmj.js";
10
10
  import { t as MetricsKpiCard } from "../../../MetricsKpiCard-OHbAElTl.js";
11
11
  import { useState } from "react";
12
12
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
@@ -1,8 +1,8 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_Txt = require("../../Txt-BnoSqxKE.cjs");
3
3
  const require_input = require("../../input-2hRXcZIu.cjs");
4
- const require_MarkdownRenderer = require("../../MarkdownRenderer-CS6u5drO.cjs");
5
- const require_CodeEditor = require("../../CodeEditor-CJ9jC9lu.cjs");
4
+ const require_MarkdownRenderer = require("../../MarkdownRenderer-CB8Z_CHc.cjs");
5
+ const require_CodeEditor = require("../../CodeEditor-CLzs0yVc.cjs");
6
6
  const require_components_Field = require("../../components/Field.cjs.js");
7
7
  let react_jsx_runtime = require("react/jsx-runtime");
8
8
  // src/domains/skills/skill-simple-form.tsx
@@ -44,7 +44,7 @@ function SkillSimpleForm({ name, onNameChange, description, onDescriptionChange,
44
44
  onChange: onInstructionsChange,
45
45
  language: "markdown",
46
46
  editable: true,
47
- placeholder: "You are a helpful assistant that…",
47
+ placeholder: "You are a helpful assistant",
48
48
  showCopyButton: false,
49
49
  className: "size-full"
50
50
  })
@@ -1 +1 @@
1
- {"version":3,"file":"skill-simple-form.cjs.js","names":["Field","FieldLabel","Input","MarkdownRenderer","Txt","CodeEditor"],"sources":["../../../src/domains/skills/skill-simple-form.tsx"],"sourcesContent":["import { CodeEditor } from '@/ds/components/CodeEditor';\nimport { Field, FieldLabel } from '@/ds/components/Field';\nimport { Input } from '@/ds/components/Input';\nimport { MarkdownRenderer } from '@/ds/components/MarkdownRenderer';\nimport { Txt } from '@/ds/components/Txt';\n\nexport interface SkillSimpleFormProps {\n name: string;\n onNameChange: (name: string) => void;\n description: string;\n onDescriptionChange: (description: string) => void;\n instructions: string;\n onInstructionsChange: (instructions: string) => void;\n readOnly?: boolean;\n /** Locks only the name, for skills whose name is their identity. */\n nameReadOnly?: boolean;\n}\n\nexport function SkillSimpleForm({\n name,\n onNameChange,\n description,\n onDescriptionChange,\n instructions,\n onInstructionsChange,\n readOnly,\n nameReadOnly,\n}: SkillSimpleFormProps) {\n return (\n <div className=\"flex h-full flex-col gap-4\">\n <Field disabled={readOnly || nameReadOnly}>\n <FieldLabel>Name</FieldLabel>\n <Input value={name} onChange={e => onNameChange(e.target.value)} placeholder=\"Skill name\" />\n </Field>\n\n <Field disabled={readOnly}>\n <FieldLabel>Description</FieldLabel>\n <Input\n value={description}\n onChange={e => onDescriptionChange(e.target.value)}\n placeholder=\"Brief description of the skill\"\n />\n </Field>\n\n <Field className=\"flex min-h-0 flex-1 flex-col gap-1.5\">\n <FieldLabel>Instructions</FieldLabel>\n\n {readOnly ? (\n <div className=\"min-h-0 flex-1 overflow-y-auto rounded-lg border border-border bg-background p-4\">\n {instructions ? (\n <MarkdownRenderer>{instructions}</MarkdownRenderer>\n ) : (\n <Txt variant=\"caption\" tone=\"muted\" className=\"italic\">\n No instructions provided.\n </Txt>\n )}\n </div>\n ) : (\n <div className=\"flex min-h-0 flex-1 flex-col\">\n <CodeEditor\n data-testid=\"skill-instructions-input\"\n value={instructions}\n onChange={onInstructionsChange}\n language=\"markdown\"\n editable\n placeholder=\"You are a helpful assistant that…\"\n showCopyButton={false}\n className=\"size-full\"\n />\n </div>\n )}\n </Field>\n </div>\n );\n}\n"],"mappings":";;;;;;;;AAkBA,SAAgB,gBAAgB,EAC9B,MACA,cACA,aACA,qBACA,cACA,sBACA,UACA,gBACuB;CACvB,OACE,iBAAA,GAAA,kBAAA,KAAA,CAAC,OAAD;EAAK,WAAU;EAAf,UAAA;GACE,iBAAA,GAAA,kBAAA,KAAA,CAACA,yBAAAA,OAAD;IAAO,UAAU,YAAY;IAA7B,UAAA,CACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,yBAAAA,YAAD,EAAA,UAAY,OAAgB,CAAA,GAC5B,iBAAA,GAAA,kBAAA,IAAA,CAACC,cAAAA,OAAD;KAAO,OAAO;KAAM,WAAU,MAAK,aAAa,EAAE,OAAO,KAAK;KAAG,aAAY;IAAc,CAAA,CACtF;;GAEP,iBAAA,GAAA,kBAAA,KAAA,CAACF,yBAAAA,OAAD;IAAO,UAAU;IAAjB,UAAA,CACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,yBAAAA,YAAD,EAAA,UAAY,cAAuB,CAAA,GACnC,iBAAA,GAAA,kBAAA,IAAA,CAACC,cAAAA,OAAD;KACE,OAAO;KACP,WAAU,MAAK,oBAAoB,EAAE,OAAO,KAAK;KACjD,aAAY;IACb,CAAA,CACI;;GAEP,iBAAA,GAAA,kBAAA,KAAA,CAACF,yBAAAA,OAAD;IAAO,WAAU;IAAjB,UAAA,CACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,yBAAAA,YAAD,EAAA,UAAY,eAAwB,CAAA,GAEnC,WACC,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;KAAK,WAAU;KACZ,UAAA,eACC,iBAAA,GAAA,kBAAA,IAAA,CAACE,yBAAAA,kBAAD,EAAA,UAAmB,aAA+B,CAAA,IAElD,iBAAA,GAAA,kBAAA,IAAA,CAACC,YAAAA,KAAD;MAAK,SAAQ;MAAU,MAAK;MAAQ,WAAU;MAAS,UAAA;KAElD,CAAA;IAEJ,CAAA,IAEL,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;KAAK,WAAU;KACb,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAACC,mBAAAA,YAAD;MACE,eAAY;MACZ,OAAO;MACP,UAAU;MACV,UAAS;MACT,UAAA;MACA,aAAY;MACZ,gBAAgB;MAChB,WAAU;KACX,CAAA;IACE,CAAA,CAEF;;EACJ;;AAET"}
1
+ {"version":3,"file":"skill-simple-form.cjs.js","names":["Field","FieldLabel","Input","MarkdownRenderer","Txt","CodeEditor"],"sources":["../../../src/domains/skills/skill-simple-form.tsx"],"sourcesContent":["import { CodeEditor } from '@/ds/components/CodeEditor';\nimport { Field, FieldLabel } from '@/ds/components/Field';\nimport { Input } from '@/ds/components/Input';\nimport { MarkdownRenderer } from '@/ds/components/MarkdownRenderer';\nimport { Txt } from '@/ds/components/Txt';\n\nexport interface SkillSimpleFormProps {\n name: string;\n onNameChange: (name: string) => void;\n description: string;\n onDescriptionChange: (description: string) => void;\n instructions: string;\n onInstructionsChange: (instructions: string) => void;\n readOnly?: boolean;\n /** Locks only the name, for skills whose name is their identity. */\n nameReadOnly?: boolean;\n}\n\nexport function SkillSimpleForm({\n name,\n onNameChange,\n description,\n onDescriptionChange,\n instructions,\n onInstructionsChange,\n readOnly,\n nameReadOnly,\n}: SkillSimpleFormProps) {\n return (\n <div className=\"flex h-full flex-col gap-4\">\n <Field disabled={readOnly || nameReadOnly}>\n <FieldLabel>Name</FieldLabel>\n <Input value={name} onChange={e => onNameChange(e.target.value)} placeholder=\"Skill name\" />\n </Field>\n\n <Field disabled={readOnly}>\n <FieldLabel>Description</FieldLabel>\n <Input\n value={description}\n onChange={e => onDescriptionChange(e.target.value)}\n placeholder=\"Brief description of the skill\"\n />\n </Field>\n\n <Field className=\"flex min-h-0 flex-1 flex-col gap-1.5\">\n <FieldLabel>Instructions</FieldLabel>\n\n {readOnly ? (\n <div className=\"min-h-0 flex-1 overflow-y-auto rounded-lg border border-border bg-background p-4\">\n {instructions ? (\n <MarkdownRenderer>{instructions}</MarkdownRenderer>\n ) : (\n <Txt variant=\"caption\" tone=\"muted\" className=\"italic\">\n No instructions provided.\n </Txt>\n )}\n </div>\n ) : (\n <div className=\"flex min-h-0 flex-1 flex-col\">\n <CodeEditor\n data-testid=\"skill-instructions-input\"\n value={instructions}\n onChange={onInstructionsChange}\n language=\"markdown\"\n editable\n placeholder=\"You are a helpful assistant\"\n showCopyButton={false}\n className=\"size-full\"\n />\n </div>\n )}\n </Field>\n </div>\n );\n}\n"],"mappings":";;;;;;;;AAkBA,SAAgB,gBAAgB,EAC9B,MACA,cACA,aACA,qBACA,cACA,sBACA,UACA,gBACuB;CACvB,OACE,iBAAA,GAAA,kBAAA,KAAA,CAAC,OAAD;EAAK,WAAU;EAAf,UAAA;GACE,iBAAA,GAAA,kBAAA,KAAA,CAACA,yBAAAA,OAAD;IAAO,UAAU,YAAY;IAA7B,UAAA,CACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,yBAAAA,YAAD,EAAA,UAAY,OAAgB,CAAA,GAC5B,iBAAA,GAAA,kBAAA,IAAA,CAACC,cAAAA,OAAD;KAAO,OAAO;KAAM,WAAU,MAAK,aAAa,EAAE,OAAO,KAAK;KAAG,aAAY;IAAc,CAAA,CACtF;;GAEP,iBAAA,GAAA,kBAAA,KAAA,CAACF,yBAAAA,OAAD;IAAO,UAAU;IAAjB,UAAA,CACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,yBAAAA,YAAD,EAAA,UAAY,cAAuB,CAAA,GACnC,iBAAA,GAAA,kBAAA,IAAA,CAACC,cAAAA,OAAD;KACE,OAAO;KACP,WAAU,MAAK,oBAAoB,EAAE,OAAO,KAAK;KACjD,aAAY;IACb,CAAA,CACI;;GAEP,iBAAA,GAAA,kBAAA,KAAA,CAACF,yBAAAA,OAAD;IAAO,WAAU;IAAjB,UAAA,CACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,yBAAAA,YAAD,EAAA,UAAY,eAAwB,CAAA,GAEnC,WACC,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;KAAK,WAAU;KACZ,UAAA,eACC,iBAAA,GAAA,kBAAA,IAAA,CAACE,yBAAAA,kBAAD,EAAA,UAAmB,aAA+B,CAAA,IAElD,iBAAA,GAAA,kBAAA,IAAA,CAACC,YAAAA,KAAD;MAAK,SAAQ;MAAU,MAAK;MAAQ,WAAU;MAAS,UAAA;KAElD,CAAA;IAEJ,CAAA,IAEL,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;KAAK,WAAU;KACb,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAACC,mBAAAA,YAAD;MACE,eAAY;MACZ,OAAO;MACP,UAAU;MACV,UAAS;MACT,UAAA;MACA,aAAY;MACZ,gBAAgB;MAChB,WAAU;KACX,CAAA;IACE,CAAA,CAEF;;EACJ;;AAET"}
@@ -1,7 +1,7 @@
1
1
  import { t as Txt } from "../../Txt-BM6TVV_c.js";
2
2
  import { t as Input } from "../../input-0l1uzOBZ.js";
3
- import { t as MarkdownRenderer } from "../../MarkdownRenderer-DME2xKTk.js";
4
- import { t as CodeEditor } from "../../CodeEditor-CPVxj7WS.js";
3
+ import { t as MarkdownRenderer } from "../../MarkdownRenderer-2GOXQJEv.js";
4
+ import { t as CodeEditor } from "../../CodeEditor-COnz9c6B.js";
5
5
  import { Field, FieldLabel } from "../../components/Field.es.js";
6
6
  import { jsx, jsxs } from "react/jsx-runtime";
7
7
  // src/domains/skills/skill-simple-form.tsx
@@ -43,7 +43,7 @@ function SkillSimpleForm({ name, onNameChange, description, onDescriptionChange,
43
43
  onChange: onInstructionsChange,
44
44
  language: "markdown",
45
45
  editable: true,
46
- placeholder: "You are a helpful assistant that…",
46
+ placeholder: "You are a helpful assistant",
47
47
  showCopyButton: false,
48
48
  className: "size-full"
49
49
  })
@@ -1 +1 @@
1
- {"version":3,"file":"skill-simple-form.es.js","names":[],"sources":["../../../src/domains/skills/skill-simple-form.tsx"],"sourcesContent":["import { CodeEditor } from '@/ds/components/CodeEditor';\nimport { Field, FieldLabel } from '@/ds/components/Field';\nimport { Input } from '@/ds/components/Input';\nimport { MarkdownRenderer } from '@/ds/components/MarkdownRenderer';\nimport { Txt } from '@/ds/components/Txt';\n\nexport interface SkillSimpleFormProps {\n name: string;\n onNameChange: (name: string) => void;\n description: string;\n onDescriptionChange: (description: string) => void;\n instructions: string;\n onInstructionsChange: (instructions: string) => void;\n readOnly?: boolean;\n /** Locks only the name, for skills whose name is their identity. */\n nameReadOnly?: boolean;\n}\n\nexport function SkillSimpleForm({\n name,\n onNameChange,\n description,\n onDescriptionChange,\n instructions,\n onInstructionsChange,\n readOnly,\n nameReadOnly,\n}: SkillSimpleFormProps) {\n return (\n <div className=\"flex h-full flex-col gap-4\">\n <Field disabled={readOnly || nameReadOnly}>\n <FieldLabel>Name</FieldLabel>\n <Input value={name} onChange={e => onNameChange(e.target.value)} placeholder=\"Skill name\" />\n </Field>\n\n <Field disabled={readOnly}>\n <FieldLabel>Description</FieldLabel>\n <Input\n value={description}\n onChange={e => onDescriptionChange(e.target.value)}\n placeholder=\"Brief description of the skill\"\n />\n </Field>\n\n <Field className=\"flex min-h-0 flex-1 flex-col gap-1.5\">\n <FieldLabel>Instructions</FieldLabel>\n\n {readOnly ? (\n <div className=\"min-h-0 flex-1 overflow-y-auto rounded-lg border border-border bg-background p-4\">\n {instructions ? (\n <MarkdownRenderer>{instructions}</MarkdownRenderer>\n ) : (\n <Txt variant=\"caption\" tone=\"muted\" className=\"italic\">\n No instructions provided.\n </Txt>\n )}\n </div>\n ) : (\n <div className=\"flex min-h-0 flex-1 flex-col\">\n <CodeEditor\n data-testid=\"skill-instructions-input\"\n value={instructions}\n onChange={onInstructionsChange}\n language=\"markdown\"\n editable\n placeholder=\"You are a helpful assistant that…\"\n showCopyButton={false}\n className=\"size-full\"\n />\n </div>\n )}\n </Field>\n </div>\n );\n}\n"],"mappings":";;;;;;;AAkBA,SAAgB,gBAAgB,EAC9B,MACA,cACA,aACA,qBACA,cACA,sBACA,UACA,gBACuB;CACvB,OACE,qBAAC,OAAD;EAAK,WAAU;EAAf,UAAA;GACE,qBAAC,OAAD;IAAO,UAAU,YAAY;IAA7B,UAAA,CACE,oBAAC,YAAD,EAAA,UAAY,OAAgB,CAAA,GAC5B,oBAAC,OAAD;KAAO,OAAO;KAAM,WAAU,MAAK,aAAa,EAAE,OAAO,KAAK;KAAG,aAAY;IAAc,CAAA,CACtF;;GAEP,qBAAC,OAAD;IAAO,UAAU;IAAjB,UAAA,CACE,oBAAC,YAAD,EAAA,UAAY,cAAuB,CAAA,GACnC,oBAAC,OAAD;KACE,OAAO;KACP,WAAU,MAAK,oBAAoB,EAAE,OAAO,KAAK;KACjD,aAAY;IACb,CAAA,CACI;;GAEP,qBAAC,OAAD;IAAO,WAAU;IAAjB,UAAA,CACE,oBAAC,YAAD,EAAA,UAAY,eAAwB,CAAA,GAEnC,WACC,oBAAC,OAAD;KAAK,WAAU;KACZ,UAAA,eACC,oBAAC,kBAAD,EAAA,UAAmB,aAA+B,CAAA,IAElD,oBAAC,KAAD;MAAK,SAAQ;MAAU,MAAK;MAAQ,WAAU;MAAS,UAAA;KAElD,CAAA;IAEJ,CAAA,IAEL,oBAAC,OAAD;KAAK,WAAU;KACb,UAAA,oBAAC,YAAD;MACE,eAAY;MACZ,OAAO;MACP,UAAU;MACV,UAAS;MACT,UAAA;MACA,aAAY;MACZ,gBAAgB;MAChB,WAAU;KACX,CAAA;IACE,CAAA,CAEF;;EACJ;;AAET"}
1
+ {"version":3,"file":"skill-simple-form.es.js","names":[],"sources":["../../../src/domains/skills/skill-simple-form.tsx"],"sourcesContent":["import { CodeEditor } from '@/ds/components/CodeEditor';\nimport { Field, FieldLabel } from '@/ds/components/Field';\nimport { Input } from '@/ds/components/Input';\nimport { MarkdownRenderer } from '@/ds/components/MarkdownRenderer';\nimport { Txt } from '@/ds/components/Txt';\n\nexport interface SkillSimpleFormProps {\n name: string;\n onNameChange: (name: string) => void;\n description: string;\n onDescriptionChange: (description: string) => void;\n instructions: string;\n onInstructionsChange: (instructions: string) => void;\n readOnly?: boolean;\n /** Locks only the name, for skills whose name is their identity. */\n nameReadOnly?: boolean;\n}\n\nexport function SkillSimpleForm({\n name,\n onNameChange,\n description,\n onDescriptionChange,\n instructions,\n onInstructionsChange,\n readOnly,\n nameReadOnly,\n}: SkillSimpleFormProps) {\n return (\n <div className=\"flex h-full flex-col gap-4\">\n <Field disabled={readOnly || nameReadOnly}>\n <FieldLabel>Name</FieldLabel>\n <Input value={name} onChange={e => onNameChange(e.target.value)} placeholder=\"Skill name\" />\n </Field>\n\n <Field disabled={readOnly}>\n <FieldLabel>Description</FieldLabel>\n <Input\n value={description}\n onChange={e => onDescriptionChange(e.target.value)}\n placeholder=\"Brief description of the skill\"\n />\n </Field>\n\n <Field className=\"flex min-h-0 flex-1 flex-col gap-1.5\">\n <FieldLabel>Instructions</FieldLabel>\n\n {readOnly ? (\n <div className=\"min-h-0 flex-1 overflow-y-auto rounded-lg border border-border bg-background p-4\">\n {instructions ? (\n <MarkdownRenderer>{instructions}</MarkdownRenderer>\n ) : (\n <Txt variant=\"caption\" tone=\"muted\" className=\"italic\">\n No instructions provided.\n </Txt>\n )}\n </div>\n ) : (\n <div className=\"flex min-h-0 flex-1 flex-col\">\n <CodeEditor\n data-testid=\"skill-instructions-input\"\n value={instructions}\n onChange={onInstructionsChange}\n language=\"markdown\"\n editable\n placeholder=\"You are a helpful assistant\"\n showCopyButton={false}\n className=\"size-full\"\n />\n </div>\n )}\n </Field>\n </div>\n );\n}\n"],"mappings":";;;;;;;AAkBA,SAAgB,gBAAgB,EAC9B,MACA,cACA,aACA,qBACA,cACA,sBACA,UACA,gBACuB;CACvB,OACE,qBAAC,OAAD;EAAK,WAAU;EAAf,UAAA;GACE,qBAAC,OAAD;IAAO,UAAU,YAAY;IAA7B,UAAA,CACE,oBAAC,YAAD,EAAA,UAAY,OAAgB,CAAA,GAC5B,oBAAC,OAAD;KAAO,OAAO;KAAM,WAAU,MAAK,aAAa,EAAE,OAAO,KAAK;KAAG,aAAY;IAAc,CAAA,CACtF;;GAEP,qBAAC,OAAD;IAAO,UAAU;IAAjB,UAAA,CACE,oBAAC,YAAD,EAAA,UAAY,cAAuB,CAAA,GACnC,oBAAC,OAAD;KACE,OAAO;KACP,WAAU,MAAK,oBAAoB,EAAE,OAAO,KAAK;KACjD,aAAY;IACb,CAAA,CACI;;GAEP,qBAAC,OAAD;IAAO,WAAU;IAAjB,UAAA,CACE,oBAAC,YAAD,EAAA,UAAY,eAAwB,CAAA,GAEnC,WACC,oBAAC,OAAD;KAAK,WAAU;KACZ,UAAA,eACC,oBAAC,kBAAD,EAAA,UAAmB,aAA+B,CAAA,IAElD,oBAAC,KAAD;MAAK,SAAQ;MAAU,MAAK;MAAQ,WAAU;MAAS,UAAA;KAElD,CAAA;IAEJ,CAAA,IAEL,oBAAC,OAAD;KAAK,WAAU;KACb,UAAA,oBAAC,YAAD;MACE,eAAY;MACZ,OAAO;MACP,UAAU;MACV,UAAS;MACT,UAAA;MACA,aAAY;MACZ,gBAAgB;MAChB,WAAU;KACX,CAAA;IACE,CAAA,CAEF;;EACJ;;AAET"}
@@ -2,7 +2,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_domains_observability_observability_list_url_state = require("../../observability/observability-list-url-state.cjs.js");
3
3
  const require_domains_spans_span_filters = require("../span-filters.cjs.js");
4
4
  const require_domains_traces_trace_list_columns = require("../../traces/trace-list-columns.cjs.js");
5
- const require_observability_saved_views = require("../../../observability-saved-views-BNU3GkK6.cjs");
5
+ const require_observability_saved_views = require("../../../observability-saved-views-Daizz4tU.cjs");
6
6
  const require_domains_observability_components_observability_list_body = require("../../observability/components/observability-list-body.cjs.js");
7
7
  const require_domains_observability_hooks_use_observability_list_filters = require("../../observability/hooks/use-observability-list-filters.cjs.js");
8
8
  const require_domains_spans_hooks_use_spans_list_source = require("../hooks/use-spans-list-source.cjs.js");
@@ -14,7 +14,7 @@ const require_domains_traces_components_no_traces_info = require("../../traces/c
14
14
  const require_domains_traces_components_traces_error_content = require("../../traces/components/traces-error-content.cjs.js");
15
15
  const require_domains_traces_components_traces_list_view = require("../../traces/components/traces-list-view.cjs.js");
16
16
  const require_domains_traces_hooks_use_trace_column_preferences = require("../../traces/hooks/use-trace-column-preferences.cjs.js");
17
- const require_ActionRow = require("../../../ActionRow-BfK77pCT.cjs");
17
+ const require_ActionRow = require("../../../ActionRow-BlC9GAef.cjs");
18
18
  let react = require("react");
19
19
  let react_jsx_runtime = require("react/jsx-runtime");
20
20
  let _mastra_react_hooks_capabilities = require("@mastra/react/hooks/capabilities");
@@ -110,11 +110,7 @@ function SpansExplorerBody({ selection, onSelectionChange, renderPanel, urlState
110
110
  page: "spans",
111
111
  ...urlState,
112
112
  columns
113
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ActionRow.ActionRow, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_ActionRow.ActionRow.Start, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_domains_traces_components_columns_menu_columns_menu.ColumnsMenu, {
114
- scope: "spans",
115
- value: columns.preferences,
116
- onChange: columns.setPreferences
117
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_domains_spans_components_spans_filter_bar.SpansFilterBar, {
113
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_ActionRow.ActionRow, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ActionRow.ActionRow.Start, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_domains_spans_components_spans_filter_bar.SpansFilterBar, {
118
114
  datePreset: filters.datePreset,
119
115
  dateFrom: filters.dateFrom,
120
116
  dateTo: filters.dateTo,
@@ -127,7 +123,11 @@ function SpansExplorerBody({ selection, onSelectionChange, renderPanel, urlState
127
123
  onDateReset: filters.onDateReset,
128
124
  onFiltersChange: filters.onFiltersChange,
129
125
  disabled: isLoading
130
- })] }) })] }),
126
+ }) }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ActionRow.ActionRow.End, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_domains_traces_components_columns_menu_columns_menu.ColumnsMenu, {
127
+ scope: "spans",
128
+ value: columns.preferences,
129
+ onChange: columns.setPreferences
130
+ }) })] })] }),
131
131
  chart: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_domains_spans_components_spans_explorer_histogram.SpansExplorerHistogram, {
132
132
  timeRange,
133
133
  where,
@@ -1 +1 @@
1
- {"version":3,"file":"spans-explorer-body.cjs.js","names":["useObservabilityListFilters","SPAN_LIST_SORT_FIELDS","useTraceColumnPreferences","useObservabilityCapabilities","useMemo","withoutUnrecordedStreamingColumns","hasTraceColumn","buildSpanQueryWhere","useSpansListSource","spanToListRow","_Fragment","ObservabilityListBody","ObservabilitySavedViews","ActionRow","ColumnsMenu","SpansFilterBar","SpansExplorerHistogram","TracesErrorContent","NoTracesInfo","TracesListView"],"sources":["../../../../src/domains/spans/components/spans-explorer-body.tsx"],"sourcesContent":["import type { SpanQueryArgs } from '@mastra/react/hooks/traces';\nimport { useMemo } from 'react';\nimport type { ReactNode } from 'react';\nimport { useSpansListSource } from '../hooks/use-spans-list-source';\nimport { buildSpanQueryWhere } from '../span-filters';\nimport { spanToListRow } from '../span-list-row';\nimport type { SpanSelection } from './span-detail-panel';\nimport { SpansExplorerHistogram } from './spans-explorer-histogram';\nimport { SpansFilterBar } from './spans-filter-bar';\nimport { useObservabilityCapabilities } from '@/domains/capabilities';\nimport { ObservabilityListBody } from '@/domains/observability/components/observability-list-body';\nimport { useObservabilityListFilters } from '@/domains/observability/hooks/use-observability-list-filters';\nimport type { ObservabilityListUrlState } from '@/domains/observability/hooks/use-observability-list-filters';\nimport { SPAN_LIST_SORT_FIELDS } from '@/domains/observability/observability-list-url-state';\nimport { ObservabilitySavedViews } from '@/domains/observability/saved-views';\nimport { ColumnsMenu } from '@/domains/traces/components/columns-menu';\nimport { NoTracesInfo } from '@/domains/traces/components/no-traces-info';\nimport { TracesErrorContent } from '@/domains/traces/components/traces-error-content';\nimport { TracesListView } from '@/domains/traces/components/traces-list-view';\nimport type { TracesListSortField, TracesListViewTrace } from '@/domains/traces/components/traces-list-view';\nimport { useTraceColumnPreferences } from '@/domains/traces/hooks/use-trace-column-preferences';\nimport { hasTraceColumn, withoutUnrecordedStreamingColumns } from '@/domains/traces/trace-list-columns';\nimport { ActionRow } from '@/ds/components/ActionRow';\n\nexport type SpansExplorerPanelArgs = {\n selection: SpanSelection | undefined;\n /** Loaded spans, in list order, for the panel's previous/next buttons. */\n spans: SpanSelection[];\n onSelect: (selection: SpanSelection) => void;\n onClose: () => void;\n};\n\nexport type SpansExplorerBodyProps = {\n /** The open span. The host keeps it (e.g. in the URL) so it survives a reload. */\n selection: SpanSelection | undefined;\n onSelectionChange: (selection: SpanSelection | undefined) => void;\n /** Renders the open span's panel in the host's own side panel or drawer. */\n renderPanel: (args: SpansExplorerPanelArgs) => ReactNode;\n /** The host's search params, so the time range, filters and sort survive a reload. Omitted: kept in memory. */\n urlState?: ObservabilityListUrlState;\n};\n\n/** The spans page body: filter bar, span list and the host's span panel. Router-agnostic. */\nexport function SpansExplorerBody({ selection, onSelectionChange, renderPanel, urlState }: SpansExplorerBodyProps) {\n const filters = useObservabilityListFilters(urlState, { sortFields: SPAN_LIST_SORT_FIELDS });\n const { timeRange, tokens, groups } = filters;\n const columns = useTraceColumnPreferences({ scope: 'spans' });\n\n const { data: capabilities, isLoading: isCapabilitiesLoading } = useObservabilityCapabilities();\n const withContextFields = capabilities?.capabilities.spanQueryContextFields ?? false;\n const withTimeToFirstChunk = capabilities?.capabilities.traceQueryTimeToFirstChunk ?? false;\n const withTimeToFirstToken = capabilities?.capabilities.traceQueryTimeToFirstToken ?? false;\n const withOutcomeFields = capabilities?.capabilities.spanQueryOutcomeFields ?? false;\n const withModelFields = capabilities?.capabilities.spanQueryModelFields ?? false;\n\n // Stored columns the store can't fill stay saved but aren't drawn, so they come back on a store that can.\n const displayedColumns = useMemo(\n () =>\n isCapabilitiesLoading\n ? columns.preferences\n : withoutUnrecordedStreamingColumns(columns.preferences, { withTimeToFirstChunk, withTimeToFirstToken }),\n [columns.preferences, isCapabilitiesLoading, withTimeToFirstChunk, withTimeToFirstToken],\n );\n\n const sortableFields = useMemo(() => {\n const fields: TracesListSortField[] = ['startedAt'];\n if (\n withTimeToFirstChunk &&\n capabilities?.capabilities.traceQueryTimeToFirstChunkSort &&\n hasTraceColumn(displayedColumns, 'timeToFirstChunk')\n ) {\n fields.push('timeToFirstChunkMs');\n }\n if (\n withTimeToFirstToken &&\n capabilities?.capabilities.traceQueryTimeToFirstTokenSort &&\n hasTraceColumn(displayedColumns, 'timeToFirstToken')\n ) {\n fields.push('timeToFirstTokenMs');\n }\n return fields;\n }, [capabilities, withTimeToFirstChunk, withTimeToFirstToken, displayedColumns]);\n\n // A URL sort the store can't run, or on a hidden column, lists newest first without rewriting the URL.\n const sort = sortableFields.includes(filters.sort.field)\n ? filters.sort\n : ({ field: 'startedAt', direction: 'desc' } as const);\n const { field: sortField, direction: sortDirection } = sort;\n\n const where = useMemo(\n () =>\n buildSpanQueryWhere(tokens, groups, {\n withContextFields,\n withOutcomeFields,\n withModelFields,\n withTimeToFirstChunk,\n withTimeToFirstToken,\n }),\n [tokens, groups, withContextFields, withOutcomeFields, withModelFields, withTimeToFirstChunk, withTimeToFirstToken],\n );\n const query = useMemo<SpanQueryArgs>(\n () => ({ timeRange, orderBy: [{ field: sortField, direction: sortDirection }], ...(where ? { where } : {}) }),\n [timeRange, sortField, sortDirection, where],\n );\n\n const { spans, hasNextPage, isFetchingNextPage, setEndOfListElement, isLoading, isError, error } = useSpansListSource(\n {\n query,\n rolling: filters.rolling,\n },\n );\n\n const rows = useMemo(() => (spans ?? []).map(spanToListRow), [spans]);\n const panelSpans = useMemo(\n () => rows.flatMap(row => (row.spanId ? [{ traceId: row.traceId, spanId: row.spanId }] : [])),\n [rows],\n );\n\n // Clicking the open row again closes the panel.\n const handleSpanClick = (row: TracesListViewTrace) => {\n if (!row.spanId) return;\n const isOpen = selection?.traceId === row.traceId && selection.spanId === row.spanId;\n onSelectionChange(isOpen ? undefined : { traceId: row.traceId, spanId: row.spanId });\n };\n\n // Same rule as /traces: an empty window without filters gets the full-page empty state.\n const showEmptyState = !isLoading && !isError && rows.length === 0 && !filters.contentFiltersApplied && !selection;\n\n return (\n <>\n <h1 className=\"sr-only\">Spans</h1>\n <ObservabilityListBody\n toolbar={\n <>\n {urlState && <ObservabilitySavedViews page=\"spans\" {...urlState} columns={columns} />}\n <ActionRow>\n <ActionRow.Start>\n <ColumnsMenu scope=\"spans\" value={columns.preferences} onChange={columns.setPreferences} />\n <SpansFilterBar\n datePreset={filters.datePreset}\n dateFrom={filters.dateFrom}\n dateTo={filters.dateTo}\n timeRange={timeRange}\n tokens={tokens}\n groups={groups}\n onDatePresetChange={filters.onDatePresetChange}\n onDateChange={filters.onDateChange}\n onDateRangeChange={filters.onDateRangeChange}\n onDateReset={filters.onDateReset}\n onFiltersChange={filters.onFiltersChange}\n disabled={isLoading}\n />\n </ActionRow.Start>\n </ActionRow>\n </>\n }\n chart={\n <SpansExplorerHistogram\n timeRange={timeRange}\n where={where}\n onZoom={({ from, to }) => filters.onZoom(from, to)}\n />\n }\n error={\n isError ? <TracesErrorContent error={error} resource=\"spans\" errorTitle=\"Failed to load spans\" /> : undefined\n }\n empty={\n showEmptyState ? (\n <NoTracesInfo\n resource=\"spans\"\n datePreset={filters.datePreset}\n dateFrom={filters.dateFrom}\n dateTo={filters.dateTo}\n />\n ) : undefined\n }\n >\n <TracesListView\n listId=\"all-spans\"\n traces={rows}\n columnPreferences={displayedColumns}\n isLoading={isLoading}\n isFetchingNextPage={isFetchingNextPage}\n hasNextPage={hasNextPage}\n setEndOfListElement={setEndOfListElement}\n filtersApplied={filters.filtersApplied}\n resource=\"spans\"\n isBranchesMode\n sort={sort}\n sortableFields={sortableFields}\n onSortChange={filters.setSort}\n featuredTraceId={selection?.traceId}\n featuredSpanId={selection?.spanId}\n onTraceClick={handleSpanClick}\n />\n </ObservabilityListBody>\n {renderPanel({\n selection,\n spans: panelSpans,\n onSelect: onSelectionChange,\n onClose: () => onSelectionChange(undefined),\n })}\n </>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"spans-explorer-body.cjs.js","names":["useObservabilityListFilters","SPAN_LIST_SORT_FIELDS","useTraceColumnPreferences","useObservabilityCapabilities","useMemo","withoutUnrecordedStreamingColumns","hasTraceColumn","buildSpanQueryWhere","useSpansListSource","spanToListRow","_Fragment","ObservabilityListBody","ObservabilitySavedViews","ActionRow","SpansFilterBar","ColumnsMenu","SpansExplorerHistogram","TracesErrorContent","NoTracesInfo","TracesListView"],"sources":["../../../../src/domains/spans/components/spans-explorer-body.tsx"],"sourcesContent":["import type { SpanQueryArgs } from '@mastra/react/hooks/traces';\nimport { useMemo } from 'react';\nimport type { ReactNode } from 'react';\nimport { useSpansListSource } from '../hooks/use-spans-list-source';\nimport { buildSpanQueryWhere } from '../span-filters';\nimport { spanToListRow } from '../span-list-row';\nimport type { SpanSelection } from './span-detail-panel';\nimport { SpansExplorerHistogram } from './spans-explorer-histogram';\nimport { SpansFilterBar } from './spans-filter-bar';\nimport { useObservabilityCapabilities } from '@/domains/capabilities';\nimport { ObservabilityListBody } from '@/domains/observability/components/observability-list-body';\nimport { useObservabilityListFilters } from '@/domains/observability/hooks/use-observability-list-filters';\nimport type { ObservabilityListUrlState } from '@/domains/observability/hooks/use-observability-list-filters';\nimport { SPAN_LIST_SORT_FIELDS } from '@/domains/observability/observability-list-url-state';\nimport { ObservabilitySavedViews } from '@/domains/observability/saved-views';\nimport { ColumnsMenu } from '@/domains/traces/components/columns-menu';\nimport { NoTracesInfo } from '@/domains/traces/components/no-traces-info';\nimport { TracesErrorContent } from '@/domains/traces/components/traces-error-content';\nimport { TracesListView } from '@/domains/traces/components/traces-list-view';\nimport type { TracesListSortField, TracesListViewTrace } from '@/domains/traces/components/traces-list-view';\nimport { useTraceColumnPreferences } from '@/domains/traces/hooks/use-trace-column-preferences';\nimport { hasTraceColumn, withoutUnrecordedStreamingColumns } from '@/domains/traces/trace-list-columns';\nimport { ActionRow } from '@/ds/components/ActionRow';\n\nexport type SpansExplorerPanelArgs = {\n selection: SpanSelection | undefined;\n /** Loaded spans, in list order, for the panel's previous/next buttons. */\n spans: SpanSelection[];\n onSelect: (selection: SpanSelection) => void;\n onClose: () => void;\n};\n\nexport type SpansExplorerBodyProps = {\n /** The open span. The host keeps it (e.g. in the URL) so it survives a reload. */\n selection: SpanSelection | undefined;\n onSelectionChange: (selection: SpanSelection | undefined) => void;\n /** Renders the open span's panel in the host's own side panel or drawer. */\n renderPanel: (args: SpansExplorerPanelArgs) => ReactNode;\n /** The host's search params, so the time range, filters and sort survive a reload. Omitted: kept in memory. */\n urlState?: ObservabilityListUrlState;\n};\n\n/** The spans page body: filter bar, span list and the host's span panel. Router-agnostic. */\nexport function SpansExplorerBody({ selection, onSelectionChange, renderPanel, urlState }: SpansExplorerBodyProps) {\n const filters = useObservabilityListFilters(urlState, { sortFields: SPAN_LIST_SORT_FIELDS });\n const { timeRange, tokens, groups } = filters;\n const columns = useTraceColumnPreferences({ scope: 'spans' });\n\n const { data: capabilities, isLoading: isCapabilitiesLoading } = useObservabilityCapabilities();\n const withContextFields = capabilities?.capabilities.spanQueryContextFields ?? false;\n const withTimeToFirstChunk = capabilities?.capabilities.traceQueryTimeToFirstChunk ?? false;\n const withTimeToFirstToken = capabilities?.capabilities.traceQueryTimeToFirstToken ?? false;\n const withOutcomeFields = capabilities?.capabilities.spanQueryOutcomeFields ?? false;\n const withModelFields = capabilities?.capabilities.spanQueryModelFields ?? false;\n\n // Stored columns the store can't fill stay saved but aren't drawn, so they come back on a store that can.\n const displayedColumns = useMemo(\n () =>\n isCapabilitiesLoading\n ? columns.preferences\n : withoutUnrecordedStreamingColumns(columns.preferences, { withTimeToFirstChunk, withTimeToFirstToken }),\n [columns.preferences, isCapabilitiesLoading, withTimeToFirstChunk, withTimeToFirstToken],\n );\n\n const sortableFields = useMemo(() => {\n const fields: TracesListSortField[] = ['startedAt'];\n if (\n withTimeToFirstChunk &&\n capabilities?.capabilities.traceQueryTimeToFirstChunkSort &&\n hasTraceColumn(displayedColumns, 'timeToFirstChunk')\n ) {\n fields.push('timeToFirstChunkMs');\n }\n if (\n withTimeToFirstToken &&\n capabilities?.capabilities.traceQueryTimeToFirstTokenSort &&\n hasTraceColumn(displayedColumns, 'timeToFirstToken')\n ) {\n fields.push('timeToFirstTokenMs');\n }\n return fields;\n }, [capabilities, withTimeToFirstChunk, withTimeToFirstToken, displayedColumns]);\n\n // A URL sort the store can't run, or on a hidden column, lists newest first without rewriting the URL.\n const sort = sortableFields.includes(filters.sort.field)\n ? filters.sort\n : ({ field: 'startedAt', direction: 'desc' } as const);\n const { field: sortField, direction: sortDirection } = sort;\n\n const where = useMemo(\n () =>\n buildSpanQueryWhere(tokens, groups, {\n withContextFields,\n withOutcomeFields,\n withModelFields,\n withTimeToFirstChunk,\n withTimeToFirstToken,\n }),\n [tokens, groups, withContextFields, withOutcomeFields, withModelFields, withTimeToFirstChunk, withTimeToFirstToken],\n );\n const query = useMemo<SpanQueryArgs>(\n () => ({ timeRange, orderBy: [{ field: sortField, direction: sortDirection }], ...(where ? { where } : {}) }),\n [timeRange, sortField, sortDirection, where],\n );\n\n const { spans, hasNextPage, isFetchingNextPage, setEndOfListElement, isLoading, isError, error } = useSpansListSource(\n {\n query,\n rolling: filters.rolling,\n },\n );\n\n const rows = useMemo(() => (spans ?? []).map(spanToListRow), [spans]);\n const panelSpans = useMemo(\n () => rows.flatMap(row => (row.spanId ? [{ traceId: row.traceId, spanId: row.spanId }] : [])),\n [rows],\n );\n\n // Clicking the open row again closes the panel.\n const handleSpanClick = (row: TracesListViewTrace) => {\n if (!row.spanId) return;\n const isOpen = selection?.traceId === row.traceId && selection.spanId === row.spanId;\n onSelectionChange(isOpen ? undefined : { traceId: row.traceId, spanId: row.spanId });\n };\n\n // Same rule as /traces: an empty window without filters gets the full-page empty state.\n const showEmptyState = !isLoading && !isError && rows.length === 0 && !filters.contentFiltersApplied && !selection;\n\n return (\n <>\n <h1 className=\"sr-only\">Spans</h1>\n <ObservabilityListBody\n toolbar={\n <>\n {urlState && <ObservabilitySavedViews page=\"spans\" {...urlState} columns={columns} />}\n <ActionRow>\n <ActionRow.Start>\n <SpansFilterBar\n datePreset={filters.datePreset}\n dateFrom={filters.dateFrom}\n dateTo={filters.dateTo}\n timeRange={timeRange}\n tokens={tokens}\n groups={groups}\n onDatePresetChange={filters.onDatePresetChange}\n onDateChange={filters.onDateChange}\n onDateRangeChange={filters.onDateRangeChange}\n onDateReset={filters.onDateReset}\n onFiltersChange={filters.onFiltersChange}\n disabled={isLoading}\n />\n </ActionRow.Start>\n <ActionRow.End>\n <ColumnsMenu scope=\"spans\" value={columns.preferences} onChange={columns.setPreferences} />\n </ActionRow.End>\n </ActionRow>\n </>\n }\n chart={\n <SpansExplorerHistogram\n timeRange={timeRange}\n where={where}\n onZoom={({ from, to }) => filters.onZoom(from, to)}\n />\n }\n error={\n isError ? <TracesErrorContent error={error} resource=\"spans\" errorTitle=\"Failed to load spans\" /> : undefined\n }\n empty={\n showEmptyState ? (\n <NoTracesInfo\n resource=\"spans\"\n datePreset={filters.datePreset}\n dateFrom={filters.dateFrom}\n dateTo={filters.dateTo}\n />\n ) : undefined\n }\n >\n <TracesListView\n listId=\"all-spans\"\n traces={rows}\n columnPreferences={displayedColumns}\n isLoading={isLoading}\n isFetchingNextPage={isFetchingNextPage}\n hasNextPage={hasNextPage}\n setEndOfListElement={setEndOfListElement}\n filtersApplied={filters.filtersApplied}\n resource=\"spans\"\n isBranchesMode\n sort={sort}\n sortableFields={sortableFields}\n onSortChange={filters.setSort}\n featuredTraceId={selection?.traceId}\n featuredSpanId={selection?.spanId}\n onTraceClick={handleSpanClick}\n />\n </ObservabilityListBody>\n {renderPanel({\n selection,\n spans: panelSpans,\n onSelect: onSelectionChange,\n onClose: () => onSelectionChange(undefined),\n })}\n </>\n );\n}\n"],"mappings":"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"}
@@ -2,7 +2,7 @@ import { useObservabilityCapabilities } from "../../capabilities.es.js";
2
2
  import { SPAN_LIST_SORT_FIELDS } from "../../observability/observability-list-url-state.es.js";
3
3
  import { buildSpanQueryWhere } from "../span-filters.es.js";
4
4
  import { hasTraceColumn, withoutUnrecordedStreamingColumns } from "../../traces/trace-list-columns.es.js";
5
- import { t as ObservabilitySavedViews } from "../../../observability-saved-views-Zlz74syw.js";
5
+ import { t as ObservabilitySavedViews } from "../../../observability-saved-views-CjKTEp1V.js";
6
6
  import { ObservabilityListBody } from "../../observability/components/observability-list-body.es.js";
7
7
  import { useObservabilityListFilters } from "../../observability/hooks/use-observability-list-filters.es.js";
8
8
  import { useSpansListSource } from "../hooks/use-spans-list-source.es.js";
@@ -14,7 +14,7 @@ import { NoTracesInfo } from "../../traces/components/no-traces-info.es.js";
14
14
  import { TracesErrorContent } from "../../traces/components/traces-error-content.es.js";
15
15
  import { TracesListView } from "../../traces/components/traces-list-view.es.js";
16
16
  import { useTraceColumnPreferences } from "../../traces/hooks/use-trace-column-preferences.es.js";
17
- import { t as ActionRow } from "../../../ActionRow-Cd6tOC2K.js";
17
+ import { t as ActionRow } from "../../../ActionRow-DCrRCvBq.js";
18
18
  import { useMemo } from "react";
19
19
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
20
20
  // src/domains/spans/components/spans-explorer-body.tsx
@@ -109,11 +109,7 @@ function SpansExplorerBody({ selection, onSelectionChange, renderPanel, urlState
109
109
  page: "spans",
110
110
  ...urlState,
111
111
  columns
112
- }), /* @__PURE__ */ jsx(ActionRow, { children: /* @__PURE__ */ jsxs(ActionRow.Start, { children: [/* @__PURE__ */ jsx(ColumnsMenu, {
113
- scope: "spans",
114
- value: columns.preferences,
115
- onChange: columns.setPreferences
116
- }), /* @__PURE__ */ jsx(SpansFilterBar, {
112
+ }), /* @__PURE__ */ jsxs(ActionRow, { children: [/* @__PURE__ */ jsx(ActionRow.Start, { children: /* @__PURE__ */ jsx(SpansFilterBar, {
117
113
  datePreset: filters.datePreset,
118
114
  dateFrom: filters.dateFrom,
119
115
  dateTo: filters.dateTo,
@@ -126,7 +122,11 @@ function SpansExplorerBody({ selection, onSelectionChange, renderPanel, urlState
126
122
  onDateReset: filters.onDateReset,
127
123
  onFiltersChange: filters.onFiltersChange,
128
124
  disabled: isLoading
129
- })] }) })] }),
125
+ }) }), /* @__PURE__ */ jsx(ActionRow.End, { children: /* @__PURE__ */ jsx(ColumnsMenu, {
126
+ scope: "spans",
127
+ value: columns.preferences,
128
+ onChange: columns.setPreferences
129
+ }) })] })] }),
130
130
  chart: /* @__PURE__ */ jsx(SpansExplorerHistogram, {
131
131
  timeRange,
132
132
  where,
@@ -1 +1 @@
1
- {"version":3,"file":"spans-explorer-body.es.js","names":["_Fragment"],"sources":["../../../../src/domains/spans/components/spans-explorer-body.tsx"],"sourcesContent":["import type { SpanQueryArgs } from '@mastra/react/hooks/traces';\nimport { useMemo } from 'react';\nimport type { ReactNode } from 'react';\nimport { useSpansListSource } from '../hooks/use-spans-list-source';\nimport { buildSpanQueryWhere } from '../span-filters';\nimport { spanToListRow } from '../span-list-row';\nimport type { SpanSelection } from './span-detail-panel';\nimport { SpansExplorerHistogram } from './spans-explorer-histogram';\nimport { SpansFilterBar } from './spans-filter-bar';\nimport { useObservabilityCapabilities } from '@/domains/capabilities';\nimport { ObservabilityListBody } from '@/domains/observability/components/observability-list-body';\nimport { useObservabilityListFilters } from '@/domains/observability/hooks/use-observability-list-filters';\nimport type { ObservabilityListUrlState } from '@/domains/observability/hooks/use-observability-list-filters';\nimport { SPAN_LIST_SORT_FIELDS } from '@/domains/observability/observability-list-url-state';\nimport { ObservabilitySavedViews } from '@/domains/observability/saved-views';\nimport { ColumnsMenu } from '@/domains/traces/components/columns-menu';\nimport { NoTracesInfo } from '@/domains/traces/components/no-traces-info';\nimport { TracesErrorContent } from '@/domains/traces/components/traces-error-content';\nimport { TracesListView } from '@/domains/traces/components/traces-list-view';\nimport type { TracesListSortField, TracesListViewTrace } from '@/domains/traces/components/traces-list-view';\nimport { useTraceColumnPreferences } from '@/domains/traces/hooks/use-trace-column-preferences';\nimport { hasTraceColumn, withoutUnrecordedStreamingColumns } from '@/domains/traces/trace-list-columns';\nimport { ActionRow } from '@/ds/components/ActionRow';\n\nexport type SpansExplorerPanelArgs = {\n selection: SpanSelection | undefined;\n /** Loaded spans, in list order, for the panel's previous/next buttons. */\n spans: SpanSelection[];\n onSelect: (selection: SpanSelection) => void;\n onClose: () => void;\n};\n\nexport type SpansExplorerBodyProps = {\n /** The open span. The host keeps it (e.g. in the URL) so it survives a reload. */\n selection: SpanSelection | undefined;\n onSelectionChange: (selection: SpanSelection | undefined) => void;\n /** Renders the open span's panel in the host's own side panel or drawer. */\n renderPanel: (args: SpansExplorerPanelArgs) => ReactNode;\n /** The host's search params, so the time range, filters and sort survive a reload. Omitted: kept in memory. */\n urlState?: ObservabilityListUrlState;\n};\n\n/** The spans page body: filter bar, span list and the host's span panel. Router-agnostic. */\nexport function SpansExplorerBody({ selection, onSelectionChange, renderPanel, urlState }: SpansExplorerBodyProps) {\n const filters = useObservabilityListFilters(urlState, { sortFields: SPAN_LIST_SORT_FIELDS });\n const { timeRange, tokens, groups } = filters;\n const columns = useTraceColumnPreferences({ scope: 'spans' });\n\n const { data: capabilities, isLoading: isCapabilitiesLoading } = useObservabilityCapabilities();\n const withContextFields = capabilities?.capabilities.spanQueryContextFields ?? false;\n const withTimeToFirstChunk = capabilities?.capabilities.traceQueryTimeToFirstChunk ?? false;\n const withTimeToFirstToken = capabilities?.capabilities.traceQueryTimeToFirstToken ?? false;\n const withOutcomeFields = capabilities?.capabilities.spanQueryOutcomeFields ?? false;\n const withModelFields = capabilities?.capabilities.spanQueryModelFields ?? false;\n\n // Stored columns the store can't fill stay saved but aren't drawn, so they come back on a store that can.\n const displayedColumns = useMemo(\n () =>\n isCapabilitiesLoading\n ? columns.preferences\n : withoutUnrecordedStreamingColumns(columns.preferences, { withTimeToFirstChunk, withTimeToFirstToken }),\n [columns.preferences, isCapabilitiesLoading, withTimeToFirstChunk, withTimeToFirstToken],\n );\n\n const sortableFields = useMemo(() => {\n const fields: TracesListSortField[] = ['startedAt'];\n if (\n withTimeToFirstChunk &&\n capabilities?.capabilities.traceQueryTimeToFirstChunkSort &&\n hasTraceColumn(displayedColumns, 'timeToFirstChunk')\n ) {\n fields.push('timeToFirstChunkMs');\n }\n if (\n withTimeToFirstToken &&\n capabilities?.capabilities.traceQueryTimeToFirstTokenSort &&\n hasTraceColumn(displayedColumns, 'timeToFirstToken')\n ) {\n fields.push('timeToFirstTokenMs');\n }\n return fields;\n }, [capabilities, withTimeToFirstChunk, withTimeToFirstToken, displayedColumns]);\n\n // A URL sort the store can't run, or on a hidden column, lists newest first without rewriting the URL.\n const sort = sortableFields.includes(filters.sort.field)\n ? filters.sort\n : ({ field: 'startedAt', direction: 'desc' } as const);\n const { field: sortField, direction: sortDirection } = sort;\n\n const where = useMemo(\n () =>\n buildSpanQueryWhere(tokens, groups, {\n withContextFields,\n withOutcomeFields,\n withModelFields,\n withTimeToFirstChunk,\n withTimeToFirstToken,\n }),\n [tokens, groups, withContextFields, withOutcomeFields, withModelFields, withTimeToFirstChunk, withTimeToFirstToken],\n );\n const query = useMemo<SpanQueryArgs>(\n () => ({ timeRange, orderBy: [{ field: sortField, direction: sortDirection }], ...(where ? { where } : {}) }),\n [timeRange, sortField, sortDirection, where],\n );\n\n const { spans, hasNextPage, isFetchingNextPage, setEndOfListElement, isLoading, isError, error } = useSpansListSource(\n {\n query,\n rolling: filters.rolling,\n },\n );\n\n const rows = useMemo(() => (spans ?? []).map(spanToListRow), [spans]);\n const panelSpans = useMemo(\n () => rows.flatMap(row => (row.spanId ? [{ traceId: row.traceId, spanId: row.spanId }] : [])),\n [rows],\n );\n\n // Clicking the open row again closes the panel.\n const handleSpanClick = (row: TracesListViewTrace) => {\n if (!row.spanId) return;\n const isOpen = selection?.traceId === row.traceId && selection.spanId === row.spanId;\n onSelectionChange(isOpen ? undefined : { traceId: row.traceId, spanId: row.spanId });\n };\n\n // Same rule as /traces: an empty window without filters gets the full-page empty state.\n const showEmptyState = !isLoading && !isError && rows.length === 0 && !filters.contentFiltersApplied && !selection;\n\n return (\n <>\n <h1 className=\"sr-only\">Spans</h1>\n <ObservabilityListBody\n toolbar={\n <>\n {urlState && <ObservabilitySavedViews page=\"spans\" {...urlState} columns={columns} />}\n <ActionRow>\n <ActionRow.Start>\n <ColumnsMenu scope=\"spans\" value={columns.preferences} onChange={columns.setPreferences} />\n <SpansFilterBar\n datePreset={filters.datePreset}\n dateFrom={filters.dateFrom}\n dateTo={filters.dateTo}\n timeRange={timeRange}\n tokens={tokens}\n groups={groups}\n onDatePresetChange={filters.onDatePresetChange}\n onDateChange={filters.onDateChange}\n onDateRangeChange={filters.onDateRangeChange}\n onDateReset={filters.onDateReset}\n onFiltersChange={filters.onFiltersChange}\n disabled={isLoading}\n />\n </ActionRow.Start>\n </ActionRow>\n </>\n }\n chart={\n <SpansExplorerHistogram\n timeRange={timeRange}\n where={where}\n onZoom={({ from, to }) => filters.onZoom(from, to)}\n />\n }\n error={\n isError ? <TracesErrorContent error={error} resource=\"spans\" errorTitle=\"Failed to load spans\" /> : undefined\n }\n empty={\n showEmptyState ? (\n <NoTracesInfo\n resource=\"spans\"\n datePreset={filters.datePreset}\n dateFrom={filters.dateFrom}\n dateTo={filters.dateTo}\n />\n ) : undefined\n }\n >\n <TracesListView\n listId=\"all-spans\"\n traces={rows}\n columnPreferences={displayedColumns}\n isLoading={isLoading}\n isFetchingNextPage={isFetchingNextPage}\n hasNextPage={hasNextPage}\n setEndOfListElement={setEndOfListElement}\n filtersApplied={filters.filtersApplied}\n resource=\"spans\"\n isBranchesMode\n sort={sort}\n sortableFields={sortableFields}\n onSortChange={filters.setSort}\n featuredTraceId={selection?.traceId}\n featuredSpanId={selection?.spanId}\n onTraceClick={handleSpanClick}\n />\n </ObservabilityListBody>\n {renderPanel({\n selection,\n spans: panelSpans,\n onSelect: onSelectionChange,\n onClose: () => onSelectionChange(undefined),\n })}\n </>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"spans-explorer-body.es.js","names":["_Fragment"],"sources":["../../../../src/domains/spans/components/spans-explorer-body.tsx"],"sourcesContent":["import type { SpanQueryArgs } from '@mastra/react/hooks/traces';\nimport { useMemo } from 'react';\nimport type { ReactNode } from 'react';\nimport { useSpansListSource } from '../hooks/use-spans-list-source';\nimport { buildSpanQueryWhere } from '../span-filters';\nimport { spanToListRow } from '../span-list-row';\nimport type { SpanSelection } from './span-detail-panel';\nimport { SpansExplorerHistogram } from './spans-explorer-histogram';\nimport { SpansFilterBar } from './spans-filter-bar';\nimport { useObservabilityCapabilities } from '@/domains/capabilities';\nimport { ObservabilityListBody } from '@/domains/observability/components/observability-list-body';\nimport { useObservabilityListFilters } from '@/domains/observability/hooks/use-observability-list-filters';\nimport type { ObservabilityListUrlState } from '@/domains/observability/hooks/use-observability-list-filters';\nimport { SPAN_LIST_SORT_FIELDS } from '@/domains/observability/observability-list-url-state';\nimport { ObservabilitySavedViews } from '@/domains/observability/saved-views';\nimport { ColumnsMenu } from '@/domains/traces/components/columns-menu';\nimport { NoTracesInfo } from '@/domains/traces/components/no-traces-info';\nimport { TracesErrorContent } from '@/domains/traces/components/traces-error-content';\nimport { TracesListView } from '@/domains/traces/components/traces-list-view';\nimport type { TracesListSortField, TracesListViewTrace } from '@/domains/traces/components/traces-list-view';\nimport { useTraceColumnPreferences } from '@/domains/traces/hooks/use-trace-column-preferences';\nimport { hasTraceColumn, withoutUnrecordedStreamingColumns } from '@/domains/traces/trace-list-columns';\nimport { ActionRow } from '@/ds/components/ActionRow';\n\nexport type SpansExplorerPanelArgs = {\n selection: SpanSelection | undefined;\n /** Loaded spans, in list order, for the panel's previous/next buttons. */\n spans: SpanSelection[];\n onSelect: (selection: SpanSelection) => void;\n onClose: () => void;\n};\n\nexport type SpansExplorerBodyProps = {\n /** The open span. The host keeps it (e.g. in the URL) so it survives a reload. */\n selection: SpanSelection | undefined;\n onSelectionChange: (selection: SpanSelection | undefined) => void;\n /** Renders the open span's panel in the host's own side panel or drawer. */\n renderPanel: (args: SpansExplorerPanelArgs) => ReactNode;\n /** The host's search params, so the time range, filters and sort survive a reload. Omitted: kept in memory. */\n urlState?: ObservabilityListUrlState;\n};\n\n/** The spans page body: filter bar, span list and the host's span panel. Router-agnostic. */\nexport function SpansExplorerBody({ selection, onSelectionChange, renderPanel, urlState }: SpansExplorerBodyProps) {\n const filters = useObservabilityListFilters(urlState, { sortFields: SPAN_LIST_SORT_FIELDS });\n const { timeRange, tokens, groups } = filters;\n const columns = useTraceColumnPreferences({ scope: 'spans' });\n\n const { data: capabilities, isLoading: isCapabilitiesLoading } = useObservabilityCapabilities();\n const withContextFields = capabilities?.capabilities.spanQueryContextFields ?? false;\n const withTimeToFirstChunk = capabilities?.capabilities.traceQueryTimeToFirstChunk ?? false;\n const withTimeToFirstToken = capabilities?.capabilities.traceQueryTimeToFirstToken ?? false;\n const withOutcomeFields = capabilities?.capabilities.spanQueryOutcomeFields ?? false;\n const withModelFields = capabilities?.capabilities.spanQueryModelFields ?? false;\n\n // Stored columns the store can't fill stay saved but aren't drawn, so they come back on a store that can.\n const displayedColumns = useMemo(\n () =>\n isCapabilitiesLoading\n ? columns.preferences\n : withoutUnrecordedStreamingColumns(columns.preferences, { withTimeToFirstChunk, withTimeToFirstToken }),\n [columns.preferences, isCapabilitiesLoading, withTimeToFirstChunk, withTimeToFirstToken],\n );\n\n const sortableFields = useMemo(() => {\n const fields: TracesListSortField[] = ['startedAt'];\n if (\n withTimeToFirstChunk &&\n capabilities?.capabilities.traceQueryTimeToFirstChunkSort &&\n hasTraceColumn(displayedColumns, 'timeToFirstChunk')\n ) {\n fields.push('timeToFirstChunkMs');\n }\n if (\n withTimeToFirstToken &&\n capabilities?.capabilities.traceQueryTimeToFirstTokenSort &&\n hasTraceColumn(displayedColumns, 'timeToFirstToken')\n ) {\n fields.push('timeToFirstTokenMs');\n }\n return fields;\n }, [capabilities, withTimeToFirstChunk, withTimeToFirstToken, displayedColumns]);\n\n // A URL sort the store can't run, or on a hidden column, lists newest first without rewriting the URL.\n const sort = sortableFields.includes(filters.sort.field)\n ? filters.sort\n : ({ field: 'startedAt', direction: 'desc' } as const);\n const { field: sortField, direction: sortDirection } = sort;\n\n const where = useMemo(\n () =>\n buildSpanQueryWhere(tokens, groups, {\n withContextFields,\n withOutcomeFields,\n withModelFields,\n withTimeToFirstChunk,\n withTimeToFirstToken,\n }),\n [tokens, groups, withContextFields, withOutcomeFields, withModelFields, withTimeToFirstChunk, withTimeToFirstToken],\n );\n const query = useMemo<SpanQueryArgs>(\n () => ({ timeRange, orderBy: [{ field: sortField, direction: sortDirection }], ...(where ? { where } : {}) }),\n [timeRange, sortField, sortDirection, where],\n );\n\n const { spans, hasNextPage, isFetchingNextPage, setEndOfListElement, isLoading, isError, error } = useSpansListSource(\n {\n query,\n rolling: filters.rolling,\n },\n );\n\n const rows = useMemo(() => (spans ?? []).map(spanToListRow), [spans]);\n const panelSpans = useMemo(\n () => rows.flatMap(row => (row.spanId ? [{ traceId: row.traceId, spanId: row.spanId }] : [])),\n [rows],\n );\n\n // Clicking the open row again closes the panel.\n const handleSpanClick = (row: TracesListViewTrace) => {\n if (!row.spanId) return;\n const isOpen = selection?.traceId === row.traceId && selection.spanId === row.spanId;\n onSelectionChange(isOpen ? undefined : { traceId: row.traceId, spanId: row.spanId });\n };\n\n // Same rule as /traces: an empty window without filters gets the full-page empty state.\n const showEmptyState = !isLoading && !isError && rows.length === 0 && !filters.contentFiltersApplied && !selection;\n\n return (\n <>\n <h1 className=\"sr-only\">Spans</h1>\n <ObservabilityListBody\n toolbar={\n <>\n {urlState && <ObservabilitySavedViews page=\"spans\" {...urlState} columns={columns} />}\n <ActionRow>\n <ActionRow.Start>\n <SpansFilterBar\n datePreset={filters.datePreset}\n dateFrom={filters.dateFrom}\n dateTo={filters.dateTo}\n timeRange={timeRange}\n tokens={tokens}\n groups={groups}\n onDatePresetChange={filters.onDatePresetChange}\n onDateChange={filters.onDateChange}\n onDateRangeChange={filters.onDateRangeChange}\n onDateReset={filters.onDateReset}\n onFiltersChange={filters.onFiltersChange}\n disabled={isLoading}\n />\n </ActionRow.Start>\n <ActionRow.End>\n <ColumnsMenu scope=\"spans\" value={columns.preferences} onChange={columns.setPreferences} />\n </ActionRow.End>\n </ActionRow>\n </>\n }\n chart={\n <SpansExplorerHistogram\n timeRange={timeRange}\n where={where}\n onZoom={({ from, to }) => filters.onZoom(from, to)}\n />\n }\n error={\n isError ? <TracesErrorContent error={error} resource=\"spans\" errorTitle=\"Failed to load spans\" /> : undefined\n }\n empty={\n showEmptyState ? (\n <NoTracesInfo\n resource=\"spans\"\n datePreset={filters.datePreset}\n dateFrom={filters.dateFrom}\n dateTo={filters.dateTo}\n />\n ) : undefined\n }\n >\n <TracesListView\n listId=\"all-spans\"\n traces={rows}\n columnPreferences={displayedColumns}\n isLoading={isLoading}\n isFetchingNextPage={isFetchingNextPage}\n hasNextPage={hasNextPage}\n setEndOfListElement={setEndOfListElement}\n filtersApplied={filters.filtersApplied}\n resource=\"spans\"\n isBranchesMode\n sort={sort}\n sortableFields={sortableFields}\n onSortChange={filters.setSort}\n featuredTraceId={selection?.traceId}\n featuredSpanId={selection?.spanId}\n onTraceClick={handleSpanClick}\n />\n </ObservabilityListBody>\n {renderPanel({\n selection,\n spans: panelSpans,\n onSelect: onSelectionChange,\n onClose: () => onSelectionChange(undefined),\n })}\n </>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AA2CA,SAAgB,kBAAkB,EAAE,WAAW,mBAAmB,aAAa,YAAoC;CACjH,MAAM,UAAU,4BAA4B,UAAU,EAAE,YAAY,sBAAsB,CAAC;CAC3F,MAAM,EAAE,WAAW,QAAQ,WAAW;CACtC,MAAM,UAAU,0BAA0B,EAAE,OAAO,QAAQ,CAAC;CAE5D,MAAM,EAAE,MAAM,cAAc,WAAW,0BAA0B,6BAA6B;CAC9F,MAAM,oBAAoB,cAAc,aAAa,0BAA0B;CAC/E,MAAM,uBAAuB,cAAc,aAAa,8BAA8B;CACtF,MAAM,uBAAuB,cAAc,aAAa,8BAA8B;CACtF,MAAM,oBAAoB,cAAc,aAAa,0BAA0B;CAC/E,MAAM,kBAAkB,cAAc,aAAa,wBAAwB;CAG3E,MAAM,mBAAmB,cAErB,wBACI,QAAQ,cACR,kCAAkC,QAAQ,aAAa;EAAE;EAAsB;CAAqB,CAAC,GAC3G;EAAC,QAAQ;EAAa;EAAuB;EAAsB;CAAoB,CACzF;CAEA,MAAM,iBAAiB,cAAc;EACnC,MAAM,SAAgC,CAAC,WAAW;EAClD,IACE,wBACA,cAAc,aAAa,kCAC3B,eAAe,kBAAkB,kBAAkB,GAEnD,OAAO,KAAK,oBAAoB;EAElC,IACE,wBACA,cAAc,aAAa,kCAC3B,eAAe,kBAAkB,kBAAkB,GAEnD,OAAO,KAAK,oBAAoB;EAElC,OAAO;CACT,GAAG;EAAC;EAAc;EAAsB;EAAsB;CAAgB,CAAC;CAG/E,MAAM,OAAO,eAAe,SAAS,QAAQ,KAAK,KAAK,IACnD,QAAQ,OACP;EAAE,OAAO;EAAa,WAAW;CAAO;CAC7C,MAAM,EAAE,OAAO,WAAW,WAAW,kBAAkB;CAEvD,MAAM,QAAQ,cAEV,oBAAoB,QAAQ,QAAQ;EAClC;EACA;EACA;EACA;EACA;CACF,CAAC,GACH;EAAC;EAAQ;EAAQ;EAAmB;EAAmB;EAAiB;EAAsB;CAAoB,CACpH;CACA,MAAM,QAAQ,eACL;EAAE;EAAW,SAAS,CAAC;GAAE,OAAO;GAAW,WAAW;EAAc,CAAC;EAAG,GAAI,QAAQ,EAAE,MAAM,IAAI,CAAC;CAAG,IAC3G;EAAC;EAAW;EAAW;EAAe;CAAK,CAC7C;CAEA,MAAM,EAAE,OAAO,aAAa,oBAAoB,qBAAqB,WAAW,SAAS,UAAU,mBACjG;EACE;EACA,SAAS,QAAQ;CACnB,CACF;CAEA,MAAM,OAAO,eAAe,SAAS,CAAC,EAAA,CAAG,IAAI,aAAa,GAAG,CAAC,KAAK,CAAC;CACpE,MAAM,aAAa,cACX,KAAK,SAAQ,QAAQ,IAAI,SAAS,CAAC;EAAE,SAAS,IAAI;EAAS,QAAQ,IAAI;CAAO,CAAC,IAAI,CAAC,CAAE,GAC5F,CAAC,IAAI,CACP;CAGA,MAAM,mBAAmB,QAA6B;EACpD,IAAI,CAAC,IAAI,QAAQ;EAEjB,kBADe,WAAW,YAAY,IAAI,WAAW,UAAU,WAAW,IAAI,SACnD,KAAA,IAAY;GAAE,SAAS,IAAI;GAAS,QAAQ,IAAI;EAAO,CAAC;CACrF;CAGA,MAAM,iBAAiB,CAAC,aAAa,CAAC,WAAW,KAAK,WAAW,KAAK,CAAC,QAAQ,yBAAyB,CAAC;CAEzG,OACE,qBAAAA,YAAA,EAAA,UAAA;EACE,oBAAC,MAAD;GAAI,WAAU;GAAU,UAAA;EAAS,CAAA;EACjC,oBAAC,uBAAD;GACE,SACE,qBAAAA,YAAA,EAAA,UAAA,CACG,YAAY,oBAAC,yBAAD;IAAyB,MAAK;IAAQ,GAAI;IAAmB;GAAU,CAAA,GACpF,qBAAC,WAAD,EAAA,UAAA,CACE,oBAAC,UAAU,OAAX,EAAA,UACE,oBAAC,gBAAD;IACE,YAAY,QAAQ;IACpB,UAAU,QAAQ;IAClB,QAAQ,QAAQ;IACL;IACH;IACA;IACR,oBAAoB,QAAQ;IAC5B,cAAc,QAAQ;IACtB,mBAAmB,QAAQ;IAC3B,aAAa,QAAQ;IACrB,iBAAiB,QAAQ;IACzB,UAAU;GACX,CAAA,EACc,CAAA,GACjB,oBAAC,UAAU,KAAX,EAAA,UACE,oBAAC,aAAD;IAAa,OAAM;IAAQ,OAAO,QAAQ;IAAa,UAAU,QAAQ;GAAiB,CAAA,EAC7E,CAAA,CACN,EAAA,CAAA,CACX,EAAA,CAAA;GAEJ,OACE,oBAAC,wBAAD;IACa;IACJ;IACP,SAAS,EAAE,MAAM,SAAS,QAAQ,OAAO,MAAM,EAAE;GAClD,CAAA;GAEH,OACE,UAAU,oBAAC,oBAAD;IAA2B;IAAO,UAAS;IAAQ,YAAW;GAAwB,CAAA,IAAI,KAAA;GAEtG,OACE,iBACE,oBAAC,cAAD;IACE,UAAS;IACT,YAAY,QAAQ;IACpB,UAAU,QAAQ;IAClB,QAAQ,QAAQ;GACjB,CAAA,IACC,KAAA;GAGN,UAAA,oBAAC,gBAAD;IACE,QAAO;IACP,QAAQ;IACR,mBAAmB;IACR;IACS;IACP;IACQ;IACrB,gBAAgB,QAAQ;IACxB,UAAS;IACT,gBAAA;IACM;IACU;IAChB,cAAc,QAAQ;IACtB,iBAAiB,WAAW;IAC5B,gBAAgB,WAAW;IAC3B,cAAc;GACf,CAAA;EACoB,CAAA;EACtB,YAAY;GACX;GACA,OAAO;GACP,UAAU;GACV,eAAe,kBAAkB,KAAA,CAAS;EAC5C,CAAC;CACD,EAAA,CAAA;AAEN"}