@mastra/playground-ui 61.0.0-alpha.2 → 61.0.0-alpha.4

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 (1258) hide show
  1. package/README.md +21 -2
  2. package/dist/{EmptyState-DGzBN0Ix.js → EmptyState-BI6cIolY.js} +6 -5
  3. package/dist/EmptyState-BI6cIolY.js.map +1 -0
  4. package/dist/{EmptyState-DvSib3QC.cjs → EmptyState-O089K_US.cjs} +6 -5
  5. package/dist/EmptyState-O089K_US.cjs.map +1 -0
  6. package/dist/EmptyState.css +25 -0
  7. package/dist/{Header-BXl3AZgO.js → Header-BHqUw0qH.js} +3 -2
  8. package/dist/Header-BHqUw0qH.js.map +1 -0
  9. package/dist/{Header-W3PBmXia.cjs → Header-DwcRfQuP.cjs} +3 -2
  10. package/dist/Header-DwcRfQuP.cjs.map +1 -0
  11. package/dist/{ask-user-CqCUiZRR.js → ask-user-BF4oruLl.js} +2 -2
  12. package/dist/{ask-user-CqCUiZRR.js.map → ask-user-BF4oruLl.js.map} +1 -1
  13. package/dist/{ask-user-DBb0lUh2.cjs → ask-user-BkfO8oNm.cjs} +2 -2
  14. package/dist/{ask-user-DBb0lUh2.cjs.map → ask-user-BkfO8oNm.cjs.map} +1 -1
  15. package/dist/attachment-card-BcK3XoCH.cjs +70 -0
  16. package/dist/attachment-card-BcK3XoCH.cjs.map +1 -0
  17. package/dist/attachment-card-CbsWWaV5.js +68 -0
  18. package/dist/attachment-card-CbsWWaV5.js.map +1 -0
  19. package/dist/{checkbox-Bkobte27.cjs → checkbox-BafbfFcE.cjs} +3 -3
  20. package/dist/{checkbox-Bkobte27.cjs.map → checkbox-BafbfFcE.cjs.map} +1 -1
  21. package/dist/{checkbox-DcNIsz5L.js → checkbox-DyZhbQo9.js} +3 -3
  22. package/dist/{checkbox-DcNIsz5L.js.map → checkbox-DyZhbQo9.js.map} +1 -1
  23. package/dist/{code-block-CXZNO_qi.js → code-block-BMmilLti.js} +5 -5
  24. package/dist/code-block-BMmilLti.js.map +1 -0
  25. package/dist/{code-block-z2hVcNq7.cjs → code-block-Ipm4Kqvc.cjs} +5 -5
  26. package/dist/code-block-Ipm4Kqvc.cjs.map +1 -0
  27. package/dist/components/AttachmentCard.cjs.js +10 -0
  28. package/dist/components/AttachmentCard.cjs.js.map +1 -0
  29. package/dist/components/AttachmentCard.d.ts +2 -0
  30. package/dist/components/AttachmentCard.es.js +2 -0
  31. package/dist/components/AttachmentCard.es.js.map +1 -0
  32. package/dist/components/ChatShell.cjs.js +1 -1
  33. package/dist/components/ChatShell.es.js +1 -1
  34. package/dist/components/Checkbox.cjs.js +1 -1
  35. package/dist/components/Checkbox.es.js +1 -1
  36. package/dist/components/CodeBlock.cjs.js +1 -1
  37. package/dist/components/CodeBlock.es.js +1 -1
  38. package/dist/components/Composer.cjs.js +3 -3
  39. package/dist/components/Composer.cjs.js.map +1 -1
  40. package/dist/components/Composer.es.js +3 -3
  41. package/dist/components/Composer.es.js.map +1 -1
  42. package/dist/components/ContextMenu.cjs.js +2 -222
  43. package/dist/components/ContextMenu.cjs.js.map +1 -1
  44. package/dist/components/ContextMenu.es.js +1 -206
  45. package/dist/components/ContextMenu.es.js.map +1 -1
  46. package/dist/components/DataCodeSection.cjs.js +1 -1
  47. package/dist/components/DataCodeSection.es.js +1 -1
  48. package/dist/components/DataList.cjs.js +5 -5
  49. package/dist/components/DataList.es.js +5 -5
  50. package/dist/components/DataPanel.cjs.js +1 -1
  51. package/dist/components/DataPanel.es.js +1 -1
  52. package/dist/components/EmptyState.cjs.js +1575 -1
  53. package/dist/components/EmptyState.cjs.js.map +1 -1
  54. package/dist/components/EmptyState.es.js +1578 -1
  55. package/dist/components/EmptyState.es.js.map +1 -1
  56. package/dist/components/EnvironmentVariablesEditor.cjs.js +1 -1
  57. package/dist/components/EnvironmentVariablesEditor.es.js +1 -1
  58. package/dist/components/FileDropBackdrop.cjs.js +1 -1
  59. package/dist/components/FileDropBackdrop.es.js +1 -1
  60. package/dist/components/FilterBar.cjs.js +1 -1
  61. package/dist/components/FilterBar.es.js +2 -2
  62. package/dist/components/Header.cjs.js +1 -1
  63. package/dist/components/Header.es.js +1 -1
  64. package/dist/components/JSONSchemaForm.cjs.js +1 -1
  65. package/dist/components/JSONSchemaForm.es.js +1 -1
  66. package/dist/components/ListSearch.cjs.js +1 -1
  67. package/dist/components/ListSearch.es.js +1 -1
  68. package/dist/components/LogsDataList.cjs.js +2 -2
  69. package/dist/components/LogsDataList.es.js +2 -2
  70. package/dist/components/MainSidebar.cjs.js +125 -11
  71. package/dist/components/MainSidebar.cjs.js.map +1 -1
  72. package/dist/components/MainSidebar.es.js +120 -1
  73. package/dist/components/MainSidebar.es.js.map +1 -1
  74. package/dist/components/MarkdownRenderer.cjs.js +1 -1
  75. package/dist/components/MarkdownRenderer.es.js +1 -1
  76. package/dist/components/Message.cjs.js +1 -1
  77. package/dist/components/Message.es.js +2 -2
  78. package/dist/components/MessageScroller.cjs.js +1 -1
  79. package/dist/components/MessageScroller.es.js +1 -1
  80. package/dist/components/MetricsCard.cjs.js +1 -1
  81. package/dist/components/MetricsCard.es.js +1 -1
  82. package/dist/components/MetricsKpiCard.cjs.js +1 -1
  83. package/dist/components/MetricsKpiCard.es.js +1 -1
  84. package/dist/components/PageLayout.cjs.js +1 -1
  85. package/dist/components/PageLayout.es.js +1 -1
  86. package/dist/components/RelativeTimestamp.cjs.js +1 -1
  87. package/dist/components/RelativeTimestamp.es.js +1 -1
  88. package/dist/components/SavedViews.cjs.js +496 -0
  89. package/dist/components/SavedViews.cjs.js.map +1 -0
  90. package/dist/components/SavedViews.d.ts +2 -0
  91. package/dist/components/SavedViews.es.js +490 -0
  92. package/dist/components/SavedViews.es.js.map +1 -0
  93. package/dist/components/SearchInput.cjs.js +1 -1
  94. package/dist/components/SearchInput.es.js +1 -1
  95. package/dist/components/Switch.cjs.js +1 -1
  96. package/dist/components/Switch.es.js +1 -1
  97. package/dist/components/ThreadRail.cjs.js +1 -1
  98. package/dist/components/ThreadRail.cjs.js.map +1 -1
  99. package/dist/components/ThreadRail.es.js +1 -1
  100. package/dist/components/ThreadRail.es.js.map +1 -1
  101. package/dist/components/Workflow.cjs.js +2 -2
  102. package/dist/components/Workflow.es.js +2 -2
  103. package/dist/components/ai/activity.cjs.js +1 -1
  104. package/dist/components/ai/activity.es.js +1 -1
  105. package/dist/components/ai/ask-user.cjs.js +1 -1
  106. package/dist/components/ai/ask-user.es.js +1 -1
  107. package/dist/components/ai/plan.cjs.js +1 -1
  108. package/dist/components/ai/plan.es.js +1 -1
  109. package/dist/components/ai/tool-call.cjs.js +1 -1
  110. package/dist/components/ai/tool-call.es.js +1 -1
  111. package/dist/components/fluid-hover-highlight.cjs.js +1 -1
  112. package/dist/components/fluid-hover-highlight.cjs.js.map +1 -1
  113. package/dist/components/fluid-hover-highlight.es.js +1 -1
  114. package/dist/components/fluid-hover-highlight.es.js.map +1 -1
  115. package/dist/{composer-eMyX1lBH.js → composer-B_yUWdcW.js} +2 -2
  116. package/dist/composer-B_yUWdcW.js.map +1 -0
  117. package/dist/{composer-DyoM0j2m.cjs → composer-Bf2poiID.cjs} +2 -2
  118. package/dist/composer-Bf2poiID.cjs.map +1 -0
  119. package/dist/context-menu-YjTzgOUh.js +207 -0
  120. package/dist/context-menu-YjTzgOUh.js.map +1 -0
  121. package/dist/context-menu-rZEMPP12.cjs +228 -0
  122. package/dist/context-menu-rZEMPP12.cjs.map +1 -0
  123. package/dist/{data-code-section-yMYmVciV.js → data-code-section-BD4VWvPd.js} +2 -2
  124. package/dist/{data-code-section-yMYmVciV.js.map → data-code-section-BD4VWvPd.js.map} +1 -1
  125. package/dist/{data-code-section-BK0bftM-.cjs → data-code-section-t4FroAMJ.cjs} +2 -2
  126. package/dist/{data-code-section-BK0bftM-.cjs.map → data-code-section-t4FroAMJ.cjs.map} +1 -1
  127. package/dist/{data-list-DdsyfT8B.js → data-list-DYW9FuYo.js} +3 -3
  128. package/dist/{data-list-DdsyfT8B.js.map → data-list-DYW9FuYo.js.map} +1 -1
  129. package/dist/{data-list-DoKc-wSe.cjs → data-list-acjJVSpL.cjs} +3 -3
  130. package/dist/{data-list-DoKc-wSe.cjs.map → data-list-acjJVSpL.cjs.map} +1 -1
  131. package/dist/{data-list-skeleton-DuqQkzwC.cjs → data-list-skeleton-BxcJ34hQ.cjs} +2 -2
  132. package/dist/{data-list-skeleton-DuqQkzwC.cjs.map → data-list-skeleton-BxcJ34hQ.cjs.map} +1 -1
  133. package/dist/{data-list-skeleton-CeyLefM5.js → data-list-skeleton-CXvrEdMG.js} +2 -2
  134. package/dist/{data-list-skeleton-CeyLefM5.js.map → data-list-skeleton-CXvrEdMG.js.map} +1 -1
  135. package/dist/{data-list-spacer-CD4hD-As.cjs → data-list-spacer-CXzddj-5.cjs} +2 -2
  136. package/dist/{data-list-spacer-CD4hD-As.cjs.map → data-list-spacer-CXzddj-5.cjs.map} +1 -1
  137. package/dist/{data-list-spacer-7QVTcgIS.js → data-list-spacer-CZa36ohy.js} +2 -2
  138. package/dist/{data-list-spacer-7QVTcgIS.js.map → data-list-spacer-CZa36ohy.js.map} +1 -1
  139. package/dist/{data-list-top-CxUWL8gh.js → data-list-top-D7UxgRNq.js} +2 -2
  140. package/dist/{data-list-top-CxUWL8gh.js.map → data-list-top-D7UxgRNq.js.map} +1 -1
  141. package/dist/{data-list-top-CvD3KI8R.cjs → data-list-top-DJzwLjZj.cjs} +2 -2
  142. package/dist/{data-list-top-CvD3KI8R.cjs.map → data-list-top-DJzwLjZj.cjs.map} +1 -1
  143. package/dist/{data-panel-GT4fMXR0.js → data-panel-C638OC-m.js} +2 -2
  144. package/dist/{data-panel-GT4fMXR0.js.map → data-panel-C638OC-m.js.map} +1 -1
  145. package/dist/{data-panel-mzQKwVkT.cjs → data-panel-HSJNrZhx.cjs} +2 -2
  146. package/dist/{data-panel-mzQKwVkT.cjs.map → data-panel-HSJNrZhx.cjs.map} +1 -1
  147. package/dist/domains/auth/components/permission-denied.cjs.js +1 -1
  148. package/dist/domains/auth/components/permission-denied.es.js +1 -1
  149. package/dist/domains/auth/components/session-expired.cjs.js +3 -3
  150. package/dist/domains/auth/components/session-expired.cjs.js.map +1 -1
  151. package/dist/domains/auth/components/session-expired.es.js +2 -2
  152. package/dist/domains/auth/components/session-expired.es.js.map +1 -1
  153. package/dist/domains/auth/services/sso-login.cjs.js +7 -22
  154. package/dist/domains/auth/services/sso-login.cjs.js.map +1 -1
  155. package/dist/domains/auth/services/sso-login.es.js +1 -23
  156. package/dist/domains/auth/services/sso-login.es.js.map +1 -1
  157. package/dist/domains/capabilities.cjs.js +13 -6
  158. package/dist/domains/capabilities.cjs.js.map +1 -1
  159. package/dist/domains/capabilities.es.js +1 -3
  160. package/dist/domains/capabilities.es.js.map +1 -1
  161. package/dist/domains/chat/attachments/attachment-preview-dialog.cjs.js +28 -8
  162. package/dist/domains/chat/attachments/attachment-preview-dialog.cjs.js.map +1 -1
  163. package/dist/domains/chat/attachments/attachment-preview-dialog.es.js +29 -9
  164. package/dist/domains/chat/attachments/attachment-preview-dialog.es.js.map +1 -1
  165. package/dist/domains/chat/attachments/composer-attachment-list.cjs.js +1 -1
  166. package/dist/domains/chat/attachments/composer-attachment-list.es.js +1 -1
  167. package/dist/domains/chat/attachments/message-attachment-info.cjs.js +44 -0
  168. package/dist/domains/chat/attachments/message-attachment-info.cjs.js.map +1 -0
  169. package/dist/domains/chat/attachments/message-attachment-info.d.ts +2 -0
  170. package/dist/domains/chat/attachments/message-attachment-info.es.js +38 -0
  171. package/dist/domains/chat/attachments/message-attachment-info.es.js.map +1 -0
  172. package/dist/domains/chat/attachments/message-attachment.cjs.js +62 -0
  173. package/dist/domains/chat/attachments/message-attachment.cjs.js.map +1 -0
  174. package/dist/domains/chat/attachments/message-attachment.d.ts +2 -0
  175. package/dist/domains/chat/attachments/message-attachment.es.js +58 -0
  176. package/dist/domains/chat/attachments/message-attachment.es.js.map +1 -0
  177. package/dist/domains/chat/attachments/message-attachments.cjs.js +18 -0
  178. package/dist/domains/chat/attachments/message-attachments.cjs.js.map +1 -0
  179. package/dist/domains/chat/attachments/message-attachments.d.ts +2 -0
  180. package/dist/domains/chat/attachments/message-attachments.es.js +14 -0
  181. package/dist/domains/chat/attachments/message-attachments.es.js.map +1 -0
  182. package/dist/domains/chat/attachments/message-image-attachment.cjs.js +42 -0
  183. package/dist/domains/chat/attachments/message-image-attachment.cjs.js.map +1 -0
  184. package/dist/domains/chat/attachments/message-image-attachment.d.ts +2 -0
  185. package/dist/domains/chat/attachments/message-image-attachment.es.js +38 -0
  186. package/dist/domains/chat/attachments/message-image-attachment.es.js.map +1 -0
  187. package/dist/domains/chat/attachments/split-message-attachments.cjs.js +19 -0
  188. package/dist/domains/chat/attachments/split-message-attachments.cjs.js.map +1 -0
  189. package/dist/domains/chat/attachments/split-message-attachments.d.ts +2 -0
  190. package/dist/domains/chat/attachments/split-message-attachments.es.js +14 -0
  191. package/dist/domains/chat/attachments/split-message-attachments.es.js.map +1 -0
  192. package/dist/domains/chat/messages/assistant-message-actions.cjs.js +1 -1
  193. package/dist/domains/chat/messages/assistant-message-actions.es.js +1 -1
  194. package/dist/domains/chat/messages/dataset-save-action.cjs.js +8 -9
  195. package/dist/domains/chat/messages/dataset-save-action.cjs.js.map +1 -1
  196. package/dist/domains/chat/messages/dataset-save-action.es.js +1 -2
  197. package/dist/domains/chat/messages/dataset-save-action.es.js.map +1 -1
  198. package/dist/domains/chat/messages/message-row.cjs.js +11 -6
  199. package/dist/domains/chat/messages/message-row.cjs.js.map +1 -1
  200. package/dist/domains/chat/messages/message-row.es.js +10 -5
  201. package/dist/domains/chat/messages/message-row.es.js.map +1 -1
  202. package/dist/domains/chat/messages/renderers/in-message-attachment.cjs.js +3 -4
  203. package/dist/domains/chat/messages/renderers/in-message-attachment.cjs.js.map +1 -1
  204. package/dist/domains/chat/messages/renderers/in-message-attachment.es.js +1 -6
  205. package/dist/domains/chat/messages/renderers/in-message-attachment.es.js.map +1 -1
  206. package/dist/domains/chat/messages/renderers/message-text.cjs.js +1 -1
  207. package/dist/domains/chat/messages/renderers/message-text.es.js +1 -1
  208. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.cjs.js +1 -1
  209. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.es.js +1 -1
  210. package/dist/domains/chat/messages/renderers/user-file-part-renderer.cjs.js +4 -4
  211. package/dist/domains/chat/messages/renderers/user-file-part-renderer.cjs.js.map +1 -1
  212. package/dist/domains/chat/messages/renderers/user-file-part-renderer.es.js +4 -4
  213. package/dist/domains/chat/messages/renderers/user-file-part-renderer.es.js.map +1 -1
  214. package/dist/domains/chat/messages/renderers/user-text-part-renderer.cjs.js +4 -3
  215. package/dist/domains/chat/messages/renderers/user-text-part-renderer.cjs.js.map +1 -1
  216. package/dist/domains/chat/messages/renderers/user-text-part-renderer.es.js +4 -3
  217. package/dist/domains/chat/messages/renderers/user-text-part-renderer.es.js.map +1 -1
  218. package/dist/domains/chat/messages/skill-message.cjs.js +1 -1
  219. package/dist/domains/chat/messages/skill-message.es.js +1 -1
  220. package/dist/domains/chat/tools/badges/agent-badge-wrapper.cjs.js +2 -2
  221. package/dist/domains/chat/tools/badges/agent-badge-wrapper.es.js +2 -2
  222. package/dist/domains/chat/tools/badges/agent-badge.cjs.js +1 -1
  223. package/dist/domains/chat/tools/badges/agent-badge.es.js +1 -1
  224. package/dist/domains/chat/tools/badges/ask-user-badge.cjs.js +1 -1
  225. package/dist/domains/chat/tools/badges/ask-user-badge.es.js +1 -1
  226. package/dist/domains/chat/tools/badges/background-task-metadata-dialog.cjs.js +6 -6
  227. package/dist/domains/chat/tools/badges/background-task-metadata-dialog.cjs.js.map +1 -1
  228. package/dist/domains/chat/tools/badges/background-task-metadata-dialog.es.js +5 -5
  229. package/dist/domains/chat/tools/badges/background-task-metadata-dialog.es.js.map +1 -1
  230. package/dist/domains/chat/tools/badges/code-mode-badge.cjs.js +1 -1
  231. package/dist/domains/chat/tools/badges/code-mode-badge.es.js +1 -1
  232. package/dist/domains/chat/tools/badges/file-tree-badge.cjs.js +1 -1
  233. package/dist/domains/chat/tools/badges/file-tree-badge.es.js +1 -1
  234. package/dist/domains/chat/tools/badges/observation-marker-details.cjs.js +1 -1
  235. package/dist/domains/chat/tools/badges/observation-marker-details.es.js +1 -1
  236. package/dist/domains/chat/tools/badges/observation-renderer.cjs.js +2 -2
  237. package/dist/domains/chat/tools/badges/observation-renderer.cjs.js.map +1 -1
  238. package/dist/domains/chat/tools/badges/observation-renderer.es.js +2 -2
  239. package/dist/domains/chat/tools/badges/observation-renderer.es.js.map +1 -1
  240. package/dist/domains/chat/tools/badges/tool-badge.cjs.js +1 -1
  241. package/dist/domains/chat/tools/badges/tool-badge.es.js +1 -1
  242. package/dist/domains/chat/tools/badges/workflow-badge.cjs.js +6 -7
  243. package/dist/domains/chat/tools/badges/workflow-badge.cjs.js.map +1 -1
  244. package/dist/domains/chat/tools/badges/workflow-badge.es.js +6 -7
  245. package/dist/domains/chat/tools/badges/workflow-badge.es.js.map +1 -1
  246. package/dist/domains/chat/tools/submit-plan-tool.cjs.js +3 -3
  247. package/dist/domains/chat/tools/submit-plan-tool.cjs.js.map +1 -1
  248. package/dist/domains/chat/tools/submit-plan-tool.es.js +2 -2
  249. package/dist/domains/chat/tools/submit-plan-tool.es.js.map +1 -1
  250. package/dist/domains/chat/tools/tool-call-effects.cjs.js.map +1 -1
  251. package/dist/domains/chat/tools/tool-call-effects.es.js.map +1 -1
  252. package/dist/domains/chat/tools/tool-card.cjs.js +2 -2
  253. package/dist/domains/chat/tools/tool-card.es.js +2 -2
  254. package/dist/domains/chat/tools/tool-result-media.cjs.js +2 -2
  255. package/dist/domains/chat/tools/tool-result-media.cjs.js.map +1 -1
  256. package/dist/domains/chat/tools/tool-result-media.es.js +2 -2
  257. package/dist/domains/chat/tools/tool-result-media.es.js.map +1 -1
  258. package/dist/domains/datasets/components/save-as-dataset-item-dialog.cjs.js +7 -8
  259. package/dist/domains/datasets/components/save-as-dataset-item-dialog.cjs.js.map +1 -1
  260. package/dist/domains/datasets/components/save-as-dataset-item-dialog.es.js +1 -2
  261. package/dist/domains/datasets/components/save-as-dataset-item-dialog.es.js.map +1 -1
  262. package/dist/domains/datasets.cjs.js +25 -6
  263. package/dist/domains/datasets.cjs.js.map +1 -1
  264. package/dist/domains/datasets.es.js +1 -2
  265. package/dist/domains/datasets.es.js.map +1 -1
  266. package/dist/domains/logs/components/log-data-panel.cjs.js +1 -1
  267. package/dist/domains/logs/components/log-data-panel.es.js +1 -1
  268. package/dist/domains/logs/components/logs-error-content.cjs.js +6 -6
  269. package/dist/domains/logs/components/logs-error-content.cjs.js.map +1 -1
  270. package/dist/domains/logs/components/logs-error-content.es.js +2 -2
  271. package/dist/domains/logs/components/logs-error-content.es.js.map +1 -1
  272. package/dist/domains/logs/components/logs-list-view.cjs.js +2 -2
  273. package/dist/domains/logs/components/logs-list-view.es.js +2 -2
  274. package/dist/domains/logs/components/no-logs-info.cjs.js +1 -1
  275. package/dist/domains/logs/components/no-logs-info.es.js +1 -1
  276. package/dist/domains/logs/hooks.cjs.js +5 -2
  277. package/dist/domains/logs/hooks.cjs.js.map +1 -1
  278. package/dist/domains/logs/hooks.es.js +1 -1
  279. package/dist/domains/logs/types.d.ts +1 -0
  280. package/dist/domains/logs.cjs.js +5 -2
  281. package/dist/domains/logs.cjs.js.map +1 -1
  282. package/dist/domains/logs.es.js +1 -1
  283. package/dist/domains/mcps/components/mcp-app-tool-result.cjs.js +1 -1
  284. package/dist/domains/mcps/components/mcp-app-tool-result.cjs.js.map +1 -1
  285. package/dist/domains/mcps/components/mcp-app-tool-result.es.js +1 -1
  286. package/dist/domains/mcps/components/mcp-app-tool-result.es.js.map +1 -1
  287. package/dist/domains/memory/components/flame-graph.cjs.js +10 -10
  288. package/dist/domains/memory/components/flame-graph.cjs.js.map +1 -1
  289. package/dist/domains/memory/components/flame-graph.es.js +10 -10
  290. package/dist/domains/memory/components/flame-graph.es.js.map +1 -1
  291. package/dist/domains/memory/components/observation-detail-view.cjs.js +2 -2
  292. package/dist/domains/memory/components/observation-detail-view.es.js +2 -2
  293. package/dist/domains/memory.cjs.js +25 -9
  294. package/dist/domains/memory.cjs.js.map +1 -1
  295. package/dist/domains/memory.es.js +1 -3
  296. package/dist/domains/memory.es.js.map +1 -1
  297. package/dist/domains/metrics/components/kpi-card-view.cjs.js +17 -3
  298. package/dist/domains/metrics/components/kpi-card-view.cjs.js.map +1 -1
  299. package/dist/domains/metrics/components/kpi-card-view.es.js +17 -3
  300. package/dist/domains/metrics/components/kpi-card-view.es.js.map +1 -1
  301. package/dist/domains/metrics/components/latency-card-view.cjs.js +1 -1
  302. package/dist/domains/metrics/components/latency-card-view.cjs.js.map +1 -1
  303. package/dist/domains/metrics/components/latency-card-view.es.js +1 -1
  304. package/dist/domains/metrics/components/latency-card-view.es.js.map +1 -1
  305. package/dist/domains/metrics/components/latency-card-view.utils.cjs.js.map +1 -1
  306. package/dist/domains/metrics/components/latency-card-view.utils.es.js.map +1 -1
  307. package/dist/domains/metrics/components/memory-card-view.cjs.js +2 -2
  308. package/dist/domains/metrics/components/memory-card-view.cjs.js.map +1 -1
  309. package/dist/domains/metrics/components/memory-card-view.es.js +2 -2
  310. package/dist/domains/metrics/components/memory-card-view.es.js.map +1 -1
  311. package/dist/domains/metrics/components/model-usage-cost-card-view.cjs.js +2 -2
  312. package/dist/domains/metrics/components/model-usage-cost-card-view.cjs.js.map +1 -1
  313. package/dist/domains/metrics/components/model-usage-cost-card-view.es.js +2 -2
  314. package/dist/domains/metrics/components/model-usage-cost-card-view.es.js.map +1 -1
  315. package/dist/domains/metrics/components/scores-card-view.cjs.js +2 -2
  316. package/dist/domains/metrics/components/scores-card-view.cjs.js.map +1 -1
  317. package/dist/domains/metrics/components/scores-card-view.es.js +2 -2
  318. package/dist/domains/metrics/components/scores-card-view.es.js.map +1 -1
  319. package/dist/domains/metrics/components/token-usage-by-agent-card-view.cjs.js +1 -1
  320. package/dist/domains/metrics/components/token-usage-by-agent-card-view.cjs.js.map +1 -1
  321. package/dist/domains/metrics/components/token-usage-by-agent-card-view.es.js +1 -1
  322. package/dist/domains/metrics/components/token-usage-by-agent-card-view.es.js.map +1 -1
  323. package/dist/domains/metrics/components/token-usage-timeline-card-view.cjs.js +1 -1
  324. package/dist/domains/metrics/components/token-usage-timeline-card-view.cjs.js.map +1 -1
  325. package/dist/domains/metrics/components/token-usage-timeline-card-view.es.js +1 -1
  326. package/dist/domains/metrics/components/token-usage-timeline-card-view.es.js.map +1 -1
  327. package/dist/domains/metrics/components/traces-volume-card-view.cjs.js +1 -1
  328. package/dist/domains/metrics/components/traces-volume-card-view.cjs.js.map +1 -1
  329. package/dist/domains/metrics/components/traces-volume-card-view.es.js +1 -1
  330. package/dist/domains/metrics/components/traces-volume-card-view.es.js.map +1 -1
  331. package/dist/domains/metrics/hooks/use-metrics-filters.cjs.js +2 -35
  332. package/dist/domains/metrics/hooks/use-metrics-filters.cjs.js.map +1 -1
  333. package/dist/domains/metrics/hooks/use-metrics-filters.es.js +2 -35
  334. package/dist/domains/metrics/hooks/use-metrics-filters.es.js.map +1 -1
  335. package/dist/domains/metrics/hooks/use-metrics.cjs.js +12 -0
  336. package/dist/domains/metrics/hooks/use-metrics.cjs.js.map +1 -1
  337. package/dist/domains/metrics/hooks/use-metrics.es.js +12 -0
  338. package/dist/domains/metrics/hooks/use-metrics.es.js.map +1 -1
  339. package/dist/domains/metrics/hooks.cjs.js +61 -29
  340. package/dist/domains/metrics/hooks.cjs.js.map +1 -1
  341. package/dist/domains/metrics/hooks.es.js +1 -14
  342. package/dist/domains/metrics/hooks.es.js.map +1 -1
  343. package/dist/domains/metrics/metrics-filters.cjs.js.map +1 -1
  344. package/dist/domains/metrics/metrics-filters.es.js.map +1 -1
  345. package/dist/domains/metrics.cjs.js +61 -29
  346. package/dist/domains/metrics.cjs.js.map +1 -1
  347. package/dist/domains/metrics.es.js +1 -14
  348. package/dist/domains/metrics.es.js.map +1 -1
  349. package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.cjs.js +14 -9
  350. package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.cjs.js.map +1 -1
  351. package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.es.js +10 -5
  352. package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.es.js.map +1 -1
  353. package/dist/domains/observability/components/trace-as-item-dialog.cjs.js +9 -6
  354. package/dist/domains/observability/components/trace-as-item-dialog.cjs.js.map +1 -1
  355. package/dist/domains/observability/components/trace-as-item-dialog.es.js +9 -6
  356. package/dist/domains/observability/components/trace-as-item-dialog.es.js.map +1 -1
  357. package/dist/domains/scores/components/score-as-item-dialog.cjs.js +1 -3
  358. package/dist/domains/scores/components/score-as-item-dialog.cjs.js.map +1 -1
  359. package/dist/domains/scores/components/score-as-item-dialog.es.js +1 -3
  360. package/dist/domains/scores/components/score-as-item-dialog.es.js.map +1 -1
  361. package/dist/domains/scores/components/score-data-panel.cjs.js +1 -1
  362. package/dist/domains/scores/components/score-data-panel.es.js +1 -1
  363. package/dist/domains/scores/components/span-scoring.cjs.js +2 -2
  364. package/dist/domains/scores/components/span-scoring.cjs.js.map +1 -1
  365. package/dist/domains/scores/components/span-scoring.es.js +1 -1
  366. package/dist/domains/scores/components/span-scoring.es.js.map +1 -1
  367. package/dist/domains/scores/components/trace-scores-tab.cjs.js +13 -8
  368. package/dist/domains/scores/components/trace-scores-tab.cjs.js.map +1 -1
  369. package/dist/domains/scores/components/trace-scores-tab.es.js +10 -5
  370. package/dist/domains/scores/components/trace-scores-tab.es.js.map +1 -1
  371. package/dist/domains/scores/hooks.cjs.js +29 -10
  372. package/dist/domains/scores/hooks.cjs.js.map +1 -1
  373. package/dist/domains/scores/hooks.es.js +1 -3
  374. package/dist/domains/scores/hooks.es.js.map +1 -1
  375. package/dist/domains/scores.cjs.js +29 -10
  376. package/dist/domains/scores.cjs.js.map +1 -1
  377. package/dist/domains/scores.es.js +1 -3
  378. package/dist/domains/scores.es.js.map +1 -1
  379. package/dist/domains/traces/components/no-traces-info.cjs.js +1 -1
  380. package/dist/domains/traces/components/no-traces-info.es.js +1 -1
  381. package/dist/domains/traces/components/span-data-panel-view.cjs.js +1 -1
  382. package/dist/domains/traces/components/span-data-panel-view.es.js +1 -1
  383. package/dist/domains/traces/components/span-feedback-tab.cjs.js +11 -8
  384. package/dist/domains/traces/components/span-feedback-tab.cjs.js.map +1 -1
  385. package/dist/domains/traces/components/span-feedback-tab.es.js +8 -5
  386. package/dist/domains/traces/components/span-feedback-tab.es.js.map +1 -1
  387. package/dist/domains/traces/components/span-payload/span-error-renderer.cjs.js +1 -1
  388. package/dist/domains/traces/components/span-payload/span-error-renderer.es.js +1 -1
  389. package/dist/domains/traces/components/span-payload/span-input-renderers.cjs.js +1 -1
  390. package/dist/domains/traces/components/span-payload/span-input-renderers.es.js +1 -1
  391. package/dist/domains/traces/components/span-payload/span-output-renderers.cjs.js +2 -2
  392. package/dist/domains/traces/components/span-payload/span-output-renderers.es.js +2 -2
  393. package/dist/domains/traces/components/span-payload/span-payload-attachment.cjs.js +2 -2
  394. package/dist/domains/traces/components/span-payload/span-payload-attachment.cjs.js.map +1 -1
  395. package/dist/domains/traces/components/span-payload/span-payload-attachment.es.js +2 -2
  396. package/dist/domains/traces/components/span-payload/span-payload-attachment.es.js.map +1 -1
  397. package/dist/domains/traces/components/span-payload/span-payload-messages.cjs.js +3 -3
  398. package/dist/domains/traces/components/span-payload/span-payload-messages.es.js +3 -3
  399. package/dist/domains/traces/components/span-payload/span-payload-primitives.cjs.js +2 -2
  400. package/dist/domains/traces/components/span-payload/span-payload-primitives.es.js +2 -2
  401. package/dist/domains/traces/components/span-payload/span-payload-processor.cjs.js +1 -1
  402. package/dist/domains/traces/components/span-payload/span-payload-processor.es.js +1 -1
  403. package/dist/domains/traces/components/span-payload/span-payload-tool.cjs.js +1 -1
  404. package/dist/domains/traces/components/span-payload/span-payload-tool.es.js +1 -1
  405. package/dist/domains/traces/components/span-payload/span-processor-attributes.cjs.js +1 -1
  406. package/dist/domains/traces/components/span-payload/span-processor-attributes.es.js +1 -1
  407. package/dist/domains/traces/components/span-summary-description.cjs.js +1 -1
  408. package/dist/domains/traces/components/span-summary-description.es.js +1 -1
  409. package/dist/domains/traces/components/thread-trace/thread-trace-details.cjs.js +1 -1
  410. package/dist/domains/traces/components/thread-trace/thread-trace-details.es.js +1 -1
  411. package/dist/domains/traces/components/thread-trace/thread-trace-list.cjs.js +1 -1
  412. package/dist/domains/traces/components/thread-trace/thread-trace-list.es.js +1 -1
  413. package/dist/domains/traces/components/thread-trace/thread-trace-root.cjs.js +1 -1
  414. package/dist/domains/traces/components/thread-trace/thread-trace-root.es.js +1 -1
  415. package/dist/domains/traces/components/thread-trace/thread-trace-row.cjs.js +1 -1
  416. package/dist/domains/traces/components/thread-trace/thread-trace-row.es.js +1 -1
  417. package/dist/domains/traces/components/thread-trace/thread-trace-span-panel.cjs.js +7 -4
  418. package/dist/domains/traces/components/thread-trace/thread-trace-span-panel.cjs.js.map +1 -1
  419. package/dist/domains/traces/components/thread-trace/thread-trace-span-panel.es.js +7 -4
  420. package/dist/domains/traces/components/thread-trace/thread-trace-span-panel.es.js.map +1 -1
  421. package/dist/domains/traces/components/thread-trace/thread-trace-spans.cjs.js +2 -2
  422. package/dist/domains/traces/components/thread-trace/thread-trace-spans.cjs.js.map +1 -1
  423. package/dist/domains/traces/components/thread-trace/thread-trace-spans.es.js +2 -2
  424. package/dist/domains/traces/components/thread-trace/thread-trace-spans.es.js.map +1 -1
  425. package/dist/domains/traces/components/thread-view-by-trace.cjs.js +6 -3
  426. package/dist/domains/traces/components/thread-view-by-trace.cjs.js.map +1 -1
  427. package/dist/domains/traces/components/thread-view-by-trace.es.js +5 -2
  428. package/dist/domains/traces/components/thread-view-by-trace.es.js.map +1 -1
  429. package/dist/domains/traces/components/trace-data-panel-view.cjs.js +2 -2
  430. package/dist/domains/traces/components/trace-data-panel-view.es.js +2 -2
  431. package/dist/domains/traces/components/trace-data-panel.cjs.js +4 -4
  432. package/dist/domains/traces/components/trace-data-panel.cjs.js.map +1 -1
  433. package/dist/domains/traces/components/trace-data-panel.es.js +3 -3
  434. package/dist/domains/traces/components/trace-data-panel.es.js.map +1 -1
  435. package/dist/domains/traces/components/trace-feedback-tab.cjs.js +6 -8
  436. package/dist/domains/traces/components/trace-feedback-tab.cjs.js.map +1 -1
  437. package/dist/domains/traces/components/trace-feedback-tab.es.js +3 -5
  438. package/dist/domains/traces/components/trace-feedback-tab.es.js.map +1 -1
  439. package/dist/domains/traces/components/trace-id-button.cjs.js +1 -1
  440. package/dist/domains/traces/components/trace-id-button.es.js +1 -1
  441. package/dist/domains/traces/components/trace-span-panel.cjs.js +10 -4
  442. package/dist/domains/traces/components/trace-span-panel.cjs.js.map +1 -1
  443. package/dist/domains/traces/components/trace-span-panel.es.js +10 -4
  444. package/dist/domains/traces/components/trace-span-panel.es.js.map +1 -1
  445. package/dist/domains/traces/components/trace-summary-description.cjs.js +1 -1
  446. package/dist/domains/traces/components/trace-summary-description.es.js +1 -1
  447. package/dist/domains/traces/components/trace-thread-item-view.cjs.js +6 -2
  448. package/dist/domains/traces/components/trace-thread-item-view.cjs.js.map +1 -1
  449. package/dist/domains/traces/components/trace-thread-item-view.es.js +6 -2
  450. package/dist/domains/traces/components/trace-thread-item-view.es.js.map +1 -1
  451. package/dist/domains/traces/components/trace-thread-panel.cjs.js +1 -1
  452. package/dist/domains/traces/components/trace-thread-panel.es.js +1 -1
  453. package/dist/domains/traces/components/trace-time-range-chip.cjs.js +1 -1
  454. package/dist/domains/traces/components/trace-time-range-chip.es.js +1 -1
  455. package/dist/domains/traces/components/traces-error-content.cjs.js +6 -6
  456. package/dist/domains/traces/components/traces-error-content.cjs.js.map +1 -1
  457. package/dist/domains/traces/components/traces-error-content.es.js +3 -3
  458. package/dist/domains/traces/components/traces-error-content.es.js.map +1 -1
  459. package/dist/domains/traces/components/traces-list-view.cjs.js +3 -3
  460. package/dist/domains/traces/components/traces-list-view.es.js +3 -3
  461. package/dist/domains/traces/components/traces-page-skeleton.cjs.js +1 -1
  462. package/dist/domains/traces/components/traces-page-skeleton.es.js +1 -1
  463. package/dist/domains/traces/hooks/use-download-trace-json.cjs.js +3 -6
  464. package/dist/domains/traces/hooks/use-download-trace-json.cjs.js.map +1 -1
  465. package/dist/domains/traces/hooks/use-download-trace-json.es.js +3 -6
  466. package/dist/domains/traces/hooks/use-download-trace-json.es.js.map +1 -1
  467. package/dist/domains/traces/hooks/use-trace-column-preferences.cjs.js +2 -5
  468. package/dist/domains/traces/hooks/use-trace-column-preferences.cjs.js.map +1 -1
  469. package/dist/domains/traces/hooks/use-trace-column-preferences.es.js +2 -5
  470. package/dist/domains/traces/hooks/use-trace-column-preferences.es.js.map +1 -1
  471. package/dist/domains/traces/hooks/use-traces-list-source.cjs.js +6 -4
  472. package/dist/domains/traces/hooks/use-traces-list-source.cjs.js.map +1 -1
  473. package/dist/domains/traces/hooks/use-traces-list-source.es.js +5 -3
  474. package/dist/domains/traces/hooks/use-traces-list-source.es.js.map +1 -1
  475. package/dist/domains/traces/hooks.cjs.js +49 -24
  476. package/dist/domains/traces/hooks.cjs.js.map +1 -1
  477. package/dist/domains/traces/hooks.es.js +1 -12
  478. package/dist/domains/traces/hooks.es.js.map +1 -1
  479. package/dist/domains/traces/trace-filters.cjs.js +9 -11
  480. package/dist/domains/traces/trace-filters.cjs.js.map +1 -1
  481. package/dist/domains/traces/trace-filters.es.js +3 -7
  482. package/dist/domains/traces/trace-filters.es.js.map +1 -1
  483. package/dist/domains/traces/trace-list-columns.cjs.js.map +1 -1
  484. package/dist/domains/traces/trace-list-columns.es.js.map +1 -1
  485. package/dist/domains/traces/types.cjs.js.map +1 -1
  486. package/dist/domains/traces/types.es.js.map +1 -1
  487. package/dist/domains/traces.cjs.js +53 -25
  488. package/dist/domains/traces.cjs.js.map +1 -1
  489. package/dist/domains/traces.es.js +2 -13
  490. package/dist/domains/traces.es.js.map +1 -1
  491. package/dist/domains/workflows/components/workflow-combobox.cjs.js +4 -4
  492. package/dist/domains/workflows/components/workflow-combobox.cjs.js.map +1 -1
  493. package/dist/domains/workflows/components/workflow-combobox.es.js +1 -1
  494. package/dist/domains/workflows/components/workflow-combobox.es.js.map +1 -1
  495. package/dist/domains/workflows/components/workflow-entity-header.cjs.js +6 -2
  496. package/dist/domains/workflows/components/workflow-entity-header.cjs.js.map +1 -1
  497. package/dist/domains/workflows/components/workflow-entity-header.es.js +6 -2
  498. package/dist/domains/workflows/components/workflow-entity-header.es.js.map +1 -1
  499. package/dist/domains/workflows/components/workflow-information.cjs.js +11 -3
  500. package/dist/domains/workflows/components/workflow-information.cjs.js.map +1 -1
  501. package/dist/domains/workflows/components/workflow-information.es.js +11 -3
  502. package/dist/domains/workflows/components/workflow-information.es.js.map +1 -1
  503. package/dist/domains/workflows/components/workflow-step-detail.cjs.js +2 -2
  504. package/dist/domains/workflows/components/workflow-step-detail.es.js +2 -2
  505. package/dist/domains/workflows/components/workflows-list/no-workflows-info.cjs.js +1 -1
  506. package/dist/domains/workflows/components/workflows-list/no-workflows-info.es.js +1 -1
  507. package/dist/domains/workflows/components/workflows-list/workflows-list.cjs.js +9 -9
  508. package/dist/domains/workflows/components/workflows-list/workflows-list.cjs.js.map +1 -1
  509. package/dist/domains/workflows/components/workflows-list/workflows-list.es.js +3 -3
  510. package/dist/domains/workflows/components/workflows-list/workflows-list.es.js.map +1 -1
  511. package/dist/domains/workflows/context/use-persisted-workflow-run.cjs.js +9 -2
  512. package/dist/domains/workflows/context/use-persisted-workflow-run.cjs.js.map +1 -1
  513. package/dist/domains/workflows/context/use-persisted-workflow-run.es.js +10 -3
  514. package/dist/domains/workflows/context/use-persisted-workflow-run.es.js.map +1 -1
  515. package/dist/domains/workflows/context/use-stream-for-run.cjs.js +2 -2
  516. package/dist/domains/workflows/context/use-stream-for-run.cjs.js.map +1 -1
  517. package/dist/domains/workflows/context/use-stream-for-run.es.js +1 -1
  518. package/dist/domains/workflows/context/use-stream-for-run.es.js.map +1 -1
  519. package/dist/domains/workflows/context/workflow-run-provider.cjs.js +13 -7
  520. package/dist/domains/workflows/context/workflow-run-provider.cjs.js.map +1 -1
  521. package/dist/domains/workflows/context/workflow-run-provider.es.js +10 -4
  522. package/dist/domains/workflows/context/workflow-run-provider.es.js.map +1 -1
  523. package/dist/domains/workflows/runs/workflow-run-list.cjs.js +11 -4
  524. package/dist/domains/workflows/runs/workflow-run-list.cjs.js.map +1 -1
  525. package/dist/domains/workflows/runs/workflow-run-list.es.js +11 -4
  526. package/dist/domains/workflows/runs/workflow-run-list.es.js.map +1 -1
  527. package/dist/domains/workflows/workflow/data/workflow-data-inspector.cjs.js +2 -2
  528. package/dist/domains/workflows/workflow/data/workflow-data-inspector.cjs.js.map +1 -1
  529. package/dist/domains/workflows/workflow/data/workflow-data-inspector.es.js +2 -2
  530. package/dist/domains/workflows/workflow/data/workflow-data-inspector.es.js.map +1 -1
  531. package/dist/domains/workflows/workflow/use-workflow-graph-runtime.cjs.js +2 -2
  532. package/dist/domains/workflows/workflow/use-workflow-graph-runtime.es.js +2 -2
  533. package/dist/domains/workflows/workflow/workflow-body-graph.cjs.js +1 -1
  534. package/dist/domains/workflows/workflow/workflow-body-graph.es.js +1 -1
  535. package/dist/domains/workflows/workflow/workflow-debug-mode-switch.cjs.js +1 -1
  536. package/dist/domains/workflows/workflow/workflow-debug-mode-switch.es.js +1 -1
  537. package/dist/domains/workflows/workflow/workflow-debug-step-controls.cjs.js +1 -1
  538. package/dist/domains/workflows/workflow/workflow-debug-step-controls.es.js +1 -1
  539. package/dist/domains/workflows/workflow/workflow-graph-inner.cjs.js +2 -2
  540. package/dist/domains/workflows/workflow/workflow-graph-inner.es.js +2 -2
  541. package/dist/domains/workflows/workflow/workflow-graph-node.cjs.js +2 -2
  542. package/dist/domains/workflows/workflow/workflow-graph-node.es.js +2 -2
  543. package/dist/domains/workflows/workflow/workflow-graph.cjs.js +0 -1
  544. package/dist/domains/workflows/workflow/workflow-graph.cjs.js.map +1 -1
  545. package/dist/domains/workflows/workflow/workflow-graph.es.js +0 -1
  546. package/dist/domains/workflows/workflow/workflow-graph.es.js.map +1 -1
  547. package/dist/domains/workflows/workflow/workflow-input-data.cjs.js +1 -2
  548. package/dist/domains/workflows/workflow/workflow-input-data.cjs.js.map +1 -1
  549. package/dist/domains/workflows/workflow/workflow-input-data.es.js +1 -2
  550. package/dist/domains/workflows/workflow/workflow-input-data.es.js.map +1 -1
  551. package/dist/domains/workflows/workflow/workflow-nested-graph.cjs.js +2 -2
  552. package/dist/domains/workflows/workflow/workflow-nested-graph.es.js +2 -2
  553. package/dist/domains/workflows/workflow/workflow-run-data.cjs.js +1 -1
  554. package/dist/domains/workflows/workflow/workflow-run-data.cjs.js.map +1 -1
  555. package/dist/domains/workflows/workflow/workflow-run-data.es.js +1 -1
  556. package/dist/domains/workflows/workflow/workflow-run-data.es.js.map +1 -1
  557. package/dist/domains/workflows/workflow/workflow-run-header.cjs.js +1 -1
  558. package/dist/domains/workflows/workflow/workflow-run-header.es.js +1 -1
  559. package/dist/domains/workflows/workflow/workflow-suspended-steps.cjs.js +2 -2
  560. package/dist/domains/workflows/workflow/workflow-suspended-steps.cjs.js.map +1 -1
  561. package/dist/domains/workflows/workflow/workflow-suspended-steps.es.js +2 -2
  562. package/dist/domains/workflows/workflow/workflow-suspended-steps.es.js.map +1 -1
  563. package/dist/domains/workflows/workflow/workflow-trigger-form.cjs.js +1 -1
  564. package/dist/domains/workflows/workflow/workflow-trigger-form.cjs.js.map +1 -1
  565. package/dist/domains/workflows/workflow/workflow-trigger-form.es.js +1 -1
  566. package/dist/domains/workflows/workflow/workflow-trigger-form.es.js.map +1 -1
  567. package/dist/domains/workflows.cjs.js +53 -17
  568. package/dist/domains/workflows.cjs.js.map +1 -1
  569. package/dist/domains/workflows.es.js +1 -4
  570. package/dist/domains/workflows.es.js.map +1 -1
  571. package/dist/domains/workspace/components/mount-icon.cjs.js +1 -1
  572. package/dist/domains/workspace/components/mount-icon.cjs.js.map +1 -1
  573. package/dist/domains/workspace/components/mount-icon.es.js +1 -1
  574. package/dist/domains/workspace/components/mount-icon.es.js.map +1 -1
  575. package/dist/domains/workspace/components/workspace-active-file.cjs.js +12 -9
  576. package/dist/domains/workspace/components/workspace-active-file.cjs.js.map +1 -1
  577. package/dist/domains/workspace/components/workspace-active-file.es.js +7 -4
  578. package/dist/domains/workspace/components/workspace-active-file.es.js.map +1 -1
  579. package/dist/domains/workspace/components/workspace-add-skill-dialog.cjs.js +16 -13
  580. package/dist/domains/workspace/components/workspace-add-skill-dialog.cjs.js.map +1 -1
  581. package/dist/domains/workspace/components/workspace-add-skill-dialog.es.js +14 -11
  582. package/dist/domains/workspace/components/workspace-add-skill-dialog.es.js.map +1 -1
  583. package/dist/domains/workspace/components/workspace-error.cjs.js +4 -4
  584. package/dist/domains/workspace/components/workspace-error.cjs.js.map +1 -1
  585. package/dist/domains/workspace/components/workspace-error.es.js +1 -1
  586. package/dist/domains/workspace/components/workspace-error.es.js.map +1 -1
  587. package/dist/domains/workspace/components/workspace-markdown-preview.cjs.js +2 -2
  588. package/dist/domains/workspace/components/workspace-markdown-preview.es.js +2 -2
  589. package/dist/domains/workspace/components/workspace-parts.cjs.js +5 -5
  590. package/dist/domains/workspace/components/workspace-parts.cjs.js.map +1 -1
  591. package/dist/domains/workspace/components/workspace-parts.es.js +4 -4
  592. package/dist/domains/workspace/components/workspace-parts.es.js.map +1 -1
  593. package/dist/domains/workspace/components/workspace-search.cjs.js +7 -4
  594. package/dist/domains/workspace/components/workspace-search.cjs.js.map +1 -1
  595. package/dist/domains/workspace/components/workspace-search.es.js +7 -4
  596. package/dist/domains/workspace/components/workspace-search.es.js.map +1 -1
  597. package/dist/domains/workspace/components/workspace-tree.cjs.js +9 -5
  598. package/dist/domains/workspace/components/workspace-tree.cjs.js.map +1 -1
  599. package/dist/domains/workspace/components/workspace-tree.es.js +9 -5
  600. package/dist/domains/workspace/components/workspace-tree.es.js.map +1 -1
  601. package/dist/domains/workspace.cjs.js +13 -6
  602. package/dist/domains/workspace.cjs.js.map +1 -1
  603. package/dist/domains/workspace.es.js +1 -3
  604. package/dist/domains/workspace.es.js.map +1 -1
  605. package/dist/ee/signals/components/entity-index-list.cjs.js +1 -1
  606. package/dist/ee/signals/components/entity-index-list.es.js +1 -1
  607. package/dist/ee/signals/components/trace-intelligence-entity-detail.cjs.js +1 -1
  608. package/dist/ee/signals/components/trace-intelligence-entity-detail.es.js +1 -1
  609. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js +6 -6
  610. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js.map +1 -1
  611. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js +4 -4
  612. package/dist/ee/signals/settings/trace-signal-settings.cjs.js +1 -1
  613. package/dist/ee/signals/settings/trace-signal-settings.es.js +1 -1
  614. package/dist/ee/topics/components/topic-trace-details-panel.cjs.js +7 -4
  615. package/dist/ee/topics/components/topic-trace-details-panel.cjs.js.map +1 -1
  616. package/dist/ee/topics/components/topic-trace-details-panel.es.js +7 -4
  617. package/dist/ee/topics/components/topic-trace-details-panel.es.js.map +1 -1
  618. package/dist/ee/topics/components/topic-trace-summary-list.cjs.js +2 -2
  619. package/dist/ee/topics/components/topic-trace-summary-list.es.js +2 -2
  620. package/dist/errors-BiY55qIh.cjs +22 -0
  621. package/dist/errors-BiY55qIh.cjs.map +1 -0
  622. package/dist/errors-CDTokuME.js +20 -0
  623. package/dist/errors-CDTokuME.js.map +1 -0
  624. package/dist/{filter-bar-chip-CRejLco-.js → filter-bar-chip-0OLqovME.js} +19 -7
  625. package/dist/filter-bar-chip-0OLqovME.js.map +1 -0
  626. package/dist/{filter-bar-chip-Cr7kUN9G.cjs → filter-bar-chip-CbX_iAzm.cjs} +19 -6
  627. package/dist/filter-bar-chip-CbX_iAzm.cjs.map +1 -0
  628. package/dist/hooks/use-drop-zone.cjs.js +33 -0
  629. package/dist/hooks/use-drop-zone.cjs.js.map +1 -0
  630. package/dist/hooks/use-drop-zone.d.ts +2 -0
  631. package/dist/hooks/use-drop-zone.es.js +29 -0
  632. package/dist/hooks/use-drop-zone.es.js.map +1 -0
  633. package/dist/layout/tabbed-container.cjs.js +2 -2
  634. package/dist/layout/tabbed-container.es.js +2 -2
  635. package/dist/lib/form/components/boolean-field.cjs.js +1 -1
  636. package/dist/lib/form/components/boolean-field.es.js +1 -1
  637. package/dist/{list-search-DcACBmNB.js → list-search-B9t_AAN5.js} +2 -2
  638. package/dist/{list-search-DcACBmNB.js.map → list-search-B9t_AAN5.js.map} +1 -1
  639. package/dist/{list-search-CCHN2OMB.cjs → list-search-BiATHpQj.cjs} +2 -2
  640. package/dist/{list-search-CCHN2OMB.cjs.map → list-search-BiATHpQj.cjs.map} +1 -1
  641. package/dist/{logs-data-list-PlH4_hgq.js → logs-data-list-CWJxi9Qf.js} +3 -3
  642. package/dist/{logs-data-list-PlH4_hgq.js.map → logs-data-list-CWJxi9Qf.js.map} +1 -1
  643. package/dist/{logs-data-list-BITdSK12.cjs → logs-data-list-D0cymqxR.cjs} +3 -3
  644. package/dist/{logs-data-list-BITdSK12.cjs.map → logs-data-list-D0cymqxR.cjs.map} +1 -1
  645. package/dist/{main-sidebar-B0ivY7lW.js → main-sidebar-link-active-BW025pfN.js} +20 -128
  646. package/dist/main-sidebar-link-active-BW025pfN.js.map +1 -0
  647. package/dist/{main-sidebar-BWKVSRoQ.cjs → main-sidebar-link-active-MpwV6dGL.cjs} +18 -127
  648. package/dist/main-sidebar-link-active-MpwV6dGL.cjs.map +1 -0
  649. package/dist/{markdown-renderer-4iyMU2Cm.cjs → markdown-renderer-BCeiKCA4.cjs} +2 -2
  650. package/dist/{markdown-renderer-4iyMU2Cm.cjs.map → markdown-renderer-BCeiKCA4.cjs.map} +1 -1
  651. package/dist/{markdown-renderer-B3Pf1uW9.js → markdown-renderer-CKSEkKch.js} +2 -2
  652. package/dist/{markdown-renderer-B3Pf1uW9.js.map → markdown-renderer-CKSEkKch.js.map} +1 -1
  653. package/dist/{message-DGDmsmOT.cjs → message-BSjrZWVU.cjs} +7 -5
  654. package/dist/message-BSjrZWVU.cjs.map +1 -0
  655. package/dist/{message-DoxVrgBX.js → message-DGYBEr0X.js} +7 -5
  656. package/dist/message-DGYBEr0X.js.map +1 -0
  657. package/dist/{message-scroller-D-_KN9Fv.cjs → message-scroller-DcZBA9Sl.cjs} +7 -4
  658. package/dist/{message-scroller-D-_KN9Fv.cjs.map → message-scroller-DcZBA9Sl.cjs.map} +1 -1
  659. package/dist/{message-scroller-WWaQ-XU_.js → message-scroller-d8meQ5AR.js} +7 -4
  660. package/dist/{message-scroller-WWaQ-XU_.js.map → message-scroller-d8meQ5AR.js.map} +1 -1
  661. package/dist/{metrics-card-xX9SHUpB.cjs → metrics-card-B9m1jHwk.cjs} +2 -2
  662. package/dist/{metrics-card-xX9SHUpB.cjs.map → metrics-card-B9m1jHwk.cjs.map} +1 -1
  663. package/dist/{metrics-card-DFEWxFkJ.js → metrics-card-BcKVznFk.js} +2 -2
  664. package/dist/{metrics-card-DFEWxFkJ.js.map → metrics-card-BcKVznFk.js.map} +1 -1
  665. package/dist/{metrics-kpi-card-DxcLqbDU.js → metrics-kpi-card-CDeJ3I1-.js} +27 -21
  666. package/dist/metrics-kpi-card-CDeJ3I1-.js.map +1 -0
  667. package/dist/{metrics-kpi-card-9L0j_oGY.cjs → metrics-kpi-card-CLlu5you.cjs} +27 -21
  668. package/dist/metrics-kpi-card-CLlu5you.cjs.map +1 -0
  669. package/dist/new/layout/app-shell.cjs.js +1 -1
  670. package/dist/new/layout/app-shell.cjs.js.map +1 -1
  671. package/dist/new/layout/app-shell.es.js +1 -1
  672. package/dist/new/layout/app-shell.es.js.map +1 -1
  673. package/dist/new/sidebar.cjs.js +34 -34
  674. package/dist/new/sidebar.cjs.js.map +1 -1
  675. package/dist/new/sidebar.es.js +2 -2
  676. package/dist/{plan-D49plJdQ.cjs → plan-4Udllcyn.cjs} +2 -2
  677. package/dist/{plan-D49plJdQ.cjs.map → plan-4Udllcyn.cjs.map} +1 -1
  678. package/dist/{plan-DvkySMRk.js → plan-CZxw-Q5D.js} +2 -2
  679. package/dist/{plan-DvkySMRk.js.map → plan-CZxw-Q5D.js.map} +1 -1
  680. package/dist/primitives/message-surface.cjs.js +8 -0
  681. package/dist/primitives/message-surface.cjs.js.map +1 -0
  682. package/dist/primitives/message-surface.d.ts +2 -0
  683. package/dist/primitives/message-surface.es.js +4 -0
  684. package/dist/primitives/message-surface.es.js.map +1 -0
  685. package/dist/primitives/raised-surface.cjs.js.map +1 -1
  686. package/dist/primitives/raised-surface.es.js.map +1 -1
  687. package/dist/{reasoning-activity-COiiln9U.cjs → reasoning-activity-Bux9ZUhr.cjs} +2 -2
  688. package/dist/{reasoning-activity-COiiln9U.cjs.map → reasoning-activity-Bux9ZUhr.cjs.map} +1 -1
  689. package/dist/{reasoning-activity-r7B4_j4d.js → reasoning-activity-Du19QVGl.js} +2 -2
  690. package/dist/{reasoning-activity-r7B4_j4d.js.map → reasoning-activity-Du19QVGl.js.map} +1 -1
  691. package/dist/{relative-timestamp-Nnwtw7Rp.cjs → relative-timestamp-DLOmWi7o.cjs} +6 -3
  692. package/dist/relative-timestamp-DLOmWi7o.cjs.map +1 -0
  693. package/dist/{relative-timestamp-Rn8mAobA.js → relative-timestamp-XodF8W6h.js} +6 -3
  694. package/dist/relative-timestamp-XodF8W6h.js.map +1 -0
  695. package/dist/{search-input-63Y1_wgA.js → search-input-BV-rRDdJ.js} +3 -3
  696. package/dist/search-input-BV-rRDdJ.js.map +1 -0
  697. package/dist/{search-input-CBhT3N4z.cjs → search-input-DeeH0VrX.cjs} +3 -3
  698. package/dist/search-input-DeeH0VrX.cjs.map +1 -0
  699. package/dist/{span-payload-primitives-DqeZJkw3.cjs → span-payload-primitives-0b_ow5Rt.cjs} +2 -2
  700. package/dist/{span-payload-primitives-DqeZJkw3.cjs.map → span-payload-primitives-0b_ow5Rt.cjs.map} +1 -1
  701. package/dist/{span-payload-primitives-DceLKTQK.js → span-payload-primitives-XWZOfAi-.js} +2 -2
  702. package/dist/{span-payload-primitives-DceLKTQK.js.map → span-payload-primitives-XWZOfAi-.js.map} +1 -1
  703. package/dist/src/domains/auth/services/sso-login.d.ts +2 -7
  704. package/dist/src/domains/capabilities/index.d.ts +1 -1
  705. package/dist/src/domains/chat/attachments/attachment-preview-dialog.d.ts +8 -3
  706. package/dist/src/domains/chat/attachments/message-attachment-info.d.ts +9 -0
  707. package/dist/src/domains/chat/attachments/message-attachment.d.ts +8 -0
  708. package/dist/src/domains/chat/attachments/message-attachments.d.ts +4 -0
  709. package/dist/src/domains/chat/attachments/message-image-attachment.d.ts +5 -0
  710. package/dist/src/domains/chat/attachments/split-message-attachments.d.ts +11 -0
  711. package/dist/src/domains/chat/messages/renderers/in-message-attachment.d.ts +2 -8
  712. package/dist/src/domains/chat/stories/attachment-focus.stories.d.ts +26 -0
  713. package/dist/src/domains/chat/stories/sent-attachments.stories.d.ts +30 -0
  714. package/dist/src/domains/datasets/index.d.ts +2 -1
  715. package/dist/src/domains/logs/hooks/index.d.ts +1 -1
  716. package/dist/src/domains/logs/types.d.ts +1 -35
  717. package/dist/src/domains/mcps/components/mcp-app-tool-result.d.ts +1 -1
  718. package/dist/src/domains/memory/components/flame-graph-data.d.ts +1 -1
  719. package/dist/src/domains/memory/index.d.ts +1 -1
  720. package/dist/src/domains/metrics/components/latency-card-view.d.ts +1 -2
  721. package/dist/src/domains/metrics/components/latency-card-view.utils.d.ts +1 -1
  722. package/dist/src/domains/metrics/components/memory-card-view.d.ts +1 -2
  723. package/dist/src/domains/metrics/components/model-usage-cost-card-view.d.ts +1 -1
  724. package/dist/src/domains/metrics/components/scores-card-view.d.ts +1 -1
  725. package/dist/src/domains/metrics/components/token-usage-by-agent-card-view.d.ts +1 -1
  726. package/dist/src/domains/metrics/components/token-usage-timeline-card-view.d.ts +1 -1
  727. package/dist/src/domains/metrics/components/traces-volume-card-view.d.ts +1 -1
  728. package/dist/src/domains/metrics/hooks/index.d.ts +14 -14
  729. package/dist/src/domains/metrics/hooks/use-metrics-filters.d.ts +3 -46
  730. package/dist/src/domains/metrics/hooks/use-metrics.d.ts +1 -0
  731. package/dist/src/domains/metrics/metrics-filters.d.ts +2 -18
  732. package/dist/src/domains/scores/hooks/index.d.ts +1 -3
  733. package/dist/src/domains/traces/components/trace-data-panel-view.stories.d.ts +2 -2
  734. package/dist/src/domains/traces/hooks/index.d.ts +12 -12
  735. package/dist/src/domains/traces/hooks/use-traces-list-source.d.ts +1 -1
  736. package/dist/src/domains/traces/trace-filters.d.ts +3 -8
  737. package/dist/src/domains/traces/trace-list-columns.d.ts +2 -6
  738. package/dist/src/domains/traces/types.d.ts +2 -6
  739. package/dist/src/domains/workflows/context/use-persisted-workflow-run.d.ts +3 -3
  740. package/dist/src/domains/workflows/context/use-stream-for-run.d.ts +1 -1
  741. package/dist/src/domains/workflows/index.d.ts +1 -1
  742. package/dist/src/domains/workflows/utils.d.ts +2 -2
  743. package/dist/src/domains/workspace/index.d.ts +3 -3
  744. package/dist/src/ds/components/AttachmentCard/attachment-card.d.ts +12 -0
  745. package/dist/src/ds/components/AttachmentCard/attachment-preview.d.ts +5 -0
  746. package/dist/src/ds/components/AttachmentCard/index.d.ts +2 -0
  747. package/dist/src/ds/components/EmptyState/EmptyState.d.ts +2 -2
  748. package/dist/src/ds/components/EmptyState/empty-state-illustration.d.ts +4 -0
  749. package/dist/src/ds/components/EmptyState/empty-state.stories.d.ts +4 -0
  750. package/dist/src/ds/components/EmptyState/illustrations/api-keys-art.d.ts +3 -0
  751. package/dist/src/ds/components/EmptyState/illustrations/databases-art.d.ts +3 -0
  752. package/dist/src/ds/components/EmptyState/illustrations/deploys-art.d.ts +1 -0
  753. package/dist/src/ds/components/EmptyState/illustrations/disconnected-art.d.ts +1 -0
  754. package/dist/src/ds/components/EmptyState/illustrations/environments-art.d.ts +1 -0
  755. package/dist/src/ds/components/EmptyState/illustrations/locked-art.d.ts +3 -0
  756. package/dist/src/ds/components/EmptyState/illustrations/logs-art.d.ts +1 -0
  757. package/dist/src/ds/components/EmptyState/illustrations/not-a-member-art.d.ts +1 -0
  758. package/dist/src/ds/components/EmptyState/illustrations/rate-limited-art.d.ts +1 -0
  759. package/dist/src/ds/components/EmptyState/illustrations/requests-art.d.ts +1 -0
  760. package/dist/src/ds/components/EmptyState/illustrations/server-error-art.d.ts +3 -0
  761. package/dist/src/ds/components/EmptyState/illustrations/threads-art.d.ts +1 -0
  762. package/dist/src/ds/components/EmptyState/illustrations/traces-art.d.ts +1 -0
  763. package/dist/src/ds/components/EmptyState/index.d.ts +2 -0
  764. package/dist/src/ds/components/Header/header.stories.d.ts +1 -0
  765. package/dist/src/ds/components/MainSidebar/main-sidebar-nav-link.d.ts +2 -0
  766. package/dist/src/ds/components/Message/message.d.ts +3 -1
  767. package/dist/src/ds/components/MessageScroller/message-scroller.stories.d.ts +1 -0
  768. package/dist/src/ds/components/MetricsCard/metrics-card.d.ts +1 -0
  769. package/dist/src/ds/components/MetricsKpiCard/metrics-kpi-card-change.d.ts +2 -1
  770. package/dist/src/ds/components/MetricsKpiCard/metrics-kpi-card-header.d.ts +5 -0
  771. package/dist/src/ds/components/MetricsKpiCard/metrics-kpi-card.d.ts +2 -0
  772. package/dist/src/ds/components/RelativeTimestamp/relative-timestamp.stories.d.ts +1 -0
  773. package/dist/src/ds/components/SavedViews/index.d.ts +7 -0
  774. package/dist/src/ds/components/SavedViews/saved-view-editor.d.ts +8 -0
  775. package/dist/src/ds/components/SavedViews/saved-view-name-input.d.ts +4 -0
  776. package/dist/src/ds/components/SavedViews/saved-view-schema.d.ts +20 -0
  777. package/dist/src/ds/components/SavedViews/saved-view-summary.d.ts +10 -0
  778. package/dist/src/ds/components/SavedViews/saved-view-tabs.d.ts +14 -0
  779. package/dist/src/ds/components/SavedViews/saved-views-storage.d.ts +5 -0
  780. package/dist/src/ds/components/SavedViews/saved-views.stories.d.ts +5 -0
  781. package/dist/src/ds/components/SavedViews/use-saved-views.d.ts +35 -0
  782. package/dist/src/ds/components/ai/activity/activity.stories.d.ts +1 -1
  783. package/dist/src/ds/primitives/message-surface.d.ts +2 -0
  784. package/dist/src/ds/tokens/colors.d.ts +1 -0
  785. package/dist/src/hooks/stories/browser/use-drop-zone.stories.d.ts +17 -0
  786. package/dist/src/hooks/use-drop-zone.d.ts +15 -0
  787. package/dist/src/utils/errors.d.ts +1 -1
  788. package/dist/src/utils/query-utils.d.ts +1 -1
  789. package/dist/style.css +302 -63
  790. package/dist/{switch-BlE5ReVZ.cjs → switch-Dwvg61n9.cjs} +2 -2
  791. package/dist/{switch-BlE5ReVZ.cjs.map → switch-Dwvg61n9.cjs.map} +1 -1
  792. package/dist/{switch-MZ1oHrmp.js → switch-plHXs9HV.js} +2 -2
  793. package/dist/{switch-MZ1oHrmp.js.map → switch-plHXs9HV.js.map} +1 -1
  794. package/dist/tokens.cjs.js +1 -0
  795. package/dist/tokens.cjs.js.map +1 -1
  796. package/dist/tokens.es.js +1 -0
  797. package/dist/tokens.es.js.map +1 -1
  798. package/dist/{tool-call-arguments-DQv3oaEC.js → tool-call-arguments-CufA6H_n.js} +2 -2
  799. package/dist/{tool-call-arguments-DQv3oaEC.js.map → tool-call-arguments-CufA6H_n.js.map} +1 -1
  800. package/dist/{tool-call-arguments-DdO3E60i.cjs → tool-call-arguments-DEXKbR8d.cjs} +2 -2
  801. package/dist/{tool-call-arguments-DdO3E60i.cjs.map → tool-call-arguments-DEXKbR8d.cjs.map} +1 -1
  802. package/dist/{tool-card-D9nDQgpg.cjs → tool-card-CQAEtUhC.cjs} +5 -5
  803. package/dist/tool-card-CQAEtUhC.cjs.map +1 -0
  804. package/dist/{tool-card-tK9zedNb.js → tool-card-DKNWgEoo.js} +3 -3
  805. package/dist/tool-card-DKNWgEoo.js.map +1 -0
  806. package/dist/{traces-data-list-D-wz-Je3.cjs → traces-data-list-CA7ZJ42U.cjs} +4 -4
  807. package/dist/{traces-data-list-D-wz-Je3.cjs.map → traces-data-list-CA7ZJ42U.cjs.map} +1 -1
  808. package/dist/{traces-data-list-DmCgejAx.js → traces-data-list-CMhd7o-G.js} +4 -4
  809. package/dist/{traces-data-list-DmCgejAx.js.map → traces-data-list-CMhd7o-G.js.map} +1 -1
  810. package/dist/{use-workflow-graph-runtime-BF_NZEkj.js → use-workflow-graph-runtime-BDQG0x6S.js} +2 -2
  811. package/dist/{use-workflow-graph-runtime-BF_NZEkj.js.map → use-workflow-graph-runtime-BDQG0x6S.js.map} +1 -1
  812. package/dist/{use-workflow-graph-runtime-r_OOpvSo.cjs → use-workflow-graph-runtime-C94sK_3_.cjs} +2 -2
  813. package/dist/{use-workflow-graph-runtime-r_OOpvSo.cjs.map → use-workflow-graph-runtime-C94sK_3_.cjs.map} +1 -1
  814. package/dist/utils/errors.cjs.js +36 -27
  815. package/dist/utils/errors.cjs.js.map +1 -1
  816. package/dist/utils/errors.es.js +2 -21
  817. package/dist/utils/errors.es.js.map +1 -1
  818. package/dist/utils/query-utils.cjs.js +35 -103
  819. package/dist/utils/query-utils.cjs.js.map +1 -1
  820. package/dist/utils/query-utils.es.js +1 -97
  821. package/dist/utils/query-utils.es.js.map +1 -1
  822. package/dist/{workflow-condition-card-Dlo2PaKV.cjs → workflow-condition-card-BTgxBimk.cjs} +2 -2
  823. package/dist/workflow-condition-card-BTgxBimk.cjs.map +1 -0
  824. package/dist/{workflow-condition-card-BCSYogql.js → workflow-condition-card-BrKjwx6R.js} +2 -2
  825. package/dist/workflow-condition-card-BrKjwx6R.js.map +1 -0
  826. package/dist/{workflow-debug-controls-CQc8ljAI.js → workflow-debug-controls-BVaX_0Dq.js} +2 -2
  827. package/dist/workflow-debug-controls-BVaX_0Dq.js.map +1 -0
  828. package/dist/{workflow-debug-controls-WXT05idC.cjs → workflow-debug-controls-DUNR0Ws0.cjs} +2 -2
  829. package/dist/workflow-debug-controls-DUNR0Ws0.cjs.map +1 -0
  830. package/package.json +10 -10
  831. package/theme/surfaces.css +11 -12
  832. package/dist/EmptyState-DGzBN0Ix.js.map +0 -1
  833. package/dist/EmptyState-DvSib3QC.cjs.map +0 -1
  834. package/dist/Header-BXl3AZgO.js.map +0 -1
  835. package/dist/Header-W3PBmXia.cjs.map +0 -1
  836. package/dist/code-block-CXZNO_qi.js.map +0 -1
  837. package/dist/code-block-z2hVcNq7.cjs.map +0 -1
  838. package/dist/composer-DyoM0j2m.cjs.map +0 -1
  839. package/dist/composer-eMyX1lBH.js.map +0 -1
  840. package/dist/domains/agents/hooks/use-agent-messages.cjs.js +0 -49
  841. package/dist/domains/agents/hooks/use-agent-messages.cjs.js.map +0 -1
  842. package/dist/domains/agents/hooks/use-agent-messages.d.ts +0 -2
  843. package/dist/domains/agents/hooks/use-agent-messages.es.js +0 -45
  844. package/dist/domains/agents/hooks/use-agent-messages.es.js.map +0 -1
  845. package/dist/domains/agents/hooks/use-agent-plan.cjs.js +0 -21
  846. package/dist/domains/agents/hooks/use-agent-plan.cjs.js.map +0 -1
  847. package/dist/domains/agents/hooks/use-agent-plan.d.ts +0 -2
  848. package/dist/domains/agents/hooks/use-agent-plan.es.js +0 -17
  849. package/dist/domains/agents/hooks/use-agent-plan.es.js.map +0 -1
  850. package/dist/domains/agents/hooks/use-background-tasks.cjs.js +0 -137
  851. package/dist/domains/agents/hooks/use-background-tasks.cjs.js.map +0 -1
  852. package/dist/domains/agents/hooks/use-background-tasks.d.ts +0 -2
  853. package/dist/domains/agents/hooks/use-background-tasks.es.js +0 -132
  854. package/dist/domains/agents/hooks/use-background-tasks.es.js.map +0 -1
  855. package/dist/domains/agents/hooks/use-browser-session-probe.cjs.js +0 -46
  856. package/dist/domains/agents/hooks/use-browser-session-probe.cjs.js.map +0 -1
  857. package/dist/domains/agents/hooks/use-browser-session-probe.d.ts +0 -2
  858. package/dist/domains/agents/hooks/use-browser-session-probe.es.js +0 -41
  859. package/dist/domains/agents/hooks/use-browser-session-probe.es.js.map +0 -1
  860. package/dist/domains/capabilities/hooks/use-feedback-available.cjs.js +0 -16
  861. package/dist/domains/capabilities/hooks/use-feedback-available.cjs.js.map +0 -1
  862. package/dist/domains/capabilities/hooks/use-feedback-available.d.ts +0 -2
  863. package/dist/domains/capabilities/hooks/use-feedback-available.es.js +0 -12
  864. package/dist/domains/capabilities/hooks/use-feedback-available.es.js.map +0 -1
  865. package/dist/domains/capabilities/hooks/use-observability-capabilities.cjs.js +0 -20
  866. package/dist/domains/capabilities/hooks/use-observability-capabilities.cjs.js.map +0 -1
  867. package/dist/domains/capabilities/hooks/use-observability-capabilities.d.ts +0 -2
  868. package/dist/domains/capabilities/hooks/use-observability-capabilities.es.js +0 -16
  869. package/dist/domains/capabilities/hooks/use-observability-capabilities.es.js.map +0 -1
  870. package/dist/domains/capabilities/hooks/use-trace-query-available.cjs.js +0 -16
  871. package/dist/domains/capabilities/hooks/use-trace-query-available.cjs.js.map +0 -1
  872. package/dist/domains/capabilities/hooks/use-trace-query-available.d.ts +0 -2
  873. package/dist/domains/capabilities/hooks/use-trace-query-available.es.js +0 -12
  874. package/dist/domains/capabilities/hooks/use-trace-query-available.es.js.map +0 -1
  875. package/dist/domains/capabilities/hooks.cjs.js +0 -14
  876. package/dist/domains/capabilities/hooks.cjs.js.map +0 -1
  877. package/dist/domains/capabilities/hooks.d.ts +0 -2
  878. package/dist/domains/capabilities/hooks.es.js +0 -4
  879. package/dist/domains/capabilities/hooks.es.js.map +0 -1
  880. package/dist/domains/datasets/hooks/use-dataset-items.cjs.js +0 -63
  881. package/dist/domains/datasets/hooks/use-dataset-items.cjs.js.map +0 -1
  882. package/dist/domains/datasets/hooks/use-dataset-items.d.ts +0 -2
  883. package/dist/domains/datasets/hooks/use-dataset-items.es.js +0 -58
  884. package/dist/domains/datasets/hooks/use-dataset-items.es.js.map +0 -1
  885. package/dist/domains/datasets/hooks/use-dataset-mutations.cjs.js +0 -157
  886. package/dist/domains/datasets/hooks/use-dataset-mutations.cjs.js.map +0 -1
  887. package/dist/domains/datasets/hooks/use-dataset-mutations.d.ts +0 -2
  888. package/dist/domains/datasets/hooks/use-dataset-mutations.es.js +0 -153
  889. package/dist/domains/datasets/hooks/use-dataset-mutations.es.js.map +0 -1
  890. package/dist/domains/datasets/hooks/use-datasets.cjs.js +0 -55
  891. package/dist/domains/datasets/hooks/use-datasets.cjs.js.map +0 -1
  892. package/dist/domains/datasets/hooks/use-datasets.d.ts +0 -2
  893. package/dist/domains/datasets/hooks/use-datasets.es.js +0 -49
  894. package/dist/domains/datasets/hooks/use-datasets.es.js.map +0 -1
  895. package/dist/domains/datasets/hooks.cjs.js +0 -14
  896. package/dist/domains/datasets/hooks.cjs.js.map +0 -1
  897. package/dist/domains/datasets/hooks.d.ts +0 -2
  898. package/dist/domains/datasets/hooks.es.js +0 -3
  899. package/dist/domains/datasets/hooks.es.js.map +0 -1
  900. package/dist/domains/feedback/hooks/use-feedback.cjs.js +0 -21
  901. package/dist/domains/feedback/hooks/use-feedback.cjs.js.map +0 -1
  902. package/dist/domains/feedback/hooks/use-feedback.d.ts +0 -2
  903. package/dist/domains/feedback/hooks/use-feedback.es.js +0 -17
  904. package/dist/domains/feedback/hooks/use-feedback.es.js.map +0 -1
  905. package/dist/domains/feedback/utils/feedback-refetch-interval.cjs.js +0 -16
  906. package/dist/domains/feedback/utils/feedback-refetch-interval.cjs.js.map +0 -1
  907. package/dist/domains/feedback/utils/feedback-refetch-interval.d.ts +0 -2
  908. package/dist/domains/feedback/utils/feedback-refetch-interval.es.js +0 -12
  909. package/dist/domains/feedback/utils/feedback-refetch-interval.es.js.map +0 -1
  910. package/dist/domains/logs/hooks/use-logs.cjs.js +0 -69
  911. package/dist/domains/logs/hooks/use-logs.cjs.js.map +0 -1
  912. package/dist/domains/logs/hooks/use-logs.d.ts +0 -2
  913. package/dist/domains/logs/hooks/use-logs.es.js +0 -64
  914. package/dist/domains/logs/hooks/use-logs.es.js.map +0 -1
  915. package/dist/domains/mcps/hooks/use-mcp-app-tools.cjs.js +0 -47
  916. package/dist/domains/mcps/hooks/use-mcp-app-tools.cjs.js.map +0 -1
  917. package/dist/domains/mcps/hooks/use-mcp-app-tools.d.ts +0 -2
  918. package/dist/domains/mcps/hooks/use-mcp-app-tools.es.js +0 -43
  919. package/dist/domains/mcps/hooks/use-mcp-app-tools.es.js.map +0 -1
  920. package/dist/domains/memory/hooks/use-memory-status.cjs.js +0 -21
  921. package/dist/domains/memory/hooks/use-memory-status.cjs.js.map +0 -1
  922. package/dist/domains/memory/hooks/use-memory-status.d.ts +0 -2
  923. package/dist/domains/memory/hooks/use-memory-status.es.js +0 -16
  924. package/dist/domains/memory/hooks/use-memory-status.es.js.map +0 -1
  925. package/dist/domains/memory/hooks/use-memory-thread-messages.cjs.js +0 -21
  926. package/dist/domains/memory/hooks/use-memory-thread-messages.cjs.js.map +0 -1
  927. package/dist/domains/memory/hooks/use-memory-thread-messages.d.ts +0 -2
  928. package/dist/domains/memory/hooks/use-memory-thread-messages.es.js +0 -16
  929. package/dist/domains/memory/hooks/use-memory-thread-messages.es.js.map +0 -1
  930. package/dist/domains/memory/hooks/use-observational-memory.cjs.js +0 -28
  931. package/dist/domains/memory/hooks/use-observational-memory.cjs.js.map +0 -1
  932. package/dist/domains/memory/hooks/use-observational-memory.d.ts +0 -2
  933. package/dist/domains/memory/hooks/use-observational-memory.es.js +0 -23
  934. package/dist/domains/memory/hooks/use-observational-memory.es.js.map +0 -1
  935. package/dist/domains/memory/hooks.cjs.js +0 -17
  936. package/dist/domains/memory/hooks.cjs.js.map +0 -1
  937. package/dist/domains/memory/hooks.d.ts +0 -2
  938. package/dist/domains/memory/hooks.es.js +0 -4
  939. package/dist/domains/memory/hooks.es.js.map +0 -1
  940. package/dist/domains/metrics/hooks/use-active-resources-kpi-metrics.cjs.js +0 -25
  941. package/dist/domains/metrics/hooks/use-active-resources-kpi-metrics.cjs.js.map +0 -1
  942. package/dist/domains/metrics/hooks/use-active-resources-kpi-metrics.d.ts +0 -2
  943. package/dist/domains/metrics/hooks/use-active-resources-kpi-metrics.es.js +0 -21
  944. package/dist/domains/metrics/hooks/use-active-resources-kpi-metrics.es.js.map +0 -1
  945. package/dist/domains/metrics/hooks/use-active-threads-kpi-metrics.cjs.js +0 -25
  946. package/dist/domains/metrics/hooks/use-active-threads-kpi-metrics.cjs.js.map +0 -1
  947. package/dist/domains/metrics/hooks/use-active-threads-kpi-metrics.d.ts +0 -2
  948. package/dist/domains/metrics/hooks/use-active-threads-kpi-metrics.es.js +0 -21
  949. package/dist/domains/metrics/hooks/use-active-threads-kpi-metrics.es.js.map +0 -1
  950. package/dist/domains/metrics/hooks/use-agent-runs-kpi-metrics.cjs.js +0 -24
  951. package/dist/domains/metrics/hooks/use-agent-runs-kpi-metrics.cjs.js.map +0 -1
  952. package/dist/domains/metrics/hooks/use-agent-runs-kpi-metrics.d.ts +0 -2
  953. package/dist/domains/metrics/hooks/use-agent-runs-kpi-metrics.es.js +0 -20
  954. package/dist/domains/metrics/hooks/use-agent-runs-kpi-metrics.es.js.map +0 -1
  955. package/dist/domains/metrics/hooks/use-latency-metrics.cjs.js +0 -50
  956. package/dist/domains/metrics/hooks/use-latency-metrics.cjs.js.map +0 -1
  957. package/dist/domains/metrics/hooks/use-latency-metrics.d.ts +0 -2
  958. package/dist/domains/metrics/hooks/use-latency-metrics.es.js +0 -46
  959. package/dist/domains/metrics/hooks/use-latency-metrics.es.js.map +0 -1
  960. package/dist/domains/metrics/hooks/use-model-cost-kpi-metrics.cjs.js +0 -32
  961. package/dist/domains/metrics/hooks/use-model-cost-kpi-metrics.cjs.js.map +0 -1
  962. package/dist/domains/metrics/hooks/use-model-cost-kpi-metrics.d.ts +0 -2
  963. package/dist/domains/metrics/hooks/use-model-cost-kpi-metrics.es.js +0 -28
  964. package/dist/domains/metrics/hooks/use-model-cost-kpi-metrics.es.js.map +0 -1
  965. package/dist/domains/metrics/hooks/use-model-usage-cost-metrics.cjs.js +0 -85
  966. package/dist/domains/metrics/hooks/use-model-usage-cost-metrics.cjs.js.map +0 -1
  967. package/dist/domains/metrics/hooks/use-model-usage-cost-metrics.d.ts +0 -2
  968. package/dist/domains/metrics/hooks/use-model-usage-cost-metrics.es.js +0 -81
  969. package/dist/domains/metrics/hooks/use-model-usage-cost-metrics.es.js.map +0 -1
  970. package/dist/domains/metrics/hooks/use-scores-metrics.cjs.js +0 -96
  971. package/dist/domains/metrics/hooks/use-scores-metrics.cjs.js.map +0 -1
  972. package/dist/domains/metrics/hooks/use-scores-metrics.d.ts +0 -2
  973. package/dist/domains/metrics/hooks/use-scores-metrics.es.js +0 -92
  974. package/dist/domains/metrics/hooks/use-scores-metrics.es.js.map +0 -1
  975. package/dist/domains/metrics/hooks/use-token-usage-by-agent-metrics.cjs.js +0 -59
  976. package/dist/domains/metrics/hooks/use-token-usage-by-agent-metrics.cjs.js.map +0 -1
  977. package/dist/domains/metrics/hooks/use-token-usage-by-agent-metrics.d.ts +0 -2
  978. package/dist/domains/metrics/hooks/use-token-usage-by-agent-metrics.es.js +0 -55
  979. package/dist/domains/metrics/hooks/use-token-usage-by-agent-metrics.es.js.map +0 -1
  980. package/dist/domains/metrics/hooks/use-token-usage-timeseries.cjs.js +0 -80
  981. package/dist/domains/metrics/hooks/use-token-usage-timeseries.cjs.js.map +0 -1
  982. package/dist/domains/metrics/hooks/use-token-usage-timeseries.d.ts +0 -2
  983. package/dist/domains/metrics/hooks/use-token-usage-timeseries.es.js +0 -76
  984. package/dist/domains/metrics/hooks/use-token-usage-timeseries.es.js.map +0 -1
  985. package/dist/domains/metrics/hooks/use-top-active-threads-metrics.cjs.js +0 -80
  986. package/dist/domains/metrics/hooks/use-top-active-threads-metrics.cjs.js.map +0 -1
  987. package/dist/domains/metrics/hooks/use-top-active-threads-metrics.d.ts +0 -2
  988. package/dist/domains/metrics/hooks/use-top-active-threads-metrics.es.js +0 -76
  989. package/dist/domains/metrics/hooks/use-top-active-threads-metrics.es.js.map +0 -1
  990. package/dist/domains/metrics/hooks/use-top-resources-by-threads-metrics.cjs.js +0 -80
  991. package/dist/domains/metrics/hooks/use-top-resources-by-threads-metrics.cjs.js.map +0 -1
  992. package/dist/domains/metrics/hooks/use-top-resources-by-threads-metrics.d.ts +0 -2
  993. package/dist/domains/metrics/hooks/use-top-resources-by-threads-metrics.es.js +0 -76
  994. package/dist/domains/metrics/hooks/use-top-resources-by-threads-metrics.es.js.map +0 -1
  995. package/dist/domains/metrics/hooks/use-total-tokens-kpi-metrics.cjs.js +0 -44
  996. package/dist/domains/metrics/hooks/use-total-tokens-kpi-metrics.cjs.js.map +0 -1
  997. package/dist/domains/metrics/hooks/use-total-tokens-kpi-metrics.d.ts +0 -2
  998. package/dist/domains/metrics/hooks/use-total-tokens-kpi-metrics.es.js +0 -40
  999. package/dist/domains/metrics/hooks/use-total-tokens-kpi-metrics.es.js.map +0 -1
  1000. package/dist/domains/metrics/hooks/use-trace-volume-metrics.cjs.js +0 -48
  1001. package/dist/domains/metrics/hooks/use-trace-volume-metrics.cjs.js.map +0 -1
  1002. package/dist/domains/metrics/hooks/use-trace-volume-metrics.d.ts +0 -2
  1003. package/dist/domains/metrics/hooks/use-trace-volume-metrics.es.js +0 -44
  1004. package/dist/domains/metrics/hooks/use-trace-volume-metrics.es.js.map +0 -1
  1005. package/dist/domains/metrics/metrics-interval.cjs.js +0 -20
  1006. package/dist/domains/metrics/metrics-interval.cjs.js.map +0 -1
  1007. package/dist/domains/metrics/metrics-interval.d.ts +0 -2
  1008. package/dist/domains/metrics/metrics-interval.es.js +0 -15
  1009. package/dist/domains/metrics/metrics-interval.es.js.map +0 -1
  1010. package/dist/domains/scores/hooks/use-scorers.cjs.js +0 -96
  1011. package/dist/domains/scores/hooks/use-scorers.cjs.js.map +0 -1
  1012. package/dist/domains/scores/hooks/use-scorers.d.ts +0 -2
  1013. package/dist/domains/scores/hooks/use-scorers.es.js +0 -89
  1014. package/dist/domains/scores/hooks/use-scorers.es.js.map +0 -1
  1015. package/dist/domains/scores/hooks/use-trace-span-scores.cjs.js +0 -30
  1016. package/dist/domains/scores/hooks/use-trace-span-scores.cjs.js.map +0 -1
  1017. package/dist/domains/scores/hooks/use-trace-span-scores.d.ts +0 -2
  1018. package/dist/domains/scores/hooks/use-trace-span-scores.es.js +0 -25
  1019. package/dist/domains/scores/hooks/use-trace-span-scores.es.js.map +0 -1
  1020. package/dist/domains/scores/hooks/use-trigger-scorer.cjs.js +0 -22
  1021. package/dist/domains/scores/hooks/use-trigger-scorer.cjs.js.map +0 -1
  1022. package/dist/domains/scores/hooks/use-trigger-scorer.d.ts +0 -2
  1023. package/dist/domains/scores/hooks/use-trigger-scorer.es.js +0 -18
  1024. package/dist/domains/scores/hooks/use-trigger-scorer.es.js.map +0 -1
  1025. package/dist/domains/traces/hooks/discovery-cache.cjs.js +0 -8
  1026. package/dist/domains/traces/hooks/discovery-cache.cjs.js.map +0 -1
  1027. package/dist/domains/traces/hooks/discovery-cache.d.ts +0 -2
  1028. package/dist/domains/traces/hooks/discovery-cache.es.js +0 -4
  1029. package/dist/domains/traces/hooks/discovery-cache.es.js.map +0 -1
  1030. package/dist/domains/traces/hooks/use-branch.cjs.js +0 -29
  1031. package/dist/domains/traces/hooks/use-branch.cjs.js.map +0 -1
  1032. package/dist/domains/traces/hooks/use-branch.d.ts +0 -2
  1033. package/dist/domains/traces/hooks/use-branch.es.js +0 -25
  1034. package/dist/domains/traces/hooks/use-branch.es.js.map +0 -1
  1035. package/dist/domains/traces/hooks/use-create-feedback.cjs.js +0 -28
  1036. package/dist/domains/traces/hooks/use-create-feedback.cjs.js.map +0 -1
  1037. package/dist/domains/traces/hooks/use-create-feedback.d.ts +0 -2
  1038. package/dist/domains/traces/hooks/use-create-feedback.es.js +0 -24
  1039. package/dist/domains/traces/hooks/use-create-feedback.es.js.map +0 -1
  1040. package/dist/domains/traces/hooks/use-delete-feedback.cjs.js +0 -20
  1041. package/dist/domains/traces/hooks/use-delete-feedback.cjs.js.map +0 -1
  1042. package/dist/domains/traces/hooks/use-delete-feedback.d.ts +0 -2
  1043. package/dist/domains/traces/hooks/use-delete-feedback.es.js +0 -16
  1044. package/dist/domains/traces/hooks/use-delete-feedback.es.js.map +0 -1
  1045. package/dist/domains/traces/hooks/use-entity-names.cjs.js +0 -50
  1046. package/dist/domains/traces/hooks/use-entity-names.cjs.js.map +0 -1
  1047. package/dist/domains/traces/hooks/use-entity-names.d.ts +0 -2
  1048. package/dist/domains/traces/hooks/use-entity-names.es.js +0 -46
  1049. package/dist/domains/traces/hooks/use-entity-names.es.js.map +0 -1
  1050. package/dist/domains/traces/hooks/use-environments.cjs.js +0 -27
  1051. package/dist/domains/traces/hooks/use-environments.cjs.js.map +0 -1
  1052. package/dist/domains/traces/hooks/use-environments.d.ts +0 -2
  1053. package/dist/domains/traces/hooks/use-environments.es.js +0 -23
  1054. package/dist/domains/traces/hooks/use-environments.es.js.map +0 -1
  1055. package/dist/domains/traces/hooks/use-service-names.cjs.js +0 -27
  1056. package/dist/domains/traces/hooks/use-service-names.cjs.js.map +0 -1
  1057. package/dist/domains/traces/hooks/use-service-names.d.ts +0 -2
  1058. package/dist/domains/traces/hooks/use-service-names.es.js +0 -23
  1059. package/dist/domains/traces/hooks/use-service-names.es.js.map +0 -1
  1060. package/dist/domains/traces/hooks/use-span-detail.cjs.js +0 -31
  1061. package/dist/domains/traces/hooks/use-span-detail.cjs.js.map +0 -1
  1062. package/dist/domains/traces/hooks/use-span-detail.d.ts +0 -2
  1063. package/dist/domains/traces/hooks/use-span-detail.es.js +0 -27
  1064. package/dist/domains/traces/hooks/use-span-detail.es.js.map +0 -1
  1065. package/dist/domains/traces/hooks/use-span-feedback.cjs.js +0 -28
  1066. package/dist/domains/traces/hooks/use-span-feedback.cjs.js.map +0 -1
  1067. package/dist/domains/traces/hooks/use-span-feedback.d.ts +0 -2
  1068. package/dist/domains/traces/hooks/use-span-feedback.es.js +0 -24
  1069. package/dist/domains/traces/hooks/use-span-feedback.es.js.map +0 -1
  1070. package/dist/domains/traces/hooks/use-tags.cjs.js +0 -27
  1071. package/dist/domains/traces/hooks/use-tags.cjs.js.map +0 -1
  1072. package/dist/domains/traces/hooks/use-tags.d.ts +0 -2
  1073. package/dist/domains/traces/hooks/use-tags.es.js +0 -23
  1074. package/dist/domains/traces/hooks/use-tags.es.js.map +0 -1
  1075. package/dist/domains/traces/hooks/use-thread-has-other-traces.cjs.js +0 -25
  1076. package/dist/domains/traces/hooks/use-thread-has-other-traces.cjs.js.map +0 -1
  1077. package/dist/domains/traces/hooks/use-thread-has-other-traces.d.ts +0 -2
  1078. package/dist/domains/traces/hooks/use-thread-has-other-traces.es.js +0 -21
  1079. package/dist/domains/traces/hooks/use-thread-has-other-traces.es.js.map +0 -1
  1080. package/dist/domains/traces/hooks/use-trace-feedback.cjs.js +0 -33
  1081. package/dist/domains/traces/hooks/use-trace-feedback.cjs.js.map +0 -1
  1082. package/dist/domains/traces/hooks/use-trace-feedback.d.ts +0 -2
  1083. package/dist/domains/traces/hooks/use-trace-feedback.es.js +0 -29
  1084. package/dist/domains/traces/hooks/use-trace-feedback.es.js.map +0 -1
  1085. package/dist/domains/traces/hooks/use-trace-light-spans.cjs.js +0 -33
  1086. package/dist/domains/traces/hooks/use-trace-light-spans.cjs.js.map +0 -1
  1087. package/dist/domains/traces/hooks/use-trace-light-spans.d.ts +0 -2
  1088. package/dist/domains/traces/hooks/use-trace-light-spans.es.js +0 -29
  1089. package/dist/domains/traces/hooks/use-trace-light-spans.es.js.map +0 -1
  1090. package/dist/domains/traces/hooks/use-trace-metadata-filter-fields.cjs.js +0 -68
  1091. package/dist/domains/traces/hooks/use-trace-metadata-filter-fields.cjs.js.map +0 -1
  1092. package/dist/domains/traces/hooks/use-trace-metadata-filter-fields.d.ts +0 -2
  1093. package/dist/domains/traces/hooks/use-trace-metadata-filter-fields.es.js +0 -62
  1094. package/dist/domains/traces/hooks/use-trace-metadata-filter-fields.es.js.map +0 -1
  1095. package/dist/domains/traces/hooks/use-trace-or-branch-spans.cjs.js +0 -40
  1096. package/dist/domains/traces/hooks/use-trace-or-branch-spans.cjs.js.map +0 -1
  1097. package/dist/domains/traces/hooks/use-trace-or-branch-spans.d.ts +0 -2
  1098. package/dist/domains/traces/hooks/use-trace-or-branch-spans.es.js +0 -36
  1099. package/dist/domains/traces/hooks/use-trace-or-branch-spans.es.js.map +0 -1
  1100. package/dist/domains/traces/hooks/use-trace-query.cjs.js +0 -152
  1101. package/dist/domains/traces/hooks/use-trace-query.cjs.js.map +0 -1
  1102. package/dist/domains/traces/hooks/use-trace-query.d.ts +0 -2
  1103. package/dist/domains/traces/hooks/use-trace-query.es.js +0 -142
  1104. package/dist/domains/traces/hooks/use-trace-query.es.js.map +0 -1
  1105. package/dist/domains/traces/hooks/use-trace-spans.cjs.js +0 -50
  1106. package/dist/domains/traces/hooks/use-trace-spans.cjs.js.map +0 -1
  1107. package/dist/domains/traces/hooks/use-trace-spans.d.ts +0 -2
  1108. package/dist/domains/traces/hooks/use-trace-spans.es.js +0 -44
  1109. package/dist/domains/traces/hooks/use-trace-spans.es.js.map +0 -1
  1110. package/dist/domains/traces/hooks/use-trace-usage.cjs.js +0 -99
  1111. package/dist/domains/traces/hooks/use-trace-usage.cjs.js.map +0 -1
  1112. package/dist/domains/traces/hooks/use-trace-usage.d.ts +0 -2
  1113. package/dist/domains/traces/hooks/use-trace-usage.es.js +0 -95
  1114. package/dist/domains/traces/hooks/use-trace-usage.es.js.map +0 -1
  1115. package/dist/domains/traces/hooks/use-traces.cjs.js +0 -354
  1116. package/dist/domains/traces/hooks/use-traces.cjs.js.map +0 -1
  1117. package/dist/domains/traces/hooks/use-traces.d.ts +0 -2
  1118. package/dist/domains/traces/hooks/use-traces.es.js +0 -343
  1119. package/dist/domains/traces/hooks/use-traces.es.js.map +0 -1
  1120. package/dist/domains/workflows/hooks/use-workflow-runs.cjs.js +0 -81
  1121. package/dist/domains/workflows/hooks/use-workflow-runs.cjs.js.map +0 -1
  1122. package/dist/domains/workflows/hooks/use-workflow-runs.d.ts +0 -2
  1123. package/dist/domains/workflows/hooks/use-workflow-runs.es.js +0 -71
  1124. package/dist/domains/workflows/hooks/use-workflow-runs.es.js.map +0 -1
  1125. package/dist/domains/workflows/hooks/use-workflow.cjs.js +0 -21
  1126. package/dist/domains/workflows/hooks/use-workflow.cjs.js.map +0 -1
  1127. package/dist/domains/workflows/hooks/use-workflow.d.ts +0 -2
  1128. package/dist/domains/workflows/hooks/use-workflow.es.js +0 -17
  1129. package/dist/domains/workflows/hooks/use-workflow.es.js.map +0 -1
  1130. package/dist/domains/workflows/hooks/use-workflows-run-counts.cjs.js +0 -33
  1131. package/dist/domains/workflows/hooks/use-workflows-run-counts.cjs.js.map +0 -1
  1132. package/dist/domains/workflows/hooks/use-workflows-run-counts.d.ts +0 -2
  1133. package/dist/domains/workflows/hooks/use-workflows-run-counts.es.js +0 -26
  1134. package/dist/domains/workflows/hooks/use-workflows-run-counts.es.js.map +0 -1
  1135. package/dist/domains/workflows/hooks/use-workflows.cjs.js +0 -22
  1136. package/dist/domains/workflows/hooks/use-workflows.cjs.js.map +0 -1
  1137. package/dist/domains/workflows/hooks/use-workflows.d.ts +0 -2
  1138. package/dist/domains/workflows/hooks/use-workflows.es.js +0 -18
  1139. package/dist/domains/workflows/hooks/use-workflows.es.js.map +0 -1
  1140. package/dist/domains/workflows/hooks.cjs.js +0 -25
  1141. package/dist/domains/workflows/hooks.cjs.js.map +0 -1
  1142. package/dist/domains/workflows/hooks.d.ts +0 -2
  1143. package/dist/domains/workflows/hooks.es.js +0 -5
  1144. package/dist/domains/workflows/hooks.es.js.map +0 -1
  1145. package/dist/domains/workspace/file-type.cjs.js +0 -25
  1146. package/dist/domains/workspace/file-type.cjs.js.map +0 -1
  1147. package/dist/domains/workspace/file-type.d.ts +0 -2
  1148. package/dist/domains/workspace/file-type.es.js +0 -17
  1149. package/dist/domains/workspace/file-type.es.js.map +0 -1
  1150. package/dist/domains/workspace/hooks/use-skills-sh.cjs.js +0 -72
  1151. package/dist/domains/workspace/hooks/use-skills-sh.cjs.js.map +0 -1
  1152. package/dist/domains/workspace/hooks/use-skills-sh.d.ts +0 -2
  1153. package/dist/domains/workspace/hooks/use-skills-sh.es.js +0 -65
  1154. package/dist/domains/workspace/hooks/use-skills-sh.es.js.map +0 -1
  1155. package/dist/domains/workspace/hooks/use-workspace-directory.cjs.js +0 -21
  1156. package/dist/domains/workspace/hooks/use-workspace-directory.cjs.js.map +0 -1
  1157. package/dist/domains/workspace/hooks/use-workspace-directory.d.ts +0 -2
  1158. package/dist/domains/workspace/hooks/use-workspace-directory.es.js +0 -16
  1159. package/dist/domains/workspace/hooks/use-workspace-directory.es.js.map +0 -1
  1160. package/dist/domains/workspace/hooks/use-workspace-file-content.cjs.js +0 -22
  1161. package/dist/domains/workspace/hooks/use-workspace-file-content.cjs.js.map +0 -1
  1162. package/dist/domains/workspace/hooks/use-workspace-file-content.d.ts +0 -2
  1163. package/dist/domains/workspace/hooks/use-workspace-file-content.es.js +0 -18
  1164. package/dist/domains/workspace/hooks/use-workspace-file-content.es.js.map +0 -1
  1165. package/dist/domains/workspace/hooks/use-workspace-search.cjs.js +0 -53
  1166. package/dist/domains/workspace/hooks/use-workspace-search.cjs.js.map +0 -1
  1167. package/dist/domains/workspace/hooks/use-workspace-search.d.ts +0 -2
  1168. package/dist/domains/workspace/hooks/use-workspace-search.es.js +0 -49
  1169. package/dist/domains/workspace/hooks/use-workspace-search.es.js.map +0 -1
  1170. package/dist/filter-bar-chip-CRejLco-.js.map +0 -1
  1171. package/dist/filter-bar-chip-Cr7kUN9G.cjs.map +0 -1
  1172. package/dist/main-sidebar-B0ivY7lW.js.map +0 -1
  1173. package/dist/main-sidebar-BWKVSRoQ.cjs.map +0 -1
  1174. package/dist/map-CGEv7zQW.cjs +0 -12
  1175. package/dist/map-CGEv7zQW.cjs.map +0 -1
  1176. package/dist/map-DBJibfZS.js +0 -10
  1177. package/dist/map-DBJibfZS.js.map +0 -1
  1178. package/dist/message-DGDmsmOT.cjs.map +0 -1
  1179. package/dist/message-DoxVrgBX.js.map +0 -1
  1180. package/dist/metrics-kpi-card-9L0j_oGY.cjs.map +0 -1
  1181. package/dist/metrics-kpi-card-DxcLqbDU.js.map +0 -1
  1182. package/dist/relative-timestamp-Nnwtw7Rp.cjs.map +0 -1
  1183. package/dist/relative-timestamp-Rn8mAobA.js.map +0 -1
  1184. package/dist/search-input-63Y1_wgA.js.map +0 -1
  1185. package/dist/search-input-CBhT3N4z.cjs.map +0 -1
  1186. package/dist/src/domains/agents/hooks/use-agent-messages.d.ts +0 -19
  1187. package/dist/src/domains/agents/hooks/use-agent-plan.d.ts +0 -11
  1188. package/dist/src/domains/agents/hooks/use-background-tasks.d.ts +0 -67
  1189. package/dist/src/domains/agents/hooks/use-browser-session-probe.d.ts +0 -32
  1190. package/dist/src/domains/capabilities/hooks/index.d.ts +0 -3
  1191. package/dist/src/domains/capabilities/hooks/use-feedback-available.d.ts +0 -8
  1192. package/dist/src/domains/capabilities/hooks/use-observability-capabilities.d.ts +0 -23
  1193. package/dist/src/domains/capabilities/hooks/use-trace-query-available.d.ts +0 -8
  1194. package/dist/src/domains/datasets/hooks/index.d.ts +0 -2
  1195. package/dist/src/domains/datasets/hooks/use-dataset-items.d.ts +0 -1355
  1196. package/dist/src/domains/datasets/hooks/use-dataset-mutations.d.ts +0 -337
  1197. package/dist/src/domains/datasets/hooks/use-datasets.d.ts +0 -889
  1198. package/dist/src/domains/feedback/hooks/use-feedback.d.ts +0 -48
  1199. package/dist/src/domains/feedback/utils/feedback-refetch-interval.d.ts +0 -6
  1200. package/dist/src/domains/logs/hooks/use-logs.d.ts +0 -25
  1201. package/dist/src/domains/mcps/hooks/use-mcp-app-tools.d.ts +0 -16
  1202. package/dist/src/domains/memory/hooks/index.d.ts +0 -3
  1203. package/dist/src/domains/memory/hooks/use-memory-status.d.ts +0 -15
  1204. package/dist/src/domains/memory/hooks/use-memory-thread-messages.d.ts +0 -5
  1205. package/dist/src/domains/memory/hooks/use-observational-memory.d.ts +0 -93
  1206. package/dist/src/domains/metrics/hooks/use-active-resources-kpi-metrics.d.ts +0 -13
  1207. package/dist/src/domains/metrics/hooks/use-active-threads-kpi-metrics.d.ts +0 -13
  1208. package/dist/src/domains/metrics/hooks/use-agent-runs-kpi-metrics.d.ts +0 -10
  1209. package/dist/src/domains/metrics/hooks/use-latency-metrics.d.ts +0 -16
  1210. package/dist/src/domains/metrics/hooks/use-model-cost-kpi-metrics.d.ts +0 -7
  1211. package/dist/src/domains/metrics/hooks/use-model-usage-cost-metrics.d.ts +0 -10
  1212. package/dist/src/domains/metrics/hooks/use-scores-metrics.d.ts +0 -22
  1213. package/dist/src/domains/metrics/hooks/use-token-usage-by-agent-metrics.d.ts +0 -9
  1214. package/dist/src/domains/metrics/hooks/use-token-usage-timeseries.d.ts +0 -16
  1215. package/dist/src/domains/metrics/hooks/use-top-active-threads-metrics.d.ts +0 -15
  1216. package/dist/src/domains/metrics/hooks/use-top-resources-by-threads-metrics.d.ts +0 -14
  1217. package/dist/src/domains/metrics/hooks/use-total-tokens-kpi-metrics.d.ts +0 -6
  1218. package/dist/src/domains/metrics/hooks/use-trace-volume-metrics.d.ts +0 -10
  1219. package/dist/src/domains/metrics/metrics-interval.d.ts +0 -7
  1220. package/dist/src/domains/scores/hooks/use-scorers.d.ts +0 -256
  1221. package/dist/src/domains/scores/hooks/use-trace-span-scores.d.ts +0 -73
  1222. package/dist/src/domains/scores/hooks/use-trigger-scorer.d.ts +0 -11
  1223. package/dist/src/domains/traces/hooks/discovery-cache.d.ts +0 -11
  1224. package/dist/src/domains/traces/hooks/use-branch.d.ts +0 -11
  1225. package/dist/src/domains/traces/hooks/use-create-feedback.d.ts +0 -14
  1226. package/dist/src/domains/traces/hooks/use-delete-feedback.d.ts +0 -14
  1227. package/dist/src/domains/traces/hooks/use-entity-names.d.ts +0 -8
  1228. package/dist/src/domains/traces/hooks/use-environments.d.ts +0 -1
  1229. package/dist/src/domains/traces/hooks/use-service-names.d.ts +0 -1
  1230. package/dist/src/domains/traces/hooks/use-span-detail.d.ts +0 -5
  1231. package/dist/src/domains/traces/hooks/use-span-feedback.d.ts +0 -74
  1232. package/dist/src/domains/traces/hooks/use-tags.d.ts +0 -1
  1233. package/dist/src/domains/traces/hooks/use-thread-has-other-traces.d.ts +0 -6
  1234. package/dist/src/domains/traces/hooks/use-trace-feedback.d.ts +0 -70
  1235. package/dist/src/domains/traces/hooks/use-trace-light-spans.d.ts +0 -6
  1236. package/dist/src/domains/traces/hooks/use-trace-metadata-filter-fields.d.ts +0 -28
  1237. package/dist/src/domains/traces/hooks/use-trace-or-branch-spans.d.ts +0 -28
  1238. package/dist/src/domains/traces/hooks/use-trace-query.d.ts +0 -51
  1239. package/dist/src/domains/traces/hooks/use-trace-spans.d.ts +0 -253
  1240. package/dist/src/domains/traces/hooks/use-trace-usage.d.ts +0 -6
  1241. package/dist/src/domains/traces/hooks/use-traces.d.ts +0 -106
  1242. package/dist/src/domains/workflows/hooks/index.d.ts +0 -4
  1243. package/dist/src/domains/workflows/hooks/use-workflow-runs.d.ts +0 -546
  1244. package/dist/src/domains/workflows/hooks/use-workflow.d.ts +0 -1
  1245. package/dist/src/domains/workflows/hooks/use-workflows-run-counts.d.ts +0 -22
  1246. package/dist/src/domains/workflows/hooks/use-workflows.d.ts +0 -6
  1247. package/dist/src/domains/workspace/file-type.d.ts +0 -6
  1248. package/dist/src/domains/workspace/hooks/use-skills-sh.d.ts +0 -51
  1249. package/dist/src/domains/workspace/hooks/use-workspace-directory.d.ts +0 -17
  1250. package/dist/src/domains/workspace/hooks/use-workspace-file-content.d.ts +0 -8
  1251. package/dist/src/domains/workspace/hooks/use-workspace-search.d.ts +0 -11
  1252. package/dist/src/lib/query-utils.d.ts +0 -47
  1253. package/dist/tool-card-D9nDQgpg.cjs.map +0 -1
  1254. package/dist/tool-card-tK9zedNb.js.map +0 -1
  1255. package/dist/workflow-condition-card-BCSYogql.js.map +0 -1
  1256. package/dist/workflow-condition-card-Dlo2PaKV.cjs.map +0 -1
  1257. package/dist/workflow-debug-controls-CQc8ljAI.js.map +0 -1
  1258. package/dist/workflow-debug-controls-WXT05idC.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"trace-filters.cjs.js","sources":["../../../src/domains/traces/trace-filters.ts"],"sourcesContent":["import type { EntityType } from '@mastra/core/observability';\nimport type { ListTracesArgs } from '@mastra/core/storage';\nimport {\n ActivityIcon,\n BoxIcon,\n BracesIcon,\n BuildingIcon,\n ClockIcon,\n CloudIcon,\n CpuIcon,\n FingerprintIcon,\n FlaskConicalIcon,\n GaugeIcon,\n GitBranchIcon,\n GlobeIcon,\n HashIcon,\n LayersIcon,\n MessageCircleIcon,\n MessageSquareIcon,\n PercentIcon,\n PlayIcon,\n RadioIcon,\n ServerIcon,\n ShapesIcon,\n StarIcon,\n TagIcon,\n TagsIcon,\n ThumbsUpIcon,\n TimerIcon,\n TriangleAlertIcon,\n UserIcon,\n WaypointsIcon,\n} from 'lucide-react';\nimport type { LucideIcon } from 'lucide-react';\nimport type { TraceMetadataFilterField } from './hooks/use-trace-metadata-filter-fields';\nimport {\n isTraceFilterGroup,\n isTraceFilterOperatorId,\n TRACE_QUERY_NUMERIC_FIELD_IDS,\n TRACE_QUERY_UNSUPPORTED_FILTER_FIELDS,\n} from './trace-query-filters';\nimport type {\n TraceFilterGroup,\n TraceFilterNode,\n TraceFilterOperatorId,\n TraceFilterToken,\n TraceQueryRelatedScope,\n} from './trace-query-filters';\nimport type { TraceDatePreset } from './types';\nimport { isFilterBarGroup } from '@/ds/components/FilterBar/types';\nimport type {\n FilterBarExpression,\n FilterBarField,\n FilterBarGroup,\n FilterBarItem,\n FilterBarOperator,\n FilterBarSuggestionsResolver,\n} from '@/ds/components/FilterBar/types';\nimport type { PropertyFilterToken } from '@/ds/components/PropertyFilter/types';\n\nexport type {\n TraceFilterGroup,\n TraceFilterLogic,\n TraceFilterNode,\n TraceFilterOperatorId,\n TraceFilterToken,\n TraceQueryRelatedScope,\n} from './trace-query-filters';\nexport { isTraceFilterGroup } from './trace-query-filters';\nimport { hueAccentColor, hueForName } from '@/lib/colors';\n\ntype EntityTypeValue = `${EntityType}`;\n\nexport type EntityOptions = { label: string; entityType: EntityTypeValue };\n\nexport const ROOT_ENTITY_TYPES = {\n AGENT: 'agent',\n WORKFLOW: 'workflow_run',\n SCORER: 'scorer',\n INGEST: 'rag_ingestion',\n} as const satisfies Record<string, EntityTypeValue>;\n\nexport const ROOT_ENTITY_TYPE_OPTIONS = [\n { label: 'Agent', entityType: ROOT_ENTITY_TYPES.AGENT },\n { label: 'Workflow', entityType: ROOT_ENTITY_TYPES.WORKFLOW },\n { label: 'Scorer', entityType: ROOT_ENTITY_TYPES.SCORER },\n { label: 'Ingest', entityType: ROOT_ENTITY_TYPES.INGEST },\n] as const satisfies readonly EntityOptions[];\n\nexport type TraceStatusFilter = 'running' | 'success' | 'error';\n\nexport const TRACE_STATUS_OPTIONS = [\n { label: 'Running', value: 'running' },\n { label: 'Success', value: 'success' },\n { label: 'Error', value: 'error' },\n] as const satisfies readonly { label: string; value: TraceStatusFilter }[];\n\n/** Field ids for \"synthetic\" filter entries — they live in dedicated URL params\n * rather than the generic `filter*` set, but appear as rows in the Filter\n * popover so users can manage all filters from one place. */\nexport const TRACE_SYNTHETIC_FILTER_FIELD_IDS = ['rootEntityType', 'status'] as const;\n\n/** Discovered `metadata.<key>` fields are dynamic, so they use a prefix-based URL\n * scheme (`filterMetadata.<key>`) instead of the fixed `filter*` param map. */\nexport const TRACE_METADATA_FILTER_FIELD_PREFIX = 'metadata.';\nexport const TRACE_METADATA_FILTER_PARAM_PREFIX = 'filterMetadata.';\n\nexport const isTraceMetadataFieldId = (fieldId: string) =>\n fieldId.startsWith(TRACE_METADATA_FILTER_FIELD_PREFIX) && fieldId.length > TRACE_METADATA_FILTER_FIELD_PREFIX.length;\n\nconst isTraceMetadataParam = (param: string) =>\n param.startsWith(TRACE_METADATA_FILTER_PARAM_PREFIX) && param.length > TRACE_METADATA_FILTER_PARAM_PREFIX.length;\n\nexport const metadataFieldIdToParam = (fieldId: string) =>\n TRACE_METADATA_FILTER_PARAM_PREFIX + fieldId.slice(TRACE_METADATA_FILTER_FIELD_PREFIX.length);\n\nexport const metadataParamToFieldId = (param: string) =>\n TRACE_METADATA_FILTER_FIELD_PREFIX + param.slice(TRACE_METADATA_FILTER_PARAM_PREFIX.length);\n\nexport const TRACE_ROOT_ENTITY_TYPE_PARAM = 'rootEntityType';\nexport const TRACE_STATUS_PARAM = 'status';\nexport const TRACE_LIST_MODE_PARAM = 'listMode';\n/** Branch-mode only: identifies the anchor span that defines the displayed subtree.\n * Stable across intra-panel span navigation (which only changes `spanId`). */\nexport const TRACE_ANCHOR_SPAN_ID_PARAM = 'anchorSpanId';\nexport const TRACE_LIST_MODE_VALUES = new Set(['traces', 'branches'] as const);\nexport type TraceListMode = 'traces' | 'branches';\n\nexport const TRACE_LIST_MODE_OPTIONS = [\n { label: 'Traces (default)', value: 'traces' },\n { label: 'Branches', value: 'branches' },\n] as const satisfies readonly { label: string; value: TraceListMode }[];\nexport const TRACE_DATE_PRESET_PARAM = 'datePreset';\nexport const TRACE_DATE_FROM_PARAM = 'dateFrom';\nexport const TRACE_DATE_TO_PARAM = 'dateTo';\n\nexport const TRACE_DATE_PRESET_VALUES = new Set<TraceDatePreset>([\n 'all',\n 'last-24h',\n 'last-3d',\n 'last-7d',\n 'last-14d',\n 'last-30d',\n 'custom',\n]);\n\nexport const TRACE_PROPERTY_FILTER_PARAM_BY_FIELD = {\n tags: 'filterTags',\n entityId: 'filterEntityId',\n entityName: 'filterEntityName',\n traceId: 'filterTraceId',\n runId: 'filterRunId',\n threadId: 'filterThreadId',\n sessionId: 'filterSessionId',\n requestId: 'filterRequestId',\n resourceId: 'filterResourceId',\n userId: 'filterUserId',\n organizationId: 'filterOrganizationId',\n serviceName: 'filterServiceName',\n environment: 'filterEnvironment',\n experimentId: 'filterExperimentId',\n 'spans.name': 'filterSpanName',\n 'spans.spanType': 'filterSpanType',\n 'spans.model': 'filterSpanModel',\n 'spans.provider': 'filterSpanProvider',\n 'spans.durationMs': 'filterSpanDurationMs',\n 'spans.error': 'filterSpanError',\n 'scores.scorerId': 'filterScorerId',\n 'scores.score': 'filterScore',\n 'feedback.feedbackType': 'filterFeedbackType',\n 'feedback.value': 'filterFeedbackValue',\n 'feedback.comment': 'filterFeedbackComment',\n} as const;\n\nexport const TRACE_PROPERTY_FILTER_FIELD_IDS = Object.keys(TRACE_PROPERTY_FILTER_PARAM_BY_FIELD) as Array<\n keyof typeof TRACE_PROPERTY_FILTER_PARAM_BY_FIELD\n>;\n\n/** The operator of a filter lives in a sibling `<valueParam>.op` param; omitted\n * means the default (`is`). Metadata keys cannot contain dots, so the suffix is\n * unambiguous. */\nexport const TRACE_FILTER_OPERATOR_PARAM_SUFFIX = '.op';\nexport const traceFilterOperatorParam = (valueParam: string) => valueParam + TRACE_FILTER_OPERATOR_PARAM_SUFFIX;\nconst isTraceFilterOperatorParam = (param: string) => param.endsWith(TRACE_FILTER_OPERATOR_PARAM_SUFFIX);\n\nconst isPresenceOperator = (operatorId: TraceFilterOperatorId | undefined) =>\n operatorId === 'exists' || operatorId === 'notExists';\nconst isManyOperator = (operatorId: TraceFilterOperatorId | undefined) => operatorId === 'in' || operatorId === 'notIn';\n\n/** Default operator for a token without one: arrays mean set membership. */\nexport const traceFilterTokenOperator = (token: TraceFilterToken): TraceFilterOperatorId =>\n token.operatorId ?? (Array.isArray(token.value) ? 'in' : 'is');\n\nconst readTraceFilterOperator = (searchParams: URLSearchParams, valueParam: string) => {\n const raw = searchParams.get(traceFilterOperatorParam(valueParam));\n return raw !== null && isTraceFilterOperatorId(raw) ? raw : undefined;\n};\n\nexport const TRACE_STATUS_VALUES = new Set<TraceStatusFilter>(['running', 'success', 'error']);\n\nexport const DEFAULT_TRACE_FILTERS_STORAGE_KEY = 'mastra:traces:saved-filters';\n\n/** Serialize the filter-related URL params (relative date preset + rootEntityType +\n * status + generic filterX set) to localStorage so the user can restore them on next\n * visit. A `custom` absolute range is never saved: it would be stale by the next visit.\n * An empty set clears the key. Throws no errors — storage being unavailable is fine. */\nexport function saveTraceFiltersToStorage(\n params: URLSearchParams,\n storageKey: string = DEFAULT_TRACE_FILTERS_STORAGE_KEY,\n): void {\n const serialized = getPreservedTraceFilterParams(params);\n const preset = params.get(TRACE_DATE_PRESET_PARAM);\n if (preset && preset !== 'custom') serialized.set(TRACE_DATE_PRESET_PARAM, preset);\n // An empty group is editor state (popover still open), not a filter worth restoring.\n const groups = getTraceFilterGroups(serialized).filter(group => group.nodes.length > 0);\n serialized.delete(TRACE_FILTER_GROUP_PARAM);\n for (const group of groups) serialized.append(TRACE_FILTER_GROUP_PARAM, serializeTraceFilterGroup(group));\n\n if (!serialized.toString()) {\n clearSavedTraceFilters(storageKey);\n return;\n }\n\n try {\n localStorage.setItem(storageKey, serialized.toString());\n } catch {\n // localStorage may be unavailable (private mode / quota) — silently skip.\n }\n}\n\n/** Forget any previously saved filter set. Called from the \"Remove filters\"\n * action so the next plain sidebar nav lands on an empty page. */\nexport function clearSavedTraceFilters(storageKey: string = DEFAULT_TRACE_FILTERS_STORAGE_KEY): void {\n try {\n localStorage.removeItem(storageKey);\n } catch {\n // ignore — storage may be unavailable\n }\n}\n\n/** Read a previously saved filter set and return it as URLSearchParams, or\n * null if nothing is saved or storage is unavailable. */\nexport function loadTraceFiltersFromStorage(\n storageKey: string = DEFAULT_TRACE_FILTERS_STORAGE_KEY,\n): URLSearchParams | null {\n try {\n const raw = localStorage.getItem(storageKey);\n if (!raw) return null;\n const parsed = new URLSearchParams(raw);\n return parsed.toString() ? parsed : null;\n } catch {\n return null;\n }\n}\n\n/** True when `params` carries any filter-related key — used to decide whether\n * to hydrate from localStorage on page mount (we only hydrate when the URL is\n * filter-clean, i.e. the user landed here via a plain sidebar nav). */\nexport function hasAnyTraceFilterParams(params: URLSearchParams): boolean {\n if (params.has(TRACE_DATE_PRESET_PARAM)) return true;\n if (params.has(TRACE_DATE_FROM_PARAM)) return true;\n if (params.has(TRACE_DATE_TO_PARAM)) return true;\n if (params.has(TRACE_ROOT_ENTITY_TYPE_PARAM)) return true;\n if (params.has(TRACE_STATUS_PARAM)) return true;\n if (params.has(TRACE_LIST_MODE_PARAM)) return true;\n if (params.has(TRACE_FILTER_GROUP_PARAM)) return true;\n for (const fieldId of TRACE_PROPERTY_FILTER_FIELD_IDS) {\n if (params.has(TRACE_PROPERTY_FILTER_PARAM_BY_FIELD[fieldId])) return true;\n }\n for (const param of params.keys()) {\n if (isTraceMetadataParam(param)) return true;\n }\n return false;\n}\n\n/** Every operator the trace query API supports, keyed by the UI id that goes in the URL. */\nexport const TRACE_FILTER_BAR_OPERATORS: (FilterBarOperator & { id: TraceFilterOperatorId })[] = [\n { id: 'is', label: 'is' },\n { id: 'isNot', label: 'is not' },\n { id: 'in', label: 'is any of', arity: 'many' },\n { id: 'notIn', label: 'is none of', arity: 'many' },\n { id: 'exists', label: 'exists', arity: 'none' },\n { id: 'notExists', label: 'does not exist', arity: 'none' },\n { id: 'gt', label: 'greater than' },\n { id: 'gte', label: 'at least' },\n { id: 'lt', label: 'less than' },\n { id: 'lte', label: 'at most' },\n];\n\nconst TRACE_STRING_OPERATORS: TraceFilterOperatorId[] = ['is', 'isNot', 'in', 'notIn', 'exists', 'notExists'];\n/** Fields every trace carries (`traceId`, `entityName`): presence operators would never be false. */\nconst TRACE_REQUIRED_STRING_OPERATORS: TraceFilterOperatorId[] = ['is', 'isNot', 'in', 'notIn'];\nconst TRACE_NUMBER_OPERATORS: TraceFilterOperatorId[] = [\n 'is',\n 'isNot',\n 'gt',\n 'gte',\n 'lt',\n 'lte',\n 'exists',\n 'notExists',\n];\nconst TRACE_PRESENCE_OPERATORS: TraceFilterOperatorId[] = ['exists', 'notExists'];\n/** Synthetic fields live in a single dedicated URL param, so they cannot carry an operator. */\nconst TRACE_SYNTHETIC_OPERATORS: TraceFilterOperatorId[] = ['is', 'in'];\n// The legacy list endpoint only matches by equality.\nconst TRACE_LEGACY_OPERATORS: TraceFilterOperatorId[] = ['is'];\n\nconst TRACE_FILTER_BAR_LABELS: Record<string, string> = {\n rootEntityType: 'Primitive type',\n entityName: 'Primitive name',\n entityId: 'Primitive ID',\n status: 'Status',\n tags: 'Tags',\n serviceName: 'Service Name',\n environment: 'Environment',\n traceId: 'Trace ID',\n runId: 'Run ID',\n threadId: 'Thread ID',\n sessionId: 'Session ID',\n requestId: 'Request ID',\n resourceId: 'Resource ID',\n userId: 'User ID',\n organizationId: 'Organization ID',\n experimentId: 'Experiment ID',\n 'spans.name': 'Span name',\n 'spans.spanType': 'Span type',\n 'spans.model': 'Model',\n 'spans.provider': 'Provider',\n 'spans.durationMs': 'Span duration (ms)',\n 'spans.error': 'Span error',\n 'scores.scorerId': 'Scorer',\n 'scores.score': 'Score',\n 'feedback.feedbackType': 'Feedback type',\n 'feedback.value': 'Feedback value',\n 'feedback.comment': 'Feedback comment',\n};\n\nconst TRACE_FILTER_BAR_FIELD_META: Record<string, { icon: LucideIcon; color: string }> = {\n timeRange: { icon: ClockIcon, color: hueAccentColor('amber') },\n rootEntityType: { icon: BoxIcon, color: hueAccentColor('purple') },\n entityName: { icon: TagIcon, color: hueAccentColor('cyan') },\n entityId: { icon: FingerprintIcon, color: hueAccentColor('pink') },\n status: { icon: ActivityIcon, color: hueAccentColor('orange') },\n tags: { icon: TagsIcon, color: hueAccentColor('pink') },\n serviceName: { icon: ServerIcon, color: hueAccentColor('cyan') },\n environment: { icon: GlobeIcon, color: hueAccentColor('green') },\n traceId: { icon: WaypointsIcon, color: hueAccentColor('blue') },\n runId: { icon: PlayIcon, color: hueAccentColor('purple') },\n threadId: { icon: MessageSquareIcon, color: hueAccentColor('blue') },\n sessionId: { icon: LayersIcon, color: hueAccentColor('orange') },\n requestId: { icon: RadioIcon, color: hueAccentColor('amber') },\n resourceId: { icon: HashIcon, color: hueAccentColor('green') },\n userId: { icon: UserIcon, color: hueAccentColor('orange') },\n organizationId: { icon: BuildingIcon, color: hueAccentColor('cyan') },\n experimentId: { icon: FlaskConicalIcon, color: hueAccentColor('pink') },\n 'spans.name': { icon: GitBranchIcon, color: hueAccentColor('blue') },\n 'spans.spanType': { icon: ShapesIcon, color: hueAccentColor('purple') },\n 'spans.model': { icon: CpuIcon, color: hueAccentColor('green') },\n 'spans.provider': { icon: CloudIcon, color: hueAccentColor('cyan') },\n 'spans.durationMs': { icon: TimerIcon, color: hueAccentColor('orange') },\n 'spans.error': { icon: TriangleAlertIcon, color: 'var(--destructive-foreground)' },\n 'scores.scorerId': { icon: GaugeIcon, color: hueAccentColor('green') },\n 'scores.score': { icon: PercentIcon, color: hueAccentColor('amber') },\n 'feedback.feedbackType': { icon: ThumbsUpIcon, color: hueAccentColor('purple') },\n 'feedback.value': { icon: StarIcon, color: hueAccentColor('amber') },\n 'feedback.comment': { icon: MessageCircleIcon, color: hueAccentColor('blue') },\n};\n\nexport const traceFilterFieldIcon = (fieldId: string) => TRACE_FILTER_BAR_FIELD_META[fieldId]?.icon;\n\n/** Stable per-field accent; known keys use a curated hue, others fall back to a hashed one. */\nexport const traceFilterFieldColor = (fieldId: string) => {\n return TRACE_FILTER_BAR_FIELD_META[fieldId]?.color ?? hueAccentColor(hueForName(fieldId));\n};\n\nconst traceFieldBase = (id: string) => ({\n id,\n label: TRACE_FILTER_BAR_LABELS[id] ?? id,\n icon: traceFilterFieldIcon(id),\n color: traceFilterFieldColor(id),\n});\n\nconst TRACE_FILTER_BAR_TEXT_FIELD_IDS = [\n 'entityId',\n 'traceId',\n 'runId',\n 'threadId',\n 'sessionId',\n 'requestId',\n 'resourceId',\n 'userId',\n 'organizationId',\n 'experimentId',\n] as const;\n\nconst TRACE_FILTER_BAR_RELATED_FIELD_IDS = [\n 'spans.name',\n 'spans.spanType',\n 'spans.model',\n 'spans.provider',\n 'spans.durationMs',\n 'spans.error',\n 'scores.scorerId',\n 'scores.score',\n 'feedback.feedbackType',\n 'feedback.value',\n 'feedback.comment',\n] as const;\ntype TraceFilterRelatedFieldId = (typeof TRACE_FILTER_BAR_RELATED_FIELD_IDS)[number];\n\nconst TRACE_FILTER_BAR_PRESENCE_FIELD_IDS = new Set<string>(['spans.error', 'feedback.comment']);\n\nconst byLabel = (a: FilterBarField, b: FilterBarField) => a.label.localeCompare(b.label);\n\n/** FilterBar field definitions for the trace pages. Fields the query API cannot\n * filter on (see `TRACE_QUERY_UNSUPPORTED_FILTER_FIELDS`) are omitted, as is the\n * `running` status, so no chip advertises a filter that has no effect. Hidden\n * fields are never offered in the input's field step but still label existing\n * (e.g. scoped, read-only) chips. */\nexport function createTraceFilterBarFields({\n availableRootEntityNames,\n availableEnvironments,\n hiddenFieldIds = [],\n metadataFields = [],\n valueSuggestions,\n withQueryTrace = true,\n}: {\n availableRootEntityNames: string[];\n availableEnvironments: string[];\n hiddenFieldIds?: readonly string[];\n /** Discovered `metadata.<key>` paths with a lazy value-suggestions resolver each. */\n metadataFields?: readonly TraceMetadataFilterField[];\n /** Builds a lazy value resolver for a related-scope field (`spans.model`, …). Absent → free text. */\n valueSuggestions?: (scope: TraceQueryRelatedScope, path: string) => FilterBarSuggestionsResolver;\n /**\n * When false, only fields the legacy list endpoint (`buildTraceListFilters`) can express are offered, each with\n * the `is` operator only: no related-scope (`spans.*`, `scores.*`, `feedback.*`) or metadata fields.\n */\n withQueryTrace?: boolean;\n}): FilterBarField[] {\n const pick = (\n id: string,\n suggestions: { value: string; label?: string }[],\n operators: TraceFilterOperatorId[] = TRACE_STRING_OPERATORS,\n ): FilterBarField => ({\n ...traceFieldBase(id),\n operators,\n strict: true,\n suggestions,\n });\n const text = (id: string): FilterBarField => ({\n ...traceFieldBase(id),\n operators: id === 'traceId' ? TRACE_REQUIRED_STRING_OPERATORS : TRACE_STRING_OPERATORS,\n });\n const relatedPick = (id: TraceFilterRelatedFieldId): FilterBarField => {\n const [scope, path] = id.split('.') as [TraceQueryRelatedScope, string];\n const resolver = valueSuggestions?.(scope, path);\n return {\n ...traceFieldBase(id),\n operators: TRACE_STRING_OPERATORS,\n ...(resolver ? { strict: true, suggestions: resolver } : {}),\n };\n };\n const number = (id: string): FilterBarField => ({\n ...traceFieldBase(id),\n type: 'number',\n operators: TRACE_NUMBER_OPERATORS,\n });\n const presence = (id: string): FilterBarField => ({ ...traceFieldBase(id), operators: TRACE_PRESENCE_OPERATORS });\n\n const pickFields: FilterBarField[] = [\n pick(\n 'rootEntityType',\n ROOT_ENTITY_TYPE_OPTIONS.map(o => ({ value: o.entityType, label: o.label })),\n TRACE_SYNTHETIC_OPERATORS,\n ),\n pick(\n 'entityName',\n availableRootEntityNames.map(name => ({ value: name })),\n TRACE_REQUIRED_STRING_OPERATORS,\n ),\n pick(\n 'status',\n TRACE_STATUS_OPTIONS.filter(o => o.value !== 'running').map(o => ({ value: o.value, label: o.label })),\n TRACE_SYNTHETIC_OPERATORS,\n ),\n pick(\n 'environment',\n availableEnvironments.map(env => ({ value: env })),\n ),\n ];\n const textFields = TRACE_FILTER_BAR_TEXT_FIELD_IDS.map(text);\n const relatedFields = (['spans', 'scores', 'feedback'] as const).flatMap(scope =>\n TRACE_FILTER_BAR_RELATED_FIELD_IDS.filter(id => id.startsWith(`${scope}.`))\n .map(id => {\n if (TRACE_QUERY_NUMERIC_FIELD_IDS.has(id)) return number(id);\n if (TRACE_FILTER_BAR_PRESENCE_FIELD_IDS.has(id)) return presence(id);\n return relatedPick(id);\n })\n .sort(byLabel),\n );\n const metadataBarFields: FilterBarField[] = metadataFields\n .filter(({ path }) => isTraceMetadataFieldId(path))\n .map(({ path, suggestions }) => ({\n id: path,\n label: path.slice(TRACE_METADATA_FILTER_FIELD_PREFIX.length),\n icon: BracesIcon,\n color: hueAccentColor(hueForName(path)),\n operators: TRACE_STRING_OPERATORS,\n suggestions,\n }));\n\n const hidden = new Set(hiddenFieldIds);\n if (!withQueryTrace) {\n return [...pickFields.sort(byLabel), ...textFields.sort(byLabel)].map(field => ({\n ...field,\n operators: TRACE_LEGACY_OPERATORS,\n ...(hidden.has(field.id) ? { hidden: true } : {}),\n }));\n }\n return [\n ...pickFields.sort(byLabel),\n ...textFields.sort(byLabel),\n ...relatedFields,\n ...metadataBarFields.sort(byLabel),\n ]\n .filter(field => !TRACE_QUERY_UNSUPPORTED_FILTER_FIELDS.has(field.id))\n .map(field => (hidden.has(field.id) ? { ...field, hidden: true } : field));\n}\n\n/** One FilterBar item per token, keyed by field id so chip order == URL order.\n * Empty values ('' / []) are kept: that's a pending chip whose field was just\n * changed and whose value hasn't been picked yet (the query builder skips it).\n * Only the legacy 'Any' sentinel is mapped back to an empty value. */\nexport function traceTokensToFilterBarItems(tokens: TraceFilterToken[]): FilterBarItem[] {\n return tokens.map(token => ({\n id: token.fieldId,\n fieldId: token.fieldId,\n operatorId: traceFilterTokenOperator(token),\n value: token.value === 'Any' ? '' : token.value,\n }));\n}\n\nexport function filterBarItemsToTraceTokens(items: FilterBarItem[]): TraceFilterToken[] {\n return items.map(filterBarItemToTraceToken);\n}\n\nfunction filterBarItemToTraceToken(item: FilterBarItem): TraceFilterToken {\n const token: TraceFilterToken = {\n fieldId: item.fieldId,\n value: Array.isArray(item.value) ? item.value.map(String) : String(item.value),\n };\n // Only carry a non-default operator so tokens stay minimal (and URLs stay short).\n if (isTraceFilterOperatorId(item.operatorId) && item.operatorId !== traceFilterTokenOperator(token)) {\n token.operatorId = item.operatorId;\n }\n return token;\n}\n\n/** Expression-mode value for the FilterBar: root tokens as items, then one\n * group node per advanced filter. Ids inside groups are carried as-is. */\nexport function traceFiltersToFilterBarExpression(\n tokens: TraceFilterToken[],\n groups: TraceFilterGroup[],\n): FilterBarExpression {\n return { logic: 'and', nodes: [...traceTokensToFilterBarItems(tokens), ...groups.map(traceGroupToFilterBarGroup)] };\n}\n\nfunction traceGroupToFilterBarGroup(group: TraceFilterGroup): FilterBarGroup {\n return {\n id: group.id,\n kind: 'group',\n logic: group.logic,\n nodes: group.nodes.map(node =>\n isTraceFilterGroup(node)\n ? traceGroupToFilterBarGroup(node)\n : {\n id: node.id ?? node.fieldId,\n fieldId: node.fieldId,\n operatorId: traceFilterTokenOperator(node),\n value: node.value === 'Any' ? '' : node.value,\n },\n ),\n };\n}\n\nexport function filterBarExpressionToTraceFilters(expression: FilterBarExpression): {\n tokens: TraceFilterToken[];\n groups: TraceFilterGroup[];\n} {\n const items = expression.nodes.filter((node): node is FilterBarItem => !isFilterBarGroup(node));\n const groups = expression.nodes.filter(isFilterBarGroup).map(filterBarGroupToTraceGroup);\n return { tokens: filterBarItemsToTraceTokens(items), groups };\n}\n\nfunction filterBarGroupToTraceGroup(group: FilterBarGroup): TraceFilterGroup {\n const nodes = group.nodes.map(\n (node): TraceFilterNode =>\n isFilterBarGroup(node) ? filterBarGroupToTraceGroup(node) : { id: node.id, ...filterBarItemToTraceToken(node) },\n );\n // Empty groups are kept: \"Advanced filter…\" emits one and opens its editor, and the\n // FilterBar prunes it itself when the popover closes without any condition.\n return { id: group.id, logic: group.logic, nodes };\n}\n\n/**\n * Read filter tokens from URL search params preserving the order in which each\n * filter was first added (URLSearchParams iterates in insertion order). This\n * is used by the Filter popover + PropertyFilterApplied pills so the UI reflects the\n * order the user created the filters in.\n */\nexport function getTracePropertyFilterTokens(searchParams: URLSearchParams): TraceFilterToken[] {\n const tokens: TraceFilterToken[] = [];\n\n // Map URL param name → fieldId for both generic filterX params and the\n // dedicated synthetic params (rootEntityType, status).\n const paramToFieldId = new Map<string, string>([\n [TRACE_ROOT_ENTITY_TYPE_PARAM, 'rootEntityType'],\n [TRACE_STATUS_PARAM, 'status'],\n ]);\n for (const fieldId of TRACE_PROPERTY_FILTER_FIELD_IDS) {\n paramToFieldId.set(TRACE_PROPERTY_FILTER_PARAM_BY_FIELD[fieldId], fieldId);\n }\n\n const seen = new Set<string>();\n for (const [paramName] of searchParams.entries()) {\n if (isTraceFilterOperatorParam(paramName)) continue;\n const fieldId = isTraceMetadataParam(paramName) ? metadataParamToFieldId(paramName) : paramToFieldId.get(paramName);\n if (!fieldId || seen.has(fieldId)) continue;\n seen.add(fieldId);\n\n const operatorId = readTraceFilterOperator(searchParams, paramName);\n const raw = searchParams.getAll(paramName);\n\n if (fieldId === 'tags' || isManyOperator(operatorId)) {\n // An empty `filterTags=` sentinel keeps the pill alive after a Reset\n // (neutral state = no selections) so users can re-pick without losing\n // the pill's position. Non-empty entries are the actual selected values.\n tokens.push({ fieldId, value: raw.filter(Boolean), ...(operatorId ? { operatorId } : {}) });\n continue;\n }\n\n // Text and synthetic single-value fields: include empty strings so\n // pending-but-not-yet-filled filters survive URL round-trips.\n const value = raw[0];\n if (value !== undefined) tokens.push({ fieldId, value, ...(operatorId ? { operatorId } : {}) });\n }\n\n return tokens;\n}\n\nexport function getPreservedTraceFilterParams(searchParams: URLSearchParams) {\n const next = new URLSearchParams();\n\n const rootEntityType = searchParams.get(TRACE_ROOT_ENTITY_TYPE_PARAM);\n if (rootEntityType) next.set(TRACE_ROOT_ENTITY_TYPE_PARAM, rootEntityType);\n\n const status = searchParams.get(TRACE_STATUS_PARAM);\n if (status) next.set(TRACE_STATUS_PARAM, status);\n\n const listMode = searchParams.get(TRACE_LIST_MODE_PARAM);\n if (listMode) next.set(TRACE_LIST_MODE_PARAM, listMode);\n\n const preserve = (param: string) => {\n const operatorId = readTraceFilterOperator(searchParams, param);\n const values = searchParams.getAll(param).filter(value => value || isPresenceOperator(operatorId));\n if (!values.length) return;\n for (const value of values) next.append(param, value);\n if (operatorId) next.set(traceFilterOperatorParam(param), operatorId);\n };\n\n for (const fieldId of TRACE_PROPERTY_FILTER_FIELD_IDS) {\n const param = TRACE_PROPERTY_FILTER_PARAM_BY_FIELD[fieldId];\n if (fieldId === 'tags') {\n for (const value of searchParams.getAll(param)) {\n next.append(param, value);\n }\n continue;\n }\n preserve(param);\n }\n\n const seenMetadata = new Set<string>();\n for (const param of searchParams.keys()) {\n if (!isTraceMetadataParam(param) || isTraceFilterOperatorParam(param) || seenMetadata.has(param)) continue;\n seenMetadata.add(param);\n preserve(param);\n }\n\n for (const group of getTraceFilterGroups(searchParams)) {\n next.append(TRACE_FILTER_GROUP_PARAM, serializeTraceFilterGroup(group));\n }\n\n return next;\n}\n\n/**\n * Clear all filter params from `params` and re-add them in the given `tokens`\n * order so the URL (and therefore the PropertyFilterApplied pills) reflects the\n * creation order of filters. Handles the generic `filterX` params plus the\n * dedicated synthetic params (rootEntityType, status).\n */\nexport function applyTracePropertyFilterTokens(\n params: URLSearchParams,\n tokens: TraceFilterToken[],\n groups: TraceFilterGroup[] = [],\n) {\n params.delete(TRACE_ROOT_ENTITY_TYPE_PARAM);\n params.delete(TRACE_STATUS_PARAM);\n params.delete(TRACE_FILTER_GROUP_PARAM);\n for (const fieldId of TRACE_PROPERTY_FILTER_FIELD_IDS) {\n const param = TRACE_PROPERTY_FILTER_PARAM_BY_FIELD[fieldId];\n params.delete(param);\n params.delete(traceFilterOperatorParam(param));\n }\n for (const param of Array.from(params.keys())) {\n if (isTraceMetadataParam(param)) params.delete(param);\n }\n\n for (const token of tokens) {\n if (token.fieldId === 'rootEntityType' && typeof token.value === 'string') {\n params.set(TRACE_ROOT_ENTITY_TYPE_PARAM, token.value);\n continue;\n }\n if (token.fieldId === 'status' && typeof token.value === 'string') {\n params.set(TRACE_STATUS_PARAM, token.value);\n continue;\n }\n\n const param = isTraceMetadataFieldId(token.fieldId)\n ? metadataFieldIdToParam(token.fieldId)\n : TRACE_PROPERTY_FILTER_PARAM_BY_FIELD[token.fieldId as keyof typeof TRACE_PROPERTY_FILTER_PARAM_BY_FIELD];\n if (!param) continue;\n\n if (Array.isArray(token.value)) {\n if (token.value.length === 0) {\n // Empty sentinel — keeps the pill visible after Reset.\n params.append(param, '');\n } else {\n for (const value of token.value) {\n params.append(param, value);\n }\n }\n } else {\n // Persist empty / 'Any' values too so neutralized-but-still-visible pills\n // survive URL round-trips. The query builder skips these so neutrals\n // never reach the backend.\n params.set(param, token.value.trim());\n }\n\n // Only `is` is implicit on read. `in` must be written explicitly (except\n // for tags, which are always multi-valued) or a reload would collapse the\n // selection to its first value.\n const operatorId = traceFilterTokenOperator(token);\n const implicit = token.fieldId === 'tags' ? 'in' : 'is';\n if (operatorId !== implicit) params.set(traceFilterOperatorParam(param), operatorId);\n }\n\n for (const group of groups) {\n params.append(TRACE_FILTER_GROUP_PARAM, serializeTraceFilterGroup(group));\n }\n}\n\n/** Root-level advanced filter groups live in a repeatable `filterGroup` param,\n * one compact JSON subtree each. Node ids are part of the payload so the\n * FilterBar keeps chip identity across URL round-trips. */\nexport const TRACE_FILTER_GROUP_PARAM = 'filterGroup';\n\nexport const serializeTraceFilterGroup = (group: TraceFilterGroup): string => JSON.stringify(group);\n\nexport function getTraceFilterGroups(searchParams: URLSearchParams): TraceFilterGroup[] {\n return searchParams\n .getAll(TRACE_FILTER_GROUP_PARAM)\n .map(parseTraceFilterGroupParam)\n .filter((group): group is TraceFilterGroup => group !== undefined);\n}\n\nexport function parseTraceFilterGroupParam(raw: string): TraceFilterGroup | undefined {\n try {\n return parseTraceFilterGroup(JSON.parse(raw));\n } catch {\n return undefined;\n }\n}\n\nconst isRecord = (value: unknown): value is Record<string, unknown> => typeof value === 'object' && value !== null;\n\nconst isStringArray = (value: unknown): value is string[] =>\n Array.isArray(value) && value.every(entry => typeof entry === 'string');\n\nfunction parseTraceFilterGroup(input: unknown): TraceFilterGroup | undefined {\n if (!isRecord(input) || typeof input.id !== 'string') return undefined;\n if (input.logic !== 'and' && input.logic !== 'or') return undefined;\n if (!Array.isArray(input.nodes)) return undefined;\n const nodes = input.nodes.map(parseTraceFilterNode).filter((node): node is TraceFilterNode => node !== undefined);\n return { id: input.id, logic: input.logic, nodes };\n}\n\nfunction parseTraceFilterNode(input: unknown): TraceFilterNode | undefined {\n if (!isRecord(input)) return undefined;\n if ('nodes' in input) return parseTraceFilterGroup(input);\n if (typeof input.id !== 'string' || typeof input.fieldId !== 'string') return undefined;\n if (typeof input.value !== 'string' && !isStringArray(input.value)) return undefined;\n const token: TraceFilterToken = { id: input.id, fieldId: input.fieldId, value: input.value };\n if (typeof input.operatorId === 'string' && isTraceFilterOperatorId(input.operatorId)) {\n token.operatorId = input.operatorId;\n }\n return token;\n}\n\nexport function buildTraceListFilters({\n rootEntityType,\n status,\n dateFrom,\n dateTo,\n tokens,\n}: {\n rootEntityType?: string;\n status?: TraceStatusFilter;\n dateFrom?: Date;\n dateTo?: Date;\n tokens: PropertyFilterToken[];\n}): ListTracesArgs['filters'] {\n const filters: NonNullable<ListTracesArgs['filters']> = {};\n\n if (rootEntityType) {\n filters.entityType = rootEntityType as NonNullable<ListTracesArgs['filters']>['entityType'];\n }\n\n if (status) {\n filters.status = status as NonNullable<ListTracesArgs['filters']>['status'];\n }\n\n if (dateFrom) {\n filters.startedAt = { start: dateFrom };\n }\n\n if (dateTo) {\n filters.endedAt = { end: dateTo };\n }\n\n for (const token of tokens) {\n if (token.fieldId === 'tags') {\n if (Array.isArray(token.value) && token.value.length > 0) {\n filters.tags = token.value;\n } else if (typeof token.value === 'string' && token.value.trim()) {\n // pick-multi tags: single-string token → wrap for the server's array schema.\n filters.tags = [token.value.trim()];\n }\n continue;\n }\n\n if (typeof token.value !== 'string') continue;\n // Skip empty-string tokens (unfilled pending filters) and 'Any'\n // (pick-multi single-select neutral state) so neutrals never reach the\n // backend.\n if (!token.value.trim()) continue;\n if (token.value === 'Any') continue;\n\n switch (token.fieldId) {\n case 'entityId':\n filters.entityId = token.value;\n break;\n case 'entityName':\n filters.entityName = token.value;\n break;\n case 'traceId':\n filters.traceId = token.value;\n break;\n case 'runId':\n filters.runId = token.value;\n break;\n case 'threadId':\n filters.threadId = token.value;\n break;\n case 'sessionId':\n filters.sessionId = token.value;\n break;\n case 'requestId':\n filters.requestId = token.value;\n break;\n case 'resourceId':\n filters.resourceId = token.value;\n break;\n case 'userId':\n filters.userId = token.value;\n break;\n case 'organizationId':\n filters.organizationId = token.value;\n break;\n case 'serviceName':\n filters.serviceName = token.value;\n break;\n case 'environment':\n filters.environment = token.value;\n break;\n case 'experimentId':\n filters.experimentId = token.value;\n break;\n default:\n break;\n }\n }\n\n return filters;\n}\n"],"names":["isTraceFilterOperatorId","ClockIcon","hueAccentColor","BoxIcon","TagIcon","FingerprintIcon","ActivityIcon","TagsIcon","ServerIcon","GlobeIcon","WaypointsIcon","PlayIcon","MessageSquareIcon","LayersIcon","RadioIcon","HashIcon","UserIcon","BuildingIcon","FlaskConicalIcon","GitBranchIcon","ShapesIcon","CpuIcon","CloudIcon","TimerIcon","TriangleAlertIcon","GaugeIcon","PercentIcon","ThumbsUpIcon","StarIcon","MessageCircleIcon","hueForName","TRACE_QUERY_NUMERIC_FIELD_IDS","BracesIcon","TRACE_QUERY_UNSUPPORTED_FILTER_FIELDS","isTraceFilterGroup","isFilterBarGroup"],"mappings":"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"}
1
+ {"version":3,"file":"trace-filters.cjs.js","sources":["../../../src/domains/traces/trace-filters.ts"],"sourcesContent":["import type { EntityType } from '@mastra/core/observability';\nimport type { ListTracesArgs } from '@mastra/core/storage';\nimport { ROOT_ENTITY_TYPES } from '@mastra/react/hooks/traces';\nimport type { TraceListMode, TraceMetadataFilterField } from '@mastra/react/hooks/traces';\nimport {\n ActivityIcon,\n BoxIcon,\n BracesIcon,\n BuildingIcon,\n ClockIcon,\n CloudIcon,\n CpuIcon,\n FingerprintIcon,\n FlaskConicalIcon,\n GaugeIcon,\n GitBranchIcon,\n GlobeIcon,\n HashIcon,\n LayersIcon,\n MessageCircleIcon,\n MessageSquareIcon,\n PercentIcon,\n PlayIcon,\n RadioIcon,\n ServerIcon,\n ShapesIcon,\n StarIcon,\n TagIcon,\n TagsIcon,\n ThumbsUpIcon,\n TimerIcon,\n TriangleAlertIcon,\n UserIcon,\n WaypointsIcon,\n} from 'lucide-react';\nimport type { LucideIcon } from 'lucide-react';\nimport {\n isTraceFilterGroup,\n isTraceFilterOperatorId,\n TRACE_QUERY_NUMERIC_FIELD_IDS,\n TRACE_QUERY_UNSUPPORTED_FILTER_FIELDS,\n} from './trace-query-filters';\nimport type {\n TraceFilterGroup,\n TraceFilterNode,\n TraceFilterOperatorId,\n TraceFilterToken,\n TraceQueryRelatedScope,\n} from './trace-query-filters';\nimport type { TraceDatePreset } from './types';\nimport { isFilterBarGroup } from '@/ds/components/FilterBar/types';\nimport type {\n FilterBarExpression,\n FilterBarField,\n FilterBarGroup,\n FilterBarItem,\n FilterBarOperator,\n FilterBarSuggestionsResolver,\n} from '@/ds/components/FilterBar/types';\nimport type { PropertyFilterToken } from '@/ds/components/PropertyFilter/types';\n\nexport type {\n TraceFilterGroup,\n TraceFilterLogic,\n TraceFilterNode,\n TraceFilterOperatorId,\n TraceFilterToken,\n TraceQueryRelatedScope,\n} from './trace-query-filters';\nexport { isTraceFilterGroup } from './trace-query-filters';\nimport { hueAccentColor, hueForName } from '@/lib/colors';\n\ntype EntityTypeValue = `${EntityType}`;\n\nexport type EntityOptions = { label: string; entityType: EntityTypeValue };\n\nexport { ROOT_ENTITY_TYPES };\n\nexport const ROOT_ENTITY_TYPE_OPTIONS = [\n { label: 'Agent', entityType: ROOT_ENTITY_TYPES.AGENT },\n { label: 'Workflow', entityType: ROOT_ENTITY_TYPES.WORKFLOW },\n { label: 'Scorer', entityType: ROOT_ENTITY_TYPES.SCORER },\n { label: 'Ingest', entityType: ROOT_ENTITY_TYPES.INGEST },\n] as const satisfies readonly EntityOptions[];\n\nexport type TraceStatusFilter = 'running' | 'success' | 'error';\n\nexport const TRACE_STATUS_OPTIONS = [\n { label: 'Running', value: 'running' },\n { label: 'Success', value: 'success' },\n { label: 'Error', value: 'error' },\n] as const satisfies readonly { label: string; value: TraceStatusFilter }[];\n\n/** Field ids for \"synthetic\" filter entries — they live in dedicated URL params\n * rather than the generic `filter*` set, but appear as rows in the Filter\n * popover so users can manage all filters from one place. */\nexport const TRACE_SYNTHETIC_FILTER_FIELD_IDS = ['rootEntityType', 'status'] as const;\n\n/** Discovered `metadata.<key>` fields are dynamic, so they use a prefix-based URL\n * scheme (`filterMetadata.<key>`) instead of the fixed `filter*` param map. */\nexport const TRACE_METADATA_FILTER_FIELD_PREFIX = 'metadata.';\nexport const TRACE_METADATA_FILTER_PARAM_PREFIX = 'filterMetadata.';\n\nexport const isTraceMetadataFieldId = (fieldId: string) =>\n fieldId.startsWith(TRACE_METADATA_FILTER_FIELD_PREFIX) && fieldId.length > TRACE_METADATA_FILTER_FIELD_PREFIX.length;\n\nconst isTraceMetadataParam = (param: string) =>\n param.startsWith(TRACE_METADATA_FILTER_PARAM_PREFIX) && param.length > TRACE_METADATA_FILTER_PARAM_PREFIX.length;\n\nexport const metadataFieldIdToParam = (fieldId: string) =>\n TRACE_METADATA_FILTER_PARAM_PREFIX + fieldId.slice(TRACE_METADATA_FILTER_FIELD_PREFIX.length);\n\nexport const metadataParamToFieldId = (param: string) =>\n TRACE_METADATA_FILTER_FIELD_PREFIX + param.slice(TRACE_METADATA_FILTER_PARAM_PREFIX.length);\n\nexport const TRACE_ROOT_ENTITY_TYPE_PARAM = 'rootEntityType';\nexport const TRACE_STATUS_PARAM = 'status';\nexport const TRACE_LIST_MODE_PARAM = 'listMode';\n/** Branch-mode only: identifies the anchor span that defines the displayed subtree.\n * Stable across intra-panel span navigation (which only changes `spanId`). */\nexport const TRACE_ANCHOR_SPAN_ID_PARAM = 'anchorSpanId';\nexport const TRACE_LIST_MODE_VALUES = new Set(['traces', 'branches'] as const);\nexport type { TraceListMode };\n\nexport const TRACE_LIST_MODE_OPTIONS = [\n { label: 'Traces (default)', value: 'traces' },\n { label: 'Branches', value: 'branches' },\n] as const satisfies readonly { label: string; value: TraceListMode }[];\nexport const TRACE_DATE_PRESET_PARAM = 'datePreset';\nexport const TRACE_DATE_FROM_PARAM = 'dateFrom';\nexport const TRACE_DATE_TO_PARAM = 'dateTo';\n\nexport const TRACE_DATE_PRESET_VALUES = new Set<TraceDatePreset>([\n 'all',\n 'last-24h',\n 'last-3d',\n 'last-7d',\n 'last-14d',\n 'last-30d',\n 'custom',\n]);\n\nexport const TRACE_PROPERTY_FILTER_PARAM_BY_FIELD = {\n tags: 'filterTags',\n entityId: 'filterEntityId',\n entityName: 'filterEntityName',\n traceId: 'filterTraceId',\n runId: 'filterRunId',\n threadId: 'filterThreadId',\n sessionId: 'filterSessionId',\n requestId: 'filterRequestId',\n resourceId: 'filterResourceId',\n userId: 'filterUserId',\n organizationId: 'filterOrganizationId',\n serviceName: 'filterServiceName',\n environment: 'filterEnvironment',\n experimentId: 'filterExperimentId',\n 'spans.name': 'filterSpanName',\n 'spans.spanType': 'filterSpanType',\n 'spans.model': 'filterSpanModel',\n 'spans.provider': 'filterSpanProvider',\n 'spans.durationMs': 'filterSpanDurationMs',\n 'spans.error': 'filterSpanError',\n 'scores.scorerId': 'filterScorerId',\n 'scores.score': 'filterScore',\n 'feedback.feedbackType': 'filterFeedbackType',\n 'feedback.value': 'filterFeedbackValue',\n 'feedback.comment': 'filterFeedbackComment',\n} as const;\n\nexport const TRACE_PROPERTY_FILTER_FIELD_IDS = Object.keys(TRACE_PROPERTY_FILTER_PARAM_BY_FIELD) as Array<\n keyof typeof TRACE_PROPERTY_FILTER_PARAM_BY_FIELD\n>;\n\n/** The operator of a filter lives in a sibling `<valueParam>.op` param; omitted\n * means the default (`is`). Metadata keys cannot contain dots, so the suffix is\n * unambiguous. */\nexport const TRACE_FILTER_OPERATOR_PARAM_SUFFIX = '.op';\nexport const traceFilterOperatorParam = (valueParam: string) => valueParam + TRACE_FILTER_OPERATOR_PARAM_SUFFIX;\nconst isTraceFilterOperatorParam = (param: string) => param.endsWith(TRACE_FILTER_OPERATOR_PARAM_SUFFIX);\n\nconst isPresenceOperator = (operatorId: TraceFilterOperatorId | undefined) =>\n operatorId === 'exists' || operatorId === 'notExists';\nconst isManyOperator = (operatorId: TraceFilterOperatorId | undefined) => operatorId === 'in' || operatorId === 'notIn';\n\n/** Default operator for a token without one: arrays mean set membership. */\nexport const traceFilterTokenOperator = (token: TraceFilterToken): TraceFilterOperatorId =>\n token.operatorId ?? (Array.isArray(token.value) ? 'in' : 'is');\n\nconst readTraceFilterOperator = (searchParams: URLSearchParams, valueParam: string) => {\n const raw = searchParams.get(traceFilterOperatorParam(valueParam));\n return raw !== null && isTraceFilterOperatorId(raw) ? raw : undefined;\n};\n\nexport const TRACE_STATUS_VALUES = new Set<TraceStatusFilter>(['running', 'success', 'error']);\n\nexport const DEFAULT_TRACE_FILTERS_STORAGE_KEY = 'mastra:traces:saved-filters';\n\n/** Serialize the filter-related URL params (relative date preset + rootEntityType +\n * status + generic filterX set) to localStorage so the user can restore them on next\n * visit. A `custom` absolute range is never saved: it would be stale by the next visit.\n * An empty set clears the key. Throws no errors — storage being unavailable is fine. */\nexport function saveTraceFiltersToStorage(\n params: URLSearchParams,\n storageKey: string = DEFAULT_TRACE_FILTERS_STORAGE_KEY,\n): void {\n const serialized = getPreservedTraceFilterParams(params);\n const preset = params.get(TRACE_DATE_PRESET_PARAM);\n if (preset && preset !== 'custom') serialized.set(TRACE_DATE_PRESET_PARAM, preset);\n // An empty group is editor state (popover still open), not a filter worth restoring.\n const groups = getTraceFilterGroups(serialized).filter(group => group.nodes.length > 0);\n serialized.delete(TRACE_FILTER_GROUP_PARAM);\n for (const group of groups) serialized.append(TRACE_FILTER_GROUP_PARAM, serializeTraceFilterGroup(group));\n\n if (!serialized.toString()) {\n clearSavedTraceFilters(storageKey);\n return;\n }\n\n try {\n localStorage.setItem(storageKey, serialized.toString());\n } catch {\n // localStorage may be unavailable (private mode / quota) — silently skip.\n }\n}\n\n/** Forget any previously saved filter set. Called from the \"Remove filters\"\n * action so the next plain sidebar nav lands on an empty page. */\nexport function clearSavedTraceFilters(storageKey: string = DEFAULT_TRACE_FILTERS_STORAGE_KEY): void {\n try {\n localStorage.removeItem(storageKey);\n } catch {\n // ignore — storage may be unavailable\n }\n}\n\n/** Read a previously saved filter set and return it as URLSearchParams, or\n * null if nothing is saved or storage is unavailable. */\nexport function loadTraceFiltersFromStorage(\n storageKey: string = DEFAULT_TRACE_FILTERS_STORAGE_KEY,\n): URLSearchParams | null {\n try {\n const raw = localStorage.getItem(storageKey);\n if (!raw) return null;\n const parsed = new URLSearchParams(raw);\n return parsed.toString() ? parsed : null;\n } catch {\n return null;\n }\n}\n\n/** True when `params` carries any filter-related key — used to decide whether\n * to hydrate from localStorage on page mount (we only hydrate when the URL is\n * filter-clean, i.e. the user landed here via a plain sidebar nav). */\nexport function hasAnyTraceFilterParams(params: URLSearchParams): boolean {\n if (params.has(TRACE_DATE_PRESET_PARAM)) return true;\n if (params.has(TRACE_DATE_FROM_PARAM)) return true;\n if (params.has(TRACE_DATE_TO_PARAM)) return true;\n if (params.has(TRACE_ROOT_ENTITY_TYPE_PARAM)) return true;\n if (params.has(TRACE_STATUS_PARAM)) return true;\n if (params.has(TRACE_LIST_MODE_PARAM)) return true;\n if (params.has(TRACE_FILTER_GROUP_PARAM)) return true;\n for (const fieldId of TRACE_PROPERTY_FILTER_FIELD_IDS) {\n if (params.has(TRACE_PROPERTY_FILTER_PARAM_BY_FIELD[fieldId])) return true;\n }\n for (const param of params.keys()) {\n if (isTraceMetadataParam(param)) return true;\n }\n return false;\n}\n\n/** Every operator the trace query API supports, keyed by the UI id that goes in the URL. */\nexport const TRACE_FILTER_BAR_OPERATORS: (FilterBarOperator & { id: TraceFilterOperatorId })[] = [\n { id: 'is', label: 'is' },\n { id: 'isNot', label: 'is not' },\n { id: 'in', label: 'is any of', arity: 'many' },\n { id: 'notIn', label: 'is none of', arity: 'many' },\n { id: 'exists', label: 'exists', arity: 'none' },\n { id: 'notExists', label: 'does not exist', arity: 'none' },\n { id: 'gt', label: 'greater than' },\n { id: 'gte', label: 'at least' },\n { id: 'lt', label: 'less than' },\n { id: 'lte', label: 'at most' },\n];\n\nconst TRACE_STRING_OPERATORS: TraceFilterOperatorId[] = ['is', 'isNot', 'in', 'notIn', 'exists', 'notExists'];\n/** Fields every trace carries (`traceId`, `entityName`): presence operators would never be false. */\nconst TRACE_REQUIRED_STRING_OPERATORS: TraceFilterOperatorId[] = ['is', 'isNot', 'in', 'notIn'];\nconst TRACE_NUMBER_OPERATORS: TraceFilterOperatorId[] = [\n 'is',\n 'isNot',\n 'gt',\n 'gte',\n 'lt',\n 'lte',\n 'exists',\n 'notExists',\n];\nconst TRACE_PRESENCE_OPERATORS: TraceFilterOperatorId[] = ['exists', 'notExists'];\n/** Synthetic fields live in a single dedicated URL param, so they cannot carry an operator. */\nconst TRACE_SYNTHETIC_OPERATORS: TraceFilterOperatorId[] = ['is', 'in'];\n// The legacy list endpoint only matches by equality.\nconst TRACE_LEGACY_OPERATORS: TraceFilterOperatorId[] = ['is'];\n\nconst TRACE_FILTER_BAR_LABELS: Record<string, string> = {\n rootEntityType: 'Primitive type',\n entityName: 'Primitive name',\n entityId: 'Primitive ID',\n status: 'Status',\n tags: 'Tags',\n serviceName: 'Service Name',\n environment: 'Environment',\n traceId: 'Trace ID',\n runId: 'Run ID',\n threadId: 'Thread ID',\n sessionId: 'Session ID',\n requestId: 'Request ID',\n resourceId: 'Resource ID',\n userId: 'User ID',\n organizationId: 'Organization ID',\n experimentId: 'Experiment ID',\n 'spans.name': 'Span name',\n 'spans.spanType': 'Span type',\n 'spans.model': 'Model',\n 'spans.provider': 'Provider',\n 'spans.durationMs': 'Span duration (ms)',\n 'spans.error': 'Span error',\n 'scores.scorerId': 'Scorer',\n 'scores.score': 'Score',\n 'feedback.feedbackType': 'Feedback type',\n 'feedback.value': 'Feedback value',\n 'feedback.comment': 'Feedback comment',\n};\n\nconst TRACE_FILTER_BAR_FIELD_META: Record<string, { icon: LucideIcon; color: string }> = {\n timeRange: { icon: ClockIcon, color: hueAccentColor('amber') },\n rootEntityType: { icon: BoxIcon, color: hueAccentColor('purple') },\n entityName: { icon: TagIcon, color: hueAccentColor('cyan') },\n entityId: { icon: FingerprintIcon, color: hueAccentColor('pink') },\n status: { icon: ActivityIcon, color: hueAccentColor('orange') },\n tags: { icon: TagsIcon, color: hueAccentColor('pink') },\n serviceName: { icon: ServerIcon, color: hueAccentColor('cyan') },\n environment: { icon: GlobeIcon, color: hueAccentColor('green') },\n traceId: { icon: WaypointsIcon, color: hueAccentColor('blue') },\n runId: { icon: PlayIcon, color: hueAccentColor('purple') },\n threadId: { icon: MessageSquareIcon, color: hueAccentColor('blue') },\n sessionId: { icon: LayersIcon, color: hueAccentColor('orange') },\n requestId: { icon: RadioIcon, color: hueAccentColor('amber') },\n resourceId: { icon: HashIcon, color: hueAccentColor('green') },\n userId: { icon: UserIcon, color: hueAccentColor('orange') },\n organizationId: { icon: BuildingIcon, color: hueAccentColor('cyan') },\n experimentId: { icon: FlaskConicalIcon, color: hueAccentColor('pink') },\n 'spans.name': { icon: GitBranchIcon, color: hueAccentColor('blue') },\n 'spans.spanType': { icon: ShapesIcon, color: hueAccentColor('purple') },\n 'spans.model': { icon: CpuIcon, color: hueAccentColor('green') },\n 'spans.provider': { icon: CloudIcon, color: hueAccentColor('cyan') },\n 'spans.durationMs': { icon: TimerIcon, color: hueAccentColor('orange') },\n 'spans.error': { icon: TriangleAlertIcon, color: 'var(--destructive-foreground)' },\n 'scores.scorerId': { icon: GaugeIcon, color: hueAccentColor('green') },\n 'scores.score': { icon: PercentIcon, color: hueAccentColor('amber') },\n 'feedback.feedbackType': { icon: ThumbsUpIcon, color: hueAccentColor('purple') },\n 'feedback.value': { icon: StarIcon, color: hueAccentColor('amber') },\n 'feedback.comment': { icon: MessageCircleIcon, color: hueAccentColor('blue') },\n};\n\nexport const traceFilterFieldIcon = (fieldId: string) => TRACE_FILTER_BAR_FIELD_META[fieldId]?.icon;\n\n/** Stable per-field accent; known keys use a curated hue, others fall back to a hashed one. */\nexport const traceFilterFieldColor = (fieldId: string) => {\n return TRACE_FILTER_BAR_FIELD_META[fieldId]?.color ?? hueAccentColor(hueForName(fieldId));\n};\n\nconst traceFieldBase = (id: string) => ({\n id,\n label: TRACE_FILTER_BAR_LABELS[id] ?? id,\n icon: traceFilterFieldIcon(id),\n color: traceFilterFieldColor(id),\n});\n\nconst TRACE_FILTER_BAR_TEXT_FIELD_IDS = [\n 'entityId',\n 'traceId',\n 'runId',\n 'threadId',\n 'sessionId',\n 'requestId',\n 'resourceId',\n 'userId',\n 'organizationId',\n 'experimentId',\n] as const;\n\nconst TRACE_FILTER_BAR_RELATED_FIELD_IDS = [\n 'spans.name',\n 'spans.spanType',\n 'spans.model',\n 'spans.provider',\n 'spans.durationMs',\n 'spans.error',\n 'scores.scorerId',\n 'scores.score',\n 'feedback.feedbackType',\n 'feedback.value',\n 'feedback.comment',\n] as const;\ntype TraceFilterRelatedFieldId = (typeof TRACE_FILTER_BAR_RELATED_FIELD_IDS)[number];\n\nconst TRACE_FILTER_BAR_PRESENCE_FIELD_IDS = new Set<string>(['spans.error', 'feedback.comment']);\n\nconst byLabel = (a: FilterBarField, b: FilterBarField) => a.label.localeCompare(b.label);\n\n/** FilterBar field definitions for the trace pages. Fields the query API cannot\n * filter on (see `TRACE_QUERY_UNSUPPORTED_FILTER_FIELDS`) are omitted, as is the\n * `running` status, so no chip advertises a filter that has no effect. Hidden\n * fields are never offered in the input's field step but still label existing\n * (e.g. scoped, read-only) chips. */\nexport function createTraceFilterBarFields({\n availableRootEntityNames,\n availableEnvironments,\n hiddenFieldIds = [],\n metadataFields = [],\n valueSuggestions,\n withQueryTrace = true,\n}: {\n availableRootEntityNames: string[];\n availableEnvironments: string[];\n hiddenFieldIds?: readonly string[];\n /** Discovered `metadata.<key>` paths with a lazy value-suggestions resolver each. */\n metadataFields?: readonly TraceMetadataFilterField[];\n /** Builds a lazy value resolver for a related-scope field (`spans.model`, …). Absent → free text. */\n valueSuggestions?: (scope: TraceQueryRelatedScope, path: string) => FilterBarSuggestionsResolver;\n /**\n * When false, only fields the legacy list endpoint (`buildTraceListFilters`) can express are offered, each with\n * the `is` operator only: no related-scope (`spans.*`, `scores.*`, `feedback.*`) or metadata fields.\n */\n withQueryTrace?: boolean;\n}): FilterBarField[] {\n const pick = (\n id: string,\n suggestions: { value: string; label?: string }[],\n operators: TraceFilterOperatorId[] = TRACE_STRING_OPERATORS,\n ): FilterBarField => ({\n ...traceFieldBase(id),\n operators,\n strict: true,\n suggestions,\n });\n const text = (id: string): FilterBarField => ({\n ...traceFieldBase(id),\n operators: id === 'traceId' ? TRACE_REQUIRED_STRING_OPERATORS : TRACE_STRING_OPERATORS,\n });\n const relatedPick = (id: TraceFilterRelatedFieldId): FilterBarField => {\n const [scope, path] = id.split('.') as [TraceQueryRelatedScope, string];\n const resolver = valueSuggestions?.(scope, path);\n return {\n ...traceFieldBase(id),\n operators: TRACE_STRING_OPERATORS,\n ...(resolver ? { strict: true, suggestions: resolver } : {}),\n };\n };\n const number = (id: string): FilterBarField => ({\n ...traceFieldBase(id),\n type: 'number',\n operators: TRACE_NUMBER_OPERATORS,\n });\n const presence = (id: string): FilterBarField => ({ ...traceFieldBase(id), operators: TRACE_PRESENCE_OPERATORS });\n\n const pickFields: FilterBarField[] = [\n pick(\n 'rootEntityType',\n ROOT_ENTITY_TYPE_OPTIONS.map(o => ({ value: o.entityType, label: o.label })),\n TRACE_SYNTHETIC_OPERATORS,\n ),\n pick(\n 'entityName',\n availableRootEntityNames.map(name => ({ value: name })),\n TRACE_REQUIRED_STRING_OPERATORS,\n ),\n pick(\n 'status',\n TRACE_STATUS_OPTIONS.filter(o => o.value !== 'running').map(o => ({ value: o.value, label: o.label })),\n TRACE_SYNTHETIC_OPERATORS,\n ),\n pick(\n 'environment',\n availableEnvironments.map(env => ({ value: env })),\n ),\n ];\n const textFields = TRACE_FILTER_BAR_TEXT_FIELD_IDS.map(text);\n const relatedFields = (['spans', 'scores', 'feedback'] as const).flatMap(scope =>\n TRACE_FILTER_BAR_RELATED_FIELD_IDS.filter(id => id.startsWith(`${scope}.`))\n .map(id => {\n if (TRACE_QUERY_NUMERIC_FIELD_IDS.has(id)) return number(id);\n if (TRACE_FILTER_BAR_PRESENCE_FIELD_IDS.has(id)) return presence(id);\n return relatedPick(id);\n })\n .sort(byLabel),\n );\n const metadataBarFields: FilterBarField[] = metadataFields\n .filter(({ path }) => isTraceMetadataFieldId(path))\n .map(({ path, suggestions }) => ({\n id: path,\n label: path.slice(TRACE_METADATA_FILTER_FIELD_PREFIX.length),\n icon: BracesIcon,\n color: hueAccentColor(hueForName(path)),\n operators: TRACE_STRING_OPERATORS,\n suggestions,\n }));\n\n const hidden = new Set(hiddenFieldIds);\n if (!withQueryTrace) {\n return [...pickFields.sort(byLabel), ...textFields.sort(byLabel)].map(field => ({\n ...field,\n operators: TRACE_LEGACY_OPERATORS,\n ...(hidden.has(field.id) ? { hidden: true } : {}),\n }));\n }\n return [\n ...pickFields.sort(byLabel),\n ...textFields.sort(byLabel),\n ...relatedFields,\n ...metadataBarFields.sort(byLabel),\n ]\n .filter(field => !TRACE_QUERY_UNSUPPORTED_FILTER_FIELDS.has(field.id))\n .map(field => (hidden.has(field.id) ? { ...field, hidden: true } : field));\n}\n\n/** One FilterBar item per token, keyed by field id so chip order == URL order.\n * Empty values ('' / []) are kept: that's a pending chip whose field was just\n * changed and whose value hasn't been picked yet (the query builder skips it).\n * Only the legacy 'Any' sentinel is mapped back to an empty value. */\nexport function traceTokensToFilterBarItems(tokens: TraceFilterToken[]): FilterBarItem[] {\n return tokens.map(token => ({\n id: token.fieldId,\n fieldId: token.fieldId,\n operatorId: traceFilterTokenOperator(token),\n value: token.value === 'Any' ? '' : token.value,\n }));\n}\n\nexport function filterBarItemsToTraceTokens(items: FilterBarItem[]): TraceFilterToken[] {\n return items.map(filterBarItemToTraceToken);\n}\n\nfunction filterBarItemToTraceToken(item: FilterBarItem): TraceFilterToken {\n const token: TraceFilterToken = {\n fieldId: item.fieldId,\n value: Array.isArray(item.value) ? item.value.map(String) : String(item.value),\n };\n // Only carry a non-default operator so tokens stay minimal (and URLs stay short).\n if (isTraceFilterOperatorId(item.operatorId) && item.operatorId !== traceFilterTokenOperator(token)) {\n token.operatorId = item.operatorId;\n }\n return token;\n}\n\n/** Expression-mode value for the FilterBar: root tokens as items, then one\n * group node per advanced filter. Ids inside groups are carried as-is. */\nexport function traceFiltersToFilterBarExpression(\n tokens: TraceFilterToken[],\n groups: TraceFilterGroup[],\n): FilterBarExpression {\n return { logic: 'and', nodes: [...traceTokensToFilterBarItems(tokens), ...groups.map(traceGroupToFilterBarGroup)] };\n}\n\nfunction traceGroupToFilterBarGroup(group: TraceFilterGroup): FilterBarGroup {\n return {\n id: group.id,\n kind: 'group',\n logic: group.logic,\n nodes: group.nodes.map(node =>\n isTraceFilterGroup(node)\n ? traceGroupToFilterBarGroup(node)\n : {\n id: node.id ?? node.fieldId,\n fieldId: node.fieldId,\n operatorId: traceFilterTokenOperator(node),\n value: node.value === 'Any' ? '' : node.value,\n },\n ),\n };\n}\n\nexport function filterBarExpressionToTraceFilters(expression: FilterBarExpression): {\n tokens: TraceFilterToken[];\n groups: TraceFilterGroup[];\n} {\n const items = expression.nodes.filter((node): node is FilterBarItem => !isFilterBarGroup(node));\n const groups = expression.nodes.filter(isFilterBarGroup).map(filterBarGroupToTraceGroup);\n return { tokens: filterBarItemsToTraceTokens(items), groups };\n}\n\nfunction filterBarGroupToTraceGroup(group: FilterBarGroup): TraceFilterGroup {\n const nodes = group.nodes.map(\n (node): TraceFilterNode =>\n isFilterBarGroup(node) ? filterBarGroupToTraceGroup(node) : { id: node.id, ...filterBarItemToTraceToken(node) },\n );\n // Empty groups are kept: \"Advanced filter…\" emits one and opens its editor, and the\n // FilterBar prunes it itself when the popover closes without any condition.\n return { id: group.id, logic: group.logic, nodes };\n}\n\n/**\n * Read filter tokens from URL search params preserving the order in which each\n * filter was first added (URLSearchParams iterates in insertion order). This\n * is used by the Filter popover + PropertyFilterApplied pills so the UI reflects the\n * order the user created the filters in.\n */\nexport function getTracePropertyFilterTokens(searchParams: URLSearchParams): TraceFilterToken[] {\n const tokens: TraceFilterToken[] = [];\n\n // Map URL param name → fieldId for both generic filterX params and the\n // dedicated synthetic params (rootEntityType, status).\n const paramToFieldId = new Map<string, string>([\n [TRACE_ROOT_ENTITY_TYPE_PARAM, 'rootEntityType'],\n [TRACE_STATUS_PARAM, 'status'],\n ]);\n for (const fieldId of TRACE_PROPERTY_FILTER_FIELD_IDS) {\n paramToFieldId.set(TRACE_PROPERTY_FILTER_PARAM_BY_FIELD[fieldId], fieldId);\n }\n\n const seen = new Set<string>();\n for (const [paramName] of searchParams.entries()) {\n if (isTraceFilterOperatorParam(paramName)) continue;\n const fieldId = isTraceMetadataParam(paramName) ? metadataParamToFieldId(paramName) : paramToFieldId.get(paramName);\n if (!fieldId || seen.has(fieldId)) continue;\n seen.add(fieldId);\n\n const operatorId = readTraceFilterOperator(searchParams, paramName);\n const raw = searchParams.getAll(paramName);\n\n if (fieldId === 'tags' || isManyOperator(operatorId)) {\n // An empty `filterTags=` sentinel keeps the pill alive after a Reset\n // (neutral state = no selections) so users can re-pick without losing\n // the pill's position. Non-empty entries are the actual selected values.\n tokens.push({ fieldId, value: raw.filter(Boolean), ...(operatorId ? { operatorId } : {}) });\n continue;\n }\n\n // Text and synthetic single-value fields: include empty strings so\n // pending-but-not-yet-filled filters survive URL round-trips.\n const value = raw[0];\n if (value !== undefined) tokens.push({ fieldId, value, ...(operatorId ? { operatorId } : {}) });\n }\n\n return tokens;\n}\n\nexport function getPreservedTraceFilterParams(searchParams: URLSearchParams) {\n const next = new URLSearchParams();\n\n const rootEntityType = searchParams.get(TRACE_ROOT_ENTITY_TYPE_PARAM);\n if (rootEntityType) next.set(TRACE_ROOT_ENTITY_TYPE_PARAM, rootEntityType);\n\n const status = searchParams.get(TRACE_STATUS_PARAM);\n if (status) next.set(TRACE_STATUS_PARAM, status);\n\n const listMode = searchParams.get(TRACE_LIST_MODE_PARAM);\n if (listMode) next.set(TRACE_LIST_MODE_PARAM, listMode);\n\n const preserve = (param: string) => {\n const operatorId = readTraceFilterOperator(searchParams, param);\n const values = searchParams.getAll(param).filter(value => value || isPresenceOperator(operatorId));\n if (!values.length) return;\n for (const value of values) next.append(param, value);\n if (operatorId) next.set(traceFilterOperatorParam(param), operatorId);\n };\n\n for (const fieldId of TRACE_PROPERTY_FILTER_FIELD_IDS) {\n const param = TRACE_PROPERTY_FILTER_PARAM_BY_FIELD[fieldId];\n if (fieldId === 'tags') {\n for (const value of searchParams.getAll(param)) {\n next.append(param, value);\n }\n continue;\n }\n preserve(param);\n }\n\n const seenMetadata = new Set<string>();\n for (const param of searchParams.keys()) {\n if (!isTraceMetadataParam(param) || isTraceFilterOperatorParam(param) || seenMetadata.has(param)) continue;\n seenMetadata.add(param);\n preserve(param);\n }\n\n for (const group of getTraceFilterGroups(searchParams)) {\n next.append(TRACE_FILTER_GROUP_PARAM, serializeTraceFilterGroup(group));\n }\n\n return next;\n}\n\n/**\n * Clear all filter params from `params` and re-add them in the given `tokens`\n * order so the URL (and therefore the PropertyFilterApplied pills) reflects the\n * creation order of filters. Handles the generic `filterX` params plus the\n * dedicated synthetic params (rootEntityType, status).\n */\nexport function applyTracePropertyFilterTokens(\n params: URLSearchParams,\n tokens: TraceFilterToken[],\n groups: TraceFilterGroup[] = [],\n) {\n params.delete(TRACE_ROOT_ENTITY_TYPE_PARAM);\n params.delete(TRACE_STATUS_PARAM);\n params.delete(TRACE_FILTER_GROUP_PARAM);\n for (const fieldId of TRACE_PROPERTY_FILTER_FIELD_IDS) {\n const param = TRACE_PROPERTY_FILTER_PARAM_BY_FIELD[fieldId];\n params.delete(param);\n params.delete(traceFilterOperatorParam(param));\n }\n for (const param of Array.from(params.keys())) {\n if (isTraceMetadataParam(param)) params.delete(param);\n }\n\n for (const token of tokens) {\n if (token.fieldId === 'rootEntityType' && typeof token.value === 'string') {\n params.set(TRACE_ROOT_ENTITY_TYPE_PARAM, token.value);\n continue;\n }\n if (token.fieldId === 'status' && typeof token.value === 'string') {\n params.set(TRACE_STATUS_PARAM, token.value);\n continue;\n }\n\n const param = isTraceMetadataFieldId(token.fieldId)\n ? metadataFieldIdToParam(token.fieldId)\n : TRACE_PROPERTY_FILTER_PARAM_BY_FIELD[token.fieldId as keyof typeof TRACE_PROPERTY_FILTER_PARAM_BY_FIELD];\n if (!param) continue;\n\n if (Array.isArray(token.value)) {\n if (token.value.length === 0) {\n // Empty sentinel — keeps the pill visible after Reset.\n params.append(param, '');\n } else {\n for (const value of token.value) {\n params.append(param, value);\n }\n }\n } else {\n // Persist empty / 'Any' values too so neutralized-but-still-visible pills\n // survive URL round-trips. The query builder skips these so neutrals\n // never reach the backend.\n params.set(param, token.value.trim());\n }\n\n // Only `is` is implicit on read. `in` must be written explicitly (except\n // for tags, which are always multi-valued) or a reload would collapse the\n // selection to its first value.\n const operatorId = traceFilterTokenOperator(token);\n const implicit = token.fieldId === 'tags' ? 'in' : 'is';\n if (operatorId !== implicit) params.set(traceFilterOperatorParam(param), operatorId);\n }\n\n for (const group of groups) {\n params.append(TRACE_FILTER_GROUP_PARAM, serializeTraceFilterGroup(group));\n }\n}\n\n/** Root-level advanced filter groups live in a repeatable `filterGroup` param,\n * one compact JSON subtree each. Node ids are part of the payload so the\n * FilterBar keeps chip identity across URL round-trips. */\nexport const TRACE_FILTER_GROUP_PARAM = 'filterGroup';\n\nexport const serializeTraceFilterGroup = (group: TraceFilterGroup): string => JSON.stringify(group);\n\nexport function getTraceFilterGroups(searchParams: URLSearchParams): TraceFilterGroup[] {\n return searchParams\n .getAll(TRACE_FILTER_GROUP_PARAM)\n .map(parseTraceFilterGroupParam)\n .filter((group): group is TraceFilterGroup => group !== undefined);\n}\n\nexport function parseTraceFilterGroupParam(raw: string): TraceFilterGroup | undefined {\n try {\n return parseTraceFilterGroup(JSON.parse(raw));\n } catch {\n return undefined;\n }\n}\n\nconst isRecord = (value: unknown): value is Record<string, unknown> => typeof value === 'object' && value !== null;\n\nconst isStringArray = (value: unknown): value is string[] =>\n Array.isArray(value) && value.every(entry => typeof entry === 'string');\n\nfunction parseTraceFilterGroup(input: unknown): TraceFilterGroup | undefined {\n if (!isRecord(input) || typeof input.id !== 'string') return undefined;\n if (input.logic !== 'and' && input.logic !== 'or') return undefined;\n if (!Array.isArray(input.nodes)) return undefined;\n const nodes = input.nodes.map(parseTraceFilterNode).filter((node): node is TraceFilterNode => node !== undefined);\n return { id: input.id, logic: input.logic, nodes };\n}\n\nfunction parseTraceFilterNode(input: unknown): TraceFilterNode | undefined {\n if (!isRecord(input)) return undefined;\n if ('nodes' in input) return parseTraceFilterGroup(input);\n if (typeof input.id !== 'string' || typeof input.fieldId !== 'string') return undefined;\n if (typeof input.value !== 'string' && !isStringArray(input.value)) return undefined;\n const token: TraceFilterToken = { id: input.id, fieldId: input.fieldId, value: input.value };\n if (typeof input.operatorId === 'string' && isTraceFilterOperatorId(input.operatorId)) {\n token.operatorId = input.operatorId;\n }\n return token;\n}\n\nexport function buildTraceListFilters({\n rootEntityType,\n status,\n dateFrom,\n dateTo,\n tokens,\n}: {\n rootEntityType?: string;\n status?: TraceStatusFilter;\n dateFrom?: Date;\n dateTo?: Date;\n tokens: PropertyFilterToken[];\n}): ListTracesArgs['filters'] {\n const filters: NonNullable<ListTracesArgs['filters']> = {};\n\n if (rootEntityType) {\n filters.entityType = rootEntityType as NonNullable<ListTracesArgs['filters']>['entityType'];\n }\n\n if (status) {\n filters.status = status as NonNullable<ListTracesArgs['filters']>['status'];\n }\n\n if (dateFrom) {\n filters.startedAt = { start: dateFrom };\n }\n\n if (dateTo) {\n filters.endedAt = { end: dateTo };\n }\n\n for (const token of tokens) {\n if (token.fieldId === 'tags') {\n if (Array.isArray(token.value) && token.value.length > 0) {\n filters.tags = token.value;\n } else if (typeof token.value === 'string' && token.value.trim()) {\n // pick-multi tags: single-string token → wrap for the server's array schema.\n filters.tags = [token.value.trim()];\n }\n continue;\n }\n\n if (typeof token.value !== 'string') continue;\n // Skip empty-string tokens (unfilled pending filters) and 'Any'\n // (pick-multi single-select neutral state) so neutrals never reach the\n // backend.\n if (!token.value.trim()) continue;\n if (token.value === 'Any') continue;\n\n switch (token.fieldId) {\n case 'entityId':\n filters.entityId = token.value;\n break;\n case 'entityName':\n filters.entityName = token.value;\n break;\n case 'traceId':\n filters.traceId = token.value;\n break;\n case 'runId':\n filters.runId = token.value;\n break;\n case 'threadId':\n filters.threadId = token.value;\n break;\n case 'sessionId':\n filters.sessionId = token.value;\n break;\n case 'requestId':\n filters.requestId = token.value;\n break;\n case 'resourceId':\n filters.resourceId = token.value;\n break;\n case 'userId':\n filters.userId = token.value;\n break;\n case 'organizationId':\n filters.organizationId = token.value;\n break;\n case 'serviceName':\n filters.serviceName = token.value;\n break;\n case 'environment':\n filters.environment = token.value;\n break;\n case 'experimentId':\n filters.experimentId = token.value;\n break;\n default:\n break;\n }\n }\n\n return filters;\n}\n"],"names":["ROOT_ENTITY_TYPES","isTraceFilterOperatorId","ClockIcon","hueAccentColor","BoxIcon","TagIcon","FingerprintIcon","ActivityIcon","TagsIcon","ServerIcon","GlobeIcon","WaypointsIcon","PlayIcon","MessageSquareIcon","LayersIcon","RadioIcon","HashIcon","UserIcon","BuildingIcon","FlaskConicalIcon","GitBranchIcon","ShapesIcon","CpuIcon","CloudIcon","TimerIcon","TriangleAlertIcon","GaugeIcon","PercentIcon","ThumbsUpIcon","StarIcon","MessageCircleIcon","hueForName","TRACE_QUERY_NUMERIC_FIELD_IDS","BracesIcon","TRACE_QUERY_UNSUPPORTED_FILTER_FIELDS","isTraceFilterGroup","isFilterBarGroup"],"mappings":"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"}
@@ -1,14 +1,10 @@
1
+ import { ROOT_ENTITY_TYPES } from '@mastra/react/hooks/traces';
2
+ export { ROOT_ENTITY_TYPES } from '@mastra/react/hooks/traces';
1
3
  import { MessageCircleIcon, StarIcon, ThumbsUpIcon, PercentIcon, GaugeIcon, TriangleAlertIcon, TimerIcon, CloudIcon, CpuIcon, ShapesIcon, GitBranchIcon, FlaskConicalIcon, BuildingIcon, UserIcon, HashIcon, RadioIcon, LayersIcon, MessageSquareIcon, PlayIcon, WaypointsIcon, GlobeIcon, ServerIcon, TagsIcon, ActivityIcon, FingerprintIcon, TagIcon, BoxIcon, ClockIcon, BracesIcon } from 'lucide-react';
2
4
  import { TRACE_QUERY_NUMERIC_FIELD_IDS, TRACE_QUERY_UNSUPPORTED_FILTER_FIELDS, isTraceFilterOperatorId, isTraceFilterGroup } from './trace-query-filters.es.js';
3
5
  import { i as isFilterBarGroup } from '../../types-CIPrYAzY.js';
4
6
  import { hueAccentColor, hueForName } from '../../utils/colors.es.js';
5
7
 
6
- const ROOT_ENTITY_TYPES = {
7
- AGENT: "agent",
8
- WORKFLOW: "workflow_run",
9
- SCORER: "scorer",
10
- INGEST: "rag_ingestion"
11
- };
12
8
  const ROOT_ENTITY_TYPE_OPTIONS = [
13
9
  { label: "Agent", entityType: ROOT_ENTITY_TYPES.AGENT },
14
10
  { label: "Workflow", entityType: ROOT_ENTITY_TYPES.WORKFLOW },
@@ -607,5 +603,5 @@ function buildTraceListFilters({
607
603
  return filters;
608
604
  }
609
605
 
610
- export { DEFAULT_TRACE_FILTERS_STORAGE_KEY, ROOT_ENTITY_TYPES, ROOT_ENTITY_TYPE_OPTIONS, TRACE_ANCHOR_SPAN_ID_PARAM, TRACE_DATE_FROM_PARAM, TRACE_DATE_PRESET_PARAM, TRACE_DATE_PRESET_VALUES, TRACE_DATE_TO_PARAM, TRACE_FILTER_BAR_OPERATORS, TRACE_FILTER_GROUP_PARAM, TRACE_FILTER_OPERATOR_PARAM_SUFFIX, TRACE_LIST_MODE_OPTIONS, TRACE_LIST_MODE_PARAM, TRACE_LIST_MODE_VALUES, TRACE_METADATA_FILTER_FIELD_PREFIX, TRACE_METADATA_FILTER_PARAM_PREFIX, TRACE_PROPERTY_FILTER_FIELD_IDS, TRACE_PROPERTY_FILTER_PARAM_BY_FIELD, TRACE_ROOT_ENTITY_TYPE_PARAM, TRACE_STATUS_OPTIONS, TRACE_STATUS_PARAM, TRACE_STATUS_VALUES, TRACE_SYNTHETIC_FILTER_FIELD_IDS, applyTracePropertyFilterTokens, buildTraceListFilters, clearSavedTraceFilters, createTraceFilterBarFields, filterBarExpressionToTraceFilters, filterBarItemsToTraceTokens, getPreservedTraceFilterParams, getTraceFilterGroups, getTracePropertyFilterTokens, hasAnyTraceFilterParams, isTraceFilterGroup, isTraceMetadataFieldId, loadTraceFiltersFromStorage, metadataFieldIdToParam, metadataParamToFieldId, parseTraceFilterGroupParam, saveTraceFiltersToStorage, serializeTraceFilterGroup, traceFilterFieldColor, traceFilterFieldIcon, traceFilterOperatorParam, traceFilterTokenOperator, traceFiltersToFilterBarExpression, traceTokensToFilterBarItems };
606
+ export { DEFAULT_TRACE_FILTERS_STORAGE_KEY, ROOT_ENTITY_TYPE_OPTIONS, TRACE_ANCHOR_SPAN_ID_PARAM, TRACE_DATE_FROM_PARAM, TRACE_DATE_PRESET_PARAM, TRACE_DATE_PRESET_VALUES, TRACE_DATE_TO_PARAM, TRACE_FILTER_BAR_OPERATORS, TRACE_FILTER_GROUP_PARAM, TRACE_FILTER_OPERATOR_PARAM_SUFFIX, TRACE_LIST_MODE_OPTIONS, TRACE_LIST_MODE_PARAM, TRACE_LIST_MODE_VALUES, TRACE_METADATA_FILTER_FIELD_PREFIX, TRACE_METADATA_FILTER_PARAM_PREFIX, TRACE_PROPERTY_FILTER_FIELD_IDS, TRACE_PROPERTY_FILTER_PARAM_BY_FIELD, TRACE_ROOT_ENTITY_TYPE_PARAM, TRACE_STATUS_OPTIONS, TRACE_STATUS_PARAM, TRACE_STATUS_VALUES, TRACE_SYNTHETIC_FILTER_FIELD_IDS, applyTracePropertyFilterTokens, buildTraceListFilters, clearSavedTraceFilters, createTraceFilterBarFields, filterBarExpressionToTraceFilters, filterBarItemsToTraceTokens, getPreservedTraceFilterParams, getTraceFilterGroups, getTracePropertyFilterTokens, hasAnyTraceFilterParams, isTraceFilterGroup, isTraceMetadataFieldId, loadTraceFiltersFromStorage, metadataFieldIdToParam, metadataParamToFieldId, parseTraceFilterGroupParam, saveTraceFiltersToStorage, serializeTraceFilterGroup, traceFilterFieldColor, traceFilterFieldIcon, traceFilterOperatorParam, traceFilterTokenOperator, traceFiltersToFilterBarExpression, traceTokensToFilterBarItems };
611
607
  //# sourceMappingURL=trace-filters.es.js.map