@mastra/playground-ui 67.0.0 → 68.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (929) 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-CcPmJPTp.cjs} +8 -8
  18. package/dist/{DataCodeSection-CZRPsStI.cjs.map → DataCodeSection-CcPmJPTp.cjs.map} +1 -1
  19. package/dist/{DataCodeSection-Ckd47p_S.js → DataCodeSection-KJRyRD1Q.js} +6 -6
  20. package/dist/{DataCodeSection-Ckd47p_S.js.map → DataCodeSection-KJRyRD1Q.js.map} +1 -1
  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-CY1W5LHJ.js → DataPanel-Bv4M17xO.js} +3 -3
  30. package/dist/{DataPanel-CY1W5LHJ.js.map → DataPanel-Bv4M17xO.js.map} +1 -1
  31. package/dist/{DataPanel-C0Ll76Ne.cjs → DataPanel-BwB1Oifd.cjs} +3 -3
  32. package/dist/{DataPanel-C0Ll76Ne.cjs.map → DataPanel-BwB1Oifd.cjs.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-BO-vvvyq.js} +18 -22
  42. package/dist/FilterBar-BO-vvvyq.js.map +1 -0
  43. package/dist/{FilterBar-BUd4f7oi.cjs → FilterBar-Buw0tv51.cjs} +18 -22
  44. package/dist/FilterBar-Buw0tv51.cjs.map +1 -0
  45. package/dist/KnowledgePageGraph.css +11 -0
  46. package/dist/{LogsDataList-Cslabh8K.js → LogsDataList-BI2C5OJz.js} +2 -2
  47. package/dist/{LogsDataList-Cslabh8K.js.map → LogsDataList-BI2C5OJz.js.map} +1 -1
  48. package/dist/{LogsDataList-DMmxAt_t.cjs → LogsDataList-CCIfUPGo.cjs} +2 -2
  49. package/dist/{LogsDataList-DMmxAt_t.cjs.map → LogsDataList-CCIfUPGo.cjs.map} +1 -1
  50. package/dist/{MarkdownRenderer-DME2xKTk.js → MarkdownRenderer-2GOXQJEv.js} +3 -3
  51. package/dist/{MarkdownRenderer-DME2xKTk.js.map → MarkdownRenderer-2GOXQJEv.js.map} +1 -1
  52. package/dist/{MarkdownRenderer-CS6u5drO.cjs → MarkdownRenderer-CB8Z_CHc.cjs} +4 -4
  53. package/dist/{MarkdownRenderer-CS6u5drO.cjs.map → MarkdownRenderer-CB8Z_CHc.cjs.map} +1 -1
  54. package/dist/{Message-nVI6tMS3.js → Message-CWzi5F_Q.js} +2 -2
  55. package/dist/{Message-nVI6tMS3.js.map → Message-CWzi5F_Q.js.map} +1 -1
  56. package/dist/{Message-DsCNQpou.cjs → Message-jj56lxNL.cjs} +2 -2
  57. package/dist/{Message-DsCNQpou.cjs.map → Message-jj56lxNL.cjs.map} +1 -1
  58. package/dist/{Notice-CyKngbbv.js → Notice-C-8oOZZF.js} +2 -2
  59. package/dist/{Notice-CyKngbbv.js.map → Notice-C-8oOZZF.js.map} +1 -1
  60. package/dist/{Notice-DWNeCe-t.cjs → Notice-JZ7SW7q6.cjs} +2 -2
  61. package/dist/{Notice-DWNeCe-t.cjs.map → Notice-JZ7SW7q6.cjs.map} +1 -1
  62. package/dist/{Workflow-BVWvgDmI.js → Workflow-C3SlEdP-.js} +5 -5
  63. package/dist/{Workflow-BVWvgDmI.js.map → Workflow-C3SlEdP-.js.map} +1 -1
  64. package/dist/{Workflow-BeF6pIO9.cjs → Workflow-DSWQ-ROz.cjs} +5 -5
  65. package/dist/{Workflow-BeF6pIO9.cjs.map → Workflow-DSWQ-ROz.cjs.map} +1 -1
  66. package/dist/{activity-DAK8tj7r.cjs → activity-DyB5H3gF.cjs} +2 -2
  67. package/dist/{activity-DAK8tj7r.cjs.map → activity-DyB5H3gF.cjs.map} +1 -1
  68. package/dist/{activity-CM34JyW-.js → activity-rJ1NQl_2.js} +2 -2
  69. package/dist/{activity-CM34JyW-.js.map → activity-rJ1NQl_2.js.map} +1 -1
  70. package/dist/{ask-user-BdjH9F7G.js → ask-user-B225wzWc.js} +2 -2
  71. package/dist/{ask-user-BdjH9F7G.js.map → ask-user-B225wzWc.js.map} +1 -1
  72. package/dist/{ask-user-C82m_G9W.cjs → ask-user-DdYz56qH.cjs} +2 -2
  73. package/dist/{ask-user-C82m_G9W.cjs.map → ask-user-DdYz56qH.cjs.map} +1 -1
  74. package/dist/buttons-group-Dc6R7YSs.cjs +48 -0
  75. package/dist/buttons-group-Dc6R7YSs.cjs.map +1 -0
  76. package/dist/buttons-group-DkFlnMiL.js +35 -0
  77. package/dist/buttons-group-DkFlnMiL.js.map +1 -0
  78. package/dist/{ButtonsGroup.css → buttons-group.css} +2 -0
  79. package/dist/clear-filters-button-Buc973vw.cjs +27 -0
  80. package/dist/clear-filters-button-Buc973vw.cjs.map +1 -0
  81. package/dist/clear-filters-button-CNrRuHOY.js +22 -0
  82. package/dist/clear-filters-button-CNrRuHOY.js.map +1 -0
  83. package/dist/{combobox-8kNAJFlj.cjs → combobox-CMx2ayFN.cjs} +3 -3
  84. package/dist/{combobox-8kNAJFlj.cjs.map → combobox-CMx2ayFN.cjs.map} +1 -1
  85. package/dist/{combobox-wFudhN8F.js → combobox-CtCK0mNx.js} +3 -3
  86. package/dist/{combobox-wFudhN8F.js.map → combobox-CtCK0mNx.js.map} +1 -1
  87. package/dist/{combobox-parts-W7KRQUsV.js → combobox-parts-C1CugUAU.js} +11 -19
  88. package/dist/combobox-parts-C1CugUAU.js.map +1 -0
  89. package/dist/{combobox-parts-BZVXwbG7.cjs → combobox-parts-ScKcYjMR.cjs} +10 -18
  90. package/dist/combobox-parts-ScKcYjMR.cjs.map +1 -0
  91. package/dist/components/ActionRow.cjs.js +1 -1
  92. package/dist/components/ActionRow.es.js +1 -1
  93. package/dist/components/AlertDialog.cjs.js +2 -2
  94. package/dist/components/AlertDialog.es.js +2 -2
  95. package/dist/components/Button.cjs.js +4 -1
  96. package/dist/components/Button.es.js +2 -2
  97. package/dist/components/ButtonsGroup.cjs.js +3 -38
  98. package/dist/components/ButtonsGroup.es.js +1 -35
  99. package/dist/components/ClampedText.cjs.js +1 -1
  100. package/dist/components/ClampedText.es.js +1 -1
  101. package/dist/components/ClearFiltersButton.cjs.js +3 -0
  102. package/dist/components/ClearFiltersButton.d.ts +1 -0
  103. package/dist/components/ClearFiltersButton.es.js +1 -0
  104. package/dist/components/CodeBlock.cjs.js +3 -3
  105. package/dist/components/CodeBlock.es.js +3 -3
  106. package/dist/components/CodeEditor.cjs.js +1 -1
  107. package/dist/components/CodeEditor.es.js +1 -1
  108. package/dist/components/CollapsibleBox.cjs.js +1 -1
  109. package/dist/components/CollapsibleBox.es.js +1 -1
  110. package/dist/components/Combobox.cjs.js +2 -2
  111. package/dist/components/Combobox.es.js +2 -2
  112. package/dist/components/Command.cjs.js +3 -2
  113. package/dist/components/Command.cjs.js.map +1 -1
  114. package/dist/components/Command.es.js +3 -2
  115. package/dist/components/Command.es.js.map +1 -1
  116. package/dist/components/Comment.cjs.js +1 -1
  117. package/dist/components/Comment.es.js +1 -1
  118. package/dist/components/CopyButton.cjs.js +1 -1
  119. package/dist/components/CopyButton.es.js +1 -1
  120. package/dist/components/DataCodeSection.cjs.js +1 -1
  121. package/dist/components/DataCodeSection.es.js +1 -1
  122. package/dist/components/DataDetailsPanel.cjs.js +1 -1
  123. package/dist/components/DataDetailsPanel.es.js +1 -1
  124. package/dist/components/DataList.cjs.js +3 -3
  125. package/dist/components/DataList.es.js +3 -3
  126. package/dist/components/DataPanel.cjs.js +1 -1
  127. package/dist/components/DataPanel.es.js +1 -1
  128. package/dist/components/DateRangeTimeline.cjs.js +1 -1
  129. package/dist/components/DateRangeTimeline.es.js +1 -1
  130. package/dist/components/DateTimePicker.cjs.js +2 -2
  131. package/dist/components/DateTimePicker.es.js +2 -2
  132. package/dist/components/DateTimeRangePicker.cjs.js +2 -2
  133. package/dist/components/DateTimeRangePicker.es.js +1 -1
  134. package/dist/components/Dialog.cjs.js +1 -1
  135. package/dist/components/Dialog.es.js +1 -1
  136. package/dist/components/DisabledFeatureButton.cjs.js +1 -1
  137. package/dist/components/DisabledFeatureButton.es.js +1 -1
  138. package/dist/components/Drawer.cjs.js +1 -1
  139. package/dist/components/Drawer.es.js +1 -1
  140. package/dist/components/EnvironmentVariablesEditor.cjs.js +4 -4
  141. package/dist/components/EnvironmentVariablesEditor.es.js +4 -4
  142. package/dist/components/ErrorBoundary.cjs.js +1 -1
  143. package/dist/components/ErrorBoundary.es.js +1 -1
  144. package/dist/components/FilterBar.cjs.js +7 -2
  145. package/dist/components/FilterBar.es.js +4 -3
  146. package/dist/components/FormFieldBlocks.cjs.js +2 -2
  147. package/dist/components/FormFieldBlocks.es.js +2 -2
  148. package/dist/components/InputGroup.cjs.js +1 -1
  149. package/dist/components/InputGroup.es.js +1 -1
  150. package/dist/components/InputNumber.cjs.js +2 -2
  151. package/dist/components/InputNumber.es.js +2 -2
  152. package/dist/components/JSONSchemaForm.cjs.js +2 -2
  153. package/dist/components/JSONSchemaForm.es.js +2 -2
  154. package/dist/components/ListSearch.cjs.js +1 -1
  155. package/dist/components/ListSearch.es.js +1 -1
  156. package/dist/components/LogsDataList.cjs.js +2 -2
  157. package/dist/components/LogsDataList.es.js +2 -2
  158. package/dist/components/MarkdownRenderer.cjs.js +1 -1
  159. package/dist/components/MarkdownRenderer.es.js +1 -1
  160. package/dist/components/Message.cjs.js +1 -1
  161. package/dist/components/Message.es.js +1 -1
  162. package/dist/components/Notice.cjs.js +1 -1
  163. package/dist/components/Notice.es.js +1 -1
  164. package/dist/components/PrevNextNav.cjs.js +1 -1
  165. package/dist/components/PrevNextNav.es.js +1 -1
  166. package/dist/components/PropertyFilter.cjs.js +3 -3
  167. package/dist/components/PropertyFilter.es.js +3 -3
  168. package/dist/components/RuleBuilder.cjs.js +2 -2
  169. package/dist/components/RuleBuilder.es.js +2 -2
  170. package/dist/components/SavedViews.cjs.js +4 -3
  171. package/dist/components/SavedViews.cjs.js.map +1 -1
  172. package/dist/components/SavedViews.es.js +4 -3
  173. package/dist/components/SavedViews.es.js.map +1 -1
  174. package/dist/components/SearchInput.cjs.js +5 -2
  175. package/dist/components/SearchInput.cjs.js.map +1 -1
  176. package/dist/components/SearchInput.es.js +5 -2
  177. package/dist/components/SearchInput.es.js.map +1 -1
  178. package/dist/components/Select.cjs.js +1 -1
  179. package/dist/components/Select.es.js +1 -1
  180. package/dist/components/SideDialog.cjs.js +5 -5
  181. package/dist/components/SideDialog.cjs.js.map +1 -1
  182. package/dist/components/SideDialog.es.js +4 -4
  183. package/dist/components/Sidebar.cjs.js +3 -3
  184. package/dist/components/Sidebar.es.js +3 -3
  185. package/dist/components/Tabs.cjs.js +2 -2
  186. package/dist/components/Tabs.es.js +2 -2
  187. package/dist/components/ThreadList.cjs.js +1 -1
  188. package/dist/components/ThreadList.es.js +1 -1
  189. package/dist/components/Toaster.cjs.js +2 -2
  190. package/dist/components/Toaster.es.js +2 -2
  191. package/dist/components/Truncate.cjs.js +1 -1
  192. package/dist/components/Truncate.es.js +1 -1
  193. package/dist/components/Workflow.cjs.js +1 -1
  194. package/dist/components/Workflow.es.js +1 -1
  195. package/dist/components/ai/activity.cjs.js +1 -1
  196. package/dist/components/ai/activity.es.js +1 -1
  197. package/dist/components/ai/ask-user.cjs.js +1 -1
  198. package/dist/components/ai/ask-user.es.js +1 -1
  199. package/dist/components/ai/plan.cjs.js +2 -2
  200. package/dist/components/ai/plan.es.js +2 -2
  201. package/dist/components/ai/tool-approval.cjs.js +1 -1
  202. package/dist/components/ai/tool-approval.es.js +1 -1
  203. package/dist/components/ai/tool-call.cjs.js +2 -2
  204. package/dist/components/ai/tool-call.es.js +2 -2
  205. package/dist/{copy-button-CF-X4iDj.js → copy-button-BXrbevLn.js} +2 -2
  206. package/dist/{copy-button-CF-X4iDj.js.map → copy-button-BXrbevLn.js.map} +1 -1
  207. package/dist/{copy-button-BYEFKNpo.cjs → copy-button-DJAQ6_3o.cjs} +2 -2
  208. package/dist/{copy-button-BYEFKNpo.cjs.map → copy-button-DJAQ6_3o.cjs.map} +1 -1
  209. package/dist/{data-list-BkimqE_P.cjs → data-list-C4Vmq5HA.cjs} +2 -2
  210. package/dist/{data-list-BkimqE_P.cjs.map → data-list-C4Vmq5HA.cjs.map} +1 -1
  211. package/dist/{data-list-evmf5xWI.js → data-list-DHCOoLmj.js} +2 -2
  212. package/dist/{data-list-evmf5xWI.js.map → data-list-DHCOoLmj.js.map} +1 -1
  213. package/dist/{DateTimeRangePicker-HmPOHwAQ.cjs → date-time-range-picker-CTt7Od0P.cjs} +71 -57
  214. package/dist/date-time-range-picker-CTt7Od0P.cjs.map +1 -0
  215. package/dist/{DateTimeRangePicker-C_Lie_2P.js → date-time-range-picker-DKh1K9Iy.js} +72 -58
  216. package/dist/date-time-range-picker-DKh1K9Iy.js.map +1 -0
  217. package/dist/domains/auth/components/session-expired.cjs.js +2 -2
  218. package/dist/domains/auth/components/session-expired.es.js +2 -2
  219. package/dist/domains/chat/activity/activity-stretch-line.cjs.js +1 -1
  220. package/dist/domains/chat/activity/activity-stretch-line.es.js +1 -1
  221. package/dist/domains/chat/activity/components/activity-fold.cjs.js +1 -1
  222. package/dist/domains/chat/activity/components/activity-fold.es.js +1 -1
  223. package/dist/domains/chat/activity/components/activity-timed-trigger.cjs.js +1 -1
  224. package/dist/domains/chat/activity/components/activity-timed-trigger.es.js +1 -1
  225. package/dist/domains/chat/activity/components/calls-panel.cjs.js +1 -1
  226. package/dist/domains/chat/activity/components/calls-panel.es.js +1 -1
  227. package/dist/domains/chat/activity/components/stretch-content.cjs.js +1 -1
  228. package/dist/domains/chat/activity/components/stretch-content.es.js +1 -1
  229. package/dist/domains/chat/activity/components/stretch-thought.cjs.js +1 -1
  230. package/dist/domains/chat/activity/components/stretch-thought.es.js +1 -1
  231. package/dist/domains/chat/activity/model/activity-segments.cjs.js +1 -1
  232. package/dist/domains/chat/activity/model/activity-segments.es.js +1 -1
  233. package/dist/domains/chat/activity/model/activity-words.cjs.js +2 -2
  234. package/dist/domains/chat/activity/model/activity-words.es.js +2 -2
  235. package/dist/domains/chat/attachments/attachment-preview-dialog.cjs.js +2 -2
  236. package/dist/domains/chat/attachments/attachment-preview-dialog.es.js +2 -2
  237. package/dist/domains/chat/attachments/composer-attachment.cjs.js +1 -1
  238. package/dist/domains/chat/attachments/composer-attachment.es.js +1 -1
  239. package/dist/domains/chat/components/badge-wrapper.cjs.js +1 -1
  240. package/dist/domains/chat/components/badge-wrapper.es.js +1 -1
  241. package/dist/domains/chat/components/network-choice-metadata-dialog.cjs.js +3 -3
  242. package/dist/domains/chat/components/network-choice-metadata-dialog.es.js +3 -3
  243. package/dist/domains/chat/knowledge/knowledge-links.cjs.js +40 -0
  244. package/dist/domains/chat/knowledge/knowledge-links.cjs.js.map +1 -0
  245. package/dist/domains/chat/knowledge/knowledge-links.d.ts +1 -0
  246. package/dist/domains/chat/knowledge/knowledge-links.es.js +38 -0
  247. package/dist/domains/chat/knowledge/knowledge-links.es.js.map +1 -0
  248. package/dist/domains/chat/knowledge/pinned-knowledge-data.cjs.js +79 -0
  249. package/dist/domains/chat/knowledge/pinned-knowledge-data.cjs.js.map +1 -0
  250. package/dist/domains/chat/knowledge/pinned-knowledge-data.d.ts +1 -0
  251. package/dist/domains/chat/knowledge/pinned-knowledge-data.es.js +77 -0
  252. package/dist/domains/chat/knowledge/pinned-knowledge-data.es.js.map +1 -0
  253. package/dist/domains/chat/knowledge/pinned-knowledge.cjs.js +124 -0
  254. package/dist/domains/chat/knowledge/pinned-knowledge.cjs.js.map +1 -0
  255. package/dist/domains/chat/knowledge/pinned-knowledge.d.ts +1 -0
  256. package/dist/domains/chat/knowledge/pinned-knowledge.es.js +123 -0
  257. package/dist/domains/chat/knowledge/pinned-knowledge.es.js.map +1 -0
  258. package/dist/domains/chat/knowledge.cjs.js +12 -0
  259. package/dist/domains/chat/knowledge.d.ts +1 -0
  260. package/dist/domains/chat/knowledge.es.js +5 -0
  261. package/dist/domains/chat/messages/assistant-message-actions.cjs.js +2 -2
  262. package/dist/domains/chat/messages/assistant-message-actions.es.js +2 -2
  263. package/dist/domains/chat/messages/dataset-save-action.cjs.js +5 -5
  264. package/dist/domains/chat/messages/dataset-save-action.es.js +5 -5
  265. package/dist/domains/chat/messages/message-row.cjs.js +4 -4
  266. package/dist/domains/chat/messages/message-row.es.js +4 -4
  267. package/dist/domains/chat/messages/notification-signal-notice.cjs.js +1 -1
  268. package/dist/domains/chat/messages/notification-signal-notice.es.js +1 -1
  269. package/dist/domains/chat/messages/reasoning-content.cjs.js +1 -1
  270. package/dist/domains/chat/messages/reasoning-content.es.js +1 -1
  271. package/dist/domains/chat/messages/renderers/message-text.cjs.js +2 -2
  272. package/dist/domains/chat/messages/renderers/message-text.es.js +2 -2
  273. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.cjs.js +1 -1
  274. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.es.js +1 -1
  275. package/dist/domains/chat/messages/renderers/status-renderers.cjs.js +1 -1
  276. package/dist/domains/chat/messages/renderers/status-renderers.es.js +1 -1
  277. package/dist/domains/chat/messages/signal-badge.cjs.js +8 -1
  278. package/dist/domains/chat/messages/signal-badge.cjs.js.map +1 -1
  279. package/dist/domains/chat/messages/signal-badge.es.js +8 -1
  280. package/dist/domains/chat/messages/signal-badge.es.js.map +1 -1
  281. package/dist/domains/chat/messages/skill-message.cjs.js +2 -2
  282. package/dist/domains/chat/messages/skill-message.es.js +2 -2
  283. package/dist/domains/chat/messages/system-reminder-badge.cjs.js +1 -1
  284. package/dist/domains/chat/messages/system-reminder-badge.es.js +1 -1
  285. package/dist/domains/chat/messages/tripwire-notice.cjs.js +2 -2
  286. package/dist/domains/chat/messages/tripwire-notice.es.js +2 -2
  287. package/dist/domains/chat/tools/badges/agent-badge-wrapper.cjs.js +1 -1
  288. package/dist/domains/chat/tools/badges/agent-badge-wrapper.es.js +1 -1
  289. package/dist/domains/chat/tools/badges/agent-badge.cjs.js +1 -1
  290. package/dist/domains/chat/tools/badges/agent-badge.es.js +1 -1
  291. package/dist/domains/chat/tools/badges/ask-user-badge.cjs.js +1 -1
  292. package/dist/domains/chat/tools/badges/ask-user-badge.es.js +1 -1
  293. package/dist/domains/chat/tools/badges/background-task-metadata-dialog.cjs.js +3 -3
  294. package/dist/domains/chat/tools/badges/background-task-metadata-dialog.es.js +3 -3
  295. package/dist/domains/chat/tools/badges/code-mode-badge.cjs.js +1 -1
  296. package/dist/domains/chat/tools/badges/code-mode-badge.es.js +1 -1
  297. package/dist/domains/chat/tools/badges/file-tree-badge.cjs.js +2 -2
  298. package/dist/domains/chat/tools/badges/file-tree-badge.es.js +2 -2
  299. package/dist/domains/chat/tools/badges/knowledge-tool-badge.cjs.js +273 -0
  300. package/dist/domains/chat/tools/badges/knowledge-tool-badge.cjs.js.map +1 -0
  301. package/dist/domains/chat/tools/badges/knowledge-tool-badge.d.ts +1 -0
  302. package/dist/domains/chat/tools/badges/knowledge-tool-badge.es.js +270 -0
  303. package/dist/domains/chat/tools/badges/knowledge-tool-badge.es.js.map +1 -0
  304. package/dist/domains/chat/tools/badges/mcp-task-chip.cjs.js +1 -1
  305. package/dist/domains/chat/tools/badges/mcp-task-chip.es.js +1 -1
  306. package/dist/domains/chat/tools/badges/observation-marker-badge.cjs.js +2 -2
  307. package/dist/domains/chat/tools/badges/observation-marker-badge.es.js +2 -2
  308. package/dist/domains/chat/tools/badges/observation-marker-details.cjs.js +2 -2
  309. package/dist/domains/chat/tools/badges/observation-marker-details.es.js +2 -2
  310. package/dist/domains/chat/tools/badges/observation-renderer.cjs.js +1 -1
  311. package/dist/domains/chat/tools/badges/observation-renderer.es.js +1 -1
  312. package/dist/domains/chat/tools/badges/sandbox-execution-badge.cjs.js +2 -2
  313. package/dist/domains/chat/tools/badges/sandbox-execution-badge.es.js +2 -2
  314. package/dist/domains/chat/tools/badges/tool-approval-badge.cjs.js +1 -1
  315. package/dist/domains/chat/tools/badges/tool-approval-badge.es.js +1 -1
  316. package/dist/domains/chat/tools/badges/tool-badge.cjs.js +4 -4
  317. package/dist/domains/chat/tools/badges/tool-badge.es.js +4 -4
  318. package/dist/domains/chat/tools/badges/workflow-badge.cjs.js +4 -4
  319. package/dist/domains/chat/tools/badges/workflow-badge.es.js +4 -4
  320. package/dist/domains/chat/tools/connect-prompt-tool.cjs.js +3 -3
  321. package/dist/domains/chat/tools/connect-prompt-tool.es.js +3 -3
  322. package/dist/domains/chat/tools/submit-plan-tool.cjs.js +1 -1
  323. package/dist/domains/chat/tools/submit-plan-tool.es.js +1 -1
  324. package/dist/domains/chat/tools/tool-card-kind.cjs.js +4 -2
  325. package/dist/domains/chat/tools/tool-card-kind.cjs.js.map +1 -1
  326. package/dist/domains/chat/tools/tool-card-kind.es.js +4 -2
  327. package/dist/domains/chat/tools/tool-card-kind.es.js.map +1 -1
  328. package/dist/domains/chat/tools/tool-card.cjs.js +1 -1
  329. package/dist/domains/chat/tools/tool-card.es.js +1 -1
  330. package/dist/domains/chat/tools/tool-groups.cjs.js +3 -2
  331. package/dist/domains/chat/tools/tool-groups.cjs.js.map +1 -1
  332. package/dist/domains/chat/tools/tool-groups.es.js +3 -2
  333. package/dist/domains/chat/tools/tool-groups.es.js.map +1 -1
  334. package/dist/domains/chat.cjs.js +11 -0
  335. package/dist/domains/chat.es.js +5 -1
  336. package/dist/domains/dashboards/components/dashboard-renderer.cjs.js +1 -1
  337. package/dist/domains/dashboards/components/dashboard-renderer.es.js +1 -1
  338. package/dist/domains/datasets/components/add-dataset-item-dialog/add-dataset-item-dialog.cjs.js +4 -4
  339. package/dist/domains/datasets/components/add-dataset-item-dialog/add-dataset-item-dialog.es.js +4 -4
  340. package/dist/domains/datasets/components/add-dataset-item-dialog/dataset-picker.cjs.js +1 -1
  341. package/dist/domains/datasets/components/add-dataset-item-dialog/dataset-picker.es.js +1 -1
  342. package/dist/domains/datasets/components/add-dataset-item-dialog/trajectory-editor.cjs.js +3 -3
  343. package/dist/domains/datasets/components/add-dataset-item-dialog/trajectory-editor.es.js +3 -3
  344. package/dist/domains/datasets/components/save-as-dataset-item-dialog.cjs.js +5 -5
  345. package/dist/domains/datasets/components/save-as-dataset-item-dialog.es.js +5 -5
  346. package/dist/domains/knowledge/components/KnowledgePageDetail.cjs.js +438 -0
  347. package/dist/domains/knowledge/components/KnowledgePageDetail.cjs.js.map +1 -0
  348. package/dist/domains/knowledge/components/KnowledgePageDetail.d.ts +1 -0
  349. package/dist/domains/knowledge/components/KnowledgePageDetail.es.js +436 -0
  350. package/dist/domains/knowledge/components/KnowledgePageDetail.es.js.map +1 -0
  351. package/dist/domains/knowledge/components/KnowledgePageExplorer.cjs.js +521 -0
  352. package/dist/domains/knowledge/components/KnowledgePageExplorer.cjs.js.map +1 -0
  353. package/dist/domains/knowledge/components/KnowledgePageExplorer.d.ts +1 -0
  354. package/dist/domains/knowledge/components/KnowledgePageExplorer.es.js +520 -0
  355. package/dist/domains/knowledge/components/KnowledgePageExplorer.es.js.map +1 -0
  356. package/dist/domains/knowledge/components/KnowledgePageGraph.cjs.js +626 -0
  357. package/dist/domains/knowledge/components/KnowledgePageGraph.cjs.js.map +1 -0
  358. package/dist/domains/knowledge/components/KnowledgePageGraph.d.ts +1 -0
  359. package/dist/domains/knowledge/components/KnowledgePageGraph.es.js +625 -0
  360. package/dist/domains/knowledge/components/KnowledgePageGraph.es.js.map +1 -0
  361. package/dist/domains/knowledge/components/KnowledgePageTree.cjs.js +170 -0
  362. package/dist/domains/knowledge/components/KnowledgePageTree.cjs.js.map +1 -0
  363. package/dist/domains/knowledge/components/KnowledgePageTree.d.ts +1 -0
  364. package/dist/domains/knowledge/components/KnowledgePageTree.es.js +168 -0
  365. package/dist/domains/knowledge/components/KnowledgePageTree.es.js.map +1 -0
  366. package/dist/domains/knowledge/hooks/useInteractionIdle.cjs.js +37 -0
  367. package/dist/domains/knowledge/hooks/useInteractionIdle.cjs.js.map +1 -0
  368. package/dist/domains/knowledge/hooks/useInteractionIdle.d.ts +1 -0
  369. package/dist/domains/knowledge/hooks/useInteractionIdle.es.js +35 -0
  370. package/dist/domains/knowledge/hooks/useInteractionIdle.es.js.map +1 -0
  371. package/dist/domains/knowledge/lib/layout.cjs.js +93 -0
  372. package/dist/domains/knowledge/lib/layout.cjs.js.map +1 -0
  373. package/dist/domains/knowledge/lib/layout.d.ts +1 -0
  374. package/dist/domains/knowledge/lib/layout.es.js +92 -0
  375. package/dist/domains/knowledge/lib/layout.es.js.map +1 -0
  376. package/dist/domains/knowledge/lib/pageGraph.cjs.js +135 -0
  377. package/dist/domains/knowledge/lib/pageGraph.cjs.js.map +1 -0
  378. package/dist/domains/knowledge/lib/pageGraph.d.ts +1 -0
  379. package/dist/domains/knowledge/lib/pageGraph.es.js +128 -0
  380. package/dist/domains/knowledge/lib/pageGraph.es.js.map +1 -0
  381. package/dist/domains/knowledge/lib/pageLayout.cjs.js +49 -0
  382. package/dist/domains/knowledge/lib/pageLayout.cjs.js.map +1 -0
  383. package/dist/domains/knowledge/lib/pageLayout.d.ts +1 -0
  384. package/dist/domains/knowledge/lib/pageLayout.es.js +48 -0
  385. package/dist/domains/knowledge/lib/pageLayout.es.js.map +1 -0
  386. package/dist/domains/knowledge/lib/pageTree.cjs.js +98 -0
  387. package/dist/domains/knowledge/lib/pageTree.cjs.js.map +1 -0
  388. package/dist/domains/knowledge/lib/pageTree.d.ts +1 -0
  389. package/dist/domains/knowledge/lib/pageTree.es.js +94 -0
  390. package/dist/domains/knowledge/lib/pageTree.es.js.map +1 -0
  391. package/dist/domains/knowledge/lib/popupPlacement.cjs.js +22 -0
  392. package/dist/domains/knowledge/lib/popupPlacement.cjs.js.map +1 -0
  393. package/dist/domains/knowledge/lib/popupPlacement.d.ts +1 -0
  394. package/dist/domains/knowledge/lib/popupPlacement.es.js +21 -0
  395. package/dist/domains/knowledge/lib/popupPlacement.es.js.map +1 -0
  396. package/dist/domains/knowledge/lib/recordText.cjs.js +26 -0
  397. package/dist/domains/knowledge/lib/recordText.cjs.js.map +1 -0
  398. package/dist/domains/knowledge/lib/recordText.d.ts +1 -0
  399. package/dist/domains/knowledge/lib/recordText.es.js +25 -0
  400. package/dist/domains/knowledge/lib/recordText.es.js.map +1 -0
  401. package/dist/domains/knowledge/pageTypes.cjs.js +0 -0
  402. package/dist/domains/knowledge/pageTypes.d.ts +1 -0
  403. package/dist/domains/knowledge/pageTypes.es.js +0 -0
  404. package/dist/domains/logs/components/log-data-panel.cjs.js +6 -6
  405. package/dist/domains/logs/components/log-data-panel.cjs.js.map +1 -1
  406. package/dist/domains/logs/components/log-data-panel.es.js +4 -4
  407. package/dist/domains/logs/components/logs-list-view.cjs.js +2 -2
  408. package/dist/domains/logs/components/logs-list-view.es.js +2 -2
  409. package/dist/domains/logs/components/logs-saved-views.cjs.js +1 -1
  410. package/dist/domains/logs/components/logs-saved-views.es.js +1 -1
  411. package/dist/domains/logs/components/logs-toolbar.cjs.js +1 -1
  412. package/dist/domains/logs/components/logs-toolbar.es.js +1 -1
  413. package/dist/domains/logs/components/no-logs-info.cjs.js +1 -1
  414. package/dist/domains/logs/components/no-logs-info.es.js +1 -1
  415. package/dist/domains/logs/hooks/use-logs-filter-persistence.cjs.js +1 -1
  416. package/dist/domains/logs/hooks/use-logs-filter-persistence.es.js +1 -1
  417. package/dist/domains/memory/components/flame-graph.cjs.js +1 -1
  418. package/dist/domains/memory/components/flame-graph.es.js +1 -1
  419. package/dist/domains/memory/components/memory-studio-panel.cjs.js +1 -1
  420. package/dist/domains/memory/components/memory-studio-panel.es.js +1 -1
  421. package/dist/domains/metrics/components/card-action-buttons.cjs.js +1 -1
  422. package/dist/domains/metrics/components/card-action-buttons.es.js +1 -1
  423. package/dist/domains/metrics/components/chart-card-error.cjs.js +1 -1
  424. package/dist/domains/metrics/components/chart-card-error.es.js +1 -1
  425. package/dist/domains/metrics/components/date-range-selector.cjs.js +2 -2
  426. package/dist/domains/metrics/components/date-range-selector.cjs.js.map +1 -1
  427. package/dist/domains/metrics/components/date-range-selector.es.js +1 -1
  428. package/dist/domains/metrics/components/metrics-time-range-chip.cjs.js +4 -4
  429. package/dist/domains/metrics/components/metrics-time-range-chip.cjs.js.map +1 -1
  430. package/dist/domains/metrics/components/metrics-time-range-chip.es.js +4 -4
  431. package/dist/domains/metrics/components/metrics-time-range-chip.es.js.map +1 -1
  432. package/dist/domains/metrics/drilldown.cjs.js +1 -1
  433. package/dist/domains/metrics/drilldown.es.js +1 -1
  434. package/dist/domains/metrics/metrics-filters.cjs.js +1 -1
  435. package/dist/domains/metrics/metrics-filters.es.js +1 -1
  436. package/dist/domains/observability/hooks/use-observability-list-filters.cjs.js +1 -1
  437. package/dist/domains/observability/hooks/use-observability-list-filters.es.js +1 -1
  438. package/dist/domains/observability/observability-list-url-state.cjs.js +1 -1
  439. package/dist/domains/observability/observability-list-url-state.es.js +1 -1
  440. package/dist/domains/observability/saved-view-state.cjs.js +1 -1
  441. package/dist/domains/observability/saved-view-state.es.js +1 -1
  442. package/dist/domains/observability/saved-views/observability-saved-views.cjs.js +1 -1
  443. package/dist/domains/observability/saved-views/observability-saved-views.es.js +1 -1
  444. package/dist/domains/observability/saved-views/saved-views-provider.cjs.js +3 -2
  445. package/dist/domains/observability/saved-views/saved-views-provider.cjs.js.map +1 -1
  446. package/dist/domains/observability/saved-views/saved-views-provider.es.js +3 -2
  447. package/dist/domains/observability/saved-views/saved-views-provider.es.js.map +1 -1
  448. package/dist/domains/observability/saved-views/saved-views-source.cjs.js.map +1 -1
  449. package/dist/domains/observability/saved-views/saved-views-source.es.js.map +1 -1
  450. package/dist/domains/observability/saved-views/use-hosted-saved-views.cjs.js +3 -2
  451. package/dist/domains/observability/saved-views/use-hosted-saved-views.cjs.js.map +1 -1
  452. package/dist/domains/observability/saved-views/use-hosted-saved-views.es.js +3 -2
  453. package/dist/domains/observability/saved-views/use-hosted-saved-views.es.js.map +1 -1
  454. package/dist/domains/observability/saved-views.cjs.js +1 -1
  455. package/dist/domains/observability/saved-views.es.js +1 -1
  456. package/dist/domains/observability.cjs.js +1 -1
  457. package/dist/domains/observability.es.js +1 -1
  458. package/dist/domains/scores/components/score-data-panel.cjs.js +2 -2
  459. package/dist/domains/scores/components/score-data-panel.es.js +2 -2
  460. package/dist/domains/scores/components/span-scoring.cjs.js +4 -4
  461. package/dist/domains/scores/components/span-scoring.es.js +4 -4
  462. package/dist/domains/scores/components/trace-scores-list.cjs.js +2 -2
  463. package/dist/domains/scores/components/trace-scores-list.es.js +2 -2
  464. package/dist/domains/scores/components/trace-scores-tab.cjs.js +1 -1
  465. package/dist/domains/scores/components/trace-scores-tab.es.js +1 -1
  466. package/dist/domains/skills/skill-simple-form.cjs.js +4 -4
  467. package/dist/domains/skills/skill-simple-form.cjs.js.map +1 -1
  468. package/dist/domains/skills/skill-simple-form.es.js +4 -4
  469. package/dist/domains/skills/skill-simple-form.es.js.map +1 -1
  470. package/dist/domains/spans/components/spans-explorer-body.cjs.js +8 -8
  471. package/dist/domains/spans/components/spans-explorer-body.cjs.js.map +1 -1
  472. package/dist/domains/spans/components/spans-explorer-body.es.js +8 -8
  473. package/dist/domains/spans/components/spans-explorer-body.es.js.map +1 -1
  474. package/dist/domains/spans/components/spans-filter-bar.cjs.js +5 -5
  475. package/dist/domains/spans/components/spans-filter-bar.cjs.js.map +1 -1
  476. package/dist/domains/spans/components/spans-filter-bar.es.js +5 -5
  477. package/dist/domains/spans/components/spans-filter-bar.es.js.map +1 -1
  478. package/dist/domains/spans/hooks/use-spans-filter-bar.cjs.js +5 -5
  479. package/dist/domains/spans/hooks/use-spans-filter-bar.cjs.js.map +1 -1
  480. package/dist/domains/spans/hooks/use-spans-filter-bar.es.js +5 -5
  481. package/dist/domains/spans/hooks/use-spans-filter-bar.es.js.map +1 -1
  482. package/dist/domains/spans/span-filters.cjs.js +2 -2
  483. package/dist/domains/spans/span-filters.cjs.js.map +1 -1
  484. package/dist/domains/spans/span-filters.es.js +2 -2
  485. package/dist/domains/spans/span-filters.es.js.map +1 -1
  486. package/dist/domains/threads/components/threads-explorer-body.cjs.js +8 -8
  487. package/dist/domains/threads/components/threads-explorer-body.cjs.js.map +1 -1
  488. package/dist/domains/threads/components/threads-explorer-body.es.js +8 -8
  489. package/dist/domains/threads/components/threads-explorer-body.es.js.map +1 -1
  490. package/dist/domains/threads/components/threads-filter-bar.cjs.js +5 -5
  491. package/dist/domains/threads/components/threads-filter-bar.cjs.js.map +1 -1
  492. package/dist/domains/threads/components/threads-filter-bar.es.js +5 -5
  493. package/dist/domains/threads/components/threads-filter-bar.es.js.map +1 -1
  494. package/dist/domains/threads/hooks/use-threads-filter-bar.cjs.js +5 -5
  495. package/dist/domains/threads/hooks/use-threads-filter-bar.cjs.js.map +1 -1
  496. package/dist/domains/threads/hooks/use-threads-filter-bar.es.js +5 -5
  497. package/dist/domains/threads/hooks/use-threads-filter-bar.es.js.map +1 -1
  498. package/dist/domains/threads/thread-filters.cjs.js +2 -2
  499. package/dist/domains/threads/thread-filters.cjs.js.map +1 -1
  500. package/dist/domains/threads/thread-filters.es.js +2 -2
  501. package/dist/domains/threads/thread-filters.es.js.map +1 -1
  502. package/dist/domains/traces/components/columns-menu/columns-menu.cjs.js +1 -1
  503. package/dist/domains/traces/components/columns-menu/columns-menu.es.js +1 -1
  504. package/dist/domains/traces/components/feedback-thread.cjs.js +3 -3
  505. package/dist/domains/traces/components/feedback-thread.es.js +3 -3
  506. package/dist/domains/traces/components/span-data-panel-view.cjs.js +5 -5
  507. package/dist/domains/traces/components/span-data-panel-view.es.js +5 -5
  508. package/dist/domains/traces/components/span-details-view.cjs.js +1 -1
  509. package/dist/domains/traces/components/span-details-view.es.js +1 -1
  510. package/dist/domains/traces/components/span-outcome.cjs.js +1 -1
  511. package/dist/domains/traces/components/span-outcome.es.js +1 -1
  512. package/dist/domains/traces/components/span-payload/span-error-renderer.cjs.js +2 -2
  513. package/dist/domains/traces/components/span-payload/span-error-renderer.es.js +2 -2
  514. package/dist/domains/traces/components/span-payload/span-input-renderers.cjs.js +1 -1
  515. package/dist/domains/traces/components/span-payload/span-input-renderers.es.js +1 -1
  516. package/dist/domains/traces/components/span-payload/span-output-renderers.cjs.js +3 -3
  517. package/dist/domains/traces/components/span-payload/span-output-renderers.es.js +3 -3
  518. package/dist/domains/traces/components/span-payload/span-payload-json.cjs.js +1 -1
  519. package/dist/domains/traces/components/span-payload/span-payload-json.es.js +1 -1
  520. package/dist/domains/traces/components/span-payload/span-payload-messages.cjs.js +3 -3
  521. package/dist/domains/traces/components/span-payload/span-payload-messages.es.js +3 -3
  522. package/dist/domains/traces/components/span-payload/span-payload-primitives.cjs.js +1 -1
  523. package/dist/domains/traces/components/span-payload/span-payload-primitives.es.js +1 -1
  524. package/dist/domains/traces/components/span-payload/span-payload-processor.cjs.js +1 -1
  525. package/dist/domains/traces/components/span-payload/span-payload-processor.es.js +1 -1
  526. package/dist/domains/traces/components/span-payload/span-payload-section.cjs.js +2 -2
  527. package/dist/domains/traces/components/span-payload/span-payload-section.es.js +2 -2
  528. package/dist/domains/traces/components/span-payload/span-payload-tool.cjs.js +1 -1
  529. package/dist/domains/traces/components/span-payload/span-payload-tool.es.js +1 -1
  530. package/dist/domains/traces/components/span-payload/span-processor-mutations.cjs.js +1 -1
  531. package/dist/domains/traces/components/span-payload/span-processor-mutations.es.js +1 -1
  532. package/dist/domains/traces/components/span-payload/span-tools-section.cjs.js +1 -1
  533. package/dist/domains/traces/components/span-payload/span-tools-section.es.js +1 -1
  534. package/dist/domains/traces/components/span-summary-description.cjs.js +1 -1
  535. package/dist/domains/traces/components/span-summary-description.es.js +1 -1
  536. package/dist/domains/traces/components/thread-trace/thread-trace-details.cjs.js +1 -1
  537. package/dist/domains/traces/components/thread-trace/thread-trace-details.es.js +1 -1
  538. package/dist/domains/traces/components/thread-trace/thread-trace-messages.cjs.js +2 -2
  539. package/dist/domains/traces/components/thread-trace/thread-trace-messages.es.js +2 -2
  540. package/dist/domains/traces/components/thread-trace/thread-trace-row.cjs.js +1 -1
  541. package/dist/domains/traces/components/thread-trace/thread-trace-row.es.js +1 -1
  542. package/dist/domains/traces/components/thread-trace/thread-trace-spans.cjs.js +1 -1
  543. package/dist/domains/traces/components/thread-trace/thread-trace-spans.es.js +1 -1
  544. package/dist/domains/traces/components/thread-view-by-trace.cjs.js +1 -1
  545. package/dist/domains/traces/components/thread-view-by-trace.es.js +1 -1
  546. package/dist/domains/traces/components/trace-columns-menu.cjs.js +3 -4
  547. package/dist/domains/traces/components/trace-columns-menu.cjs.js.map +1 -1
  548. package/dist/domains/traces/components/trace-columns-menu.es.js +3 -4
  549. package/dist/domains/traces/components/trace-columns-menu.es.js.map +1 -1
  550. package/dist/domains/traces/components/trace-data-panel-view.cjs.js +4 -4
  551. package/dist/domains/traces/components/trace-data-panel-view.es.js +4 -4
  552. package/dist/domains/traces/components/trace-data-panel.cjs.js +1 -1
  553. package/dist/domains/traces/components/trace-data-panel.es.js +1 -1
  554. package/dist/domains/traces/components/trace-details-view.cjs.js +1 -1
  555. package/dist/domains/traces/components/trace-details-view.es.js +1 -1
  556. package/dist/domains/traces/components/trace-error-cell.cjs.js +1 -1
  557. package/dist/domains/traces/components/trace-error-cell.es.js +1 -1
  558. package/dist/domains/traces/components/trace-error-summary.cjs.js +1 -1
  559. package/dist/domains/traces/components/trace-error-summary.es.js +1 -1
  560. package/dist/domains/traces/components/trace-id-button.cjs.js +1 -1
  561. package/dist/domains/traces/components/trace-id-button.es.js +1 -1
  562. package/dist/domains/traces/components/trace-span-panel.cjs.js +1 -1
  563. package/dist/domains/traces/components/trace-span-panel.es.js +1 -1
  564. package/dist/domains/traces/components/trace-summary-description.cjs.js +1 -1
  565. package/dist/domains/traces/components/trace-summary-description.es.js +1 -1
  566. package/dist/domains/traces/components/trace-thread-item-view.cjs.js +1 -1
  567. package/dist/domains/traces/components/trace-thread-item-view.es.js +1 -1
  568. package/dist/domains/traces/components/trace-thread-panel.cjs.js +1 -1
  569. package/dist/domains/traces/components/trace-thread-panel.es.js +1 -1
  570. package/dist/domains/traces/components/traces-explorer/traces-explorer-actions.cjs.js +1 -1
  571. package/dist/domains/traces/components/traces-explorer/traces-explorer-actions.es.js +1 -1
  572. package/dist/domains/traces/components/traces-explorer/traces-explorer-filter-bar.cjs.js +5 -5
  573. package/dist/domains/traces/components/traces-explorer/traces-explorer-filter-bar.cjs.js.map +1 -1
  574. package/dist/domains/traces/components/traces-explorer/traces-explorer-filter-bar.es.js +5 -5
  575. package/dist/domains/traces/components/traces-explorer/traces-explorer-filter-bar.es.js.map +1 -1
  576. package/dist/domains/traces/components/traces-explorer/traces-explorer-root.cjs.js +1 -1
  577. package/dist/domains/traces/components/traces-explorer/traces-explorer-root.es.js +1 -1
  578. package/dist/domains/traces/components/traces-explorer/traces-explorer-saved-views.cjs.js +1 -1
  579. package/dist/domains/traces/components/traces-explorer/traces-explorer-saved-views.es.js +1 -1
  580. package/dist/domains/traces/components/traces-explorer/use-traces-filter-bar.cjs.js +5 -5
  581. package/dist/domains/traces/components/traces-explorer/use-traces-filter-bar.cjs.js.map +1 -1
  582. package/dist/domains/traces/components/traces-explorer/use-traces-filter-bar.es.js +5 -5
  583. package/dist/domains/traces/components/traces-explorer/use-traces-filter-bar.es.js.map +1 -1
  584. package/dist/domains/traces/components/traces-list-mode-toggle.cjs.js +1 -1
  585. package/dist/domains/traces/components/traces-list-mode-toggle.es.js +1 -1
  586. package/dist/domains/traces/components/traces-list-view.cjs.js +2 -2
  587. package/dist/domains/traces/components/traces-list-view.es.js +2 -2
  588. package/dist/domains/traces/components/traces-page-skeleton.cjs.js +2 -2
  589. package/dist/domains/traces/components/traces-page-skeleton.cjs.js.map +1 -1
  590. package/dist/domains/traces/components/traces-page-skeleton.es.js +2 -2
  591. package/dist/domains/traces/components/traces-page-skeleton.es.js.map +1 -1
  592. package/dist/domains/traces/components/traces-spans-switch.cjs.js +1 -1
  593. package/dist/domains/traces/components/traces-spans-switch.es.js +1 -1
  594. package/dist/domains/traces/hooks/use-download-trace-json.cjs.js +1 -1
  595. package/dist/domains/traces/hooks/use-download-trace-json.es.js +1 -1
  596. package/dist/domains/traces/trace-filters.cjs.js +1 -1
  597. package/dist/domains/traces/trace-filters.es.js +1 -1
  598. package/dist/domains/traces/trace-query-filters.cjs.js +1 -1
  599. package/dist/domains/traces/trace-query-filters.es.js +1 -1
  600. package/dist/domains/traces.cjs.js +1 -1
  601. package/dist/domains/traces.es.js +1 -1
  602. package/dist/domains/workflows/components/workflow-combobox.cjs.js +2 -2
  603. package/dist/domains/workflows/components/workflow-combobox.es.js +2 -2
  604. package/dist/domains/workflows/components/workflow-information.cjs.js +2 -2
  605. package/dist/domains/workflows/components/workflow-information.es.js +2 -2
  606. package/dist/domains/workflows/components/workflow-layout.cjs.js +1 -1
  607. package/dist/domains/workflows/components/workflow-layout.es.js +1 -1
  608. package/dist/domains/workflows/components/workflow-step-detail.cjs.js +2 -2
  609. package/dist/domains/workflows/components/workflow-step-detail.es.js +2 -2
  610. package/dist/domains/workflows/components/workflows-list/no-workflows-info.cjs.js +1 -1
  611. package/dist/domains/workflows/components/workflows-list/no-workflows-info.es.js +1 -1
  612. package/dist/domains/workflows/components/workflows-list/workflows-list.cjs.js +2 -2
  613. package/dist/domains/workflows/components/workflows-list/workflows-list.es.js +2 -2
  614. package/dist/domains/workflows/context/use-stream-for-run.cjs.js +1 -1
  615. package/dist/domains/workflows/context/use-stream-for-run.es.js +1 -1
  616. package/dist/domains/workflows/runs/workflow-run-list.cjs.js +1 -1
  617. package/dist/domains/workflows/runs/workflow-run-list.es.js +1 -1
  618. package/dist/domains/workflows/workflow/data/workflow-data-button.cjs.js +1 -1
  619. package/dist/domains/workflows/workflow/data/workflow-data-button.es.js +1 -1
  620. package/dist/domains/workflows/workflow/data/workflow-data-inspector.cjs.js +2 -2
  621. package/dist/domains/workflows/workflow/data/workflow-data-inspector.es.js +2 -2
  622. package/dist/domains/workflows/workflow/input/workflow-json-input.cjs.js +1 -1
  623. package/dist/domains/workflows/workflow/input/workflow-json-input.es.js +1 -1
  624. package/dist/domains/workflows/workflow/input/workflow-processor-input.cjs.js +1 -1
  625. package/dist/domains/workflows/workflow/input/workflow-processor-input.es.js +1 -1
  626. package/dist/domains/workflows/workflow/use-workflow-graph-runtime.cjs.js +1 -1
  627. package/dist/domains/workflows/workflow/use-workflow-graph-runtime.es.js +1 -1
  628. package/dist/domains/workflows/workflow/use-workflow-trigger.cjs.js +2 -1
  629. package/dist/domains/workflows/workflow/use-workflow-trigger.cjs.js.map +1 -1
  630. package/dist/domains/workflows/workflow/use-workflow-trigger.es.js +2 -1
  631. package/dist/domains/workflows/workflow/use-workflow-trigger.es.js.map +1 -1
  632. package/dist/domains/workflows/workflow/utils.cjs.js +1 -1
  633. package/dist/domains/workflows/workflow/utils.es.js +1 -1
  634. package/dist/domains/workflows/workflow/workflow-body-graph.cjs.js +1 -1
  635. package/dist/domains/workflows/workflow/workflow-body-graph.es.js +1 -1
  636. package/dist/domains/workflows/workflow/workflow-cancel-button.cjs.js +1 -1
  637. package/dist/domains/workflows/workflow/workflow-cancel-button.es.js +1 -1
  638. package/dist/domains/workflows/workflow/workflow-data-edge.cjs.js +1 -1
  639. package/dist/domains/workflows/workflow/workflow-data-edge.es.js +1 -1
  640. package/dist/domains/workflows/workflow/workflow-debug-step-controls.cjs.js +1 -1
  641. package/dist/domains/workflows/workflow/workflow-debug-step-controls.es.js +1 -1
  642. package/dist/domains/workflows/workflow/workflow-graph-boundary.cjs.js +3 -3
  643. package/dist/domains/workflows/workflow/workflow-graph-boundary.es.js +3 -3
  644. package/dist/domains/workflows/workflow/workflow-graph-inner.cjs.js +2 -2
  645. package/dist/domains/workflows/workflow/workflow-graph-inner.es.js +2 -2
  646. package/dist/domains/workflows/workflow/workflow-graph-layout.cjs.js +1 -1
  647. package/dist/domains/workflows/workflow/workflow-graph-layout.es.js +1 -1
  648. package/dist/domains/workflows/workflow/workflow-graph-node.cjs.js +1 -1
  649. package/dist/domains/workflows/workflow/workflow-graph-node.es.js +1 -1
  650. package/dist/domains/workflows/workflow/workflow-graph.cjs.js +1 -1
  651. package/dist/domains/workflows/workflow/workflow-graph.es.js +1 -1
  652. package/dist/domains/workflows/workflow/workflow-map-config-dialog.cjs.js +3 -3
  653. package/dist/domains/workflows/workflow/workflow-map-config-dialog.es.js +3 -3
  654. package/dist/domains/workflows/workflow/workflow-nested-graph.cjs.js +1 -1
  655. package/dist/domains/workflows/workflow/workflow-nested-graph.es.js +1 -1
  656. package/dist/domains/workflows/workflow/workflow-run-data.cjs.js +3 -3
  657. package/dist/domains/workflows/workflow/workflow-run-data.es.js +3 -3
  658. package/dist/domains/workflows/workflow/workflow-run-error.cjs.js +1 -1
  659. package/dist/domains/workflows/workflow/workflow-run-error.es.js +1 -1
  660. package/dist/domains/workflows/workflow/workflow-run-header.cjs.js +1 -1
  661. package/dist/domains/workflows/workflow/workflow-run-header.es.js +1 -1
  662. package/dist/domains/workflows/workflow/workflow-status.cjs.js +1 -1
  663. package/dist/domains/workflows/workflow/workflow-status.es.js +1 -1
  664. package/dist/domains/workflows/workflow/workflow-step-action-bar.cjs.js +2 -2
  665. package/dist/domains/workflows/workflow/workflow-step-action-bar.es.js +2 -2
  666. package/dist/domains/workflows/workflow/workflow-step-node-utils.cjs.js +1 -1
  667. package/dist/domains/workflows/workflow/workflow-step-node-utils.es.js +1 -1
  668. package/dist/domains/workflows/workflow/workflow-suspended-steps.cjs.js +2 -2
  669. package/dist/domains/workflows/workflow/workflow-suspended-steps.es.js +2 -2
  670. package/dist/domains/workflows/workflow/workflow-time-travel-form.cjs.js +2 -2
  671. package/dist/domains/workflows/workflow/workflow-time-travel-form.es.js +2 -2
  672. package/dist/domains/workflows/workflow/workflow-timeline-row.cjs.js +1 -1
  673. package/dist/domains/workflows/workflow/workflow-timeline-row.es.js +1 -1
  674. package/dist/domains/workflows/workflow/workflow-timeline.cjs.js +1 -1
  675. package/dist/domains/workflows/workflow/workflow-timeline.es.js +1 -1
  676. package/dist/domains/workflows/workflow/workflow-trigger-form.cjs.js +1 -1
  677. package/dist/domains/workflows/workflow/workflow-trigger-form.es.js +1 -1
  678. package/dist/domains/workflows/workflow/workflow-trigger-header.cjs.js +1 -1
  679. package/dist/domains/workflows/workflow/workflow-trigger-header.es.js +1 -1
  680. package/dist/domains/workflows/workflow/workflow-trigger.cjs.js +1 -1
  681. package/dist/domains/workflows/workflow/workflow-trigger.es.js +1 -1
  682. package/dist/domains/workspace/components/workspace-add-skill-dialog.cjs.js +3 -3
  683. package/dist/domains/workspace/components/workspace-add-skill-dialog.es.js +3 -3
  684. package/dist/domains/workspace/components/workspace-add-skill.cjs.js +1 -1
  685. package/dist/domains/workspace/components/workspace-add-skill.es.js +1 -1
  686. package/dist/domains/workspace/components/workspace-create-directory.cjs.js +2 -2
  687. package/dist/domains/workspace/components/workspace-create-directory.es.js +2 -2
  688. package/dist/domains/workspace/components/workspace-error.cjs.js +1 -1
  689. package/dist/domains/workspace/components/workspace-error.es.js +1 -1
  690. package/dist/domains/workspace/components/workspace-markdown-preview.cjs.js +1 -1
  691. package/dist/domains/workspace/components/workspace-markdown-preview.es.js +1 -1
  692. package/dist/domains/workspace/components/workspace-search.cjs.js +1 -1
  693. package/dist/domains/workspace/components/workspace-search.es.js +1 -1
  694. package/dist/domains/workspace/components/workspace-tree.cjs.js +1 -1
  695. package/dist/domains/workspace/components/workspace-tree.es.js +1 -1
  696. package/dist/ee/signals/components/entity-index-list.cjs.js +1 -1
  697. package/dist/ee/signals/components/entity-index-list.es.js +1 -1
  698. package/dist/ee/signals/components/signals-empty-state.cjs.js +1 -1
  699. package/dist/ee/signals/components/signals-empty-state.es.js +1 -1
  700. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js +6 -6
  701. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js.map +1 -1
  702. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js +5 -5
  703. package/dist/ee/signals/examples-pager.cjs.js +1 -1
  704. package/dist/ee/signals/examples-pager.es.js +1 -1
  705. package/dist/ee/signals/sankey-signals.cjs.js +1 -1
  706. package/dist/ee/signals/sankey-signals.es.js +1 -1
  707. package/dist/ee/signals/settings/signal-definition-form-dialog.cjs.js +2 -2
  708. package/dist/ee/signals/settings/signal-definition-form-dialog.es.js +2 -2
  709. package/dist/ee/signals/settings/trace-signal-settings.cjs.js +3 -3
  710. package/dist/ee/signals/settings/trace-signal-settings.es.js +3 -3
  711. package/dist/ee/signals/signals-error-state.cjs.js +1 -1
  712. package/dist/ee/signals/signals-error-state.es.js +1 -1
  713. package/dist/ee/signals/snapshot-timeline.cjs.js +1 -1
  714. package/dist/ee/signals/snapshot-timeline.es.js +1 -1
  715. package/dist/ee/signals/theme-filter-banner.cjs.js +1 -1
  716. package/dist/ee/signals/theme-filter-banner.es.js +1 -1
  717. package/dist/ee/signals/trace-insight-view.cjs.js +1 -1
  718. package/dist/ee/signals/trace-insight-view.es.js +1 -1
  719. package/dist/ee/signals/view-mode-tab.cjs.js +1 -1
  720. package/dist/ee/signals/view-mode-tab.es.js +1 -1
  721. package/dist/ee/topics/components/topic-trace-summary-list.cjs.js +2 -2
  722. package/dist/ee/topics/components/topic-trace-summary-list.es.js +2 -2
  723. package/dist/{filter-bar-chip-7O02P9Vk.js → filter-bar-chip-B4sV4gDm.js} +86 -71
  724. package/dist/filter-bar-chip-B4sV4gDm.js.map +1 -0
  725. package/dist/{filter-bar-chip-BUyMf8XQ.cjs → filter-bar-chip-CIEsWcEw.cjs} +88 -79
  726. package/dist/filter-bar-chip-CIEsWcEw.cjs.map +1 -0
  727. package/dist/filter-bar-chip.css +22 -0
  728. package/dist/filter-bar-time-range-CXQMBgpz.js +60 -0
  729. package/dist/filter-bar-time-range-CXQMBgpz.js.map +1 -0
  730. package/dist/filter-bar-time-range-DvuaFnkI.cjs +83 -0
  731. package/dist/filter-bar-time-range-DvuaFnkI.cjs.map +1 -0
  732. package/dist/hooks/use-copy-to-clipboard.cjs.js +1 -1
  733. package/dist/hooks/use-copy-to-clipboard.es.js +1 -1
  734. package/dist/{input-group-uDpFNnSW.cjs → input-group-DVJLZDBL.cjs} +6 -4
  735. package/dist/input-group-DVJLZDBL.cjs.map +1 -0
  736. package/dist/{input-group-g85FYfze.js → input-group-QKKV_ouF.js} +7 -5
  737. package/dist/input-group-QKKV_ouF.js.map +1 -0
  738. package/dist/layout/tabbed-container.cjs.js +1 -1
  739. package/dist/layout/tabbed-container.es.js +1 -1
  740. package/dist/lib/form/components/array-element-wrapper.cjs.js +1 -1
  741. package/dist/lib/form/components/array-element-wrapper.es.js +1 -1
  742. package/dist/lib/form/components/array-wrapper.cjs.js +1 -1
  743. package/dist/lib/form/components/array-wrapper.es.js +1 -1
  744. package/dist/lib/form/components/date-field.cjs.js +1 -1
  745. package/dist/lib/form/components/date-field.es.js +1 -1
  746. package/dist/lib/form/components/error-message.cjs.js +1 -1
  747. package/dist/lib/form/components/error-message.es.js +1 -1
  748. package/dist/lib/form/components/form-submit-row.cjs.js +1 -1
  749. package/dist/lib/form/components/form-submit-row.es.js +1 -1
  750. package/dist/lib/form/components/record-field.cjs.js +1 -1
  751. package/dist/lib/form/components/record-field.es.js +1 -1
  752. package/dist/lib/form/components/select-field.cjs.js +1 -1
  753. package/dist/lib/form/components/select-field.es.js +1 -1
  754. package/dist/lib/form/components/submit-button.cjs.js +1 -1
  755. package/dist/lib/form/components/submit-button.es.js +1 -1
  756. package/dist/lib/form/dynamic-form.cjs.js +2 -2
  757. package/dist/lib/form/dynamic-form.cjs.js.map +1 -1
  758. package/dist/lib/form/dynamic-form.es.js +2 -2
  759. package/dist/lib/form/dynamic-form.es.js.map +1 -1
  760. package/dist/lib/form/json-draft.cjs.js +1 -1
  761. package/dist/lib/form/json-draft.es.js +1 -1
  762. package/dist/lib/form/zod-provider/compat.cjs.js +8 -0
  763. package/dist/lib/form/zod-provider/compat.cjs.js.map +1 -1
  764. package/dist/lib/form/zod-provider/compat.es.js +8 -1
  765. package/dist/lib/form/zod-provider/compat.es.js.map +1 -1
  766. package/dist/lib/form/zod-provider.cjs.js +1 -1
  767. package/dist/lib/form/zod-provider.es.js +1 -1
  768. package/dist/{list-search-BEJmYa9a.cjs → list-search-BtRno5As.cjs} +2 -2
  769. package/dist/list-search-BtRno5As.cjs.map +1 -0
  770. package/dist/{list-search-bg7WzULj.js → list-search-CkhsTFdG.js} +2 -2
  771. package/dist/list-search-CkhsTFdG.js.map +1 -0
  772. package/dist/{observability-saved-views-CwCii7hh.cjs → observability-saved-views-BAzxxoAr.cjs} +10 -8
  773. package/dist/observability-saved-views-BAzxxoAr.cjs.map +1 -0
  774. package/dist/{observability-saved-views-Bo5kLN20.js → observability-saved-views-BBam8Fr5.js} +10 -8
  775. package/dist/observability-saved-views-BBam8Fr5.js.map +1 -0
  776. package/dist/primitives/control-icon.cjs.js +9 -0
  777. package/dist/primitives/control-icon.cjs.js.map +1 -0
  778. package/dist/primitives/control-icon.d.ts +1 -0
  779. package/dist/primitives/control-icon.es.js +8 -0
  780. package/dist/primitives/control-icon.es.js.map +1 -0
  781. package/dist/primitives/control-size.cjs.js +6 -0
  782. package/dist/primitives/control-size.cjs.js.map +1 -1
  783. package/dist/primitives/control-size.es.js +6 -1
  784. package/dist/primitives/control-size.es.js.map +1 -1
  785. package/dist/primitives/menu-item.cjs.js +3 -3
  786. package/dist/primitives/menu-item.cjs.js.map +1 -1
  787. package/dist/primitives/menu-item.es.js +3 -3
  788. package/dist/primitives/menu-item.es.js.map +1 -1
  789. package/dist/primitives/trigger-button.cjs.js +1 -1
  790. package/dist/primitives/trigger-button.es.js +1 -1
  791. package/dist/{property-filter-applied-DqsPFbYM.cjs → property-filter-applied-BCeRLcXb.cjs} +18 -18
  792. package/dist/{property-filter-applied-DqsPFbYM.cjs.map → property-filter-applied-BCeRLcXb.cjs.map} +1 -1
  793. package/dist/{property-filter-applied-DRglaEj-.js → property-filter-applied-p3dTTDdb.js} +3 -3
  794. package/dist/{property-filter-applied-DRglaEj-.js.map → property-filter-applied-p3dTTDdb.js.map} +1 -1
  795. package/dist/{select-BbFpEBAY.js → select-BdIZEdcy.js} +4 -8
  796. package/dist/select-BdIZEdcy.js.map +1 -0
  797. package/dist/{select-NySY9Men.cjs → select-Dg8L5ROX.cjs} +3 -7
  798. package/dist/select-Dg8L5ROX.cjs.map +1 -0
  799. package/dist/{span-payload-primitives-Dyhbqaa7.js → span-payload-primitives-B3RdahsC.js} +4 -4
  800. package/dist/{span-payload-primitives-Dyhbqaa7.js.map → span-payload-primitives-B3RdahsC.js.map} +1 -1
  801. package/dist/{span-payload-primitives-B10Xxmx7.cjs → span-payload-primitives-_2d-pAOD.cjs} +4 -4
  802. package/dist/{span-payload-primitives-B10Xxmx7.cjs.map → span-payload-primitives-_2d-pAOD.cjs.map} +1 -1
  803. package/dist/src/domains/chat/index.d.ts +1 -0
  804. package/dist/src/domains/chat/knowledge/index.d.ts +5 -0
  805. package/dist/src/domains/chat/knowledge/knowledge-links.d.ts +21 -0
  806. package/dist/src/domains/chat/knowledge/pinned-knowledge-data.d.ts +22 -0
  807. package/dist/src/domains/chat/knowledge/pinned-knowledge.d.ts +9 -0
  808. package/dist/src/domains/chat/tools/badges/knowledge-tool-badge.d.ts +19 -0
  809. package/dist/src/domains/chat/tools/tool-card-kind.d.ts +2 -2
  810. package/dist/src/domains/knowledge/components/KnowledgePageDetail.d.ts +42 -0
  811. package/dist/src/domains/knowledge/components/KnowledgePageExplorer.d.ts +80 -0
  812. package/dist/src/domains/knowledge/components/KnowledgePageGraph.d.ts +35 -0
  813. package/dist/src/domains/knowledge/components/KnowledgePageTree.d.ts +27 -0
  814. package/dist/src/domains/knowledge/hooks/useInteractionIdle.d.ts +12 -0
  815. package/dist/src/domains/knowledge/lib/layout.d.ts +35 -0
  816. package/dist/src/domains/knowledge/lib/pageGraph.d.ts +45 -0
  817. package/dist/src/domains/knowledge/lib/pageLayout.d.ts +24 -0
  818. package/dist/src/domains/knowledge/lib/pageTree.d.ts +28 -0
  819. package/dist/src/domains/knowledge/lib/popupPlacement.d.ts +12 -0
  820. package/dist/src/domains/knowledge/lib/recordText.d.ts +9 -0
  821. package/dist/src/domains/knowledge/pageTypes.d.ts +96 -0
  822. package/dist/src/domains/metrics/components/metrics-time-range-chip.d.ts +2 -2
  823. package/dist/src/domains/observability/saved-views/saved-views-provider.d.ts +6 -1
  824. package/dist/src/domains/observability/saved-views/saved-views-source.d.ts +1 -0
  825. package/dist/src/domains/observability/saved-views/use-hosted-saved-views.d.ts +1 -1
  826. package/dist/src/domains/skills/skill-simple-form.d.ts +3 -1
  827. package/dist/src/domains/spans/components/spans-filter-bar.d.ts +1 -1
  828. package/dist/src/domains/spans/hooks/use-spans-filter-bar.d.ts +1 -1
  829. package/dist/src/domains/spans/span-filters.d.ts +1 -1
  830. package/dist/src/domains/threads/components/threads-filter-bar.d.ts +1 -1
  831. package/dist/src/domains/threads/hooks/use-threads-filter-bar.d.ts +1 -1
  832. package/dist/src/domains/threads/thread-filters.d.ts +1 -1
  833. package/dist/src/domains/traces/components/traces-explorer/traces-explorer-filter-bar.d.ts +3 -3
  834. package/dist/src/domains/traces/components/traces-page-skeleton.d.ts +1 -1
  835. package/dist/src/ds/components/Button/Button.d.ts +15 -0
  836. package/dist/src/ds/components/ClearFiltersButton/clear-filters-button.d.ts +12 -0
  837. package/dist/src/ds/components/ClearFiltersButton/index.d.ts +1 -0
  838. package/dist/src/ds/components/Combobox/combobox-styles.d.ts +0 -1
  839. package/dist/src/ds/components/DateTimeRangePicker/date-time-range-picker.d.ts +12 -11
  840. package/dist/src/ds/components/FilterBar/filter-bar-chip.d.ts +10 -7
  841. package/dist/src/ds/components/FilterBar/filter-bar-time-range.d.ts +19 -0
  842. package/dist/src/ds/components/FilterBar/filter-bar.d.ts +2 -0
  843. package/dist/src/ds/components/FilterBar/index.d.ts +2 -0
  844. package/dist/src/ds/components/FilterBar/use-filter-bar-item-keys.d.ts +23 -0
  845. package/dist/src/ds/components/ListSearch/list-search.d.ts +1 -0
  846. package/dist/src/ds/components/SavedViews/saved-view-picker.d.ts +3 -1
  847. package/dist/src/ds/components/ai/tool-call/tool-phrases.d.ts +30 -0
  848. package/dist/src/ds/primitives/control-icon.d.ts +3 -0
  849. package/dist/src/ds/primitives/control-size.d.ts +1 -0
  850. package/dist/src/lib/form/zod-provider/compat.d.ts +5 -0
  851. package/dist/style.css +181 -66
  852. package/dist/{tabbed-container-BKUqfEKy.js → tabbed-container-5j6dhoRX.js} +6 -6
  853. package/dist/{tabbed-container-BKUqfEKy.js.map → tabbed-container-5j6dhoRX.js.map} +1 -1
  854. package/dist/{tabbed-container-CFEImJOK.cjs → tabbed-container-DQU7pVio.cjs} +6 -6
  855. package/dist/{tabbed-container-CFEImJOK.cjs.map → tabbed-container-DQU7pVio.cjs.map} +1 -1
  856. package/dist/{tabs-content-DgR3Hik1.cjs → tabs-content-CmXe5ML0.cjs} +2 -2
  857. package/dist/{tabs-content-DgR3Hik1.cjs.map → tabs-content-CmXe5ML0.cjs.map} +1 -1
  858. package/dist/{tabs-content-cpV6A9c3.js → tabs-content-D__B9hd-.js} +2 -2
  859. package/dist/{tabs-content-cpV6A9c3.js.map → tabs-content-D__B9hd-.js.map} +1 -1
  860. package/dist/{tabs-tab-UT1JliwK.js → tabs-tab-CYTZevdV.js} +2 -2
  861. package/dist/{tabs-tab-UT1JliwK.js.map → tabs-tab-CYTZevdV.js.map} +1 -1
  862. package/dist/{tabs-tab-Qp3RJ17z.cjs → tabs-tab-DGwfHVDr.cjs} +2 -2
  863. package/dist/{tabs-tab-Qp3RJ17z.cjs.map → tabs-tab-DGwfHVDr.cjs.map} +1 -1
  864. package/dist/{toast-api-WhxnAT9F.js → toast-api-D_rrRhNG.js} +2 -2
  865. package/dist/{toast-api-WhxnAT9F.js.map → toast-api-D_rrRhNG.js.map} +1 -1
  866. package/dist/{toast-api-Bv87KHu_.cjs → toast-api-qtkOucy2.cjs} +2 -2
  867. package/dist/{toast-api-Bv87KHu_.cjs.map → toast-api-qtkOucy2.cjs.map} +1 -1
  868. package/dist/{tool-approval-BfjoSNOC.cjs → tool-approval-1qiB4hhG.cjs} +5 -5
  869. package/dist/{tool-approval-BfjoSNOC.cjs.map → tool-approval-1qiB4hhG.cjs.map} +1 -1
  870. package/dist/{tool-approval-FeuyUUcL.js → tool-approval-B6MFcaKV.js} +5 -5
  871. package/dist/{tool-approval-FeuyUUcL.js.map → tool-approval-B6MFcaKV.js.map} +1 -1
  872. package/dist/{tool-call-CvilN9ti.cjs → tool-call-Bu66PkD-.cjs} +34 -4
  873. package/dist/{tool-call-CvilN9ti.cjs.map → tool-call-Bu66PkD-.cjs.map} +1 -1
  874. package/dist/{tool-call-BxYXs9w0.js → tool-call-Ch9-jjXU.js} +34 -4
  875. package/dist/{tool-call-BxYXs9w0.js.map → tool-call-Ch9-jjXU.js.map} +1 -1
  876. package/dist/{tool-card-B7O8AsRl.cjs → tool-card-DrqPZfPQ.cjs} +20 -6
  877. package/dist/tool-card-DrqPZfPQ.cjs.map +1 -0
  878. package/dist/{tool-card-ELW898uw.js → tool-card-sO6P2Qj4.js} +20 -6
  879. package/dist/tool-card-sO6P2Qj4.js.map +1 -0
  880. package/dist/{tool-presentation-BLErsb7c.cjs → tool-presentation-CQlDEwgS.cjs} +26 -1
  881. package/dist/tool-presentation-CQlDEwgS.cjs.map +1 -0
  882. package/dist/{tool-presentation-BSZYIWx2.js → tool-presentation-DvCsb_kz.js} +26 -1
  883. package/dist/tool-presentation-DvCsb_kz.js.map +1 -0
  884. package/dist/{trace-filters-BJaebsxJ.js → trace-filters-CaWkw779.js} +2 -3
  885. package/dist/trace-filters-CaWkw779.js.map +1 -0
  886. package/dist/{trace-filters-BNEZ31HX.cjs → trace-filters-a0N9bf52.cjs} +1 -2
  887. package/dist/trace-filters-a0N9bf52.cjs.map +1 -0
  888. package/dist/{use-workflow-graph-runtime-deTN_q_G.js → use-workflow-graph-runtime-BKNhOKsH.js} +3 -3
  889. package/dist/{use-workflow-graph-runtime-deTN_q_G.js.map → use-workflow-graph-runtime-BKNhOKsH.js.map} +1 -1
  890. package/dist/{use-workflow-graph-runtime-DkwQjMEV.cjs → use-workflow-graph-runtime-DYao-08R.cjs} +3 -3
  891. package/dist/{use-workflow-graph-runtime-DkwQjMEV.cjs.map → use-workflow-graph-runtime-DYao-08R.cjs.map} +1 -1
  892. package/dist/utils/toast.cjs.js +1 -1
  893. package/dist/utils/toast.es.js +1 -1
  894. package/package.json +12 -10
  895. package/theme.css +4 -0
  896. package/dist/ActionRow-BfK77pCT.cjs.map +0 -1
  897. package/dist/ActionRow-Cd6tOC2K.js.map +0 -1
  898. package/dist/Button-Bw1e3ONi.js.map +0 -1
  899. package/dist/Button-YQRflC47.cjs.map +0 -1
  900. package/dist/DateTimeRangePicker-C_Lie_2P.js.map +0 -1
  901. package/dist/DateTimeRangePicker-HmPOHwAQ.cjs.map +0 -1
  902. package/dist/FilterBar--4oguuVe.js.map +0 -1
  903. package/dist/FilterBar-BUd4f7oi.cjs.map +0 -1
  904. package/dist/combobox-parts-BZVXwbG7.cjs.map +0 -1
  905. package/dist/combobox-parts-W7KRQUsV.js.map +0 -1
  906. package/dist/components/ButtonsGroup.cjs.js.map +0 -1
  907. package/dist/components/ButtonsGroup.es.js.map +0 -1
  908. package/dist/domains/traces/components/trace-time-range-chip.cjs.js +0 -90
  909. package/dist/domains/traces/components/trace-time-range-chip.cjs.js.map +0 -1
  910. package/dist/domains/traces/components/trace-time-range-chip.d.ts +0 -1
  911. package/dist/domains/traces/components/trace-time-range-chip.es.js +0 -86
  912. package/dist/domains/traces/components/trace-time-range-chip.es.js.map +0 -1
  913. package/dist/filter-bar-chip-7O02P9Vk.js.map +0 -1
  914. package/dist/filter-bar-chip-BUyMf8XQ.cjs.map +0 -1
  915. package/dist/input-group-g85FYfze.js.map +0 -1
  916. package/dist/input-group-uDpFNnSW.cjs.map +0 -1
  917. package/dist/list-search-BEJmYa9a.cjs.map +0 -1
  918. package/dist/list-search-bg7WzULj.js.map +0 -1
  919. package/dist/observability-saved-views-Bo5kLN20.js.map +0 -1
  920. package/dist/observability-saved-views-CwCii7hh.cjs.map +0 -1
  921. package/dist/select-BbFpEBAY.js.map +0 -1
  922. package/dist/select-NySY9Men.cjs.map +0 -1
  923. package/dist/src/domains/traces/components/trace-time-range-chip.d.ts +0 -22
  924. package/dist/tool-card-B7O8AsRl.cjs.map +0 -1
  925. package/dist/tool-card-ELW898uw.js.map +0 -1
  926. package/dist/tool-presentation-BLErsb7c.cjs.map +0 -1
  927. package/dist/tool-presentation-BSZYIWx2.js.map +0 -1
  928. package/dist/trace-filters-BJaebsxJ.js.map +0 -1
  929. package/dist/trace-filters-BNEZ31HX.cjs.map +0 -1
@@ -1,12 +1,12 @@
1
- import { u as TRACE_FILTER_BAR_OPERATORS } from "../../../trace-filters-BJaebsxJ.js";
1
+ import { u as TRACE_FILTER_BAR_OPERATORS } from "../../../trace-filters-CaWkw779.js";
2
2
  import { DEFAULT_TRACES_FILTERS } from "../../traces/components/traces-explorer/traces-explorer-actions.es.js";
3
- import { TraceTimeRangeChip } from "../../traces/components/trace-time-range-chip.es.js";
4
- import { n as FilterBar } from "../../../FilterBar--4oguuVe.js";
3
+ import "../../../filter-bar-time-range-CXQMBgpz.js";
4
+ import { n as FilterBar } from "../../../FilterBar-BO-vvvyq.js";
5
5
  import { THREAD_TIME_RANGE_PRESETS, useThreadsFilterBar, useThreadsFilterBarFields } from "../hooks/use-threads-filter-bar.es.js";
6
6
  import { jsx, jsxs } from "react/jsx-runtime";
7
7
  // src/domains/threads/components/threads-filter-bar.tsx
8
8
  var createItemId = (fieldId) => fieldId;
9
- /** The threads filter bar: a time range chip plus the fields `queryTraceThreads()` accepts. */
9
+ /** The threads filter bar: the time range plus the fields `queryTraceThreads()` accepts. */
10
10
  function ThreadsFilterBar({ datePreset, dateFrom, dateTo, minDate, tokens, groups, onDatePresetChange, onDateChange, onDateRangeChange, onFiltersChange, disabled }) {
11
11
  const fields = useThreadsFilterBarFields();
12
12
  const { filterBarValue, onFilterBarChange } = useThreadsFilterBar({
@@ -23,7 +23,7 @@ function ThreadsFilterBar({ datePreset, dateFrom, dateTo, minDate, tokens, group
23
23
  maxDepth: 3,
24
24
  "aria-label": "Thread filters",
25
25
  className: "min-w-64 flex-1",
26
- children: [/* @__PURE__ */ jsx(FilterBar.Chips, { renderChip: (item) => item.fieldId === "timeRange" ? /* @__PURE__ */ jsx(TraceTimeRangeChip, {
26
+ children: [/* @__PURE__ */ jsx(FilterBar.Chips, { renderChip: (item) => item.fieldId === "timeRange" ? /* @__PURE__ */ jsx(FilterBar.TimeRange, {
27
27
  preset: datePreset,
28
28
  onPresetChange: onDatePresetChange,
29
29
  dateFrom,
@@ -1 +1 @@
1
- {"version":3,"file":"threads-filter-bar.es.js","names":[],"sources":["../../../../src/domains/threads/components/threads-filter-bar.tsx"],"sourcesContent":["import { TraceTimeRangeChip, TRACE_TIME_RANGE_FIELD_ID } from '../../traces/components/trace-time-range-chip';\nimport { DEFAULT_TRACES_FILTERS } from '../../traces/components/traces-explorer/traces-explorer-actions';\nimport { TRACE_FILTER_BAR_OPERATORS } from '../../traces/trace-filters';\nimport type { TraceFilterGroup, TraceFilterToken } from '../../traces/trace-query-filters';\nimport type { TraceDatePreset } from '../../traces/types';\nimport {\n THREAD_TIME_RANGE_PRESETS,\n useThreadsFilterBar,\n useThreadsFilterBarFields,\n} from '../hooks/use-threads-filter-bar';\nimport { FilterBar } from '@/ds/components/FilterBar';\n\n// Items are rebuilt from tokens with `id: fieldId` (traceTokensToFilterBarItems); give the\n// draft that id so the chip survives the round trip without remounting.\nconst createItemId = (fieldId: string) => fieldId;\n\nexport type ThreadsFilterBarProps = {\n datePreset: TraceDatePreset;\n dateFrom?: Date;\n dateTo?: Date;\n /** Earliest date the custom range picker allows. */\n minDate?: Date;\n tokens: TraceFilterToken[];\n groups: TraceFilterGroup[];\n onDatePresetChange: (preset: TraceDatePreset) => void;\n onDateChange: (value: Date | undefined, type: 'from' | 'to') => void;\n onDateRangeChange: (from: Date | undefined, to: Date | undefined) => void;\n onFiltersChange: (tokens: TraceFilterToken[], groups: TraceFilterGroup[]) => void;\n disabled?: boolean;\n};\n\n/** The threads filter bar: a time range chip plus the fields `queryTraceThreads()` accepts. */\nexport function ThreadsFilterBar({\n datePreset,\n dateFrom,\n dateTo,\n minDate,\n tokens,\n groups,\n onDatePresetChange,\n onDateChange,\n onDateRangeChange,\n onFiltersChange,\n disabled,\n}: ThreadsFilterBarProps) {\n const fields = useThreadsFilterBarFields();\n const { filterBarValue, onFilterBarChange } = useThreadsFilterBar({ tokens, groups, onFiltersChange });\n\n return (\n <FilterBar\n fields={fields}\n operators={TRACE_FILTER_BAR_OPERATORS}\n value={filterBarValue}\n onValueChange={onFilterBarChange}\n createItemId={createItemId}\n maxDepth={3}\n aria-label=\"Thread filters\"\n className=\"min-w-64 flex-1\"\n >\n <FilterBar.Chips\n renderChip={item =>\n item.fieldId === TRACE_TIME_RANGE_FIELD_ID ? (\n <TraceTimeRangeChip\n preset={datePreset}\n onPresetChange={onDatePresetChange}\n dateFrom={dateFrom}\n dateTo={dateTo}\n minDate={minDate}\n onDateChange={onDateChange}\n onDateRangeChange={onDateRangeChange}\n disabled={disabled}\n presets={THREAD_TIME_RANGE_PRESETS}\n defaultPreset={DEFAULT_TRACES_FILTERS.datePreset}\n />\n ) : (\n <FilterBar.Chip item={item} />\n )\n }\n />\n <FilterBar.Input placeholder=\"Filter threads…\" />\n </FilterBar>\n );\n}\n"],"mappings":";;;;;;;AAcA,IAAM,gBAAgB,YAAoB;;AAkB1C,SAAgB,iBAAiB,EAC/B,YACA,UACA,QACA,SACA,QACA,QACA,oBACA,cACA,mBACA,iBACA,YACwB;CACxB,MAAM,SAAS,0BAA0B;CACzC,MAAM,EAAE,gBAAgB,sBAAsB,oBAAoB;EAAE;EAAQ;EAAQ;CAAgB,CAAC;CAErG,OACE,qBAAC,WAAD;EACU;EACR,WAAW;EACX,OAAO;EACP,eAAe;EACD;EACd,UAAU;EACV,cAAW;EACX,WAAU;EARZ,UAAA,CAUE,oBAAC,UAAU,OAAX,EACE,aAAY,SACV,KAAK,YAAA,cACH,oBAAC,oBAAD;GACE,QAAQ;GACR,gBAAgB;GACN;GACF;GACC;GACK;GACK;GACT;GACV,SAAS;GACT,eAAe,uBAAuB;EACvC,CAAA,IAED,oBAAC,UAAU,MAAX,EAAsB,KAAO,CAAA,EAGlC,CAAA,GACD,oBAAC,UAAU,OAAX,EAAiB,aAAY,kBAAmB,CAAA,CACvC;;AAEf"}
1
+ {"version":3,"file":"threads-filter-bar.es.js","names":[],"sources":["../../../../src/domains/threads/components/threads-filter-bar.tsx"],"sourcesContent":["import { DEFAULT_TRACES_FILTERS } from '../../traces/components/traces-explorer/traces-explorer-actions';\nimport { TRACE_FILTER_BAR_OPERATORS } from '../../traces/trace-filters';\nimport type { TraceFilterGroup, TraceFilterToken } from '../../traces/trace-query-filters';\nimport type { TraceDatePreset } from '../../traces/types';\nimport {\n THREAD_TIME_RANGE_PRESETS,\n useThreadsFilterBar,\n useThreadsFilterBarFields,\n} from '../hooks/use-threads-filter-bar';\nimport { FilterBar } from '@/ds/components/FilterBar';\nimport { FILTER_BAR_TIME_RANGE_FIELD_ID } from '@/ds/components/FilterBar/filter-bar-time-range';\n\n// Items are rebuilt from tokens with `id: fieldId` (traceTokensToFilterBarItems); give the\n// draft that id so the chip survives the round trip without remounting.\nconst createItemId = (fieldId: string) => fieldId;\n\nexport type ThreadsFilterBarProps = {\n datePreset: TraceDatePreset;\n dateFrom?: Date;\n dateTo?: Date;\n /** Earliest date the custom range picker allows. */\n minDate?: Date;\n tokens: TraceFilterToken[];\n groups: TraceFilterGroup[];\n onDatePresetChange: (preset: TraceDatePreset) => void;\n onDateChange: (value: Date | undefined, type: 'from' | 'to') => void;\n onDateRangeChange: (from: Date | undefined, to: Date | undefined) => void;\n onFiltersChange: (tokens: TraceFilterToken[], groups: TraceFilterGroup[]) => void;\n disabled?: boolean;\n};\n\n/** The threads filter bar: the time range plus the fields `queryTraceThreads()` accepts. */\nexport function ThreadsFilterBar({\n datePreset,\n dateFrom,\n dateTo,\n minDate,\n tokens,\n groups,\n onDatePresetChange,\n onDateChange,\n onDateRangeChange,\n onFiltersChange,\n disabled,\n}: ThreadsFilterBarProps) {\n const fields = useThreadsFilterBarFields();\n const { filterBarValue, onFilterBarChange } = useThreadsFilterBar({ tokens, groups, onFiltersChange });\n\n return (\n <FilterBar\n fields={fields}\n operators={TRACE_FILTER_BAR_OPERATORS}\n value={filterBarValue}\n onValueChange={onFilterBarChange}\n createItemId={createItemId}\n maxDepth={3}\n aria-label=\"Thread filters\"\n className=\"min-w-64 flex-1\"\n >\n <FilterBar.Chips\n renderChip={item =>\n item.fieldId === FILTER_BAR_TIME_RANGE_FIELD_ID ? (\n <FilterBar.TimeRange\n preset={datePreset}\n onPresetChange={onDatePresetChange}\n dateFrom={dateFrom}\n dateTo={dateTo}\n minDate={minDate}\n onDateChange={onDateChange}\n onDateRangeChange={onDateRangeChange}\n disabled={disabled}\n presets={THREAD_TIME_RANGE_PRESETS}\n defaultPreset={DEFAULT_TRACES_FILTERS.datePreset}\n />\n ) : (\n <FilterBar.Chip item={item} />\n )\n }\n />\n <FilterBar.Input placeholder=\"Filter threads…\" />\n </FilterBar>\n );\n}\n"],"mappings":";;;;;;;AAcA,IAAM,gBAAgB,YAAoB;;AAkB1C,SAAgB,iBAAiB,EAC/B,YACA,UACA,QACA,SACA,QACA,QACA,oBACA,cACA,mBACA,iBACA,YACwB;CACxB,MAAM,SAAS,0BAA0B;CACzC,MAAM,EAAE,gBAAgB,sBAAsB,oBAAoB;EAAE;EAAQ;EAAQ;CAAgB,CAAC;CAErG,OACE,qBAAC,WAAD;EACU;EACR,WAAW;EACX,OAAO;EACP,eAAe;EACD;EACd,UAAU;EACV,cAAW;EACX,WAAU;EARZ,UAAA,CAUE,oBAAC,UAAU,OAAX,EACE,aAAY,SACV,KAAK,YAAA,cACH,oBAAC,UAAU,WAAX;GACE,QAAQ;GACR,gBAAgB;GACN;GACF;GACC;GACK;GACK;GACT;GACV,SAAS;GACT,eAAe,uBAAuB;EACvC,CAAA,IAED,oBAAC,UAAU,MAAX,EAAsB,KAAO,CAAA,EAGlC,CAAA,GACD,oBAAC,UAAU,OAAX,EAAiB,aAAY,kBAAmB,CAAA,CACvC;;AAEf"}
@@ -1,8 +1,8 @@
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_types = require("../../../types-CP7wbYua.cjs");
4
4
  const require_domains_threads_thread_filters = require("../thread-filters.cjs.js");
5
- const require_domains_traces_components_trace_time_range_chip = require("../../traces/components/trace-time-range-chip.cjs.js");
5
+ const require_filter_bar_time_range = require("../../../filter-bar-time-range-DvuaFnkI.cjs");
6
6
  let react = require("react");
7
7
  let _mastra_react_hooks_capabilities = require("@mastra/react/hooks/capabilities");
8
8
  let _mastra_react_hooks_traces = require("@mastra/react/hooks/traces");
@@ -24,7 +24,7 @@ function useThreadsFilterBarFields() {
24
24
  const withTimeToFirstToken = capabilities?.capabilities.traceQueryTimeToFirstToken ?? false;
25
25
  const { data: entityNames = NO_SUGGESTIONS } = (0, _mastra_react_hooks_traces.useEntityNames)();
26
26
  const { data: environments = NO_SUGGESTIONS } = (0, _mastra_react_hooks_traces.useEnvironments)();
27
- return (0, react.useMemo)(() => [require_domains_traces_components_trace_time_range_chip.TRACE_TIME_RANGE_FIELD, ...require_domains_threads_thread_filters.createThreadFilterBarFields({
27
+ return (0, react.useMemo)(() => [require_filter_bar_time_range.FILTER_BAR_TIME_RANGE_FIELD, ...require_domains_threads_thread_filters.createThreadFilterBarFields({
28
28
  withTimeToFirstChunk,
29
29
  withTimeToFirstToken,
30
30
  entityNames,
@@ -38,7 +38,7 @@ function useThreadsFilterBarFields() {
38
38
  }
39
39
  /**
40
40
  * The thread filters as a filter bar value, and the handlers that write bar edits back.
41
- * The time-range chip is a synthetic, always-present item; it never round-trips to tokens.
41
+ * The time range is a synthetic, always-present item; it never round-trips to tokens.
42
42
  */
43
43
  function useThreadsFilterBar({ tokens, groups, onFiltersChange }) {
44
44
  const items = (0, react.useMemo)(() => require_trace_filters.traceTokensToFilterBarItems(tokens), [tokens]);
@@ -47,7 +47,7 @@ function useThreadsFilterBar({ tokens, groups, onFiltersChange }) {
47
47
  return {
48
48
  ...groupsExpression,
49
49
  nodes: [
50
- require_domains_traces_components_trace_time_range_chip.TRACE_TIME_RANGE_ITEM,
50
+ require_filter_bar_time_range.FILTER_BAR_TIME_RANGE_ITEM,
51
51
  ...items,
52
52
  ...groupsExpression.nodes
53
53
  ]
@@ -1 +1 @@
1
- {"version":3,"file":"use-threads-filter-bar.cjs.js","names":["useObservabilityCapabilities","useEntityNames","useEnvironments","useMemo","TRACE_TIME_RANGE_FIELD","createThreadFilterBarFields","traceTokensToFilterBarItems","traceFiltersToFilterBarExpression","TRACE_TIME_RANGE_ITEM","useCallback","filterBarExpressionToTraceFilters","isFilterBarGroup"],"sources":["../../../../src/domains/threads/hooks/use-threads-filter-bar.ts"],"sourcesContent":["import { useObservabilityCapabilities } from '@mastra/react/hooks/capabilities';\nimport { useEntityNames, useEnvironments } from '@mastra/react/hooks/traces';\nimport { useCallback, useMemo } from 'react';\nimport {\n TRACE_TIME_RANGE_FIELD,\n TRACE_TIME_RANGE_FIELD_ID,\n TRACE_TIME_RANGE_ITEM,\n} from '../../traces/components/trace-time-range-chip';\nimport {\n filterBarExpressionToTraceFilters,\n traceFiltersToFilterBarExpression,\n traceTokensToFilterBarItems,\n} from '../../traces/trace-filters';\nimport type { TraceFilterGroup, TraceFilterToken } from '../../traces/trace-query-filters';\nimport type { TraceDatePreset } from '../../traces/types';\nimport { createThreadFilterBarFields } from '../thread-filters';\nimport { isFilterBarGroup } from '@/ds/components/FilterBar';\nimport type { FilterBarExpression, FilterBarField, FilterBarItem } from '@/ds/components/FilterBar';\n\n/** The time range presets the threads filter bar offers. */\nexport const THREAD_TIME_RANGE_PRESETS: readonly TraceDatePreset[] = [\n 'last-24h',\n 'last-3d',\n 'last-7d',\n 'last-14d',\n 'last-30d',\n 'custom',\n];\n\nconst NO_SUGGESTIONS: string[] = [];\n\n/** The fields the threads filter bar offers: the time range plus the fields `queryTraceThreads()` accepts. */\nexport function useThreadsFilterBarFields(): FilterBarField[] {\n const { data: capabilities } = useObservabilityCapabilities();\n const withTimeToFirstChunk = capabilities?.capabilities.traceQueryTimeToFirstChunk ?? false;\n const withTimeToFirstToken = capabilities?.capabilities.traceQueryTimeToFirstToken ?? false;\n const { data: entityNames = NO_SUGGESTIONS } = useEntityNames();\n const { data: environments = NO_SUGGESTIONS } = useEnvironments();\n\n // Memoized for correctness: static suggestion lists become the value editor's Combobox\n // `items`, which loops if handed a new array on every render.\n return useMemo(\n () => [\n TRACE_TIME_RANGE_FIELD,\n ...createThreadFilterBarFields({ withTimeToFirstChunk, withTimeToFirstToken, entityNames, environments }),\n ],\n [withTimeToFirstChunk, withTimeToFirstToken, entityNames, environments],\n );\n}\n\nexport type UseThreadsFilterBarOptions = {\n tokens: TraceFilterToken[];\n groups: TraceFilterGroup[];\n onFiltersChange: (tokens: TraceFilterToken[], groups: TraceFilterGroup[]) => void;\n};\n\n/**\n * The thread filters as a filter bar value, and the handlers that write bar edits back.\n * The time-range chip is a synthetic, always-present item; it never round-trips to tokens.\n */\nexport function useThreadsFilterBar({ tokens, groups, onFiltersChange }: UseThreadsFilterBarOptions): {\n filterBarValue: FilterBarExpression;\n onFilterBarChange: (expression: FilterBarExpression) => void;\n /** Replaces any filter on `fieldId` with `is value`, e.g. from a list cell. */\n onFilterByField: (fieldId: string, value: string) => void;\n} {\n const items = useMemo(() => traceTokensToFilterBarItems(tokens), [tokens]);\n\n const filterBarValue = useMemo<FilterBarExpression>(() => {\n const groupsExpression = traceFiltersToFilterBarExpression([], groups);\n return { ...groupsExpression, nodes: [TRACE_TIME_RANGE_ITEM, ...items, ...groupsExpression.nodes] };\n }, [items, groups]);\n\n const onFilterBarChange = useCallback(\n (expression: FilterBarExpression) => {\n const next = filterBarExpressionToTraceFilters({\n ...expression,\n nodes: expression.nodes.filter(node => isFilterBarGroup(node) || node.fieldId !== TRACE_TIME_RANGE_FIELD_ID),\n });\n onFiltersChange(next.tokens, next.groups);\n },\n [onFiltersChange],\n );\n\n const onFilterByField = useCallback(\n (fieldId: string, value: string) => {\n const withoutField = items.filter(item => item.fieldId !== fieldId);\n const item: FilterBarItem = { id: `${fieldId}:${value}`, fieldId, operatorId: 'is', value };\n const groupNodes = filterBarValue.nodes.filter(isFilterBarGroup);\n onFilterBarChange({ ...filterBarValue, nodes: [...withoutField, item, ...groupNodes] });\n },\n [items, filterBarValue, onFilterBarChange],\n );\n\n return { filterBarValue, onFilterBarChange, onFilterByField };\n}\n"],"mappings":";;;;;;;;;;AAoBA,IAAa,4BAAwD;CACnE;CACA;CACA;CACA;CACA;CACA;AACF;AAEA,IAAM,iBAA2B,CAAC;;AAGlC,SAAgB,4BAA8C;CAC5D,MAAM,EAAE,MAAM,kBAAA,GAAiBA,iCAAAA,6BAAAA,CAA6B;CAC5D,MAAM,uBAAuB,cAAc,aAAa,8BAA8B;CACtF,MAAM,uBAAuB,cAAc,aAAa,8BAA8B;CACtF,MAAM,EAAE,MAAM,cAAc,oBAAA,GAAmBC,2BAAAA,eAAAA,CAAe;CAC9D,MAAM,EAAE,MAAM,eAAe,oBAAA,GAAmBC,2BAAAA,gBAAAA,CAAgB;CAIhE,QAAA,GAAOC,MAAAA,QAAAA,OACC,CACJC,wDAAAA,wBACA,GAAGC,uCAAAA,4BAA4B;EAAE;EAAsB;EAAsB;EAAa;CAAa,CAAC,CAC1G,GACA;EAAC;EAAsB;EAAsB;EAAa;CAAY,CACxE;AACF;;;;;AAYA,SAAgB,oBAAoB,EAAE,QAAQ,QAAQ,mBAKpD;CACA,MAAM,SAAA,GAAQF,MAAAA,QAAAA,OAAcG,sBAAAA,4BAA4B,MAAM,GAAG,CAAC,MAAM,CAAC;CAEzE,MAAM,kBAAA,GAAiBH,MAAAA,QAAAA,OAAmC;EACxD,MAAM,mBAAmBI,sBAAAA,kCAAkC,CAAC,GAAG,MAAM;EACrE,OAAO;GAAE,GAAG;GAAkB,OAAO;IAACC,wDAAAA;IAAuB,GAAG;IAAO,GAAG,iBAAiB;GAAK;EAAE;CACpG,GAAG,CAAC,OAAO,MAAM,CAAC;CAElB,MAAM,qBAAA,GAAoBC,MAAAA,YAAAA,EACvB,eAAoC;EACnC,MAAM,OAAOC,sBAAAA,kCAAkC;GAC7C,GAAG;GACH,OAAO,WAAW,MAAM,QAAO,SAAQC,cAAAA,iBAAiB,IAAI,KAAK,KAAK,YAAA,WAAqC;EAC7G,CAAC;EACD,gBAAgB,KAAK,QAAQ,KAAK,MAAM;CAC1C,GACA,CAAC,eAAe,CAClB;CAYA,OAAO;EAAE;EAAgB;EAAmB,kBAAA,GAVpBF,MAAAA,YAAAA,EACrB,SAAiB,UAAkB;GAClC,MAAM,eAAe,MAAM,QAAO,SAAQ,KAAK,YAAY,OAAO;GAClE,MAAM,OAAsB;IAAE,IAAI,GAAG,QAAQ,GAAG;IAAS;IAAS,YAAY;IAAM;GAAM;GAC1F,MAAM,aAAa,eAAe,MAAM,OAAOE,cAAAA,gBAAgB;GAC/D,kBAAkB;IAAE,GAAG;IAAgB,OAAO;KAAC,GAAG;KAAc;KAAM,GAAG;IAAU;GAAE,CAAC;EACxF,GACA;GAAC;GAAO;GAAgB;EAAiB,CAGC;CAAgB;AAC9D"}
1
+ {"version":3,"file":"use-threads-filter-bar.cjs.js","names":["useObservabilityCapabilities","useEntityNames","useEnvironments","useMemo","FILTER_BAR_TIME_RANGE_FIELD","createThreadFilterBarFields","traceTokensToFilterBarItems","traceFiltersToFilterBarExpression","FILTER_BAR_TIME_RANGE_ITEM","useCallback","filterBarExpressionToTraceFilters","isFilterBarGroup"],"sources":["../../../../src/domains/threads/hooks/use-threads-filter-bar.ts"],"sourcesContent":["import { useObservabilityCapabilities } from '@mastra/react/hooks/capabilities';\nimport { useEntityNames, useEnvironments } from '@mastra/react/hooks/traces';\nimport { useCallback, useMemo } from 'react';\nimport {\n filterBarExpressionToTraceFilters,\n traceFiltersToFilterBarExpression,\n traceTokensToFilterBarItems,\n} from '../../traces/trace-filters';\nimport type { TraceFilterGroup, TraceFilterToken } from '../../traces/trace-query-filters';\nimport type { TraceDatePreset } from '../../traces/types';\nimport { createThreadFilterBarFields } from '../thread-filters';\nimport { isFilterBarGroup } from '@/ds/components/FilterBar';\nimport type { FilterBarExpression, FilterBarField, FilterBarItem } from '@/ds/components/FilterBar';\nimport {\n FILTER_BAR_TIME_RANGE_FIELD,\n FILTER_BAR_TIME_RANGE_FIELD_ID,\n FILTER_BAR_TIME_RANGE_ITEM,\n} from '@/ds/components/FilterBar/filter-bar-time-range';\n\n/** The time range presets the threads filter bar offers. */\nexport const THREAD_TIME_RANGE_PRESETS: readonly TraceDatePreset[] = [\n 'last-24h',\n 'last-3d',\n 'last-7d',\n 'last-14d',\n 'last-30d',\n 'custom',\n];\n\nconst NO_SUGGESTIONS: string[] = [];\n\n/** The fields the threads filter bar offers: the time range plus the fields `queryTraceThreads()` accepts. */\nexport function useThreadsFilterBarFields(): FilterBarField[] {\n const { data: capabilities } = useObservabilityCapabilities();\n const withTimeToFirstChunk = capabilities?.capabilities.traceQueryTimeToFirstChunk ?? false;\n const withTimeToFirstToken = capabilities?.capabilities.traceQueryTimeToFirstToken ?? false;\n const { data: entityNames = NO_SUGGESTIONS } = useEntityNames();\n const { data: environments = NO_SUGGESTIONS } = useEnvironments();\n\n // Memoized for correctness: static suggestion lists become the value editor's Combobox\n // `items`, which loops if handed a new array on every render.\n return useMemo(\n () => [\n FILTER_BAR_TIME_RANGE_FIELD,\n ...createThreadFilterBarFields({ withTimeToFirstChunk, withTimeToFirstToken, entityNames, environments }),\n ],\n [withTimeToFirstChunk, withTimeToFirstToken, entityNames, environments],\n );\n}\n\nexport type UseThreadsFilterBarOptions = {\n tokens: TraceFilterToken[];\n groups: TraceFilterGroup[];\n onFiltersChange: (tokens: TraceFilterToken[], groups: TraceFilterGroup[]) => void;\n};\n\n/**\n * The thread filters as a filter bar value, and the handlers that write bar edits back.\n * The time range is a synthetic, always-present item; it never round-trips to tokens.\n */\nexport function useThreadsFilterBar({ tokens, groups, onFiltersChange }: UseThreadsFilterBarOptions): {\n filterBarValue: FilterBarExpression;\n onFilterBarChange: (expression: FilterBarExpression) => void;\n /** Replaces any filter on `fieldId` with `is value`, e.g. from a list cell. */\n onFilterByField: (fieldId: string, value: string) => void;\n} {\n const items = useMemo(() => traceTokensToFilterBarItems(tokens), [tokens]);\n\n const filterBarValue = useMemo<FilterBarExpression>(() => {\n const groupsExpression = traceFiltersToFilterBarExpression([], groups);\n return { ...groupsExpression, nodes: [FILTER_BAR_TIME_RANGE_ITEM, ...items, ...groupsExpression.nodes] };\n }, [items, groups]);\n\n const onFilterBarChange = useCallback(\n (expression: FilterBarExpression) => {\n const next = filterBarExpressionToTraceFilters({\n ...expression,\n nodes: expression.nodes.filter(\n node => isFilterBarGroup(node) || node.fieldId !== FILTER_BAR_TIME_RANGE_FIELD_ID,\n ),\n });\n onFiltersChange(next.tokens, next.groups);\n },\n [onFiltersChange],\n );\n\n const onFilterByField = useCallback(\n (fieldId: string, value: string) => {\n const withoutField = items.filter(item => item.fieldId !== fieldId);\n const item: FilterBarItem = { id: `${fieldId}:${value}`, fieldId, operatorId: 'is', value };\n const groupNodes = filterBarValue.nodes.filter(isFilterBarGroup);\n onFilterBarChange({ ...filterBarValue, nodes: [...withoutField, item, ...groupNodes] });\n },\n [items, filterBarValue, onFilterBarChange],\n );\n\n return { filterBarValue, onFilterBarChange, onFilterByField };\n}\n"],"mappings":";;;;;;;;;;AAoBA,IAAa,4BAAwD;CACnE;CACA;CACA;CACA;CACA;CACA;AACF;AAEA,IAAM,iBAA2B,CAAC;;AAGlC,SAAgB,4BAA8C;CAC5D,MAAM,EAAE,MAAM,kBAAA,GAAiBA,iCAAAA,6BAAAA,CAA6B;CAC5D,MAAM,uBAAuB,cAAc,aAAa,8BAA8B;CACtF,MAAM,uBAAuB,cAAc,aAAa,8BAA8B;CACtF,MAAM,EAAE,MAAM,cAAc,oBAAA,GAAmBC,2BAAAA,eAAAA,CAAe;CAC9D,MAAM,EAAE,MAAM,eAAe,oBAAA,GAAmBC,2BAAAA,gBAAAA,CAAgB;CAIhE,QAAA,GAAOC,MAAAA,QAAAA,OACC,CACJC,8BAAAA,6BACA,GAAGC,uCAAAA,4BAA4B;EAAE;EAAsB;EAAsB;EAAa;CAAa,CAAC,CAC1G,GACA;EAAC;EAAsB;EAAsB;EAAa;CAAY,CACxE;AACF;;;;;AAYA,SAAgB,oBAAoB,EAAE,QAAQ,QAAQ,mBAKpD;CACA,MAAM,SAAA,GAAQF,MAAAA,QAAAA,OAAcG,sBAAAA,4BAA4B,MAAM,GAAG,CAAC,MAAM,CAAC;CAEzE,MAAM,kBAAA,GAAiBH,MAAAA,QAAAA,OAAmC;EACxD,MAAM,mBAAmBI,sBAAAA,kCAAkC,CAAC,GAAG,MAAM;EACrE,OAAO;GAAE,GAAG;GAAkB,OAAO;IAACC,8BAAAA;IAA4B,GAAG;IAAO,GAAG,iBAAiB;GAAK;EAAE;CACzG,GAAG,CAAC,OAAO,MAAM,CAAC;CAElB,MAAM,qBAAA,GAAoBC,MAAAA,YAAAA,EACvB,eAAoC;EACnC,MAAM,OAAOC,sBAAAA,kCAAkC;GAC7C,GAAG;GACH,OAAO,WAAW,MAAM,QACtB,SAAQC,cAAAA,iBAAiB,IAAI,KAAK,KAAK,YAAA,WACzC;EACF,CAAC;EACD,gBAAgB,KAAK,QAAQ,KAAK,MAAM;CAC1C,GACA,CAAC,eAAe,CAClB;CAYA,OAAO;EAAE;EAAgB;EAAmB,kBAAA,GAVpBF,MAAAA,YAAAA,EACrB,SAAiB,UAAkB;GAClC,MAAM,eAAe,MAAM,QAAO,SAAQ,KAAK,YAAY,OAAO;GAClE,MAAM,OAAsB;IAAE,IAAI,GAAG,QAAQ,GAAG;IAAS;IAAS,YAAY;IAAM;GAAM;GAC1F,MAAM,aAAa,eAAe,MAAM,OAAOE,cAAAA,gBAAgB;GAC/D,kBAAkB;IAAE,GAAG;IAAgB,OAAO;KAAC,GAAG;KAAc;KAAM,GAAG;IAAU;GAAE,CAAC;EACxF,GACA;GAAC;GAAO;GAAgB;EAAiB,CAGC;CAAgB;AAC9D"}
@@ -1,7 +1,7 @@
1
- import { L as filterBarExpressionToTraceFilters, rt as traceTokensToFilterBarItems, tt as traceFiltersToFilterBarExpression } from "../../../trace-filters-BJaebsxJ.js";
1
+ import { L as filterBarExpressionToTraceFilters, rt as traceTokensToFilterBarItems, tt as traceFiltersToFilterBarExpression } from "../../../trace-filters-CaWkw779.js";
2
2
  import { t as isFilterBarGroup } from "../../../types-DiiL5mTO.js";
3
3
  import { createThreadFilterBarFields } from "../thread-filters.es.js";
4
- import { TRACE_TIME_RANGE_FIELD, TRACE_TIME_RANGE_ITEM } from "../../traces/components/trace-time-range-chip.es.js";
4
+ import { r as FILTER_BAR_TIME_RANGE_ITEM, t as FILTER_BAR_TIME_RANGE_FIELD } from "../../../filter-bar-time-range-CXQMBgpz.js";
5
5
  import { useCallback, useMemo } from "react";
6
6
  import { useObservabilityCapabilities } from "@mastra/react/hooks/capabilities";
7
7
  import { useEntityNames, useEnvironments } from "@mastra/react/hooks/traces";
@@ -23,7 +23,7 @@ function useThreadsFilterBarFields() {
23
23
  const withTimeToFirstToken = capabilities?.capabilities.traceQueryTimeToFirstToken ?? false;
24
24
  const { data: entityNames = NO_SUGGESTIONS } = useEntityNames();
25
25
  const { data: environments = NO_SUGGESTIONS } = useEnvironments();
26
- return useMemo(() => [TRACE_TIME_RANGE_FIELD, ...createThreadFilterBarFields({
26
+ return useMemo(() => [FILTER_BAR_TIME_RANGE_FIELD, ...createThreadFilterBarFields({
27
27
  withTimeToFirstChunk,
28
28
  withTimeToFirstToken,
29
29
  entityNames,
@@ -37,7 +37,7 @@ function useThreadsFilterBarFields() {
37
37
  }
38
38
  /**
39
39
  * The thread filters as a filter bar value, and the handlers that write bar edits back.
40
- * The time-range chip is a synthetic, always-present item; it never round-trips to tokens.
40
+ * The time range is a synthetic, always-present item; it never round-trips to tokens.
41
41
  */
42
42
  function useThreadsFilterBar({ tokens, groups, onFiltersChange }) {
43
43
  const items = useMemo(() => traceTokensToFilterBarItems(tokens), [tokens]);
@@ -46,7 +46,7 @@ function useThreadsFilterBar({ tokens, groups, onFiltersChange }) {
46
46
  return {
47
47
  ...groupsExpression,
48
48
  nodes: [
49
- TRACE_TIME_RANGE_ITEM,
49
+ FILTER_BAR_TIME_RANGE_ITEM,
50
50
  ...items,
51
51
  ...groupsExpression.nodes
52
52
  ]
@@ -1 +1 @@
1
- {"version":3,"file":"use-threads-filter-bar.es.js","names":[],"sources":["../../../../src/domains/threads/hooks/use-threads-filter-bar.ts"],"sourcesContent":["import { useObservabilityCapabilities } from '@mastra/react/hooks/capabilities';\nimport { useEntityNames, useEnvironments } from '@mastra/react/hooks/traces';\nimport { useCallback, useMemo } from 'react';\nimport {\n TRACE_TIME_RANGE_FIELD,\n TRACE_TIME_RANGE_FIELD_ID,\n TRACE_TIME_RANGE_ITEM,\n} from '../../traces/components/trace-time-range-chip';\nimport {\n filterBarExpressionToTraceFilters,\n traceFiltersToFilterBarExpression,\n traceTokensToFilterBarItems,\n} from '../../traces/trace-filters';\nimport type { TraceFilterGroup, TraceFilterToken } from '../../traces/trace-query-filters';\nimport type { TraceDatePreset } from '../../traces/types';\nimport { createThreadFilterBarFields } from '../thread-filters';\nimport { isFilterBarGroup } from '@/ds/components/FilterBar';\nimport type { FilterBarExpression, FilterBarField, FilterBarItem } from '@/ds/components/FilterBar';\n\n/** The time range presets the threads filter bar offers. */\nexport const THREAD_TIME_RANGE_PRESETS: readonly TraceDatePreset[] = [\n 'last-24h',\n 'last-3d',\n 'last-7d',\n 'last-14d',\n 'last-30d',\n 'custom',\n];\n\nconst NO_SUGGESTIONS: string[] = [];\n\n/** The fields the threads filter bar offers: the time range plus the fields `queryTraceThreads()` accepts. */\nexport function useThreadsFilterBarFields(): FilterBarField[] {\n const { data: capabilities } = useObservabilityCapabilities();\n const withTimeToFirstChunk = capabilities?.capabilities.traceQueryTimeToFirstChunk ?? false;\n const withTimeToFirstToken = capabilities?.capabilities.traceQueryTimeToFirstToken ?? false;\n const { data: entityNames = NO_SUGGESTIONS } = useEntityNames();\n const { data: environments = NO_SUGGESTIONS } = useEnvironments();\n\n // Memoized for correctness: static suggestion lists become the value editor's Combobox\n // `items`, which loops if handed a new array on every render.\n return useMemo(\n () => [\n TRACE_TIME_RANGE_FIELD,\n ...createThreadFilterBarFields({ withTimeToFirstChunk, withTimeToFirstToken, entityNames, environments }),\n ],\n [withTimeToFirstChunk, withTimeToFirstToken, entityNames, environments],\n );\n}\n\nexport type UseThreadsFilterBarOptions = {\n tokens: TraceFilterToken[];\n groups: TraceFilterGroup[];\n onFiltersChange: (tokens: TraceFilterToken[], groups: TraceFilterGroup[]) => void;\n};\n\n/**\n * The thread filters as a filter bar value, and the handlers that write bar edits back.\n * The time-range chip is a synthetic, always-present item; it never round-trips to tokens.\n */\nexport function useThreadsFilterBar({ tokens, groups, onFiltersChange }: UseThreadsFilterBarOptions): {\n filterBarValue: FilterBarExpression;\n onFilterBarChange: (expression: FilterBarExpression) => void;\n /** Replaces any filter on `fieldId` with `is value`, e.g. from a list cell. */\n onFilterByField: (fieldId: string, value: string) => void;\n} {\n const items = useMemo(() => traceTokensToFilterBarItems(tokens), [tokens]);\n\n const filterBarValue = useMemo<FilterBarExpression>(() => {\n const groupsExpression = traceFiltersToFilterBarExpression([], groups);\n return { ...groupsExpression, nodes: [TRACE_TIME_RANGE_ITEM, ...items, ...groupsExpression.nodes] };\n }, [items, groups]);\n\n const onFilterBarChange = useCallback(\n (expression: FilterBarExpression) => {\n const next = filterBarExpressionToTraceFilters({\n ...expression,\n nodes: expression.nodes.filter(node => isFilterBarGroup(node) || node.fieldId !== TRACE_TIME_RANGE_FIELD_ID),\n });\n onFiltersChange(next.tokens, next.groups);\n },\n [onFiltersChange],\n );\n\n const onFilterByField = useCallback(\n (fieldId: string, value: string) => {\n const withoutField = items.filter(item => item.fieldId !== fieldId);\n const item: FilterBarItem = { id: `${fieldId}:${value}`, fieldId, operatorId: 'is', value };\n const groupNodes = filterBarValue.nodes.filter(isFilterBarGroup);\n onFilterBarChange({ ...filterBarValue, nodes: [...withoutField, item, ...groupNodes] });\n },\n [items, filterBarValue, onFilterBarChange],\n );\n\n return { filterBarValue, onFilterBarChange, onFilterByField };\n}\n"],"mappings":";;;;;;;;;AAoBA,IAAa,4BAAwD;CACnE;CACA;CACA;CACA;CACA;CACA;AACF;AAEA,IAAM,iBAA2B,CAAC;;AAGlC,SAAgB,4BAA8C;CAC5D,MAAM,EAAE,MAAM,iBAAiB,6BAA6B;CAC5D,MAAM,uBAAuB,cAAc,aAAa,8BAA8B;CACtF,MAAM,uBAAuB,cAAc,aAAa,8BAA8B;CACtF,MAAM,EAAE,MAAM,cAAc,mBAAmB,eAAe;CAC9D,MAAM,EAAE,MAAM,eAAe,mBAAmB,gBAAgB;CAIhE,OAAO,cACC,CACJ,wBACA,GAAG,4BAA4B;EAAE;EAAsB;EAAsB;EAAa;CAAa,CAAC,CAC1G,GACA;EAAC;EAAsB;EAAsB;EAAa;CAAY,CACxE;AACF;;;;;AAYA,SAAgB,oBAAoB,EAAE,QAAQ,QAAQ,mBAKpD;CACA,MAAM,QAAQ,cAAc,4BAA4B,MAAM,GAAG,CAAC,MAAM,CAAC;CAEzE,MAAM,iBAAiB,cAAmC;EACxD,MAAM,mBAAmB,kCAAkC,CAAC,GAAG,MAAM;EACrE,OAAO;GAAE,GAAG;GAAkB,OAAO;IAAC;IAAuB,GAAG;IAAO,GAAG,iBAAiB;GAAK;EAAE;CACpG,GAAG,CAAC,OAAO,MAAM,CAAC;CAElB,MAAM,oBAAoB,aACvB,eAAoC;EACnC,MAAM,OAAO,kCAAkC;GAC7C,GAAG;GACH,OAAO,WAAW,MAAM,QAAO,SAAQ,iBAAiB,IAAI,KAAK,KAAK,YAAA,WAAqC;EAC7G,CAAC;EACD,gBAAgB,KAAK,QAAQ,KAAK,MAAM;CAC1C,GACA,CAAC,eAAe,CAClB;CAYA,OAAO;EAAE;EAAgB;EAAmB,iBAVpB,aACrB,SAAiB,UAAkB;GAClC,MAAM,eAAe,MAAM,QAAO,SAAQ,KAAK,YAAY,OAAO;GAClE,MAAM,OAAsB;IAAE,IAAI,GAAG,QAAQ,GAAG;IAAS;IAAS,YAAY;IAAM;GAAM;GAC1F,MAAM,aAAa,eAAe,MAAM,OAAO,gBAAgB;GAC/D,kBAAkB;IAAE,GAAG;IAAgB,OAAO;KAAC,GAAG;KAAc;KAAM,GAAG;IAAU;GAAE,CAAC;EACxF,GACA;GAAC;GAAO;GAAgB;EAAiB,CAGC;CAAgB;AAC9D"}
1
+ {"version":3,"file":"use-threads-filter-bar.es.js","names":[],"sources":["../../../../src/domains/threads/hooks/use-threads-filter-bar.ts"],"sourcesContent":["import { useObservabilityCapabilities } from '@mastra/react/hooks/capabilities';\nimport { useEntityNames, useEnvironments } from '@mastra/react/hooks/traces';\nimport { useCallback, useMemo } from 'react';\nimport {\n filterBarExpressionToTraceFilters,\n traceFiltersToFilterBarExpression,\n traceTokensToFilterBarItems,\n} from '../../traces/trace-filters';\nimport type { TraceFilterGroup, TraceFilterToken } from '../../traces/trace-query-filters';\nimport type { TraceDatePreset } from '../../traces/types';\nimport { createThreadFilterBarFields } from '../thread-filters';\nimport { isFilterBarGroup } from '@/ds/components/FilterBar';\nimport type { FilterBarExpression, FilterBarField, FilterBarItem } from '@/ds/components/FilterBar';\nimport {\n FILTER_BAR_TIME_RANGE_FIELD,\n FILTER_BAR_TIME_RANGE_FIELD_ID,\n FILTER_BAR_TIME_RANGE_ITEM,\n} from '@/ds/components/FilterBar/filter-bar-time-range';\n\n/** The time range presets the threads filter bar offers. */\nexport const THREAD_TIME_RANGE_PRESETS: readonly TraceDatePreset[] = [\n 'last-24h',\n 'last-3d',\n 'last-7d',\n 'last-14d',\n 'last-30d',\n 'custom',\n];\n\nconst NO_SUGGESTIONS: string[] = [];\n\n/** The fields the threads filter bar offers: the time range plus the fields `queryTraceThreads()` accepts. */\nexport function useThreadsFilterBarFields(): FilterBarField[] {\n const { data: capabilities } = useObservabilityCapabilities();\n const withTimeToFirstChunk = capabilities?.capabilities.traceQueryTimeToFirstChunk ?? false;\n const withTimeToFirstToken = capabilities?.capabilities.traceQueryTimeToFirstToken ?? false;\n const { data: entityNames = NO_SUGGESTIONS } = useEntityNames();\n const { data: environments = NO_SUGGESTIONS } = useEnvironments();\n\n // Memoized for correctness: static suggestion lists become the value editor's Combobox\n // `items`, which loops if handed a new array on every render.\n return useMemo(\n () => [\n FILTER_BAR_TIME_RANGE_FIELD,\n ...createThreadFilterBarFields({ withTimeToFirstChunk, withTimeToFirstToken, entityNames, environments }),\n ],\n [withTimeToFirstChunk, withTimeToFirstToken, entityNames, environments],\n );\n}\n\nexport type UseThreadsFilterBarOptions = {\n tokens: TraceFilterToken[];\n groups: TraceFilterGroup[];\n onFiltersChange: (tokens: TraceFilterToken[], groups: TraceFilterGroup[]) => void;\n};\n\n/**\n * The thread filters as a filter bar value, and the handlers that write bar edits back.\n * The time range is a synthetic, always-present item; it never round-trips to tokens.\n */\nexport function useThreadsFilterBar({ tokens, groups, onFiltersChange }: UseThreadsFilterBarOptions): {\n filterBarValue: FilterBarExpression;\n onFilterBarChange: (expression: FilterBarExpression) => void;\n /** Replaces any filter on `fieldId` with `is value`, e.g. from a list cell. */\n onFilterByField: (fieldId: string, value: string) => void;\n} {\n const items = useMemo(() => traceTokensToFilterBarItems(tokens), [tokens]);\n\n const filterBarValue = useMemo<FilterBarExpression>(() => {\n const groupsExpression = traceFiltersToFilterBarExpression([], groups);\n return { ...groupsExpression, nodes: [FILTER_BAR_TIME_RANGE_ITEM, ...items, ...groupsExpression.nodes] };\n }, [items, groups]);\n\n const onFilterBarChange = useCallback(\n (expression: FilterBarExpression) => {\n const next = filterBarExpressionToTraceFilters({\n ...expression,\n nodes: expression.nodes.filter(\n node => isFilterBarGroup(node) || node.fieldId !== FILTER_BAR_TIME_RANGE_FIELD_ID,\n ),\n });\n onFiltersChange(next.tokens, next.groups);\n },\n [onFiltersChange],\n );\n\n const onFilterByField = useCallback(\n (fieldId: string, value: string) => {\n const withoutField = items.filter(item => item.fieldId !== fieldId);\n const item: FilterBarItem = { id: `${fieldId}:${value}`, fieldId, operatorId: 'is', value };\n const groupNodes = filterBarValue.nodes.filter(isFilterBarGroup);\n onFilterBarChange({ ...filterBarValue, nodes: [...withoutField, item, ...groupNodes] });\n },\n [items, filterBarValue, onFilterBarChange],\n );\n\n return { filterBarValue, onFilterBarChange, onFilterByField };\n}\n"],"mappings":";;;;;;;;;AAoBA,IAAa,4BAAwD;CACnE;CACA;CACA;CACA;CACA;CACA;AACF;AAEA,IAAM,iBAA2B,CAAC;;AAGlC,SAAgB,4BAA8C;CAC5D,MAAM,EAAE,MAAM,iBAAiB,6BAA6B;CAC5D,MAAM,uBAAuB,cAAc,aAAa,8BAA8B;CACtF,MAAM,uBAAuB,cAAc,aAAa,8BAA8B;CACtF,MAAM,EAAE,MAAM,cAAc,mBAAmB,eAAe;CAC9D,MAAM,EAAE,MAAM,eAAe,mBAAmB,gBAAgB;CAIhE,OAAO,cACC,CACJ,6BACA,GAAG,4BAA4B;EAAE;EAAsB;EAAsB;EAAa;CAAa,CAAC,CAC1G,GACA;EAAC;EAAsB;EAAsB;EAAa;CAAY,CACxE;AACF;;;;;AAYA,SAAgB,oBAAoB,EAAE,QAAQ,QAAQ,mBAKpD;CACA,MAAM,QAAQ,cAAc,4BAA4B,MAAM,GAAG,CAAC,MAAM,CAAC;CAEzE,MAAM,iBAAiB,cAAmC;EACxD,MAAM,mBAAmB,kCAAkC,CAAC,GAAG,MAAM;EACrE,OAAO;GAAE,GAAG;GAAkB,OAAO;IAAC;IAA4B,GAAG;IAAO,GAAG,iBAAiB;GAAK;EAAE;CACzG,GAAG,CAAC,OAAO,MAAM,CAAC;CAElB,MAAM,oBAAoB,aACvB,eAAoC;EACnC,MAAM,OAAO,kCAAkC;GAC7C,GAAG;GACH,OAAO,WAAW,MAAM,QACtB,SAAQ,iBAAiB,IAAI,KAAK,KAAK,YAAA,WACzC;EACF,CAAC;EACD,gBAAgB,KAAK,QAAQ,KAAK,MAAM;CAC1C,GACA,CAAC,eAAe,CAClB;CAYA,OAAO;EAAE;EAAgB;EAAmB,iBAVpB,aACrB,SAAiB,UAAkB;GAClC,MAAM,eAAe,MAAM,QAAO,SAAQ,KAAK,YAAY,OAAO;GAClE,MAAM,OAAsB;IAAE,IAAI,GAAG,QAAQ,GAAG;IAAS;IAAS,YAAY;IAAM;GAAM;GAC1F,MAAM,aAAa,eAAe,MAAM,OAAO,gBAAgB;GAC/D,kBAAkB;IAAE,GAAG;IAAgB,OAAO;KAAC,GAAG;KAAc;KAAM,GAAG;IAAU;GAAE,CAAC;EACxF,GACA;GAAC;GAAO;GAAgB;EAAiB,CAGC;CAAgB;AAC9D"}
@@ -1,9 +1,9 @@
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
  let lucide_react = require("lucide-react");
4
4
  let _mastra_core_observability = require("@mastra/core/observability");
5
5
  // src/domains/threads/thread-filters.ts
6
- /** Thread query fields the filter bar offers. `startedAt`/`endedAt` are left to the time-range chip. */
6
+ /** Thread query fields the filter bar offers. `startedAt`/`endedAt` are left to the time range. */
7
7
  var THREAD_FILTER_FIELD_IDS = [
8
8
  "status",
9
9
  "traceCount",
@@ -1 +1 @@
1
- {"version":3,"file":"thread-filters.cjs.js","names":["TRACE_FILTER_BAR_LABELS","MessagesSquareIcon","traceFilterFieldIcon","traceFilterFieldColor","ROOT_ENTITY_TYPE_OPTIONS","EntityType","TRACE_STATUS_OPTIONS","TRACE_STRING_OPERATORS","TRACE_REQUIRED_STRING_OPERATORS","TRACE_NUMBER_OPERATORS","withoutUnrecordedStreamingTimings","isLegacyAnyValue","scalarPredicate","isTraceFilterGroup"],"sources":["../../../src/domains/threads/thread-filters.ts"],"sourcesContent":["import { EntityType } from '@mastra/core/observability';\nimport type { TraceQueryScalarPredicate } from '@mastra/core/storage';\nimport { MessagesSquareIcon } from 'lucide-react';\nimport type { LucideIcon } from 'lucide-react';\nimport {\n isLegacyAnyValue,\n ROOT_ENTITY_TYPE_OPTIONS,\n TRACE_FILTER_BAR_LABELS,\n TRACE_NUMBER_OPERATORS,\n TRACE_REQUIRED_STRING_OPERATORS,\n TRACE_STATUS_OPTIONS,\n TRACE_STRING_OPERATORS,\n traceFilterFieldColor,\n traceFilterFieldIcon,\n withoutUnrecordedStreamingTimings,\n} from '../traces/trace-filters';\nimport type { StreamingTimingSupport } from '../traces/trace-filters';\nimport { isTraceFilterGroup, scalarPredicate } from '../traces/trace-query-filters';\nimport type { TraceFilterGroup, TraceFilterOperatorId, TraceFilterToken } from '../traces/trace-query-filters';\nimport type { FilterBarField, FilterBarOption } from '@/ds/components/FilterBar/types';\n\n/** Thread query fields the filter bar offers. `startedAt`/`endedAt` are left to the time-range chip. */\nexport const THREAD_FILTER_FIELD_IDS = [\n 'status',\n 'traceCount',\n 'timeToFirstChunkMs',\n 'timeToFirstTokenMs',\n 'entityType',\n 'entityId',\n 'entityName',\n 'entityVersionId',\n 'threadId',\n 'resourceId',\n 'userId',\n 'organizationId',\n 'runId',\n 'sessionId',\n 'requestId',\n 'serviceName',\n 'experimentId',\n 'environment',\n 'executionSource',\n] as const;\n\nconst FIELD_IDS: ReadonlySet<string> = new Set(THREAD_FILTER_FIELD_IDS);\nconst NUMBER_FIELD_IDS: ReadonlySet<string> = new Set(['traceCount', 'timeToFirstChunkMs', 'timeToFirstTokenMs']);\n/** Fields every thread row carries. On any other field, \"is not X\" must also keep threads where it is missing. */\nconst REQUIRED_FIELD_IDS: ReadonlySet<string> = new Set(['threadId', 'status', 'traceCount']);\n/** The thread query compares `traceCount` but has no set membership or presence check for it. */\nconst TRACE_COUNT_OPERATORS: TraceFilterOperatorId[] = ['is', 'isNot', 'gt', 'gte', 'lt', 'lte'];\n\nconst THREAD_FILTER_BAR_LABELS: Record<string, string> = {\n ...TRACE_FILTER_BAR_LABELS,\n traceCount: 'Messages',\n timeToFirstChunkMs: 'Time to first chunk (ms)',\n timeToFirstTokenMs: 'Time to first token (ms)',\n executionSource: 'Execution source',\n entityType: 'Primitive type',\n entityVersionId: 'Primitive version ID',\n};\n\n/** Thread fields without their own trace icon borrow the icon of the closest trace field. */\nconst THREAD_ICON_FIELD_ALIASES: Record<string, string> = {\n timeToFirstChunkMs: 'durationMs',\n timeToFirstTokenMs: 'durationMs',\n executionSource: 'runId',\n entityType: 'rootEntityType',\n entityVersionId: 'entityId',\n};\n\n/** Thread fields with an icon of their own: Messages uses the Threads tab's icon. */\nconst THREAD_FILTER_BAR_ICONS: Record<string, LucideIcon> = {\n traceCount: MessagesSquareIcon,\n};\n\nconst threadFieldBase = (id: string) => ({\n id,\n label: THREAD_FILTER_BAR_LABELS[id] ?? id,\n icon: THREAD_FILTER_BAR_ICONS[id] ?? traceFilterFieldIcon(THREAD_ICON_FIELD_ALIASES[id] ?? id),\n color: traceFilterFieldColor(id),\n});\n\nconst humanize = (value: string) => {\n const words = value.replace(/_/g, ' ');\n return words.charAt(0).toUpperCase() + words.slice(1);\n};\n\nconst ENTITY_TYPE_LABELS: Record<string, string> = Object.fromEntries(\n ROOT_ENTITY_TYPE_OPTIONS.map(option => [option.entityType, option.label]),\n);\n\nconst ENTITY_TYPE_OPTIONS: FilterBarOption[] = Object.values(EntityType)\n .map(value => ({ value, label: ENTITY_TYPE_LABELS[value] ?? humanize(value) }))\n .sort((a, b) => a.label.localeCompare(b.label));\n\nconst STATUS_OPTIONS: FilterBarOption[] = TRACE_STATUS_OPTIONS.filter(option => option.value !== 'running').map(\n option => ({ value: option.value, label: option.label }),\n);\n\n/** FilterBar fields for the threads page: only paths and operators `queryTraceThreads()` accepts. */\nexport function createThreadFilterBarFields({\n withTimeToFirstChunk,\n withTimeToFirstToken,\n entityNames,\n environments,\n}: StreamingTimingSupport & {\n entityNames: readonly string[];\n environments: readonly string[];\n}): FilterBarField[] {\n const pick = (\n id: string,\n suggestions: FilterBarOption[],\n operators: TraceFilterOperatorId[] = TRACE_STRING_OPERATORS,\n ): FilterBarField => ({ ...threadFieldBase(id), operators, strict: true, suggestions });\n\n const field = (id: string): FilterBarField => {\n switch (id) {\n case 'status':\n return pick(id, STATUS_OPTIONS, TRACE_REQUIRED_STRING_OPERATORS);\n case 'entityType':\n return pick(id, ENTITY_TYPE_OPTIONS);\n case 'entityName':\n return pick(\n id,\n entityNames.map(value => ({ value })),\n );\n case 'environment':\n return pick(\n id,\n environments.map(value => ({ value })),\n );\n case 'traceCount':\n return { ...threadFieldBase(id), type: 'number', operators: TRACE_COUNT_OPERATORS };\n case 'timeToFirstChunkMs':\n case 'timeToFirstTokenMs':\n return { ...threadFieldBase(id), type: 'number', operators: TRACE_NUMBER_OPERATORS };\n case 'threadId':\n return { ...threadFieldBase(id), operators: TRACE_REQUIRED_STRING_OPERATORS };\n default:\n return { ...threadFieldBase(id), operators: TRACE_STRING_OPERATORS };\n }\n };\n\n const offered = withoutUnrecordedStreamingTimings(FIELD_IDS, { withTimeToFirstChunk, withTimeToFirstToken });\n return THREAD_FILTER_FIELD_IDS.filter(id => offered.has(id))\n .map(field)\n .sort((a, b) => a.label.localeCompare(b.label));\n}\n\nfunction tokenToThreadQueryPredicate(\n token: TraceFilterToken,\n allowedFieldIds: ReadonlySet<string>,\n): TraceQueryScalarPredicate | undefined {\n const { fieldId } = token;\n if (!allowedFieldIds.has(fieldId)) return undefined;\n const operatorId = token.operatorId ?? 'is';\n const isPresence = operatorId === 'exists' || operatorId === 'notExists';\n\n const rawValues = (Array.isArray(token.value) ? token.value : [token.value]).filter(\n (value): value is string =>\n typeof value === 'string' && Boolean(value.trim()) && !isLegacyAnyValue(value, operatorId),\n );\n if (!rawValues.length && !isPresence) return undefined;\n\n let values: (string | number)[] = rawValues;\n if (NUMBER_FIELD_IDS.has(fieldId)) {\n values = rawValues.map(Number).filter(value => !Number.isNaN(value));\n if (!values.length && !isPresence) return undefined;\n }\n if (fieldId === 'traceCount' && (isPresence || values.length > 1 || !TRACE_COUNT_OPERATORS.includes(operatorId))) {\n return undefined;\n }\n\n const predicate = scalarPredicate(operatorId, fieldId, values);\n if (!predicate) return undefined;\n if ((operatorId === 'isNot' || operatorId === 'notIn') && !REQUIRED_FIELD_IDS.has(fieldId)) {\n return { op: 'or', args: [predicate, { op: 'notExists', path: fieldId }] };\n }\n return predicate;\n}\n\nfunction groupToThreadQueryPredicate(\n group: TraceFilterGroup,\n allowedFieldIds: ReadonlySet<string>,\n): TraceQueryScalarPredicate | undefined {\n const args = group.nodes\n .map(node =>\n isTraceFilterGroup(node)\n ? groupToThreadQueryPredicate(node, allowedFieldIds)\n : tokenToThreadQueryPredicate(node, allowedFieldIds),\n )\n .filter((predicate): predicate is TraceQueryScalarPredicate => Boolean(predicate));\n if (args.length === 0) return undefined;\n return args.length === 1 ? args[0] : { op: group.logic, args };\n}\n\n/**\n * The thread query `where` for the filter bar's tokens and groups, or `undefined` when nothing applies.\n * Conditions the thread query can't run (unknown fields, streaming timings the store doesn't record,\n * unusable values) are left out instead of failing the request.\n */\nexport function buildThreadQueryWhere(\n tokens: TraceFilterToken[],\n groups: TraceFilterGroup[],\n support: StreamingTimingSupport,\n): TraceQueryScalarPredicate | undefined {\n const allowedFieldIds = withoutUnrecordedStreamingTimings(FIELD_IDS, support);\n const args = [\n ...tokens.map(token => tokenToThreadQueryPredicate(token, allowedFieldIds)),\n ...groups.map(group => groupToThreadQueryPredicate(group, allowedFieldIds)),\n ].filter((predicate): predicate is TraceQueryScalarPredicate => Boolean(predicate));\n return args.length ? { op: 'and', args } : undefined;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"thread-filters.cjs.js","names":["TRACE_FILTER_BAR_LABELS","MessagesSquareIcon","traceFilterFieldIcon","traceFilterFieldColor","ROOT_ENTITY_TYPE_OPTIONS","EntityType","TRACE_STATUS_OPTIONS","TRACE_STRING_OPERATORS","TRACE_REQUIRED_STRING_OPERATORS","TRACE_NUMBER_OPERATORS","withoutUnrecordedStreamingTimings","isLegacyAnyValue","scalarPredicate","isTraceFilterGroup"],"sources":["../../../src/domains/threads/thread-filters.ts"],"sourcesContent":["import { EntityType } from '@mastra/core/observability';\nimport type { TraceQueryScalarPredicate } from '@mastra/core/storage';\nimport { MessagesSquareIcon } from 'lucide-react';\nimport type { LucideIcon } from 'lucide-react';\nimport {\n isLegacyAnyValue,\n ROOT_ENTITY_TYPE_OPTIONS,\n TRACE_FILTER_BAR_LABELS,\n TRACE_NUMBER_OPERATORS,\n TRACE_REQUIRED_STRING_OPERATORS,\n TRACE_STATUS_OPTIONS,\n TRACE_STRING_OPERATORS,\n traceFilterFieldColor,\n traceFilterFieldIcon,\n withoutUnrecordedStreamingTimings,\n} from '../traces/trace-filters';\nimport type { StreamingTimingSupport } from '../traces/trace-filters';\nimport { isTraceFilterGroup, scalarPredicate } from '../traces/trace-query-filters';\nimport type { TraceFilterGroup, TraceFilterOperatorId, TraceFilterToken } from '../traces/trace-query-filters';\nimport type { FilterBarField, FilterBarOption } from '@/ds/components/FilterBar/types';\n\n/** Thread query fields the filter bar offers. `startedAt`/`endedAt` are left to the time range. */\nexport const THREAD_FILTER_FIELD_IDS = [\n 'status',\n 'traceCount',\n 'timeToFirstChunkMs',\n 'timeToFirstTokenMs',\n 'entityType',\n 'entityId',\n 'entityName',\n 'entityVersionId',\n 'threadId',\n 'resourceId',\n 'userId',\n 'organizationId',\n 'runId',\n 'sessionId',\n 'requestId',\n 'serviceName',\n 'experimentId',\n 'environment',\n 'executionSource',\n] as const;\n\nconst FIELD_IDS: ReadonlySet<string> = new Set(THREAD_FILTER_FIELD_IDS);\nconst NUMBER_FIELD_IDS: ReadonlySet<string> = new Set(['traceCount', 'timeToFirstChunkMs', 'timeToFirstTokenMs']);\n/** Fields every thread row carries. On any other field, \"is not X\" must also keep threads where it is missing. */\nconst REQUIRED_FIELD_IDS: ReadonlySet<string> = new Set(['threadId', 'status', 'traceCount']);\n/** The thread query compares `traceCount` but has no set membership or presence check for it. */\nconst TRACE_COUNT_OPERATORS: TraceFilterOperatorId[] = ['is', 'isNot', 'gt', 'gte', 'lt', 'lte'];\n\nconst THREAD_FILTER_BAR_LABELS: Record<string, string> = {\n ...TRACE_FILTER_BAR_LABELS,\n traceCount: 'Messages',\n timeToFirstChunkMs: 'Time to first chunk (ms)',\n timeToFirstTokenMs: 'Time to first token (ms)',\n executionSource: 'Execution source',\n entityType: 'Primitive type',\n entityVersionId: 'Primitive version ID',\n};\n\n/** Thread fields without their own trace icon borrow the icon of the closest trace field. */\nconst THREAD_ICON_FIELD_ALIASES: Record<string, string> = {\n timeToFirstChunkMs: 'durationMs',\n timeToFirstTokenMs: 'durationMs',\n executionSource: 'runId',\n entityType: 'rootEntityType',\n entityVersionId: 'entityId',\n};\n\n/** Thread fields with an icon of their own: Messages uses the Threads tab's icon. */\nconst THREAD_FILTER_BAR_ICONS: Record<string, LucideIcon> = {\n traceCount: MessagesSquareIcon,\n};\n\nconst threadFieldBase = (id: string) => ({\n id,\n label: THREAD_FILTER_BAR_LABELS[id] ?? id,\n icon: THREAD_FILTER_BAR_ICONS[id] ?? traceFilterFieldIcon(THREAD_ICON_FIELD_ALIASES[id] ?? id),\n color: traceFilterFieldColor(id),\n});\n\nconst humanize = (value: string) => {\n const words = value.replace(/_/g, ' ');\n return words.charAt(0).toUpperCase() + words.slice(1);\n};\n\nconst ENTITY_TYPE_LABELS: Record<string, string> = Object.fromEntries(\n ROOT_ENTITY_TYPE_OPTIONS.map(option => [option.entityType, option.label]),\n);\n\nconst ENTITY_TYPE_OPTIONS: FilterBarOption[] = Object.values(EntityType)\n .map(value => ({ value, label: ENTITY_TYPE_LABELS[value] ?? humanize(value) }))\n .sort((a, b) => a.label.localeCompare(b.label));\n\nconst STATUS_OPTIONS: FilterBarOption[] = TRACE_STATUS_OPTIONS.filter(option => option.value !== 'running').map(\n option => ({ value: option.value, label: option.label }),\n);\n\n/** FilterBar fields for the threads page: only paths and operators `queryTraceThreads()` accepts. */\nexport function createThreadFilterBarFields({\n withTimeToFirstChunk,\n withTimeToFirstToken,\n entityNames,\n environments,\n}: StreamingTimingSupport & {\n entityNames: readonly string[];\n environments: readonly string[];\n}): FilterBarField[] {\n const pick = (\n id: string,\n suggestions: FilterBarOption[],\n operators: TraceFilterOperatorId[] = TRACE_STRING_OPERATORS,\n ): FilterBarField => ({ ...threadFieldBase(id), operators, strict: true, suggestions });\n\n const field = (id: string): FilterBarField => {\n switch (id) {\n case 'status':\n return pick(id, STATUS_OPTIONS, TRACE_REQUIRED_STRING_OPERATORS);\n case 'entityType':\n return pick(id, ENTITY_TYPE_OPTIONS);\n case 'entityName':\n return pick(\n id,\n entityNames.map(value => ({ value })),\n );\n case 'environment':\n return pick(\n id,\n environments.map(value => ({ value })),\n );\n case 'traceCount':\n return { ...threadFieldBase(id), type: 'number', operators: TRACE_COUNT_OPERATORS };\n case 'timeToFirstChunkMs':\n case 'timeToFirstTokenMs':\n return { ...threadFieldBase(id), type: 'number', operators: TRACE_NUMBER_OPERATORS };\n case 'threadId':\n return { ...threadFieldBase(id), operators: TRACE_REQUIRED_STRING_OPERATORS };\n default:\n return { ...threadFieldBase(id), operators: TRACE_STRING_OPERATORS };\n }\n };\n\n const offered = withoutUnrecordedStreamingTimings(FIELD_IDS, { withTimeToFirstChunk, withTimeToFirstToken });\n return THREAD_FILTER_FIELD_IDS.filter(id => offered.has(id))\n .map(field)\n .sort((a, b) => a.label.localeCompare(b.label));\n}\n\nfunction tokenToThreadQueryPredicate(\n token: TraceFilterToken,\n allowedFieldIds: ReadonlySet<string>,\n): TraceQueryScalarPredicate | undefined {\n const { fieldId } = token;\n if (!allowedFieldIds.has(fieldId)) return undefined;\n const operatorId = token.operatorId ?? 'is';\n const isPresence = operatorId === 'exists' || operatorId === 'notExists';\n\n const rawValues = (Array.isArray(token.value) ? token.value : [token.value]).filter(\n (value): value is string =>\n typeof value === 'string' && Boolean(value.trim()) && !isLegacyAnyValue(value, operatorId),\n );\n if (!rawValues.length && !isPresence) return undefined;\n\n let values: (string | number)[] = rawValues;\n if (NUMBER_FIELD_IDS.has(fieldId)) {\n values = rawValues.map(Number).filter(value => !Number.isNaN(value));\n if (!values.length && !isPresence) return undefined;\n }\n if (fieldId === 'traceCount' && (isPresence || values.length > 1 || !TRACE_COUNT_OPERATORS.includes(operatorId))) {\n return undefined;\n }\n\n const predicate = scalarPredicate(operatorId, fieldId, values);\n if (!predicate) return undefined;\n if ((operatorId === 'isNot' || operatorId === 'notIn') && !REQUIRED_FIELD_IDS.has(fieldId)) {\n return { op: 'or', args: [predicate, { op: 'notExists', path: fieldId }] };\n }\n return predicate;\n}\n\nfunction groupToThreadQueryPredicate(\n group: TraceFilterGroup,\n allowedFieldIds: ReadonlySet<string>,\n): TraceQueryScalarPredicate | undefined {\n const args = group.nodes\n .map(node =>\n isTraceFilterGroup(node)\n ? groupToThreadQueryPredicate(node, allowedFieldIds)\n : tokenToThreadQueryPredicate(node, allowedFieldIds),\n )\n .filter((predicate): predicate is TraceQueryScalarPredicate => Boolean(predicate));\n if (args.length === 0) return undefined;\n return args.length === 1 ? args[0] : { op: group.logic, args };\n}\n\n/**\n * The thread query `where` for the filter bar's tokens and groups, or `undefined` when nothing applies.\n * Conditions the thread query can't run (unknown fields, streaming timings the store doesn't record,\n * unusable values) are left out instead of failing the request.\n */\nexport function buildThreadQueryWhere(\n tokens: TraceFilterToken[],\n groups: TraceFilterGroup[],\n support: StreamingTimingSupport,\n): TraceQueryScalarPredicate | undefined {\n const allowedFieldIds = withoutUnrecordedStreamingTimings(FIELD_IDS, support);\n const args = [\n ...tokens.map(token => tokenToThreadQueryPredicate(token, allowedFieldIds)),\n ...groups.map(group => groupToThreadQueryPredicate(group, allowedFieldIds)),\n ].filter((predicate): predicate is TraceQueryScalarPredicate => Boolean(predicate));\n return args.length ? { op: 'and', args } : undefined;\n}\n"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import { D as TRACE_STRING_OPERATORS, Q as traceFilterFieldIcon, S as TRACE_REQUIRED_STRING_OPERATORS, U as isLegacyAnyValue, Z as traceFilterFieldColor, it as withoutUnrecordedStreamingTimings, l as TRACE_FILTER_BAR_LABELS, pt as scalarPredicate, r as ROOT_ENTITY_TYPE_OPTIONS, ut as isTraceFilterGroup, v as TRACE_NUMBER_OPERATORS, w as TRACE_STATUS_OPTIONS } from "../../trace-filters-BJaebsxJ.js";
1
+ import { D as TRACE_STRING_OPERATORS, Q as traceFilterFieldIcon, S as TRACE_REQUIRED_STRING_OPERATORS, U as isLegacyAnyValue, Z as traceFilterFieldColor, it as withoutUnrecordedStreamingTimings, l as TRACE_FILTER_BAR_LABELS, pt as scalarPredicate, r as ROOT_ENTITY_TYPE_OPTIONS, ut as isTraceFilterGroup, v as TRACE_NUMBER_OPERATORS, w as TRACE_STATUS_OPTIONS } from "../../trace-filters-CaWkw779.js";
2
2
  import { MessagesSquareIcon } from "lucide-react";
3
3
  import { EntityType } from "@mastra/core/observability";
4
4
  // src/domains/threads/thread-filters.ts
5
- /** Thread query fields the filter bar offers. `startedAt`/`endedAt` are left to the time-range chip. */
5
+ /** Thread query fields the filter bar offers. `startedAt`/`endedAt` are left to the time range. */
6
6
  var THREAD_FILTER_FIELD_IDS = [
7
7
  "status",
8
8
  "traceCount",
@@ -1 +1 @@
1
- {"version":3,"file":"thread-filters.es.js","names":[],"sources":["../../../src/domains/threads/thread-filters.ts"],"sourcesContent":["import { EntityType } from '@mastra/core/observability';\nimport type { TraceQueryScalarPredicate } from '@mastra/core/storage';\nimport { MessagesSquareIcon } from 'lucide-react';\nimport type { LucideIcon } from 'lucide-react';\nimport {\n isLegacyAnyValue,\n ROOT_ENTITY_TYPE_OPTIONS,\n TRACE_FILTER_BAR_LABELS,\n TRACE_NUMBER_OPERATORS,\n TRACE_REQUIRED_STRING_OPERATORS,\n TRACE_STATUS_OPTIONS,\n TRACE_STRING_OPERATORS,\n traceFilterFieldColor,\n traceFilterFieldIcon,\n withoutUnrecordedStreamingTimings,\n} from '../traces/trace-filters';\nimport type { StreamingTimingSupport } from '../traces/trace-filters';\nimport { isTraceFilterGroup, scalarPredicate } from '../traces/trace-query-filters';\nimport type { TraceFilterGroup, TraceFilterOperatorId, TraceFilterToken } from '../traces/trace-query-filters';\nimport type { FilterBarField, FilterBarOption } from '@/ds/components/FilterBar/types';\n\n/** Thread query fields the filter bar offers. `startedAt`/`endedAt` are left to the time-range chip. */\nexport const THREAD_FILTER_FIELD_IDS = [\n 'status',\n 'traceCount',\n 'timeToFirstChunkMs',\n 'timeToFirstTokenMs',\n 'entityType',\n 'entityId',\n 'entityName',\n 'entityVersionId',\n 'threadId',\n 'resourceId',\n 'userId',\n 'organizationId',\n 'runId',\n 'sessionId',\n 'requestId',\n 'serviceName',\n 'experimentId',\n 'environment',\n 'executionSource',\n] as const;\n\nconst FIELD_IDS: ReadonlySet<string> = new Set(THREAD_FILTER_FIELD_IDS);\nconst NUMBER_FIELD_IDS: ReadonlySet<string> = new Set(['traceCount', 'timeToFirstChunkMs', 'timeToFirstTokenMs']);\n/** Fields every thread row carries. On any other field, \"is not X\" must also keep threads where it is missing. */\nconst REQUIRED_FIELD_IDS: ReadonlySet<string> = new Set(['threadId', 'status', 'traceCount']);\n/** The thread query compares `traceCount` but has no set membership or presence check for it. */\nconst TRACE_COUNT_OPERATORS: TraceFilterOperatorId[] = ['is', 'isNot', 'gt', 'gte', 'lt', 'lte'];\n\nconst THREAD_FILTER_BAR_LABELS: Record<string, string> = {\n ...TRACE_FILTER_BAR_LABELS,\n traceCount: 'Messages',\n timeToFirstChunkMs: 'Time to first chunk (ms)',\n timeToFirstTokenMs: 'Time to first token (ms)',\n executionSource: 'Execution source',\n entityType: 'Primitive type',\n entityVersionId: 'Primitive version ID',\n};\n\n/** Thread fields without their own trace icon borrow the icon of the closest trace field. */\nconst THREAD_ICON_FIELD_ALIASES: Record<string, string> = {\n timeToFirstChunkMs: 'durationMs',\n timeToFirstTokenMs: 'durationMs',\n executionSource: 'runId',\n entityType: 'rootEntityType',\n entityVersionId: 'entityId',\n};\n\n/** Thread fields with an icon of their own: Messages uses the Threads tab's icon. */\nconst THREAD_FILTER_BAR_ICONS: Record<string, LucideIcon> = {\n traceCount: MessagesSquareIcon,\n};\n\nconst threadFieldBase = (id: string) => ({\n id,\n label: THREAD_FILTER_BAR_LABELS[id] ?? id,\n icon: THREAD_FILTER_BAR_ICONS[id] ?? traceFilterFieldIcon(THREAD_ICON_FIELD_ALIASES[id] ?? id),\n color: traceFilterFieldColor(id),\n});\n\nconst humanize = (value: string) => {\n const words = value.replace(/_/g, ' ');\n return words.charAt(0).toUpperCase() + words.slice(1);\n};\n\nconst ENTITY_TYPE_LABELS: Record<string, string> = Object.fromEntries(\n ROOT_ENTITY_TYPE_OPTIONS.map(option => [option.entityType, option.label]),\n);\n\nconst ENTITY_TYPE_OPTIONS: FilterBarOption[] = Object.values(EntityType)\n .map(value => ({ value, label: ENTITY_TYPE_LABELS[value] ?? humanize(value) }))\n .sort((a, b) => a.label.localeCompare(b.label));\n\nconst STATUS_OPTIONS: FilterBarOption[] = TRACE_STATUS_OPTIONS.filter(option => option.value !== 'running').map(\n option => ({ value: option.value, label: option.label }),\n);\n\n/** FilterBar fields for the threads page: only paths and operators `queryTraceThreads()` accepts. */\nexport function createThreadFilterBarFields({\n withTimeToFirstChunk,\n withTimeToFirstToken,\n entityNames,\n environments,\n}: StreamingTimingSupport & {\n entityNames: readonly string[];\n environments: readonly string[];\n}): FilterBarField[] {\n const pick = (\n id: string,\n suggestions: FilterBarOption[],\n operators: TraceFilterOperatorId[] = TRACE_STRING_OPERATORS,\n ): FilterBarField => ({ ...threadFieldBase(id), operators, strict: true, suggestions });\n\n const field = (id: string): FilterBarField => {\n switch (id) {\n case 'status':\n return pick(id, STATUS_OPTIONS, TRACE_REQUIRED_STRING_OPERATORS);\n case 'entityType':\n return pick(id, ENTITY_TYPE_OPTIONS);\n case 'entityName':\n return pick(\n id,\n entityNames.map(value => ({ value })),\n );\n case 'environment':\n return pick(\n id,\n environments.map(value => ({ value })),\n );\n case 'traceCount':\n return { ...threadFieldBase(id), type: 'number', operators: TRACE_COUNT_OPERATORS };\n case 'timeToFirstChunkMs':\n case 'timeToFirstTokenMs':\n return { ...threadFieldBase(id), type: 'number', operators: TRACE_NUMBER_OPERATORS };\n case 'threadId':\n return { ...threadFieldBase(id), operators: TRACE_REQUIRED_STRING_OPERATORS };\n default:\n return { ...threadFieldBase(id), operators: TRACE_STRING_OPERATORS };\n }\n };\n\n const offered = withoutUnrecordedStreamingTimings(FIELD_IDS, { withTimeToFirstChunk, withTimeToFirstToken });\n return THREAD_FILTER_FIELD_IDS.filter(id => offered.has(id))\n .map(field)\n .sort((a, b) => a.label.localeCompare(b.label));\n}\n\nfunction tokenToThreadQueryPredicate(\n token: TraceFilterToken,\n allowedFieldIds: ReadonlySet<string>,\n): TraceQueryScalarPredicate | undefined {\n const { fieldId } = token;\n if (!allowedFieldIds.has(fieldId)) return undefined;\n const operatorId = token.operatorId ?? 'is';\n const isPresence = operatorId === 'exists' || operatorId === 'notExists';\n\n const rawValues = (Array.isArray(token.value) ? token.value : [token.value]).filter(\n (value): value is string =>\n typeof value === 'string' && Boolean(value.trim()) && !isLegacyAnyValue(value, operatorId),\n );\n if (!rawValues.length && !isPresence) return undefined;\n\n let values: (string | number)[] = rawValues;\n if (NUMBER_FIELD_IDS.has(fieldId)) {\n values = rawValues.map(Number).filter(value => !Number.isNaN(value));\n if (!values.length && !isPresence) return undefined;\n }\n if (fieldId === 'traceCount' && (isPresence || values.length > 1 || !TRACE_COUNT_OPERATORS.includes(operatorId))) {\n return undefined;\n }\n\n const predicate = scalarPredicate(operatorId, fieldId, values);\n if (!predicate) return undefined;\n if ((operatorId === 'isNot' || operatorId === 'notIn') && !REQUIRED_FIELD_IDS.has(fieldId)) {\n return { op: 'or', args: [predicate, { op: 'notExists', path: fieldId }] };\n }\n return predicate;\n}\n\nfunction groupToThreadQueryPredicate(\n group: TraceFilterGroup,\n allowedFieldIds: ReadonlySet<string>,\n): TraceQueryScalarPredicate | undefined {\n const args = group.nodes\n .map(node =>\n isTraceFilterGroup(node)\n ? groupToThreadQueryPredicate(node, allowedFieldIds)\n : tokenToThreadQueryPredicate(node, allowedFieldIds),\n )\n .filter((predicate): predicate is TraceQueryScalarPredicate => Boolean(predicate));\n if (args.length === 0) return undefined;\n return args.length === 1 ? args[0] : { op: group.logic, args };\n}\n\n/**\n * The thread query `where` for the filter bar's tokens and groups, or `undefined` when nothing applies.\n * Conditions the thread query can't run (unknown fields, streaming timings the store doesn't record,\n * unusable values) are left out instead of failing the request.\n */\nexport function buildThreadQueryWhere(\n tokens: TraceFilterToken[],\n groups: TraceFilterGroup[],\n support: StreamingTimingSupport,\n): TraceQueryScalarPredicate | undefined {\n const allowedFieldIds = withoutUnrecordedStreamingTimings(FIELD_IDS, support);\n const args = [\n ...tokens.map(token => tokenToThreadQueryPredicate(token, allowedFieldIds)),\n ...groups.map(group => groupToThreadQueryPredicate(group, allowedFieldIds)),\n ].filter((predicate): predicate is TraceQueryScalarPredicate => Boolean(predicate));\n return args.length ? { op: 'and', args } : undefined;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"thread-filters.es.js","names":[],"sources":["../../../src/domains/threads/thread-filters.ts"],"sourcesContent":["import { EntityType } from '@mastra/core/observability';\nimport type { TraceQueryScalarPredicate } from '@mastra/core/storage';\nimport { MessagesSquareIcon } from 'lucide-react';\nimport type { LucideIcon } from 'lucide-react';\nimport {\n isLegacyAnyValue,\n ROOT_ENTITY_TYPE_OPTIONS,\n TRACE_FILTER_BAR_LABELS,\n TRACE_NUMBER_OPERATORS,\n TRACE_REQUIRED_STRING_OPERATORS,\n TRACE_STATUS_OPTIONS,\n TRACE_STRING_OPERATORS,\n traceFilterFieldColor,\n traceFilterFieldIcon,\n withoutUnrecordedStreamingTimings,\n} from '../traces/trace-filters';\nimport type { StreamingTimingSupport } from '../traces/trace-filters';\nimport { isTraceFilterGroup, scalarPredicate } from '../traces/trace-query-filters';\nimport type { TraceFilterGroup, TraceFilterOperatorId, TraceFilterToken } from '../traces/trace-query-filters';\nimport type { FilterBarField, FilterBarOption } from '@/ds/components/FilterBar/types';\n\n/** Thread query fields the filter bar offers. `startedAt`/`endedAt` are left to the time range. */\nexport const THREAD_FILTER_FIELD_IDS = [\n 'status',\n 'traceCount',\n 'timeToFirstChunkMs',\n 'timeToFirstTokenMs',\n 'entityType',\n 'entityId',\n 'entityName',\n 'entityVersionId',\n 'threadId',\n 'resourceId',\n 'userId',\n 'organizationId',\n 'runId',\n 'sessionId',\n 'requestId',\n 'serviceName',\n 'experimentId',\n 'environment',\n 'executionSource',\n] as const;\n\nconst FIELD_IDS: ReadonlySet<string> = new Set(THREAD_FILTER_FIELD_IDS);\nconst NUMBER_FIELD_IDS: ReadonlySet<string> = new Set(['traceCount', 'timeToFirstChunkMs', 'timeToFirstTokenMs']);\n/** Fields every thread row carries. On any other field, \"is not X\" must also keep threads where it is missing. */\nconst REQUIRED_FIELD_IDS: ReadonlySet<string> = new Set(['threadId', 'status', 'traceCount']);\n/** The thread query compares `traceCount` but has no set membership or presence check for it. */\nconst TRACE_COUNT_OPERATORS: TraceFilterOperatorId[] = ['is', 'isNot', 'gt', 'gte', 'lt', 'lte'];\n\nconst THREAD_FILTER_BAR_LABELS: Record<string, string> = {\n ...TRACE_FILTER_BAR_LABELS,\n traceCount: 'Messages',\n timeToFirstChunkMs: 'Time to first chunk (ms)',\n timeToFirstTokenMs: 'Time to first token (ms)',\n executionSource: 'Execution source',\n entityType: 'Primitive type',\n entityVersionId: 'Primitive version ID',\n};\n\n/** Thread fields without their own trace icon borrow the icon of the closest trace field. */\nconst THREAD_ICON_FIELD_ALIASES: Record<string, string> = {\n timeToFirstChunkMs: 'durationMs',\n timeToFirstTokenMs: 'durationMs',\n executionSource: 'runId',\n entityType: 'rootEntityType',\n entityVersionId: 'entityId',\n};\n\n/** Thread fields with an icon of their own: Messages uses the Threads tab's icon. */\nconst THREAD_FILTER_BAR_ICONS: Record<string, LucideIcon> = {\n traceCount: MessagesSquareIcon,\n};\n\nconst threadFieldBase = (id: string) => ({\n id,\n label: THREAD_FILTER_BAR_LABELS[id] ?? id,\n icon: THREAD_FILTER_BAR_ICONS[id] ?? traceFilterFieldIcon(THREAD_ICON_FIELD_ALIASES[id] ?? id),\n color: traceFilterFieldColor(id),\n});\n\nconst humanize = (value: string) => {\n const words = value.replace(/_/g, ' ');\n return words.charAt(0).toUpperCase() + words.slice(1);\n};\n\nconst ENTITY_TYPE_LABELS: Record<string, string> = Object.fromEntries(\n ROOT_ENTITY_TYPE_OPTIONS.map(option => [option.entityType, option.label]),\n);\n\nconst ENTITY_TYPE_OPTIONS: FilterBarOption[] = Object.values(EntityType)\n .map(value => ({ value, label: ENTITY_TYPE_LABELS[value] ?? humanize(value) }))\n .sort((a, b) => a.label.localeCompare(b.label));\n\nconst STATUS_OPTIONS: FilterBarOption[] = TRACE_STATUS_OPTIONS.filter(option => option.value !== 'running').map(\n option => ({ value: option.value, label: option.label }),\n);\n\n/** FilterBar fields for the threads page: only paths and operators `queryTraceThreads()` accepts. */\nexport function createThreadFilterBarFields({\n withTimeToFirstChunk,\n withTimeToFirstToken,\n entityNames,\n environments,\n}: StreamingTimingSupport & {\n entityNames: readonly string[];\n environments: readonly string[];\n}): FilterBarField[] {\n const pick = (\n id: string,\n suggestions: FilterBarOption[],\n operators: TraceFilterOperatorId[] = TRACE_STRING_OPERATORS,\n ): FilterBarField => ({ ...threadFieldBase(id), operators, strict: true, suggestions });\n\n const field = (id: string): FilterBarField => {\n switch (id) {\n case 'status':\n return pick(id, STATUS_OPTIONS, TRACE_REQUIRED_STRING_OPERATORS);\n case 'entityType':\n return pick(id, ENTITY_TYPE_OPTIONS);\n case 'entityName':\n return pick(\n id,\n entityNames.map(value => ({ value })),\n );\n case 'environment':\n return pick(\n id,\n environments.map(value => ({ value })),\n );\n case 'traceCount':\n return { ...threadFieldBase(id), type: 'number', operators: TRACE_COUNT_OPERATORS };\n case 'timeToFirstChunkMs':\n case 'timeToFirstTokenMs':\n return { ...threadFieldBase(id), type: 'number', operators: TRACE_NUMBER_OPERATORS };\n case 'threadId':\n return { ...threadFieldBase(id), operators: TRACE_REQUIRED_STRING_OPERATORS };\n default:\n return { ...threadFieldBase(id), operators: TRACE_STRING_OPERATORS };\n }\n };\n\n const offered = withoutUnrecordedStreamingTimings(FIELD_IDS, { withTimeToFirstChunk, withTimeToFirstToken });\n return THREAD_FILTER_FIELD_IDS.filter(id => offered.has(id))\n .map(field)\n .sort((a, b) => a.label.localeCompare(b.label));\n}\n\nfunction tokenToThreadQueryPredicate(\n token: TraceFilterToken,\n allowedFieldIds: ReadonlySet<string>,\n): TraceQueryScalarPredicate | undefined {\n const { fieldId } = token;\n if (!allowedFieldIds.has(fieldId)) return undefined;\n const operatorId = token.operatorId ?? 'is';\n const isPresence = operatorId === 'exists' || operatorId === 'notExists';\n\n const rawValues = (Array.isArray(token.value) ? token.value : [token.value]).filter(\n (value): value is string =>\n typeof value === 'string' && Boolean(value.trim()) && !isLegacyAnyValue(value, operatorId),\n );\n if (!rawValues.length && !isPresence) return undefined;\n\n let values: (string | number)[] = rawValues;\n if (NUMBER_FIELD_IDS.has(fieldId)) {\n values = rawValues.map(Number).filter(value => !Number.isNaN(value));\n if (!values.length && !isPresence) return undefined;\n }\n if (fieldId === 'traceCount' && (isPresence || values.length > 1 || !TRACE_COUNT_OPERATORS.includes(operatorId))) {\n return undefined;\n }\n\n const predicate = scalarPredicate(operatorId, fieldId, values);\n if (!predicate) return undefined;\n if ((operatorId === 'isNot' || operatorId === 'notIn') && !REQUIRED_FIELD_IDS.has(fieldId)) {\n return { op: 'or', args: [predicate, { op: 'notExists', path: fieldId }] };\n }\n return predicate;\n}\n\nfunction groupToThreadQueryPredicate(\n group: TraceFilterGroup,\n allowedFieldIds: ReadonlySet<string>,\n): TraceQueryScalarPredicate | undefined {\n const args = group.nodes\n .map(node =>\n isTraceFilterGroup(node)\n ? groupToThreadQueryPredicate(node, allowedFieldIds)\n : tokenToThreadQueryPredicate(node, allowedFieldIds),\n )\n .filter((predicate): predicate is TraceQueryScalarPredicate => Boolean(predicate));\n if (args.length === 0) return undefined;\n return args.length === 1 ? args[0] : { op: group.logic, args };\n}\n\n/**\n * The thread query `where` for the filter bar's tokens and groups, or `undefined` when nothing applies.\n * Conditions the thread query can't run (unknown fields, streaming timings the store doesn't record,\n * unusable values) are left out instead of failing the request.\n */\nexport function buildThreadQueryWhere(\n tokens: TraceFilterToken[],\n groups: TraceFilterGroup[],\n support: StreamingTimingSupport,\n): TraceQueryScalarPredicate | undefined {\n const allowedFieldIds = withoutUnrecordedStreamingTimings(FIELD_IDS, support);\n const args = [\n ...tokens.map(token => tokenToThreadQueryPredicate(token, allowedFieldIds)),\n ...groups.map(group => groupToThreadQueryPredicate(group, allowedFieldIds)),\n ].filter((predicate): predicate is TraceQueryScalarPredicate => Boolean(predicate));\n return args.length ? { op: 'and', args } : undefined;\n}\n"],"mappings":"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"}
@@ -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_trace_list_columns = require("../../trace-list-columns.cjs.js");
4
4
  const require_domains_traces_components_trace_columns_menu = require("../trace-columns-menu.cjs.js");
5
5
  const require_domains_traces_components_traces_explorer_traces_explorer_context = require("../traces-explorer/traces-explorer-context.cjs.js");
@@ -1,5 +1,5 @@
1
1
  import { useObservabilityCapabilities, useSpanQueryAvailable, useThreadQueryAvailable, useTraceQueryAvailable, useTraceQueryDiscoveryAvailable } from "../../../capabilities.es.js";
2
- import { ft as resolveTraceQueryTimeRange } from "../../../../trace-filters-BJaebsxJ.js";
2
+ import { ft as resolveTraceQueryTimeRange } from "../../../../trace-filters-CaWkw779.js";
3
3
  import { TRACE_COLUMN_CATALOGS, addTraceCustomColumn, addTraceMetadataColumn, removeTraceCustomColumn, removeTraceMetadataColumn, toggleTraceColumn } from "../../trace-list-columns.es.js";
4
4
  import { TraceColumnsMenu } from "../trace-columns-menu.es.js";
5
5
  import { CHECKING_USAGE_REASON, UNSUPPORTED_USAGE_REASON } from "../traces-explorer/traces-explorer-context.es.js";
@@ -1,15 +1,15 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_utils_date_format = require("../../../utils/date-format.cjs.js");
3
3
  const require_icons_Icon = require("../../../icons/Icon.cjs.js");
4
- const require_Button = require("../../../Button-YQRflC47.cjs");
4
+ const require_Button = require("../../../Button-DLcMcuUL.cjs");
5
5
  const require_Txt = require("../../../Txt-BnoSqxKE.cjs");
6
6
  const require_dropdown_menu = require("../../../dropdown-menu-BETTTPBB.cjs");
7
- const require_input_group = require("../../../input-group-uDpFNnSW.cjs");
7
+ const require_input_group = require("../../../input-group-DVJLZDBL.cjs");
8
8
  const require_components_AlertDialog = require("../../../components/AlertDialog.cjs.js");
9
9
  const require_domains_review_components_review_status_badge = require("../../review/components/review-status-badge.cjs.js");
10
10
  const require_domains_traces_utils_feedback_author = require("../utils/feedback-author.cjs.js");
11
11
  const require_Avatar = require("../../../Avatar-Iiqjad9K.cjs");
12
- const require_Comment = require("../../../Comment-KYUQzeSu.cjs");
12
+ const require_Comment = require("../../../Comment-Cg0f7eLa.cjs");
13
13
  let react = require("react");
14
14
  let react_jsx_runtime = require("react/jsx-runtime");
15
15
  let lucide_react = require("lucide-react");
@@ -1,14 +1,14 @@
1
1
  import { formatDate } from "../../../utils/date-format.es.js";
2
2
  import { Icon } from "../../../icons/Icon.es.js";
3
- import { t as Button } from "../../../Button-Bw1e3ONi.js";
3
+ import { t as Button } from "../../../Button-CLXTbAY8.js";
4
4
  import { t as Txt } from "../../../Txt-BM6TVV_c.js";
5
5
  import { t as DropdownMenu } from "../../../dropdown-menu-B4jY3J9e.js";
6
- import { i as InputGroupInput, n as InputGroupAddon, r as InputGroupButton, t as InputGroup } from "../../../input-group-g85FYfze.js";
6
+ import { i as InputGroupInput, n as InputGroupAddon, r as InputGroupButton, t as InputGroup } from "../../../input-group-QKKV_ouF.js";
7
7
  import { AlertDialog } from "../../../components/AlertDialog.es.js";
8
8
  import { ReviewStatusBadge } from "../../review/components/review-status-badge.es.js";
9
9
  import { feedbackAuthorLabel } from "../utils/feedback-author.es.js";
10
10
  import { t as Avatar } from "../../../Avatar-Dj8aP7OI.js";
11
- import { c as CommentItem, d as CommentItemAvatar, f as CommentItemBody, g as CommentList, h as CommentItemTimestamp, l as CommentItemActions, m as CommentItemHeader, p as CommentItemContent, s as Comment, u as CommentItemAuthor } from "../../../Comment-VFJq2wRp.js";
11
+ import { c as CommentItem, d as CommentItemAvatar, f as CommentItemBody, g as CommentList, h as CommentItemTimestamp, l as CommentItemActions, m as CommentItemHeader, p as CommentItemContent, s as Comment, u as CommentItemAuthor } from "../../../Comment-0n98b_f_.js";
12
12
  import { useState } from "react";
13
13
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
14
14
  import { ArrowUp, ChevronLeft, ChevronRight, ClipboardCheck, EllipsisIcon, Trash2 } from "lucide-react";
@@ -4,13 +4,13 @@ const require_utils_date_format = require("../../../utils/date-format.cjs.js");
4
4
  const require_utils_duration = require("../../../utils/duration.cjs.js");
5
5
  const require_tooltip = require("../../../tooltip-BiRLT3Th.cjs");
6
6
  const require_icons_Icon = require("../../../icons/Icon.cjs.js");
7
- const require_Button = require("../../../Button-YQRflC47.cjs");
7
+ const require_Button = require("../../../Button-DLcMcuUL.cjs");
8
8
  const require_Txt = require("../../../Txt-BnoSqxKE.cjs");
9
- const require_copy_button = require("../../../copy-button-BYEFKNpo.cjs");
10
- const require_tabs_tab = require("../../../tabs-tab-Qp3RJ17z.cjs");
9
+ const require_copy_button = require("../../../copy-button-DJAQ6_3o.cjs");
10
+ const require_tabs_tab = require("../../../tabs-tab-DGwfHVDr.cjs");
11
11
  const require_Badge = require("../../../Badge-DZ6r6bcw.cjs");
12
- const require_Notice = require("../../../Notice-DWNeCe-t.cjs");
13
- const require_DataPanel = require("../../../DataPanel-C0Ll76Ne.cjs");
12
+ const require_Notice = require("../../../Notice-JZ7SW7q6.cjs");
13
+ const require_DataPanel = require("../../../DataPanel-BwB1Oifd.cjs");
14
14
  const require_domains_llm_provider_logo = require("../../llm/provider-logo.cjs.js");
15
15
  const require_DataKeysAndValues = require("../../../DataKeysAndValues-DsH6AbAo.cjs");
16
16
  const require_domains_traces_utils_span_signal = require("../utils/span-signal.cjs.js");
@@ -3,13 +3,13 @@ import { formatTimestampPrecise } from "../../../utils/date-format.es.js";
3
3
  import { formatDuration, formatDurationPrecise } from "../../../utils/duration.es.js";
4
4
  import { i as TooltipTrigger, n as TooltipContent, t as Tooltip } from "../../../tooltip-HzcLyGtV.js";
5
5
  import { Icon } from "../../../icons/Icon.es.js";
6
- import { t as Button } from "../../../Button-Bw1e3ONi.js";
6
+ import { t as Button } from "../../../Button-CLXTbAY8.js";
7
7
  import { t as Txt } from "../../../Txt-BM6TVV_c.js";
8
- import { t as CopyButton } from "../../../copy-button-CF-X4iDj.js";
9
- import { n as Tabs, r as TabList, t as Tab } from "../../../tabs-tab-UT1JliwK.js";
8
+ import { t as CopyButton } from "../../../copy-button-BXrbevLn.js";
9
+ import { n as Tabs, r as TabList, t as Tab } from "../../../tabs-tab-CYTZevdV.js";
10
10
  import { t as Badge } from "../../../Badge-aVu5iGAF.js";
11
- import { t as Notice } from "../../../Notice-CyKngbbv.js";
12
- import { t as DataPanel } from "../../../DataPanel-CY1W5LHJ.js";
11
+ import { t as Notice } from "../../../Notice-C-8oOZZF.js";
12
+ import { t as DataPanel } from "../../../DataPanel-Bv4M17xO.js";
13
13
  import { ProviderLogo } from "../../llm/provider-logo.es.js";
14
14
  import { t as DataKeysAndValues } from "../../../DataKeysAndValues-PwOmGxyp.js";
15
15
  import { getSpanSignal } from "../utils/span-signal.es.js";
@@ -10,7 +10,7 @@ const require_domains_traces_components_span_payload_span_processor_mutations =
10
10
  const require_domains_traces_components_span_payload_span_tools_section = require("./span-payload/span-tools-section.cjs.js");
11
11
  const require_domains_traces_components_span_summary_description = require("./span-summary-description.cjs.js");
12
12
  const require_domains_traces_components_trace_id_button = require("./trace-id-button.cjs.js");
13
- const require_DataDetailsPanel = require("../../../DataDetailsPanel-DFhM9H5D.cjs");
13
+ const require_DataDetailsPanel = require("../../../DataDetailsPanel-DiyjEXqK.cjs");
14
14
  let react_jsx_runtime = require("react/jsx-runtime");
15
15
  let lucide_react = require("lucide-react");
16
16
  // src/domains/traces/components/span-details-view.tsx
@@ -9,7 +9,7 @@ import { SpanProcessorMutations } from "./span-payload/span-processor-mutations.
9
9
  import { SpanToolsSection } from "./span-payload/span-tools-section.es.js";
10
10
  import { SpanRunId, SpanSummaryDescription } from "./span-summary-description.es.js";
11
11
  import { TraceIdButton } from "./trace-id-button.es.js";
12
- import { t as DataDetailsPanel } from "../../../DataDetailsPanel-_CK0Huk6.js";
12
+ import { t as DataDetailsPanel } from "../../../DataDetailsPanel-CohEKPm4.js";
13
13
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
14
14
  import { ArrowLeftRightIcon, BracesIcon, FileInputIcon, FileOutputIcon } from "lucide-react";
15
15
  // src/domains/traces/components/span-details-view.tsx
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_Notice = require("../../../Notice-DWNeCe-t.cjs");
2
+ const require_Notice = require("../../../Notice-JZ7SW7q6.cjs");
3
3
  let react_jsx_runtime = require("react/jsx-runtime");
4
4
  let lucide_react = require("lucide-react");
5
5
  // src/domains/traces/components/span-outcome.tsx
@@ -1,4 +1,4 @@
1
- import { t as Notice } from "../../../Notice-CyKngbbv.js";
1
+ import { t as Notice } from "../../../Notice-C-8oOZZF.js";
2
2
  import { jsx } from "react/jsx-runtime";
3
3
  import { ArrowLeftRightIcon, CircleCheckIcon, CircleDashedIcon, CircleXIcon, TriangleAlertIcon } from "lucide-react";
4
4
  // src/domains/traces/components/span-outcome.tsx
@@ -1,10 +1,10 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_utils = require("../../../../utils-uDc1ofX1.cjs");
3
- const require_Notice = require("../../../../Notice-DWNeCe-t.cjs");
3
+ const require_Notice = require("../../../../Notice-JZ7SW7q6.cjs");
4
4
  const require_DataKeysAndValues = require("../../../../DataKeysAndValues-DsH6AbAo.cjs");
5
5
  const require_domains_traces_components_span_payload_span_payload_registry = require("./span-payload-registry.cjs.js");
6
6
  const require_domains_traces_components_span_payload_span_payload_json = require("./span-payload-json.cjs.js");
7
- const require_span_payload_primitives = require("../../../../span-payload-primitives-B10Xxmx7.cjs");
7
+ const require_span_payload_primitives = require("../../../../span-payload-primitives-_2d-pAOD.cjs");
8
8
  let react_jsx_runtime = require("react/jsx-runtime");
9
9
  let _mastra_core_observability = require("@mastra/core/observability");
10
10
  // src/domains/traces/components/span-payload/span-error-renderer.tsx
@@ -1,9 +1,9 @@
1
1
  import { t as cn } from "../../../../utils-DQx8TpNT.js";
2
- import { t as Notice } from "../../../../Notice-CyKngbbv.js";
2
+ import { t as Notice } from "../../../../Notice-C-8oOZZF.js";
3
3
  import { t as DataKeysAndValues } from "../../../../DataKeysAndValues-PwOmGxyp.js";
4
4
  import { asCoreSpan } from "./span-payload-registry.es.js";
5
5
  import { SpanPayloadJson } from "./span-payload-json.es.js";
6
- import { t as SpanPayloadCollapsible } from "../../../../span-payload-primitives-Dyhbqaa7.js";
6
+ import { t as SpanPayloadCollapsible } from "../../../../span-payload-primitives-B3RdahsC.js";
7
7
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
8
8
  import { describeSpanError } from "@mastra/core/observability";
9
9
  // src/domains/traces/components/span-payload/span-error-renderer.tsx
@@ -3,7 +3,7 @@ const require_DataKeysAndValues = require("../../../../DataKeysAndValues-DsH6AbA
3
3
  const require_domains_traces_utils_span_signal = require("../../utils/span-signal.cjs.js");
4
4
  const require_domains_traces_components_span_payload_span_payload_registry = require("./span-payload-registry.cjs.js");
5
5
  const require_domains_traces_components_span_payload_span_payload_json = require("./span-payload-json.cjs.js");
6
- const require_span_payload_primitives = require("../../../../span-payload-primitives-B10Xxmx7.cjs");
6
+ const require_span_payload_primitives = require("../../../../span-payload-primitives-_2d-pAOD.cjs");
7
7
  const require_domains_traces_components_span_payload_span_payload_messages = require("./span-payload-messages.cjs.js");
8
8
  const require_domains_traces_components_span_payload_span_payload_processor = require("./span-payload-processor.cjs.js");
9
9
  let react_jsx_runtime = require("react/jsx-runtime");
@@ -2,7 +2,7 @@ import { t as DataKeysAndValues } from "../../../../DataKeysAndValues-PwOmGxyp.j
2
2
  import { getSpanSignal } from "../../utils/span-signal.es.js";
3
3
  import { asCoreSpan, pickRenderer } from "./span-payload-registry.es.js";
4
4
  import { SpanPayloadJson } from "./span-payload-json.es.js";
5
- import { l as SpanToolNameValue, n as SpanPayloadField, o as SpanPayloadMarkdown } from "../../../../span-payload-primitives-Dyhbqaa7.js";
5
+ import { l as SpanToolNameValue, n as SpanPayloadField, o as SpanPayloadMarkdown } from "../../../../span-payload-primitives-B3RdahsC.js";
6
6
  import { SpanPayloadMessages, SpanSignal } from "./span-payload-messages.es.js";
7
7
  import { SpanPayloadProcessorInput } from "./span-payload-processor.es.js";
8
8
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
@@ -1,12 +1,12 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_Txt = require("../../../../Txt-BnoSqxKE.cjs");
3
- const require_activity = require("../../../../activity-DAK8tj7r.cjs");
4
- const require_Notice = require("../../../../Notice-DWNeCe-t.cjs");
3
+ const require_activity = require("../../../../activity-DyB5H3gF.cjs");
4
+ const require_Notice = require("../../../../Notice-JZ7SW7q6.cjs");
5
5
  const require_DataKeysAndValues = require("../../../../DataKeysAndValues-DsH6AbAo.cjs");
6
6
  const require_domains_traces_components_span_payload_span_payload_registry = require("./span-payload-registry.cjs.js");
7
7
  const require_domains_traces_components_span_payload_span_payload_json = require("./span-payload-json.cjs.js");
8
8
  const require_domains_traces_components_span_payload_span_payload_attachment = require("./span-payload-attachment.cjs.js");
9
- const require_span_payload_primitives = require("../../../../span-payload-primitives-B10Xxmx7.cjs");
9
+ const require_span_payload_primitives = require("../../../../span-payload-primitives-_2d-pAOD.cjs");
10
10
  const require_domains_traces_components_span_payload_span_payload_processor = require("./span-payload-processor.cjs.js");
11
11
  const require_inline_code = require("../../../../inline-code-nhZUg7Zj.cjs");
12
12
  let react_jsx_runtime = require("react/jsx-runtime");
@@ -1,11 +1,11 @@
1
1
  import { t as Txt } from "../../../../Txt-BM6TVV_c.js";
2
- import { n as ReasoningActivity } from "../../../../activity-CM34JyW-.js";
3
- import { t as Notice } from "../../../../Notice-CyKngbbv.js";
2
+ import { n as ReasoningActivity } from "../../../../activity-rJ1NQl_2.js";
3
+ import { t as Notice } from "../../../../Notice-C-8oOZZF.js";
4
4
  import { t as DataKeysAndValues } from "../../../../DataKeysAndValues-PwOmGxyp.js";
5
5
  import { asCoreSpan, hasItems, pickRenderer } from "./span-payload-registry.es.js";
6
6
  import { SpanPayloadJson } from "./span-payload-json.es.js";
7
7
  import { SpanPayloadAttachment } from "./span-payload-attachment.es.js";
8
- import { l as SpanToolNameValue, n as SpanPayloadField, o as SpanPayloadMarkdown, t as SpanPayloadCollapsible } from "../../../../span-payload-primitives-Dyhbqaa7.js";
8
+ import { l as SpanToolNameValue, n as SpanPayloadField, o as SpanPayloadMarkdown, t as SpanPayloadCollapsible } from "../../../../span-payload-primitives-B3RdahsC.js";
9
9
  import { SpanPayloadProcessor } from "./span-payload-processor.es.js";
10
10
  import { t as InlineCode } from "../../../../inline-code-BR1gVYiZ.js";
11
11
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
@@ -1,7 +1,7 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_utils = require("../../../../utils-uDc1ofX1.cjs");
3
3
  require("../../../../primitives/raised-surface.cjs.js");
4
- const require_CodeEditor = require("../../../../CodeEditor-CJ9jC9lu.cjs");
4
+ const require_CodeEditor = require("../../../../CodeEditor-CLzs0yVc.cjs");
5
5
  let react_jsx_runtime = require("react/jsx-runtime");
6
6
  let _codemirror_language = require("@codemirror/language");
7
7
  let _codemirror_view = require("@codemirror/view");
@@ -1,6 +1,6 @@
1
1
  import { t as cn } from "../../../../utils-DQx8TpNT.js";
2
2
  import "../../../../primitives/raised-surface.es.js";
3
- import { t as CodeEditor } from "../../../../CodeEditor-CPVxj7WS.js";
3
+ import { t as CodeEditor } from "../../../../CodeEditor-COnz9c6B.js";
4
4
  import { jsx } from "react/jsx-runtime";
5
5
  import { foldEffect } from "@codemirror/language";
6
6
  import { ViewPlugin } from "@codemirror/view";